@charset "UTF-8";
/**
  * DEFAULT STYLESHEET
  *
  * This will be used unless a page specifically calls a different sheet.
  */
/**
  * COMMON STYLES
  *
  * Defines the styles to import that are required by virtually all pages.
  */
/*! 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;
}

/**
  * SCSS BREAKPOINTS
  *
  * Define breakpoints for media query use and export them for use with JS.
  */
:export {
  breakpointPhoneSmall: 320;
  breakpointPhoneLarge: 480;
  breakpointTablet: 768;
  breakpointLaptop: 992;
  breakpointDesktop: 1200;
  breakpointDesktopLarge: 1400;
  breakpointHd: 1920;
}

/**
  * SCSS VARIABLES
  */
/**
  * Dimensions:
  */
/**
  * Colors:
  */
/**
  * FONT STYLES
  *
  * Define @font-face styles.
  */
@font-face {
  font-family: Lato;
  src: url(../fonts/Lato-Thin.ttf);
  font-weight: 100;
  font-style: normal;
}
@font-face {
  font-family: Lato;
  src: url(../fonts/Lato-ThinItalic.ttf);
  font-weight: 100;
  font-style: italic;
}
@font-face {
  font-family: Lato;
  src: url(../fonts/Lato-Light.ttf);
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: Lato;
  src: url(../fonts/Lato-LightItalic.ttf);
  font-weight: 300;
  font-style: italic;
}
@font-face {
  font-family: Lato;
  src: url(../fonts/Lato-Regular.ttf);
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: Lato;
  src: url(../fonts/Lato-Italic.ttf);
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: Lato;
  src: url(../fonts/Lato-Bold.ttf);
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: Lato;
  src: url(../fonts/Lato-BoldItalic.ttf);
  font-weight: 700;
  font-style: italic;
}
@font-face {
  font-family: Lato;
  src: url(../fonts/Lato-Black.ttf);
  font-weight: 900;
  font-style: normal;
}
@font-face {
  font-family: Lato;
  src: url(../fonts/Lato-BlackItalic.ttf);
  font-weight: 900;
  font-style: italic;
}
@font-face {
  font-family: Merriweather;
  src: url(../fonts/Merriweather-Light.ttf);
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: Merriweather;
  src: url(../fonts/Merriweather-LightItalic.ttf);
  font-weight: 300;
  font-style: italic;
}
@font-face {
  font-family: Merriweather;
  src: url(../fonts/Merriweather-Regular.ttf);
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: Merriweather;
  src: url(../fonts/Merriweather-Italic.ttf);
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: Merriweather;
  src: url(../fonts/Merriweather-Bold.ttf);
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: Merriweather;
  src: url(../fonts/Merriweather-BoldItalic.ttf);
  font-weight: 700;
  font-style: italic;
}
@font-face {
  font-family: Merriweather;
  src: url(../fonts/Merriweather-Black.ttf);
  font-weight: 900;
  font-style: normal;
}
@font-face {
  font-family: Merriweather;
  src: url(../fonts/Merriweather-BlackItalic.ttf);
  font-weight: 900;
  font-style: italic;
}
/**
  * SCSS MIXINS
  *
  * Standardized style chunks, provided as both SCSS mixins and HTML classes.
  */
.wrap {
  width: 100%;
  height: auto;
}

