/*
 0   -  600 : Phone 400/16 < 37.5em
 600 -  900 : Tablet 600/16 < 56.25em
 900 - 1200 : Tablet landscape 600/16 < 75em
1200 -      : Desktop 1200/16 > 75em

*/
:root {
  --vh100: calc(100vh);
  --vh100-once: calc(100vh);
  --scrollbar-width: 0;
  --site-padding: 3.2rem; }
  @media (max-width: 1180px) {
    :root {
      --site-padding: 2rem; } }
  @media (max-width: 600px) {
    :root {
      --site-padding: 1rem; } }

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.2;
  -webkit-text-size-adjust: 100%; }

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

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

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

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

/**
 * 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;
  font-size: 1em; }

/* 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;
  text-decoration: underline;
  text-decoration: underline dotted; }

/**
 * 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;
  font-size: 1em; }

/**
 * 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;
  font-size: 100%;
  line-height: 1.15;
  margin: 0; }

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

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  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;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal; }

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

/**
 * 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;
  outline-offset: -2px; }

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

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

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

html {
  box-sizing: border-box; }

a,
a:visited {
  text-decoration: none;
  color: inherit; }

ul li {
  list-style-type: none; }

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

button {
  background-color: transparent;
  outline: none;
  border: none;
  cursor: pointer; }

@font-face {
  font-family: 'Gotham Greek';
  src: url("./../fonts/subset-GothamGreek-Black.woff2") format("woff2"), url("./../fonts/subset-GothamGreek-Black.woff") format("woff");
  font-weight: 900;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Gotham Greek';
  src: url("./../fonts/subset-GothamGreek-Bold.woff2") format("woff2"), url("./../fonts/subset-GothamGreek-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Gotham Greek Book';
  src: url("./../fonts/subset-GothamGreek-Book.woff2") format("woff2"), url("./../fonts/subset-GothamGreek-Book.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap; }

@font-face {
  font-family: 'Gotham Greek';
  src: url("./../fonts/subset-GothamGreek-Medium.woff2") format("woff2"), url("./../fonts/subset-GothamGreek-Medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
  font-display: swap; }

html {
  font-family: "Gotham Greek";
  font-size: 16px; }
  html body {
    opacity: 0;
    transition: opacity .4s ease-in-out; }
    html body.ready {
      opacity: 1; }

.italic {
  font-style: italic; }

.upper {
  text-transform: uppercase; }

.lower {
  text-transform: lowercase; }

.cap {
  text-transform: capitalize; }

.underline {
  text-decoration: underline; }

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

.text-justify {
  text-align: justify; }

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

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

.m0-auto {
  margin: 0 auto; }

.flex {
  display: flex; }

.flex-center {
  display: flex;
  align-items: center; }

.flex-between {
  display: flex;
  justify-content: space-between; }

.flex-between-center {
  display: flex;
  justify-content: space-between;
  align-items: center; }

.flex-center-center {
  display: flex;
  justify-content: center;
  align-items: center; }

.flex-col {
  display: flex;
  flex-direction: column; }

.flex-col-center {
  display: flex;
  flex-direction: column;
  align-items: center; }

.flex-col-between-center {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center; }

.flex-break {
  flex: 1 0 100%;
  height: 0; }

.grid {
  display: grid; }

.grid-12 {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-column-gap: var(--col-gap); }

.overlay-fadein {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
  pointer-events: none;
  z-index: 0; }

.overlay-left {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  transform: translateX(-100%);
  transition: transform 0.3s ease-out;
  pointer-events: none;
  z-index: 5; }
  .overlay-left.transform-x0 {
    transform: translateX(0); }

@media only screen and (max-width: 62.5em) {
  .overlay-right {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transform: translateX(100%);
    transition: transform 0.3s ease-out;
    pointer-events: none;
    z-index: 5; } }

.overlay-fadein.show {
  opacity: 1;
  z-index: 10; }

.transform-x0 {
  transform: translateX(0); }

.transformed-y {
  transform: translateY(150px);
  transition: transform .7s ease-in-out, opacity .7s ease-in; }
  .transformed-y.unrevealed {
    transition: transform .7s ease-in-out, opacity .7s ease-in; }
  .transformed-y.transform-0 {
    transform: translateY(0); }

.sequential > div {
  transform: translateY(150px);
  opacity: 0;
  transition: transform .7s ease-in-out, opacity .7s ease-in; }
  .sequential > div.show.transform-0 {
    transform: translateY(0);
    opacity: 1; }

.events-none {
  pointer-events: none; }

.events-auto {
  pointer-events: auto; }

.overflowY-hidden {
  overflow-y: hidden; }

.events-none.overflowY-hidden {
  overflow-y: auto; }
  @media only screen and (max-width: 62.5em) {
    .events-none.overflowY-hidden {
      pointer-events: none;
      overflow: hidden; } }

.scroll-cont {
  overflow: unset;
  height: auto; }
  @media only screen and (min-width: 37.5em) {
    .scroll-cont {
      overflow: hidden;
      height: var(--vh100); } }
  @media only screen and (min-width: 62.5em) {
    .scroll-cont {
      overflow: hidden;
      width: 100%; } }

.scroll-inner {
  padding-right: var(--scrollbar-width);
  overflow-y: scroll;
  height: var(--vh100);
  display: flex;
  flex-direction: column;
  width: calc(100% + var(--scrollbar-width)); }

.scrollbar-measure {
  width: 100px;
  height: 100px;
  overflow: scroll;
  position: absolute;
  top: -9999px; }

.sticky {
  position: sticky; }

.hidden-title {
  opacity: 0;
  height: 0;
  margin: 0; }

.invisible {
  visibility: hidden; }

.nodisplay {
  display: none; }

.hidden {
  opacity: 0; }

.show {
  opacity: 1; }

.unrevealed {
  opacity: 0;
  transition: opacity .5s ease-in; }
  .unrevealed.show {
    opacity: 1; }

@media only screen and (max-width: 37.5em) {
  .mobile-hidden {
    display: none; } }

@media only screen and (max-width: 62.5em) {
  .tablet-hidden {
    display: none !important; } }

@media only screen and (max-width: 75em) {
  .tablet-land-hidden {
    display: none !important; } }

.mobile-only {
  display: none; }
  @media only screen and (max-width: 37.5em) {
    .mobile-only {
      display: block; } }

.tablet-only {
  display: none; }
  @media only screen and (max-width: 62.5em) {
    .tablet-only {
      display: block; } }

.tablet-land-only {
  display: none; }
  @media only screen and (max-width: 75em) {
    .tablet-land-only {
      display: block; } }

.video-cnt {
  height: var(--vh100); }
  @media (max-width: 1180px) {
    .video-cnt {
      height: var(--vh100-once); } }
  .video-cnt .video {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.content-section {
  padding: 10rem var(--site-padding) 10rem;
  text-align: center;
  height: var(--vh100);
  min-height: 700px;
  max-height: 1080px;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center; }
  @media (max-width: 600px) {
    .content-section {
      padding: 6rem var(--site-padding) 5.8rem; } }
  .content-section .logo {
    margin-bottom: 7rem; }
    @media (max-width: 600px) {
      .content-section .logo {
        margin-bottom: 5rem; } }
  .content-section .text-info {
    max-width: 1060px;
    margin: 0 auto;
    font-size: 25px;
    line-height: 35px;
    font-family: "Gotham Greek Book"; }
    @media (max-width: 600px) {
      .content-section .text-info {
        font-size: 20px;
        line-height: 28px; } }
    .content-section .text-info p {
      margin-bottom: 1rem; }

.site-footer {
  background: black;
  color: white;
  padding: 6rem var(--site-padding) 4rem;
  text-align: center;
  height: var(--vh100);
  min-height: 700px;
  max-height: 1080px;
  display: flex;
  flex-flow: column;
  justify-content: center; }
  @media (max-width: 600px) {
    .site-footer {
      padding: 4rem var(--site-padding) 2rem; } }
  .site-footer .top-info {
    margin-bottom: 11rem; }
    @media (max-width: 600px) {
      .site-footer .top-info {
        margin-bottom: 5rem; } }
    .site-footer .top-info .name {
      font-size: 30px;
      line-height: 36px;
      font-weight: 500;
      margin-bottom: 0.5rem; }
      @media (max-width: 600px) {
        .site-footer .top-info .name {
          font-size: 26px;
          line-height: 33px; } }
    .site-footer .top-info .description {
      font-size: 24px;
      line-height: 29px;
      font-family: "Gotham Greek Book"; }
      @media (max-width: 600px) {
        .site-footer .top-info .description {
          font-size: 20px;
          line-height: 25px; } }
  .site-footer .phone-mail {
    display: flex;
    margin-bottom: 3rem;
    flex-flow: column;
    font-family: "Gotham Greek Book";
    font-size: 24px;
    line-height: 30px; }
    @media (max-width: 600px) {
      .site-footer .phone-mail {
        font-size: 20px;
        line-height: 25px; } }
    .site-footer .phone-mail a:first-child {
      margin-bottom: .5rem; }
  .site-footer .seperator {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 3rem; }
    .site-footer .seperator .line {
      background: #FFF;
      width: 62px;
      height: 4px;
      display: block;
      border-radius: 4px; }
      @media (max-width: 600px) {
        .site-footer .seperator .line {
          height: 2px;
          width: 52px; } }
  .site-footer .social-cnt {
    display: flex;
    align-items: center;
    justify-content: center; }
    .site-footer .social-cnt a {
      font-size: 24px;
      line-height: 28px;
      font-family: "Gotham Greek Book"; }
      @media (max-width: 600px) {
        .site-footer .social-cnt a {
          font-size: 1rem;
          line-height: 22px; } }
    .site-footer .social-cnt .dot {
      width: 8px;
      height: 8px;
      display: block;
      background: #FFF;
      border-radius: 50%;
      margin: 0 1rem; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YXN0eWxlLmNzcyIsInNvdXJjZXMiOlsibWV0YXN0eWxlLnNjc3MiLCJhYnN0cmFjdHMvX21peGlucy5zY3NzIiwiYWJzdHJhY3RzL192YXJpYWJsZXMuc2NzcyIsImJhc2UvX25vcm1hbGl6ZS5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwiYmFzZS9fYmFzZS5zY3NzIiwiYmFzZS9fbW9kdWxlcy5zY3NzIiwiYmFzZS9fdXRpbGl0aWVzLnNjc3MiLCJsYXlvdXQvX2Zyb250LXBhZ2Uuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICdhYnN0cmFjdHMvbWl4aW5zJztcbkBpbXBvcnQgJ2Fic3RyYWN0cy92YXJpYWJsZXMnO1xuXG4vL0JBU0VcbkBpbXBvcnQgJ2Jhc2Uvbm9ybWFsaXplJztcbkBpbXBvcnQgJ2Jhc2UvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdiYXNlL2Jhc2UnO1xuQGltcG9ydCAnYmFzZS9tb2R1bGVzJztcblxuLy9VVElMU1xuQGltcG9ydCAnYmFzZS91dGlsaXRpZXMnO1xuXG5cbi8vTEFZT1VUXG5AaW1wb3J0ICdsYXlvdXQvZnJvbnQtcGFnZSc7XG5cbiIsIi8vIE1FRElBIFFVRVJZIE1BTkFHRVJcbi8qXG4gMCAgIC0gIDYwMCA6IFBob25lIDQwMC8xNiA8IDM3LjVlbVxuIDYwMCAtICA5MDAgOiBUYWJsZXQgNjAwLzE2IDwgNTYuMjVlbVxuIDkwMCAtIDEyMDAgOiBUYWJsZXQgbGFuZHNjYXBlIDYwMC8xNiA8IDc1ZW1cbjEyMDAgLSAgICAgIDogRGVza3RvcCAxMjAwLzE2ID4gNzVlbVxuXG4qL1xuXG5AbWl4aW4gbWluKCRicmVha3BvaW50KSB7XG4gICAgQGlmICRicmVha3BvaW50PT00MDAge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDI1ZW0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRicmVha3BvaW50PT02MDAge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM3LjVlbSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGJyZWFrcG9pbnQ9PTgwMCB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGJyZWFrcG9pbnQ9PTEwMDAge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYyLjVlbSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGJyZWFrcG9pbnQ9PTExMDAge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY4Ljc1ZW0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRicmVha3BvaW50PT0xMjAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYnJlYWtwb2ludD09MTMwMCB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGJyZWFrcG9pbnQ9PTE2MDAge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9tYXggKGRlc2t0b3AgZmlyc3QpXG5AbWl4aW4gbWF4KCRicmVha3BvaW50KSB7XG4gICAgQGlmICRicmVha3BvaW50PT00MDAge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDI1ZW0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRicmVha3BvaW50PT02MDAge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM3LjVlbSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGJyZWFrcG9pbnQ9PW1vYmlsZSB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzcuNWVtKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYnJlYWtwb2ludD09NzAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0My43NWVtKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYnJlYWtwb2ludD09ODAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MGVtKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYnJlYWtwb2ludD09OTAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1Ni4yNWVtKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgQGlmICRicmVha3BvaW50PT05MDBsYW5kIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1Ni4yNWVtKSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGJyZWFrcG9pbnQ9PTEwMDAge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYyLjVlbSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgQGlmICRicmVha3BvaW50PT10YWJsZXQge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYyLjVlbSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGJyZWFrcG9pbnQ9PTExMDAge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY4Ljc1ZW0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRicmVha3BvaW50PT0xMjAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NWVtKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYnJlYWtwb2ludD09dGFibGFuZCB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzVlbSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGJyZWFrcG9pbnQ9PTEzMDAge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRicmVha3BvaW50PT0xNDAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4Ny41ZW0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRicmVha3BvaW50PT0xNjAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDBlbSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGJyZWFrcG9pbnQ9PTE4MDAge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMi41ZW0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vL2JldHdlZW4gKHNwZWNpYWwgb2NjYXNpb25zKVxuQG1peGluIGJldHdlZW4oJGJwbWluLCAkYnBtYXgpIHtcbiAgICBAaWYgJGJwbWluPT02MDAgYW5kICRicG1heD09ODAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIGFuZCAobWF4LXdpZHRoOiA1MGVtKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkYnBtaW49PTYwMCBhbmQgJGJwbWF4PT05MDAge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM3LjVlbSkgYW5kIChtYXgtd2lkdGg6IDU2LjI1ZW0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRicG1pbj09NjAwIGFuZCAkYnBtYXg9PTEwMDAge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM3LjVlbSkgYW5kIChtYXgtd2lkdGg6IDYyLjVlbSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGJwbWluPT04MDAgYW5kICRicG1heD09MTAwMCB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTBlbSkgYW5kIChtYXgtd2lkdGg6IDYyLjVlbSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vd2lkdGggJiBoZWlnaHQgcXVlcmllc1xuQG1peGluIG1pbldtYXhIKCR3bWluLCAkaG1heCkge1xuICAgIEBpZiAkd21pbj09MTAwMCBhbmQgJGhtYXggPT0gODAwIHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2Mi41ZW0pIGFuZCAobWF4LWhlaWdodDogNTBlbSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBsYW5kc2NhcGUoJGhtYXgpIHtcbiAgICBAaWYgJGhtYXg9PTYwMCB7XG4gICAgICAgIEBtZWRpYSAobWF4LWhlaWdodDogMzcuNWVtKSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpICB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5AbWl4aW4gZm9yLXNtYWxsLW1vYmlsZSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDM1MXB4KSB7IEBjb250ZW50OyB9XG59XG5cbkBtaXhpbiBmb3ItbW9iaWxlIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHsgQGNvbnRlbnQ7IH1cbn1cblxuQG1peGluIGZvci1tb2JpbGUtbGFuZHNjYXBlIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gZm9yLXNtYWxsLWRlc2t0b3Age1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMzAwcHgpIHsgQGNvbnRlbnQ7IH1cbn1cblxuQG1peGluIGZvci10YWJsZXQtcG9ydHJhaXQge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTgwcHgpIHsgQGNvbnRlbnQ7IH1cbn1cblxuQG1peGluIGZvci10YWJsZXQtbGFuZHNjYXBlIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7IEBjb250ZW50OyB9XG59XG5cbkBtaXhpbiBmb3ItZGVza3RvcCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDE4MDBweCkgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gZm9yLWJpZy1kZXNrdG9wIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTgwMXB4KSB7IEBjb250ZW50OyB9XG59XG4iLCIvL1JPT1QgVkFSSUFCTEVTXG46cm9vdCB7XG4gICAgLS12aDEwMDogY2FsYygxMDB2aCk7XG4gICAgLS12aDEwMC1vbmNlOiBjYWxjKDEwMHZoKTtcbiAgICAtLXNjcm9sbGJhci13aWR0aDogMDtcbiAgICAtLXNpdGUtcGFkZGluZzogMy4ycmVtO1xuXG4gICAgQGluY2x1ZGUgZm9yLXRhYmxldC1wb3J0cmFpdCB7XG4gICAgICAgIC0tc2l0ZS1wYWRkaW5nOiAycmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xuICAgICAgICAtLXNpdGUtcGFkZGluZzogMXJlbTtcbiAgICB9XG59XG5cblxuLy9DT0xPUlNcbiRibGFjazogIzI2MjYyNjtcbiR3aGl0ZTogI0ZGRjtcbiRvcmFuZ2U6ICNCMDVDMzA7XG4kZ3JlZW46ICM4QjlDN0I7XG5cblxuJGdvdGhhbV9ib29rOiAnR290aGFtIEdyZWVrIEJvb2snO1xuJGdvdGhhbTogJ0dvdGhhbSBHcmVlayc7XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xufVxuXG4vKiBTZWN0aW9uc1xuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5cbm1haW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgICBmb250LXNpemU6IDFlbTtcbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3Ncblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICAgIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuaW1nIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiAxMDAlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT0nYnV0dG9uJ10sXG5bdHlwZT0ncmVzZXQnXSxcblt0eXBlPSdzdWJtaXQnXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT0nYnV0dG9uJ106Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT0ncmVzZXQnXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPSdzdWJtaXQnXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPSdidXR0b24nXTotbW96LWZvY3VzcmluZyxcblt0eXBlPSdyZXNldCddOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9J3N1Ym1pdCddOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqXHRcdGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPSdzZWFyY2gnXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPSdzZWFyY2gnXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gICAgZm9udDogaW5oZXJpdDtcbn1cblxuLyogSW50ZXJhY3RpdmVcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vQ1VTVE9NIE5PUk1BTElaRVxuKixcbio6OmFmdGVyLFxuKjo6YmVmb3JlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5odG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5hLFxuYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG5cbnVsIGxpIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbjogMDtcbn1cblxuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG4iLCIvLyAvLyBUWVBPR1JBUEhZXG4vLyBAZm9udC1mYWNlIHtcbi8vICAgICBmb250LWZhbWlseTogJ01hYnJ5IFBybyc7XG4vLyAgICAgc3JjOiB1cmwoLi4vZm9udHMvTWFicnlQcm8tUmVndWxhci53b2ZmMikgZm9ybWF0KCd3b2ZmMicpLFxuLy8gICAgICAgICB1cmwoLi4vZm9udHMvTWFicnlQcm8tUmVndWxhci53b2ZmKSBmb3JtYXQoJ3dvZmYnKTtcbi8vICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuLy8gICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbi8vICAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4vLyB9XG5cblxuLy8gQGZvbnQtZmFjZSB7XG4vLyAgICAgZm9udC1mYW1pbHk6ICdNYWJyeSBQcm8nO1xuLy8gICAgIHNyYzogdXJsKC4uL2ZvbnRzL01hYnJ5UHJvLUJvbGQud29mZjIpIGZvcm1hdCgnd29mZjInKSxcbi8vICAgICAgICAgdXJsKC4uL2ZvbnRzL01hYnJ5UHJvLUJvbGQud29mZikgZm9ybWF0KCd3b2ZmJyk7XG4vLyAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuLy8gICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4vLyAgICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuLy8gfVxuXG4vLyBAZm9udC1mYWNlIHtcbi8vICAgICBmb250LWZhbWlseTogJ0NGIEdhcmFtb25kJztcbi8vICAgICAvLyBzcmM6IHVybCguLi9mb250cy9DRkdhcmFtb25kLVJlZ3VsYXIud29mZjIpIGZvcm1hdCgnd29mZjInKSxcbi8vICAgICAvLyAgICAgdXJsKC4uL2ZvbnRzL0NGR2FyYW1vbmQtUmVndWxhci53b2ZmKSBmb3JtYXQoJ3dvZmYnKTtcbi8vICAgICBzcmM6IHVybCguLi9mb250cy9DRi1HYXJhbW9uZC1SZy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpLFxuLy8gICAgICAgICB1cmwoLi4vZm9udHMvQ0YtR2FyYW1vbmQtUmcud29mZikgZm9ybWF0KCd3b2ZmJyk7XG4vLyAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuLy8gICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4vLyAgICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuLy8gfVxuXG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnR290aGFtIEdyZWVrJztcbiAgICBzcmM6IHVybCgnLi8uLi9mb250cy9zdWJzZXQtR290aGFtR3JlZWstQmxhY2sud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi8uLi9mb250cy9zdWJzZXQtR290aGFtR3JlZWstQmxhY2sud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdHb3RoYW0gR3JlZWsnO1xuICAgIHNyYzogdXJsKCcuLy4uL2ZvbnRzL3N1YnNldC1Hb3RoYW1HcmVlay1Cb2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJy4vLi4vZm9udHMvc3Vic2V0LUdvdGhhbUdyZWVrLUJvbGQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnR290aGFtIEdyZWVrIEJvb2snO1xuICAgIHNyYzogdXJsKCcuLy4uL2ZvbnRzL3N1YnNldC1Hb3RoYW1HcmVlay1Cb29rLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJy4vLi4vZm9udHMvc3Vic2V0LUdvdGhhbUdyZWVrLUJvb2sud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdHb3RoYW0gR3JlZWsnO1xuICAgIHNyYzogdXJsKCcuLy4uL2ZvbnRzL3N1YnNldC1Hb3RoYW1HcmVlay1NZWRpdW0ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi8uLi9mb250cy9zdWJzZXQtR290aGFtR3JlZWstTWVkaXVtLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG59IiwiaHRtbCB7XHJcbiAgICBmb250LWZhbWlseTogJGdvdGhhbTtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuXHJcbiAgICBib2R5IHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjRzIGVhc2UtaW4tb3V0O1xyXG5cclxuICAgICAgICAmLnJlYWR5IHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIiLCIvL1VUSUxJVElFU1xuLy90ZXh0IG9wdGlvbnNcbi5pdGFsaWMge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLnVwcGVyIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4ubG93ZXIge1xuICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG59XG5cbi5jYXAge1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xufVxuXG4udW5kZXJsaW5lIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG59XG5cbi50ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuXG4vL2xheW91dCBvcHRpb25zXG4ubTAtYXV0byB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8vIC5oYWxmLXBhZ2Uge1xuLy8gICAgIEBpbmNsdWRlIG1pbigxMDAwKSB7XG4vLyAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSk7XG4vLyAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vICAgICAgICAgdG9wOiAxLjRyZW07XG4vLyAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgLy8gcmlnaHQ6ICRtYWluLXBhZGRpbmctTFItbTtcbi8vICAgICB9XG4vLyB9XG5cbi5mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uZmxleC1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmZsZXgtYmV0d2VlbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5mbGV4LWJldHdlZW4tY2VudGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZmxleC1jZW50ZXItY2VudGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5mbGV4LWNvbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uZmxleC1jb2wtY2VudGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmZsZXgtY29sLWJldHdlZW4tY2VudGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5mbGV4LWJyZWFrIHtcbiAgICBmbGV4OiAxIDAgMTAwJTtcbiAgICBoZWlnaHQ6IDA7XG59XG5cbi5ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xufVxuXG4uZ3JpZC0xMiB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMiwgMWZyKTtcbiAgICBncmlkLWNvbHVtbi1nYXA6IHZhcigtLWNvbC1nYXApO1xufVxuXG4vL292ZXJsYXlzXG4ub3ZlcmxheS1mYWRlaW4ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDAgO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLy8gdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiAwO1xufVxuXG4ub3ZlcmxheS1sZWZ0IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwOyAvLyRoZWFkZXItaGVpZ2h0LXNtO1xuICAgIGxlZnQ6IDA7XG4gICAgLy8gcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogNTtcblxuICAgICYudHJhbnNmb3JtLXgwIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuXG4ub3ZlcmxheS1yaWdodCB7XG5cbiAgICBAaW5jbHVkZSBtYXgoMTAwMCkge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDsgLy8kaGVhZGVyLWhlaWdodC1zbTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgfVxufVxuXG4ub3ZlcmxheS1mYWRlaW4uc2hvdyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB6LWluZGV4OiAxMDtcbn1cblxuLnRyYW5zZm9ybS14MCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG4udHJhbnNmb3JtZWQteSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1MHB4KTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjdzIGVhc2UtaW4tb3V0LCBvcGFjaXR5IC43cyBlYXNlLWluO1xuICAgIFxuICAgICYudW5yZXZlYWxlZCB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuN3MgZWFzZS1pbi1vdXQsIG9wYWNpdHkgLjdzIGVhc2UtaW47XG4gICAgfVxuICAgICYudHJhbnNmb3JtLTAge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4uc2VxdWVudGlhbCA+IGRpdiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1MHB4KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuN3MgZWFzZS1pbi1vdXQsIG9wYWNpdHkgLjdzIGVhc2UtaW47XG5cbiAgICAmLnNob3cudHJhbnNmb3JtLTAge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4uZXZlbnRzIHtcbiAgICAmLW5vbmUge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAmLWF1dG8ge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9XG59XG5cbi5vdmVyZmxvd1ktaGlkZGVuIHtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG59XG5cbi5ldmVudHMtbm9uZS5vdmVyZmxvd1ktaGlkZGVuIHtcbiAgICAvLyBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGluY2x1ZGUgbWF4KDEwMDApIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxufVxuXG4vL3Njcm9sbHNcbi5zY3JvbGwge1xuICAgICYtY29udCB7XG4gICAgICAgIG92ZXJmbG93OiB1bnNldDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWluKDYwMCkge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGhlaWdodDogdmFyKC0tdmgxMDApO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWluKDEwMDApIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtaW5uZXIge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zY3JvbGxiYXItd2lkdGgpO1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAgIGhlaWdodDogdmFyKC0tdmgxMDApO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgdmFyKC0tc2Nyb2xsYmFyLXdpZHRoKSk7XG4gICAgfVxufVxuXG4uc2Nyb2xsYmFyLW1lYXN1cmUge1xuXHR3aWR0aDogMTAwcHg7XG5cdGhlaWdodDogMTAwcHg7XG5cdG92ZXJmbG93OiBzY3JvbGw7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAtOTk5OXB4O1xufVxuXG4uc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIC8vIHRvcDogJGhlYWRlci1oZWlnaHQtbDtcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG5cbiAgICAvLyBAaW5jbHVkZSBtYXgoNjAwKSB7XG4gICAgLy8gICAgIHBvc2l0aW9uOiB1bnNldDtcbiAgICAvLyB9XG59XG5cblxuLy92aXNpYmlsaXR5XG4uaGlkZGVuLXRpdGxlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLm5vZGlzcGxheSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmhpZGRlbiB7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuLnNob3cge1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi51bnJldmVhbGVkIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIGVhc2UtaW47XG5cbiAgICAmLnNob3cge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuLy9tZWRpYSBxdWVyaWVkIHN0eWxlc1xuLm1vYmlsZS1oaWRkZW4ge1xuICAgIEBpbmNsdWRlIG1heCg2MDApIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi50YWJsZXQtaGlkZGVuIHtcbiAgICBAaW5jbHVkZSBtYXgoMTAwMCkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4udGFibGV0LWxhbmQtaGlkZGVuIHtcbiAgICBAaW5jbHVkZSBtYXgoMTIwMCkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4ubW9iaWxlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBtYXgoNjAwKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLnRhYmxldC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgbWF4KDEwMDApIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuLnRhYmxldC1sYW5kLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBtYXgoMTIwMCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59IiwiXHJcbi52aWRlby1jbnQge1xyXG4gICAgaGVpZ2h0OiB2YXIoLS12aDEwMCk7XHJcblxyXG4gICAgXHJcbiAgICBAaW5jbHVkZSBmb3ItdGFibGV0LXBvcnRyYWl0IHtcclxuICAgICAgICBoZWlnaHQ6IHZhcigtLXZoMTAwLW9uY2UpO1xyXG4gICAgfVxyXG5cclxuICAgIC52aWRlbyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgfVxyXG59XHJcblxyXG4uY29udGVudC1zZWN0aW9uIHtcclxuICAgIHBhZGRpbmc6IDEwcmVtIHZhcigtLXNpdGUtcGFkZGluZykgMTByZW07XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBoZWlnaHQ6IHZhcigtLXZoMTAwKTtcclxuICAgIG1pbi1oZWlnaHQ6IDcwMHB4O1xyXG4gICAgbWF4LWhlaWdodDogMTA4MHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZmxvdzogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgIHBhZGRpbmc6IDZyZW0gdmFyKC0tc2l0ZS1wYWRkaW5nKSA1LjhyZW07XHJcbiAgICB9XHJcblxyXG4gICAgLmxvZ28ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDdyZW07XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudGV4dC1pbmZvIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwNjBweDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBmb250LXNpemU6IDI1cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRnb3RoYW1fYm9vaztcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zaXRlLWZvb3RlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiBibGFjaztcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIHBhZGRpbmc6IDZyZW0gdmFyKC0tc2l0ZS1wYWRkaW5nKSA0cmVtO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgaGVpZ2h0OiB2YXIoLS12aDEwMCk7XHJcbiAgICBtaW4taGVpZ2h0OiA3MDBweDtcclxuICAgIG1heC1oZWlnaHQ6IDEwODBweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgIHBhZGRpbmc6IDRyZW0gdmFyKC0tc2l0ZS1wYWRkaW5nKSAycmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC50b3AtaW5mbyB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTFyZW07XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGZvci1tb2JpbGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm5hbWUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGdvdGhhbV9ib29rO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucGhvbmUtbWFpbCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xyXG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtX2Jvb2s7XHJcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBmb3ItbW9iaWxlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zZXBlcmF0b3Ige1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xyXG5cclxuICAgICAgICAubGluZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICAgICAgICAgICAgd2lkdGg6IDYycHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogNHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1MnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zb2NpYWwtY250IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGdvdGhhbV9ib29rO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgZm9yLW1vYmlsZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmRvdCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogOHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAxcmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUNDQTs7Ozs7O0VBTUU7QUNORixBQUFBLEtBQUssQ0FBQztFQUNGLE9BQU8sQ0FBQSxZQUFDO0VBQ1IsWUFBWSxDQUFBLFlBQUM7RUFDYixpQkFBaUIsQ0FBQSxFQUFDO0VBQ2xCLGNBQWMsQ0FBQSxPQUFDLEdBU2xCO0VEK01HLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtJQzVON0IsQUFBQSxLQUFLLENBQUM7TUFPRSxjQUFjLENBQUEsS0FBQyxHQU10QjtFRG1NRyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SUNoTjVCLEFBQUEsS0FBSyxDQUFDO01BV0UsY0FBYyxDQUFBLEtBQUMsR0FFdEI7O0FDZEQsNEVBQTRFO0FBRTVFOytFQUMrRTtBQUUvRTs7O0dBR0c7QUFFSCxBQUFBLElBQUksQ0FBQztFQUNELFdBQVcsRUFBRSxHQUFHO0VBQ2hCLHdCQUF3QixFQUFFLElBQUksR0FDakM7O0FBRUQ7K0VBQytFO0FBRS9FOztHQUVHO0FBRUgsQUFBQSxJQUFJLENBQUM7RUFDRCxNQUFNLEVBQUUsQ0FBQyxHQUNaOztBQUVEOztHQUVHO0FBRUgsQUFBQSxJQUFJLENBQUM7RUFDRCxPQUFPLEVBQUUsS0FBSyxHQUNqQjs7QUFFRDs7O0dBR0c7QUFFSCxBQUFBLEVBQUUsQ0FBQztFQUNDLFNBQVMsRUFBRSxHQUFHO0VBQ2QsTUFBTSxFQUFFLFFBQVEsR0FDbkI7O0FBRUQ7K0VBQytFO0FBRS9FOzs7R0FHRztBQUVILEFBQUEsRUFBRSxDQUFDO0VBQ0MsVUFBVSxFQUFFLFdBQVc7RUFDdkIsTUFBTSxFQUFFLEdBQUc7RUFDWCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osUUFBUSxFQUFFLE9BQU8sR0FDcEI7O0FBRUQ7OztHQUdH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 */
