/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../node_modules/.pnpm/css-loader@6.11.0_webpack@5.91.0/node_modules/css-loader/dist/cjs.js!../node_modules/.pnpm/postcss-loader@6.2.1_webpack@5.91.0/node_modules/postcss-loader/dist/cjs.js!../node_modules/.pnpm/sass-loader@8.0.2_sass@1.76.0+webpack@5.91.0/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[1].use[3]!./scss/application.scss ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/*! normalize.css v8.0.0 | 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;
}

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

html {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

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

* {
  margin: 0;
  letter-spacing: 0.015em;
  word-spacing: 0.001em;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

body,
html {
  -webkit-tap-highlight-color: transparent;
  margin: 0 !important;
  padding: 0 !important;
}

html,
body {
  font-size: 13px;
  line-height: 1.25;
  color: black;
  background-color: white;
}
@media screen and (min-width: 576px) {
  html,
  body {
    font-size: 13px;
  }
}

html {
  background: white;
}

a {
  color: black;
  text-decoration: none;
}
a:hover, a:hover * {
  color: red;
  text-decoration: none;
  cursor: pointer;
}

ul,
ol {
  margin: 0;
  padding: 0;
}

ul {
  list-style-type: none;
}

img {
  width: 100%;
}

strong,
b {
  font-weight: normal;
}

.transition, .project__research__close, .project__research__inner, .project__research, .imageclone, .blur {
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
  transition-delay: 0s;
}

@font-face {
  font-family: Prestige-Elite-Bd;
  src: url(../fonts/3A4932_0_0.woff) format("woff"), url(../fonts/3A4932_0_0.woff2) format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: auto;
}
.font-1, html,
body {
  font-family: Prestige-Elite-Bd, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;
}

[class*=col-],
[class*=sub-],
[class*=off-] {
  float: left;
}

.col-1 {
  width: 8.3333333333%;
}

.sub-1 {
  width: 100%;
}

.off-1 {
  margin-left: 8.3333333333%;
}

.col-2 {
  width: 16.6666666667%;
}

.sub-2 {
  width: 50%;
}

.off-2 {
  margin-left: 16.6666666667%;
}

.col-3 {
  width: 25%;
}

.sub-3 {
  width: 33.3333333333%;
}

.off-3 {
  margin-left: 25%;
}

.col-4 {
  width: 33.3333333333%;
}

.sub-4 {
  width: 25%;
}

.off-4 {
  margin-left: 33.3333333333%;
}

.col-5 {
  width: 41.6666666667%;
}

.sub-5 {
  width: 20%;
}

.off-5 {
  margin-left: 41.6666666667%;
}

.col-6 {
  width: 50%;
}

.sub-6 {
  width: 16.6666666667%;
}

.off-6 {
  margin-left: 50%;
}

.col-7 {
  width: 58.3333333333%;
}

.sub-7 {
  width: 14.2857142857%;
}

.off-7 {
  margin-left: 58.3333333333%;
}

.col-8 {
  width: 66.6666666667%;
}

.sub-8 {
  width: 12.5%;
}

.off-8 {
  margin-left: 66.6666666667%;
}

.col-9 {
  width: 75%;
}

.sub-9 {
  width: 11.1111111111%;
}

.off-9 {
  margin-left: 75%;
}

.col-10 {
  width: 83.3333333333%;
}

.sub-10 {
  width: 10%;
}

.off-10 {
  margin-left: 83.3333333333%;
}

.col-11 {
  width: 91.6666666667%;
}

.sub-11 {
  width: 9.0909090909%;
}

.off-11 {
  margin-left: 91.6666666667%;
}

.col-12 {
  width: 100%;
}

.sub-12 {
  width: 8.3333333333%;
}

.off-12 {
  margin-left: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6,
small {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

.small {
  font-size: 0.5rem;
}
@media screen and (min-width: 576px) {
  .small {
    font-size: 0.5rem;
  }
}

.h6 {
  font-size: 0.75rem;
}
@media screen and (min-width: 576px) {
  .h6 {
    font-size: 0.75rem;
  }
}

.h5 {
  font-size: 1rem;
}
@media screen and (min-width: 576px) {
  .h5 {
    font-size: 1rem;
  }
}

.h4 {
  font-size: 1.5rem;
}
@media screen and (min-width: 576px) {
  .h4 {
    font-size: 1.5rem;
  }
}

.h3 {
  font-size: 2rem;
}
@media screen and (min-width: 576px) {
  .h3 {
    font-size: 2rem;
  }
}

.h2 {
  font-size: 3rem;
}
@media screen and (min-width: 576px) {
  .h2 {
    font-size: 3rem;
  }
}

.h1 {
  font-size: 6rem;
}
@media screen and (min-width: 576px) {
  .h1 {
    font-size: 6rem;
  }
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.small {
  line-height: 1.25;
  font-weight: normal;
}

.blur {
  filter: blur(5px);
  opacity: 0.1;
}
.blur.lazyloaded {
  filter: blur(0);
  opacity: 1;
}

.upper, .project__info__button, .index__row:not(.index__row--header) .index__col:nth-child(1) {
  text-transform: uppercase;
}

.imageclone {
  position: fixed;
  z-index: 10;
  width: auto;
  transition-duration: 0.3s;
}
.imageclone img {
  height: 100%;
  width: 100%;
}

.text__paragraph p:not(:last-of-type) {
  margin-bottom: 1.25em;
}

.header {
  padding-top: 15px;
  padding-bottom: 15px;
  padding-right: 15px;
  padding-left: 15px;
  margin-top: 0px;
  margin-bottom: 80px;
  margin-right: 0px;
  margin-left: 0px;
  display: flex;
  justify-content: space-between;
  width: 100%;
  position: sticky;
  background: white;
  z-index: 1;
  top: 0;
  flex-direction: column;
}
.header.open {
  box-shadow: 0px 1px 0px 0px #d2d2d2;
}
@media screen and (min-width: 576px) {
  .header {
    padding-top: 20px;
    padding-bottom: 20px;
    padding-right: 20px;
    padding-left: 20px;
    flex-direction: row;
  }
}
.content--project .header {
  display: none;
}

.header__item {
  max-width: 100%;
}
@media screen and (min-width: 576px) {
  .header__item {
    max-width: 50%;
  }
}
.header__item:first-child {
  margin-bottom: 0.5em;
}
@media screen and (min-width: 576px) {
  .header__item:first-child {
    margin-bottom: 0;
  }
}
.header__item--menu {
  display: flex;
  flex-direction: row;
  text-transform: lowercase;
}

.header__link:not(:last-child)::after {
  content: " • ";
  white-space: pre;
}
.no-touch .header__link:hover::after {
  color: black;
}

.header__toRemove {
  display: none;
}
.content--home .header__toRemove {
  display: initial;
}

.home {
  padding-top: 0px;
  padding-bottom: 15px;
  padding-right: 15px;
  padding-left: 15px;
}
@media screen and (min-width: 576px) {
  .home {
    padding-top: 0px;
    padding-bottom: 0px;
    padding-right: 20px;
    padding-left: 20px;
  }
}

.home__project {
  margin-top: 0px;
  margin-bottom: 60px;
  margin-right: 0px;
  margin-left: 0px;
  width: 100%;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 576px) {
  .home__project {
    margin-top: 0px;
    margin-bottom: 80px;
    margin-right: 0px;
    margin-left: 0px;
  }
}
.home__project:hover .home__project__title a {
  color: red;
}
.home__project:hover .home__project__videoicon {
  color: black;
}

.home__project__images {
  margin-top: 0px;
  margin-bottom: 10px;
  margin-right: 0px;
  margin-left: 0px;
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  overflow: hidden;
  max-height: 50vw;
}
@media screen and (min-width: 576px) {
  .home__project__images {
    height: calc((100vw - (var(--item-number) + 1) * 20px) / var(--item-height));
    max-height: unset;
  }
}

.home__project__image {
  height: 100%;
  float: left;
  width: auto;
  cursor: pointer;
}
.home__project__image:not(:last-child) {
  margin-top: 0px;
  margin-bottom: 0px;
  margin-right: 10px;
  margin-left: 0px;
}
@media screen and (min-width: 576px) {
  .home__project__image:not(:last-child) {
    margin-top: 0px;
    margin-bottom: 0px;
    margin-right: 20px;
    margin-left: 0px;
  }
}
.home__project__image:not(:first-of-type) {
  display: none;
}
@media screen and (min-width: 576px) {
  .home__project__image:not(:first-of-type) {
    display: block;
  }
}
.home__project__image:first-of-type {
  padding: 0;
  max-height: 50vw;
  max-width: 100%;
  height: auto;
}
@media screen and (min-width: 576px) {
  .home__project__image:first-of-type {
    margin-top: 0px;
    margin-bottom: 0px;
    margin-right: 20px;
    margin-left: 0px;
    max-height: unset;
    max-width: unset;
    height: 100%;
  }
}

.home__project__videoicon {
  background: white;
  text-transform: uppercase;
  padding: 4px 8px 1px 10px;
  pointer-events: none;
  margin-left: calc(-13px - 7ch);
  margin-top: 5px;
  height: calc(1.25em + 5px);
  transform: translateX(calc(-100% + 7ch - 2px));
}
@media screen and (min-width: 576px) {
  .home__project__videoicon {
    margin-left: calc(-23px - 7ch);
  }
}
.home__project__videoicon::after {
  content: "▶︎";
}
@media screen and (min-width: 576px) {
  .home__project__videoicon::after {
    content: "Video ▶︎";
  }
}
.home__project__videoicon:not(:first-of-type) {
  display: none;
}
@media screen and (min-width: 576px) {
  .home__project__videoicon:not(:first-of-type) {
    display: block;
  }
}

.contact {
  padding-top: 0px;
  padding-bottom: 0px;
  padding-right: 15px;
  padding-left: 15px;
}
@media screen and (min-width: 576px) {
  .contact {
    padding-top: 0px;
    padding-bottom: 0px;
    padding-right: 20px;
    padding-left: 20px;
  }
}

.contact__item > span:first-child {
  width: 4ch;
  display: inline-block;
}

.info {
  padding-top: 0px;
  padding-bottom: 0px;
  padding-right: 15px;
  padding-left: 15px;
}
@media screen and (min-width: 576px) {
  .info {
    padding-top: 0px;
    padding-bottom: 0px;
    padding-right: 20px;
    padding-left: 20px;
  }
}

.info__text {
  width: 100%;
  padding-top: 0px;
  padding-bottom: 15px;
  padding-right: 0px;
  padding-left: 0px;
}
@media screen and (min-width: 576px) {
  .info__text {
    width: 66.66%;
    padding-top: 0px;
    padding-bottom: 20px;
    padding-right: 0px;
    padding-left: 0px;
  }
}

.index {
  padding-top: 0px;
  padding-bottom: 0px;
  padding-right: 15px;
  padding-left: 15px;
}
@media screen and (min-width: 576px) {
  .index {
    padding-top: 0px;
    padding-bottom: 0px;
    padding-right: 20px;
    padding-left: 20px;
  }
}

.index__table {
  padding-top: 0px;
  padding-bottom: 15px;
  padding-right: 0px;
  padding-left: 0px;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 576px) {
  .index__table {
    padding-top: 0px;
    padding-bottom: 20px;
    padding-right: 0px;
    padding-left: 0px;
  }
}

.index__row > a, .index__row--header {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}
@media screen and (min-width: 576px) {
  .index__row > a, .index__row--header {
    flex-wrap: nowrap;
  }
}
.index__row--header {
  margin-bottom: 1.25em;
}

.index__col {
  width: calc(100% - 7ch);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: pre;
  padding-right: 2ch;
}
@media screen and (min-width: 576px) {
  .index__col {
    width: calc(50% - 5ch);
    padding-right: 5ch;
  }
}
.index__col:nth-child(2) {
  width: 7ch;
}
@media screen and (min-width: 576px) {
  .index__col:nth-child(2) {
    width: 10ch;
  }
}
.index__col:nth-child(3) {
  display: none;
}
@media screen and (min-width: 576px) {
  .index__col:nth-child(3) {
    display: block;
  }
}

.project {
  display: flex;
  flex-direction: column;
  height: 100vh;
}

.project__header {
  padding-top: 0px;
  padding-bottom: 0px;
  padding-right: 15px;
  padding-left: 15px;
  margin-top: 15px;
  margin-bottom: 15px;
  margin-right: 0px;
  margin-left: 0px;
  width: 100%;
  max-height: calc(100vh - 10px * 2 - 3.75em);
  overflow: auto;
}
@media screen and (min-width: 576px) {
  .project__header {
    padding-top: 0px;
    padding-bottom: 0px;
    padding-right: 20px;
    padding-left: 20px;
    margin-top: 20px;
    margin-bottom: 20px;
    margin-right: 0px;
    margin-left: 0px;
  }
}

.project__header__top {
  padding-top: 0px;
  padding-bottom: 15px;
  padding-right: 0px;
  padding-left: 0px;
  position: sticky;
  top: 0;
  display: flex;
  justify-content: space-between;
  background: rgb(255, 255, 255);
  background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 10%);
}
@media screen and (min-width: 576px) {
  .project__header__top {
    padding-top: 0px;
    padding-bottom: 20px;
    padding-right: 0px;
    padding-left: 0px;
  }
}

@media screen and (min-width: 576px) {
  .project__header__item {
    max-width: 50%;
  }
}
.project__header__item:first-child {
  padding-right: 4ch;
}
@media screen and (min-width: 576px) {
  .project__header__item:first-child {
    padding-right: 0;
  }
}

.project__content {
  padding-top: 0px;
  padding-bottom: 15px;
  padding-right: 15px;
  padding-left: 15px;
  flex: 1 1 auto;
  background-clip: content-box;
  display: flex;
  flex-direction: row;
  position: relative;
}
@media screen and (min-width: 576px) {
  .project__content {
    padding-top: 0px;
    padding-bottom: 20px;
    padding-right: 20px;
    padding-left: 20px;
  }
}

.project__slideshow {
  flex: 1 0 auto;
  position: relative;
}

.project__footer {
  padding-top: 0px;
  padding-bottom: 0px;
  padding-right: 0px;
  padding-left: 40px;
  text-align: right;
  display: none;
}
@media screen and (min-width: 576px) {
  .project__footer {
    display: block;
    align-self: flex-end;
  }
}

.project__info__button {
  margin-top: 1.25em;
  cursor: pointer;
}
.no-touch .project__info__button:hover {
  color: red;
}

.project__info {
  display: none;
}
@media screen and (min-width: 576px) {
  .project__info {
    width: 50%;
  }
}

.project__research__link {
  margin-top: 1.25em;
  text-transform: uppercase;
  cursor: pointer;
}
.no-touch .project__research__link:hover {
  color: red;
}

.project__research {
  position: fixed;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0);
  pointer-events: none;
  z-index: 10;
}
.project__research--open {
  pointer-events: all;
  background: rgba(0, 0, 0, 0.5);
}

.project__research__inner {
  padding-top: 15px;
  padding-bottom: 15px;
  padding-right: 15px;
  padding-left: 15px;
  width: 100%;
  background: white;
  height: 100%;
  overflow: auto;
  transform: translateX(100%);
}
@media screen and (min-width: 576px) {
  .project__research__inner {
    padding-top: 20px;
    padding-bottom: 20px;
    padding-right: 40px;
    padding-left: 40px;
    width: 66.67%;
    margin-left: 33.33%;
  }
}
.project__research__inner p {
  width: 100%;
  float: left;
  padding-right: 6ch;
  margin-bottom: 1.25em;
}
@media screen and (min-width: 576px) {
  .project__research__inner p {
    padding-right: 25%;
  }
}
.project__research__inner .imagegrid + p {
  margin-top: 30px;
}
@media screen and (min-width: 576px) {
  .project__research__inner .imagegrid + p {
    margin-top: 40px;
  }
}
.project__research--open .project__research__inner {
  transform: translateX(0);
}

.project__research__close {
  position: fixed;
  top: 15px;
  right: 15px;
  cursor: pointer;
  transform: translateX(66.66vw);
}
@media screen and (min-width: 576px) {
  .project__research__close {
    top: 20px;
    right: 20px;
  }
}
.no-touch .project__research__close:hover {
  color: red;
}
.project__research--open .project__research__close {
  transform: translateX(0);
}

.imagegrid {
  margin-top: 0px;
  margin-bottom: 15px;
  margin-right: 0px;
  margin-left: 0px;
  float: left;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-column-gap: 15px;
  grid-row-gap: 15px;
}
@media screen and (min-width: 576px) {
  .imagegrid {
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    margin-top: 0px;
    margin-bottom: 20px;
    margin-right: 0px;
    margin-left: 0px;
  }
}
.imagegrid--1 {
  grid-template-columns: repeat(1, 1fr);
}
.imagegrid--2 {
  grid-template-columns: repeat(2, 1fr);
}
.imagegrid--4 {
  grid-template-columns: repeat(4, 1fr);
}
p + .imagegrid {
  margin-top: 30px;
}
@media screen and (min-width: 576px) {
  p + .imagegrid {
    margin-top: 40px;
  }
}

.slideshow {
  overflow: hidden;
  outline: none;
  z-index: 2;
  height: 100%;
  position: relative;
  user-select: none;
}

.slideshow * {
  user-select: none;
}

.slide {
  width: 100%;
  height: 100%;
  display: none;
  align-items: flex-start;
  justify-content: flex-start;
  overflow: hidden;
  position: absolute;
}
@media screen and (min-width: 576px) {
  .slide {
    align-items: flex-end;
  }
}
.slide--active {
  display: flex;
}
.slide img {
  max-height: 100%;
  max-width: 100%;
  width: auto;
  height: auto;
}

.slideshow__nav {
  position: absolute;
  top: 0;
  height: 100%;
  opacity: 0;
}
.no-touch .slideshow__nav:hover {
  opacity: 1;
}
.slideshow__nav--prev {
  left: 0;
  width: 100px;
  cursor: w-resize;
  z-index: 11;
}
.slide__video ~ .slideshow__nav--prev {
  width: 20px;
}
.slideshow__nav--prev > a {
  cursor: w-resize;
}
.slideshow__nav--next {
  right: 0;
  width: calc(100% - 100px);
  cursor: e-resize;
  z-index: 9;
}
.slideshow__nav--next > a {
  cursor: e-resize;
}
.slideshow__nav > a {
  display: inline-block;
  height: 100%;
  width: 100%;
}

.slide__video {
  height: 100%;
  position: absolute;
  z-index: 10;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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Rjs7QU12WUU7RUFoQkE7QU4yWkY7O0FNalpFO0VBbEJBO0FOdWFGOztBTWxaRTtFQWpCQTtBTnVhRjs7QU1uWkU7RUFoQkE7QU51YUY7O0FNN1pFO0VBbEJBO0FObWJGOztBTTlaRTtFQWpCQTtBTm1iRjs7QU0vWkU7RUFoQkE7QU5tYkY7O0FNemFFO0VBbEJBO0FOK2JGOztBTTFhRTtFQWpCQTtBTitiRjs7QU0zYUU7RUFoQkE7QU4rYkY7O0FNcmJFO0VBbEJBO0FOMmNGOztBTXRiRTtFQWpCQTtBTjJjRjs7QU12YkU7RUFoQkE7QU4yY0Y7O0FNamNFO0VBbEJBO0FOdWRGOztBTWxjRTtFQWpCQTtBTnVkRjs7QU1uY0U7RUFoQkE7QU51ZEY7O0FNN2NFO0VBbEJBO0FObWVGOztBTTljRTtFQWpCQTtBTm1lRjs7QU0vY0U7RUFoQkE7QU5tZUY7O0FNemRFO0VBbEJBO0FOK2VGOztBTTFkRTtFQWpCQTtBTitlRjs7QU0zZEU7RUFoQkE7QU4rZUY7O0FNcmVFO0VBbEJBO0FOMmZGOztBTXRlRTtFQWpCQTtBTjJmRjs7QU12ZUU7RUFoQkE7QU4yZkY7O0FNamZFO0VBbEJBO0FOdWdCRjs7QU1sZkU7RUFqQkE7QU51Z0JGOztBTW5mRTtFQWhCQTtBTnVnQkY7O0FNN2ZFO0VBbEJBO0FObWhCRjs7QU05ZkU7RUFqQkE7QU5taEJGOztBTS9mRTtFQWhCQTtBTm1oQkY7O0FPaGlCQTs7Ozs7OztFQU9FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUG1pQkY7O0FPaGlCQTtFQUNFO0FQbWlCRjtBR2xqQkU7RUljRjtJQUlJO0VQb2lCRjtBQUNGOztBT2ppQkE7RUFDRTtBUG9pQkY7QUczakJFO0VJc0JGO0lBSUk7RVBxaUJGO0FBQ0Y7O0FPbGlCQTtFQUNFO0FQcWlCRjtBR3BrQkU7RUk4QkY7SUFJSTtFUHNpQkY7QUFDRjs7QU9uaUJBO0VBQ0U7QVBzaUJGO0FHN2tCRTtFSXNDRjtJQUlJO0VQdWlCRjtBQUNGOztBT3BpQkE7RUFDRTtBUHVpQkY7QUd0bEJFO0VJOENGO0lBSUk7RVB3aUJGO0FBQ0Y7O0FPcmlCQTtFQUNFO0FQd2lCRjtBRy9sQkU7RUlzREY7SUFJSTtFUHlpQkY7QUFDRjs7QU90aUJBO0VBQ0U7QVB5aUJGO0FHeG1CRTtFSThERjtJQUlJO0VQMGlCRjtBQUNGOztBT25pQkE7Ozs7Ozs7RUFPRTtFQUNBO0FQc2lCRjs7QVE5bkJBO0VBRUU7RUFDQTtBUmdvQkY7QVE5bkJFO0VBQ0U7RUFDQTtBUmdvQko7O0FRNW5CQTtFQUNFO0FSK25CRjs7QVE1bkJBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7QVI4bkJGO0FRNW5CRTtFQUNFO0VBQ0E7QVI4bkJKOztBUXpuQkU7RUFDRTtBUjRuQko7O0FTMXBCQTtFQ1NJO0VBQ0E7RUFDQTtFQUNBO0VBWUE7RUFDQTtFQUNBO0VBQ0E7RUR4QkY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVG1xQkY7QVNqcUJFO0VBQ0U7QVRtcUJKO0FHMXFCRTtFTU5GO0lDU0k7SUFDQTtJQUNBO0lBQ0E7SURNQTtFVHNxQkY7QUFDRjtBU3BxQkU7RUFDRTtBVHNxQko7O0FTbHFCQTtFQUNFO0FUcXFCRjtBRzFyQkU7RU1vQkY7SUFJSTtFVHNxQkY7QUFDRjtBU3BxQkU7RUFDRTtBVHNxQko7QUdsc0JFO0VNMkJBO0lBSUk7RVR1cUJKO0FBQ0Y7QVNwcUJFO0VBQ0U7RUFDQTtFQUNBO0FUc3FCSjs7QVNqcUJFO0VBQ0U7RUFDQTtBVG9xQko7QVNqcUJFO0VBQ0U7QVRtcUJKOztBUy9wQkE7RUFDRTtBVGtxQkY7QVNocUJFO0VBQ0U7QVRrcUJKOztBV2p1QkE7RUR3Qkk7RUFDQTtFQUNBO0VBQ0E7QVY2c0JKO0FHbHVCRTtFUU5GO0lEY0k7SUFDQTtJQUNBO0lBQ0E7RVY4dEJGO0FBQ0Y7O0FXenVCQTtFRGlCSTtFQUNBO0VBQ0E7RUFDQTtFQ2xCRjtFQUNBO0VBQ0E7QVgrdUJGO0FHcHZCRTtFUUNGO0lEaUJJO0lBQ0E7SUFDQTtJQUNBO0VWc3VCRjtBQUNGO0FXanZCRTtFQUNFO0FYbXZCSjtBV2h2QkU7RUFDRTtBWGt2Qko7O0FXOXVCQTtFREZJO0VBQ0E7RUFDQTtFQUNBO0VDQ0Y7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYb3ZCRjtBRy93QkU7RVFvQkY7SUFVSTtJQUdBO0VYbXZCRjtBQUNGOztBV2h2QkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBWG12QkY7QVdqdkJFO0VEekJFO0VBQ0E7RUFDQTtFQUNBO0FWNndCSjtBR2x5QkU7RVEyQ0E7SUR6QkU7SUFDQTtJQUNBO0lBQ0E7RVZveEJGO0FBQ0Y7QVd2dkJFO0VBQ0U7QVh5dkJKO0FHN3lCRTtFUW1EQTtJQUlJO0VYMHZCSjtBQUNGO0FXdnZCRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FYeXZCSjtBR3h6QkU7RVEyREE7SUR6Q0U7SUFDQTtJQUNBO0lBQ0E7SUM4Q0U7SUFDQTtJQUNBO0VYNnZCSjtBQUNGOztBV3p2QkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYNHZCRjtBRzkwQkU7RVEwRUY7SUFXSTtFWDZ2QkY7QUFDRjtBVzN2QkU7RUFDRTtBWDZ2Qko7QUd0MUJFO0VRd0ZBO0lBSUk7RVg4dkJKO0FBQ0Y7QVczdkJFO0VBQ0U7QVg2dkJKO0FHOTFCRTtFUWdHQTtJQUlJO0VYOHZCSjtBQUNGOztBWXoyQkE7RUZjSTtFQUNBO0VBQ0E7RUFDQTtBVisxQko7QUcxMkJFO0VTTkY7SUZjSTtJQUNBO0lBQ0E7SUFDQTtFVnMyQkY7QUFDRjs7QVkvMkJFO0VBQ0U7RUFDQTtBWmszQko7O0FhNzNCQTtFSGNJO0VBQ0E7RUFDQTtFQUNBO0FWbTNCSjtBRzkzQkU7RVVORjtJSGNJO0lBQ0E7SUFDQTtJQUNBO0VWMDNCRjtBQUNGOztBYXA0QkE7RUFDRTtFSGVFO0VBQ0E7RUFDQTtFQUNBO0FWeTNCSjtBRzk0QkU7RVVFRjtJQUtJO0lIV0E7SUFDQTtJQUNBO0lBQ0E7RVZpNEJGO0FBQ0Y7O0FjNzVCQTtFSmNJO0VBQ0E7RUFDQTtFQUNBO0FWbTVCSjtBRzk1QkU7RVdORjtJSmNJO0lBQ0E7SUFDQTtJQUNBO0VWMDVCRjtBQUNGOztBY3A2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QUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCc3VDRjtBR3B2Q0U7RWFPRjtJQVVJO0VoQnV1Q0Y7QUFDRjtBZ0JydUNFO0VBQ0U7QWhCdXVDSjtBZ0JwdUNFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWhCc3VDSjs7QWdCbHVDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FoQnF1Q0Y7QWdCbnVDRTtFQUNFO0FoQnF1Q0o7QWdCbHVDRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FoQm91Q0o7QWdCbHVDSTtFQUNFO0FoQm91Q047QWdCanVDSTtFQUNFO0FoQm11Q047QWdCL3RDRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FoQml1Q0o7QWdCL3RDSTtFQUNFO0FoQml1Q047QWdCN3RDRTtFQUNFO0VBQ0E7RUFDQTtBaEIrdENKOztBZ0IzdENBO0VBQ0U7RUFDQTtFQUNBO0FoQjh0Q0YsQyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3Njc3MvYXBwbGljYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9zY3NzL19saWIvX25vcm1hbGl6ZS5zY3NzIiwid2VicGFjazovLy8uL3Njc3MvX3BhcnRpYWxzL19iYXNlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc2Nzcy9fcGFydGlhbHMvX21lZGlhcXVlcmllcy5zY3NzIiwid2VicGFjazovLy8uL3Njc3MvY29uZmlnLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc2Nzcy9fcGFydGlhbHMvX2ZvbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc2Nzcy9fcGFydGlhbHMvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly8vLi9zY3NzL19wYXJ0aWFscy9fdHlwZS5zY3NzIiwid2VicGFjazovLy8uL3Njc3MvX21vZHVsZXMvYmFzZS5zY3NzIiwid2VicGFjazovLy8uL3Njc3MvX21vZHVsZXMvaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc2Nzcy9fcGFydGlhbHMvX21hcmdpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zY3NzL19tb2R1bGVzL2hvbWUuc2NzcyIsIndlYnBhY2s6Ly8vLi9zY3NzL19tb2R1bGVzL2NvbnRhY3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9zY3NzL19tb2R1bGVzL2luZm8uc2NzcyIsIndlYnBhY2s6Ly8vLi9zY3NzL19tb2R1bGVzL2luZGV4LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc2Nzcy9fbW9kdWxlcy9wcm9qZWN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc2Nzcy9fbW9kdWxlcy9zbGlkZXNob3cuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuW3R5cGU9YnV0dG9uXSxcblt0eXBlPXJlc2V0XSxcblt0eXBlPXN1Ym1pdF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1idXR0b25dOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9cmVzZXRdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9c3VibWl0XTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPWJ1dHRvbl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1yZXNldF06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1zdWJtaXRdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5bdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1zZWFyY2hdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5odG1sIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbiosXG4qOmFmdGVyLFxuKjpiZWZvcmUge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGluaGVyaXQ7XG4gIC1tb3otYm94LXNpemluZzogaW5oZXJpdDtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuKiB7XG4gIG1hcmdpbjogMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDE1ZW07XG4gIHdvcmQtc3BhY2luZzogMC4wMDFlbTtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG5cbmJvZHksXG5odG1sIHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuaHRtbCxcbmJvZHkge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBjb2xvcjogYmxhY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgaHRtbCxcbiAgYm9keSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICB9XG59XG5cbmh0bWwge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbn1cblxuYSB7XG4gIGNvbG9yOiBibGFjaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuYTpob3ZlciwgYTpob3ZlciAqIHtcbiAgY29sb3I6IHJlZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnVsLFxub2wge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbnVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG5pbWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi50cmFuc2l0aW9uLCAucHJvamVjdF9fcmVzZWFyY2hfX2Nsb3NlLCAucHJvamVjdF9fcmVzZWFyY2hfX2lubmVyLCAucHJvamVjdF9fcmVzZWFyY2gsIC5pbWFnZWNsb25lLCAuYmx1ciB7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGFsbDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBQcmVzdGlnZS1FbGl0ZS1CZDtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy8zQTQ5MzJfMF8wLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvM0E0OTMyXzBfMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IGF1dG87XG59XG4uZm9udC0xLCBodG1sLFxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBQcmVzdGlnZS1FbGl0ZS1CZCwgSGVsdmV0aWNhIE5ldWUsIEhlbHZldGljYSwgQXJpYWwsIEx1Y2lkYSBHcmFuZGUsIHNhbnMtc2VyaWY7XG59XG5cbltjbGFzcyo9Y29sLV0sXG5bY2xhc3MqPXN1Yi1dLFxuW2NsYXNzKj1vZmYtXSB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uY29sLTEge1xuICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbn1cblxuLnN1Yi0xIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5vZmYtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xufVxuXG4uY29sLTIge1xuICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG59XG5cbi5zdWItMiB7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi5vZmYtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTtcbn1cblxuLmNvbC0zIHtcbiAgd2lkdGg6IDI1JTtcbn1cblxuLnN1Yi0zIHtcbiAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xufVxuXG4ub2ZmLTMge1xuICBtYXJnaW4tbGVmdDogMjUlO1xufVxuXG4uY29sLTQge1xuICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7XG59XG5cbi5zdWItNCB7XG4gIHdpZHRoOiAyNSU7XG59XG5cbi5vZmYtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbn1cblxuLmNvbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xufVxuXG4uc3ViLTUge1xuICB3aWR0aDogMjAlO1xufVxuXG4ub2ZmLTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7XG59XG5cbi5jb2wtNiB7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi5zdWItNiB7XG4gIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbn1cblxuLm9mZi02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTtcbn1cblxuLmNvbC03IHtcbiAgd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xufVxuXG4uc3ViLTcge1xuICB3aWR0aDogMTQuMjg1NzE0Mjg1NyU7XG59XG5cbi5vZmYtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzJTtcbn1cblxuLmNvbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xufVxuXG4uc3ViLTgge1xuICB3aWR0aDogMTIuNSU7XG59XG5cbi5vZmYtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NjY3JTtcbn1cblxuLmNvbC05IHtcbiAgd2lkdGg6IDc1JTtcbn1cblxuLnN1Yi05IHtcbiAgd2lkdGg6IDExLjExMTExMTExMTElO1xufVxuXG4ub2ZmLTkge1xuICBtYXJnaW4tbGVmdDogNzUlO1xufVxuXG4uY29sLTEwIHtcbiAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xufVxuXG4uc3ViLTEwIHtcbiAgd2lkdGg6IDEwJTtcbn1cblxuLm9mZi0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMzMzJTtcbn1cblxuLmNvbC0xMSB7XG4gIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbn1cblxuLnN1Yi0xMSB7XG4gIHdpZHRoOiA5LjA5MDkwOTA5MDklO1xufVxuXG4ub2ZmLTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclO1xufVxuXG4uY29sLTEyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5zdWItMTIge1xuICB3aWR0aDogOC4zMzMzMzMzMzMzJTtcbn1cblxuLm9mZi0xMiB7XG4gIG1hcmdpbi1sZWZ0OiAxMDAlO1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5zbWFsbCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiAwO1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgZm9udC1zdHlsZTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4uc21hbGwge1xuICBmb250LXNpemU6IDAuNXJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAwLjVyZW07XG4gIH1cbn1cblxuLmg2IHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmg2IHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gIH1cbn1cblxuLmg1IHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmg1IHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cbn1cblxuLmg0IHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAuaDQge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICB9XG59XG5cbi5oMyB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5oMyB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG59XG5cbi5oMiB7XG4gIGZvbnQtc2l6ZTogM3JlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5oMiB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICB9XG59XG5cbi5oMSB7XG4gIGZvbnQtc2l6ZTogNnJlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5oMSB7XG4gICAgZm9udC1zaXplOiA2cmVtO1xuICB9XG59XG5cbi5oMSxcbi5oMixcbi5oMyxcbi5oNCxcbi5oNSxcbi5oNixcbi5zbWFsbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uYmx1ciB7XG4gIGZpbHRlcjogYmx1cig1cHgpO1xuICBvcGFjaXR5OiAwLjE7XG59XG4uYmx1ci5sYXp5bG9hZGVkIHtcbiAgZmlsdGVyOiBibHVyKDApO1xuICBvcGFjaXR5OiAxO1xufVxuXG4udXBwZXIsIC5wcm9qZWN0X19pbmZvX19idXR0b24sIC5pbmRleF9fcm93Om5vdCguaW5kZXhfX3Jvdy0taGVhZGVyKSAuaW5kZXhfX2NvbDpudGgtY2hpbGQoMSkge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uaW1hZ2VjbG9uZSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTA7XG4gIHdpZHRoOiBhdXRvO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xufVxuLmltYWdlY2xvbmUgaW1nIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnRleHRfX3BhcmFncmFwaCBwOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVlbTtcbn1cblxuLmhlYWRlciB7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBtYXJnaW4tdG9wOiAwcHg7XG4gIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gIG1hcmdpbi1yaWdodDogMHB4O1xuICBtYXJnaW4tbGVmdDogMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLmhlYWRlci5vcGVuIHtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAwcHggMHB4ICNkMmQyZDI7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAuaGVhZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG4uY29udGVudC0tcHJvamVjdCAuaGVhZGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmhlYWRlcl9faXRlbSB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5oZWFkZXJfX2l0ZW0ge1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG59XG4uaGVhZGVyX19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAuaGVhZGVyX19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4uaGVhZGVyX19pdGVtLS1tZW51IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbn1cblxuLmhlYWRlcl9fbGluazpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIOKAoiBcIjtcbiAgd2hpdGUtc3BhY2U6IHByZTtcbn1cbi5uby10b3VjaCAuaGVhZGVyX19saW5rOmhvdmVyOjphZnRlciB7XG4gIGNvbG9yOiBibGFjaztcbn1cblxuLmhlYWRlcl9fdG9SZW1vdmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmNvbnRlbnQtLWhvbWUgLmhlYWRlcl9fdG9SZW1vdmUge1xuICBkaXNwbGF5OiBpbml0aWFsO1xufVxuXG4uaG9tZSB7XG4gIHBhZGRpbmctdG9wOiAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAuaG9tZSB7XG4gICAgcGFkZGluZy10b3A6IDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB9XG59XG5cbi5ob21lX19wcm9qZWN0IHtcbiAgbWFyZ2luLXRvcDogMHB4O1xuICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAuaG9tZV9fcHJvamVjdCB7XG4gICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgfVxufVxuLmhvbWVfX3Byb2plY3Q6aG92ZXIgLmhvbWVfX3Byb2plY3RfX3RpdGxlIGEge1xuICBjb2xvcjogcmVkO1xufVxuLmhvbWVfX3Byb2plY3Q6aG92ZXIgLmhvbWVfX3Byb2plY3RfX3ZpZGVvaWNvbiB7XG4gIGNvbG9yOiBibGFjaztcbn1cblxuLmhvbWVfX3Byb2plY3RfX2ltYWdlcyB7XG4gIG1hcmdpbi10b3A6IDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gIG1hcmdpbi1sZWZ0OiAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWF4LWhlaWdodDogNTB2dztcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5ob21lX19wcm9qZWN0X19pbWFnZXMge1xuICAgIGhlaWdodDogY2FsYygoMTAwdncgLSAodmFyKC0taXRlbS1udW1iZXIpICsgMSkgKiAyMHB4KSAvIHZhcigtLWl0ZW0taGVpZ2h0KSk7XG4gICAgbWF4LWhlaWdodDogdW5zZXQ7XG4gIH1cbn1cblxuLmhvbWVfX3Byb2plY3RfX2ltYWdlIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IGF1dG87XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5ob21lX19wcm9qZWN0X19pbWFnZTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXRvcDogMHB4O1xuICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgbWFyZ2luLWxlZnQ6IDBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5ob21lX19wcm9qZWN0X19pbWFnZTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICBtYXJnaW4tbGVmdDogMHB4O1xuICB9XG59XG4uaG9tZV9fcHJvamVjdF9faW1hZ2U6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAuaG9tZV9fcHJvamVjdF9faW1hZ2U6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi5ob21lX19wcm9qZWN0X19pbWFnZTpmaXJzdC1vZi10eXBlIHtcbiAgcGFkZGluZzogMDtcbiAgbWF4LWhlaWdodDogNTB2dztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAuaG9tZV9fcHJvamVjdF9faW1hZ2U6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXRvcDogMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICBtYXgtaGVpZ2h0OiB1bnNldDtcbiAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG4uaG9tZV9fcHJvamVjdF9fdmlkZW9pY29uIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmc6IDRweCA4cHggMXB4IDEwcHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBtYXJnaW4tbGVmdDogY2FsYygtMTNweCAtIDdjaCk7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgaGVpZ2h0OiBjYWxjKDEuMjVlbSArIDVweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC0xMDAlICsgN2NoIC0gMnB4KSk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAuaG9tZV9fcHJvamVjdF9fdmlkZW9pY29uIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMjNweCAtIDdjaCk7XG4gIH1cbn1cbi5ob21lX19wcm9qZWN0X192aWRlb2ljb246OmFmdGVyIHtcbiAgY29udGVudDogXCLilrbvuI5cIjtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5ob21lX19wcm9qZWN0X192aWRlb2ljb246OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlZpZGVvIOKWtu+4jlwiO1xuICB9XG59XG4uaG9tZV9fcHJvamVjdF9fdmlkZW9pY29uOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmhvbWVfX3Byb2plY3RfX3ZpZGVvaWNvbjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4uY29udGFjdCB7XG4gIHBhZGRpbmctdG9wOiAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5jb250YWN0IHtcbiAgICBwYWRkaW5nLXRvcDogMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIH1cbn1cblxuLmNvbnRhY3RfX2l0ZW0gPiBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgd2lkdGg6IDRjaDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uaW5mbyB7XG4gIHBhZGRpbmctdG9wOiAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5pbmZvIHtcbiAgICBwYWRkaW5nLXRvcDogMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIH1cbn1cblxuLmluZm9fX3RleHQge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDBweDtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgcGFkZGluZy1sZWZ0OiAwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAuaW5mb19fdGV4dCB7XG4gICAgd2lkdGg6IDY2LjY2JTtcbiAgICBwYWRkaW5nLXRvcDogMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgfVxufVxuXG4uaW5kZXgge1xuICBwYWRkaW5nLXRvcDogMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAuaW5kZXgge1xuICAgIHBhZGRpbmctdG9wOiAwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgfVxufVxuXG4uaW5kZXhfX3RhYmxlIHtcbiAgcGFkZGluZy10b3A6IDBweDtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAuaW5kZXhfX3RhYmxlIHtcbiAgICBwYWRkaW5nLXRvcDogMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgfVxufVxuXG4uaW5kZXhfX3JvdyA+IGEsIC5pbmRleF9fcm93LS1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAuaW5kZXhfX3JvdyA+IGEsIC5pbmRleF9fcm93LS1oZWFkZXIge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG4uaW5kZXhfX3Jvdy0taGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNWVtO1xufVxuXG4uaW5kZXhfX2NvbCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA3Y2gpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IHByZTtcbiAgcGFkZGluZy1yaWdodDogMmNoO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmluZGV4X19jb2wge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDVjaCk7XG4gICAgcGFkZGluZy1yaWdodDogNWNoO1xuICB9XG59XG4uaW5kZXhfX2NvbDpudGgtY2hpbGQoMikge1xuICB3aWR0aDogN2NoO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmluZGV4X19jb2w6bnRoLWNoaWxkKDIpIHtcbiAgICB3aWR0aDogMTBjaDtcbiAgfVxufVxuLmluZGV4X19jb2w6bnRoLWNoaWxkKDMpIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5pbmRleF9fY29sOm50aC1jaGlsZCgzKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLnByb2plY3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMHZoO1xufVxuXG4ucHJvamVjdF9faGVhZGVyIHtcbiAgcGFkZGluZy10b3A6IDBweDtcbiAgcGFkZGluZy1ib3R0b206IDBweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxMHB4ICogMiAtIDMuNzVlbSk7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLnByb2plY3RfX2hlYWRlciB7XG4gICAgcGFkZGluZy10b3A6IDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgICBtYXJnaW4tbGVmdDogMHB4O1xuICB9XG59XG5cbi5wcm9qZWN0X19oZWFkZXJfX3RvcCB7XG4gIHBhZGRpbmctdG9wOiAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG4gIHBhZGRpbmctbGVmdDogMHB4O1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYmFja2dyb3VuZDogcmdiKDI1NSwgMjU1LCAyNTUpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAwJSwgcmdiKDI1NSwgMjU1LCAyNTUpIDEwJSk7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAucHJvamVjdF9faGVhZGVyX190b3Age1xuICAgIHBhZGRpbmctdG9wOiAwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5wcm9qZWN0X19oZWFkZXJfX2l0ZW0ge1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG59XG4ucHJvamVjdF9faGVhZGVyX19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy1yaWdodDogNGNoO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLnByb2plY3RfX2hlYWRlcl9faXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG4ucHJvamVjdF9fY29udGVudCB7XG4gIHBhZGRpbmctdG9wOiAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBiYWNrZ3JvdW5kLWNsaXA6IGNvbnRlbnQtYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICAucHJvamVjdF9fY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgfVxufVxuXG4ucHJvamVjdF9fc2xpZGVzaG93IHtcbiAgZmxleDogMSAwIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnByb2plY3RfX2Zvb3RlciB7XG4gIHBhZGRpbmctdG9wOiAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5wcm9qZWN0X19mb290ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICB9XG59XG5cbi5wcm9qZWN0X19pbmZvX19idXR0b24ge1xuICBtYXJnaW4tdG9wOiAxLjI1ZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5uby10b3VjaCAucHJvamVjdF9faW5mb19fYnV0dG9uOmhvdmVyIHtcbiAgY29sb3I6IHJlZDtcbn1cblxuLnByb2plY3RfX2luZm8ge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLnByb2plY3RfX2luZm8ge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cblxuLnByb2plY3RfX3Jlc2VhcmNoX19saW5rIHtcbiAgbWFyZ2luLXRvcDogMS4yNWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ubm8tdG91Y2ggLnByb2plY3RfX3Jlc2VhcmNoX19saW5rOmhvdmVyIHtcbiAgY29sb3I6IHJlZDtcbn1cblxuLnByb2plY3RfX3Jlc2VhcmNoIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAxMDtcbn1cbi5wcm9qZWN0X19yZXNlYXJjaC0tb3BlbiB7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cblxuLnByb2plY3RfX3Jlc2VhcmNoX19pbm5lciB7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5wcm9qZWN0X19yZXNlYXJjaF9faW5uZXIge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgIHdpZHRoOiA2Ni42NyU7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzJTtcbiAgfVxufVxuLnByb2plY3RfX3Jlc2VhcmNoX19pbm5lciBwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiA2Y2g7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVlbTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5wcm9qZWN0X19yZXNlYXJjaF9faW5uZXIgcCB7XG4gICAgcGFkZGluZy1yaWdodDogMjUlO1xuICB9XG59XG4ucHJvamVjdF9fcmVzZWFyY2hfX2lubmVyIC5pbWFnZWdyaWQgKyBwIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5wcm9qZWN0X19yZXNlYXJjaF9faW5uZXIgLmltYWdlZ3JpZCArIHAge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gIH1cbn1cbi5wcm9qZWN0X19yZXNlYXJjaC0tb3BlbiAucHJvamVjdF9fcmVzZWFyY2hfX2lubmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4ucHJvamVjdF9fcmVzZWFyY2hfX2Nsb3NlIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDE1cHg7XG4gIHJpZ2h0OiAxNXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg2Ni42NnZ3KTtcbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5wcm9qZWN0X19yZXNlYXJjaF9fY2xvc2Uge1xuICAgIHRvcDogMjBweDtcbiAgICByaWdodDogMjBweDtcbiAgfVxufVxuLm5vLXRvdWNoIC5wcm9qZWN0X19yZXNlYXJjaF9fY2xvc2U6aG92ZXIge1xuICBjb2xvcjogcmVkO1xufVxuLnByb2plY3RfX3Jlc2VhcmNoLS1vcGVuIC5wcm9qZWN0X19yZXNlYXJjaF9fY2xvc2Uge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbi5pbWFnZWdyaWQge1xuICBtYXJnaW4tdG9wOiAwcHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIG1hcmdpbi1yaWdodDogMHB4O1xuICBtYXJnaW4tbGVmdDogMHB4O1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gIGdyaWQtY29sdW1uLWdhcDogMTVweDtcbiAgZ3JpZC1yb3ctZ2FwOiAxNXB4O1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmltYWdlZ3JpZCB7XG4gICAgZ3JpZC1jb2x1bW4tZ2FwOiAyMHB4O1xuICAgIGdyaWQtcm93LWdhcDogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgICBtYXJnaW4tbGVmdDogMHB4O1xuICB9XG59XG4uaW1hZ2VncmlkLS0xIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbn1cbi5pbWFnZWdyaWQtLTIge1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xufVxuLmltYWdlZ3JpZC0tNCB7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG59XG5wICsgLmltYWdlZ3JpZCB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1NzZweCkge1xuICBwICsgLmltYWdlZ3JpZCB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgfVxufVxuXG4uc2xpZGVzaG93IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3V0bGluZTogbm9uZTtcbiAgei1pbmRleDogMjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uc2xpZGVzaG93ICoge1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLnNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLnNsaWRlIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIH1cbn1cbi5zbGlkZS0tYWN0aXZlIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5zbGlkZSBpbWcge1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5zbGlkZXNob3dfX25hdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9wYWNpdHk6IDA7XG59XG4ubm8tdG91Y2ggLnNsaWRlc2hvd19fbmF2OmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cbi5zbGlkZXNob3dfX25hdi0tcHJldiB7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDBweDtcbiAgY3Vyc29yOiB3LXJlc2l6ZTtcbiAgei1pbmRleDogMTE7XG59XG4uc2xpZGVfX3ZpZGVvIH4gLnNsaWRlc2hvd19fbmF2LS1wcmV2IHtcbiAgd2lkdGg6IDIwcHg7XG59XG4uc2xpZGVzaG93X19uYXYtLXByZXYgPiBhIHtcbiAgY3Vyc29yOiB3LXJlc2l6ZTtcbn1cbi5zbGlkZXNob3dfX25hdi0tbmV4dCB7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTAwcHgpO1xuICBjdXJzb3I6IGUtcmVzaXplO1xuICB6LWluZGV4OiA5O1xufVxuLnNsaWRlc2hvd19fbmF2LS1uZXh0ID4gYSB7XG4gIGN1cnNvcjogZS1yZXNpemU7XG59XG4uc2xpZGVzaG93X19uYXYgPiBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc2xpZGVfX3ZpZGVvIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xufSIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8vIElOSVRJQVRFIEJBU0lDIENMQVNTRVNcblxuQGZ1bmN0aW9uIHRleHQoJHNpemUsICR0eXBlOiBkZWZhdWx0KSB7XG4gIEByZXR1cm4gbWFwLWdldChtYXAtZ2V0KCR0ZXh0cywgJHNpemUpLCAkdHlwZSk7XG59XG5cbkBmdW5jdGlvbiBsaW5lKCRzaXplKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkbGluZXMsICRzaXplKTtcbn1cblxuQGZ1bmN0aW9uIGNvbG9yKCR0eXBlKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkY29sb3JzLCAkdHlwZSk7XG59XG5cbi8vIEJPUkRFUi1CT1gsIFJFU0VUXG5cbmh0bWwge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuKixcbio6YWZ0ZXIsXG4qOmJlZm9yZSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogaW5oZXJpdDtcbiAgLW1vei1ib3gtc2l6aW5nOiBpbmhlcml0O1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG4qIHtcbiAgbWFyZ2luOiAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMTVlbTtcbiAgd29yZC1zcGFjaW5nOiAwLjAwMWVtO1xuXG4gIEBpZiAkZm9udC1zbW9vdGhpbmctbW96PT10cnVlIHtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB9XG5cbiAgQGlmICRmb250LXNtb290aGluZy13ZWJraXQ9PXRydWUge1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICB9XG59XG5cbmJvZHksXG5odG1sIHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLy8gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAvL1xuXG4vLyBUWVBFIFNJWkVcblxuQGZ1bmN0aW9uIGdldC12dygkdGFyZ2V0KSB7XG4gICR2dy1jb250ZXh0OiAoJHZpZXdwb3J0LXdpZHRoLXB4ICogMC4wMSkgKiAxcHg7XG4gIEByZXR1cm4gKCR0YXJnZXQgLyAkdnctY29udGV4dCkgKiAxdnc7XG59XG5cbmh0bWwsXG5ib2R5IHtcbiAgZm9udC1zaXplOiB0ZXh0KGRlZmF1bHQsIHNtKTtcbiAgbGluZS1oZWlnaHQ6IGxpbmUoZGVmYXVsdCk7XG4gIGNvbG9yOiBjb2xvcih0ZXh0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoYmFja2dyb3VuZCk7XG4gIEBleHRlbmQgLmZvbnQtI3skbWFpbi1mb250fTtcblxuICBAaW5jbHVkZSBtcShzbSkge1xuICAgIGZvbnQtc2l6ZTogdGV4dChkZWZhdWx0LCBkZWZhdWx0KTtcbiAgICBAaWYgJGlzLWdsb2JhbC12aWV3cG9ydC10ZXh0PT10cnVlIHtcbiAgICAgIGZvbnQtc2l6ZTogZ2V0LXZ3KHRleHQoZGVmYXVsdCwgZGVmYXVsdCkpO1xuICAgIH1cbiAgfVxufVxuXG5odG1sIHtcbiAgYmFja2dyb3VuZDogY29sb3IoYmFja2dyb3VuZCk7XG59XG5cbmEge1xuICBjb2xvcjogY29sb3IobGluayk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAmOmhvdmVyLFxuICAmOmhvdmVyICoge1xuICAgIGNvbG9yOiBjb2xvcihob3Zlcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG51bCxcbm9sIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG51bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4vLyBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fIC8vXG5cbi8vIFRSQU5TSVRJT05TXG5cbkBtaXhpbiB0cmFuc2l0aW9uKFxuICAkcHJvcGVydHk6ICR0cmFuc2l0aW9uLXByb3BlcnR5LWRlZmF1bHQsXG4gICRkdXJhdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb24tZGVmYXVsdCxcbiAgJHRpbWluZzogJHRyYW5zaXRpb24tdGltaW5nLWRlZmF1bHQsXG4gICRkZWxheTogJHRyYW5zaXRpb24tZGVsYXktZGVmYXVsdFxuKSB7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6ICRwcm9wZXJ0eTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG4udHJhbnNpdGlvbiB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb247XG59XG4iLCIvLyBTQ1JFRU4gU0laRVMgLSBCcmVha3BvaW50cyBmb3IgbWVkaWFxdWVyaWVzXG5cbkBtaXhpbiBtcSgkbXEtYnJlYWtwb2ludCwgJG1xLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRtcS1icmVha3BvaW50cywgJG1xLWJyZWFrcG9pbnQpIHtcbiAgICAkbXEtYnJlYWtwb2ludDogbWFwLWdldCgkbXEtYnJlYWtwb2ludHMsICRtcS1icmVha3BvaW50KTtcbiAgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRtcS1icmVha3BvaW50fSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBDT05GSUdVUkFURSBET0NVTUVOVFxuXG4vLyBGT05UIFNFVFRJTkdTXG5cbi8vIEZvbnQgc2l6ZXMgLSBjYW4gYmUgYW55IHVuaXRcbiR0ZXh0czogKFxuICBkZWZhdWx0OiAoXG4gICAgLy8gRGVmYXVsdCBmb250LXNpemVzIGluIHB4XG4gICAgICBkZWZhdWx0OiAxM3B4LFxuICAgIHNtOiAxM3B4LFxuICApLFxuICB4eHM6IChcbiAgICAvLyBzbWFsbFxuICAgICAgZGVmYXVsdDogMC41cmVtLFxuICAgIC8vIChkZWZhdWx0OiAwLjVyZW0pXG4gICAgICBzbTogMC41cmVtLFxuICAgIC8vIChkZWZhdWx0OiAwLjVyZW0pLCwsLCwsLCwsLCwsLCwsLFxuICApLFxuICB4czogKFxuICAgIC8vIGg2XG4gICAgICBkZWZhdWx0OiAwLjc1cmVtLFxuICAgIC8vIChkZWZhdWx0OiAwLjc1cmVtKVxuICAgICAgc206IDAuNzVyZW0gLy8gKGRlZmF1bHQ6IDAuNzVyZW0pLCwsLCwsLCwsLCwsLCwsLFxuICApLFxuICBzbTogKFxuICAgIC8vIGg1XG4gICAgICBkZWZhdWx0OiAxcmVtLFxuICAgIC8vIChkZWZhdWx0OiAxLjByZW0pXG4gICAgICBzbTogMXJlbSAvLyAoZGVmYXVsdDogMS4wcmVtKSwsLCwsLCwsLCwsLCwsLCxcbiAgKSxcbiAgbWQ6IChcbiAgICAvLyBoNFxuICAgICAgZGVmYXVsdDogMS41cmVtLFxuICAgIC8vIChkZWZhdWx0OiAxLjVyZW0pXG4gICAgICBzbTogMS41cmVtIC8vIChkZWZhdWx0OiAxLjVyZW0pLCwsLCwsLCwsLCwsLCwsLFxuICApLFxuICBsZzogKFxuICAgIC8vIGgzXG4gICAgICBkZWZhdWx0OiAycmVtLFxuICAgIC8vIChkZWZhdWx0OiAyLjByZW0pXG4gICAgICBzbTogMnJlbSAvLyAoZGVmYXVsdDogMi4wcmVtKSwsLCwsLCwsLCwsLCwsLCxcbiAgKSxcbiAgeGw6IChcbiAgICAvLyBoMlxuICAgICAgZGVmYXVsdDogM3JlbSxcbiAgICAvLyAoZGVmYXVsdDogMy4wcmVtKVxuICAgICAgc206IDNyZW0gLy8gKGRlZmF1bHQ6IDMuMHJlbSksLCwsLCwsLCwsLCwsLCwsXG4gICksXG4gIHh4bDogKFxuICAgIC8vIGgxXG4gICAgICBkZWZhdWx0OiA2cmVtLFxuICAgIC8vIChkZWZhdWx0OiA2LjByZW0pXG4gICAgICBzbTogNnJlbSAvLyAoZGVmYXVsdDogNi4wcmVtKSwsLCwsLCwsLCwsLCwsLCxcbiAgKSxcbik7XG5cbi8vIExpbmUgaGVpZ2h0IC0gcmVhbHRpdmUgdG8gZm9udC1zaXplXG4kbGluZXM6IChcbiAgZGVmYXVsdDogMS4yNSxcbiAgLy8gRGVmYXVsdCBsaW5lLWhlaWdodCwgcmVsYXRpdmUgdG8gZGVmYXVsdCBmb250LXNpemUgKGRlZmF1bHQ6IDEuMjUpXG4gICAgeHhzOiAxLFxuICAvLyAoZGVmYXVsdDogMS4wKVxuICAgIHhzOiAxLjEyNSxcbiAgLy8gKGRlZmF1bHQ6IDEuMTI1KVxuICAgIHNtOiAxLjI1LFxuICAvLyAoZGVmYXVsdDogMS4yNSlcbiAgICBtZDogMS4zNzUsXG4gIC8vIChkZWZhdWx0OiAxLjM3NSlcbiAgICBsZzogMS41LFxuICAvLyAoZGVmYXVsdDogMS41KVxuICAgIHhsOiAyLFxuICAvLyAoZGVmYXVsdDogMi4wKVxuICAgIHh4bDogMyxcbiAgLy8gKGRlZmF1bHQ6IDMuMCksLCwsLCwsLCwsLCwsLCwsXG4pO1xuXG4kZm9udC1zbW9vdGhpbmctbW96OiB0cnVlOyAvLyBGb250IHNtb290aGluZyBpbiBGaXJlZm94IChkZWZhdWx0OiB0cnVlKVxuJGZvbnQtc21vb3RoaW5nLXdlYmtpdDogdHJ1ZTsgLy8gRm9udCBzbW9vdGhpbmcgaW4gQ2hyb21lL1NhZmFyaSAoZGVmYXVsdDogdHJ1ZSlcblxuLy8gVmlld3BvcnQgdmFsdWVzXG4kaXMtZ2xvYmFsLXZpZXdwb3J0LXRleHQ6IGZhbHNlOyAvLyB0cnVlIGZvciBmb250LXNpemUgZ2xvYmFsbHkgZGVmaW5lZCBpbiB2dywgZmFsc2UgZm9yIGZvbnQtc2l6ZSBnbG9iYWxseSBkZWZpbmVkIGluIHB4XG4kdmlld3BvcnQtd2lkdGgtcHg6IDEyODA7IC8vIFNjcmVlbiBzaXplIHVzZWQgZm9yIGNhbGN1bGF0aW5nIGZvbnQtc2l6ZSBpbiB2dyAobGlrZSBodHRwOi8vZW1pbG9sc3Nvbi5jb20vdG9vbHMvdnctdW5pdC1jYWxjLWFuLW9ubGluZS1yZXNwb25zaXZlLWNzcy1mb250LXNpemUtY2FsY3VsYXRvci8pXG5cbi8vIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gLy9cblxuLy8gRk9OVFNcblxuJG1haW4tZm9udDogMTtcbiRmb250czogKFxuICAxOiAoXG4gICAgbmFtZTogUHJlc3RpZ2UtRWxpdGUtQmQsXG4gICAgZmFsbGJhY2s6ICdIZWx2ZXRpY2EgTmV1ZSwgSGVsdmV0aWNhLCBBcmlhbCwgTHVjaWRhIEdyYW5kZSwgc2Fucy1zZXJpZicsXG4gICAgdXJsOiAnLi4vZm9udHMvM0E0OTMyXzBfMCcsXG4gICAgd2VpZ2h0OiBub3JtYWwsXG4gICAgc3R5bGU6IG5vcm1hbCxcbiAgICBkaXNwbGF5OiBhdXRvLFxuICApLFxuKTtcblxuLy8gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAvL1xuXG4vLyBMQVlPVVRcblxuJG51bWJlci1vZi1jb2x1bW5zOiAxMjsgLy8gTnVtYmVyIG9mIGNvbHVtbnNcblxuLy8gQmFzZSBtYXJnaW4sIHBhZGRpbmcgYW5kIGFic29sdXRlIHBvc2l0aW9uaW5nIHNpemVcbiRpcy1nbG9iYWwtdmlld3BvcnQtc2l6ZXM6IGZhbHNlOyAvLyB0cnVlIGZvciBzaXplcyBnbG9iYWxseSBkZWZpbmVkIHJlbGF0aXZlbHkgdG8gZGVmYXVsdCBsaW5lLWhlaWdodCwgZmFsc2UgZm9yIHNpemVzIGdsb2JhbGx5IGRlZmluZWQgaW4gcHhcbiRiYXNlLXNwYWNlOiAxMHB4OyAvLyBJbml0aWFsIHNwYWNlIGluIHB4IG9yIHJlbGF0aXZlIHRvIGRlZmF1bHQgbGluZS1oZWlnaHQgKGRlZmF1bHQ6IDEwcHgpXG5cbi8vIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gLy9cblxuLy8gQ09MT1JTXG5cbiRjb2xvcnM6IChcbiAgdGV4dDogYmxhY2ssXG4gIGxpbms6IGJsYWNrLFxuICBob3ZlcjogcmVkLFxuICBiYWNrZ3JvdW5kOiB3aGl0ZSxcbiAgZ3JleTogI2QyZDJkMixcbik7XG5cbi8vIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gLy9cblxuLy8gVFJBTlNJVElPTlxuXG4kdHJhbnNpdGlvbi1wcm9wZXJ0eS1kZWZhdWx0OiBhbGw7XG4kdHJhbnNpdGlvbi1kdXJhdGlvbi1kZWZhdWx0OiAwLjNzO1xuJHRyYW5zaXRpb24tdGltaW5nLWRlZmF1bHQ6IGVhc2UtaW4tb3V0O1xuJHRyYW5zaXRpb24tZGVsYXktZGVmYXVsdDogMHM7XG5cbi8vIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gLy9cblxuLy8gQlJFQUtQT0lOVFNcblxuJGJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwcHgsXG4gIHNtOiA1NzZweCxcbiAgbWQ6IDEwMDBweCxcbiAgbGc6IDEyMDBweCxcbiAgeGw6IDE1MDBweCxcbiAgeHhsOiAxODAwcHgsXG4pO1xuXG4vLyBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fIC8vXG5cbi8vIEZSRUUgQ09ORklHXG4iLCIvLyBJTklUSUFURSBGT05UU1xuXG5AZWFjaCAkaSwgJGZvbnQtcHJvcGVydGllcyBpbiAkZm9udHMge1xuICBAaWYgKG1hcC1nZXQoJGZvbnQtcHJvcGVydGllcywgdXJsKSAhPSAnJykge1xuICAgIEBmb250LWZhY2Uge1xuICAgICAgZm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQtcHJvcGVydGllcywgbmFtZSk7XG4gICAgICBzcmM6IHVybChtYXAtZ2V0KCRmb250LXByb3BlcnRpZXMsIHVybCkrJy53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgIHVybChtYXAtZ2V0KCRmb250LXByb3BlcnRpZXMsIHVybCkrJy53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRmb250LXByb3BlcnRpZXMsIHdlaWdodCk7XG4gICAgICBmb250LXN0eWxlOiBtYXAtZ2V0KCRmb250LXByb3BlcnRpZXMsIHN0eWxlKTtcbiAgICAgIGZvbnQtZGlzcGxheTogbWFwLWdldCgkZm9udC1wcm9wZXJ0aWVzLCBkaXNwbGF5KTtcbiAgICB9XG4gIH1cbn1cblxuQGVhY2ggJGksICRmb250LXByb3BlcnRpZXMgaW4gJGZvbnRzIHtcbiAgLmZvbnQtI3skaX0ge1xuICAgIGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LXByb3BlcnRpZXMsIG5hbWUpLFxuICAgICAgdW5xdW90ZShtYXAtZ2V0KCRmb250LXByb3BlcnRpZXMsIGZhbGxiYWNrKSk7XG4gIH1cbn1cbiIsIi8vIElOSVRJQVRFIEdSSURcblxuLy8gQ09MVU1OUywgU1VCRElWSVNJT05TLCBMRUZUIE9GRlNFVFxuXG4kc2luZ2xlLWNvbHVtbjogMTAwIC8gJG51bWJlci1vZi1jb2x1bW5zO1xuXG5AbWl4aW4gY29sdW1uKCRwcm9wZXJ0eSkge1xuICB3aWR0aDogcGVyY2VudGFnZSgkc2luZ2xlLWNvbHVtbiAqICRwcm9wZXJ0eSAvIDEwMCk7XG59XG5cbkBtaXhpbiBzdWJkaXZpc2lvbigkcHJvcGVydHkpIHtcbiAgd2lkdGg6IHBlcmNlbnRhZ2UoMTAwIC8gJHByb3BlcnR5KSAvIDEwMDtcbn1cblxuQG1peGluIG9mZnNldGNvbCgkcHJvcGVydHkpIHtcbiAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoJHNpbmdsZS1jb2x1bW4gKiAkcHJvcGVydHkgLyAxMDApO1xufVxuXG5bY2xhc3MqPSdjb2wtJ10sXG5bY2xhc3MqPSdzdWItJ10sXG5bY2xhc3MqPSdvZmYtJ10ge1xuICBmbG9hdDogbGVmdDtcbn1cblxuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbnVtYmVyLW9mLWNvbHVtbnMge1xuICAuY29sLSN7JGl9IHtcbiAgICBAaW5jbHVkZSBjb2x1bW4oJGkpO1xuICB9XG4gIC5zdWItI3skaX0ge1xuICAgIEBpbmNsdWRlIHN1YmRpdmlzaW9uKCRpKTtcbiAgfVxuICAub2ZmLSN7JGl9IHtcbiAgICBAaW5jbHVkZSBvZmZzZXRjb2woJGkpO1xuICB9XG59XG4iLCIvLyBJTklUSUFURSBUWVBFIFNJWkVTXG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnNtYWxsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIG91dGxpbmU6IDA7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBmb250LXN0eWxlOiBpbmhlcml0O1xuICBmb250LXNpemU6IDEwMCU7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogdGV4dCh4eHMsIHNtKTtcblxuICBAaW5jbHVkZSBtcShzbSkge1xuICAgIGZvbnQtc2l6ZTogdGV4dCh4eHMsIGRlZmF1bHQpO1xuICB9XG59XG5cbi5oNiB7XG4gIGZvbnQtc2l6ZTogdGV4dCh4cywgc20pO1xuXG4gIEBpbmNsdWRlIG1xKHNtKSB7XG4gICAgZm9udC1zaXplOiB0ZXh0KHhzLCBkZWZhdWx0KTtcbiAgfVxufVxuXG4uaDUge1xuICBmb250LXNpemU6IHRleHQoc20sIHNtKTtcblxuICBAaW5jbHVkZSBtcShzbSkge1xuICAgIGZvbnQtc2l6ZTogdGV4dChzbSwgZGVmYXVsdCk7XG4gIH1cbn1cblxuLmg0IHtcbiAgZm9udC1zaXplOiB0ZXh0KG1kLCBzbSk7XG5cbiAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICBmb250LXNpemU6IHRleHQobWQsIGRlZmF1bHQpO1xuICB9XG59XG5cbi5oMyB7XG4gIGZvbnQtc2l6ZTogdGV4dChsZywgc20pO1xuXG4gIEBpbmNsdWRlIG1xKHNtKSB7XG4gICAgZm9udC1zaXplOiB0ZXh0KGxnLCBkZWZhdWx0KTtcbiAgfVxufVxuXG4uaDIge1xuICBmb250LXNpemU6IHRleHQoeGwsIHNtKTtcblxuICBAaW5jbHVkZSBtcShzbSkge1xuICAgIGZvbnQtc2l6ZTogdGV4dCh4bCwgZGVmYXVsdCk7XG4gIH1cbn1cblxuLmgxIHtcbiAgZm9udC1zaXplOiB0ZXh0KHh4bCwgc20pO1xuXG4gIEBpbmNsdWRlIG1xKHNtKSB7XG4gICAgZm9udC1zaXplOiB0ZXh0KHh4bCwgZGVmYXVsdCk7XG4gIH1cbn1cblxuLy8gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAvL1xuXG4vLyBJTklUSUFURSBMSU5FIEhFSUdIVFxuXG4uaDEsXG4uaDIsXG4uaDMsXG4uaDQsXG4uaDUsXG4uaDYsXG4uc21hbGwge1xuICBsaW5lLWhlaWdodDogbGluZShkZWZhdWx0KTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cbiIsIi5ibHVyIHtcbiAgQGV4dGVuZCAudHJhbnNpdGlvbjtcbiAgZmlsdGVyOiBibHVyKDVweCk7XG4gIG9wYWNpdHk6IDAuMTtcblxuICAmLmxhenlsb2FkZWQge1xuICAgIGZpbHRlcjogYmx1cigwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi51cHBlciB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5pbWFnZWNsb25lIHtcbiAgQGV4dGVuZCAudHJhbnNpdGlvbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDtcbiAgd2lkdGg6IGF1dG87XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG5cbiAgaW1nIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnRleHRfX3BhcmFncmFwaCB7XG4gIHA6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1ZW07XG4gIH1cbn1cbiIsIi5oZWFkZXIge1xuICBAaW5jbHVkZSBwYWRkaW5nKDEuNSk7XG4gIEBpbmNsdWRlIG1hcmdpbigwIDAgOCAwKTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgYmFja2dyb3VuZDogY29sb3IoYmFja2dyb3VuZCk7XG4gIHotaW5kZXg6IDE7XG4gIHRvcDogMDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAmLm9wZW4ge1xuICAgIGJveC1zaGFkb3c6IDBweCAxcHggMHB4IDBweCBjb2xvcihncmV5KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1xKHNtKSB7XG4gICAgQGluY2x1ZGUgcGFkZGluZygyKTtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG5cbiAgLmNvbnRlbnQtLXByb2plY3QgJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uaGVhZGVyX19pdGVtIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gIEBpbmNsdWRlIG1xKHNtKSB7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcblxuICAgIEBpbmNsdWRlIG1xKHNtKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gICYtLW1lbnUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICB9XG59XG5cbi5oZWFkZXJfX2xpbmsge1xuICAmOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnIOKAoiAnO1xuICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gIH1cblxuICAubm8tdG91Y2ggJjpob3Zlcjo6YWZ0ZXIge1xuICAgIGNvbG9yOiBibGFjaztcbiAgfVxufVxuXG4uaGVhZGVyX190b1JlbW92ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgLmNvbnRlbnQtLWhvbWUgJiB7XG4gICAgZGlzcGxheTogaW5pdGlhbDtcbiAgfVxufVxuIiwiLy8gLy8gSU5JVElBVEUgTUFSR0lOUyBBTkQgUEFERElOR1xuXG5AbWl4aW4gcHJvcGVydHkoJHByb3BlcnR5LCAkdmFsdWVzKSB7XG4gICR0b3A6ICRwcm9wZXJ0eSArICctdG9wJztcbiAgJGJvdHRvbTogJHByb3BlcnR5ICsgJy1ib3R0b20nO1xuICAkcmlnaHQ6ICRwcm9wZXJ0eSArICctcmlnaHQnO1xuICAkbGVmdDogJHByb3BlcnR5ICsgJy1sZWZ0JztcblxuICBAaWYgbGVuZ3RoKCR2YWx1ZXMpID09IDEge1xuICAgICN7JHRvcH06IG50aCgkdmFsdWVzLCAxKSAqICRiYXNlLXNwYWNlO1xuICAgICN7JGJvdHRvbX06IG50aCgkdmFsdWVzLCAxKSAqICRiYXNlLXNwYWNlO1xuICAgICN7JHJpZ2h0fTogbnRoKCR2YWx1ZXMsIDEpICogJGJhc2Utc3BhY2U7XG4gICAgI3skbGVmdH06IG50aCgkdmFsdWVzLCAxKSAqICRiYXNlLXNwYWNlO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFsdWVzKSA9PSAyIHtcbiAgICAjeyR0b3B9OiBudGgoJHZhbHVlcywgMSkgKiAkYmFzZS1zcGFjZTtcbiAgICAjeyRib3R0b219OiBudGgoJHZhbHVlcywgMSkgKiAkYmFzZS1zcGFjZTtcbiAgICAjeyRyaWdodH06IG50aCgkdmFsdWVzLCAyKSAqICRiYXNlLXNwYWNlO1xuICAgICN7JGxlZnR9OiBudGgoJHZhbHVlcywgMikgKiAkYmFzZS1zcGFjZTtcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHVlcykgPT0gMyB7XG4gICAgI3skdG9wfTogbnRoKCR2YWx1ZXMsIDEpICogJGJhc2Utc3BhY2U7XG4gICAgI3skYm90dG9tfTogbnRoKCR2YWx1ZXMsIDMpICogJGJhc2Utc3BhY2U7XG4gICAgI3skcmlnaHR9OiBudGgoJHZhbHVlcywgMikgKiAkYmFzZS1zcGFjZTtcbiAgICAjeyRsZWZ0fTogbnRoKCR2YWx1ZXMsIDIpICogJGJhc2Utc3BhY2U7XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWx1ZXMpID09IDQge1xuICAgICN7JHRvcH06IG50aCgkdmFsdWVzLCAxKSAqICRiYXNlLXNwYWNlO1xuICAgICN7JGJvdHRvbX06IG50aCgkdmFsdWVzLCAzKSAqICRiYXNlLXNwYWNlO1xuICAgICN7JHJpZ2h0fTogbnRoKCR2YWx1ZXMsIDIpICogJGJhc2Utc3BhY2U7XG4gICAgI3skbGVmdH06IG50aCgkdmFsdWVzLCA0KSAqICRiYXNlLXNwYWNlO1xuICB9XG59XG5cbkBtaXhpbiBtYXJnaW4tZW0oJHZhbHVlcykge1xuICBAaWYgbGVuZ3RoKCR2YWx1ZXMpID09IDEge1xuICAgIG1hcmdpbi10b3A6IG50aCgkdmFsdWVzLCAxKSAqIDFlbTtcbiAgICBtYXJnaW4tYm90dG9tOiBudGgoJHZhbHVlcywgMSkgKiAxZW07XG4gICAgbWFyZ2luLXJpZ2h0OiBudGgoJHZhbHVlcywgMSkgKiAxZW07XG4gICAgbWFyZ2luLWxlZnQ6IG50aCgkdmFsdWVzLCAxKSAqIDFlbTtcbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHVlcykgPT0gMiB7XG4gICAgbWFyZ2luLXRvcDogbnRoKCR2YWx1ZXMsIDEpICogMWVtO1xuICAgIG1hcmdpbi1ib3R0b206IG50aCgkdmFsdWVzLCAxKSAqIDFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IG50aCgkdmFsdWVzLCAyKSAqIDFlbTtcbiAgICBtYXJnaW4tbGVmdDogbnRoKCR2YWx1ZXMsIDIpICogMWVtO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFsdWVzKSA9PSAzIHtcbiAgICBtYXJnaW4tdG9wOiBudGgoJHZhbHVlcywgMSkgKiAxZW07XG4gICAgbWFyZ2luLWJvdHRvbTogbnRoKCR2YWx1ZXMsIDMpICogMWVtO1xuICAgIG1hcmdpbi1yaWdodDogbnRoKCR2YWx1ZXMsIDIpICogMWVtO1xuICAgIG1hcmdpbi1sZWZ0OiBudGgoJHZhbHVlcywgMikgKiAxZW07XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWx1ZXMpID09IDQge1xuICAgIG1hcmdpbi10b3A6IG50aCgkdmFsdWVzLCAxKSAqIDFlbTtcbiAgICBtYXJnaW4tYm90dG9tOiBudGgoJHZhbHVlcywgMykgKiAxZW07XG4gICAgbWFyZ2luLXJpZ2h0OiBudGgoJHZhbHVlcywgMikgKiAxZW07XG4gICAgbWFyZ2luLWxlZnQ6IG50aCgkdmFsdWVzLCA0KSAqIDFlbTtcbiAgfVxufVxuXG5AbWl4aW4gcGFkZGluZygkdmFsdWVzKSB7XG4gIEBpbmNsdWRlIHByb3BlcnR5KHBhZGRpbmcsICR2YWx1ZXMpO1xufVxuXG5AbWl4aW4gbWFyZ2luKCR2YWx1ZXMpIHtcbiAgQGluY2x1ZGUgcHJvcGVydHkobWFyZ2luLCAkdmFsdWVzKTtcbn1cbiIsIi5ob21lIHtcbiAgQGluY2x1ZGUgcGFkZGluZygwIDEuNSAxLjUgMS41KTtcbiAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICBAaW5jbHVkZSBwYWRkaW5nKDAgMik7XG4gIH1cbn1cblxuLmhvbWVfX3Byb2plY3Qge1xuICBAaW5jbHVkZSBtYXJnaW4oMCAwIDYgMCk7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIEBpbmNsdWRlIG1xKHNtKSB7XG4gICAgQGluY2x1ZGUgbWFyZ2luKDAgMCA4IDApO1xuICB9XG5cbiAgJjpob3ZlciAuaG9tZV9fcHJvamVjdF9fdGl0bGUgYSB7XG4gICAgY29sb3I6IHJlZDtcbiAgfVxuXG4gICY6aG92ZXIgLmhvbWVfX3Byb2plY3RfX3ZpZGVvaWNvbiB7XG4gICAgY29sb3I6IGJsYWNrO1xuICB9XG59XG5cbi5ob21lX19wcm9qZWN0X19pbWFnZXMge1xuICBAaW5jbHVkZSBtYXJnaW4oMCAwIDEgMCk7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWF4LWhlaWdodDogNTB2dztcblxuICBAaW5jbHVkZSBtcShzbSkge1xuICAgIGhlaWdodDogY2FsYyhcbiAgICAgICgxMDB2dyAtICh2YXIoLS1pdGVtLW51bWJlcikgKyAxKSAqIDIwcHgpIC8gdmFyKC0taXRlbS1oZWlnaHQpXG4gICAgKTtcbiAgICBtYXgtaGVpZ2h0OiB1bnNldDtcbiAgfVxufVxuXG4uaG9tZV9fcHJvamVjdF9faW1hZ2Uge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogYXV0bztcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgQGluY2x1ZGUgbWFyZ2luKDAgMSAwIDApO1xuXG4gICAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbigwIDIgMCAwKTtcbiAgICB9XG4gIH1cblxuICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBtcShzbSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1heC1oZWlnaHQ6IDUwdnc7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcblxuICAgIEBpbmNsdWRlIG1xKHNtKSB7XG4gICAgICBAaW5jbHVkZSBtYXJnaW4oMCAyIDAgMCk7XG4gICAgICBtYXgtaGVpZ2h0OiB1bnNldDtcbiAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi5ob21lX19wcm9qZWN0X192aWRlb2ljb24ge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZzogNHB4IDhweCAxcHggMTBweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0xM3B4IC0gN2NoKTtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBoZWlnaHQ6IGNhbGMoMS4yNWVtICsgNXB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoLTEwMCUgKyA3Y2ggLSAycHgpKTtcblxuICBAaW5jbHVkZSBtcShzbSkge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0yM3B4IC0gN2NoKTtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnXFwwMDI1QjZcXDAwZmUwZSc7XG5cbiAgICBAaW5jbHVkZSBtcShzbSkge1xuICAgICAgY29udGVudDogJ1ZpZGVvIFxcMDAyNUI2XFwwMGZlMGUnO1xuICAgIH1cbiAgfVxuXG4gICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIG1xKHNtKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi5jb250YWN0IHtcbiAgQGluY2x1ZGUgcGFkZGluZygwIDEuNSk7XG5cbiAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICBAaW5jbHVkZSBwYWRkaW5nKDAgMik7XG4gIH1cbn1cblxuLmNvbnRhY3RfX2l0ZW0ge1xuICAmID4gc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDRjaDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cbiIsIi5pbmZvIHtcbiAgQGluY2x1ZGUgcGFkZGluZygwIDEuNSk7XG5cbiAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICBAaW5jbHVkZSBwYWRkaW5nKDAgMik7XG4gIH1cbn1cblxuLmluZm9fX3RleHQge1xuICB3aWR0aDogMTAwJTtcbiAgQGluY2x1ZGUgcGFkZGluZygwIDAgMS41IDApO1xuXG4gIEBpbmNsdWRlIG1xKHNtKSB7XG4gICAgd2lkdGg6IDY2LjY2JTtcbiAgICBAaW5jbHVkZSBwYWRkaW5nKDAgMCAyIDApO1xuICB9XG59XG4iLCIuaW5kZXgge1xuICBAaW5jbHVkZSBwYWRkaW5nKDAgMS41KTtcblxuICBAaW5jbHVkZSBtcShzbSkge1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoMCAyKTtcbiAgfVxufVxuXG4uaW5kZXhfX3RhYmxlIHtcbiAgQGluY2x1ZGUgcGFkZGluZygwIDAgMS41IDApO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIEBpbmNsdWRlIG1xKHNtKSB7XG4gICAgQGluY2x1ZGUgcGFkZGluZygwIDAgMiAwKTtcbiAgfVxufVxuXG4uaW5kZXhfX3JvdyB7XG4gICYgPiBhLFxuICAmLS1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICBAaW5jbHVkZSBtcShzbSkge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgfVxuICB9XG5cbiAgJi0taGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1ZW07XG4gIH1cbn1cblxuLmluZGV4X19jb2wge1xuICB3aWR0aDogY2FsYygxMDAlIC0gN2NoKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG4gIHBhZGRpbmctcmlnaHQ6IDJjaDtcblxuICBAaW5jbHVkZSBtcShzbSkge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDVjaCk7XG4gICAgcGFkZGluZy1yaWdodDogNWNoO1xuICB9XG5cbiAgLmluZGV4X19yb3c6bm90KC5pbmRleF9fcm93LS1oZWFkZXIpICY6bnRoLWNoaWxkKDEpIHtcbiAgICBAZXh0ZW5kIC51cHBlcjtcbiAgfVxuXG4gICY6bnRoLWNoaWxkKDIpIHtcbiAgICB3aWR0aDogN2NoO1xuXG4gICAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICAgIHdpZHRoOiAxMGNoO1xuICAgIH1cbiAgfVxuXG4gICY6bnRoLWNoaWxkKDMpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLnByb2plY3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMHZoO1xufVxuXG4ucHJvamVjdF9faGVhZGVyIHtcbiAgQGluY2x1ZGUgcGFkZGluZygwIDEuNSk7XG4gIEBpbmNsdWRlIG1hcmdpbigxLjUgMCk7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3skYmFzZS1zcGFjZX0gKiAyIC0gMy43NWVtKTtcbiAgb3ZlcmZsb3c6IGF1dG87XG5cbiAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICBAaW5jbHVkZSBwYWRkaW5nKDAgMik7XG4gICAgQGluY2x1ZGUgbWFyZ2luKDIgMCk7XG4gIH1cbn1cblxuLnByb2plY3RfX2hlYWRlcl9fdG9wIHtcbiAgQGluY2x1ZGUgcGFkZGluZygwIDAgMS41IDApO1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYmFja2dyb3VuZDogcmdiKDI1NSwgMjU1LCAyNTUpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgMGRlZyxcbiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDAlLFxuICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkgMTAlXG4gICk7XG5cbiAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICBAaW5jbHVkZSBwYWRkaW5nKDAgMCAyIDApO1xuICB9XG59XG5cbi5wcm9qZWN0X19oZWFkZXJfX2l0ZW0ge1xuICBAaW5jbHVkZSBtcShzbSkge1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogNGNoO1xuXG4gICAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5wcm9qZWN0X19jb250ZW50IHtcbiAgQGluY2x1ZGUgcGFkZGluZygwIDEuNSAxLjUgMS41KTtcbiAgZmxleDogMSAxIGF1dG87XG4gIGJhY2tncm91bmQtY2xpcDogY29udGVudC1ib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaW5jbHVkZSBtcShzbSkge1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoMCAyIDIgMik7XG4gIH1cbn1cblxuLnByb2plY3RfX3NsaWRlc2hvdyB7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wcm9qZWN0X19mb290ZXIge1xuICBAaW5jbHVkZSBwYWRkaW5nKDAgMCAwIDQpO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZGlzcGxheTogbm9uZTtcblxuICBAaW5jbHVkZSBtcShzbSkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICB9XG59XG5cbi5wcm9qZWN0X19pbmZvX19idXR0b24ge1xuICBAZXh0ZW5kIC51cHBlcjtcbiAgbWFyZ2luLXRvcDogMS4yNWVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLm5vLXRvdWNoICY6aG92ZXIge1xuICAgIGNvbG9yOiByZWQ7XG4gIH1cbn1cblxuLnByb2plY3RfX2luZm8ge1xuICBkaXNwbGF5OiBub25lO1xuICBAaW5jbHVkZSBtcShzbSkge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cblxuLnByb2plY3RfX3Jlc2VhcmNoX19saW5rIHtcbiAgbWFyZ2luLXRvcDogMS4yNWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLm5vLXRvdWNoICY6aG92ZXIge1xuICAgIGNvbG9yOiByZWQ7XG4gIH1cbn1cblxuLnByb2plY3RfX3Jlc2VhcmNoIHtcbiAgQGV4dGVuZCAudHJhbnNpdGlvbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAxMDtcblxuICAmLS1vcGVuIHtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgfVxufVxuXG4ucHJvamVjdF9fcmVzZWFyY2hfX2lubmVyIHtcbiAgQGV4dGVuZCAudHJhbnNpdGlvbjtcbiAgQGluY2x1ZGUgcGFkZGluZygxLjUpO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcblxuICBAaW5jbHVkZSBtcShzbSkge1xuICAgIEBpbmNsdWRlIHBhZGRpbmcoMiA0KTtcbiAgICB3aWR0aDogNjYuNjclO1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMyU7XG4gIH1cblxuICBwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2Y2g7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNWVtO1xuXG4gICAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDI1JTtcbiAgICB9XG4gIH1cblxuICAuaW1hZ2VncmlkICsgcCB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcblxuICAgIEBpbmNsdWRlIG1xKHNtKSB7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5wcm9qZWN0X19yZXNlYXJjaC0tb3BlbiAmIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuLnByb2plY3RfX3Jlc2VhcmNoX19jbG9zZSB7XG4gIEBleHRlbmQgLnRyYW5zaXRpb247XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAxNXB4O1xuICByaWdodDogMTVweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNjYuNjZ2dyk7XG5cbiAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICB0b3A6IDIwcHg7XG4gICAgcmlnaHQ6IDIwcHg7XG4gIH1cblxuICAubm8tdG91Y2ggJjpob3ZlciB7XG4gICAgY29sb3I6IHJlZDtcbiAgfVxuXG4gIC5wcm9qZWN0X19yZXNlYXJjaC0tb3BlbiAmIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuLmltYWdlZ3JpZCB7XG4gIEBpbmNsdWRlIG1hcmdpbigwIDAgMS41IDApO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gIGdyaWQtY29sdW1uLWdhcDogJGJhc2Utc3BhY2UgKiAxLjU7XG4gIGdyaWQtcm93LWdhcDogJGJhc2Utc3BhY2UgKiAxLjU7XG5cbiAgQGluY2x1ZGUgbXEoc20pIHtcbiAgICBncmlkLWNvbHVtbi1nYXA6ICRiYXNlLXNwYWNlICogMjtcbiAgICBncmlkLXJvdy1nYXA6ICRiYXNlLXNwYWNlICogMjtcbiAgICBAaW5jbHVkZSBtYXJnaW4oMCAwIDIgMCk7XG4gIH1cblxuICAmLS0xIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICB9XG5cbiAgJi0tMiB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgfVxuXG4gICYtLTQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gIH1cblxuICBwICsgJiB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcblxuICAgIEBpbmNsdWRlIG1xKHNtKSB7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIH1cbiAgfVxufVxuIiwiLnNsaWRlc2hvdyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG91dGxpbmU6IG5vbmU7XG4gIHotaW5kZXg6IDI7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLnNsaWRlc2hvdyAqIHtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICBAaW5jbHVkZSBtcShzbSkge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgfVxuXG4gICYtLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIGltZyB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi5zbGlkZXNob3dfX25hdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9wYWNpdHk6IDA7XG5cbiAgLm5vLXRvdWNoICY6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLS1wcmV2IHtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBjdXJzb3I6IHctcmVzaXplO1xuICAgIHotaW5kZXg6IDExO1xuXG4gICAgLnNsaWRlX192aWRlbyB+ICYge1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgfVxuXG4gICAgJiA+IGEge1xuICAgICAgY3Vyc29yOiB3LXJlc2l6ZTtcbiAgICB9XG4gIH1cblxuICAmLS1uZXh0IHtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTAwcHgpO1xuICAgIGN1cnNvcjogZS1yZXNpemU7XG4gICAgei1pbmRleDogOTtcblxuICAgICYgPiBhIHtcbiAgICAgIGN1cnNvcjogZS1yZXNpemU7XG4gICAgfVxuICB9XG5cbiAgJiA+IGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnNsaWRlX192aWRlbyB7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/