.inner-wrap {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

.mar-top {
  margin-top: 30px;
  transition: margin 300ms;
}
@media (min-width: 480px) {
  .mar-top {
    margin-top: 35px;
  }
}
@media (min-width: 768px) {
  .mar-top {
    margin-top: 40px;
  }
}
@media (min-width: 992px) {
  .mar-top {
    margin-top: 60px;
  }
}
@media (min-width: 1200px) {
  .mar-top {
    margin-top: 80px;
  }
}

.mar-bottom {
  margin-bottom: 30px;
  transition: margin 300ms;
}
@media (min-width: 480px) {
  .mar-bottom {
    margin-bottom: 35px;
  }
}
@media (min-width: 768px) {
  .mar-bottom {
    margin-bottom: 40px;
  }
}
@media (min-width: 992px) {
  .mar-bottom {
    margin-bottom: 60px;
  }
}
@media (min-width: 1200px) {
  .mar-bottom {
    margin-bottom: 80px;
  }
}

.mar-vertical {
  margin-top: 30px;
  transition: margin 300ms;
  margin-bottom: 30px;
  transition: margin 300ms;
}
@media (min-width: 480px) {
  .mar-vertical {
    margin-top: 35px;
  }
}
@media (min-width: 768px) {
  .mar-vertical {
    margin-top: 40px;
  }
}
@media (min-width: 992px) {
  .mar-vertical {
    margin-top: 60px;
  }
}
@media (min-width: 1200px) {
  .mar-vertical {
    margin-top: 80px;
  }
}
@media (min-width: 480px) {
  .mar-vertical {
    margin-bottom: 35px;
  }
}
@media (min-width: 768px) {
  .mar-vertical {
    margin-bottom: 40px;
  }
}
@media (min-width: 992px) {
  .mar-vertical {
    margin-bottom: 60px;
  }
}
@media (min-width: 1200px) {
  .mar-vertical {
    margin-bottom: 80px;
  }
}

.mar-right {
  margin-right: 30px;
  transition: margin 300ms;
  max-width: calc(100% - 30px);
}
@media (min-width: 480px) {
  .mar-right {
    margin-right: 35px;
    max-width: calc(100% - 35px);
  }
}
@media (min-width: 768px) {
  .mar-right {
    margin-right: 40px;
    max-width: calc(100% - 40px);
  }
}
@media (min-width: 992px) {
  .mar-right {
    margin-right: 60px;
    max-width: calc(100% - 60px);
  }
}
@media (min-width: 1200px) {
  .mar-right {
    margin-right: 80px;
    max-width: calc(100% - 80px);
  }
}

.mar-left {
  margin-left: 30px;
  transition: margin 300ms;
  max-width: calc(100% - 30px);
}
@media (min-width: 480px) {
  .mar-left {
    margin-left: 35px;
    max-width: calc(100% - 35px);
  }
}
@media (min-width: 768px) {
  .mar-left {
    margin-left: 40px;
    max-width: calc(100% - 40px);
  }
}
@media (min-width: 992px) {
  .mar-left {
    margin-left: 60px;
    max-width: calc(100% - 60px);
  }
}
@media (min-width: 1200px) {
  .mar-left {
    margin-left: 80px;
    max-width: calc(100% - 80px);
  }
}

.mar-horizontal {
  margin-left: 30px;
  margin-right: 30px;
  transition: margin 300ms;
  max-width: calc(100% - 60px);
}
@media (min-width: 480px) {
  .mar-horizontal {
    margin-left: 35px;
    margin-right: 35px;
    max-width: calc(100% - 70px);
  }
}
@media (min-width: 768px) {
  .mar-horizontal {
    margin-left: 40px;
    margin-right: 40px;
    max-width: calc(100% - 80px);
  }
}
@media (min-width: 992px) {
  .mar-horizontal {
    margin-left: 60px;
    margin-right: 60px;
    max-width: calc(100% - 120px);
  }
}
@media (min-width: 1200px) {
  .mar-horizontal {
    margin-left: 80px;
    margin-right: 80px;
    max-width: calc(100% - 160px);
  }
}

.mar-right-negative {
  margin-right: -30px;
  transition: margin 300ms;
}
@media (min-width: 480px) {
  .mar-right-negative {
    margin-right: -35px;
  }
}
@media (min-width: 768px) {
  .mar-right-negative {
    margin-right: -40px;
  }
}
@media (min-width: 992px) {
  .mar-right-negative {
    margin-right: -60px;
  }
}
@media (min-width: 1200px) {
  .mar-right-negative {
    margin-right: -80px;
  }
}

.mar-left-negative {
  margin-left: -30px;
  transition: margin 300ms;
}
@media (min-width: 480px) {
  .mar-left-negative {
    margin-left: -35px;
  }
}
@media (min-width: 768px) {
  .mar-left-negative {
    margin-left: -40px;
  }
}
@media (min-width: 992px) {
  .mar-left-negative {
    margin-left: -60px;
  }
}
@media (min-width: 1200px) {
  .mar-left-negative {
    margin-left: -80px;
  }
}

.mar-horizontal-negative {
  margin-left: -30px;
  margin-right: -30px;
  transition: margin 300ms;
  width: calc(100% + 60px);
}
@media (min-width: 480px) {
  .mar-horizontal-negative {
    margin-left: -35px;
    margin-right: -35px;
    width: calc(100% + 70px);
  }
}
@media (min-width: 768px) {
  .mar-horizontal-negative {
    margin-left: -40px;
    margin-right: -40px;
    width: calc(100% + 80px);
  }
}
@media (min-width: 992px) {
  .mar-horizontal-negative {
    margin-left: -60px;
    margin-right: -60px;
    width: calc(100% + 120px);
  }
}
@media (min-width: 1200px) {
  .mar-horizontal-negative {
    margin-left: -80px;
    margin-right: -80px;
    width: calc(100% + 160px);
  }
}

.pad-top {
  padding-top: 40px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .pad-top {
    padding-top: 45px;
  }
}
@media (min-width: 768px) {
  .pad-top {
    padding-top: 55px;
  }
}
@media (min-width: 992px) {
  .pad-top {
    padding-top: 65px;
  }
}
@media (min-width: 1200px) {
  .pad-top {
    padding-top: 80px;
  }
}

.pad-bottom {
  padding-bottom: 40px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .pad-bottom {
    padding-bottom: 45px;
  }
}
@media (min-width: 768px) {
  .pad-bottom {
    padding-bottom: 55px;
  }
}
@media (min-width: 992px) {
  .pad-bottom {
    padding-bottom: 65px;
  }
}
@media (min-width: 1200px) {
  .pad-bottom {
    padding-bottom: 80px;
  }
}

.pad-left {
  padding-left: 30px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .pad-left {
    padding-left: 35px;
  }
}
@media (min-width: 768px) {
  .pad-left {
    padding-left: 40px;
  }
}
@media (min-width: 992px) {
  .pad-left {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .pad-left {
    padding-left: 80px;
  }
}

.pad-right {
  padding-right: 30px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .pad-right {
    padding-right: 35px;
  }
}
@media (min-width: 768px) {
  .pad-right {
    padding-right: 40px;
  }
}
@media (min-width: 992px) {
  .pad-right {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .pad-right {
    padding-right: 80px;
  }
}

.pad-vertical {
  padding-top: 40px;
  transition: padding 300ms;
  padding-bottom: 40px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .pad-vertical {
    padding-top: 45px;
  }
}
@media (min-width: 768px) {
  .pad-vertical {
    padding-top: 55px;
  }
}
@media (min-width: 992px) {
  .pad-vertical {
    padding-top: 65px;
  }
}
@media (min-width: 1200px) {
  .pad-vertical {
    padding-top: 80px;
  }
}
@media (min-width: 480px) {
  .pad-vertical {
    padding-bottom: 45px;
  }
}
@media (min-width: 768px) {
  .pad-vertical {
    padding-bottom: 55px;
  }
}
@media (min-width: 992px) {
  .pad-vertical {
    padding-bottom: 65px;
  }
}
@media (min-width: 1200px) {
  .pad-vertical {
    padding-bottom: 80px;
  }
}

.pad-horizontal {
  padding-right: 30px;
  transition: padding 300ms;
  padding-left: 30px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .pad-horizontal {
    padding-right: 35px;
  }
}
@media (min-width: 768px) {
  .pad-horizontal {
    padding-right: 40px;
  }
}
@media (min-width: 992px) {
  .pad-horizontal {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .pad-horizontal {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .pad-horizontal {
    padding-left: 35px;
  }
}
@media (min-width: 768px) {
  .pad-horizontal {
    padding-left: 40px;
  }
}
@media (min-width: 992px) {
  .pad-horizontal {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .pad-horizontal {
    padding-left: 80px;
  }
}

.button {
  margin: 1rem 0;
  padding: 10px 15px;
  display: inline-block;
  background-color: #005d50;
  text-decoration: none;
  font-weight: bold;
  color: #ffffff;
  cursor: pointer;
  border-radius: 3px;
}
.button:hover {
  background-color: #00443a !important;
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.no-scroll {
  overflow: hidden;
}

.h1 {
  font-size: 3rem;
  margin-top: 0;
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .h1 {
    font-size: 4rem;
  }
}

.h2 {
  font-size: 2.4rem;
  margin-bottom: 2.1rem;
}
@media (min-width: 768px) {
  .h2 {
    font-size: 3rem;
  }
}

.h3 {
  font-size: 1.8rem;
  margin-bottom: 1.8rem;
}
@media (min-width: 768px) {
  .h3 {
    font-size: 2.1rem;
  }
}

.h4 {
  font-size: 1.6rem;
  margin-bottom: 1.7rem;
}
@media (min-width: 768px) {
  .h4 {
    font-size: 2rem;
  }
}

.h5 {
  font-size: 1.5rem;
  margin-bottom: 1.6rem;
}
@media (min-width: 768px) {
  .h5 {
    font-size: 1.9rem;
  }
}

.h6 {
  font-size: 1.4rem;
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .h6 {
    font-size: 1.8rem;
  }
}

/**
  * HTML ELEMENT STYLES
  *
  * Style definitions for global element selectors.
  */
* {
  box-sizing: border-box;
}

html {
  height: 100%;
  line-height: 1.7;
  font-size: 62.5%;
}

body {
  min-height: 100%;
  margin: 0;
  display: grid;
  grid-template-rows: auto 1fr auto;
  background-color: #e4e2dc;
  font-family: "Lato", sans-serif;
  font-size: 1.6rem;
  color: #005d50;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
  margin-top: 3rem;
  display: block;
  font-weight: 400;
  line-height: 1;
  font-family: "Merriweather", serif;
  color: #005d50;
}

h1 {
  font-size: 3rem;
  margin-top: 0;
  margin-bottom: 2rem;
  font-family: "Lato", sans-serif;
}
@media (min-width: 768px) {
  h1 {
    font-size: 4rem;
  }
}

h2 {
  font-size: 2.4rem;
  margin-bottom: 2.1rem;
}
@media (min-width: 768px) {
  h2 {
    font-size: 3rem;
  }
}

h3 {
  font-size: 1.8rem;
  margin-bottom: 1.8rem;
}
@media (min-width: 768px) {
  h3 {
    font-size: 2.1rem;
  }
}

h4 {
  font-size: 1.6rem;
  margin-bottom: 1.7rem;
}
@media (min-width: 768px) {
  h4 {
    font-size: 2rem;
  }
}

h5 {
  font-size: 1.5rem;
  margin-bottom: 1.6rem;
}
@media (min-width: 768px) {
  h5 {
    font-size: 1.9rem;
  }
}

h6 {
  font-size: 1.4rem;
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  h6 {
    font-size: 1.8rem;
  }
}

p {
  margin: 0 0 1.5rem 0;
  font-weight: 400;
}

a {
  text-decoration: underline;
  color: #005d50;
}
ul, ol {
  margin: 1.5rem 0;
  padding: 0;
  list-style-position: inside;
}

img {
  display: block;
  width: 100%;
}

/* Begin button styles */
button {
  display: block;
  border: none;
  padding: 0;
  margin: 0;
  text-decoration: none;
  background: none;
  cursor: pointer;
  text-align: center;
  -webkit-appearance: none;
  -moz-appearance: none;
}

/* End button styles */
blockquote {
  border-left: 5px solid #000000;
  margin: 1.5em 10px;
  padding: 0.5em 30px;
  quotes: "“";
}
blockquote:before {
  color: #ccc;
  content: open-quote;
  font-size: 4em;
  line-height: 0.1em;
  margin-right: 0.25em;
  vertical-align: -0.4em;
}
blockquote p {
  display: block;
}
blockquote p:first-of-type, blockquote p:nth-of-type(2) {
  font-size: 1.3rem;
}

/**
  * HEADER STYLES
  */
.header-wrap {
  width: 100%;
  height: auto;
  grid-row-start: 1;
  grid-row-end: 2;
  position: relative;
  top: 0;
  z-index: 9999;
  transition: background-color 200ms, border 200ms, box-shadow 200ms;
  background-color: #005d50;
}
.header-overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background-color: #005d50;
  opacity: 0.7;
}
.header-overlay.bg-visible {
  background-color: #005d50;
  opacity: 1;
}

.top-bar-bg {
  width: 100%;
  height: 45px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 6;
  display: none;
  transition: background-color 200ms;
}
.top-bar-bg.bg-visible {
  background-color: #005d50;
}
@media (min-width: 768px) {
  .top-bar-bg {
    display: block;
  }
}

.header {
  height: 90px;
  padding-top: 0;
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 90px auto;
  transition: background-color 200ms;
}
.header.bg-visible {
  background-color: #005d50;
}
@media (min-width: 768px) {
  .header {
    height: 165px;
    grid-template-columns: 1fr;
    grid-template-rows: 120px 70px;
  }
}

.header-brand {
  padding-right: 30px;
  transition: padding 300ms;
  padding-left: 30px;
  transition: padding 300ms;
  margin-top: 0;
  margin-bottom: 0;
  padding-right: 0;
  height: 90px;
  grid-column: 1/span 1;
  grid-row: 1/span 1;
  position: relative;
  z-index: 5;
}
@media (min-width: 480px) {
  .header-brand {
    padding-right: 35px;
  }
}
@media (min-width: 768px) {
  .header-brand {
    padding-right: 40px;
  }
}
@media (min-width: 992px) {
  .header-brand {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .header-brand {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .header-brand {
    padding-left: 35px;
  }
}
@media (min-width: 768px) {
  .header-brand {
    padding-left: 40px;
  }
}
@media (min-width: 992px) {
  .header-brand {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .header-brand {
    padding-left: 80px;
  }
}
@media (min-width: 768px) {
  .header-brand {
    height: 165px;
    padding-top: 33.75px;
  }
}
.header-brand a {
  height: 90px;
  display: flex;
  align-items: center;
  flex-direction: row;
}
@media (min-width: 768px) {
  .header-brand a {
    height: 75px;
    height: 97.5px;
  }
}
.header-brand a .logo-image {
  width: auto;
  height: 35px;
  margin-right: 15px;
  padding: 0 0 0 10px;
  text-align: center;
  display: block;
}
@media (min-width: 768px) {
  .header-brand a .logo-image {
    height: 97.5px;
    padding: 5px 0;
  }
}
.header-brand a .logo-text {
  display: block;
  color: #e4e2dc;
  text-align: left;
  padding-left: 0;
  font-weight: bold;
}
@media (min-width: 480px) {
  .header-brand a .logo-text {
    padding-left: 10px;
    font-size: 1rem;
  }
}
.header-brand a .logo-text .logo-text-title {
  margin: 0 auto;
  display: block;
  line-height: 0.9;
  font-size: 1rem;
}
.header-brand a .logo-text .logo-text-title span.registered {
  font-size: 0.7rem;
  font-weight: normal;
  vertical-align: super;
}
@media (min-width: 480px) {
  .header-brand a .logo-text .logo-text-title {
    font-size: 1.4rem;
  }
  .header-brand a .logo-text .logo-text-title span.registered {
    font-size: 0.9rem;
  }
}
.header-brand a .logo-text .logo-text-tagline {
  margin: 10px auto 0 auto;
  line-height: 0.8;
  font-size: 0.6rem;
  font-weight: lighter;
  font-style: italic;
  display: block;
  color: #e4e2dc;
}
@media (min-width: 480px) {
  .header-brand a .logo-text .logo-text-tagline {
    font-size: 1.1rem;
  }
}

.header-nav {
  width: 100%;
  height: 0;
  opacity: 0;
  min-height: auto;
  position: absolute;
  top: 90px;
  display: none;
  overflow: hidden;
}
.header-nav.bg-visible {
  background-color: #005d50;
}
.header-nav.visible {
  height: 100%;
  display: block;
  position: fixed;
  opacity: 1;
}
@media (min-width: 768px) {
  .header-nav {
    height: auto;
    min-height: 165px;
    display: block;
    top: 0;
    overflow: visible;
    opacity: 1 !important;
  }
  .header-nav.visible {
    height: auto;
    display: block;
    position: absolute;
    opacity: 1;
  }
}

.header-nav-main {
  width: 100%;
  padding-right: 0;
  padding-left: 0;
  height: 100%;
  position: static;
  top: auto;
  right: auto;
  z-index: 6;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 768px) {
  .header-nav-main {
    padding-right: 30px;
    transition: padding 300ms;
    padding-left: 30px;
    transition: padding 300ms;
    width: 50%;
    height: 45px;
    position: absolute;
    display: block;
    top: 50%;
    right: 0;
    translate: 0 -22.5px;
  }
}
@media (min-width: 768px) and (min-width: 480px) {
  .header-nav-main {
    padding-right: 35px;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .header-nav-main {
    padding-right: 40px;
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  .header-nav-main {
    padding-right: 60px;
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .header-nav-main {
    padding-right: 80px;
  }
}
@media (min-width: 768px) and (min-width: 480px) {
  .header-nav-main {
    padding-left: 35px;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .header-nav-main {
    padding-left: 40px;
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  .header-nav-main {
    padding-left: 60px;
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .header-nav-main {
    padding-left: 80px;
  }
}
.header-nav-main ul {
  width: 100%;
  height: auto;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  list-style: none;
  transform: translate(0, -45px);
}
@media (min-width: 768px) {
  .header-nav-main ul {
    width: auto;
    height: 45px;
    flex-direction: row;
    border-top: unset;
    justify-content: flex-end;
    transform: translate(0, 0);
  }
}
.header-nav-main ul li {
  width: auto;
  height: auto;
  list-style: none;
  border-top: unset;
  position: relative;
  z-index: 1;
  background-color: #005d50;
}
@media (min-width: 768px) {
  .header-nav-main ul li {
    width: auto;
    height: auto;
    padding: 0 15px;
    min-height: 45px;
    background-color: unset;
    border-bottom: unset;
    transition: display 300ms;
  }
  .header-nav-main ul li:hover > ul {
    display: block;
  }
  .header-nav-main ul li:last-child {
    padding-right: 0;
  }
}
.header-nav-main ul li a {
  width: auto;
  height: 45px;
  position: relative;
  display: block;
  flex-grow: 0;
  align-items: center;
  text-decoration: none;
  font-weight: normal;
  font-size: 1.4rem;
  color: #ffffff;
}
.header-nav-main ul li a::after {
  content: "";
  height: 1px;
  width: 100%;
  background-color: #e4e2dc;
  position: absolute;
  bottom: 20px;
  display: none;
}
@media (min-width: 768px) {
  .header-nav-main ul li a::after {
    bottom: 9px;
  }
}
@media (min-width: 768px) {
  .header-nav-main ul li a {
    width: auto;
    height: 45px;
    border-bottom: unset;
    display: flex;
  }
}
.header-nav-main ul li.current_page_item a::after {
  display: block;
}
.header-nav-main ul li .nav-chevron {
  width: 45px;
  height: 45px;
  display: flex;
  position: absolute;
  right: 0;
  align-items: center;
  justify-content: center;
  z-index: 2;
  cursor: pointer;
  color: #e4e2dc;
}
.header-nav-main ul li .nav-chevron:hover {
  color: #b8b2a2;
}
@media (min-width: 768px) {
  .header-nav-main ul li .nav-chevron {
    display: none;
  }
}
.header-nav-main ul li ul {
  width: 100%;
  height: auto;
  position: relative;
  top: 0;
  right: 0;
  left: auto;
  list-style: none;
  display: none;
}
@media (min-width: 768px) {
  .header-nav-main ul li ul {
    min-width: 320px;
    position: absolute;
    top: 45px;
    left: 0;
    right: auto;
    background-color: #005d50;
  }
}
.header-nav-main ul li ul li {
  width: 100%;
  min-height: 45px;
  height: auto;
  list-style: none;
  display: block;
}
@media (min-width: 768px) {
  .header-nav-main ul li ul li {
    height: 45px;
    border-top: 1px solid rgba(102, 102, 102, 0.2);
  }
  .header-nav-main ul li ul li:hover > ul {
    display: none;
  }
}
.header-nav-main ul li ul li a {
  padding-left: 3em;
  text-decoration: none;
}
@media (min-width: 768px) {
  .header-nav-main ul li ul li a {
    height: 45px;
    padding-right: 15px;
    padding-left: 15px;
  }
}
.header-nav-main ul li ul li ul li a {
  padding-left: 4.5em;
}
.header-nav-main ul li ul li ul li ul li a {
  padding-left: 6em;
}

/*
.header-nav-top {
  padding-right: 0;
  padding-left: 0;
  width: 100%;
  height: auto;
  position: relative;
  top: auto;
  left: auto;
  z-index: 6;
  display: block;
  clear: both;

  @include media(">=tablet") {
    @include pad-horizontal;
    width: 100%;
    height: $topBarHeight;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 6;
  }

  ul { // top nav
    width: 100%;
    padding-right: 0;
    height: auto;
    margin: 0;
    display: flex;
    flex-direction: column;
    list-style: none;
    column-gap: 30px;
    flex-flow: column;

    @include media(">=tablet") {
      width: auto;
      height: $topBarHeight;
      padding-right: 60px; // Padding against header buttons (search glass)
      //flex-flow: row;
      flex-direction: row;
      justify-content: flex-end;
    }

    li { // top nav
      @include pad-horizontal;
      width: 100%;
      height: 45px;
      display: flex;
      align-items: center;
      list-style: none;
      border-bottom: 1px solid $gray;
      position: relative;

      @include media(">=tablet") {
        width: auto;
        padding-right: 0;
        padding-left: 0;
        border-bottom: unset;
      }

      a { // top nav
        height: $topBarHeight;
        text-transform: uppercase;
        text-decoration: none;
        font-weight: bold;
        font-size: 12px;
        display: flex;
        align-items: center;
        color: $brandColorContrast;
        font-family: 'Lato', sans-serif;

        &:hover {
          color: darken($brandColorContrast, 20%);
        }

        @include media(">=tablet") {

        }
      }
    }
  }
}
*/
/*
li.slide-line {
  position: absolute;
  z-index: 1002;
  bottom: -1px;
  left: 0;
  width: 0;
  height: 5px;
  padding: 0;
  margin: 0;
  background-color: $white;
  border-radius: 3px 3px 0 0;
  transition: width 300ms, left 300ms, background-color 150ms;

  &:before {
    display: none;
  }

  &.hover-state {
    //box-shadow: 0 0 5px 0px $black;
  }
}
*/
.header-buttons {
  padding-right: 30px;
  transition: padding 300ms;
  width: auto;
  height: 90px;
  display: flex;
  align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 6;
}
@media (min-width: 480px) {
  .header-buttons {
    padding-right: 35px;
  }
}
@media (min-width: 768px) {
  .header-buttons {
    padding-right: 40px;
  }
}
@media (min-width: 992px) {
  .header-buttons {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .header-buttons {
    padding-right: 80px;
  }
}
@media (min-width: 768px) {
  .header-buttons {
    height: 45px;
    padding-left: 0;
  }
}

.glass {
  padding: 8px 10px;
  display: flex;
  align-items: center;
  top: auto;
}
@media (min-width: 768px) {
  .glass {
    height: 45px;
    border: unset;
  }
}
.glass i {
  color: #e4e2dc;
}
.glass i:hover {
  color: #b8b2a2;
}
.burger {
  margin-left: 0;
  padding: 8px 10px;
  display: flex;
  align-items: center;
}
@media (min-width: 340px) {
  .burger {
    margin-left: 10px;
  }
}
@media (min-width: 768px) {
  .burger {
    display: none;
  }
}
.burger i {
  color: #e4e2dc;
}
.burger i:hover {
  color: #b8b2a2;
}

.header-search-wrap {
  width: 100%;
  height: auto;
  height: auto;
  display: none;
  position: absolute;
  top: 90px;
  left: 0;
  background-color: #005d50;
  z-index: 6;
}
@media (min-width: 768px) {
  .header-search-wrap {
    top: 45px;
    height: 75px;
  }
}
.header-search-wrap .site-search {
  padding-right: 30px;
  transition: padding 300ms;
  padding-left: 30px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .header-search-wrap .site-search {
    padding-right: 35px;
  }
}
@media (min-width: 768px) {
  .header-search-wrap .site-search {
    padding-right: 40px;
  }
}
@media (min-width: 992px) {
  .header-search-wrap .site-search {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .header-search-wrap .site-search {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .header-search-wrap .site-search {
    padding-left: 35px;
  }
}
@media (min-width: 768px) {
  .header-search-wrap .site-search {
    padding-left: 40px;
  }
}
@media (min-width: 992px) {
  .header-search-wrap .site-search {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .header-search-wrap .site-search {
    padding-left: 80px;
  }
}

/**
  * SITE SEARCH FORM STYLES
  */
.site-search {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  height: auto;
  padding: 40px 0;
  display: grid;
  grid-template-columns: 1fr 50px;
  grid-template-rows: auto;
}

.search-query {
  height: 50px;
  padding: 0;
  grid-column: 1/span 1;
  grid-row: 1;
  align-self: center;
}
.search-query label {
  width: 100%;
  max-width: 100%;
  height: 30px;
  color: #e4e2dc;
  display: block;
  text-transform: uppercase;
  text-align: left;
  display: none;
}
.search-query input {
  width: 100%;
  max-width: 100%;
  height: 50px;
  padding-left: 20px;
  border: 2px solid #e4e2dc;
  display: block;
  background-color: unset;
  color: #e4e2dc;
}

.search-submit {
  width: 50px;
  height: 50px;
  grid-column: 2/span 1;
  grid-row: 1;
  align-self: start;
  color: #005d50;
  font-size: 1.4rem;
  background-color: #e4e2dc;
  transition: background-color 200ms;
}
.search-submit:hover {
  background-color: #b8b2a2;
}

/**
  * MAIN PAGE CONTENT STYLES
  */
.main-wrap {
  width: 100%;
  height: auto;
  grid-row-start: 2;
  grid-row-end: 3;
  background-color: #e4e2dc;
}

.main {
  height: 100%;
  overflow: hidden;
}

.page-header-wrap {
  width: 100%;
  height: auto;
  padding: 0 5px;
  background-size: cover;
  position: relative;
}

.page-header-overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background-color: #005d50;
  opacity: 0.5;
  background-blend-mode: overlay;
}
.page-header-overlay.bg-visible {
  background-color: #005d50;
  opacity: 1;
}

.page-header {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 40px;
  transition: padding 300ms;
  padding-bottom: 40px;
  transition: padding 300ms;
  padding-right: 30px;
  transition: padding 300ms;
  padding-left: 30px;
  transition: padding 300ms;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 3;
}
@media (min-width: 480px) {
  .page-header {
    padding-top: 45px;
  }
}
@media (min-width: 768px) {
  .page-header {
    padding-top: 55px;
  }
}
@media (min-width: 992px) {
  .page-header {
    padding-top: 65px;
  }
}
@media (min-width: 1200px) {
  .page-header {
    padding-top: 80px;
  }
}
@media (min-width: 480px) {
  .page-header {
    padding-bottom: 45px;
  }
}
@media (min-width: 768px) {
  .page-header {
    padding-bottom: 55px;
  }
}
@media (min-width: 992px) {
  .page-header {
    padding-bottom: 65px;
  }
}
@media (min-width: 1200px) {
  .page-header {
    padding-bottom: 80px;
  }
}
@media (min-width: 480px) {
  .page-header {
    padding-right: 35px;
  }
}
@media (min-width: 768px) {
  .page-header {
    padding-right: 40px;
  }
}
@media (min-width: 992px) {
  .page-header {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .page-header {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .page-header {
    padding-left: 35px;
  }
}
@media (min-width: 768px) {
  .page-header {
    padding-left: 40px;
  }
}
@media (min-width: 992px) {
  .page-header {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .page-header {
    padding-left: 80px;
  }
}

.page-header-title h1 {
  width: 100%;
  margin-bottom: 0;
  color: #ffffff;
  text-shadow: 0 0 15px #005d50;
}

.page-header-text p {
  margin-top: 40px;
  font-size: 2rem;
  color: #ffffff;
  text-shadow: 0 0 10px #005d50;
}

.page-main-wrap {
  width: 100%;
  height: auto;
}

.page-main {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
}
@media (min-width: 768px) {
  .page-main {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
}

.page-main.side {
  grid-template-columns: 1fr 0px;
  grid-template-rows: auto auto;
}
@media (min-width: 768px) {
  .page-main.side {
    grid-template-columns: 1fr 320px;
    grid-template-rows: auto 0px;
  }
}

.page-content {
  width: 100%;
  padding-right: 0;
  grid-column: 1/span 1;
  grid-row: 2;
}
@media (min-width: 768px) {
  .page-content {
    grid-column: 1/span 1;
    grid-row: 1;
  }
}

.page-section-wrap {
  width: 100%;
  height: auto;
}

.page-section {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding-right: 30px;
  transition: padding 300ms;
  padding-left: 30px;
  transition: padding 300ms;
  padding-top: 40px;
  transition: padding 300ms;
  padding-bottom: 40px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .page-section {
    padding-right: 35px;
  }
}
@media (min-width: 768px) {
  .page-section {
    padding-right: 40px;
  }
}
@media (min-width: 992px) {
  .page-section {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .page-section {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .page-section {
    padding-left: 35px;
  }
}
@media (min-width: 768px) {
  .page-section {
    padding-left: 40px;
  }
}
@media (min-width: 992px) {
  .page-section {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .page-section {
    padding-left: 80px;
  }
}
@media (min-width: 480px) {
  .page-section {
    padding-top: 45px;
  }
}
@media (min-width: 768px) {
  .page-section {
    padding-top: 55px;
  }
}
@media (min-width: 992px) {
  .page-section {
    padding-top: 65px;
  }
}
@media (min-width: 1200px) {
  .page-section {
    padding-top: 80px;
  }
}
@media (min-width: 480px) {
  .page-section {
    padding-bottom: 45px;
  }
}
@media (min-width: 768px) {
  .page-section {
    padding-bottom: 55px;
  }
}
@media (min-width: 992px) {
  .page-section {
    padding-bottom: 65px;
  }
}
@media (min-width: 1200px) {
  .page-section {
    padding-bottom: 80px;
  }
}

.side .page-content {
  padding-right: 0;
}
@media (min-width: 768px) {
  .side .page-content {
    padding-right: 100px;
  }
}

.page-sidebar {
  padding-bottom: 40px;
  transition: padding 300ms;
  width: 100%;
  grid-column: 1/span 1;
  grid-row: 1;
}
@media (min-width: 480px) {
  .page-sidebar {
    padding-bottom: 45px;
  }
}
@media (min-width: 768px) {
  .page-sidebar {
    padding-bottom: 55px;
  }
}
@media (min-width: 992px) {
  .page-sidebar {
    padding-bottom: 65px;
  }
}
@media (min-width: 1200px) {
  .page-sidebar {
    padding-bottom: 80px;
  }
}
@media (min-width: 768px) {
  .page-sidebar {
    grid-column: 2/span 1;
    grid-row: 1;
  }
}

/**
  * FOOTER STYLES
  */
.footer-wrap {
  width: 100%;
  height: auto;
  grid-row-start: 3;
  grid-row-end: 4;
  background-color: #252425;
}

.footer {
  padding-top: 40px;
  transition: padding 300ms;
  padding-bottom: 40px;
  transition: padding 300ms;
  padding-right: 30px;
  transition: padding 300ms;
  padding-left: 30px;
  transition: padding 300ms;
  text-align: center;
  overflow: hidden;
  color: #e4e2dc;
  display: grid;
  grid-template-columns: 50% 50%;
  grid-rows: auto auto auto;
}
@media (min-width: 480px) {
  .footer {
    padding-top: 45px;
  }
}
@media (min-width: 768px) {
  .footer {
    padding-top: 55px;
  }
}
@media (min-width: 992px) {
  .footer {
    padding-top: 65px;
  }
}
@media (min-width: 1200px) {
  .footer {
    padding-top: 80px;
  }
}
@media (min-width: 480px) {
  .footer {
    padding-bottom: 45px;
  }
}
@media (min-width: 768px) {
  .footer {
    padding-bottom: 55px;
  }
}
@media (min-width: 992px) {
  .footer {
    padding-bottom: 65px;
  }
}
@media (min-width: 1200px) {
  .footer {
    padding-bottom: 80px;
  }
}
@media (min-width: 480px) {
  .footer {
    padding-right: 35px;
  }
}
@media (min-width: 768px) {
  .footer {
    padding-right: 40px;
  }
}
@media (min-width: 992px) {
  .footer {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .footer {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .footer {
    padding-left: 35px;
  }
}
@media (min-width: 768px) {
  .footer {
    padding-left: 40px;
  }
}
@media (min-width: 992px) {
  .footer {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .footer {
    padding-left: 80px;
  }
}

.footer-nav {
  padding-left: 0;
  grid-column: 1/span 2;
  grid-row: 2;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 768px) {
  .footer-nav {
    padding-left: 30px;
    transition: padding 300ms;
    width: auto;
    grid-column: 2/span 1;
    grid-row: 1/span 1;
    justify-content: right;
  }
}
@media (min-width: 768px) and (min-width: 480px) {
  .footer-nav {
    padding-left: 35px;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .footer-nav {
    padding-left: 40px;
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  .footer-nav {
    padding-left: 60px;
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .footer-nav {
    padding-left: 80px;
  }
}
.footer-nav ul {
  width: 100%;
  height: auto;
  display: inline-block;
  list-style: none;
  text-align: center;
}
@media (min-width: 768px) {
  .footer-nav ul {
    width: auto;
    display: block;
    text-align: right;
  }
}
.footer-nav ul li {
  width: 100%;
  padding: 5px 0;
  list-style: none;
  position: relative;
  display: inline-block;
  position: relative;
  /*&:after {
    content: "|";
    color: $brandColorContrast;
    position: absolute;
    top: 0;
    right: -2px;
  }

  &:last-child {

    &:after {
      content: "";
    }
  }*/
}
@media (min-width: 768px) {
  .footer-nav ul li {
    width: auto;
    padding: 0;
    display: block;
  }
  .footer-nav ul li:after {
    content: "";
  }
}
.footer-nav ul li a {
  width: 100%;
  padding: 0;
  position: relative;
  display: block;
  font-size: 1rem;
  color: #e4e2dc;
  text-align: left;
  text-decoration: underline;
}
@media (min-width: 768px) {
  .footer-nav ul li a {
    width: auto;
    padding: 0;
    text-align: right;
  }
}

.footer-brand {
  padding-left: 0;
  padding-bottom: 20px;
  width: 100%;
  margin-top: 0;
  margin-bottom: 0;
  padding-right: 0;
  grid-column: 1/span 2;
  grid-row: 1/span 1;
  position: relative;
  z-index: 5;
}
@media (min-width: 768px) {
  .footer-brand {
    padding-right: 30px;
    transition: padding 300ms;
    padding-bottom: 0;
    grid-column: 1/span 1;
    grid-row: 1/span 2;
  }
}
@media (min-width: 768px) and (min-width: 480px) {
  .footer-brand {
    padding-right: 35px;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .footer-brand {
    padding-right: 40px;
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  .footer-brand {
    padding-right: 60px;
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .footer-brand {
    padding-right: 80px;
  }
}
.footer-brand a {
  width: 260px;
  height: auto;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  text-decoration: none;
}
.footer-brand a .footer-brand-logo-image {
  width: auto;
  margin-left: -12px;
  height: 100px;
  margin-right: 15px;
  text-align: center;
  display: block;
}
.footer-brand a .footer-brand-logo-text {
  display: block;
  color: #ffffff;
  text-align: left;
  padding-left: 0;
  font-weight: bold;
  font-size: 1rem;
}
@media (min-width: 768px) {
  .footer-brand a .footer-brand-logo-text {
    padding-left: 10px;
  }
}
.footer-brand a .footer-brand-logo-text .footer-brand-logo-text-title {
  margin: 0 auto;
  display: block;
  line-height: 1.2;
  font-size: 1.4rem;
}
.footer-brand a .footer-brand-logo-text .footer-brand-logo-text-title span.registered {
  font-size: 0.7rem;
  font-weight: normal;
  vertical-align: super;
}
@media (min-width: 480px) {
  .footer-brand a .footer-brand-logo-text .footer-brand-logo-text-title span.registered {
    font-size: 0.9rem;
  }
}
.footer-brand a .footer-brand-logo-text .footer-brand-logo-text-tagline {
  margin: 10px auto 0 auto;
  line-height: 0.8;
  font-size: 1.1rem;
  font-weight: lighter;
  font-style: italic;
  display: block;
  color: #ffffff;
}
.copyright {
  margin: 0;
  padding: 20px 0 0 0;
  grid-column: 1/span 2;
  grid-row: 3;
  font-size: 10px;
  justify-content: left;
  text-align: left;
}
@media (min-width: 768px) {
  .copyright {
    padding: 0 0 0 0;
    grid-row: 2;
    grid-column: 2/span 1;
    justify-content: right;
    text-align: right;
  }
}

/**
  * MISCELLANEOUS STYLES
  */
.embed-container-wrap {
  width: 100%;
  max-width: 500px;
  margin: 20px auto;
}

.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  overflow: hidden;
  max-width: 100%;
  height: auto;
}

.embed-container iframe,
.embed-container object,
.embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.max-width-280px {
  width: 100%;
  max-width: 280px;
}

.float-right,
.alignright {
  display: block;
  margin: 0 auto;
  padding: 20px;
  float: none;
}
@media (min-width: 480px) {
  .float-right,
  .alignright {
    padding: 20px 0 20px 20px;
    float: right;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRlZmF1bHQuY3NzIiwiZGVmYXVsdC5zY3NzIiwiX2NvbW1vbi5zY3NzIiwibGlicmFyaWVzL19ub3JtYWxpemUuc2NzcyIsInBhcnRpYWxzL19icmVha3BvaW50cy5tb2R1bGVzLnNjc3MiLCJwYXJ0aWFscy9fdmFyaWFibGVzLnNjc3MiLCJwYXJ0aWFscy9fZm9udHMuc2NzcyIsInBhcnRpYWxzL19taXhpbnMuc2NzcyIsImxpYnJhcmllcy9faW5jbHVkZS1tZWRpYS5zY3NzIiwicGFydGlhbHMvX2VsZW1lbnRzLnNjc3MiLCJwYXJ0aWFscy9faGVhZGVyLnNjc3MiLCJwYXJ0aWFscy9fc2VhcmNoZm9ybS5zY3NzIiwicGFydGlhbHMvX21haW4uc2NzcyIsInBhcnRpYWxzL19mb290ZXIuc2NzcyIsInBhcnRpYWxzL19taXNjLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDQWhCOzs7O0dBQUE7QUNBQTs7OztHQUFBO0FDQUEsMkVBQUE7QUFFQTsrRUFBQTtBQUdBOzs7RUFBQTtBQUtBO0VBQ0UsaUJBQUEsRUFBQSxNQUFBO0VBQ0EsOEJBQUEsRUFBQSxNQUFBO0FIU0Y7O0FHTkE7K0VBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0UsU0FBQTtBSE9GOztBR0pBOztFQUFBO0FBSUE7RUFDRSxjQUFBO0FITUY7O0FHSEE7OztFQUFBO0FBS0E7RUFDRSxjQUFBO0VBQ0EsZ0JBQUE7QUhLRjs7QUdGQTsrRUFBQTtBQUdBOzs7RUFBQTtBQUtBO0VBQ0UsdUJBQUEsRUFBQSxNQUFBO0VBQ0EsU0FBQSxFQUFBLE1BQUE7RUFDQSxpQkFBQSxFQUFBLE1BQUE7QUhHRjs7QUdBQTs7O0VBQUE7QUFLQTtFQUNFLGlDQUFBLEVBQUEsTUFBQTtFQUNBLGNBQUEsRUFBQSxNQUFBO0FIRUY7O0FHQ0E7K0VBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0UsNkJBQUE7QUhBRjs7QUdHQTs7O0VBQUE7QUFLQTtFQUNFLG1CQUFBLEVBQUEsTUFBQTtFQUNB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NEVJO0VEamdCRjtJQVhFLGdCRmJxQjtFTGlkdkI7QUFDRjtBUXVFSTtFRGpnQkY7SUFQRSxnQkZoQnFCO0VMcWR2QjtBQUNGO0FRa0VJO0VEamdCRjtJQUhFLGdCRm5Cc0I7RUx5ZHhCO0FBQ0Y7O0FPNWFFO0VBbkJBLG1CRi9CdUI7RUVnQ3ZCLHdCQUFBO0FQbWNGO0FRd0RJO0VEemVGO0lBZkUsbUJGbEN5QjtFTHNlM0I7QUFDRjtBUW1ESTtFRHplRjtJQVhFLG1CRnJDcUI7RUwwZXZCO0FBQ0Y7QVE4Q0k7RUR6ZUY7SUFQRSxtQkZ4Q3FCO0VMOGV2QjtBQUNGO0FReUNJO0VEemVGO0lBSEUsbUJGM0NzQjtFTGtmeEI7QUFDRjs7QU83YkU7RUFuREEsZ0JGUHVCO0VFUXZCLHdCQUFBO0VBdUJBLG1CRi9CdUI7RUVnQ3ZCLHdCQUFBO0FQOGRGO0FRNkJJO0VEamVGO0lBL0NFLGdCRlZ5QjtFTGlnQjNCO0FBQ0Y7QVF3Qkk7RURqZUY7SUEzQ0UsZ0JGYnFCO0VMcWdCdkI7QUFDRjtBUW1CSTtFRGplRjtJQXZDRSxnQkZoQnFCO0VMeWdCdkI7QUFDRjtBUWNJO0VEamVGO0lBbkNFLGdCRm5Cc0I7RUw2Z0J4QjtBQUNGO0FRU0k7RURqZUY7SUF2QkUsbUJGbEN5QjtFTHFoQjNCO0FBQ0Y7QVFJSTtFRGplRjtJQW5CRSxtQkZyQ3FCO0VMeWhCdkI7QUFDRjtBUURJO0VEamVGO0lBZkUsbUJGeENxQjtFTDZoQnZCO0FBQ0Y7QVFOSTtFRGplRjtJQVhFLG1CRjNDc0I7RUxpaUJ4QjtBQUNGOztBTy9jRTtFQXhCQSxrQkYvRHVCO0VFZ0V2Qix3QkFBQTtFQUNBLDRCQUFBO0FQMmVGO0FRakJJO0VEcGNGO0lBbkJFLGtCRm5FeUI7SUVvRXpCLDRCQUFBO0VQNGVGO0FBQ0Y7QVF2Qkk7RURwY0Y7SUFkRSxrQkZ2RXFCO0lFd0VyQiw0QkFBQTtFUDZlRjtBQUNGO0FRN0JJO0VEcGNGO0lBVEUsa0JGM0VxQjtJRTRFckIsNEJBQUE7RVA4ZUY7QUFDRjtBUW5DSTtFRHBjRjtJQUpFLGtCRi9Fc0I7SUVnRnRCLDRCQUFBO0VQK2VGO0FBQ0Y7O0FPaGRFO0VBeEJBLGlCRjVGdUI7RUU2RnZCLHdCQUFBO0VBQ0EsNEJBQUE7QVA0ZUY7QVEvQ0k7RUR2YUY7SUFuQkUsaUJGaEd5QjtJRWlHekIsNEJBQUE7RVA2ZUY7QUFDRjtBUXJESTtFRHZhRjtJQWRFLGlCRnBHcUI7SUVxR3JCLDRCQUFBO0VQOGVGO0FBQ0Y7QVEzREk7RUR2YUY7SUFURSxpQkZ4R3FCO0lFeUdyQiw0QkFBQTtFUCtlRjtBQUNGO0FRakVJO0VEdmFGO0lBSkUsaUJGNUdzQjtJRTZHdEIsNEJBQUE7RVBnZkY7QUFDRjs7QU81Y0U7RUE3QkEsaUJGekh1QjtFRTBIdkIsa0JGMUh1QjtFRTJIdkIsd0JBQUE7RUFDQSw0QkFBQTtBUDZlRjtBUTlFSTtFRHJZRjtJQXZCRSxpQkY5SHlCO0lFK0h6QixrQkYvSHlCO0lFZ0l6Qiw0QkFBQTtFUDhlRjtBQUNGO0FRckZJO0VEcllGO0lBakJFLGlCRm5JcUI7SUVvSXJCLGtCRnBJcUI7SUVxSXJCLDRCQUFBO0VQK2VGO0FBQ0Y7QVE1Rkk7RURyWUY7SUFYRSxpQkZ4SXFCO0lFeUlyQixrQkZ6SXFCO0lFMElyQiw2QkFBQTtFUGdmRjtBQUNGO0FRbkdJO0VEcllGO0lBTEUsaUJGN0lzQjtJRThJdEIsa0JGOUlzQjtJRStJdEIsNkJBQUE7RVBpZkY7QUFDRjs7QU9sZEU7RUF4QkEsbUJBQUE7RUFDQSx3QkFBQTtBUDhlRjtBUS9HSTtFRHhXRjtJQW5CRSxtQkFBQTtFUDhlRjtBQUNGO0FRcEhJO0VEeFdGO0lBZEUsbUJBQUE7RVA4ZUY7QUFDRjtBUXpISTtFRHhXRjtJQVRFLG1CQUFBO0VQOGVGO0FBQ0Y7QVE5SEk7RUR4V0Y7SUFKRSxtQkFBQTtFUDhlRjtBQUNGOztBTzljRTtFQXhCQSxrQkFBQTtFQUNBLHdCQUFBO0FQMGVGO0FReElJO0VEM1VGO0lBbkJFLGtCQUFBO0VQMGVGO0FBQ0Y7QVE3SUk7RUQzVUY7SUFkRSxrQkFBQTtFUDBlRjtBQUNGO0FRbEpJO0VEM1VGO0lBVEUsa0JBQUE7RVAwZUY7QUFDRjtBUXZKSTtFRDNVRjtJQUpFLGtCQUFBO0VQMGVGO0FBQ0Y7O0FPcmNFO0VBN0JBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSx3QkFBQTtFQUNBLHdCQUFBO0FQc2VGO0FRbktJO0VEelNGO0lBdkJFLGtCQUFBO0lBQ0EsbUJBQUE7SUFDQSx3QkFBQTtFUHVlRjtBQUNGO0FRMUtJO0VEelNGO0lBakJFLGtCQUFBO0lBQ0EsbUJBQUE7SUFDQSx3QkFBQTtFUHdlRjtBQUNGO0FRakxJO0VEelNGO0lBWEUsa0JBQUE7SUFDQSxtQkFBQTtJQUNBLHlCQUFBO0VQeWVGO0FBQ0Y7QVF4TEk7RUR6U0Y7SUFMRSxrQkFBQTtJQUNBLG1CQUFBO0lBQ0EseUJBQUE7RVAwZUY7QUFDRjs7QU9oZEU7RUFuQkEsaUJGaFBvQjtFRWlQcEIseUJBQUE7QVB1ZUY7QVFwTUk7RURqUkY7SUFmRSxpQkZuUHNCO0VMMnRCeEI7QUFDRjtBUXpNSTtFRGpSRjtJQVhFLGlCRnRQa0I7RUwrdEJwQjtBQUNGO0FROU1JO0VEalJGO0lBUEUsaUJGelBrQjtFTG11QnBCO0FBQ0Y7QVFuTkk7RURqUkY7SUFIRSxpQkY1UG1CO0VMdXVCckI7QUFDRjs7QU9qZEU7RUFuQkEsb0JGeFFvQjtFRXlRcEIseUJBQUE7QVB3ZUY7QVE3Tkk7RUR6UEY7SUFmRSxvQkYzUXNCO0VMb3ZCeEI7QUFDRjtBUWxPSTtFRHpQRjtJQVhFLG9CRjlRa0I7RUx3dkJwQjtBQUNGO0FRdk9JO0VEelBGO0lBUEUsb0JGalJrQjtFTDR2QnBCO0FBQ0Y7QVE1T0k7RUR6UEY7SUFIRSxvQkZwUm1CO0VMZ3dCckI7QUFDRjs7QU9sZEU7RUFuQkEsa0JGdlN1QjtFRXdTdkIseUJBQUE7QVB5ZUY7QVF0UEk7RURqT0Y7SUFmRSxrQkYxU3lCO0VMb3hCM0I7QUFDRjtBUTNQSTtFRGpPRjtJQVhFLGtCRjdTcUI7RUx3eEJ2QjtBQUNGO0FRaFFJO0VEak9GO0lBUEUsa0JGaFRxQjtFTDR4QnZCO0FBQ0Y7QVFyUUk7RURqT0Y7SUFIRSxrQkZuVHNCO0VMZ3lCeEI7QUFDRjs7QU9uZEU7RUFuQkEsbUJGL1R1QjtFRWdVdkIseUJBQUE7QVAwZUY7QVEvUUk7RUR6TUY7SUFmRSxtQkZsVXlCO0VMNnlCM0I7QUFDRjtBUXBSSTtFRHpNRjtJQVhFLG1CRnJVcUI7RUxpekJ2QjtBQUNGO0FRelJJO0VEek1GO0lBUEUsbUJGeFVxQjtFTHF6QnZCO0FBQ0Y7QVE5Ukk7RUR6TUY7SUFIRSxtQkYzVXNCO0VMeXpCeEI7QUFDRjs7QU9wZUU7RUFuR0EsaUJGaFBvQjtFRWlQcEIseUJBQUE7RUF1QkEsb0JGeFFvQjtFRXlRcEIseUJBQUE7QVBxakJGO0FRMVNJO0VEak1GO0lBL0ZFLGlCRm5Qc0I7RUxpMEJ4QjtBQUNGO0FRL1NJO0VEak1GO0lBM0ZFLGlCRnRQa0I7RUxxMEJwQjtBQUNGO0FRcFRJO0VEak1GO0lBdkZFLGlCRnpQa0I7RUx5MEJwQjtBQUNGO0FRelRJO0VEak1GO0lBbkZFLGlCRjVQbUI7RUw2MEJyQjtBQUNGO0FROVRJO0VEak1GO0lBdkVFLG9CRjNRc0I7RUxxMUJ4QjtBQUNGO0FRblVJO0VEak1GO0lBbkVFLG9CRjlRa0I7RUx5MUJwQjtBQUNGO0FReFVJO0VEak1GO0lBL0RFLG9CRmpSa0I7RUw2MUJwQjtBQUNGO0FRN1VJO0VEak1GO0lBM0RFLG9CRnBSbUI7RUxpMkJyQjtBQUNGOztBTzNnQkU7RUFuQ0EsbUJGL1R1QjtFRWdVdkIseUJBQUE7RUF6QkEsa0JGdlN1QjtFRXdTdkIseUJBQUE7QVA0a0JGO0FRelZJO0VEekxGO0lBL0JFLG1CRmxVeUI7RUx1M0IzQjtBQUNGO0FROVZJO0VEekxGO0lBM0JFLG1CRnJVcUI7RUwyM0J2QjtBQUNGO0FRbldJO0VEekxGO0lBdkJFLG1CRnhVcUI7RUwrM0J2QjtBQUNGO0FReFdJO0VEekxGO0lBbkJFLG1CRjNVc0I7RUxtNEJ4QjtBQUNGO0FRN1dJO0VEekxGO0lBdkRFLGtCRjFTeUI7RUwyNEIzQjtBQUNGO0FRbFhJO0VEekxGO0lBbkRFLGtCRjdTcUI7RUwrNEJ2QjtBQUNGO0FRdlhJO0VEekxGO0lBL0NFLGtCRmhUcUI7RUxtNUJ2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RUFDQSxRQUFBO0VBQ0EsVUFBQTtBVitxQ047QVExckNJO0VFRUE7SUgxTkEsbUJGbFV5QjtFTHd0RDNCO0FBQ0Y7QVEvckNJO0VFRUE7SUh0TkEsbUJGclVxQjtFTDR0RHZCO0FBQ0Y7QVFwc0NJO0VFRUE7SUhsTkEsbUJGeFVxQjtFTGd1RHZCO0FBQ0Y7QVF6c0NJO0VFRUE7SUg5TUEsbUJGM1VzQjtFTG91RHhCO0FBQ0Y7QVE5c0NJO0VFRUE7SUFZSSxZTDdpQk87SUs4aUJQLGVBQUE7RVZvc0NOO0FBQ0Y7O0FVbHNDTTtFQUNFLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsU0FBQTtBVnFzQ1I7QVEzdENJO0VFa0JFO0lBT0ksWUx4akJLO0lLeWpCTCxhQUFBO0VWc3NDUjtBQUNGO0FVcHNDUTtFQUNFLGNMcmlCRDtBTDJ1RFQ7QVVwc0NVO0VBQ0UsY0FBQTtBVnNzQ1o7QVU3ckNNO0VBQ0UsY0FBQTtFQUNBLGlCQUFBO0VBQ0EsYUFBQTtFQUNBLG1CQUFBO0FWK3JDUjtBUTd1Q0k7RUUwQ0U7SUFPSSxpQkFBQTtFVmdzQ1I7QUFDRjtBUWx2Q0k7RUUwQ0U7SUFXSSxhQUFBO0VWaXNDUjtBQUNGO0FVL3JDUTtFQUNFLGNMaGtCRDtBTGl3RFQ7QVUvckNVO0VBQ0UsY0FBQTtBVmlzQ1o7O0FVNXJDSTtFSHRtQkYsV0FBQTtFQUNBLFlBQUE7RUd1bUJJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esa0JBQUE7RUFDQSxTTHZtQmU7RUt3bUJmLE9BQUE7RUFDQSx5QkxobEJHO0VLaWxCSCxVQUFBO0FWZ3NDTjtBUXp3Q0k7RUVpRUE7SUFXSSxTTDNtQk87SUs0bUJQLFlBQUE7RVZpc0NOO0FBQ0Y7QVUvckNNO0VINVNKLG1CRi9UdUI7RUVnVXZCLHlCQUFBO0VBekJBLGtCRnZTdUI7RUV3U3ZCLHlCQUFBO0FQd2dERjtBUXJ4Q0k7RUVnRkU7SUh4U0YsbUJGbFV5QjtFTG16RDNCO0FBQ0Y7QVExeENJO0VFZ0ZFO0lIcFNGLG1CRnJVcUI7RUx1ekR2QjtBQUNGO0FRL3hDSTtFRWdGRTtJSGhTRixtQkZ4VXFCO0VMMnpEdkI7QUFDRjtBUXB5Q0k7RUVnRkU7SUg1UkYsbUJGM1VzQjtFTCt6RHhCO0FBQ0Y7QVF6eUNJO0VFZ0ZFO0lIaFVGLGtCRjFTeUI7RUx1MEQzQjtBQUNGO0FROXlDSTtFRWdGRTtJSDVURixrQkY3U3FCO0VMMjBEdkI7QUFDRjtBUW56Q0k7RUVnRkU7SUh4VEYsa0JGaFRxQjtFTCswRHZCO0FBQ0Y7QVF4ekNJO0VFZ0ZFO0lIcFRGLGtCRm5Uc0I7RUxtMUR4QjtBQUNGOztBVzEyREE7O0dBQUE7QUFJQTtFSllFLFdBQUE7RUFDQSxpQkZSVTtFRVNWLGNBQUE7RUlaQSxZQUFBO0VBQ0EsZUFBQTtFQUNBLGFBQUE7RUFDQSwrQkFBQTtFQUNBLHdCQUFBO0FYODJERjs7QVczMkRFO0VBQ0UsWUFBQTtFQUNBLFVBQUE7RUFDQSxxQkFBQTtFQUNBLFdBQUE7RUFDQSxrQkFBQTtBWDgyREo7QVc1MkRJO0VBQ0UsV0FBQTtFQUNBLGVBQUE7RUFDQSxZQUFBO0VBQ0EsY05jRztFTWJILGNBQUE7RUFDQSx5QkFBQTtFQUNBLGdCQUFBO0VBQ0EsYUFBQTtBWDgyRE47QVczMkRJO0VBQ0UsV0FBQTtFQUNBLGVBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSx5QkFBQTtFQUNBLGNBQUE7RUFDQSx1QkFBQTtFQUNBLGNOREc7QUw4MkRUOztBV3oyREU7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLHFCQUFBO0VBQ0EsV0FBQTtFQUNBLGlCQUFBO0VBQ0EsY05aSztFTWFMLGlCQUFBO0VBQ0EseUJOYks7RU1jTCxrQ0FBQTtBWDQyREo7QVcxMkRJO0VBQ0UseUJBQUE7QVg0MkROOztBWW42REE7O0dBQUE7QUFLQTtFTEdFLFdBQUE7RUFDQSxZQUFBO0VLRkEsaUJBQUE7RUFDQSxlQUFBO0VBQ0EseUJQNkJPO0FMdzREVDs7QVluNkRFO0VBQ0UsWUFBQTtFQUNBLGdCQUFBO0FaczZESjs7QVlwNkRJO0VMUEYsV0FBQTtFQUNBLFlBQUE7RUtRSSxjQUFBO0VBSUEsc0JBQUE7RUFDQSxrQkFBQTtBWnE2RE47O0FZbDZETTtFQUNFLFdBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtFQUNBLFVBQUE7RUFDQSx5QlBLQztFT0hELFlBQUE7RUFDQSw4QkFBQTtBWm82RFI7QVlsNkRRO0VBQ0UseUJQREQ7RU9FQyxVQUFBO0FabzZEVjs7QVloNkRNO0VMM0JKLFdBQUE7RUFDQSxpQkZSVTtFRVNWLGNBQUE7RUF1UEEsaUJGaFBvQjtFRWlQcEIseUJBQUE7RUF1QkEsb0JGeFFvQjtFRXlRcEIseUJBQUE7RUErQ0EsbUJGL1R1QjtFRWdVdkIseUJBQUE7RUF6QkEsa0JGdlN1QjtFRXdTdkIseUJBQUE7RUsxUU0sZUFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQUE7RUFFQSxrQkFBQTtFQUNBLFVBQUE7QVp5NkRSO0FRajdDSTtFSWxnQkU7SUxrT0YsaUJGblBzQjtFTHc4RHhCO0FBQ0Y7QVF0N0NJO0VJbGdCRTtJTHNPRixpQkZ0UGtCO0VMNDhEcEI7QUFDRjtBUTM3Q0k7RUlsZ0JFO0lMME9GLGlCRnpQa0I7RUxnOURwQjtBQUNGO0FRaDhDSTtFSWxnQkU7SUw4T0YsaUJGNVBtQjtFTG85RHJCO0FBQ0Y7QVFyOENJO0VJbGdCRTtJTDBQRixvQkYzUXNCO0VMNDlEeEI7QUFDRjtBUTE4Q0k7RUlsZ0JFO0lMOFBGLG9CRjlRa0I7RUxnK0RwQjtBQUNGO0FRLzhDSTtFSWxnQkU7SUxrUUYsb0JGalJrQjtFTG8rRHBCO0FBQ0Y7QVFwOUNJO0VJbGdCRTtJTHNRRixvQkZwUm1CO0VMdytEckI7QUFDRjtBUXo5Q0k7RUlsZ0JFO0lMMFNGLG1CRmxVeUI7RUx1L0QzQjtBQUNGO0FROTlDSTtFSWxnQkU7SUw4U0YsbUJGclVxQjtFTDIvRHZCO0FBQ0Y7QVFuK0NJO0VJbGdCRTtJTGtURixtQkZ4VXFCO0VMKy9EdkI7QUFDRjtBUXgrQ0k7RUlsZ0JFO0lMc1RGLG1CRjNVc0I7RUxtZ0V4QjtBQUNGO0FRNytDSTtFSWxnQkU7SUxrUkYsa0JGMVN5QjtFTDJnRTNCO0FBQ0Y7QVFsL0NJO0VJbGdCRTtJTHNSRixrQkY3U3FCO0VMK2dFdkI7QUFDRjtBUXYvQ0k7RUlsZ0JFO0lMMFJGLGtCRmhUcUI7RUxtaEV2QjtBQUNGO0FRNS9DSTtFSWxnQkU7SUw4UkYsa0JGblRzQjtFTHVoRXhCO0FBQ0Y7O0FZci9EVTtFQUNFLFdBQUE7RUFDQSxnQkFBQTtFQUNBLGNQaEJIO0VPa0JHLDZCQUFBO0FadS9EWjs7QVlqL0RVO0VBQ0UsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsY1AzQkg7RU80QkcsNkJBQUE7QVpvL0RaOztBWS8rREk7RUxyRUYsV0FBQTtFQUNBLFlBQUE7QVB3akVGOztBWWovRE07RUFDRSxhQUFBO0VBQ0EsMEJBQUE7RUFDQSx3QkFBQTtBWm8vRFI7QVExaERJO0VJN2RFO0lBTUksMEJBQUE7SUFDQSx3QkFBQTtFWnEvRFI7QUFDRjs7QVlsL0RNO0VBQ0UsOEJBQUE7RUFDQSw2QkFBQTtBWnEvRFI7QVFyaURJO0VJbGRFO0lBS0ksZ0NBQUE7SUFDQSw0QkFBQTtFWnMvRFI7QUFDRjs7QVlwL0RRO0VBQ0UsV0FBQTtFQUNBLGdCQUFBO0VBQ0EscUJBQUE7RUFDQSxXQUFBO0FadS9EVjtBUWxqREk7RUl6Y0k7SUFPSSxxQkFBQTtJQUNBLFdBQUE7RVp3L0RWO0FBQ0Y7O0FZdC9EVTtFTHZHUixXQUFBO0VBQ0EsWUFBQTtBUGltRUY7O0FZeC9EWTtFTGxHVixXQUFBO0VBQ0EsaUJGUlU7RUVTVixjQUFBO0VBK1RBLG1CRi9UdUI7RUVnVXZCLHlCQUFBO0VBekJBLGtCRnZTdUI7RUV3U3ZCLHlCQUFBO0VBakRBLGlCRmhQb0I7RUVpUHBCLHlCQUFBO0VBdUJBLG9CRnhRb0I7RUV5UXBCLHlCQUFBO0FQczFERjtBUTNrREk7RUkzYlE7SUxtT1IsbUJGbFV5QjtFTHltRTNCO0FBQ0Y7QVFobERJO0VJM2JRO0lMdU9SLG1CRnJVcUI7RUw2bUV2QjtBQUNGO0FRcmxESTtFSTNiUTtJTDJPUixtQkZ4VXFCO0VMaW5FdkI7QUFDRjtBUTFsREk7RUkzYlE7SUwrT1IsbUJGM1VzQjtFTHFuRXhCO0FBQ0Y7QVEvbERJO0VJM2JRO0lMMk1SLGtCRjFTeUI7RUw2bkUzQjtBQUNGO0FRcG1ESTtFSTNiUTtJTCtNUixrQkY3U3FCO0VMaW9FdkI7QUFDRjtBUXptREk7RUkzYlE7SUxtTlIsa0JGaFRxQjtFTHFvRXZCO0FBQ0Y7QVE5bURJO0VJM2JRO0lMdU5SLGtCRm5Uc0I7RUx5b0V4QjtBQUNGO0FRbm5ESTtFSTNiUTtJTDJKUixpQkZuUHNCO0VMMG9FeEI7QUFDRjtBUXhuREk7RUkzYlE7SUwrSlIsaUJGdFBrQjtFTDhvRXBCO0FBQ0Y7QVE3bkRJO0VJM2JRO0lMbUtSLGlCRnpQa0I7RUxrcEVwQjtBQUNGO0FRbG9ESTtFSTNiUTtJTHVLUixpQkY1UG1CO0VMc3BFckI7QUFDRjtBUXZvREk7RUkzYlE7SUxtTFIsb0JGM1FzQjtFTDhwRXhCO0FBQ0Y7QVE1b0RJO0VJM2JRO0lMdUxSLG9CRjlRa0I7RUxrcUVwQjtBQUNGO0FRanBESTtFSTNiUTtJTDJMUixvQkZqUmtCO0VMc3FFcEI7QUFDRjtBUXRwREk7RUkzYlE7SUwrTFIsb0JGcFJtQjtFTDBxRXJCO0FBQ0Y7O0FZaGxFUTtFQUNFLGdCQUFBO0FabWxFVjtBUS9wREk7RUlyYkk7SUFJSSxvQkFBQTtFWm9sRVY7QUFDRjs7QVlqbEVRO0VMaUtOLG9CRnhRb0I7RUV5UXBCLHlCQUFBO0VLaEtRLFdBQUE7RUFDQSxxQkFBQTtFQUNBLFdBQUE7QVpxbEVWO0FRNXFESTtFSTdhSTtJTHFLSixvQkYzUXNCO0VMbXNFeEI7QUFDRjtBUWpyREk7RUk3YUk7SUx5S0osb0JGOVFrQjtFTHVzRXBCO0FBQ0Y7QVF0ckRJO0VJN2FJO0lMNktKLG9CRmpSa0I7RUwyc0VwQjtBQUNGO0FRM3JESTtFSTdhSTtJTGlMSixvQkZwUm1CO0VMK3NFckI7QUFDRjtBUWhzREk7RUk3YUk7SUFPSSxxQkFBQTtJQUNBLFdBQUE7RVowbUVWO0FBQ0Y7O0FhbnZFQTs7R0FBQTtBQUtBO0VOR0UsV0FBQTtFQUNBLFlBQUE7RU1GQSxpQkFBQTtFQUNBLGVBQUE7RUFDQSx5QlI2Q1k7QUx3c0VkOztBYW52RUU7RU44UEEsaUJGaFBvQjtFRWlQcEIseUJBQUE7RUF1QkEsb0JGeFFvQjtFRXlRcEIseUJBQUE7RUErQ0EsbUJGL1R1QjtFRWdVdkIseUJBQUE7RUF6QkEsa0JGdlN1QjtFRXdTdkIseUJBQUE7RU0zU0Usa0JBQUE7RUFDQSxnQkFBQTtFQUNBLGNScUJLO0VRcEJMLGFBQUE7RUFDQSw4QkFBQTtFQUNBLHlCQUFBO0FiMnZFSjtBUWx1REk7RUtsaUJGO0lOa1FFLGlCRm5Qc0I7RUx5dkV4QjtBQUNGO0FRdnVESTtFS2xpQkY7SU5zUUUsaUJGdFBrQjtFTDZ2RXBCO0FBQ0Y7QVE1dURJO0VLbGlCRjtJTjBRRSxpQkZ6UGtCO0VMaXdFcEI7QUFDRjtBUWp2REk7RUtsaUJGO0lOOFFFLGlCRjVQbUI7RUxxd0VyQjtBQUNGO0FRdHZESTtFS2xpQkY7SU4wUkUsb0JGM1FzQjtFTDZ3RXhCO0FBQ0Y7QVEzdkRJO0VLbGlCRjtJTjhSRSxvQkY5UWtCO0VMaXhFcEI7QUFDRjtBUWh3REk7RUtsaUJGO0lOa1NFLG9CRmpSa0I7RUxxeEVwQjtBQUNGO0FRcndESTtFS2xpQkY7SU5zU0Usb0JGcFJtQjtFTHl4RXJCO0FBQ0Y7QVExd0RJO0VLbGlCRjtJTjBVRSxtQkZsVXlCO0VMd3lFM0I7QUFDRjtBUS93REk7RUtsaUJGO0lOOFVFLG1CRnJVcUI7RUw0eUV2QjtBQUNGO0FRcHhESTtFS2xpQkY7SU5rVkUsbUJGeFVxQjtFTGd6RXZCO0FBQ0Y7QVF6eERJO0VLbGlCRjtJTnNWRSxtQkYzVXNCO0VMb3pFeEI7QUFDRjtBUTl4REk7RUtsaUJGO0lOa1RFLGtCRjFTeUI7RUw0ekUzQjtBQUNGO0FRbnlESTtFS2xpQkY7SU5zVEUsa0JGN1NxQjtFTGcwRXZCO0FBQ0Y7QVF4eURJO0VLbGlCRjtJTjBURSxrQkZoVHFCO0VMbzBFdkI7QUFDRjtBUTd5REk7RUtsaUJGO0lOOFRFLGtCRm5Uc0I7RUx3MEV4QjtBQUNGOztBYXowRUk7RUFDRSxlQUFBO0VBRUEscUJBQUE7RUFDQSxXQUFBO0VBQ0EsYUFBQTtFQUNB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empGQTs7R0FBQTtBQUlBO0VBQ0UsV0FBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7QWQyakZGOztBY3pqRkU7RUFDRSxrQkFBQTtFQUNBLHNCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsWUFBQTtBZDRqRko7O0FjMWpGSTs7O0VBR0Usa0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0FkNmpGTjs7QWN6akZBO0VBQ0UsV0FBQTtFQUNBLGdCQUFBO0FkNGpGRjs7QWN6akZBOztFQUVFLGNBQUE7RUFDQSxjQUFBO0VBQ0EsYUFBQTtFQUNBLFdBQUE7QWQ0akZGO0FRcGpFSTtFTTdnQko7O0lBUUkseUJBQUE7SUFDQSxZQUFBO0VkOGpGRjtBQUNGIiwiZmlsZSI6ImRlZmF1bHQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqXG4gICogREVGQVVMVCBTVFlMRVNIRUVUXG4gICpcbiAgKiBUaGlzIHdpbGwgYmUgdXNlZCB1bmxlc3MgYSBwYWdlIHNwZWNpZmljYWxseSBjYWxscyBhIGRpZmZlcmVudCBzaGVldC5cbiAgKi9cbi8qKlxuICAqIENPTU1PTiBTVFlMRVNcbiAgKlxuICAqIERlZmluZXMgdGhlIHN0eWxlcyB0byBpbXBvcnQgdGhhdCBhcmUgcmVxdWlyZWQgYnkgdmlydHVhbGx5IGFsbCBwYWdlcy5cbiAgKi9cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1zdWJtaXRdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9YnV0dG9uXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPXJlc2V0XTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPXN1Ym1pdF06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1idXR0b25dOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9cmVzZXRdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9c3VibWl0XTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuW3R5cGU9c2VhcmNoXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5bdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gICogU0NTUyBCUkVBS1BPSU5UU1xuICAqXG4gICogRGVmaW5lIGJyZWFrcG9pbnRzIGZvciBtZWRpYSBxdWVyeSB1c2UgYW5kIGV4cG9ydCB0aGVtIGZvciB1c2Ugd2l0aCBKUy5cbiAgKi9cbjpleHBvcnQge1xuICBicmVha3BvaW50UGhvbmVTbWFsbDogMzIwO1xuICBicmVha3BvaW50UGhvbmVMYXJnZTogNDgwO1xuICBicmVha3BvaW50VGFibGV0OiA3Njg7XG4gIGJyZWFrcG9pbnRMYXB0b3A6IDk5MjtcbiAgYnJlYWtwb2ludERlc2t0b3A6IDEyMDA7XG4gIGJyZWFrcG9pbnREZXNrdG9wTGFyZ2U6IDE0MDA7XG4gIGJyZWFrcG9pbnRIZDogMTkyMDtcbn1cblxuLyoqXG4gICogU0NTUyBWQVJJQUJMRVNcbiAgKi9cbi8qKlxuICAqIERpbWVuc2lvbnM6XG4gICovXG4vKipcbiAgKiBDb2xvcnM6XG4gICovXG4vKipcbiAgKiBGT05UIFNUWUxFU1xuICAqXG4gICogRGVmaW5lIEBmb250LWZhY2Ugc3R5bGVzLlxuICAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBMYXRvO1xuICBzcmM6IHVybCguLi9mb250cy9MYXRvLVRoaW4udHRmKTtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBMYXRvO1xuICBzcmM6IHVybCguLi9mb250cy9MYXRvLVRoaW5JdGFsaWMudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBMYXRvO1xuICBzcmM6IHVybCguLi9mb250cy9MYXRvLUxpZ2h0LnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTGF0bztcbiAgc3JjOiB1cmwoLi4vZm9udHMvTGF0by1MaWdodEl0YWxpYy50dGYpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IExhdG87XG4gIHNyYzogdXJsKC4uL2ZvbnRzL0xhdG8tUmVndWxhci50dGYpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IExhdG87XG4gIHNyYzogdXJsKC4uL2ZvbnRzL0xhdG8tSXRhbGljLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTGF0bztcbiAgc3JjOiB1cmwoLi4vZm9udHMvTGF0by1Cb2xkLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTGF0bztcbiAgc3JjOiB1cmwoLi4vZm9udHMvTGF0by1Cb2xkSXRhbGljLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTGF0bztcbiAgc3JjOiB1cmwoLi4vZm9udHMvTGF0by1CbGFjay50dGYpO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IExhdG87XG4gIHNyYzogdXJsKC4uL2ZvbnRzL0xhdG8tQmxhY2tJdGFsaWMudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBNZXJyaXdlYXRoZXI7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL01lcnJpd2VhdGhlci1MaWdodC50dGYpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE1lcnJpd2VhdGhlcjtcbiAgc3JjOiB1cmwoLi4vZm9udHMvTWVycml3ZWF0aGVyLUxpZ2h0SXRhbGljLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTWVycml3ZWF0aGVyO1xuICBzcmM6IHVybCguLi9mb250cy9NZXJyaXdlYXRoZXItUmVndWxhci50dGYpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE1lcnJpd2VhdGhlcjtcbiAgc3JjOiB1cmwoLi4vZm9udHMvTWVycml3ZWF0aGVyLUl0YWxpYy50dGYpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE1lcnJpd2VhdGhlcjtcbiAgc3JjOiB1cmwoLi4vZm9udHMvTWVycml3ZWF0aGVyLUJvbGQudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBNZXJyaXdlYXRoZXI7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL01lcnJpd2VhdGhlci1Cb2xkSXRhbGljLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTWVycml3ZWF0aGVyO1xuICBzcmM6IHVybCguLi9mb250cy9NZXJyaXdlYXRoZXItQmxhY2sudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBNZXJyaXdlYXRoZXI7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL01lcnJpd2VhdGhlci1CbGFja0l0YWxpYy50dGYpO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG4vKipcbiAgKiBTQ1NTIE1JWElOU1xuICAqXG4gICogU3RhbmRhcmRpemVkIHN0eWxlIGNodW5rcywgcHJvdmlkZWQgYXMgYm90aCBTQ1NTIG1peGlucyBhbmQgSFRNTCBjbGFzc2VzLlxuICAqL1xuLndyYXAge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uaW5uZXItd3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5tYXItdG9wIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5tYXItdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1hci10b3Age1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubWFyLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWFyLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogODBweDtcbiAgfVxufVxuXG4ubWFyLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWFyLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tYXItYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1hci1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1hci1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gIH1cbn1cblxuLm1hci12ZXJ0aWNhbCB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5tYXItdmVydGljYWwge1xuICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFyLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1hci12ZXJ0aWNhbCB7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWFyLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLm1hci12ZXJ0aWNhbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tYXItdmVydGljYWwge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubWFyLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tYXItdmVydGljYWwge1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gIH1cbn1cblxuLm1hci1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogMzBweDtcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5tYXItcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMzVweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDM1cHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1hci1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubWFyLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDYwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWFyLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDgwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgfVxufVxuXG4ubWFyLWxlZnQge1xuICBtYXJnaW4tbGVmdDogMzBweDtcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5tYXItbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAzNXB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tYXItbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tYXItbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDYwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWFyLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiA4MHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gIH1cbn1cblxuLm1hci1ob3Jpem9udGFsIHtcbiAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gIG1hcmdpbi1yaWdodDogMzBweDtcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5tYXItaG9yaXpvbnRhbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAzNXB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNzBweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFyLWhvcml6b250YWwge1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1hci1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tbGVmdDogNjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDYwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxMjBweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1hci1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tbGVmdDogODBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDgwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxNjBweCk7XG4gIH1cbn1cblxuLm1hci1yaWdodC1uZWdhdGl2ZSB7XG4gIG1hcmdpbi1yaWdodDogLTMwcHg7XG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWFyLXJpZ2h0LW5lZ2F0aXZlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1hci1yaWdodC1uZWdhdGl2ZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tYXItcmlnaHQtbmVnYXRpdmUge1xuICAgIG1hcmdpbi1yaWdodDogLTYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1hci1yaWdodC1uZWdhdGl2ZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtODBweDtcbiAgfVxufVxuXG4ubWFyLWxlZnQtbmVnYXRpdmUge1xuICBtYXJnaW4tbGVmdDogLTMwcHg7XG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWFyLWxlZnQtbmVnYXRpdmUge1xuICAgIG1hcmdpbi1sZWZ0OiAtMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tYXItbGVmdC1uZWdhdGl2ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC00MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1hci1sZWZ0LW5lZ2F0aXZlIHtcbiAgICBtYXJnaW4tbGVmdDogLTYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1hci1sZWZ0LW5lZ2F0aXZlIHtcbiAgICBtYXJnaW4tbGVmdDogLTgwcHg7XG4gIH1cbn1cblxuLm1hci1ob3Jpem9udGFsLW5lZ2F0aXZlIHtcbiAgbWFyZ2luLWxlZnQ6IC0zMHB4O1xuICBtYXJnaW4tcmlnaHQ6IC0zMHB4O1xuICB0cmFuc2l0aW9uOiBtYXJnaW4gMzAwbXM7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyA2MHB4KTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWFyLWhvcml6b250YWwtbmVnYXRpdmUge1xuICAgIG1hcmdpbi1sZWZ0OiAtMzVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zNXB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA3MHB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tYXItaG9yaXpvbnRhbC1uZWdhdGl2ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC00MHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTQwcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDgwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1hci1ob3Jpem9udGFsLW5lZ2F0aXZlIHtcbiAgICBtYXJnaW4tbGVmdDogLTYwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNjBweDtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMTIwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tYXItaG9yaXpvbnRhbC1uZWdhdGl2ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC04MHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTgwcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDE2MHB4KTtcbiAgfVxufVxuXG4ucGFkLXRvcCB7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWQtdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogNDVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWQtdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogNTVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWQtdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogNjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFkLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDgwcHg7XG4gIH1cbn1cblxuLnBhZC1ib3R0b20ge1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFkLWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDQ1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFkLWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDU1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFkLWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDY1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZC1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICB9XG59XG5cbi5wYWQtbGVmdCB7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFkLWxlZnQge1xuICAgIHBhZGRpbmctbGVmdDogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWQtbGVmdCB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZC1sZWZ0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZC1sZWZ0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gIH1cbn1cblxuLnBhZC1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhZC1yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWQtcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFkLXJpZ2h0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWQtcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cblxuLnBhZC12ZXJ0aWNhbCB7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFkLXZlcnRpY2FsIHtcbiAgICBwYWRkaW5nLXRvcDogNDVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWQtdmVydGljYWwge1xuICAgIHBhZGRpbmctdG9wOiA1NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZC12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy10b3A6IDY1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZC12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy10b3A6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFkLXZlcnRpY2FsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWQtdmVydGljYWwge1xuICAgIHBhZGRpbmctYm90dG9tOiA1NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZC12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy1ib3R0b206IDY1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZC12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gIH1cbn1cblxuLnBhZC1ob3Jpem9udGFsIHtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWQtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1yaWdodDogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWQtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWQtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFkLWhvcml6b250YWwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFkLWhvcml6b250YWwge1xuICAgIHBhZGRpbmctbGVmdDogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWQtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZC1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZC1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gIH1cbn1cblxuLmJ1dHRvbiB7XG4gIG1hcmdpbjogMXJlbSAwO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNWQ1MDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxuLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDQ0M2EgIWltcG9ydGFudDtcbn1cblxuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4ubm8tc2Nyb2xsIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmgxIHtcbiAgZm9udC1zaXplOiAzcmVtO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oMSB7XG4gICAgZm9udC1zaXplOiA0cmVtO1xuICB9XG59XG5cbi5oMiB7XG4gIGZvbnQtc2l6ZTogMi40cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjFyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmgyIHtcbiAgICBmb250LXNpemU6IDNyZW07XG4gIH1cbn1cblxuLmgzIHtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuOHJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaDMge1xuICAgIGZvbnQtc2l6ZTogMi4xcmVtO1xuICB9XG59XG5cbi5oNCB7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjdyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmg0IHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cbn1cblxuLmg1IHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNnJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaDUge1xuICAgIGZvbnQtc2l6ZTogMS45cmVtO1xuICB9XG59XG5cbi5oNiB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmg2IHtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgfVxufVxuXG4vKipcbiAgKiBIVE1MIEVMRU1FTlQgU1RZTEVTXG4gICpcbiAgKiBTdHlsZSBkZWZpbml0aW9ucyBmb3IgZ2xvYmFsIGVsZW1lbnQgc2VsZWN0b3JzLlxuICAqL1xuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbmh0bWwge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjc7XG4gIGZvbnQtc2l6ZTogNjIuNSU7XG59XG5cbmJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAxZnIgYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U0ZTJkYztcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgY29sb3I6ICMwMDVkNTA7XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIC5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBtYXJnaW4tdG9wOiAzcmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtZmFtaWx5OiBcIk1lcnJpd2VhdGhlclwiLCBzZXJpZjtcbiAgY29sb3I6ICMwMDVkNTA7XG59XG5cbmgxIHtcbiAgZm9udC1zaXplOiAzcmVtO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICBmb250LWZhbWlseTogXCJMYXRvXCIsIHNhbnMtc2VyaWY7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgfVxufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMi40cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjFyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgfVxufVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjhyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMi4xcmVtO1xuICB9XG59XG5cbmg0IHtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuN3JlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICBoNCB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG59XG5cbmg1IHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNnJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICBoNSB7XG4gICAgZm9udC1zaXplOiAxLjlyZW07XG4gIH1cbn1cblxuaDYge1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGg2IHtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgfVxufVxuXG5wIHtcbiAgbWFyZ2luOiAwIDAgMS41cmVtIDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY29sb3I6ICMwMDVkNTA7XG59XG51bCwgb2wge1xuICBtYXJnaW46IDEuNXJlbSAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG59XG5cbmltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyogQmVnaW4gYnV0dG9uIHN0eWxlcyAqL1xuYnV0dG9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyogRW5kIGJ1dHRvbiBzdHlsZXMgKi9cbmJsb2NrcXVvdGUge1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkICMwMDAwMDA7XG4gIG1hcmdpbjogMS41ZW0gMTBweDtcbiAgcGFkZGluZzogMC41ZW0gMzBweDtcbiAgcXVvdGVzOiBcIuKAnFwiO1xufVxuYmxvY2txdW90ZTpiZWZvcmUge1xuICBjb2xvcjogI2NjYztcbiAgY29udGVudDogb3Blbi1xdW90ZTtcbiAgZm9udC1zaXplOiA0ZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjFlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1ZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtMC40ZW07XG59XG5ibG9ja3F1b3RlIHAge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbmJsb2NrcXVvdGUgcDpmaXJzdC1vZi10eXBlLCBibG9ja3F1b3RlIHA6bnRoLW9mLXR5cGUoMikge1xuICBmb250LXNpemU6IDEuM3JlbTtcbn1cblxuLyoqXG4gICogSEVBREVSIFNUWUxFU1xuICAqL1xuLmhlYWRlci13cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZ3JpZC1yb3ctc3RhcnQ6IDE7XG4gIGdyaWQtcm93LWVuZDogMjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDk5OTk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXMsIGJvcmRlciAyMDBtcywgYm94LXNoYWRvdyAyMDBtcztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNWQ1MDtcbn1cbi5oZWFkZXItb3ZlcmxheSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1ZDUwO1xuICBvcGFjaXR5OiAwLjc7XG59XG4uaGVhZGVyLW92ZXJsYXkuYmctdmlzaWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDVkNTA7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi50b3AtYmFyLWJnIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDVweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDY7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXM7XG59XG4udG9wLWJhci1iZy5iZy12aXNpYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNWQ1MDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudG9wLWJhci1iZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLmhlYWRlciB7XG4gIGhlaWdodDogOTBweDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogOTBweCBhdXRvO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zO1xufVxuLmhlYWRlci5iZy12aXNpYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNWQ1MDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyIHtcbiAgICBoZWlnaHQ6IDE2NXB4O1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogMTIwcHggNzBweDtcbiAgfVxufVxuXG4uaGVhZGVyLWJyYW5kIHtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBoZWlnaHQ6IDkwcHg7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gMTtcbiAgZ3JpZC1yb3c6IDEvc3BhbiAxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhlYWRlci1icmFuZCB7XG4gICAgcGFkZGluZy1yaWdodDogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItYnJhbmQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGVhZGVyLWJyYW5kIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oZWFkZXItYnJhbmQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaGVhZGVyLWJyYW5kIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLWJyYW5kIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGVhZGVyLWJyYW5kIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhlYWRlci1icmFuZCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1icmFuZCB7XG4gICAgaGVpZ2h0OiAxNjVweDtcbiAgICBwYWRkaW5nLXRvcDogMzMuNzVweDtcbiAgfVxufVxuLmhlYWRlci1icmFuZCBhIHtcbiAgaGVpZ2h0OiA5MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItYnJhbmQgYSB7XG4gICAgaGVpZ2h0OiA3NXB4O1xuICAgIGhlaWdodDogOTcuNXB4O1xuICB9XG59XG4uaGVhZGVyLWJyYW5kIGEgLmxvZ28taW1hZ2Uge1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiAzNXB4O1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmc6IDAgMCAwIDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1icmFuZCBhIC5sb2dvLWltYWdlIHtcbiAgICBoZWlnaHQ6IDk3LjVweDtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgfVxufVxuLmhlYWRlci1icmFuZCBhIC5sb2dvLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICNlNGUyZGM7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhlYWRlci1icmFuZCBhIC5sb2dvLXRleHQge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cbn1cbi5oZWFkZXItYnJhbmQgYSAubG9nby10ZXh0IC5sb2dvLXRleHQtdGl0bGUge1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAwLjk7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi5oZWFkZXItYnJhbmQgYSAubG9nby10ZXh0IC5sb2dvLXRleHQtdGl0bGUgc3Bhbi5yZWdpc3RlcmVkIHtcbiAgZm9udC1zaXplOiAwLjdyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaGVhZGVyLWJyYW5kIGEgLmxvZ28tdGV4dCAubG9nby10ZXh0LXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgfVxuICAuaGVhZGVyLWJyYW5kIGEgLmxvZ28tdGV4dCAubG9nby10ZXh0LXRpdGxlIHNwYW4ucmVnaXN0ZXJlZCB7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gIH1cbn1cbi5oZWFkZXItYnJhbmQgYSAubG9nby10ZXh0IC5sb2dvLXRleHQtdGFnbGluZSB7XG4gIG1hcmdpbjogMTBweCBhdXRvIDAgYXV0bztcbiAgbGluZS1oZWlnaHQ6IDAuODtcbiAgZm9udC1zaXplOiAwLjZyZW07XG4gIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogI2U0ZTJkYztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaGVhZGVyLWJyYW5kIGEgLmxvZ28tdGV4dCAubG9nby10ZXh0LXRhZ2xpbmUge1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICB9XG59XG5cbi5oZWFkZXItbmF2IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgb3BhY2l0eTogMDtcbiAgbWluLWhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDkwcHg7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uaGVhZGVyLW5hdi5iZy12aXNpYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNWQ1MDtcbn1cbi5oZWFkZXItbmF2LnZpc2libGUge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIG9wYWNpdHk6IDE7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1uYXYge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiAxNjVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICB9XG4gIC5oZWFkZXItbmF2LnZpc2libGUge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uaGVhZGVyLW5hdi1tYWluIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICB0b3A6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICB6LWluZGV4OiA2O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLW5hdi1tYWluIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zbGF0ZTogMCAtMjIuNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaGVhZGVyLW5hdi1tYWluIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLW5hdi1tYWluIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGVhZGVyLW5hdi1tYWluIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhlYWRlci1uYXYtbWFpbiB7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhlYWRlci1uYXYtbWFpbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLW5hdi1tYWluIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZWFkZXItbmF2LW1haW4ge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oZWFkZXItbmF2LW1haW4ge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgfVxufVxuLmhlYWRlci1uYXYtbWFpbiB1bCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTQ1cHgpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItbmF2LW1haW4gdWwge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogNDVweDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGJvcmRlci10b3A6IHVuc2V0O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cbi5oZWFkZXItbmF2LW1haW4gdWwgbGkge1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBib3JkZXItdG9wOiB1bnNldDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1ZDUwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItbmF2LW1haW4gdWwgbGkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgbWluLWhlaWdodDogNDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcbiAgICBib3JkZXItYm90dG9tOiB1bnNldDtcbiAgICB0cmFuc2l0aW9uOiBkaXNwbGF5IDMwMG1zO1xuICB9XG4gIC5oZWFkZXItbmF2LW1haW4gdWwgbGk6aG92ZXIgPiB1bCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmhlYWRlci1uYXYtbWFpbiB1bCBsaTpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG4uaGVhZGVyLW5hdi1tYWluIHVsIGxpIGEge1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiA0NXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4LWdyb3c6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLmhlYWRlci1uYXYtbWFpbiB1bCBsaSBhOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U0ZTJkYztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDIwcHg7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1uYXYtbWFpbiB1bCBsaSBhOjphZnRlciB7XG4gICAgYm90dG9tOiA5cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLW5hdi1tYWluIHVsIGxpIGEge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogNDVweDtcbiAgICBib3JkZXItYm90dG9tOiB1bnNldDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG4uaGVhZGVyLW5hdi1tYWluIHVsIGxpLmN1cnJlbnRfcGFnZV9pdGVtIGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uaGVhZGVyLW5hdi1tYWluIHVsIGxpIC5uYXYtY2hldnJvbiB7XG4gIHdpZHRoOiA0NXB4O1xuICBoZWlnaHQ6IDQ1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB6LWluZGV4OiAyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjZTRlMmRjO1xufVxuLmhlYWRlci1uYXYtbWFpbiB1bCBsaSAubmF2LWNoZXZyb246aG92ZXIge1xuICBjb2xvcjogI2I4YjJhMjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLW5hdi1tYWluIHVsIGxpIC5uYXYtY2hldnJvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLmhlYWRlci1uYXYtbWFpbiB1bCBsaSB1bCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLW5hdi1tYWluIHVsIGxpIHVsIHtcbiAgICBtaW4td2lkdGg6IDMyMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDQ1cHg7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1ZDUwO1xuICB9XG59XG4uaGVhZGVyLW5hdi1tYWluIHVsIGxpIHVsIGxpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDQ1cHg7XG4gIGhlaWdodDogYXV0bztcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1uYXYtbWFpbiB1bCBsaSB1bCBsaSB7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDEwMiwgMTAyLCAxMDIsIDAuMik7XG4gIH1cbiAgLmhlYWRlci1uYXYtbWFpbiB1bCBsaSB1bCBsaTpob3ZlciA+IHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uaGVhZGVyLW5hdi1tYWluIHVsIGxpIHVsIGxpIGEge1xuICBwYWRkaW5nLWxlZnQ6IDNlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItbmF2LW1haW4gdWwgbGkgdWwgbGkgYSB7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICB9XG59XG4uaGVhZGVyLW5hdi1tYWluIHVsIGxpIHVsIGxpIHVsIGxpIGEge1xuICBwYWRkaW5nLWxlZnQ6IDQuNWVtO1xufVxuLmhlYWRlci1uYXYtbWFpbiB1bCBsaSB1bCBsaSB1bCBsaSB1bCBsaSBhIHtcbiAgcGFkZGluZy1sZWZ0OiA2ZW07XG59XG5cbi8qXG4uaGVhZGVyLW5hdi10b3Age1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICB6LWluZGV4OiA2O1xuICBkaXNwbGF5OiBibG9jaztcbiAgY2xlYXI6IGJvdGg7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgQGluY2x1ZGUgcGFkLWhvcml6b250YWw7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkdG9wQmFySGVpZ2h0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogNjtcbiAgfVxuXG4gIHVsIHsgLy8gdG9wIG5hdlxuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBjb2x1bW4tZ2FwOiAzMHB4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogJHRvcEJhckhlaWdodDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7IC8vIFBhZGRpbmcgYWdhaW5zdCBoZWFkZXIgYnV0dG9ucyAoc2VhcmNoIGdsYXNzKVxuICAgICAgLy9mbGV4LWZsb3c6IHJvdztcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIGxpIHsgLy8gdG9wIG5hdlxuICAgICAgQGluY2x1ZGUgcGFkLWhvcml6b250YWw7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHVuc2V0O1xuICAgICAgfVxuXG4gICAgICBhIHsgLy8gdG9wIG5hdlxuICAgICAgICBoZWlnaHQ6ICR0b3BCYXJIZWlnaHQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICRicmFuZENvbG9yQ29udHJhc3Q7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTGF0bycsIHNhbnMtc2VyaWY7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6IGRhcmtlbigkYnJhbmRDb2xvckNvbnRyYXN0LCAyMCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuKi9cbi8qXG5saS5zbGlkZS1saW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDAyO1xuICBib3R0b206IC0xcHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDVweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDNweCAzcHggMCAwO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAzMDBtcywgbGVmdCAzMDBtcywgYmFja2dyb3VuZC1jb2xvciAxNTBtcztcblxuICAmOmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICYuaG92ZXItc3RhdGUge1xuICAgIC8vYm94LXNoYWRvdzogMCAwIDVweCAwcHggJGJsYWNrO1xuICB9XG59XG4qL1xuLmhlYWRlci1idXR0b25zIHtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogOTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiA2O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5oZWFkZXItYnV0dG9ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItYnV0dG9ucyB7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZWFkZXItYnV0dG9ucyB7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuaGVhZGVyLWJ1dHRvbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLWJ1dHRvbnMge1xuICAgIGhlaWdodDogNDVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmdsYXNzIHtcbiAgcGFkZGluZzogOHB4IDEwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRvcDogYXV0bztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZ2xhc3Mge1xuICAgIGhlaWdodDogNDVweDtcbiAgICBib3JkZXI6IHVuc2V0O1xuICB9XG59XG4uZ2xhc3MgaSB7XG4gIGNvbG9yOiAjZTRlMmRjO1xufVxuLmdsYXNzIGk6aG92ZXIge1xuICBjb2xvcjogI2I4YjJhMjtcbn1cbi5idXJnZXIge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZzogOHB4IDEwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMzQwcHgpIHtcbiAgLmJ1cmdlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYnVyZ2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uYnVyZ2VyIGkge1xuICBjb2xvcjogI2U0ZTJkYztcbn1cbi5idXJnZXIgaTpob3ZlciB7XG4gIGNvbG9yOiAjYjhiMmEyO1xufVxuXG4uaGVhZGVyLXNlYXJjaC13cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogOTBweDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNWQ1MDtcbiAgei1pbmRleDogNjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLXNlYXJjaC13cmFwIHtcbiAgICB0b3A6IDQ1cHg7XG4gICAgaGVpZ2h0OiA3NXB4O1xuICB9XG59XG4uaGVhZGVyLXNlYXJjaC13cmFwIC5zaXRlLXNlYXJjaCB7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaGVhZGVyLXNlYXJjaC13cmFwIC5zaXRlLXNlYXJjaCB7XG4gICAgcGFkZGluZy1yaWdodDogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItc2VhcmNoLXdyYXAgLnNpdGUtc2VhcmNoIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlYWRlci1zZWFyY2gtd3JhcCAuc2l0ZS1zZWFyY2gge1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhlYWRlci1zZWFyY2gtd3JhcCAuc2l0ZS1zZWFyY2gge1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaGVhZGVyLXNlYXJjaC13cmFwIC5zaXRlLXNlYXJjaCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1zZWFyY2gtd3JhcCAuc2l0ZS1zZWFyY2gge1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZWFkZXItc2VhcmNoLXdyYXAgLnNpdGUtc2VhcmNoIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmhlYWRlci1zZWFyY2gtd3JhcCAuc2l0ZS1zZWFyY2gge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgfVxufVxuXG4vKipcbiAgKiBTSVRFIFNFQVJDSCBGT1JNIFNUWUxFU1xuICAqL1xuLnNpdGUtc2VhcmNoIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiA0MHB4IDA7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDUwcHg7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbn1cblxuLnNlYXJjaC1xdWVyeSB7XG4gIGhlaWdodDogNTBweDtcbiAgcGFkZGluZzogMDtcbiAgZ3JpZC1jb2x1bW46IDEvc3BhbiAxO1xuICBncmlkLXJvdzogMTtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuLnNlYXJjaC1xdWVyeSBsYWJlbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMzBweDtcbiAgY29sb3I6ICNlNGUyZGM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBkaXNwbGF5OiBub25lO1xufVxuLnNlYXJjaC1xdWVyeSBpbnB1dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNTBweDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjZTRlMmRjO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7XG4gIGNvbG9yOiAjZTRlMmRjO1xufVxuXG4uc2VhcmNoLXN1Ym1pdCB7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIGdyaWQtY29sdW1uOiAyL3NwYW4gMTtcbiAgZ3JpZC1yb3c6IDE7XG4gIGFsaWduLXNlbGY6IHN0YXJ0O1xuICBjb2xvcjogIzAwNWQ1MDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNGUyZGM7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXM7XG59XG4uc2VhcmNoLXN1Ym1pdDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiOGIyYTI7XG59XG5cbi8qKlxuICAqIE1BSU4gUEFHRSBDT05URU5UIFNUWUxFU1xuICAqL1xuLm1haW4td3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGdyaWQtcm93LXN0YXJ0OiAyO1xuICBncmlkLXJvdy1lbmQ6IDM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNGUyZGM7XG59XG5cbi5tYWluIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucGFnZS1oZWFkZXItd3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDAgNXB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wYWdlLWhlYWRlci1vdmVybGF5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDVkNTA7XG4gIG9wYWNpdHk6IDAuNTtcbiAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBvdmVybGF5O1xufVxuLnBhZ2UtaGVhZGVyLW92ZXJsYXkuYmctdmlzaWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDVkNTA7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5wYWdlLWhlYWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFnZS1oZWFkZXIge1xuICAgIHBhZGRpbmctdG9wOiA0NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogNTVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWdlLWhlYWRlciB7XG4gICAgcGFkZGluZy10b3A6IDY1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZ2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWdlLWhlYWRlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDQ1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFnZS1oZWFkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA1NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZ2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFnZS1oZWFkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhZ2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZ2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWdlLWhlYWRlciB7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWdlLWhlYWRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2UtaGVhZGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFnZS1oZWFkZXIge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFnZS1oZWFkZXIge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgfVxufVxuXG4ucGFnZS1oZWFkZXItdGl0bGUgaDEge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtc2hhZG93OiAwIDAgMTVweCAjMDA1ZDUwO1xufVxuXG4ucGFnZS1oZWFkZXItdGV4dCBwIHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgZm9udC1zaXplOiAycmVtO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1zaGFkb3c6IDAgMCAxMHB4ICMwMDVkNTA7XG59XG5cbi5wYWdlLW1haW4td3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5wYWdlLW1haW4ge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLW1haW4ge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbiAgfVxufVxuXG4ucGFnZS1tYWluLnNpZGUge1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAwcHg7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLW1haW4uc2lkZSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMzIwcHg7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDBweDtcbiAgfVxufVxuXG4ucGFnZS1jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gMTtcbiAgZ3JpZC1yb3c6IDI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2UtY29udGVudCB7XG4gICAgZ3JpZC1jb2x1bW46IDEvc3BhbiAxO1xuICAgIGdyaWQtcm93OiAxO1xuICB9XG59XG5cbi5wYWdlLXNlY3Rpb24td3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5wYWdlLXNlY3Rpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFnZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2Utc2VjdGlvbiB7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWdlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZ2Utc2VjdGlvbiB7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWdlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctbGVmdDogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWdlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFnZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFnZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogNDVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctdG9wOiA1NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZ2Utc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDY1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZ2Utc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFnZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZ2Utc2VjdGlvbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDY1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZ2Utc2VjdGlvbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gIH1cbn1cblxuLnNpZGUgLnBhZ2UtY29udGVudCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNpZGUgLnBhZ2UtY29udGVudCB7XG4gICAgcGFkZGluZy1yaWdodDogMTAwcHg7XG4gIH1cbn1cblxuLnBhZ2Utc2lkZWJhciB7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICB3aWR0aDogMTAwJTtcbiAgZ3JpZC1jb2x1bW46IDEvc3BhbiAxO1xuICBncmlkLXJvdzogMTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFnZS1zaWRlYmFyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLXNpZGViYXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA1NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZ2Utc2lkZWJhciB7XG4gICAgcGFkZGluZy1ib3R0b206IDY1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZ2Utc2lkZWJhciB7XG4gICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFnZS1zaWRlYmFyIHtcbiAgICBncmlkLWNvbHVtbjogMi9zcGFuIDE7XG4gICAgZ3JpZC1yb3c6IDE7XG4gIH1cbn1cblxuLyoqXG4gICogRk9PVEVSIFNUWUxFU1xuICAqL1xuLmZvb3Rlci13cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZ3JpZC1yb3ctc3RhcnQ6IDM7XG4gIGdyaWQtcm93LWVuZDogNDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI1MjQyNTtcbn1cblxuLmZvb3RlciB7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAjZTRlMmRjO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwJSA1MCU7XG4gIGdyaWQtcm93czogYXV0byBhdXRvIGF1dG87XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmZvb3RlciB7XG4gICAgcGFkZGluZy10b3A6IDQ1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyIHtcbiAgICBwYWRkaW5nLXRvcDogNTVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5mb290ZXIge1xuICAgIHBhZGRpbmctdG9wOiA2NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5mb290ZXIge1xuICAgIHBhZGRpbmctdG9wOiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmZvb3RlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDQ1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5mb290ZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA2NXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5mb290ZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmZvb3RlciB7XG4gICAgcGFkZGluZy1yaWdodDogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb290ZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZm9vdGVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5mb290ZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuZm9vdGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDM1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZm9vdGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmZvb3RlciB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICB9XG59XG5cbi5mb290ZXItbmF2IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBncmlkLWNvbHVtbjogMS9zcGFuIDI7XG4gIGdyaWQtcm93OiAyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyLW5hdiB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZ3JpZC1jb2x1bW46IDIvc3BhbiAxO1xuICAgIGdyaWQtcm93OiAxL3NwYW4gMTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHJpZ2h0O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAuZm9vdGVyLW5hdiB7XG4gICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyLW5hdiB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZm9vdGVyLW5hdiB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmZvb3Rlci1uYXYge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgfVxufVxuLmZvb3Rlci1uYXYgdWwge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyLW5hdiB1bCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbn1cbi5mb290ZXItbmF2IHVsIGxpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDVweCAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKiY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwifFwiO1xuICAgIGNvbG9yOiAkYnJhbmRDb2xvckNvbnRyYXN0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IC0ycHg7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cbiAgfSovXG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvb3Rlci1uYXYgdWwgbGkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmZvb3Rlci1uYXYgdWwgbGk6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbi5mb290ZXItbmF2IHVsIGxpIGEge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogI2U0ZTJkYztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvb3Rlci1uYXYgdWwgbGkgYSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuXG4uZm9vdGVyLWJyYW5kIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gMjtcbiAgZ3JpZC1yb3c6IDEvc3BhbiAxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvb3Rlci1icmFuZCB7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGdyaWQtY29sdW1uOiAxL3NwYW4gMTtcbiAgICBncmlkLXJvdzogMS9zcGFuIDI7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5mb290ZXItYnJhbmQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDM1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb290ZXItYnJhbmQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5mb290ZXItYnJhbmQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZm9vdGVyLWJyYW5kIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG4uZm9vdGVyLWJyYW5kIGEge1xuICB3aWR0aDogMjYwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmZvb3Rlci1icmFuZCBhIC5mb290ZXItYnJhbmQtbG9nby1pbWFnZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW4tbGVmdDogLTEycHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5mb290ZXItYnJhbmQgYSAuZm9vdGVyLWJyYW5kLWxvZ28tdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb290ZXItYnJhbmQgYSAuZm9vdGVyLWJyYW5kLWxvZ28tdGV4dCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG59XG4uZm9vdGVyLWJyYW5kIGEgLmZvb3Rlci1icmFuZC1sb2dvLXRleHQgLmZvb3Rlci1icmFuZC1sb2dvLXRleHQtdGl0bGUge1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xufVxuLmZvb3Rlci1icmFuZCBhIC5mb290ZXItYnJhbmQtbG9nby10ZXh0IC5mb290ZXItYnJhbmQtbG9nby10ZXh0LXRpdGxlIHNwYW4ucmVnaXN0ZXJlZCB7XG4gIGZvbnQtc2l6ZTogMC43cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmZvb3Rlci1icmFuZCBhIC5mb290ZXItYnJhbmQtbG9nby10ZXh0IC5mb290ZXItYnJhbmQtbG9nby10ZXh0LXRpdGxlIHNwYW4ucmVnaXN0ZXJlZCB7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gIH1cbn1cbi5mb290ZXItYnJhbmQgYSAuZm9vdGVyLWJyYW5kLWxvZ28tdGV4dCAuZm9vdGVyLWJyYW5kLWxvZ28tdGV4dC10YWdsaW5lIHtcbiAgbWFyZ2luOiAxMHB4IGF1dG8gMCBhdXRvO1xuICBsaW5lLWhlaWdodDogMC44O1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLmNvcHlyaWdodCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMjBweCAwIDAgMDtcbiAgZ3JpZC1jb2x1bW46IDEvc3BhbiAyO1xuICBncmlkLXJvdzogMztcbiAgZm9udC1zaXplOiAxMHB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvcHlyaWdodCB7XG4gICAgcGFkZGluZzogMCAwIDAgMDtcbiAgICBncmlkLXJvdzogMjtcbiAgICBncmlkLWNvbHVtbjogMi9zcGFuIDE7XG4gICAganVzdGlmeS1jb250ZW50OiByaWdodDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuXG4vKipcbiAgKiBNSVNDRUxMQU5FT1VTIFNUWUxFU1xuICAqL1xuLmVtYmVkLWNvbnRhaW5lci13cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogNTAwcHg7XG4gIG1hcmdpbjogMjBweCBhdXRvO1xufVxuXG4uZW1iZWQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmVtYmVkLWNvbnRhaW5lciBpZnJhbWUsXG4uZW1iZWQtY29udGFpbmVyIG9iamVjdCxcbi5lbWJlZC1jb250YWluZXIgZW1iZWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLm1heC13aWR0aC0yODBweCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDI4MHB4O1xufVxuXG4uZmxvYXQtcmlnaHQsXG4uYWxpZ25yaWdodCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMjBweDtcbiAgZmxvYXQ6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmZsb2F0LXJpZ2h0LFxuICAuYWxpZ25yaWdodCB7XG4gICAgcGFkZGluZzogMjBweCAwIDIwcHggMjBweDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbn0iLCIvKipcbiAgKiBERUZBVUxUIFNUWUxFU0hFRVRcbiAgKlxuICAqIFRoaXMgd2lsbCBiZSB1c2VkIHVubGVzcyBhIHBhZ2Ugc3BlY2lmaWNhbGx5IGNhbGxzIGEgZGlmZmVyZW50IHNoZWV0LlxuICAqL1xuXG5AaW1wb3J0ICdfY29tbW9uJzsgLy8gY29tbW9uIHN0eWxlc1xuIiwiLyoqXG4gICogQ09NTU9OIFNUWUxFU1xuICAqXG4gICogRGVmaW5lcyB0aGUgc3R5bGVzIHRvIGltcG9ydCB0aGF0IGFyZSByZXF1aXJlZCBieSB2aXJ0dWFsbHkgYWxsIHBhZ2VzLlxuICAqL1xuXG5cbi8vIGltcG9ydCBsaWJyYXJpZXM6XG5AaW1wb3J0ICdsaWJyYXJpZXMvX2luY2x1ZGUtbWVkaWEuc2Nzcyc7IC8vIFwiSW5jbHVkZS1NZWRpYVwiIG1lZGlhIHF1ZXJ5IGxpYnJhcnkgKHByb3ZpZGVzIGJyZWFrcG9pbnQgZnVuY3Rpb25hbGl0eSBmb3IgcmVzcG9uc2l2ZSBkZXNpZ24pXG5AaW1wb3J0ICdsaWJyYXJpZXMvX25vcm1hbGl6ZS5zY3NzJzsgICAgIC8vIFwiTm9ybWFsaXplXCIgY3NzIHJlc2V0IGxpYnJhcnlcblxuLy8gZ2xvYmFsIHN0eWxlcyBhbmQgZGVwZW5kZW5jaWVzOlxuQGltcG9ydCAncGFydGlhbHMvX2JyZWFrcG9pbnRzLm1vZHVsZXMnOyAgLy8gYnJlYWtwb2ludCBkZWZpbml0aW9ucyBmb3IgbWVkaWEgcXVlcnkgdXNlXG5AaW1wb3J0ICdwYXJ0aWFscy9fdmFyaWFibGVzJzsgICAgICAgICAgICAvLyBnZW5lcmFsIHZhcmlhYmxlIGRlZmluaXRpb25zIChjb2xvcnMsIGRpbWVuc2lvbnMsIGV0Yy4pXG5AaW1wb3J0ICdwYXJ0aWFscy9fZm9udHMnOyAgICAgICAgICAgICAgICAvLyBAZm9udC1mYWNlIGRlZmluaXRpb25zXG5AaW1wb3J0ICdwYXJ0aWFscy9fbWl4aW5zJzsgICAgICAgICAgICAgICAvLyBtaXhpbiBhbmQgYXNzb2NpYXRlZCBjbGFzcyBkZWZpbml0aW9uc1xuQGltcG9ydCAncGFydGlhbHMvX2VsZW1lbnRzJzsgICAgICAgICAgICAgLy8gZ2xvYmFsIGVsZW1lbnQgc2VsZWN0b3Igc3R5bGVzXG5AaW1wb3J0ICdwYXJ0aWFscy9faGVhZGVyJzsgICAgICAgICAgICAgICAvLyBoZWFkZXIgc3R5bGVzXG5AaW1wb3J0ICdwYXJ0aWFscy9fc2VhcmNoZm9ybSc7ICAgICAgICAgICAvLyBzZWFyY2ggZm9ybSBzdHlsZXNcbkBpbXBvcnQgJ3BhcnRpYWxzL19tYWluJzsgICAgICAgICAgICAgICAgIC8vIG1haW4gcGFnZSBjb250ZW50IHN0eWxlc1xuQGltcG9ydCAncGFydGlhbHMvX2Zvb3Rlcic7ICAgICAgICAgICAgICAgLy8gZm9vdGVyIHN0eWxlc1xuQGltcG9ydCAncGFydGlhbHMvX21pc2MnOyAgICAgICAgICAgICAgICAgLy8gbWlzYy4gc3R5bGVzICh0eXBpY2FsbHkgY2xhc3NlcyB0aGF0IGFyZSB1c2FibGUgaW4gY29udGVudCwgYnV0IG5vdCBpbmhlcmVudCB0byB0aGUgc2l0ZSBzdHJ1Y3R1cmUpXG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLyoqXG4gICogU0NTUyBCUkVBS1BPSU5UU1xuICAqXG4gICogRGVmaW5lIGJyZWFrcG9pbnRzIGZvciBtZWRpYSBxdWVyeSB1c2UgYW5kIGV4cG9ydCB0aGVtIGZvciB1c2Ugd2l0aCBKUy5cbiAgKi9cblxuXG4vLyBEZWZpbmUgYnJlYWtwb2ludHMgaGVyZSAoaW4gcGl4ZWxzKTpcbiRicmVha3BvaW50LXBob25lLXNtYWxsOiAgICAzMjA7XG4kYnJlYWtwb2ludC1waG9uZS1sYXJnZTogICAgNDgwO1xuJGJyZWFrcG9pbnQtdGFibGV0OiAgICAgICAgIDc2ODtcbiRicmVha3BvaW50LWxhcHRvcDogICAgICAgICA5OTI7XG4kYnJlYWtwb2ludC1kZXNrdG9wOiAgICAgICAxMjAwO1xuJGJyZWFrcG9pbnQtZGVza3RvcC1sYXJnZTogMTQwMDtcbiRicmVha3BvaW50LWhkOiAgICAgICAgICAgIDE5MjA7XG5cbi8vIEZvcm1hdCBicmVha3BvaW50IGRlZmluaXRpb25zIGZvciB1c2Ugd2l0aCBpbmNsdWRlLW1lZGlhLnNjc3MgbGlicmFyeTpcbiRicmVha3BvaW50czogKFxuICAncGhvbmUtc21hbGwnOiAgICRicmVha3BvaW50LXBob25lLXNtYWxsICogMXB4LFxuICAncGhvbmUtbGFyZ2UnOiAgICRicmVha3BvaW50LXBob25lLWxhcmdlICogMXB4LFxuICAndGFibGV0JzogICAgICAgICRicmVha3BvaW50LXRhYmxldCAqIDFweCxcbiAgJ2xhcHRvcCc6ICAgICAgICAkYnJlYWtwb2ludC1sYXB0b3AgKiAxcHgsXG4gICdkZXNrdG9wJzogICAgICAgJGJyZWFrcG9pbnQtZGVza3RvcCAqIDFweCxcbiAgJ2Rlc2t0b3AtbGFyZ2UnOiAkYnJlYWtwb2ludC1kZXNrdG9wLWxhcmdlICogMXB4LFxuICAnaGQnOiAgICAgICAgICAgICRicmVha3BvaW50LWhkICogMXB4XG4pO1xuXG4vLyBFeHBvcnQgYnJlYWtwb2ludCBkZWZpbml0aW9ucyBmb3IgSlMgdXNlOlxuOmV4cG9ydCB7XG4gIGJyZWFrcG9pbnRQaG9uZVNtYWxsOiAkYnJlYWtwb2ludC1waG9uZS1zbWFsbDtcbiAgYnJlYWtwb2ludFBob25lTGFyZ2U6ICRicmVha3BvaW50LXBob25lLWxhcmdlO1xuICBicmVha3BvaW50VGFibGV0OiAkYnJlYWtwb2ludC10YWJsZXQ7XG4gIGJyZWFrcG9pbnRMYXB0b3A6ICRicmVha3BvaW50LWxhcHRvcDtcbiAgYnJlYWtwb2ludERlc2t0b3A6ICRicmVha3BvaW50LWRlc2t0b3A7XG4gIGJyZWFrcG9pbnREZXNrdG9wTGFyZ2U6ICRicmVha3BvaW50LWRlc2t0b3AtbGFyZ2U7XG4gIGJyZWFrcG9pbnRIZDogJGJyZWFrcG9pbnQtaGQ7XG59XG4iLCIvKipcbiAgKiBTQ1NTIFZBUklBQkxFU1xuICAqL1xuXG5cbi8qKlxuICAqIERpbWVuc2lvbnM6XG4gICovXG5cbiRzaXRlV2lkdGg6IDEyMDBweDsgLy8gTWF4IHdpZHRoIG9mIHNpdGUncyBjb250ZW50IGNvbnRhaW5lcnNcblxuLy8gSGVhZGVyIGhlaWdodHM6XG4kaGVhZGVySGVpZ2h0TW9iaWxlOiA5MHB4OyAvLyBIZWlnaHQgb2YgaGVhZGVyIG9uIG1vYmlsZSBzaXplc1xuJGhlYWRlckhlaWdodERlc2t0b3A6IDEyMHB4OyAvLyBIZWlnaHQgb2YgaGVhZGVyIG9uIGRlc2t0b3Agc2l6ZXNcbiR0b3BCYXJIZWlnaHQ6IDQ1cHg7IC8vNDVweDsgLy8gSGVpZ2h0IG9mIHRvcCBuYXYsIG1haW4gbmF2IHN1YiBtZW51IGl0ZW1zIGFuZCBtYWluIG5hdiBtb2JpbGUgbWVudSBpdGVtc1xuJG1haW5OYXZIZWlnaHQ6IDQ1cHg7IC8vNDVweDsgLy8gSGVpZ2h0IG9mIGZpcnN0LWxldmVsIG1haW4gbWVudSBpdGVtcyAoZGVza3RvcClcblxuLy8gU3RhbmRhcmRpemVkIHNpZGUgcGFkZGluZzpcbiRjb250YWluZXJQYWRkaW5nTW9iaWxlOiAzMHB4O1xuJGNvbnRhaW5lclBhZGRpbmdQaG9uZUxhcmdlOiAzNXB4O1xuJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQ6IDQwcHg7XG4kY29udGFpbmVyUGFkZGluZ0xhcHRvcDogNjBweDtcbiRjb250YWluZXJQYWRkaW5nRGVza3RvcDogODBweDtcblxuLy8gU3RhbmRhcmRpemVkIHRvcCBhbmQgYm90dG9tIHBhZGRpbmc6XG4kc3BhY2VyUGFkZGluZ01vYmlsZTogNDBweDsgLy8yMHB4O1xuJHNwYWNlclBhZGRpbmdQaG9uZUxhcmdlOiA0NXB4OyAvLzI1cHg7XG4kc3BhY2VyUGFkZGluZ1RhYmxldDogNTVweDsgLy80MHB4O1xuJHNwYWNlclBhZGRpbmdMYXB0b3A6IDY1cHg7IC8vNTBweDtcbiRzcGFjZXJQYWRkaW5nRGVza3RvcDogODBweDtcblxuXG4vKipcbiAgKiBDb2xvcnM6XG4gICovXG5cbi8vIEh1ZSBkZWZpbml0aW9uczpcbiRncmVlbjogICMwMDVkNTA7IC8vIE5ld3RvbiBTdC4gZGFyayBncmVlblxuJGNyZWFtOiAgI2U0ZTJkYzsgLy8gTmV3dG9uIFN0LiBpdm9yeVxuJG9yYW5nZTogI2Y0ODEyMDsgLy8gTmV3dG9uIFN0LiBvcmFuZ2VcbiRsaWdodEdyZWVuOiAjODhjNjY1OyAvLyBOZXd0b24gU3QuIGxpZ2h0IGdyZWVuXG4kYmx1ZTogIzI3YmVkMDsgLy8gTmV3dG9uIFN0LiBibHVlXG5cbi8vIEdyYXlzY2FsZSBkZWZpbml0aW9uczpcbiR3aGl0ZTogICNmZmZmZmY7XG4kZ3JheTogICAjODg4ODg4O1xuJGJsYWNrOiAgIzAwMDAwMDtcbiRvZmZXaGl0ZTogI2ZlZmVmZTtcbiRsaWdodGVzdEdyYXk6ICNmOWY5Zjk7XG4kbGlnaHRlckdyYXk6ICNmMmYyZjI7XG4kbGlnaHRHcmF5OiAjZTJlMmUyO1xuJG1lZGl1bUdyYXk6ICNlMGUwZTA7XG4kZGFya0dyYXk6ICM5OTk7XG4kZGFya2VyR3JheTogIzY2NjtcbiRkYXJrZXN0R3JheTogIzI1MjQyNTsgLy8gTmV3dG9uIFN0LiBkYXJrIGdyYXlcblxuJGJyYW5kQ29sb3JQcmltYXJ5OiAkZ3JlZW47IC8vIFByaW1hcnkgY29sb3Igb2YgYnJhbmRcbiRicmFuZENvbG9yQ29udHJhc3Q6ICRjcmVhbTsgLy8gQ29sb3IgdGhhdCBjb250cmFzdHMgd2VsbCB3aXRoIGJyYW5kIGNvbG9yIChvZnRlbiB1c2VkIGZvciB0ZXh0IG9uIHRvcCBvZiBicmFuZCBjb2xvcilcblxuLy8gR2xvYmFsIGFzc2lnbm1lbnRzOlxuJGJvZHlDb2xvcjogJGJyYW5kQ29sb3JDb250cmFzdDsgLy8gQm9keSBiYWNrZ3JvdW5kIGNvbG9yXG4kY29udGVudENvbG9yOiAkYnJhbmRDb2xvckNvbnRyYXN0OyAvLyBQYWdlIGNvbnRlbnQgYmFja2dyb3VuZCBjb2xvclxuJGZvbnRDb2xvcjogJGJyYW5kQ29sb3JQcmltYXJ5OyAvLyBEZWZhdWx0IGZvbnQgY29sb3JcbiRsaW5rQ29sb3I6ICRicmFuZENvbG9yUHJpbWFyeTsgLy8gRGVmYXVsdCBsaW5rIGNvbG9yXG4kYnV0dG9uQ29sb3I6ICRicmFuZENvbG9yUHJpbWFyeTsgLy8gRGVmYXVsdCBidXR0b24gY29sb3JcbiIsIi8qKlxuICAqIEZPTlQgU1RZTEVTXG4gICpcbiAgKiBEZWZpbmUgQGZvbnQtZmFjZSBzdHlsZXMuXG4gICovXG5cblxuLy8gTGF0by1UaGluLnR0ZjpcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTGF0bztcbiAgc3JjOiB1cmwoLi4vZm9udHMvTGF0by1UaGluLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi8vIExhdG8tVGhpbkl0YWxpYy50dGY6XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IExhdG87XG4gIHNyYzogdXJsKC4uL2ZvbnRzL0xhdG8tVGhpbkl0YWxpYy50dGYpO1xuICBmb250LXdlaWdodDogMTAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG4vLyBMYXRvLUxpZ2h0LnR0ZjpcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTGF0bztcbiAgc3JjOiB1cmwoLi4vZm9udHMvTGF0by1MaWdodC50dGYpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4vLyBMYXRvLUxpZ2h0SXRhbGljLnR0ZjpcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTGF0bztcbiAgc3JjOiB1cmwoLi4vZm9udHMvTGF0by1MaWdodEl0YWxpYy50dGYpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG4vLyBMYXRvLVJlZ3VsYXIudHRmOlxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBMYXRvO1xuICBzcmM6IHVybCguLi9mb250cy9MYXRvLVJlZ3VsYXIudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLy8gTGF0by1JdGFsaWMudHRmOlxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBMYXRvO1xuICBzcmM6IHVybCguLi9mb250cy9MYXRvLUl0YWxpYy50dGYpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG4vLyBMYXRvLUJvbGQudHRmOlxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBMYXRvO1xuICBzcmM6IHVybCguLi9mb250cy9MYXRvLUJvbGQudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuLy8gTGF0by1Cb2xkSXRhbGljLnR0ZjpcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTGF0bztcbiAgc3JjOiB1cmwoLi4vZm9udHMvTGF0by1Cb2xkSXRhbGljLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbi8vIExhdG8tQmxhY2sudHRmOlxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBMYXRvO1xuICBzcmM6IHVybCguLi9mb250cy9MYXRvLUJsYWNrLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi8vIExhdG8tQmxhY2tJdGFsaWMudHRmOlxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBMYXRvO1xuICBzcmM6IHVybCguLi9mb250cy9MYXRvLUJsYWNrSXRhbGljLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLy8gTWVycml3ZWF0aGVyLUxpZ2h0LnR0ZlxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBNZXJyaXdlYXRoZXI7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL01lcnJpd2VhdGhlci1MaWdodC50dGYpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4vLyBNZXJyaXdlYXRoZXItTGlnaHRJdGFsaWMudHRmXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE1lcnJpd2VhdGhlcjtcbiAgc3JjOiB1cmwoLi4vZm9udHMvTWVycml3ZWF0aGVyLUxpZ2h0SXRhbGljLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cbi8vIE1lcnJpd2VhdGhlci1SZWd1bGFyLnR0ZlxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBNZXJyaXdlYXRoZXI7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL01lcnJpd2VhdGhlci1SZWd1bGFyLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi8vIE1lcnJpd2VhdGhlci1JdGFsaWMudHRmXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE1lcnJpd2VhdGhlcjtcbiAgc3JjOiB1cmwoLi4vZm9udHMvTWVycml3ZWF0aGVyLUl0YWxpYy50dGYpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG4vLyBNZXJyaXdlYXRoZXItQm9sZC50dGZcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTWVycml3ZWF0aGVyO1xuICBzcmM6IHVybCguLi9mb250cy9NZXJyaXdlYXRoZXItQm9sZC50dGYpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG4vLyBNZXJyaXdlYXRoZXItQm9sZEl0YWxpYy50dGZcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTWVycml3ZWF0aGVyO1xuICBzcmM6IHVybCguLi9mb250cy9NZXJyaXdlYXRoZXItQm9sZEl0YWxpYy50dGYpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG4vLyBNZXJyaXdlYXRoZXItQmxhY2sudHRmXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE1lcnJpd2VhdGhlcjtcbiAgc3JjOiB1cmwoLi4vZm9udHMvTWVycml3ZWF0aGVyLUJsYWNrLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi8vIE1lcnJpd2VhdGhlci1CbGFja0l0YWxpYy50dGZcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTWVycml3ZWF0aGVyO1xuICBzcmM6IHVybCguLi9mb250cy9NZXJyaXdlYXRoZXItQmxhY2tJdGFsaWMudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuIiwiLyoqXHJcbiAgKiBTQ1NTIE1JWElOU1xyXG4gICpcclxuICAqIFN0YW5kYXJkaXplZCBzdHlsZSBjaHVua3MsIHByb3ZpZGVkIGFzIGJvdGggU0NTUyBtaXhpbnMgYW5kIEhUTUwgY2xhc3Nlcy5cclxuICAqL1xyXG5cclxuXHJcbkBtaXhpbiB3cmFwIHsgLy8gTWFyZ2luLWxlc3Mgd3JhcHBlclxyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogYXV0bztcclxufVxyXG4gIC53cmFwIHtcclxuICAgIEBpbmNsdWRlIHdyYXA7XHJcbiAgfVxyXG5cclxuQG1peGluIGlubmVyLXdyYXAgeyAvLyBXaWR0aC1saW1pdGVkLCBob3Jpem9udGFsbHkgY2VudGVyaW5nIHdyYXBwZXJcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtd2lkdGg6ICRzaXRlV2lkdGg7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuICAuaW5uZXItd3JhcCB7XHJcbiAgICBAaW5jbHVkZSBpbm5lci13cmFwO1xyXG4gIH1cclxuXHJcbkBtaXhpbiBtYXItdG9wIHsgLy8gU3RhbmRhcmRpemVkLCByZXNwb25zaXZlLCB0b3AtbWFyZ2luZWQgY29udGFpbmVyXHJcbiAgbWFyZ2luLXRvcDogJGNvbnRhaW5lclBhZGRpbmdNb2JpbGU7XHJcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xyXG4gICAgbWFyZ2luLXRvcDogJGNvbnRhaW5lclBhZGRpbmdQaG9uZUxhcmdlO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XHJcbiAgICBtYXJnaW4tdG9wOiAkY29udGFpbmVyUGFkZGluZ1RhYmxldDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xyXG4gICAgbWFyZ2luLXRvcDogJGNvbnRhaW5lclBhZGRpbmdMYXB0b3A7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XHJcbiAgICBtYXJnaW4tdG9wOiAkY29udGFpbmVyUGFkZGluZ0Rlc2t0b3A7XHJcbiAgfVxyXG59XHJcbiAgLm1hci10b3Age1xyXG4gICAgQGluY2x1ZGUgbWFyLXRvcDtcclxuICB9XHJcblxyXG5AbWl4aW4gbWFyLWJvdHRvbSB7IC8vIFN0YW5kYXJkaXplZCwgcmVzcG9uc2l2ZSwgYm90dG9tLW1hcmdpbmVkIGNvbnRhaW5lclxyXG4gIG1hcmdpbi1ib3R0b206ICRjb250YWluZXJQYWRkaW5nTW9iaWxlO1xyXG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcclxuICAgIG1hcmdpbi1ib3R0b206ICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQ7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcclxuICAgIG1hcmdpbi1ib3R0b206ICRjb250YWluZXJQYWRkaW5nTGFwdG9wO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGNvbnRhaW5lclBhZGRpbmdEZXNrdG9wO1xyXG4gIH1cclxufVxyXG4gIC5tYXItYm90dG9tIHtcclxuICAgIEBpbmNsdWRlIG1hci1ib3R0b207XHJcbiAgfVxyXG5cclxuQG1peGluIG1hci12ZXJ0aWNhbCB7IC8vIFN0YW5kYXJkaXplZCwgcmVzcG9uc2l2ZSwgdmVydGljYWxseS1tYXJnaW5lZCAoYm90aCB0b3AgYW5kIGJvdHRvbSkgY29udGFpbmVyXHJcbiAgQGluY2x1ZGUgbWFyLXRvcDtcclxuICBAaW5jbHVkZSBtYXItYm90dG9tO1xyXG59XHJcbiAgLm1hci12ZXJ0aWNhbCB7XHJcbiAgICBAaW5jbHVkZSBtYXItdmVydGljYWw7XHJcbiAgfVxyXG5cclxuQG1peGluIG1hci1yaWdodCB7IC8vIFN0YW5kYXJkaXplZCwgcmVzcG9uc2l2ZSwgcmlnaHQtbWFyZ2luZWQgY29udGFpbmVyXHJcbiAgbWFyZ2luLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ01vYmlsZTtcclxuICB0cmFuc2l0aW9uOiBtYXJnaW4gMzAwbXM7XHJcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAkY29udGFpbmVyUGFkZGluZ01vYmlsZSk7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZTtcclxuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gJGNvbnRhaW5lclBhZGRpbmdQaG9uZUxhcmdlKTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ1RhYmxldDtcclxuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nTGFwdG9wO1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAkY29udGFpbmVyUGFkZGluZ0xhcHRvcCk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nRGVza3RvcDtcclxuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gJGNvbnRhaW5lclBhZGRpbmdEZXNrdG9wKTtcclxuICB9XHJcbn1cclxuICAubWFyLXJpZ2h0IHtcclxuICAgIEBpbmNsdWRlIG1hci1yaWdodDtcclxuICB9XHJcblxyXG5AbWl4aW4gbWFyLWxlZnQgeyAvLyBTdGFuZGFyZGl6ZWQsIHJlc3BvbnNpdmUsIGxlZnQtbWFyZ2luZWQgY29udGFpbmVyXHJcbiAgbWFyZ2luLWxlZnQ6ICRjb250YWluZXJQYWRkaW5nTW9iaWxlO1xyXG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcclxuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICRjb250YWluZXJQYWRkaW5nTW9iaWxlKTtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2U7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZSk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ1RhYmxldDtcclxuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogJGNvbnRhaW5lclBhZGRpbmdMYXB0b3A7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICRjb250YWluZXJQYWRkaW5nTGFwdG9wKTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ0Rlc2t0b3A7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICRjb250YWluZXJQYWRkaW5nRGVza3RvcCk7XHJcbiAgfVxyXG59XHJcbiAgLm1hci1sZWZ0IHtcclxuICAgIEBpbmNsdWRlIG1hci1sZWZ0O1xyXG4gIH1cclxuXHJcbkBtaXhpbiBtYXItaG9yaXpvbnRhbCB7IC8vIFN0YW5kYXJkaXplZCwgcmVzcG9uc2l2ZSwgaG9yaXpvbnRhbGx5IHBhZGRlZCAoYm90aCBsZWZ0IGFuZCByaWdodCkgY29udGFpbmVyXHJcbiAgbWFyZ2luLWxlZnQ6ICRjb250YWluZXJQYWRkaW5nTW9iaWxlO1xyXG4gIG1hcmdpbi1yaWdodDogJGNvbnRhaW5lclBhZGRpbmdNb2JpbGU7XHJcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xyXG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gKDIgKiAkY29udGFpbmVyUGFkZGluZ01vYmlsZSkpO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xyXG4gICAgbWFyZ2luLWxlZnQ6ICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZTtcclxuICAgIG1hcmdpbi1yaWdodDogJGNvbnRhaW5lclBhZGRpbmdQaG9uZUxhcmdlO1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAoMiAqICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZSkpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQ7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nVGFibGV0O1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAoMiAqICRjb250YWluZXJQYWRkaW5nVGFibGV0KSk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ0xhcHRvcDtcclxuICAgIG1hcmdpbi1yaWdodDogJGNvbnRhaW5lclBhZGRpbmdMYXB0b3A7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICgyICogJGNvbnRhaW5lclBhZGRpbmdMYXB0b3ApKTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ0Rlc2t0b3A7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nRGVza3RvcDtcclxuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gKDIgKiAkY29udGFpbmVyUGFkZGluZ0Rlc2t0b3ApKTtcclxuICB9XHJcbn1cclxuICAubWFyLWhvcml6b250YWwge1xyXG4gICAgQGluY2x1ZGUgbWFyLWhvcml6b250YWw7XHJcbiAgfVxyXG5cclxuQG1peGluIG1hci1yaWdodC1uZWdhdGl2ZSB7IC8vIFN0YW5kYXJkaXplZCwgcmVzcG9uc2l2ZSwgbmVnYXRpdmUgcmlnaHQtbWFyZ2luZWQgY29udGFpbmVyXHJcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogJGNvbnRhaW5lclBhZGRpbmdNb2JpbGUpO1xyXG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcclxuICAvL3dpZHRoOiBjYWxjKDEwMCUgKyAkY29udGFpbmVyUGFkZGluZ01vYmlsZSk7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2UpO1xyXG4gICAgLy93aWR0aDogY2FsYygxMDAlICsgJGNvbnRhaW5lclBhZGRpbmdQaG9uZUxhcmdlKTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQpO1xyXG4gICAgLy93aWR0aDogY2FsYygxMDAlICsgJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiAkY29udGFpbmVyUGFkZGluZ0xhcHRvcCk7XHJcbiAgICAvL3dpZHRoOiBjYWxjKDEwMCUgKyAkY29udGFpbmVyUGFkZGluZ0xhcHRvcCk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiAkY29udGFpbmVyUGFkZGluZ0Rlc2t0b3ApO1xyXG4gICAgLy93aWR0aDogY2FsYygxMDAlICsgJGNvbnRhaW5lclBhZGRpbmdEZXNrdG9wKTtcclxuICB9XHJcbn1cclxuICAubWFyLXJpZ2h0LW5lZ2F0aXZlIHtcclxuICAgIEBpbmNsdWRlIG1hci1yaWdodC1uZWdhdGl2ZTtcclxuICB9XHJcblxyXG5AbWl4aW4gbWFyLWxlZnQtbmVnYXRpdmUgeyAvLyBTdGFuZGFyZGl6ZWQsIHJlc3BvbnNpdmUsIG5lZ2F0aXZlIGxlZnQtbWFyZ2luZWQgY29udGFpbmVyXHJcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiAkY29udGFpbmVyUGFkZGluZ01vYmlsZSk7XHJcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xyXG4gIC8vd2lkdGg6IGNhbGMoMTAwJSArICRjb250YWluZXJQYWRkaW5nTW9iaWxlKTtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogJGNvbnRhaW5lclBhZGRpbmdQaG9uZUxhcmdlKTtcclxuICAgIC8vd2lkdGg6IGNhbGMoMTAwJSArICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZSk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQpO1xyXG4gICAgLy93aWR0aDogY2FsYygxMDAlICsgJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqICRjb250YWluZXJQYWRkaW5nTGFwdG9wKTtcclxuICAgIC8vd2lkdGg6IGNhbGMoMTAwJSArICRjb250YWluZXJQYWRkaW5nTGFwdG9wKTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogJGNvbnRhaW5lclBhZGRpbmdEZXNrdG9wKTtcclxuICAgIC8vd2lkdGg6IGNhbGMoMTAwJSArICRjb250YWluZXJQYWRkaW5nRGVza3RvcCk7XHJcbiAgfVxyXG59XHJcbiAgLm1hci1sZWZ0LW5lZ2F0aXZlIHtcclxuICAgIEBpbmNsdWRlIG1hci1sZWZ0LW5lZ2F0aXZlO1xyXG4gIH1cclxuXHJcbkBtaXhpbiBtYXItaG9yaXpvbnRhbC1uZWdhdGl2ZSB7IC8vIFN0YW5kYXJkaXplZCwgcmVzcG9uc2l2ZSwgbmVnYXRpdmUgaG9yaXpvbnRhbGx5LW1hcmdpbmVkIChib3RoIGxlZnQgYW5kIHJpZ2h0KSBjb250YWluZXJcclxuICBtYXJnaW4tbGVmdDogY2FsYygtMSAqICRjb250YWluZXJQYWRkaW5nTW9iaWxlKTtcclxuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiAkY29udGFpbmVyUGFkZGluZ01vYmlsZSk7XHJcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xyXG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAoMiAqICRjb250YWluZXJQYWRkaW5nTW9iaWxlKSk7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZSk7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2UpO1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSArICgyICogJGNvbnRhaW5lclBhZGRpbmdQaG9uZUxhcmdlKSk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQpO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQpO1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSArICgyICogJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQpKTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xyXG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiAkY29udGFpbmVyUGFkZGluZ0xhcHRvcCk7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiAkY29udGFpbmVyUGFkZGluZ0xhcHRvcCk7XHJcbiAgICB3aWR0aDogY2FsYygxMDAlICsgKDIgKiAkY29udGFpbmVyUGFkZGluZ0xhcHRvcCkpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xyXG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiAkY29udGFpbmVyUGFkZGluZ0Rlc2t0b3ApO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogJGNvbnRhaW5lclBhZGRpbmdEZXNrdG9wKTtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAoMiAqICRjb250YWluZXJQYWRkaW5nRGVza3RvcCkpO1xyXG4gIH1cclxufVxyXG4gIC5tYXItaG9yaXpvbnRhbC1uZWdhdGl2ZSB7XHJcbiAgICBAaW5jbHVkZSBtYXItaG9yaXpvbnRhbC1uZWdhdGl2ZTtcclxuICB9XHJcblxyXG5AbWl4aW4gcGFkLXRvcCB7IC8vIFN0YW5kYXJkaXplZCwgcmVzcG9uc2l2ZSBzcGFjZXIgZm9yIGVsZW1lbnQgdG9wXHJcbiAgcGFkZGluZy10b3A6ICRzcGFjZXJQYWRkaW5nTW9iaWxlO1xyXG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNlclBhZGRpbmdQaG9uZUxhcmdlO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNlclBhZGRpbmdUYWJsZXQ7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcclxuICAgIHBhZGRpbmctdG9wOiAkc3BhY2VyUGFkZGluZ0xhcHRvcDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcclxuICAgIHBhZGRpbmctdG9wOiAkc3BhY2VyUGFkZGluZ0Rlc2t0b3A7XHJcbiAgfVxyXG59XHJcbiAgLnBhZC10b3Age1xyXG4gICAgQGluY2x1ZGUgcGFkLXRvcDtcclxuICB9XHJcblxyXG5AbWl4aW4gcGFkLWJvdHRvbSB7IC8vIFN0YW5kYXJkaXplZCwgcmVzcG9uc2l2ZSBzcGFjZXIgZm9yIGVsZW1lbnQgYm90dG9tXHJcbiAgcGFkZGluZy1ib3R0b206ICRzcGFjZXJQYWRkaW5nTW9iaWxlO1xyXG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNlclBhZGRpbmdQaG9uZUxhcmdlO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNlclBhZGRpbmdUYWJsZXQ7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2VyUGFkZGluZ0xhcHRvcDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2VyUGFkZGluZ0Rlc2t0b3A7XHJcbiAgfVxyXG59XHJcbiAgLnBhZC1ib3R0b20ge1xyXG4gICAgQGluY2x1ZGUgcGFkLWJvdHRvbTtcclxuICB9XHJcblxyXG5AbWl4aW4gcGFkLWxlZnQgeyAvLyBTdGFuZGFyZGl6ZWQsIHJlc3BvbnNpdmUsIGxlZnQtcGFkZGVkIGNvbnRhaW5lclxyXG4gIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lclBhZGRpbmdNb2JpbGU7XHJcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcclxuICAgIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lclBhZGRpbmdQaG9uZUxhcmdlO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXJQYWRkaW5nVGFibGV0O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXJQYWRkaW5nTGFwdG9wO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ0Rlc2t0b3A7XHJcbiAgfVxyXG59XHJcbiAgLnBhZC1sZWZ0IHtcclxuICAgIEBpbmNsdWRlIHBhZC1sZWZ0O1xyXG4gIH1cclxuXHJcbkBtaXhpbiBwYWQtcmlnaHQgeyAvLyBTdGFuZGFyZGl6ZWQsIHJlc3BvbnNpdmUsIHJpZ2h0LXBhZGRlZCBjb250YWluZXJcclxuICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ01vYmlsZTtcclxuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xyXG4gICAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lclBhZGRpbmdQaG9uZUxhcmdlO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ1RhYmxldDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xyXG4gICAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lclBhZGRpbmdMYXB0b3A7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ0Rlc2t0b3A7XHJcbiAgfVxyXG59XHJcbiAgLnBhZC1yaWdodCB7XHJcbiAgICBAaW5jbHVkZSBwYWQtcmlnaHQ7XHJcbiAgfVxyXG5cclxuQG1peGluIHBhZC12ZXJ0aWNhbCB7XHJcbiAgQGluY2x1ZGUgcGFkLXRvcDtcclxuICBAaW5jbHVkZSBwYWQtYm90dG9tO1xyXG59XHJcbiAgLnBhZC12ZXJ0aWNhbCB7IC8vIFN0YW5kYXJkaXplZCwgcmVzcG9uc2l2ZSB2ZXJ0aWNhbCAoYm90aCB0byBhbmQgYm90dG9tKSBzcGFjZXIgZm9yIGVsZW1lbnRcclxuICAgIEBpbmNsdWRlIHBhZC12ZXJ0aWNhbDtcclxuICB9XHJcblxyXG5AbWl4aW4gcGFkLWhvcml6b250YWwge1xyXG4gIEBpbmNsdWRlIHBhZC1yaWdodDtcclxuICBAaW5jbHVkZSBwYWQtbGVmdDtcclxufVxyXG4gIC5wYWQtaG9yaXpvbnRhbCB7IC8vIFN0YW5kYXJkaXplZCwgcmVzcG9uc2l2ZSwgaG9yaXpvbnRhbGx5IHBhZGRlZCAoYm90aCBsZWZ0IGFuZCByaWdodCkgY29udGFpbmVyXHJcbiAgICBAaW5jbHVkZSBwYWQtaG9yaXpvbnRhbDtcclxuICB9XHJcblxyXG5AbWl4aW4gYnV0dG9uIHsgLy8gU3RhbmRhcmRpemVkIGJ1dHRvblxyXG4gIG1hcmdpbjogMXJlbSAwO1xyXG4gIHBhZGRpbmc6IDEwcHggMTVweDtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbkNvbG9yO1xyXG4gIC8vdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgY29sb3I6ICR3aGl0ZTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gIC8vYm9yZGVyOiAycHggc29saWQgJGJyYW5kQ29sb3JDb250cmFzdDtcclxuXHJcbiAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRDb2xvclByaW1hcnkgIWltcG9ydGFudDtcclxuICAvL2JvcmRlci1yYWRpdXM6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRicmFuZENvbG9yUHJpbWFyeSwgNSUpICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcbiAgLmJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBidXR0b247XHJcbiAgfVxyXG5cclxuQG1peGluIHNjcmVlbi1yZWFkZXItdGV4dCB7IC8vIFZpc2libGUgdG8gc2NyZWVuIHJlYWRlcnMgb25seVxyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aWR0aDogMXB4O1xyXG4gIGhlaWdodDogMXB4O1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbWFyZ2luOiAtMXB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcclxuICBib3JkZXI6IDA7XHJcbn1cclxuICAuc2NyZWVuLXJlYWRlci10ZXh0IHtcclxuICAgIEBpbmNsdWRlIHNjcmVlbi1yZWFkZXItdGV4dDtcclxuICB9XHJcblxyXG5AbWl4aW4gbm8tc2Nyb2xsIHsgLy8gUmVtb3ZlIHNjcm9sbGFiaWxpdHkgZm9yIGVsZW1lbnRcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcbiAgLm5vLXNjcm9sbCB7XHJcbiAgICBAaW5jbHVkZSBuby1zY3JvbGw7XHJcbiAgfVxyXG5cclxuQG1peGluIGgxIHtcclxuICBmb250LXNpemU6IDNyZW07IC8vMi40cmVtO1xyXG4gIG1hcmdpbi10b3A6IDA7XHJcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcclxuICAvL3BhZGRpbmctYm90dG9tOiAzMHB4O1xyXG4gIC8vYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRicmFuZENvbG9yUHJpbWFyeTtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XHJcbiAgICBmb250LXNpemU6IDRyZW07XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gaDIge1xyXG4gIGZvbnQtc2l6ZTogMi40cmVtOyAvLzIuMnJlbTtcclxuICBtYXJnaW4tYm90dG9tOiAyLjFyZW07XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xyXG4gICAgZm9udC1zaXplOiAzcmVtO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGgzIHtcclxuICBmb250LXNpemU6IDEuOHJlbTtcclxuICBtYXJnaW4tYm90dG9tOiAxLjhyZW07XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xyXG4gICAgZm9udC1zaXplOiAyLjFyZW07XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gaDQge1xyXG4gIGZvbnQtc2l6ZTogMS42cmVtO1xyXG4gIG1hcmdpbi1ib3R0b206IDEuN3JlbTtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XHJcbiAgICBmb250LXNpemU6IDJyZW07XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gaDUge1xyXG4gIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gIG1hcmdpbi1ib3R0b206IDEuNnJlbTtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XHJcbiAgICBmb250LXNpemU6IDEuOXJlbTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBoNiB7XHJcbiAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xyXG4gIH1cclxufVxyXG5cclxuLmgxIHtcclxuICBAaW5jbHVkZSBoMTtcclxufVxyXG5cclxuLmgyIHtcclxuICBAaW5jbHVkZSBoMjtcclxufVxyXG5cclxuLmgzIHtcclxuICBAaW5jbHVkZSBoMztcclxufVxyXG5cclxuLmg0IHtcclxuICBAaW5jbHVkZSBoNDtcclxufVxyXG5cclxuLmg1IHtcclxuICBAaW5jbHVkZSBoNTtcclxufVxyXG5cclxuLmg2IHtcclxuICBAaW5jbHVkZSBoNjtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cclxuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxyXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cclxuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcclxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxyXG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxyXG4vL1xyXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xyXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuOVxyXG4vL1xyXG4vLyAgICAgICAgaHR0cHM6Ly9lZHVhcmRvYm91Y2FzLmdpdGh1Yi5pby9pbmNsdWRlLW1lZGlhXHJcbi8vXHJcbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxyXG4vLyAgICAgICAgICAgICAgICAgIEtpdHR5IEdpcmF1ZGVsIChAa2l0dHlnaXJhdWRlbClcclxuLy9cclxuLy8gICAgICBUaGlzIHByb2plY3QgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNSVQgbGljZW5zZVxyXG4vLy8vXHJcbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cclxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcclxuLy8vIEBhY2Nlc3MgcHVibGljXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxyXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcclxuLy8vXHJcbiRicmVha3BvaW50czogKFxyXG4gICdwaG9uZSc6IDMyMHB4LFxyXG4gICd0YWJsZXQnOiA3NjhweCxcclxuICAnZGVza3RvcCc6IDEwMjRweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxyXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxyXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxyXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXHJcbi8vLyAgKTtcclxuLy8vXHJcbiRtZWRpYS1leHByZXNzaW9uczogKFxyXG4gICdzY3JlZW4nOiAnc2NyZWVuJyxcclxuICAncHJpbnQnOiAncHJpbnQnLFxyXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXHJcbiAgJ2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxyXG4gICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXHJcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcclxuICAncmV0aW5hM3gnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknXHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8vXHJcbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2BcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxyXG4vLy9cclxuJHVuaXQtaW50ZXJ2YWxzOiAoXHJcbiAgJ3B4JzogMSxcclxuICAnZW0nOiAwLjAxLFxyXG4gICdyZW0nOiAwLjEsXHJcbiAgJyc6IDBcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXHJcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgLmZvbyB7XHJcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gIH1cclxuLy8vXHJcbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxyXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIC5mb28ge1xyXG4vLy8gICAgY29sb3I6IHRvbWF0bztcclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0JztcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBObyBvdXRwdXQgKi9cclxuLy8vXHJcbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcclxuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgIC5mb28ge1xyXG4vLy8gICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xyXG4vLy9cclxuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcclxuXHJcbi8vLy9cclxuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXHJcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxyXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcclxuLy8vXHJcbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcclxuICBAaWYgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xyXG4gICAgQGVycm9yICRtZXNzYWdlO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHdhcm4gJG1lc3NhZ2U7XHJcbiAgICAkXzogbm9vcCgpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkbWVzc2FnZTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxyXG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXHJcbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXHJcbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXHJcbi8vL1xyXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XHJcbiAgQGlmIGltLWxvZygkbWVzc2FnZSkge31cclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xyXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cclxuLy8vXHJcbkBmdW5jdGlvbiBub29wKCkge31cclxuXHJcbi8vL1xyXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcclxuLy8vXHJcbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XHJcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XHJcblxyXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xyXG4gICAgQGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHt9XHJcbiAgfVxyXG5cclxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcclxuICAgIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XHJcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XHJcbiAgICAgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xyXG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XHJcblxyXG4gICAgICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcclxuICAgICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkge1xyXG4gICAgICAgIEByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgbm90IGluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xyXG4gICAgICBAcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiB0cnVlO1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBQYXJzaW5nIGVuZ2luZVxyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xyXG4gIEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xyXG4gICAgQGlmIHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xyXG4gIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXHJcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXHJcbiAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcclxuICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXHJcbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcclxuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xyXG5cclxuICBAaWYgc3RyLWxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcclxuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkZGltZW5zaW9uO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcclxuICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcbiAgJHZhbHVlOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0ci1sZW5ndGgoJG9wZXJhdG9yKSk7XHJcblxyXG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xyXG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcclxuICB9IEBlbHNlIHtcclxuICAgICR2YWx1ZTogdG8tbnVtYmVyKCR2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAkaW50ZXJ2YWw6IG1hcC1nZXQoJHVuaXQtaW50ZXJ2YWxzLCB1bml0KCR2YWx1ZSkpO1xyXG5cclxuICBAaWYgbm90ICRpbnRlcnZhbCB7XHJcbiAgICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXHJcbiAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxyXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXHJcbiAgICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxyXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxyXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xyXG4gIH1cclxuXHJcbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xyXG4gICAgJHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XHJcbiAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcclxuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkdmFsdWU7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2VcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcclxuLy8vXHJcbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XHJcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxyXG4gIC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXHJcbiAgQGlmIG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcclxuICB9XHJcblxyXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xyXG4gICRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcclxuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG5cclxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcclxufVxyXG5cclxuLy8vXHJcbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXHJcbi8vL1xyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2VcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XHJcbi8vL1xyXG5AZnVuY3Rpb24gc2xpY2UoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGVuZ3RoKCRsaXN0KSkge1xyXG4gIEBpZiBsZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcclxuICAgIEByZXR1cm4gKCk7XHJcbiAgfVxyXG5cclxuICAkcmVzdWx0OiAoKTtcclxuXHJcbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xyXG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHJlc3VsdDtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcclxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn1cclxuLy8vXHJcbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XHJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XHJcbiAgICBAcmV0dXJuICR2YWx1ZTtcclxuICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XHJcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xyXG4gIH1cclxuXHJcbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XHJcbiAgJHJlc3VsdDogMDtcclxuICAkZGlnaXRzOiAwO1xyXG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcclxuICAkbnVtYmVyczogKCcwJzogMCwgJzEnOiAxLCAnMic6IDIsICczJzogMywgJzQnOiA0LCAnNSc6IDUsICc2JzogNiwgJzcnOiA3LCAnOCc6IDgsICc5JzogOSk7XHJcblxyXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxyXG4gIEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcclxuICAgICR2YWx1ZTogc3RyLXNsaWNlKCR2YWx1ZSwgMik7XHJcbiAgfVxyXG5cclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHZhbHVlKSB7XHJcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xyXG5cclxuICAgIEBpZiBub3QgKGluZGV4KG1hcC1rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcclxuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xyXG4gICAgICAkZGlnaXRzOiAxO1xyXG4gICAgfSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xyXG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XHJcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXHJcbi8vL1xyXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcclxuICAkdW5pdHM6ICgncHgnOiAxcHgsICdjbSc6IDFjbSwgJ21tJzogMW1tLCAnJSc6IDElLCAnY2gnOiAxY2gsICdwYyc6IDFwYywgJ2luJzogMWluLCAnZW0nOiAxZW0sICdyZW0nOiAxcmVtLCAncHQnOiAxcHQsICdleCc6IDFleCwgJ3Z3JzogMXZ3LCAndmgnOiAxdmgsICd2bWluJzogMXZtaW4sICd2bWF4JzogMXZtYXgpO1xyXG5cclxuICBAaWYgbm90IGluZGV4KG1hcC1rZXlzKCR1bml0cyksICR1bml0KSB7XHJcbiAgICAkXzogaW0tbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHZhbHVlICogbWFwLWdldCgkdW5pdHMsICR1bml0KTtcclxufVxyXG5cclxuLy8vXHJcbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2ZcclxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcclxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxyXG4vLy8gZm9yIGluc3RhbmNlLlxyXG4vLy9cclxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcclxuLy8vXHJcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2BcclxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcclxuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xyXG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcclxuXHJcbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XHJcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAtbWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XHJcblxyXG4gIEBjb250ZW50O1xyXG5cclxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XHJcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXHJcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXHJcbi8vLyBAYWNjZXNzIHB1YmxpY1xyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cclxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XHJcbi8vL1xyXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcclxuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXHJcbiAgICAgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKSB7XHJcbiAgICBAY29udGVudDtcclxuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcclxuICAgIEBtZWRpYSAje3VucXVvdGUocGFyc2UtZXhwcmVzc2lvbihudGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcclxuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLyoqXG4gICogSFRNTCBFTEVNRU5UIFNUWUxFU1xuICAqXG4gICogU3R5bGUgZGVmaW5pdGlvbnMgZm9yIGdsb2JhbCBlbGVtZW50IHNlbGVjdG9ycy5cbiAgKi9cblxuXG4qIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gQ29uc2lzdGVudCBib3gtc2l6aW5nIGZvciBhbGwgZWxlbWVudHNcbn1cblxuaHRtbCB7XG4gIGhlaWdodDogMTAwJTsgLy8gRm9yIHN0aWNreSBmb290ZXJcbiAgbGluZS1oZWlnaHQ6IDEuNzsgLy8gU2V0IGRlZmF1bHQgbGluZSBoZWlnaHRcbiAgZm9udC1zaXplOiA2Mi41JTsgLy8gNjIuNSUgb2YgMTZweCBicm93c2VyIGZvbnQgc2l6ZSBpcyAxMHB4XG59XG5cbmJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDAlOyAvLyBGb3Igc3RpY2t5IGZvb3RlclxuICBtYXJnaW46IDA7IC8vIE1ha2Ugc3VyZSBib2R5IGVsZW1lbnQgaXMgZWRnZS10by1lZGdlXG4gIGRpc3BsYXk6IGdyaWQ7IC8vIEZvciBzdGlja3kgZm9vdGVyXG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAxZnIgYXV0bzsgLy8gRm9yIHN0aWNreSBmb290ZXJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHlDb2xvcjtcbiAgLy9mb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICBmb250LWZhbWlseTogJ0xhdG8nLCBzYW5zLXNlcmlmOyAvLydNZXJyaXdlYXRoZXInLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxLjZyZW07IC8vIFJlc2V0IG92ZXJhbGwgXCJyb290XCIgZm9udC1zaXplIGZvciAxNnB4IHN0YW5kYXJkIChyZWxhdGl2ZSB0byA2Mi41JSBhY3R1YWwgcm9vdCBzaXplIGRlY2xhcmVkIGFib3ZlKVxuICBjb2xvcjogJGZvbnRDb2xvcjtcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gIG1hcmdpbi10b3A6IDNyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1mYW1pbHk6ICdNZXJyaXdlYXRoZXInLCBzZXJpZjtcbiAgY29sb3I6ICRicmFuZENvbG9yUHJpbWFyeTtcbn1cblxuLy8gKFNlZSBtaXhpbnMpOlxuaDEge1xuICBAaW5jbHVkZSBoMTtcbiAgZm9udC1mYW1pbHk6ICdMYXRvJywgc2Fucy1zZXJpZjtcbn1cblxuaDIge1xuICBAaW5jbHVkZSBoMjtcbn1cblxuaDMge1xuICBAaW5jbHVkZSBoMztcbn1cblxuaDQge1xuICBAaW5jbHVkZSBoNDtcbn1cblxuaDUge1xuICBAaW5jbHVkZSBoNTtcbn1cblxuaDYge1xuICBAaW5jbHVkZSBoNjtcbn1cblxucCB7XG4gIG1hcmdpbjogMCAwIDEuNXJlbSAwO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG5hIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGNvbG9yOiAkbGlua0NvbG9yO1xuXG4gICY6bGluayB7XG5cbiAgfVxuXG4gICY6aG92ZXIge1xuXG4gIH1cblxuICAmOmFjdGl2ZSB7XG5cbiAgfVxuXG4gICY6dmlzaXRlZCB7XG5cbiAgfVxuXG4gICYuYnV0dG9uIHtcbiAgICAvL3RleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG46Zm9jdXMge1xuICAvL291dGxpbmU6IDNweCBzb2xpZCAkb3JhbmdlO1xufVxuXG51bCwgb2wge1xuICBtYXJnaW46IDEuNXJlbSAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG59XG5cbmltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyogQmVnaW4gYnV0dG9uIHN0eWxlcyAqL1xuYnV0dG9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuYnV0dG9uOmhvdmVyLFxuYnV0dG9uOmZvY3VzIHtcblxufVxuXG5idXR0b246Zm9jdXMge1xuICAvL291dGxpbmU6IDFweCBzb2xpZCAjZmZmO1xuICAvL291dGxpbmUtb2Zmc2V0OiAtNHB4O1xufVxuXG5idXR0b246YWN0aXZlIHtcbiAgLy90cmFuc2Zvcm06IHNjYWxlKDAuOTkpO1xufVxuLyogRW5kIGJ1dHRvbiBzdHlsZXMgKi9cblxuYmxvY2txdW90ZSB7XG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgJGJsYWNrO1xuICBtYXJnaW46IDEuNWVtIDEwcHg7XG4gIHBhZGRpbmc6IDAuNWVtIDMwcHg7XG4gIHF1b3RlczogXCJcXDIwMUNcIjsgLy9cIlxcMjAxRFwiXCJcXDIwMThcIlwiXFwyMDE5XCI7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbG9yOiAjY2NjO1xuICAgIGNvbnRlbnQ6IG9wZW4tcXVvdGU7XG4gICAgZm9udC1zaXplOiA0ZW07XG4gICAgbGluZS1oZWlnaHQ6IDAuMWVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNWVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiAtMC40ZW07XG4gIH1cblxuICBwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHA6Zmlyc3Qtb2YtdHlwZSwgcDpudGgtb2YtdHlwZSgyKSB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gIH1cbn1cbiIsIi8qKlxuICAqIEhFQURFUiBTVFlMRVNcbiAgKi9cblxuLmhlYWRlci13cmFwIHsgLy8gRWRnZS10by1lZGdlIHdyYXAgZm9yIGV2ZXJ5dGhpbmcgaW4gdGhlIGhlYWRlci4gMXN0IGdyaWQgaXRlbSBpbiA8Ym9keT4gZ3JpZCBjb250YWluZXIuXG4gIEBpbmNsdWRlIHdyYXA7XG4gIGdyaWQtcm93LXN0YXJ0OiAxOyAvLyBGb3Igc3RpY2t5IGZvb3RlclxuICBncmlkLXJvdy1lbmQ6IDI7IC8vIEZvciBzdGlja3kgZm9vdGVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiA5OTk5OyAvLyBQb3NpdGlvbiBpbiBmcm9udCBvZiBldmVyeXRoaW5nIGVsc2VcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtcywgYm9yZGVyIDIwMG1zLCBib3gtc2hhZG93IDIwMG1zO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRDb2xvclByaW1hcnk7XG4gIC8vYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAmLmJnLXZpc2libGUge1xuICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQ29sb3JQcmltYXJ5O1xuICB9XG59XG4gIC5oZWFkZXItb3ZlcmxheSB7IC8vIFRyYW5zbHVjZW50LCBcImRpbW1lclwiIGxheWVyIG92ZXIgaGVhZGVyIGJhY2tncm91bmQtaW1hZ2UuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZENvbG9yUHJpbWFyeTtcbiAgICBvcGFjaXR5OiAwLjc7XG5cbiAgICAmLmJnLXZpc2libGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQ29sb3JQcmltYXJ5O1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICAudG9wLWJhci1iZyB7IC8vIEVkZ2UtdG8tZWRnZSBiYWNrZ3JvdW5kIGxheWVyIGZvciB0aGUgdG9wLW5hdiBiYXIuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkdG9wQmFySGVpZ2h0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiA2O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtcztcblxuICAgICYuYmctdmlzaWJsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRDb2xvclByaW1hcnk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuaGVhZGVyIHsgLy8gV2lkdGgtbGltaXRlZCBjb250YWluZXIgZm9yIHRoZSBoZWFkZXIuIFRoaXMgaXMgdGhlIDxoZWFkZXI+IGVsZW1lbnQgaXRzZWxmLlxuICAgIC8vQGluY2x1ZGUgaW5uZXItd3JhcDtcbiAgICBoZWlnaHQ6ICRoZWFkZXJIZWlnaHRNb2JpbGU7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IC8vMWZyIDEwMHB4O1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogJGhlYWRlckhlaWdodE1vYmlsZSBhdXRvO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXM7XG5cbiAgICAmLmJnLXZpc2libGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQ29sb3JQcmltYXJ5O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgaGVpZ2h0OiBjYWxjKCRoZWFkZXJIZWlnaHREZXNrdG9wICsgJHRvcEJhckhlaWdodCk7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgLy8xZnIgMTAwcHg7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDEyMHB4IDcwcHg7XG4gICAgfVxuICB9XG4gICAgLmhlYWRlci1icmFuZCB7IC8vIENvbnRhaW5lciBmb3IgbG9nbywgdGV4dCBsb2dvLCB0YWdsaW5lLiBDb3ZlcnMgZW50aXJlIGhlYWRlciBhcmVhIChiZWhpbmQgbmF2cylcbiAgICAgIEBpbmNsdWRlIHBhZC1ob3Jpem9udGFsO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyAvLyBOZWdhdGUgcmlnaHQgcGFkZGluZyBmcm9tICdjb250YWluZXInIG1peGluIF5eXlxuICAgICAgaGVpZ2h0OiAkaGVhZGVySGVpZ2h0TW9iaWxlO1xuICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDE7XG4gICAgICBncmlkLXJvdzogMSAvIHNwYW4gMTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoJGhlYWRlckhlaWdodERlc2t0b3AgKyAkdG9wQmFySGVpZ2h0KTtcbiAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoJHRvcEJhckhlaWdodCAqIDAuNzUpO1xuICAgICAgICAvL21hcmdpbi10b3A6IGNhbGMoJHRvcEJhckhlaWdodCAvIDIpO1xuICAgICAgICAvL21hcmdpbi1ib3R0b206IGNhbGMoJG1haW5OYXZIZWlnaHQgLyAyKTtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGhlaWdodDogJGhlYWRlckhlaWdodE1vYmlsZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICBoZWlnaHQ6IGNhbGMoJGhlYWRlckhlaWdodERlc2t0b3AgLSAkbWFpbk5hdkhlaWdodCk7XG4gICAgICAgICAgaGVpZ2h0OiBjYWxjKCRoZWFkZXJIZWlnaHREZXNrdG9wIC0gKCR0b3BCYXJIZWlnaHQgLyAyKSk7XG4gICAgICAgIH1cblxuICAgICAgICAubG9nby1pbWFnZSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgaGVpZ2h0OiBjYWxjKCRoZWFkZXJIZWlnaHRNb2JpbGUgLSA1NXB4KTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgcGFkZGluZzogMCAwIDAgMTBweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygkaGVhZGVySGVpZ2h0RGVza3RvcCAtICgkdG9wQmFySGVpZ2h0IC8gMikpOyAvL2NhbGMoJGhlYWRlckhlaWdodERlc2t0b3AgLSAkbWFpbk5hdkhlaWdodCAtIDIwcHgpO1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxvZ28tdGV4dCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgY29sb3I6ICRicmFuZENvbG9yQ29udHJhc3Q7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5sb2dvLXRleHQtdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjk7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG5cbiAgICAgICAgICAgIHNwYW4ucmVnaXN0ZXJlZCB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuXG4gICAgICAgICAgICAgIHNwYW4ucmVnaXN0ZXJlZCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubG9nby10ZXh0LXRhZ2xpbmUge1xuICAgICAgICAgICAgLy9tYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggYXV0byAwIGF1dG87XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMC44O1xuICAgICAgICAgICAgLy9kaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjZyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29sb3I6ICRicmFuZENvbG9yQ29udHJhc3Q7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XG4gICAgICAgICAgICAgIC8vZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5oZWFkZXItbmF2IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6ICRoZWFkZXJIZWlnaHRNb2JpbGU7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgJi5iZy12aXNpYmxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQ29sb3JQcmltYXJ5O1xuICAgICAgfVxuXG4gICAgICAmLnZpc2libGUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoJGhlYWRlckhlaWdodERlc2t0b3AgKyAkdG9wQmFySGVpZ2h0KTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcblxuICAgICAgICAmLnZpc2libGUge1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAgIC5oZWFkZXItbmF2LW1haW4ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIHotaW5kZXg6IDY7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgIEBpbmNsdWRlIHBhZC1ob3Jpem9udGFsO1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgLy9wYWRkaW5nLWxlZnQ6IDA7IC8vIE5lZ2F0ZSBsZWZ0IHBhZGRpbmcgZnJvbSAnY29udGFpbmVyJyBtaXhpbiBeXl5cbiAgICAgICAgICBoZWlnaHQ6ICRtYWluTmF2SGVpZ2h0O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAvL2JvdHRvbTogYXV0bzsgLy8wO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIHRyYW5zbGF0ZTogMCBjYWxjKC0xICogKCRtYWluTmF2SGVpZ2h0IC8gMikpO1xuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNDVweCk7XG4gICAgICAgICAgLy9jb2x1bW4tZ2FwOiBhdXRvO1xuICAgICAgICAgIC8vYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmF5O1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogJG1haW5OYXZIZWlnaHQ7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgLy9jb2x1bW4tZ2FwOiAxMHB4O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogdW5zZXQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgLy9AaW5jbHVkZSBwYWQtbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IHVuc2V0O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZENvbG9yUHJpbWFyeTtcblxuICAgICAgICAgICAgJjpob3ZlciA+IHVsIHtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAkbWFpbk5hdkhlaWdodDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHVuc2V0O1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBkaXNwbGF5IDMwMG1zO1xuXG4gICAgICAgICAgICAgICY6aG92ZXIgPiB1bCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIC8vQGluY2x1ZGUgcGFkLWxlZnQ7XG4gICAgICAgICAgICAgIHdpZHRoOiBhdXRvOyAvLzEwMCU7XG4gICAgICAgICAgICAgIGhlaWdodDogJHRvcEJhckhlaWdodDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAvL2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheTtcbiAgICAgICAgICAgICAgLy90ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAvL2ZvbnQtZmFtaWx5OiAnTGF0bycsIHNhbnMtc2VyaWY7XG5cbiAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQ29sb3JDb250cmFzdDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgICAgIGJvdHRvbTogOXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIC8vY29sb3I6IGRhcmtlbigkYnJhbmRDb2xvckNvbnRyYXN0LCAyMCUpO1xuICAgICAgICAgICAgICAgIC8vYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICR3aGl0ZTtcblxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgIC8vZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkbWFpbk5hdkhlaWdodDtcbiAgICAgICAgICAgICAgICAvLyBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogdW5zZXQ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmN1cnJlbnRfcGFnZV9pdGVtIHtcblxuICAgICAgICAgICAgICBhIHtcblxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubmF2LWNoZXZyb24ge1xuICAgICAgICAgICAgICB3aWR0aDogNDVweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICBjb2xvcjogJGJyYW5kQ29sb3JDb250cmFzdDtcblxuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogZGFya2VuKCRicmFuZENvbG9yQ29udHJhc3QsIDIwJSk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHVsIHsgLy8gc3ViLW5hdlxuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAzMjBweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAkbWFpbk5hdkhlaWdodDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZENvbG9yUHJpbWFyeTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGxpIHsgLy8gc3ViLW5hdlxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICR0b3BCYXJIZWlnaHQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogJHRvcEJhckhlaWdodDtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudGl6ZSgkZGFya2VyR3JheSwgMC44KTtcblxuICAgICAgICAgICAgICAgICAgJjpob3ZlciA+IHVsIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHsgLy8gc3ViLW5hdlxuICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzZW07XG4gICAgICAgICAgICAgICAgICAvL0BpbmNsdWRlIHBhZC1ob3Jpem9udGFsO1xuICAgICAgICAgICAgICAgICAgLy93aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgIC8vaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgICAgICAgLy9tYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAvL3BhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICAgIC8vcGFkZGluZzogMCAwIDAgMzBweDtcbiAgICAgICAgICAgICAgICAgIC8vZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgIC8vYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgIC8vY29sb3I6IGdyYXk7XG5cbiAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAvL3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkdG9wQmFySGVpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAvL21hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHVsIHsgLy8gc3ViLXN1Yi1uYXZcblxuICAgICAgICAgICAgICAgICAgbGkgeyAvLyBzdWItc3ViLW5hdlxuXG4gICAgICAgICAgICAgICAgICAgIGEgeyAvLyBzdWItc3ViLW5hdlxuICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNC41ZW07XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB1bCB7IC8vIHN1Yi1zdWItc3ViLW5hdlxuXG4gICAgICAgICAgICAgICAgICAgICAgbGkgeyAvLyBzdWItc3ViLXN1Yi1uYXZcblxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7IC8vIHN1Yi1zdWItc3ViLW5hdlxuICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDZlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLypcbiAgICAgIC5oZWFkZXItbmF2LXRvcCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHotaW5kZXg6IDY7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjbGVhcjogYm90aDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICBAaW5jbHVkZSBwYWQtaG9yaXpvbnRhbDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6ICR0b3BCYXJIZWlnaHQ7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB6LWluZGV4OiA2O1xuICAgICAgICB9XG5cbiAgICAgICAgdWwgeyAvLyB0b3AgbmF2XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgIGNvbHVtbi1nYXA6IDMwcHg7XG4gICAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiAkdG9wQmFySGVpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNjBweDsgLy8gUGFkZGluZyBhZ2FpbnN0IGhlYWRlciBidXR0b25zIChzZWFyY2ggZ2xhc3MpXG4gICAgICAgICAgICAvL2ZsZXgtZmxvdzogcm93O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbGkgeyAvLyB0b3AgbmF2XG4gICAgICAgICAgICBAaW5jbHVkZSBwYWQtaG9yaXpvbnRhbDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogdW5zZXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEgeyAvLyB0b3AgbmF2XG4gICAgICAgICAgICAgIGhlaWdodDogJHRvcEJhckhlaWdodDtcbiAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICBjb2xvcjogJGJyYW5kQ29sb3JDb250cmFzdDtcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdMYXRvJywgc2Fucy1zZXJpZjtcblxuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogZGFya2VuKCRicmFuZENvbG9yQ29udHJhc3QsIDIwJSk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcblxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAqL1xuXG4gICAgICAvKlxuICAgICAgbGkuc2xpZGUtbGluZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMTAwMjtcbiAgICAgICAgYm90dG9tOiAtMXB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHggM3B4IDAgMDtcbiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMzAwbXMsIGxlZnQgMzAwbXMsIGJhY2tncm91bmQtY29sb3IgMTUwbXM7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLmhvdmVyLXN0YXRlIHtcbiAgICAgICAgICAvL2JveC1zaGFkb3c6IDAgMCA1cHggMHB4ICRibGFjaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgKi9cblxuICAgIC5oZWFkZXItYnV0dG9ucyB7XG4gICAgICBAaW5jbHVkZSBwYWQtcmlnaHQ7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogJGhlYWRlckhlaWdodE1vYmlsZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB6LWluZGV4OiA2O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgaGVpZ2h0OiAkdG9wQmFySGVpZ2h0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICAgICAgLmdsYXNzIHtcbiAgICAgICAgcGFkZGluZzogOHB4IDEwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRvcDogYXV0bztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICBoZWlnaHQ6ICR0b3BCYXJIZWlnaHQ7XG4gICAgICAgICAgYm9yZGVyOiB1bnNldDtcbiAgICAgICAgfVxuXG4gICAgICAgIGkge1xuICAgICAgICAgIGNvbG9yOiAkYnJhbmRDb2xvckNvbnRyYXN0O1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogZGFya2VuKCRicmFuZENvbG9yQ29udHJhc3QsIDIwJSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAvL2NvbG9yOiAkbWVkaXVtR3JheTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmJ1cmdlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49MzQwcHhcIikge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGkge1xuICAgICAgICAgIGNvbG9yOiAkYnJhbmRDb2xvckNvbnRyYXN0O1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogZGFya2VuKCRicmFuZENvbG9yQ29udHJhc3QsIDIwJSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAuaGVhZGVyLXNlYXJjaC13cmFwIHsgLy8gSGVhZGVyLXNwZWNpZmljIHNlYXJjaCB3cmFwXG4gICAgICBAaW5jbHVkZSB3cmFwO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogJGhlYWRlckhlaWdodE1vYmlsZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRDb2xvclByaW1hcnk7XG4gICAgICB6LWluZGV4OiA2O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgdG9wOiAkdG9wQmFySGVpZ2h0O1xuICAgICAgICBoZWlnaHQ6IGNhbGMoJGhlYWRlckhlaWdodERlc2t0b3AgLSAkbWFpbk5hdkhlaWdodCk7XG4gICAgICB9XG5cbiAgICAgIC5zaXRlLXNlYXJjaCB7IC8vIEhlYWRlciBzcGVjaWZpYyAtLSBzZWUgc2VhcmNoLnNjc3MgZm9yIGdsb2JhbCBzZWFyY2ggc3R5bGVzXG4gICAgICAgIEBpbmNsdWRlIHBhZC1ob3Jpem9udGFsO1xuICAgICAgfVxuICAgIH1cbiIsIi8qKlxuICAqIFNJVEUgU0VBUkNIIEZPUk0gU1RZTEVTXG4gICovXG5cbi5zaXRlLXNlYXJjaCB7XG4gIEBpbmNsdWRlIGlubmVyLXdyYXA7XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZzogNDBweCAwO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciA1MHB4O1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG59XG5cbiAgLnNlYXJjaC1xdWVyeSB7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDE7XG4gICAgZ3JpZC1yb3c6IDE7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuXG4gICAgbGFiZWwge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBjb2xvcjogJGJyYW5kQ29sb3JDb250cmFzdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGlucHV0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgJGJyYW5kQ29sb3JDb250cmFzdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7XG4gICAgICBjb2xvcjogJGJyYW5kQ29sb3JDb250cmFzdDtcbiAgICB9XG4gIH1cblxuICAuc2VhcmNoLXN1Ym1pdCB7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGdyaWQtY29sdW1uOiAyIC8gc3BhbiAxO1xuICAgIGdyaWQtcm93OiAxO1xuICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgIGNvbG9yOiAkYnJhbmRDb2xvclByaW1hcnk7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQ29sb3JDb250cmFzdDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJyYW5kQ29sb3JDb250cmFzdCwgMjAlKTtcbiAgICB9XG4gIH1cbiIsIi8qKlxuICAqIE1BSU4gUEFHRSBDT05URU5UIFNUWUxFU1xuICAqL1xuXG5cbi5tYWluLXdyYXAge1xuICBAaW5jbHVkZSB3cmFwO1xuICBncmlkLXJvdy1zdGFydDogMjsgLy8gRm9yIHN0aWNreSBmb290ZXJcbiAgZ3JpZC1yb3ctZW5kOiAzOyAvLyBGb3Igc3RpY2t5IGZvb3RlclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRDb2xvckNvbnRyYXN0O1xufVxuICAubWFpbiB7IC8vIENvbnRhaW5lciBmb3IgYWxsIG5vbi1oZWFkZXIgYW5kIG5vbi1mb290ZXIgc3R1ZmZcbiAgICBoZWlnaHQ6IDEwMCU7IC8vIEZvciBzdGlja3kgZm9vdGVyOiBmaWxsIGFueSBlbXB0eSBzcGFjZSBkb3duIHRvIGZvb3RlclxuICAgIG92ZXJmbG93OiBoaWRkZW47IC8vIEV4dGVuZHMgaGVpZ2h0IHRvIGFjY29tb2RhdGUgY29udGVudCdzIG1hcmdpblxuICB9XG4gICAgLnBhZ2UtaGVhZGVyLXdyYXAge1xuICAgICAgQGluY2x1ZGUgd3JhcDtcbiAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRDb2xvckNvbnRyYXN0O1xuICAgICAgLy9kaXNwbGF5OiBub25lO1xuICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRDb2xvclByaW1hcnk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLy96LWluZGV4OiAxO1xuICAgIH1cbiAgICAgIC5wYWdlLWhlYWRlci1vdmVybGF5IHsgLy8gVHJhbnNsdWNlbnQsIFwiZGltbWVyXCIgbGF5ZXIgb3ZlciBoZWFkZXIgYmFja2dyb3VuZC1pbWFnZS5cbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZENvbG9yUHJpbWFyeTtcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGJyYW5kQ29sb3JQcmltYXJ5LCAkYnJhbmRDb2xvckNvbnRyYXN0KTtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG92ZXJsYXk7XG5cbiAgICAgICAgJi5iZy12aXNpYmxlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRDb2xvclByaW1hcnk7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucGFnZS1oZWFkZXIgeyAvLyBNYWluIHBhZ2UgaGVhZGVyIChjb250YWlucyBwYWdlIHRpdGxlIEgxLCBpbnRybyB0ZXh0LCBldGMuKVxuICAgICAgICBAaW5jbHVkZSBpbm5lci13cmFwO1xuICAgICAgICBAaW5jbHVkZSBwYWQtdmVydGljYWw7XG4gICAgICAgIEBpbmNsdWRlIHBhZC1ob3Jpem9udGFsO1xuICAgICAgICAvL21pbi1oZWlnaHQ6IDQyMHB4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC8vanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMztcbiAgICAgIH1cbiAgICAgICAgLnBhZ2UtaGVhZGVyLXRpdGxlIHtcblxuICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7Ly8kYnJhbmRDb2xvckNvbnRyYXN0O1xuICAgICAgICAgICAgLy90ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDE1cHggJGJyYW5kQ29sb3JQcmltYXJ5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdlLWhlYWRlci10ZXh0IHtcblxuICAgICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggJGJyYW5kQ29sb3JQcmltYXJ5O1xuICAgICAgICAgICAgLy9mb250LWZhbWlseTogJ01lcnJpd2VhdGhlcicsIHNlcmlmO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgLnBhZ2UtbWFpbi13cmFwIHtcbiAgICAgIEBpbmNsdWRlIHdyYXA7XG4gICAgfVxuICAgICAgLnBhZ2UtbWFpbiB7IC8vIE1haW4gcGFnZSBjb250ZW50IGFuZCBzaWRlYmFyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5wYWdlLW1haW4uc2lkZSB7IC8vIFNpZGViYXItc3BlY2lmaWMgdmVyc2lvbiBvZiAucGFnZS1tYWluIF5eXlxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAwcHg7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDMyMHB4O1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgLnBhZ2UtY29udGVudCB7IC8vIE1haW4gcGFnZSBjb250ZW50IChzaXRzIGFsb25nc2lkZSBzaWRlYmFyIGlmIHRoZXJlIGlzIG9uZSlcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAxO1xuICAgICAgICAgIGdyaWQtcm93OiAyO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMTtcbiAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAgIC5wYWdlLXNlY3Rpb24td3JhcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSB3cmFwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAgIC5wYWdlLXNlY3Rpb24geyAvLyB2ZXJ0aWNhbGx5IHNlcGFyYXRlcyBwaWVjZXMgb2YgbWFpbiBjb250ZW50IGFuZCBwYWRzIGFnYWluc3QgdGhlIHNpZGViYXJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgaW5uZXItd3JhcDtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkLWhvcml6b250YWw7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBhZC12ZXJ0aWNhbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAuc2lkZSAucGFnZS1jb250ZW50eyAvLyAucGFnZS1jb250ZW50IHN0eWxlcyBmb3Igc2lkZWJhciBsYXlvdXRcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMDBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucGFnZS1zaWRlYmFyIHtcbiAgICAgICAgICBAaW5jbHVkZSBwYWQtYm90dG9tO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAxO1xuICAgICAgICAgIGdyaWQtcm93OiAxO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMiAvIHNwYW4gMTtcbiAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuIiwiLyoqXG4gICogRk9PVEVSIFNUWUxFU1xuICAqL1xuXG5cbi5mb290ZXItd3JhcCB7XG4gIEBpbmNsdWRlIHdyYXA7XG4gIGdyaWQtcm93LXN0YXJ0OiAzOyAvLyBGb3Igc3RpY2t5IGZvb3RlclxuICBncmlkLXJvdy1lbmQ6IDQ7IC8vIEZvciBzdGlja3kgZm9vdGVyXG4gIGJhY2tncm91bmQtY29sb3I6ICRkYXJrZXN0R3JheTtcbn1cbiAgLmZvb3RlciB7XG4gICAgLy9AaW5jbHVkZSBpbm5lci13cmFwO1xuICAgIEBpbmNsdWRlIHBhZC12ZXJ0aWNhbDtcbiAgICBAaW5jbHVkZSBwYWQtaG9yaXpvbnRhbDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gRXh0ZW5kcyBoZWlnaHQgdG8gYWNjb21vZGF0ZSBjb250ZW50J3MgbWFyZ2luXG4gICAgY29sb3I6ICRicmFuZENvbG9yQ29udHJhc3Q7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwJSA1MCU7XG4gICAgZ3JpZC1yb3dzOiBhdXRvIGF1dG8gYXV0bztcbiAgfVxuICAgIC5mb290ZXItbmF2IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIC8vcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcbiAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIEBpbmNsdWRlIHBhZC1sZWZ0O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDE7XG4gICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiAxO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHJpZ2h0O1xuICAgICAgfVxuXG4gICAgICB1bCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIC8vZGlzcGxheTogZmxleDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG5cbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgLyomOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwifFwiO1xuICAgICAgICAgICAgY29sb3I6ICRicmFuZENvbG9yQ29udHJhc3Q7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogLTJweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9Ki9cblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nOiAwOy8vIDEwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIC8vYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAkYnJhbmRDb2xvckNvbnRyYXN0O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7IC8vNXB4O1xuICAgICAgICAgICAgICAvL2FsaWduLWl0ZW1zOiByaWdodDtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvb3Rlci1icmFuZCB7IC8vIENvbnRhaW5lciBmb3IgbG9nbywgdGV4dCBsb2dvLCB0YWdsaW5lLiBDb3ZlcnMgZW50aXJlIGZvb3RlciBhcmVhIChiZWhpbmQgbmF2cylcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IC8vIE5lZ2F0ZSByaWdodCBwYWRkaW5nIGZyb20gJ2NvbnRhaW5lcicgbWl4aW4gXl5eXG4gICAgICAvL2hlaWdodDogMTYwcHg7XG4gICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcbiAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiAxO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogNTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIEBpbmNsdWRlIHBhZC1yaWdodDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAxO1xuICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gMjtcbiAgICAgICAgLy9oZWlnaHQ6IGNhbGMoJGZvb3RlckhlaWdodERlc2t0b3AgLSAkbWFpbk5hdkhlaWdodCk7XG4gICAgICAgIC8vbWFyZ2luLXRvcDogJHRvcEJhckhlaWdodDtcbiAgICAgICAgLy9tYXJnaW4tYm90dG9tOiAkbWFpbk5hdkhlaWdodDtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIHdpZHRoOiAyNjBweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgLy9tYXJnaW46IDA7XG4gICAgICAgICAgLy9oZWlnaHQ6IGNhbGMoJGZvb3RlckhlaWdodERlc2t0b3AgLSAkbWFpbk5hdkhlaWdodCk7XG4gICAgICAgIH1cblxuICAgICAgICAuZm9vdGVyLWJyYW5kLWxvZ28taW1hZ2Uge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTJweDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuZm9vdGVyLWJyYW5kLWxvZ28tdGV4dCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgICAgIC8vZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5mb290ZXItYnJhbmQtbG9nby10ZXh0LXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgLy9mb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcblxuICAgICAgICAgICAgc3Bhbi5yZWdpc3RlcmVkIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcbiAgICAgICAgICAgICAgLy9mb250LXNpemU6IDEuNHJlbTtcblxuICAgICAgICAgICAgICBzcGFuLnJlZ2lzdGVyZWQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmZvb3Rlci1icmFuZC1sb2dvLXRleHQtdGFnbGluZSB7XG4gICAgICAgICAgICAvL21hcmdpbi10b3A6IDhweDtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCBhdXRvIDAgYXV0bztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjg7XG4gICAgICAgICAgICAvL2Rpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAvL2ZvbnQtc2l6ZTogMC42cmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcbiAgICAgICAgICAgICAgLy9mb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29weXJpZ2h0IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDIwcHggMCAwIDA7XG4gICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcbiAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDA7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuXG4gICAgICAgIGdyaWQtY29sdW1uOiAyIC8gc3BhbiAxO1xuICAgICAgICAvL2dyaWQtcm93OiAxO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHJpZ2h0O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIH1cbiAgICB9XG4iLCIvKipcbiAgKiBNSVNDRUxMQU5FT1VTIFNUWUxFU1xuICAqL1xuXG4uZW1iZWQtY29udGFpbmVyLXdyYXAge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA1MDBweDtcbiAgbWFyZ2luOiAyMHB4IGF1dG87XG59XG4gIC5lbWJlZC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAgIC5lbWJlZC1jb250YWluZXIgaWZyYW1lLFxuICAgIC5lbWJlZC1jb250YWluZXIgb2JqZWN0LFxuICAgIC5lbWJlZC1jb250YWluZXIgZW1iZWQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuXG4ubWF4LXdpZHRoLTI4MHB4IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMjgwcHg7XG59XG5cbi5mbG9hdC1yaWdodCxcbi5hbGlnbnJpZ2h0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAyMHB4O1xuICBmbG9hdDogbm9uZTtcblxuICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xuICAgIHBhZGRpbmc6IDIwcHggMCAyMHB4IDIwcHg7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG59XG4iXX0= */
