@charset "UTF-8";
@font-face {
  font-family: 'BurfordRusticShadowTwoA';
  src: url("/wp-content/themes/boss/assets/fonts/BurfordRusticShadowTwoA.otf") format("OpenType"); }

@font-face {
  font-family: 'Predige-Medium';
  src: url("/wp-content/themes/boss/assets/fonts/Predige-Medium.otf") format("OpenType"), url("/wp-content/themes/boss/assets/fonts/Predige-Medium.woff") format("woff"); }

@font-face {
  font-family: 'Predige-Regular';
  src: url("/wp-content/themes/boss/assets/fonts/Predige-Regular.otf") format("OpenType"), url("/wp-content/themes/boss/assets/fonts/Predige-Regular.woff") format("woff"); }

/*! 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 */
  -webkit-text-decoration: underline dotted;
          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;
    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;
    -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: -webkit-grab;
    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 {
  -webkit-animation-duration: 1000ms;
          animation-duration: 1000ms;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both; }

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

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

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

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

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

/* 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: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  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;
  -ms-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 {
    transform: scale(0.75); }
  .mfp-arrow-left {
    transform-origin: 0; }
  .mfp-arrow-right {
    transform-origin: 100%; }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }

/* ==========================================================================
   Base
   ========================================================================== */
/**
 * 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.5em;
  min-height: 100vh;
  background-color: white;
  color: #774212;
  font-family: "Predige-Regular";
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  /* 1 */
  -webkit-font-smoothing: antialiased;
  /* 2 */ }

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

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

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

figure {
  margin: 0; }

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

hr {
  margin: 0;
  padding: 0; }

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

/**
 * 1. Remove inherited user agent appearance.
 */
input,
select,
textarea {
  max-width: 100%;
  border: 0;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: 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; }

/* ==========================================================================
   Background
   ========================================================================== */
/**
 * Background base.
 */
.background {
  position: relative; }
  .background::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    content: '';
    z-index: -1; }

/**
 * Background primary.
 */
.background--default {
  color: #774212;
  fill: #774212; }
  .background--default::before {
    background: white; }
  .background--default h1,
  .background--default h2 {
    color: #774212; }
  .background--default .button--arrow {
    color: #adcb00; }
    .background--default .button--arrow svg {
      color: #adcb00;
      fill: #adcb00; }
  .background--default .button--border {
    border: 2px solid #adcb00;
    color: #adcb00; }
    .background--default .button--border svg {
      color: #adcb00;
      fill: #adcb00; }

/**
 * Background primary (with pattern).
 */
.background--beige {
  color: #774212;
  fill: #774212; }
  .background--beige::before {
    background: #f0e4cb; }
  .background--beige h1,
  .background--beige h2 {
    color: #774212; }
  .background--beige .button--arrow {
    color: #774212; }
    .background--beige .button--arrow svg {
      color: #774212;
      fill: #774212; }
  .background--beige .button--border {
    border: 2px solid #774212;
    color: #774212; }
    .background--beige .button--border svg {
      color: #774212;
      fill: #774212; }

/**
 * Background secondary.
 */
.background--brown {
  color: #f0e4cb;
  fill: #f0e4cb; }
  .background--brown::before {
    background: #774212; }
  .background--brown h1,
  .background--brown h2 {
    color: #f0e4cb; }
  .background--brown .button--arrow {
    color: #f0e4cb; }
    .background--brown .button--arrow svg {
      color: #f0e4cb;
      fill: #f0e4cb; }
  .background--brown .button--border {
    border: 2px solid #f0e4cb;
    color: #f0e4cb; }
    .background--brown .button--border svg {
      color: #f0e4cb;
      fill: #f0e4cb; }

/**
 * Background border.
 */
@media only screen and (max-width: 899px) {
  .background--border {
    margin-bottom: 0; } }

.background--border::before {
  bottom: 95px;
  border-bottom: 20px solid #adcb00; }
  @media only screen and (max-width: 899px) {
    .background--border::before {
      bottom: 0;
      border-bottom: 10px solid #adcb00; } }

@media only screen and (min-width: 900px) {
  .background--border .wrapper {
    padding-bottom: 0; } }

.background--border + div {
  margin-top: -95px;
  padding-top: 95px; }
  @media only screen and (max-width: 899px) {
    .background--border + div {
      margin-top: 0;
      padding-top: 0; } }

/* ==========================================================================
   Buttons.
   ========================================================================== */
/**
 * Button base.
 */
.button {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em;
  display: inline-flex;
  align-items: center;
  height: 32px;
  transition: all 350ms ease;
  cursor: pointer; }
  .button svg {
    width: 35px;
    height: 32px;
    transition: all 250ms ease; }

/**
 * Button border.
 */
.button--border {
  position: relative;
  margin-right: 35px;
  padding: 0 10px; }
  .button--border svg {
    position: absolute;
    top: -3px;
    right: -35px; }
  .button--border::after {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 0;
    height: 100%;
    transition: all 350ms ease;
    content: '';
    z-index: -1; }
  .button--border:hover::after {
    width: 100%; }
  .button--border.is-orange {
    border: 2px solid #d99b68;
    color: #d99b68; }
    .button--border.is-orange svg {
      color: #d99b68;
      fill: #d99b68; }
    .button--border.is-orange::after {
      background: #d99b68; }
    .button--border.is-orange:hover {
      color: #595a4e; }
  .button--border.is-brown {
    border: 2px solid #774212;
    color: #774212; }
    .button--border.is-brown svg {
      color: #774212;
      fill: #774212; }
    .button--border.is-brown::after {
      background: #774212; }
    .button--border.is-brown:hover {
      color: #f0e4cb; }
  .button--border.is-green {
    border: 2px solid #adcb00;
    color: #adcb00; }
    .button--border.is-green svg {
      color: #adcb00;
      fill: #adcb00; }
    .button--border.is-green::after {
      background: #adcb00; }
    .button--border.is-green:hover {
      color: white; }

/**
 * Button arrow.
 */
.button--arrow svg {
  position: relative;
  top: 1px;
  margin-left: 12px; }

.button--arrow:hover svg {
  margin-left: 15px; }

.button--arrow.is-orange {
  color: #d99b68; }
  .button--arrow.is-orange svg {
    color: #d99b68;
    fill: #d99b68; }

.button--arrow.is-red {
  color: #df4126; }
  .button--arrow.is-red svg {
    color: #df4126;
    fill: #df4126; }

.button--arrow.is-beige {
  color: #f0e4cb; }
  .button--arrow.is-beige svg {
    color: white;
    fill: white; }

.button--arrow.is-brown {
  color: #774212; }
  .button--arrow.is-brown svg {
    color: #774212;
    fill: #774212; }

.button--arrow.is-black {
  color: black; }
  .button--arrow.is-black svg {
    color: black;
    fill: black; }

/* ==========================================================================
   Container
   ========================================================================== */
/**
 * The container object centers an element in the document.
 */
.container {
  max-width: calc(1024px + 50.66667px);
  padding: 0 25.33333px;
  width: 100%;
  margin: 0 auto; }

/* ==========================================================================
   Content Constraint
   ========================================================================== */
/**
 * The content constraint is a constraint for all the content within
 * the document. It can be manipulated by CSS or JavaScript without
 * influencing the body.
 */
.content-constraint {
  position: relative;
  min-height: 100vh;
  overflow: hidden; }
  .content-constraint ::-moz-selection {
    background-color: #adcb00;
    color: #774212; }
  .content-constraint ::selection {
    background-color: #adcb00;
    color: #774212; }

/* ==========================================================================
   Flex
   ========================================================================== */
/**
 * 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 -12.66667px; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* ==========================================================================
   Headings.
   ========================================================================== */
/**
 * Heading 1.
 */
h1,
.heading-1 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.20833em;
  font-family: "Predige-Medium"; }
  @media only screen and (max-width: 899px) {
    h1,
    .heading-1 {
      font-size: 48px;
      font-size: 4.8rem;
      line-height: 1.125em; } }

/**
 * Heading 2.
 */
h2,
.heading-2 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.125em;
  font-family: "Predige-Medium"; }
  @media only screen and (max-width: 899px) {
    h2,
    .heading-2 {
      font-size: 48px;
      font-size: 4.8rem;
      line-height: 1.125em;
      overflow-wrap: break-word; } }

/**
 * Heading 3.
 */
h3,
.heading-3 {
  font-size: 150px;
  font-size: 15rem;
  line-height: 1em;
  font-family: "Predige-Medium";
  -webkit-text-stroke: 1px #adcb00;
  color: transparent; }
  @media only screen and (max-width: 1199px) {
    h3,
    .heading-3 {
      font-size: 100px;
      font-size: 10rem;
      line-height: 1em; } }
  @media only screen and (max-width: 899px) {
    h3,
    .heading-3 {
      font-size: 50px;
      font-size: 5rem;
      line-height: 1em;
      max-width: 100vw;
      white-space: nowrap;
      overflow: hidden; } }

/* ==========================================================================
   Headings.
   ========================================================================== */
.has-load {
  position: relative;
  top: -150px;
  transition: all 1000ms ease;
  opacity: 0; }

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

/* ==========================================================================
   Section
   ========================================================================== */
/* ==========================================================================
   Wrapper
   ========================================================================== */
/**
 * The wrapper object centers an element in the document.
 */
/**
 * Wrapper (default)
 */
.wrapper {
  max-width: calc(1250px + 190px);
  padding: 0 95px;
  width: 100%;
  margin: 0 auto; }
  @media only screen and (max-width: 599px) {
    .wrapper {
      padding: 0 40px; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .wrapper {
      padding: 0 50px; } }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .wrapper {
      padding: 0 60px; } }

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

.cms-output ul {
  list-style-type: none; }
  .cms-output ul li {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.875em;
    width: calc(100% - 35px); }
    .cms-output ul li::before {
      left: 0;
      width: 5px;
      margin-right: 20px;
      content: '›'; }

.cms-output ol {
  list-style-type: decimal; }
  .cms-output ol li {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.875em; }

.cms-output p > a {
  color: #df4126; }
  .cms-output p > a:hover {
    text-decoration: underline; }

/* ==========================================================================
   Contact form
   ========================================================================== */
.contact-form {
  padding-bottom: 170px; }
  @media only screen and (max-width: 899px) {
    .contact-form {
      padding-bottom: 85px; } }

.contact-form__title {
  position: relative;
  top: -10px;
  left: -14px;
  padding-bottom: 85px;
  color: transparent; }
  @media only screen and (max-width: 899px) {
    .contact-form__title {
      left: -8px;
      margin-top: 25px;
      padding-bottom: 43px; } }

.contact-form__column-contact {
  width: 62%; }
  @media only screen and (max-width: 1199px) {
    .contact-form__column-contact {
      width: 100%; } }

.contact-form__contact-block {
  margin-bottom: 170px; }
  @media only screen and (max-width: 1199px) {
    .contact-form__contact-block {
      margin-bottom: 150px; } }
  @media only screen and (max-width: 899px) {
    .contact-form__contact-block {
      margin-bottom: 75px; } }
  .contact-form__contact-block:last-of-type {
    margin-bottom: 0; }
  .contact-form__contact-block:first-of-type .contact-form__contact-subtitle {
    padding-top: 0; }

.contact-form__contact-title {
  position: absolute;
  left: -15px;
  color: transparent; }
  @media only screen and (max-width: 899px) {
    .contact-form__contact-title {
      left: -8px; } }

.contact-form__contact-subtitle {
  max-width: 400px;
  margin-bottom: 25px;
  padding-top: 235px; }
  @media only screen and (max-width: 1199px) {
    .contact-form__contact-subtitle {
      padding-top: 152px; } }
  @media only screen and (max-width: 899px) {
    .contact-form__contact-subtitle {
      padding-top: 110px; } }

.contact-form__contact-editor {
  max-width: 585px; }

.contact-form__contact-logo {
  width: 100%;
  max-width: 290px;
  margin-top: 55px; }
  @media only screen and (max-width: 1199px) {
    .contact-form__contact-logo {
      margin-top: 40px; } }

.contact-form__column-form {
  width: 38%; }
  @media only screen and (max-width: 1199px) {
    .contact-form__column-form {
      display: none; } }

/* ==========================================================================
   Downloads
   ========================================================================== */
@media only screen and (max-width: 899px) {
  .downloads .wrapper {
    flex-direction: column-reverse;
    padding-top: 15px; } }

.downloads__item {
  margin-bottom: 164px; }
  @media only screen and (max-width: 1199px) {
    .downloads__item {
      margin-bottom: 115px; } }
  @media only screen and (max-width: 899px) {
    .downloads__item {
      margin-bottom: 90px; } }

.downloads__item-date {
  position: absolute;
  left: -14px;
  color: transparent; }
  @media only screen and (max-width: 899px) {
    .downloads__item-date {
      left: -7px; } }

.downloads__column-items {
  width: 61%;
  padding-right: 50px; }
  @media only screen and (max-width: 899px) {
    .downloads__column-items {
      width: 100%; } }

.downloads__item-title {
  margin-bottom: 27px;
  padding-top: 224px; }
  @media only screen and (max-width: 1199px) {
    .downloads__item-title {
      padding-top: 175px; } }
  @media only screen and (max-width: 899px) {
    .downloads__item-title {
      padding-top: 115px; } }

.downloads__item-image {
  max-width: 570px;
  margin: 35px 0; }

.downloads__item-editor {
  max-width: 570px; }

.downloads__item-link {
  margin-top: 35px; }

.downloads__column-links {
  width: 39%; }
  @media only screen and (max-width: 899px) {
    .downloads__column-links {
      width: 100%;
      margin-bottom: 75px; } }

.downloads__title {
  margin-bottom: 23px; }

.downloads__editor a {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.875em;
  transition: all 250ms ease; }
  .downloads__editor a:hover {
    color: #adcb00; }

/* ==========================================================================
   Footer columns
   ========================================================================== */
.footer-columns {
  line-height: 29px; }
  @media only screen and (max-width: 899px) {
    .footer-columns {
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 2em; } }
  .footer-columns .wrapper {
    padding-top: 160px;
    padding-bottom: 175px; }
    @media only screen and (max-width: 899px) {
      .footer-columns .wrapper {
        padding-top: 70px;
        padding-bottom: 85px; } }
  .footer-columns a {
    transition: all 250ms ease; }
    .footer-columns a:hover {
      color: #adcb00; }

.footer-columns__contact {
  position: relative;
  width: 40%; }
  @media only screen and (max-width: 899px) {
    .footer-columns__contact {
      width: 100%;
      margin-bottom: 50px; } }

.footer-columns__contact-logo {
  position: absolute;
  top: -35px; }
  @media only screen and (max-width: 899px) {
    .footer-columns__contact-logo {
      position: relative;
      top: 0; } }

.footer-columns__contact-editor {
  margin-top: 75px; }
  @media only screen and (max-width: 899px) {
    .footer-columns__contact-editor {
      margin-top: 30px; } }

.footer-columns__sitemaps {
  width: 45%; }
  @media only screen and (max-width: 899px) {
    .footer-columns__sitemaps {
      display: none; } }

.footer-columns__sitemap {
  width: 50%; }

.footer-columns__social-title,
.footer-columns__sitemap-title {
  margin-bottom: 45px; }
  @media only screen and (max-width: 899px) {
    .footer-columns__social-title,
    .footer-columns__sitemap-title {
      margin-bottom: 25px; } }

.footer-columns__social {
  width: 15%; }
  @media only screen and (max-width: 899px) {
    .footer-columns__social {
      width: 100%; } }

.footer-columns__social-links a {
  display: block; }
  .footer-columns__social-links a:hover {
    color: #adcb00; }

/* ==========================================================================
   Footer CTA
   ========================================================================== */
.footer-cta {
  overflow: hidden;
  z-index: 2; }
  .footer-cta .wrapper {
    position: relative; }

.background--border + .footer-cta {
  padding-top: 175px; }
  @media only screen and (max-width: 899px) {
    .background--border + .footer-cta {
      padding-top: 75px; } }

.footer-cta + div {
  margin-top: -95px; }
  @media only screen and (max-width: 899px) {
    .footer-cta + div {
      margin-top: 0; } }

.footer-cta__body {
  position: absolute;
  top: 160px;
  right: 0;
  max-width: 575px;
  max-height: 250px;
  padding: 60px 55px;
  background: #adcb00;
  color: #774212; }
  @media only screen and (max-width: 899px) {
    .footer-cta__body {
      top: 120px; } }
  @media only screen and (max-width: 599px) {
    .footer-cta__body {
      top: 40px;
      right: 40px;
      bottom: 40px;
      left: 40px;
      max-height: -webkit-fit-content;
      max-height: -moz-fit-content;
      max-height: fit-content;
      padding: 60px 40px; } }

.footer-cta__link {
  margin-top: 10px; }

.footer-cta__image {
  position: relative;
  width: 100vw;
  min-height: 570px; }
  @media only screen and (max-width: 899px) {
    .footer-cta__image {
      position: initial;
      height: 500px !important; } }
  .footer-cta__image img {
    position: absolute; }

/* ==========================================================================
   Footer
   ========================================================================== */
.footer {
  height: 50px;
  padding-top: 7px;
  background-color: #774212; }
  @media only screen and (max-width: 899px) {
    .footer {
      height: 40px;
      padding-top: 5px; } }

.footer__links a {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1em;
  margin-right: 60px;
  transition: all 250ms ease;
  border-bottom: 2px solid white;
  color: white; }
  @media only screen and (max-width: 899px) {
    .footer__links a {
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 0.85714em;
      margin-right: 20px;
      border: 0; } }
  @media only screen and (min-width: 900px) {
    .footer__links a:hover {
      border-bottom: 2px solid #adcb00;
      color: #adcb00; } }

/* ==========================================================================
   Form
   ========================================================================== */
.form {
  padding-bottom: 180px; }
  @media only screen and (max-width: 899px) {
    .form {
      padding-bottom: 85px; } }

.form__title {
  position: relative;
  top: -10px;
  left: -14px;
  padding-bottom: 85px;
  color: transparent; }
  @media only screen and (max-width: 899px) {
    .form__title {
      left: -8px;
      margin-top: 25px;
      padding-bottom: 50px; } }

.form__column-form {
  width: 72%; }
  @media only screen and (max-width: 1199px) {
    .form__column-form {
      width: 100%; } }

.form__column-image {
  width: 28%; }
  @media only screen and (max-width: 1199px) {
    .form__column-image {
      display: none; } }

.form__image {
  pointer-events: none; }
  .form__image img {
    position: absolute;
    right: 0;
    min-width: 435px;
    pointer-events: none; }

.form__shortcode .question-type-radio label {
  margin-bottom: 0; }

/* ==========================================================================
   Header
   ========================================================================== */
.header {
  position: absolute;
  width: 100%;
  height: 210px; }
  @media only screen and (max-width: 899px) {
    .header {
      height: 125px; } }
  .header .wrapper {
    align-items: center;
    height: 210px; }
    @media only screen and (max-width: 899px) {
      .header .wrapper {
        justify-content: space-between;
        height: 125px; } }

.header + div {
  padding-top: 210px; }
  @media only screen and (max-width: 899px) {
    .header + div {
      padding-top: 125px; } }

.header__logo {
  width: calc(100% - 479px);
  padding-right: 15px;
  z-index: 2; }
  @media only screen and (max-width: 899px) {
    .header__logo {
      width: calc(100% - 44px);
      transition: all 750ms ease; } }
  .header__logo img {
    width: 212px;
    height: 150px; }
    @media only screen and (max-width: 899px) {
      .header__logo img {
        width: auto;
        max-height: 100px; } }

@media only screen and (max-width: 899px) {
  .body.is-active .header__logo {
    z-index: 100; } }

.header__buttons {
  width: 445px;
  z-index: 2; }
  @media only screen and (max-width: 899px) {
    .header__buttons {
      display: none; } }

.header__button {
  border: 2px solid #adcb00;
  color: #adcb00; }
  .header__button svg {
    color: #adcb00;
    fill: #adcb00; }
  .header__button::after {
    background: #adcb00; }
  .header__button:hover {
    color: white; }
  .header__button.is-search {
    margin-right: 80px; }

/**
 * Mobile menu button.
 */
.header__menu-button {
  position: relative;
  width: 34px;
  height: 34px;
  z-index: 100; }
  .header__menu-button span {
    display: inline-block;
    position: absolute;
    right: 0;
    left: 0;
    width: 34px;
    height: 2px;
    margin: auto;
    background-color: black; }
    .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% - 1px);
      transition: background-color 400ms, opacity 0ms 400ms;
      background-color: black;
      opacity: 1; }
    .header__menu-button span:nth-child(3) {
      bottom: 0;
      transition: background-color 400ms, bottom 400ms 400ms, transform 400ms 0s;
      background-color: black; }
  .header__menu-button.is-active span:nth-child(1) {
    top: calc(50% - 1px);
    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% - 1px);
    transform: rotate(45deg);
    transition: background-color 400ms, bottom 400ms, transform 400ms 400ms; }

/**
 * Header secondary colors.
 */
@media only screen and (max-width: 899px) {
  .header--secondary {
    z-index: 17000; } }

.header--secondary .header__button {
  border: 2px solid #774212;
  color: #774212; }
  .header--secondary .header__button svg {
    color: #774212;
    fill: #774212; }
  .header--secondary .header__button::after {
    background: #774212; }
  .header--secondary .header__button:hover {
    color: #f0e4cb; }

.header--secondary .header__menu-button span {
  background-color: #774212; }
  .header--secondary .header__menu-button span:nth-child(2), .header--secondary .header__menu-button span:nth-child(3) {
    background-color: #774212; }

@media only screen and (min-width: 900px) {
  .header__menu-button.is-active span {
    background-color: #f0e4cb; }
    .header__menu-button.is-active span:nth-child(2), .header__menu-button.is-active span:nth-child(3) {
      background-color: #f0e4cb; } }

/* ==========================================================================
   Home DNA form.
   ========================================================================== */
/**
 * Default styling.
 */
input[type='date'],
input[type='text'],
input[type='number'],
input[type='email'],
select,
textarea {
  display: block;
  width: 100%;
  padding: 7px 0;
  border-bottom: 1px solid #774212;
  background: transparent;
  font-weight: 500;
  color: #774212; }

textarea {
  height: 125px;
  border-bottom: 2px solid #774212; }

input::-moz-placeholder {
  color: #774212;
  opacity: 0.5; }

input:-ms-input-placeholder {
  color: #774212;
  opacity: 0.5; }

input::placeholder {
  color: #774212;
  opacity: 0.5; }

/**
 * HomeDNA form.
 */
.homedna-survey {
  max-width: 575px; }

.homedna-survey label {
  display: block;
  margin-bottom: -23px;
  font-family: "Predige-Medium"; }

.homedna-survey .question-type-static,
.homedna-survey .question-type-header {
  display: none; }

.homedna-survey .wrap-question {
  display: block;
  position: relative;
  width: 100%;
  margin-bottom: 26px;
  float: left;
  color: #774212; }
  .homedna-survey .wrap-question a {
    color: #adcb00;
    text-decoration: underline; }
    .homedna-survey .wrap-question a:hover {
      text-decoration: none; }

.homedna-survey .question-type-radio label {
  width: 100%; }

.homedna-survey input[type=radio],
.homedna-survey input[type=checkbox] {
  width: 14px;
  height: 14px;
  margin-top: 6px;
  margin-right: 10px;
  padding: 0;
  float: left;
  transition: 0.35s;
  border: 1px solid #774212; }
  .homedna-survey input[type=radio]:checked,
  .homedna-survey input[type=checkbox]:checked {
    background-color: #774212; }

.homedna-survey .btn-style {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1em;
  display: inline-flex;
  align-items: center;
  position: relative;
  height: 32px;
  margin: 50px 35px 0 0;
  padding: 0 10px;
  transition: all 250ms ease;
  border: 2px solid #adcb00;
  color: #adcb00;
  cursor: pointer; }
  .homedna-survey .btn-style svg {
    position: absolute;
    top: 6px;
    right: -37px;
    width: 35px;
    transition: all 250ms ease;
    color: #adcb00;
    fill: #adcb00; }
  .homedna-survey .btn-style::after {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 0;
    height: 100%;
    transition: all 350ms ease;
    background: #adcb00;
    content: '';
    z-index: -1; }
  .homedna-survey .btn-style:hover::after {
    width: 100%; }
  .homedna-survey .btn-style:hover {
    color: white; }

#formPageNav {
  margin-top: 20px; }

#formPageNav > .text {
  display: block;
  width: 100%;
  margin-bottom: 10px; }

#formPageNav > span[data-page] {
  display: inline-block;
  min-width: 30px;
  padding: 5px;
  transition: background-color 450ms, color 450ms;
  border: 1px solid #595a4e;
  text-align: center; }
  #formPageNav > span[data-page]:hover, #formPageNav > span[data-page].active {
    background-color: #595a4e;
    color: white; }

/* ==========================================================================
   Location
   ========================================================================== */
.location {
  overflow: hidden; }
  @media only screen and (max-width: 899px) {
    .location .wrapper {
      flex-direction: column-reverse;
      padding: 0; } }

.location__column-text {
  position: relative;
  width: 30%;
  padding: 90px 35px 0 0; }
  @media only screen and (max-width: 899px) {
    .location__column-text {
      width: calc(100% - 80px);
      margin: 70px 40px 80px;
      padding: 35px 0 0; } }
  .location__column-text::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 33px;
    height: 3px;
    background: #cbd4d7;
    content: ''; }
    @media only screen and (max-width: 899px) {
      .location__column-text::before {
        height: 2px; } }

.location__title {
  margin-bottom: 25px; }

.location__column-map {
  width: 70%; }
  @media only screen and (max-width: 899px) {
    .location__column-map {
      position: relative;
      width: 100%; } }

.location__map {
  position: initial;
  width: 66.6vw;
  min-height: 600px; }
  @media only screen and (max-width: 899px) {
    .location__map {
      width: 100%;
      min-height: auto; } }
  @media only screen and (max-width: 599px) {
    .location__map {
      min-height: auto; } }

.location__map-container {
  width: 100%;
  height: 100%; }

/* ==========================================================================
   Mobile scroll
   ========================================================================== */
.mobile-scroll {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.27778em;
  position: absolute;
  right: 0;
  bottom: 170px;
  transform: rotate(90deg);
  color: #d99b68;
  cursor: pointer; }
  @media only screen and (min-width: 900px) {
    .mobile-scroll {
      display: none; } }
  .mobile-scroll svg {
    position: relative;
    top: -2px;
    right: 10px;
    width: 35px;
    height: 32px;
    transform: rotate(180deg);
    color: #d99b68;
    fill: #d99b68; }

/* ==========================================================================
   Navigation
   ========================================================================== */
.navigation {
  position: fixed;
  top: -100vh;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: all 500ms ease;
  background: #f0e4cb;
  color: #774212;
  opacity: 0;
  z-index: 99;
  overflow-x: hidden; }
  @media only screen and (max-width: 899px) {
    .navigation {
      top: 100vh;
      height: auto;
      margin-top: 125px;
      padding: 12px 0 40px;
      transition: all 500ms ease;
      background: #f0e4cb; } }
  .navigation.is-active {
    top: 0;
    opacity: 1; }
  .navigation::-webkit-scrollbar {
    display: none; }

/**
 * Contact.
 */
.navigation__column-contact {
  width: 40%;
  padding-top: 90px;
  padding-right: 15px; }
  @media only screen and (max-width: 899px) {
    .navigation__column-contact {
      display: none; } }

.navigation__contact-block {
  margin-bottom: 22px; }
  .navigation__contact-block a:hover {
    transition: all 250ms ease; }
    @media only screen and (min-width: 900px) {
      .navigation__contact-block a:hover {
        color: #adcb00; } }

.navigation__contact-title {
  margin-bottom: 22px; }

.navigation__contact-editor {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.875em; }

/**
 * Social.
 */
.navigation__social.is-desktop {
  display: none; }
  @media only screen and (min-width: 900px) {
    .navigation__social.is-desktop {
      display: block; } }

.navigation__social.is-mobile {
  display: none; }
  @media only screen and (max-width: 899px) {
    .navigation__social.is-mobile {
      display: block; } }

.navigation__social-title {
  margin: 70px 0 26px;
  color: #774212;
  font-family: "Predige-Medium"; }
  @media only screen and (max-width: 899px) {
    .navigation__social-title {
      font-size: 20px;
      font-size: 2rem;
      line-height: 1.8em;
      margin: 135px 0 21px; } }

.navigation__social-links a {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.875em;
  display: block;
  transition: all 250ms ease;
  color: #774212; }
  @media only screen and (max-width: 899px) {
    .navigation__social-links a {
      font-size: 20px;
      font-size: 2rem;
      line-height: 1.8em; } }
  @media only screen and (min-width: 900px) {
    .navigation__social-links a:hover {
      color: #adcb00; } }

/**
 * Main menu.
 */
.navigation__column-menu {
  width: 60%;
  min-height: 100vh;
  padding: 90px 0 0 95px; }
  @media only screen and (max-width: 899px) {
    .navigation__column-menu {
      width: 100%;
      min-height: auto;
      padding: 0; } }
  .navigation__column-menu::before {
    width: calc(100vw - 20px); }
    @media only screen and (max-width: 899px) {
      .navigation__column-menu::before {
        display: none; } }

.main-menu > li a {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.58333em;
  font-family: "Predige-Medium";
  transition: all 250ms ease; }
  @media only screen and (max-width: 899px) {
    .main-menu > li a {
      font-size: 30px;
      font-size: 3rem;
      line-height: 1.6em;
      word-break: break-word;
      color: #774212; } }

.main-menu > li.current-menu-item a, .main-menu > li:hover a {
  color: #adcb00; }

/**
 * Background header.
 */
@media only screen and (max-width: 899px) {
  .header::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 100%;
    left: 0;
    transition: all 500ms ease;
    background: #f0e4cb;
    content: ''; } }

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

/* ==========================================================================
   News list
   ========================================================================== */
@media only screen and (max-width: 899px) {
  .news-list .wrapper {
    flex-direction: column-reverse;
    padding-top: 15px; } }

/**
 * Items.
 */
.news-list__items {
  width: calc(100% - 479px);
  padding-right: 50px; }
  @media only screen and (max-width: 899px) {
    .news-list__items {
      width: 100%; } }

/**
 * Item.
 */
.news-list__item {
  margin-bottom: 164px; }
  @media only screen and (max-width: 1199px) {
    .news-list__item {
      margin-bottom: 115px; } }
  @media only screen and (max-width: 899px) {
    .news-list__item {
      margin-bottom: 90px; } }

.news-list__item-date {
  position: absolute;
  left: -14px;
  color: transparent; }
  @media only screen and (max-width: 899px) {
    .news-list__item-date {
      left: -7px; } }

.news-list__item-title {
  margin-bottom: 27px;
  padding-top: 224px; }
  @media only screen and (max-width: 1199px) {
    .news-list__item-title {
      padding-top: 175px; } }
  @media only screen and (max-width: 899px) {
    .news-list__item-title {
      padding-top: 115px; } }

.news-list__item-image {
  max-width: 570px;
  margin: 35px 0; }

.news-list__item-editor {
  max-width: 570px; }

.news-list__item-link {
  margin-top: 35px; }

/**
 * Pagination.
 */
.news-list__pagination {
  width: 479px; }
  @media only screen and (max-width: 899px) {
    .news-list__pagination {
      width: 100%;
      margin-bottom: 75px; } }
  .news-list__pagination .pagination {
    margin-top: 35px; }
    .news-list__pagination .pagination .page-numbers {
      margin-right: 3px;
      transition: all 250ms ease; }
    .news-list__pagination .pagination .prev,
    .news-list__pagination .pagination .next {
      display: none; }
    .news-list__pagination .pagination .current,
    .news-list__pagination .pagination .page-numbers:hover {
      border-bottom: 1px solid #595a4e; }
    .news-list__pagination .pagination a.page-numbers:hover {
      color: #adcb00; }

@media only screen and (min-width: 900px) {
  .news-list__sticky.is-active {
    position: fixed;
    top: 80px; } }

.news-list__pagination-title {
  margin-bottom: 23px; }

.news-list__pagination-link {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em;
  transition: all 250ms ease; }
  .news-list__pagination-link:hover {
    color: #adcb00; }

.news-list__pagination-date {
  width: 145px; }
  @media only screen and (max-width: 599px) {
    .news-list__pagination-date {
      width: 80px; } }

/* ==========================================================================
   Partners image
   ========================================================================== */
.partners-image {
  position: relative; }
  .partners-image .wrapper {
    padding-top: 150px;
    padding-bottom: 175px; }
    @media only screen and (max-width: 1199px) {
      .partners-image .wrapper {
        padding-top: 91px;
        padding-bottom: 85px; } }
    @media only screen and (max-width: 899px) {
      .partners-image .wrapper {
        padding-top: 75px;
        padding-bottom: 85px; } }

.partners-image + div::before {
  background-color: #774212; }

.partners-image__title {
  position: absolute;
  top: -92px;
  left: -15px; }
  @media only screen and (max-width: 1199px) {
    .partners-image__title {
      top: -61px; } }
  @media only screen and (max-width: 899px) {
    .partners-image__title {
      top: -31px;
      left: -8px; } }

.partners-image__column-partners {
  width: 72%; }
  @media only screen and (max-width: 1199px) {
    .partners-image__column-partners {
      width: 100%; } }

.partners-image__partner {
  margin-bottom: 220px; }
  @media only screen and (max-width: 1199px) {
    .partners-image__partner {
      margin-bottom: 150px; } }
  @media only screen and (max-width: 899px) {
    .partners-image__partner {
      margin-bottom: 80px; } }
  .partners-image__partner:last-of-type {
    margin-bottom: 0; }
  .partners-image__partner:first-of-type .partners-image__partner-subtitle {
    padding-top: 0; }

.partners-image__partner-title {
  position: absolute;
  left: -15px; }
  @media only screen and (max-width: 899px) {
    .partners-image__partner-title {
      left: -8px; } }

.partners-image__partner-subtitle {
  max-width: 400px;
  margin-bottom: 25px;
  padding-top: 235px;
  color: #adcb00; }
  @media only screen and (max-width: 1199px) {
    .partners-image__partner-subtitle {
      padding-top: 152px; } }
  @media only screen and (max-width: 899px) {
    .partners-image__partner-subtitle {
      padding-top: 110px; } }

.partners-image__partner-editor {
  max-width: 585px; }

.partners-image__column-image {
  width: 28%; }
  @media only screen and (max-width: 1199px) {
    .partners-image__column-image {
      display: none; } }

.partners-image__image img {
  position: absolute;
  right: 0;
  min-width: 435px; }

/* ==========================================================================
   Property map
   ========================================================================== */
@media only screen and (max-width: 899px) {
  .property-map {
    min-height: 125px; } }

.property-map.background--primary .property-map__column-details::before, .property-map.background--primary-pattern .property-map__column-details::before, .property-map.background--secondary .property-map__column-details::before, .property-map.background--secondary-pattern .property-map__column-details::before {
  background: #cbd4d7; }

.property-map.background--default .property-map__column-details::before {
  background: #595a4e; }

.property-map.background--border + .property-map {
  padding-top: 215px; }
  @media only screen and (max-width: 899px) {
    .property-map.background--border + .property-map {
      padding-top: 40px; } }

.property-map + .footer-cta {
  padding-top: 180px; }
  @media only screen and (max-width: 899px) {
    .property-map + .footer-cta {
      padding-top: 90px; } }

.property-map .wrapper {
  position: relative; }

.property-map__column-details {
  position: relative;
  width: 30%;
  padding-top: 95px;
  overflow: hidden; }
  @media only screen and (max-width: 899px) {
    .property-map__column-details {
      display: none; } }
  .property-map__column-details::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 33px;
    height: 3px;
    content: ''; }

.property-map__column-map {
  width: 70%; }
  @media only screen and (max-width: 899px) {
    .property-map__column-map {
      width: 100%; } }

.property-map__placeholder {
  position: absolute;
  top: 95px;
  max-width: 210px;
  transition: all 600ms ease;
  opacity: 1; }
  .property-map__placeholder.is-hidden {
    top: -180px;
    opacity: 0; }

.property-map__properties {
  position: absolute;
  width: 100%; }

.property-map__property {
  position: absolute;
  top: -999px;
  width: 100%;
  max-width: 300px;
  transition: all 600ms ease;
  opacity: 0; }
  .property-map__property.is-active {
    top: 0;
    opacity: 1; }

.property-map__property-title {
  margin-bottom: 25px; }

.property-map__scrolldown-arrow {
  position: absolute;
  bottom: 135px;
  left: 87px; }
  @media only screen and (max-width: 899px) {
    .property-map__scrolldown-arrow {
      display: none; } }
  @media only screen and (max-width: 1199px) {
    .property-map__scrolldown-arrow {
      left: 57px; } }
  .property-map__scrolldown-arrow svg {
    position: relative;
    -webkit-animation: jump 3s ease-in-out infinite;
            animation: jump 3s ease-in-out infinite; }

@-webkit-keyframes jump {
  0% {
    bottom: 0; }
  50% {
    bottom: 15px; }
  100% {
    bottom: 0; } }

@keyframes jump {
  0% {
    bottom: 0; }
  50% {
    bottom: 15px; }
  100% {
    bottom: 0; } }

/* ==========================================================================
   Property single
   ========================================================================== */
.property-single {
  position: relative; }
  .property-single .wrapper {
    align-items: center;
    padding-top: 160px;
    padding-bottom: 180px; }
    @media only screen and (max-width: 1199px) {
      .property-single .wrapper {
        padding-top: 91px;
        padding-bottom: 85px; } }
    @media only screen and (max-width: 899px) {
      .property-single .wrapper {
        flex-direction: column-reverse;
        padding-top: 75px;
        padding-bottom: 85px; } }

.property-single__title {
  position: absolute;
  top: -92px;
  left: -15px; }
  @media only screen and (max-width: 1199px) {
    .property-single__title {
      top: -61px; } }
  @media only screen and (max-width: 899px) {
    .property-single__title {
      font-size: 60px;
      font-size: 6rem;
      line-height: 1.2em;
      top: -42px;
      left: -8px; } }

.property-single__column-details {
  width: 290px;
  padding-right: 20px; }
  @media only screen and (max-width: 899px) {
    .property-single__column-details {
      width: 100%; } }

.property-single__subtitle {
  margin-bottom: 25px;
  color: #774212; }

.property-single__information {
  margin-bottom: 35px;
  color: #774212; }

.property-single__column-map {
  position: relative;
  width: calc(100% - 290px); }
  @media only screen and (max-width: 899px) {
    .property-single__column-map {
      width: 100%;
      margin-bottom: 80px; } }

.property-single__slideshow-images {
  border: 2px solid #595a4e; }

.property-single__navigation {
  position: absolute;
  right: 0;
  bottom: -38px; }
  .property-single__navigation button {
    margin-left: 18px;
    color: #774212; }
    .property-single__navigation button.active, .property-single__navigation button:hover {
      border-bottom: 2px solid #774212; }

/* ==========================================================================
   Property type item
   ========================================================================== */
.property-type-item {
  width: calc(50% - 47.5px);
  margin-bottom: 120px; }
  @media only screen and (max-width: 899px) {
    .property-type-item {
      width: 100%;
      margin-bottom: 80px; } }
  .property-type-item .button--arrow {
    display: flex;
    align-items: normal; }
  .property-type-item .button--arrow svg {
    top: 5px;
    height: 16px; }

.property-type-item__head {
  position: relative; }

.property-type-item__available {
  position: absolute;
  top: 30px;
  left: 30px;
  height: 40px;
  display: flex;
  align-items: center;
  padding: 0 13px;
  background-color: #774212;
  color: #f0e4cb; }

.property-type-item__image {
  margin-bottom: 35px; }
  .property-type-item__image img {
    width: 100%;
    height: auto; }

.property-type-item__total {
  display: inline-block;
  width: auto;
  margin-bottom: 25px; }

.property-type-item__title {
  margin-bottom: 25px; }

.property-type-item__teaser {
  margin-bottom: 20px; }

/**
 * Colors.
 */
.property-type-list.background--brown .property-type-item__total {
  border-bottom: 2px solid #f0e4cb; }

.property-type-list.background--default .property-type-item__total {
  border-bottom: 2px solid #774212; }

/* ==========================================================================
   Property type list
   ========================================================================== */
.property-type-list {
  position: relative; }
  .property-type-list .wrapper {
    padding-top: 160px;
    padding-bottom: 130px; }
    @media only screen and (max-width: 1199px) {
      .property-type-list .wrapper {
        padding-top: 140px;
        padding-bottom: 100px; } }
    @media only screen and (max-width: 899px) {
      .property-type-list .wrapper {
        padding-top: 70px;
        padding-bottom: 0; } }

.property-type-list__title {
  position: absolute;
  top: -92px;
  left: -15px; }
  @media only screen and (max-width: 1199px) {
    .property-type-list__title {
      top: -61px; } }
  @media only screen and (max-width: 899px) {
    .property-type-list__title {
      font-size: 50px;
      font-size: 5rem;
      line-height: 1.44em;
      top: -42px;
      left: -8px; } }

/* ==========================================================================
   Slideshow
   ========================================================================== */
.slideshow {
  overflow: hidden; }
  @media only screen and (max-width: 899px) {
    .slideshow .wrapper {
      flex-direction: column-reverse;
      padding: 0; } }

.slideshow__column-text {
  position: relative;
  width: 30%;
  padding: 90px 35px 0 0; }
  @media only screen and (max-width: 899px) {
    .slideshow__column-text {
      width: calc(100% - 80px);
      margin: 70px 40px 80px;
      padding: 35px 0 0; } }
  .slideshow__column-text::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 33px;
    height: 3px;
    background: #774212;
    content: ''; }
    @media only screen and (max-width: 899px) {
      .slideshow__column-text::before {
        height: 2px; } }

.slideshow__title {
  margin-bottom: 25px; }

.slideshow__column-images {
  width: 70%; }
  @media only screen and (max-width: 899px) {
    .slideshow__column-images {
      position: relative;
      width: 100%; } }

.slideshow__images {
  position: initial;
  width: 66.6vw; }
  @media only screen and (max-width: 899px) {
    .slideshow__images {
      width: 100%; } }
  .slideshow__images .owl-nav {
    position: absolute;
    top: 210px;
    right: 0;
    bottom: 0;
    width: 50px;
    height: 50px;
    margin: auto 0;
    background-color: #adcb00; }
    @media only screen and (max-width: 899px) {
      .slideshow__images .owl-nav {
        display: none; } }
    .slideshow__images .owl-nav .owl-prev {
      display: none; }
    .slideshow__images .owl-nav .owl-next {
      display: block;
      width: 100%;
      height: 100%; }
    .slideshow__images .owl-nav svg {
      width: 34px;
      height: 50px; }
  .slideshow__images .owl-dots {
    position: absolute;
    bottom: 0;
    margin-left: -28px;
    z-index: 2; }
    @media only screen and (max-width: 899px) {
      .slideshow__images .owl-dots {
        display: flex;
        right: 40px;
        bottom: -35px;
        margin: 0; } }
    .slideshow__images .owl-dots .owl-dot {
      display: block;
      width: 14px;
      height: 14px;
      margin-top: 14px;
      transition: all 250ms ease;
      border-radius: 10px;
      background-color: transparent; }
      @media only screen and (max-width: 899px) {
        .slideshow__images .owl-dots .owl-dot {
          margin: 0 0 0 14px; } }
  .slideshow__images.pagination-red .owl-dot {
    border: 2px solid #774212; }
    @media only screen and (max-width: 899px) {
      .slideshow__images.pagination-red .owl-dot {
        border: 2px solid #774212; } }
    .slideshow__images.pagination-red .owl-dot.active, .slideshow__images.pagination-red .owl-dot:hover {
      background-color: #774212; }
      @media only screen and (max-width: 899px) {
        .slideshow__images.pagination-red .owl-dot.active, .slideshow__images.pagination-red .owl-dot:hover {
          background-color: #774212; } }
  .slideshow__images.pagination-green .owl-dot {
    border: 2px solid #774212; }
    @media only screen and (max-width: 899px) {
      .slideshow__images.pagination-green .owl-dot {
        border: 2px solid #774212; } }
    .slideshow__images.pagination-green .owl-dot.active, .slideshow__images.pagination-green .owl-dot:hover {
      background-color: #774212; }
      @media only screen and (max-width: 899px) {
        .slideshow__images.pagination-green .owl-dot.active, .slideshow__images.pagination-green .owl-dot:hover {
          background-color: #774212; } }

.slideshow__slide {
  position: relative;
  width: 66.6vw;
  min-height: 600px; }
  @media only screen and (max-width: 899px) {
    .slideshow__slide {
      width: 100%;
      min-height: auto; } }
  @media only screen and (max-width: 599px) {
    .slideshow__slide {
      min-height: auto; } }

/* ==========================================================================
   Text image
   ========================================================================== */
.text-image .wrapper {
  padding-top: 120px;
  padding-bottom: 175px; }
  @media only screen and (max-width: 1199px) {
    .text-image .wrapper {
      padding-bottom: 110px; } }
  @media only screen and (max-width: 899px) {
    .text-image .wrapper {
      padding-top: 65px;
      padding-bottom: 90px; } }

.text-image.background--default .button--border {
  border: 2px solid #595a4e;
  color: #595a4e; }
  .text-image.background--default .button--border svg {
    color: #595a4e;
    fill: #595a4e; }
  .text-image.background--default .button--border::after {
    background: #595a4e; }
  .text-image.background--default .button--border:hover {
    color: #cbd4d7; }

.text-image.background--default .button--arrow {
  color: #595a4e; }
  .text-image.background--default .button--arrow svg {
    color: #595a4e;
    fill: #595a4e; }

.text-image__column-text {
  width: 54%;
  padding-right: 100px; }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .text-image__column-text {
      padding-right: 50px; } }
  @media only screen and (max-width: 899px) {
    .text-image__column-text {
      width: 100%;
      margin-bottom: 40px;
      padding: 0; } }

.text-image__title {
  margin-bottom: 30px; }

.text-image__editor {
  margin-bottom: 35px; }

.text-image__column-image {
  width: 46%; }
  @media only screen and (max-width: 899px) {
    .text-image__column-image {
      width: 100%; } }
  .text-image__column-image #play {
    transition: all 400ms ease; }
    .text-image__column-image #play span {
      display: flex;
      align-items: center;
      justify-content: center;
      position: absolute;
      width: 100px;
      height: 100px;
      background-color: #595a4e;
      border-radius: 50%;
      left: calc(50% - 50px); }
      .text-image__column-image #play span svg {
        width: 39px;
        height: 48px;
        margin-left: 6px;
        color: #adcb00; }
    .text-image__column-image #play:hover {
      opacity: 0.8; }

/* ==========================================================================
   Text slideshow
   ========================================================================== */
.text-slideshow {
  position: relative; }
  .text-slideshow .wrapper {
    padding-top: 120px;
    padding-bottom: 180px; }
    @media only screen and (max-width: 1199px) {
      .text-slideshow .wrapper {
        padding-top: 51px;
        padding-bottom: 85px; } }
    @media only screen and (max-width: 899px) {
      .text-slideshow .wrapper {
        padding-top: 55px;
        padding-bottom: 85px; } }
  .text-slideshow.background--default .owl-nav {
    background-color: #595a4e; }
    .text-slideshow.background--default .owl-nav svg {
      color: #cbd4d7;
      fill: #cbd4d7; }
  .text-slideshow.background--default .owl-dot {
    border: 2px solid #595a4e; }
    .text-slideshow.background--default .owl-dot.active, .text-slideshow.background--default .owl-dot:hover {
      background-color: #595a4e; }
  .text-slideshow.background--default .owl-nav, .text-slideshow.background--brown .owl-nav, .text-slideshow.background--beige .owl-nav {
    background-color: #adcb00; }
    .text-slideshow.background--default .owl-nav svg, .text-slideshow.background--brown .owl-nav svg, .text-slideshow.background--beige .owl-nav svg {
      color: #774212;
      fill: #774212; }
  .text-slideshow.background--default .owl-dot, .text-slideshow.background--brown .owl-dot, .text-slideshow.background--beige .owl-dot {
    border: 2px solid #774212; }
    .text-slideshow.background--default .owl-dot.active, .text-slideshow.background--default .owl-dot:hover, .text-slideshow.background--brown .owl-dot.active, .text-slideshow.background--brown .owl-dot:hover, .text-slideshow.background--beige .owl-dot.active, .text-slideshow.background--beige .owl-dot:hover {
      background-color: #774212; }

.text-slideshow__wrap {
  overflow: hidden; }

.text-slideshow__title {
  position: absolute;
  top: -92px;
  left: -15px; }
  @media only screen and (max-width: 1199px) {
    .text-slideshow__title {
      top: -61px; } }
  @media only screen and (max-width: 899px) {
    .text-slideshow__title {
      top: -32px;
      left: -8px; } }

.text-slideshow__title + div {
  padding-top: 40px; }
  @media only screen and (max-width: 899px) {
    .text-slideshow__title + div {
      padding-top: 20px; } }

.text-slideshow__block-title {
  margin-bottom: 35px; }

/**
 * Slideshow.
 */
@media only screen and (min-width: 900px) {
  .text-image__slideshow .owl-stage-outer {
    width: 1790px; } }

@media only screen and (min-width: 900px) and (max-width: 1199px) {
  .text-image__slideshow .owl-stage-outer {
    width: 1205px; } }

.text-image__slideshow .owl-nav {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 525px;
  width: 50px;
  height: 50px;
  margin: auto 0; }
  @media only screen and (max-width: 899px) {
    .text-image__slideshow .owl-nav {
      display: none; } }
  .text-image__slideshow .owl-nav .owl-prev {
    display: none; }
  .text-image__slideshow .owl-nav .owl-next {
    display: block;
    width: 100%;
    height: 100%; }
  .text-image__slideshow .owl-nav svg {
    width: 34px;
    height: 50px; }

.text-image__slideshow .owl-dots {
  position: absolute;
  bottom: 0;
  margin-left: -28px;
  z-index: 2; }
  @media only screen and (max-width: 899px) {
    .text-image__slideshow .owl-dots {
      display: flex;
      right: 0;
      bottom: -35px;
      margin: 0; } }
  .text-image__slideshow .owl-dots .owl-dot {
    display: block;
    width: 14px;
    height: 14px;
    margin-top: 14px;
    transition: all 250ms ease;
    border-radius: 10px;
    background-color: transparent; }
    @media only screen and (max-width: 899px) {
      .text-image__slideshow .owl-dots .owl-dot {
        margin: 0 0 0 14px; } }

/**
 * Slides.
 */
.text-image__slide {
  position: relative;
  width: 575px;
  height: 560px; }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .text-image__slide {
      width: 375px;
      height: 360px; } }
  @media only screen and (max-width: 899px) {
    .text-image__slide {
      width: 100%;
      height: 450px; } }
  @media only screen and (max-width: 599px) {
    .text-image__slide {
      width: 100%;
      height: 320px; } }

/**
 * Slideshow position.
 */
.text-slideshow__block {
  align-items: center;
  justify-content: space-between;
  margin-bottom: 120px; }
  @media only screen and (max-width: 899px) {
    .text-slideshow__block {
      align-items: left;
      margin-bottom: 90px; } }
  .text-slideshow__block:last-of-type {
    margin-bottom: 0; }
  .text-slideshow__block.text-slideshow__block--right .text-slideshow__column-text {
    width: calc(100% - 575px);
    max-width: 550px;
    padding: 0 50px 0 100px; }
    @media only screen and (min-width: 900px) and (max-width: 1199px) {
      .text-slideshow__block.text-slideshow__block--right .text-slideshow__column-text {
        width: calc(100% - 375px);
        padding: 0 50px 0 0; } }
    @media only screen and (max-width: 899px) {
      .text-slideshow__block.text-slideshow__block--right .text-slideshow__column-text {
        width: 100%;
        max-width: 100%;
        padding: 0 0 40px; } }
  .text-slideshow__block.text-slideshow__block--right .text-slideshow__column-images {
    width: 575px; }
    @media only screen and (min-width: 900px) and (max-width: 1199px) {
      .text-slideshow__block.text-slideshow__block--right .text-slideshow__column-images {
        width: 375px; } }
    @media only screen and (max-width: 899px) {
      .text-slideshow__block.text-slideshow__block--right .text-slideshow__column-images {
        width: 100%; } }
  @media only screen and (min-width: 900px) {
    .text-slideshow__block.text-slideshow__block--left {
      flex-direction: row-reverse; } }
  .text-slideshow__block.text-slideshow__block--left .text-slideshow__column-text {
    width: calc(100% - 575px);
    max-width: 550px;
    padding: 0 100px 0 50px; }
    @media only screen and (min-width: 900px) and (max-width: 1199px) {
      .text-slideshow__block.text-slideshow__block--left .text-slideshow__column-text {
        width: calc(100% - 375px);
        padding: 0 0 0 50px; } }
    @media only screen and (max-width: 899px) {
      .text-slideshow__block.text-slideshow__block--left .text-slideshow__column-text {
        width: 100%;
        max-width: auto;
        padding: 0 0 40px; } }
  @media only screen and (min-width: 900px) {
    .text-slideshow__block.text-slideshow__block--left .text-slideshow__column-images {
      display: flex;
      flex-direction: row-reverse;
      width: 575px; } }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .text-slideshow__block.text-slideshow__block--left .text-slideshow__column-images {
      width: 375px; } }
  @media only screen and (max-width: 899px) {
    .text-slideshow__block.text-slideshow__block--left .text-slideshow__column-images {
      width: 100%; } }
  @media only screen and (min-width: 900px) {
    .text-slideshow__block.text-slideshow__block--left .text-slideshow__column-images .owl-carousel {
      width: auto; } }
  @media only screen and (min-width: 900px) {
    .text-slideshow__block.text-slideshow__block--left .owl-nav {
      right: 0;
      left: auto; } }
  @media only screen and (min-width: 900px) {
    .text-slideshow__block.text-slideshow__block--left .owl-dots {
      right: -28px;
      margin-left: 0; } }

.video-header {
  position: relative;
  height: 100vh;
  max-height: 100vh;
  min-height: 735px;
  margin-bottom: 100px; }
  @media only screen and (max-width: 899px) {
    .video-header {
      margin-bottom: 50px; } }
  .video-header::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, white 0%, white 5%, rgba(237, 83, 83, 0) 60%);
    top: 0;
    left: 0;
    pointer-events: none; }
  .video-header:has(.video-header__video.is-playing) .video-header__image {
    opacity: 0;
    visibility: hidden;
    pointer-events: none; }

.video-header__video {
  position: absolute !important;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  overflow: hidden; }
  @media only screen and (max-width: 599px) {
    .video-header__video.desktop {
      display: none; } }
  @media only screen and (min-width: 600px) {
    .video-header__video.mobile {
      display: none; } }
  .video-header__video iframe {
    box-sizing: border-box;
    width: 177.77777778vh;
    height: 56.25vw;
    min-width: 100%;
    min-height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }

.video-header__image {
  width: 100%;
  height: 100%;
  transition: all 250ms ease-in-out 750ms;
  display: none; }
  @media only screen and (max-width: 599px) {
    .video-header__image {
      display: block; } }
  .video-header__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover; }

/* ==========================================================================
   Color
   ========================================================================== */
/**
 * Color utility classes.
 */
/**
       * `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` #cbd4d7-100 color utility.
       */
.color-blue-light-100 {
  color: #cbd4d7; }

/**
       * `background-color` #cbd4d7-100 color utility.
       */
.background-color-blue-light-100 {
  background-color: #cbd4d7; }

/**
       * `color` #afb7ba-50 color utility.
       */
.color-blue-light-50 {
  color: #afb7ba; }

/**
       * `background-color` #afb7ba-50 color utility.
       */
.background-color-blue-light-50 {
  background-color: #afb7ba; }

/**
       * `color` #214391-100 color utility.
       */
.color-blue-dark-100 {
  color: #214391; }

/**
       * `background-color` #214391-100 color utility.
       */
.background-color-blue-dark-100 {
  background-color: #214391; }

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

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

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

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

/**
       * `color` #595a4e-100 color utility.
       */
.color-green-100 {
  color: #595a4e; }

/**
       * `background-color` #595a4e-100 color utility.
       */
.background-color-green-100 {
  background-color: #595a4e; }

/**
       * `color` #959b97-50 color utility.
       */
.color-green-50 {
  color: #959b97; }

/**
       * `background-color` #959b97-50 color utility.
       */
.background-color-green-50 {
  background-color: #959b97; }

/**
       * `color` #56574c-100 color utility.
       */
.color-green-background-100 {
  color: #56574c; }

/**
       * `background-color` #56574c-100 color utility.
       */
.background-color-green-background-100 {
  background-color: #56574c; }

/**
       * `color` #251713-100 color utility.
       */
.color-brown-100 {
  color: #251713; }

/**
       * `background-color` #251713-100 color utility.
       */
.background-color-brown-100 {
  background-color: #251713; }

/**
       * `color` #2b1c17-100 color utility.
       */
.color-brown-background-100 {
  color: #2b1c17; }

/**
       * `background-color` #2b1c17-100 color utility.
       */
.background-color-brown-background-100 {
  background-color: #2b1c17; }

/**
       * `color` #adcb00-100 color utility.
       */
.color-boss-green-100 {
  color: #adcb00; }

/**
       * `background-color` #adcb00-100 color utility.
       */
.background-color-boss-green-100 {
  background-color: #adcb00; }

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

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

/**
       * `color` #774212-100 color utility.
       */
.color-boss-brown-100 {
  color: #774212; }

/**
       * `background-color` #774212-100 color utility.
       */
.background-color-boss-brown-100 {
  background-color: #774212; }

/**
       * `color` #f0e4cb-100 color utility.
       */
.color-boss-beige-100 {
  color: #f0e4cb; }

/**
       * `background-color` #f0e4cb-100 color utility.
       */
.background-color-boss-beige-100 {
  background-color: #f0e4cb; }

/**
 * Generic helper classes.
 */
/**
 * 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);
  -webkit-clip-path: inset(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;';
  -o-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; }

.w60 {
  width: 60%; }

.w40 {
  width: 40%; }

.w50 {
  width: 50%; }

/* ==========================================================================
   Object Fit
   ========================================================================== */
/**
 * Object fit.
 *
 * 1. Font family polyfill with (https://github.com/bfred-it/object-fit-images).
 */
/**
   * `object-fit` fill utility class.
   */
.fill {
  font-family: "object-fit: fill;";
  /* 1 */
  -o-object-fit: fill;
     object-fit: fill; }

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

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

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

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

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

.relative {
  position: relative; }

.absolute {
  position: absolute; }

.fixed {
  position: fixed; }

.sticky {
  position: sticky; }

/* ==========================================================================
   Text
   ========================================================================== */
/**
 * Font family utility classes.
 */
.text-xs-default {
  font-family: "Predige-Regular"; }

.text-xs-medium {
  font-family: "Predige-Medium"; }

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

.text-sm-default {
  font-family: "Predige-Regular"; }

.text-sm-medium {
  font-family: "Predige-Medium"; }

.text-sm-heading {
  font-family: "BurfordRusticShadowTwoA"; }

.text-md-default {
  font-family: "Predige-Regular"; }

.text-md-medium {
  font-family: "Predige-Medium"; }

.text-md-heading {
  font-family: "BurfordRusticShadowTwoA"; }

.text-lg-default {
  font-family: "Predige-Regular"; }

.text-lg-medium {
  font-family: "Predige-Medium"; }

.text-lg-heading {
  font-family: "BurfordRusticShadowTwoA"; }

.text-xl-default {
  font-family: "Predige-Regular"; }

.text-xl-medium {
  font-family: "Predige-Medium"; }

.text-xl-heading {
  font-family: "BurfordRusticShadowTwoA"; }

/**
 * Text size utility classes.
 */
.text-xs-h1 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.20833em; }

.text-xs-h2 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.125em; }

.text-xs-h3 {
  font-size: 150px;
  font-size: 15rem;
  line-height: 1em; }

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

.text-sm-h1 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.20833em; }

.text-sm-h2 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.125em; }

.text-sm-h3 {
  font-size: 150px;
  font-size: 15rem;
  line-height: 1em; }

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

.text-md-h1 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.20833em; }

.text-md-h2 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.125em; }

.text-md-h3 {
  font-size: 150px;
  font-size: 15rem;
  line-height: 1em; }

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

.text-lg-h1 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.20833em; }

.text-lg-h2 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.125em; }

.text-lg-h3 {
  font-size: 150px;
  font-size: 15rem;
  line-height: 1em; }

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

.text-xl-h1 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.20833em; }

.text-xl-h2 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.125em; }

.text-xl-h3 {
  font-size: 150px;
  font-size: 15rem;
  line-height: 1em; }

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

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

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

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

.text-sm-left {
  text-align: left; }

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

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

.text-md-left {
  text-align: left; }

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

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

.text-lg-left {
  text-align: left; }

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

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

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

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

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

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

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

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

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

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

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

/* ==========================================================================
   Z-index
   ========================================================================== */
/**
 * 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; }

.iframe {
  position: relative;
  width: 560px;
  max-width: 100%; }

.iframe img {
  max-width: 100%;
  height: auto; }

.iframe iframe {
  display: none;
  max-width: 100%; }

.play-btn {
  position: absolute;
  z-index: 666;
  top: calc(50% - 50px);
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: transparent;
  border: 0; }

.play-btn:hover {
  cursor: pointer; }

.play-btn:focus {
  outline: 0; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwic2V0dGluZ3MvX3R5cG9ncmFwaHkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZS5jc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL19jb3JlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL19hbmltYXRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL19hdXRvaGVpZ2h0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL19sYXp5bG9hZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fdmlkZW8uc2NzcyIsInRvb2xzL19tYWduaWZpYy1wb3B1cC5zY3NzIiwiZ2VuZXJpYy9fYmFzZS5zY3NzIiwidG9vbHMvX21peGlucy5zY3NzIiwidG9vbHMvX2Z1bmN0aW9ucy5zY3NzIiwic2V0dGluZ3MvX2NvbG9yLnNjc3MiLCJnZW5lcmljL19yZXNldC5zY3NzIiwib2JqZWN0cy9fYmFja2dyb3VuZC5zY3NzIiwib2JqZWN0cy9fYnV0dG9ucy5zY3NzIiwib2JqZWN0cy9fY29udGFpbmVyLnNjc3MiLCJzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2NzcyIsIm9iamVjdHMvX2NvbnRlbnQtY29uc3RyYWludC5zY3NzIiwib2JqZWN0cy9fZmxleC5zY3NzIiwib2JqZWN0cy9faGVhZGluZ3Muc2NzcyIsIm9iamVjdHMvX2xhenktbG9hZC5zY3NzIiwib2JqZWN0cy9fc2VjdGlvbi5zY3NzIiwib2JqZWN0cy9fd3JhcHBlci5zY3NzIiwiY29tcG9uZW50cy9fY21zLW91dHB1dC5zY3NzIiwiY29tcG9uZW50cy9fY29udGFjdC1mb3JtLnNjc3MiLCJjb21wb25lbnRzL19kb3dubG9hZHMuc2NzcyIsImNvbXBvbmVudHMvX2Zvb3Rlci1jb2x1bW5zLnNjc3MiLCJjb21wb25lbnRzL19mb290ZXItY3RhLnNjc3MiLCJjb21wb25lbnRzL19mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvX2Zvcm0uc2NzcyIsImNvbXBvbmVudHMvX2hlYWRlci5zY3NzIiwiY29tcG9uZW50cy9faG9tZS1kbmEuc2NzcyIsImNvbXBvbmVudHMvX2xvY2F0aW9uLnNjc3MiLCJjb21wb25lbnRzL19tb2JpbGUtc2Nyb2xsLnNjc3MiLCJjb21wb25lbnRzL19uYXZpZ2F0aW9uLnNjc3MiLCJjb21wb25lbnRzL19uZXdzLWxpc3Quc2NzcyIsImNvbXBvbmVudHMvX3BhcnRuZXJzLWltYWdlLnNjc3MiLCJjb21wb25lbnRzL19wcm9wZXJ0eS1tYXAuc2NzcyIsImNvbXBvbmVudHMvX3Byb3BlcnR5LXNpbmdsZS5zY3NzIiwiY29tcG9uZW50cy9fcHJvcGVydHktdHlwZS1pdGVtLnNjc3MiLCJjb21wb25lbnRzL19wcm9wZXJ0eS10eXBlLWxpc3Quc2NzcyIsImNvbXBvbmVudHMvX3NsaWRlc2hvdy5zY3NzIiwiY29tcG9uZW50cy9fdGV4dC1pbWFnZS5zY3NzIiwiY29tcG9uZW50cy9fdGV4dC1zbGlkZXNob3cuc2NzcyIsImNvbXBvbmVudHMvX3ZpZGVvLWhlYWRlci5zY3NzIiwidXRpbGl0aWVzL19jb2xvci5zY3NzIiwidXRpbGl0aWVzL19oZWxwZXJzLnNjc3MiLCJ1dGlsaXRpZXMvX29iamVjdC1maXQuc2NzcyIsInV0aWxpdGllcy9fcG9zaXRpb24uc2NzcyIsInV0aWxpdGllcy9fdGV4dC5zY3NzIiwidXRpbGl0aWVzL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsInV0aWxpdGllcy9fei1pbmRleC5zY3NzIiwic2V0dGluZ3MvX3otaW5kZXguc2NzcyIsInV0aWxpdGllcy9fdmlkZW8uc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNhaEI7RUFDRSxzQ0FBc0M7RUFDdEMsK0ZBQStGLEVBQUE7O0FBR2pHO0VBQ0Us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QSxFQUFPOztBQUdwQztFQUNFLGdCQUFnQixFQUFBOztBQ2pIbEI7OytFZHcvQitFO0Fjbi9CL0U7O0Vkcy9CRTtBY2wvQkY7RUFDRSxrQkFBa0IsRUFBQTtFQURwQjtJQUlJLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sUUFBUTtJQUNSLFNBQVM7SUFDVCxPQUFPO0lBQ1AsV0FBVztJQUNYLFdBQVc7SUFDWCxXQUFXLEVBQUE7O0FBS2Y7O0VkaS9CRTtBYzcrQkY7RUFDRSxjRmVvQztFRWRwQyxhRmNvQyxFQUFBO0VFaEJ0QztJQUtJLGlCRnhCMkIsRUFBQTtFRW1CL0I7O0lBVUksY0ZNa0MsRUFBQTtFRWhCdEM7SUFjSSxjRkppQyxFQUFBO0lFVnJDO01BaUJNLGNGUCtCO01FUS9CLGFGUitCLEVBQUE7RUVWckM7SUF1QkkseUJGYmlDO0lFY2pDLGNGZGlDLEVBQUE7SUVWckM7TUEyQk0sY0ZqQitCO01Fa0IvQixhRmxCK0IsRUFBQTs7QUV3QnJDOztFZGsrQkU7QWM5OUJGO0VBQ0UsY0Z2Qm9DO0VFd0JwQyxhRnhCb0MsRUFBQTtFRXNCdEM7SUFLSSxtQkZ4QmtDLEVBQUE7RUVtQnRDOztJQVVJLGNGaENrQyxFQUFBO0VFc0J0QztJQWNJLGNGcENrQyxFQUFBO0lFc0J0QztNQWlCTSxjRnZDZ0M7TUV3Q2hDLGFGeENnQyxFQUFBO0VFc0J0QztJQXVCSSx5QkY3Q2tDO0lFOENsQyxjRjlDa0MsRUFBQTtJRXNCdEM7TUEyQk0sY0ZqRGdDO01Fa0RoQyxhRmxEZ0MsRUFBQTs7QUV3RHRDOztFZG05QkU7QWMvOEJGO0VBQ0UsY0YxRG9DO0VFMkRwQyxhRjNEb0MsRUFBQTtFRXlEdEM7SUFLSSxtQkZqRWtDLEVBQUE7RUU0RHRDOztJQVVJLGNGbkVrQyxFQUFBO0VFeUR0QztJQWNJLGNGdkVrQyxFQUFBO0lFeUR0QztNQWlCTSxjRjFFZ0M7TUUyRWhDLGFGM0VnQyxFQUFBO0VFeUR0QztJQXVCSSx5QkZoRmtDO0lFaUZsQyxjRmpGa0MsRUFBQTtJRXlEdEM7TUEyQk0sY0ZwRmdDO01FcUZoQyxhRnJGZ0MsRUFBQTs7QUUyRnRDOztFZG84QkU7QVU5OEJFO0VJY0o7SUFFSSxnQkFBZ0IsRUFBQSxFQWtCbkI7O0FBcEJEO0VBV0ksWUFBWTtFQUNaLGlDRnBIaUMsRUFBQTtFRjBGakM7SUljSjtNQU9NLFNBQVM7TUFDVCxpQ0ZoSCtCLEVBQUEsRUVxSGxDOztBSi9DQztFSWtDSjtJQWlCTSxpQkFBaUIsRUFBQSxFQUVwQjs7QUFHSDtFQU1FLGlCQUFpQjtFQUNqQixpQkFBaUIsRUFBQTtFSjNDZjtJSW9DSjtNQUVJLGFBQWE7TUFDYixjQUFjLEVBQUEsRUFLakI7O0FDN0tEOzsrRWYwbUMrRTtBZXJtQy9FOztFZndtQ0U7QWVwbUNGO0VMMkNJLGVLMUNnQjtFTDJDaEIsaUJDOUIrQjtFRG1DL0Isa0JBQWdEO0VLL0NsRCxvQkFBb0I7RUFDcEIsbUJBQW1CO0VBQ25CLFlBQVk7RUFDWiwwQkFBMEI7RUFDMUIsZUFBZSxFQUFBO0VBTmpCO0lBU0ksV0FBVztJQUNYLFlBQVk7SUFDWiwwQkFBMEIsRUFBQTs7QUFLOUI7O0VmcW1DRTtBZWptQ0Y7RUFDRSxrQkFBa0I7RUFDbEIsa0JBQWtCO0VBQ2xCLGVBQWUsRUFBQTtFQUhqQjtJQU1JLGtCQUFrQjtJQUNsQixTQUFTO0lBQ1QsWUFBWSxFQUFBO0VBUmhCO0lBWUksY0FBYztJQUNkLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sUUFBUTtJQUNSLFNBQVM7SUFDVCxPQUFPO0lBQ1AsUUFBUTtJQUNSLFlBQVk7SUFDWiwwQkFBMEI7SUFDMUIsV0FBVztJQUNYLFdBQVcsRUFBQTtFQXRCZjtJQTBCSSxXQUFXLEVBQUE7RUExQmY7SUE4QkkseUJIdkM0QjtJR3dDNUIsY0h4QzRCLEVBQUE7SUdTaEM7TUFrQ00sY0gzQzBCO01HNEMxQixhSDVDMEIsRUFBQTtJR1NoQztNQXVDTSxtQkhoRDBCLEVBQUE7SUdTaEM7TUEyQ00sY0g5Q3lCLEVBQUE7RUdHL0I7SUFnREkseUJIaENrQztJR2lDbEMsY0hqQ2tDLEVBQUE7SUdoQnRDO01Bb0RNLGNIcENnQztNR3FDaEMsYUhyQ2dDLEVBQUE7SUdoQnRDO01BeURNLG1CSHpDZ0MsRUFBQTtJR2hCdEM7TUE2RE0sY0gxQ2dDLEVBQUE7RUduQnRDO0lBa0VJLHlCSHhEaUM7SUd5RGpDLGNIekRpQyxFQUFBO0lHVnJDO01Bc0VNLGNINUQrQjtNRzZEL0IsYUg3RCtCLEVBQUE7SUdWckM7TUEyRU0sbUJIakUrQixFQUFBO0lHVnJDO01BK0VNLFlIbEd5QixFQUFBOztBR3dHL0I7O0Vmb2tDRTtBZWhrQ0Y7RUFFSSxrQkFBa0I7RUFDbEIsUUFBUTtFQUNSLGlCQUFpQixFQUFBOztBQUpyQjtFQVNNLGlCQUFpQixFQUFBOztBQVR2QjtFQWNJLGNIaEg0QixFQUFBO0VHa0doQztJQWlCTSxjSG5IMEI7SUdvSDFCLGFIcEgwQixFQUFBOztBR2tHaEM7RUF1QkksY0h0SDJCLEVBQUE7RUcrRi9CO0lBMEJNLGNIekh5QjtJRzBIekIsYUgxSHlCLEVBQUE7O0FHK0YvQjtFQWdDSSxjSHRHa0MsRUFBQTtFR3NFdEM7SUFtQ00sWUgvSXlCO0lHZ0p6QixXSGhKeUIsRUFBQTs7QUc0Ry9CO0VBeUNJLGNIbEhrQyxFQUFBO0VHeUV0QztJQTRDTSxjSHJIZ0M7SUdzSGhDLGFIdEhnQyxFQUFBOztBR3lFdEM7RUFrREksWUhqS3lCLEVBQUE7RUcrRzdCO0lBcURNLFlIcEt1QjtJR3FLdkIsV0hyS3VCLEVBQUE7O0FJUDdCOzsrRWhCK3RDK0U7QWdCM3RDL0U7O0VoQjh0Q0U7QWdCMXRDRjtFTk1NLG9DQUEwQztFQUMxQyxxQk9NbUU7RVBGckUsV0FBVztFQUNYLGNBQWMsRUFBQTs7QVFwQmxCOzsrRWxCMnVDK0U7QWtCdnVDL0U7Ozs7RWxCNHVDRTtBa0J0dUNGO0VBQ0Usa0JBQWtCO0VBQ2xCLGlCQUFpQjtFQUNqQixnQkFBZ0IsRUFBQTtFQUhsQjtJQU1JLHlCTnVCaUM7SU10QmpDLGNONEJrQyxFQUFBO0VNbkN0QztJQU1JLHlCTnVCaUM7SU10QmpDLGNONEJrQyxFQUFBOztBTzdDdEM7OytFbkIydkMrRTtBbUJ2dkMvRTs7Ozs7Ozs7Ozs7O0VuQm93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OztBQUU3Qjs7UW5CbzJFRTtBbUJoMkVGO0VBQ0UsdUJBUHVDLEVBQUE7O0FBRXpDOztRbkIwMkVFO0FtQnQyRUY7RUFDRSxxQkFQaUQsRUFBQTs7QUFFbkQ7O1FuQmczRUU7QW1CNTJFRjtFQUNFLHFCQVAyRCxFQUFBOztBQWU3RDs7UW5CeTJFRTtBbUJyMkVGO0VBQ0Usc0JBUGlCLEVBQUE7O0FBRW5COztRbkIrMkVFO0FtQjMyRUY7RUFDRSx1QkFQeUIsRUFBQTs7QUFFM0I7O1FuQnEzRUU7QW1CajNFRjtFQUNFLDhCQVB3QyxFQUFBOztBQUUxQzs7UW5CMjNFRTtBbUJ2M0VGO0VBQ0UsNkJBUHNELEVBQUE7O0FBRXhEOztRbkJpNEVFO0FtQjczRUY7RUFDRSw2QkFQb0UsRUFBQTs7QUFldEU7O1FuQjAzRUU7QW1CdDNFRjtFQUNFLGVBQWdDLEVBQUE7O0FBTGxDOztRbkJnNEVFO0FtQjUzRUY7RUFDRSxnQkFBZ0MsRUFBQTs7QUFLcEM7O01uQjQzRUU7QW1CeDNFRjtFQUNFLFNBQVMsRUFBQTs7QUFJWDs7TW5CeTNFRTtBbUJyM0VGO0VBQ0UsUUFBUSxFQUFBOztBQUlWOztNbkJzM0VFO0FtQmwzRUY7RUFDRSwyQkFBMkIsRUFBQTs7QUMxSmpDOzsrRXBCaWhGK0U7QW9CN2dGL0U7O0VwQmdoRkU7QW9CNWdGRjs7RVY0Q0ksZVV0Q2dCO0VWdUNoQixpQkM5QitCO0VEbUMvQixzQkFBZ0Q7RVUzQ2xELDZCbkJSMEIsRUFBQTtFUzBIeEI7SVV6SEo7O01WNENJLGVVekNrQjtNVjBDbEIsaUJDOUIrQjtNRG1DL0Isb0JBQWdELEVBQUEsRVUxQ25EOztBQUdEOztFcEJpaEZFO0FvQjdnRkY7O0VWNkJJLGVVdEJnQjtFVnVCaEIsaUJDOUIrQjtFRG1DL0Isb0JBQWdEO0VVM0JsRCw2Qm5CeEIwQixFQUFBO0VTMEh4QjtJVTFHSjs7TVY2QkksZVUxQmtCO01WMkJsQixpQkM5QitCO01EbUMvQixvQkFBZ0Q7TVUvQmhELHlCQUF5QixFQUFBLEVBSzVCOztBQUdEOztFcEJraEZFO0FvQjlnRkY7O0VWYUks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UTlDazVJRTtBOEM5NElGO0VBQ0UseUJsQ2J5QixFQUFBOztBa0NRM0I7O1E5Q3c1SUU7QThDcDVJRjtFQUNFLGNsQ1oyQixFQUFBOztBa0NPN0I7O1E5Qzg1SUU7QThDMTVJRjtFQUNFLHlCbENaMkIsRUFBQTs7QWtDTzdCOztROUNvNklFO0E4Q2g2SUY7RUFDRSxjbENUeUIsRUFBQTs7QWtDSTNCOztROUMwNklFO0E4Q3Q2SUY7RUFDRSx5QmxDVHlCLEVBQUE7O0FrQ0kzQjs7UTlDZzdJRTtBOEM1NklGO0VBQ0UsY2xDTndCLEVBQUE7O0FrQ0MxQjs7UTlDczdJRTtBOENsN0lGO0VBQ0UseUJsQ053QixFQUFBOztBa0NDMUI7O1E5QzQ3SUU7QThDeDdJRjtFQUNFLGNsQ0h1QixFQUFBOztBa0NGekI7O1E5Q2s4SUU7QThDOTdJRjtFQUNFLHlCbENIdUIsRUFBQTs7QWtDRnpCOztROUN3OElFO0E4Q3A4SUY7RUFDRSxjbENBdUIsRUFBQTs7QWtDTHpCOztROUM4OElFO0E4QzE4SUY7RUFDRSx5QmxDQXVCLEVBQUE7O0FrQ0x6Qjs7UTlDbzlJRTtBOENoOUlGO0VBQ0UsY2xDQzJCLEVBQUE7O0FrQ043Qjs7UTlDMDlJRTtBOEN0OUlGO0VBQ0UseUJsQ0MyQixFQUFBOztBa0NON0I7O1E5Q2crSUU7QThDNTlJRjtFQUNFLGNsQ0l1QixFQUFBOztBa0NUekI7O1E5Q3MrSUU7QThDbCtJRjtFQUNFLHlCbENJdUIsRUFBQTs7QWtDVHpCOztROUM0K0lFO0E4Q3grSUY7RUFDRSxjbENPd0IsRUFBQTs7QWtDWjFCOztROUNrL0lFO0E4QzkrSUY7RUFDRSx5QmxDT3dCLEVBQUE7O0FrQ1oxQjs7UTlDdy9JRTtBOENwL0lGO0VBQ0UsY2xDVXdCLEVBQUE7O0FrQ2YxQjs7UTlDOC9JRTtBOEMxL0lGO0VBQ0UseUJsQ1V3QixFQUFBOztBa0NmMUI7O1E5Q29nSkU7QThDaGdKRjtFQUNFLGNsQ2E2QixFQUFBOztBa0NsQi9COztROUMwZ0pFO0E4Q3RnSkY7RUFDRSx5QmxDYTZCLEVBQUE7O0FrQ2xCL0I7O1E5Q2do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U3FCUixpQkM5QitCO0VEbUMvQixzQkFBZ0QsRUFBQTs7QXdDaEM5QztFeEMwQkYsZVRuQlE7RVNvQlIsaUJDOUIrQjtFRG1DL0Isb0JBQWdELEVBQUE7O0F3Q2hDOUM7RXhDMEJGLGdCVGxCUztFU21CVCxnQkM5QitCO0VEbUMvQixnQkFBZ0QsRUFBQTs7QXdDaEM5QztFeEMwQkYsZVRqQk87RVNrQlAsaUJDOUIrQjtFRG1DL0Isa0JBQWdELEVBQUE7O0F3Q2hDOUM7RXhDMEJGLGVUcEJRO0VTcUJSLGlCQzlCK0I7RURtQy9CLHNCQUFnRCxFQUFBOztBd0NoQzlDO0V4QzBCRixlVG5CUTtFU29CUixpQkM5QitCO0VEbUMvQixvQkFBZ0QsRUFBQTs7QXdDaEM5QztFeEMwQkYsZ0JUbEJTO0VTbUJULGdCQzlCK0I7RURtQy9CLGdCQUFnRCxFQUFBOztBd0NoQzlDO0V4QzBCRixlVGpCTztFU2tCUCxpQkM5QitCO0VEbUMvQixrQkFBZ0QsRUFBQTs7QXdDaEM5QztFeEMwQkYsZVRwQlE7RVNxQlIsaUJDOUIrQjtFRG1DL0Isc0JBQWdELEVBQUE7O0F3Q2hDOUM7RXhDMEJGLGVUbkJRO0VTb0JSLGlCQzlCK0I7RURtQy9CLG9CQUFnRCxFQUFBOztBd0NoQzlDO0V4QzBCRixnQlRsQlM7RVNtQlQsZ0JDOUIrQjtFRG1DL0IsZ0JBQWdELEVBQUE7O0F3Q2hDOUM7RXhDMEJGLGVUakJPO0VTa0JQLGlCQzlCK0I7RURtQy9CLGtCQUFnRCxFQUFBOztBd0NoQzlDO0V4QzBCRixlVHBCUTtFU3FCUixpQkM5QitCO0VEbUMvQixzQkFBZ0QsRUFBQTs7QXdDaEM5QztFeEMwQkYsZVRuQlE7RVNvQlIsaUJDOUIrQjtFRG1DL0Isb0JBQWdELEVBQUE7O0F3Q2hDOUM7RXhDMEJGLGdCVGxCUztFU21CVCxnQkM5QitCO0VEbUMvQixnQkFBZ0QsRUFBQTs7QXdDaEM5QztFeEMwQkYsZVRqQk87RVNrQlAsaUJDOUIrQjtFRG1DL0Isa0JBQWdELEVBQUE7O0F3Q2hDOUM7RXhDMEJGLGVUcEJRO0VTcUJSLGlCQzlCK0I7RURt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V0NPTSxFQUFBOztBRFJSO0VBQ0UsWUNRTyxFQUFBOztBQ2xCWDtFQUNFLGtCQUFpQjtFQUNqQixZQUFZO0VBQ1osZUFBZSxFQUFBOztBQUdqQjtFQUNFLGVBQWM7RUFDZCxZQUFXLEVBQUE7O0FBR2I7RUFDRSxhQUFZO0VBQ1osZUFBZSxFQUFBOztBQUdqQjtFQUNFLGtCQUFpQjtFQUNqQixZQUFXO0VBQ1gscUJBQXFCO0VBQ3JCLFNBQVE7RUFDUixnQ0FBK0I7RUFDL0IsNkJBQTRCO0VBQzVCLFNBQVEsRUFBQTs7QUFHVjtFQUNFLGVBQWMsRUFBQTs7QUFHaEI7RUFDRSxVQUFTLEVBQUEiLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdCdXJmb3JkUnVzdGljU2hhZG93VHdvQSc7XG4gIHNyYzogdXJsKFwiL3dwLWNvbnRlbnQvdGhlbWVzL2Jvc3MvYXNzZXRzL2ZvbnRzL0J1cmZvcmRSdXN0aWNTaGFkb3dUd29BLm90ZlwiKSBmb3JtYXQoXCJPcGVuVHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdQcmVkaWdlLU1lZGl1bSc7XG4gIHNyYzogdXJsKFwiL3dwLWNvbnRlbnQvdGhlbWVzL2Jvc3MvYXNzZXRzL2ZvbnRzL1ByZWRpZ2UtTWVkaXVtLm90ZlwiKSBmb3JtYXQoXCJPcGVuVHlwZVwiKSwgdXJsKFwiL3dwLWNvbnRlbnQvdGhlbWVzL2Jvc3MvYXNzZXRzL2ZvbnRzL1ByZWRpZ2UtTWVkaXVtLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdQcmVkaWdlLVJlZ3VsYXInO1xuICBzcmM6IHVybChcIi93cC1jb250ZW50L3RoZW1lcy9ib3NzL2Fzc2V0cy9mb250cy9QcmVkaWdlLVJlZ3VsYXIub3RmXCIpIGZvcm1hdChcIk9wZW5UeXBlXCIpLCB1cmwoXCIvd3AtY29udGVudC90aGVtZXMvYm9zcy9hc3NldHMvZm9udHMvUHJlZGlnZS1SZWd1bGFyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTsgfVxuXG4vKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi8gfVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLypcbiAqICBPd2wgQ2Fyb3VzZWwgLSBDb3JlXG4gKi9cbi5vd2wtY2Fyb3VzZWwge1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogcG9zaXRpb24gcmVsYXRpdmUgYW5kIHotaW5kZXggZml4IHdlYmtpdCByZW5kZXJpbmcgZm9udHMgaXNzdWUgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi1ZO1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC8qIGZpeCBmaXJlZm94IGFuaW1hdGlvbiBnbGl0Y2ggKi8gfVxuICAub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2U6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiLlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBoZWlnaHQ6IDA7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlLW91dGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiBmaXggZm9yIGZsYXNoaW5nIGJhY2tncm91bmQgKi9cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLXdyYXBwZXIsXG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIHtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtbmF2LmRpc2FibGVkLFxuICAub3dsLWNhcm91c2VsIC5vd2wtZG90cy5kaXNhYmxlZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtbmF2IC5vd2wtcHJldixcbiAgLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLW5leHQsXG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1kb3Qge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbi5vd2wtcHJldixcbiAgLm93bC1jYXJvdXNlbCAub3dsLW5hdiBidXR0b24ub3dsLW5leHQsXG4gIC5vd2wtY2Fyb3VzZWwgYnV0dG9uLm93bC1kb3Qge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBmb250OiBpbmhlcml0OyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLWxvYWRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtbG9hZGluZyB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAub3dsLWNhcm91c2VsLm93bC1oaWRkZW4ge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtcmVmcmVzaCAub3dsLWl0ZW0ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub3dsLWNhcm91c2VsLm93bC1kcmFnIC5vd2wtaXRlbSB7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLWdyYWIge1xuICAgIGN1cnNvcjogbW92ZTtcbiAgICBjdXJzb3I6IGdyYWI7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtcnRsIHtcbiAgICBkaXJlY3Rpb246IHJ0bDsgfVxuICAub3dsLWNhcm91c2VsLm93bC1ydGwgLm93bC1pdGVtIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLyogTm8gSnMgKi9cbi5uby1qcyAub3dsLWNhcm91c2VsIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAqICBPd2wgQ2Fyb3VzZWwgLSBBbmltYXRlIFBsdWdpblxuICovXG4ub3dsLWNhcm91c2VsIC5hbmltYXRlZCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1hbmltYXRlZC1pbiB7XG4gIHotaW5kZXg6IDA7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLWFuaW1hdGVkLW91dCB7XG4gIHotaW5kZXg6IDE7IH1cblxuLm93bC1jYXJvdXNlbCAuZmFkZU91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0OyB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4vKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBBdXRvIEhlaWdodCBQbHVnaW5cbiAqL1xuLm93bC1oZWlnaHQge1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgNTAwbXMgZWFzZS1pbi1vdXQ7IH1cblxuLypcbiAqIFx0T3dsIENhcm91c2VsIC0gTGF6eSBMb2FkIFBsdWdpblxuICovXG4ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSB7XG4gIC8qKlxuXHRcdFx0VGhpcyBpcyBpbnRyb2R1Y2VkIGR1ZSB0byBhIGJ1ZyBpbiBJRTExIHdoZXJlIGxhenkgbG9hZGluZyBjb21iaW5lZCB3aXRoIGF1dG9oZWlnaHQgcGx1Z2luIGNhdXNlcyBhIHdyb25nXG5cdFx0XHRjYWxjdWxhdGlvbiBvZiB0aGUgaGVpZ2h0IG9mIHRoZSBvd2wtaXRlbSB0aGF0IGJyZWFrcyBwYWdlIGxheW91dHNcblx0XHQgKi8gfVxuICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSAub3dsLWxhenkge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIC5vd2wtbGF6eVtzcmNePVwiXCJdLCAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSAub3dsLWxhenk6bm90KFtzcmNdKSB7XG4gICAgbWF4LWhlaWdodDogMDsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSBpbWcub3dsLWxhenkge1xuICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7IH1cblxuLypcbiAqIFx0T3dsIENhcm91c2VsIC0gVmlkZW8gUGx1Z2luXG4gKi9cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiA4MHB4O1xuICB3aWR0aDogODBweDtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC00MHB4O1xuICBtYXJnaW4tdG9wOiAtNDBweDtcbiAgYmFja2dyb3VuZDogdXJsKFwib3dsLnZpZGVvLnBsYXkucG5nXCIpIG5vLXJlcGVhdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB6LWluZGV4OiAxO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEwMG1zIGVhc2U7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbjpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4zLCAxLjMpOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tdG4sXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXBsYXktaWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXRuIHtcbiAgb3BhY2l0eTogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tZnJhbWUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyogTWFnbmlmaWMgUG9wdXAgQ1NTICovXG4ubWZwLWJnIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDQyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJhY2tncm91bmQ6ICMwYjBiMGI7XG4gIG9wYWNpdHk6IDAuODsgfVxuXG4ubWZwLXdyYXAge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDEwNDM7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4ubWZwLWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBhZGRpbmc6IDAgOHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5tZnAtY29udGFpbmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4ubWZwLWFsaWduLXRvcCAubWZwLWNvbnRhaW5lcjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZnAtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgei1pbmRleDogMTA0NTsgfVxuXG4ubWZwLWlubGluZS1ob2xkZXIgLm1mcC1jb250ZW50LFxuLm1mcC1hamF4LWhvbGRlciAubWZwLWNvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBhdXRvOyB9XG5cbi5tZnAtYWpheC1jdXIge1xuICBjdXJzb3I6IHByb2dyZXNzOyB9XG5cbi5tZnAtem9vbS1vdXQtY3VyLCAubWZwLXpvb20tb3V0LWN1ciAubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgY3Vyc29yOiAtbW96LXpvb20tb3V0O1xuICBjdXJzb3I6IC13ZWJraXQtem9vbS1vdXQ7XG4gIGN1cnNvcjogem9vbS1vdXQ7IH1cblxuLm1mcC16b29tIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjdXJzb3I6IC13ZWJraXQtem9vbS1pbjtcbiAgY3Vyc29yOiAtbW96LXpvb20taW47XG4gIGN1cnNvcjogem9vbS1pbjsgfVxuXG4ubWZwLWF1dG8tY3Vyc29yIC5tZnAtY29udGVudCB7XG4gIGN1cnNvcjogYXV0bzsgfVxuXG4ubWZwLWNsb3NlLFxuLm1mcC1hcnJvdyxcbi5tZnAtcHJlbG9hZGVyLFxuLm1mcC1jb3VudGVyIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLm1mcC1sb2FkaW5nLm1mcC1maWd1cmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZnAtaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ubWZwLXByZWxvYWRlciB7XG4gIGNvbG9yOiAjQ0NDO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAtMC44ZW07XG4gIGxlZnQ6IDhweDtcbiAgcmlnaHQ6IDhweDtcbiAgei1pbmRleDogMTA0NDsgfVxuXG4ubWZwLXByZWxvYWRlciBhIHtcbiAgY29sb3I6ICNDQ0M7IH1cblxuLm1mcC1wcmVsb2FkZXIgYTpob3ZlciB7XG4gIGNvbG9yOiAjRkZGOyB9XG5cbi5tZnAtcy1yZWFkeSAubWZwLXByZWxvYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1mcC1zLWVycm9yIC5tZnAtY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuYnV0dG9uLm1mcC1jbG9zZSxcbmJ1dHRvbi5tZnAtYXJyb3cge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICB6LWluZGV4OiAxMDQ2O1xuICBib3gtc2hhZG93OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxuLm1mcC1jbG9zZSB7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvcGFjaXR5OiAwLjY1O1xuICBwYWRkaW5nOiAwIDAgMThweCAxMHB4O1xuICBjb2xvcjogI0ZGRjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgQmFza2VydmlsbGUsIG1vbm9zcGFjZTsgfVxuXG4ubWZwLWNsb3NlOmhvdmVyLFxuLm1mcC1jbG9zZTpmb2N1cyB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLm1mcC1jbG9zZTphY3RpdmUge1xuICB0b3A6IDFweDsgfVxuXG4ubWZwLWNsb3NlLWJ0bi1pbiAubWZwLWNsb3NlIHtcbiAgY29sb3I6ICMzMzM7IH1cblxuLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSxcbi5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgY29sb3I6ICNGRkY7XG4gIHJpZ2h0OiAtNnB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgcGFkZGluZy1yaWdodDogNnB4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4ubWZwLWNvdW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGNvbG9yOiAjQ0NDO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5tZnAtYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IDAuNjU7XG4gIG1hcmdpbjogMDtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC01NXB4O1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogOTBweDtcbiAgaGVpZ2h0OiAxMTBweDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4ubWZwLWFycm93OmFjdGl2ZSB7XG4gIG1hcmdpbi10b3A6IC01NHB4OyB9XG5cbi5tZnAtYXJyb3c6aG92ZXIsXG4ubWZwLWFycm93OmZvY3VzIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4ubWZwLWFycm93OmJlZm9yZSxcbi5tZnAtYXJyb3c6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBtYXJnaW4tdG9wOiAzNXB4O1xuICBtYXJnaW4tbGVmdDogMzVweDtcbiAgYm9yZGVyOiBtZWRpdW0gaW5zZXQgdHJhbnNwYXJlbnQ7IH1cblxuLm1mcC1hcnJvdzphZnRlciB7XG4gIGJvcmRlci10b3Atd2lkdGg6IDEzcHg7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDEzcHg7XG4gIHRvcDogOHB4OyB9XG5cbi5tZnAtYXJyb3c6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMjFweDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMjFweDtcbiAgb3BhY2l0eTogMC43OyB9XG5cbi5tZnAtYXJyb3ctbGVmdCB7XG4gIGxlZnQ6IDA7IH1cblxuLm1mcC1hcnJvdy1sZWZ0OmFmdGVyIHtcbiAgYm9yZGVyLXJpZ2h0OiAxN3B4IHNvbGlkICNGRkY7XG4gIG1hcmdpbi1sZWZ0OiAzMXB4OyB9XG5cbi5tZnAtYXJyb3ctbGVmdDpiZWZvcmUge1xuICBtYXJnaW4tbGVmdDogMjVweDtcbiAgYm9yZGVyLXJpZ2h0OiAyN3B4IHNvbGlkICMzRjNGM0Y7IH1cblxuLm1mcC1hcnJvdy1yaWdodCB7XG4gIHJpZ2h0OiAwOyB9XG5cbi5tZnAtYXJyb3ctcmlnaHQ6YWZ0ZXIge1xuICBib3JkZXItbGVmdDogMTdweCBzb2xpZCAjRkZGO1xuICBtYXJnaW4tbGVmdDogMzlweDsgfVxuXG4ubWZwLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gIGJvcmRlci1sZWZ0OiAyN3B4IHNvbGlkICMzRjNGM0Y7IH1cblxuLm1mcC1pZnJhbWUtaG9sZGVyIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG5cbi5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNvbnRlbnQge1xuICBsaW5lLWhlaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogOTAwcHg7IH1cblxuLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICB0b3A6IC00MHB4OyB9XG5cbi5tZnAtaWZyYW1lLXNjYWxlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctdG9wOiA1Ni4yNSU7IH1cblxuLm1mcC1pZnJhbWUtc2NhbGVyIGlmcmFtZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGJhY2tncm91bmQ6ICMwMDA7IH1cblxuLyogTWFpbiBpbWFnZSBpbiBwb3B1cCAqL1xuaW1nLm1mcC1pbWcge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogNDBweCAwIDQwcHg7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi8qIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZSAqL1xuLm1mcC1maWd1cmUge1xuICBsaW5lLWhlaWdodDogMDsgfVxuXG4ubWZwLWZpZ3VyZTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogNDBweDtcbiAgYm90dG9tOiA0MHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHotaW5kZXg6IC0xO1xuICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgYmFja2dyb3VuZDogIzQ0NDsgfVxuXG4ubWZwLWZpZ3VyZSBzbWFsbCB7XG4gIGNvbG9yOiAjQkRCREJEO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTRweDsgfVxuXG4ubWZwLWZpZ3VyZSBmaWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuLm1mcC1ib3R0b20tYmFyIHtcbiAgbWFyZ2luLXRvcDogLTM2cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBhdXRvOyB9XG5cbi5tZnAtdGl0bGUge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgY29sb3I6ICNGM0YzRjM7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgcGFkZGluZy1yaWdodDogMzZweDsgfVxuXG4ubWZwLWltYWdlLWhvbGRlciAubWZwLWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLm1mcC1nYWxsZXJ5IC5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtZmlndXJlIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLCBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiAzMDBweCkge1xuICAvKipcbiAgICAgICAqIFJlbW92ZSBhbGwgcGFkZGluZ3MgYXJvdW5kIHRoZSBpbWFnZSBvbiBzbWFsbCBzY3JlZW5cbiAgICAgICAqL1xuICAubWZwLWltZy1tb2JpbGUgLm1mcC1pbWFnZS1ob2xkZXIge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5tZnAtaW1nLW1vYmlsZSBpbWcubWZwLWltZyB7XG4gICAgcGFkZGluZzogMDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1maWd1cmU6YWZ0ZXIge1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtZmlndXJlIHNtYWxsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1ib3R0b20tYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICB0b3A6IGF1dG87XG4gICAgcGFkZGluZzogM3B4IDVweDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1ib3R0b20tYmFyOmVtcHR5IHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWNvdW50ZXIge1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgdG9wOiAzcHg7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtY2xvc2Uge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMzVweDtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gIC5tZnAtYXJyb3cge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpOyB9XG4gIC5tZnAtYXJyb3ctbGVmdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDA7IH1cbiAgLm1mcC1hcnJvdy1yaWdodCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCU7IH1cbiAgLm1mcC1jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogNnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDZweDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgbWFyZ2luIGFuZCBwYWRkaW5nIGZyb20gZXZlcnkgc2VsZWN0b3IgaW5jbHVkaW5nIHRoZWlyXG4gKiBwc3VlZG8gc2VsZWN0b3JzLlxuICpcbiAqIDEuIE1vcmUgc2Vuc2libGUgZGVmYXVsdCBib3ggc2l6aW5nLlxuICogICAgKGNzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZSkuXG4gKi9cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgLyogMSAqLyB9XG5cbi8qKlxuICogU2V0IGhlaWdodCBvZiB0aGUgZG9jdW1lbnQgdG8gbWF4aXVtIHZpZXdwb3J0IGhlaWdodC5cbiAqXG4gKiAxLiBTZXQgcm9vdCBmb250IHNpemUgdG8gMTAuXG4gKi9cbmh0bWwge1xuICBoZWlnaHQ6IDEwMHZoO1xuICBmb250LXNpemU6IDYyLjUlO1xuICAvKiAxICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLyoqXG4gKiBTZXQgbWluaW1hbCBoZWlnaHQgb2YgdGhlIGJvZHkgdG8gbWF4aW11bSB2aWV3cG9ydCBoZWlnaHQgdG9cbiAqIG1hdGNoIHRoZSBkb2N1bWVudCdzIGhlaWdodC5cbiAqXG4gKiAxLiBGaXJlZm94IDI1Ky5cbiAqIDIuIENocm9tZSA1Ky5cbiAqL1xuYm9keSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzc3NDIxMjtcbiAgZm9udC1mYW1pbHk6IFwiUHJlZGlnZS1SZWd1bGFyXCI7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUmVzZXRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEN1c3RvbSB1c2VyIGFnZW50IHJlc2V0cyBhbmQgb3ZlcnJpZGVzIHRoYXQgYXJlIG5vdCBwcmVzZW50IGluXG4gKiBOb3JtYWxpemUgOC4wLjAuIFRoaXMgbW9zdGx5IHJlbW92ZXMgc29tZSBhbm5veWluZyBtYXJnaW4gYW5kIHBhZGRpbmdcbiAqIGRlZmF1bHRzLCBib3JkZXIgcmFkaXVzLCBhbmQgb3V0bGluZXMuXG4gKi9cbmEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qKlxuICogMS4gUmVtb3ZlIGJvcmRlciByYWRpdXMgb24gQ2hyb21lIDYyLjArIG9uIG1hY09TLlxuICovXG5idXR0b24ge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC8qIDEgKi9cbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuXG5ociB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcbiAqIDEuIFJlbW92ZSB3aGl0ZSBzcGFjZS5cbiAqL1xuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAqIDEuIFJlbW92ZSBpbmhlcml0ZWQgdXNlciBhZ2VudCBhcHBlYXJhbmNlLlxuICovXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAqIDEuIE9ubHkgYWxsb3cgdmVydGljYWwgcmVzaXppbmcgdG8gcHJldmVudCB0aGUgdGV4dGFyZWFcbiAqICAgIGZyb20gb3ZlcmZsb3dpbmcgdGhlIGNvbnRhaW5lci5cbiAqL1xudGV4dGFyZWEge1xuICByZXNpemU6IHZlcnRpY2FsOyB9XG5cbnVsLFxub2wge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuXG5wIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICogMS4gQ29sbGFwc2UgYm9yZGVycyB0byBwcmV2ZW50IGRvdWJsZSBzaWRlZCBib3JkZXJzLlxuICovXG50YWJsZSB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgLyogMSAqLyB9XG5cbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhY2tncm91bmRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEJhY2tncm91bmQgYmFzZS5cbiAqL1xuLmJhY2tncm91bmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmJhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjb250ZW50OiAnJztcbiAgICB6LWluZGV4OiAtMTsgfVxuXG4vKipcbiAqIEJhY2tncm91bmQgcHJpbWFyeS5cbiAqL1xuLmJhY2tncm91bmQtLWRlZmF1bHQge1xuICBjb2xvcjogIzc3NDIxMjtcbiAgZmlsbDogIzc3NDIxMjsgfVxuICAuYmFja2dyb3VuZC0tZGVmYXVsdDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxuICAuYmFja2dyb3VuZC0tZGVmYXVsdCBoMSxcbiAgLmJhY2tncm91bmQtLWRlZmF1bHQgaDIge1xuICAgIGNvbG9yOiAjNzc0MjEyOyB9XG4gIC5iYWNrZ3JvdW5kLS1kZWZhdWx0IC5idXR0b24tLWFycm93IHtcbiAgICBjb2xvcjogI2FkY2IwMDsgfVxuICAgIC5iYWNrZ3JvdW5kLS1kZWZhdWx0IC5idXR0b24tLWFycm93IHN2ZyB7XG4gICAgICBjb2xvcjogI2FkY2IwMDtcbiAgICAgIGZpbGw6ICNhZGNiMDA7IH1cbiAgLmJhY2tncm91bmQtLWRlZmF1bHQgLmJ1dHRvbi0tYm9yZGVyIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjYWRjYjAwO1xuICAgIGNvbG9yOiAjYWRjYjAwOyB9XG4gICAgLmJhY2tncm91bmQtLWRlZmF1bHQgLmJ1dHRvbi0tYm9yZGVyIHN2ZyB7XG4gICAgICBjb2xvcjogI2FkY2IwMDtcbiAgICAgIGZpbGw6ICNhZGNiMDA7IH1cblxuLyoqXG4gKiBCYWNrZ3JvdW5kIHByaW1hcnkgKHdpdGggcGF0dGVybikuXG4gKi9cbi5iYWNrZ3JvdW5kLS1iZWlnZSB7XG4gIGNvbG9yOiAjNzc0MjEyO1xuICBmaWxsOiAjNzc0MjEyOyB9XG4gIC5iYWNrZ3JvdW5kLS1iZWlnZTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjBlNGNiOyB9XG4gIC5iYWNrZ3JvdW5kLS1iZWlnZSBoMSxcbiAgLmJhY2tncm91bmQtLWJlaWdlIGgyIHtcbiAgICBjb2xvcjogIzc3NDIxMjsgfVxuICAuYmFja2dyb3VuZC0tYmVpZ2UgLmJ1dHRvbi0tYXJyb3cge1xuICAgIGNvbG9yOiAjNzc0MjEyOyB9XG4gICAgLmJhY2tncm91bmQtLWJlaWdlIC5idXR0b24tLWFycm93IHN2ZyB7XG4gICAgICBjb2xvcjogIzc3NDIxMjtcbiAgICAgIGZpbGw6ICM3NzQyMTI7IH1cbiAgLmJhY2tncm91bmQtLWJlaWdlIC5idXR0b24tLWJvcmRlciB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzc3NDIxMjtcbiAgICBjb2xvcjogIzc3NDIxMjsgfVxuICAgIC5iYWNrZ3JvdW5kLS1iZWlnZSAuYnV0dG9uLS1ib3JkZXIgc3ZnIHtcbiAgICAgIGNvbG9yOiAjNzc0MjEyO1xuICAgICAgZmlsbDogIzc3NDIxMjsgfVxuXG4vKipcbiAqIEJhY2tncm91bmQgc2Vjb25kYXJ5LlxuICovXG4uYmFja2dyb3VuZC0tYnJvd24ge1xuICBjb2xvcjogI2YwZTRjYjtcbiAgZmlsbDogI2YwZTRjYjsgfVxuICAuYmFja2dyb3VuZC0tYnJvd246OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogIzc3NDIxMjsgfVxuICAuYmFja2dyb3VuZC0tYnJvd24gaDEsXG4gIC5iYWNrZ3JvdW5kLS1icm93biBoMiB7XG4gICAgY29sb3I6ICNmMGU0Y2I7IH1cbiAgLmJhY2tncm91bmQtLWJyb3duIC5idXR0b24tLWFycm93IHtcbiAgICBjb2xvcjogI2YwZTRjYjsgfVxuICAgIC5iYWNrZ3JvdW5kLS1icm93biAuYnV0dG9uLS1hcnJvdyBzdmcge1xuICAgICAgY29sb3I6ICNmMGU0Y2I7XG4gICAgICBmaWxsOiAjZjBlNGNiOyB9XG4gIC5iYWNrZ3JvdW5kLS1icm93biAuYnV0dG9uLS1ib3JkZXIge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmMGU0Y2I7XG4gICAgY29sb3I6ICNmMGU0Y2I7IH1cbiAgICAuYmFja2dyb3VuZC0tYnJvd24gLmJ1dHRvbi0tYm9yZGVyIHN2ZyB7XG4gICAgICBjb2xvcjogI2YwZTRjYjtcbiAgICAgIGZpbGw6ICNmMGU0Y2I7IH1cblxuLyoqXG4gKiBCYWNrZ3JvdW5kIGJvcmRlci5cbiAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAuYmFja2dyb3VuZC0tYm9yZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuLmJhY2tncm91bmQtLWJvcmRlcjo6YmVmb3JlIHtcbiAgYm90dG9tOiA5NXB4O1xuICBib3JkZXItYm90dG9tOiAyMHB4IHNvbGlkICNhZGNiMDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5iYWNrZ3JvdW5kLS1ib3JkZXI6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkICNhZGNiMDA7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5iYWNrZ3JvdW5kLS1ib3JkZXIgLndyYXBwZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cblxuLmJhY2tncm91bmQtLWJvcmRlciArIGRpdiB7XG4gIG1hcmdpbi10b3A6IC05NXB4O1xuICBwYWRkaW5nLXRvcDogOTVweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmJhY2tncm91bmQtLWJvcmRlciArIGRpdiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQnV0dG9ucy5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEJ1dHRvbiBiYXNlLlxuICovXG4uYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAzMnB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMzUwbXMgZWFzZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5idXR0b24gc3ZnIHtcbiAgICB3aWR0aDogMzVweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7IH1cblxuLyoqXG4gKiBCdXR0b24gYm9yZGVyLlxuICovXG4uYnV0dG9uLS1ib3JkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1yaWdodDogMzVweDtcbiAgcGFkZGluZzogMCAxMHB4OyB9XG4gIC5idXR0b24tLWJvcmRlciBzdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0zcHg7XG4gICAgcmlnaHQ6IC0zNXB4OyB9XG4gIC5idXR0b24tLWJvcmRlcjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAzNTBtcyBlYXNlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHotaW5kZXg6IC0xOyB9XG4gIC5idXR0b24tLWJvcmRlcjpob3Zlcjo6YWZ0ZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5idXR0b24tLWJvcmRlci5pcy1vcmFuZ2Uge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNkOTliNjg7XG4gICAgY29sb3I6ICNkOTliNjg7IH1cbiAgICAuYnV0dG9uLS1ib3JkZXIuaXMtb3JhbmdlIHN2ZyB7XG4gICAgICBjb2xvcjogI2Q5OWI2ODtcbiAgICAgIGZpbGw6ICNkOTliNjg7IH1cbiAgICAuYnV0dG9uLS1ib3JkZXIuaXMtb3JhbmdlOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZDk5YjY4OyB9XG4gICAgLmJ1dHRvbi0tYm9yZGVyLmlzLW9yYW5nZTpob3ZlciB7XG4gICAgICBjb2xvcjogIzU5NWE0ZTsgfVxuICAuYnV0dG9uLS1ib3JkZXIuaXMtYnJvd24ge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICM3NzQyMTI7XG4gICAgY29sb3I6ICM3NzQyMTI7IH1cbiAgICAuYnV0dG9uLS1ib3JkZXIuaXMtYnJvd24gc3ZnIHtcbiAgICAgIGNvbG9yOiAjNzc0MjEyO1xuICAgICAgZmlsbDogIzc3NDIxMjsgfVxuICAgIC5idXR0b24tLWJvcmRlci5pcy1icm93bjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzc3NDIxMjsgfVxuICAgIC5idXR0b24tLWJvcmRlci5pcy1icm93bjpob3ZlciB7XG4gICAgICBjb2xvcjogI2YwZTRjYjsgfVxuICAuYnV0dG9uLS1ib3JkZXIuaXMtZ3JlZW4ge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNhZGNiMDA7XG4gICAgY29sb3I6ICNhZGNiMDA7IH1cbiAgICAuYnV0dG9uLS1ib3JkZXIuaXMtZ3JlZW4gc3ZnIHtcbiAgICAgIGNvbG9yOiAjYWRjYjAwO1xuICAgICAgZmlsbDogI2FkY2IwMDsgfVxuICAgIC5idXR0b24tLWJvcmRlci5pcy1ncmVlbjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2FkY2IwMDsgfVxuICAgIC5idXR0b24tLWJvcmRlci5pcy1ncmVlbjpob3ZlciB7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cblxuLyoqXG4gKiBCdXR0b24gYXJyb3cuXG4gKi9cbi5idXR0b24tLWFycm93IHN2ZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxcHg7XG4gIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XG5cbi5idXR0b24tLWFycm93OmhvdmVyIHN2ZyB7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4OyB9XG5cbi5idXR0b24tLWFycm93LmlzLW9yYW5nZSB7XG4gIGNvbG9yOiAjZDk5YjY4OyB9XG4gIC5idXR0b24tLWFycm93LmlzLW9yYW5nZSBzdmcge1xuICAgIGNvbG9yOiAjZDk5YjY4O1xuICAgIGZpbGw6ICNkOTliNjg7IH1cblxuLmJ1dHRvbi0tYXJyb3cuaXMtcmVkIHtcbiAgY29sb3I6ICNkZjQxMjY7IH1cbiAgLmJ1dHRvbi0tYXJyb3cuaXMtcmVkIHN2ZyB7XG4gICAgY29sb3I6ICNkZjQxMjY7XG4gICAgZmlsbDogI2RmNDEyNjsgfVxuXG4uYnV0dG9uLS1hcnJvdy5pcy1iZWlnZSB7XG4gIGNvbG9yOiAjZjBlNGNiOyB9XG4gIC5idXR0b24tLWFycm93LmlzLWJlaWdlIHN2ZyB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZpbGw6IHdoaXRlOyB9XG5cbi5idXR0b24tLWFycm93LmlzLWJyb3duIHtcbiAgY29sb3I6ICM3NzQyMTI7IH1cbiAgLmJ1dHRvbi0tYXJyb3cuaXMtYnJvd24gc3ZnIHtcbiAgICBjb2xvcjogIzc3NDIxMjtcbiAgICBmaWxsOiAjNzc0MjEyOyB9XG5cbi5idXR0b24tLWFycm93LmlzLWJsYWNrIHtcbiAgY29sb3I6IGJsYWNrOyB9XG4gIC5idXR0b24tLWFycm93LmlzLWJsYWNrIHN2ZyB7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGZpbGw6IGJsYWNrOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb250YWluZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFRoZSBjb250YWluZXIgb2JqZWN0IGNlbnRlcnMgYW4gZWxlbWVudCBpbiB0aGUgZG9jdW1lbnQuXG4gKi9cbi5jb250YWluZXIge1xuICBtYXgtd2lkdGg6IGNhbGMoMTAyNHB4ICsgNTAuNjY2NjdweCk7XG4gIHBhZGRpbmc6IDAgMjUuMzMzMzNweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb250ZW50IENvbnN0cmFpbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFRoZSBjb250ZW50IGNvbnN0cmFpbnQgaXMgYSBjb25zdHJhaW50IGZvciBhbGwgdGhlIGNvbnRlbnQgd2l0aGluXG4gKiB0aGUgZG9jdW1lbnQuIEl0IGNhbiBiZSBtYW5pcHVsYXRlZCBieSBDU1Mgb3IgSmF2YVNjcmlwdCB3aXRob3V0XG4gKiBpbmZsdWVuY2luZyB0aGUgYm9keS5cbiAqL1xuLmNvbnRlbnQtY29uc3RyYWludCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmNvbnRlbnQtY29uc3RyYWludCA6OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FkY2IwMDtcbiAgICBjb2xvcjogIzc3NDIxMjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRmxleFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogRXhhbXBsZSBvZiBhIGZsZXggYmFzZWQgY29sdW1uIGdyaWQgbGF5b3V0IGluIHByYWN0aWNlOlxuICpcbiAqIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAqICAgPGRpdiBjbGFzcz1cImNvbCBjb2wteHMtNiBjb2wtc20tMTJcIj48L2Rpdj5cbiAqICAgPGRpdiBjbGFzcz1cImNvbCBjb2wteHMtNiBjb2wtc20tMTJcIj48L2Rpdj5cbiAqIDwvZGl2PlxuICpcbiAqIFRoaXMgZXhhbXBsZSB3aWxsIGNyZWF0ZSBhIHJvdyB3aXRoIHR3byBjb2x1bW5zIGVhY2ggZmlsbGluZyBoYWxmIHRoZSB3aWR0aFxuICogb2YgdGhlIHJvdyBvbiBhbGwgbWVkaWEsIGJ1dCB3aWxsIGNvbnZlcnQgdG8gYSBmdWxsIHdpZHRoIGNvbHVtbiBvbiB0aGVcbiAqIHNtYWxsIGAtc21gIGJyZWFrcG9pbnQgYWxpYXMsIHdoaWNoIGlzIG1vYmlsZSBvbmx5LiBSZWZlciB0b1xuICogYHNldHRpbmdzL19kZWZpbml0aW9ucy5zY3NzYCBmb3IgYWxsIGJyZWFrcG9pbnQgYWxpYXMuXG4gKi9cbi8qKlxuICogRmxleCBvYmplY3QuXG4gKlxuICogVGlwOiBVc2UgZmxleCBvbiBhIGNvbHVtbiB0byBtYWtlIHRoZSBib3ggdGhlIHNhbWUgaGVpZ2h0IGFzIHRoZSBjb2x1bW4uXG4gKi9cbi5mbGV4IHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uZmxleC13cmFwIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi8qKlxuICogRmxleCBvYmplY3Qgd2l0aCBhIGNvbHVtbiBiYXNlZCBsYXlvdXQgc3lzdGVtLlxuICovXG4ucm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAxIGF1dG87XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1hcmdpbjogMCAtMTIuNjY2NjdweDsgfVxuXG4vKipcbiAqIEJveCwgdGhlIGluc2lkZSBvZiBhIGNvbHVtbi5cbiAqL1xuLmJveCB7XG4gIGZsZXg6IDE7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gMSBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC14cy0xIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA4LjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgMSBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXhzLTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gMiBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC14cy0yIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAxNi42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDIgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC14cy0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiAzIGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXhzLTMge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDI1JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgMyBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXhzLTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDQgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wteHMtNCB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMzMuMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCA0IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQteHMtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gNSBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC14cy01IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA0MS42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDUgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC14cy01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiA2IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXhzLTYge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDUwJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgNiBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXhzLTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDcgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wteHMtNyB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNTguMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCA3IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQteHMtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gOCBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC14cy04IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA2Ni42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDggZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC14cy04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiA5IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXhzLTkge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDc1JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgOSBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXhzLTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDEwIGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXhzLTEwIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA4My4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDEwIGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQteHMtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDExIGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXhzLTExIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA5MS42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDExIGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQteHMtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDEyIGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXhzLTEyIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgKiBBbGlnbiBgc3RyZXRjaGAgZm9yIHRoZSB4cyBicmVha3BvaW50LlxuICAgICAgICovXG4uYWxpZ24teHMtc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi8qKlxuICAgICAgICogQWxpZ24gYGNlbnRlcmAgZm9yIHRoZSB4cyBicmVha3BvaW50LlxuICAgICAgICovXG4uYWxpZ24teHMtY2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4vKipcbiAgICAgICAqIEFsaWduIGBmbGV4LXN0YXJ0YCBmb3IgdGhlIHhzIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5hbGlnbi14cy1mbGV4LXN0YXJ0IHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLyoqXG4gICAgICAgKiBBbGlnbiBgZmxleC1lbmRgIGZvciB0aGUgeHMgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmFsaWduLXhzLWZsZXgtZW5kIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi8qKlxuICAgICAgICogQWxpZ24gYGJhc2VsaW5lYCBmb3IgdGhlIHhzIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5hbGlnbi14cy1iYXNlbGluZSB7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfVxuXG4vKipcbiAgICAgICAqIEp1c3RpZnkgYHN0YXJ0YCBmb3IgdGhlIHhzIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5qdXN0aWZ5LXhzLXN0YXJ0IHtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDsgfVxuXG4vKipcbiAgICAgICAqIEp1c3RpZnkgYGNlbnRlcmAgZm9yIHRoZSB4cyBicmVha3BvaW50LlxuICAgICAgICovXG4uanVzdGlmeS14cy1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4vKipcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWJldHdlZW5gIGZvciB0aGUgeHMgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmp1c3RpZnkteHMtc3BhY2UtYmV0d2VlbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4vKipcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWFyb3VuZGAgZm9yIHRoZSB4cyBicmVha3BvaW50LlxuICAgICAgICovXG4uanVzdGlmeS14cy1zcGFjZS1hcm91bmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4vKipcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWV2ZW5seWAgZm9yIHRoZSB4cyBicmVha3BvaW50LlxuICAgICAgICovXG4uanVzdGlmeS14cy1zcGFjZS1ldmVubHkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTsgfVxuXG4vKipcbiAgICAgICAqIEJsZWVkIGxlZnQgZm9yIHRoZSB4cyBicmVha3BvaW50LlxuICAgICAgICovXG4uYmxlZWQteHMtbGVmdCB7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4vKipcbiAgICAgICAqIEJsZWVkIHJpZ2h0IGZvciB0aGUgeHMgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmJsZWVkLXhzLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4vKipcbiAgICAgKiBPcmRlciBmaXJzdCBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cbiAgICAgKi9cbi5maXJzdC14cyB7XG4gIG9yZGVyOiAtMTsgfVxuXG4vKipcbiAgICAgKiBPcmRlciBsYXN0IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxuICAgICAqL1xuLmxhc3QteHMge1xuICBvcmRlcjogMTsgfVxuXG4vKipcbiAgICAgKiBSZXZlcnNlIG9yZGVyIGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxuICAgICAqL1xuLnJldmVyc2UteHMge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gMSBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1zbS0xIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA4LjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgMSBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXNtLTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gMiBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1zbS0yIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAxNi42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDIgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1zbS0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiAzIGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXNtLTMge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDI1JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgMyBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXNtLTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDQgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtc20tNCB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMzMuMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCA0IGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtc20tNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gNSBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1zbS01IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA0MS42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDUgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1zbS01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiA2IGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXNtLTYge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDUwJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgNiBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXNtLTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDcgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtc20tNyB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNTguMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCA3IGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtc20tNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gOCBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1zbS04IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA2Ni42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDggZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1zbS04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiA5IGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXNtLTkge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDc1JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgOSBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXNtLTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDEwIGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXNtLTEwIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA4My4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDEwIGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtc20tMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDExIGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXNtLTExIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA5MS42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDExIGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtc20tMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDEyIGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXNtLTEyIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgKiBBbGlnbiBgc3RyZXRjaGAgZm9yIHRoZSBzbSBicmVha3BvaW50LlxuICAgICAgICovXG4uYWxpZ24tc20tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi8qKlxuICAgICAgICogQWxpZ24gYGNlbnRlcmAgZm9yIHRoZSBzbSBicmVha3BvaW50LlxuICAgICAgICovXG4uYWxpZ24tc20tY2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4vKipcbiAgICAgICAqIEFsaWduIGBmbGV4LXN0YXJ0YCBmb3IgdGhlIHNtIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5hbGlnbi1zbS1mbGV4LXN0YXJ0IHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLyoqXG4gICAgICAgKiBBbGlnbiBgZmxleC1lbmRgIGZvciB0aGUgc20gYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmFsaWduLXNtLWZsZXgtZW5kIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi8qKlxuICAgICAgICogQWxpZ24gYGJhc2VsaW5lYCBmb3IgdGhlIHNtIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5hbGlnbi1zbS1iYXNlbGluZSB7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfVxuXG4vKipcbiAgICAgICAqIEp1c3RpZnkgYHN0YXJ0YCBmb3IgdGhlIHNtIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5qdXN0aWZ5LXNtLXN0YXJ0IHtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDsgfVxuXG4vKipcbiAgICAgICAqIEp1c3RpZnkgYGNlbnRlcmAgZm9yIHRoZSBzbSBicmVha3BvaW50LlxuICAgICAgICovXG4uanVzdGlmeS1zbS1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4vKipcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWJldHdlZW5gIGZvciB0aGUgc20gYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmp1c3RpZnktc20tc3BhY2UtYmV0d2VlbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4vKipcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWFyb3VuZGAgZm9yIHRoZSBzbSBicmVha3BvaW50LlxuICAgICAgICovXG4uanVzdGlmeS1zbS1zcGFjZS1hcm91bmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4vKipcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWV2ZW5seWAgZm9yIHRoZSBzbSBicmVha3BvaW50LlxuICAgICAgICovXG4uanVzdGlmeS1zbS1zcGFjZS1ldmVubHkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTsgfVxuXG4vKipcbiAgICAgICAqIEJsZWVkIGxlZnQgZm9yIHRoZSBzbSBicmVha3BvaW50LlxuICAgICAgICovXG4uYmxlZWQtc20tbGVmdCB7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4vKipcbiAgICAgICAqIEJsZWVkIHJpZ2h0IGZvciB0aGUgc20gYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmJsZWVkLXNtLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4vKipcbiAgICAgKiBPcmRlciBmaXJzdCBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cbiAgICAgKi9cbi5maXJzdC1zbSB7XG4gIG9yZGVyOiAtMTsgfVxuXG4vKipcbiAgICAgKiBPcmRlciBsYXN0IGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxuICAgICAqL1xuLmxhc3Qtc20ge1xuICBvcmRlcjogMTsgfVxuXG4vKipcbiAgICAgKiBSZXZlcnNlIG9yZGVyIGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxuICAgICAqL1xuLnJldmVyc2Utc20ge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gMSBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1tZC0xIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA4LjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgMSBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LW1kLTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gMiBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1tZC0yIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAxNi42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDIgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1tZC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiAzIGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLW1kLTMge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDI1JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgMyBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LW1kLTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDQgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtbWQtNCB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMzMuMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCA0IGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtbWQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gNSBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1tZC01IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA0MS42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDUgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1tZC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiA2IGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLW1kLTYge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDUwJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgNiBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LW1kLTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDcgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtbWQtNyB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNTguMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCA3IGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtbWQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gOCBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1tZC04IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA2Ni42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDggZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1tZC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiA5IGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLW1kLTkge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDc1JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgOSBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LW1kLTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDEwIGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLW1kLTEwIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA4My4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDEwIGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtbWQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDExIGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLW1kLTExIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA5MS42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDExIGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtbWQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDEyIGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLW1kLTEyIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgKiBBbGlnbiBgc3RyZXRjaGAgZm9yIHRoZSBtZCBicmVha3BvaW50LlxuICAgICAgICovXG4uYWxpZ24tbWQtc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi8qKlxuICAgICAgICogQWxpZ24gYGNlbnRlcmAgZm9yIHRoZSBtZCBicmVha3BvaW50LlxuICAgICAgICovXG4uYWxpZ24tbWQtY2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4vKipcbiAgICAgICAqIEFsaWduIGBmbGV4LXN0YXJ0YCBmb3IgdGhlIG1kIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5hbGlnbi1tZC1mbGV4LXN0YXJ0IHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLyoqXG4gICAgICAgKiBBbGlnbiBgZmxleC1lbmRgIGZvciB0aGUgbWQgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmFsaWduLW1kLWZsZXgtZW5kIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi8qKlxuICAgICAgICogQWxpZ24gYGJhc2VsaW5lYCBmb3IgdGhlIG1kIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5hbGlnbi1tZC1iYXNlbGluZSB7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfVxuXG4vKipcbiAgICAgICAqIEp1c3RpZnkgYHN0YXJ0YCBmb3IgdGhlIG1kIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5qdXN0aWZ5LW1kLXN0YXJ0IHtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDsgfVxuXG4vKipcbiAgICAgICAqIEp1c3RpZnkgYGNlbnRlcmAgZm9yIHRoZSBtZCBicmVha3BvaW50LlxuICAgICAgICovXG4uanVzdGlmeS1tZC1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4vKipcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWJldHdlZW5gIGZvciB0aGUgbWQgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmp1c3RpZnktbWQtc3BhY2UtYmV0d2VlbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4vKipcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWFyb3VuZGAgZm9yIHRoZSBtZCBicmVha3BvaW50LlxuICAgICAgICovXG4uanVzdGlmeS1tZC1zcGFjZS1hcm91bmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4vKipcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWV2ZW5seWAgZm9yIHRoZSBtZCBicmVha3BvaW50LlxuICAgICAgICovXG4uanVzdGlmeS1tZC1zcGFjZS1ldmVubHkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTsgfVxuXG4vKipcbiAgICAgICAqIEJsZWVkIGxlZnQgZm9yIHRoZSBtZCBicmVha3BvaW50LlxuICAgICAgICovXG4uYmxlZWQtbWQtbGVmdCB7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4vKipcbiAgICAgICAqIEJsZWVkIHJpZ2h0IGZvciB0aGUgbWQgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmJsZWVkLW1kLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4vKipcbiAgICAgKiBPcmRlciBmaXJzdCBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cbiAgICAgKi9cbi5maXJzdC1tZCB7XG4gIG9yZGVyOiAtMTsgfVxuXG4vKipcbiAgICAgKiBPcmRlciBsYXN0IGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxuICAgICAqL1xuLmxhc3QtbWQge1xuICBvcmRlcjogMTsgfVxuXG4vKipcbiAgICAgKiBSZXZlcnNlIG9yZGVyIGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxuICAgICAqL1xuLnJldmVyc2UtbWQge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gMSBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1sZy0xIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA4LjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgMSBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LWxnLTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gMiBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1sZy0yIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAxNi42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDIgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1sZy0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiAzIGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLWxnLTMge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDI1JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgMyBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LWxnLTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDQgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtbGctNCB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMzMuMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCA0IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtbGctNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gNSBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1sZy01IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA0MS42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDUgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1sZy01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiA2IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLWxnLTYge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDUwJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgNiBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LWxnLTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDcgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtbGctNyB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNTguMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCA3IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtbGctNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gOCBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1sZy04IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA2Ni42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDggZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1sZy04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiA5IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLWxnLTkge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDc1JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgOSBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LWxnLTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDEwIGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLWxnLTEwIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA4My4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDEwIGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtbGctMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDExIGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLWxnLTExIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA5MS42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDExIGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtbGctMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDEyIGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLWxnLTEyIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgKiBBbGlnbiBgc3RyZXRjaGAgZm9yIHRoZSBsZyBicmVha3BvaW50LlxuICAgICAgICovXG4uYWxpZ24tbGctc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi8qKlxuICAgICAgICogQWxpZ24gYGNlbnRlcmAgZm9yIHRoZSBsZyBicmVha3BvaW50LlxuICAgICAgICovXG4uYWxpZ24tbGctY2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4vKipcbiAgICAgICAqIEFsaWduIGBmbGV4LXN0YXJ0YCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5hbGlnbi1sZy1mbGV4LXN0YXJ0IHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLyoqXG4gICAgICAgKiBBbGlnbiBgZmxleC1lbmRgIGZvciB0aGUgbGcgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmFsaWduLWxnLWZsZXgtZW5kIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi8qKlxuICAgICAgICogQWxpZ24gYGJhc2VsaW5lYCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5hbGlnbi1sZy1iYXNlbGluZSB7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfVxuXG4vKipcbiAgICAgICAqIEp1c3RpZnkgYHN0YXJ0YCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5qdXN0aWZ5LWxnLXN0YXJ0IHtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDsgfVxuXG4vKipcbiAgICAgICAqIEp1c3RpZnkgYGNlbnRlcmAgZm9yIHRoZSBsZyBicmVha3BvaW50LlxuICAgICAgICovXG4uanVzdGlmeS1sZy1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4vKipcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWJldHdlZW5gIGZvciB0aGUgbGcgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmp1c3RpZnktbGctc3BhY2UtYmV0d2VlbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4vKipcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWFyb3VuZGAgZm9yIHRoZSBsZyBicmVha3BvaW50LlxuICAgICAgICovXG4uanVzdGlmeS1sZy1zcGFjZS1hcm91bmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4vKipcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWV2ZW5seWAgZm9yIHRoZSBsZyBicmVha3BvaW50LlxuICAgICAgICovXG4uanVzdGlmeS1sZy1zcGFjZS1ldmVubHkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTsgfVxuXG4vKipcbiAgICAgICAqIEJsZWVkIGxlZnQgZm9yIHRoZSBsZyBicmVha3BvaW50LlxuICAgICAgICovXG4uYmxlZWQtbGctbGVmdCB7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4vKipcbiAgICAgICAqIEJsZWVkIHJpZ2h0IGZvciB0aGUgbGcgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmJsZWVkLWxnLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4vKipcbiAgICAgKiBPcmRlciBmaXJzdCBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cbiAgICAgKi9cbi5maXJzdC1sZyB7XG4gIG9yZGVyOiAtMTsgfVxuXG4vKipcbiAgICAgKiBPcmRlciBsYXN0IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxuICAgICAqL1xuLmxhc3QtbGcge1xuICBvcmRlcjogMTsgfVxuXG4vKipcbiAgICAgKiBSZXZlcnNlIG9yZGVyIGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxuICAgICAqL1xuLnJldmVyc2UtbGcge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gMSBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC14bC0xIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA4LjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgMSBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXhsLTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gMiBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC14bC0yIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAxNi42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDIgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC14bC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiAzIGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXhsLTMge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDI1JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgMyBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXhsLTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDQgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wteGwtNCB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMzMuMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCA0IGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQteGwtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gNSBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC14bC01IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA0MS42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDUgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC14bC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiA2IGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXhsLTYge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDUwJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgNiBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXhsLTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDcgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wteGwtNyB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNTguMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCA3IGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQteGwtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gOCBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC14bC04IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA2Ni42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDggZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC14bC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiA5IGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXhsLTkge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDc1JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgOSBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXhsLTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDEwIGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXhsLTEwIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA4My4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDEwIGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQteGwtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDExIGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXhsLTExIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA5MS42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDExIGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQteGwtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDEyIGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXhsLTEyIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgKiBBbGlnbiBgc3RyZXRjaGAgZm9yIHRoZSB4bCBicmVha3BvaW50LlxuICAgICAgICovXG4uYWxpZ24teGwtc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi8qKlxuICAgICAgICogQWxpZ24gYGNlbnRlcmAgZm9yIHRoZSB4bCBicmVha3BvaW50LlxuICAgICAgICovXG4uYWxpZ24teGwtY2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4vKipcbiAgICAgICAqIEFsaWduIGBmbGV4LXN0YXJ0YCBmb3IgdGhlIHhsIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5hbGlnbi14bC1mbGV4LXN0YXJ0IHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLyoqXG4gICAgICAgKiBBbGlnbiBgZmxleC1lbmRgIGZvciB0aGUgeGwgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmFsaWduLXhsLWZsZXgtZW5kIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi8qKlxuICAgICAgICogQWxpZ24gYGJhc2VsaW5lYCBmb3IgdGhlIHhsIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5hbGlnbi14bC1iYXNlbGluZSB7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfVxuXG4vKipcbiAgICAgICAqIEp1c3RpZnkgYHN0YXJ0YCBmb3IgdGhlIHhsIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5qdXN0aWZ5LXhsLXN0YXJ0IHtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDsgfVxuXG4vKipcbiAgICAgICAqIEp1c3RpZnkgYGNlbnRlcmAgZm9yIHRoZSB4bCBicmVha3BvaW50LlxuICAgICAgICovXG4uanVzdGlmeS14bC1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4vKipcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWJldHdlZW5gIGZvciB0aGUgeGwgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmp1c3RpZnkteGwtc3BhY2UtYmV0d2VlbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4vKipcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWFyb3VuZGAgZm9yIHRoZSB4bCBicmVha3BvaW50LlxuICAgICAgICovXG4uanVzdGlmeS14bC1zcGFjZS1hcm91bmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4vKipcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWV2ZW5seWAgZm9yIHRoZSB4bCBicmVha3BvaW50LlxuICAgICAgICovXG4uanVzdGlmeS14bC1zcGFjZS1ldmVubHkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTsgfVxuXG4vKipcbiAgICAgICAqIEJsZWVkIGxlZnQgZm9yIHRoZSB4bCBicmVha3BvaW50LlxuICAgICAgICovXG4uYmxlZWQteGwtbGVmdCB7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4vKipcbiAgICAgICAqIEJsZWVkIHJpZ2h0IGZvciB0aGUgeGwgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmJsZWVkLXhsLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4vKipcbiAgICAgKiBPcmRlciBmaXJzdCBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cbiAgICAgKi9cbi5maXJzdC14bCB7XG4gIG9yZGVyOiAtMTsgfVxuXG4vKipcbiAgICAgKiBPcmRlciBsYXN0IGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxuICAgICAqL1xuLmxhc3QteGwge1xuICBvcmRlcjogMTsgfVxuXG4vKipcbiAgICAgKiBSZXZlcnNlIG9yZGVyIGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxuICAgICAqL1xuLnJldmVyc2UteGwge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhlYWRpbmdzLlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogSGVhZGluZyAxLlxuICovXG5oMSxcbi5oZWFkaW5nLTEge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtc2l6ZTogNC44cmVtO1xuICBsaW5lLWhlaWdodDogMS4yMDgzM2VtO1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLU1lZGl1bVwiOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICBoMSxcbiAgICAuaGVhZGluZy0xIHtcbiAgICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICAgIGZvbnQtc2l6ZTogNC44cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTI1ZW07IH0gfVxuXG4vKipcbiAqIEhlYWRpbmcgMi5cbiAqL1xuaDIsXG4uaGVhZGluZy0yIHtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBmb250LXNpemU6IDQuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1ZW07XG4gIGZvbnQtZmFtaWx5OiBcIlByZWRpZ2UtTWVkaXVtXCI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIGgyLFxuICAgIC5oZWFkaW5nLTIge1xuICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgICAgZm9udC1zaXplOiA0LjhyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4xMjVlbTtcbiAgICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7IH0gfVxuXG4vKipcbiAqIEhlYWRpbmcgMy5cbiAqL1xuaDMsXG4uaGVhZGluZy0zIHtcbiAgZm9udC1zaXplOiAxNTBweDtcbiAgZm9udC1zaXplOiAxNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgZm9udC1mYW1pbHk6IFwiUHJlZGlnZS1NZWRpdW1cIjtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMXB4ICNhZGNiMDA7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIGgzLFxuICAgIC5oZWFkaW5nLTMge1xuICAgICAgZm9udC1zaXplOiAxMDBweDtcbiAgICAgIGZvbnQtc2l6ZTogMTByZW07XG4gICAgICBsaW5lLWhlaWdodDogMWVtOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIGgzLFxuICAgIC5oZWFkaW5nLTMge1xuICAgICAgZm9udC1zaXplOiA1MHB4O1xuICAgICAgZm9udC1zaXplOiA1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWFkaW5ncy5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uaGFzLWxvYWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTE1MHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMTAwMG1zIGVhc2U7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhhcy1sb2FkW2xvYWRlZD0ndHJ1ZSddIHtcbiAgdG9wOiAwO1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTZWN0aW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFdyYXBwZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFRoZSB3cmFwcGVyIG9iamVjdCBjZW50ZXJzIGFuIGVsZW1lbnQgaW4gdGhlIGRvY3VtZW50LlxuICovXG4vKipcbiAqIFdyYXBwZXIgKGRlZmF1bHQpXG4gKi9cbi53cmFwcGVyIHtcbiAgbWF4LXdpZHRoOiBjYWxjKDEyNTBweCArIDE5MHB4KTtcbiAgcGFkZGluZzogMCA5NXB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC53cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDAgNDBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC53cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDAgNTBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAud3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAwIDYwcHg7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ01TIE91dHB1dFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogRXZlcnkgY29uY2VpdmFibGUgSFRNTCBlbGVtZW50IHdpdGhpbiBhIGAuY21zLW91dHB1dGAgd3JhcHBlci5cbiAqXG4gKiAxLiBFeGNsdWRlIGxhc3QgY2hpbGRzLlxuICovXG4uY21zLW91dHB1dCA+ICo6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgLyogMSAqLyB9XG5cbi5jbXMtb3V0cHV0IHVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5jbXMtb3V0cHV0IHVsIGxpIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuODc1ZW07XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDM1cHgpOyB9XG4gICAgLmNtcy1vdXRwdXQgdWwgbGk6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDVweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgIGNvbnRlbnQ6ICfigLonOyB9XG5cbi5jbXMtb3V0cHV0IG9sIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsOyB9XG4gIC5jbXMtb3V0cHV0IG9sIGxpIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuODc1ZW07IH1cblxuLmNtcy1vdXRwdXQgcCA+IGEge1xuICBjb2xvcjogI2RmNDEyNjsgfVxuICAuY21zLW91dHB1dCBwID4gYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbnRhY3QgZm9ybVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jb250YWN0LWZvcm0ge1xuICBwYWRkaW5nLWJvdHRvbTogMTcwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5jb250YWN0LWZvcm0ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDg1cHg7IH0gfVxuXG4uY29udGFjdC1mb3JtX190aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMTBweDtcbiAgbGVmdDogLTE0cHg7XG4gIHBhZGRpbmctYm90dG9tOiA4NXB4O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5jb250YWN0LWZvcm1fX3RpdGxlIHtcbiAgICAgIGxlZnQ6IC04cHg7XG4gICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDQzcHg7IH0gfVxuXG4uY29udGFjdC1mb3JtX19jb2x1bW4tY29udGFjdCB7XG4gIHdpZHRoOiA2MiU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuY29udGFjdC1mb3JtX19jb2x1bW4tY29udGFjdCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5jb250YWN0LWZvcm1fX2NvbnRhY3QtYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiAxNzBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5jb250YWN0LWZvcm1fX2NvbnRhY3QtYmxvY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmNvbnRhY3QtZm9ybV9fY29udGFjdC1ibG9jayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3NXB4OyB9IH1cbiAgLmNvbnRhY3QtZm9ybV9fY29udGFjdC1ibG9jazpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNvbnRhY3QtZm9ybV9fY29udGFjdC1ibG9jazpmaXJzdC1vZi10eXBlIC5jb250YWN0LWZvcm1fX2NvbnRhY3Qtc3VidGl0bGUge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5jb250YWN0LWZvcm1fX2NvbnRhY3QtdGl0bGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0xNXB4O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5jb250YWN0LWZvcm1fX2NvbnRhY3QtdGl0bGUge1xuICAgICAgbGVmdDogLThweDsgfSB9XG5cbi5jb250YWN0LWZvcm1fX2NvbnRhY3Qtc3VidGl0bGUge1xuICBtYXgtd2lkdGg6IDQwMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBwYWRkaW5nLXRvcDogMjM1cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuY29udGFjdC1mb3JtX19jb250YWN0LXN1YnRpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxNTJweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuY29udGFjdC1mb3JtX19jb250YWN0LXN1YnRpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMTBweDsgfSB9XG5cbi5jb250YWN0LWZvcm1fX2NvbnRhY3QtZWRpdG9yIHtcbiAgbWF4LXdpZHRoOiA1ODVweDsgfVxuXG4uY29udGFjdC1mb3JtX19jb250YWN0LWxvZ28ge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAyOTBweDtcbiAgbWFyZ2luLXRvcDogNTVweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5jb250YWN0LWZvcm1fX2NvbnRhY3QtbG9nbyB7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4OyB9IH1cblxuLmNvbnRhY3QtZm9ybV9fY29sdW1uLWZvcm0ge1xuICB3aWR0aDogMzglOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmNvbnRhY3QtZm9ybV9fY29sdW1uLWZvcm0ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBEb3dubG9hZHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5kb3dubG9hZHMgLndyYXBwZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICBwYWRkaW5nLXRvcDogMTVweDsgfSB9XG5cbi5kb3dubG9hZHNfX2l0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAxNjRweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5kb3dubG9hZHNfX2l0ZW0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTE1cHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmRvd25sb2Fkc19faXRlbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA5MHB4OyB9IH1cblxuLmRvd25sb2Fkc19faXRlbS1kYXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMTRweDtcbiAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuZG93bmxvYWRzX19pdGVtLWRhdGUge1xuICAgICAgbGVmdDogLTdweDsgfSB9XG5cbi5kb3dubG9hZHNfX2NvbHVtbi1pdGVtcyB7XG4gIHdpZHRoOiA2MSU7XG4gIHBhZGRpbmctcmlnaHQ6IDUwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5kb3dubG9hZHNfX2NvbHVtbi1pdGVtcyB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5kb3dubG9hZHNfX2l0ZW0tdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyN3B4O1xuICBwYWRkaW5nLXRvcDogMjI0cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuZG93bmxvYWRzX19pdGVtLXRpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxNzVweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuZG93bmxvYWRzX19pdGVtLXRpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMTVweDsgfSB9XG5cbi5kb3dubG9hZHNfX2l0ZW0taW1hZ2Uge1xuICBtYXgtd2lkdGg6IDU3MHB4O1xuICBtYXJnaW46IDM1cHggMDsgfVxuXG4uZG93bmxvYWRzX19pdGVtLWVkaXRvciB7XG4gIG1heC13aWR0aDogNTcwcHg7IH1cblxuLmRvd25sb2Fkc19faXRlbS1saW5rIHtcbiAgbWFyZ2luLXRvcDogMzVweDsgfVxuXG4uZG93bmxvYWRzX19jb2x1bW4tbGlua3Mge1xuICB3aWR0aDogMzklOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuZG93bmxvYWRzX19jb2x1bW4tbGlua3Mge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3NXB4OyB9IH1cblxuLmRvd25sb2Fkc19fdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyM3B4OyB9XG5cbi5kb3dubG9hZHNfX2VkaXRvciBhIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuODc1ZW07XG4gIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlOyB9XG4gIC5kb3dubG9hZHNfX2VkaXRvciBhOmhvdmVyIHtcbiAgICBjb2xvcjogI2FkY2IwMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9vdGVyIGNvbHVtbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uZm9vdGVyLWNvbHVtbnMge1xuICBsaW5lLWhlaWdodDogMjlweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmZvb3Rlci1jb2x1bW5zIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDJlbTsgfSB9XG4gIC5mb290ZXItY29sdW1ucyAud3JhcHBlciB7XG4gICAgcGFkZGluZy10b3A6IDE2MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNzVweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5mb290ZXItY29sdW1ucyAud3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA3MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogODVweDsgfSB9XG4gIC5mb290ZXItY29sdW1ucyBhIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTsgfVxuICAgIC5mb290ZXItY29sdW1ucyBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjYWRjYjAwOyB9XG5cbi5mb290ZXItY29sdW1uc19fY29udGFjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDQwJTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmZvb3Rlci1jb2x1bW5zX19jb250YWN0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfSB9XG5cbi5mb290ZXItY29sdW1uc19fY29udGFjdC1sb2dvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0zNXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuZm9vdGVyLWNvbHVtbnNfX2NvbnRhY3QtbG9nbyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDA7IH0gfVxuXG4uZm9vdGVyLWNvbHVtbnNfX2NvbnRhY3QtZWRpdG9yIHtcbiAgbWFyZ2luLXRvcDogNzVweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmZvb3Rlci1jb2x1bW5zX19jb250YWN0LWVkaXRvciB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9IH1cblxuLmZvb3Rlci1jb2x1bW5zX19zaXRlbWFwcyB7XG4gIHdpZHRoOiA0NSU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5mb290ZXItY29sdW1uc19fc2l0ZW1hcHMge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5mb290ZXItY29sdW1uc19fc2l0ZW1hcCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLmZvb3Rlci1jb2x1bW5zX19zb2NpYWwtdGl0bGUsXG4uZm9vdGVyLWNvbHVtbnNfX3NpdGVtYXAtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiA0NXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuZm9vdGVyLWNvbHVtbnNfX3NvY2lhbC10aXRsZSxcbiAgICAuZm9vdGVyLWNvbHVtbnNfX3NpdGVtYXAtdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfSB9XG5cbi5mb290ZXItY29sdW1uc19fc29jaWFsIHtcbiAgd2lkdGg6IDE1JTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmZvb3Rlci1jb2x1bW5zX19zb2NpYWwge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZm9vdGVyLWNvbHVtbnNfX3NvY2lhbC1saW5rcyBhIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmZvb3Rlci1jb2x1bW5zX19zb2NpYWwtbGlua3MgYTpob3ZlciB7XG4gICAgY29sb3I6ICNhZGNiMDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvb3RlciBDVEFcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uZm9vdGVyLWN0YSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDI7IH1cbiAgLmZvb3Rlci1jdGEgLndyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uYmFja2dyb3VuZC0tYm9yZGVyICsgLmZvb3Rlci1jdGEge1xuICBwYWRkaW5nLXRvcDogMTc1cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5iYWNrZ3JvdW5kLS1ib3JkZXIgKyAuZm9vdGVyLWN0YSB7XG4gICAgICBwYWRkaW5nLXRvcDogNzVweDsgfSB9XG5cbi5mb290ZXItY3RhICsgZGl2IHtcbiAgbWFyZ2luLXRvcDogLTk1cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5mb290ZXItY3RhICsgZGl2IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG4uZm9vdGVyLWN0YV9fYm9keSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNjBweDtcbiAgcmlnaHQ6IDA7XG4gIG1heC13aWR0aDogNTc1cHg7XG4gIG1heC1oZWlnaHQ6IDI1MHB4O1xuICBwYWRkaW5nOiA2MHB4IDU1cHg7XG4gIGJhY2tncm91bmQ6ICNhZGNiMDA7XG4gIGNvbG9yOiAjNzc0MjEyOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuZm9vdGVyLWN0YV9fYm9keSB7XG4gICAgICB0b3A6IDEyMHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5mb290ZXItY3RhX19ib2R5IHtcbiAgICAgIHRvcDogNDBweDtcbiAgICAgIHJpZ2h0OiA0MHB4O1xuICAgICAgYm90dG9tOiA0MHB4O1xuICAgICAgbGVmdDogNDBweDtcbiAgICAgIG1heC1oZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgcGFkZGluZzogNjBweCA0MHB4OyB9IH1cblxuLmZvb3Rlci1jdGFfX2xpbmsge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi5mb290ZXItY3RhX19pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMHZ3O1xuICBtaW4taGVpZ2h0OiA1NzBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmZvb3Rlci1jdGFfX2ltYWdlIHtcbiAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgaGVpZ2h0OiA1MDBweCAhaW1wb3J0YW50OyB9IH1cbiAgLmZvb3Rlci1jdGFfX2ltYWdlIGltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb290ZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uZm9vdGVyIHtcbiAgaGVpZ2h0OiA1MHB4O1xuICBwYWRkaW5nLXRvcDogN3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc0MjEyOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuZm9vdGVyIHtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIHBhZGRpbmctdG9wOiA1cHg7IH0gfVxuXG4uZm9vdGVyX19saW5rcyBhIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgbWFyZ2luLXJpZ2h0OiA2MHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHdoaXRlO1xuICBjb2xvcjogd2hpdGU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5mb290ZXJfX2xpbmtzIGEge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBsaW5lLWhlaWdodDogMC44NTcxNGVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgYm9yZGVyOiAwOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5mb290ZXJfX2xpbmtzIGE6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNhZGNiMDA7XG4gICAgICBjb2xvcjogI2FkY2IwMDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3JtXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmZvcm0ge1xuICBwYWRkaW5nLWJvdHRvbTogMTgwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5mb3JtIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4NXB4OyB9IH1cblxuLmZvcm1fX3RpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xMHB4O1xuICBsZWZ0OiAtMTRweDtcbiAgcGFkZGluZy1ib3R0b206IDg1cHg7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmZvcm1fX3RpdGxlIHtcbiAgICAgIGxlZnQ6IC04cHg7XG4gICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7IH0gfVxuXG4uZm9ybV9fY29sdW1uLWZvcm0ge1xuICB3aWR0aDogNzIlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmZvcm1fX2NvbHVtbi1mb3JtIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmZvcm1fX2NvbHVtbi1pbWFnZSB7XG4gIHdpZHRoOiAyOCU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuZm9ybV9fY29sdW1uLWltYWdlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uZm9ybV9faW1hZ2Uge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuZm9ybV9faW1hZ2UgaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWluLXdpZHRoOiA0MzVweDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uZm9ybV9fc2hvcnRjb2RlIC5xdWVzdGlvbi10eXBlLXJhZGlvIGxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGVhZGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmhlYWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMjEwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5oZWFkZXIge1xuICAgICAgaGVpZ2h0OiAxMjVweDsgfSB9XG4gIC5oZWFkZXIgLndyYXBwZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAyMTBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5oZWFkZXIgLndyYXBwZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGhlaWdodDogMTI1cHg7IH0gfVxuXG4uaGVhZGVyICsgZGl2IHtcbiAgcGFkZGluZy10b3A6IDIxMHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuaGVhZGVyICsgZGl2IHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMjVweDsgfSB9XG5cbi5oZWFkZXJfX2xvZ28ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gNDc5cHgpO1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICB6LWluZGV4OiAyOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuaGVhZGVyX19sb2dvIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0NHB4KTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCA3NTBtcyBlYXNlOyB9IH1cbiAgLmhlYWRlcl9fbG9nbyBpbWcge1xuICAgIHdpZHRoOiAyMTJweDtcbiAgICBoZWlnaHQ6IDE1MHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLmhlYWRlcl9fbG9nbyBpbWcge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWF4LWhlaWdodDogMTAwcHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5ib2R5LmlzLWFjdGl2ZSAuaGVhZGVyX19sb2dvIHtcbiAgICB6LWluZGV4OiAxMDA7IH0gfVxuXG4uaGVhZGVyX19idXR0b25zIHtcbiAgd2lkdGg6IDQ0NXB4O1xuICB6LWluZGV4OiAyOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuaGVhZGVyX19idXR0b25zIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uaGVhZGVyX19idXR0b24ge1xuICBib3JkZXI6IDJweCBzb2xpZCAjYWRjYjAwO1xuICBjb2xvcjogI2FkY2IwMDsgfVxuICAuaGVhZGVyX19idXR0b24gc3ZnIHtcbiAgICBjb2xvcjogI2FkY2IwMDtcbiAgICBmaWxsOiAjYWRjYjAwOyB9XG4gIC5oZWFkZXJfX2J1dHRvbjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNhZGNiMDA7IH1cbiAgLmhlYWRlcl9fYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgLmhlYWRlcl9fYnV0dG9uLmlzLXNlYXJjaCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA4MHB4OyB9XG5cbi8qKlxuICogTW9iaWxlIG1lbnUgYnV0dG9uLlxuICovXG4uaGVhZGVyX19tZW51LWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDM0cHg7XG4gIGhlaWdodDogMzRweDtcbiAgei1pbmRleDogMTAwOyB9XG4gIC5oZWFkZXJfX21lbnUtYnV0dG9uIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMzRweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cbiAgICAuaGVhZGVyX19tZW51LWJ1dHRvbiBzcGFuOm50aC1jaGlsZCgxKSB7XG4gICAgICB0b3A6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDQwMG1zLCB0b3AgNDAwbXMgNDAwbXMsIHRyYW5zZm9ybSA0MDBtcyAwczsgfVxuICAgIC5oZWFkZXJfX21lbnUtYnV0dG9uIHNwYW46bnRoLWNoaWxkKDIpIHtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAxcHgpO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA0MDBtcywgb3BhY2l0eSAwbXMgNDAwbXM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuaGVhZGVyX19tZW51LWJ1dHRvbiBzcGFuOm50aC1jaGlsZCgzKSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDQwMG1zLCBib3R0b20gNDAwbXMgNDAwbXMsIHRyYW5zZm9ybSA0MDBtcyAwcztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9XG4gIC5oZWFkZXJfX21lbnUtYnV0dG9uLmlzLWFjdGl2ZSBzcGFuOm50aC1jaGlsZCgxKSB7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDFweCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDQwMG1zLCB0b3AgNDAwbXMsIHRyYW5zZm9ybSA0MDBtcyA0MDBtczsgfVxuICAuaGVhZGVyX19tZW51LWJ1dHRvbi5pcy1hY3RpdmUgc3BhbjpudGgtY2hpbGQoMikge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmhlYWRlcl9fbWVudS1idXR0b24uaXMtYWN0aXZlIHNwYW46bnRoLWNoaWxkKDMpIHtcbiAgICBib3R0b206IGNhbGMoNTAlIC0gMXB4KTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA0MDBtcywgYm90dG9tIDQwMG1zLCB0cmFuc2Zvcm0gNDAwbXMgNDAwbXM7IH1cblxuLyoqXG4gKiBIZWFkZXIgc2Vjb25kYXJ5IGNvbG9ycy5cbiAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAuaGVhZGVyLS1zZWNvbmRhcnkge1xuICAgIHotaW5kZXg6IDE3MDAwOyB9IH1cblxuLmhlYWRlci0tc2Vjb25kYXJ5IC5oZWFkZXJfX2J1dHRvbiB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICM3NzQyMTI7XG4gIGNvbG9yOiAjNzc0MjEyOyB9XG4gIC5oZWFkZXItLXNlY29uZGFyeSAuaGVhZGVyX19idXR0b24gc3ZnIHtcbiAgICBjb2xvcjogIzc3NDIxMjtcbiAgICBmaWxsOiAjNzc0MjEyOyB9XG4gIC5oZWFkZXItLXNlY29uZGFyeSAuaGVhZGVyX19idXR0b246OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjNzc0MjEyOyB9XG4gIC5oZWFkZXItLXNlY29uZGFyeSAuaGVhZGVyX19idXR0b246aG92ZXIge1xuICAgIGNvbG9yOiAjZjBlNGNiOyB9XG5cbi5oZWFkZXItLXNlY29uZGFyeSAuaGVhZGVyX19tZW51LWJ1dHRvbiBzcGFuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc3NDIxMjsgfVxuICAuaGVhZGVyLS1zZWNvbmRhcnkgLmhlYWRlcl9fbWVudS1idXR0b24gc3BhbjpudGgtY2hpbGQoMiksIC5oZWFkZXItLXNlY29uZGFyeSAuaGVhZGVyX19tZW51LWJ1dHRvbiBzcGFuOm50aC1jaGlsZCgzKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NDIxMjsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5oZWFkZXJfX21lbnUtYnV0dG9uLmlzLWFjdGl2ZSBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBlNGNiOyB9XG4gICAgLmhlYWRlcl9fbWVudS1idXR0b24uaXMtYWN0aXZlIHNwYW46bnRoLWNoaWxkKDIpLCAuaGVhZGVyX19tZW51LWJ1dHRvbi5pcy1hY3RpdmUgc3BhbjpudGgtY2hpbGQoMykge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZTRjYjsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIb21lIEROQSBmb3JtLlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogRGVmYXVsdCBzdHlsaW5nLlxuICovXG5pbnB1dFt0eXBlPSdkYXRlJ10sXG5pbnB1dFt0eXBlPSd0ZXh0J10sXG5pbnB1dFt0eXBlPSdudW1iZXInXSxcbmlucHV0W3R5cGU9J2VtYWlsJ10sXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogN3B4IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNzc0MjEyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICM3NzQyMTI7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IDEyNXB4O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzc3NDIxMjsgfVxuXG5pbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzc3NDIxMjtcbiAgb3BhY2l0eTogMC41OyB9XG5cbi8qKlxuICogSG9tZUROQSBmb3JtLlxuICovXG4uaG9tZWRuYS1zdXJ2ZXkge1xuICBtYXgtd2lkdGg6IDU3NXB4OyB9XG5cbi5ob21lZG5hLXN1cnZleSBsYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAtMjNweDtcbiAgZm9udC1mYW1pbHk6IFwiUHJlZGlnZS1NZWRpdW1cIjsgfVxuXG4uaG9tZWRuYS1zdXJ2ZXkgLnF1ZXN0aW9uLXR5cGUtc3RhdGljLFxuLmhvbWVkbmEtc3VydmV5IC5xdWVzdGlvbi10eXBlLWhlYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmhvbWVkbmEtc3VydmV5IC53cmFwLXF1ZXN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDI2cHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBjb2xvcjogIzc3NDIxMjsgfVxuICAuaG9tZWRuYS1zdXJ2ZXkgLndyYXAtcXVlc3Rpb24gYSB7XG4gICAgY29sb3I6ICNhZGNiMDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAuaG9tZWRuYS1zdXJ2ZXkgLndyYXAtcXVlc3Rpb24gYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmhvbWVkbmEtc3VydmV5IC5xdWVzdGlvbi10eXBlLXJhZGlvIGxhYmVsIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmhvbWVkbmEtc3VydmV5IGlucHV0W3R5cGU9cmFkaW9dLFxuLmhvbWVkbmEtc3VydmV5IGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgbWFyZ2luLXRvcDogNnB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGZsb2F0OiBsZWZ0O1xuICB0cmFuc2l0aW9uOiAwLjM1cztcbiAgYm9yZGVyOiAxcHggc29saWQgIzc3NDIxMjsgfVxuICAuaG9tZWRuYS1zdXJ2ZXkgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCxcbiAgLmhvbWVkbmEtc3VydmV5IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3NzQyMTI7IH1cblxuLmhvbWVkbmEtc3VydmV5IC5idG4tc3R5bGUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDMycHg7XG4gIG1hcmdpbjogNTBweCAzNXB4IDAgMDtcbiAgcGFkZGluZzogMCAxMHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbiAgYm9yZGVyOiAycHggc29saWQgI2FkY2IwMDtcbiAgY29sb3I6ICNhZGNiMDA7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuaG9tZWRuYS1zdXJ2ZXkgLmJ0bi1zdHlsZSBzdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDZweDtcbiAgICByaWdodDogLTM3cHg7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG4gICAgY29sb3I6ICNhZGNiMDA7XG4gICAgZmlsbDogI2FkY2IwMDsgfVxuICAuaG9tZWRuYS1zdXJ2ZXkgLmJ0bi1zdHlsZTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAzNTBtcyBlYXNlO1xuICAgIGJhY2tncm91bmQ6ICNhZGNiMDA7XG4gICAgY29udGVudDogJyc7XG4gICAgei1pbmRleDogLTE7IH1cbiAgLmhvbWVkbmEtc3VydmV5IC5idG4tc3R5bGU6aG92ZXI6OmFmdGVyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaG9tZWRuYS1zdXJ2ZXkgLmJ0bi1zdHlsZTpob3ZlciB7XG4gICAgY29sb3I6IHdoaXRlOyB9XG5cbiNmb3JtUGFnZU5hdiB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuI2Zvcm1QYWdlTmF2ID4gLnRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuI2Zvcm1QYWdlTmF2ID4gc3BhbltkYXRhLXBhZ2VdIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDMwcHg7XG4gIHBhZGRpbmc6IDVweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA0NTBtcywgY29sb3IgNDUwbXM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1OTVhNGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjZm9ybVBhZ2VOYXYgPiBzcGFuW2RhdGEtcGFnZV06aG92ZXIsICNmb3JtUGFnZU5hdiA+IHNwYW5bZGF0YS1wYWdlXS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1OTVhNGU7XG4gICAgY29sb3I6IHdoaXRlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMb2NhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5sb2NhdGlvbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5sb2NhdGlvbiAud3JhcHBlciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cblxuLmxvY2F0aW9uX19jb2x1bW4tdGV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDMwJTtcbiAgcGFkZGluZzogOTBweCAzNXB4IDAgMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmxvY2F0aW9uX19jb2x1bW4tdGV4dCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gICAgICBtYXJnaW46IDcwcHggNDBweCA4MHB4O1xuICAgICAgcGFkZGluZzogMzVweCAwIDA7IH0gfVxuICAubG9jYXRpb25fX2NvbHVtbi10ZXh0OjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMzNweDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiAjY2JkNGQ3O1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLmxvY2F0aW9uX19jb2x1bW4tdGV4dDo6YmVmb3JlIHtcbiAgICAgICAgaGVpZ2h0OiAycHg7IH0gfVxuXG4ubG9jYXRpb25fX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG4ubG9jYXRpb25fX2NvbHVtbi1tYXAge1xuICB3aWR0aDogNzAlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAubG9jYXRpb25fX2NvbHVtbi1tYXAge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ubG9jYXRpb25fX21hcCB7XG4gIHBvc2l0aW9uOiBpbml0aWFsO1xuICB3aWR0aDogNjYuNnZ3O1xuICBtaW4taGVpZ2h0OiA2MDBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmxvY2F0aW9uX19tYXAge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5sb2NhdGlvbl9fbWFwIHtcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87IH0gfVxuXG4ubG9jYXRpb25fX21hcC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNb2JpbGUgc2Nyb2xsXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm1vYmlsZS1zY3JvbGwge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMS4yNzc3OGVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDE3MHB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIGNvbG9yOiAjZDk5YjY4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5tb2JpbGUtc2Nyb2xsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAubW9iaWxlLXNjcm9sbCBzdmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0ycHg7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgY29sb3I6ICNkOTliNjg7XG4gICAgZmlsbDogI2Q5OWI2ODsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTmF2aWdhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5uYXZpZ2F0aW9uIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IC0xMDB2aDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XG4gIGJhY2tncm91bmQ6ICNmMGU0Y2I7XG4gIGNvbG9yOiAjNzc0MjEyO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiA5OTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAubmF2aWdhdGlvbiB7XG4gICAgICB0b3A6IDEwMHZoO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogMTI1cHg7XG4gICAgICBwYWRkaW5nOiAxMnB4IDAgNDBweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xuICAgICAgYmFja2dyb3VuZDogI2YwZTRjYjsgfSB9XG4gIC5uYXZpZ2F0aW9uLmlzLWFjdGl2ZSB7XG4gICAgdG9wOiAwO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLm5hdmlnYXRpb246Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi8qKlxuICogQ29udGFjdC5cbiAqL1xuLm5hdmlnYXRpb25fX2NvbHVtbi1jb250YWN0IHtcbiAgd2lkdGg6IDQwJTtcbiAgcGFkZGluZy10b3A6IDkwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5uYXZpZ2F0aW9uX19jb2x1bW4tY29udGFjdCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLm5hdmlnYXRpb25fX2NvbnRhY3QtYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiAyMnB4OyB9XG4gIC5uYXZpZ2F0aW9uX19jb250YWN0LWJsb2NrIGE6aG92ZXIge1xuICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgICAgLm5hdmlnYXRpb25fX2NvbnRhY3QtYmxvY2sgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjYWRjYjAwOyB9IH1cblxuLm5hdmlnYXRpb25fX2NvbnRhY3QtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyMnB4OyB9XG5cbi5uYXZpZ2F0aW9uX19jb250YWN0LWVkaXRvciB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjg3NWVtOyB9XG5cbi8qKlxuICogU29jaWFsLlxuICovXG4ubmF2aWdhdGlvbl9fc29jaWFsLmlzLWRlc2t0b3Age1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAubmF2aWdhdGlvbl9fc29jaWFsLmlzLWRlc2t0b3Age1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4ubmF2aWdhdGlvbl9fc29jaWFsLmlzLW1vYmlsZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5uYXZpZ2F0aW9uX19zb2NpYWwuaXMtbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLm5hdmlnYXRpb25fX3NvY2lhbC10aXRsZSB7XG4gIG1hcmdpbjogNzBweCAwIDI2cHg7XG4gIGNvbG9yOiAjNzc0MjEyO1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLU1lZGl1bVwiOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAubmF2aWdhdGlvbl9fc29jaWFsLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTtcbiAgICAgIG1hcmdpbjogMTM1cHggMCAyMXB4OyB9IH1cblxuLm5hdmlnYXRpb25fX3NvY2lhbC1saW5rcyBhIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuODc1ZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbiAgY29sb3I6ICM3NzQyMTI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5uYXZpZ2F0aW9uX19zb2NpYWwtbGlua3MgYSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44ZW07IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLm5hdmlnYXRpb25fX3NvY2lhbC1saW5rcyBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjYWRjYjAwOyB9IH1cblxuLyoqXG4gKiBNYWluIG1lbnUuXG4gKi9cbi5uYXZpZ2F0aW9uX19jb2x1bW4tbWVudSB7XG4gIHdpZHRoOiA2MCU7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBwYWRkaW5nOiA5MHB4IDAgMCA5NXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAubmF2aWdhdGlvbl9fY29sdW1uLW1lbnUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5uYXZpZ2F0aW9uX19jb2x1bW4tbWVudTo6YmVmb3JlIHtcbiAgICB3aWR0aDogY2FsYygxMDB2dyAtIDIwcHgpOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLm5hdmlnYXRpb25fX2NvbHVtbi1tZW51OjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLm1haW4tbWVudSA+IGxpIGEge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtc2l6ZTogNC44cmVtO1xuICBsaW5lLWhlaWdodDogMS41ODMzM2VtO1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLU1lZGl1bVwiO1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLm1haW4tbWVudSA+IGxpIGEge1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICAgIGNvbG9yOiAjNzc0MjEyOyB9IH1cblxuLm1haW4tbWVudSA+IGxpLmN1cnJlbnQtbWVudS1pdGVtIGEsIC5tYWluLW1lbnUgPiBsaTpob3ZlciBhIHtcbiAgY29sb3I6ICNhZGNiMDA7IH1cblxuLyoqXG4gKiBCYWNrZ3JvdW5kIGhlYWRlci5cbiAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAuaGVhZGVyOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XG4gICAgYmFja2dyb3VuZDogI2YwZTRjYjtcbiAgICBjb250ZW50OiAnJzsgfSB9XG5cbi8qKlxuICogRGlzYWJsZSBzY3JvbGwuXG4gKi9cbi5ib2R5LmlzLWFjdGl2ZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmJvZHkuaXMtYWN0aXZlIC5oZWFkZXI6OmJlZm9yZSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBOZXdzIGxpc3RcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5uZXdzLWxpc3QgLndyYXBwZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICBwYWRkaW5nLXRvcDogMTVweDsgfSB9XG5cbi8qKlxuICogSXRlbXMuXG4gKi9cbi5uZXdzLWxpc3RfX2l0ZW1zIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDQ3OXB4KTtcbiAgcGFkZGluZy1yaWdodDogNTBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLm5ld3MtbGlzdF9faXRlbXMge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4vKipcbiAqIEl0ZW0uXG4gKi9cbi5uZXdzLWxpc3RfX2l0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAxNjRweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5uZXdzLWxpc3RfX2l0ZW0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTE1cHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLm5ld3MtbGlzdF9faXRlbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA5MHB4OyB9IH1cblxuLm5ld3MtbGlzdF9faXRlbS1kYXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMTRweDtcbiAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAubmV3cy1saXN0X19pdGVtLWRhdGUge1xuICAgICAgbGVmdDogLTdweDsgfSB9XG5cbi5uZXdzLWxpc3RfX2l0ZW0tdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyN3B4O1xuICBwYWRkaW5nLXRvcDogMjI0cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAubmV3cy1saXN0X19pdGVtLXRpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxNzVweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAubmV3cy1saXN0X19pdGVtLXRpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMTVweDsgfSB9XG5cbi5uZXdzLWxpc3RfX2l0ZW0taW1hZ2Uge1xuICBtYXgtd2lkdGg6IDU3MHB4O1xuICBtYXJnaW46IDM1cHggMDsgfVxuXG4ubmV3cy1saXN0X19pdGVtLWVkaXRvciB7XG4gIG1heC13aWR0aDogNTcwcHg7IH1cblxuLm5ld3MtbGlzdF9faXRlbS1saW5rIHtcbiAgbWFyZ2luLXRvcDogMzVweDsgfVxuXG4vKipcbiAqIFBhZ2luYXRpb24uXG4gKi9cbi5uZXdzLWxpc3RfX3BhZ2luYXRpb24ge1xuICB3aWR0aDogNDc5cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5uZXdzLWxpc3RfX3BhZ2luYXRpb24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3NXB4OyB9IH1cbiAgLm5ld3MtbGlzdF9fcGFnaW5hdGlvbiAucGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMzVweDsgfVxuICAgIC5uZXdzLWxpc3RfX3BhZ2luYXRpb24gLnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlOyB9XG4gICAgLm5ld3MtbGlzdF9fcGFnaW5hdGlvbiAucGFnaW5hdGlvbiAucHJldixcbiAgICAubmV3cy1saXN0X19wYWdpbmF0aW9uIC5wYWdpbmF0aW9uIC5uZXh0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAubmV3cy1saXN0X19wYWdpbmF0aW9uIC5wYWdpbmF0aW9uIC5jdXJyZW50LFxuICAgIC5uZXdzLWxpc3RfX3BhZ2luYXRpb24gLnBhZ2luYXRpb24gLnBhZ2UtbnVtYmVyczpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzU5NWE0ZTsgfVxuICAgIC5uZXdzLWxpc3RfX3BhZ2luYXRpb24gLnBhZ2luYXRpb24gYS5wYWdlLW51bWJlcnM6aG92ZXIge1xuICAgICAgY29sb3I6ICNhZGNiMDA7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAubmV3cy1saXN0X19zdGlja3kuaXMtYWN0aXZlIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiA4MHB4OyB9IH1cblxuLm5ld3MtbGlzdF9fcGFnaW5hdGlvbi10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDIzcHg7IH1cblxuLm5ld3MtbGlzdF9fcGFnaW5hdGlvbi1saW5rIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTsgfVxuICAubmV3cy1saXN0X19wYWdpbmF0aW9uLWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiAjYWRjYjAwOyB9XG5cbi5uZXdzLWxpc3RfX3BhZ2luYXRpb24tZGF0ZSB7XG4gIHdpZHRoOiAxNDVweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLm5ld3MtbGlzdF9fcGFnaW5hdGlvbi1kYXRlIHtcbiAgICAgIHdpZHRoOiA4MHB4OyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBhcnRuZXJzIGltYWdlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnBhcnRuZXJzLWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5wYXJ0bmVycy1pbWFnZSAud3JhcHBlciB7XG4gICAgcGFkZGluZy10b3A6IDE1MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNzVweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAucGFydG5lcnMtaW1hZ2UgLndyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogOTFweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDg1cHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5wYXJ0bmVycy1pbWFnZSAud3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA3NXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogODVweDsgfSB9XG5cbi5wYXJ0bmVycy1pbWFnZSArIGRpdjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc3NDIxMjsgfVxuXG4ucGFydG5lcnMtaW1hZ2VfX3RpdGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05MnB4O1xuICBsZWZ0OiAtMTVweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5wYXJ0bmVycy1pbWFnZV9fdGl0bGUge1xuICAgICAgdG9wOiAtNjFweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAucGFydG5lcnMtaW1hZ2VfX3RpdGxlIHtcbiAgICAgIHRvcDogLTMxcHg7XG4gICAgICBsZWZ0OiAtOHB4OyB9IH1cblxuLnBhcnRuZXJzLWltYWdlX19jb2x1bW4tcGFydG5lcnMge1xuICB3aWR0aDogNzIlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLnBhcnRuZXJzLWltYWdlX19jb2x1bW4tcGFydG5lcnMge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ucGFydG5lcnMtaW1hZ2VfX3BhcnRuZXIge1xuICBtYXJnaW4tYm90dG9tOiAyMjBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5wYXJ0bmVycy1pbWFnZV9fcGFydG5lciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAucGFydG5lcnMtaW1hZ2VfX3BhcnRuZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogODBweDsgfSB9XG4gIC5wYXJ0bmVycy1pbWFnZV9fcGFydG5lcjpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnBhcnRuZXJzLWltYWdlX19wYXJ0bmVyOmZpcnN0LW9mLXR5cGUgLnBhcnRuZXJzLWltYWdlX19wYXJ0bmVyLXN1YnRpdGxlIHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuXG4ucGFydG5lcnMtaW1hZ2VfX3BhcnRuZXItdGl0bGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0xNXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAucGFydG5lcnMtaW1hZ2VfX3BhcnRuZXItdGl0bGUge1xuICAgICAgbGVmdDogLThweDsgfSB9XG5cbi5wYXJ0bmVycy1pbWFnZV9fcGFydG5lci1zdWJ0aXRsZSB7XG4gIG1heC13aWR0aDogNDAwcHg7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIHBhZGRpbmctdG9wOiAyMzVweDtcbiAgY29sb3I6ICNhZGNiMDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAucGFydG5lcnMtaW1hZ2VfX3BhcnRuZXItc3VidGl0bGUge1xuICAgICAgcGFkZGluZy10b3A6IDE1MnB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5wYXJ0bmVycy1pbWFnZV9fcGFydG5lci1zdWJ0aXRsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTEwcHg7IH0gfVxuXG4ucGFydG5lcnMtaW1hZ2VfX3BhcnRuZXItZWRpdG9yIHtcbiAgbWF4LXdpZHRoOiA1ODVweDsgfVxuXG4ucGFydG5lcnMtaW1hZ2VfX2NvbHVtbi1pbWFnZSB7XG4gIHdpZHRoOiAyOCU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAucGFydG5lcnMtaW1hZ2VfX2NvbHVtbi1pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnBhcnRuZXJzLWltYWdlX19pbWFnZSBpbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBtaW4td2lkdGg6IDQzNXB4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQcm9wZXJ0eSBtYXBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5wcm9wZXJ0eS1tYXAge1xuICAgIG1pbi1oZWlnaHQ6IDEyNXB4OyB9IH1cblxuLnByb3BlcnR5LW1hcC5iYWNrZ3JvdW5kLS1wcmltYXJ5IC5wcm9wZXJ0eS1tYXBfX2NvbHVtbi1kZXRhaWxzOjpiZWZvcmUsIC5wcm9wZXJ0eS1tYXAuYmFja2dyb3VuZC0tcHJpbWFyeS1wYXR0ZXJuIC5wcm9wZXJ0eS1tYXBfX2NvbHVtbi1kZXRhaWxzOjpiZWZvcmUsIC5wcm9wZXJ0eS1tYXAuYmFja2dyb3VuZC0tc2Vjb25kYXJ5IC5wcm9wZXJ0eS1tYXBfX2NvbHVtbi1kZXRhaWxzOjpiZWZvcmUsIC5wcm9wZXJ0eS1tYXAuYmFja2dyb3VuZC0tc2Vjb25kYXJ5LXBhdHRlcm4gLnByb3BlcnR5LW1hcF9fY29sdW1uLWRldGFpbHM6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNjYmQ0ZDc7IH1cblxuLnByb3BlcnR5LW1hcC5iYWNrZ3JvdW5kLS1kZWZhdWx0IC5wcm9wZXJ0eS1tYXBfX2NvbHVtbi1kZXRhaWxzOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjNTk1YTRlOyB9XG5cbi5wcm9wZXJ0eS1tYXAuYmFja2dyb3VuZC0tYm9yZGVyICsgLnByb3BlcnR5LW1hcCB7XG4gIHBhZGRpbmctdG9wOiAyMTVweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnByb3BlcnR5LW1hcC5iYWNrZ3JvdW5kLS1ib3JkZXIgKyAucHJvcGVydHktbWFwIHtcbiAgICAgIHBhZGRpbmctdG9wOiA0MHB4OyB9IH1cblxuLnByb3BlcnR5LW1hcCArIC5mb290ZXItY3RhIHtcbiAgcGFkZGluZy10b3A6IDE4MHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAucHJvcGVydHktbWFwICsgLmZvb3Rlci1jdGEge1xuICAgICAgcGFkZGluZy10b3A6IDkwcHg7IH0gfVxuXG4ucHJvcGVydHktbWFwIC53cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5wcm9wZXJ0eS1tYXBfX2NvbHVtbi1kZXRhaWxzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMzAlO1xuICBwYWRkaW5nLXRvcDogOTVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnByb3BlcnR5LW1hcF9fY29sdW1uLWRldGFpbHMge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5wcm9wZXJ0eS1tYXBfX2NvbHVtbi1kZXRhaWxzOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMzNweDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBjb250ZW50OiAnJzsgfVxuXG4ucHJvcGVydHktbWFwX19jb2x1bW4tbWFwIHtcbiAgd2lkdGg6IDcwJTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnByb3BlcnR5LW1hcF9fY29sdW1uLW1hcCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5wcm9wZXJ0eS1tYXBfX3BsYWNlaG9sZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDk1cHg7XG4gIG1heC13aWR0aDogMjEwcHg7XG4gIHRyYW5zaXRpb246IGFsbCA2MDBtcyBlYXNlO1xuICBvcGFjaXR5OiAxOyB9XG4gIC5wcm9wZXJ0eS1tYXBfX3BsYWNlaG9sZGVyLmlzLWhpZGRlbiB7XG4gICAgdG9wOiAtMTgwcHg7XG4gICAgb3BhY2l0eTogMDsgfVxuXG4ucHJvcGVydHktbWFwX19wcm9wZXJ0aWVzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucHJvcGVydHktbWFwX19wcm9wZXJ0eSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDMwMHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgNjAwbXMgZWFzZTtcbiAgb3BhY2l0eTogMDsgfVxuICAucHJvcGVydHktbWFwX19wcm9wZXJ0eS5pcy1hY3RpdmUge1xuICAgIHRvcDogMDtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi5wcm9wZXJ0eS1tYXBfX3Byb3BlcnR5LXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG4ucHJvcGVydHktbWFwX19zY3JvbGxkb3duLWFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDEzNXB4O1xuICBsZWZ0OiA4N3B4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAucHJvcGVydHktbWFwX19zY3JvbGxkb3duLWFycm93IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5wcm9wZXJ0eS1tYXBfX3Njcm9sbGRvd24tYXJyb3cge1xuICAgICAgbGVmdDogNTdweDsgfSB9XG4gIC5wcm9wZXJ0eS1tYXBfX3Njcm9sbGRvd24tYXJyb3cgc3ZnIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYW5pbWF0aW9uOiBqdW1wIDNzIGVhc2UtaW4tb3V0IGluZmluaXRlOyB9XG5cbkBrZXlmcmFtZXMganVtcCB7XG4gIDAlIHtcbiAgICBib3R0b206IDA7IH1cbiAgNTAlIHtcbiAgICBib3R0b206IDE1cHg7IH1cbiAgMTAwJSB7XG4gICAgYm90dG9tOiAwOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFByb3BlcnR5IHNpbmdsZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5wcm9wZXJ0eS1zaW5nbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnByb3BlcnR5LXNpbmdsZSAud3JhcHBlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogMTYwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE4MHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5wcm9wZXJ0eS1zaW5nbGUgLndyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogOTFweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDg1cHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5wcm9wZXJ0eS1zaW5nbGUgLndyYXBwZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICAgIHBhZGRpbmctdG9wOiA3NXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogODVweDsgfSB9XG5cbi5wcm9wZXJ0eS1zaW5nbGVfX3RpdGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05MnB4O1xuICBsZWZ0OiAtMTVweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5wcm9wZXJ0eS1zaW5nbGVfX3RpdGxlIHtcbiAgICAgIHRvcDogLTYxcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnByb3BlcnR5LXNpbmdsZV9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiA2MHB4O1xuICAgICAgZm9udC1zaXplOiA2cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgICAgdG9wOiAtNDJweDtcbiAgICAgIGxlZnQ6IC04cHg7IH0gfVxuXG4ucHJvcGVydHktc2luZ2xlX19jb2x1bW4tZGV0YWlscyB7XG4gIHdpZHRoOiAyOTBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnByb3BlcnR5LXNpbmdsZV9fY29sdW1uLWRldGFpbHMge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ucHJvcGVydHktc2luZ2xlX19zdWJ0aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIGNvbG9yOiAjNzc0MjEyOyB9XG5cbi5wcm9wZXJ0eS1zaW5nbGVfX2luZm9ybWF0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgY29sb3I6ICM3NzQyMTI7IH1cblxuLnByb3BlcnR5LXNpbmdsZV9fY29sdW1uLW1hcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDI5MHB4KTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnByb3BlcnR5LXNpbmdsZV9fY29sdW1uLW1hcCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7IH0gfVxuXG4ucHJvcGVydHktc2luZ2xlX19zbGlkZXNob3ctaW1hZ2VzIHtcbiAgYm9yZGVyOiAycHggc29saWQgIzU5NWE0ZTsgfVxuXG4ucHJvcGVydHktc2luZ2xlX19uYXZpZ2F0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAtMzhweDsgfVxuICAucHJvcGVydHktc2luZ2xlX19uYXZpZ2F0aW9uIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE4cHg7XG4gICAgY29sb3I6ICM3NzQyMTI7IH1cbiAgICAucHJvcGVydHktc2luZ2xlX19uYXZpZ2F0aW9uIGJ1dHRvbi5hY3RpdmUsIC5wcm9wZXJ0eS1zaW5nbGVfX25hdmlnYXRpb24gYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjNzc0MjEyOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQcm9wZXJ0eSB0eXBlIGl0ZW1cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucHJvcGVydHktdHlwZS1pdGVtIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gNDcuNXB4KTtcbiAgbWFyZ2luLWJvdHRvbTogMTIwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5wcm9wZXJ0eS10eXBlLWl0ZW0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4MHB4OyB9IH1cbiAgLnByb3BlcnR5LXR5cGUtaXRlbSAuYnV0dG9uLS1hcnJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogbm9ybWFsOyB9XG4gIC5wcm9wZXJ0eS10eXBlLWl0ZW0gLmJ1dHRvbi0tYXJyb3cgc3ZnIHtcbiAgICB0b3A6IDVweDtcbiAgICBoZWlnaHQ6IDE2cHg7IH1cblxuLnByb3BlcnR5LXR5cGUtaXRlbV9faGVhZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ucHJvcGVydHktdHlwZS1pdGVtX19hdmFpbGFibGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMzBweDtcbiAgbGVmdDogMzBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwIDEzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3NzQyMTI7XG4gIGNvbG9yOiAjZjBlNGNiOyB9XG5cbi5wcm9wZXJ0eS10eXBlLWl0ZW1fX2ltYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDsgfVxuICAucHJvcGVydHktdHlwZS1pdGVtX19pbWFnZSBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG4ucHJvcGVydHktdHlwZS1pdGVtX190b3RhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuLnByb3BlcnR5LXR5cGUtaXRlbV9fdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG5cbi5wcm9wZXJ0eS10eXBlLWl0ZW1fX3RlYXNlciB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLyoqXG4gKiBDb2xvcnMuXG4gKi9cbi5wcm9wZXJ0eS10eXBlLWxpc3QuYmFja2dyb3VuZC0tYnJvd24gLnByb3BlcnR5LXR5cGUtaXRlbV9fdG90YWwge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2YwZTRjYjsgfVxuXG4ucHJvcGVydHktdHlwZS1saXN0LmJhY2tncm91bmQtLWRlZmF1bHQgLnByb3BlcnR5LXR5cGUtaXRlbV9fdG90YWwge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzc3NDIxMjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUHJvcGVydHkgdHlwZSBsaXN0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnByb3BlcnR5LXR5cGUtbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucHJvcGVydHktdHlwZS1saXN0IC53cmFwcGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMTYwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEzMHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5wcm9wZXJ0eS10eXBlLWxpc3QgLndyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTQwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLnByb3BlcnR5LXR5cGUtbGlzdCAud3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA3MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG5cbi5wcm9wZXJ0eS10eXBlLWxpc3RfX3RpdGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05MnB4O1xuICBsZWZ0OiAtMTVweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5wcm9wZXJ0eS10eXBlLWxpc3RfX3RpdGxlIHtcbiAgICAgIHRvcDogLTYxcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnByb3BlcnR5LXR5cGUtbGlzdF9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiA1MHB4O1xuICAgICAgZm9udC1zaXplOiA1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDRlbTtcbiAgICAgIHRvcDogLTQycHg7XG4gICAgICBsZWZ0OiAtOHB4OyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNsaWRlc2hvd1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zbGlkZXNob3cge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuc2xpZGVzaG93IC53cmFwcGVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4uc2xpZGVzaG93X19jb2x1bW4tdGV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDMwJTtcbiAgcGFkZGluZzogOTBweCAzNXB4IDAgMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnNsaWRlc2hvd19fY29sdW1uLXRleHQge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICAgICAgbWFyZ2luOiA3MHB4IDQwcHggODBweDtcbiAgICAgIHBhZGRpbmc6IDM1cHggMCAwOyB9IH1cbiAgLnNsaWRlc2hvd19fY29sdW1uLXRleHQ6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAzM3B4O1xuICAgIGhlaWdodDogM3B4O1xuICAgIGJhY2tncm91bmQ6ICM3NzQyMTI7XG4gICAgY29udGVudDogJyc7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuc2xpZGVzaG93X19jb2x1bW4tdGV4dDo6YmVmb3JlIHtcbiAgICAgICAgaGVpZ2h0OiAycHg7IH0gfVxuXG4uc2xpZGVzaG93X190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuLnNsaWRlc2hvd19fY29sdW1uLWltYWdlcyB7XG4gIHdpZHRoOiA3MCU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5zbGlkZXNob3dfX2NvbHVtbi1pbWFnZXMge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uc2xpZGVzaG93X19pbWFnZXMge1xuICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgd2lkdGg6IDY2LjZ2dzsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnNsaWRlc2hvd19faW1hZ2VzIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLnNsaWRlc2hvd19faW1hZ2VzIC5vd2wtbmF2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyMTBweDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIG1hcmdpbjogYXV0byAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhZGNiMDA7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuc2xpZGVzaG93X19pbWFnZXMgLm93bC1uYXYge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAuc2xpZGVzaG93X19pbWFnZXMgLm93bC1uYXYgLm93bC1wcmV2IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuc2xpZGVzaG93X19pbWFnZXMgLm93bC1uYXYgLm93bC1uZXh0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAuc2xpZGVzaG93X19pbWFnZXMgLm93bC1uYXYgc3ZnIHtcbiAgICAgIHdpZHRoOiAzNHB4O1xuICAgICAgaGVpZ2h0OiA1MHB4OyB9XG4gIC5zbGlkZXNob3dfX2ltYWdlcyAub3dsLWRvdHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0yOHB4O1xuICAgIHotaW5kZXg6IDI7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuc2xpZGVzaG93X19pbWFnZXMgLm93bC1kb3RzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcmlnaHQ6IDQwcHg7XG4gICAgICAgIGJvdHRvbTogLTM1cHg7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgLnNsaWRlc2hvd19faW1hZ2VzIC5vd2wtZG90cyAub3dsLWRvdCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAgIC5zbGlkZXNob3dfX2ltYWdlcyAub3dsLWRvdHMgLm93bC1kb3Qge1xuICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTRweDsgfSB9XG4gIC5zbGlkZXNob3dfX2ltYWdlcy5wYWdpbmF0aW9uLXJlZCAub3dsLWRvdCB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzc3NDIxMjsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5zbGlkZXNob3dfX2ltYWdlcy5wYWdpbmF0aW9uLXJlZCAub3dsLWRvdCB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICM3NzQyMTI7IH0gfVxuICAgIC5zbGlkZXNob3dfX2ltYWdlcy5wYWdpbmF0aW9uLXJlZCAub3dsLWRvdC5hY3RpdmUsIC5zbGlkZXNob3dfX2ltYWdlcy5wYWdpbmF0aW9uLXJlZCAub3dsLWRvdDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc0MjEyOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAgIC5zbGlkZXNob3dfX2ltYWdlcy5wYWdpbmF0aW9uLXJlZCAub3dsLWRvdC5hY3RpdmUsIC5zbGlkZXNob3dfX2ltYWdlcy5wYWdpbmF0aW9uLXJlZCAub3dsLWRvdDpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NDIxMjsgfSB9XG4gIC5zbGlkZXNob3dfX2ltYWdlcy5wYWdpbmF0aW9uLWdyZWVuIC5vd2wtZG90IHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjNzc0MjEyOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLnNsaWRlc2hvd19faW1hZ2VzLnBhZ2luYXRpb24tZ3JlZW4gLm93bC1kb3Qge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjNzc0MjEyOyB9IH1cbiAgICAuc2xpZGVzaG93X19pbWFnZXMucGFnaW5hdGlvbi1ncmVlbiAub3dsLWRvdC5hY3RpdmUsIC5zbGlkZXNob3dfX2ltYWdlcy5wYWdpbmF0aW9uLWdyZWVuIC5vd2wtZG90OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3NzQyMTI7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgICAgLnNsaWRlc2hvd19faW1hZ2VzLnBhZ2luYXRpb24tZ3JlZW4gLm93bC1kb3QuYWN0aXZlLCAuc2xpZGVzaG93X19pbWFnZXMucGFnaW5hdGlvbi1ncmVlbiAub3dsLWRvdDpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NDIxMjsgfSB9XG5cbi5zbGlkZXNob3dfX3NsaWRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNjYuNnZ3O1xuICBtaW4taGVpZ2h0OiA2MDBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnNsaWRlc2hvd19fc2xpZGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5zbGlkZXNob3dfX3NsaWRlIHtcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGV4dCBpbWFnZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50ZXh0LWltYWdlIC53cmFwcGVyIHtcbiAgcGFkZGluZy10b3A6IDEyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTc1cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAudGV4dC1pbWFnZSAud3JhcHBlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTEwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnRleHQtaW1hZ2UgLndyYXBwZXIge1xuICAgICAgcGFkZGluZy10b3A6IDY1cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogOTBweDsgfSB9XG5cbi50ZXh0LWltYWdlLmJhY2tncm91bmQtLWRlZmF1bHQgLmJ1dHRvbi0tYm9yZGVyIHtcbiAgYm9yZGVyOiAycHggc29saWQgIzU5NWE0ZTtcbiAgY29sb3I6ICM1OTVhNGU7IH1cbiAgLnRleHQtaW1hZ2UuYmFja2dyb3VuZC0tZGVmYXVsdCAuYnV0dG9uLS1ib3JkZXIgc3ZnIHtcbiAgICBjb2xvcjogIzU5NWE0ZTtcbiAgICBmaWxsOiAjNTk1YTRlOyB9XG4gIC50ZXh0LWltYWdlLmJhY2tncm91bmQtLWRlZmF1bHQgLmJ1dHRvbi0tYm9yZGVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzU5NWE0ZTsgfVxuICAudGV4dC1pbWFnZS5iYWNrZ3JvdW5kLS1kZWZhdWx0IC5idXR0b24tLWJvcmRlcjpob3ZlciB7XG4gICAgY29sb3I6ICNjYmQ0ZDc7IH1cblxuLnRleHQtaW1hZ2UuYmFja2dyb3VuZC0tZGVmYXVsdCAuYnV0dG9uLS1hcnJvdyB7XG4gIGNvbG9yOiAjNTk1YTRlOyB9XG4gIC50ZXh0LWltYWdlLmJhY2tncm91bmQtLWRlZmF1bHQgLmJ1dHRvbi0tYXJyb3cgc3ZnIHtcbiAgICBjb2xvcjogIzU5NWE0ZTtcbiAgICBmaWxsOiAjNTk1YTRlOyB9XG5cbi50ZXh0LWltYWdlX19jb2x1bW4tdGV4dCB7XG4gIHdpZHRoOiA1NCU7XG4gIHBhZGRpbmctcmlnaHQ6IDEwMHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAudGV4dC1pbWFnZV9fY29sdW1uLXRleHQge1xuICAgICAgcGFkZGluZy1yaWdodDogNTBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAudGV4dC1pbWFnZV9fY29sdW1uLXRleHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi50ZXh0LWltYWdlX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuLnRleHQtaW1hZ2VfX2VkaXRvciB7XG4gIG1hcmdpbi1ib3R0b206IDM1cHg7IH1cblxuLnRleHQtaW1hZ2VfX2NvbHVtbi1pbWFnZSB7XG4gIHdpZHRoOiA0NiU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC50ZXh0LWltYWdlX19jb2x1bW4taW1hZ2Uge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAudGV4dC1pbWFnZV9fY29sdW1uLWltYWdlICNwbGF5IHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgNDAwbXMgZWFzZTsgfVxuICAgIC50ZXh0LWltYWdlX19jb2x1bW4taW1hZ2UgI3BsYXkgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1OTVhNGU7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtIDUwcHgpOyB9XG4gICAgICAudGV4dC1pbWFnZV9fY29sdW1uLWltYWdlICNwbGF5IHNwYW4gc3ZnIHtcbiAgICAgICAgd2lkdGg6IDM5cHg7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICAgICAgY29sb3I6ICNhZGNiMDA7IH1cbiAgICAudGV4dC1pbWFnZV9fY29sdW1uLWltYWdlICNwbGF5OmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuODsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGV4dCBzbGlkZXNob3dcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udGV4dC1zbGlkZXNob3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnRleHQtc2xpZGVzaG93IC53cmFwcGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMTIwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE4MHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC50ZXh0LXNsaWRlc2hvdyAud3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1MXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogODVweDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLnRleHQtc2xpZGVzaG93IC53cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDU1cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4NXB4OyB9IH1cbiAgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWRlZmF1bHQgLm93bC1uYXYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1OTVhNGU7IH1cbiAgICAudGV4dC1zbGlkZXNob3cuYmFja2dyb3VuZC0tZGVmYXVsdCAub3dsLW5hdiBzdmcge1xuICAgICAgY29sb3I6ICNjYmQ0ZDc7XG4gICAgICBmaWxsOiAjY2JkNGQ3OyB9XG4gIC50ZXh0LXNsaWRlc2hvdy5iYWNrZ3JvdW5kLS1kZWZhdWx0IC5vd2wtZG90IHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjNTk1YTRlOyB9XG4gICAgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWRlZmF1bHQgLm93bC1kb3QuYWN0aXZlLCAudGV4dC1zbGlkZXNob3cuYmFja2dyb3VuZC0tZGVmYXVsdCAub3dsLWRvdDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTk1YTRlOyB9XG4gIC50ZXh0LXNsaWRlc2hvdy5iYWNrZ3JvdW5kLS1kZWZhdWx0IC5vd2wtbmF2LCAudGV4dC1zbGlkZXNob3cuYmFja2dyb3VuZC0tYnJvd24gLm93bC1uYXYsIC50ZXh0LXNsaWRlc2hvdy5iYWNrZ3JvdW5kLS1iZWlnZSAub3dsLW5hdiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FkY2IwMDsgfVxuICAgIC50ZXh0LXNsaWRlc2hvdy5iYWNrZ3JvdW5kLS1kZWZhdWx0IC5vd2wtbmF2IHN2ZywgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWJyb3duIC5vd2wtbmF2IHN2ZywgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWJlaWdlIC5vd2wtbmF2IHN2ZyB7XG4gICAgICBjb2xvcjogIzc3NDIxMjtcbiAgICAgIGZpbGw6ICM3NzQyMTI7IH1cbiAgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWRlZmF1bHQgLm93bC1kb3QsIC50ZXh0LXNsaWRlc2hvdy5iYWNrZ3JvdW5kLS1icm93biAub3dsLWRvdCwgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWJlaWdlIC5vd2wtZG90IHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjNzc0MjEyOyB9XG4gICAgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWRlZmF1bHQgLm93bC1kb3QuYWN0aXZlLCAudGV4dC1zbGlkZXNob3cuYmFja2dyb3VuZC0tZGVmYXVsdCAub3dsLWRvdDpob3ZlciwgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWJyb3duIC5vd2wtZG90LmFjdGl2ZSwgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWJyb3duIC5vd2wtZG90OmhvdmVyLCAudGV4dC1zbGlkZXNob3cuYmFja2dyb3VuZC0tYmVpZ2UgLm93bC1kb3QuYWN0aXZlLCAudGV4dC1zbGlkZXNob3cuYmFja2dyb3VuZC0tYmVpZ2UgLm93bC1kb3Q6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NDIxMjsgfVxuXG4udGV4dC1zbGlkZXNob3dfX3dyYXAge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi50ZXh0LXNsaWRlc2hvd19fdGl0bGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTkycHg7XG4gIGxlZnQ6IC0xNXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLnRleHQtc2xpZGVzaG93X190aXRsZSB7XG4gICAgICB0b3A6IC02MXB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC50ZXh0LXNsaWRlc2hvd19fdGl0bGUge1xuICAgICAgdG9wOiAtMzJweDtcbiAgICAgIGxlZnQ6IC04cHg7IH0gfVxuXG4udGV4dC1zbGlkZXNob3dfX3RpdGxlICsgZGl2IHtcbiAgcGFkZGluZy10b3A6IDQwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC50ZXh0LXNsaWRlc2hvd19fdGl0bGUgKyBkaXYge1xuICAgICAgcGFkZGluZy10b3A6IDIwcHg7IH0gfVxuXG4udGV4dC1zbGlkZXNob3dfX2Jsb2NrLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDsgfVxuXG4vKipcbiAqIFNsaWRlc2hvdy5cbiAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAudGV4dC1pbWFnZV9fc2xpZGVzaG93IC5vd2wtc3RhZ2Utb3V0ZXIge1xuICAgIHdpZHRoOiAxNzkwcHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC50ZXh0LWltYWdlX19zbGlkZXNob3cgLm93bC1zdGFnZS1vdXRlciB7XG4gICAgd2lkdGg6IDEyMDVweDsgfSB9XG5cbi50ZXh0LWltYWdlX19zbGlkZXNob3cgLm93bC1uYXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiA1MjVweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgbWFyZ2luOiBhdXRvIDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC50ZXh0LWltYWdlX19zbGlkZXNob3cgLm93bC1uYXYge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC50ZXh0LWltYWdlX19zbGlkZXNob3cgLm93bC1uYXYgLm93bC1wcmV2IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC50ZXh0LWltYWdlX19zbGlkZXNob3cgLm93bC1uYXYgLm93bC1uZXh0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnRleHQtaW1hZ2VfX3NsaWRlc2hvdyAub3dsLW5hdiBzdmcge1xuICAgIHdpZHRoOiAzNHB4O1xuICAgIGhlaWdodDogNTBweDsgfVxuXG4udGV4dC1pbWFnZV9fc2xpZGVzaG93IC5vd2wtZG90cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBtYXJnaW4tbGVmdDogLTI4cHg7XG4gIHotaW5kZXg6IDI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC50ZXh0LWltYWdlX19zbGlkZXNob3cgLm93bC1kb3RzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogLTM1cHg7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICAudGV4dC1pbWFnZV9fc2xpZGVzaG93IC5vd2wtZG90cyAub3dsLWRvdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IDE0cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC50ZXh0LWltYWdlX19zbGlkZXNob3cgLm93bC1kb3RzIC5vd2wtZG90IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAxNHB4OyB9IH1cblxuLyoqXG4gKiBTbGlkZXMuXG4gKi9cbi50ZXh0LWltYWdlX19zbGlkZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDU3NXB4O1xuICBoZWlnaHQ6IDU2MHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAudGV4dC1pbWFnZV9fc2xpZGUge1xuICAgICAgd2lkdGg6IDM3NXB4O1xuICAgICAgaGVpZ2h0OiAzNjBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAudGV4dC1pbWFnZV9fc2xpZGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDQ1MHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC50ZXh0LWltYWdlX19zbGlkZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMzIwcHg7IH0gfVxuXG4vKipcbiAqIFNsaWRlc2hvdyBwb3NpdGlvbi5cbiAqL1xuLnRleHQtc2xpZGVzaG93X19ibG9jayB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWJvdHRvbTogMTIwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC50ZXh0LXNsaWRlc2hvd19fYmxvY2sge1xuICAgICAgYWxpZ24taXRlbXM6IGxlZnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiA5MHB4OyB9IH1cbiAgLnRleHQtc2xpZGVzaG93X19ibG9jazpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnRleHQtc2xpZGVzaG93X19ibG9jay50ZXh0LXNsaWRlc2hvd19fYmxvY2stLXJpZ2h0IC50ZXh0LXNsaWRlc2hvd19fY29sdW1uLXRleHQge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1NzVweCk7XG4gICAgbWF4LXdpZHRoOiA1NTBweDtcbiAgICBwYWRkaW5nOiAwIDUwcHggMCAxMDBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC50ZXh0LXNsaWRlc2hvd19fYmxvY2sudGV4dC1zbGlkZXNob3dfX2Jsb2NrLS1yaWdodCAudGV4dC1zbGlkZXNob3dfX2NvbHVtbi10ZXh0IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDM3NXB4KTtcbiAgICAgICAgcGFkZGluZzogMCA1MHB4IDAgMDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLnRleHQtc2xpZGVzaG93X19ibG9jay50ZXh0LXNsaWRlc2hvd19fYmxvY2stLXJpZ2h0IC50ZXh0LXNsaWRlc2hvd19fY29sdW1uLXRleHQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwIDAgNDBweDsgfSB9XG4gIC50ZXh0LXNsaWRlc2hvd19fYmxvY2sudGV4dC1zbGlkZXNob3dfX2Jsb2NrLS1yaWdodCAudGV4dC1zbGlkZXNob3dfX2NvbHVtbi1pbWFnZXMge1xuICAgIHdpZHRoOiA1NzVweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC50ZXh0LXNsaWRlc2hvd19fYmxvY2sudGV4dC1zbGlkZXNob3dfX2Jsb2NrLS1yaWdodCAudGV4dC1zbGlkZXNob3dfX2NvbHVtbi1pbWFnZXMge1xuICAgICAgICB3aWR0aDogMzc1cHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC50ZXh0LXNsaWRlc2hvd19fYmxvY2sudGV4dC1zbGlkZXNob3dfX2Jsb2NrLS1yaWdodCAudGV4dC1zbGlkZXNob3dfX2NvbHVtbi1pbWFnZXMge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAudGV4dC1zbGlkZXNob3dfX2Jsb2NrLnRleHQtc2xpZGVzaG93X19ibG9jay0tbGVmdCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH0gfVxuICAudGV4dC1zbGlkZXNob3dfX2Jsb2NrLnRleHQtc2xpZGVzaG93X19ibG9jay0tbGVmdCAudGV4dC1zbGlkZXNob3dfX2NvbHVtbi10ZXh0IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNTc1cHgpO1xuICAgIG1heC13aWR0aDogNTUwcHg7XG4gICAgcGFkZGluZzogMCAxMDBweCAwIDUwcHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAudGV4dC1zbGlkZXNob3dfX2Jsb2NrLnRleHQtc2xpZGVzaG93X19ibG9jay0tbGVmdCAudGV4dC1zbGlkZXNob3dfX2NvbHVtbi10ZXh0IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDM3NXB4KTtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgNTBweDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLnRleHQtc2xpZGVzaG93X19ibG9jay50ZXh0LXNsaWRlc2hvd19fYmxvY2stLWxlZnQgLnRleHQtc2xpZGVzaG93X19jb2x1bW4tdGV4dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDAgMCA0MHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC50ZXh0LXNsaWRlc2hvd19fYmxvY2sudGV4dC1zbGlkZXNob3dfX2Jsb2NrLS1sZWZ0IC50ZXh0LXNsaWRlc2hvd19fY29sdW1uLWltYWdlcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgd2lkdGg6IDU3NXB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC50ZXh0LXNsaWRlc2hvd19fYmxvY2sudGV4dC1zbGlkZXNob3dfX2Jsb2NrLS1sZWZ0IC50ZXh0LXNsaWRlc2hvd19fY29sdW1uLWltYWdlcyB7XG4gICAgICB3aWR0aDogMzc1cHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnRleHQtc2xpZGVzaG93X19ibG9jay50ZXh0LXNsaWRlc2hvd19fYmxvY2stLWxlZnQgLnRleHQtc2xpZGVzaG93X19jb2x1bW4taW1hZ2VzIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC50ZXh0LXNsaWRlc2hvd19fYmxvY2sudGV4dC1zbGlkZXNob3dfX2Jsb2NrLS1sZWZ0IC50ZXh0LXNsaWRlc2hvd19fY29sdW1uLWltYWdlcyAub3dsLWNhcm91c2VsIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC50ZXh0LXNsaWRlc2hvd19fYmxvY2sudGV4dC1zbGlkZXNob3dfX2Jsb2NrLS1sZWZ0IC5vd2wtbmF2IHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogYXV0bzsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAudGV4dC1zbGlkZXNob3dfX2Jsb2NrLnRleHQtc2xpZGVzaG93X19ibG9jay0tbGVmdCAub3dsLWRvdHMge1xuICAgICAgcmlnaHQ6IC0yOHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG4udmlkZW8taGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgbWluLWhlaWdodDogNzM1cHg7XG4gIG1hcmdpbi1ib3R0b206IDEwMHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAudmlkZW8taGVhZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH0gfVxuICAudmlkZW8taGVhZGVyOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCB3aGl0ZSAwJSwgd2hpdGUgNSUsIHJnYmEoMjM3LCA4MywgODMsIDApIDYwJSk7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLnZpZGVvLWhlYWRlcjpoYXMoLnZpZGVvLWhlYWRlcl9fdmlkZW8uaXMtcGxheWluZykgLnZpZGVvLWhlYWRlcl9faW1hZ2Uge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi52aWRlby1oZWFkZXJfX3ZpZGVvIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogLTE7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC52aWRlby1oZWFkZXJfX3ZpZGVvLmRlc2t0b3Age1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAudmlkZW8taGVhZGVyX192aWRlby5tb2JpbGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC52aWRlby1oZWFkZXJfX3ZpZGVvIGlmcmFtZSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTc3Ljc3Nzc3Nzc4dmg7XG4gICAgaGVpZ2h0OiA1Ni4yNXZ3O1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cblxuLnZpZGVvLWhlYWRlcl9faW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZS1pbi1vdXQgNzUwbXM7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC52aWRlby1oZWFkZXJfX2ltYWdlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLnZpZGVvLWhlYWRlcl9faW1hZ2UgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbG9yXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBDb2xvciB1dGlsaXR5IGNsYXNzZXMuXG4gKi9cbi8qKlxuICAgICAgICogYGNvbG9yYCBibGFjay0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmNvbG9yLWJsYWNrLTEwMCB7XG4gIGNvbG9yOiBibGFjazsgfVxuXG4vKipcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCBibGFjay0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItYmxhY2stMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cblxuLyoqXG4gICAgICAgKiBgY29sb3JgIHdoaXRlLTEwMCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uY29sb3Itd2hpdGUtMTAwIHtcbiAgY29sb3I6IHdoaXRlOyB9XG5cbi8qKlxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgIHdoaXRlLTEwMCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci13aGl0ZS0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuXG4vKipcbiAgICAgICAqIGBjb2xvcmAgI2NiZDRkNy0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmNvbG9yLWJsdWUtbGlnaHQtMTAwIHtcbiAgY29sb3I6ICNjYmQ0ZDc7IH1cblxuLyoqXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgI2NiZDRkNy0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItYmx1ZS1saWdodC0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2JkNGQ3OyB9XG5cbi8qKlxuICAgICAgICogYGNvbG9yYCAjYWZiN2JhLTUwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5jb2xvci1ibHVlLWxpZ2h0LTUwIHtcbiAgY29sb3I6ICNhZmI3YmE7IH1cblxuLyoqXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgI2FmYjdiYS01MCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1ibHVlLWxpZ2h0LTUwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FmYjdiYTsgfVxuXG4vKipcbiAgICAgICAqIGBjb2xvcmAgIzIxNDM5MS0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmNvbG9yLWJsdWUtZGFyay0xMDAge1xuICBjb2xvcjogIzIxNDM5MTsgfVxuXG4vKipcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjMjE0MzkxLTEwMCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1ibHVlLWRhcmstMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxNDM5MTsgfVxuXG4vKipcbiAgICAgICAqIGBjb2xvcmAgI2Q5OWI2OC0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmNvbG9yLW9yYW5nZS0xMDAge1xuICBjb2xvcjogI2Q5OWI2ODsgfVxuXG4vKipcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjZDk5YjY4LTEwMCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1vcmFuZ2UtMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5OWI2ODsgfVxuXG4vKipcbiAgICAgICAqIGBjb2xvcmAgI2RmNDEyNi0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmNvbG9yLXJlZC0xMDAge1xuICBjb2xvcjogI2RmNDEyNjsgfVxuXG4vKipcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjZGY0MTI2LTEwMCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1yZWQtMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RmNDEyNjsgfVxuXG4vKipcbiAgICAgICAqIGBjb2xvcmAgIzU5NWE0ZS0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmNvbG9yLWdyZWVuLTEwMCB7XG4gIGNvbG9yOiAjNTk1YTRlOyB9XG5cbi8qKlxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICM1OTVhNGUtMTAwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLWdyZWVuLTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1OTVhNGU7IH1cblxuLyoqXG4gICAgICAgKiBgY29sb3JgICM5NTliOTctNTAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmNvbG9yLWdyZWVuLTUwIHtcbiAgY29sb3I6ICM5NTliOTc7IH1cblxuLyoqXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgIzk1OWI5Ny01MCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1ncmVlbi01MCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5NTliOTc7IH1cblxuLyoqXG4gICAgICAgKiBgY29sb3JgICM1NjU3NGMtMTAwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5jb2xvci1ncmVlbi1iYWNrZ3JvdW5kLTEwMCB7XG4gIGNvbG9yOiAjNTY1NzRjOyB9XG5cbi8qKlxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICM1NjU3NGMtMTAwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLWdyZWVuLWJhY2tncm91bmQtMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU2NTc0YzsgfVxuXG4vKipcbiAgICAgICAqIGBjb2xvcmAgIzI1MTcxMy0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmNvbG9yLWJyb3duLTEwMCB7XG4gIGNvbG9yOiAjMjUxNzEzOyB9XG5cbi8qKlxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICMyNTE3MTMtMTAwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLWJyb3duLTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNTE3MTM7IH1cblxuLyoqXG4gICAgICAgKiBgY29sb3JgICMyYjFjMTctMTAwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5jb2xvci1icm93bi1iYWNrZ3JvdW5kLTEwMCB7XG4gIGNvbG9yOiAjMmIxYzE3OyB9XG5cbi8qKlxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICMyYjFjMTctMTAwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLWJyb3duLWJhY2tncm91bmQtMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJiMWMxNzsgfVxuXG4vKipcbiAgICAgICAqIGBjb2xvcmAgI2FkY2IwMC0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmNvbG9yLWJvc3MtZ3JlZW4tMTAwIHtcbiAgY29sb3I6ICNhZGNiMDA7IH1cblxuLyoqXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgI2FkY2IwMC0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItYm9zcy1ncmVlbi0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWRjYjAwOyB9XG5cbi8qKlxuICAgICAgICogYGNvbG9yYCAjMjEyNzIxLTEwMCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uY29sb3ItYm9zcy1ncmV5LTEwMCB7XG4gIGNvbG9yOiAjMjEyNzIxOyB9XG5cbi8qKlxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICMyMTI3MjEtMTAwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLWJvc3MtZ3JleS0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjEyNzIxOyB9XG5cbi8qKlxuICAgICAgICogYGNvbG9yYCAjNzc0MjEyLTEwMCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uY29sb3ItYm9zcy1icm93bi0xMDAge1xuICBjb2xvcjogIzc3NDIxMjsgfVxuXG4vKipcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjNzc0MjEyLTEwMCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1ib3NzLWJyb3duLTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3NzQyMTI7IH1cblxuLyoqXG4gICAgICAgKiBgY29sb3JgICNmMGU0Y2ItMTAwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5jb2xvci1ib3NzLWJlaWdlLTEwMCB7XG4gIGNvbG9yOiAjZjBlNGNiOyB9XG5cbi8qKlxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICNmMGU0Y2ItMTAwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLWJvc3MtYmVpZ2UtMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwZTRjYjsgfVxuXG4vKipcbiAqIEdlbmVyaWMgaGVscGVyIGNsYXNzZXMuXG4gKi9cbi8qKlxuICogVmlzdWFsbHkgaGlkZSBhbnkgZWxlbWVudCBmcm9tIHRoZSB1c2VyLlxuICovXG4udmlzdWFsbHktaGlkZGVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgY2xpcC1wYXRoOiBpbnNldCgxcHgpOyB9XG5cbi8qKlxuICogTWFrZSBsYXp5bG9hZCBwbGFjZWhvbGRlciAxMDAlIHdpZGUuXG4gKi9cbi5sYXp5bG9hZCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qKlxuICogSGVscGVyIGNsYXNzIGZvciBvYmplY3QgZml0IHBvbHlmaWxsLiBBZGQgdGhpcyBjbGFzcyB0byBhbnkgZWxlbWVudFxuICogdGhhdCB1dGlsaXplcyB0aGUgYG9iamVjdC1maXRgIHByb3BlcnR5LlxuICovXG4ub2JqZWN0LWZpdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LWZhbWlseTogJ29iamVjdC1maXQ6IGNvdmVyOyc7XG4gIG9iamVjdC1maXQ6IGNvdmVyOyB9XG5cbi8qKlxuICogQWxpZ24gY2VudGVyLlxuICovXG4uYWxpZ24tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi8qKlxuICogQWxpZ24gbGVmdC5cbiAqL1xuLmFsaWduLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi8qKlxuICogQWxpZ24gcmlnaHQuXG4gKi9cbi5hbGlnbi1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi53NjAge1xuICB3aWR0aDogNjAlOyB9XG5cbi53NDAge1xuICB3aWR0aDogNDAlOyB9XG5cbi53NTAge1xuICB3aWR0aDogNTAlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBPYmplY3QgRml0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBPYmplY3QgZml0LlxuICpcbiAqIDEuIEZvbnQgZmFtaWx5IHBvbHlmaWxsIHdpdGggKGh0dHBzOi8vZ2l0aHViLmNvbS9iZnJlZC1pdC9vYmplY3QtZml0LWltYWdlcykuXG4gKi9cbi8qKlxuICAgKiBgb2JqZWN0LWZpdGAgZmlsbCB1dGlsaXR5IGNsYXNzLlxuICAgKi9cbi5maWxsIHtcbiAgZm9udC1mYW1pbHk6IFwib2JqZWN0LWZpdDogZmlsbDtcIjtcbiAgLyogMSAqL1xuICBvYmplY3QtZml0OiBmaWxsOyB9XG5cbi8qKlxuICAgKiBgb2JqZWN0LWZpdGAgY29udGFpbiB1dGlsaXR5IGNsYXNzLlxuICAgKi9cbi5jb250YWluIHtcbiAgZm9udC1mYW1pbHk6IFwib2JqZWN0LWZpdDogY29udGFpbjtcIjtcbiAgLyogMSAqL1xuICBvYmplY3QtZml0OiBjb250YWluOyB9XG5cbi8qKlxuICAgKiBgb2JqZWN0LWZpdGAgY292ZXIgdXRpbGl0eSBjbGFzcy5cbiAgICovXG4uY292ZXIge1xuICBmb250LWZhbWlseTogXCJvYmplY3QtZml0OiBjb3ZlcjtcIjtcbiAgLyogMSAqL1xuICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuXG4vKipcbiAgICogYG9iamVjdC1maXRgIG5vbmUgdXRpbGl0eSBjbGFzcy5cbiAgICovXG4ubm9uZSB7XG4gIGZvbnQtZmFtaWx5OiBcIm9iamVjdC1maXQ6IG5vbmU7XCI7XG4gIC8qIDEgKi9cbiAgb2JqZWN0LWZpdDogbm9uZTsgfVxuXG4vKipcbiAgICogYG9iamVjdC1maXRgIHNjYWxlLWRvd24gdXRpbGl0eSBjbGFzcy5cbiAgICovXG4uc2NhbGUtZG93biB7XG4gIGZvbnQtZmFtaWx5OiBcIm9iamVjdC1maXQ6IHNjYWxlLWRvd247XCI7XG4gIC8qIDEgKi9cbiAgb2JqZWN0LWZpdDogc2NhbGUtZG93bjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUG9zaXRpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFBvc2l0aW9uIHV0aWxpdHkgY2xhc3MuXG4gKi9cbi5zdGF0aWMge1xuICBwb3NpdGlvbjogc3RhdGljOyB9XG5cbi5yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLmZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogc3RpY2t5OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUZXh0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBGb250IGZhbWlseSB1dGlsaXR5IGNsYXNzZXMuXG4gKi9cbi50ZXh0LXhzLWRlZmF1bHQge1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLVJlZ3VsYXJcIjsgfVxuXG4udGV4dC14cy1tZWRpdW0ge1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLU1lZGl1bVwiOyB9XG5cbi50ZXh0LXhzLWhlYWRpbmcge1xuICBmb250LWZhbWlseTogXCJCdXJmb3JkUnVzdGljU2hhZG93VHdvQVwiOyB9XG5cbi50ZXh0LXNtLWRlZmF1bHQge1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLVJlZ3VsYXJcIjsgfVxuXG4udGV4dC1zbS1tZWRpdW0ge1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLU1lZGl1bVwiOyB9XG5cbi50ZXh0LXNtLWhlYWRpbmcge1xuICBmb250LWZhbWlseTogXCJCdXJmb3JkUnVzdGljU2hhZG93VHdvQVwiOyB9XG5cbi50ZXh0LW1kLWRlZmF1bHQge1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLVJlZ3VsYXJcIjsgfVxuXG4udGV4dC1tZC1tZWRpdW0ge1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLU1lZGl1bVwiOyB9XG5cbi50ZXh0LW1kLWhlYWRpbmcge1xuICBmb250LWZhbWlseTogXCJCdXJmb3JkUnVzdGljU2hhZG93VHdvQVwiOyB9XG5cbi50ZXh0LWxnLWRlZmF1bHQge1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLVJlZ3VsYXJcIjsgfVxuXG4udGV4dC1sZy1tZWRpdW0ge1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLU1lZGl1bVwiOyB9XG5cbi50ZXh0LWxnLWhlYWRpbmcge1xuICBmb250LWZhbWlseTogXCJCdXJmb3JkUnVzdGljU2hhZG93VHdvQVwiOyB9XG5cbi50ZXh0LXhsLWRlZmF1bHQge1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLVJlZ3VsYXJcIjsgfVxuXG4udGV4dC14bC1tZWRpdW0ge1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLU1lZGl1bVwiOyB9XG5cbi50ZXh0LXhsLWhlYWRpbmcge1xuICBmb250LWZhbWlseTogXCJCdXJmb3JkUnVzdGljU2hhZG93VHdvQVwiOyB9XG5cbi8qKlxuICogVGV4dCBzaXplIHV0aWxpdHkgY2xhc3Nlcy5cbiAqL1xuLnRleHQteHMtaDEge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtc2l6ZTogNC44cmVtO1xuICBsaW5lLWhlaWdodDogMS4yMDgzM2VtOyB9XG5cbi50ZXh0LXhzLWgyIHtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBmb250LXNpemU6IDQuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1ZW07IH1cblxuLnRleHQteHMtaDMge1xuICBmb250LXNpemU6IDE1MHB4O1xuICBmb250LXNpemU6IDE1cmVtO1xuICBsaW5lLWhlaWdodDogMWVtOyB9XG5cbi50ZXh0LXhzLXAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS41ZW07IH1cblxuLnRleHQtc20taDEge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtc2l6ZTogNC44cmVtO1xuICBsaW5lLWhlaWdodDogMS4yMDgzM2VtOyB9XG5cbi50ZXh0LXNtLWgyIHtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBmb250LXNpemU6IDQuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1ZW07IH1cblxuLnRleHQtc20taDMge1xuICBmb250LXNpemU6IDE1MHB4O1xuICBmb250LXNpemU6IDE1cmVtO1xuICBsaW5lLWhlaWdodDogMWVtOyB9XG5cbi50ZXh0LXNtLXAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS41ZW07IH1cblxuLnRleHQtbWQtaDEge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtc2l6ZTogNC44cmVtO1xuICBsaW5lLWhlaWdodDogMS4yMDgzM2VtOyB9XG5cbi50ZXh0LW1kLWgyIHtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBmb250LXNpemU6IDQuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1ZW07IH1cblxuLnRleHQtbWQtaDMge1xuICBmb250LXNpemU6IDE1MHB4O1xuICBmb250LXNpemU6IDE1cmVtO1xuICBsaW5lLWhlaWdodDogMWVtOyB9XG5cbi50ZXh0LW1kLXAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS41ZW07IH1cblxuLnRleHQtbGctaDEge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtc2l6ZTogNC44cmVtO1xuICBsaW5lLWhlaWdodDogMS4yMDgzM2VtOyB9XG5cbi50ZXh0LWxnLWgyIHtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBmb250LXNpemU6IDQuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1ZW07IH1cblxuLnRleHQtbGctaDMge1xuICBmb250LXNpemU6IDE1MHB4O1xuICBmb250LXNpemU6IDE1cmVtO1xuICBsaW5lLWhlaWdodDogMWVtOyB9XG5cbi50ZXh0LWxnLXAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS41ZW07IH1cblxuLnRleHQteGwtaDEge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtc2l6ZTogNC44cmVtO1xuICBsaW5lLWhlaWdodDogMS4yMDgzM2VtOyB9XG5cbi50ZXh0LXhsLWgyIHtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBmb250LXNpemU6IDQuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1ZW07IH1cblxuLnRleHQteGwtaDMge1xuICBmb250LXNpemU6IDE1MHB4O1xuICBmb250LXNpemU6IDE1cmVtO1xuICBsaW5lLWhlaWdodDogMWVtOyB9XG5cbi50ZXh0LXhsLXAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS41ZW07IH1cblxuLyoqXG4gKiBUZXh0IGFsaWdubWVudCB1dGlsaXR5IGNsYXNzZXMuXG4gKi9cbi50ZXh0LXhzLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXhzLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQteHMtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LXNtLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXNtLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtc20tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LW1kLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LW1kLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtbWQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LWxnLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LWxnLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtbGctY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LXhsLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXhsLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQteGwtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi8qKlxuICogRm9udCB3ZWlnaHQgdXRpbGl0eSBjbGFzc2VzLlxuICpcbiAqIDEuIE11bHRpcGx5IGxvb3BlZCBpbnRlZ2VyIGJ5IDEwMCBmb3IgY29ycmVjdCBmb250IHdlaWdodCB2YWx1ZS5cbiAqL1xuLnRleHQteHMtMTAwIHtcbiAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuXG4udGV4dC14cy0yMDAge1xuICBmb250LXdlaWdodDogMjAwOyB9XG5cbi50ZXh0LXhzLTMwMCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLnRleHQteHMtNDAwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4udGV4dC14cy01MDAge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi50ZXh0LXhzLTYwMCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnRleHQteHMtNzAwIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udGV4dC14cy04MDAge1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi50ZXh0LXhzLTkwMCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuLnRleHQtc20tMTAwIHtcbiAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuXG4udGV4dC1zbS0yMDAge1xuICBmb250LXdlaWdodDogMjAwOyB9XG5cbi50ZXh0LXNtLTMwMCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLnRleHQtc20tNDAwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4udGV4dC1zbS01MDAge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi50ZXh0LXNtLTYwMCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnRleHQtc20tNzAwIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udGV4dC1zbS04MDAge1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi50ZXh0LXNtLTkwMCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuLnRleHQtbWQtMTAwIHtcbiAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuXG4udGV4dC1tZC0yMDAge1xuICBmb250LXdlaWdodDogMjAwOyB9XG5cbi50ZXh0LW1kLTMwMCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLnRleHQtbWQtNDAwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4udGV4dC1tZC01MDAge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi50ZXh0LW1kLTYwMCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnRleHQtbWQtNzAwIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udGV4dC1tZC04MDAge1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi50ZXh0LW1kLTkwMCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuLnRleHQtbGctMTAwIHtcbiAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuXG4udGV4dC1sZy0yMDAge1xuICBmb250LXdlaWdodDogMjAwOyB9XG5cbi50ZXh0LWxnLTMwMCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLnRleHQtbGctNDAwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4udGV4dC1sZy01MDAge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi50ZXh0LWxnLTYwMCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnRleHQtbGctNzAwIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udGV4dC1sZy04MDAge1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi50ZXh0LWxnLTkwMCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuLnRleHQteGwtMTAwIHtcbiAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuXG4udGV4dC14bC0yMDAge1xuICBmb250LXdlaWdodDogMjAwOyB9XG5cbi50ZXh0LXhsLTMwMCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLnRleHQteGwtNDAwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4udGV4dC14bC01MDAge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi50ZXh0LXhsLTYwMCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnRleHQteGwtNzAwIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udGV4dC14bC04MDAge1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi50ZXh0LXhsLTkwMCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuLyoqXG4gKiBUZXh0IHRyYW5zZm9ybSB1aXRsaXR5IGNsYXNzZXMuXG4gKi9cbi50ZXh0LXhzLWNhcGl0YWxpemUge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4udGV4dC14cy11cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi50ZXh0LXhzLWxvd2VyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH1cblxuLnRleHQteHMtbm9uZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi50ZXh0LXhzLWZ1bGwtd2lkdGgge1xuICB0ZXh0LXRyYW5zZm9ybTogZnVsbC13aWR0aDsgfVxuXG4udGV4dC1zbS1jYXBpdGFsaXplIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLnRleHQtc20tdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4udGV4dC1zbS1sb3dlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG5cbi50ZXh0LXNtLW5vbmUge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4udGV4dC1zbS1mdWxsLXdpZHRoIHtcbiAgdGV4dC10cmFuc2Zvcm06IGZ1bGwtd2lkdGg7IH1cblxuLnRleHQtbWQtY2FwaXRhbGl6ZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG5cbi50ZXh0LW1kLXVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnRleHQtbWQtbG93ZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTsgfVxuXG4udGV4dC1tZC1ub25lIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLnRleHQtbWQtZnVsbC13aWR0aCB7XG4gIHRleHQtdHJhbnNmb3JtOiBmdWxsLXdpZHRoOyB9XG5cbi50ZXh0LWxnLWNhcGl0YWxpemUge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4udGV4dC1sZy11cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi50ZXh0LWxnLWxvd2VyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH1cblxuLnRleHQtbGctbm9uZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi50ZXh0LWxnLWZ1bGwtd2lkdGgge1xuICB0ZXh0LXRyYW5zZm9ybTogZnVsbC13aWR0aDsgfVxuXG4udGV4dC14bC1jYXBpdGFsaXplIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLnRleHQteGwtdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4udGV4dC14bC1sb3dlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG5cbi50ZXh0LXhsLW5vbmUge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4udGV4dC14bC1mdWxsLXdpZHRoIHtcbiAgdGV4dC10cmFuc2Zvcm06IGZ1bGwtd2lkdGg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFZlcnRpY2FsIFJoeXRobVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi52ci0wIHtcbiAgbWFyZ2luLWJvdHRvbTogMHB4OyB9XG5cbi52ci04IHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG5cbi52ci0xNiB7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cblxuLnZyLTI0IHtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDsgfVxuXG4udnItMzIge1xuICBtYXJnaW4tYm90dG9tOiAzMnB4OyB9XG5cbi52ci00MCB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cblxuLnZyLTQ4IHtcbiAgbWFyZ2luLWJvdHRvbTogNDhweDsgfVxuXG4udnItNTYge1xuICBtYXJnaW4tYm90dG9tOiA1NnB4OyB9XG5cbi52ci02NCB7XG4gIG1hcmdpbi1ib3R0b206IDY0cHg7IH1cblxuLnZyLTcyIHtcbiAgbWFyZ2luLWJvdHRvbTogNzJweDsgfVxuXG4udnItODAge1xuICBtYXJnaW4tYm90dG9tOiA4MHB4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBaLWluZGV4XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBVdGlsaXR5IGNsYXNzZXMgZm9yIG1hbmlwdWxhdGluZyBzdGFja2luZyBvcmRlciBpbiBIVE1MLlxuICovXG4uei1pbmRleC0wIHtcbiAgei1pbmRleDogMDsgfVxuXG4uei1pbmRleC0xIHtcbiAgei1pbmRleDogMTA7IH1cblxuLnotaW5kZXgtMiB7XG4gIHotaW5kZXg6IDIwOyB9XG5cbi56LWluZGV4LTMge1xuICB6LWluZGV4OiAzMDsgfVxuXG4uei1pbmRleC00IHtcbiAgei1pbmRleDogNDA7IH1cblxuLnotaW5kZXgtNSB7XG4gIHotaW5kZXg6IDUwOyB9XG5cbi56LWluZGV4LTYge1xuICB6LWluZGV4OiA2MDsgfVxuXG4uei1pbmRleC03IHtcbiAgei1pbmRleDogNzA7IH1cblxuLnotaW5kZXgtOCB7XG4gIHotaW5kZXg6IDgwOyB9XG5cbi56LWluZGV4LTkge1xuICB6LWluZGV4OiA5MDsgfVxuXG4uei1pbmRleC0xMCB7XG4gIHotaW5kZXg6IDEwMDsgfVxuXG4uaWZyYW1lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNTYwcHg7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uaWZyYW1lIGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5pZnJhbWUgaWZyYW1lIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5wbGF5LWJ0biB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogNjY2O1xuICB0b3A6IGNhbGMoNTAlIC0gNTBweCk7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7IH1cblxuLnBsYXktYnRuOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5wbGF5LWJ0bjpmb2N1cyB7XG4gIG91dGxpbmU6IDA7IH1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUeXBvZ3JhcGh5XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBGb250IGZhbWlseSBtYXAuXG4kZm9udC1mYW1pbHk6IChcbiAgJ2RlZmF1bHQnOiAnUHJlZGlnZS1SZWd1bGFyJyxcbiAgJ21lZGl1bSc6ICdQcmVkaWdlLU1lZGl1bScsXG4gICdoZWFkaW5nJzogJ0J1cmZvcmRSdXN0aWNTaGFkb3dUd29BJ1xuKTtcblxuXG4vLyBGb250IGZhY2UuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdCdXJmb3JkUnVzdGljU2hhZG93VHdvQSc7XG4gIHNyYzogdXJsKCcvd3AtY29udGVudC90aGVtZXMvYm9zcy9hc3NldHMvZm9udHMvQnVyZm9yZFJ1c3RpY1NoYWRvd1R3b0Eub3RmJykgZm9ybWF0KCdPcGVuVHlwZScpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdQcmVkaWdlLU1lZGl1bSc7XG4gIHNyYzogdXJsKCcvd3AtY29udGVudC90aGVtZXMvYm9zcy9hc3NldHMvZm9udHMvUHJlZGlnZS1NZWRpdW0ub3RmJykgZm9ybWF0KCdPcGVuVHlwZScpLFxuICAgICAgIHVybCgnL3dwLWNvbnRlbnQvdGhlbWVzL2Jvc3MvYXNzZXRzL2ZvbnRzL1ByZWRpZ2UtTWVkaXVtLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUHJlZGlnZS1SZWd1bGFyJztcbiAgc3JjOiB1cmwoJy93cC1jb250ZW50L3RoZW1lcy9ib3NzL2Fzc2V0cy9mb250cy9QcmVkaWdlLVJlZ3VsYXIub3RmJykgZm9ybWF0KCdPcGVuVHlwZScpLFxuICAgICAgIHVybCgnL3dwLWNvbnRlbnQvdGhlbWVzL2Jvc3MvYXNzZXRzL2ZvbnRzL1ByZWRpZ2UtUmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG59XG5cbi8vIEZvbnQgc2l6ZSBtYXAuXG4kZm9udC1zaXplOiAoXG4gICdoMSc6IDQ4cHgsXG4gICdoMic6IDQ4cHgsXG4gICdoMyc6IDE1MHB4LFxuICAncCc6IDE2cHhcbik7XG5cblxuLy8gTGluZSBoZWlnaHQgbWFwLlxuJGxpbmUtaGVpZ2h0OiAoXG4gICdoMSc6IDU4cHgsXG4gICdoMic6IDU0cHgsXG4gICdoMyc6IDE1MHB4LFxuICAncCc6IDI0cHhcbik7XG5cblxuXG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLypcbiAqICBPd2wgQ2Fyb3VzZWwgLSBDb3JlXG4gKi9cbi5vd2wtY2Fyb3VzZWwge1xuXHRkaXNwbGF5OiBub25lO1xuXHR3aWR0aDogMTAwJTtcblx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcblx0LyogcG9zaXRpb24gcmVsYXRpdmUgYW5kIHotaW5kZXggZml4IHdlYmtpdCByZW5kZXJpbmcgZm9udHMgaXNzdWUgKi9cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxO1xuXG5cdC5vd2wtc3RhZ2Uge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQtbXMtdG91Y2gtYWN0aW9uOiBwYW4tWTtcblx0XHR0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcblx0XHQtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgLyogZml4IGZpcmVmb3ggYW5pbWF0aW9uIGdsaXRjaCAqL1xuXHR9XG5cblx0Lm93bC1zdGFnZTphZnRlciB7XG5cdFx0Y29udGVudDogXCIuXCI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdGxpbmUtaGVpZ2h0OiAwO1xuXHRcdGhlaWdodDogMDtcblx0fVxuXG5cdC5vd2wtc3RhZ2Utb3V0ZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdC8qIGZpeCBmb3IgZmxhc2hpbmcgYmFja2dyb3VuZCAqL1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTtcblx0fVxuXG5cdC5vd2wtd3JhcHBlcixcblx0Lm93bC1pdGVte1xuXHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcblx0XHQtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuXHRcdC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcblx0fVxuXG5cdC5vd2wtaXRlbSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG1pbi1oZWlnaHQ6IDFweDtcblx0XHRmbG9hdDogbGVmdDtcblx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcblx0fVxuXHQub3dsLWl0ZW0gaW1nIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdC5vd2wtbmF2LmRpc2FibGVkLFxuXHQub3dsLWRvdHMuZGlzYWJsZWQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQub3dsLW5hdiAub3dsLXByZXYsXG5cdC5vd2wtbmF2IC5vd2wtbmV4dCxcblx0Lm93bC1kb3Qge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0XHR1c2VyLXNlbGVjdDogbm9uZTtcblx0fVxuXG5cdC5vd2wtbmF2IGJ1dHRvbi5vd2wtcHJldixcblx0Lm93bC1uYXYgYnV0dG9uLm93bC1uZXh0LFxuXHRidXR0b24ub3dsLWRvdCB7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0cGFkZGluZzowIWltcG9ydGFudDtcblx0XHRmb250OiBpbmhlcml0O1xuXHR9XG5cblx0Ji5vd2wtbG9hZGVkIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdCYub3dsLWxvYWRpbmcge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHQmLm93bC1oaWRkZW4ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblxuXHQmLm93bC1yZWZyZXNoIC5vd2wtaXRlbSB7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHR9XG5cblx0Ji5vd2wtZHJhZyAub3dsLWl0ZW0ge1xuXHRcdHRvdWNoLWFjdGlvbjogcGFuLXk7XG5cdFx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0XHR1c2VyLXNlbGVjdDogbm9uZTtcblx0fVxuXG5cdCYub3dsLWdyYWIge1xuXHRcdGN1cnNvcjogbW92ZTtcblx0XHRjdXJzb3I6IGdyYWI7XG5cdH1cblxuXHQmLm93bC1ydGwge1xuXHRcdGRpcmVjdGlvbjogcnRsO1xuXHR9XG5cblx0Ji5vd2wtcnRsIC5vd2wtaXRlbSB7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHR9XG59XG5cbi8qIE5vIEpzICovXG4ubm8tanMgLm93bC1jYXJvdXNlbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiLypcbiAqICBPd2wgQ2Fyb3VzZWwgLSBBbmltYXRlIFBsdWdpblxuICovXG4ub3dsLWNhcm91c2Vse1xuXHQuYW5pbWF0ZWQge1xuXHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xuXHRcdGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG5cdH1cblx0Lm93bC1hbmltYXRlZC1pbiB7XG5cdFx0ei1pbmRleDogMDtcblx0fVxuXHQub3dsLWFuaW1hdGVkLW91dCB7XG5cdFx0ei1pbmRleDogMTtcblx0fVxuXHQuZmFkZU91dCB7XG5cdFx0YW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG4iLCIvKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBBdXRvIEhlaWdodCBQbHVnaW5cbiAqL1xuXG4ub3dsLWhlaWdodCB7XG5cdHRyYW5zaXRpb246IGhlaWdodCA1MDBtcyBlYXNlLWluLW91dDtcbn1cbiIsIi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIExhenkgTG9hZCBQbHVnaW5cbiAqL1xuXG4ub3dsLWNhcm91c2VsIHtcblx0Lm93bC1pdGVtIHtcblx0XHQub3dsLWxhenkge1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7XG5cdFx0fVxuXG5cdFx0LyoqXG5cdFx0XHRUaGlzIGlzIGludHJvZHVjZWQgZHVlIHRvIGEgYnVnIGluIElFMTEgd2hlcmUgbGF6eSBsb2FkaW5nIGNvbWJpbmVkIHdpdGggYXV0b2hlaWdodCBwbHVnaW4gY2F1c2VzIGEgd3Jvbmdcblx0XHRcdGNhbGN1bGF0aW9uIG9mIHRoZSBoZWlnaHQgb2YgdGhlIG93bC1pdGVtIHRoYXQgYnJlYWtzIHBhZ2UgbGF5b3V0c1xuXHRcdCAqL1xuXHRcdC5vd2wtbGF6eVtzcmNePVwiXCJdLCAub3dsLWxhenk6bm90KFtzcmNdKSB7XG5cdFx0XHRtYXgtaGVpZ2h0OiAwO1xuXHRcdH1cblxuXHRcdGltZy5vd2wtbGF6eSB7XG5cdFx0XHR0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuXHRcdH1cblx0fVxufVxuXG4iLCIkb3dsLWltYWdlLXBhdGg6IFwiXCIgIWRlZmF1bHQ7XG5cbi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIFZpZGVvIFBsdWdpblxuICovXG5cbi5vd2wtY2Fyb3VzZWx7XG5cdC5vd2wtdmlkZW8td3JhcHBlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kOiAjMDAwO1xuXHR9XG5cblx0Lm93bC12aWRlby1wbGF5LWljb24ge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRoZWlnaHQ6IDgwcHg7XG5cdFx0d2lkdGg6IDgwcHg7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHRvcDogNTAlO1xuXHRcdG1hcmdpbi1sZWZ0OiAtNDBweDtcblx0XHRtYXJnaW4tdG9wOiAtNDBweDtcblx0XHRiYWNrZ3JvdW5kOiB1cmwoXCIjeyRvd2wtaW1hZ2UtcGF0aH1vd2wudmlkZW8ucGxheS5wbmdcIikgbm8tcmVwZWF0O1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR6LWluZGV4OiAxO1xuXHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMDBtcyBlYXNlO1xuXHR9XG5cblx0Lm93bC12aWRlby1wbGF5LWljb246aG92ZXIge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4zLCAxLjMpO1xuXHR9XG5cblx0Lm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tdG4sXG5cdC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXBsYXktaWNvbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5vd2wtdmlkZW8tdG4ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlO1xuXHR9XG5cblx0Lm93bC12aWRlby1mcmFtZSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG4iLCIvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBpbmRlbnRhdGlvbiBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzIHNob3J0aGFuZC12YWx1ZXMgc2luZ2xlLWxpbmUtcGVyLXNlbGVjdG9yIGNsYXNzLW5hbWUtZm9ybWF0IG5vLWlkcyBpZC1uYW1lLWZvcm1hdCBwcm9wZXJ0eS1zb3J0LW9yZGVyIG5vLWNvbG9yLWxpdGVyYWxzIGhleC1ub3RhdGlvbiBicmFjZS1zdHlsZSB6ZXJvLXVuaXQgc3BhY2UtYWZ0ZXItY29sb24gZW1wdHktbGluZS1iZXR3ZWVuLWJsb2Nrc1xuXG5cbi8qIE1hZ25pZmljIFBvcHVwIENTUyAqL1xuLm1mcC1iZyB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTA0MjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kOiAjMGIwYjBiO1xuICBvcGFjaXR5OiAwLjg7IH1cblxuLm1mcC13cmFwIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDQzO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLm1mcC1jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwYWRkaW5nOiAwIDhweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4ubWZwLWNvbnRhaW5lcjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLm1mcC1hbGlnbi10b3AgLm1mcC1jb250YWluZXI6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWZwLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHotaW5kZXg6IDEwNDU7IH1cblxuLm1mcC1pbmxpbmUtaG9sZGVyIC5tZnAtY29udGVudCxcbi5tZnAtYWpheC1ob2xkZXIgLm1mcC1jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGN1cnNvcjogYXV0bzsgfVxuXG4ubWZwLWFqYXgtY3VyIHtcbiAgY3Vyc29yOiBwcm9ncmVzczsgfVxuXG4ubWZwLXpvb20tb3V0LWN1ciwgLm1mcC16b29tLW91dC1jdXIgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSB7XG4gIGN1cnNvcjogLW1vei16b29tLW91dDtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0O1xuICBjdXJzb3I6IHpvb20tb3V0OyB9XG5cbi5tZnAtem9vbSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20taW47XG4gIGN1cnNvcjogLW1vei16b29tLWluO1xuICBjdXJzb3I6IHpvb20taW47IH1cblxuLm1mcC1hdXRvLWN1cnNvciAubWZwLWNvbnRlbnQge1xuICBjdXJzb3I6IGF1dG87IH1cblxuLm1mcC1jbG9zZSxcbi5tZnAtYXJyb3csXG4ubWZwLXByZWxvYWRlcixcbi5tZnAtY291bnRlciB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5tZnAtbG9hZGluZy5tZnAtZmlndXJlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWZwLWhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLm1mcC1wcmVsb2FkZXIge1xuICBjb2xvcjogI0NDQztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogLTAuOGVtO1xuICBsZWZ0OiA4cHg7XG4gIHJpZ2h0OiA4cHg7XG4gIHotaW5kZXg6IDEwNDQ7IH1cbiAgLm1mcC1wcmVsb2FkZXIgYSB7XG4gICAgY29sb3I6ICNDQ0M7IH1cbiAgICAubWZwLXByZWxvYWRlciBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjRkZGOyB9XG5cbi5tZnAtcy1yZWFkeSAubWZwLXByZWxvYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1mcC1zLWVycm9yIC5tZnAtY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuYnV0dG9uLm1mcC1jbG9zZSxcbmJ1dHRvbi5tZnAtYXJyb3cge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICB6LWluZGV4OiAxMDQ2O1xuICBib3gtc2hhZG93OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxuLm1mcC1jbG9zZSB7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvcGFjaXR5OiAwLjY1O1xuICBwYWRkaW5nOiAwIDAgMThweCAxMHB4O1xuICBjb2xvcjogI0ZGRjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgQmFza2VydmlsbGUsIG1vbm9zcGFjZTsgfVxuICAubWZwLWNsb3NlOmhvdmVyLFxuICAubWZwLWNsb3NlOmZvY3VzIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5tZnAtY2xvc2U6YWN0aXZlIHtcbiAgICB0b3A6IDFweDsgfVxuXG4ubWZwLWNsb3NlLWJ0bi1pbiAubWZwLWNsb3NlIHtcbiAgY29sb3I6ICMzMzM7IH1cblxuLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSxcbi5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgY29sb3I6ICNGRkY7XG4gIHJpZ2h0OiAtNnB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgcGFkZGluZy1yaWdodDogNnB4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4ubWZwLWNvdW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGNvbG9yOiAjQ0NDO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5tZnAtYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IDAuNjU7XG4gIG1hcmdpbjogMDtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC01NXB4O1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogOTBweDtcbiAgaGVpZ2h0OiAxMTBweDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAubWZwLWFycm93OmFjdGl2ZSB7XG4gICAgbWFyZ2luLXRvcDogLTU0cHg7IH1cbiAgLm1mcC1hcnJvdzpob3ZlcixcbiAgLm1mcC1hcnJvdzpmb2N1cyB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAubWZwLWFycm93OmJlZm9yZSxcbiAgLm1mcC1hcnJvdzphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICAgIGJvcmRlcjogbWVkaXVtIGluc2V0IHRyYW5zcGFyZW50OyB9XG4gIC5tZnAtYXJyb3c6YWZ0ZXIge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDEzcHg7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMTNweDtcbiAgICB0b3A6IDhweDsgfVxuICAubWZwLWFycm93OmJlZm9yZSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMjFweDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyMXB4O1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuXG4ubWZwLWFycm93LWxlZnQge1xuICBsZWZ0OiAwOyB9XG4gIC5tZnAtYXJyb3ctbGVmdDphZnRlciB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxN3B4IHNvbGlkICNGRkY7XG4gICAgbWFyZ2luLWxlZnQ6IDMxcHg7IH1cbiAgLm1mcC1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgYm9yZGVyLXJpZ2h0OiAyN3B4IHNvbGlkICMzRjNGM0Y7IH1cblxuLm1mcC1hcnJvdy1yaWdodCB7XG4gIHJpZ2h0OiAwOyB9XG4gIC5tZnAtYXJyb3ctcmlnaHQ6YWZ0ZXIge1xuICAgIGJvcmRlci1sZWZ0OiAxN3B4IHNvbGlkICNGRkY7XG4gICAgbWFyZ2luLWxlZnQ6IDM5cHg7IH1cbiAgLm1mcC1hcnJvdy1yaWdodDpiZWZvcmUge1xuICAgIGJvcmRlci1sZWZ0OiAyN3B4IHNvbGlkICMzRjNGM0Y7IH1cblxuLm1mcC1pZnJhbWUtaG9sZGVyIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG4gIC5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNvbnRlbnQge1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogOTAwcHg7IH1cbiAgLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICAgIHRvcDogLTQwcHg7IH1cblxuLm1mcC1pZnJhbWUtc2NhbGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy10b3A6IDU2LjI1JTsgfVxuICAubWZwLWlmcmFtZS1zY2FsZXIgaWZyYW1lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGJhY2tncm91bmQ6ICMwMDA7IH1cblxuLyogTWFpbiBpbWFnZSBpbiBwb3B1cCAqL1xuaW1nLm1mcC1pbWcge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogNDBweCAwIDQwcHg7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi8qIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZSAqL1xuLm1mcC1maWd1cmUge1xuICBsaW5lLWhlaWdodDogMDsgfVxuICAubWZwLWZpZ3VyZTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiA0MHB4O1xuICAgIGJvdHRvbTogNDBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgei1pbmRleDogLTE7XG4gICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgYmFja2dyb3VuZDogIzQ0NDsgfVxuICAubWZwLWZpZ3VyZSBzbWFsbCB7XG4gICAgY29sb3I6ICNCREJEQkQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNHB4OyB9XG4gIC5tZnAtZmlndXJlIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5tZnAtYm90dG9tLWJhciB7XG4gIG1hcmdpbi10b3A6IC0zNnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGN1cnNvcjogYXV0bzsgfVxuXG4ubWZwLXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIGNvbG9yOiAjRjNGM0YzO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHBhZGRpbmctcmlnaHQ6IDM2cHg7IH1cblxuLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5tZnAtZ2FsbGVyeSAubWZwLWltYWdlLWhvbGRlciAubWZwLWZpZ3VyZSB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSwgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogMzAwcHgpIHtcbiAgLyoqXG4gICAgICAgKiBSZW1vdmUgYWxsIHBhZGRpbmdzIGFyb3VuZCB0aGUgaW1hZ2Ugb24gc21hbGwgc2NyZWVuXG4gICAgICAgKi9cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtaW1hZ2UtaG9sZGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAubWZwLWltZy1tb2JpbGUgaW1nLm1mcC1pbWcge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtZmlndXJlOmFmdGVyIHtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwOyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZSBzbWFsbCB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtYm90dG9tLWJhciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgdG9wOiBhdXRvO1xuICAgIHBhZGRpbmc6IDNweCA1cHg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgICAubWZwLWltZy1tb2JpbGUgLm1mcC1ib3R0b20tYmFyOmVtcHR5IHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtY291bnRlciB7XG4gICAgcmlnaHQ6IDVweDtcbiAgICB0b3A6IDNweDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1jbG9zZSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAzNXB4O1xuICAgIGhlaWdodDogMzVweDtcbiAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwOyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgLm1mcC1hcnJvdyB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7IH1cbiAgLm1mcC1hcnJvdy1sZWZ0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMDsgfVxuICAubWZwLWFycm93LXJpZ2h0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJTsgfVxuICAubWZwLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gICAgcGFkZGluZy1yaWdodDogNnB4OyB9IH1cblxuLy8gc2Fzcy1saW50OmVuYWJsZSBpbmRlbnRhdGlvbiBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzIHNob3J0aGFuZC12YWx1ZXMgc2luZ2xlLWxpbmUtcGVyLXNlbGVjdG9yIGNsYXNzLW5hbWUtZm9ybWF0IG5vLWlkcyBpZC1uYW1lLWZvcm1hdCBwcm9wZXJ0eS1zb3J0LW9yZGVyIG5vLWNvbG9yLWxpdGVyYWxzIGhleC1ub3RhdGlvbiBicmFjZS1zdHlsZSB6ZXJvLXVuaXQgc3BhY2UtYWZ0ZXItY29sb24gZW1wdHktbGluZS1iZXR3ZWVuLWJsb2Nrc1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIG1hcmdpbiBhbmQgcGFkZGluZyBmcm9tIGV2ZXJ5IHNlbGVjdG9yIGluY2x1ZGluZyB0aGVpclxuICogcHN1ZWRvIHNlbGVjdG9ycy5cbiAqXG4gKiAxLiBNb3JlIHNlbnNpYmxlIGRlZmF1bHQgYm94IHNpemluZy5cbiAqICAgIChjc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2UpLlxuICovXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgLyogMSAqL1xufVxuXG5cbi8qKlxuICogU2V0IGhlaWdodCBvZiB0aGUgZG9jdW1lbnQgdG8gbWF4aXVtIHZpZXdwb3J0IGhlaWdodC5cbiAqXG4gKiAxLiBTZXQgcm9vdCBmb250IHNpemUgdG8gMTAuXG4gKi9cblxuaHRtbCB7XG4gIGhlaWdodDogMTAwdmg7XG4gIGZvbnQtc2l6ZTogNjIuNSU7IC8qIDEgKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuXG4vKipcbiAqIFNldCBtaW5pbWFsIGhlaWdodCBvZiB0aGUgYm9keSB0byBtYXhpbXVtIHZpZXdwb3J0IGhlaWdodCB0b1xuICogbWF0Y2ggdGhlIGRvY3VtZW50J3MgaGVpZ2h0LlxuICpcbiAqIDEuIEZpcmVmb3ggMjUrLlxuICogMi4gQ2hyb21lIDUrLlxuICovXG5cbmJvZHkge1xuICBAaW5jbHVkZSB0ZXh0KCRib2R5LXRleHQpO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmFja2dyb3VuZC1jb2xvcjtcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xuICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IC8qIDEgKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC8qIDIgKi9cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNaXhpbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIENvbnRhaW5lclxuLy8gQ2VudGVyIGFsaWducyBlbGVtZW50IHdpdGggZ2l2ZW4gbWF4aW11bSB3aWR0aCwgcGFkZGluZywgYW5kIG1hcmdpbnMgdG9wXG4vLyBhbmQgYm90dG9tLlxuLy8gQHBhcmFtIHtTdHJpbmd9ICR3aWR0aCAtIFBpeGVsIHVuaXQgdmFsdWUuXG4vLyBAcGFyYW0ge1N0cmluZ30gJGdhcCAtIFBpeGVsIHVuaXQgdmFsdWUuXG4vLyBAZXhhbXBsZVxuLy8gICBAaW5jbHVkZSBjb250YWluZXIoMTAyNHB4LCAyMHB4KTtcbkBtaXhpbiBjb250YWluZXIoJHdpZHRoOiAkZ3JpZC13aWR0aCwgJGdhcDogJGdyaWQtZ2FwKSB7XG4gIEBpZiAodHlwZS1vZigkd2lkdGgpID09IG51bWJlciBhbmQgdHlwZS1vZigkZ2FwKSA9PSBudW1iZXIpIHtcbiAgICBAaWYgKCRnYXAgIT0gMCkge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKCN7JHdpZHRofSArICN7KCRnYXAgKiAyKX0pO1xuICAgICAgcGFkZGluZzogMCAkZ2FwO1xuICAgIH0gQGVsc2Uge1xuICAgICAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gICAgfVxuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgJ0FyZ3VtZW50cyBgJHdpZHRoYCBhbmQgYCRnYXBgIHNob3VsZCBiZSBhIG51bWJlcic7XG4gIH1cbn1cblxuXG4vLyBTZWN0aW9uXG4vLyBBZGQgdG9wIGFuZCBib3R0b20gc3BhY2luZyB0byBlbGVtZW50IHVzaW5nIHBhZGRpbmdzLlxuLy8gQHBhcmFtIHtTdHJpbmd9ICR0b3AgLSBQaXhlbCB1bml0IHZhbHVlLlxuLy8gQHBhcmFtIHtTdHJpbmd9ICRib3R0b20gLSBQaXhlbCB1bml0IHZhbHVlLlxuLy8gQGV4YW1wbGVcbi8vICAgQGluY2x1ZGUgc2VjdGlvbigxMDBweCwgMTAwcHgpO1xuQG1peGluIHNlY3Rpb24oJHRvcDogMCwgJGJvdHRvbTogMCkge1xuICBAaWYgKHR5cGUtb2YoJHRvcCkgPT0gbnVtYmVyIGFuZCB0eXBlLW9mKCRib3R0b20pID09IG51bWJlcikge1xuICAgIHBhZGRpbmc6ICR0b3AgMCAkYm90dG9tO1xuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgJ0FyZ3VtZW50cyBgJHRvcGAgYW5kIGBib3R0b21gIHNob3VsZCBiZSBhIG51bWJlcic7XG4gIH1cbn1cblxuXG4vLyBGb250XG4vLyBBZGRzIGByZW1gIHVuaXQgYmFzZWQgZm9udCBzaXplIHByb3BlcnR5LCBhIGZhbGxiYWNrXG4vLyBgcHhgIHVuaXQgYmFzZWQgZm9udCBzaXplIHByb3BlcnR5LCBhbmQgYSBgZW1gIHVuaXQgYmFzZWQgbGluZSBoZWlnaHRcbi8vIHByb3BlcnR5IHRvIGFueSBydWxlLlxuLy8gQHBhcmFtIHtTdHJpbmd9ICRmb250LXNpemUgLSBQaXhlbCB1bml0IHZhbHVlLlxuLy8gQHBhcmFtIHtTdHJpbmd9ICRsaW5lLWhlaWdodCAtIFBpeGVsIHVuaXQgdmFsdWUuXG4vLyBAZXhhbXBsZVxuLy8gICBAaW5jbHVkZSBmb250LXNpemUoMTZweCwgMjRweCk7XG5AbWl4aW4gZm9udCgkZm9udC1zaXplLCAkbGluZS1oZWlnaHQpIHtcbiAgQGlmICh0eXBlLW9mKCRmb250LXNpemUpID09IG51bWJlciBhbmQgdW5pdCgkZm9udC1zaXplKSA9PSAncHgnKSB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGZvbnQtc2l6ZTogcmVtKCRmb250LXNpemUpOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciAnVmFsdWUgZm9yIGAjeyRmb250LXNpemV9YCBzaG91bGQgYmUgYSBgcHhgIHVuaXQnO1xuICB9XG4gIEBpZiAodHlwZS1vZigkbGluZS1oZWlnaHQpID09IG51bWJlciBhbmQgdW5pdCgkbGluZS1oZWlnaHQpID09ICdweCcpIHtcbiAgICBsaW5lLWhlaWdodDogKCgkbGluZS1oZWlnaHQgLyAkZm9udC1zaXplKSAqIDFlbSk7XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciAnVmFsdWUgZm9yIGAjeyRsaW5lLWhlaWdodH1gIHNob3VsZCBiZSBhIGBweGAgdW5pdCc7XG4gIH1cbn1cblxuXG4vLyBUZXh0XG4vLyBTaG9ydGhhbmQgZm9yIHRoZSBmb250IG1peGluLCBydW5zIHRoZSBmb250IG1peGluIGJhc2VkIG9uIGEgY29tbW9uXG4vLyBkZW1lYW5vdXIgZXhpc3RpbmcgYm90aCBpbiB0aGUgYCRmb250LXNpemVgIGFuZCB0aGUgYCRsaW5lLWhlaWdodGAgbWFwcy5cbi8vIEBwYXJhbSB7c3RyaW5nfSAkdmFsdWUgLSBTdHJpbmdcbi8vIEBleGFtcGxlXG4vLyAgIEBpbmNsdWRlIHRleHQoJ3AnKTtcbkBtaXhpbiB0ZXh0KCR2YWx1ZSkge1xuICBAaWYgKHR5cGUtb2YoJHZhbHVlKSA9PSBzdHJpbmcpIHtcbiAgICBAaW5jbHVkZSBmb250KG1hcC1nZXQoJGZvbnQtc2l6ZSwgJHZhbHVlKSwgbWFwLWdldCgkbGluZS1oZWlnaHQsICR2YWx1ZSkpO1xuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgJ1ZhbHVlIHNob3VsZCBiZSBhIHN0cmluZyc7XG4gIH1cbn1cblxuXG4vLyBGb250IEF3ZXNvbWVcbi8vIEFkZCBGb250IEF3ZXNvbWUgaWNvbnMgYXMgcHN1ZWRvIGVsZW1lbnRzIGJ5IHVzaW5nIHRoZWlyIHVuaWNvZGUuXG4vLyBAcGFyYW0ge1N0cmluZ30gJGNvbnRlbnQgLSBVbmljb2RlIHN0cmluZy5cbi8vIEBwYXJhbSB7U3RyaW5nfSAkZmFtaWx5IC0gRm9udCBBd2Vzb21lIGZvbnQgZmFtaWx5IHN0cmluZy5cbi8vIEBleGFtcGxlXG4vLyAgIEBpbmNsdWRlIGZvbnRhd2Vzb21lKCdmMTAwJywgJ0xpZ2h0Jyk7XG5AbWl4aW4gZm9udGF3ZXNvbWUoJGNvbnRlbnQsICRmYW1pbHkpIHtcbiAgQGlmICh0eXBlLW9mKCRmYW1pbHkpID09IHN0cmluZykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSAjeyRmYW1pbHl9JztcbiAgICBjb250ZW50OiB1bmljb2RlKCRjb250ZW50KTtcbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yICdBcmd1bWVudCBgJGZhbWlseWAgc2hvdWxkIGJlIGEgc3RyaW5nJztcbiAgfVxufVxuXG5cbi8vIE1lZGlhXG4vLyBNZWRpYSBxdWVyaWVzIGFjY29yZGluZyB0byBcIlRoZSAxMDAlIENvcnJlY3QgV2F5IFRvIERvIENTUyBCcmVha3BvaW50c1wiXG4vLyAoaHR0cHM6Ly9tZWRpdW0uZnJlZWNvZGVjYW1wLmNvbS90aGUtMTAwLWNvcnJlY3Qtd2F5LXRvLWRvLWNzcy1icmVha3BvaW50cy04OGQ2YTViYTE4NjIpLlxuLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gQnJlYWtwb2ludCBwaXhlbCB1bml0IHZhbHVlLlxuLy8gQGV4YW1wbGVcbi8vICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge31cbkBtaXhpbiBtZWRpYSgkc2l6ZSkge1xuICBAaWYgKCRzaXplID09ICdkZXNrdG9wJykge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtbGFuZHNjYXBlJykge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiA5MDBweCkgYW5kKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LXBvcnRyYWl0LXVwJykge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiA2MDBweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LXBvcnRyYWl0Jykge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiA2MDBweCkgYW5kKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0Jykge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiA2MDBweCkgYW5kKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRzaXplID09ICdwaG9uZScpIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGdW5jdGlvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIFVuaWNvZGVcbi8vIFByZXNlcnZlIGVzY2FwZWQgdW5pY29kZSBzdHJpbmcuXG4vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEFuIHVuaWNvZGUgc3RyaW5nLlxuLy8gQHJldHVybiB7U3RyaW5nfSBBIHByZXNlcnZlZCBlc2NhcGVkIHVuaWNvZGUgc3RyaW5nXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBxdW90ZXNcbkBmdW5jdGlvbiB1bmljb2RlKCRzdHJpbmcpIHtcbiAgQHJldHVybiB1bnF1b3RlKFwiXFwnXCIpICsgdW5xdW90ZShzdHItaW5zZXJ0KCRzdHJpbmcsICdcXFxcJywgMSkpICsgdW5xdW90ZShcIlxcJ1wiKTtcbn1cbi8vIHNhc3MtbGludDplbmFibGUgcXVvdGVzXG5cblxuLy8gUkVNXG4vLyBDb252ZXJ0IHBpeGVsIHVuaXRzIHRvIFJFTSB1bml0cy5cbi8vIEBwYXJhbSB7TnVtYmVyfSAkcGl4ZWxzIC0gUGl4ZWwgdmFsdWUuXG4vLyBAcmV0dXJuIHsqfSAtIEEgY29udmVydGVkIGByZW1gIHVuaXQuXG5AZnVuY3Rpb24gcmVtKCRwaXhlbHMpIHtcbiAgQGlmICh1bml0bGVzcygkcGl4ZWxzKSkge1xuICAgIEBlcnJvciAnVmFsdWUgZm9yIGAjeyRwaXhlbHN9YCBzaG91bGQgYmUgYSBgcHhgIHVuaXQuJztcbiAgfVxuICBAcmV0dXJuICgoJHBpeGVscyAvIDEwcHgpICogMXJlbSk7XG59XG5cblxuLy8gQ29sdW1uXG4vLyBDYWxjdWxhdGUgZ2l2ZW4gY29sdW1uIHdpZHRoLlxuLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW4gLSBUaGUgYW1vdW50IG9mIGNvbHVtbnMgdG8gc3Bhbi5cbi8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyAtIFRoZSBhbW91bnQgb2YgY29sdW1ucyB0aGF0IGNhbiBiZSBzcGFubmVkLlxuLy8gQHJldHVybiB7U3RyaW5nfSAtIFBlcmNlbnRhZ2UgdmFsdWUuXG5AZnVuY3Rpb24gY29sdW1uKCRjb2x1bW4sICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIEByZXR1cm4gKCRjb2x1bW4gICogMTAwJSAvICRjb2x1bW5zKTtcbn1cblxuXG4vLyBDb2xvclxuLy8gR2V0IGEgY29sb3IgdmFsdWUgZnJvbSB0d28gbGV2ZWxzIGRlZXAgaW4gdGhlIGAkY29sb3JgIG1hcC5cbi8vIEBwYXJhbSB7JHN0cmluZ30gJGtleSAtIEtleSBvZiB0aGUgY29sb3IgdG8gZ2V0IGZyb20gdGhlIG1hcC5cbi8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSBvZiB0aGUga2V5IHRvIGdldCBmcm9tIHRoZSBtYXAuXG4vLyBAcmV0dXJuIHsqfSBBIEhTTEEgY29sb3IgdmFsdWUuXG5AZnVuY3Rpb24gY29sb3IoJGtleSwgJHZhbHVlKSB7XG4gIEByZXR1cm4gbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICRrZXkpLCAkdmFsdWUpO1xufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENvbG9yXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBDb2xvciBtYXAuXG4kY29sb3JzOiAoXG4gICdibGFjayc6IChcbiAgICAnMTAwJzogaHNsYSgwLCAwJSwgMCUsIDEpXG4gICksXG4gICd3aGl0ZSc6IChcbiAgICAnMTAwJzogaHNsYSgwLCAwJSwgMTAwJSwgMSksXG4gICksXG4gICdibHVlLWxpZ2h0JzogKFxuICAgICcxMDAnOiBoc2xhKDE5NSwgMTMlLCA4MiUsIDEpLFxuICAgICc1MCc6IGhzbGEoMTk2LCA3LjQlLCA3MC44JSwgMSlcbiAgKSxcbiAgJ2JsdWUtZGFyayc6IChcbiAgICAnMTAwJzogaHNsYSgyMjIsIDYzJSwgMzUlLCAxKSxcbiAgKSxcbiAgJ29yYW5nZSc6IChcbiAgICAnMTAwJzogaHNsYSgyNywgNjAlLCA2MyUsIDEpLFxuICApLFxuICAncmVkJzogKFxuICAgICcxMDAnOiBoc2xhKDksIDc0JSwgNTElLCAxKSxcbiAgKSxcbiAgJ2dyZWVuJzogKFxuICAgICcxMDAnOiBoc2xhKDY1LCA3JSwgMzMlLCAxKSxcbiAgICAnNTAnOiBoc2xhKDE0MCwgMi45JSwgNTkuNiUsIDEpLFxuICApLFxuICAnZ3JlZW4tYmFja2dyb3VuZCc6IChcbiAgICAnMTAwJzogaHNsYSg2NSwgNyUsIDMyJSwgMSksXG4gICksXG4gICdicm93bic6IChcbiAgICAnMTAwJzogaHNsYSgxMywgMzMlLCAxMSUsIDEpLFxuICApLFxuICAnYnJvd24tYmFja2dyb3VuZCc6IChcbiAgICAnMTAwJzogaHNsYSgxMywgMzAlLCAxMyUsIDEpLFxuICApLFxuICAnYm9zcy1ncmVlbic6IChcbiAgICAnMTAwJzogaHNsYSg2OC45LCAxMDAlLCAzOS44JSwgMSksXG4gICksXG4gICdib3NzLWdyZXknOiAoXG4gICAgJzEwMCc6IGhzbGEoMTIwLCA4LjMlLCAxNC4xJSwgMSksXG4gICksXG4gICdib3NzLWJyb3duJzogKFxuICAgICcxMDAnOiBoc2xhKDI4LjUsIDczLjclLCAyNi45JSwgMSksXG4gICksXG4gICdib3NzLWJlaWdlJzogKFxuICAgICcxMDAnOiBoc2xhKDQwLjUsIDU1LjIlLCA4Ni45JSwgMSksXG4gIClcbik7XG5cbi8vIENvbG9yIHNob3J0aGFuZCB2YXJpYWJsZXMuXG4kY29sb3ItYmxhY2s6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnYmxhY2snKSwgJzEwMCcpO1xuJGNvbG9yLXdoaXRlOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ3doaXRlJyksICcxMDAnKTtcbiRjb2xvci1ibHVlLWxpZ2h0OiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2JsdWUtbGlnaHQnKSwgJzEwMCcpO1xuJGNvbG9yLWJsdWUtZGFyazogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdibHVlLWRhcmsnKSwgJzEwMCcpO1xuJGNvbG9yLW9yYW5nZTogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdvcmFuZ2UnKSwgJzEwMCcpO1xuJGNvbG9yLXJlZDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdyZWQnKSwgJzEwMCcpO1xuJGNvbG9yLWdyZWVuOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2dyZWVuJyksICcxMDAnKTtcbiRjb2xvci1ncmVlbi1iYWNrZ3JvdW5kOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2dyZWVuLWJhY2tncm91bmQnKSwgJzEwMCcpO1xuJGNvbG9yLWJyb3duOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2Jyb3duJyksICcxMDAnKTtcbiRjb2xvci1icm93bi1iYWNrZ3JvdW5kOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2Jyb3duLWJhY2tncm91bmQnKSwgJzEwMCcpO1xuXG4vLyBCT1NTIGNvbG9ycy5cbiRib3NzLWdyZWVuOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2Jvc3MtZ3JlZW4nKSwgJzEwMCcpO1xuJGJvc3MtZ3JleTogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdib3NzLWdyZXknKSwgJzEwMCcpO1xuJGJvc3MtYnJvd246IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnYm9zcy1icm93bicpLCAnMTAwJyk7XG4kYm9zcy1iZWlnZTogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdib3NzLWJlaWdlJyksICcxMDAnKTtcblxuLy8gU3BlY2lmaWMgY29sb3JzLlxuJGNvbG9yLXBsYWNlaG9sZGVyOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2JsdWUtbGlnaHQnKSwgJzUwJyk7XG4kY29sb3ItaW5wdXQ6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZ3JlZW4nKSwgJzUwJyk7XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUmVzZXRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQ3VzdG9tIHVzZXIgYWdlbnQgcmVzZXRzIGFuZCBvdmVycmlkZXMgdGhhdCBhcmUgbm90IHByZXNlbnQgaW5cbiAqIE5vcm1hbGl6ZSA4LjAuMC4gVGhpcyBtb3N0bHkgcmVtb3ZlcyBzb21lIGFubm95aW5nIG1hcmdpbiBhbmQgcGFkZGluZ1xuICogZGVmYXVsdHMsIGJvcmRlciByYWRpdXMsIGFuZCBvdXRsaW5lcy5cbiAqL1xuXG5hIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuXG4vKipcbiAqIDEuIFJlbW92ZSBib3JkZXIgcmFkaXVzIG9uIENocm9tZSA2Mi4wKyBvbiBtYWNPUy5cbiAqL1xuXG5idXR0b24ge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7IC8qIDEgKi9cbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuaHIge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cblxuLyoqXG4gKiAxLiBSZW1vdmUgd2hpdGUgc3BhY2UuXG4gKi9cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDEgKi9cbn1cblxuXG4vKipcbiAqIDEuIFJlbW92ZSBpbmhlcml0ZWQgdXNlciBhZ2VudCBhcHBlYXJhbmNlLlxuICovXG5cbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgb3V0bGluZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTsgLyogMSAqL1xufVxuXG5cbi8qKlxuICogMS4gT25seSBhbGxvdyB2ZXJ0aWNhbCByZXNpemluZyB0byBwcmV2ZW50IHRoZSB0ZXh0YXJlYVxuICogICAgZnJvbSBvdmVyZmxvd2luZyB0aGUgY29udGFpbmVyLlxuICovXG5cbnRleHRhcmVhIHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxudWwsXG5vbCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG5wIHtcbiAgbWFyZ2luOiAwO1xufVxuXG5cbi8qKlxuICogMS4gQ29sbGFwc2UgYm9yZGVycyB0byBwcmV2ZW50IGRvdWJsZSBzaWRlZCBib3JkZXJzLlxuICovXG5cbnRhYmxlIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvKiAxICovXG59XG5cbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFja2dyb3VuZFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKipcbiAqIEJhY2tncm91bmQgYmFzZS5cbiAqL1xuXG4uYmFja2dyb3VuZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29udGVudDogJyc7XG4gICAgei1pbmRleDogLTE7XG4gIH1cbn1cblxuXG4vKipcbiAqIEJhY2tncm91bmQgcHJpbWFyeS5cbiAqL1xuXG4uYmFja2dyb3VuZC0tZGVmYXVsdCB7XG4gIGNvbG9yOiAkYm9zcy1icm93bjtcbiAgZmlsbDogJGJvc3MtYnJvd247XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG4gIH1cblxuICBoMSxcbiAgaDIge1xuICAgIGNvbG9yOiAkYm9zcy1icm93bjtcbiAgfVxuXG4gIC5idXR0b24tLWFycm93IHtcbiAgICBjb2xvcjogJGJvc3MtZ3JlZW47XG5cbiAgICBzdmcge1xuICAgICAgY29sb3I6ICRib3NzLWdyZWVuO1xuICAgICAgZmlsbDogJGJvc3MtZ3JlZW47XG4gICAgfVxuICB9XG5cbiAgLmJ1dHRvbi0tYm9yZGVyIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkYm9zcy1ncmVlbjtcbiAgICBjb2xvcjogJGJvc3MtZ3JlZW47XG5cbiAgICBzdmcge1xuICAgICAgY29sb3I6ICRib3NzLWdyZWVuO1xuICAgICAgZmlsbDogJGJvc3MtZ3JlZW47XG4gICAgfVxuICB9XG59XG5cblxuLyoqXG4gKiBCYWNrZ3JvdW5kIHByaW1hcnkgKHdpdGggcGF0dGVybikuXG4gKi9cblxuLmJhY2tncm91bmQtLWJlaWdlIHtcbiAgY29sb3I6ICRib3NzLWJyb3duO1xuICBmaWxsOiAkYm9zcy1icm93bjtcblxuICAmOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICRib3NzLWJlaWdlO1xuICB9XG5cbiAgaDEsXG4gIGgyIHtcbiAgICBjb2xvcjogJGJvc3MtYnJvd247XG4gIH1cblxuICAuYnV0dG9uLS1hcnJvdyB7XG4gICAgY29sb3I6ICRib3NzLWJyb3duO1xuXG4gICAgc3ZnIHtcbiAgICAgIGNvbG9yOiAkYm9zcy1icm93bjtcbiAgICAgIGZpbGw6ICRib3NzLWJyb3duO1xuICAgIH1cbiAgfVxuXG4gIC5idXR0b24tLWJvcmRlciB7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGJvc3MtYnJvd247XG4gICAgY29sb3I6ICRib3NzLWJyb3duO1xuXG4gICAgc3ZnIHtcbiAgICAgIGNvbG9yOiAkYm9zcy1icm93bjtcbiAgICAgIGZpbGw6ICRib3NzLWJyb3duO1xuICAgIH1cbiAgfVxufVxuXG5cbi8qKlxuICogQmFja2dyb3VuZCBzZWNvbmRhcnkuXG4gKi9cblxuLmJhY2tncm91bmQtLWJyb3duIHtcbiAgY29sb3I6ICRib3NzLWJlaWdlO1xuICBmaWxsOiAkYm9zcy1iZWlnZTtcblxuICAmOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICRib3NzLWJyb3duO1xuICB9XG5cbiAgaDEsXG4gIGgyIHtcbiAgICBjb2xvcjogJGJvc3MtYmVpZ2U7XG4gIH1cblxuICAuYnV0dG9uLS1hcnJvdyB7XG4gICAgY29sb3I6ICRib3NzLWJlaWdlO1xuXG4gICAgc3ZnIHtcbiAgICAgIGNvbG9yOiAkYm9zcy1iZWlnZTtcbiAgICAgIGZpbGw6ICRib3NzLWJlaWdlO1xuICAgIH1cbiAgfVxuXG4gIC5idXR0b24tLWJvcmRlciB7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGJvc3MtYmVpZ2U7XG4gICAgY29sb3I6ICRib3NzLWJlaWdlO1xuXG4gICAgc3ZnIHtcbiAgICAgIGNvbG9yOiAkYm9zcy1iZWlnZTtcbiAgICAgIGZpbGw6ICRib3NzLWJlaWdlO1xuICAgIH1cbiAgfVxufVxuXG5cbi8qKlxuICogQmFja2dyb3VuZCBib3JkZXIuXG4gKi9cblxuLmJhY2tncm91bmQtLWJvcmRlciB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkICRib3NzLWdyZWVuO1xuICAgIH1cblxuICAgIGJvdHRvbTogOTVweDtcbiAgICBib3JkZXItYm90dG9tOiAyMHB4IHNvbGlkICRib3NzLWdyZWVuO1xuICB9XG5cbiAgLndyYXBwZXIge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLXVwJykge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cbi5iYWNrZ3JvdW5kLS1ib3JkZXIgKyBkaXYge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuXG4gIG1hcmdpbi10b3A6IC05NXB4O1xuICBwYWRkaW5nLXRvcDogOTVweDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCdXR0b25zLlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKipcbiAqIEJ1dHRvbiBiYXNlLlxuICovXG5cbi5idXR0b24ge1xuICBAaW5jbHVkZSBmb250KDE2cHgsIDI0cHgpO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAzMnB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMzUwbXMgZWFzZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIHN2ZyB7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xuICB9XG59XG5cblxuLyoqXG4gKiBCdXR0b24gYm9yZGVyLlxuICovXG5cbi5idXR0b24tLWJvcmRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXJpZ2h0OiAzNXB4O1xuICBwYWRkaW5nOiAwIDEwcHg7XG5cbiAgc3ZnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtM3B4O1xuICAgIHJpZ2h0OiAtMzVweDtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMzUwbXMgZWFzZTtcbiAgICBjb250ZW50OiAnJztcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuXG4gICY6aG92ZXI6OmFmdGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICYuaXMtb3JhbmdlIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3Itb3JhbmdlO1xuICAgIGNvbG9yOiAkY29sb3Itb3JhbmdlO1xuXG4gICAgc3ZnIHtcbiAgICAgIGNvbG9yOiAkY29sb3Itb3JhbmdlO1xuICAgICAgZmlsbDogJGNvbG9yLW9yYW5nZTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itb3JhbmdlO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRjb2xvci1ncmVlbjtcbiAgICB9XG4gIH1cblxuICAmLmlzLWJyb3duIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkYm9zcy1icm93bjtcbiAgICBjb2xvcjogJGJvc3MtYnJvd247XG5cbiAgICBzdmcge1xuICAgICAgY29sb3I6ICRib3NzLWJyb3duO1xuICAgICAgZmlsbDogJGJvc3MtYnJvd247XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJvc3MtYnJvd247XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGJvc3MtYmVpZ2U7XG4gICAgfVxuICB9XG5cbiAgJi5pcy1ncmVlbiB7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGJvc3MtZ3JlZW47XG4gICAgY29sb3I6ICRib3NzLWdyZWVuO1xuXG4gICAgc3ZnIHtcbiAgICAgIGNvbG9yOiAkYm9zcy1ncmVlbjtcbiAgICAgIGZpbGw6ICRib3NzLWdyZWVuO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRib3NzLWdyZWVuO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxuXG4vKipcbiAqIEJ1dHRvbiBhcnJvdy5cbiAqL1xuXG4uYnV0dG9uLS1hcnJvdyB7XG4gIHN2ZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgc3ZnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgIH1cbiAgfVxuXG4gICYuaXMtb3JhbmdlIHtcbiAgICBjb2xvcjogJGNvbG9yLW9yYW5nZTtcblxuICAgIHN2ZyB7XG4gICAgICBjb2xvcjogJGNvbG9yLW9yYW5nZTtcbiAgICAgIGZpbGw6ICRjb2xvci1vcmFuZ2U7XG4gICAgfVxuICB9XG5cbiAgJi5pcy1yZWQge1xuICAgIGNvbG9yOiAkY29sb3ItcmVkO1xuXG4gICAgc3ZnIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItcmVkO1xuICAgICAgZmlsbDogJGNvbG9yLXJlZDtcbiAgICB9XG4gIH1cblxuICAmLmlzLWJlaWdlIHtcbiAgICBjb2xvcjogJGJvc3MtYmVpZ2U7XG5cbiAgICBzdmcge1xuICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgIGZpbGw6ICRjb2xvci13aGl0ZTtcbiAgICB9XG4gIH1cblxuICAmLmlzLWJyb3duIHtcbiAgICBjb2xvcjogJGJvc3MtYnJvd247XG5cbiAgICBzdmcge1xuICAgICAgY29sb3I6ICRib3NzLWJyb3duO1xuICAgICAgZmlsbDogJGJvc3MtYnJvd247XG4gICAgfVxuICB9XG5cbiAgJi5pcy1ibGFjayB7XG4gICAgY29sb3I6ICRjb2xvci1ibGFjaztcblxuICAgIHN2ZyB7XG4gICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgZmlsbDogJGNvbG9yLWJsYWNrO1xuICAgIH1cbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbnRhaW5lclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBUaGUgY29udGFpbmVyIG9iamVjdCBjZW50ZXJzIGFuIGVsZW1lbnQgaW4gdGhlIGRvY3VtZW50LlxuICovXG5cbi5jb250YWluZXIge1xuICBAaW5jbHVkZSBjb250YWluZXI7XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRGVmaW5pdGlvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIEdyaWRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIEdyaWQgd2lkdGguXG4vLyBNYXhpbXVtIGNvbnRhaW5lciB3aWR0aC5cbiRncmlkLXdpZHRoOiAxMDI0cHg7XG5cbi8vIEdyaWQgY29sdW1ucy5cbi8vIEFtb3VudCBvZiBncmlkIGNvbHVtbnMgdG8gY2FsY3VsYXRlIGEgY29sdW1uIHdpZHRoIHdpdGguXG4kZ3JpZC1jb2x1bW5zOiAxMjtcblxuLy8gR3JpZCBjb2x1bW4uXG4vLyBDb2x1bW4gd2lkdGggaW4gcGl4ZWxzLlxuJGdyaWQtY29sdW1uOiA2MHB4O1xuXG4vLyBHcmlkIGdhcC5cbi8vIFNwYWNlIGJldHdlZW4gZ3JpZCBjb2x1bW5zLCBhdXRvbWF0ZWQuXG4kZ3JpZC1nYXA6ICgkZ3JpZC13aWR0aCAtICgkZ3JpZC1jb2x1bW4gKiAkZ3JpZC1jb2x1bW5zKSkgLyAkZ3JpZC1jb2x1bW5zO1xuXG5cbi8vIEFzc2V0c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gSW1hZ2UgcGF0aC5cbiRpbWFnZS1wYXRoOiAnLi4vaW1hZ2VzLyc7XG5cblxuLy8gQm9keVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gQm9keSBiYWNrZ3JvdW5kIGNvbG9yLlxuJGJvZHktYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuXG4vLyBCb2R5IGNvbG9yLlxuJGJvZHktY29sb3I6ICRib3NzLWJyb3duO1xuXG4vLyBCb2R5IGZvbnQgZmFtaWx5LlxuJGJvZHktZm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQtZmFtaWx5LCAnZGVmYXVsdCcpO1xuXG4vLyBCb2R5IHRleHQuXG4kYm9keS10ZXh0OiAncCc7XG5cblxuLy8gT3RoZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIExpbmsgY29sb3IuXG4kbGluay1jb2xvcjogJGNvbG9yLXJlZDtcblxuXG4vLyBSZXNwb25zaXZlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBHcmlkIGJyZWFrcG9pbnQgYWxpYXMuXG4kYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA2MDBweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogMTAyNHB4LFxuICB4bDogMTIwMHB4XG4pO1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbnRlbnQgQ29uc3RyYWludFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBUaGUgY29udGVudCBjb25zdHJhaW50IGlzIGEgY29uc3RyYWludCBmb3IgYWxsIHRoZSBjb250ZW50IHdpdGhpblxuICogdGhlIGRvY3VtZW50LiBJdCBjYW4gYmUgbWFuaXB1bGF0ZWQgYnkgQ1NTIG9yIEphdmFTY3JpcHQgd2l0aG91dFxuICogaW5mbHVlbmNpbmcgdGhlIGJvZHkuXG4gKi9cblxuLmNvbnRlbnQtY29uc3RyYWludCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRib3NzLWdyZWVuO1xuICAgIGNvbG9yOiAkYm9zcy1icm93bjtcbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZsZXhcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogRXhhbXBsZSBvZiBhIGZsZXggYmFzZWQgY29sdW1uIGdyaWQgbGF5b3V0IGluIHByYWN0aWNlOlxuICpcbiAqIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAqICAgPGRpdiBjbGFzcz1cImNvbCBjb2wteHMtNiBjb2wtc20tMTJcIj48L2Rpdj5cbiAqICAgPGRpdiBjbGFzcz1cImNvbCBjb2wteHMtNiBjb2wtc20tMTJcIj48L2Rpdj5cbiAqIDwvZGl2PlxuICpcbiAqIFRoaXMgZXhhbXBsZSB3aWxsIGNyZWF0ZSBhIHJvdyB3aXRoIHR3byBjb2x1bW5zIGVhY2ggZmlsbGluZyBoYWxmIHRoZSB3aWR0aFxuICogb2YgdGhlIHJvdyBvbiBhbGwgbWVkaWEsIGJ1dCB3aWxsIGNvbnZlcnQgdG8gYSBmdWxsIHdpZHRoIGNvbHVtbiBvbiB0aGVcbiAqIHNtYWxsIGAtc21gIGJyZWFrcG9pbnQgYWxpYXMsIHdoaWNoIGlzIG1vYmlsZSBvbmx5LiBSZWZlciB0b1xuICogYHNldHRpbmdzL19kZWZpbml0aW9ucy5zY3NzYCBmb3IgYWxsIGJyZWFrcG9pbnQgYWxpYXMuXG4gKi9cblxuLyoqXG4gKiBGbGV4IG9iamVjdC5cbiAqXG4gKiBUaXA6IFVzZSBmbGV4IG9uIGEgY29sdW1uIHRvIG1ha2UgdGhlIGJveCB0aGUgc2FtZSBoZWlnaHQgYXMgdGhlIGNvbHVtbi5cbiAqL1xuXG4uZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5mbGV4LXdyYXAge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cblxuLyoqXG4gKiBGbGV4IG9iamVjdCB3aXRoIGEgY29sdW1uIGJhc2VkIGxheW91dCBzeXN0ZW0uXG4gKi9cblxuLnJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBtYXJnaW46IDAgLSN7KCRncmlkLWdhcC8yKX07XG59XG5cblxuLyoqXG4gKiBCb3gsIHRoZSBpbnNpZGUgb2YgYSBjb2x1bW4uXG4gKi9cblxuLmJveCB7XG4gIGZsZXg6IDE7XG59XG5cblxuLy8gTG9vcCB0aHJvdWdoIGFsbCB0aGUga2V5cyBpbiB0aGUgYCRicmVha3BvaW50c2AgdmFyaWFibGUgbWFwIGRlZmluZWQgaW5cbi8vIGBzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2Nzc2AuXG5AZWFjaCAka2V5LCAkdmFsdWUgaW4gJGJyZWFrcG9pbnRzIHtcblxuICAvLyBDcmVhdGUgYSBtZWRpYSBxdWVyeSBmb3IgZXZlcnkga2V5IGluIGAkYnJlYWtwb2ludHNgLlxuICBAaW5jbHVkZSBtZWRpYSgka2V5KSB7XG5cbiAgICAvLyBJdGVyYXRlIGZyb20gMSB0aHJvdWdoIHRoZSBhbW91bnQgb2YgZ3JpZCBjb2x1bW5zIGRlZmluZWQgYnlcbiAgICAvLyBgJGdyaWQtY29sdW1uc2AgaW4gYHNldHRpbmdzL19kZWZpbml0aW9ucy5zY3NzYC5cbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuXG4gICAgICAvKipcbiAgICAgICAqIENvbHVtbiAjeyRpfSBmb3IgdGhlIGAjeyRrZXl9YCBicmVha3BvaW50LlxuICAgICAgICovXG5cbiAgICAgIC5jb2wtI3ska2V5fS0jeyRpfSB7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICB3aWR0aDogY29sdW1uKCRpKTtcbiAgICAgICAgcGFkZGluZzogMCAoJGdyaWQtZ2FwLzIpO1xuICAgICAgfVxuXG5cbiAgICAgIC8vIE91dHB1dCBhbiBvZmZzZXQgdXRpbGl0eSBjbGFzcyBpZiB0aGUgaXRlcmF0b3IgaXMgbGVzcyB0aGFuIHRoZSBhbW91bnRcbiAgICAgIC8vIG9mIGdyaWQgY29sdW1ucyBkZWZpbmVkIGJ5IGAkZ3JpZC1jb2x1bW5zYCBpblxuICAgICAgLy8gYHNldHRpbmdzL19kZWZpbml0aW9ucy5zY3NzYC5cbiAgICAgIEBpZiAoJGkgPCAkZ3JpZC1jb2x1bW5zKSB7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIE9mZnNldCAjeyRpfSBmb3IgdGhlIGAjeyRrZXl9YCBicmVha3BvaW50LlxuICAgICAgICAgKi9cblxuICAgICAgICAub2Zmc2V0LSN7JGtleX0tI3skaX0ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjb2x1bW4oJGkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBMb29wIHRocm91Z2ggYWxsIHZhbHVlcyBmb3IgdGhlIGBhbGlnbi1pdGVtc2AgcHJvcGVydHkuXG4gICAgQGVhY2ggJHZhbHVlIGluIHN0cmV0Y2gsIGNlbnRlciwgZmxleC1zdGFydCwgZmxleC1lbmQsIGJhc2VsaW5lIHtcblxuICAgICAgLyoqXG4gICAgICAgKiBBbGlnbiBgI3skdmFsdWV9YCBmb3IgdGhlICN7JGtleX0gYnJlYWtwb2ludC5cbiAgICAgICAqL1xuXG4gICAgICAuYWxpZ24tI3ska2V5fS0jeyR2YWx1ZX0ge1xuICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gTG9vcCB0aHJvdWdoIGFsbCB2YWx1ZXMgZm9yIHRoZSBganVzdGlmeS1jb250ZW50YCBwcm9wZXJ0eS5cbiAgICBAZWFjaCAkdmFsdWUgaW4gc3RhcnQsIGNlbnRlciwgc3BhY2UtYmV0d2Vlbiwgc3BhY2UtYXJvdW5kLCBzcGFjZS1ldmVubHkge1xuXG4gICAgICAvKipcbiAgICAgICAqIEp1c3RpZnkgYCN7JHZhbHVlfWAgZm9yIHRoZSAjeyRrZXl9IGJyZWFrcG9pbnQuXG4gICAgICAgKi9cblxuICAgICAgLmp1c3RpZnktI3ska2V5fS0jeyR2YWx1ZX0ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIExvb3AgdGhyb3VnaCBldmVyeSBkaXJlY3Rpb24gZnJvbSBsZWZ0IHRvIHJpZ2h0LlxuICAgIEBlYWNoICRkaXJlY3Rpb24gaW4gbGVmdCwgcmlnaHQge1xuXG4gICAgICAvKipcbiAgICAgICAqIEJsZWVkICN7JGRpcmVjdGlvbn0gZm9yIHRoZSAjeyRrZXl9IGJyZWFrcG9pbnQuXG4gICAgICAgKi9cblxuICAgICAgLmJsZWVkLSN7JGtleX0tI3skZGlyZWN0aW9ufSB7XG4gICAgICAgIHBhZGRpbmctI3skZGlyZWN0aW9ufTogMDtcbiAgICAgIH1cbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIE9yZGVyIGZpcnN0IGZvciB0aGUgYCN7JGtleX1gIGJyZWFrcG9pbnQuXG4gICAgICovXG5cbiAgICAuZmlyc3QtI3ska2V5fSB7XG4gICAgICBvcmRlcjogLTE7XG4gICAgfVxuXG5cbiAgICAvKipcbiAgICAgKiBPcmRlciBsYXN0IGZvciB0aGUgYCN7JGtleX1gIGJyZWFrcG9pbnQuXG4gICAgICovXG5cbiAgICAubGFzdC0jeyRrZXl9IHtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogUmV2ZXJzZSBvcmRlciBmb3IgdGhlIGAjeyRrZXl9YCBicmVha3BvaW50LlxuICAgICAqL1xuXG4gICAgLnJldmVyc2UtI3ska2V5fSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgfVxuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGVhZGluZ3MuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEhlYWRpbmcgMS5cbiAqL1xuXG5oMSxcbi5oZWFkaW5nLTEge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgQGluY2x1ZGUgZm9udCg0OHB4LCA1NHB4KTtcbiAgfVxuXG4gIEBpbmNsdWRlIGZvbnQoNDhweCwgNThweCk7XG4gIGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJ21lZGl1bScpO1xufVxuXG5cbi8qKlxuICogSGVhZGluZyAyLlxuICovXG5cbmgyLFxuLmhlYWRpbmctMiB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBAaW5jbHVkZSBmb250KDQ4cHgsIDU0cHgpO1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIH1cblxuICBAaW5jbHVkZSBmb250KDQ4cHgsIDU0cHgpO1xuICBmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdtZWRpdW0nKTtcbn1cblxuXG4vKipcbiAqIEhlYWRpbmcgMy5cbiAqL1xuXG5oMyxcbi5oZWFkaW5nLTMge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xuICAgIEBpbmNsdWRlIGZvbnQoMTAwcHgsIDEwMHB4KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBAaW5jbHVkZSBmb250KDUwcHgsIDUwcHgpO1xuICAgIG1heC13aWR0aDogMTAwdnc7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgQGluY2x1ZGUgZm9udCgxNTBweCwgMTUwcHgpO1xuICBmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdtZWRpdW0nKTtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMXB4ICRib3NzLWdyZWVuO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGVhZGluZ3MuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uaGFzLWxvYWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTE1MHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMTAwMG1zIGVhc2U7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5oYXMtbG9hZFtsb2FkZWQ9J3RydWUnXSB7XG4gIHRvcDogMDtcbiAgb3BhY2l0eTogMTtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTZWN0aW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFdyYXBwZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogVGhlIHdyYXBwZXIgb2JqZWN0IGNlbnRlcnMgYW4gZWxlbWVudCBpbiB0aGUgZG9jdW1lbnQuXG4gKi9cblxuJHdlYnNpdGUtd2lkdGg6ICAgMTI1MHB4O1xuJHdlYnNpdGUtcGFkZGluZzogOTVweDtcblxuXG4vKipcbiAqIFdyYXBwZXIgKGRlZmF1bHQpXG4gKi9cblxuLndyYXBwZXIge1xuXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcbiAgICBwYWRkaW5nOiAwIDQwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0Jykge1xuICAgIHBhZGRpbmc6IDAgNTBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlJykge1xuICAgIHBhZGRpbmc6IDAgNjBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIGNvbnRhaW5lcigkd2Vic2l0ZS13aWR0aCwgJHdlYnNpdGUtcGFkZGluZyk7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ01TIE91dHB1dFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBFdmVyeSBjb25jZWl2YWJsZSBIVE1MIGVsZW1lbnQgd2l0aGluIGEgYC5jbXMtb3V0cHV0YCB3cmFwcGVyLlxuICpcbiAqIDEuIEV4Y2x1ZGUgbGFzdCBjaGlsZHMuXG4gKi9cblxuLmNtcy1vdXRwdXQge1xuXG4gID4gKiB7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtOyAvKiAxICovXG4gICAgfVxuICB9XG5cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgIGxpIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQoMTZweCwgMzBweCk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzVweCk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgY29udGVudDogJ+KAuic7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb2wge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcblxuICAgIGxpIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQoMTZweCwgMzBweCk7XG4gICAgfVxuICB9XG5cbiAgcCA+IGEge1xuICAgIGNvbG9yOiAkbGluay1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29udGFjdCBmb3JtXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uY29udGFjdC1mb3JtIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHBhZGRpbmctYm90dG9tOiA4NXB4O1xuICB9XG5cbiAgcGFkZGluZy1ib3R0b206IDE3MHB4O1xufVxuXG4uY29udGFjdC1mb3JtX190aXRsZSB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBsZWZ0OiAtOHB4O1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDQzcHg7XG4gIH1cblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTEwcHg7XG4gIGxlZnQ6IC0xNHB4O1xuICBwYWRkaW5nLWJvdHRvbTogODVweDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uY29udGFjdC1mb3JtX19jb2x1bW4tY29udGFjdCB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICB3aWR0aDogNjIlO1xufVxuXG4uY29udGFjdC1mb3JtX19jb250YWN0LWJsb2NrIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNTBweDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNzVweDtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206IDE3MHB4O1xuXG4gICY6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAuY29udGFjdC1mb3JtX19jb250YWN0LXN1YnRpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uY29udGFjdC1mb3JtX19jb250YWN0LXRpdGxlIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIGxlZnQ6IC04cHg7XG4gIH1cblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0xNXB4O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5jb250YWN0LWZvcm1fX2NvbnRhY3Qtc3VidGl0bGUge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xuICAgIHBhZGRpbmctdG9wOiAxNTJweDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgcGFkZGluZy10b3A6IDExMHB4O1xuICB9XG5cbiAgbWF4LXdpZHRoOiA0MDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICBwYWRkaW5nLXRvcDogMjM1cHg7XG59XG5cbi5jb250YWN0LWZvcm1fX2NvbnRhY3QtZWRpdG9yIHtcbiAgbWF4LXdpZHRoOiA1ODVweDtcbn1cblxuLmNvbnRhY3QtZm9ybV9fY29udGFjdC1sb2dvIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICB9XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMjkwcHg7XG4gIG1hcmdpbi10b3A6IDU1cHg7XG59XG5cbi5jb250YWN0LWZvcm1fX2NvbHVtbi1mb3JtIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgd2lkdGg6IDM4JTtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBEb3dubG9hZHNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5kb3dubG9hZHMge1xuICAud3JhcHBlciB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgfVxuICB9XG59XG5cbi5kb3dubG9hZHNfX2l0ZW0ge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xuICAgIG1hcmdpbi1ib3R0b206IDExNXB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIG1hcmdpbi1ib3R0b206IDkwcHg7XG4gIH1cblxuICBtYXJnaW4tYm90dG9tOiAxNjRweDtcbn1cblxuLmRvd25sb2Fkc19faXRlbS1kYXRlIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIGxlZnQ6IC03cHg7XG4gIH1cblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0xNHB4O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5kb3dubG9hZHNfX2NvbHVtbi1pdGVtcyB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIHdpZHRoOiA2MSU7XG4gIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG59XG5cbi5kb3dubG9hZHNfX2l0ZW0tdGl0bGUge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xuICAgIHBhZGRpbmctdG9wOiAxNzVweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBwYWRkaW5nLXRvcDogMTE1cHg7XG4gIH1cblxuICBtYXJnaW4tYm90dG9tOiAyN3B4O1xuICBwYWRkaW5nLXRvcDogMjI0cHg7XG59XG5cbi5kb3dubG9hZHNfX2l0ZW0taW1hZ2Uge1xuICBtYXgtd2lkdGg6IDU3MHB4O1xuICBtYXJnaW46IDM1cHggMDtcbn1cblxuLmRvd25sb2Fkc19faXRlbS1lZGl0b3Ige1xuICBtYXgtd2lkdGg6IDU3MHB4O1xufVxuXG4uZG93bmxvYWRzX19pdGVtLWxpbmsge1xuICBtYXJnaW4tdG9wOiAzNXB4O1xufVxuXG4uZG93bmxvYWRzX19jb2x1bW4tbGlua3Mge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogNzVweDtcbiAgfVxuXG4gIHdpZHRoOiAzOSU7XG59XG5cbi5kb3dubG9hZHNfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjNweDtcbn1cblxuLmRvd25sb2Fkc19fZWRpdG9yIGEge1xuICBAaW5jbHVkZSBmb250KDE2cHgsIDMwcHgpO1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGJvc3MtZ3JlZW47XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb290ZXIgY29sdW1uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmZvb3Rlci1jb2x1bW5zIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIEBpbmNsdWRlIGZvbnQoMThweCwgMzZweCk7XG4gIH1cblxuICBsaW5lLWhlaWdodDogMjlweDtcblxuICAud3JhcHBlciB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgcGFkZGluZy10b3A6IDcwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogODVweDtcbiAgICB9XG5cbiAgICBwYWRkaW5nLXRvcDogMTYwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE3NXB4O1xuICB9XG5cbiAgYSB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkYm9zcy1ncmVlbjtcbiAgICB9XG4gIH1cbn1cblxuLmZvb3Rlci1jb2x1bW5zX19jb250YWN0IHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIH1cblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA0MCU7XG59XG5cbi5mb290ZXItY29sdW1uc19fY29udGFjdC1sb2dvIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gIH1cblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTM1cHg7XG59XG5cbi5mb290ZXItY29sdW1uc19fY29udGFjdC1lZGl0b3Ige1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxuXG4gIG1hcmdpbi10b3A6IDc1cHg7XG59XG5cbi5mb290ZXItY29sdW1uc19fc2l0ZW1hcHMge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHdpZHRoOiA0NSU7XG59XG5cbi5mb290ZXItY29sdW1uc19fc2l0ZW1hcCB7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi5mb290ZXItY29sdW1uc19fc29jaWFsLXRpdGxlLFxuLmZvb3Rlci1jb2x1bW5zX19zaXRlbWFwLXRpdGxlIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIH1cblxuICBtYXJnaW4tYm90dG9tOiA0NXB4O1xufVxuXG4uZm9vdGVyLWNvbHVtbnNfX3NvY2lhbCB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIHdpZHRoOiAxNSU7XG59XG5cbi5mb290ZXItY29sdW1uc19fc29jaWFsLWxpbmtzIHtcbiAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkYm9zcy1ncmVlbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb290ZXIgQ1RBXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZm9vdGVyLWN0YSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDI7XG5cbiAgLndyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuXG4uYmFja2dyb3VuZC0tYm9yZGVyICsgLmZvb3Rlci1jdGEge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgcGFkZGluZy10b3A6IDc1cHg7XG4gIH1cblxuICBwYWRkaW5nLXRvcDogMTc1cHg7XG59XG5cbi5mb290ZXItY3RhICsgZGl2IHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICBtYXJnaW4tdG9wOiAtOTVweDtcbn1cblxuLmZvb3Rlci1jdGFfX2JvZHkge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgdG9wOiAxMjBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcbiAgICB0b3A6IDQwcHg7XG4gICAgcmlnaHQ6IDQwcHg7XG4gICAgYm90dG9tOiA0MHB4O1xuICAgIGxlZnQ6IDQwcHg7XG4gICAgbWF4LWhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgcGFkZGluZzogNjBweCA0MHB4O1xuICB9XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE2MHB4O1xuICByaWdodDogMDtcbiAgbWF4LXdpZHRoOiA1NzVweDtcbiAgbWF4LWhlaWdodDogMjUwcHg7XG4gIHBhZGRpbmc6IDYwcHggNTVweDtcbiAgYmFja2dyb3VuZDogJGJvc3MtZ3JlZW47XG4gIGNvbG9yOiAkYm9zcy1icm93bjtcbn1cblxuLmZvb3Rlci1jdGFfX2xpbmsge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4uZm9vdGVyLWN0YV9faW1hZ2Uge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgaGVpZ2h0OiA1MDBweCFpbXBvcnRhbnQ7XG4gIH1cblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDB2dztcbiAgbWluLWhlaWdodDogNTcwcHg7XG5cbiAgaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb290ZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5mb290ZXIge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gIH1cblxuICBoZWlnaHQ6IDUwcHg7XG4gIHBhZGRpbmctdG9wOiA3cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRib3NzLWJyb3duO1xufVxuXG4uZm9vdGVyX19saW5rcyB7XG4gIGEge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQoMTRweCwgMTJweCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZm9udCgxMnB4LCAxMnB4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IDYwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRjb2xvci13aGl0ZTtcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRib3NzLWdyZWVuO1xuICAgICAgICBjb2xvcjogJGJvc3MtZ3JlZW47XG4gICAgICB9XG4gICAgfVxuICB9ICBcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3JtXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZm9ybSB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogODVweDtcbiAgfVxuXG4gIHBhZGRpbmctYm90dG9tOiAxODBweDtcbn1cblxuLmZvcm1fX3RpdGxlIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIGxlZnQ6IC04cHg7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgfVxuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMTBweDtcbiAgbGVmdDogLTE0cHg7XG4gIHBhZGRpbmctYm90dG9tOiA4NXB4O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5mb3JtX19jb2x1bW4tZm9ybSB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICB3aWR0aDogNzIlO1xufVxuXG4uZm9ybV9fY29sdW1uLWltYWdlIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgd2lkdGg6IDI4JTtcbn1cblxuLmZvcm1fX2ltYWdlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1pbi13aWR0aDogNDM1cHg7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG59XG5cbi5mb3JtX19zaG9ydGNvZGUge1xuXHQucXVlc3Rpb24tdHlwZS1yYWRpbyB7XG5cdFx0bGFiZWwge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cdH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWFkZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5oZWFkZXIge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgaGVpZ2h0OiAxMjVweDtcbiAgfVxuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMjEwcHg7XG5cbiAgLndyYXBwZXIge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGhlaWdodDogMTI1cHg7XG4gICAgfVxuXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDIxMHB4O1xuICB9XG59XG5cbi5oZWFkZXIgKyBkaXYge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgcGFkZGluZy10b3A6IDEyNXB4O1xuICB9XG5cbiAgcGFkZGluZy10b3A6IDIxMHB4O1xufVxuXG4uaGVhZGVyX19sb2dvIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0NHB4KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgNzUwbXMgZWFzZTtcbiAgfVxuXG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA0NzlweCk7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHotaW5kZXg6IDI7XG5cbiAgaW1nIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xuICAgIH1cblxuICAgIHdpZHRoOiAyMTJweDtcbiAgICBoZWlnaHQ6IDE1MHB4O1xuICB9XG59XG5cbi5ib2R5LmlzLWFjdGl2ZSAuaGVhZGVyX19sb2dvIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHotaW5kZXg6IDEwMDtcbiAgfVxufVxuXG4uaGVhZGVyX19idXR0b25zIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB3aWR0aDogNDQ1cHg7XG4gIHotaW5kZXg6IDI7XG59XG5cbi5oZWFkZXJfX2J1dHRvbiB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICRib3NzLWdyZWVuO1xuICBjb2xvcjogJGJvc3MtZ3JlZW47XG5cbiAgc3ZnIHtcbiAgICBjb2xvcjogJGJvc3MtZ3JlZW47XG4gICAgZmlsbDogJGJvc3MtZ3JlZW47XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogJGJvc3MtZ3JlZW47XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICB9XG5cbiAgJi5pcy1zZWFyY2gge1xuICAgIG1hcmdpbi1yaWdodDogODBweDtcbiAgfVxufVxuXG5cbi8qKlxuICogTW9iaWxlIG1lbnUgYnV0dG9uLlxuICovXG5cbiR0cmFuc2l0aW9uLXRpbWluZzogNDAwbXM7XG5cbi5oZWFkZXJfX21lbnUtYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMzRweDtcbiAgaGVpZ2h0OiAzNHB4O1xuICB6LWluZGV4OiAxMDA7XG5cbiAgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAzNHB4O1xuICAgIGhlaWdodDogMnB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmxhY2s7XG5cbiAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICB0b3A6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLXRpbWluZywgdG9wICR0cmFuc2l0aW9uLXRpbWluZyAkdHJhbnNpdGlvbi10aW1pbmcsIHRyYW5zZm9ybSAkdHJhbnNpdGlvbi10aW1pbmcgMHM7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDFweCk7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLXRpbWluZywgb3BhY2l0eSAwbXMgJHRyYW5zaXRpb24tdGltaW5nO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLXRpbWluZywgYm90dG9tICR0cmFuc2l0aW9uLXRpbWluZyAkdHJhbnNpdGlvbi10aW1pbmcsIHRyYW5zZm9ybSAkdHJhbnNpdGlvbi10aW1pbmcgMHM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgfVxuICB9XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIHNwYW4ge1xuICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICB0b3A6IGNhbGMoNTAlIC0gMXB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbi10aW1pbmcsIHRvcCAkdHJhbnNpdGlvbi10aW1pbmcsIHRyYW5zZm9ybSAkdHJhbnNpdGlvbi10aW1pbmcgJHRyYW5zaXRpb24tdGltaW5nO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgYm90dG9tOiBjYWxjKDUwJSAtIDFweCk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbi10aW1pbmcsIGJvdHRvbSAkdHJhbnNpdGlvbi10aW1pbmcsIHRyYW5zZm9ybSAkdHJhbnNpdGlvbi10aW1pbmcgJHRyYW5zaXRpb24tdGltaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8qKlxuICogSGVhZGVyIHNlY29uZGFyeSBjb2xvcnMuXG4gKi9cblxuLmhlYWRlci0tc2Vjb25kYXJ5IHtcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuXHRcdHotaW5kZXg6IDE3MDAwO1xuXHR9XG4gIC5oZWFkZXJfX2J1dHRvbiB7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGJvc3MtYnJvd247XG4gICAgY29sb3I6ICRib3NzLWJyb3duO1xuXG4gICAgc3ZnIHtcbiAgICAgIGNvbG9yOiAkYm9zcy1icm93bjtcbiAgICAgIGZpbGw6ICRib3NzLWJyb3duO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRib3NzLWJyb3duO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRib3NzLWJlaWdlO1xuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXJfX21lbnUtYnV0dG9uIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRib3NzLWJyb3duO1xuXG4gICAgJjpudGgtY2hpbGQoMiksXG4gICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJvc3MtYnJvd247XG4gICAgfVxuICB9XG59XG5cbi5oZWFkZXJfX21lbnUtYnV0dG9uLmlzLWFjdGl2ZSBzcGFuIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvc3MtYmVpZ2U7XG5cbiAgICAmOm50aC1jaGlsZCgyKSxcbiAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9zcy1iZWlnZTtcbiAgICB9XG4gIH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSG9tZSBETkEgZm9ybS5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogRGVmYXVsdCBzdHlsaW5nLlxuICovXG5pbnB1dFt0eXBlPSdkYXRlJ10sXG5pbnB1dFt0eXBlPSd0ZXh0J10sXG5pbnB1dFt0eXBlPSdudW1iZXInXSxcbmlucHV0W3R5cGU9J2VtYWlsJ10sXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogN3B4IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9zcy1icm93bjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAkYm9zcy1icm93bjtcbn1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IDEyNXB4O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGJvc3MtYnJvd247XG59XG5cbmlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAkYm9zcy1icm93bjtcbiAgb3BhY2l0eTogMC41O1xufVxuXG5cbi8qKlxuICogSG9tZUROQSBmb3JtLlxuICovXG5cbi5ob21lZG5hLXN1cnZleSB7XG4gIG1heC13aWR0aDogNTc1cHg7XG59XG5cbi5ob21lZG5hLXN1cnZleSBsYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAtMjNweDtcbiAgZm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQtZmFtaWx5LCAnbWVkaXVtJyk7XG59XG5cbi5ob21lZG5hLXN1cnZleSAucXVlc3Rpb24tdHlwZS1zdGF0aWMsXG4uaG9tZWRuYS1zdXJ2ZXkgLnF1ZXN0aW9uLXR5cGUtaGVhZGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmhvbWVkbmEtc3VydmV5IC53cmFwLXF1ZXN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDI2cHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBjb2xvcjogJGJvc3MtYnJvd247XG5cbiAgYSB7XG4gICAgY29sb3I6ICRib3NzLWdyZWVuO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5ob21lZG5hLXN1cnZleSAucXVlc3Rpb24tdHlwZS1yYWRpbyBsYWJlbCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uaG9tZWRuYS1zdXJ2ZXkgaW5wdXRbdHlwZT1yYWRpb10sXG4uaG9tZWRuYS1zdXJ2ZXkgaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICBtYXJnaW4tdG9wOiA2cHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgcGFkZGluZzogMDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHRyYW5zaXRpb246IDAuMzVzO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9zcy1icm93bjtcblxuICAmOmNoZWNrZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRib3NzLWJyb3duO1xuICB9XG59XG5cbi5ob21lZG5hLXN1cnZleSAuYnRuLXN0eWxlIHtcbiAgQGluY2x1ZGUgZm9udCgxNnB4LCAxNnB4KTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAzMnB4O1xuICBtYXJnaW46IDUwcHggMzVweCAwIDA7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG4gIGJvcmRlcjogMnB4IHNvbGlkICRib3NzLWdyZWVuO1xuICBjb2xvcjogJGJvc3MtZ3JlZW47XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICBzdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDZweDtcbiAgICByaWdodDogLTM3cHg7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG4gICAgY29sb3I6ICRib3NzLWdyZWVuO1xuICAgIGZpbGw6ICRib3NzLWdyZWVuO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAzNTBtcyBlYXNlO1xuICAgIGJhY2tncm91bmQ6ICRib3NzLWdyZWVuO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG5cbiAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgfVxufVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1pZHNcbi8vIHNhc3MtbGludDpkaXNhYmxlIGlkLW5hbWUtZm9ybWF0XG4jZm9ybVBhZ2VOYXYge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4jZm9ybVBhZ2VOYXYgPiAudGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuI2Zvcm1QYWdlTmF2ID4gc3BhbltkYXRhLXBhZ2VdIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDMwcHg7XG4gIHBhZGRpbmc6IDVweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA0NTBtcywgY29sb3IgNDUwbXM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ncmVlbjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICY6aG92ZXIsXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW47XG4gICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgfVxufVxuLy8gc2Fzcy1saW50OmVuYWJsZSBuby1pZHNcbi8vIHNhc3MtbGludDplbmFibGUgaWQtbmFtZS1mb3JtYXRcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMb2NhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmxvY2F0aW9uIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAud3JhcHBlciB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbn1cblxuLmxvY2F0aW9uX19jb2x1bW4tdGV4dCB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gICAgbWFyZ2luOiA3MHB4IDQwcHggODBweDtcbiAgICBwYWRkaW5nOiAzNXB4IDAgMDtcbiAgfVxuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDMwJTtcbiAgcGFkZGluZzogOTBweCAzNXB4IDAgMDtcblxuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgIH1cblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMzNweDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmx1ZS1saWdodDtcbiAgICBjb250ZW50OiAnJztcbiAgfVxufVxuXG4ubG9jYXRpb25fX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgXG59XG5cbi5sb2NhdGlvbl9fY29sdW1uLW1hcCB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICB3aWR0aDogNzAlO1xufVxuXG4ubG9jYXRpb25fX21hcCB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gIH1cblxuICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgd2lkdGg6IDY2LjZ2dztcbiAgbWluLWhlaWdodDogNjAwcHg7XG59XG5cbi5sb2NhdGlvbl9fbWFwLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTW9iaWxlIHNjcm9sbFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm1vYmlsZS1zY3JvbGwge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgZm9udCgxOHB4LCAyM3B4KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAxNzBweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICBjb2xvcjogJGNvbG9yLW9yYW5nZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIHN2ZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTJweDtcbiAgICByaWdodDogMTBweDtcbiAgICB3aWR0aDogMzVweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICBjb2xvcjogJGNvbG9yLW9yYW5nZTtcbiAgICBmaWxsOiAkY29sb3Itb3JhbmdlO1xuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTmF2aWdhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm5hdmlnYXRpb24ge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgdG9wOiAxMDB2aDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMTI1cHg7XG4gICAgcGFkZGluZzogMTJweCAwIDQwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XG4gICAgYmFja2dyb3VuZDogJGJvc3MtYmVpZ2VcbiAgfVxuXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAtMTAwdmg7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xuICBiYWNrZ3JvdW5kOiAkYm9zcy1iZWlnZTtcbiAgY29sb3I6ICRib3NzLWJyb3duO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiA5OTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICB0b3A6IDA7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cblxuLyoqXG4gKiBDb250YWN0LlxuICovXG5cbi5uYXZpZ2F0aW9uX19jb2x1bW4tY29udGFjdCB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgd2lkdGg6IDQwJTtcbiAgcGFkZGluZy10b3A6IDkwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG59XG5cbi5uYXZpZ2F0aW9uX19jb250YWN0LWJsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogMjJweDtcblxuICBhIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLXVwJykge1xuICAgICAgICBjb2xvcjogJGJvc3MtZ3JlZW47XG4gICAgICB9XG5cbiAgICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xuICAgIH1cbiAgfVxufVxuXG4ubmF2aWdhdGlvbl9fY29udGFjdC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDIycHg7XG59XG5cbi5uYXZpZ2F0aW9uX19jb250YWN0LWVkaXRvciB7XG4gIEBpbmNsdWRlIGZvbnQoMTZweCwgMzBweCk7XG59XG5cblxuLyoqXG4gKiBTb2NpYWwuXG4gKi9cblxuLm5hdmlnYXRpb25fX3NvY2lhbCB7XG4gICYuaXMtZGVza3RvcCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIH1cblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmLmlzLW1vYmlsZSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ubmF2aWdhdGlvbl9fc29jaWFsLXRpdGxlIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIEBpbmNsdWRlIGZvbnQoMjBweCwgMzZweCk7XG4gICAgbWFyZ2luOiAxMzVweCAwIDIxcHg7XG4gIH1cblxuICBtYXJnaW46IDcwcHggMCAyNnB4O1xuICBjb2xvcjogJGJvc3MtYnJvd247XG4gIGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJ21lZGl1bScpO1xufVxuXG4ubmF2aWdhdGlvbl9fc29jaWFsLWxpbmtzIHtcbiAgYSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgQGluY2x1ZGUgZm9udCgyMHB4LCAzNnB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBmb250KDE2cHgsIDMwcHgpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xuICAgIGNvbG9yOiAkYm9zcy1icm93bjtcblxuICAgICY6aG92ZXIge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XG4gICAgICAgIGNvbG9yOiAkYm9zcy1ncmVlblxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8qKlxuICogTWFpbiBtZW51LlxuICovXG5cbi5uYXZpZ2F0aW9uX19jb2x1bW4tbWVudSB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICB3aWR0aDogNjAlO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgcGFkZGluZzogOTBweCAwIDAgOTVweDtcblxuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgd2lkdGg6IGNhbGMoMTAwdncgLSAyMHB4KTtcbiAgfVxufVxuXG4ubWFpbi1tZW51IHtcbiAgPiBsaSB7XG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQoMzBweCwgNDhweCk7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICAgIGNvbG9yOiAkYm9zcy1icm93bjtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgZm9udCg0OHB4LCA3NnB4KTtcbiAgICAgIGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJ21lZGl1bScpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG4gICAgfVxuXG4gICAgJi5jdXJyZW50LW1lbnUtaXRlbSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJGJvc3MtZ3JlZW47XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQmFja2dyb3VuZCBoZWFkZXIuXG4gKi9cblxuLmhlYWRlciB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XG4gICAgICBiYWNrZ3JvdW5kOiAkYm9zcy1iZWlnZTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIERpc2FibGUgc2Nyb2xsLlxuICovXG5cbi5ib2R5LmlzLWFjdGl2ZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLmhlYWRlcjo6YmVmb3JlIHtcbiAgICBib3R0b206IDA7XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBOZXdzIGxpc3RcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5uZXdzLWxpc3Qge1xuICAud3JhcHBlciB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgfVxuICB9XG59XG5cblxuLyoqXG4gKiBJdGVtcy5cbiAqL1xuXG4ubmV3cy1saXN0X19pdGVtcyB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA0NzlweCk7XG4gIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG59XG5cblxuLyoqXG4gKiBJdGVtLlxuICovXG5cbi5uZXdzLWxpc3RfX2l0ZW0ge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xuICAgIG1hcmdpbi1ib3R0b206IDExNXB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIG1hcmdpbi1ib3R0b206IDkwcHg7XG4gIH1cblxuICBtYXJnaW4tYm90dG9tOiAxNjRweDtcbn1cblxuLm5ld3MtbGlzdF9faXRlbS1kYXRlIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIGxlZnQ6IC03cHg7XG4gIH1cblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0xNHB4O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5uZXdzLWxpc3RfX2l0ZW0tdGl0bGUge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xuICAgIHBhZGRpbmctdG9wOiAxNzVweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBwYWRkaW5nLXRvcDogMTE1cHg7XG4gIH1cblxuICBtYXJnaW4tYm90dG9tOiAyN3B4O1xuICBwYWRkaW5nLXRvcDogMjI0cHg7XG59XG5cbi5uZXdzLWxpc3RfX2l0ZW0taW1hZ2Uge1xuICBtYXgtd2lkdGg6IDU3MHB4O1xuICBtYXJnaW46IDM1cHggMDtcbn1cblxuLm5ld3MtbGlzdF9faXRlbS1lZGl0b3Ige1xuICBtYXgtd2lkdGg6IDU3MHB4O1xufVxuXG4ubmV3cy1saXN0X19pdGVtLWxpbmsge1xuICBtYXJnaW4tdG9wOiAzNXB4O1xufVxuXG5cbi8qKlxuICogUGFnaW5hdGlvbi5cbiAqL1xuXG4ubmV3cy1saXN0X19wYWdpbmF0aW9uIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDc1cHg7XG4gIH1cblxuICB3aWR0aDogNDc5cHg7XG5cbiAgLnBhZ2luYXRpb24ge1xuICAgIG1hcmdpbi10b3A6IDM1cHg7XG5cbiAgICAucGFnZS1udW1iZXJzIHtcbiAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG4gICAgfVxuXG4gICAgLnByZXYsXG4gICAgLm5leHQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuY3VycmVudCxcbiAgICAucGFnZS1udW1iZXJzOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JlZW47XG4gICAgfVxuXG4gICAgLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGEucGFnZS1udW1iZXJzOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkYm9zcy1ncmVlbjtcbiAgICB9XG4gICAgLy8gc2Fzcy1saW50OmVuYWJsZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gIH1cbn1cblxuLm5ld3MtbGlzdF9fc3RpY2t5IHtcbiAgJi5pcy1hY3RpdmUge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLXVwJykge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiA4MHB4O1xuICAgIH1cbiAgfVxufVxuXG4ubmV3cy1saXN0X19wYWdpbmF0aW9uLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjNweDtcbn1cblxuLm5ld3MtbGlzdF9fcGFnaW5hdGlvbi1saW5rIHtcbiAgQGluY2x1ZGUgZm9udCgxNnB4LCAyNHB4KTtcbiAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRib3NzLWdyZWVuO1xuICB9XG59XG5cbi5uZXdzLWxpc3RfX3BhZ2luYXRpb24tZGF0ZSB7XG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcbiAgICB3aWR0aDogODBweDtcbiAgfVxuXG4gIHdpZHRoOiAxNDVweDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQYXJ0bmVycyBpbWFnZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnBhcnRuZXJzLWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC53cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xuICAgICAgcGFkZGluZy10b3A6IDkxcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogODVweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICBwYWRkaW5nLXRvcDogNzVweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4NXB4O1xuICAgIH1cblxuICAgIHBhZGRpbmctdG9wOiAxNTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTc1cHg7XG4gIH1cbn1cblxuLnBhcnRuZXJzLWltYWdlICsgZGl2OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9zcy1icm93bjtcbn1cblxuLnBhcnRuZXJzLWltYWdlX190aXRsZSB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XG4gICAgdG9wOiAtNjFweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICB0b3A6IC0zMXB4O1xuICAgIGxlZnQ6IC04cHg7XG4gIH1cblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTkycHg7XG4gIGxlZnQ6IC0xNXB4O1xufVxuXG4ucGFydG5lcnMtaW1hZ2VfX2NvbHVtbi1wYXJ0bmVycyB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICB3aWR0aDogNzIlO1xufVxuXG4ucGFydG5lcnMtaW1hZ2VfX3BhcnRuZXIge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xuICAgIG1hcmdpbi1ib3R0b206IDE1MHB4O1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICB9XG5cbiAgbWFyZ2luLWJvdHRvbTogMjIwcHg7XG5cbiAgJjpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIC5wYXJ0bmVycy1pbWFnZV9fcGFydG5lci1zdWJ0aXRsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cblxuLnBhcnRuZXJzLWltYWdlX19wYXJ0bmVyLXRpdGxlIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIGxlZnQ6IC04cHg7XG4gIH1cblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0xNXB4O1xufVxuXG4ucGFydG5lcnMtaW1hZ2VfX3BhcnRuZXItc3VidGl0bGUge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xuICAgIHBhZGRpbmctdG9wOiAxNTJweDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgcGFkZGluZy10b3A6IDExMHB4O1xuICB9XG5cbiAgbWF4LXdpZHRoOiA0MDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgcGFkZGluZy10b3A6IDIzNXB4O1xuICBjb2xvcjogJGJvc3MtZ3JlZW47XG59XG5cbi5wYXJ0bmVycy1pbWFnZV9fcGFydG5lci1lZGl0b3Ige1xuICBtYXgtd2lkdGg6IDU4NXB4O1xufVxuXG4ucGFydG5lcnMtaW1hZ2VfX2NvbHVtbi1pbWFnZSB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHdpZHRoOiAyOCU7XG59XG5cbi5wYXJ0bmVycy1pbWFnZV9faW1hZ2Uge1xuICBpbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBtaW4td2lkdGg6IDQzNXB4O1xuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUHJvcGVydHkgbWFwXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucHJvcGVydHktbWFwIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIG1pbi1oZWlnaHQ6IDEyNXB4O1xuICB9XG5cbiAgJi5iYWNrZ3JvdW5kLS1wcmltYXJ5LFxuICAmLmJhY2tncm91bmQtLXByaW1hcnktcGF0dGVybixcbiAgJi5iYWNrZ3JvdW5kLS1zZWNvbmRhcnksXG4gICYuYmFja2dyb3VuZC0tc2Vjb25kYXJ5LXBhdHRlcm4ge1xuICAgIC5wcm9wZXJ0eS1tYXBfX2NvbHVtbi1kZXRhaWxzOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsdWUtbGlnaHQ7XG4gICAgfVxuICB9XG5cbiAgJi5iYWNrZ3JvdW5kLS1kZWZhdWx0IHtcbiAgICAucHJvcGVydHktbWFwX19jb2x1bW4tZGV0YWlsczo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmVlbjtcbiAgICB9XG4gIH1cblxuICAmLmJhY2tncm91bmQtLWJvcmRlciArIC5wcm9wZXJ0eS1tYXAge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIH1cblxuICAgIHBhZGRpbmctdG9wOiAyMTVweDtcbiAgfVxuXG4gICsgLmZvb3Rlci1jdGEge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIHBhZGRpbmctdG9wOiA5MHB4O1xuICAgIH1cblxuICAgIHBhZGRpbmctdG9wOiAxODBweDtcbiAgfVxuXG4gIC53cmFwcGVyIHtcblx0ICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cblxuLnByb3BlcnR5LW1hcF9fY29sdW1uLWRldGFpbHMge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDMwJTtcbiAgcGFkZGluZy10b3A6IDk1cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDMzcHg7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgY29udGVudDogJyc7XG4gIH1cbn1cblxuLnByb3BlcnR5LW1hcF9fY29sdW1uLW1hcCB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIHdpZHRoOiA3MCU7XG59XG5cbi5wcm9wZXJ0eS1tYXBfX3BsYWNlaG9sZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDk1cHg7XG4gIG1heC13aWR0aDogMjEwcHg7XG4gIHRyYW5zaXRpb246IGFsbCA2MDBtcyBlYXNlO1xuICBvcGFjaXR5OiAxO1xuXG4gICYuaXMtaGlkZGVuIHtcbiAgICB0b3A6IC0xODBweDtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5wcm9wZXJ0eS1tYXBfX3Byb3BlcnRpZXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucHJvcGVydHktbWFwX19wcm9wZXJ0eSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDMwMHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgNjAwbXMgZWFzZTtcbiAgb3BhY2l0eTogMDtcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgdG9wOiAwO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnByb3BlcnR5LW1hcF9fcHJvcGVydHktdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG4ucHJvcGVydHktbWFwX19zY3JvbGxkb3duLWFycm93IHtcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRib3R0b206IDEzNXB4O1xuXHRsZWZ0OiA4N3B4O1xuXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XG5cdFx0bGVmdDogNTdweDtcblx0fVxuXG5cdHN2ZyB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGFuaW1hdGlvbjoganVtcCAzcyBlYXNlLWluLW91dCBpbmZpbml0ZTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGp1bXAge1xuXHQwJSB7XG5cdFx0Ym90dG9tOiAwO1xuXHR9XG5cblx0NTAlIHtcblx0XHRib3R0b206IDE1cHg7XG5cdH1cblxuXHQxMDAlIHtcblx0XHRib3R0b206IDA7XG5cdH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQcm9wZXJ0eSBzaW5nbGVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5wcm9wZXJ0eS1zaW5nbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLndyYXBwZXIge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XG4gICAgICBwYWRkaW5nLXRvcDogOTFweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4NXB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgIHBhZGRpbmctdG9wOiA3NXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDg1cHg7XG4gICAgfVxuXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogMTYwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE4MHB4O1xuICB9XG59XG5cbi5wcm9wZXJ0eS1zaW5nbGVfX3RpdGxlIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcbiAgICB0b3A6IC02MXB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIEBpbmNsdWRlIGZvbnQoNjBweCwgNzJweCk7XG4gICAgdG9wOiAtNDJweDtcbiAgICBsZWZ0OiAtOHB4O1xuICB9XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05MnB4O1xuICBsZWZ0OiAtMTVweDtcbn1cblxuLnByb3BlcnR5LXNpbmdsZV9fY29sdW1uLWRldGFpbHMge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICB3aWR0aDogMjkwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7ICBcbn1cblxuLnByb3BlcnR5LXNpbmdsZV9fc3VidGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBjb2xvcjogJGJvc3MtYnJvd247XG59XG5cbi5wcm9wZXJ0eS1zaW5nbGVfX2luZm9ybWF0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgY29sb3I6ICRib3NzLWJyb3duO1xufVxuXG4ucHJvcGVydHktc2luZ2xlX19jb2x1bW4tbWFwIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gIH1cblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAyOTBweCk7XG59XG5cbi5wcm9wZXJ0eS1zaW5nbGVfX3NsaWRlc2hvdy1pbWFnZXMge1xuICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItZ3JlZW47XG59XG5cbi5wcm9wZXJ0eS1zaW5nbGVfX25hdmlnYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IC0zOHB4O1xuXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE4cHg7XG4gICAgY29sb3I6ICRib3NzLWJyb3duO1xuXG4gICAgJi5hY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGJvc3MtYnJvd247XG4gICAgfVxuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUHJvcGVydHkgdHlwZSBpdGVtXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucHJvcGVydHktdHlwZS1pdGVtIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gIH1cblxuICB3aWR0aDogY2FsYyg1MCUgLSA0Ny41cHgpO1xuICBtYXJnaW4tYm90dG9tOiAxMjBweDtcblxuICAuYnV0dG9uLS1hcnJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogbm9ybWFsO1xuICB9XG5cbiAgLmJ1dHRvbi0tYXJyb3cgc3ZnIHtcbiAgICB0b3A6IDVweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gIH1cbn1cblxuLnByb3BlcnR5LXR5cGUtaXRlbV9faGVhZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnByb3BlcnR5LXR5cGUtaXRlbV9fYXZhaWxhYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDMwcHg7XG4gIGxlZnQ6IDMwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMCAxM3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9zcy1icm93bjtcbiAgY29sb3I6ICRib3NzLWJlaWdlOyBcbn1cblxuLnByb3BlcnR5LXR5cGUtaXRlbV9faW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuXG4gIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi5wcm9wZXJ0eS10eXBlLWl0ZW1fX3RvdGFsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cblxuLnByb3BlcnR5LXR5cGUtaXRlbV9fdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG4ucHJvcGVydHktdHlwZS1pdGVtX190ZWFzZXIge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4vKipcbiAqIENvbG9ycy5cbiAqL1xuXG4ucHJvcGVydHktdHlwZS1saXN0IHtcbiAgJi5iYWNrZ3JvdW5kLS1icm93biB7XG4gICAgLnByb3BlcnR5LXR5cGUtaXRlbV9fdG90YWwge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRib3NzLWJlaWdlO1xuICAgIH1cbiAgfVxuXG4gICYuYmFja2dyb3VuZC0tZGVmYXVsdCB7XG4gICAgLnByb3BlcnR5LXR5cGUtaXRlbV9fdG90YWwge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRib3NzLWJyb3duO1xuICAgIH1cbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFByb3BlcnR5IHR5cGUgbGlzdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnByb3BlcnR5LXR5cGUtbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAud3JhcHBlciB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxNDBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgIHBhZGRpbmctdG9wOiAxNjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTMwcHg7XG4gIH1cbn1cblxuLnByb3BlcnR5LXR5cGUtbGlzdF9fdGl0bGUge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xuICAgIHRvcDogLTYxcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgQGluY2x1ZGUgZm9udCg1MHB4LCA3MnB4KTtcbiAgICB0b3A6IC00MnB4O1xuICAgIGxlZnQ6IC04cHg7XG4gIH1cblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTkycHg7XG4gIGxlZnQ6IC0xNXB4O1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNsaWRlc2hvd1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnNsaWRlc2hvdyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLndyYXBwZXIge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG59XG5cbi5zbGlkZXNob3dfX2NvbHVtbi10ZXh0IHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgICBtYXJnaW46IDcwcHggNDBweCA4MHB4O1xuICAgIHBhZGRpbmc6IDM1cHggMCAwO1xuICB9XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMzAlO1xuICBwYWRkaW5nOiA5MHB4IDM1cHggMCAwO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgfVxuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAzM3B4O1xuICAgIGhlaWdodDogM3B4O1xuICAgIGJhY2tncm91bmQ6ICRib3NzLWJyb3duO1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG59XG5cbi5zbGlkZXNob3dfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgXG59XG5cbi5zbGlkZXNob3dfX2NvbHVtbi1pbWFnZXMge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgd2lkdGg6IDcwJTtcbn1cblxuLnNsaWRlc2hvd19faW1hZ2VzIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgcG9zaXRpb246IGluaXRpYWw7XG4gIHdpZHRoOiA2Ni42dnc7XG5cbiAgLm93bC1uYXYge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjEwcHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBtYXJnaW46IGF1dG8gMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9zcy1ncmVlbjtcblxuICAgIC5vd2wtcHJldiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5vd2wtbmV4dCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogMzRweDtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICB9XG4gIH1cblxuICAub3dsLWRvdHMge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICByaWdodDogNDBweDtcbiAgICAgIGJvdHRvbTogLTM1cHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW4tbGVmdDogLTI4cHg7XG4gICAgei1pbmRleDogMjtcblxuICAgIC5vd2wtZG90IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAxNHB4O1xuICAgICAgfVxuXG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gICYucGFnaW5hdGlvbi1yZWQgLm93bC1kb3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRib3NzLWJyb3duO1xuICAgIH1cblxuICAgIGJvcmRlcjogMnB4IHNvbGlkICRib3NzLWJyb3duO1xuXG4gICAgJi5hY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRib3NzLWJyb3duO1xuICAgICAgfVxuICAgICAgXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9zcy1icm93bjtcbiAgICB9XG4gIH1cblxuICAmLnBhZ2luYXRpb24tZ3JlZW4gLm93bC1kb3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRib3NzLWJyb3duO1xuICAgIH1cblxuICAgIGJvcmRlcjogMnB4IHNvbGlkICRib3NzLWJyb3duO1xuXG4gICAgJi5hY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRib3NzLWJyb3duO1xuICAgICAgfVxuXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9zcy1icm93bjtcbiAgICB9XG4gIH1cbn1cblxuLnNsaWRlc2hvd19fc2xpZGUge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogYXV0bztcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNjYuNnZ3O1xuICBtaW4taGVpZ2h0OiA2MDBweDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUZXh0IGltYWdlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udGV4dC1pbWFnZSB7XG4gIC53cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xuICAgICAgcGFkZGluZy1ib3R0b206IDExMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIHBhZGRpbmctdG9wOiA2NXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDkwcHg7XG4gICAgfVxuXG4gICAgcGFkZGluZy10b3A6IDEyMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNzVweDtcbiAgfVxuXG4gICYuYmFja2dyb3VuZC0tZGVmYXVsdCB7XG4gICAgLmJ1dHRvbi0tYm9yZGVyIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci1ncmVlbjtcbiAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW47XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW47XG4gICAgICAgIGZpbGw6ICRjb2xvci1ncmVlbjtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JlZW47XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJsdWUtbGlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbi0tYXJyb3cge1xuICAgICAgY29sb3I6ICRjb2xvci1ncmVlbjtcblxuICAgICAgc3ZnIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmVlbjtcbiAgICAgICAgZmlsbDogJGNvbG9yLWdyZWVuO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4udGV4dC1pbWFnZV9fY29sdW1uLXRleHQge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZScpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIHdpZHRoOiA1NCU7XG4gIHBhZGRpbmctcmlnaHQ6IDEwMHB4O1xufVxuXG4udGV4dC1pbWFnZV9fdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4udGV4dC1pbWFnZV9fZWRpdG9yIHtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcbn1cblxuLnRleHQtaW1hZ2VfX2NvbHVtbi1pbWFnZSB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIHdpZHRoOiA0NiU7XG5cbiAgI3BsYXkge1xuICAgIHRyYW5zaXRpb246IGFsbCA0MDBtcyBlYXNlO1xuXG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmVlbjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gNTBweCk7XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAzOXB4O1xuICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgICAgIGNvbG9yOiAkYm9zcy1ncmVlbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuODtcbiAgICB9XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUZXh0IHNsaWRlc2hvd1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnRleHQtc2xpZGVzaG93IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC53cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xuICAgICAgcGFkZGluZy10b3A6IDUxcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogODVweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICBwYWRkaW5nLXRvcDogNTVweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4NXB4O1xuICAgIH1cblxuICAgIHBhZGRpbmctdG9wOiAxMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTgwcHg7XG4gIH1cblxuICAmLmJhY2tncm91bmQtLWRlZmF1bHQge1xuICAgIC5vd2wtbmF2IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmVlbjtcblxuICAgICAgc3ZnIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibHVlLWxpZ2h0O1xuICAgICAgICBmaWxsOiAkY29sb3ItYmx1ZS1saWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAub3dsLWRvdCB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItZ3JlZW47XG5cbiAgICAgICYuYWN0aXZlLFxuICAgICAgJjpob3ZlciB7ICAgICAgICBcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuYmFja2dyb3VuZC0tZGVmYXVsdCxcbiAgJi5iYWNrZ3JvdW5kLS1icm93bixcbiAgJi5iYWNrZ3JvdW5kLS1iZWlnZSB7XG4gICAgLm93bC1uYXYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJvc3MtZ3JlZW47XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIGNvbG9yOiAkYm9zcy1icm93bjtcbiAgICAgICAgZmlsbDogJGJvc3MtYnJvd247XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm93bC1kb3Qge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgJGJvc3MtYnJvd247XG5cbiAgICAgICYuYWN0aXZlLFxuICAgICAgJjpob3ZlciB7ICAgICAgICBcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJvc3MtYnJvd247XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi50ZXh0LXNsaWRlc2hvd19fd3JhcCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50ZXh0LXNsaWRlc2hvd19fdGl0bGUge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xuICAgIHRvcDogLTYxcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgdG9wOiAtMzJweDtcbiAgICBsZWZ0OiAtOHB4O1xuICB9XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05MnB4O1xuICBsZWZ0OiAtMTVweDtcbn1cblxuLnRleHQtc2xpZGVzaG93X190aXRsZSArIGRpdiB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgfVxuXG4gIHBhZGRpbmctdG9wOiA0MHB4O1xufVxuXG4udGV4dC1zbGlkZXNob3dfX2Jsb2NrLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcbn1cblxuXG4vKipcbiAqIFNsaWRlc2hvdy5cbiAqL1xuXG4udGV4dC1pbWFnZV9fc2xpZGVzaG93IHtcblxuICAub3dsLXN0YWdlLW91dGVyIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcbiAgICAgIHdpZHRoOiAxNzkwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUnKSB7XG4gICAgICB3aWR0aDogMTIwNXB4O1xuICAgIH1cbiAgfVxuXG4gIC5vd2wtbmF2IHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUyNXB4O1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBtYXJnaW46IGF1dG8gMDtcblxuICAgIC5vd2wtcHJldiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5vd2wtbmV4dCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogMzRweDtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICB9XG4gIH1cblxuICAub3dsLWRvdHMge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogLTM1cHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW4tbGVmdDogLTI4cHg7XG4gICAgei1pbmRleDogMjtcblxuICAgIC5vd2wtZG90IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAxNHB4O1xuICAgICAgfVxuXG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8qKlxuICogU2xpZGVzLlxuICovXG5cbi50ZXh0LWltYWdlX19zbGlkZSB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlJykge1xuICAgIHdpZHRoOiAzNzVweDtcbiAgICBoZWlnaHQ6IDM2MHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNDUwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzMjBweDtcbiAgfVxuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDU3NXB4O1xuICBoZWlnaHQ6IDU2MHB4O1xufVxuXG5cbi8qKlxuICogU2xpZGVzaG93IHBvc2l0aW9uLlxuICovXG5cbi50ZXh0LXNsaWRlc2hvd19fYmxvY2sge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgYWxpZ24taXRlbXM6IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogOTBweDtcbiAgfVxuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWJvdHRvbTogMTIwcHg7XG5cbiAgJjpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmLnRleHQtc2xpZGVzaG93X19ibG9jay0tcmlnaHQge1xuICAgIC50ZXh0LXNsaWRlc2hvd19fY29sdW1uLXRleHQge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUnKSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzNzVweCk7XG4gICAgICAgIHBhZGRpbmc6IDAgNTBweCAwIDA7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCAwIDQwcHg7XG4gICAgICB9XG5cbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1NzVweCk7XG4gICAgICBtYXgtd2lkdGg6IDU1MHB4O1xuICAgICAgcGFkZGluZzogMCA1MHB4IDAgMTAwcHg7XG4gICAgfVxuXG4gICAgLnRleHQtc2xpZGVzaG93X19jb2x1bW4taW1hZ2VzIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlJykge1xuICAgICAgICB3aWR0aDogMzc1cHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIHdpZHRoOiA1NzVweDtcbiAgICB9XG4gIH1cblxuICAmLnRleHQtc2xpZGVzaG93X19ibG9jay0tbGVmdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgfVxuXG4gICAgLnRleHQtc2xpZGVzaG93X19jb2x1bW4tdGV4dCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZScpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDM3NXB4KTtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgNTBweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwIDAgNDBweDtcbiAgICAgIH1cblxuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDU3NXB4KTtcbiAgICAgIG1heC13aWR0aDogNTUwcHg7XG4gICAgICBwYWRkaW5nOiAwIDEwMHB4IDAgNTBweDtcbiAgICB9XG5cbiAgICAudGV4dC1zbGlkZXNob3dfX2NvbHVtbi1pbWFnZXMge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgd2lkdGg6IDU3NXB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZScpIHtcbiAgICAgICAgd2lkdGg6IDM3NXB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAub3dsLWNhcm91c2VsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAub3dsLW5hdiB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm93bC1kb3RzIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLXVwJykge1xuICAgICAgICByaWdodDogLTI4cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnZpZGVvLWhlYWRlciB7XG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcblx0XHRtYXJnaW4tYm90dG9tOiA1MHB4O1xuXHR9XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0aGVpZ2h0OiAxMDB2aDtcblx0bWF4LWhlaWdodDogMTAwdmg7XG5cdG1pbi1oZWlnaHQ6IDczNXB4O1xuXHRtYXJnaW4tYm90dG9tOiAxMDBweDtcblxuXHQmOjphZnRlciB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkgNSUsIHJnYmEoMjM3LCA4MywgODMsIDApIDYwJSk7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdH1cblxuXHQmOmhhcyggLnZpZGVvLWhlYWRlcl9fdmlkZW8uaXMtcGxheWluZyApIHtcblx0XHQudmlkZW8taGVhZGVyX19pbWFnZSB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG5cbi52aWRlby1oZWFkZXJfX3ZpZGVvIHtcblx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0ei1pbmRleDogLTE7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cblx0Ji5kZXNrdG9wIHtcblx0XHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXG5cdCYubW9iaWxlIHtcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LXVwJykge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHRpZnJhbWUge1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0d2lkdGg6IDE3Ny43Nzc3Nzc3OHZoO1xuXHRcdGhlaWdodDogNTYuMjV2dztcblx0XHRtaW4td2lkdGg6IDEwMCU7XG5cdFx0bWluLWhlaWdodDogMTAwJTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiA1MCU7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXHR9XG59XG5cbi52aWRlby1oZWFkZXJfX2ltYWdlIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2UtaW4tb3V0IDc1MG1zO1xuXHRkaXNwbGF5OiBub25lO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdGltZyB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHR9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbG9yXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIENvbG9yIHV0aWxpdHkgY2xhc3Nlcy5cbiAqL1xuXG4vLyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBjb2xvciBhbmQgYmFja2dyb3VuZCBjb2xvciB1dGlsaXR5IGNsYXNzZXMgYmFzZWQgb25cbi8vIGV2ZXJ5IGNvbG9yIGRlZmluaXRpb24gaW4gYHNldHRpbmdzL19jb2xvci5zY3NzYC5cbi8vXG4vLyBMb29wIHRocm91Z2ggZXZlcnkgYCRrZXlgIGFuZCBgJG1hcGAgaW4gdGhlIGAkY29sb3JzYCB2YXJpYWJsZSBtYXAgZGVmaW5lZCBpblxuLy8gYHNldHRpbmdzL19jb2xvci5zY3NzYC5cbkBlYWNoICRrZXksICRtYXAgaW4gJGNvbG9ycyB7XG5cbiAgLy8gTG9vcCB0aHJvdWdoIGV2ZXJ5IGAkc2hhZGVgIGFuZCBgJHJnYmAgaW4gYCRtYXBgLlxuICBAZWFjaCAkc2hhZGUsICRyZ2IgaW4gJG1hcCB7XG5cbiAgICAvLyBMb29wIHRocm91Z2ggZXZlcnkgYGNvbG9yYCBhbmQgYGJhY2tncm91bmQtY29sb3JgIHJ1bGVzLlxuICAgIEBlYWNoICRydWxlIGluIGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yIHtcblxuICAgICAgLyoqXG4gICAgICAgKiBgI3skcnVsZX1gICN7JHJnYn0tI3skc2hhZGV9IGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cblxuICAgICAgLiN7JHJ1bGV9LSN7dW5xdW90ZSgka2V5KX0tI3t1bnF1b3RlKCRzaGFkZSl9IHtcbiAgICAgICAgI3skcnVsZX06ICRyZ2I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSGVscGVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBHZW5lcmljIGhlbHBlciBjbGFzc2VzLlxuICovXG5cblxuLy8gVmlzdWFsbHkgSGlkZGVuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFZpc3VhbGx5IGhpZGUgYW55IGVsZW1lbnQgZnJvbSB0aGUgdXNlci5cbiAqL1xuXG4udmlzdWFsbHktaGlkZGVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgY2xpcC1wYXRoOiBpbnNldCgxcHgpO1xufVxuXG5cbi8vIExhenlsb2FkXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIE1ha2UgbGF6eWxvYWQgcGxhY2Vob2xkZXIgMTAwJSB3aWRlLlxuICovXG5cbi5sYXp5bG9hZCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5cbi8vIE9iamVjdCBGaXRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogSGVscGVyIGNsYXNzIGZvciBvYmplY3QgZml0IHBvbHlmaWxsLiBBZGQgdGhpcyBjbGFzcyB0byBhbnkgZWxlbWVudFxuICogdGhhdCB1dGlsaXplcyB0aGUgYG9iamVjdC1maXRgIHByb3BlcnR5LlxuICovXG5cbi5vYmplY3QtZml0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtZmFtaWx5OiAnb2JqZWN0LWZpdDogY292ZXI7JztcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cblxuLy8gQWxpZ25tZW50c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBbGlnbiBjZW50ZXIuXG4gKi9cblxuLmFsaWduLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyoqXG4gKiBBbGlnbiBsZWZ0LlxuICovXG5cbi5hbGlnbi1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLyoqXG4gKiBBbGlnbiByaWdodC5cbiAqL1xuXG4uYWxpZ24tcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLy8gV2lkdGhzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyA2MCUgd2lkdGhcbi53NjAge1xuICB3aWR0aDogNjAlO1xufVxuXG4vLyA0MCUgd2lkdGhcbi53NDAge1xuICB3aWR0aDogNDAlO1xufVxuXG4vLyA1MCUgd2lkdGhcbi53NTAge1xuICB3aWR0aDogNTAlO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9iamVjdCBGaXRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogT2JqZWN0IGZpdC5cbiAqXG4gKiAxLiBGb250IGZhbWlseSBwb2x5ZmlsbCB3aXRoIChodHRwczovL2dpdGh1Yi5jb20vYmZyZWQtaXQvb2JqZWN0LWZpdC1pbWFnZXMpLlxuICovXG5cbi8vIExvb3AgdGhyb3VnaCBldmVyeSB2YWx1ZSBmb3IgdGhlIGBvYmplY3QtZml0YCBwcm9wZXJ0eS5cbkBlYWNoICR2YWx1ZSBpbiBmaWxsLCBjb250YWluLCBjb3Zlciwgbm9uZSwgc2NhbGUtZG93biB7XG5cbiAgLyoqXG4gICAqIGBvYmplY3QtZml0YCAjeyR2YWx1ZX0gdXRpbGl0eSBjbGFzcy5cbiAgICovXG5cbiAgLiN7JHZhbHVlfSB7XG4gICAgZm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiAjeyR2YWx1ZX07JzsgLyogMSAqL1xuICAgIG9iamVjdC1maXQ6ICN7JHZhbHVlfTtcbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFBvc2l0aW9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFBvc2l0aW9uIHV0aWxpdHkgY2xhc3MuXG4gKi9cblxuQGVhY2ggJHZhbHVlIGluIHN0YXRpYywgcmVsYXRpdmUsIGFic29sdXRlLCBmaXhlZCwgc3RpY2t5IHtcbiAgLiN7JHZhbHVlfSB7XG4gICAgcG9zaXRpb246ICR2YWx1ZTtcbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRleHRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogRm9udCBmYW1pbHkgdXRpbGl0eSBjbGFzc2VzLlxuICovXG5cbkBlYWNoICRrZXksICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XG4gIEBpbmNsdWRlIG1lZGlhKCRrZXkpIHtcbiAgICBAZWFjaCAkcHJvcGVydHksICR2YWx1ZSBpbiAkZm9udC1mYW1pbHkge1xuICAgICAgLnRleHQtI3ska2V5fS0jeyRwcm9wZXJ0eX0ge1xuICAgICAgICBmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICRwcm9wZXJ0eSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLyoqXG4gKiBUZXh0IHNpemUgdXRpbGl0eSBjbGFzc2VzLlxuICovXG5cbkBlYWNoICRrZXksICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XG4gIEBpbmNsdWRlIG1lZGlhKCRrZXkpIHtcbiAgICBAZWFjaCAkcHJvcGVydHksICR2YWx1ZSBpbiAkZm9udC1zaXplIHtcbiAgICAgIC50ZXh0LSN7JGtleX0tI3skcHJvcGVydHl9IHtcbiAgICAgICAgQGluY2x1ZGUgdGV4dCgkcHJvcGVydHkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8qKlxuICogVGV4dCBhbGlnbm1lbnQgdXRpbGl0eSBjbGFzc2VzLlxuICovXG5cbkBlYWNoICRrZXksICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XG4gIEBpbmNsdWRlIG1lZGlhKCRrZXkpIHtcbiAgICBAZWFjaCAkZGlyZWN0aW9uIGluIGxlZnQsIHJpZ2h0LCBjZW50ZXIge1xuICAgICAgLnRleHQtI3ska2V5fS0jeyRkaXJlY3Rpb259IHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGRpcmVjdGlvbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vKipcbiAqIEZvbnQgd2VpZ2h0IHV0aWxpdHkgY2xhc3Nlcy5cbiAqXG4gKiAxLiBNdWx0aXBseSBsb29wZWQgaW50ZWdlciBieSAxMDAgZm9yIGNvcnJlY3QgZm9udCB3ZWlnaHQgdmFsdWUuXG4gKi9cblxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcbiAgQGluY2x1ZGUgbWVkaWEoJGtleSkge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggOSB7XG4gICAgICAkaTogJGkgKiAxMDA7IC8vIFsxXVxuXG4gICAgICAudGV4dC0jeyRrZXl9LSN7JGl9IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICN7JGl9O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8qKlxuICogVGV4dCB0cmFuc2Zvcm0gdWl0bGl0eSBjbGFzc2VzLlxuICovXG5cbkBlYWNoICRrZXksICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XG4gIEBpbmNsdWRlIG1lZGlhKCRrZXkpIHtcbiAgICBAZWFjaCAkdHJhbnNmb3JtIGluIGNhcGl0YWxpemUsIHVwcGVyY2FzZSwgbG93ZXJjYXNlLCBub25lLCBmdWxsLXdpZHRoIHtcbiAgICAgIC50ZXh0LSN7JGtleX0tI3skdHJhbnNmb3JtfSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFZlcnRpY2FsIFJoeXRobVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAxMCB7XG4gICRpOiAkaSAqIDg7XG5cbiAgLnZyLSN7JGl9IHtcbiAgICBtYXJnaW4tYm90dG9tOiAjeyRpfXB4O1xuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgWi1pbmRleFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBVdGlsaXR5IGNsYXNzZXMgZm9yIG1hbmlwdWxhdGluZyBzdGFja2luZyBvcmRlciBpbiBIVE1MLlxuICovXG5cbkBlYWNoICRrZXksICR2YWx1ZSBpbiAkei1pbmRleCB7XG4gIC56LWluZGV4LSN7JGtleX0ge1xuICAgIHotaW5kZXg6ICR2YWx1ZTtcbiAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFotaW5kZXhcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIEEgbGltaXRlZCBhcnJheSBvZiB2YWx1ZXMgZm9yIHRoZSBgei1pbmRleGAgcHJvcGVydHkgdG8gcHJldmVudFxuLy8gZXhhZ2dlcmF0ZWQgYW1vdW50cyBhbmQgdWdseSBoYWNrcy5cblxuJHotaW5kZXg6IChcbiAgJzAnOiAgMCxcbiAgJzEnOiAgMTAsXG4gICcyJzogIDIwLFxuICAnMyc6ICAzMCxcbiAgJzQnOiAgNDAsXG4gICc1JzogIDUwLFxuICAnNic6ICA2MCxcbiAgJzcnOiAgNzAsXG4gICc4JzogIDgwLFxuICAnOSc6ICA5MCxcbiAgJzEwJzogMTAwXG4pO1xuIiwiLmlmcmFtZSB7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICB3aWR0aDogNTYwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmlmcmFtZSBpbWcge1xuICBtYXgtd2lkdGg6MTAwJTtcbiAgaGVpZ2h0OmF1dG87XG59XG5cbi5pZnJhbWUgaWZyYW1lIHtcbiAgZGlzcGxheTpub25lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5wbGF5LWJ0biB7XG4gIHBvc2l0aW9uOmFic29sdXRlO1xuICB6LWluZGV4OjY2NjtcbiAgdG9wOiBjYWxjKDUwJSAtIDUwcHgpO1xuICBsZWZ0OjUwJTtcbiAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtcbiAgYm9yZGVyOjA7XG59XG5cbi5wbGF5LWJ0bjpob3ZlciB7XG4gIGN1cnNvcjpwb2ludGVyO1xufVxuXG4ucGxheS1idG46Zm9jdXMge1xuICBvdXRsaW5lOjA7XG59XG4iXX0= */
