@import url(https://use.typekit.net/vaw7zrw.css);
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

html {
  box-sizing: border-box;
  font-size: 100%;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

/*********************
COLORS
*********************/
/*********************
Spacing
*********************/
/*********************
Breakpoints
*********************/
.icon {
  position: relative;
  display: inline-block;
  max-width: 100%;
}
.icon::before {
  content: "";
  display: block;
}
.icon::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
}
.icon svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.icon--background::before {
  padding-top: 112.3031077054%;
}

.icon--gitkeep::before {
  padding-top: 100%;
}

.icon--hotel-de-ville-title::before {
  padding-top: 27.6150627615%;
}

.icon--op-der-leier-title::before {
  padding-top: 27.6150627615%;
}

.icon--page-title::before {
  padding-top: 43.7837837838%;
}

.icon--place-de-la-resistance-title::before {
  padding-top: 27.6150627615%;
}

.icon--rue-de-l-alzette-title::before {
  padding-top: 27.6150627615%;
}

.icon--hero-image::before {
  padding-top: 65.7239819005%;
}

.icon--hotel-de-ville::before {
  padding-top: 77.4436090226%;
}

.icon--op-der-leier::before {
  padding-top: 67.7631578947%;
}

.icon--place-de-la-resistance::before {
  padding-top: 75.7352941176%;
}

.icon--rue-de-l-alzette::before {
  padding-top: 77.7358490566%;
}

.icon--esch-logo::before {
  padding-top: 101.6806722689%;
}

img {
  display: block;
  height: auto;
  max-width: 100%;
}

main {
  overflow: hidden;
}

body {
  font-family: din-2014, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 22px;
  line-height: 32px;
  color: #0E314B;
}
@media print, screen and (max-width: 29.99875em) {
  body {
    font-size: 18px;
    line-height: 25px;
  }
}

h1,
h2,
h3,
h4 {
  font-family: newbery-sans-pro-condensed, sans-serif;
  font-weight: 700;
  font-style: normal;
  color: #0E314B;
  text-transform: uppercase;
}

h3 {
  font-size: 32px;
  color: #fff;
}
@media screen and (max-width: 63.99875em) {
  h3 {
    font-size: 26px;
  }
}

h5 {
  font-family: din-2014, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 25px;
  line-height: 32px;
  color: #fff;
}
@media print, screen and (max-width: 29.99875em) {
  h5 {
    font-size: 20px;
    line-height: 28px;
  }
}

h6 {
  font-family: newbery-sans-pro, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  line-height: 20px;
}
@media print, screen and (max-width: 29.99875em) {
  h6 {
    font-size: 14px;
  }
}

ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

a {
  text-decoration: none;
}

button,
[type=button] {
  background-color: transparent;
  border: none;
}

.content__numbers {
  width: 100px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.button {
  font-family: newbery-sans-pro, sans-serif;
  font-weight: 400;
  font-style: normal;
  background-color: #AF6BAA;
}
.button:hover {
  cursor: pointer;
}

.button--ghost {
  background-color: transparent;
  border: 1px solid #AF6BAA;
}

.format-text ul {
  list-style: disc;
  padding-left: 20px;
}
.format-text a {
  text-decoration: underline;
  word-break: break-word;
}

.a11y__vo-only {
  -webkit-clip-path: inset(100%);
  clip-path: inset(100%);
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.a11y__skip-content {
  background-color: white;
  color: #000;
  padding: 15px 30px;
  position: absolute;
  z-index: 999;
}
.a11y__skip-content:not(:focus):not(:active) {
  -webkit-clip-path: inset(100%);
  clip-path: inset(100%);
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.activity_container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 30px;
}
@media print, screen and (max-width: 44.99875em) {
  .activity_container {
    grid-template-columns: 1fr;
  }
}

.activity__media {
  position: relative;
  height: 300px;
  width: 100%;
}

.activity__image {
  height: 100%;
  font-family: "object-fit: cover, object-position: center";
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
}

.activity__content {
  padding: 45px;
  position: relative;
}
.activity__content .format-text {
  padding-top: 15px;
}

.activity__title {
  position: absolute;
  color: #fff;
  padding: 15px;
  top: 140px;
}

.content__numbers--activity {
  top: -40px;
}

.activity--1 {
  background-color: #89C8CC;
}

.activity--2 {
  background-color: #C4CC45;
}

.activity--3 {
  background-color: #C6636B;
  color: #fff;
}

.activity--4 {
  background-color: #D8933D;
}

.activity--1 .activity__title {
  background-color: #89C8CC;
}
.activity--2 .activity__title {
  background-color: #C4CC45;
}
.activity--3 .activity__title {
  background-color: #C6636B;
}
.activity--4 .activity__title {
  background-color: #D8933D;
}

body {
  background-image: url(svg/background.svg);
  background-position: 53% 650px;
  background-repeat: no-repeat;
}
@media only screen and (min-width: 2350px) {
  body {
    background-position: 53% 150px;
  }
}
@media only screen and (max-width: 1295px) {
  body {
    background-position: 53% 70px;
  }
}
@media print, screen and (max-width: 44.99875em) {
  body {
    background-position: 53% 670px;
  }
}

.page-background_container {
  height: 990px;
  top: -100px;
  position: absolute;
  overflow: hidden;
  width: 100%;
  right: 0;
  -o-object-fit: contain;
     object-fit: contain;
}
@media only screen and (min-width: 2350px) {
  .page-background_container {
    display: none;
  }
}
@media only screen and (max-width: 1295px) {
  .page-background_container {
    display: none;
  }
}
@media print, screen and (max-width: 44.99875em) {
  .page-background_container {
    top: 130px;
    display: block;
  }
  .page-background_container:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 65%;
    right: 0%;
    z-index: -1;
    top: 0;
    display: block;
    background-color: #fff;
  }
}
@media print, screen and (max-width: 44.99875em) and (max-width: 74.99875em) {
  .page-background_container:before {
    height: 0;
  }
}
@media screen and (max-width: 44.99875em) and (max-width: 63.99875em) {
  .page-background_container:before {
    height: 100%;
  }
}
@media print, screen and (max-width: 44.99875em) and (max-width: 44.99875em) {
  .page-background_container:before {
    height: 0;
  }
}

.page-background_container__background-image {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  margin-left: -22%;
}
@media print, screen and (max-width: 29.99875em) {
  .page-background_container__background-image {
    display: none;
  }
}
@media print, screen and (max-width: 44.99875em) {
  .page-background_container__background-image {
    margin-left: 0;
  }
}

.page-background_container__background-image--small-screens {
  width: 100%;
  height: 470px;
  -o-object-fit: cover;
     object-fit: cover;
  display: none;
  margin-top: 60px;
}
@media print, screen and (max-width: 29.99875em) {
  .page-background_container__background-image--small-screens {
    display: block;
  }
}

.container-title {
  text-align: center;
  padding: 15px;
}

.content__numbers {
  width: 100px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

.content__numbers--familljenfest {
  bottom: -60px;
}

.familljenfest_container {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  grid-gap: 30px;
}

.familljenfest {
  background-color: #fff;
  border: 3px solid #0E314B;
  position: relative;
  text-align: center;
  padding-bottom: 80px;
}
@media print, screen and (max-width: 98.12375em) {
  .familljenfest {
    margin-bottom: 150px;
  }
}

.content__numbers--familljenfest {
  bottom: -60px;
}

.container__familljenfest__illu {
  width: 260px;
  height: 200px;
  position: relative;
  margin: -100px auto 0 auto;
}
.container__familljenfest__illu .familljenfest__illu {
  width: 260px;
  margin: auto;
}

.familljenfest__illu__title {
  width: 260px;
  position: relative;
  margin: 0 auto 0 auto;
  bottom: 0;
}

.familljenfest_spacer {
  margin-bottom: 20px;
}

header {
  width: 100%;
  background-color: #fff;
  position: fixed;
  z-index: 9998;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

.header__inner {
  display: flex;
  align-items: center;
  height: 116px;
  width: 100%;
  background-color: #fff;
  z-index: 9999;
}
@media screen and (max-width: 63.99875em) {
  .header__inner {
    height: 80px;
  }
}

.header__nav {
  flex: 1;
}
.header__nav a {
  font-family: newbery-sans-pro-condensed, sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 16px;
  line-height: 20px;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-decoration: none;
}
@media print, screen and (max-width: 29.99875em) {
  .header__nav a {
    font-size: 14px;
  }
}
@media screen and (max-width: 63.99875em) {
  .header__nav a {
    font-size: 22px;
    line-height: 32px;
  }
}
@media screen and (max-width: 63.99875em) and (max-width: 29.99875em) {
  .header__nav a {
    font-size: 18px;
    line-height: 25px;
  }
}

.header__logo_container_nav {
  display: none;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 63.99875em) {
  .header__logo_container_nav {
    display: block;
  }
}

.header__menu-toggle {
  display: none;
  align-items: center;
  border-top: 2px solid #AF6BAA;
  border-bottom: 2px solid #AF6BAA;
  height: 20px;
  margin: 0 15px;
  padding: 0;
  width: 25px;
}
.header__menu-toggle:hover {
  cursor: pointer;
}
.header__menu-toggle::after {
  content: "";
  background-color: #AF6BAA;
  height: 2px;
  width: 25px;
}
@media screen and (max-width: 63.99875em) {
  .header__menu-toggle {
    display: flex;
    margin-left: 15px;
  }
}

.hero_container {
  margin: 45px 0 120px 0;
  z-index: 2;
  position: relative;
}

.hero_container__illu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
@media only screen and (max-width: 1264px) {
  .hero_container__illu {
    order: 2;
  }
}
@media print, screen and (max-width: 74.99875em) {
  .hero_container__illu {
    flex-direction: column;
    align-items: center;
  }
}

.hero__illu__title {
  top: -50px;
  left: 100px;
  width: 350px;
}
@media only screen and (max-width: 1264px) {
  .hero__illu__title {
    order: 3;
    top: 70px;
    left: 0;
  }
}
@media only screen and (max-width: 1279px) {
  .hero__illu__title {
    margin: 0 0 45px 0;
    order: 3;
    top: 0;
    left: 0;
  }
}
@media print, screen and (max-width: 29.99875em) {
  .hero__illu__title {
    width: 250px;
  }
}

.hero__logo {
  right: 100px;
  top: -150px;
  width: 120px;
}
@media only screen and (max-width: 1279px) {
  .hero__logo {
    order: 1;
    margin: 0 0 45px 0;
    top: 0;
    left: 0;
  }
}
@media screen and (max-width: 63.99875em) {
  .hero__logo {
    display: none;
  }
}

.hero__illu {
  width: 765px;
}
@media only screen and (max-width: 1279px) {
  .hero__illu {
    margin: 0 0 45px 0;
    order: 2;
  }
}
@media print, screen and (max-width: 29.99875em) {
  .hero__illu {
    margin: 0 0 30px 0;
    width: 350px;
  }
}

.hero__container__content {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
  padding: 45px;
  background-color: #fff;
}
@media only screen and (max-width: 1264px) {
  .hero__container__content {
    margin-top: 136px;
  }
}
@media print, screen and (max-width: 74.99875em) {
  .hero__container__content {
    margin-top: 0;
  }
}

@media print, screen and (min-width: 64em) {
  .hero__container__content__inner.has__image {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    align-items: flex-start;
  }
  .hero__container__content__inner.has__image > div {
    width: calc(60% - 20px);
  }
  .hero__container__content__inner.has__image > div.hero__image__wrapper {
    width: calc(40% - 20px);
  }
  .hero__container__content__inner.has__image img {
    -o-object-fit: contain;
       object-fit: contain;
  }
  .hero__container__content__inner.has__image .hero__fullwidth {
    width: 100%;
    margin-bottom: 50px;
    border-top: 1px solid #caeceb;
    margin-top: 30px;
    padding-top: 30px;
  }
  .hero__container__content__inner.has__image .hero__fullwidth#container {
    border-top: none;
    padding-top: 0;
    margin-top: 0;
  }
  .hero__container__content__inner.has__image .hero__author__name {
    font-size: 14px;
  }
}

.language-switcher {
  align-self: center;
  position: relative;
}
@media print, screen and (min-width: 1000px) {
  .language-switcher {
    background-color: transparent;
  }
}

.language-switcher__list {
  display: inline-block;
  list-style: none;
  margin: 0;
  z-index: 1;
}
@media print, screen and (min-width: 1000px) {
  .language-switcher__list {
    background-color: transparent;
    height: 1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    top: 100%;
    left: 0;
    text-align: left;
    transform: translateY(-20px);
    transition: transform 0.2s ease-in-out, opacity 0.1s ease-out;
  }
}

.language-switcher__top-link {
  background-color: grey;
  border-radius: 15px;
  color: black;
  display: inline-block;
  margin: 2px;
  padding: 5px 10px;
  position: relative;
  transition: color 0.2s ease, background-color 0.2s ease;
  text-align: center;
  width: 50px;
}
@media print, screen and (min-width: 1000px) {
  .language-switcher__top-link {
    background-color: transparent;
    border-radius: 0;
    margin: 0;
    padding: 5px 30px 5px 10px;
    text-align: left;
    width: auto;
  }
  .language-switcher__top-link::before {
    content: ">";
    position: absolute;
    left: 40px;
    transform: rotate(0) translateY(-1px);
    transition: transform 0.1s ease;
  }
  .language-switcher__top-link:hover, .language-switcher__top-link:focus {
    color: blue;
    outline: none;
  }
}
.language-switcher:hover .language-switcher__top-link::before, .language-switcher[focus-within] .language-switcher__top-link::before, .language-switcher__top-link:focus::before {
  transform: rotate(90deg) translateY(-1px);
}
.language-switcher:hover .language-switcher__top-link::before, .language-switcher:focus-within .language-switcher__top-link::before, .language-switcher__top-link:focus::before {
  transform: rotate(90deg) translateY(-1px);
}

.language-switcher__item {
  display: inline-block;
  margin: 0 -8px;
}
@media print, screen and (min-width: 1000px) {
  .language-switcher__item {
    display: block;
    margin: 0;
  }
}

.language-switcher__link {
  color: black;
  border-radius: 15px;
  display: inline-block;
  text-align: center;
  padding: 5px 10px;
  transition: color 0.2s ease;
  width: 50px;
}
.language-switcher__link:focus, .language-switcher__link:hover {
  color: blue;
  outline: none;
}
@media print, screen and (min-width: 1000px) {
  .language-switcher__link {
    border-radius: 0;
    display: block;
    text-align: left;
    padding: 5px 30px 5px 10px;
    width: auto;
  }
}

.language-switcher:hover .language-switcher__list,
.language-switcher .language-switcher__top-link:focus + .language-switcher__list,
.language-switcher__list[focus-within] {
  height: auto;
  transform: translate(0);
  opacity: 1;
  z-index: 1;
}

.language-switcher:hover .language-switcher__list,
.language-switcher .language-switcher__top-link:focus + .language-switcher__list,
.language-switcher__list:focus-within {
  height: auto;
  transform: translate(0);
  opacity: 1;
  z-index: 1;
}

.menu {
  display: flex;
  align-self: center;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 0;
  width: 100%;
}
@media screen and (max-width: 63.99875em) {
  .menu {
    z-index: 150;
    background-color: rgba(182, 222, 222, 0.9);
    flex-direction: column;
    justify-content: center;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transform: translateY(-100px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s ease;
    opacity: 0;
    visibility: hidden;
  }
}
@media screen and (max-width: 63.99875em) {
  .menu.is-active {
    visibility: visible;
    margin-top: 0;
    opacity: 1;
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s ease;
    transform: translateY(0);
  }
}

.menu__item {
  position: relative;
  padding-left: 45px;
}
@media screen and (max-width: 63.99875em) {
  .menu__item {
    padding-left: 0;
  }
}

.menu__link {
  color: #AF6BAA;
  display: block;
  padding: 15px 0;
  text-align: center;
  text-transform: uppercase;
}
@media screen and (max-width: 63.99875em) {
  .menu__link {
    color: #0E314B;
  }
}
.menu__link:hover, .menu__link:focus {
  color: #7b4477;
  outline: none;
}

.menu__close-button {
  display: none;
  position: fixed;
  top: 35px;
  right: 25px;
  height: 30px;
  width: 40px;
}
.menu__close-button:hover {
  cursor: pointer;
}
@media screen and (max-width: 63.99875em) {
  .menu__close-button {
    display: block;
  }
}
.menu__close-button::after, .menu__close-button::before {
  content: "";
  background-color: #fff;
  display: block;
  height: 2px;
  position: absolute;
  top: 0;
  width: 38px;
}
.menu__close-button::after {
  transform-origin: bottom left;
  transform: rotate(45deg);
}
.menu__close-button::before {
  transform-origin: bottom right;
  transform: translateX(-10px) rotate(-45deg);
}

.has-submenu .menu {
  height: 1px;
  display: flex;
  flex-direction: column;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  top: 100%;
  left: 0;
  text-align: left;
  transform: translateY(-20px);
  transition: transform 0.2s ease-in-out, opacity 0.1s ease-out;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.has-submenu .menu .menu__link {
  text-align: left;
}

.has-submenu:hover .menu,
.has-submenu .menu__link:focus + .menu,
.menu[focus-within] {
  height: auto;
  transform: translate(0);
  opacity: 1;
  z-index: 1;
}

.has-submenu:hover .menu,
.has-submenu .menu__link:focus + .menu,
.menu:focus-within {
  height: auto;
  transform: translate(0);
  opacity: 1;
  z-index: 1;
}

.menu__item--button {
  color: white;
  text-align: center;
  width: 200px;
  background: #AF6BAA;
  border-radius: 50px;
  padding: 12px 31px;
}
.menu__item--button:hover {
  background: #7b4477;
}
@media screen and (max-width: 63.99875em) {
  .menu__item--button {
    color: #0E314B;
    background-color: transparent;
    width: 100%;
  }
  .menu__item--button:hover {
    background: transparent;
    color: #7b4477;
  }
}

.page-footer_container {
  width: 100%;
  height: 120px;
  background-color: #0E314B;
  position: relative;
}

.page-footer_container__copyright_container {
  width: 100%;
  height: 45px;
  background-color: #fff;
  position: relative;
}

.page-footer_container__text {
  text-align: center;
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.page-footer_container__text--white {
  color: #fff;
}

.radio_container {
  background-color: #7E3232;
}

.radio_container__content {
  padding: 0 45px;
  display: flex;
  flex-wrap: wrap;
  position: relative;
  align-items: center;
}
.radio_container__content h5 {
  text-align: center;
}
.radio_container__content h5 a {
  color: #fff;
}
.radio_container__content h5 a:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media print, screen and (max-width: 74.99875em) {
  .radio_container__content {
    flex-direction: column;
    align-items: center;
  }
}

.radio_container__spacer {
  background-color: #B70B0B;
  z-index: 0;
}

.radio__logo {
  width: 380px;
  margin-bottom: -30px;
  padding: 15px 45px 0 0;
  z-index: 1;
}
@media print, screen and (max-width: 74.99875em) {
  .radio__logo {
    padding: 15px 0 0 0;
  }
}

.spacer {
  width: 100%;
}
.spacer--xxlarge {
  height: 120px;
}
@media print, screen and (max-width: 98.12375em) {
  .spacer--xxlarge {
    height: 45px;
  }
}
.spacer--xlarge {
  height: 60px;
}
.spacer--xmedium {
  height: 30px;
}
.spacer--medium {
  height: 15px;
}
@media print, screen and (max-width: 98.12375em) {
  .spacer--hero_container {
    height: 120px;
  }
}

.wrap {
  padding-right: 15px;
  padding-left: 15px;
  max-width: 81.25rem;
  margin: 0 auto;
  width: 100%;
}
@media print, screen and (max-width: 74.99875em) {
  .wrap {
    padding-right: 45px;
    padding-left: 45px;
  }
}
@media print, screen and (max-width: 44.99875em) {
  .wrap {
    padding-right: 15px;
    padding-left: 15px;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvYmFzZS9fbm9ybWFsaXplLnNjc3MiLCJ3ZWJwYWNrOi8vL21haW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYmFzZS9fY29uZmlnLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Jhc2UvX2ljb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Jhc2UvX21lZGlhLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Jhc2UvX2dsb2JhbC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9iYXNlL190eXBlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2Jhc2UvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL18wMS1idXR0b24uc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9fMDItZm9ybWF0LXRleHQuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9fMDMtYTExeS5zY3NzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL19hY3Rpdml0eS5zY3NzIiwid2VicGFjazovLy8uL3NyYy9iYXNlL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9fYmFja2dyb3VuZC1pbWFnZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9fY29udGFpbmVyLXRpdGxlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvX2NvbnRlbnQtbnVtYmVycy5zY3NzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL19mYW1pbGxqZW5mZXN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvX2hlYWRlci5zY3NzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL19oZXJvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvX2xhbmd1YWdlLXN3aXRjaGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvYmFzZS9fei1pbmRleC5zY3NzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL19wYWdlLWZvb3Rlci5zY3NzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL19yYWRpby5zY3NzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL19zcGFjZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9fd3JhcC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTtBQUVBOytFQUFBO0FBR0E7OztFQUFBO0FBS0E7RUFDSTtFQUFtQjtFQUNuQjtFQUFnQztBQ0NwQzs7QURFQTsrRUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSTtBQ0RKOztBRElBOztFQUFBO0FBSUE7RUFDSTtBQ0ZKOztBREtBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQTtBQ0hKOztBRE1BOytFQUFBO0FBR0E7OztFQUFBO0FBS0E7RUFDSTtFQUF5QjtFQUN6QjtFQUFXO0VBQ1g7RUFBbUI7QUNGdkI7O0FES0E7OztFQUFBO0FBS0E7RUFDSTtFQUFtQztFQUNuQztFQUFnQjtBQ0RwQjs7QURJQTsrRUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSTtBQ0hKOztBRE1BOzs7RUFBQTtBQUtBO0VBQ0k7RUFBcUI7RUFDckI7RUFBNEI7RUFDNUI7VUFBQTtFQUFtQztBQ0R2Qzs7QURJQTs7RUFBQTtBQUlBOztFQUVJO0FDRko7O0FES0E7OztFQUFBO0FBS0E7OztFQUdJO0VBQW1DO0VBQ25DO0VBQWdCO0FDRHBCOztBRElBOztFQUFBO0FBSUE7RUFDSTtBQ0ZKOztBREtBOzs7RUFBQTtBQUtBOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0FDSEo7O0FETUE7RUFDSTtBQ0hKOztBRE1BO0VBQ0k7QUNISjs7QURNQTsrRUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSTtBQ0xKOztBRFFBOytFQUFBO0FBR0E7OztFQUFBO0FBS0E7Ozs7O0VBS0k7RUFBc0I7RUFDdEI7RUFBaUI7RUFDakI7RUFBbUI7RUFDbkI7RUFBVztBQ0hmOztBRE1BOzs7RUFBQTtBQUtBOztFQUNRO0VBQ0o7QUNISjs7QURNQTs7O0VBQUE7QUFLQTs7RUFDUztFQUNMO0FDSEo7O0FETUE7O0VBQUE7QUFJQTs7OztFQUlJO0FDSko7O0FET0E7O0VBQUE7QUFJQTs7OztFQUlJO0VBQ0E7QUNMSjs7QURRQTs7RUFBQTtBQUlBOzs7O0VBSUk7QUNOSjs7QURTQTs7RUFBQTtBQUlBO0VBQ0k7QUNQSjs7QURVQTs7Ozs7RUFBQTtBQU9BO0VBQ0k7RUFBd0I7RUFDeEI7RUFBZ0I7RUFDaEI7RUFBZ0I7RUFDaEI7RUFBaUI7RUFDakI7RUFBWTtFQUNaO0VBQXFCO0FDRnpCOztBREtBOztFQUFBO0FBSUE7RUFDSTtBQ0hKOztBRE1BOztFQUFBO0FBSUE7RUFDSTtBQ0pKOztBRE9BOzs7RUFBQTtBQUtBOztFQUVJO0VBQXdCO0VBQ3hCO0VBQVk7QUNIaEI7O0FETUE7O0VBQUE7QUFJQTs7RUFFSTtBQ0pKOztBRE9BOzs7RUFBQTtBQUtBO0VBQ0k7RUFBK0I7RUFDL0I7RUFBc0I7QUNIMUI7O0FETUE7O0VBQUE7QUFJQTtFQUNJO0FDSko7O0FET0E7OztFQUFBO0FBS0E7RUFDSTtFQUE0QjtFQUM1QjtFQUFlO0FDSG5COztBRE1BOytFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJO0FDTEo7O0FEUUE7O0VBQUE7QUFJQTtFQUNJO0FDTko7O0FEU0E7K0VBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0k7QUNSSjs7QURXQTs7RUFBQTtBQUlBO0VBQ0k7QUNUSjs7QUNoVkE7RUFDSTtFQUNBO0FEbVZKOztBQ2hWQTs7O0VBR0k7QURtVko7O0FDaFZBOztxQkFBQTtBQXdDQTs7cUJBQUE7QUFZQTs7cUJBQUE7QUMvREE7RUFDSTtFQUNBO0VBQ0E7QUZ1V0o7QUVyV0k7RUFDSTtFQUNBO0FGdVdSO0FFcFdJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FGc1dSO0FFbldJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRnFXUjs7QUV4VlE7RUFDSSw0QkFIUztBRjhWckI7O0FFNVZRO0VBQ0ksaUJBSFM7QUZrV3JCOztBRWhXUTtFQUNJLDJCQUhTO0FGc1dyQjs7QUVwV1E7RUFDSSwyQkFIUztBRjBXckI7O0FFeFdRO0VBQ0ksMkJBSFM7QUY4V3JCOztBRTVXUTtFQUNJLDJCQUhTO0FGa1hyQjs7QUVoWFE7RUFDSSwyQkFIUztBRnNYckI7O0FFcFhRO0VBQ0ksMkJBSFM7QUYwWHJCOztBRXhYUTtFQUNJLDJCQUhTO0FGOFhyQjs7QUU1WFE7RUFDSSwyQkFIUztBRmtZckI7O0FFaFlRO0VBQ0ksMkJBSFM7QUZzWXJCOztBRXBZUTtFQUNJLDJCQUhTO0FGMFlyQjs7QUV4WVE7RUFDSSw0QkFIUztBRjhZckI7O0FHbmJBO0VBQ0k7RUFDQTtFQUNBO0FIc2JKOztBSXpiQTtFQUNJO0FKNGJKOztBSXpiQTtFQ1NFO0VBQ0E7RUFDQTtFQW9DQTtFQUNBO0VEN0NFLGNIb0JVO0FEMmFkO0FNdFJRO0VGNUtSO0lDa0RJO0lBQ0E7RUxvWkY7QUFDRjs7QUlsY0E7Ozs7RUNIRTtFQUNBO0VBQ0E7RURNRSxjSFlVO0VHWFY7QUp1Y0o7O0FJbGNBO0VDY0U7RURaRSxXSExJO0FEMGNSO0FNdlNRO0VGaEtSO0lDZ0JJO0VMMmJGO0FBQ0Y7O0FJdmNBO0VDYkU7RUFDQTtFQUNBO0VBMkJBO0VBQ0E7RURkRSxXSFhJO0FEd2RSO0FNMVRRO0VGdEpSO0lDbUJJO0lBQ0E7RUxpY0Y7QUFDRjs7QUloZEE7RUMvQkU7RUFDQTtFQUNBO0VBeURBO0VBQ0E7QUwyYkY7QU14VVE7RUZoSlI7SUMrQkk7RUw2YkY7QUFDRjs7QUl2ZEE7RUFDSTtFQUNBO0VBQ0E7QUowZEo7O0FJdmRBO0VBQ0k7QUowZEo7O0FJdmRBOztFQUVJO0VBQ0E7QUowZEo7O0FJdGRBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUp5ZEo7O0FPcGhCQTtFRkNFO0VBQ0E7RUFDQTtFRURFLHlCTmlCSztBRHdnQlQ7QU90aEJJO0VBQ0k7QVB3aEJSOztBT3BoQkE7RUFDSTtFQUNBO0FQdWhCSjs7QVF6aEJJO0VBQ0k7RUFDQTtBUjRoQlI7QVFyaEJJO0VBQ0k7RUFDQTtBUnVoQlI7O0FTOWhCQTtFQWJJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVQraUJKOztBU3hpQkE7RUFDSTtFQUNBLFdSSEk7RVFJSjtFQUNBO0VBQ0E7QVQyaUJKO0FTemlCSTtFQXhCQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUb2tCSjs7QVUva0JBO0VBQ0U7RUFDQTtFQUNBLGNUd0RRO0FEMGhCVjtBTXJhUTtFSWhMUjtJQU1JO0VWbWxCRjtBQUNGOztBVWhsQkE7RUFDRTtFQUNBO0VBQ0E7QVZtbEJGOztBVWhsQkE7RUNmSTtFQUNBO0VBQ0Esb0JBSHdCO0tBR3hCLGlCQUh3QjtFQUl4QiwwQkFKMEM7S0FJMUMsdUJBSjBDO0VBSzFDO0FYbW1CSjs7QVVwbEJBO0VBQ0UsYVR1Q007RVN0Q047QVZ1bEJGO0FVcmxCRTtFQUNFLGlCVGlDSztBRHNqQlQ7O0FVbGxCQTtFQUNFO0VBQ0EsV1RkTTtFU2VOLGFUeUJPO0VTeEJQO0FWcWxCRjs7QVVsbEJBO0VBQ0U7QVZxbEJGOztBVWxsQkE7RUFDRSx5QlR0Qks7QUQybUJQOztBVWxsQkE7RUFDRSx5QlR6Qk07QUQ4bUJSOztBVWxsQkE7RUFDRSx5QlQ1Qk87RVM2QlAsV1RqQ007QURzbkJSOztBVWxsQkE7RUFDRSx5QlQ5Qk87QURtbkJUOztBVWpsQkU7RUFDRSx5QlR4Q0c7QUQ0bkJQO0FVbGxCRTtFQUNFLHlCVDFDSTtBRDhuQlI7QVVsbEJFO0VBQ0UseUJUNUNLO0FEZ29CVDtBVWxsQkU7RUFDRSx5QlQ1Q0s7QURnb0JUOztBWXhwQkE7RUFDRTtFQUNBO0VBQ0E7QVoycEJGO0FZenBCRTtFQUxGO0lBTUk7RVo0cEJGO0FBQ0Y7QVkxcEJFO0VBVEY7SUFVSTtFWjZwQkY7QUFDRjtBTXpmUTtFTS9LUjtJQWNJO0VaOHBCRjtBQUNGOztBWXpwQkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtLQUFBO0FaNHBCRjtBWTFwQkU7RUFURjtJQVVJO0VaNnBCRjtBQUNGO0FZM3BCRTtFQWJGO0lBY0k7RVo4cEJGO0FBQ0Y7QU1saEJRO0VNM0pSO0lBa0JJO0lBQ0E7RVorcEJGO0VZOXBCRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFWmdxQko7QUFDRjtBTW5pQlE7RU12SUo7SUFZSTtFWmtxQk47QUFDRjtBTW5pQlE7RU01SUo7SUFnQkk7RVptcUJOO0FBQ0Y7QU03aUJRO0VNdklKO0lBb0JJO0Vab3FCTjtBQUNGOztBWTdwQkE7RUFDRTtFQUNBO0tBQUE7RUFDQTtBWmdxQkY7QU14akJRO0VNM0dSO0lBTUk7RVppcUJGO0FBQ0Y7QU03akJRO0VNM0dSO0lBVUk7RVprcUJGO0FBQ0Y7O0FZL3BCQTtFQUNFO0VBQ0E7RUFDQTtLQUFBO0VBQ0E7RUFDQSxnQlgzQk87QUQ2ckJUO0FNMWtCUTtFTTdGUjtJQVFJO0VabXFCRjtBQUNGOztBYS92QkE7RUFDRTtFQUNBLGFad0RPO0FEMHNCVDs7QWNwd0JBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWR1d0JGOztBY3B3QkE7RUFDRTtBZHV3QkY7O0FlL3dCQTtFQUNFO0VBQ0E7RUFDQSxjZHdEUTtBRDB0QlY7O0FlOXdCQTtFQUNFLHNCZFVNO0VjVE47RUFDQTtFQUNBO0VBQ0E7QWZpeEJGO0FNN21CUTtFU3pLUjtJQU9JO0VmbXhCRjtBQUNGOztBZWh4QkE7RUFDRTtBZm14QkY7O0FlaHhCQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FmbXhCRjtBZWx4QkU7RUFDRTtFQUNBO0Fmb3hCSjs7QWUvd0JBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWZreEJGOztBZS93QkE7RUFDRTtBZmt4QkY7O0FnQjV6QkE7RUFDSTtFQUNBLHNCZmdCSTtFZWZKO0VBQ0E7RUFDQTtBaEIrekJKOztBZ0I1ekJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxzQmZLSTtFZUpKO0FoQit6Qko7QU14cEJRO0VVN0tSO0lBU1E7RWhCZzBCTjtBQUNGOztBZ0I3ekJBO0VBQ0k7QWhCZzBCSjtBZ0I5ekJJO0VYakJGO0VBQ0E7RUFDQTtFQW1EQTtFQUNBO0VXbENNO0VBQ0E7RUFDQTtBaEJtMEJSO0FNaHJCUTtFVXhKSjtJWHVDQTtFTHF5QkY7QUFDRjtBTWhyQlE7RVU3Sko7SVgyQkY7SUFDQTtFTHN6QkE7QUFDRjtBTTNyQlE7RVV4Sko7SVg4QkE7SUFDQTtFTHl6QkY7QUFDRjs7QWdCNTBCQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCKzBCSjtBTXBzQlE7RVVoSlI7SUFRUTtFaEJnMUJOO0FBQ0Y7O0FnQjcwQkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQmcxQko7QWdCOTBCSTtFQUNJO0FoQmcxQlI7QWdCNzBCSTtFQUNJO0VBQ0EseUJmOUNDO0VlK0NEO0VBQ0E7QWhCKzBCUjtBTTd0QlE7RVVwSVI7SUFzQlE7SUFDQSxpQmZkQztFRDYxQlA7QUFDRjs7QWlCeDVCQTtFQUNJO0VBQ0E7RUFDQTtBakIyNUJKOztBaUJ4NUJBO0VBQ0k7RUFDQTtFQUNBO0FqQjI1Qko7QWlCejVCSTtFQUxKO0lBTVE7RWpCNDVCTjtBQUNGO0FNenZCUTtFVzFLUjtJQVVRO0lBQ0E7RWpCNjVCTjtBQUNGOztBaUJ6NUJBO0VBQ0k7RUFDQTtFQUNBO0FqQjQ1Qko7QWlCMzVCSTtFQUpKO0lBS1E7SUFDQTtJQUNBO0VqQjg1Qk47QUFDRjtBaUI3NUJJO0VBVEo7SUFVUTtJQUNBO0lBQ0E7SUFDQTtFakJnNkJOO0FBQ0Y7QU1weEJRO0VXMUpSO0lBZ0JRO0VqQms2Qk47QUFDRjs7QWlCOTVCQTtFQUNJO0VBQ0E7RUFDQTtBakJpNkJKO0FpQi81Qkk7RUFMSjtJQU1RO0lBQ0E7SUFDQTtJQUNBO0VqQms2Qk47QUFDRjtBTWx5QlE7RVcxSVI7SUFhUTtFakJtNkJOO0FBQ0Y7O0FpQi81QkE7RUFDSTtBakJrNkJKO0FpQmo2Qkk7RUFGSjtJQUdRO0lBQ0E7RWpCbzZCTjtBQUNGO0FNdHpCUTtFV25IUjtJQVFRO0lBQ0E7RWpCcTZCTjtBQUNGOztBaUJsNkJBO0VBQ0k7RUFDQSxhaEJoQkk7RWdCaUJKLHNCaEIzREk7QURnK0JSO0FpQm42Qkk7RUFMSjtJQU1RO0VqQnM2Qk47QUFDRjtBTXYwQlE7RVd0R1I7SUFVUTtFakJ1NkJOO0FBQ0Y7O0FNNTBCUTtFV3RGSjtJQUVRO0lBQ0E7SUFDQTtJQUNBO0VqQnE2QlY7RWlCbjZCVTtJQUNJO0VqQnE2QmQ7RWlCbjZCYztJQUNJO0VqQnE2QmxCO0VpQmo2QlU7SUFDSTtPQUFBO0VqQm02QmQ7RWlCaDZCVTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWpCazZCZDtFaUJqNkJjO0lBQ0k7SUFDQTtJQUNBO0VqQm02QmxCO0VpQi81QlU7SUFDSTtFakJpNkJkO0FBQ0Y7O0FrQmxnQ0E7RUFDSTtFQUNBO0FsQnFnQ0o7QWtCbmdDSTtFQUpKO0lBS1EsNkJBMUJLO0VsQmdpQ1g7QUFDRjs7QWtCbmdDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FsQnNnQ0o7QWtCcGdDSTtFQU5KO0lBT1EsNkJBckNLO0lBc0NMO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEJ1Z0NOO0FBQ0Y7O0FrQm5nQ0E7RUFDSSxzQkF2RGtCO0VBd0RsQixtQkFsQ1k7RUFtQ1osWUEzRGE7RUE0RGI7RUFDQSxXQS9DSztFQWdETCxpQkFqRE07RUFrRE47RUFDQTtFQUNBO0VBQ0EsV0EzQ1c7QWxCaWpDZjtBa0JwZ0NJO0VBWko7SUFhUTtJQUNBO0lBQ0E7SUFDQSwwQkE1RFc7SUE2RFg7SUFDQTtFbEJ1Z0NOO0VrQnJnQ007SUFJSSxZQTlERTtJQStERjtJQUNBLFVBdkVhO0lBd0ViO0lBQ0E7RWxCb2dDVjtFa0JqZ0NNO0lBRUksV0F4Rlc7SUF5Rlg7RWxCa2dDVjtBQUNGO0FrQi8vQkk7RUFHSTtBbEIrL0JSO0FrQmxnQ0k7RUFHSTtBbEIrL0JSOztBa0IzL0JBO0VBQ0k7RUFDQTtBbEI4L0JKO0FrQjUvQkk7RUFKSjtJQUtRO0lBQ0E7RWxCKy9CTjtBQUNGOztBa0I1L0JBO0VBQ0ksWUF6R1M7RUEwR1QsbUJBekZZO0VBMEZaO0VBQ0E7RUFDQSxpQkF2R007RUF3R047RUFDQSxXQS9GVztBbEI4bENmO0FrQjcvQkk7RUFFSSxXQWxIVztFQW1IWDtBbEI4L0JSO0FrQjMvQkk7RUFmSjtJQWdCUTtJQUNBO0lBQ0E7SUFDQSwwQkF0SFc7SUF1SFg7RWxCOC9CTjtBQUNGOztBa0IzL0JBOzs7RUFHSTtFQUNBO0VBQ0E7RUFDQTtBbEI4L0JKOztBa0JwZ0NBOzs7RUFHSTtFQUNBO0VBQ0E7RUFDQTtBbEI4L0JKOztBbUJ4b0NBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQjJvQ0o7QU1oK0JRO0VhakxSO0lDU0k7SURDSSwwQ0FkZ0I7SUFlaEI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbkI0b0NOO0FBQ0Y7QU1qL0JRO0VhekpKO0lBRVE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbkI0b0NWO0FBQ0Y7O0FtQnhvQ0E7RUFDSTtFQUNBLGtCbEJtQkk7QUR3bkNSO0FNLy9CUTtFYTlJUjtJQUlRO0VuQjZvQ047QUFDRjs7QW1CMW9DQTtFQUNJLGNsQjdCSztFa0I4Qkw7RUFDQTtFQUNBO0VBQ0E7QW5CNm9DSjtBTTVnQ1E7RWF0SVI7SUFPUSxjbEIzQk07RUQwcUNaO0FBQ0Y7QW1CN29DSTtFQUVJLGNBekRnQjtFQTBEaEI7QW5COG9DUjs7QW1Cem9DQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkI0b0NKO0FtQjFvQ0k7RUFDSTtBbkI0b0NSO0FNamlDUTtFYXBIUjtJQWFRO0VuQjRvQ047QUFDRjtBbUIxb0NJO0VBRUk7RUFDQSxzQmxCbEVBO0VrQm1FQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQjJvQ1I7QW1CeG9DSTtFQUNJO0VBQ0E7QW5CMG9DUjtBbUJ2b0NJO0VBQ0k7RUFDQTtBbkJ5b0NSOztBbUJyb0NBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQUE7RUFBQTtBbkJ1b0NKOztBbUJwb0NBO0VBQ0k7QW5CdW9DSjs7QW1CcG9DQTs7O0VBR0k7RUFDQTtFQUNBO0VBQ0E7QW5CdW9DSjs7QW1CN29DQTs7O0VBR0k7RUFDQTtFQUNBO0VBQ0E7QW5CdW9DSjs7QW1Cbm9DQTtFQUNJO0VBQ0E7RUFDQTtFQUNBLG1CbEJ0SEs7RWtCdUhMO0VBQ0E7QW5Cc29DSjtBbUJwb0NJO0VBQ0ksbUJBNUlnQjtBbkJreEN4QjtBTS9sQ1E7RWFoRFI7SUFhUSxjbEJ2SE07SWtCd0hOO0lBQ0E7RW5Cc29DTjtFbUJwb0NNO0lBQ0k7SUFDQSxjQXRKWTtFbkI0eEN0QjtBQUNGOztBcUIveENBO0VBQ0U7RUFDQSxhcEI0RFE7RW9CM0RSLHlCcEJ3Qlk7RW9CdkJaO0FyQmt5Q0Y7O0FxQi94Q0E7RUFDRTtFQUNBLFlwQm1ETTtFb0JsRE4sc0JwQlFNO0VvQlBOO0FyQmt5Q0Y7O0FxQi94Q0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJCa3lDRjs7QXFCL3hDQTtFQUNFLFdwQk5NO0FEd3lDUjs7QXNCMXpDQTtFQUNJLHlCckJzQkU7QUR1eUNOOztBc0J6ekNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEI0ekNKO0FzQjF6Q0k7RUFDSTtBdEI0ekNSO0FzQjF6Q1E7RUFDSSxXckJFSjtBRDB6Q1I7QXNCMXpDWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEI0ekNoQjtBTXBxQ1E7RWdCM0tSO0lBeUJRO0lBQ0E7RXRCMHpDTjtBQUNGOztBc0J2ekNBO0VBQ0kseUJyQlpRO0VxQmFSO0F0QjB6Q0o7O0FzQnZ6Q0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdEIwekNKO0FNdHJDUTtFZ0J4SVI7SUFPUTtFdEIyekNOO0FBQ0Y7O0F1QjEyQ0E7RUFDRTtBdkI2MkNGO0F1QjMyQ0U7RUFDRSxhdEJ5RE07QURvekNWO0FNbHNDUTtFaUI1S047SUFHSSxZdEJxREU7RUQwekNOO0FBQ0Y7QXVCNTJDRTtFQUNFLFl0QmlESztBRDZ6Q1Q7QXVCMzJDRTtFQUNFLFl0QjJDTTtBRGswQ1Y7QXVCMTJDRTtFQUNFLFl0QnNDSztBRHMwQ1Q7QU1odENRO0VpQnpKTjtJQUVJLGF0QnFDSTtFRHMwQ1I7QUFDRjs7QXdCcjRDQTtFQUNJLG1CdkJ5REs7RXVCeERMLGtCdkJ3REs7RXVCdkRMLG1CdkJIVztFdUJJWDtFQUNBO0F4Qnc0Q0o7QU03dENRO0VrQmhMUjtJQU9RLG1CdkJxREE7SXVCcERBLGtCdkJvREE7RURzMUNOO0FBQ0Y7QU1udUNRO0VrQmhMUjtJQVdRLG1CdkIrQ0M7SXVCOUNELGtCdkI4Q0M7RUQ4MUNQO0FBQ0YsQyIsImZpbGUiOiJtYWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICAgIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuaW1nIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAgIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gICAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwOyAvKiAzICovXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59IiwiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5AaW1wb3J0IHVybChcImh0dHBzOi8vdXNlLnR5cGVraXQubmV0L3Zhdzd6cncuY3NzXCIpO1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1zdWJtaXRdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9YnV0dG9uXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPXJlc2V0XTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPXN1Ym1pdF06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1idXR0b25dOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9cmVzZXRdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9c3VibWl0XTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuW3R5cGU9c2VhcmNoXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5bdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbn1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuQ09MT1JTXG4qKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqXG5TcGFjaW5nXG4qKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqXG5CcmVha3BvaW50c1xuKioqKioqKioqKioqKioqKioqKioqL1xuLmljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuLmljb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmljb246OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG4uaWNvbiBzdmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmljb24tLWJhY2tncm91bmQ6OmJlZm9yZSB7XG4gIHBhZGRpbmctdG9wOiAxMTIuMzAzMTA3NzA1NCU7XG59XG5cbi5pY29uLS1naXRrZWVwOjpiZWZvcmUge1xuICBwYWRkaW5nLXRvcDogMTAwJTtcbn1cblxuLmljb24tLWhvdGVsLWRlLXZpbGxlLXRpdGxlOjpiZWZvcmUge1xuICBwYWRkaW5nLXRvcDogMjcuNjE1MDYyNzYxNSU7XG59XG5cbi5pY29uLS1vcC1kZXItbGVpZXItdGl0bGU6OmJlZm9yZSB7XG4gIHBhZGRpbmctdG9wOiAyNy42MTUwNjI3NjE1JTtcbn1cblxuLmljb24tLXBhZ2UtdGl0bGU6OmJlZm9yZSB7XG4gIHBhZGRpbmctdG9wOiA0My43ODM3ODM3ODM4JTtcbn1cblxuLmljb24tLXBsYWNlLWRlLWxhLXJlc2lzdGFuY2UtdGl0bGU6OmJlZm9yZSB7XG4gIHBhZGRpbmctdG9wOiAyNy42MTUwNjI3NjE1JTtcbn1cblxuLmljb24tLXJ1ZS1kZS1sLWFsemV0dGUtdGl0bGU6OmJlZm9yZSB7XG4gIHBhZGRpbmctdG9wOiAyNy42MTUwNjI3NjE1JTtcbn1cblxuLmljb24tLWhlcm8taW1hZ2U6OmJlZm9yZSB7XG4gIHBhZGRpbmctdG9wOiA2NS43MjM5ODE5MDA1JTtcbn1cblxuLmljb24tLWhvdGVsLWRlLXZpbGxlOjpiZWZvcmUge1xuICBwYWRkaW5nLXRvcDogNzcuNDQzNjA5MDIyNiU7XG59XG5cbi5pY29uLS1vcC1kZXItbGVpZXI6OmJlZm9yZSB7XG4gIHBhZGRpbmctdG9wOiA2Ny43NjMxNTc4OTQ3JTtcbn1cblxuLmljb24tLXBsYWNlLWRlLWxhLXJlc2lzdGFuY2U6OmJlZm9yZSB7XG4gIHBhZGRpbmctdG9wOiA3NS43MzUyOTQxMTc2JTtcbn1cblxuLmljb24tLXJ1ZS1kZS1sLWFsemV0dGU6OmJlZm9yZSB7XG4gIHBhZGRpbmctdG9wOiA3Ny43MzU4NDkwNTY2JTtcbn1cblxuLmljb24tLWVzY2gtbG9nbzo6YmVmb3JlIHtcbiAgcGFkZGluZy10b3A6IDEwMS42ODA2NzIyNjg5JTtcbn1cblxuaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5tYWluIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBkaW4tMjAxNCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IDIycHg7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICBjb2xvcjogIzBFMzE0Qjtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOS45OTg3NWVtKSB7XG4gIGJvZHkge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgfVxufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCB7XG4gIGZvbnQtZmFtaWx5OiBuZXdiZXJ5LXNhbnMtcHJvLWNvbmRlbnNlZCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogIzBFMzE0QjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuaDMge1xuICBmb250LXNpemU6IDMycHg7XG4gIGNvbG9yOiAjZmZmO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICBoMyB7XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICB9XG59XG5cbmg1IHtcbiAgZm9udC1mYW1pbHk6IGRpbi0yMDE0LCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMjVweDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIGNvbG9yOiAjZmZmO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5Ljk5ODc1ZW0pIHtcbiAgaDUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgfVxufVxuXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiBuZXdiZXJ5LXNhbnMtcHJvLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjkuOTk4NzVlbSkge1xuICBoNiB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG59XG5cbnVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW46IDA7XG59XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmJ1dHRvbixcblt0eXBlPWJ1dHRvbl0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4uY29udGVudF9fbnVtYmVycyB7XG4gIHdpZHRoOiAxMDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLmJ1dHRvbiB7XG4gIGZvbnQtZmFtaWx5OiBuZXdiZXJ5LXNhbnMtcHJvLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGJhY2tncm91bmQtY29sb3I6ICNBRjZCQUE7XG59XG4uYnV0dG9uOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYnV0dG9uLS1naG9zdCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjQUY2QkFBO1xufVxuXG4uZm9ybWF0LXRleHQgdWwge1xuICBsaXN0LXN0eWxlOiBkaXNjO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG4uZm9ybWF0LXRleHQgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4uYTExeV9fdm8tb25seSB7XG4gIC13ZWJraXQtY2xpcC1wYXRoOiBpbnNldCgxMDAlKTtcbiAgY2xpcC1wYXRoOiBpbnNldCgxMDAlKTtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgYm9yZGVyOiAwO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdpZHRoOiAxcHg7XG59XG5cbi5hMTF5X19za2lwLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6ICMwMDA7XG4gIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiA5OTk7XG59XG4uYTExeV9fc2tpcC1jb250ZW50Om5vdCg6Zm9jdXMpOm5vdCg6YWN0aXZlKSB7XG4gIC13ZWJraXQtY2xpcC1wYXRoOiBpbnNldCgxMDAlKTtcbiAgY2xpcC1wYXRoOiBpbnNldCgxMDAlKTtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgYm9yZGVyOiAwO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdpZHRoOiAxcHg7XG59XG5cbi5hY3Rpdml0eV9jb250YWluZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gIGdyaWQtZ2FwOiAzMHB4O1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ0Ljk5ODc1ZW0pIHtcbiAgLmFjdGl2aXR5X2NvbnRhaW5lciB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIH1cbn1cblxuLmFjdGl2aXR5X19tZWRpYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAzMDBweDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5hY3Rpdml0eV9faW1hZ2Uge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtZmFtaWx5OiBcIm9iamVjdC1maXQ6IGNvdmVyLCBvYmplY3QtcG9zaXRpb246IGNlbnRlclwiO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWN0aXZpdHlfX2NvbnRlbnQge1xuICBwYWRkaW5nOiA0NXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYWN0aXZpdHlfX2NvbnRlbnQgLmZvcm1hdC10ZXh0IHtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG59XG5cbi5hY3Rpdml0eV9fdGl0bGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAxNXB4O1xuICB0b3A6IDE0MHB4O1xufVxuXG4uY29udGVudF9fbnVtYmVycy0tYWN0aXZpdHkge1xuICB0b3A6IC00MHB4O1xufVxuXG4uYWN0aXZpdHktLTEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODlDOENDO1xufVxuXG4uYWN0aXZpdHktLTIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzRDQzQ1O1xufVxuXG4uYWN0aXZpdHktLTMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzY2MzZCO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmFjdGl2aXR5LS00IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Q4OTMzRDtcbn1cblxuLmFjdGl2aXR5LS0xIC5hY3Rpdml0eV9fdGl0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODlDOENDO1xufVxuLmFjdGl2aXR5LS0yIC5hY3Rpdml0eV9fdGl0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzRDQzQ1O1xufVxuLmFjdGl2aXR5LS0zIC5hY3Rpdml0eV9fdGl0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQzY2MzZCO1xufVxuLmFjdGl2aXR5LS00IC5hY3Rpdml0eV9fdGl0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDg5MzNEO1xufVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vbWVkaWEvc3ZnL2JhY2tncm91bmRzL2JhY2tncm91bmQuc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MyUgNjUwcHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIzNTBweCkge1xuICBib2R5IHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MyUgMTUwcHg7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI5NXB4KSB7XG4gIGJvZHkge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUzJSA3MHB4O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDQuOTk4NzVlbSkge1xuICBib2R5IHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MyUgNjcwcHg7XG4gIH1cbn1cblxuLnBhZ2UtYmFja2dyb3VuZF9jb250YWluZXIge1xuICBoZWlnaHQ6IDk5MHB4O1xuICB0b3A6IC0xMDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIzNTBweCkge1xuICAucGFnZS1iYWNrZ3JvdW5kX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjk1cHgpIHtcbiAgLnBhZ2UtYmFja2dyb3VuZF9jb250YWluZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NC45OTg3NWVtKSB7XG4gIC5wYWdlLWJhY2tncm91bmRfY29udGFpbmVyIHtcbiAgICB0b3A6IDEzMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5wYWdlLWJhY2tncm91bmRfY29udGFpbmVyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA2NSU7XG4gICAgcmlnaHQ6IDAlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRvcDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDQuOTk4NzVlbSkgYW5kIChtYXgtd2lkdGg6IDc0Ljk5ODc1ZW0pIHtcbiAgLnBhZ2UtYmFja2dyb3VuZF9jb250YWluZXI6YmVmb3JlIHtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ0Ljk5ODc1ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5wYWdlLWJhY2tncm91bmRfY29udGFpbmVyOmJlZm9yZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDQuOTk4NzVlbSkgYW5kIChtYXgtd2lkdGg6IDQ0Ljk5ODc1ZW0pIHtcbiAgLnBhZ2UtYmFja2dyb3VuZF9jb250YWluZXI6YmVmb3JlIHtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cbn1cblxuLnBhZ2UtYmFja2dyb3VuZF9jb250YWluZXJfX2JhY2tncm91bmQtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG1hcmdpbi1sZWZ0OiAtMjIlO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI5Ljk5ODc1ZW0pIHtcbiAgLnBhZ2UtYmFja2dyb3VuZF9jb250YWluZXJfX2JhY2tncm91bmQtaW1hZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NC45OTg3NWVtKSB7XG4gIC5wYWdlLWJhY2tncm91bmRfY29udGFpbmVyX19iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4ucGFnZS1iYWNrZ3JvdW5kX2NvbnRhaW5lcl9fYmFja2dyb3VuZC1pbWFnZS0tc21hbGwtc2NyZWVucyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQ3MHB4O1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogNjBweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOS45OTg3NWVtKSB7XG4gIC5wYWdlLWJhY2tncm91bmRfY29udGFpbmVyX19iYWNrZ3JvdW5kLWltYWdlLS1zbWFsbC1zY3JlZW5zIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4uY29udGFpbmVyLXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAxNXB4O1xufVxuXG4uY29udGVudF9fbnVtYmVycyB7XG4gIHdpZHRoOiAxMDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLmNvbnRlbnRfX251bWJlcnMtLWZhbWlsbGplbmZlc3Qge1xuICBib3R0b206IC02MHB4O1xufVxuXG4uZmFtaWxsamVuZmVzdF9jb250YWluZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyNTBweCwgMWZyKSk7XG4gIGdyaWQtZ2FwOiAzMHB4O1xufVxuXG4uZmFtaWxsamVuZmVzdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogM3B4IHNvbGlkICMwRTMxNEI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLWJvdHRvbTogODBweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OC4xMjM3NWVtKSB7XG4gIC5mYW1pbGxqZW5mZXN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNTBweDtcbiAgfVxufVxuXG4uY29udGVudF9fbnVtYmVycy0tZmFtaWxsamVuZmVzdCB7XG4gIGJvdHRvbTogLTYwcHg7XG59XG5cbi5jb250YWluZXJfX2ZhbWlsbGplbmZlc3RfX2lsbHUge1xuICB3aWR0aDogMjYwcHg7XG4gIGhlaWdodDogMjAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAtMTAwcHggYXV0byAwIGF1dG87XG59XG4uY29udGFpbmVyX19mYW1pbGxqZW5mZXN0X19pbGx1IC5mYW1pbGxqZW5mZXN0X19pbGx1IHtcbiAgd2lkdGg6IDI2MHB4O1xuICBtYXJnaW46IGF1dG87XG59XG5cbi5mYW1pbGxqZW5mZXN0X19pbGx1X190aXRsZSB7XG4gIHdpZHRoOiAyNjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgYXV0byAwIGF1dG87XG4gIGJvdHRvbTogMDtcbn1cblxuLmZhbWlsbGplbmZlc3Rfc3BhY2VyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuaGVhZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogOTk5ODtcbiAgYm94LXNoYWRvdzogMCAzcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xNik7XG59XG5cbi5oZWFkZXJfX2lubmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMTZweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHotaW5kZXg6IDk5OTk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5oZWFkZXJfX2lubmVyIHtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gIH1cbn1cblxuLmhlYWRlcl9fbmF2IHtcbiAgZmxleDogMTtcbn1cbi5oZWFkZXJfX25hdiBhIHtcbiAgZm9udC1mYW1pbHk6IG5ld2Jlcnktc2Fucy1wcm8tY29uZGVuc2VkLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOS45OTg3NWVtKSB7XG4gIC5oZWFkZXJfX25hdiBhIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLmhlYWRlcl9fbmF2IGEge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkgYW5kIChtYXgtd2lkdGg6IDI5Ljk5ODc1ZW0pIHtcbiAgLmhlYWRlcl9fbmF2IGEge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgfVxufVxuXG4uaGVhZGVyX19sb2dvX2NvbnRhaW5lcl9uYXYge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuaGVhZGVyX19sb2dvX2NvbnRhaW5lcl9uYXYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5oZWFkZXJfX21lbnUtdG9nZ2xlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNBRjZCQUE7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjQUY2QkFBO1xuICBoZWlnaHQ6IDIwcHg7XG4gIG1hcmdpbjogMCAxNXB4O1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMjVweDtcbn1cbi5oZWFkZXJfX21lbnUtdG9nZ2xlOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmhlYWRlcl9fbWVudS10b2dnbGU6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0FGNkJBQTtcbiAgaGVpZ2h0OiAycHg7XG4gIHdpZHRoOiAyNXB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuaGVhZGVyX19tZW51LXRvZ2dsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgfVxufVxuXG4uaGVyb19jb250YWluZXIge1xuICBtYXJnaW46IDQ1cHggMCAxMjBweCAwO1xuICB6LWluZGV4OiAyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5oZXJvX2NvbnRhaW5lcl9faWxsdSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNjRweCkge1xuICAuaGVyb19jb250YWluZXJfX2lsbHUge1xuICAgIG9yZGVyOiAyO1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTk4NzVlbSkge1xuICAuaGVyb19jb250YWluZXJfX2lsbHUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxufVxuXG4uaGVyb19faWxsdV9fdGl0bGUge1xuICB0b3A6IC01MHB4O1xuICBsZWZ0OiAxMDBweDtcbiAgd2lkdGg6IDM1MHB4O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjY0cHgpIHtcbiAgLmhlcm9fX2lsbHVfX3RpdGxlIHtcbiAgICBvcmRlcjogMztcbiAgICB0b3A6IDcwcHg7XG4gICAgbGVmdDogMDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgLmhlcm9fX2lsbHVfX3RpdGxlIHtcbiAgICBtYXJnaW46IDAgMCA0NXB4IDA7XG4gICAgb3JkZXI6IDM7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOS45OTg3NWVtKSB7XG4gIC5oZXJvX19pbGx1X190aXRsZSB7XG4gICAgd2lkdGg6IDI1MHB4O1xuICB9XG59XG5cbi5oZXJvX19sb2dvIHtcbiAgcmlnaHQ6IDEwMHB4O1xuICB0b3A6IC0xNTBweDtcbiAgd2lkdGg6IDEyMHB4O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgLmhlcm9fX2xvZ28ge1xuICAgIG9yZGVyOiAxO1xuICAgIG1hcmdpbjogMCAwIDQ1cHggMDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAuaGVyb19fbG9nbyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uaGVyb19faWxsdSB7XG4gIHdpZHRoOiA3NjVweDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gIC5oZXJvX19pbGx1IHtcbiAgICBtYXJnaW46IDAgMCA0NXB4IDA7XG4gICAgb3JkZXI6IDI7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOS45OTg3NWVtKSB7XG4gIC5oZXJvX19pbGx1IHtcbiAgICBtYXJnaW46IDAgMCAzMHB4IDA7XG4gICAgd2lkdGg6IDM1MHB4O1xuICB9XG59XG5cbi5oZXJvX19jb250YWluZXJfX2NvbnRlbnQge1xuICBib3gtc2hhZG93OiAwIDNweCA2cHggcmdiYSgwLCAwLCAwLCAwLjE2KTtcbiAgcGFkZGluZzogNDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI2NHB4KSB7XG4gIC5oZXJvX19jb250YWluZXJfX2NvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDEzNnB4O1xuICB9XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTk4NzVlbSkge1xuICAuaGVyb19fY29udGFpbmVyX19jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5oZXJvX19jb250YWluZXJfX2NvbnRlbnRfX2lubmVyLmhhc19faW1hZ2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgLmhlcm9fX2NvbnRhaW5lcl9fY29udGVudF9faW5uZXIuaGFzX19pbWFnZSA+IGRpdiB7XG4gICAgd2lkdGg6IGNhbGMoNjAlIC0gMjBweCk7XG4gIH1cbiAgLmhlcm9fX2NvbnRhaW5lcl9fY29udGVudF9faW5uZXIuaGFzX19pbWFnZSA+IGRpdi5oZXJvX19pbWFnZV9fd3JhcHBlciB7XG4gICAgd2lkdGg6IGNhbGMoNDAlIC0gMjBweCk7XG4gIH1cbiAgLmhlcm9fX2NvbnRhaW5lcl9fY29udGVudF9faW5uZXIuaGFzX19pbWFnZSBpbWcge1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gIH1cbiAgLmhlcm9fX2NvbnRhaW5lcl9fY29udGVudF9faW5uZXIuaGFzX19pbWFnZSAuaGVyb19fZnVsbHdpZHRoIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2FlY2ViO1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gIH1cbiAgLmhlcm9fX2NvbnRhaW5lcl9fY29udGVudF9faW5uZXIuaGFzX19pbWFnZSAuaGVyb19fZnVsbHdpZHRoI2NvbnRhaW5lciB7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5oZXJvX19jb250YWluZXJfX2NvbnRlbnRfX2lubmVyLmhhc19faW1hZ2UgLmhlcm9fX2F1dGhvcl9fbmFtZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG59XG5cbi5sYW5ndWFnZS1zd2l0Y2hlciB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAubGFuZ3VhZ2Utc3dpdGNoZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi5sYW5ndWFnZS1zd2l0Y2hlcl9fbGlzdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICB6LWluZGV4OiAxO1xufVxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAubGFuZ3VhZ2Utc3dpdGNoZXJfX2xpc3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGhlaWdodDogMXB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UtaW4tb3V0LCBvcGFjaXR5IDAuMXMgZWFzZS1vdXQ7XG4gIH1cbn1cblxuLmxhbmd1YWdlLXN3aXRjaGVyX190b3AtbGluayB7XG4gIGJhY2tncm91bmQtY29sb3I6IGdyZXk7XG4gIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gIGNvbG9yOiBibGFjaztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDJweDtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogNTBweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLmxhbmd1YWdlLXN3aXRjaGVyX190b3AtbGluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogNXB4IDMwcHggNXB4IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAubGFuZ3VhZ2Utc3dpdGNoZXJfX3RvcC1saW5rOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiPlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA0MHB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApIHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXMgZWFzZTtcbiAgfVxuICAubGFuZ3VhZ2Utc3dpdGNoZXJfX3RvcC1saW5rOmhvdmVyLCAubGFuZ3VhZ2Utc3dpdGNoZXJfX3RvcC1saW5rOmZvY3VzIHtcbiAgICBjb2xvcjogYmx1ZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG59XG4ubGFuZ3VhZ2Utc3dpdGNoZXI6aG92ZXIgLmxhbmd1YWdlLXN3aXRjaGVyX190b3AtbGluazo6YmVmb3JlLCAubGFuZ3VhZ2Utc3dpdGNoZXI6Zm9jdXMtd2l0aGluIC5sYW5ndWFnZS1zd2l0Y2hlcl9fdG9wLWxpbms6OmJlZm9yZSwgLmxhbmd1YWdlLXN3aXRjaGVyX190b3AtbGluazpmb2N1czo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpIHRyYW5zbGF0ZVkoLTFweCk7XG59XG5cbi5sYW5ndWFnZS1zd2l0Y2hlcl9faXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIC04cHg7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIC5sYW5ndWFnZS1zd2l0Y2hlcl9faXRlbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi5sYW5ndWFnZS1zd2l0Y2hlcl9fbGluayB7XG4gIGNvbG9yOiBibGFjaztcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG4gIHdpZHRoOiA1MHB4O1xufVxuLmxhbmd1YWdlLXN3aXRjaGVyX19saW5rOmZvY3VzLCAubGFuZ3VhZ2Utc3dpdGNoZXJfX2xpbms6aG92ZXIge1xuICBjb2xvcjogYmx1ZTtcbiAgb3V0bGluZTogbm9uZTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLmxhbmd1YWdlLXN3aXRjaGVyX19saW5rIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZzogNXB4IDMwcHggNXB4IDEwcHg7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLmxhbmd1YWdlLXN3aXRjaGVyOmhvdmVyIC5sYW5ndWFnZS1zd2l0Y2hlcl9fbGlzdCxcbi5sYW5ndWFnZS1zd2l0Y2hlciAubGFuZ3VhZ2Utc3dpdGNoZXJfX3RvcC1saW5rOmZvY3VzICsgLmxhbmd1YWdlLXN3aXRjaGVyX19saXN0LFxuLmxhbmd1YWdlLXN3aXRjaGVyX19saXN0OmZvY3VzLXdpdGhpbiB7XG4gIGhlaWdodDogYXV0bztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCk7XG4gIG9wYWNpdHk6IDE7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5tZW51IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLm1lbnUge1xuICAgIHotaW5kZXg6IDE1MDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE4MiwgMjIyLCAyMjIsIDAuOSk7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwcHgpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCB0cmFuc2Zvcm0gMC4ycyBlYXNlLCB2aXNpYmlsaXR5IDBzIGVhc2U7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLm1lbnUuaXMtYWN0aXZlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZSwgdHJhbnNmb3JtIDAuMnMgZWFzZSwgdmlzaWJpbGl0eSAwcyBlYXNlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG4ubWVudV9faXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiA0NXB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTk4NzVlbSkge1xuICAubWVudV9faXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbi5tZW51X19saW5rIHtcbiAgY29sb3I6ICNBRjZCQUE7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxNXB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLm1lbnVfX2xpbmsge1xuICAgIGNvbG9yOiAjMEUzMTRCO1xuICB9XG59XG4ubWVudV9fbGluazpob3ZlciwgLm1lbnVfX2xpbms6Zm9jdXMge1xuICBjb2xvcjogIzdiNDQ3NztcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLm1lbnVfX2Nsb3NlLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAzNXB4O1xuICByaWdodDogMjVweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogNDBweDtcbn1cbi5tZW51X19jbG9zZS1idXR0b246aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45OTg3NWVtKSB7XG4gIC5tZW51X19jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4ubWVudV9fY2xvc2UtYnV0dG9uOjphZnRlciwgLm1lbnVfX2Nsb3NlLWJ1dHRvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDM4cHg7XG59XG4ubWVudV9fY2xvc2UtYnV0dG9uOjphZnRlciB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG4ubWVudV9fY2xvc2UtYnV0dG9uOjpiZWZvcmUge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gcmlnaHQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCkgcm90YXRlKC00NWRlZyk7XG59XG5cbi5oYXMtc3VibWVudSAubWVudSB7XG4gIGhlaWdodDogMXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBvcGFjaXR5OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1pbi1vdXQsIG9wYWNpdHkgMC4xcyBlYXNlLW91dDtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xufVxuXG4uaGFzLXN1Ym1lbnUgLm1lbnUgLm1lbnVfX2xpbmsge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uaGFzLXN1Ym1lbnU6aG92ZXIgLm1lbnUsXG4uaGFzLXN1Ym1lbnUgLm1lbnVfX2xpbms6Zm9jdXMgKyAubWVudSxcbi5tZW51OmZvY3VzLXdpdGhpbiB7XG4gIGhlaWdodDogYXV0bztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCk7XG4gIG9wYWNpdHk6IDE7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5tZW51X19pdGVtLS1idXR0b24ge1xuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDIwMHB4O1xuICBiYWNrZ3JvdW5kOiAjQUY2QkFBO1xuICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICBwYWRkaW5nOiAxMnB4IDMxcHg7XG59XG4ubWVudV9faXRlbS0tYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzdiNDQ3Nztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjk5ODc1ZW0pIHtcbiAgLm1lbnVfX2l0ZW0tLWJ1dHRvbiB7XG4gICAgY29sb3I6ICMwRTMxNEI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm1lbnVfX2l0ZW0tLWJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICM3YjQ0Nzc7XG4gIH1cbn1cblxuLnBhZ2UtZm9vdGVyX2NvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMEUzMTRCO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wYWdlLWZvb3Rlcl9jb250YWluZXJfX2NvcHlyaWdodF9jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0NXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wYWdlLWZvb3Rlcl9jb250YWluZXJfX3RleHQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLnBhZ2UtZm9vdGVyX2NvbnRhaW5lcl9fdGV4dC0td2hpdGUge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnJhZGlvX2NvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3RTMyMzI7XG59XG5cbi5yYWRpb19jb250YWluZXJfX2NvbnRlbnQge1xuICBwYWRkaW5nOiAwIDQ1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLnJhZGlvX2NvbnRhaW5lcl9fY29udGVudCBoNSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5yYWRpb19jb250YWluZXJfX2NvbnRlbnQgaDUgYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnJhZGlvX2NvbnRhaW5lcl9fY29udGVudCBoNSBhOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTk4NzVlbSkge1xuICAucmFkaW9fY29udGFpbmVyX19jb250ZW50IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbn1cblxuLnJhZGlvX2NvbnRhaW5lcl9fc3BhY2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0I3MEIwQjtcbiAgei1pbmRleDogMDtcbn1cblxuLnJhZGlvX19sb2dvIHtcbiAgd2lkdGg6IDM4MHB4O1xuICBtYXJnaW4tYm90dG9tOiAtMzBweDtcbiAgcGFkZGluZzogMTVweCA0NXB4IDAgMDtcbiAgei1pbmRleDogMTtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45OTg3NWVtKSB7XG4gIC5yYWRpb19fbG9nbyB7XG4gICAgcGFkZGluZzogMTVweCAwIDAgMDtcbiAgfVxufVxuXG4uc3BhY2VyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uc3BhY2VyLS14eGxhcmdlIHtcbiAgaGVpZ2h0OiAxMjBweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OC4xMjM3NWVtKSB7XG4gIC5zcGFjZXItLXh4bGFyZ2Uge1xuICAgIGhlaWdodDogNDVweDtcbiAgfVxufVxuLnNwYWNlci0teGxhcmdlIHtcbiAgaGVpZ2h0OiA2MHB4O1xufVxuLnNwYWNlci0teG1lZGl1bSB7XG4gIGhlaWdodDogMzBweDtcbn1cbi5zcGFjZXItLW1lZGl1bSB7XG4gIGhlaWdodDogMTVweDtcbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OC4xMjM3NWVtKSB7XG4gIC5zcGFjZXItLWhlcm9fY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEyMHB4O1xuICB9XG59XG5cbi53cmFwIHtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBtYXgtd2lkdGg6IDgxLjI1cmVtO1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTk4NzVlbSkge1xuICAud3JhcCB7XG4gICAgcGFkZGluZy1yaWdodDogNDVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XG4gIH1cbn1cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NC45OTg3NWVtKSB7XG4gIC53cmFwIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgfVxufSIsIiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEzMDApO1xuXG5odG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbn1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqXG5DT0xPUlNcbioqKioqKioqKioqKioqKioqKioqKi9cblxuJGJsYWNrOiAjMDAwO1xuJHdoaXRlOiAjZmZmO1xuJHB1cnBsZTogI0FGNkJBQTtcbiRibHVlOiAjODlDOENDO1xuJGdyZWVuOiAjQzRDQzQ1O1xuJHNhbG1vbjogI0M2NjM2QjtcbiRyZWQ6ICM3RTMyMzI7XG4kcmVkLWxpZ2h0OiAjQjcwQjBCO1xuJG9yYW5nZTogI0Q4OTMzRDtcblxuJHRleHQtY29sb3VyOiAjMEUzMTRCO1xuXG4vLyBTb2NpYWwgTWVkaWEgQ29sb3Vycy4gU291cmNlOiBodHRwczovL3d3dy5sb2NrZWRvd25zZW8uY29tL3NvY2lhbC1tZWRpYS1jb2xvcnMvXG4kc29jaWFsLWZhY2Vib29rOiAjM2I1OTk4O1xuJHNvY2lhbC10d2l0dGVyOiAjMWRhMWYyO1xuJHNvY2lhbC1nb29nbGVwbHVzOiAjZGI0NDM3O1xuJHNvY2lhbC15b3V0dWJlOiAjZmYwMDAwO1xuJHNvY2lhbC1saW5rZWRpbjogIzAwN2JiNTtcbiRzb2NpYWwtaW5zdGFncmFtOiAjYzMyYWEzO1xuJHNvY2lhbC1pbnN0YWdyYW0tYWx0MTogIzRjNWZkNztcbiRzb2NpYWwtaW5zdGFncmFtLWFsdDI6ICM3MjMyYmQ7XG4kc29jaWFsLWluc3RhZ3JhbS1hbHQzOiAjZjQ2ZjMwO1xuJHNvY2lhbC1pbnN0YWdyYW0tYWx0NDogI2ZmZGM3ZDtcbiRzb2NpYWwtcGludGVyZXN0OiAjYmQwODFjO1xuJHNvY2lhbC12aW5lOiAjMDBiNDg5O1xuJHNvY2lhbC1zbmFwY2hhdDogI2ZmZmMwMDtcbiRzb2NpYWwtcXVvcmE6ICNhYTIyMDA7XG4kc29jaWFsLWZsaWNrcjogI2Y0MDA4MztcbiRzb2NpYWwtZmxpY2tyLWFsdDogIzAwNmFkZDtcbiRzb2NpYWwtdHVtYmxyOiAjMzU0NjVkO1xuJHNvY2lhbC12azogIzRhNzZhODtcbiRzb2NpYWwtdmltZW86ICMxYWI3ZWE7XG4kc29jaWFsLWZvdXJzcXVhcmU6ICNmOTQ4Nzc7XG4kc29jaWFsLXRyaXBhZHZpc29yOiAjNzljNjY3O1xuXG5cbi8qKioqKioqKioqKioqKioqKioqKipcblNwYWNpbmdcbioqKioqKioqKioqKioqKioqKioqKi9cblxuJHNtYWxsOiA3cHg7XG4kbWVkaXVtOiAxNXB4O1xuJHhtZWRpdW06IDMwcHg7XG4kbGFyZ2U6IDQ1cHg7XG4keGxhcmdlOiA2MHB4O1xuJHh4bGFyZ2U6IDEyMHB4O1xuXG5cbi8qKioqKioqKioqKioqKioqKioqKipcbkJyZWFrcG9pbnRzXG4qKioqKioqKioqKioqKioqKioqKiovXG5cbiRicmVha3BvaW50czogKFxuICAgIHNtYWxsOiAwLFxuICAgIG1lZGl1bTogNDgwcHgsXG4gICAgeG1lZGl1bTogNzIwcHgsXG4gICAgbGFyZ2U6IDEwMjRweCxcbiAgICB4bGFyZ2U6IDEyMDBweCxcbiAgICB4eGxhcmdlOiAxNTcwcHgsXG4gICAgY2FwOiAyMDAwcHgsXG4pOyIsIkBpbXBvcnQgJ3NyYy9iYXNlL19pY29uLW1peGluJztcblxuLmljb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbn1cblxuLy8ga2VlcCBhc3BlY3QgcmF0aW8gc3ZncyB3aXRoIHBhZGRpbmctdG9wIGhhY2tcbkBlYWNoICRuYW1lLCAkdXJsIGluICRzcHJpdGVzIHtcbiAgICAuaWNvbi0tI3skbmFtZX0ge1xuICAgICAgICAvL0BpbmNsdWRlIHNwcml0ZSgkbmFtZSk7IGZvciBjc3Mgc3ZnIGJ1dCBvbmx5IGF2YWlsYWJsZSBpbiBvcmlnaW5hbCBjb2xvcnNcbiAgICAgICAgJHNpemU6IG1hcC1nZXQoJHNpemVzLCAkbmFtZSk7XG4gICAgICAgICRoZWlnaHQ6IG1hcC1nZXQoJHNpemUsIGhlaWdodCk7XG4gICAgICAgICR3aWR0aDogbWFwLWdldCgkc2l6ZSwgd2lkdGgpO1xuICAgICAgICAkcGFkZGluZ1RvcDogcGVyY2VudGFnZSgkaGVpZ2h0IC8gJHdpZHRoKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRwYWRkaW5nVG9wO1xuICAgICAgICB9XG4gICAgfVxufSIsImltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn0iLCJtYWluIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5ib2R5IHtcbiAgICBAaW5jbHVkZSBkaW4yMDE0O1xuICAgIEBpbmNsdWRlIHR5cGUtLTIyO1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvdXI7XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0IHtcbiAgICBAaW5jbHVkZSBuZXdiZXJ5LS1ib2xkO1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvdXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAvLyAgICBAaW5jbHVkZSBmb250TmFtZTtcbn1cblxuXG5oMyB7XG4gICAgQGluY2x1ZGUgdHlwZS0tMzI7XG4gICAgY29sb3I6ICR3aGl0ZTtcbn1cblxuaDUge1xuICAgIEBpbmNsdWRlIGRpbjIwMTQ7XG4gICAgQGluY2x1ZGUgdHlwZS0tMjU7XG4gICAgY29sb3I6ICR3aGl0ZTtcbn1cblxuaDYge1xuICAgIEBpbmNsdWRlIG5ld2Jlcnk7XG4gICAgQGluY2x1ZGUgdHlwZS0tMTY7XG59XG5cblxudWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1hcmdpbjogMDtcbn1cblxuYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5idXR0b24sXG5bdHlwZT1idXR0b25dIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cblxuLmNvbnRlbnRfX251bWJlcnMge1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cbiIsIkBtaXhpbiBuZXdiZXJ5KCkge1xuICBmb250LWZhbWlseTogbmV3YmVyeS1zYW5zLXBybyxzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBtaXhpbiBuZXdiZXJ5LS1ib2xkKCkge1xuICBmb250LWZhbWlseTogbmV3YmVyeS1zYW5zLXByby1jb25kZW5zZWQsc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AbWl4aW4gZGluMjAxNCgpIHtcbiAgZm9udC1mYW1pbHk6IGRpbi0yMDE0LHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQG1peGluIGRpbjIwMTQtLWJvbGQoKSB7XG4gIGZvbnQtZmFtaWx5OiBkaW4tMjAxNCxzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBtaXhpbiB0eXBlLS01MCgpIHtcbiAgICBmb250LXNpemU6IDUwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgfVxufVxuXG5AbWl4aW4gdHlwZS0tMzIoKSB7XG4gIGZvbnQtc2l6ZTogMzJweDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bWVkaXVtIGRvd24pIHtcbiAgICBmb250LXNpemU6IDI2cHg7XG4gIH1cbn1cblxuQG1peGluIHR5cGUtLTI1KCkge1xuICBmb250LXNpemU6IDI1cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gIH1cbn1cblxuQG1peGluIHR5cGUtLTIyKCkge1xuICBmb250LXNpemU6IDIycHg7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gIH1cbn1cblxuQG1peGluIHR5cGUtLTE2KCkge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIEhpRFBJIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzIGZvciByZXNvbHV0aW9ucy5cbi8vLyBWYWx1ZXMgbXVzdCByZXByZXNlbnQgdGhlIGRldmljZSBwaXhlbHMgLyB3ZWIgcGl4ZWxzIHJhdGlvbiBhbmQgYmUgdW5pdGxlc3Mgb3IgaW4gRFBQWC5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50cy1oaWRwaTogKFxuICBoaWRwaS0xOiAxLFxuICBoaWRwaS0xLTU6IDEuNSxcbiAgaGlkcGktMjogMixcbiAgcmV0aW5hOiAyLFxuICBoaWRwaS0zOiAzXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1RoZSBmaXJzdCBrZXkgaW4gdGhlICRicmVha3BvaW50cyBtYXAgbXVzdCBoYXZlIGEgdmFsdWUgb2YgXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFdlYiBzdGFuZGFyZCBQaXhlbHMgcGVyIGluY2guICgxZGRweCAvICRzdGQtd2ViLWRwaSkgPSAxZHBpXG4gIC8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLXZhbHVlcy0zLyNhYnNvbHV0ZS1sZW5ndGhzXG4gICRzdGQtd2ViLWRwaTogOTY7XG5cbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBvZiB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnRcbiAgJGJwLW5leHQ6IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWluOiBudWxsO1xuICAvLyBWYWx1ZSBmb3IgbWluLXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogbnVsbDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIElmIG5hbWVkLCBuYW1lIG9mIHRoZSBicmVha3BvaW50XG4gICRuYW1lOiBudWxsO1xuICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIEhpRFBJIGJyZWFrcG9pbnRcbiAgJGhpZHBpOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cblxuICAvLyBJZiBhIGJyZWFrcG9pbnQgbmFtZSBpcyBnaXZlbiwgZ2V0IGl0cyB2YWx1ZSBmcm9tIHRoZSAkYnJlYWtwb2ludHMvJGJyZWFrcG9pbnRzLWhpZHBpIG1hcC5cbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICAkbmFtZTogJGJwO1xuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgICAgJGJwLW5leHQ6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLWhpZHBpLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLWhpZHBpLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0LW51bWJlcigkYnJlYWtwb2ludHMtaGlkcGksICRicCk7XG4gICAgICAkaGlkcGk6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgYCRicmVha3BvaW50c2Agb3IgYCRicmVha3BvaW50cy1oaWRwaWAgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBub3QgJG5hbWUgYW5kICRkaXIgPT0gJ29ubHknIHtcbiAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gT25seSAnb25seScgYW5kICd1cCcgaGF2ZSBhIG1pbiBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ3VwJyB7XG4gICAgJGJwLW1pbjogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgfVxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ2Rvd24nIGhhdmUgYSBtYXggbGltaXQuXG4gIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSB2YWx1ZSwgdXNlIGl0IGFzIG1heCBsaW1pdC5cbiAgICBAaWYgbm90ICRuYW1lIHtcbiAgICAgICRicC1tYXg6IGlmKCRoaWRwaSwgc3RyaXAtdW5pdCgkYnApLCAtemYtYnAtdG8tZW0oJGJwKSk7XG4gICAgfVxuICAgIC8vIElmIHRoZSBicmVha3BvaW50IGlzIG5hbWVkLCB0aGUgbWF4IGxpbWl0IGlzIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludCAtIDFweC5cbiAgICBAZWxzZSBpZiAkYnAtbmV4dCB7XG4gICAgICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gICAgICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20venVyYi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCAkYnAtbmV4dCAtICgxLyRzdGQtd2ViLWRwaSksIC16Zi1icC10by1lbSgkYnAtbmV4dCkgLSAwLjAwMTI1KTtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmF0ZSB0aGUgbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gbWluIGFuZCBtYXggbGltaXRzLlxuICBAaWYgJGhpZHBpIHtcbiAgICAvLyBHZW5lcmF0ZSB2YWx1ZXMgaW4gRFBJIGluc3RlYWQgb2YgRFBQWCBmb3IgYW4gSUU5LTExL09wZXJhIG1pbmkgY29tcGF0aWJpbGl0eS5cbiAgICAvLyBTZWUgaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICAgICRicC1taW4tZHBpOiBpZigkYnAtbWluLCAkYnAtbWluICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1pbik7XG4gICAgJGJwLW1heC1kcGk6IGlmKCRicC1tYXgsICRicC1tYXggKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWF4KTtcbiAgICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCwgJy13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbycsICctd2Via2l0LW1heC1kZXZpY2UtcGl4ZWwtcmF0aW8nKSxcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4tZHBpLCAkYnAtbWF4LWRwaSwgJ21pbi1yZXNvbHV0aW9uJywgJ21heC1yZXNvbHV0aW9uJyksXG4gICAgICAnLCAnKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4KTtcbiAgfVxufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIGFuZCBgJGJyZWFrcG9pbnRzLWhpZHBpYCBtYXBzLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gSWYgbXVsdGlwbGUgdmFsdWVzIGFyZSBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGdlbmVyYXRlIGEgbWVkaWEgcXVlcnkgZm9yIGVhY2ggb2YgdGhlbSBhcyBkZXNjcmliZWQgYWJvdmUuXG4vLy8gU2luY2UgdGhlIGNvbnRlbnQgaXMgZHVwbGljYXRlZCBmb3IgZWFjaCBicmVha3BvaW50LCB0aGlzIG1peGluIHNob3VsZCBvbmx5IGJlIHVzZWQgd2l0aCBwcm9wZXJ0aWVzIHRoYXRcbi8vLyBjaGFuZ2UgYWNyb3NzIGJyZWFrcG9pbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlcy4uLiAtIEJyZWFrcG9pbnQgbmFtZSBvciBweC9yZW0vZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlcy4uLikge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkdmFsdWVzKSB7XG4gICAgJHZhbHVlOiBudGgoJHZhbHVlcywgJGkpO1xuICAgICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgbnRoKCR2YWx1ZSwgMSkpO1xuICAgICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuICAgIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICAgJGRpcjogaWYobGVuZ3RoKCR2YWx1ZSkgPiAxLCBudGgoJHZhbHVlLCAyKSwgdXApO1xuXG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gICAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gICAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICAgIEBpZiAkc3RyID09ICcnIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gICAgQGVsc2Uge1xuICAgICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgICAgLy8gZ2VuZXJhdGUgcHJpbnQgaWYgdGhlIGJyZWFrcG9pbnQgYWZmZWN0cyB0aGUgcHJpbnQtYnJlYWtwb2ludCAob3Igc21hbGxlcikuXG4gICAgICAvLyBUaGlzIG1lYW5zIHRoZSBjdXJyZW50IGNvbmRpdGlvbiBvbmx5IG5lZWRzIHRvIGJlIGV4dGVuZGVkIHNvICdkb3duJyBhbHdheXMgZ2VuZXJhdGVzIHByaW50LlxuICAgICAgQGlmICRicCAhPSBudWxsIGFuZCAoJGJwIDw9ICRwYnAgb3IgJGRpciA9PSBkb3duKSB7XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnRzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IG51bWJlciBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRudW1iZXIgLSBOdW1iZXIgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSBudW1iZXIgZm9sbG93aW5nIGAkbnVtYmVyYCwgaWYgYCRudW1iZXJgIHdhcyBmb3VuZC4gSWYgYCRudW1iZXJgIHdhcyBub3QgZm91bmQsIG9yIGAkbnVtYmVyYCB3YXMgdGhlIGJpZ2dlc3QgbnVtYmVyIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dC1udW1iZXIoJG1hcCwgJG51bWJlcikge1xuXG4gICRuZXh0X251bWJlcjogbnVsbDtcblxuICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgQGlmIHR5cGUtb2YoJHYpID09ICdudW1iZXInIGFuZCAkdiA+ICRudW1iZXIgYW5kICgkbmV4dF9udW1iZXIgPT0gbnVsbCBvciAkdiA8ICRuZXh0X251bWJlcikge1xuICAgICAgJG5leHRfbnVtYmVyOiAkdjtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXh0X251bWJlcjtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZF9rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZF9rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIHRoZSBiZXN0IGJyZWFrcG9pbnQgdG8gdXNlIGFjY29yZGluZyB0byB0aGUgY2FsbGluZyBjb250ZXh0LiBJdCByZXR1cm5zIGluIG9yZGVyOlxuLy8vIDEuIHRoZSBnaXZlbiBgJHZhbHVlYCBhcmd1bWVudCBpZiBpdCBpcyBub3QgbnVsbC5cbi8vLyAyLiB0aGUgZ2xvYmFsIGJyZWFrcG9pbnQgY29udGV4dCBgJC16Zi1zaXplYCBpZiBpdCBpcyBub3QgbnVsbCAobGlrZSBpZiBjYWxsZWQgaW5zaWRlIHRoZW4gYGJyZWFrcG9pbnQoKWAgbWl4aW4pXG4vLy8gMy4gdGhlIGdpdmVuIGAkZGVmYXVsdGAgYXJndW1lbnQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBpbiBwcmlvcml0eSBpZiBub24tbnVsbC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkZWZhdWx0IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGJ5IGRlZmF1bHQgaWYgbm8gb3RoZXIgdmFsdWUgY2FuIGJlIHVzZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtLZXl3b3JkfSBUaGUgcmVzb2x2ZWQgYnJlYWtwb2ludC5cbkBmdW5jdGlvbiAtemYtY3VycmVudC1icmVha3BvaW50KCR2YWx1ZTogbnVsbCwgJGRlZmF1bHQ6IG51bGwpIHtcbiAgQGlmICgkdmFsdWUgIT0gbnVsbCkge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG4gIEBlbHNlIGlmICh2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgQHJldHVybiAkLXpmLXNpemU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJGRlZmF1bHQ7XG4gIH1cbn1cblxuLy8vIFJldHVybiBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSB0aGUgZ2l2ZW4gbWluIGFuZC9vciBtYXggbGltaXRzLlxuLy8vIElmIGEgbGltaXQgaXMgZXF1YWwgdG8gYG51bGxgIG9yIGAwYCwgaXQgaXMgaWdub3JlZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWluIFswXSAtIE1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCBbMF0gLSBNYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtaW4tbmFtZSBbJ21pbi13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGVsaW1pdGVyIFsnbWF4LXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBNZWRpYSBRdWVyeSBzdHJpbmcuXG5AZnVuY3Rpb24gLXpmLWJwLWpvaW4oXG4gICRtaW46IDAsXG4gICRtYXg6IDAsXG4gICRtaW4tbmFtZTogJ21pbi13aWR0aCcsXG4gICRtYXgtbmFtZTogJ21heC13aWR0aCdcbikge1xuICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgIGlmKCRtaW4gYW5kICRtaW4gPiAwLCAnKCN7JG1pbi1uYW1lfTogI3skbWlufSknLCBudWxsKSxcbiAgICBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJygjeyRtYXgtbmFtZX06ICN7JG1heH0pJywgbnVsbCksXG4gICAgJyBhbmQgJyk7XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi5idXR0b24ge1xuICAgIEBpbmNsdWRlIG5ld2Jlcnk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHB1cnBsZTtcblxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG59XG5cbi5idXR0b24tLWdob3N0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkcHVycGxlO1xufSIsIi5mb3JtYXQtdGV4dCB7XG5cbiAgICBwIHtcblxuICAgIH1cblxuICAgIHN0cm9uZyB7XG5cbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICB9XG5cbiAgICBsaSB7XG5cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgfVxufSIsIkBtaXhpbiBhMTF5IHtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoMTAwJSk7XG4gICAgY2xpcC1wYXRoOiBpbnNldCgxMDAlKTtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGJvcmRlcjogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHdpZHRoOiAxcHg7XG59XG5cbi5hMTF5X192by1vbmx5IHtcbiAgICBAaW5jbHVkZSBhMTF5O1xufVxuXG4uYTExeV9fc2tpcC1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIHBhZGRpbmc6ICRtZWRpdW0gJHhtZWRpdW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDk5OTtcblxuICAgICY6bm90KDpmb2N1cyk6bm90KDphY3RpdmUpIHtcbiAgICAgICAgQGluY2x1ZGUgYTExeTtcbiAgICB9XG59IiwiLmFjdGl2aXR5X2NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgZ3JpZC1nYXA6ICR4bWVkaXVtO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgfVxufVxuXG4uYWN0aXZpdHlfX21lZGlhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDMwMHB4O1xuICB3aWR0aDoxMDAlO1xuXG59XG4uYWN0aXZpdHlfX2ltYWdlIHtcbiAgQGluY2x1ZGUgb2JqZWN0LWZpdCgpIDtcbn1cblxuLmFjdGl2aXR5X19jb250ZW50IHtcbiAgcGFkZGluZzogJGxhcmdlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmZvcm1hdC10ZXh0IHtcbiAgICBwYWRkaW5nLXRvcDogJG1lZGl1bTtcbiAgfVxufVxuXG5cbi5hY3Rpdml0eV9fdGl0bGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHBhZGRpbmc6ICRtZWRpdW07XG4gIHRvcDogMTQwcHg7XG59XG5cbi5jb250ZW50X19udW1iZXJzLS1hY3Rpdml0eSB7XG4gIHRvcDogLTQwcHg7XG59XG5cbi5hY3Rpdml0eS0tMSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xufVxuXG4uYWN0aXZpdHktLTIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG59XG5cbi5hY3Rpdml0eS0tMyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzYWxtb247XG4gIGNvbG9yOiAkd2hpdGU7XG59XG5cbi5hY3Rpdml0eS0tNCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG59XG5cbi5hY3Rpdml0eV9fdGl0bGUge1xuICAuYWN0aXZpdHktLTEgJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gIH1cbiAgLmFjdGl2aXR5LS0yICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgfVxuICAuYWN0aXZpdHktLTMgJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNhbG1vbjtcbiAgfVxuICAuYWN0aXZpdHktLTQgJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZTtcbiAgfVxufSIsIkBtaXhpbiBvYmplY3QtZml0KCRjb250ZW50OiBjb3ZlciwgJHBvc2l0aW9uOiBjZW50ZXIpIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiAjeyRjb250ZW50fSwgb2JqZWN0LXBvc2l0aW9uOiAjeyRwb3NpdGlvbn0nO1xuICAgIG9iamVjdC1maXQ6ICRjb250ZW50O1xuICAgIG9iamVjdC1wb3NpdGlvbjogJHBvc2l0aW9uO1xuICAgIHdpZHRoOiAxMDAlO1xufSIsIlxuYm9keSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL21lZGlhL3N2Zy9iYWNrZ3JvdW5kcy9iYWNrZ3JvdW5kLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTMlIDY1MHB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMjM1MHB4KSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTMlIDE1MHB4O1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjk1cHgpIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MyUgNzBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MyUgNjcwcHg7XG4gIH1cblxufVxuXG5cbi5wYWdlLWJhY2tncm91bmRfY29udGFpbmVye1xuICBoZWlnaHQ6IDk5MHB4O1xuICB0b3A6IC0xMDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMzUwcHgpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjk1cHgpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICB0b3A6IDEzMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNjUlO1xuICAgICAgcmlnaHQ6IDAlO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICB0b3A6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxufVxuXG4ucGFnZS1iYWNrZ3JvdW5kX2NvbnRhaW5lcl9fYmFja2dyb3VuZC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgbWFyZ2luLWxlZnQ6IC0yMiU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4ucGFnZS1iYWNrZ3JvdW5kX2NvbnRhaW5lcl9fYmFja2dyb3VuZC1pbWFnZS0tc21hbGwtc2NyZWVucyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQ3MHB4O1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJHhsYXJnZTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4iLCIuY29udGFpbmVyLXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAkbWVkaXVtO1xufSIsIi5jb250ZW50X19udW1iZXJzIHtcbiAgd2lkdGg6IDEwMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4uY29udGVudF9fbnVtYmVycy0tZmFtaWxsamVuZmVzdCB7XG4gIGJvdHRvbTotNjBweDtcbn0iLCIuZmFtaWxsamVuZmVzdF9jb250YWluZXIge1xuICBkaXNwbGF5OmdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCxtaW5tYXgoMjUwcHgsMWZyKSk7XG4gIGdyaWQtZ2FwOiAkeG1lZGl1bTtcblxufVxuXG4uZmFtaWxsamVuZmVzdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgYm9yZGVyOiAzcHggc29saWQgJHRleHQtY29sb3VyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIGRvd24pIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkeHhsYXJnZSArICR4bWVkaXVtO1xuICB9XG59XG5cbi5jb250ZW50X19udW1iZXJzLS1mYW1pbGxqZW5mZXN0IHtcbiAgYm90dG9tOi02MHB4O1xufVxuXG4uY29udGFpbmVyX19mYW1pbGxqZW5mZXN0X19pbGx1IHtcbiAgd2lkdGg6IDI2MHB4O1xuICBoZWlnaHQ6IDIwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogLTEwMHB4IGF1dG8gMCBhdXRvO1xuICAuZmFtaWxsamVuZmVzdF9faWxsdSB7XG4gICAgd2lkdGg6IDI2MHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxufVxuXG5cbi5mYW1pbGxqZW5mZXN0X19pbGx1X190aXRsZSB7XG4gIHdpZHRoOiAyNjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgYXV0byAwIGF1dG87XG4gIGJvdHRvbTogMDtcbn1cblxuLmZhbWlsbGplbmZlc3Rfc3BhY2VyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbiIsImhlYWRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA5OTk4O1xuICAgIGJveC1zaGFkb3c6IDAgM3B4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTYpO1xufVxuXG4uaGVhZGVyX19pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogMTE2cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIHotaW5kZXg6IDk5OTk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhtZWRpdW0gZG93bikge1xuICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgfVxufVxuXG4uaGVhZGVyX19uYXYge1xuICAgIGZsZXg6IDE7XG5cbiAgICBhIHtcbiAgICAgICAgQGluY2x1ZGUgbmV3YmVyeS0tYm9sZDtcbiAgICAgICAgQGluY2x1ZGUgdHlwZS0tMTY7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHlwZS0tMjI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5oZWFkZXJfX2xvZ29fY29udGFpbmVyX25hdiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bWVkaXVtIGRvd24pIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4uaGVhZGVyX19tZW51LXRvZ2dsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkcHVycGxlO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkcHVycGxlO1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW46IDAgJG1lZGl1bTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAyNXB4O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwdXJwbGU7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICB3aWR0aDogMjVweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhtZWRpdW0gZG93bikge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tbGVmdDogJG1lZGl1bTtcbiAgICB9XG59IiwiLmhlcm9fY29udGFpbmVyIHtcbiAgICBtYXJnaW46ICRsYXJnZSAwICR4eGxhcmdlIDA7XG4gICAgei1pbmRleDogMjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5oZXJvX2NvbnRhaW5lcl9faWxsdSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNjRweCkge1xuICAgICAgICBvcmRlcjogMjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbn1cblxuLmhlcm9fX2lsbHVfX3RpdGxlIHtcbiAgICB0b3A6IC01MHB4O1xuICAgIGxlZnQ6IDEwMHB4O1xuICAgIHdpZHRoOiAzNTBweDtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNjRweCkge1xuICAgICAgICBvcmRlcjogMztcbiAgICAgICAgdG9wOiA3MHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAgICAgICBtYXJnaW46IDAgMCAkbGFyZ2UgMDtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgIHdpZHRoOiAyNTBweDtcbiAgICB9XG5cbn1cblxuLmhlcm9fX2xvZ28ge1xuICAgIHJpZ2h0OiAxMDBweDtcbiAgICB0b3A6IC0xNTBweDtcbiAgICB3aWR0aDogMTIwcHg7XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgbWFyZ2luOiAwIDAgJGxhcmdlIDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhtZWRpdW0gZG93bikge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxufVxuXG4uaGVyb19faWxsdSB7XG4gICAgd2lkdGg6IDc2NXB4O1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI3OXB4KSB7XG4gICAgICAgIG1hcmdpbjogMCAwICRsYXJnZSAwO1xuICAgICAgICBvcmRlcjogMjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgJHhtZWRpdW0gMDtcbiAgICAgICAgd2lkdGg6IDM1MHB4O1xuICAgIH1cbn1cblxuLmhlcm9fX2NvbnRhaW5lcl9fY29udGVudCB7XG4gICAgYm94LXNoYWRvdzogMCAzcHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xNik7XG4gICAgcGFkZGluZzogJGxhcmdlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI2NHB4KSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEzNnB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxufVxuXG4uaGVyb19fY29udGFpbmVyX19jb250ZW50X19pbm5lciB7XG4gICAgJi5oYXNfX2ltYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDYwJSAtIDIwcHgpO1xuXG4gICAgICAgICAgICAgICAgJi5oZXJvX19pbWFnZV9fd3JhcHBlcntcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoNDAlIC0gMjBweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5oZXJvX19mdWxsd2lkdGgge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjYWVjZWI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICAgICAgICAgICAgICAmI2NvbnRhaW5lcntcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaGVyb19fYXV0aG9yX19uYW1le1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIvLyBjb2xvcnNcbiR0b3AtbGluay1jb2xvcjogYmxhY2s7XG4kdG9wLWxpbmstY29sb3ItaG92ZXI6IGJsdWU7XG4kdG9wLWxpbmstYmFja2dyb3VuZDogZ3JleTtcbiR0b3AtbGluay1iYWNrZ3JvdW5kLWhvdmVyOiB3aGl0ZTtcblxuJGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuJGJhY2tncm91bmQtaG92ZXI6IGdyZWVuO1xuJGxpbmstY29sb3I6IGJsYWNrO1xuJGxpbmstY29sb3ItaG92ZXI6IGJsdWU7XG5cbi8vIHNwYWNpbmdcbiRhcnJvdy1hbW91bnQtZnJvbS1sZWZ0OiA0MHB4O1xuJHBhZGRpbmctZHJvcGRvd246IDVweCAzMHB4IDVweCAxMHB4O1xuJHBhZGRpbmc6IDVweCAxMHB4O1xuJG1hcmdpbjogMnB4O1xuXG4vLyBpY29uXG4kaWNvbjogZmFsc2U7XG4kaWNvbi1zeW1ib2w6ICc+JztcblxuJGRyb3Bkb3duLXN0YXJ0OiBcIjEwMDBweFwiO1xuXG4vLyBidXR0b25zXG4kYnV0dG9uLXdpZHRoOiA1MHB4O1xuJGJ1dHRvbi1yYWRpdXM6IDE1cHg7XG5cbi5sYW5ndWFnZS1zd2l0Y2hlciB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZHJvcGRvd24tc3RhcnQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxufVxuXG4ubGFuZ3VhZ2Utc3dpdGNoZXJfX2xpc3Qge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkcm9wZG93bi1zdGFydCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0LFxuICAgICAgICBvcGFjaXR5IC4xcyBlYXNlLW91dDtcbiAgICB9XG59XG5cbi5sYW5ndWFnZS1zd2l0Y2hlcl9fdG9wLWxpbmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3AtbGluay1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgIGNvbG9yOiAkdG9wLWxpbmstY29sb3I7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogJG1hcmdpbjtcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6ICRidXR0b24td2lkdGg7XG5cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRyb3Bkb3duLXN0YXJ0KSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nLWRyb3Bkb3duO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgQGlmICRpY29uID09IHRydWUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGljb247XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb250ZW50OiAkaWNvbi1zeW1ib2w7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAkYXJyb3ctYW1vdW50LWZyb20tbGVmdDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApIHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBlYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogJHRvcC1saW5rLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sYW5ndWFnZS1zd2l0Y2hlcjpob3ZlciAmOjpiZWZvcmUsXG4gICAgLmxhbmd1YWdlLXN3aXRjaGVyOmZvY3VzLXdpdGhpbiAmOjpiZWZvcmUsXG4gICAgJjpmb2N1czo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpIHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgfVxufVxuXG4ubGFuZ3VhZ2Utc3dpdGNoZXJfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgLThweDtcblxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZHJvcGRvd24tc3RhcnQpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG5cbi5sYW5ndWFnZS1zd2l0Y2hlcl9fbGluayB7XG4gICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xuICAgIHdpZHRoOiAkYnV0dG9uLXdpZHRoO1xuXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRsaW5rLWNvbG9yLWhvdmVyO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZHJvcGRvd24tc3RhcnQpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nLWRyb3Bkb3duO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG59XG5cbi5sYW5ndWFnZS1zd2l0Y2hlcjpob3ZlciAubGFuZ3VhZ2Utc3dpdGNoZXJfX2xpc3QsXG4ubGFuZ3VhZ2Utc3dpdGNoZXIgLmxhbmd1YWdlLXN3aXRjaGVyX190b3AtbGluazpmb2N1cyArIC5sYW5ndWFnZS1zd2l0Y2hlcl9fbGlzdCxcbi5sYW5ndWFnZS1zd2l0Y2hlcl9fbGlzdDpmb2N1cy13aXRoaW4ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHotaW5kZXg6IDE7XG59XG4iLCIkcmVzcG9uc2l2ZS1iYWNrZ3JvdW5kOiByZ2JhKDE4MiwyMjIsMjIyLDAuOSk7XG4kbWVudS1saW5rLWNvbG9yOiAkcHVycGxlO1xuJG1lbnUtbGluay1jb2xvci1ob3ZlcjogIzdiNDQ3NztcblxuLm1lbnUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bWVkaXVtIGRvd24pIHtcbiAgICAgICAgQGluY2x1ZGUgei1pbmRleChtZW51KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlc3BvbnNpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMHB4KTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjJzIGVhc2UsIHZpc2liaWxpdHkgMHMgZWFzZTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCB0cmFuc2Zvcm0gMC4ycyBlYXNlLCB2aXNpYmlsaXR5IDBzIGVhc2U7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tZW51X19pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAkbGFyZ2U7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bWVkaXVtIGRvd24pIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbn1cblxuLm1lbnVfX2xpbmsge1xuICAgIGNvbG9yOiAkbWVudS1saW5rLWNvbG9yO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZWRpdW0gMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhtZWRpdW0gZG93bikge1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3VyO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbWVudS1saW5rLWNvbG9yLWhvdmVyO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxufVxuXG4ubWVudV9fY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDM1cHg7XG4gICAgcmlnaHQ6IDI1cHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIHdpZHRoOiA0MHB4O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhtZWRpdW0gZG93bikge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmOjphZnRlcixcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAzOHB4O1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIGxlZnQ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gcmlnaHQ7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCkgcm90YXRlKC00NWRlZyk7XG4gICAgfVxufVxuXG4uaGFzLXN1Ym1lbnUgLm1lbnUge1xuICAgIGhlaWdodDogMXB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0LFxuICAgIG9wYWNpdHkgLjFzIGVhc2Utb3V0O1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbn1cblxuLmhhcy1zdWJtZW51IC5tZW51IC5tZW51X19saW5rIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uaGFzLXN1Ym1lbnU6aG92ZXIgLm1lbnUsXG4uaGFzLXN1Ym1lbnUgLm1lbnVfX2xpbms6Zm9jdXMgKyAubWVudSxcbi5tZW51OmZvY3VzLXdpdGhpbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgei1pbmRleDogMTtcbn1cblxuXG4ubWVudV9faXRlbS0tYnV0dG9uIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBiYWNrZ3JvdW5kOiAkbWVudS1saW5rLWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgcGFkZGluZzogMTJweCAzMXB4O1xuXG4gICAgJjpob3ZlcntcbiAgICAgICAgYmFja2dyb3VuZDogJG1lbnUtbGluay1jb2xvci1ob3ZlcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhtZWRpdW0gZG93bikge1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3VyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgY29sb3I6ICRtZW51LWxpbmstY29sb3ItaG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLy9UYWtlbiBmcm9tIGh0dHBzOi8vam9uc3VoLmNvbS9ibG9nL29yZ2FuaXppbmctei1pbmRleC13aXRoLXNhc3MvXG4kei1pbmRleDogKFxuICAgIG1vZGFsOiAyMDAsXG4gICAgbWVudTogMTUwLFxuICAgIGhlYWRlcjogMTAwLFxuICAgIGZvb3RlcjogOTAsXG4pO1xuXG5AZnVuY3Rpb24gei1pbmRleCgka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCR6LWluZGV4LCAka2V5KTtcbn1cblxuQG1peGluIHotaW5kZXgoJGtleSkge1xuICAgIHotaW5kZXg6IHotaW5kZXgoJGtleSk7XG59IiwiLnBhZ2UtZm9vdGVyX2NvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICR4eGxhcmdlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC1jb2xvdXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnBhZ2UtZm9vdGVyX2NvbnRhaW5lcl9fY29weXJpZ2h0X2NvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRsYXJnZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wYWdlLWZvb3Rlcl9jb250YWluZXJfX3RleHQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xufVxuXG4ucGFnZS1mb290ZXJfY29udGFpbmVyX190ZXh0LS13aGl0ZSB7XG4gIGNvbG9yOiAkd2hpdGU7XG59XG5cbiIsIi5yYWRpb19jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG5cbn1cblxuLnJhZGlvX2NvbnRhaW5lcl9fY29udGVudCB7XG4gICAgcGFkZGluZzogMCAkbGFyZ2U7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBoNSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbn1cblxuLnJhZGlvX2NvbnRhaW5lcl9fc3BhY2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkLWxpZ2h0O1xuICAgIHotaW5kZXg6IDA7XG59XG5cbi5yYWRpb19fbG9nbyB7XG4gICAgd2lkdGg6IDM4MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IC0keG1lZGl1bTtcbiAgICBwYWRkaW5nOiAkbWVkaXVtICRsYXJnZSAwIDA7XG4gICAgei1pbmRleDogMTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgICBwYWRkaW5nOiAkbWVkaXVtIDAgMCAwO1xuXG4gICAgfVxufVxuIiwiXG4uc3BhY2VyIHtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgJi0teHhsYXJnZSB7XG4gICAgaGVpZ2h0OiAkeHhsYXJnZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBkb3duKSB7XG4gICAgICBoZWlnaHQ6ICRsYXJnZTtcbiAgICB9XG4gIH1cblxuICAmLS14bGFyZ2Uge1xuICAgIGhlaWdodDogJHhsYXJnZTtcbiAgfVxuXG4gICYtLXhtZWRpdW0ge1xuICAgIGhlaWdodDogJHhtZWRpdW07XG4gIH1cblxuICAmLS1tZWRpdW0ge1xuICAgIGhlaWdodDogJG1lZGl1bTtcbiAgfVxuXG4gICYtLWhlcm9fY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSBkb3duKSB7XG4gICAgICBoZWlnaHQ6ICR4eGxhcmdlO1xuICAgIH1cbiAgfVxufVxuIiwiLndyYXAge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRtZWRpdW07XG4gICAgcGFkZGluZy1sZWZ0OiAkbWVkaXVtO1xuICAgIG1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGxhcmdlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRsYXJnZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbWVkaXVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRtZWRpdW07XG4gICAgfVxufSJdLCJzb3VyY2VSb290IjoiIn0=*/