@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
* {
  box-sizing: border-box;
}

/* 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 */
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0 auto;
  overflow-x: hidden;
  max-width: 1980px;
  -webkit-font-smoothing: antialiased;
  -moz-font-smoothing: antialiased;
  -o-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/**
 * 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;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-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. Make images consistent.
 */
img {
  border-style: none;
  box-sizing: border-box;
}

/* 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.
 */
[type="button"],
[type="reset"],
[type="submit"],
button {
  -webkit-appearance: button;
}

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

/**
 * Restore the focus styles unset by the previous rule.
 */
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring,
button:-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;
}

html {
  font-family: "Montserrat", sans-serif, sans-serif;
  font-size: 16px;
  color: #555555;
}

* {
  font-display: swap;
}

a {
  text-decoration: none;
  color: #137d7c;
}

a:visited {
  color: #137d7c;
}

a:hover {
  color: rgba(19, 125, 124, 0.9);
}

.subtitle {
  color: #73123d;
  text-align: center;
  margin: 20px auto;
}

@media only screen and (min-width: 768.5px) {
  .subtitle {
    max-width: 960px;
  }
}

button {
  border: none;
  background: none;
}

ul {
  line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0 0 0.5em;
  font-family: "Open Sans", sans-serif;
  font-weight: 300;
}

p {
  margin: 0 0 1em;
  line-height: 1.6;
  font-weight: 400;
}

h1 {
  font-size: 1.802rem;
  font-weight: 400;
}

h2 {
  font-size: 1.602rem;
}

h3 {
  font-size: 1.424rem;
}

h4 {
  font-size: 1.266rem;
}

h5 {
  font-size: 1.125rem;
}

h6 {
  font-size: 1rem;
}

@media only screen and (min-width: 1200.5px) {
  h1 {
    font-size: 3.5em;
  }
  h2 {
    font-size: 3.157em;
  }
  h3 {
    font-size: 2.369em;
  }
  h4 {
    font-size: 1.777em;
  }
  h5 {
    font-size: 1.333em;
  }
  h6 {
    font-size: 1rem;
  }
}

.hero--off {
  padding-top: 106px;
}

@media only screen and (min-width: 1200.5px) {
  .hero--off {
    padding-top: 130px;
  }
}

@-webkit-keyframes header--in {
  0% {
    visibility: hidden;
    opacity: 0;
  }
  1% {
    visibility: visible;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}

@keyframes header--in {
  0% {
    visibility: hidden;
    opacity: 0;
  }
  1% {
    visibility: visible;
  }
  100% {
    opacity: 1;
    visibility: visible;
  }
}

@-webkit-keyframes header--out {
  0% {
    visibility: visible;
    opacity: 1;
  }
  99% {
    visibility: visible;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}

@keyframes header--out {
  0% {
    visibility: visible;
    opacity: 1;
  }
  99% {
    visibility: visible;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}

header {
  background-color: rgba(134, 154, 154, 0.94);
  width: 100vw;
}

header.header--fixed {
  position: fixed;
  opacity: 1;
  top: 0;
  left: 0;
  z-index: 201;
  max-width: 1903px;
}

header.header--out {
  -webkit-animation: header--out 500ms ease-in-out;
  animation: header--out 500ms ease-in-out;
  visibility: hidden;
  opacity: 0;
}

header.header--in {
  -webkit-animation: header--in 500ms ease-in-out;
  animation: header--in 500ms ease-in-out;
  visibility: visible;
}

header .header--mobile {
  position: relative;
  display: flex;
  min-height: 106px;
  padding: 20px;
  align-items: center;
  justify-content: center;
}

@media only screen and (min-width: 1200.5px) {
  header .header--mobile {
    display: none;
  }
}

header .header--mobile .header__logo--mobile svg {
  width: 142px;
  margin-left: 65px;
  margin-right: 50px;
}

header .header--mobile .header__open--mobile {
  position: absolute;
  left: 20px;
}

header .header--mobile .header__open--mobile svg {
  opacity: 0.5;
  width: 42px;
}

header .header--desktop {
  display: none;
}

@media only screen and (min-width: 1200.5px) {
  header .header--desktop {
    position: relative;
    display: flex;
    min-height: 130px;
    align-items: flex-end;
    justify-content: space-between;
    max-width: 1480px;
    margin: 0 auto;
    padding: 0 20px;
  }
}

header .header--desktop .header__logo {
  display: block;
  -ms-grid-row-align: center;
  align-self: center;
}

header .header--desktop .header__logo svg {
  width: calc(20px*11);
}

header .header--desktop .header__nav--desktop {
  display: flex;
  margin: 0;
  justify-content: space-around;
  align-items: center;
  list-style: none;
  position: relative;
  padding: 0;
}

header .header--desktop .header__nav--desktop li {
  display: inline-block;
  position: relative;
}

header .header--desktop .header__nav--desktop a {
  padding: calc(20px*0.4) 0;
  margin: 0 calc(20px*0.4) calc(20px*0.4);
  font-family: "Open Sans", sans-serif;
  font-weight: 400;
  color: white;
  display: block;
  border-bottom: 1px solid transparent;
}

header .header--desktop .header__nav--desktop a:hover span {
  border-bottom: 1px solid white;
}

header .header--desktop .header__nav--desktop a.active {
  font-weight: 700;
}

header .header--desktop .header__nav--desktop ul {
  display: none;
  position: absolute;
  top: 50px;
  padding: 0;
  flex-direction: column;
  min-width: 10vw;
  background-color: rgba(134, 154, 154, 0.94);
}

header .header--desktop .header__nav--desktop li:hover::after {
  display: block;
  content: '▴';
  color: white;
  border-bottom: 1px solid white;
  position: absolute;
  font-size: 24px;
  top: 75%;
  left: 0;
  width: 100%;
  text-align: center;
  line-height: 6px;
}

header .header--desktop .header__nav--desktop li:hover > ul {
  display: flex;
}

header .header--desktop .header__nav--desktop li:hover > ul li:hover::after {
  display: none;
}

header .header--desktop .header__login {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

header .header--desktop .header__login a {
  padding: calc(20px*0.6) calc(20px*0.5);
  margin: 0 20px;
  line-height: 1rem;
  font-family: "Open Sans", sans-serif;
  color: white;
}

header .header--desktop .header__login .header__login--hover {
  position: relative;
  display: inline-block;
}

header .header--desktop .header__login .header__login--hover:hover::after {
  display: block;
  content: '▴';
  color: white;
  border-bottom: 1px solid white;
  position: absolute;
  font-size: 24px;
  top: 85%;
  left: 0;
  width: 100%;
  text-align: center;
  line-height: 8px;
}

header .header--desktop .header__login form {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1rem;
}

header .header--desktop .header__login form .search {
  z-index: 210;
  width: 0;
  padding: calc(20px*0.6) 0;
  transition: width 0.4s;
  border: none;
  outline: none;
  background-color: #EEEEEE;
  line-height: 1rem;
  font-size: 16px;
}

header .header--desktop .header__login form .search:focus {
  width: calc(20px*15);
  padding: calc(20px*0.6);
}

header .header--desktop .header__login form .searchbutton {
  display: flex;
  padding: calc(20px*0.75) 20px calc(20px*0.5);
  cursor: pointer;
  align-items: center;
  justify-content: center;
}

header .header--desktop .header__login form .searchbutton .mglass {
  font-size: 1.5rem;
  -webkit-transform: rotate(45deg);
  color: white;
}

header .header--desktop .header__login form .search:focus + .searchbutton {
  transition-duration: 0.4s;
  color: white;
}

header .header--desktop .header__login .button {
  padding: calc(20px*0.45) calc(20px*1.5);
  text-transform: uppercase;
  border: 0;
  outline: 0;
  line-height: .75rem;
  min-width: 144.75px;
  text-align: center;
  border-radius: 4.5px;
  font-size: .85rem;
  font-family: "Open Sans", sans-serif;
  background-color: #137d7c;
  border: 1px solid #137d7c;
  color: white;
}

header .header--desktop .header__login .button:hover {
  background-color: #0e5e5d;
}

.offcanvas {
  position: fixed;
  z-index: 205;
  top: 0;
  left: -20.25rem;
  display: flex;
  overflow-x: hidden;
  overflow-y: scroll;
  flex-direction: column;
  width: 20.25rem;
  max-width: 100%;
  height: 100%;
  transition: all 0.3s ease-in-out;
  background-color: #EEEEEE;
  align-items: flex-start;
  justify-content: flex-start;
}

@media only screen and (min-width: 1200.5px) {
  .offcanvas {
    display: none;
  }
}

.offcanvas.visible {
  left: 0;
  box-shadow: 0 0 60px 0 rgba(0, 0, 0, 0.75);
}

.offcanvas::-webkit-scrollbar {
  display: none;
}

.offcanvas .offcanvas__logo {
  margin: 20px;
  padding: 0 20px;
}

.offcanvas .offcanvas__logo svg {
  width: calc(20px*9);
}

.offcanvas .offcanvas__logo svg * {
  fill: #555555;
}

.offcanvas .offcanvas__close {
  font-size: calc(16px*4.5);
  line-height: calc(20px*1.5);
  position: absolute;
  top: 0;
  right: 0;
  padding: 20px;
  color: #555555;
}

.offcanvas .offcanvas__nav--top .navigation__node {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  overflow: hidden;
}

.offcanvas .offcanvas__nav--top .navigation__node input[type=checkbox]:checked + label::after {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  top: calc(20px*0.8);
}

.offcanvas .offcanvas__nav--top .navigation__node a, .offcanvas .offcanvas__nav--top .navigation__node label {
  margin: 0 calc(20px*2);
  padding: calc(20px*0.75) 0;
  text-decoration: none;
  font-size: calc(16px*1.2);
  width: 100%;
  text-align: left;
  color: #555555;
}

.offcanvas .offcanvas__nav--top .navigation__node a.active, .offcanvas .offcanvas__nav--top .navigation__node label.active {
  font-weight: 700;
}

.offcanvas .offcanvas__nav--top .navigation__node label {
  position: relative;
}

.offcanvas .offcanvas__nav--top .navigation__node label::after {
  display: block;
  position: absolute;
  right: -17px;
  top: 20px;
  content: '▼';
  color: black;
  font-size: 0.5rem;
  line-height: 0.5rem;
}

.offcanvas .offcanvas__nav--top .navigation__node input {
  display: none;
}

.offcanvas .offcanvas__nav--top .navigation__node .navigation__subnode {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-height: 0;
  transition: all 0.3s ease-in-out;
  position: relative;
}

.offcanvas .offcanvas__nav--top .navigation__node .navigation__subnode a {
  text-transform: capitalize;
  position: relative;
  left: 100%;
  font-size: 16px;
  opacity: 0;
  transition: all 0.3s ease-in-out;
  font-weight: 300;
  padding: calc(20px*0.5);
}

.offcanvas .offcanvas__nav--top .navigation__node input:checked ~ .navigation__subnode {
  max-height: 100vh;
}

.offcanvas .offcanvas__nav--top .navigation__node input:checked ~ .navigation__subnode a {
  opacity: 1;
  left: 0;
}

.offcanvas .offcanvas__footer {
  width: 100%;
  margin-top: auto;
  padding: 20px;
  background-color: #555555;
}

.offcanvas .offcanvas__footer .offcanvas__social {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: flex-start;
  opacity: 0.6;
}

.offcanvas .offcanvas__footer .offcanvas__social a {
  padding: calc(20px*0.6);
}

.offcanvas .offcanvas__footer .offcanvas__social img {
  width: 24px;
}

.offcanvas__wrapper {
  position: fixed;
  z-index: 204;
  top: 0;
  left: -100%;
  overflow: hidden;
  width: 100%;
  height: 100%;
  display: block;
}

@media only screen and (min-width: 1200.5px) {
  .offcanvas__wrapper {
    display: none;
  }
}

.offcanvas__wrapper.visible {
  left: 0;
  box-shadow: 0 0 60px 0 rgba(0, 0, 0, 0.75);
}

.hero__wrapper {
  min-height: calc(20px*27);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  padding-top: 106px;
  z-index: 3;
}

@media only screen and (min-width: 1200.5px) {
  .hero__wrapper {
    padding-top: 130px;
  }
}

.hero__wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  background: rgba(35, 42, 58, 0.4);
  z-index: 1;
  width: 100%;
  height: 100%;
}

.hero__wrapper .hero__title {
  margin-right: auto;
  padding: 20px;
}

@media only screen and (min-width: 1200.5px) {
  .hero__wrapper .hero__title {
    width: 1080px;
    padding: 0;
    margin: 0 auto;
  }
}

.hero__wrapper .hero__title h1, .hero__wrapper .hero__title p, .hero__wrapper .hero__title a {
  color: white;
  position: relative;
  z-index: 2;
}

.hero__wrapper .hero__title h1 {
  color: white;
  margin-bottom: .25em;
}

.hero__wrapper .hero__title p {
  color: white;
  max-width: 680px;
}

.hero__wrapper .hero__title .hero__buttons {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: flex-start;
}

.hero__wrapper .hero__title .hero__buttons .hero__button--carnation {
  padding: calc(20px*0.45) calc(20px*1.5);
  text-transform: uppercase;
  border: 0;
  outline: 0;
  line-height: .75rem;
  min-width: 144.75px;
  text-align: center;
  border-radius: 4.5px;
  font-size: .85rem;
  font-family: "Open Sans", sans-serif;
  background-color: #73123d;
  border: 1px solid #73123d;
  color: white;
  margin: calc(20px/2) 20px calc(20px/2) 0;
}

.hero__wrapper .hero__title .hero__buttons .hero__button--carnation:hover {
  background-color: #540d2d;
}

footer {
  max-width: 1980px;
  margin: 0 auto;
  color: white;
  position: relative;
  z-index: 2;
}

footer a {
  color: white;
}

footer .footer__wrapper {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  max-width: 1080px;
  margin: 0 auto;
  padding: 20px;
}

@media only screen and (min-width: 768.5px) {
  footer .footer__wrapper {
    align-items: flex-end;
    flex-flow: row wrap;
    justify-content: space-between;
  }
}

@media only screen and (min-width: 1200.5px) {
  footer .footer__wrapper {
    padding: 20px 0;
  }
}

footer .footer__wrapper .footer__form {
  display: flex;
  align-items: center;
  flex-direction: column;
  flex-grow: 1.25;
  justify-content: flex-start;
  width: 100%;
  margin: 20px auto;
}

@media only screen and (min-width: 540.5px) {
  footer .footer__wrapper .footer__form {
    width: auto;
    min-width: 40%;
    align-items: flex-start;
  }
  footer .footer__wrapper .footer__form h4 {
    width: 100%;
  }
}

@media only screen and (min-width: 768.5px) {
  footer .footer__wrapper .footer__form {
    width: 30%;
    min-width: 0;
    margin: calc(20px*.5) 0;
  }
}

footer .footer__wrapper .footer__form h4 {
  text-align: center;
}

@media only screen and (min-width: 768.5px) {
  footer .footer__wrapper .footer__form h4 {
    text-align: left;
  }
}

footer .footer__wrapper .footer__form form {
  display: flex;
  align-items: flex-start;
  flex-flow: column;
  justify-content: flex-start;
}

footer .footer__wrapper .footer__form form input[type='email'],
footer .footer__wrapper .footer__form form input[type='text'] {
  font-size: 0.75rem;
  min-width: calc(20px*10);
  margin: calc(20px/4) 0;
  padding: calc(20px*.3);
  border: 0;
  outline: 0;
}

@media only screen and (min-width: 1200.5px) {
  footer .footer__wrapper .footer__form form input[type='email'],
  footer .footer__wrapper .footer__form form input[type='text'] {
    min-width: calc(20px*12);
  }
}

footer .footer__wrapper .footer__form form input[type='email']::-webkit-input-placeholder,
footer .footer__wrapper .footer__form form input[type='text']::-webkit-input-placeholder {
  font-family: "Open Sans", sans-serif;
  font-size: 0.75rem;
}

footer .footer__wrapper .footer__form form input[type='email']::-moz-placeholder,
footer .footer__wrapper .footer__form form input[type='text']::-moz-placeholder {
  font-family: "Open Sans", sans-serif;
  font-size: 0.75rem;
}

footer .footer__wrapper .footer__form form input[type='email']:-ms-input-placeholder,
footer .footer__wrapper .footer__form form input[type='text']:-ms-input-placeholder {
  font-family: "Open Sans", sans-serif;
  font-size: 0.75rem;
}

footer .footer__wrapper .footer__form form input[type='email']::-ms-input-placeholder,
footer .footer__wrapper .footer__form form input[type='text']::-ms-input-placeholder {
  font-family: "Open Sans", sans-serif;
  font-size: 0.75rem;
}

footer .footer__wrapper .footer__form form input[type='email']::placeholder,
footer .footer__wrapper .footer__form form input[type='text']::placeholder {
  font-family: "Open Sans", sans-serif;
  font-size: 0.75rem;
}

footer .footer__wrapper .footer__form form button[type='submit'] {
  margin: 20px 0 calc(20px*0.6);
  padding: calc(20px*0.45) calc(20px*1.5);
  text-transform: uppercase;
  border: 0;
  outline: 0;
  line-height: .75rem;
  min-width: 144.75px;
  text-align: center;
  border-radius: 4.5px;
  font-size: .85rem;
  font-family: "Open Sans", sans-serif;
  background-color: #137d7c;
  border: 1px solid #137d7c;
  color: white;
}

footer .footer__wrapper .footer__form form button[type='submit']:hover {
  background-color: #0e5e5d;
}

footer .footer__wrapper .footer__social {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: flex-start;
  width: 100%;
  margin: 20px auto;
}

@media only screen and (min-width: 540.5px) {
  footer .footer__wrapper .footer__social {
    width: auto;
    min-width: 40%;
  }
}

@media only screen and (min-width: 768.5px) {
  footer .footer__wrapper .footer__social {
    width: 30%;
    min-width: 0;
    margin: calc(20px*.5) 0;
  }
}

footer .footer__wrapper .footer__social svg {
  max-width: 180px;
  opacity: 0.6;
}

footer .footer__wrapper .footer__social a {
  margin: 0;
  padding: calc(20px*0.6);
  border: 0;
  display: inline-block;
}

footer .footer__wrapper .footer__social a img {
  width: 24px;
  opacity: 0.6;
}

footer .footer__wrapper .footer__social a:hover img {
  opacity: 1;
}

footer .footer__wrapper .footer__donate {
  display: flex;
  align-items: center;
  align-self: stretch;
  flex-direction: column;
  justify-content: flex-start;
  width: 100%;
  margin: 20px auto;
}

@media only screen and (min-width: 540.5px) {
  footer .footer__wrapper .footer__donate {
    width: auto;
    min-width: 40%;
    align-items: flex-end;
  }
}

@media only screen and (min-width: 768.5px) {
  footer .footer__wrapper .footer__donate {
    width: 30%;
    min-width: 0;
    justify-content: space-between;
    margin: calc(20px*.5) 0;
  }
}

footer .footer__wrapper .footer__donate nav {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

@media only screen and (min-width: 768.5px) {
  footer .footer__wrapper .footer__donate nav {
    margin-bottom: calc(20px*0.6);
  }
}

footer .footer__wrapper .footer__donate nav a {
  padding: calc(20px/3) 0;
  color: white;
  position: relative;
}

footer .footer__wrapper .footer__donate nav a:hover::after {
  display: block;
  content: '';
  color: white;
  border-bottom: 1px solid white;
  position: absolute;
  font-size: 24px;
  top: 85%;
  left: 0;
  width: 100%;
  text-align: center;
  line-height: 6px;
}

footer .footer__wrapper .footer__donate .footer__button {
  margin-bottom: calc(20px*1.5);
  padding: calc(20px*0.45) calc(20px*1.5);
  text-transform: uppercase;
  border: 0;
  outline: 0;
  line-height: .75rem;
  min-width: 144.75px;
  text-align: center;
  border-radius: 4.5px;
  font-size: .85rem;
  font-family: "Open Sans", sans-serif;
  background-color: #137d7c;
  border: 1px solid #137d7c;
  color: white;
}

footer .footer__wrapper .footer__donate .footer__button:hover {
  background-color: #0e5e5d;
}

footer .footer__bar {
  width: 100%;
  background-color: #555555;
}

footer .footer__bar div {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  max-width: 1440px;
  margin: 0 auto;
  flex-direction: column;
}

@media only screen and (min-width: 540.5px) {
  footer .footer__bar div {
    flex-flow: row wrap;
    align-items: center;
    justify-content: space-around;
  }
}

@media only screen and (min-width: 540.5px) {
  footer .footer__bar div .address--mobile {
    display: none;
  }
}

footer .footer__bar div .address--desktop {
  display: none;
}

@media only screen and (min-width: 540.5px) {
  footer .footer__bar div .address--desktop {
    display: block;
  }
}

footer .footer__bar div span, footer .footer__bar div address, footer .footer__bar div a {
  font-style: normal;
  line-height: 1.2rem;
  display: inline-block;
  padding: calc(20px*.6) 20px;
  color: #F8F9FA;
  margin: 0 calc(20px*0.25);
}

@media only screen and (min-width: 540.5px) {
  footer .footer__bar div span, footer .footer__bar div address, footer .footer__bar div a {
    padding: calc(20px*.6) 20px calc(20px*.6) 0;
  }
}

footer .footer__bar div span {
  font-size: 15px;
}

footer .footer__bar div address, footer .footer__bar div a {
  font-size: 15px;
}

.contact {
  max-width: 680px;
  margin: 0 auto;
}

.contact h3 {
  margin: 20px;
  color: #73123d;
}

.contact h5 {
  width: 100%;
}

.contact__form {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  justify-content: space-between;
  padding: 0 20px;
}

.contact__form input, .contact__form textarea, .contact__form select {
  padding: calc(20px/2);
  margin: 0 0 20px;
  width: 100%;
  -webkit-appearance: none;
  border: 1px solid black;
  color: #555555;
}

.contact__form input:focus, .contact__form textarea:focus, .contact__form select:focus {
  outline: #73123d auto 1px;
}

@media only screen and (min-width: 768.5px) {
  .contact__form input, .contact__form select {
    width: calc(50% - 20px);
  }
}

.contact__form input[type="submit"] {
  padding: calc(20px*0.45) calc(20px*1.5);
  text-transform: uppercase;
  border: 0;
  outline: 0;
  line-height: .75rem;
  min-width: 144.75px;
  text-align: center;
  border-radius: 4.5px;
  font-size: .85rem;
  font-family: "Open Sans", sans-serif;
  background-color: #137d7c;
  border: 1px solid #137d7c;
  color: white;
  width: auto;
}

.contact__form input[type="submit"]:hover {
  background-color: #0e5e5d;
}

.grecaptcha-badge {
  z-index: 20;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbnRhY3QvY29udGFjdC5jc3MiLCIuLi92ZW5kb3Ivc2Nzcy9fbm9ybWFsaXplLnNjc3MiLCIuLi9zZXR0aW5ncy9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vc2V0dGluZ3MvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vc2V0dGluZ3MvX21peGlucy5zY3NzIiwiY29tcG9uZW50cy9oZWFkZXIvX2hlYWRlci5zY3NzIiwiY29tcG9uZW50cy9oZXJvL19oZXJvLnNjc3MiLCJjb21wb25lbnRzL2Zvb3Rlci9fZm9vdGVyLnNjc3MiLCJjb250YWN0L2NvbnRhY3Quc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNBaEIsMkVBQUE7QUFFQTtFQUNFLHNCQUFzQjtBREN4Qjs7QUNDQTsrRURFK0U7QUNBL0U7OztFRElFO0FDQ0Y7RUFDRSxpQkFBaUI7RUFDakIsTUFBQTtFQUNBLDhCQUE4QjtFQUM5QixNQUFBO0VBQ0EsbUNBQW1DO0VBQ25DLGdDQUFnQztFQUNoQyw4QkFBOEI7RUFDOUIsa0NBQWtDO0FEQ3BDOztBQ0NBOytFREUrRTtBQ0EvRTs7RURHRTtBQ0FGO0VBQ0UsY0FBYztFQUNkLGtCQUFrQjtFQUNsQixpQkFBaUI7RUFDakIsbUNBQW1DO0VBQ25DLGdDQUFnQztFQUNoQyw4QkFBOEI7RUFDOUIsa0NBQWtDO0FERXBDOztBQ0FBOztFRElFO0FDREY7RUFDRSxjQUFjO0FER2hCOztBQ0RBOzs7RURNRTtBQ0ZGO0VBQ0UsY0FBYztFQUNkLGdCQUFnQjtBRElsQjs7QUNGQTsrRURLK0U7QUNIL0U7OztFRE9FO0FDSEY7RUFDRSx1QkFBdUI7RUFDdkIsTUFBQTtFQUNBLFNBQVM7RUFDVCxNQUFBO0VBQ0EsaUJBQWlCO0VBQ2pCLE1BQUE7QURLRjs7QUNIQTs7O0VEUUU7QUNKRjtFQUNFLGlDQUFpQztFQUNqQyxNQUFBO0VBQ0EsY0FBYztFQUNkLE1BQUE7QURNRjs7QUNKQTsrRURPK0U7QUNML0U7O0VEUUU7QUNMRjtFQUNFLDZCQUE2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QVc7QVJnMENiIiwiZmlsZSI6ImNvbnRhY3QvY29udGFjdC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4qIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW8tZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgbWF4LXdpZHRoOiAxOTgwcHg7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW8tZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC4gTWFrZSBpbWFnZXMgY29uc2lzdGVudC5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cbmJ1dHRvbixcbmlucHV0IHtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSxcbmJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3JpbmcsXG5idXR0b246LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmh0bWwge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWYsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6ICM1NTU1NTU7XG59XG5cbioge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjMTM3ZDdjO1xufVxuXG5hOnZpc2l0ZWQge1xuICBjb2xvcjogIzEzN2Q3Yztcbn1cblxuYTpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDE5LCAxMjUsIDEyNCwgMC45KTtcbn1cblxuLnN1YnRpdGxlIHtcbiAgY29sb3I6ICM3MzEyM2Q7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAyMHB4IGF1dG87XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4LjVweCkge1xuICAuc3VidGl0bGUge1xuICAgIG1heC13aWR0aDogOTYwcHg7XG4gIH1cbn1cblxuYnV0dG9uIHtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG51bCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW46IDAgMCAwLjVlbTtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbnAge1xuICBtYXJnaW46IDAgMCAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbmgxIHtcbiAgZm9udC1zaXplOiAxLjgwMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuaDIge1xuICBmb250LXNpemU6IDEuNjAycmVtO1xufVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMS40MjRyZW07XG59XG5cbmg0IHtcbiAgZm9udC1zaXplOiAxLjI2NnJlbTtcbn1cblxuaDUge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xufVxuXG5oNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwLjVweCkge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiAzLjVlbTtcbiAgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiAzLjE1N2VtO1xuICB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDIuMzY5ZW07XG4gIH1cbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogMS43NzdlbTtcbiAgfVxuICBoNSB7XG4gICAgZm9udC1zaXplOiAxLjMzM2VtO1xuICB9XG4gIGg2IHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cbn1cblxuLmhlcm8tLW9mZiB7XG4gIHBhZGRpbmctdG9wOiAxMDZweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwLjVweCkge1xuICAuaGVyby0tb2ZmIHtcbiAgICBwYWRkaW5nLXRvcDogMTMwcHg7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBoZWFkZXItLWluIHtcbiAgMCUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDElIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGhlYWRlci0tb3V0IHtcbiAgMCUge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA5OSUge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cblxuaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMzQsIDE1NCwgMTU0LCAwLjk0KTtcbiAgd2lkdGg6IDEwMHZ3O1xufVxuXG5oZWFkZXIuaGVhZGVyLS1maXhlZCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgb3BhY2l0eTogMTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAyMDE7XG4gIG1heC13aWR0aDogMTkwM3B4O1xufVxuXG5oZWFkZXIuaGVhZGVyLS1vdXQge1xuICBhbmltYXRpb246IGhlYWRlci0tb3V0IDUwMG1zIGVhc2UtaW4tb3V0O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG59XG5cbmhlYWRlci5oZWFkZXItLWluIHtcbiAgYW5pbWF0aW9uOiBoZWFkZXItLWluIDUwMG1zIGVhc2UtaW4tb3V0O1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG5oZWFkZXIgLmhlYWRlci0tbW9iaWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4taGVpZ2h0OiAxMDZweDtcbiAgcGFkZGluZzogMjBweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMC41cHgpIHtcbiAgaGVhZGVyIC5oZWFkZXItLW1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5oZWFkZXIgLmhlYWRlci0tbW9iaWxlIC5oZWFkZXJfX2xvZ28tLW1vYmlsZSBzdmcge1xuICB3aWR0aDogMTQycHg7XG4gIG1hcmdpbi1sZWZ0OiA2NXB4O1xuICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG59XG5cbmhlYWRlciAuaGVhZGVyLS1tb2JpbGUgLmhlYWRlcl9fb3Blbi0tbW9iaWxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAyMHB4O1xufVxuXG5oZWFkZXIgLmhlYWRlci0tbW9iaWxlIC5oZWFkZXJfX29wZW4tLW1vYmlsZSBzdmcge1xuICBvcGFjaXR5OiAwLjU7XG4gIHdpZHRoOiA0MnB4O1xufVxuXG5oZWFkZXIgLmhlYWRlci0tZGVza3RvcCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMC41cHgpIHtcbiAgaGVhZGVyIC5oZWFkZXItLWRlc2t0b3Age1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1pbi1oZWlnaHQ6IDEzMHB4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWF4LXdpZHRoOiAxNDgwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICB9XG59XG5cbmhlYWRlciAuaGVhZGVyLS1kZXNrdG9wIC5oZWFkZXJfX2xvZ28ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuXG5oZWFkZXIgLmhlYWRlci0tZGVza3RvcCAuaGVhZGVyX19sb2dvIHN2ZyB7XG4gIHdpZHRoOiBjYWxjKDIwcHgqMTEpO1xufVxuXG5oZWFkZXIgLmhlYWRlci0tZGVza3RvcCAuaGVhZGVyX19uYXYtLWRlc2t0b3Age1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmhlYWRlciAuaGVhZGVyLS1kZXNrdG9wIC5oZWFkZXJfX25hdi0tZGVza3RvcCBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5oZWFkZXIgLmhlYWRlci0tZGVza3RvcCAuaGVhZGVyX19uYXYtLWRlc2t0b3AgYSB7XG4gIHBhZGRpbmc6IGNhbGMoMjBweCowLjQpIDA7XG4gIG1hcmdpbjogMCBjYWxjKDIwcHgqMC40KSBjYWxjKDIwcHgqMC40KTtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuaGVhZGVyIC5oZWFkZXItLWRlc2t0b3AgLmhlYWRlcl9fbmF2LS1kZXNrdG9wIGE6aG92ZXIgc3BhbiB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB3aGl0ZTtcbn1cblxuaGVhZGVyIC5oZWFkZXItLWRlc2t0b3AgLmhlYWRlcl9fbmF2LS1kZXNrdG9wIGEuYWN0aXZlIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuaGVhZGVyIC5oZWFkZXItLWRlc2t0b3AgLmhlYWRlcl9fbmF2LS1kZXNrdG9wIHVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1pbi13aWR0aDogMTB2dztcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMzQsIDE1NCwgMTU0LCAwLjk0KTtcbn1cblxuaGVhZGVyIC5oZWFkZXItLWRlc2t0b3AgLmhlYWRlcl9fbmF2LS1kZXNrdG9wIGxpOmhvdmVyOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiAn4pa0JztcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgd2hpdGU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZm9udC1zaXplOiAyNHB4O1xuICB0b3A6IDc1JTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDZweDtcbn1cblxuaGVhZGVyIC5oZWFkZXItLWRlc2t0b3AgLmhlYWRlcl9fbmF2LS1kZXNrdG9wIGxpOmhvdmVyID4gdWwge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5oZWFkZXIgLmhlYWRlci0tZGVza3RvcCAuaGVhZGVyX19uYXYtLWRlc2t0b3AgbGk6aG92ZXIgPiB1bCBsaTpob3Zlcjo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5oZWFkZXIgLmhlYWRlci0tZGVza3RvcCAuaGVhZGVyX19sb2dpbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG5oZWFkZXIgLmhlYWRlci0tZGVza3RvcCAuaGVhZGVyX19sb2dpbiBhIHtcbiAgcGFkZGluZzogY2FsYygyMHB4KjAuNikgY2FsYygyMHB4KjAuNSk7XG4gIG1hcmdpbjogMCAyMHB4O1xuICBsaW5lLWhlaWdodDogMXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuaGVhZGVyIC5oZWFkZXItLWRlc2t0b3AgLmhlYWRlcl9fbG9naW4gLmhlYWRlcl9fbG9naW4tLWhvdmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbmhlYWRlciAuaGVhZGVyLS1kZXNrdG9wIC5oZWFkZXJfX2xvZ2luIC5oZWFkZXJfX2xvZ2luLS1ob3Zlcjpob3Zlcjo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogJ+KWtCc7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHdoaXRlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgdG9wOiA4NSU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiA4cHg7XG59XG5cbmhlYWRlciAuaGVhZGVyLS1kZXNrdG9wIC5oZWFkZXJfX2xvZ2luIGZvcm0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDFyZW07XG59XG5cbmhlYWRlciAuaGVhZGVyLS1kZXNrdG9wIC5oZWFkZXJfX2xvZ2luIGZvcm0gLnNlYXJjaCB7XG4gIHotaW5kZXg6IDIxMDtcbiAgd2lkdGg6IDA7XG4gIHBhZGRpbmc6IGNhbGMoMjBweCowLjYpIDA7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuNHM7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VFRUVFRTtcbiAgbGluZS1oZWlnaHQ6IDFyZW07XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuaGVhZGVyIC5oZWFkZXItLWRlc2t0b3AgLmhlYWRlcl9fbG9naW4gZm9ybSAuc2VhcmNoOmZvY3VzIHtcbiAgd2lkdGg6IGNhbGMoMjBweCoxNSk7XG4gIHBhZGRpbmc6IGNhbGMoMjBweCowLjYpO1xufVxuXG5oZWFkZXIgLmhlYWRlci0tZGVza3RvcCAuaGVhZGVyX19sb2dpbiBmb3JtIC5zZWFyY2hidXR0b24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiBjYWxjKDIwcHgqMC43NSkgMjBweCBjYWxjKDIwcHgqMC41KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuaGVhZGVyIC5oZWFkZXItLWRlc2t0b3AgLmhlYWRlcl9fbG9naW4gZm9ybSAuc2VhcmNoYnV0dG9uIC5tZ2xhc3Mge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuaGVhZGVyIC5oZWFkZXItLWRlc2t0b3AgLmhlYWRlcl9fbG9naW4gZm9ybSAuc2VhcmNoOmZvY3VzICsgLnNlYXJjaGJ1dHRvbiB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC40cztcbiAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjRzO1xuICAtby10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjRzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjRzO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbmhlYWRlciAuaGVhZGVyLS1kZXNrdG9wIC5oZWFkZXJfX2xvZ2luIC5idXR0b24ge1xuICBwYWRkaW5nOiBjYWxjKDIwcHgqMC40NSkgY2FsYygyMHB4KjEuNSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogMDtcbiAgbGluZS1oZWlnaHQ6IC43NXJlbTtcbiAgbWluLXdpZHRoOiAxNDQuNzVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA0LjVweDtcbiAgZm9udC1zaXplOiAuODVyZW07XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTM3ZDdjO1xuICBib3JkZXI6IDFweCBzb2xpZCAjMTM3ZDdjO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbmhlYWRlciAuaGVhZGVyLS1kZXNrdG9wIC5oZWFkZXJfX2xvZ2luIC5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGU1ZTVkO1xufVxuXG4ub2ZmY2FudmFzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAyMDU7XG4gIHRvcDogMDtcbiAgbGVmdDogLTIwLjI1cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDIwLjI1cmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNFRUVFRUU7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMC41cHgpIHtcbiAgLm9mZmNhbnZhcyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ub2ZmY2FudmFzLnZpc2libGUge1xuICBsZWZ0OiAwO1xuICBib3gtc2hhZG93OiAwIDAgNjBweCAwIHJnYmEoMCwgMCwgMCwgMC43NSk7XG59XG5cbi5vZmZjYW52YXM6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm9mZmNhbnZhcyAub2ZmY2FudmFzX19sb2dvIHtcbiAgbWFyZ2luOiAyMHB4O1xuICBwYWRkaW5nOiAwIDIwcHg7XG59XG5cbi5vZmZjYW52YXMgLm9mZmNhbnZhc19fbG9nbyBzdmcge1xuICB3aWR0aDogY2FsYygyMHB4KjkpO1xufVxuXG4ub2ZmY2FudmFzIC5vZmZjYW52YXNfX2xvZ28gc3ZnICoge1xuICBmaWxsOiAjNTU1NTU1O1xufVxuXG4ub2ZmY2FudmFzIC5vZmZjYW52YXNfX2Nsb3NlIHtcbiAgZm9udC1zaXplOiBjYWxjKDE2cHgqNC41KTtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoMjBweCoxLjUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGNvbG9yOiAjNTU1NTU1O1xufVxuXG4ub2ZmY2FudmFzIC5vZmZjYW52YXNfX25hdi0tdG9wIC5uYXZpZ2F0aW9uX19ub2RlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm9mZmNhbnZhcyAub2ZmY2FudmFzX19uYXYtLXRvcCAubmF2aWdhdGlvbl9fbm9kZSBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgdG9wOiBjYWxjKDIwcHgqMC44KTtcbn1cblxuLm9mZmNhbnZhcyAub2ZmY2FudmFzX19uYXYtLXRvcCAubmF2aWdhdGlvbl9fbm9kZSBhLCAub2ZmY2FudmFzIC5vZmZjYW52YXNfX25hdi0tdG9wIC5uYXZpZ2F0aW9uX19ub2RlIGxhYmVsIHtcbiAgbWFyZ2luOiAwIGNhbGMoMjBweCoyKTtcbiAgcGFkZGluZzogY2FsYygyMHB4KjAuNzUpIDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1zaXplOiBjYWxjKDE2cHgqMS4yKTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNvbG9yOiAjNTU1NTU1O1xufVxuXG4ub2ZmY2FudmFzIC5vZmZjYW52YXNfX25hdi0tdG9wIC5uYXZpZ2F0aW9uX19ub2RlIGEuYWN0aXZlLCAub2ZmY2FudmFzIC5vZmZjYW52YXNfX25hdi0tdG9wIC5uYXZpZ2F0aW9uX19ub2RlIGxhYmVsLmFjdGl2ZSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5vZmZjYW52YXMgLm9mZmNhbnZhc19fbmF2LS10b3AgLm5hdmlnYXRpb25fX25vZGUgbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5vZmZjYW52YXMgLm9mZmNhbnZhc19fbmF2LS10b3AgLm5hdmlnYXRpb25fX25vZGUgbGFiZWw6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IC0xN3B4O1xuICB0b3A6IDIwcHg7XG4gIGNvbnRlbnQ6ICfilrwnO1xuICBjb2xvcjogYmxhY2s7XG4gIGZvbnQtc2l6ZTogMC41cmVtO1xuICBsaW5lLWhlaWdodDogMC41cmVtO1xufVxuXG4ub2ZmY2FudmFzIC5vZmZjYW52YXNfX25hdi0tdG9wIC5uYXZpZ2F0aW9uX19ub2RlIGlucHV0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm9mZmNhbnZhcyAub2ZmY2FudmFzX19uYXYtLXRvcCAubmF2aWdhdGlvbl9fbm9kZSAubmF2aWdhdGlvbl9fc3Vibm9kZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXgtaGVpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ub2ZmY2FudmFzIC5vZmZjYW52YXNfX25hdi0tdG9wIC5uYXZpZ2F0aW9uX19ub2RlIC5uYXZpZ2F0aW9uX19zdWJub2RlIGEge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAxMDAlO1xuICBmb250LXNpemU6IDE2cHg7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICBmb250LXdlaWdodDogMzAwO1xuICBwYWRkaW5nOiBjYWxjKDIwcHgqMC41KTtcbn1cblxuLm9mZmNhbnZhcyAub2ZmY2FudmFzX19uYXYtLXRvcCAubmF2aWdhdGlvbl9fbm9kZSBpbnB1dDpjaGVja2VkIH4gLm5hdmlnYXRpb25fX3N1Ym5vZGUge1xuICBtYXgtaGVpZ2h0OiAxMDB2aDtcbn1cblxuLm9mZmNhbnZhcyAub2ZmY2FudmFzX19uYXYtLXRvcCAubmF2aWdhdGlvbl9fbm9kZSBpbnB1dDpjaGVja2VkIH4gLm5hdmlnYXRpb25fX3N1Ym5vZGUgYSB7XG4gIG9wYWNpdHk6IDE7XG4gIGxlZnQ6IDA7XG59XG5cbi5vZmZjYW52YXMgLm9mZmNhbnZhc19fZm9vdGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IGF1dG87XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NTU1NTU7XG59XG5cbi5vZmZjYW52YXMgLm9mZmNhbnZhc19fZm9vdGVyIC5vZmZjYW52YXNfX3NvY2lhbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIG9wYWNpdHk6IDAuNjtcbn1cblxuLm9mZmNhbnZhcyAub2ZmY2FudmFzX19mb290ZXIgLm9mZmNhbnZhc19fc29jaWFsIGEge1xuICBwYWRkaW5nOiBjYWxjKDIwcHgqMC42KTtcbn1cblxuLm9mZmNhbnZhcyAub2ZmY2FudmFzX19mb290ZXIgLm9mZmNhbnZhc19fc29jaWFsIGltZyB7XG4gIHdpZHRoOiAyNHB4O1xufVxuXG4ub2ZmY2FudmFzX193cmFwcGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAyMDQ7XG4gIHRvcDogMDtcbiAgbGVmdDogLTEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDAuNXB4KSB7XG4gIC5vZmZjYW52YXNfX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLm9mZmNhbnZhc19fd3JhcHBlci52aXNpYmxlIHtcbiAgbGVmdDogMDtcbiAgYm94LXNoYWRvdzogMCAwIDYwcHggMCByZ2JhKDAsIDAsIDAsIDAuNzUpO1xufVxuXG4uaGVyb19fd3JhcHBlciB7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMjBweCoyNyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDEwNnB4O1xuICB6LWluZGV4OiAzO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDAuNXB4KSB7XG4gIC5oZXJvX193cmFwcGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMTMwcHg7XG4gIH1cbn1cblxuLmhlcm9fX3dyYXBwZXI6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzUsIDQyLCA1OCwgMC40KTtcbiAgei1pbmRleDogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmhlcm9fX3dyYXBwZXIgLmhlcm9fX3RpdGxlIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAyMHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDAuNXB4KSB7XG4gIC5oZXJvX193cmFwcGVyIC5oZXJvX190aXRsZSB7XG4gICAgd2lkdGg6IDEwODBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cbi5oZXJvX193cmFwcGVyIC5oZXJvX190aXRsZSBoMSwgLmhlcm9fX3dyYXBwZXIgLmhlcm9fX3RpdGxlIHAsIC5oZXJvX193cmFwcGVyIC5oZXJvX190aXRsZSBhIHtcbiAgY29sb3I6IHdoaXRlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG59XG5cbi5oZXJvX193cmFwcGVyIC5oZXJvX190aXRsZSBoMSB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgbWFyZ2luLWJvdHRvbTogLjI1ZW07XG59XG5cbi5oZXJvX193cmFwcGVyIC5oZXJvX190aXRsZSBwIHtcbiAgY29sb3I6IHdoaXRlO1xuICBtYXgtd2lkdGg6IDY4MHB4O1xufVxuXG4uaGVyb19fd3JhcHBlciAuaGVyb19fdGl0bGUgLmhlcm9fX2J1dHRvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5oZXJvX193cmFwcGVyIC5oZXJvX190aXRsZSAuaGVyb19fYnV0dG9ucyAuaGVyb19fYnV0dG9uLS1jYXJuYXRpb24ge1xuICBwYWRkaW5nOiBjYWxjKDIwcHgqMC40NSkgY2FsYygyMHB4KjEuNSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogMDtcbiAgbGluZS1oZWlnaHQ6IC43NXJlbTtcbiAgbWluLXdpZHRoOiAxNDQuNzVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA0LjVweDtcbiAgZm9udC1zaXplOiAuODVyZW07XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzMxMjNkO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNzMxMjNkO1xuICBjb2xvcjogd2hpdGU7XG4gIG1hcmdpbjogY2FsYygyMHB4LzIpIDIwcHggY2FsYygyMHB4LzIpIDA7XG59XG5cbi5oZXJvX193cmFwcGVyIC5oZXJvX190aXRsZSAuaGVyb19fYnV0dG9ucyAuaGVyb19fYnV0dG9uLS1jYXJuYXRpb246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQwZDJkO1xufVxuXG5mb290ZXIge1xuICBtYXgtd2lkdGg6IDE5ODBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xufVxuXG5mb290ZXIgYSB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuZm9vdGVyIC5mb290ZXJfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiAxMDgwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAyMHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OC41cHgpIHtcbiAgZm9vdGVyIC5mb290ZXJfX3dyYXBwZXIge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDAuNXB4KSB7XG4gIGZvb3RlciAuZm9vdGVyX193cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG4gIH1cbn1cblxuZm9vdGVyIC5mb290ZXJfX3dyYXBwZXIgLmZvb3Rlcl9fZm9ybSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMS4yNTtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAyMHB4IGF1dG87XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQwLjVweCkge1xuICBmb290ZXIgLmZvb3Rlcl9fd3JhcHBlciAuZm9vdGVyX19mb3JtIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtaW4td2lkdGg6IDQwJTtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgfVxuICBmb290ZXIgLmZvb3Rlcl9fd3JhcHBlciAuZm9vdGVyX19mb3JtIGg0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OC41cHgpIHtcbiAgZm9vdGVyIC5mb290ZXJfX3dyYXBwZXIgLmZvb3Rlcl9fZm9ybSB7XG4gICAgd2lkdGg6IDMwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWFyZ2luOiBjYWxjKDIwcHgqLjUpIDA7XG4gIH1cbn1cblxuZm9vdGVyIC5mb290ZXJfX3dyYXBwZXIgLmZvb3Rlcl9fZm9ybSBoNCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjguNXB4KSB7XG4gIGZvb3RlciAuZm9vdGVyX193cmFwcGVyIC5mb290ZXJfX2Zvcm0gaDQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cblxuZm9vdGVyIC5mb290ZXJfX3dyYXBwZXIgLmZvb3Rlcl9fZm9ybSBmb3JtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGZsZXgtZmxvdzogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbmZvb3RlciAuZm9vdGVyX193cmFwcGVyIC5mb290ZXJfX2Zvcm0gZm9ybSBpbnB1dFt0eXBlPSdlbWFpbCddLFxuZm9vdGVyIC5mb290ZXJfX3dyYXBwZXIgLmZvb3Rlcl9fZm9ybSBmb3JtIGlucHV0W3R5cGU9J3RleHQnXSB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbWluLXdpZHRoOiBjYWxjKDIwcHgqMTApO1xuICBtYXJnaW46IGNhbGMoMjBweC80KSAwO1xuICBwYWRkaW5nOiBjYWxjKDIwcHgqLjMpO1xuICBib3JkZXI6IDA7XG4gIG91dGxpbmU6IDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMC41cHgpIHtcbiAgZm9vdGVyIC5mb290ZXJfX3dyYXBwZXIgLmZvb3Rlcl9fZm9ybSBmb3JtIGlucHV0W3R5cGU9J2VtYWlsJ10sXG4gIGZvb3RlciAuZm9vdGVyX193cmFwcGVyIC5mb290ZXJfX2Zvcm0gZm9ybSBpbnB1dFt0eXBlPSd0ZXh0J10ge1xuICAgIG1pbi13aWR0aDogY2FsYygyMHB4KjEyKTtcbiAgfVxufVxuXG5mb290ZXIgLmZvb3Rlcl9fd3JhcHBlciAuZm9vdGVyX19mb3JtIGZvcm0gaW5wdXRbdHlwZT0nZW1haWwnXTo6cGxhY2Vob2xkZXIsXG5mb290ZXIgLmZvb3Rlcl9fd3JhcHBlciAuZm9vdGVyX19mb3JtIGZvcm0gaW5wdXRbdHlwZT0ndGV4dCddOjpwbGFjZWhvbGRlciB7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDAuNzVyZW07XG59XG5cbmZvb3RlciAuZm9vdGVyX193cmFwcGVyIC5mb290ZXJfX2Zvcm0gZm9ybSBidXR0b25bdHlwZT0nc3VibWl0J10ge1xuICBtYXJnaW46IDIwcHggMCBjYWxjKDIwcHgqMC42KTtcbiAgcGFkZGluZzogY2FsYygyMHB4KjAuNDUpIGNhbGMoMjBweCoxLjUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXI6IDA7XG4gIG91dGxpbmU6IDA7XG4gIGxpbmUtaGVpZ2h0OiAuNzVyZW07XG4gIG1pbi13aWR0aDogMTQ0Ljc1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNC41cHg7XG4gIGZvbnQtc2l6ZTogLjg1cmVtO1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzN2Q3YztcbiAgYm9yZGVyOiAxcHggc29saWQgIzEzN2Q3YztcbiAgY29sb3I6IHdoaXRlO1xufVxuXG5mb290ZXIgLmZvb3Rlcl9fd3JhcHBlciAuZm9vdGVyX19mb3JtIGZvcm0gYnV0dG9uW3R5cGU9J3N1Ym1pdCddOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBlNWU1ZDtcbn1cblxuZm9vdGVyIC5mb290ZXJfX3dyYXBwZXIgLmZvb3Rlcl9fc29jaWFsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAyMHB4IGF1dG87XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQwLjVweCkge1xuICBmb290ZXIgLmZvb3Rlcl9fd3JhcHBlciAuZm9vdGVyX19zb2NpYWwge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1pbi13aWR0aDogNDAlO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4LjVweCkge1xuICBmb290ZXIgLmZvb3Rlcl9fd3JhcHBlciAuZm9vdGVyX19zb2NpYWwge1xuICAgIHdpZHRoOiAzMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1hcmdpbjogY2FsYygyMHB4Ki41KSAwO1xuICB9XG59XG5cbmZvb3RlciAuZm9vdGVyX193cmFwcGVyIC5mb290ZXJfX3NvY2lhbCBzdmcge1xuICBtYXgtd2lkdGg6IDE4MHB4O1xuICBvcGFjaXR5OiAwLjY7XG59XG5cbmZvb3RlciAuZm9vdGVyX193cmFwcGVyIC5mb290ZXJfX3NvY2lhbCBhIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiBjYWxjKDIwcHgqMC42KTtcbiAgYm9yZGVyOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbmZvb3RlciAuZm9vdGVyX193cmFwcGVyIC5mb290ZXJfX3NvY2lhbCBhIGltZyB7XG4gIHdpZHRoOiAyNHB4O1xuICBvcGFjaXR5OiAwLjY7XG59XG5cbmZvb3RlciAuZm9vdGVyX193cmFwcGVyIC5mb290ZXJfX3NvY2lhbCBhOmhvdmVyIGltZyB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbmZvb3RlciAuZm9vdGVyX193cmFwcGVyIC5mb290ZXJfX2RvbmF0ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMjBweCBhdXRvO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0MC41cHgpIHtcbiAgZm9vdGVyIC5mb290ZXJfX3dyYXBwZXIgLmZvb3Rlcl9fZG9uYXRlIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtaW4td2lkdGg6IDQwJTtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjguNXB4KSB7XG4gIGZvb3RlciAuZm9vdGVyX193cmFwcGVyIC5mb290ZXJfX2RvbmF0ZSB7XG4gICAgd2lkdGg6IDMwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbjogY2FsYygyMHB4Ki41KSAwO1xuICB9XG59XG5cbmZvb3RlciAuZm9vdGVyX193cmFwcGVyIC5mb290ZXJfX2RvbmF0ZSBuYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4LjVweCkge1xuICBmb290ZXIgLmZvb3Rlcl9fd3JhcHBlciAuZm9vdGVyX19kb25hdGUgbmF2IHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDIwcHgqMC42KTtcbiAgfVxufVxuXG5mb290ZXIgLmZvb3Rlcl9fd3JhcHBlciAuZm9vdGVyX19kb25hdGUgbmF2IGEge1xuICBwYWRkaW5nOiBjYWxjKDIwcHgvMykgMDtcbiAgY29sb3I6IHdoaXRlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbmZvb3RlciAuZm9vdGVyX193cmFwcGVyIC5mb290ZXJfX2RvbmF0ZSBuYXYgYTpob3Zlcjo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogJyc7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHdoaXRlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgdG9wOiA4NSU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiA2cHg7XG59XG5cbmZvb3RlciAuZm9vdGVyX193cmFwcGVyIC5mb290ZXJfX2RvbmF0ZSAuZm9vdGVyX19idXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKDIwcHgqMS41KTtcbiAgcGFkZGluZzogY2FsYygyMHB4KjAuNDUpIGNhbGMoMjBweCoxLjUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXI6IDA7XG4gIG91dGxpbmU6IDA7XG4gIGxpbmUtaGVpZ2h0OiAuNzVyZW07XG4gIG1pbi13aWR0aDogMTQ0Ljc1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNC41cHg7XG4gIGZvbnQtc2l6ZTogLjg1cmVtO1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzN2Q3YztcbiAgYm9yZGVyOiAxcHggc29saWQgIzEzN2Q3YztcbiAgY29sb3I6IHdoaXRlO1xufVxuXG5mb290ZXIgLmZvb3Rlcl9fd3JhcHBlciAuZm9vdGVyX19kb25hdGUgLmZvb3Rlcl9fYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBlNWU1ZDtcbn1cblxuZm9vdGVyIC5mb290ZXJfX2JhciB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1NTU1O1xufVxuXG5mb290ZXIgLmZvb3Rlcl9fYmFyIGRpdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0MC41cHgpIHtcbiAgZm9vdGVyIC5mb290ZXJfX2JhciBkaXYge1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0MC41cHgpIHtcbiAgZm9vdGVyIC5mb290ZXJfX2JhciBkaXYgLmFkZHJlc3MtLW1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5mb290ZXIgLmZvb3Rlcl9fYmFyIGRpdiAuYWRkcmVzcy0tZGVza3RvcCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTQwLjVweCkge1xuICBmb290ZXIgLmZvb3Rlcl9fYmFyIGRpdiAuYWRkcmVzcy0tZGVza3RvcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuZm9vdGVyIC5mb290ZXJfX2JhciBkaXYgc3BhbiwgZm9vdGVyIC5mb290ZXJfX2JhciBkaXYgYWRkcmVzcywgZm9vdGVyIC5mb290ZXJfX2JhciBkaXYgYSB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuMnJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiBjYWxjKDIwcHgqLjYpIDIwcHg7XG4gIGNvbG9yOiAjRjhGOUZBO1xuICBtYXJnaW46IDAgY2FsYygyMHB4KjAuMjUpO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU0MC41cHgpIHtcbiAgZm9vdGVyIC5mb290ZXJfX2JhciBkaXYgc3BhbiwgZm9vdGVyIC5mb290ZXJfX2JhciBkaXYgYWRkcmVzcywgZm9vdGVyIC5mb290ZXJfX2JhciBkaXYgYSB7XG4gICAgcGFkZGluZzogY2FsYygyMHB4Ki42KSAyMHB4IGNhbGMoMjBweCouNikgMDtcbiAgfVxufVxuXG5mb290ZXIgLmZvb3Rlcl9fYmFyIGRpdiBzcGFuIHtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuXG5mb290ZXIgLmZvb3Rlcl9fYmFyIGRpdiBhZGRyZXNzLCBmb290ZXIgLmZvb3Rlcl9fYmFyIGRpdiBhIHtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuXG4uY29udGFjdCB7XG4gIG1heC13aWR0aDogNjgwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uY29udGFjdCBoMyB7XG4gIG1hcmdpbjogMjBweDtcbiAgY29sb3I6ICM3MzEyM2Q7XG59XG5cbi5jb250YWN0IGg1IHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jb250YWN0X19mb3JtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMCAyMHB4O1xufVxuXG4uY29udGFjdF9fZm9ybSBpbnB1dCwgLmNvbnRhY3RfX2Zvcm0gdGV4dGFyZWEsIC5jb250YWN0X19mb3JtIHNlbGVjdCB7XG4gIHBhZGRpbmc6IGNhbGMoMjBweC8yKTtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XG4gIGNvbG9yOiAjNTU1NTU1O1xufVxuXG4uY29udGFjdF9fZm9ybSBpbnB1dDpmb2N1cywgLmNvbnRhY3RfX2Zvcm0gdGV4dGFyZWE6Zm9jdXMsIC5jb250YWN0X19mb3JtIHNlbGVjdDpmb2N1cyB7XG4gIG91dGxpbmU6ICM3MzEyM2QgYXV0byAxcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4LjVweCkge1xuICAuY29udGFjdF9fZm9ybSBpbnB1dCwgLmNvbnRhY3RfX2Zvcm0gc2VsZWN0IHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTtcbiAgfVxufVxuXG4uY29udGFjdF9fZm9ybSBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgcGFkZGluZzogY2FsYygyMHB4KjAuNDUpIGNhbGMoMjBweCoxLjUpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXI6IDA7XG4gIG91dGxpbmU6IDA7XG4gIGxpbmUtaGVpZ2h0OiAuNzVyZW07XG4gIG1pbi13aWR0aDogMTQ0Ljc1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNC41cHg7XG4gIGZvbnQtc2l6ZTogLjg1cmVtO1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzN2Q3YztcbiAgYm9yZGVyOiAxcHggc29saWQgIzEzN2Q3YztcbiAgY29sb3I6IHdoaXRlO1xuICB3aWR0aDogYXV0bztcbn1cblxuLmNvbnRhY3RfX2Zvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZTVlNWQ7XG59XG5cbi5ncmVjYXB0Y2hhLWJhZGdlIHtcbiAgei1pbmRleDogMjA7XG59XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtby1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgbWF4LXdpZHRoOiAxOTgwcHg7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW8tZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqL1xufVxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi9cbn1cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovXG59XG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqL1xufVxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLiBNYWtlIGltYWdlcyBjb25zaXN0ZW50LlxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi9cbn1cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5idXR0b24sXG5pbnB1dCB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSxcbmJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyxcbmJ1dHRvbjotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi9cbn1cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi9cbn1cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovXG59XG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovXG59XG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCJodG1sIHtcbiAgZm9udC1mYW1pbHk6ICRmb250X19tb250c2VycmF0LCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICRjb2xvcl9fZW1wZXJvcjtcbiAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChpcGFkUHJvKSB7XG4gIC8vICAgZm9udC1zaXplOiBjYWxjKCN7JGJhc2UtZm9udC1zaXplfSoxLjEyNSk7XG4gIC8vIH1cbn1cblxuKiB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICRjb2xvcl9fc2hhZG93Z3JlZW47XG5cbiAgJjp2aXNpdGVkIHtcbiAgICBjb2xvcjogJGNvbG9yX19zaGFkb3dncmVlbjtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudGl6ZSgkY29sb3JfX3NoYWRvd2dyZWVuLCAwLjEpO1xuICB9XG59XG5cbi5zdWJ0aXRsZSB7XG4gIGNvbG9yOiAkY29sb3JfX2Nhcm5hdGlvbjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46ICRiYXNlLXNwYWNpbmcgYXV0bztcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChpcGFkUHJvKSB7XG4gICAgbWF4LXdpZHRoOiA5NjBweDtcbiAgfVxufVxuXG5idXR0b24ge1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbnVsIHtcbiAgLy8gbGlzdC1zdHlsZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIG1hcmdpbjogMCAwIDAuNWVtO1xuICAvLyBsaW5lLWhlaWdodDogY2FsYygjeyRiYXNlLWxpbmUtaGVpZ2h0fSowLjkpO1xuICBmb250LWZhbWlseTogJGZvbnRfX29wZW47XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbnAge1xuICBtYXJnaW46IDAgMCAxZW07XG4gIGxpbmUtaGVpZ2h0OiAkYmFzZS1saW5lLWhlaWdodDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuaDEge1xuICBmb250LXNpemU6IDEuODAycmVtO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMS42MDJyZW07XG59XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxLjQyNHJlbTtcbn1cblxuaDQge1xuICBmb250LXNpemU6IDEuMjY2cmVtO1xufVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG59XG5cbmg2IHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KGRlc2t0b3ApIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMy41ZW07XG4gIH1cblxuICBoMiB7Zm9udC1zaXplOiAzLjE1N2VtO31cblxuICBoMyB7Zm9udC1zaXplOiAyLjM2OWVtO31cblxuICBoNCB7Zm9udC1zaXplOiAxLjc3N2VtO31cblxuICBoNSB7Zm9udC1zaXplOiAxLjMzM2VtO31cblxuICBoNiB7Zm9udC1zaXplOiAxcmVtO31cblxufVxuIiwiLy8gR29sZGVuIFJhdGlvXG4kcGhpOiAxLjYxODAzMzk4ODc0OTg5NDg0ODI7XG5cbi8vIEZvbnRzXG4kZm9udF9fbW9udHNlcnJhdDogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuJGZvbnRfX29wZW46ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xuJGJhc2UtZm9udC1zaXplOiAxNnB4O1xuJGJhc2Utc3BhY2luZzogMjBweDtcbiRiYXNlLWxpbmUtaGVpZ2h0OiAxLjY7XG5cbi8vIENvbG9yc1xuLy8gJGNvbG9yX19jYXJuYXRpb246ICNGNTU2NTA7XG4vLyAkY29sb3JfX2Nhcm5hdGlvbjogI2Y3MmUyNjtcbiRjb2xvcl9fY2FybmF0aW9uOiAjNzMxMjNkO1xuJGNvbG9yX19lYm9ueWNsYXk6ICMyMzJBM0E7XG4kY29sb3JfX3NoYWRvd2dyZWVuOiAjMTM3ZDdjO1xuJGNvbG9yX19ncmFubnlzbWl0aDogIzg2OWE5YTtcbiRjb2xvcl9fZ2FsbGVyeTogI0VFRUVFRTtcbiRjb2xvcl9fYXRoZW5zZ3JheTogI0Y4RjlGQTtcbiRjb2xvcl9fZW1wZXJvcjogIzU1NTU1NTtcbiRjb2xvcl9fbWVyY3VyeTogI0U1RTVFNTtcbiIsIi8vIEJyZWFrcG9pbnRzXG5AbWl4aW4gYnJlYWtwb2ludCgkcG9pbnQpIHtcbiAgQGlmICRwb2ludCA9PSBkZXNrdG9wIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDAuNXB4KSB7IEBjb250ZW50IDsgfVxuIH1cbiBAZWxzZSBpZiAkcG9pbnQgPT0gZGVza3RvcF9tZWRpdW0ge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkgeyBAY29udGVudCA7IH1cbiB9XG4gQGVsc2UgaWYgJHBvaW50ID09IGRlc2t0b3Bfc21hbGwge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjQuNXB4KSB7IEBjb250ZW50IDsgfVxuIH1cbiAgIEBlbHNlIGlmICRwb2ludCA9PSBpcGFkUHJvIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OC41cHgpIHsgQGNvbnRlbnQgOyB9XG4gfVxuICBAZWxzZSBpZiAkcG9pbnQgPT0gaXBhZCB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NDAuNXB4KSB7IEBjb250ZW50IDsgfVxuIH1cbiBAZWxzZSBpZiAkcG9pbnQgPT0gbW9iaWxlIHtcbiAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzc1LjVweCkgIHsgQGNvbnRlbnQgOyB9XG4gfVxuIEBlbHNlIGlmICRwb2ludCA9PSBpcGhvbmVYIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMjAuNXB4KSB7IEBjb250ZW50IDsgfVxuIH1cbiBAZWxzZSBpZiAkcG9pbnQgPT0gaXBob25lNSB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzIwcHgpIHsgQGNvbnRlbnQgOyB9XG4gfVxufVxuXG4vLyBCdXR0b25zXG5AbWl4aW4gYnV0dG9uKCRjb2xvcikge1xuICBwYWRkaW5nOiBjYWxjKCN7JGJhc2Utc3BhY2luZ30qMC40NSkgY2FsYygjeyRiYXNlLXNwYWNpbmd9KjEuNSk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogMDtcbiAgbGluZS1oZWlnaHQ6IC43NXJlbTtcbiAgbWluLXdpZHRoOiAxNDQuNzVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA0LjVweDtcbiAgZm9udC1zaXplOiAuODVyZW07XG4gIGZvbnQtZmFtaWx5OiAkZm9udF9fb3BlbjtcbiAgQGlmICRjb2xvciA9PSBjYXJuYXRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fY2FybmF0aW9uO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcl9fY2FybmF0aW9uO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3JfX2Nhcm5hdGlvbiwgNyUpO1xuICAgIH1cbiAgfSBAZWxzZWlmICRjb2xvciA9PSBzaGFkb3dncmVlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yX19zaGFkb3dncmVlbjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfX3NoYWRvd2dyZWVuO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3JfX3NoYWRvd2dyZWVuLCA3JSk7XG4gICAgfVxuICB9IEBlbHNlaWYgJGNvbG9yID09IGNsZWFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfX2Nhcm5hdGlvbjtcbiAgICBjb2xvcjogJGNvbG9yX19jYXJuYXRpb247XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2F0aGVuc2dyYXk7XG4gICAgfVxuICB9XG59XG4iLCIuaGVyby0tb2ZmIHtcbiAgcGFkZGluZy10b3A6IDEwNnB4O1xuICAvLyBtYXJnaW4tdG9wOiAkYmFzZS1zcGFjaW5nO1xuICBAaW5jbHVkZSBicmVha3BvaW50KGRlc2t0b3ApIHtcbiAgICBwYWRkaW5nLXRvcDogIDEzMHB4O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgaGVhZGVyLS1pbiB7XG4gIDAlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxJSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBoZWFkZXItLW91dCB7XG4gIDAlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgOTklIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG5cbmhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCRjb2xvcl9fZ3Jhbm55c21pdGgsIC4wNik7XG4gIHdpZHRoOiAxMDB2dztcbiAgJi5oZWFkZXItLWZpeGVkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAyMDE7XG4gICAgbWF4LXdpZHRoOiAxOTAzcHg7XG4gIH1cbiAgJi5oZWFkZXItLW91dCB7XG4gICAgYW5pbWF0aW9uOiBoZWFkZXItLW91dCA1MDBtcyBlYXNlLWluLW91dDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAmLmhlYWRlci0taW4ge1xuICAgIGFuaW1hdGlvbjogaGVhZGVyLS1pbiA1MDBtcyBlYXNlLWluLW91dDtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5oZWFkZXItLW1vYmlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWluLWhlaWdodDogMTA2cHg7XG4gICAgcGFkZGluZzogJGJhc2Utc3BhY2luZztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZGVza3RvcCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmhlYWRlcl9fbG9nby0tbW9iaWxlIHtcbiAgICAgIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxNDJweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDY1cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNTBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmhlYWRlcl9fb3Blbi0tbW9iaWxlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6ICRiYXNlLXNwYWNpbmc7XG4gICAgICBzdmcge1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIHdpZHRoOiA0MnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXItLWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChkZXNrdG9wKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbWluLWhlaWdodDogMTMwcHg7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBtYXgtd2lkdGg6IDE0ODBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgcGFkZGluZzogMCAkYmFzZS1zcGFjaW5nO1xuICAgIH1cblxuICAgIC5oZWFkZXJfX2xvZ28ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICBzdmcge1xuICAgICAgICB3aWR0aDogY2FsYygjeyRiYXNlLXNwYWNpbmd9KjExKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGVyX19uYXYtLWRlc2t0b3Age1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZzogY2FsYygjeyRiYXNlLXNwYWNpbmd9KjAuNCkgMDtcbiAgICAgICAgbWFyZ2luOiAwIGNhbGMoI3skYmFzZS1zcGFjaW5nfSowLjQpIGNhbGMoI3skYmFzZS1zcGFjaW5nfSowLjQpO1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnRfX29wZW47XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICAgICAmOmhvdmVyIHNwYW4ge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB3aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1pbi13aWR0aDogMTB2dztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoJGNvbG9yX19ncmFubnlzbWl0aCwgLjA2KTtcbiAgICAgIH1cblxuICAgICAgbGk6aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6ICfilrQnO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB3aGl0ZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIHRvcDogNzUlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogNnB4O1xuICAgICAgfVxuXG4gICAgICBsaTpob3ZlciA+IHVsIHtcbiAgICAgIFx0ZGlzcGxheTogZmxleDtcbiAgICAgICAgbGk6aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAuaGVhZGVyX19sb2dpbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZzogY2FsYygjeyRiYXNlLXNwYWNpbmd9KjAuNikgY2FsYygjeyRiYXNlLXNwYWNpbmd9KjAuNSk7XG4gICAgICAgIG1hcmdpbjogMCAkYmFzZS1zcGFjaW5nO1xuICAgICAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250X19vcGVuO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB9XG5cbiAgICAgIC5oZWFkZXJfX2xvZ2luLS1ob3ZlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgY29udGVudDogJ+KWtCc7XG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB3aGl0ZTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgIHRvcDogODUlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiA4cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZm9ybSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMXJlbTtcblxuICAgICAgICAuc2VhcmNoIHtcbiAgICAgICAgICB6LWluZGV4OiAyMTA7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgcGFkZGluZzogY2FsYygjeyRiYXNlLXNwYWNpbmd9KjAuNikgMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjRzO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fZ2FsbGVyeTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7JGJhc2Utc3BhY2luZ30qMTUpO1xuICAgICAgICAgICAgcGFkZGluZzogY2FsYygjeyRiYXNlLXNwYWNpbmd9KjAuNik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlYXJjaGJ1dHRvbiB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBwYWRkaW5nOiBjYWxjKCN7JGJhc2Utc3BhY2luZ30qMC43NSkgJGJhc2Utc3BhY2luZyBjYWxjKCN7JGJhc2Utc3BhY2luZ30qMC41KTtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgIC5tZ2xhc3Mge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VhcmNoOmZvY3VzICsgLnNlYXJjaGJ1dHRvbiB7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjRzO1xuICAgICAgICAgIC1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjogMC40cztcbiAgICAgICAgICAtby10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjRzO1xuICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNHM7XG4gICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24oc2hhZG93Z3JlZW4pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ub2ZmY2FudmFzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAyMDU7XG4gIHRvcDogMDtcbiAgbGVmdDogLTIwLjI1cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDIwLjI1cmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fZ2FsbGVyeTtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChkZXNrdG9wKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICYudmlzaWJsZSB7XG4gICAgbGVmdDogMDtcbiAgICBib3gtc2hhZG93OiAwIDAgNjBweCAwIHJnYmEoMCwwLDAsLjc1KTtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLm9mZmNhbnZhc19fbG9nbyB7XG4gICAgbWFyZ2luOiAkYmFzZS1zcGFjaW5nO1xuICAgIHBhZGRpbmc6IDAgJGJhc2Utc3BhY2luZztcblxuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogY2FsYygjeyRiYXNlLXNwYWNpbmd9KjkpO1xuICAgICAgKiB7XG4gICAgICAgIGZpbGw6ICRjb2xvcl9fZW1wZXJvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAub2ZmY2FudmFzX19jbG9zZSB7XG4gICAgZm9udC1zaXplOiBjYWxjKCN7JGJhc2UtZm9udC1zaXplfSo0LjUpO1xuICAgIGxpbmUtaGVpZ2h0OiBjYWxjKCN7JGJhc2Utc3BhY2luZ30qMS41KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6ICRiYXNlLXNwYWNpbmc7XG4gICAgY29sb3I6ICRjb2xvcl9fZW1wZXJvcjtcbiAgfVxuXG4gIC5vZmZjYW52YXNfX25hdi0tdG9wIHtcbiAgICAvLyBkaXNwbGF5OiBmbGV4O1xuICAgIC8vIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLy8gYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgLy8ganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgLm5hdmlnYXRpb25fX25vZGUge1xuICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgIHdpZHRoOiAxMDAlO1xuICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcbiAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgIHRvcDogY2FsYygjeyRiYXNlLXNwYWNpbmd9KjAuOCk7XG4gICAgIH1cbiAgICAgYSwgbGFiZWwge1xuICAgICAgIG1hcmdpbjogMCBjYWxjKCN7JGJhc2Utc3BhY2luZ30qMik7XG4gICAgICAgcGFkZGluZzogY2FsYygjeyRiYXNlLXNwYWNpbmd9KjAuNzUpIDA7XG4gICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgIGZvbnQtc2l6ZTogY2FsYygjeyRiYXNlLWZvbnQtc2l6ZX0qMS4yKTtcbiAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgIGNvbG9yOiAkY29sb3JfX2VtcGVyb3I7XG5cbiAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgIH1cbiAgICAgfVxuXG4gICAgIGxhYmVsIHtcbiAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICByaWdodDogLTE3cHg7XG4gICAgICAgICB0b3A6ICRiYXNlLXNwYWNpbmc7XG4gICAgICAgICBjb250ZW50OiAn4pa8JztcbiAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgIGZvbnQtc2l6ZTogMC41cmVtO1xuICAgICAgICAgbGluZS1oZWlnaHQ6IDAuNXJlbTtcbiAgICAgICB9XG4gICAgIH1cblxuICAgICBpbnB1dCB7XG4gICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgfVxuXG4gICAgIC5uYXZpZ2F0aW9uX19zdWJub2RlIHtcbiAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAvLyBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgYSB7XG4gICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICBwYWRkaW5nOiBjYWxjKCN7JGJhc2Utc3BhY2luZ30qMC41KTtcbiAgICAgICB9XG4gICAgIH1cblxuICAgICBpbnB1dDpjaGVja2VkIH4gLm5hdmlnYXRpb25fX3N1Ym5vZGUge1xuICAgICAgIG1heC1oZWlnaHQ6IDEwMHZoO1xuICAgICAgIGEge1xuICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgfVxuICAgICB9XG4gICB9XG4gIH1cblxuICAub2ZmY2FudmFzX19mb290ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgcGFkZGluZzogJGJhc2Utc3BhY2luZztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2VtcGVyb3I7XG5cbiAgICAub2ZmY2FudmFzX19zb2NpYWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIG9wYWNpdHk6IDAuNjtcblxuICAgICAgYSB7XG4gICAgICAgIHBhZGRpbmc6IGNhbGMoI3skYmFzZS1zcGFjaW5nfSowLjYpO1xuICAgICAgfVxuXG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm9mZmNhbnZhc19fd3JhcHBlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMjA0O1xuICB0b3A6IDA7XG4gIGxlZnQ6IC0xMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChkZXNrdG9wKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICYudmlzaWJsZSB7XG4gICAgbGVmdDogMDtcbiAgICBib3gtc2hhZG93OiAwIDAgNjBweCAwIHJnYmEoMCwwLDAsLjc1KTtcbiAgfVxufVxuIiwiLmhlcm9fX3dyYXBwZXIge1xuICBtaW4taGVpZ2h0OiBjYWxjKCN7JGJhc2Utc3BhY2luZ30qMjcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiAxMDZweDtcbiAgei1pbmRleDogMztcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChkZXNrdG9wKSB7XG4gICAgcGFkZGluZy10b3A6IDEzMHB4O1xuICB9XG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudGl6ZSgkY29sb3JfX2Vib255Y2xheSwgMC42KTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICAuaGVyb19fdGl0bGUge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAkYmFzZS1zcGFjaW5nO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZGVza3RvcCkge1xuICAgICAgd2lkdGg6IDEwODBweDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gICAgaDEsIHAsIGEge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gICAgaDEge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLjI1ZW07XG4gICAgfVxuICAgIHAge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgbWF4LXdpZHRoOiA2ODBweDtcbiAgICB9XG4gICAgLmhlcm9fX2J1dHRvbnMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgLmhlcm9fX2J1dHRvbi0tY2FybmF0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKGNhcm5hdGlvbik7XG4gICAgICAgIG1hcmdpbjogY2FsYygjeyRiYXNlLXNwYWNpbmd9LzIpICRiYXNlLXNwYWNpbmcgY2FsYygjeyRiYXNlLXNwYWNpbmd9LzIpIDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJmb290ZXIge1xuICBtYXgtd2lkdGg6IDE5ODBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuXG4gIGEge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxuXG4gIC5mb290ZXJfX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1heC13aWR0aDogMTA4MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6ICRiYXNlLXNwYWNpbmc7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChpcGFkUHJvKSB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGRlc2t0b3ApIHtcbiAgICAgIHBhZGRpbmc6ICRiYXNlLXNwYWNpbmcgMDtcbiAgICB9XG5cbiAgICAuZm9vdGVyX19mb3JtIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXgtZ3JvdzogMS4yNTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAkYmFzZS1zcGFjaW5nIGF1dG87XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGlwYWQpIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1pbi13aWR0aDogNDAlO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgaDQge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGlwYWRQcm8pIHtcbiAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBtYXJnaW46IGNhbGMoI3skYmFzZS1zcGFjaW5nfSouNSkgMDtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoaXBhZFBybykge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZm9ybSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgIGlucHV0W3R5cGU9J2VtYWlsJ10sXG4gICAgICAgIGlucHV0W3R5cGU9J3RleHQnXSB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgIG1pbi13aWR0aDogY2FsYygjeyRiYXNlLXNwYWNpbmd9KjEwKTtcbiAgICAgICAgICBtYXJnaW46IGNhbGMoI3skYmFzZS1zcGFjaW5nfS80KSAwO1xuICAgICAgICAgIHBhZGRpbmc6IGNhbGMoI3skYmFzZS1zcGFjaW5nfSouMyk7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChkZXNrdG9wKSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IGNhbGMoI3skYmFzZS1zcGFjaW5nfSoxMik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250X19vcGVuO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGJ1dHRvblt0eXBlPSdzdWJtaXQnXSB7XG4gICAgICAgICAgbWFyZ2luOiAkYmFzZS1zcGFjaW5nIDAgY2FsYygjeyRiYXNlLXNwYWNpbmd9KjAuNik7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uKHNoYWRvd2dyZWVuKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5mb290ZXJfX3NvY2lhbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogJGJhc2Utc3BhY2luZyBhdXRvO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChpcGFkKSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtaW4td2lkdGg6IDQwJTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoaXBhZFBybykge1xuICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG1hcmdpbjogY2FsYygjeyRiYXNlLXNwYWNpbmd9Ki41KSAwO1xuICAgICAgfVxuXG4gICAgICBzdmcge1xuICAgICAgICBtYXgtd2lkdGg6IDE4MHB4O1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICB9XG5cblxuICAgICAgYSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogY2FsYygjeyRiYXNlLXNwYWNpbmd9KjAuNik7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9vdGVyX19kb25hdGUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAkYmFzZS1zcGFjaW5nIGF1dG87XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGlwYWQpIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1pbi13aWR0aDogNDAlO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGlwYWRQcm8pIHtcbiAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbjogY2FsYygjeyRiYXNlLXNwYWNpbmd9Ki41KSAwO1xuICAgICAgfVxuXG4gICAgICBuYXYge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoaXBhZFBybykge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGMoI3skYmFzZS1zcGFjaW5nfSowLjYpO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgIHBhZGRpbmc6IGNhbGMoI3skYmFzZS1zcGFjaW5nfS8zKSAwO1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB3aGl0ZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgIHRvcDogODUlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDZweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmZvb3Rlcl9fYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYygjeyRiYXNlLXNwYWNpbmd9KjEuNSk7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbihzaGFkb3dncmVlbik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gLmZvb3Rlcl9fY29ubmVjdCB7XG4gICAgLy8gICB3aWR0aDogMTAwJTtcbiAgICAvLyAgIG1hcmdpbjogJGJhc2Utc3BhY2luZyBhdXRvO1xuICAgIC8vICAgYWRkcmVzcyB7XG4gICAgLy8gICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAvLyAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAvLyAgICAgbWFyZ2luLWJvdHRvbTogY2FsYygjeyRiYXNlLXNwYWNpbmd9Ki41KTtcbiAgICAvLyAgIH1cbiAgICAvLyAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoaXBhZCkge1xuICAgIC8vICAgICBtaW4td2lkdGg6IDQwJTtcbiAgICAvLyAgICAgd2lkdGg6IGF1dG87XG4gICAgLy8gICB9XG4gICAgLy8gICBAaW5jbHVkZSBicmVha3BvaW50KGlwYWRQcm8pIHtcbiAgICAvLyAgICAgbWFyZ2luOiBjYWxjKCN7JGJhc2Utc3BhY2luZ30qLjUpIDA7XG4gICAgLy8gICAgIG1pbi13aWR0aDogMDtcbiAgICAvLyAgICAgd2lkdGg6IDMwJTtcbiAgICAvLyAgIH1cbiAgICAvLyB9XG4gICAgLy8gLmZvb3Rlcl9fbmF2IHtcbiAgICAvLyAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLy8gICBtYXJnaW46ICRiYXNlLXNwYWNpbmcgMDtcbiAgICAvLyAgIHBhZGRpbmc6IDAgJGJhc2Utc3BhY2luZztcbiAgICAvLyAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLy8gICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIC8vICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgLy8gICB3aWR0aDogMTAwJTtcbiAgICAvLyAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoaXBhZFBybykge1xuICAgIC8vICAgICBwYWRkaW5nOiAwO1xuICAgIC8vICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgLy8gICAgIG1hcmdpbjogY2FsYygjeyRiYXNlLXNwYWNpbmd9KjIpIDA7XG4gICAgLy8gICB9XG4gICAgLy9cbiAgICAvLyAgIGEge1xuICAgIC8vICAgICBwYWRkaW5nOiBjYWxjKCN7JGJhc2Utc3BhY2luZ30qMC40KSAwO1xuICAgIC8vICAgICBtYXJnaW46IDAgY2FsYygjeyRiYXNlLXNwYWNpbmd9KjAuNCk7XG4gICAgLy8gICAgIGZvbnQtZmFtaWx5OiAkZm9udF9fb3BlbjtcbiAgICAvLyAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAvLyAgICAgY29sb3I6IHdoaXRlO1xuICAgIC8vICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgLy9cbiAgICAvLyAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAvLyAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGlwYWRQcm8pIHtcbiAgICAvLyAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIC8vICAgICAgIH1cbiAgICAvLyAgICAgfVxuICAgIC8vXG4gICAgLy8gICAgICY6aG92ZXIge1xuICAgIC8vICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB3aGl0ZTtcbiAgICAvLyAgICAgfVxuICAgIC8vXG4gICAgLy8gICAgICYuYWN0aXZlIHtcbiAgICAvLyAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIC8vICAgICB9XG4gICAgLy8gICB9XG4gICAgLy8gfVxuICB9XG5cbiAgLmZvb3Rlcl9fYmFyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JfX2VtcGVyb3I7XG5cbiAgICBkaXYge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoaXBhZCkge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgIH1cblxuICAgICAgLmFkZHJlc3MtLW1vYmlsZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoaXBhZCkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmFkZHJlc3MtLWRlc2t0b3Age1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGlwYWQpIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzcGFuLCBhZGRyZXNzLCBhIHtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4ycmVtO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IGNhbGMoI3skYmFzZS1zcGFjaW5nfSouNikgJGJhc2Utc3BhY2luZztcbiAgICAgICAgY29sb3I6ICRjb2xvcl9fYXRoZW5zZ3JheTtcbiAgICAgICAgbWFyZ2luOiAwIGNhbGMoI3skYmFzZS1zcGFjaW5nfSowLjI1KTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChpcGFkKSB7XG4gICAgICAgICAgcGFkZGluZzogY2FsYygjeyRiYXNlLXNwYWNpbmd9Ki42KSAkYmFzZS1zcGFjaW5nIGNhbGMoI3skYmFzZS1zcGFjaW5nfSouNikgMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIH1cbiAgICAgIGFkZHJlc3MsIGEge1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi92ZW5kb3Ivc2Nzcy9fbm9ybWFsaXplLnNjc3MnO1xyXG5AaW1wb3J0ICcuLi8uLi9zZXR0aW5ncy9fdmFyaWFibGVzLnNjc3MnO1xyXG5AaW1wb3J0ICcuLi8uLi9zZXR0aW5ncy9fbWl4aW5zLnNjc3MnO1xyXG5AaW1wb3J0ICcuLi8uLi9zZXR0aW5ncy9fdHlwb2dyYXBoeS5zY3NzJztcclxuQGltcG9ydCAnLi4vY29tcG9uZW50cy9oZWFkZXIvX2hlYWRlci5zY3NzJztcclxuQGltcG9ydCAnLi4vY29tcG9uZW50cy9oZXJvL19oZXJvLnNjc3MnO1xyXG5AaW1wb3J0ICcuLi9jb21wb25lbnRzL2Zvb3Rlci9fZm9vdGVyLnNjc3MnO1xyXG5cclxuLmNvbnRhY3Qge1xyXG4gIG1heC13aWR0aDogNjgwcHg7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbiAgaDMge1xyXG4gICAgbWFyZ2luOiAkYmFzZS1zcGFjaW5nO1xyXG4gICAgY29sb3I6ICRjb2xvcl9fY2FybmF0aW9uO1xyXG4gIH1cclxuICBoNSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbiAgJl9fZm9ybSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgcGFkZGluZzogMCAkYmFzZS1zcGFjaW5nO1xyXG4gICAgaW5wdXQsIHRleHRhcmVhLCBzZWxlY3Qge1xyXG4gICAgICBwYWRkaW5nOiBjYWxjKCN7JGJhc2Utc3BhY2luZ30vMik7XHJcbiAgICAgIG1hcmdpbjogMCAwICRiYXNlLXNwYWNpbmc7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XHJcbiAgICAgIGNvbG9yOiAkY29sb3JfX2VtcGVyb3I7XHJcbiAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgIG91dGxpbmU6ICRjb2xvcl9fY2FybmF0aW9uIGF1dG8gMXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpbnB1dCwgc2VsZWN0IHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChpcGFkUHJvKSB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gI3skYmFzZS1zcGFjaW5nfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gICAgICBAaW5jbHVkZSBidXR0b24oc2hhZG93Z3JlZW4pO1xyXG4gICAgICB3aWR0aDogYXV0bztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5ncmVjYXB0Y2hhLWJhZGdlIHtcclxuICB6LWluZGV4OiAyMDtcclxufVxyXG4iXX0= */
