html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p,
blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em,
img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i,
center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table,
caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details,
embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}

:root {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
}

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

html {
  height: 100%;
  font-size: 62.5%;
  block-size: 100%;
  inline-size: 100%;
}

body {
  min-block-size: 100%;
  min-inline-size: 100%;
}

html, body {
  min-height: 100%;
}

p:empty, pre:empty, blockquote:empty, ol:empty, ul:empty, li:empty, legend:empty, figcaption:empty, body:empty, article:empty, nav:empty, aside:empty, section:empty, header:empty, footer:empty, address:empty {
  display: none;
}

article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary {
  display: block;
}

svg, symbol {
  overflow: visible;
}

details {
  display: block;
}

summary {
  display: list-item;
  -webkit-appearance: none;
}
summary::-webkit-details-marker, summary::marker {
  display: none;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

body {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  width: 100%;
}

address {
  font-style: normal;
}

h1, h2, h3, h4, h5, h6 {
  -webkit-margin-before: 0em;
  -webkit-margin-after: 0em;
  -webkit-margin-start: 0px;
  -webkit-margin-end: 0px;
  font-weight: normal;
}

hr {
  border: none;
  height: 1px;
  box-sizing: content-box;
  overflow: visible;
}

blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
  background-color: white;
  color: black;
  padding: 16px;
  position: relative;
  z-index: 9999;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

button {
  touch-action: manipulation;
}

button, input, optgroup, select, textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button, input {
  overflow: visible;
}

button, select {
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
}
button:focus,
[type=button]:focus,
[type=reset]:focus,
[type=submit]:focus {
  outline: 0;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

[disabled] {
  cursor: default;
}

img {
  border-style: none;
}

em {
  font-style: italic;
}

a {
  background-color: transparent;
  text-decoration: none;
  touch-action: manipulation;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b, strong {
  font-weight: bold;
}

code, kbd, samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

textarea {
  resize: none;
  overflow: auto;
}

pre {
  background-color: white;
  color: black;
  text-transform: none;
  text-decoration: none;
  text-align: left;
  display: block;
  font-size: 16px;
  padding: 16px;
  position: relative;
  z-index: 999;
}

body.devmode img:not([alt]) {
  border: 2px red dashed;
}

/* z-indexes are large due to the fact that things might change
 * in the future. In order to account for scalability, this gives
 * room to make changes and not break the entire site, meaning 
 * we won't have to go in and refactor a lot of our code.
 */
/*  ----------------------------------------------------
    INPUTS
  ----------------------------------------------------- */
/*  ----------------------------------------------------
    CONTAINERS
  ----------------------------------------------------- */
/* -------------------
	Base result styles
-------------------- */
/* -------------------
	Variations
-------------------- */
/* -----------------------------------------------------
  Base styling
----------------------------------------------------- */
/* -----------------------------------------------------
  With secondary section
----------------------------------------------------- */
/* -----------------------------------------------------
  Checkbox tags
----------------------------------------------------- */
/* -----------------------------------------------------
  States
----------------------------------------------------- */
@font-face {
  font-family: "lato";
  src: url("../../../assets/fonts/lato-bold.woff2") format("woff2"), url("../../../assets/fonts/lato-bold.woff") format("woff"), url("../../../assets/fonts/lato-bold.otf") format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 700;
}
@font-face {
  font-family: "lato";
  src: url("../../../assets/fonts/lato-semibold.woff2") format("woff2"), url("../../../assets/fonts/lato-semibold.woff") format("woff"), url("../../../assets/fonts/lato-semibold.otf") format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 600;
}
@font-face {
  font-family: "lato";
  src: url("../../../assets/fonts/lato-regular.woff2") format("woff2"), url("../../../assets/fonts/lato-regular.woff") format("woff"), url("../../../assets/fonts/lato-regular.otf") format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}
@font-face {
  font-family: "montserrat";
  src: url("../../../assets/fonts/montserrat-medium.woff2") format("woff2"), url("../../../assets/fonts/montserrat-medium.woff") format("woff"), url("../../../assets/fonts/montserrat-medium.otf") format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 500;
}
@font-face {
  font-family: "montserrat";
  src: url("../../../assets/fonts/montserrat-medium-italic.woff2") format("woff2"), url("../../../assets/fonts/montserrat-medium-italic.woff") format("woff"), url("../../../assets/fonts/montserrat-medium-italic.otf") format("opentype");
  font-display: swap;
  font-style: italic;
  font-weight: 500;
}
@font-face {
  font-family: "montserrat";
  src: url("../../../assets/fonts/montserrat-semibold.woff2") format("woff2"), url("../../../assets/fonts/montserrat-semibold.woff") format("woff"), url("../../../assets/fonts/montserrat-semibold.otf") format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 600;
}
@font-face {
  font-family: "montserrat";
  src: url("../../../assets/fonts/montserrat-regular.woff2") format("woff2"), url("../../../assets/fonts/montserrat-regular.woff") format("woff"), url("../../../assets/fonts/montserrat-regular.otf") format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}
@font-face {
  font-family: "montserrat";
  src: url("../../../assets/fonts/montserrat-extrabold.woff2") format("woff2"), url("../../../assets/fonts/montserrat-extrabold.woff") format("woff"), url("../../../assets/fonts/montserrat-extrabold.otf") format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 800;
}
:root {
  --primary: #FFFFFF;
  --secondary: #131f6b;
  --breakpoint-min: 320px;
  --breakpoint-small: 480px;
  --breakpoint-small-medium: 980px;
  --breakpoint-medium: 1120px;
  --breakpoint-large: 1400px;
  --breakpoint-max: 1680px;
  --font-colour: var(--theme-font, #6A6A6A);
  --heading-colour: var(--theme-heading, #FFFFFF);
  --sub-heading-colour: var(--secondary, #131f6b);
  --transition-duration: 0.2s;
  --transition-ease: cubic-bezier(0.42, 0, 0.58, 1);
  --transition-delay: ;
  --gap: 16px;
  --gutter: 3vw;
  --spacer: 4vh;
  --gutter0: clamp(8px, var(--gutter) * 0.5, 12px);
  --gutter0-: calc(-1 * clamp(8px, var(--gutter) * 0.5, 12px));
  --spacer0: clamp(16px, var(--spacer), 32px);
  --spacer0-: calc(-1 * clamp(16px, var(--spacer), 32px));
  --gutter1: clamp(16px, var(--gutter), 32px);
  --gutter1-: calc(-1 * clamp(16px, var(--gutter), 32px));
  --spacer1: clamp(16px, var(--spacer) * 3, 64px);
  --spacer1-: calc(-1 * clamp(16px, var(--spacer) * 3, 64px));
  --gutter2: clamp(16px, var(--gutter) * 2, 48px);
  --gutter2-: calc(-1 * clamp(16px, var(--gutter) * 2, 48px));
  --spacer2: clamp(16px, var(--spacer) * 6, 112px);
  --spacer2-: calc(-1 * clamp(16px, var(--spacer) * 6, 112px));
  --gutter3: clamp(16px, var(--gutter) * 3, 64px);
  --gutter3-: calc(-1 * clamp(16px, var(--gutter) * 3, 64px));
  --spacer3: clamp(16px, var(--spacer) * 9, 160px);
  --spacer3-: calc(-1 * clamp(16px, var(--spacer) * 9, 160px));
  --gutter4: clamp(16px, var(--gutter) * 4, 80px);
  --gutter4-: calc(-1 * clamp(16px, var(--gutter) * 4, 80px));
  --spacer4: clamp(16px, var(--spacer) * 12, 208px);
  --spacer4-: calc(-1 * clamp(16px, var(--spacer) * 12, 208px));
  --gutter5: clamp(16px, var(--gutter) * 5, 96px);
  --gutter5-: calc(-1 * clamp(16px, var(--gutter) * 5, 96px));
  --spacer5: clamp(16px, var(--spacer) * 15, 256px);
  --spacer5-: calc(-1 * clamp(16px, var(--spacer) * 15, 256px));
  --gutter6: clamp(16px, var(--gutter) * 6, 112px);
  --gutter6-: calc(-1 * clamp(16px, var(--gutter) * 6, 112px));
  --spacer6: clamp(16px, var(--spacer) * 18, 304px);
  --spacer6-: calc(-1 * clamp(16px, var(--spacer) * 18, 304px));
}
:root body[data-theme=default] {
  --theme-page-background: linear-gradient(to bottom right, #131f6b 5%, #1E1A1A 66%);
  --theme-content-background: rgba(255, 255, 255, 0);
  --theme-content-opposite: #FFFFFF;
  --theme-nav-background: rgba(255, 255, 255, 0);
  --theme-nav-background-mob: #FFFFFF;
  --theme-nav-font: #FFFFFF;
  --theme-nav-font-mob: #131f6b;
  --theme-nav-spacing-colour: rgba(19, 31, 107, 0.3);
  --theme-accent: #DF3035;
  --theme-logo: #FFFFFF;
  --font-colour: #FFFFFF;
  --heading-colour: #FFFFFF;
}
:root body[data-theme=white] {
  --theme-page-background: radial-gradient(circle at bottom, #10124d 55%, #172582 100%);
  --theme-content-background: #f8f8f8;
  --theme-content-opposite: #FFFFFF;
  --theme-nav-background: rgba(255, 255, 255, 0);
  --theme-nav-background-mob: #131f6b;
  --theme-nav-font: #FFFFFF;
  --theme-nav-font-mob: #FFFFFF;
  --theme-nav-spacing-colour: rgba(255, 255, 255, 0.3);
  --theme-accent: #DF3035;
  --theme-logo: #FFFFFF;
  --font-colour: #1E1A1A;
  --heading-colour: #131f6b;
}
:root body[data-theme=black] {
  --theme-page-background: linear-gradient(to bottom right, #131f6b 5%, #1E1A1A 66%);
  --theme-content-background: #1E1A1A;
  --theme-content-opposite: #FFFFFF;
  --theme-nav-background: #FFFFFF;
  --theme-nav-background-mob: #FFFFFF;
  --theme-nav-font: #131f6b;
  --theme-nav-font-mob: #131f6b;
  --theme-nav-spacing-colour: rgba(19, 31, 107, 0.3);
  --theme-font: #FFFFFF;
  --theme-accent: #DF3035;
  --theme-logo: #131f6b;
  --font-colour: #FFFFFF;
  --heading-colour: #FFFFFF;
}
@supports not (width: clamp(1px, 5vw, 10px)) {
  :root {
    --gutter0: calc((var(--gutter) * 0.5) + 8px);
    --gutter0-: calc(-1 * calc((var(--gutter) * 0.5) + 8px));
    --spacer0: calc((var(--spacer) * 2) + 16px);
    --spacer0-: calc(-1 * calc((var(--spacer) * 2) + 16px));
    --gutter1: calc((var(--gutter) * 1) + 16px);
    --gutter1-: calc(-1 * calc((var(--gutter) * 1) + 16px));
    --spacer1: calc((var(--spacer) * 4) + 16px);
    --spacer1-: calc(-1 * calc((var(--spacer) * 4) + 16px));
    --gutter2: calc((var(--gutter) * 2) + 16px);
    --gutter2-: calc(-1 * calc((var(--gutter) * 2) + 16px));
    --spacer2: calc((var(--spacer) * 8) + 16px);
    --spacer2-: calc(-1 * calc((var(--spacer) * 8) + 16px));
    --gutter3: calc((var(--gutter) * 3) + 16px);
    --gutter3-: calc(-1 * calc((var(--gutter) * 3) + 16px));
    --spacer3: calc((var(--spacer) * 12) + 16px);
    --spacer3-: calc(-1 * calc((var(--spacer) * 12) + 16px));
    --gutter4: calc((var(--gutter) * 4) + 16px);
    --gutter4-: calc(-1 * calc((var(--gutter) * 4) + 16px));
    --spacer4: calc((var(--spacer) * 16) + 16px);
    --spacer4-: calc(-1 * calc((var(--spacer) * 16) + 16px));
    --gutter5: calc((var(--gutter) * 5) + 16px);
    --gutter5-: calc(-1 * calc((var(--gutter) * 5) + 16px));
    --spacer5: calc((var(--spacer) * 20) + 16px);
    --spacer5-: calc(-1 * calc((var(--spacer) * 20) + 16px));
    --gutter6: calc((var(--gutter) * 6) + 16px);
    --gutter6-: calc(-1 * calc((var(--gutter) * 6) + 16px));
    --spacer6: calc((var(--spacer) * 24) + 16px);
    --spacer6-: calc(-1 * calc((var(--spacer) * 24) + 16px));
  }
}

body {
  font-family: montserrat, sans-serif;
  font-weight: 500;
  font-style: normal;
  font-display: swap;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: var(--font-colour, #6A6A6A);
  line-height: 1.6;
  font-size: 1.5rem;
}
@supports (width: clamp(1px, 5vw, 10px)) {
  body {
    font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  }
}
@supports not (width: clamp(1px, 5vw, 10px)) {
  @media (max-width: 950px) {
    body {
      font-size: 1.4rem;
    }
  }
  @media (min-width: 1601px) {
    body {
      font-size: 1.6rem;
    }
  }
}

h1 {
  font-size: 3.125em;
  font-size: clamp(2.5em, 5vw, 3.125em);
  line-height: 1.2;
}

h2 {
  font-size: 1.25em;
  line-height: 1.3;
}

h3 {
  font-size: 0.9375em;
  line-height: 1.6;
}

h4 {
  font-size: 0.8125em;
  line-height: 1.6;
}

h5 {
  font-size: 0.8125em;
  line-height: 1.6;
}

h6 {
  font-size: 0.8125em;
  line-height: 1.6;
}

h1, h2, h3, h4, h5, h6 {
  font-family: montserrat, sans-serif;
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: var(--heading-colour, var(--font-colour));
}
h1.sub-heading, h2.sub-heading, h3.sub-heading, h4.sub-heading, h5.sub-heading, h6.sub-heading {
  color: var(--sub-heading-colour);
  font-family: lato, sans-serif;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
h1 span, h1 strong, h1 p, h2 span, h2 strong, h2 p, h3 span, h3 strong, h3 p, h4 span, h4 strong, h4 p, h5 span, h5 strong, h5 p, h6 span, h6 strong, h6 p {
  color: inherit;
  font-family: inherit;
  font-weight: inherit;
}

a {
  cursor: pointer;
  transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), -webkit-text-decoration-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  transition: text-decoration-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  transition: text-decoration-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), -webkit-text-decoration-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  text-decoration: underline;
  text-underline-position: under;
  -webkit-text-decoration-color: rgba(255, 255, 255, 0);
          text-decoration-color: rgba(255, 255, 255, 0);
}
a.external {
  display: inline-flex;
  align-items: center;
}
a.external svg.external-link {
  opacity: 0.6;
  width: 0.8em;
  height: 0.8em;
  margin-left: 0.5em;
}
a:hover {
  -webkit-text-decoration-color: var(--font-colour);
          text-decoration-color: var(--font-colour);
}

@media (hover: hover) {
  h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h6 a:hover, h6 a:hover {
    -webkit-text-decoration-color: var(--heading-colour);
            text-decoration-color: var(--heading-colour);
  }
}

p, a {
  color: var(--font-colour);
}

ol, ul {
  list-style: none;
  list-style-position: inside;
}

li a {
  text-underline-offset: 2px;
}

small {
  font-size: 0.625em;
  line-height: 1.8;
}

hr {
  width: 100%;
  background-color: var(--hr-colour, #B1B1B1);
  margin-top: calc(var(--gap) * 2);
  margin-bottom: calc(var(--gap) * 2);
}

html {
  background-color: black;
}

body {
  --navigation-bar-width: clamp(250px, 25vw, 300px);
  --navigation-bar-height: 100vh;
  --sidebar-width: 30vw;
  --sidebar-max-width: var(--sidebar-width);
  --logo-height: 200px;
  --gap-x: clamp(2rem, 5vw, 8rem);
  --gap-y: 50px;
  --row-content: 1 / -1;
  --row-header: calc(1 + var(--content-offset, 0));
  --row-main: calc(2 + var(--content-offset, 0));
  --column-navigation: 1;
  --column-content: 2;
  --column-header: 2;
  --column-main: 2;
  --column-sidebar: 3;
  --rows: var(--logo-height) auto 1fr;
  --columns: var(--navigation-bar-width) minmax(0, 1fr) auto;
  display: grid;
  grid-gap: var(--gap-y) var(--gap-x);
  grid-template-rows: var(--rows);
  grid-template-columns: var(--columns);
}
body[data-sidebar=top] {
  --row-sidebar: 1 / -1;
}
body[data-sidebar=header] {
  --row-sidebar: var(--row-header) / -2;
}
body[data-sidebar=content] {
  --row-sidebar: var(--row-main) / -2;
}
body navigation-bar {
  grid-row: var(--row-navigation);
  grid-column: var(--column-navigation);
}
body main {
  container-type: inline-size;
  container-name: main;
}
body .content-wrapper {
  grid-row: var(--row-content);
  grid-column: var(--column-content);
  z-index: 1000;
}
body side-bar {
  grid-row: var(--row-sidebar);
  grid-column: var(--column-sidebar);
}
body.heatsinks-home, body.components-home {
  --row-content: 2;
}
@media (max-width: 1400px) {
  body[data-sidebar=top], body[data-sidebar=header], body[data-sidebar=content] {
    --column-sidebar: 2;
    --row-content: 1 / -2;
  }
  body[data-sidebar=top] side-bar, body[data-sidebar=header] side-bar, body[data-sidebar=content] side-bar {
    --row-sidebar: calc(var(--row-content) + 3);
  }
}
@media (max-width: 980px) {
  body {
    place-content: start;
    --navigation-container-height: 60px;
    --navigation-mobile-search-height: 61px;
    --rows: auto auto 1fr auto;
    --columns: 0 minmax(0, 1fr) 0;
    --row-navigation: 1;
    --column-navigation: 1 / -1;
  }
  body:not(.heatsinks-home, .components-home) {
    --row-content: 2 / span 3 !important;
  }
  body > * {
    width: 100%;
  }
  body main {
    margin-top: -2rem;
  }
}
body.mobile-open, body.modal-open {
  overflow: hidden;
}

.content {
  line-height: 1.7;
}
.content ul > li::before {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle fill='%23DA4B0F' cx='8' cy='8' r='8'/%3E%3Cpath fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10' d='M3.5 8.4l2.7 2.7 6.3-6.3'/%3E%3C/svg%3E");
}
.content ul > li {
  position: relative;
  padding-left: calc(var(--list-style-size, 1em) * 1.8);
}
.content ul > li + li {
  margin-top: var(--line-style-spacing, calc(var(--gap) * 0.5));
}
.content ul > li::before {
  display: inline-block;
  top: 0.1em;
  left: 0;
  position: absolute;
  width: var(--list-style-size, 1em);
  height: var(--list-style-size, 1em);
}
.content ol {
  counter-reset: counter;
}
.content ol > li {
  position: relative;
  display: block;
  padding-left: 22px;
  margin-left: var(--list-style-offset, 0);
}
.content ol > li + li {
  margin-top: calc(var(--gap) * 0.5);
}
.content ol > li::before {
  content: counter(counter) ".";
  counter-increment: counter;
  color: var(--list-style-colour, var(--font-colour));
  position: relative;
  margin-right: 0.5em;
}
.content h3 {
  font-size: 1.25em;
  line-height: 1.3;
}
.content > * {
  margin-bottom: 3rem;
}
.content > *:last-child {
  margin-bottom: 0;
}
.content > ul, .content > ol {
  margin-bottom: 4rem;
}
.content h1, .content h2, .content h3, .content h4, .content h6, .content h6 {
  margin-bottom: 2.25rem;
}
.content h1 + h1, .content h1 + h2, .content h1 + h3, .content h1 + h4, .content h1 + h5, .content h1 + h6, .content h2 + h1, .content h2 + h2, .content h2 + h3, .content h2 + h4, .content h2 + h5, .content h2 + h6, .content h3 + h1, .content h3 + h2, .content h3 + h3, .content h3 + h4, .content h3 + h5, .content h3 + h6, .content h4 + h1, .content h4 + h2, .content h4 + h3, .content h4 + h4, .content h4 + h5, .content h4 + h6, .content h6 + h1, .content h6 + h2, .content h6 + h3, .content h6 + h4, .content h6 + h5, .content h6 + h6, .content h6 + h1, .content h6 + h2, .content h6 + h3, .content h6 + h4, .content h6 + h5, .content h6 + h6 {
  margin-top: 3rem;
}
.content a {
  --font-colour: var(--theme-accent) ;
}

input[type=text], input[type=email], input[type=number], input[type=search], select, textarea {
  --font-colour: #6A6A6A;
  --background-colour: #FFFFFF;
  --padding: calc(var(--gap) / 1.5) var(--gap);
  --border-colour: #e9e9e9;
  --border-radius: 0;
  outline: 0;
  border: 1px solid var(--border-colour);
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: var(--border-radius, 6px);
  /* Opera 10.5, IE 9, Safari 5, Chrome, Firefox 4, iOS 4, Android 2.1+ */
  -webkit-border-radius: 0;
  /* Safari 3-4, iOS 1-3.2, Android 1.6- */
  -moz-border-radius: 0;
  /* Firefox 1-3.6 */
  color: var(--font-colour);
  background-color: var(--background-colour);
  padding: var(--padding);
  transition: box-shadow var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  box-shadow: 0px 0px 0px 0px transparent;
}
input[type=text]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=number]::-moz-placeholder, input[type=search]::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder {
  -moz-transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
input[type=text]::placeholder, input[type=email]::placeholder, input[type=number]::placeholder, input[type=search]::placeholder, select::placeholder, textarea::placeholder {
  transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
input[type=text]:not(select), input[type=email]:not(select), input[type=number]:not(select), input[type=search]:not(select), select:not(select), textarea:not(select) {
  width: 100%;
}

input[type=search]::-webkit-search-decoration, input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-results-button, input[type=search]::-webkit-search-results-decoration {
  display: none;
  -webkit-appearance: none;
}

input[type=text]:focus,
input[type=email]:focus,
input[type=number]:focus,
input[type=search]:focus,
select:focus,
textarea:focus {
  box-shadow: 0px 0px 1px 1px rgba(223, 48, 53, 0.3);
}

input[type=submit], button[type=submit] {
  --background-colour: #DF3035;
  --font-colour: white;
  --icon-size: 0.8em;
  position: relative;
  cursor: pointer;
  display: flex;
  flex-wrap: nowrap;
  grid-gap: calc(var(--gap) * 0.5);
  align-items: center;
  word-break: break-all;
  white-space: nowrap;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
  overflow: hidden;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 1.25rem 3rem 1.25rem 4rem;
  font-size: 16px;
  background: var(--background-colour);
  color: var(--font-colour);
  -webkit-clip-path: polygon(0% 100%, 15px 0%, 100% 0%, 100% 100%);
          clip-path: polygon(0% 100%, 15px 0%, 100% 0%, 100% 100%);
}
input[type=submit] > svg, button[type=submit] > svg {
  width: var(--icon-size);
  height: var(--icon-size);
}
input[type=submit][disabled], button[type=submit][disabled] {
  opacity: 0.4;
  pointer-events: none;
}
input[type=submit]:not([disabled]):hover, button[type=submit]:not([disabled]):hover {
  -webkit-text-decoration-line: none;
          text-decoration-line: none;
  -webkit-text-decoration-color: transparent;
          text-decoration-color: transparent;
}
input[type=submit]:not([disabled]):hover::before, button[type=submit]:not([disabled]):hover::before {
  transform: translateX(calc(100% - 15px));
}
input[type=submit].small, button[type=submit].small {
  padding: 0.9rem 2rem 0.9rem 3rem;
  font-size: 12px;
}
input[type=submit].large, button[type=submit].large {
  padding: 1.4rem 3rem 1.4rem 4.25rem;
  font-size: 18px;
}
input[type=submit]::before, button[type=submit]::before {
  --transition-duration: 0.3s;
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: calc(100% + 15px);
  height: 100%;
  background: var(--background-colour);
  filter: brightness(120%);
  -webkit-clip-path: polygon(0% 100%, 0% 0%, 100% 0%, calc(100% - 15px) 100%);
          clip-path: polygon(0% 100%, 0% 0%, 100% 0%, calc(100% - 15px) 100%);
  z-index: -1;
  transition: transform var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}

select {
  text-transform: uppercase;
  padding-right: calc(var(--gap) * 3);
  color: var(--font-colour);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17.4' height='10.1'%3E%3Cpath d='M16.7.7l-8 8-8-8' fill='none' stroke='%236A6A6A' stroke-width='2' stroke-miterlimit='10'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 1em;
  background-position: calc(100% - var(--gap)) center;
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
}
select option {
  text-transform: uppercase;
  font-weight: 400;
}

.input-container.horizontal {
  grid-auto-flow: column !important;
  align-items: center;
  justify-content: space-between;
}
.input-container:not(.radio, .checkbox) {
  --label-colour: var(--font-colour);
  --label-active-colour: var(--theme-accent);
  display: grid;
  grid-gap: 1rem;
  grid-auto-flow: row;
}
.input-container:not(.radio, .checkbox) label {
  color: var(--label-colour);
  transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
.input-container:not(.radio, .checkbox) input[maxlength], .input-container:not(.radio, .checkbox) input[size] {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.input-container.radio, .input-container.checkbox {
  --label-colour: var(--font-colour);
  --label-active-colour: var(--theme-accent);
  display: grid;
  grid-gap: 1rem;
  grid-auto-flow: column;
  --input-width: 1.2em;
  --input-border-thickness: 1px;
  --input-active-colour: #DF3035;
}
.input-container.radio label, .input-container.checkbox label {
  color: var(--label-colour);
  transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
.input-container.radio label, .input-container.checkbox label {
  display: grid;
  grid-auto-flow: column;
  grid-gap: var(--gap);
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.input-container.radio label::before, .input-container.radio label::after, .input-container.checkbox label::before, .input-container.checkbox label::after {
  grid-row: 1;
  grid-column: 1;
  content: "";
  position: relative;
  display: block;
}
.input-container.radio label::before, .input-container.checkbox label::before {
  width: var(--input-width);
  height: var(--input-width);
  background: #FFFFFF;
  border: var(--input-border-thickness, 1px) solid #969695;
  transition: border-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  cursor: pointer;
}
.input-container.radio label::after, .input-container.checkbox label::after {
  width: calc(var(--input-width) - var(--input-border-thickness) * 6);
  height: calc(var(--input-width) - var(--input-border-thickness) * 6);
  background: var(--input-active-colour);
  opacity: 0;
  left: -10px;
  transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), transform var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  pointer-events: none;
  justify-self: center;
}
.input-container.radio label:hover, .input-container.checkbox label:hover {
  --label-colour: var(--label-active-colour);
}
.input-container.radio label:hover::before, .input-container.checkbox label:hover::before {
  border-color: var(--input-active-colour);
}
.input-container.radio input, .input-container.checkbox input {
  display: none;
}
.input-container.radio input:checked + label, .input-container.checkbox input:checked + label {
  color: var(--label-active-colour);
}
.input-container.radio input:checked + label::after, .input-container.checkbox input:checked + label::after {
  opacity: 1;
  transform: translateX(10px);
}
.input-container.radio label::before, .input-container.radio label::after {
  border-radius: 50%;
}

.multi-input {
  --input-spacing: 0;
  display: flex;
  gap: var(--input-spacing);
  align-items: center;
  flex-wrap: nowrap;
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.multi-input input[type=text]:not(select), .multi-input input[type=email]:not(select), .multi-input input[type=number]:not(select), .multi-input input[type=search]:not(select), .multi-input select:not(select), .multi-input textarea:not(select) {
  border: 1px solid var(--border-colour);
  border-right: 0;
}
.multi-input > *:not(select, button, a) {
  flex: 1;
}
.multi-input select, .multi-input button, .multi-input a {
  --font-colour: #FFFFFF;
  --background-colour: #DF3035;
  text-transform: uppercase;
  border-left: 1px solid var(--border-colour);
  background-color: var(--background-colour);
  color: var(--font-colour);
  font-weight: 600;
}
.multi-input select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17.4' height='10.1'%3E%3Cpath d='M16.7.7l-8 8-8-8' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-miterlimit='10'/%3E%3C/svg%3E");
}

radio-tabs {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}
radio-tabs radio-tab {
  position: relative;
  display: block;
  font-weight: 400;
  text-transform: uppercase;
  padding-bottom: calc(var(--gap) * 0.5);
}
radio-tabs radio-tab input {
  display: none;
}
radio-tabs radio-tab input:checked + label {
  font-weight: 600;
}
radio-tabs radio-tab input:checked + label::after {
  background: var(--theme-accent);
}
radio-tabs radio-tab input:not(:checked) + label:hover::after {
  background: var(--theme-accent);
}
radio-tabs radio-tab label {
  color: var(--font-colour);
  cursor: pointer;
}
radio-tabs radio-tab label::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: rgba(255, 255, 255, 0);
  transition: background var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}

form [type=submit] {
  transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
form:invalid [type=submit] {
  cursor: not-allowed;
  opacity: 0.5;
}

form[data-freeform] h3, form[data-freeform] h4, form[data-freeform] h5, form[data-freeform] h6 {
  font-size: 1.25em;
  line-height: 1.3;
}
form[data-freeform] .ff-form-success {
  --font-colour: #50BC08;
  margin-bottom: calc(var(--gap) * 2);
}
form[data-freeform] .ff-form-success p {
  display: flex;
  align-items: center;
}
form[data-freeform] .ff-form-success p::before {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle fill='%2350BC08' cx='8' cy='8' r='8'/%3E%3Cpath fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10' d='M3.5 8.4l2.7 2.7 6.3-6.3'/%3E%3C/svg%3E");
  display: block;
  margin-right: var(--gap);
  width: 1.25em;
  height: 1.25em;
}
form[data-freeform] .ff-form-errors {
  --font-colour: #DF3035;
  margin-bottom: calc(var(--gap) * 2);
}
form[data-freeform] .ff-errors {
  --font-colour: #DF3035;
  margin-top: var(--gap);
  color: var(--font-colour);
}
form[data-freeform] .form-fields {
  display: grid;
  grid-template-columns: 100%;
  grid-gap: var(--gap);
}
form[data-freeform] .form-fields .freeform-row {
  display: grid;
  grid-gap: 2rem;
  grid-auto-flow: column;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
form[data-freeform] .form-fields .freeform-row .freeform-column {
  position: relative;
}
form[data-freeform] .form-fields .freeform-row .freeform-column h3, form[data-freeform] .form-fields .freeform-row .freeform-column h4, form[data-freeform] .form-fields .freeform-row .freeform-column h5, form[data-freeform] .form-fields .freeform-row .freeform-column h6 {
  margin-top: calc(var(--gap) * 2);
}
form[data-freeform] .form-fields .freeform-row .freeform-column.freeform-column-content-align-right {
  text-align: right;
}
form[data-freeform] .form-fields .freeform-row .freeform-column label:not(.freeform-input-only-label) {
  opacity: 0.7;
}
form[data-freeform] .form-fields .freeform-row .freeform-column label:not(.freeform-input-only-label) + .freeform-input {
  margin-top: calc(var(--gap) / 2);
}
form[data-freeform] .form-fields required-notice {
  --notice-colour: #DF3035;
  display: block;
  position: absolute;
  top: 0;
  right: 10px;
  color: var(--notice-colour);
  font-size: 1.5em;
}
form[data-freeform] .form-fields required-notice span {
  position: absolute;
  right: -100%;
  pointer-events: none;
  white-space: nowrap;
  font-size: 1.5rem;
  opacity: 0;
}
form[data-handle=marketSectorForm] {
  display: flex;
  flex-direction: column;
}
form[data-handle=marketSectorForm] .ff-form-errors, form[data-handle=marketSectorForm] .ff-form-success {
  order: 10;
  background: white;
  padding: var(--gutter0) var(--gutter1);
  margin-top: var(--gutter1);
}
form[data-handle=marketSectorForm] .ff-form-errors p, form[data-handle=marketSectorForm] .ff-form-success p {
  color: white;
}
form[data-handle=marketSectorForm] .ff-form-errors ul li, form[data-handle=marketSectorForm] .ff-form-success ul li {
  color: white;
}
form[data-handle=marketSectorForm] .ff-form-errors {
  background: darkred;
}
form[data-handle=marketSectorForm] .ff-form-success {
  background: #218b00;
}
form[data-handle=marketSectorForm], form[data-handle=contact] {
  --submit-height: 41px;
}
form[data-handle=marketSectorForm] .form-fields label:not(.freeform-input-only-label), form[data-handle=contact] .form-fields label:not(.freeform-input-only-label) {
  text-transform: uppercase;
}
form[data-handle=marketSectorForm] .form-fields .message, form[data-handle=marketSectorForm] .form-fields .submit-row, form[data-handle=contact] .form-fields .message, form[data-handle=contact] .form-fields .submit-row {
  grid-row: 5;
  grid-column: 1;
}
form[data-handle=marketSectorForm] .form-fields .message .freeform-column, form[data-handle=contact] .form-fields .message .freeform-column {
  display: grid;
}
form[data-handle=marketSectorForm] .form-fields textarea[name=message], form[data-handle=contact] .form-fields textarea[name=message] {
  z-index: 1;
  padding-bottom: calc(41px + var(--gap));
}
form[data-handle=marketSectorForm] .form-fields .submit-row, form[data-handle=contact] .form-fields .submit-row {
  width: 100%;
  z-index: 1;
  margin: auto 0 0 auto;
}
form[data-handle=marketSectorForm] .form-fields .submit-row button, form[data-handle=contact] .form-fields .submit-row button {
  margin-left: auto;
  z-index: 2;
}
form[data-handle=creditApplication] .freeform-row:nth-last-of-type(-n+2), form[data-handle=creditApplication] .freeform-row:nth-last-of-type(-n+1) {
  margin-top: 2rem;
}
form[data-handle=creditApplication] .freeform-row:last-of-type {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

html {
  overflow-x: hidden;
}

body {
  overflow-x: initial;
  background-color: var(--theme-content-background);
}
body#search .subheading {
  margin-right: 2rem;
}
body#search .subheading u {
  white-space: pre-line;
  word-break: break-word;
}

.d-none {
  display: none !important;
}

figure.image, picture.image {
  display: block;
  background-position: var(--position, center 33%);
  background-size: cover;
  background-repeat: no-repeat;
  overflow: hidden;
  position: relative;
}
figure.image img, picture.image img {
  display: block;
  position: absolute;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: var(--image-position, center 33.33%);
     object-position: var(--image-position, center 33.33%);
  width: var(--image-size, var(--image-width-size, 100%));
  height: var(--image-size, var(--image-height-size, 100%));
  max-width: var(--image-size, var(--image-width-size, 100%));
  max-height: var(--image-size, var(--image-height-size, 100%));
  top: 0;
  left: 0;
}

video-container {
  --aspect-ratio: 16/9;
  aspect-ratio: var(--aspect-ratio);
  display: block;
  position: relative;
  width: 100%;
  background-color: black;
}
@supports not (aspect-ratio: 16/9) {
  video-container {
    aspect-ratio: initial;
    padding-bottom: calc(100% / (var(--aspect-ratio)));
    height: 0;
  }
  video-container > * {
    position: absolute;
  }
}
video-container iframe, video-container canvas {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  height: 100% !important;
  width: 100% !important;
}

mark {
  background-color: #0095FF;
  color: white;
  border-radius: calc(var(--border-radius, 6px) / 2);
  padding: 0 5px;
  transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), background-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

details {
  outline: none;
}
details[open] summary > svg {
  transform: rotate(90deg);
}

summary {
  -webkit-appearance: none;
  cursor: pointer;
}
summary::-webkit-details-marker, summary::marker {
  display: none;
}

.overflow-hidden {
  overflow: hidden !important;
}

.hide {
  opacity: 0 !important;
  pointer-events: none !important;
}

.button {
  --background-colour: #DF3035;
  --font-colour: white;
  --icon-size: 0.8em;
  position: relative;
  cursor: pointer;
  display: flex;
  flex-wrap: nowrap;
  grid-gap: calc(var(--gap) * 0.5);
  align-items: center;
  word-break: break-all;
  white-space: nowrap;
  font-weight: 600;
  line-height: 1;
  text-transform: uppercase;
  overflow: hidden;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 1.25rem 3rem 1.25rem 4rem;
  font-size: 16px;
  background: var(--background-colour);
  color: var(--font-colour);
  -webkit-clip-path: polygon(0% 100%, 15px 0%, 100% 0%, 100% 100%);
          clip-path: polygon(0% 100%, 15px 0%, 100% 0%, 100% 100%);
}
.button > svg {
  width: var(--icon-size);
  height: var(--icon-size);
}
.button[disabled] {
  opacity: 0.4;
  pointer-events: none;
}
.button:not([disabled]):hover {
  -webkit-text-decoration-line: none;
          text-decoration-line: none;
  -webkit-text-decoration-color: transparent;
          text-decoration-color: transparent;
}
.button:not([disabled]):hover::before {
  transform: translateX(calc(100% - 15px));
}
.button.small {
  padding: 0.9rem 2rem 0.9rem 3rem;
  font-size: 12px;
}
.button.large {
  padding: 1.4rem 3rem 1.4rem 4.25rem;
  font-size: 18px;
}
.button::before {
  --transition-duration: 0.3s;
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: calc(100% + 15px);
  height: 100%;
  background: var(--background-colour);
  filter: brightness(120%);
  -webkit-clip-path: polygon(0% 100%, 0% 0%, 100% 0%, calc(100% - 15px) 100%);
          clip-path: polygon(0% 100%, 0% 0%, 100% 0%, calc(100% - 15px) 100%);
  z-index: -1;
  transition: transform var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}

.button svg, button svg {
  pointer-events: none;
  vertical-align: middle;
}

picture {
  display: block;
}

.result-item {
  --heading-colour: #131f6b;
  --border-thickness: 1px;
  --border-radius: 0px;
  --background-colour: white;
  --padding: 2rem;
  --padding-left: var(--padding);
  --padding-right: var(--padding);
  --padding-top: var(--padding);
  --padding-bottom: var(--padding);
  --image-width: 100px;
  --image-height: 100px;
  --grid-gap: var(--gap);
  position: relative;
  padding: var(--padding-top) var(--padding-right) var(--padding-bottom) var(--padding-left);
  border: var(--border-thickness) solid rgba(255, 255, 255, 0);
  border-radius: var(--border-radius, 6px);
  background-color: var(--background-colour);
  overflow: hidden;
  transition: border var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  display: grid;
  grid-gap: var(--grid-gap) var(--grid-gap);
}
.result-item .result-image {
  grid-area: image;
  display: block;
}
.result-item .result-image picture {
  height: var(--image-height);
}
.result-item .result-image picture img {
  width: var(--image-height);
  height: var(--image-width);
}
.result-item .result-title {
  grid-area: title;
  color: var(--heading-colour);
}
.result-item .result-title a {
  color: var(--heading-colour);
}
.result-item .result-subtitle {
  grid-area: subtitle;
}
.result-item .result-body {
  grid-area: body;
}
.result-item.blog {
  --padding: 4rem;
  --border-thickness: 0;
  --border-radius: 0;
  grid-template-areas: "subtitle" "title" "body";
}
.result-item.blog .result-image {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.result-item.blog .result-image img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.result-item.blog .result-image::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(120deg, white 45%, transparent 120%);
}
.result-item.blog .result-title, .result-item.blog .result-subtitle {
  text-transform: uppercase;
}
.result-item.blog .result-title {
  font-size: 1.25em;
  line-height: 1.3;
  line-height: 1.3;
}
.result-item.blog .result-subtitle {
  --heading-colour: #DF3035;
  display: flex;
  align-items: center;
}
.result-item.blog .result-subtitle h4, .result-item.blog .result-subtitle time {
  font-size: 1.5rem;
  height: 100%;
}
.result-item.blog .result-subtitle time {
  color: #969695;
}
.result-item.blog .result-body {
  --font-colour: #1E1A1A;
}
.result-item.blog.featured {
  --padding-right: 5rem;
  grid-column: 1/span 2;
}
.result-item.blog.featured .result-title {
  font-weight: 800;
  font-size: 2em;
}
.result-item.blog.featured::before {
  content: "FEATURED";
  position: absolute;
  top: 0;
  padding: 0.7rem 2rem 0.7rem 3rem;
  height: 39px;
  background: #ed6224;
  color: #FFFFFF;
  transform: translate(0, -0.5px) translateX(-100%) translateY(-100%) rotate(-90deg);
  transform-origin: bottom right;
  -webkit-clip-path: polygon(0% 100%, 15px 0%, 100% 0%, 100% 100%);
          clip-path: polygon(0% 100%, 15px 0%, 100% 0%, 100% 100%);
  left: 100%;
  z-index: 1;
}
.result-item.blog .result-title, .result-item.blog .result-subtitle, .result-item.blog .result-body {
  z-index: 2;
}
.result-item.market-sector {
  --background-colour:transparent;
  --font-colour:white;
  --heading-colour: white;
  isolation: isolate;
  cursor: pointer;
  display: flex;
  overflow: visible;
  flex-direction: column;
  padding: 0 0 var(--gutter0) 0;
  border-bottom: 1px solid var(--result-item-border-bottom, rgba(255, 255, 255, 0.2));
}
.result-item.market-sector .result-image {
  width: 100%;
  height: clamp(140px, 40vw, 180px);
  outline: 1px solid var(--image-outline-colour, transparent);
  outline-offset: var(--image-outline-offset, 0.1em);
  cursor: pointer;
  transition: outline-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), outline-offset var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
.result-item.market-sector .result-image img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.result-item.market-sector:hover {
  --image-outline-colour: rgba(255, 255, 255, 0.2);
  --image-outline-offset: 0.3em;
}
.result-item.market-sector:hover .result-title a {
  color: #DF3035;
}
.result-item.market-sector .result-title {
  text-transform: uppercase;
  align-self: flex-start;
}
.result-item.market-sector .result-title a {
  text-decoration: none !important;
}
.result-item.market-sector .result-title a::after {
  content: "";
  position: absolute;
  inset: 0;
  cursor: pointer;
  z-index: 1;
}
body[data-theme=white] .result-item.market-sector {
  --result-item-border-bottom: rgba(19, 31, 107, 0.2);
  --font-colour:#131f6b;
  --heading-colour: #131f6b;
}
body[data-theme=white] .result-item.market-sector:hover {
  --image-outline-colour: rgba(19, 31, 107, 0.2);
}

body#market-sectors {
  position: relative;
  container-type: inline-size;
  container-name: market-sector;
}
body#market-sectors .result-item {
  transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
body#market-sectors .result-item a.details:hover {
  text-decoration: none !important;
}
body#market-sectors:hover .result-image {
  --image-outline-colour: transparent !important;
  --image-outline-offset:0 !important;
}
body#market-sectors .details {
  background-color: #0f1956;
  position: absolute;
  z-index: 1;
  padding: 0;
  display: none;
  grid-template-columns: 1fr 220px;
  width: var(--market-sector-article-width, calc(200% + var(--gutter1)));
  opacity: 0;
  transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), display var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ) allow-discrete;
}
body#market-sectors .details .details-text {
  padding: var(--gutter1);
}
body#market-sectors .details .details-heading {
  color: #DF3035;
  text-transform: uppercase;
  font-size: 1.25em;
  line-height: 1.3;
  margin-bottom: 1em;
}
body#market-sectors .details .details-image {
  -webkit-clip-path: polygon(0% 100%, 35% 0%, 100% 0%, 100% 100%);
          clip-path: polygon(0% 100%, 35% 0%, 100% 0%, 100% 100%);
}
body#market-sectors .details .details-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
body#market-sectors .details .details-image .details-link {
  width: 100%;
  text-align: right;
  justify-content: flex-end;
}
body#market-sectors .details .details-link {
  position: absolute;
  bottom: 0;
  right: 0;
}
@container market-sector ( width < 420px) {
  body#market-sectors .details {
    display: flex !important;
    flex-direction: column;
  }
  body#market-sectors .details .details-image {
    -webkit-clip-path: initial;
            clip-path: initial;
    height: 100px;
  }
  body#market-sectors .details .details-image .details-link {
    width: auto;
  }
}
@media (hover: hover) {
  body#market-sectors .result-item:is(:hover, :focus-visible) {
    z-index: 1;
  }
  body#market-sectors .result-item:is(:hover, :focus-visible) .details {
    display: grid;
    opacity: 1;
  }
  @starting-style {
    body#market-sectors .result-item:is(:hover, :focus-visible) .details {
      opacity: 0;
    }
  }
}
body#market-sectors article-grid:has(.result-item:is(:hover, :focus-visible)) .result-item:not(:is(:hover, :focus-visible)) {
  opacity: 0.5 !important;
}
@container main ( width < 660px) {
  body#market-sectors article-grid {
    grid-template-columns: 1fr !important;
    --market-sector-article-width: 100%;
  }
}
@container main (660px < width < 964px) {
  body#market-sectors article-grid .result-item:nth-child(2n) .details {
    left: initial;
    right: 0;
  }
}
@container main ( width > 964px) {
  body#market-sectors article-grid .result-item:nth-child(3n) .details {
    left: initial;
    right: 0;
  }
}

.result-item.product {
  --badge-spacing: 3rem;
  grid-template-columns: var(--image-width) auto;
  grid-template-areas: "image title" "image title" "image data" "image data";
}
.result-item.product .result-title, .result-item.product .result-body {
  padding-right: calc(var(--badge-spacing) * 2);
}
.result-item.product .product-data {
  grid-area: data;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  grid-gap: calc(var(--gap) / 2) var(--gap);
}
.result-item.product .result-image img {
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 450px) {
  .result-item.product {
    grid-template-areas: "image " "title" "data";
    grid-template-columns: unset;
  }
  .result-item.product .product-data {
    flex-direction: row;
  }
  .result-item.product .result-title, .result-item.product .result-body {
    padding-right: 0;
  }
}
.result-item.product.in-stock::before {
  --padding-y: 0.2em;
  --padding-x: 10em;
  content: "in stock";
  position: absolute;
  top: calc(1em + var(--padding-y));
  right: calc(-1 * var(--padding-x));
  padding: 0.5em var(--padding-x);
  transform: rotate(45deg);
  text-transform: uppercase;
  background-color: #131f6b;
  color: #FFFFFF;
}
.result-item.page {
  grid-template-areas: "image title" "image body" "image body" "image body";
}
.result-item.page .result-image img {
  -o-object-fit: cover;
     object-fit: cover;
}

.tag[disabled] {
  opacity: 0.4;
  pointer-events: none;
}
.tag.category {
  --border-radius: 0px;
  --font-colour: #DF3035;
  --bg-colour: white;
  --secondary-width: 3ch;
  --secondary-padding-x: 3px;
  --border-colour: transparent;
  position: relative;
  display: grid;
  grid-auto-flow: column;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border: 1px solid var(--border-colour);
  border-radius: var(--border-radius);
  color: var(--font-colour);
  background-color: var(--bg-colour);
  transition: var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  box-sizing: content-box;
  --border-colour: #DF3035;
  --symbol-colour: #DF3035;
}
.tag.category .tag-label {
  padding: 3px var(--gap) 3px var(--gap);
}
.tag.category .tag-secondary {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 var(--secondary-padding-x);
  height: 100%;
  background-color: #dcdcdc;
  overflow: hidden;
  width: 3ch;
  transition: var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
.tag.category .tag-secondary svg {
  width: 50%;
  transition: var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
.tag.category .tag-secondary:hover {
  --symbol-colour: white;
  background-color: #DF3035;
}
.tag.checkbox input[type=checkbox] {
  display: none;
}
.tag.checkbox input[type=checkbox] ~ label {
  --border-radius: 0px;
  --font-colour: #DF3035;
  --bg-colour: white;
  --secondary-width: 3ch;
  --secondary-padding-x: 3px;
  --border-colour: transparent;
  position: relative;
  display: grid;
  grid-auto-flow: column;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border: 1px solid var(--border-colour);
  border-radius: var(--border-radius);
  color: var(--font-colour);
  background-color: var(--bg-colour);
  transition: var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  box-sizing: content-box;
  --symbol-colour: #DF3035;
}
.tag.checkbox input[type=checkbox] ~ label .tag-label {
  padding: 3px var(--gap) 3px var(--gap);
}
.tag.checkbox input[type=checkbox] ~ label .tag-secondary {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 var(--secondary-padding-x);
  height: 100%;
  background-color: #dcdcdc;
  overflow: hidden;
  width: 3ch;
  transition: var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
.tag.checkbox input[type=checkbox] ~ label .tag-secondary svg {
  width: 50%;
  transition: var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
.tag.checkbox input[type=checkbox] ~ label:hover {
  --border-colour: #DF3035;
  cursor: pointer;
}
.tag.checkbox input[type=checkbox]:checked ~ label {
  --font-colour: white;
  --bg-colour: #DF3035;
}
.tag.checkbox input[type=checkbox]:checked ~ label .tag-secondary {
  --symbol-colour: white;
  background-color: rgba(255, 255, 255, 0.3);
}

table-container .heading {
  font-size: 1.25em;
  line-height: 1.3;
  margin-bottom: calc(var(--gap) * 2);
}
table-container .table {
  --cell-padding-y: 1rem;
  --cell-padding-x: 1.5rem;
  --cell-padding: var(--cell-padding-y) var(--cell-padding-x);
  table-layout: fixed;
  text-align: left;
}
table-container .table tr:nth-child(odd) {
  background-color: var(--theme-content-opposite);
}
table-container .table tr td:first-child() {
  border-right: 1px solid #969695;
}
table-container .table td {
  padding: var(--cell-padding);
}
table-container .table th {
  padding: var(--cell-padding);
  font-weight: 600;
  border-bottom: 1px solid lightgrey;
}
table-container .table.vertical tr td:first-child {
  font-weight: 600;
}
table-container .table.product-specs tr td:first-child {
  white-space: nowrap;
}
table-container .table.product-specs tr td:last-child {
  width: 100%;
}
table-container .table.related-products a {
  --font-colour: #DF3035;
}

main > .snippet a {
  --font-colour: var(--theme-accent) ;
}

navigation-bar {
  position: fixed;
  top: 0;
  width: 100%;
  width: var(--navigation-bar-width);
  height: var(--navigation-bar-height);
  max-height: -webkit-fill-available;
  padding: 0 calc(var(--gap) * 2) var(--gap-y);
  background: var(--theme-nav-background);
  border-right: 1px solid rgba(255, 255, 255, 0.2);
  overflow-y: auto;
  z-index: 1500;
  transition: background 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
navigation-bar a, navigation-bar button {
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
}
navigation-bar global-search-mobile {
  display: none;
}
navigation-bar .navigation-container {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}
navigation-bar .navigation-container a.logo {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 95%;
  min-height: var(--logo-height);
  height: var(--logo-height);
  margin-bottom: var(--gap-y);
}
navigation-bar .navigation-container a.logo > svg {
  width: 100%;
  color: var(--theme-logo);
}
navigation-bar .navigation-container a.logo.logo-mobile {
  display: none;
}
navigation-bar .navigation-container global-search-desktop {
  margin-bottom: calc(var(--gap) * 2);
}
navigation-bar nav navigation-links {
  --fallback-max-height: 600px;
  --base-spacing: calc(var(--gap) * 0.5);
  display: block;
}
navigation-bar nav navigation-links .top-level-link {
  padding: calc(var(--gap) * 0.5) 0;
}
navigation-bar nav navigation-links .top-level-link:first-child {
  padding-top: 0;
}
navigation-bar nav navigation-links .top-level-link.has-children > a:hover svg {
  opacity: 1;
}
navigation-bar nav navigation-links .sub-menu li {
  padding: calc((var(--gap) * 0.5) / 2) 0;
}
navigation-bar nav navigation-links .sub-menu li:first-child {
  padding-top: calc(var(--gap) * 0.5);
}
navigation-bar nav navigation-links .sub-menu li:last-child {
  padding-bottom: calc(var(--gap) * 0.5);
}
navigation-bar nav navigation-links ul li a {
  transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), -webkit-text-decoration-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), text-decoration-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), text-decoration-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), -webkit-text-decoration-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
navigation-bar nav navigation-links ul li a:not(.active) {
  --font-colour: var(--theme-nav-font);
}
navigation-bar nav navigation-links ul li a.active {
  --font-colour: var(--theme-accent);
}
@media (hover: hover) {
  navigation-bar nav navigation-links ul li a.active:hover {
    -webkit-text-decoration-color: rgba(255, 255, 255, 0) !important;
            text-decoration-color: rgba(255, 255, 255, 0) !important;
    text-decoration: none;
  }
}
navigation-bar nav navigation-links ul li a > svg {
  color: var(--theme-nav-font);
  transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), transform var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  width: 1em;
  height: 1em;
  opacity: 0.2;
}
navigation-bar nav navigation-links ul li ul {
  --transition-duration: 0.325s;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  margin-left: var(--gap);
}
navigation-bar nav navigation-links ul li ul li a:not(.active) {
  opacity: 0.5;
}
@media (hover: hover) {
  navigation-bar nav navigation-links ul li ul li a:not(.active):hover {
    opacity: 1;
  }
}
navigation-bar nav navigation-links ul li.has-children > a {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
navigation-bar nav navigation-links ul li.has-children.open > a > svg {
  transform: rotate(90deg);
}
navigation-bar nav navigation-links ul li.has-children.open > ul {
  max-height: var(--link-max-height, var(--fallback-max-height));
  opacity: 1;
}
navigation-bar nav navigation-links .top-level-links > li > a {
  text-transform: uppercase;
}
navigation-bar nav navigation-links .mobile-link.hidden {
  display: none;
}
navigation-bar navigation-controls {
  display: none;
  align-items: center;
}
navigation-bar navigation-controls > *:not(:first-child) {
  margin-left: var(--gutter3);
}
navigation-bar navigation-controls a, navigation-bar navigation-controls button {
  display: block;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
navigation-bar navigation-controls a svg, navigation-bar navigation-controls button svg {
  height: 25px;
  width: 25px;
  color: var(--theme-nav-font);
  vertical-align: middle;
}
navigation-bar navigation-controls button.menu {
  --symbol-colour: var(--theme-nav-font, white);
}
navigation-bar navigation-controls button.menu svg {
  --corner-offset: 10px;
  width: 30px;
  height: 30px;
}
navigation-bar navigation-controls button.menu svg polygon {
  -webkit-clip-path: polygon(140px 20px, 0 20px, var(--corner-offset, 10px) 0, 140px 0);
          clip-path: polygon(140px 20px, 0 20px, var(--corner-offset, 10px) 0, 140px 0);
  transition: all var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
navigation-bar navigation-controls button.menu svg polygon:nth-child(1) {
  transform-origin: 15% 30%;
}
navigation-bar navigation-controls button.menu svg polygon:nth-child(2) {
  opacity: 1;
}
navigation-bar navigation-controls button.menu svg polygon:nth-child(3) {
  transform-origin: 15% 70%;
}
navigation-bar .extra-links {
  --font-colour: var(--theme-nav-font);
  --link-spacing: var(--gap);
  --opacity: 0.6;
  display: flex;
  font-size: 1.4rem;
  opacity: var(--opacity);
  margin-top: auto;
  flex-wrap: wrap;
  gap: 1rem;
}
navigation-bar .extra-links li:not(:last-of-type) {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 1ch;
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
}
navigation-bar .extra-links a {
  text-decoration: none;
  white-space: nowrap;
}
@media (hover: hover) {
  navigation-bar .extra-links a:hover {
    text-decoration: underline;
  }
}

@media (max-width: 980px) {
  navigation-bar {
    --navigation-bar-width: 100%;
    --navigation-bar-height: min-content;
    --logo-height: 100%;
    --row-padding: 1rem var(--gap-x);
    --theme-nav-font: var(--theme-nav-font-mob);
    --theme-logo: var(--theme-nav-font-mob);
    position: relative;
    padding: 0;
    overflow: visible;
    border-right: none;
  }
  navigation-bar .extra-links {
    display: none;
  }
  navigation-bar global-search-desktop {
    display: none;
  }
  navigation-bar .navigation-container, navigation-bar global-search-mobile {
    background-color: var(--theme-nav-background-mob);
  }
  navigation-bar global-search-mobile {
    position: relative;
    display: block;
    padding: var(--row-padding);
    height: var(--navigation-mobile-search-height);
    margin-top: calc(-1 * var(--navigation-mobile-search-height) - 0px);
    transition: margin-top 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);
    border-bottom: 1px solid var(--theme-nav-spacing-colour);
    z-index: -1;
  }
  navigation-bar global-search-mobile form {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
  }
  navigation-bar global-search-mobile form input[type=search] {
    border-right: none;
  }
  navigation-bar global-search-mobile form select {
    --font-colour: #FFFFFF;
    --background-colour: #DF3035;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17.4' height='10.1'%3E%3Cpath d='M16.7.7l-8 8-8-8' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-miterlimit='10'/%3E%3C/svg%3E");
  }
  navigation-bar navigation-controls {
    display: flex;
    margin-bottom: 0;
  }
  navigation-bar .navigation-container {
    flex-direction: row;
    justify-content: space-between;
    height: var(--navigation-container-height);
    padding: var(--row-padding);
    border-bottom: 1px solid var(--theme-nav-spacing-colour);
    z-index: 1500;
  }
  navigation-bar .navigation-container a.logo {
    margin-bottom: 0;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  navigation-bar .navigation-container a.logo.logo-desktop {
    display: none;
  }
  navigation-bar .navigation-container a.logo.logo-mobile {
    display: block;
    margin-left: -3rem;
  }
  navigation-bar .navigation-container a.logo svg {
    width: unset;
    height: 100%;
  }
  navigation-bar nav {
    position: absolute;
    top: calc(100% + 0px);
    left: 0;
    width: 100%;
    height: 100vh;
    padding: var(--gap-y) var(--gap-x) var(--navigation-container-height);
    background: var(--theme-nav-background-mob);
    overflow-y: auto;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  navigation-bar nav .top-level-links {
    opacity: 0;
  }

  body.mobile-search-open navigation-bar global-search-mobile {
    margin-top: 0;
  }
  body.mobile-navigation-open navigation-bar nav {
    pointer-events: all;
    opacity: 1;
  }
  body.mobile-navigation-open navigation-bar nav .top-level-links {
    opacity: 1;
    transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
  }
  body.mobile-navigation-open navigation-bar button.menu svg {
    --corner-offset: 0;
  }
  body.mobile-navigation-open navigation-bar button.menu svg polygon:nth-child(1) {
    transform: rotate(45deg) scaleY(80%);
    -webkit-transform: rotate(45deg) scaleY(80%);
  }
  body.mobile-navigation-open navigation-bar button.menu svg polygon:nth-child(2) {
    opacity: 0;
  }
  body.mobile-navigation-open navigation-bar button.menu svg polygon:nth-child(3) {
    transform: rotate(-45deg) scaleY(80%);
    -webkit-transform: rotate(-45deg) scaleY(80%);
  }
}
.heatsinks-home header.header,
.components-home header.header {
  transition: all 0.8s 0.2s;
}

.header {
  align-self: end;
  display: flex;
  flex-direction: column;
  z-index: 1000;
}
.header .heading,
.header .subheading {
  text-transform: uppercase;
}
.header .heading {
  order: 2;
  font-weight: 800;
}
.header .subheading {
  color: var(--theme-accent);
  margin-bottom: var(--gap);
}
.header .subheading a {
  --heading-colour: var(--theme-accent);
  color: var(--theme-accent);
}
.header .snippet {
  order: 3;
  margin-top: 2rem;
}
@media (min-width: 981px) {
  .header .snippet {
    max-width: 1000px;
  }
}
.header.transition {
  opacity: 0;
  transform: translateY(-10%);
}

main {
  display: flex;
  flex-direction: column;
  grid-gap: var(--gap-y);
  z-index: 1000;
}
main content-blocks {
  display: grid;
  grid-gap: var(--gap-y);
}
main content-blocks section {
  display: grid;
  grid-gap: var(--gap-y);
}
body:not([data-components*=scroll-bar]) {
  position: relative;
}

@media (min-width: 1401px) {
  main {
    padding-bottom: var(--gap-y);
  }
}

side-bar {
  position: relative;
  width: var(--sidebar-width);
  max-width: var(--sidebar-max-width);
  height: 100%;
  z-index: 1000;
}
side-bar div.content-block.callToAction {
  margin-bottom: 0;
  padding-bottom: 0;
}
@media (width > 1400px) {
  side-bar div.content-block.callToAction {
    position: fixed;
    bottom: 0;
    top: unset;
  }
}
side-bar.free {
  --container-padding: 4rem;
}
side-bar.contain > div {
  padding-right: var(--gap-x);
}
side-bar[data-behaviour=sticky] {
  --sticky-spacing: 0;
}
side-bar[data-behaviour=sticky].contain {
  --sticky-spacing: var(--gap-y);
}
side-bar[data-behaviour=sticky] > div {
  position: -webkit-sticky;
  position: sticky;
  top: var(--sticky-spacing);
}
@media (max-width: 1400px) {
  side-bar[data-behaviour=sticky] > div {
    position: relative;
    top: 0;
  }
}
@media (max-width: 1400px) {
  side-bar:not([data-behaviour=foldout]) {
    --sidebar-max-width: 100%;
    --sidebar-width: 100%;
  }
  side-bar:not([data-behaviour=foldout]) > div {
    margin-bottom: calc(var(--gap-y) * 2);
  }
  side-bar.contain > div {
    padding: 0;
  }
}
side-bar[data-behaviour=foldout] {
  z-index: 1750;
  transition: max-width 0.7s cubic-bezier(0.42, 0, 0.58, 1), transform 0.7s cubic-bezier(0.165, 0.84, 0.44, 1), top 0.4s cubic-bezier(0.215, 0.61, 0.355, 1), opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
side-bar[data-behaviour=foldout] > div {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}
@media (max-width: 1400px) {
  side-bar[data-behaviour=foldout] {
    position: fixed;
    top: 0;
    right: 0;
    transform: translateX(100%);
    width: min(100vw, 400px);
    max-width: min(100vw, 400px);
  }
  side-bar[data-behaviour=foldout].active {
    transform: translateX(0%);
  }
  side-bar[data-behaviour=foldout] > div {
    position: relative;
  }
}
@media (max-width: 980px) {
  side-bar[data-behaviour=foldout] .open-trigger {
    display: none !important;
  }
  side-bar[data-behaviour=foldout] .close-trigger {
    display: block;
  }
}

page-background {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  transform: scale(1);
  background: var(--theme-page-background);
  z-index: 500;
}
page-background::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--theme-content-background);
  z-index: 501;
}
@media (min-width: 981px) {
  page-background::after {
    top: 0;
    left: calc(var(--navigation-bar-width));
    width: calc(100% - var(--navigation-bar-width));
    height: 100%;
  }
}
page-background video {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transform: scaleX(-1);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  opacity: 0.3;
}
page-background img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transform: scaleX(-1);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
page-background img.logo {
  opacity: 0.03;
}
page-background img::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, transparent 40%, #12152B 100%);
  z-index: 500 -1;
}

body:not(#home) .content-wrapper header {
  padding-top: 200px;
  margin-bottom: var(--gap-y);
}
body:not(#home) .content-wrapper header:not(.has-subheading) {
  margin-top: calc(-1 * var(--gap-y));
}
body:not(#home) .content-wrapper header.has-subheading {
  margin-top: calc(-1.85 * var(--gap-y));
}
@media (max-width: 980px) {
  body:not(#home) .content-wrapper header {
    padding-top: var(--gap-y);
    margin-top: calc(-1 * var(--gap-y)) !important;
  }
}

body#home.components-home .content-wrapper header {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: var(--gap);
  margin-bottom: var(--gap-y);
}
body#home.components-home .content-wrapper header > h1, body#home.components-home .content-wrapper header p {
  grid-column: 1/3;
}
body#home.components-home .content-wrapper header h1 {
  grid-row: 1;
}
@media (max-width: 400px) {
  body#home.components-home .content-wrapper header h1 {
    font-size: 24px;
  }
}
body#home.components-home .content-wrapper header p {
  grid-column: 1/-1;
  grid-row: 2;
}
body#home.components-home .content-wrapper header img {
  grid-column: 3;
  width: 100%;
  height: auto;
}
body#home.components-home .content-wrapper header + main {
  margin-top: 0;
}
@media (min-width: 768px) {
  body#home.components-home .content-wrapper header {
    grid-gap: 0;
    grid-template-columns: repeat(auto-fill, min-max(200px, 25%));
  }
  body#home.components-home .content-wrapper header p {
    margin-top: 0;
  }
  body#home.components-home .content-wrapper header img {
    max-width: 150px;
    margin-left: auto;
  }
}
body#home.components-home .content-wrapper .about-us-block {
  background: linear-gradient(120deg, #10124d 20%, #131f6b 80%);
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  position: relative;
}
body#home.components-home .content-wrapper .about-us-block > div:last-of-type {
  padding-bottom: 75px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(125px, 1fr));
}
body#home.components-home .content-wrapper .about-us-block > div:first-of-type {
  display: flex;
  padding: calc(var(--gap) * 2);
  background-color: #DF3035;
  gap: 16px;
  justify-content: center;
  flex-direction: column;
}
body#home.components-home .content-wrapper .about-us-block > div:last-of-type {
  flex-grow: 1;
  grid-gap: var(--gap);
  padding-top: var(--gap);
}
body#home.components-home .content-wrapper .about-us-block > div:last-of-type > div {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  padding: var(--gap);
  gap: var(--gap);
}
body#home.components-home .content-wrapper .about-us-block > div:last-of-type > div svg {
  width: 80%;
  color: white;
  max-width: 80px;
}
body#home.components-home .content-wrapper .about-us-block > div:last-of-type > div svg.wire-earth {
  width: 60%;
  margin-bottom: 1em;
}
body#home.components-home .content-wrapper .about-us-block > div:last-of-type > div p {
  text-align: center;
  text-transform: uppercase;
  color: #DF3035;
  justify-self: baseline;
  font-size: 1.4rem;
}
body#home.components-home .content-wrapper .about-us-block > a {
  position: absolute;
  right: 0;
  bottom: 0;
}
body#home.components-home .content-wrapper .content-block.callToAction {
  background: linear-gradient(120deg, #10124d 0%, #131f6b 80%);
  padding: calc(var(--gap) * 2) 0 0 calc(var(--gap) * 2);
  display: flex;
  flex-direction: column;
}
body#home.components-home .content-wrapper .content-block.callToAction .call-to-action-heading, body#home.components-home .content-wrapper .content-block.callToAction .call-to-action-subheading {
  text-transform: uppercase;
}
body#home.components-home .content-wrapper .content-block.callToAction .call-to-action-heading {
  --heading-colour: #FFFFFF;
  font-size: 1.25em;
  line-height: 1.3;
  padding-right: calc(var(--gap) * 2);
  font-weight: 800;
  margin-bottom: calc(var(--gap) * 2);
}
body#home.components-home .content-wrapper .content-block.callToAction .call-to-action-subheading {
  --heading-colour: #DF3035;
  font-size: 0.9375em;
  line-height: 1.6;
  margin-bottom: var(--gap);
}
body#home.components-home .content-wrapper .content-block.callToAction .call-to-action-button {
  margin-top: var(--gap);
  margin-left: calc(var(--gap) * 3);
  align-self: flex-end;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
body#home.components-home .content-wrapper scroll-bar {
  max-width: unset !important;
}
@media (min-width: 768px) {
  body#home.components-home .content-wrapper .about-us-block {
    padding-bottom: unset;
    flex-direction: row;
  }
  body#home.components-home .content-wrapper .about-us-block > div:first-of-type {
    max-width: 35%;
    padding-right: var(--spacer2);
    -webkit-clip-path: polygon(0% 100%, 0% 0%, 100% 0%, 75% 100%);
            clip-path: polygon(0% 100%, 0% 0%, 100% 0%, 75% 100%);
  }
  body#home.components-home .content-wrapper .about-us-block > div:last-of-type {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(125px, 1fr));
    padding: var(--spacer1);
    margin-left: -5%;
  }
}
@media (min-width: 981px) and (max-width: 1399px) {
  body#home.components-home .content-wrapper .about-us-block {
    flex-direction: column;
  }
  body#home.components-home .content-wrapper .about-us-block > div:first-of-type {
    max-width: unset;
    -webkit-clip-path: unset;
            clip-path: unset;
  }
  body#home.components-home .content-wrapper .about-us-block > div:last-of-type {
    padding: var(--spacer1);
    margin-left: 0%;
  }
}
@media (min-width: 1201px) {
  body#home.components-home .content-wrapper header, body#home.components-home .content-wrapper scroll-bar, body#home.components-home .content-wrapper .about-us-block, body#home.components-home .content-wrapper .content-block.callToAction, body#home.components-home .content-wrapper .market-sectors\:list {
    max-width: 1200px !important;
  }
}

footer {
  position: -webkit-sticky;
  position: sticky;
  top: 100dvh;
  order: 99;
  padding-bottom: var(--spacer1);
  grid-column: var(--column-content);
  z-index: 1000;
}
@media (min-width: 1201px) {
  footer {
    max-width: 1200px !important;
  }
}

#home footer {
  position: relative;
  top: initial;
  grid-row: -1;
}

content-blocks [data-columns] {
  grid-template-columns: repeat(var(--columns, 1), 1fr);
  grid-gap: calc(var(--gap) * 2);
}
@media (min-width: 769px) {
  content-blocks [data-columns="2"] {
    --columns: 2;
  }
}
@media (min-width: 980px) {
  content-blocks [data-columns="2"] {
    --columns: 1;
  }
}
@media (min-width: 1201px) {
  content-blocks [data-columns="2"] {
    --columns: 2;
  }
}
@media (min-width: 1401px) {
  content-blocks [data-columns="2"] {
    --columns: 1;
  }
}
@media (min-width: 1800px) {
  content-blocks [data-columns="2"] {
    --columns: 2;
  }
}

search-element .search-input svg {
  height: 32px;
}

modal-wrapper {
  --wrapper-background-colour: rgba(255, 255, 255, 0.95);
  --modal-close-colour: $black;
  --container-background-colour: white;
  --min-width:300px;
  --max-width:1120px;
  --width:clamp(var(--min-width), 90vw, fit-content);
  --min-height:600px;
  --max-height:calc(100vh - var(--gutter2));
  --height:clamp(var(--min-height), 90vw, fit-content);
  --close-button-size: 30px;
  --nav-button-size: 40px;
  position: fixed;
  inset: 0;
  height: 100vh;
  width: 100%;
  background-color: var(--wrapper-background-colour);
  z-index: 10000;
  display: flex;
  place-items: center;
  place-content: center;
  transition: opacity 0.5s cubic-bezier(0.42, 0, 0.58, 1);
  overscroll-behavior: contain;
}
@supports (--v:-webkit-fill-available ) {
  modal-wrapper {
    --max-height:-webkit-fill-available;
  }
}
modal-wrapper.loading {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1) 0.3s;
}
modal-wrapper.loading modal-container {
  opacity: 0;
  transform: translateY(2vh);
  transition: opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1), transform 0.3s cubic-bezier(0.895, 0.03, 0.685, 0.22);
}
modal-wrapper button.close {
  position: absolute;
  top: var(--gutter1);
  right: var(--gutter1);
  width: var(--close-button-size);
  height: var(--close-button-size);
}
modal-wrapper button.close svg {
  color: var(--modal-close-colour, #DF3035);
}
modal-wrapper button.close svg circle, modal-wrapper button.close svg path {
  transition: 0.3s cubic-bezier(0.42, 0, 0.58, 1);
}
@media (hover: hover) {
  modal-wrapper button.close:hover svg {
    --fill:white;
    --stroke:var(--secondary, #DF3035);
  }
}
modal-wrapper button.navigation {
  position: absolute;
  width: var(--nav-button-size);
  height: var(--nav-button-size);
  top: calc(50% - var(--nav-button-size) / 2);
  background-color: var(--secondary, #DF3035);
  border-radius: 50%;
  border: 2px solid var(--secondary, #DF3035);
  color: white;
  display: flex;
  place-content: center;
  place-items: center;
  transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), background-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
modal-wrapper button.navigation.previous {
  left: var(--gutter1);
}
modal-wrapper button.navigation.next {
  right: var(--gutter1);
}
modal-wrapper button.navigation svg {
  width: 50%;
  height: 50%;
}
@media (hover: hover) {
  modal-wrapper button.navigation:hover {
    transform: scale(1.1);
    color: var(--secondary, #DF3035);
    background-color: white;
  }
}

modal-container {
  transform: translateY(0);
  transition: opacity 0.5s cubic-bezier(0.42, 0, 0.58, 1) 0.3s, transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) 0.3s;
  width: var(--width);
  height: var(--height);
  max-height: var(--max-height);
  max-width: var(--max-width);
  border: 1px solid #dcdcdc;
  border-radius: var(--border-radius, 6px);
  background-color: var(--container-background-colour);
  position: relative;
  display: flex;
  flex-direction: column;
  margin: var(--gutter1);
  overscroll-behavior: contain;
}
@supports not (width: clamp(1px, 5vw, 10px)) {
  modal-container {
    --width: 60vw;
    max-width: var(--max-width);
    min-width: var(--min-width);
    --height: 80vw;
    max-height: var(--max-height);
    min-height: var(--min-height);
  }
}
modal-container:empty {
  width: calc(var(--max-width) / 2);
  height: calc(var(--max-height) / 2);
}
modal-container:empty:after {
  --size: 20px;
  content: "";
  position: absolute;
  top: calc(50% - var(--size) / 2);
  left: calc(50% - var(--size) / 2);
  opacity: 0;
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  border: 2px solid var(--loader-colour, #969695);
  border-top-color: transparent;
  border-bottom-color: transparent;
  -webkit-animation-name: loader-rotate;
          animation-name: loader-rotate;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  transition: opacity 0.2s cubic-bezier(0.42, 0, 0.58, 1);
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
  opacity: 1;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}
@-webkit-keyframes loader-rotate {
  from {
    transform: rotate(180deg);
  }
  to {
    transform: rotate(0deg);
  }
}
@keyframes loader-rotate {
  from {
    transform: rotate(180deg);
  }
  to {
    transform: rotate(0deg);
  }
}
modal-container > button.close {
  position: relative;
  order: -1;
  align-self: flex-end;
  top: initial;
  right: initial;
  margin-top: calc(-1 * var(--close-button-size) / 2);
  margin-bottom: calc(-1 * var(--close-button-size) / 2);
  margin-right: calc(-1 * var(--close-button-size) / 2);
}

modal-content {
  display: block;
  position: -webkit-sticky;
  position: sticky;
  overscroll-behavior: contain;
  width: inherit;
  height: inherit;
  max-height: inherit;
  max-width: inherit;
  overflow-y: auto;
  overflow-x: hidden;
  padding: var(--gutter1);
}
modal-content > * {
  max-width: 100%;
}

modal-wrapper[data-type=image] .image {
  max-height: calc(var(--max-height) - var(--gutter6));
  border: none;
}
modal-wrapper[data-type=image] .image img {
  max-height: calc(100vh - var(--gutter3) - var(--gutter4));
  width: auto;
  height: auto;
  margin: auto;
}

modal-wrapper[data-type=default] modal-content > img[src*=".svg"] {
  width: 100%;
  height: auto;
}

modal-wrapper[data-type=video] {
  --wrapper-background-colour: rgba(0, 0, 0, 0.95);
  --modal-close-colour: #FFFFFF;
}
modal-wrapper[data-type=video] modal-container {
  --aspect-ratio: 16/9;
  aspect-ratio: var(--aspect-ratio);
  display: block;
  position: relative;
  width: 100%;
  background-color: black;
  background-color: white;
  padding: var(--gap);
}
@supports not (aspect-ratio: 16/9) {
  modal-wrapper[data-type=video] modal-container {
    aspect-ratio: initial;
    padding-bottom: calc(100% / (var(--aspect-ratio)));
    height: 0;
  }
  modal-wrapper[data-type=video] modal-container > * {
    position: absolute;
  }
}
modal-wrapper[data-type=video] modal-container iframe, modal-wrapper[data-type=video] modal-container canvas {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  height: 100% !important;
  width: 100% !important;
}
modal-wrapper[data-type=video] modal-container modal-content {
  height: 100%;
  border-radius: var(--border-radius, 6px);
}

.open-in-modal {
  cursor: pointer;
  transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
.open-in-modal:after {
  --size: 20px;
  content: "";
  position: absolute;
  top: calc(50% - var(--size) / 2);
  left: calc(50% - var(--size) / 2);
  opacity: 0;
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  border: white solid var(--loader-colour, #969695);
  border-top-color: transparent;
  border-bottom-color: transparent;
  -webkit-animation-name: loader-rotate;
          animation-name: loader-rotate;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  transition: opacity 0.2s cubic-bezier(0.42, 0, 0.58, 1);
  -webkit-animation-play-state: paused;
          animation-play-state: paused;
}
@keyframes loader-rotate {
  from {
    transform: rotate(180deg);
  }
  to {
    transform: rotate(0deg);
  }
}
.open-in-modal.loading {
  pointer-events: none;
}
.open-in-modal.loading:after {
  opacity: 1;
  -webkit-animation-play-state: running;
          animation-play-state: running;
}

img.open-in-modal, .open-in-modal img {
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
}

.back-to-top {
  --hide-offset: -10px;
  --svg-width: 18px;
  --edge-distance: 15px;
  --right-offset: 0px;
  display: block;
  position: fixed;
  right: calc(var(--right-offset) + var(--edge-distance));
  bottom: calc(var(--edge-distance) + var(--hide-offset));
  width: calc(var(--svg-width) + 12px);
  height: calc(var(--svg-width) + 12px);
  background: #131f6b;
  border: 1px solid #FFFFFF;
  border-radius: 50%;
  z-index: 1001;
  pointer-events: all;
  transition: opacity 0.2s var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), transform 0.2s var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  display: none;
}
.back-to-top svg {
  position: relative;
  top: -2px;
  width: var(--svg-width);
  height: var(--svg-width);
  color: #FFFFFF;
}
.back-to-top:not(.hide) {
  pointer-events: all;
  opacity: 1;
  cursor: pointer;
  transform: translateY(var(--hide-offset));
}

@media (min-width: 1401px) {
  side-bar ~ .back-to-top {
    --right-offset: var(--sidebar-width);
  }
}
logo-bar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gutter1);
  align-items: center;
  padding-top: var(--spacer1);
}
logo-bar img {
  max-width: 140px;
  max-height: 90px;
  min-height: 60px;
  width: auto;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (min-width: 801px) {
  logo-bar {
    justify-content: space-between;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvbm9kZV9tb2R1bGVzL0Bkb2dnaXN0eWxlL3Nhc3MvbGlicmFyeS9zcmMvY29sbGVjdGlvbnMvbm9ybWFsaXNlcnMvX2Jyb3dzZXIuc2NzcyIsImdsb2JhbC5jc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL192YXJpYWJsZXMvei1pbmRleC5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9fZWxlbWVudHMvZm9ybS5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9fZWxlbWVudHMvcmVzdWx0LWl0ZW0uc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvX2VsZW1lbnRzL3RhZy5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9fY29yZS93ZWJmb250cy5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9fY29yZS9jdXN0b20tcHJvcGVydGllcy5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9fY29yZS90eXBvZ3JhcGh5LnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL192YXJpYWJsZXMvZm9udHMuc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvbm9kZV9tb2R1bGVzL0Bkb2dnaXN0eWxlL3Nhc3MvbGlicmFyeS9zcmMvY29sbGVjdGlvbnMvZm9udC9fcmVzcG9uc2l2ZS1mb250c2l6ZS5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9ub2RlX21vZHVsZXMvQGRvZ2dpc3R5bGUvc2Fzcy9saWJyYXJ5L3NyYy9oZWxwZXJzL19icmVhay5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9ub2RlX21vZHVsZXMvQGRvZ2dpc3R5bGUvc2Fzcy9saWJyYXJ5L3NyYy9jcmVhdGUvX2hlYWRpbmdzLnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL192YXJpYWJsZXMvY29sb3Vycy5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9ub2RlX21vZHVsZXMvQGRvZ2dpc3R5bGUvc2Fzcy9saWJyYXJ5L3NyYy9jb2xsZWN0aW9ucy9zdHlsaW5nL19ob3Zlci5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9ub2RlX21vZHVsZXMvQGRvZ2dpc3R5bGUvc2Fzcy9saWJyYXJ5L3NyYy9jcmVhdGUvX3VuaXRzLnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL19jb3JlL2xheW91dC5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9fY29yZS9jb250ZW50LnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL19lbGVtZW50cy9saXN0LnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL192YXJpYWJsZXMvaGVhZGluZ3Muc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvX3ZhcmlhYmxlcy91bml0cy5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9fY29yZS9mb3Jtcy5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9fZWxlbWVudHMvYnV0dG9uLnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL19oZWxwZXJzL21pc2Muc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvX2NvcmUvX2luZGV4LnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL25vZGVfbW9kdWxlcy9AZG9nZ2lzdHlsZS9zYXNzL2xpYnJhcnkvc3JjL2NvbGxlY3Rpb25zL3N0eWxpbmcvX2ltYWdlLnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL25vZGVfbW9kdWxlcy9AZG9nZ2lzdHlsZS9zYXNzL2xpYnJhcnkvc3JjL2NvbGxlY3Rpb25zL3N0eWxpbmcvX2FzcGVjdC1yYXRpby5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9fZWxlbWVudHMvdmlkZW8uc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvX2VsZW1lbnRzL21hcmsuc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvbm9kZV9tb2R1bGVzL0Bkb2dnaXN0eWxlL3Nhc3MvbGlicmFyeS9zcmMvY3JlYXRlL19wYWxldHRlLnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL192YXJpYWJsZXMvdHJhbnNpdGlvbi5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9fZWxlbWVudHMvdGFibGUuc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvY29tcG9uZW50cy9zZWN0aW9ucy9uYXZpZ2F0aW9uLWJhci5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9jb21wb25lbnRzL3NlY3Rpb25zL2hlYWRlci5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9jb21wb25lbnRzL3NlY3Rpb25zL21haW4uc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvX2hlbHBlcnMvY29tcG9uZW50LnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL2NvbXBvbmVudHMvc2VjdGlvbnMvc2lkZS1iYXIuc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvY29tcG9uZW50cy9zZWN0aW9ucy9wYWdlLWJhY2tncm91bmQuc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvY29tcG9uZW50cy9zZWN0aW9ucy9jb250ZW50LXdyYXBwZXIuc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvY29tcG9uZW50cy9zZWN0aW9ucy9mb290ZXIuc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvY29tcG9uZW50cy9jb250ZW50LWJsb2Nrcy9jb250ZW50LWJsb2Nrcy5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9jb21wb25lbnRzL2dsb2JhbC1zZWFyY2guc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNpdGUvc3JjL3Nhc3MvY29tcG9uZW50cy9tb2RhbC5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9BQkwlMjBIZWF0c2lua3MvV2Vic2l0ZS9zcmMvc2Fzcy9fZWxlbWVudHMvbG9hZGVyLnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL0FCTCUyMEhlYXRzaW5rcy9XZWJzaXRlL3NyYy9zYXNzL2NvbXBvbmVudHMvYmFjay10by10b3Auc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvQUJMJTIwSGVhdHNpbmtzL1dlYnNp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O0VBQ0EsZUFBQTtBekMybkZGOztBMkNyMEZBO0VBQ0Usb0JBQUE7RUFDQSxpQkFBQTtFQUNBLHFCQUFBO0VBQ0EsbUJBQUE7RUFFQSxjQUFBO0VBQ0EsZUFBQTtFQUNBLHVEQUFBO0VBQ0EsdURBQUE7RXJCSEQsb0NxQklpQjtFckJIakIscUNxQkdpQjtFQUNoQixtQi9CS2tCO0UrQkpsQix5QkFBQTtFQUNBLGtCQUFBO0VBQ0EsYUFBQTtFQUdBLG1CQUFBO0VBQ0EsNFFBQUE7RUFnQkEsYUFBQTtBM0N1ekZGO0EyQ3IwRkU7RUFDRSxrQkFBQTtFQUNBLFNBQUE7RXJCaEJILHVCcUJpQm1CO0VyQmhCbkIsd0JxQmdCbUI7RUFDaEIsY2Z5Qlk7QTVCK3lGaEI7QTJDcjBGRTtFQUNFLG1CQUFBO0VBQ0EsVUFBQTtFQUNBLGVBQUE7RUFDQSx5Q0FBQTtBM0N1MEZKOztBVW4yRkU7RWlDb0NBO0lBQ0Usb0NBQUE7RTNDbTBGRjtBQUNGO0E0QzUyRkE7RUFDSSxhQUFBO0VBQ0EsZUFBQTtFQUNBLG1COUIrSE87RThCOUhQLG1CQUFBO0VBQ0EsMkI5QmtHTztBZDR3Rlg7QTRDNTJGSTtFQUNJLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0Esc0JBQUE7S0FBQSxtQkFBQTtBNUM4MkZSO0FVeDNGRTtFa0NIRjtJQWdCUSw4QkFBQTtFNUMrMkZOO0FBQ0YiLCJmaWxlIjoiZ2xvYmFsLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBOb3JtYWxpc2Vyc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8vIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2Vcbi8vLyBAYXV0aG9yIEF1dGhvcnMgbmFtZVxuLy8vIEBzZWUgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcblxuJG5vcm1hbGlzZSAgICAgICAgIDogdHJ1ZSAhZGVmYXVsdDtcbiRiYXNlLWVsZW1lbnRzICAgICA6IHRydWUgIWRlZmF1bHQ7XG4kc2VjdGlvbi1lbGVtZW50cyAgOiB0cnVlICFkZWZhdWx0O1xuJGhlYWRlci1lbGVtZW50cyAgIDogdHJ1ZSAhZGVmYXVsdDtcbiRncm91cGluZy1lbGVtZW50cyA6IHRydWUgIWRlZmF1bHQ7XG4kdGFibGUtZWxlbWVudHMgICAgOiB0cnVlICFkZWZhdWx0O1xuJGZvcm0tZWxlbWVudHMgICAgIDogdHJ1ZSAhZGVmYXVsdDtcbiRlbWJlZGRlZC1lbGVtZW50cyA6IHRydWUgIWRlZmF1bHQ7XG4kdGV4dC1lbGVtZW50cyAgICAgOiB0cnVlICFkZWZhdWx0O1xuJGRldi1lbGVtZW50cyAgICAgIDogdHJ1ZSAhZGVmYXVsdDtcblxuQGlmICRub3JtYWxpc2Uge1xuXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXHQvLyBCYXNlIEVsZW1lbnRzXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXG5cdEBpZiAkYmFzZS1lbGVtZW50cyB7XG5cblx0XHRodG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsXG5cdFx0YmxvY2txdW90ZSwgcHJlLCBhLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsIGRlbCwgZGZuLCBlbSxcblx0XHRpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLCBzbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLCBiLCB1LCBpLFxuXHRcdGNlbnRlciwgZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSwgZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsIHRhYmxlLFxuXHRcdGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsIGFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsXG5cdFx0ZW1iZWQsIGZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksXG5cdFx0c2VjdGlvbiwgc3VtbWFyeSwgdGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRib3JkZXI6IDA7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cdFx0fVxuXG5cdFx0OnJvb3Qge1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcblx0XHR9XG5cblx0XHQqLCAqOmFmdGVyLCAqOmJlZm9yZSB7XG5cdFx0XHQmOmZvY3VzIHsgb3V0bGluZTowOyB9O1xuXHRcdFx0Ym94LXNpemluZzppbmhlcml0O1xuXHRcdH1cblxuXHRcdGh0bWwgeyBcblx0XHRcdGhlaWdodDoxMDAlOyBcblx0XHRcdGZvbnQtc2l6ZTo2Mi41JTsgXG5cdFx0XHRibG9jay1zaXplOiAxMDAlO1xuXHRcdFx0aW5saW5lLXNpemU6IDEwMCU7XG5cdFx0fVxuXG5cdFx0Ym9keSB7IFxuXHRcdFx0bWluLWJsb2NrLXNpemU6IDEwMCU7XG5cdFx0XHRtaW4taW5saW5lLXNpemU6IDEwMCU7XG5cdFx0fVxuXG5cdFx0aHRtbCwgYm9keSB7XG5cdFx0XHRtaW4taGVpZ2h0OjEwMCU7XG5cdFx0fVxuXG5cdFx0cCwgcHJlLCBibG9ja3F1b3RlLCBvbCwgdWwsIGxpLCBsZWdlbmQsIGZpZ2NhcHRpb24sIGJvZHksIGFydGljbGUsIG5hdiwgYXNpZGUsIHNlY3Rpb24sIGhlYWRlciwgZm9vdGVyLCBhZGRyZXNzIHtcblx0XHRcdCY6ZW1wdHkgeyBkaXNwbGF5Om5vbmU7IH1cblx0XHR9XG5cblx0XHRhcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgbWFpbiwgbWVudSwgbmF2LCBzZWN0aW9uLCBzdW1tYXJ5IHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblxuXHRcdHN2Zywgc3ltYm9sIHsgb3ZlcmZsb3c6dmlzaWJsZTsgfVxuXG5cdFx0ZGV0YWlscyB7IGRpc3BsYXk6IGJsb2NrO1x0fVxuXG5cdFx0c3VtbWFyeSB7XG5cdFx0XHRkaXNwbGF5OiBsaXN0LWl0ZW07XG5cdFx0XHQtd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtcblx0XHRcdCY6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIsICY6Om1hcmtlciB7IGRpc3BsYXk6bm9uZTsgfVxuXHRcdH1cblxuXHRcdHRlbXBsYXRlIHsgZGlzcGxheTogbm9uZTtcdH1cblxuXHRcdFtoaWRkZW5dIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cdH1cblxuXHQvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLy9cblx0Ly8gU2VjdGlvbiBFbGVtZW50c1xuXHQvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLy9cblxuXHRAaWYgJHNlY3Rpb24tZWxlbWVudHMge1xuXG5cdFx0Ym9keSB7XG5cdFx0XHR0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuXHRcdFx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdFx0XHR3aWR0aDoxMDAlO1xuXHRcdH1cblxuXHRcdGFkZHJlc3Mge1xuXHRcdFx0Zm9udC1zdHlsZTpub3JtYWw7XG5cdFx0fVxuXG5cdH1cblxuXHQvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLy9cblx0Ly8gSGVhZGVyIEVsZW1lbnRzXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXG5cdEBpZiAkaGVhZGVyLWVsZW1lbnRzIHtcblxuXHRcdGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuXHRcdFx0LXdlYmtpdC1tYXJnaW4tYmVmb3JlOjBlbTtcblx0XHRcdC13ZWJraXQtbWFyZ2luLWFmdGVyOjBlbTtcblx0XHRcdC13ZWJraXQtbWFyZ2luLXN0YXJ0OjBweDtcblx0XHRcdC13ZWJraXQtbWFyZ2luLWVuZDowcHg7XG5cdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdH1cblxuXHR9XG5cblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXG5cdC8vIEdyb3VwaW5nIEVsZW1lbnRzXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXG5cdEBpZiAkZ3JvdXBpbmctZWxlbWVudHMge1xuXG5cdFx0aHIge1xuXHRcdFx0Ym9yZGVyOm5vbmU7XG5cdFx0XHRoZWlnaHQ6MXB4O1xuXHRcdFx0Ym94LXNpemluZzogY29udGVudC1ib3g7XG5cdFx0XHRvdmVyZmxvdzogdmlzaWJsZTtcblx0XHR9XG5cblx0XHRibG9ja3F1b3RlLCBxIHtcblx0XHRcdHF1b3Rlczogbm9uZTtcblx0XHRcdCY6YmVmb3JlLCAmOmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdGNvbnRlbnQ6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cHJlIHtcblx0XHRcdGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcblx0XHRcdGZvbnQtc2l6ZTogMWVtO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG5cdFx0XHRjb2xvcjogYmxhY2s7XG5cdFx0XHRwYWRkaW5nOjE2cHg7XG5cdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRcdHotaW5kZXg6OTk5OTtcblx0XHR9XG5cblx0fVxuXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXHQvLyBUYWJsZSBFbGVtZW50c1xuXHQvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLy9cblxuXHRAaWYgJHRhYmxlLWVsZW1lbnRzIHtcblxuXHRcdHRhYmxlIHtcblx0XHRcdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdFx0XHRib3JkZXItc3BhY2luZzogMDtcblx0XHR9XG5cblx0fVxuXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXHQvLyBGb3JtIEVsZW1lbnRzXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXG5cdEBpZiAkZm9ybS1lbGVtZW50cyB7XG5cblx0XHRidXR0b24ge1xuXHRcdFx0dG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG5cdFx0fVxuXG5cdFx0YnV0dG9uLFx0aW5wdXQsIG9wdGdyb3VwLFx0c2VsZWN0LFx0dGV4dGFyZWEge1xuXHRcdFx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cdFx0XHRmb250LXNpemU6IDEwMCU7XG5cdFx0XHRsaW5lLWhlaWdodDogMS4xNTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cblx0XHRidXR0b24sXHRpbnB1dCB7XG5cdFx0XHRvdmVyZmxvdzogdmlzaWJsZTtcblx0XHR9XG5cblx0XHRidXR0b24sXHRzZWxlY3Qge1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdFx0fVxuXG5cdFx0YnV0dG9uLFxuXHRcdFt0eXBlPVwiYnV0dG9uXCJdLFxuXHRcdFt0eXBlPVwicmVzZXRcIl0sXG5cdFx0W3R5cGU9XCJzdWJtaXRcIl0ge1xuXHRcdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG5cdFx0XHRiYWNrZ3JvdW5kOm5vbmU7XG5cdFx0XHRib3JkZXI6bm9uZTtcblx0XHRcdHBhZGRpbmc6MDtcblx0XHRcdG1hcmdpbjowO1xuXHRcdFx0Y3Vyc29yOnBvaW50ZXI7XG5cdFx0XHQmOmZvY3VzIHsgb3V0bGluZTowOyB9XG5cdFx0fVxuXG5cdFx0YnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuXHRcdFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuXHRcdFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5cdFx0W3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuXHRcdFx0Ym9yZGVyLXN0eWxlOiBub25lO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHR9XG5cblx0XHRidXR0b246LW1vei1mb2N1c3JpbmcsXG5cdFx0W3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5cdFx0W3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblx0XHRbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG5cdFx0XHRvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG5cdFx0fVxuXG5cdFx0ZmllbGRzZXQge1xuXHRcdFx0cGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xuXHRcdH1cblxuXHRcdGxlZ2VuZCB7XG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0XHRkaXNwbGF5OiB0YWJsZTtcblx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXHRcdH1cblxuXHRcdHByb2dyZXNzIHtcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblx0XHR9XG5cblx0XHRbdHlwZT1cImNoZWNrYm94XCJdLFxuXHRcdFt0eXBlPVwicmFkaW9cIl0ge1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0fVxuXG5cdFx0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5cdFx0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdH1cblxuXHRcdFt0eXBlPVwic2VhcmNoXCJdIHtcblx0XHRcdC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuXHRcdFx0b3V0bGluZS1vZmZzZXQ6IC0ycHg7XG5cdFx0fVxuXG5cdFx0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuXHRcdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHRcdH1cblx0XHQ6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcblx0XHRcdC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuXHRcdFx0Zm9udDogaW5oZXJpdDtcblx0XHR9XG5cblx0XHRbZGlzYWJsZWRdIHtcblx0XHRcdGN1cnNvcjogZGVmYXVsdDtcblx0XHR9XG5cblx0fVxuXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXHQvLyBFbWJlZGRlZCBFbGVtZW50c1xuXHQvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLy9cblxuXHRAaWYgJGVtYmVkZGVkLWVsZW1lbnRzIHtcblxuXHRcdGltZyB7XG5cdFx0XHRib3JkZXItc3R5bGU6IG5vbmU7XG5cdFx0fVxuXG5cdH1cblxuXHQvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLy9cblx0Ly8gVGV4dCBFbGVtZW50c1xuXHQvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLy9cblxuXHRAaWYgJHRleHQtZWxlbWVudHMge1xuXG5cdFx0ZW0ge1xuXHRcdFx0Zm9udC1zdHlsZTppdGFsaWM7XG5cdFx0fVxuXG5cdFx0YSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOm5vbmU7XG5cdFx0XHR0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcblx0XHR9XG5cblx0XHRhYmJyW3RpdGxlXSB7XG5cdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG5cdFx0fVxuXG5cdFx0Yiwgc3Ryb25nIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdH1cblxuXHRcdGNvZGUsXHRrYmQsIHNhbXAge1xuXHRcdFx0Zm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuXHRcdFx0Zm9udC1zaXplOiAxZW07XG5cdFx0fVxuXG5cdFx0c21hbGwge1xuXHRcdFx0Zm9udC1zaXplOiA4MCU7XG5cdFx0fVxuXG5cdFx0c3ViLCBzdXAge1xuXHRcdFx0Zm9udC1zaXplOiA3NSU7XG5cdFx0XHRsaW5lLWhlaWdodDogMDtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblx0XHR9XG5cblx0XHRzdWIge1xuXHRcdFx0Ym90dG9tOiAtMC4yNWVtO1xuXHRcdH1cblxuXHRcdHN1cCB7XG5cdFx0XHR0b3A6IC0wLjVlbTtcblx0XHR9XG5cblx0XHR0ZXh0YXJlYSB7XG5cdFx0XHRyZXNpemU6bm9uZTtcblx0XHRcdG92ZXJmbG93OiBhdXRvO1xuXHRcdH1cblxuXHR9XG5cblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXG5cdC8vIERldmVsb3BtZW50IEVsZW1lbnRzXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXG5cdEBpZiAkZGV2LWVsZW1lbnRzIHtcblxuXHRcdHByZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO1xuXHRcdFx0Y29sb3I6YmxhY2s7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTpub25lO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOm5vbmU7XG5cdFx0XHR0ZXh0LWFsaWduOmxlZnQ7XG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0Zm9udC1zaXplOjE2cHg7XG5cdFx0XHRwYWRkaW5nOjE2cHg7XG5cdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRcdHotaW5kZXg6OTk5O1xuXHRcdH1cblx0XHRcblx0XHRib2R5LmRldm1vZGUge1xuXHRcdFx0aW1nOm5vdChbYWx0XSkge1xuXHRcdFx0XHRib3JkZXI6IDJweCByZWQgZGFzaGVkO1xuXHRcdFx0fVxuXHRcdH1cblxuXHR9XG59XG4iLCJodG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LCBpZnJhbWUsIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsXG5ibG9ja3F1b3RlLCBwcmUsIGEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSwgZGVsLCBkZm4sIGVtLFxuaW1nLCBpbnMsIGtiZCwgcSwgcywgc2FtcCwgc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhciwgYiwgdSwgaSxcbmNlbnRlciwgZGwsIGR0LCBkZCwgb2wsIHVsLCBsaSwgZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsIHRhYmxlLFxuY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCwgYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscyxcbmVtYmVkLCBmaWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LFxuc2VjdGlvbiwgc3VtbWFyeSwgdGltZSwgbWFyaywgYXVkaW8sIHZpZGVvIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuOnJvb3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG59XG5cbiosICo6YWZ0ZXIsICo6YmVmb3JlIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cbio6Zm9jdXMsICo6YWZ0ZXI6Zm9jdXMsICo6YmVmb3JlOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cblxuaHRtbCB7XG4gIGhlaWdodDogMTAwJTtcbiAgZm9udC1zaXplOiA2Mi41JTtcbiAgYmxvY2stc2l6ZTogMTAwJTtcbiAgaW5saW5lLXNpemU6IDEwMCU7XG59XG5cbmJvZHkge1xuICBtaW4tYmxvY2stc2l6ZTogMTAwJTtcbiAgbWluLWlubGluZS1zaXplOiAxMDAlO1xufVxuXG5odG1sLCBib2R5IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbn1cblxucDplbXB0eSwgcHJlOmVtcHR5LCBibG9ja3F1b3RlOmVtcHR5LCBvbDplbXB0eSwgdWw6ZW1wdHksIGxpOmVtcHR5LCBsZWdlbmQ6ZW1wdHksIGZpZ2NhcHRpb246ZW1wdHksIGJvZHk6ZW1wdHksIGFydGljbGU6ZW1wdHksIG5hdjplbXB0eSwgYXNpZGU6ZW1wdHksIHNlY3Rpb246ZW1wdHksIGhlYWRlcjplbXB0eSwgZm9vdGVyOmVtcHR5LCBhZGRyZXNzOmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIG1haW4sIG1lbnUsIG5hdiwgc2VjdGlvbiwgc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5zdmcsIHN5bWJvbCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cbnN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIsIHN1bW1hcnk6Om1hcmtlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5ib2R5IHtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5hZGRyZXNzIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgLXdlYmtpdC1tYXJnaW4tYmVmb3JlOiAwZW07XG4gIC13ZWJraXQtbWFyZ2luLWFmdGVyOiAwZW07XG4gIC13ZWJraXQtbWFyZ2luLXN0YXJ0OiAwcHg7XG4gIC13ZWJraXQtbWFyZ2luLWVuZDogMHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG5ociB7XG4gIGJvcmRlcjogbm9uZTtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuYmxvY2txdW90ZSwgcSB7XG4gIHF1b3Rlczogbm9uZTtcbn1cbmJsb2NrcXVvdGU6YmVmb3JlLCBibG9ja3F1b3RlOmFmdGVyLCBxOmJlZm9yZSwgcTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogYmxhY2s7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogOTk5OTtcbn1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxuYnV0dG9uIHtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cbmJ1dHRvbiwgaW5wdXQsIG9wdGdyb3VwLCBzZWxlY3QsIHRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIG1hcmdpbjogMDtcbn1cblxuYnV0dG9uLCBpbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG5idXR0b24sIHNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5idXR0b24sXG5bdHlwZT1idXR0b25dLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9c3VibWl0XSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuYnV0dG9uOmZvY3VzLFxuW3R5cGU9YnV0dG9uXTpmb2N1cyxcblt0eXBlPXJlc2V0XTpmb2N1cyxcblt0eXBlPXN1Ym1pdF06Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1idXR0b25dOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9cmVzZXRdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9c3VibWl0XTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9YnV0dG9uXTotbW96LWZvY3VzcmluZyxcblt0eXBlPXJlc2V0XTotbW96LWZvY3VzcmluZyxcblt0eXBlPXN1Ym1pdF06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7XG59XG5cblt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5bdHlwZT1zZWFyY2hdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuXG5bdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGZvbnQ6IGluaGVyaXQ7XG59XG5cbltkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuZW0ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbn1cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xufVxuXG5iLCBzdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuY29kZSwga2JkLCBzYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuc3ViLCBzdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbnByZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogYmxhY2s7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogOTk5O1xufVxuXG5ib2R5LmRldm1vZGUgaW1nOm5vdChbYWx0XSkge1xuICBib3JkZXI6IDJweCByZWQgZGFzaGVkO1xufVxuXG4vKiB6LWluZGV4ZXMgYXJlIGxhcmdlIGR1ZSB0byB0aGUgZmFjdCB0aGF0IHRoaW5ncyBtaWdodCBjaGFuZ2VcbiAqIGluIHRoZSBmdXR1cmUuIEluIG9yZGVyIHRvIGFjY291bnQgZm9yIHNjYWxhYmlsaXR5LCB0aGlzIGdpdmVzXG4gKiByb29tIHRvIG1ha2UgY2hhbmdlcyBhbmQgbm90IGJyZWFrIHRoZSBlbnRpcmUgc2l0ZSwgbWVhbmluZyBcbiAqIHdlIHdvbid0IGhhdmUgdG8gZ28gaW4gYW5kIHJlZmFjdG9yIGEgbG90IG9mIG91ciBjb2RlLlxuICovXG4vKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIElOUFVUU1xuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICBDT05UQUlORVJTXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cdEJhc2UgcmVzdWx0IHN0eWxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cblx0VmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIEJhc2Ugc3R5bGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIFdpdGggc2Vjb25kYXJ5IHNlY3Rpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBDaGVja2JveCB0YWdzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgU3RhdGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImxhdG9cIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1ib2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1ib2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tYm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImxhdG9cIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1zZW1pYm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tc2VtaWJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1zZW1pYm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImxhdG9cIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1yZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1yZWd1bGFyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tcmVndWxhci5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1tZWRpdW0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LW1lZGl1bS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LW1lZGl1bS5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1tZWRpdW0taXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1tZWRpdW0taXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtbWVkaXVtLWl0YWxpYy5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1zZW1pYm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtc2VtaWJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1zZW1pYm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1yZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1yZWd1bGFyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtcmVndWxhci5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1leHRyYWJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LWV4dHJhYm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LWV4dHJhYm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogODAwO1xufVxuOnJvb3Qge1xuICAtLXByaW1hcnk6ICNGRkZGRkY7XG4gIC0tc2Vjb25kYXJ5OiAjMTMxZjZiO1xuICAtLWJyZWFrcG9pbnQtbWluOiAzMjBweDtcbiAgLS1icmVha3BvaW50LXNtYWxsOiA0ODBweDtcbiAgLS1icmVha3BvaW50LXNtYWxsLW1lZGl1bTogOTgwcHg7XG4gIC0tYnJlYWtwb2ludC1tZWRpdW06IDExMjBweDtcbiAgLS1icmVha3BvaW50LWxhcmdlOiAxNDAwcHg7XG4gIC0tYnJlYWtwb2ludC1tYXg6IDE2ODBweDtcbiAgLS1mb250LWNvbG91cjogdmFyKC0tdGhlbWUtZm9udCwgIzZBNkE2QSk7XG4gIC0taGVhZGluZy1jb2xvdXI6IHZhcigtLXRoZW1lLWhlYWRpbmcsICNGRkZGRkYpO1xuICAtLXN1Yi1oZWFkaW5nLWNvbG91cjogdmFyKC0tc2Vjb25kYXJ5LCAjMTMxZjZiKTtcbiAgLS10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAtLXRyYW5zaXRpb24tZWFzZTogY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpO1xuICAtLXRyYW5zaXRpb24tZGVsYXk6IDtcbiAgLS1nYXA6IDE2cHg7XG4gIC0tZ3V0dGVyOiAzdnc7XG4gIC0tc3BhY2VyOiA0dmg7XG4gIC0tZ3V0dGVyMDogY2xhbXAoOHB4LCB2YXIoLS1ndXR0ZXIpICogMC41LCAxMnB4KTtcbiAgLS1ndXR0ZXIwLTogY2FsYygtMSAqIGNsYW1wKDhweCwgdmFyKC0tZ3V0dGVyKSAqIDAuNSwgMTJweCkpO1xuICAtLXNwYWNlcjA6IGNsYW1wKDE2cHgsIHZhcigtLXNwYWNlciksIDMycHgpO1xuICAtLXNwYWNlcjAtOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tc3BhY2VyKSwgMzJweCkpO1xuICAtLWd1dHRlcjE6IGNsYW1wKDE2cHgsIHZhcigtLWd1dHRlciksIDMycHgpO1xuICAtLWd1dHRlcjEtOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tZ3V0dGVyKSwgMzJweCkpO1xuICAtLXNwYWNlcjE6IGNsYW1wKDE2cHgsIHZhcigtLXNwYWNlcikgKiAzLCA2NHB4KTtcbiAgLS1zcGFjZXIxLTogY2FsYygtMSAqIGNsYW1wKDE2cHgsIHZhcigtLXNwYWNlcikgKiAzLCA2NHB4KSk7XG4gIC0tZ3V0dGVyMjogY2xhbXAoMTZweCwgdmFyKC0tZ3V0dGVyKSAqIDIsIDQ4cHgpO1xuICAtLWd1dHRlcjItOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tZ3V0dGVyKSAqIDIsIDQ4cHgpKTtcbiAgLS1zcGFjZXIyOiBjbGFtcCgxNnB4LCB2YXIoLS1zcGFjZXIpICogNiwgMTEycHgpO1xuICAtLXNwYWNlcjItOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tc3BhY2VyKSAqIDYsIDExMnB4KSk7XG4gIC0tZ3V0dGVyMzogY2xhbXAoMTZweCwgdmFyKC0tZ3V0dGVyKSAqIDMsIDY0cHgpO1xuICAtLWd1dHRlcjMtOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tZ3V0dGVyKSAqIDMsIDY0cHgpKTtcbiAgLS1zcGFjZXIzOiBjbGFtcCgxNnB4LCB2YXIoLS1zcGFjZXIpICogOSwgMTYwcHgpO1xuICAtLXNwYWNlcjMtOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tc3BhY2VyKSAqIDksIDE2MHB4KSk7XG4gIC0tZ3V0dGVyNDogY2xhbXAoMTZweCwgdmFyKC0tZ3V0dGVyKSAqIDQsIDgwcHgpO1xuICAtLWd1dHRlcjQtOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tZ3V0dGVyKSAqIDQsIDgwcHgpKTtcbiAgLS1zcGFjZXI0OiBjbGFtcCgxNnB4LCB2YXIoLS1zcGFjZXIpICogMTIsIDIwOHB4KTtcbiAgLS1zcGFjZXI0LTogY2FsYygtMSAqIGNsYW1wKDE2cHgsIHZhcigtLXNwYWNlcikgKiAxMiwgMjA4cHgpKTtcbiAgLS1ndXR0ZXI1OiBjbGFtcCgxNnB4LCB2YXIoLS1ndXR0ZXIpICogNSwgOTZweCk7XG4gIC0tZ3V0dGVyNS06IGNhbGMoLTEgKiBjbGFtcCgxNnB4LCB2YXIoLS1ndXR0ZXIpICogNSwgOTZweCkpO1xuICAtLXNwYWNlcjU6IGNsYW1wKDE2cHgsIHZhcigtLXNwYWNlcikgKiAxNSwgMjU2cHgpO1xuICAtLXNwYWNlcjUtOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tc3BhY2VyKSAqIDE1LCAyNTZweCkpO1xuICAtLWd1dHRlcjY6IGNsYW1wKDE2cHgsIHZhcigtLWd1dHRlcikgKiA2LCAxMTJweCk7XG4gIC0tZ3V0dGVyNi06IGNhbGMoLTEgKiBjbGFtcCgxNnB4LCB2YXIoLS1ndXR0ZXIpICogNiwgMTEycHgpKTtcbiAgLS1zcGFjZXI2OiBjbGFtcCgxNnB4LCB2YXIoLS1zcGFjZXIpICogMTgsIDMwNHB4KTtcbiAgLS1zcGFjZXI2LTogY2FsYygtMSAqIGNsYW1wKDE2cHgsIHZhcigtLXNwYWNlcikgKiAxOCwgMzA0cHgpKTtcbn1cbjpyb290IGJvZHlbZGF0YS10aGVtZT1kZWZhdWx0XSB7XG4gIC0tdGhlbWUtcGFnZS1iYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tIHJpZ2h0LCAjMTMxZjZiIDUlLCAjMUUxQTFBIDY2JSk7XG4gIC0tdGhlbWUtY29udGVudC1iYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuICAtLXRoZW1lLWNvbnRlbnQtb3Bwb3NpdGU6ICNGRkZGRkY7XG4gIC0tdGhlbWUtbmF2LWJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIC0tdGhlbWUtbmF2LWJhY2tncm91bmQtbW9iOiAjRkZGRkZGO1xuICAtLXRoZW1lLW5hdi1mb250OiAjRkZGRkZGO1xuICAtLXRoZW1lLW5hdi1mb250LW1vYjogIzEzMWY2YjtcbiAgLS10aGVtZS1uYXYtc3BhY2luZy1jb2xvdXI6IHJnYmEoMTksIDMxLCAxMDcsIDAuMyk7XG4gIC0tdGhlbWUtYWNjZW50OiAjREYzMDM1O1xuICAtLXRoZW1lLWxvZ286ICNGRkZGRkY7XG4gIC0tZm9udC1jb2xvdXI6ICNGRkZGRkY7XG4gIC0taGVhZGluZy1jb2xvdXI6ICNGRkZGRkY7XG59XG46cm9vdCBib2R5W2RhdGEtdGhlbWU9d2hpdGVdIHtcbiAgLS10aGVtZS1wYWdlLWJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgYm90dG9tLCAjMTAxMjRkIDU1JSwgIzE3MjU4MiAxMDAlKTtcbiAgLS10aGVtZS1jb250ZW50LWJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gIC0tdGhlbWUtY29udGVudC1vcHBvc2l0ZTogI0ZGRkZGRjtcbiAgLS10aGVtZS1uYXYtYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgLS10aGVtZS1uYXYtYmFja2dyb3VuZC1tb2I6ICMxMzFmNmI7XG4gIC0tdGhlbWUtbmF2LWZvbnQ6ICNGRkZGRkY7XG4gIC0tdGhlbWUtbmF2LWZvbnQtbW9iOiAjRkZGRkZGO1xuICAtLXRoZW1lLW5hdi1zcGFjaW5nLWNvbG91cjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICAtLXRoZW1lLWFjY2VudDogI0RGMzAzNTtcbiAgLS10aGVtZS1sb2dvOiAjRkZGRkZGO1xuICAtLWZvbnQtY29sb3VyOiAjMUUxQTFBO1xuICAtLWhlYWRpbmctY29sb3VyOiAjMTMxZjZiO1xufVxuOnJvb3QgYm9keVtkYXRhLXRoZW1lPWJsYWNrXSB7XG4gIC0tdGhlbWUtcGFnZS1iYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tIHJpZ2h0LCAjMTMxZjZiIDUlLCAjMUUxQTFBIDY2JSk7XG4gIC0tdGhlbWUtY29udGVudC1iYWNrZ3JvdW5kOiAjMUUxQTFBO1xuICAtLXRoZW1lLWNvbnRlbnQtb3Bwb3NpdGU6ICNGRkZGRkY7XG4gIC0tdGhlbWUtbmF2LWJhY2tncm91bmQ6ICNGRkZGRkY7XG4gIC0tdGhlbWUtbmF2LWJhY2tncm91bmQtbW9iOiAjRkZGRkZGO1xuICAtLXRoZW1lLW5hdi1mb250OiAjMTMxZjZiO1xuICAtLXRoZW1lLW5hdi1mb250LW1vYjogIzEzMWY2YjtcbiAgLS10aGVtZS1uYXYtc3BhY2luZy1jb2xvdXI6IHJnYmEoMTksIDMxLCAxMDcsIDAuMyk7XG4gIC0tdGhlbWUtZm9udDogI0ZGRkZGRjtcbiAgLS10aGVtZS1hY2NlbnQ6ICNERjMwMzU7XG4gIC0tdGhlbWUtbG9nbzogIzEzMWY2YjtcbiAgLS1mb250LWNvbG91cjogI0ZGRkZGRjtcbiAgLS1oZWFkaW5nLWNvbG91cjogI0ZGRkZGRjtcbn1cbkBzdXBwb3J0cyBub3QgKHdpZHRoOiBjbGFtcCgxcHgsIDV2dywgMTBweCkpIHtcbiAgOnJvb3Qge1xuICAgIC0tZ3V0dGVyMDogY2FsYygodmFyKC0tZ3V0dGVyKSAqIDAuNSkgKyA4cHgpO1xuICAgIC0tZ3V0dGVyMC06IGNhbGMoLTEgKiBjYWxjKCh2YXIoLS1ndXR0ZXIpICogMC41KSArIDhweCkpO1xuICAgIC0tc3BhY2VyMDogY2FsYygodmFyKC0tc3BhY2VyKSAqIDIpICsgMTZweCk7XG4gICAgLS1zcGFjZXIwLTogY2FsYygtMSAqIGNhbGMoKHZhcigtLXNwYWNlcikgKiAyKSArIDE2cHgpKTtcbiAgICAtLWd1dHRlcjE6IGNhbGMoKHZhcigtLWd1dHRlcikgKiAxKSArIDE2cHgpO1xuICAgIC0tZ3V0dGVyMS06IGNhbGMoLTEgKiBjYWxjKCh2YXIoLS1ndXR0ZXIpICogMSkgKyAxNnB4KSk7XG4gICAgLS1zcGFjZXIxOiBjYWxjKCh2YXIoLS1zcGFjZXIpICogNCkgKyAxNnB4KTtcbiAgICAtLXNwYWNlcjEtOiBjYWxjKC0xICogY2FsYygodmFyKC0tc3BhY2VyKSAqIDQpICsgMTZweCkpO1xuICAgIC0tZ3V0dGVyMjogY2FsYygodmFyKC0tZ3V0dGVyKSAqIDIpICsgMTZweCk7XG4gICAgLS1ndXR0ZXIyLTogY2FsYygtMSAqIGNhbGMoKHZhcigtLWd1dHRlcikgKiAyKSArIDE2cHgpKTtcbiAgICAtLXNwYWNlcjI6IGNhbGMoKHZhcigtLXNwYWNlcikgKiA4KSArIDE2cHgpO1xuICAgIC0tc3BhY2VyMi06IGNhbGMoLTEgKiBjYWxjKCh2YXIoLS1zcGFjZXIpICogOCkgKyAxNnB4KSk7XG4gICAgLS1ndXR0ZXIzOiBjYWxjKCh2YXIoLS1ndXR0ZXIpICogMykgKyAxNnB4KTtcbiAgICAtLWd1dHRlcjMtOiBjYWxjKC0xICogY2FsYygodmFyKC0tZ3V0dGVyKSAqIDMpICsgMTZweCkpO1xuICAgIC0tc3BhY2VyMzogY2FsYygodmFyKC0tc3BhY2VyKSAqIDEyKSArIDE2cHgpO1xuICAgIC0tc3BhY2VyMy06IGNhbGMoLTEgKiBjYWxjKCh2YXIoLS1zcGFjZXIpICogMTIpICsgMTZweCkpO1xuICAgIC0tZ3V0dGVyNDogY2FsYygodmFyKC0tZ3V0dGVyKSAqIDQpICsgMTZweCk7XG4gICAgLS1ndXR0ZXI0LTogY2FsYygtMSAqIGNhbGMoKHZhcigtLWd1dHRlcikgKiA0KSArIDE2cHgpKTtcbiAgICAtLXNwYWNlcjQ6IGNhbGMoKHZhcigtLXNwYWNlcikgKiAxNikgKyAxNnB4KTtcbiAgICAtLXNwYWNlcjQtOiBjYWxjKC0xICogY2FsYygodmFyKC0tc3BhY2VyKSAqIDE2KSArIDE2cHgpKTtcbiAgICAtLWd1dHRlcjU6IGNhbGMoKHZhcigtLWd1dHRlcikgKiA1KSArIDE2cHgpO1xuICAgIC0tZ3V0dGVyNS06IGNhbGMoLTEgKiBjYWxjKCh2YXIoLS1ndXR0ZXIpICogNSkgKyAxNnB4KSk7XG4gICAgLS1zcGFjZXI1OiBjYWxjKCh2YXIoLS1zcGFjZXIpICogMjApICsgMTZweCk7XG4gICAgLS1zcGFjZXI1LTogY2FsYygtMSAqIGNhbGMoKHZhcigtLXNwYWNlcikgKiAyMCkgKyAxNnB4KSk7XG4gICAgLS1ndXR0ZXI2OiBjYWxjKCh2YXIoLS1ndXR0ZXIpICogNikgKyAxNnB4KTtcbiAgICAtLWd1dHRlcjYtOiBjYWxjKC0xICogY2FsYygodmFyKC0tZ3V0dGVyKSAqIDYpICsgMTZweCkpO1xuICAgIC0tc3BhY2VyNjogY2FsYygodmFyKC0tc3BhY2VyKSAqIDI0KSArIDE2cHgpO1xuICAgIC0tc3BhY2VyNi06IGNhbGMoLTEgKiBjYWxjKCh2YXIoLS1zcGFjZXIpICogMjQpICsgMTZweCkpO1xuICB9XG59XG5cbmJvZHkge1xuICBmb250LWZhbWlseTogbW9udHNlcnJhdCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBjb2xvcjogdmFyKC0tZm9udC1jb2xvdXIsICM2QTZBNkEpO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBmb250LXNpemU6IDEuNXJlbTtcbn1cbkBzdXBwb3J0cyAod2lkdGg6IGNsYW1wKDFweCwgNXZ3LCAxMHB4KSkge1xuICBib2R5IHtcbiAgICBmb250LXNpemU6IGNsYW1wKDEuNHJlbSwgMS41dncsIDEuNnJlbSk7XG4gIH1cbn1cbkBzdXBwb3J0cyBub3QgKHdpZHRoOiBjbGFtcCgxcHgsIDV2dywgMTBweCkpIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk1MHB4KSB7XG4gICAgYm9keSB7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE2MDFweCkge1xuICAgIGJvZHkge1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgfVxuICB9XG59XG5cbmgxIHtcbiAgZm9udC1zaXplOiAzLjEyNWVtO1xuICBmb250LXNpemU6IGNsYW1wKDIuNWVtLCA1dncsIDMuMTI1ZW0pO1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbmg0IHtcbiAgZm9udC1zaXplOiAwLjgxMjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuaDUge1xuICBmb250LXNpemU6IDAuODEyNWVtO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG5oNiB7XG4gIGZvbnQtc2l6ZTogMC44MTI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBmb250LWZhbWlseTogbW9udHNlcnJhdCwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBjb2xvcjogdmFyKC0taGVhZGluZy1jb2xvdXIsIHZhcigtLWZvbnQtY29sb3VyKSk7XG59XG5oMS5zdWItaGVhZGluZywgaDIuc3ViLWhlYWRpbmcsIGgzLnN1Yi1oZWFkaW5nLCBoNC5zdWItaGVhZGluZywgaDUuc3ViLWhlYWRpbmcsIGg2LnN1Yi1oZWFkaW5nIHtcbiAgY29sb3I6IHZhcigtLXN1Yi1oZWFkaW5nLWNvbG91cik7XG4gIGZvbnQtZmFtaWx5OiBsYXRvLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5oMSBzcGFuLCBoMSBzdHJvbmcsIGgxIHAsIGgyIHNwYW4sIGgyIHN0cm9uZywgaDIgcCwgaDMgc3BhbiwgaDMgc3Ryb25nLCBoMyBwLCBoNCBzcGFuLCBoNCBzdHJvbmcsIGg0IHAsIGg1IHNwYW4sIGg1IHN0cm9uZywgaDUgcCwgaDYgc3BhbiwgaDYgc3Ryb25nLCBoNiBwIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuYSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogdGV4dC1kZWNvcmF0aW9uLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uOiB1bmRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xufVxuYS5leHRlcm5hbCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuYS5leHRlcm5hbCBzdmcuZXh0ZXJuYWwtbGluayB7XG4gIG9wYWNpdHk6IDAuNjtcbiAgd2lkdGg6IDAuOGVtO1xuICBoZWlnaHQ6IDAuOGVtO1xuICBtYXJnaW4tbGVmdDogMC41ZW07XG59XG5hOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG59XG5cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIGgxIGE6aG92ZXIsIGgyIGE6aG92ZXIsIGgzIGE6aG92ZXIsIGg0IGE6aG92ZXIsIGg2IGE6aG92ZXIsIGg2IGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdmFyKC0taGVhZGluZy1jb2xvdXIpO1xuICB9XG59XG5cbnAsIGEge1xuICBjb2xvcjogdmFyKC0tZm9udC1jb2xvdXIpO1xufVxuXG5vbCwgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG59XG5cbmxpIGEge1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDJweDtcbn1cblxuc21hbGwge1xuICBmb250LXNpemU6IDAuNjI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG59XG5cbmhyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhyLWNvbG91ciwgI0IxQjFCMSk7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tZ2FwKSAqIDIpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWdhcCkgKiAyKTtcbn1cblxuaHRtbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xufVxuXG5ib2R5IHtcbiAgLS1uYXZpZ2F0aW9uLWJhci13aWR0aDogY2xhbXAoMjUwcHgsIDI1dncsIDMwMHB4KTtcbiAgLS1uYXZpZ2F0aW9uLWJhci1oZWlnaHQ6IDEwMHZoO1xuICAtLXNpZGViYXItd2lkdGg6IDMwdnc7XG4gIC0tc2lkZWJhci1tYXgtd2lkdGg6IHZhcigtLXNpZGViYXItd2lkdGgpO1xuICAtLWxvZ28taGVpZ2h0OiAyMDBweDtcbiAgLS1nYXAteDogY2xhbXAoMnJlbSwgNXZ3LCA4cmVtKTtcbiAgLS1nYXAteTogNTBweDtcbiAgLS1yb3ctY29udGVudDogMSAvIC0xO1xuICAtLXJvdy1oZWFkZXI6IGNhbGMoMSArIHZhcigtLWNvbnRlbnQtb2Zmc2V0LCAwKSk7XG4gIC0tcm93LW1haW46IGNhbGMoMiArIHZhcigtLWNvbnRlbnQtb2Zmc2V0LCAwKSk7XG4gIC0tY29sdW1uLW5hdmlnYXRpb246IDE7XG4gIC0tY29sdW1uLWNvbnRlbnQ6IDI7XG4gIC0tY29sdW1uLWhlYWRlcjogMjtcbiAgLS1jb2x1bW4tbWFpbjogMjtcbiAgLS1jb2x1bW4tc2lkZWJhcjogMztcbiAgLS1yb3dzOiB2YXIoLS1sb2dvLWhlaWdodCkgYXV0byAxZnI7XG4gIC0tY29sdW1uczogdmFyKC0tbmF2aWdhdGlvbi1iYXItd2lkdGgpIG1pbm1heCgwLCAxZnIpIGF1dG87XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiB2YXIoLS1nYXAteSkgdmFyKC0tZ2FwLXgpO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IHZhcigtLXJvd3MpO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHZhcigtLWNvbHVtbnMpO1xufVxuYm9keVtkYXRhLXNpZGViYXI9dG9wXSB7XG4gIC0tcm93LXNpZGViYXI6IDEgLyAtMTtcbn1cbmJvZHlbZGF0YS1zaWRlYmFyPWhlYWRlcl0ge1xuICAtLXJvdy1zaWRlYmFyOiB2YXIoLS1yb3ctaGVhZGVyKSAvIC0yO1xufVxuYm9keVtkYXRhLXNpZGViYXI9Y29udGVudF0ge1xuICAtLXJvdy1zaWRlYmFyOiB2YXIoLS1yb3ctbWFpbikgLyAtMjtcbn1cbmJvZHkgbmF2aWdhdGlvbi1iYXIge1xuICBncmlkLXJvdzogdmFyKC0tcm93LW5hdmlnYXRpb24pO1xuICBncmlkLWNvbHVtbjogdmFyKC0tY29sdW1uLW5hdmlnYXRpb24pO1xufVxuYm9keSBtYWluIHtcbiAgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xuICBjb250YWluZXItbmFtZTogbWFpbjtcbn1cbmJvZHkgLmNvbnRlbnQtd3JhcHBlciB7XG4gIGdyaWQtcm93OiB2YXIoLS1yb3ctY29udGVudCk7XG4gIGdyaWQtY29sdW1uOiB2YXIoLS1jb2x1bW4tY29udGVudCk7XG4gIHotaW5kZXg6IDEwMDA7XG59XG5ib2R5IHNpZGUtYmFyIHtcbiAgZ3JpZC1yb3c6IHZhcigtLXJvdy1zaWRlYmFyKTtcbiAgZ3JpZC1jb2x1bW46IHZhcigtLWNvbHVtbi1zaWRlYmFyKTtcbn1cbmJvZHkuaGVhdHNpbmtzLWhvbWUsIGJvZHkuY29tcG9uZW50cy1ob21lIHtcbiAgLS1yb3ctY29udGVudDogMjtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxNDAwcHgpIHtcbiAgYm9keVtkYXRhLXNpZGViYXI9dG9wXSwgYm9keVtkYXRhLXNpZGViYXI9aGVhZGVyXSwgYm9keVtkYXRhLXNpZGViYXI9Y29udGVudF0ge1xuICAgIC0tY29sdW1uLXNpZGViYXI6IDI7XG4gICAgLS1yb3ctY29udGVudDogMSAvIC0yO1xuICB9XG4gIGJvZHlbZGF0YS1zaWRlYmFyPXRvcF0gc2lkZS1iYXIsIGJvZHlbZGF0YS1zaWRlYmFyPWhlYWRlcl0gc2lkZS1iYXIsIGJvZHlbZGF0YS1zaWRlYmFyPWNvbnRlbnRdIHNpZGUtYmFyIHtcbiAgICAtLXJvdy1zaWRlYmFyOiBjYWxjKHZhcigtLXJvdy1jb250ZW50KSArIDMpO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTgwcHgpIHtcbiAgYm9keSB7XG4gICAgcGxhY2UtY29udGVudDogc3RhcnQ7XG4gICAgLS1uYXZpZ2F0aW9uLWNvbnRhaW5lci1oZWlnaHQ6IDYwcHg7XG4gICAgLS1uYXZpZ2F0aW9uLW1vYmlsZS1zZWFyY2gtaGVpZ2h0OiA2MXB4O1xuICAgIC0tcm93czogYXV0byBhdXRvIDFmciBhdXRvO1xuICAgIC0tY29sdW1uczogMCBtaW5tYXgoMCwgMWZyKSAwO1xuICAgIC0tcm93LW5hdmlnYXRpb246IDE7XG4gICAgLS1jb2x1bW4tbmF2aWdhdGlvbjogMSAvIC0xO1xuICB9XG4gIGJvZHk6bm90KC5oZWF0c2lua3MtaG9tZSwgLmNvbXBvbmVudHMtaG9tZSkge1xuICAgIC0tcm93LWNvbnRlbnQ6IDIgLyBzcGFuIDMgIWltcG9ydGFudDtcbiAgfVxuICBib2R5ID4gKiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgYm9keSBtYWluIHtcbiAgICBtYXJnaW4tdG9wOiAtMnJlbTtcbiAgfVxufVxuYm9keS5tb2JpbGUtb3BlbiwgYm9keS5tb2RhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmNvbnRlbnQge1xuICBsaW5lLWhlaWdodDogMS43O1xufVxuLmNvbnRlbnQgdWwgPiBsaTo6YmVmb3JlIHtcbiAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM0UlM0NjaXJjbGUgZmlsbD0nJTIzREE0QjBGJyBjeD0nOCcgY3k9JzgnIHI9JzgnLyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSd3aGl0ZScgc3Ryb2tlLXdpZHRoPScxLjQnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNMy41IDguNGwyLjcgMi43IDYuMy02LjMnLyUzRSUzQy9zdmclM0VcIik7XG59XG4uY29udGVudCB1bCA+IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tbGlzdC1zdHlsZS1zaXplLCAxZW0pICogMS44KTtcbn1cbi5jb250ZW50IHVsID4gbGkgKyBsaSB7XG4gIG1hcmdpbi10b3A6IHZhcigtLWxpbmUtc3R5bGUtc3BhY2luZywgY2FsYyh2YXIoLS1nYXApICogMC41KSk7XG59XG4uY29udGVudCB1bCA+IGxpOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRvcDogMC4xZW07XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IHZhcigtLWxpc3Qtc3R5bGUtc2l6ZSwgMWVtKTtcbiAgaGVpZ2h0OiB2YXIoLS1saXN0LXN0eWxlLXNpemUsIDFlbSk7XG59XG4uY29udGVudCBvbCB7XG4gIGNvdW50ZXItcmVzZXQ6IGNvdW50ZXI7XG59XG4uY29udGVudCBvbCA+IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAyMnB4O1xuICBtYXJnaW4tbGVmdDogdmFyKC0tbGlzdC1zdHlsZS1vZmZzZXQsIDApO1xufVxuLmNvbnRlbnQgb2wgPiBsaSArIGxpIHtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1nYXApICogMC41KTtcbn1cbi5jb250ZW50IG9sID4gbGk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGNvdW50ZXIoY291bnRlcikgXCIuXCI7XG4gIGNvdW50ZXItaW5jcmVtZW50OiBjb3VudGVyO1xuICBjb2xvcjogdmFyKC0tbGlzdC1zdHlsZS1jb2xvdXIsIHZhcigtLWZvbnQtY29sb3VyKSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbn1cbi5jb250ZW50IGgzIHtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG4uY29udGVudCA+ICoge1xuICBtYXJnaW4tYm90dG9tOiAzcmVtO1xufVxuLmNvbnRlbnQgPiAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmNvbnRlbnQgPiB1bCwgLmNvbnRlbnQgPiBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDRyZW07XG59XG4uY29udGVudCBoMSwgLmNvbnRlbnQgaDIsIC5jb250ZW50IGgzLCAuY29udGVudCBoNCwgLmNvbnRlbnQgaDYsIC5jb250ZW50IGg2IHtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcbn1cbi5jb250ZW50IGgxICsgaDEsIC5jb250ZW50IGgxICsgaDIsIC5jb250ZW50IGgxICsgaDMsIC5jb250ZW50IGgxICsgaDQsIC5jb250ZW50IGgxICsgaDUsIC5jb250ZW50IGgxICsgaDYsIC5jb250ZW50IGgyICsgaDEsIC5jb250ZW50IGgyICsgaDIsIC5jb250ZW50IGgyICsgaDMsIC5jb250ZW50IGgyICsgaDQsIC5jb250ZW50IGgyICsgaDUsIC5jb250ZW50IGgyICsgaDYsIC5jb250ZW50IGgzICsgaDEsIC5jb250ZW50IGgzICsgaDIsIC5jb250ZW50IGgzICsgaDMsIC5jb250ZW50IGgzICsgaDQsIC5jb250ZW50IGgzICsgaDUsIC5jb250ZW50IGgzICsgaDYsIC5jb250ZW50IGg0ICsgaDEsIC5jb250ZW50IGg0ICsgaDIsIC5jb250ZW50IGg0ICsgaDMsIC5jb250ZW50IGg0ICsgaDQsIC5jb250ZW50IGg0ICsgaDUsIC5jb250ZW50IGg0ICsgaDYsIC5jb250ZW50IGg2ICsgaDEsIC5jb250ZW50IGg2ICsgaDIsIC5jb250ZW50IGg2ICsgaDMsIC5jb250ZW50IGg2ICsgaDQsIC5jb250ZW50IGg2ICsgaDUsIC5jb250ZW50IGg2ICsgaDYsIC5jb250ZW50IGg2ICsgaDEsIC5jb250ZW50IGg2ICsgaDIsIC5jb250ZW50IGg2ICsgaDMsIC5jb250ZW50IGg2ICsgaDQsIC5jb250ZW50IGg2ICsgaDUsIC5jb250ZW50IGg2ICsgaDYge1xuICBtYXJnaW4tdG9wOiAzcmVtO1xufVxuLmNvbnRlbnQgYSB7XG4gIC0tZm9udC1jb2xvdXI6IHZhcigtLXRoZW1lLWFjY2VudCkgO1xufVxuXG5pbnB1dFt0eXBlPXRleHRdLCBpbnB1dFt0eXBlPWVtYWlsXSwgaW5wdXRbdHlwZT1udW1iZXJdLCBpbnB1dFt0eXBlPXNlYXJjaF0sIHNlbGVjdCwgdGV4dGFyZWEge1xuICAtLWZvbnQtY29sb3VyOiAjNkE2QTZBO1xuICAtLWJhY2tncm91bmQtY29sb3VyOiAjRkZGRkZGO1xuICAtLXBhZGRpbmc6IGNhbGModmFyKC0tZ2FwKSAvIDEuNSkgdmFyKC0tZ2FwKTtcbiAgLS1ib3JkZXItY29sb3VyOiAjZTllOWU5O1xuICAtLWJvcmRlci1yYWRpdXM6IDA7XG4gIG91dGxpbmU6IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTtcbiAgLyogT3BlcmEgMTAuNSwgSUUgOSwgU2FmYXJpIDUsIENocm9tZSwgRmlyZWZveCA0LCBpT1MgNCwgQW5kcm9pZCAyLjErICovXG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbiAgLyogU2FmYXJpIDMtNCwgaU9TIDEtMy4yLCBBbmRyb2lkIDEuNi0gKi9cbiAgLW1vei1ib3JkZXItcmFkaXVzOiAwO1xuICAvKiBGaXJlZm94IDEtMy42ICovXG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtY29sb3VyKTtcbiAgcGFkZGluZzogdmFyKC0tcGFkZGluZyk7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDBweCB0cmFuc3BhcmVudDtcbn1cbmlucHV0W3R5cGU9dGV4dF06OnBsYWNlaG9sZGVyLCBpbnB1dFt0eXBlPWVtYWlsXTo6cGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9bnVtYmVyXTo6cGxhY2Vob2xkZXIsIGlucHV0W3R5cGU9c2VhcmNoXTo6cGxhY2Vob2xkZXIsIHNlbGVjdDo6cGxhY2Vob2xkZXIsIHRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxuaW5wdXRbdHlwZT10ZXh0XTpub3Qoc2VsZWN0KSwgaW5wdXRbdHlwZT1lbWFpbF06bm90KHNlbGVjdCksIGlucHV0W3R5cGU9bnVtYmVyXTpub3Qoc2VsZWN0KSwgaW5wdXRbdHlwZT1zZWFyY2hdOm5vdChzZWxlY3QpLCBzZWxlY3Q6bm90KHNlbGVjdCksIHRleHRhcmVhOm5vdChzZWxlY3QpIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbmlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiwgaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLCBpbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLCBpbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuaW5wdXRbdHlwZT10ZXh0XTpmb2N1cyxcbmlucHV0W3R5cGU9ZW1haWxdOmZvY3VzLFxuaW5wdXRbdHlwZT1udW1iZXJdOmZvY3VzLFxuaW5wdXRbdHlwZT1zZWFyY2hdOmZvY3VzLFxuc2VsZWN0OmZvY3VzLFxudGV4dGFyZWE6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDFweCAxcHggcmdiYSgyMjMsIDQ4LCA1MywgMC4zKTtcbn1cblxuaW5wdXRbdHlwZT1zdWJtaXRdLCBidXR0b25bdHlwZT1zdWJtaXRdIHtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91cjogI0RGMzAzNTtcbiAgLS1mb250LWNvbG91cjogd2hpdGU7XG4gIC0taWNvbi1zaXplOiAwLjhlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBncmlkLWdhcDogY2FsYyh2YXIoLS1nYXApICogMC41KTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgcGFkZGluZzogMS4yNXJlbSAzcmVtIDEuMjVyZW0gNHJlbTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG91cik7XG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG4gIGNsaXAtcGF0aDogcG9seWdvbigwJSAxMDAlLCAxNXB4IDAlLCAxMDAlIDAlLCAxMDAlIDEwMCUpO1xufVxuaW5wdXRbdHlwZT1zdWJtaXRdID4gc3ZnLCBidXR0b25bdHlwZT1zdWJtaXRdID4gc3ZnIHtcbiAgd2lkdGg6IHZhcigtLWljb24tc2l6ZSk7XG4gIGhlaWdodDogdmFyKC0taWNvbi1zaXplKTtcbn1cbmlucHV0W3R5cGU9c3VibWl0XVtkaXNhYmxlZF0sIGJ1dHRvblt0eXBlPXN1Ym1pdF1bZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC40O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbmlucHV0W3R5cGU9c3VibWl0XTpub3QoW2Rpc2FibGVkXSk6aG92ZXIsIGJ1dHRvblt0eXBlPXN1Ym1pdF06bm90KFtkaXNhYmxlZF0pOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5pbnB1dFt0eXBlPXN1Ym1pdF06bm90KFtkaXNhYmxlZF0pOmhvdmVyOjpiZWZvcmUsIGJ1dHRvblt0eXBlPXN1Ym1pdF06bm90KFtkaXNhYmxlZF0pOmhvdmVyOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygxMDAlIC0gMTVweCkpO1xufVxuaW5wdXRbdHlwZT1zdWJtaXRdLnNtYWxsLCBidXR0b25bdHlwZT1zdWJtaXRdLnNtYWxsIHtcbiAgcGFkZGluZzogMC45cmVtIDJyZW0gMC45cmVtIDNyZW07XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbmlucHV0W3R5cGU9c3VibWl0XS5sYXJnZSwgYnV0dG9uW3R5cGU9c3VibWl0XS5sYXJnZSB7XG4gIHBhZGRpbmc6IDEuNHJlbSAzcmVtIDEuNHJlbSA0LjI1cmVtO1xuICBmb250LXNpemU6IDE4cHg7XG59XG5pbnB1dFt0eXBlPXN1Ym1pdF06OmJlZm9yZSwgYnV0dG9uW3R5cGU9c3VibWl0XTo6YmVmb3JlIHtcbiAgLS10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogLTEwMCU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAxNXB4KTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG91cik7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygxMjAlKTtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDEwMCUsIDAlIDAlLCAxMDAlIDAlLCBjYWxjKDEwMCUgLSAxNXB4KSAxMDAlKTtcbiAgei1pbmRleDogLTE7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cblxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1nYXApICogMyk7XG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTcuNCcgaGVpZ2h0PScxMC4xJyUzRSUzQ3BhdGggZD0nTTE2LjcuN2wtOCA4LTgtOCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjM2QTZBNkEnIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDFlbTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gdmFyKC0tZ2FwKSkgY2VudGVyO1xuICB3aWR0aDogbWluLWNvbnRlbnQ7XG59XG5zZWxlY3Qgb3B0aW9uIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLmlucHV0LWNvbnRhaW5lci5ob3Jpem9udGFsIHtcbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbiAhaW1wb3J0YW50O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4uaW5wdXQtY29udGFpbmVyOm5vdCgucmFkaW8sIC5jaGVja2JveCkge1xuICAtLWxhYmVsLWNvbG91cjogdmFyKC0tZm9udC1jb2xvdXIpO1xuICAtLWxhYmVsLWFjdGl2ZS1jb2xvdXI6IHZhcigtLXRoZW1lLWFjY2VudCk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiAxcmVtO1xuICBncmlkLWF1dG8tZmxvdzogcm93O1xufVxuLmlucHV0LWNvbnRhaW5lcjpub3QoLnJhZGlvLCAuY2hlY2tib3gpIGxhYmVsIHtcbiAgY29sb3I6IHZhcigtLWxhYmVsLWNvbG91cik7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxuLmlucHV0LWNvbnRhaW5lcjpub3QoLnJhZGlvLCAuY2hlY2tib3gpIGlucHV0W21heGxlbmd0aF0sIC5pbnB1dC1jb250YWluZXI6bm90KC5yYWRpbywgLmNoZWNrYm94KSBpbnB1dFtzaXplXSB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbn1cbi5pbnB1dC1jb250YWluZXIucmFkaW8sIC5pbnB1dC1jb250YWluZXIuY2hlY2tib3gge1xuICAtLWxhYmVsLWNvbG91cjogdmFyKC0tZm9udC1jb2xvdXIpO1xuICAtLWxhYmVsLWFjdGl2ZS1jb2xvdXI6IHZhcigtLXRoZW1lLWFjY2VudCk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiAxcmVtO1xuICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICAtLWlucHV0LXdpZHRoOiAxLjJlbTtcbiAgLS1pbnB1dC1ib3JkZXItdGhpY2tuZXNzOiAxcHg7XG4gIC0taW5wdXQtYWN0aXZlLWNvbG91cjogI0RGMzAzNTtcbn1cbi5pbnB1dC1jb250YWluZXIucmFkaW8gbGFiZWwsIC5pbnB1dC1jb250YWluZXIuY2hlY2tib3ggbGFiZWwge1xuICBjb2xvcjogdmFyKC0tbGFiZWwtY29sb3VyKTtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG59XG4uaW5wdXQtY29udGFpbmVyLnJhZGlvIGxhYmVsLCAuaW5wdXQtY29udGFpbmVyLmNoZWNrYm94IGxhYmVsIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgZ3JpZC1nYXA6IHZhcigtLWdhcCk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbn1cbi5pbnB1dC1jb250YWluZXIucmFkaW8gbGFiZWw6OmJlZm9yZSwgLmlucHV0LWNvbnRhaW5lci5yYWRpbyBsYWJlbDo6YWZ0ZXIsIC5pbnB1dC1jb250YWluZXIuY2hlY2tib3ggbGFiZWw6OmJlZm9yZSwgLmlucHV0LWNvbnRhaW5lci5jaGVja2JveCBsYWJlbDo6YWZ0ZXIge1xuICBncmlkLXJvdzogMTtcbiAgZ3JpZC1jb2x1bW46IDE7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uaW5wdXQtY29udGFpbmVyLnJhZGlvIGxhYmVsOjpiZWZvcmUsIC5pbnB1dC1jb250YWluZXIuY2hlY2tib3ggbGFiZWw6OmJlZm9yZSB7XG4gIHdpZHRoOiB2YXIoLS1pbnB1dC13aWR0aCk7XG4gIGhlaWdodDogdmFyKC0taW5wdXQtd2lkdGgpO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3JkZXI6IHZhcigtLWlucHV0LWJvcmRlci10aGlja25lc3MsIDFweCkgc29saWQgIzk2OTY5NTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uaW5wdXQtY29udGFpbmVyLnJhZGlvIGxhYmVsOjphZnRlciwgLmlucHV0LWNvbnRhaW5lci5jaGVja2JveCBsYWJlbDo6YWZ0ZXIge1xuICB3aWR0aDogY2FsYyh2YXIoLS1pbnB1dC13aWR0aCkgLSB2YXIoLS1pbnB1dC1ib3JkZXItdGhpY2tuZXNzKSAqIDYpO1xuICBoZWlnaHQ6IGNhbGModmFyKC0taW5wdXQtd2lkdGgpIC0gdmFyKC0taW5wdXQtYm9yZGVyLXRoaWNrbmVzcykgKiA2KTtcbiAgYmFja2dyb3VuZDogdmFyKC0taW5wdXQtYWN0aXZlLWNvbG91cik7XG4gIG9wYWNpdHk6IDA7XG4gIGxlZnQ6IC0xMHB4O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApLCB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbn1cbi5pbnB1dC1jb250YWluZXIucmFkaW8gbGFiZWw6aG92ZXIsIC5pbnB1dC1jb250YWluZXIuY2hlY2tib3ggbGFiZWw6aG92ZXIge1xuICAtLWxhYmVsLWNvbG91cjogdmFyKC0tbGFiZWwtYWN0aXZlLWNvbG91cik7XG59XG4uaW5wdXQtY29udGFpbmVyLnJhZGlvIGxhYmVsOmhvdmVyOjpiZWZvcmUsIC5pbnB1dC1jb250YWluZXIuY2hlY2tib3ggbGFiZWw6aG92ZXI6OmJlZm9yZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0taW5wdXQtYWN0aXZlLWNvbG91cik7XG59XG4uaW5wdXQtY29udGFpbmVyLnJhZGlvIGlucHV0LCAuaW5wdXQtY29udGFpbmVyLmNoZWNrYm94IGlucHV0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5pbnB1dC1jb250YWluZXIucmFkaW8gaW5wdXQ6Y2hlY2tlZCArIGxhYmVsLCAuaW5wdXQtY29udGFpbmVyLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgKyBsYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS1sYWJlbC1hY3RpdmUtY29sb3VyKTtcbn1cbi5pbnB1dC1jb250YWluZXIucmFkaW8gaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOjphZnRlciwgLmlucHV0LWNvbnRhaW5lci5jaGVja2JveCBpbnB1dDpjaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xufVxuLmlucHV0LWNvbnRhaW5lci5yYWRpbyBsYWJlbDo6YmVmb3JlLCAuaW5wdXQtY29udGFpbmVyLnJhZGlvIGxhYmVsOjphZnRlciB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLm11bHRpLWlucHV0IHtcbiAgLS1pbnB1dC1zcGFjaW5nOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLWlucHV0LXNwYWNpbmcpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogZml0LWNvbnRlbnQ7XG59XG4ubXVsdGktaW5wdXQgaW5wdXRbdHlwZT10ZXh0XTpub3Qoc2VsZWN0KSwgLm11bHRpLWlucHV0IGlucHV0W3R5cGU9ZW1haWxdOm5vdChzZWxlY3QpLCAubXVsdGktaW5wdXQgaW5wdXRbdHlwZT1udW1iZXJdOm5vdChzZWxlY3QpLCAubXVsdGktaW5wdXQgaW5wdXRbdHlwZT1zZWFyY2hdOm5vdChzZWxlY3QpLCAubXVsdGktaW5wdXQgc2VsZWN0Om5vdChzZWxlY3QpLCAubXVsdGktaW5wdXQgdGV4dGFyZWE6bm90KHNlbGVjdCkge1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xufVxuLm11bHRpLWlucHV0ID4gKjpub3Qoc2VsZWN0LCBidXR0b24sIGEpIHtcbiAgZmxleDogMTtcbn1cbi5tdWx0aS1pbnB1dCBzZWxlY3QsIC5tdWx0aS1pbnB1dCBidXR0b24sIC5tdWx0aS1pbnB1dCBhIHtcbiAgLS1mb250LWNvbG91cjogI0ZGRkZGRjtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91cjogI0RGMzAzNTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1jb2xvdXIpO1xuICBjb2xvcjogdmFyKC0tZm9udC1jb2xvdXIpO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLm11bHRpLWlucHV0IHNlbGVjdCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTcuNCcgaGVpZ2h0PScxMC4xJyUzRSUzQ3BhdGggZD0nTTE2LjcuN2wtOCA4LTgtOCcgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjNGRkZGRkYnIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJy8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuXG5yYWRpby10YWJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbnJhZGlvLXRhYnMgcmFkaW8tdGFiIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tZ2FwKSAqIDAuNSk7XG59XG5yYWRpby10YWJzIHJhZGlvLXRhYiBpbnB1dCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5yYWRpby10YWJzIHJhZGlvLXRhYiBpbnB1dDpjaGVja2VkICsgbGFiZWwge1xuICBmb250LXdlaWdodDogNjAwO1xufVxucmFkaW8tdGFicyByYWRpby10YWIgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXRoZW1lLWFjY2VudCk7XG59XG5yYWRpby10YWJzIHJhZGlvLXRhYiBpbnB1dDpub3QoOmNoZWNrZWQpICsgbGFiZWw6aG92ZXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tdGhlbWUtYWNjZW50KTtcbn1cbnJhZGlvLXRhYnMgcmFkaW8tdGFiIGxhYmVsIHtcbiAgY29sb3I6IHZhcigtLWZvbnQtY29sb3VyKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxucmFkaW8tdGFicyByYWRpby10YWIgbGFiZWw6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDNweDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cblxuZm9ybSBbdHlwZT1zdWJtaXRdIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cbmZvcm06aW52YWxpZCBbdHlwZT1zdWJtaXRdIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgb3BhY2l0eTogMC41O1xufVxuXG5mb3JtW2RhdGEtZnJlZWZvcm1dIGgzLCBmb3JtW2RhdGEtZnJlZWZvcm1dIGg0LCBmb3JtW2RhdGEtZnJlZWZvcm1dIGg1LCBmb3JtW2RhdGEtZnJlZWZvcm1dIGg2IHtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5mb3JtW2RhdGEtZnJlZWZvcm1dIC5mZi1mb3JtLXN1Y2Nlc3Mge1xuICAtLWZvbnQtY29sb3VyOiAjNTBCQzA4O1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWdhcCkgKiAyKTtcbn1cbmZvcm1bZGF0YS1mcmVlZm9ybV0gLmZmLWZvcm0tc3VjY2VzcyBwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbmZvcm1bZGF0YS1mcmVlZm9ybV0gLmZmLWZvcm0tc3VjY2VzcyBwOjpiZWZvcmUge1xuICBjb250ZW50OiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ2NpcmNsZSBmaWxsPSclMjM1MEJDMDgnIGN4PSc4JyBjeT0nOCcgcj0nOCcvJTNFJTNDcGF0aCBmaWxsPSdub25lJyBzdHJva2U9J3doaXRlJyBzdHJva2Utd2lkdGg9JzEuNCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J00zLjUgOC40bDIuNyAyLjcgNi4zLTYuMycvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogdmFyKC0tZ2FwKTtcbiAgd2lkdGg6IDEuMjVlbTtcbiAgaGVpZ2h0OiAxLjI1ZW07XG59XG5mb3JtW2RhdGEtZnJlZWZvcm1dIC5mZi1mb3JtLWVycm9ycyB7XG4gIC0tZm9udC1jb2xvdXI6ICNERjMwMzU7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tZ2FwKSAqIDIpO1xufVxuZm9ybVtkYXRhLWZyZWVmb3JtXSAuZmYtZXJyb3JzIHtcbiAgLS1mb250LWNvbG91cjogI0RGMzAzNTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tZ2FwKTtcbiAgY29sb3I6IHZhcigtLWZvbnQtY29sb3VyKTtcbn1cbmZvcm1bZGF0YS1mcmVlZm9ybV0gLmZvcm0tZmllbGRzIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDAlO1xuICBncmlkLWdhcDogdmFyKC0tZ2FwKTtcbn1cbmZvcm1bZGF0YS1mcmVlZm9ybV0gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWdhcDogMnJlbTtcbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcbn1cbmZvcm1bZGF0YS1mcmVlZm9ybV0gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cgLmZyZWVmb3JtLWNvbHVtbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbmZvcm1bZGF0YS1mcmVlZm9ybV0gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cgLmZyZWVmb3JtLWNvbHVtbiBoMywgZm9ybVtkYXRhLWZyZWVmb3JtXSAuZm9ybS1maWVsZHMgLmZyZWVmb3JtLXJvdyAuZnJlZWZvcm0tY29sdW1uIGg0LCBmb3JtW2RhdGEtZnJlZWZvcm1dIC5mb3JtLWZpZWxkcyAuZnJlZWZvcm0tcm93IC5mcmVlZm9ybS1jb2x1bW4gaDUsIGZvcm1bZGF0YS1mcmVlZm9ybV0gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cgLmZyZWVmb3JtLWNvbHVtbiBoNiB7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tZ2FwKSAqIDIpO1xufVxuZm9ybVtkYXRhLWZyZWVmb3JtXSAuZm9ybS1maWVsZHMgLmZyZWVmb3JtLXJvdyAuZnJlZWZvcm0tY29sdW1uLmZyZWVmb3JtLWNvbHVtbi1jb250ZW50LWFsaWduLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5mb3JtW2RhdGEtZnJlZWZvcm1dIC5mb3JtLWZpZWxkcyAuZnJlZWZvcm0tcm93IC5mcmVlZm9ybS1jb2x1bW4gbGFiZWw6bm90KC5mcmVlZm9ybS1pbnB1dC1vbmx5LWxhYmVsKSB7XG4gIG9wYWNpdHk6IDAuNztcbn1cbmZvcm1bZGF0YS1mcmVlZm9ybV0gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cgLmZyZWVmb3JtLWNvbHVtbiBsYWJlbDpub3QoLmZyZWVmb3JtLWlucHV0LW9ubHktbGFiZWwpICsgLmZyZWVmb3JtLWlucHV0IHtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1nYXApIC8gMik7XG59XG5mb3JtW2RhdGEtZnJlZWZvcm1dIC5mb3JtLWZpZWxkcyByZXF1aXJlZC1ub3RpY2Uge1xuICAtLW5vdGljZS1jb2xvdXI6ICNERjMwMzU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDEwcHg7XG4gIGNvbG9yOiB2YXIoLS1ub3RpY2UtY29sb3VyKTtcbiAgZm9udC1zaXplOiAxLjVlbTtcbn1cbmZvcm1bZGF0YS1mcmVlZm9ybV0gLmZvcm0tZmllbGRzIHJlcXVpcmVkLW5vdGljZSBzcGFuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogLTEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgb3BhY2l0eTogMDtcbn1cbmZvcm1bZGF0YS1oYW5kbGU9bWFya2V0U2VjdG9yRm9ybV0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuZm9ybVtkYXRhLWhhbmRsZT1tYXJrZXRTZWN0b3JGb3JtXSAuZmYtZm9ybS1lcnJvcnMsIGZvcm1bZGF0YS1oYW5kbGU9bWFya2V0U2VjdG9yRm9ybV0gLmZmLWZvcm0tc3VjY2VzcyB7XG4gIG9yZGVyOiAxMDtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIHBhZGRpbmc6IHZhcigtLWd1dHRlcjApIHZhcigtLWd1dHRlcjEpO1xuICBtYXJnaW4tdG9wOiB2YXIoLS1ndXR0ZXIxKTtcbn1cbmZvcm1bZGF0YS1oYW5kbGU9bWFya2V0U2VjdG9yRm9ybV0gLmZmLWZvcm0tZXJyb3JzIHAsIGZvcm1bZGF0YS1oYW5kbGU9bWFya2V0U2VjdG9yRm9ybV0gLmZmLWZvcm0tc3VjY2VzcyBwIHtcbiAgY29sb3I6IHdoaXRlO1xufVxuZm9ybVtkYXRhLWhhbmRsZT1tYXJrZXRTZWN0b3JGb3JtXSAuZmYtZm9ybS1lcnJvcnMgdWwgbGksIGZvcm1bZGF0YS1oYW5kbGU9bWFya2V0U2VjdG9yRm9ybV0gLmZmLWZvcm0tc3VjY2VzcyB1bCBsaSB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbmZvcm1bZGF0YS1oYW5kbGU9bWFya2V0U2VjdG9yRm9ybV0gLmZmLWZvcm0tZXJyb3JzIHtcbiAgYmFja2dyb3VuZDogZGFya3JlZDtcbn1cbmZvcm1bZGF0YS1oYW5kbGU9bWFya2V0U2VjdG9yRm9ybV0gLmZmLWZvcm0tc3VjY2VzcyB7XG4gIGJhY2tncm91bmQ6ICMyMThiMDA7XG59XG5mb3JtW2RhdGEtaGFuZGxlPW1hcmtldFNlY3RvckZvcm1dLCBmb3JtW2RhdGEtaGFuZGxlPWNvbnRhY3RdIHtcbiAgLS1zdWJtaXQtaGVpZ2h0OiA0MXB4O1xufVxuZm9ybVtkYXRhLWhhbmRsZT1tYXJrZXRTZWN0b3JGb3JtXSAuZm9ybS1maWVsZHMgbGFiZWw6bm90KC5mcmVlZm9ybS1pbnB1dC1vbmx5LWxhYmVsKSwgZm9ybVtkYXRhLWhhbmRsZT1jb250YWN0XSAuZm9ybS1maWVsZHMgbGFiZWw6bm90KC5mcmVlZm9ybS1pbnB1dC1vbmx5LWxhYmVsKSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5mb3JtW2RhdGEtaGFuZGxlPW1hcmtldFNlY3RvckZvcm1dIC5mb3JtLWZpZWxkcyAubWVzc2FnZSwgZm9ybVtkYXRhLWhhbmRsZT1tYXJrZXRTZWN0b3JGb3JtXSAuZm9ybS1maWVsZHMgLnN1Ym1pdC1yb3csIGZvcm1bZGF0YS1oYW5kbGU9Y29udGFjdF0gLmZvcm0tZmllbGRzIC5tZXNzYWdlLCBmb3JtW2RhdGEtaGFuZGxlPWNvbnRhY3RdIC5mb3JtLWZpZWxkcyAuc3VibWl0LXJvdyB7XG4gIGdyaWQtcm93OiA1O1xuICBncmlkLWNvbHVtbjogMTtcbn1cbmZvcm1bZGF0YS1oYW5kbGU9bWFya2V0U2VjdG9yRm9ybV0gLmZvcm0tZmllbGRzIC5tZXNzYWdlIC5mcmVlZm9ybS1jb2x1bW4sIGZvcm1bZGF0YS1oYW5kbGU9Y29udGFjdF0gLmZvcm0tZmllbGRzIC5tZXNzYWdlIC5mcmVlZm9ybS1jb2x1bW4ge1xuICBkaXNwbGF5OiBncmlkO1xufVxuZm9ybVtkYXRhLWhhbmRsZT1tYXJrZXRTZWN0b3JGb3JtXSAuZm9ybS1maWVsZHMgdGV4dGFyZWFbbmFtZT1tZXNzYWdlXSwgZm9ybVtkYXRhLWhhbmRsZT1jb250YWN0XSAuZm9ybS1maWVsZHMgdGV4dGFyZWFbbmFtZT1tZXNzYWdlXSB7XG4gIHotaW5kZXg6IDE7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDQxcHggKyB2YXIoLS1nYXApKTtcbn1cbmZvcm1bZGF0YS1oYW5kbGU9bWFya2V0U2VjdG9yRm9ybV0gLmZvcm0tZmllbGRzIC5zdWJtaXQtcm93LCBmb3JtW2RhdGEtaGFuZGxlPWNvbnRhY3RdIC5mb3JtLWZpZWxkcyAuc3VibWl0LXJvdyB7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBtYXJnaW46IGF1dG8gMCAwIGF1dG87XG59XG5mb3JtW2RhdGEtaGFuZGxlPW1hcmtldFNlY3RvckZvcm1dIC5mb3JtLWZpZWxkcyAuc3VibWl0LXJvdyBidXR0b24sIGZvcm1bZGF0YS1oYW5kbGU9Y29udGFjdF0gLmZvcm0tZmllbGRzIC5zdWJtaXQtcm93IGJ1dHRvbiB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB6LWluZGV4OiAyO1xufVxuZm9ybVtkYXRhLWhhbmRsZT1jcmVkaXRBcHBsaWNhdGlvbl0gLmZyZWVmb3JtLXJvdzpudGgtbGFzdC1vZi10eXBlKC1uKzIpLCBmb3JtW2RhdGEtaGFuZGxlPWNyZWRpdEFwcGxpY2F0aW9uXSAuZnJlZWZvcm0tcm93Om50aC1sYXN0LW9mLXR5cGUoLW4rMSkge1xuICBtYXJnaW4tdG9wOiAycmVtO1xufVxuZm9ybVtkYXRhLWhhbmRsZT1jcmVkaXRBcHBsaWNhdGlvbl0gLmZyZWVmb3JtLXJvdzpsYXN0LW9mLXR5cGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG5odG1sIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG5ib2R5IHtcbiAgb3ZlcmZsb3cteDogaW5pdGlhbDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtY29udGVudC1iYWNrZ3JvdW5kKTtcbn1cbmJvZHkjc2VhcmNoIC5zdWJoZWFkaW5nIHtcbiAgbWFyZ2luLXJpZ2h0OiAycmVtO1xufVxuYm9keSNzZWFyY2ggLnN1YmhlYWRpbmcgdSB7XG4gIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuLmQtbm9uZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuZmlndXJlLmltYWdlLCBwaWN0dXJlLmltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHZhcigtLXBvc2l0aW9uLCBjZW50ZXIgMzMlKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuZmlndXJlLmltYWdlIGltZywgcGljdHVyZS5pbWFnZSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiB2YXIoLS1pbWFnZS1wb3NpdGlvbiwgY2VudGVyIDMzLjMzJSk7XG4gIHdpZHRoOiB2YXIoLS1pbWFnZS1zaXplLCB2YXIoLS1pbWFnZS13aWR0aC1zaXplLCAxMDAlKSk7XG4gIGhlaWdodDogdmFyKC0taW1hZ2Utc2l6ZSwgdmFyKC0taW1hZ2UtaGVpZ2h0LXNpemUsIDEwMCUpKTtcbiAgbWF4LXdpZHRoOiB2YXIoLS1pbWFnZS1zaXplLCB2YXIoLS1pbWFnZS13aWR0aC1zaXplLCAxMDAlKSk7XG4gIG1heC1oZWlnaHQ6IHZhcigtLWltYWdlLXNpemUsIHZhcigtLWltYWdlLWhlaWdodC1zaXplLCAxMDAlKSk7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxudmlkZW8tY29udGFpbmVyIHtcbiAgLS1hc3BlY3QtcmF0aW86IDE2Lzk7XG4gIGFzcGVjdC1yYXRpbzogdmFyKC0tYXNwZWN0LXJhdGlvKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xufVxuQHN1cHBvcnRzIG5vdCAoYXNwZWN0LXJhdGlvOiAxNi85KSB7XG4gIHZpZGVvLWNvbnRhaW5lciB7XG4gICAgYXNwZWN0LXJhdGlvOiBpbml0aWFsO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDEwMCUgLyAodmFyKC0tYXNwZWN0LXJhdGlvKSkpO1xuICAgIGhlaWdodDogMDtcbiAgfVxuICB2aWRlby1jb250YWluZXIgPiAqIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbn1cbnZpZGVvLWNvbnRhaW5lciBpZnJhbWUsIHZpZGVvLWNvbnRhaW5lciBjYW52YXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTVGRjtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMsIDZweCkgLyAyKTtcbiAgcGFkZGluZzogMCA1cHg7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApLCBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxuXG4uc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xufVxuXG5kZXRhaWxzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbmRldGFpbHNbb3Blbl0gc3VtbWFyeSA+IHN2ZyB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cblxuc3VtbWFyeSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciwgc3VtbWFyeTo6bWFya2VyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm92ZXJmbG93LWhpZGRlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLmhpZGUge1xuICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5idXR0b24ge1xuICAtLWJhY2tncm91bmQtY29sb3VyOiAjREYzMDM1O1xuICAtLWZvbnQtY29sb3VyOiB3aGl0ZTtcbiAgLS1pY29uLXNpemU6IDAuOGVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGdyaWQtZ2FwOiBjYWxjKHZhcigtLWdhcCkgKiAwLjUpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICBwYWRkaW5nOiAxLjI1cmVtIDNyZW0gMS4yNXJlbSA0cmVtO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtY29sb3VyKTtcbiAgY29sb3I6IHZhcigtLWZvbnQtY29sb3VyKTtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDEwMCUsIDE1cHggMCUsIDEwMCUgMCUsIDEwMCUgMTAwJSk7XG59XG4uYnV0dG9uID4gc3ZnIHtcbiAgd2lkdGg6IHZhcigtLWljb24tc2l6ZSk7XG4gIGhlaWdodDogdmFyKC0taWNvbi1zaXplKTtcbn1cbi5idXR0b25bZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC40O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5idXR0b246bm90KFtkaXNhYmxlZF0pOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnV0dG9uOm5vdChbZGlzYWJsZWRdKTpob3Zlcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMTAwJSAtIDE1cHgpKTtcbn1cbi5idXR0b24uc21hbGwge1xuICBwYWRkaW5nOiAwLjlyZW0gMnJlbSAwLjlyZW0gM3JlbTtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuLmJ1dHRvbi5sYXJnZSB7XG4gIHBhZGRpbmc6IDEuNHJlbSAzcmVtIDEuNHJlbSA0LjI1cmVtO1xuICBmb250LXNpemU6IDE4cHg7XG59XG4uYnV0dG9uOjpiZWZvcmUge1xuICAtLXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAtMTAwJTtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDE1cHgpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQtY29sb3VyKTtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDEyMCUpO1xuICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgMTAwJSwgMCUgMCUsIDEwMCUgMCUsIGNhbGMoMTAwJSAtIDE1cHgpIDEwMCUpO1xuICB6LWluZGV4OiAtMTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxuXG4uYnV0dG9uIHN2ZywgYnV0dG9uIHN2ZyB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5waWN0dXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5yZXN1bHQtaXRlbSB7XG4gIC0taGVhZGluZy1jb2xvdXI6ICMxMzFmNmI7XG4gIC0tYm9yZGVyLXRoaWNrbmVzczogMXB4O1xuICAtLWJvcmRlci1yYWRpdXM6IDBweDtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91cjogd2hpdGU7XG4gIC0tcGFkZGluZzogMnJlbTtcbiAgLS1wYWRkaW5nLWxlZnQ6IHZhcigtLXBhZGRpbmcpO1xuICAtLXBhZGRpbmctcmlnaHQ6IHZhcigtLXBhZGRpbmcpO1xuICAtLXBhZGRpbmctdG9wOiB2YXIoLS1wYWRkaW5nKTtcbiAgLS1wYWRkaW5nLWJvdHRvbTogdmFyKC0tcGFkZGluZyk7XG4gIC0taW1hZ2Utd2lkdGg6IDEwMHB4O1xuICAtLWltYWdlLWhlaWdodDogMTAwcHg7XG4gIC0tZ3JpZC1nYXA6IHZhcigtLWdhcCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogdmFyKC0tcGFkZGluZy10b3ApIHZhcigtLXBhZGRpbmctcmlnaHQpIHZhcigtLXBhZGRpbmctYm90dG9tKSB2YXIoLS1wYWRkaW5nLWxlZnQpO1xuICBib3JkZXI6IHZhcigtLWJvcmRlci10aGlja25lc3MpIHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMsIDZweCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtY29sb3VyKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYm9yZGVyIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWdhcDogdmFyKC0tZ3JpZC1nYXApIHZhcigtLWdyaWQtZ2FwKTtcbn1cbi5yZXN1bHQtaXRlbSAucmVzdWx0LWltYWdlIHtcbiAgZ3JpZC1hcmVhOiBpbWFnZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ucmVzdWx0LWl0ZW0gLnJlc3VsdC1pbWFnZSBwaWN0dXJlIHtcbiAgaGVpZ2h0OiB2YXIoLS1pbWFnZS1oZWlnaHQpO1xufVxuLnJlc3VsdC1pdGVtIC5yZXN1bHQtaW1hZ2UgcGljdHVyZSBpbWcge1xuICB3aWR0aDogdmFyKC0taW1hZ2UtaGVpZ2h0KTtcbiAgaGVpZ2h0OiB2YXIoLS1pbWFnZS13aWR0aCk7XG59XG4ucmVzdWx0LWl0ZW0gLnJlc3VsdC10aXRsZSB7XG4gIGdyaWQtYXJlYTogdGl0bGU7XG4gIGNvbG9yOiB2YXIoLS1oZWFkaW5nLWNvbG91cik7XG59XG4ucmVzdWx0LWl0ZW0gLnJlc3VsdC10aXRsZSBhIHtcbiAgY29sb3I6IHZhcigtLWhlYWRpbmctY29sb3VyKTtcbn1cbi5yZXN1bHQtaXRlbSAucmVzdWx0LXN1YnRpdGxlIHtcbiAgZ3JpZC1hcmVhOiBzdWJ0aXRsZTtcbn1cbi5yZXN1bHQtaXRlbSAucmVzdWx0LWJvZHkge1xuICBncmlkLWFyZWE6IGJvZHk7XG59XG4ucmVzdWx0LWl0ZW0uYmxvZyB7XG4gIC0tcGFkZGluZzogNHJlbTtcbiAgLS1ib3JkZXItdGhpY2tuZXNzOiAwO1xuICAtLWJvcmRlci1yYWRpdXM6IDA7XG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwic3VidGl0bGVcIiBcInRpdGxlXCIgXCJib2R5XCI7XG59XG4ucmVzdWx0LWl0ZW0uYmxvZyAucmVzdWx0LWltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5yZXN1bHQtaXRlbS5ibG9nIC5yZXN1bHQtaW1hZ2UgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuLnJlc3VsdC1pdGVtLmJsb2cgLnJlc3VsdC1pbWFnZTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMjBkZWcsIHdoaXRlIDQ1JSwgdHJhbnNwYXJlbnQgMTIwJSk7XG59XG4ucmVzdWx0LWl0ZW0uYmxvZyAucmVzdWx0LXRpdGxlLCAucmVzdWx0LWl0ZW0uYmxvZyAucmVzdWx0LXN1YnRpdGxlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5yZXN1bHQtaXRlbS5ibG9nIC5yZXN1bHQtdGl0bGUge1xuICBmb250LXNpemU6IDEuMjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cbi5yZXN1bHQtaXRlbS5ibG9nIC5yZXN1bHQtc3VidGl0bGUge1xuICAtLWhlYWRpbmctY29sb3VyOiAjREYzMDM1O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLnJlc3VsdC1pdGVtLmJsb2cgLnJlc3VsdC1zdWJ0aXRsZSBoNCwgLnJlc3VsdC1pdGVtLmJsb2cgLnJlc3VsdC1zdWJ0aXRsZSB0aW1lIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGhlaWdodDogMTAwJTtcbn1cbi5yZXN1bHQtaXRlbS5ibG9nIC5yZXN1bHQtc3VidGl0bGUgdGltZSB7XG4gIGNvbG9yOiAjOTY5Njk1O1xufVxuLnJlc3VsdC1pdGVtLmJsb2cgLnJlc3VsdC1ib2R5IHtcbiAgLS1mb250LWNvbG91cjogIzFFMUExQTtcbn1cbi5yZXN1bHQtaXRlbS5ibG9nLmZlYXR1cmVkIHtcbiAgLS1wYWRkaW5nLXJpZ2h0OiA1cmVtO1xuICBncmlkLWNvbHVtbjogMS9zcGFuIDI7XG59XG4ucmVzdWx0LWl0ZW0uYmxvZy5mZWF0dXJlZCAucmVzdWx0LXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgZm9udC1zaXplOiAyZW07XG59XG4ucmVzdWx0LWl0ZW0uYmxvZy5mZWF0dXJlZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJGRUFUVVJFRFwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcGFkZGluZzogMC43cmVtIDJyZW0gMC43cmVtIDNyZW07XG4gIGhlaWdodDogMzlweDtcbiAgYmFja2dyb3VuZDogI2VkNjIyNDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0wLjVweCkgdHJhbnNsYXRlWCgtMTAwJSkgdHJhbnNsYXRlWSgtMTAwJSkgcm90YXRlKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSByaWdodDtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDEwMCUsIDE1cHggMCUsIDEwMCUgMCUsIDEwMCUgMTAwJSk7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG59XG4ucmVzdWx0LWl0ZW0uYmxvZyAucmVzdWx0LXRpdGxlLCAucmVzdWx0LWl0ZW0uYmxvZyAucmVzdWx0LXN1YnRpdGxlLCAucmVzdWx0LWl0ZW0uYmxvZyAucmVzdWx0LWJvZHkge1xuICB6LWluZGV4OiAyO1xufVxuLnJlc3VsdC1pdGVtLm1hcmtldC1zZWN0b3Ige1xuICAtLWJhY2tncm91bmQtY29sb3VyOnRyYW5zcGFyZW50O1xuICAtLWZvbnQtY29sb3VyOndoaXRlO1xuICAtLWhlYWRpbmctY29sb3VyOiB3aGl0ZTtcbiAgaXNvbGF0aW9uOiBpc29sYXRlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAwIDAgdmFyKC0tZ3V0dGVyMCkgMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXJlc3VsdC1pdGVtLWJvcmRlci1ib3R0b20sIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSk7XG59XG4ucmVzdWx0LWl0ZW0ubWFya2V0LXNlY3RvciAucmVzdWx0LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2xhbXAoMTQwcHgsIDQwdncsIDE4MHB4KTtcbiAgb3V0bGluZTogMXB4IHNvbGlkIHZhcigtLWltYWdlLW91dGxpbmUtY29sb3VyLCB0cmFuc3BhcmVudCk7XG4gIG91dGxpbmUtb2Zmc2V0OiB2YXIoLS1pbWFnZS1vdXRsaW5lLW9mZnNldCwgMC4xZW0pO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IG91dGxpbmUtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICksIG91dGxpbmUtb2Zmc2V0IHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxuLnJlc3VsdC1pdGVtLm1hcmtldC1zZWN0b3IgLnJlc3VsdC1pbWFnZSBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG4ucmVzdWx0LWl0ZW0ubWFya2V0LXNlY3Rvcjpob3ZlciB7XG4gIC0taW1hZ2Utb3V0bGluZS1jb2xvdXI6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgLS1pbWFnZS1vdXRsaW5lLW9mZnNldDogMC4zZW07XG59XG4ucmVzdWx0LWl0ZW0ubWFya2V0LXNlY3Rvcjpob3ZlciAucmVzdWx0LXRpdGxlIGEge1xuICBjb2xvcjogI0RGMzAzNTtcbn1cbi5yZXN1bHQtaXRlbS5tYXJrZXQtc2VjdG9yIC5yZXN1bHQtdGl0bGUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xufVxuLnJlc3VsdC1pdGVtLm1hcmtldC1zZWN0b3IgLnJlc3VsdC10aXRsZSBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG4ucmVzdWx0LWl0ZW0ubWFya2V0LXNlY3RvciAucmVzdWx0LXRpdGxlIGE6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB6LWluZGV4OiAxO1xufVxuYm9keVtkYXRhLXRoZW1lPXdoaXRlXSAucmVzdWx0LWl0ZW0ubWFya2V0LXNlY3RvciB7XG4gIC0tcmVzdWx0LWl0ZW0tYm9yZGVyLWJvdHRvbTogcmdiYSgxOSwgMzEsIDEwNywgMC4yKTtcbiAgLS1mb250LWNvbG91cjojMTMxZjZiO1xuICAtLWhlYWRpbmctY29sb3VyOiAjMTMxZjZiO1xufVxuYm9keVtkYXRhLXRoZW1lPXdoaXRlXSAucmVzdWx0LWl0ZW0ubWFya2V0LXNlY3Rvcjpob3ZlciB7XG4gIC0taW1hZ2Utb3V0bGluZS1jb2xvdXI6IHJnYmEoMTksIDMxLCAxMDcsIDAuMik7XG59XG5cbmJvZHkjbWFya2V0LXNlY3RvcnMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTtcbiAgY29udGFpbmVyLW5hbWU6IG1hcmtldC1zZWN0b3I7XG59XG5ib2R5I21hcmtldC1zZWN0b3JzIC5yZXN1bHQtaXRlbSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG59XG5ib2R5I21hcmtldC1zZWN0b3JzIC5yZXN1bHQtaXRlbSBhLmRldGFpbHM6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cbmJvZHkjbWFya2V0LXNlY3RvcnM6aG92ZXIgLnJlc3VsdC1pbWFnZSB7XG4gIC0taW1hZ2Utb3V0bGluZS1jb2xvdXI6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIC0taW1hZ2Utb3V0bGluZS1vZmZzZXQ6MCAhaW1wb3J0YW50O1xufVxuYm9keSNtYXJrZXQtc2VjdG9ycyAuZGV0YWlscyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZjE5NTY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMjIwcHg7XG4gIHdpZHRoOiB2YXIoLS1tYXJrZXQtc2VjdG9yLWFydGljbGUtd2lkdGgsIGNhbGMoMjAwJSArIHZhcigtLWd1dHRlcjEpKSk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICksIGRpc3BsYXkgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICkgYWxsb3ctZGlzY3JldGU7XG59XG5ib2R5I21hcmtldC1zZWN0b3JzIC5kZXRhaWxzIC5kZXRhaWxzLXRleHQge1xuICBwYWRkaW5nOiB2YXIoLS1ndXR0ZXIxKTtcbn1cbmJvZHkjbWFya2V0LXNlY3RvcnMgLmRldGFpbHMgLmRldGFpbHMtaGVhZGluZyB7XG4gIGNvbG9yOiAjREYzMDM1O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDEuMjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuYm9keSNtYXJrZXQtc2VjdG9ycyAuZGV0YWlscyAuZGV0YWlscy1pbWFnZSB7XG4gIGNsaXAtcGF0aDogcG9seWdvbigwJSAxMDAlLCAzNSUgMCUsIDEwMCUgMCUsIDEwMCUgMTAwJSk7XG59XG5ib2R5I21hcmtldC1zZWN0b3JzIC5kZXRhaWxzIC5kZXRhaWxzLWltYWdlIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuYm9keSNtYXJrZXQtc2VjdG9ycyAuZGV0YWlscyAuZGV0YWlscy1pbWFnZSAuZGV0YWlscy1saW5rIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuYm9keSNtYXJrZXQtc2VjdG9ycyAuZGV0YWlscyAuZGV0YWlscy1saW5rIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xufVxuQGNvbnRhaW5lciBtYXJrZXQtc2VjdG9yICggd2lkdGggPCA0MjBweCkge1xuICBib2R5I21hcmtldC1zZWN0b3JzIC5kZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICBib2R5I21hcmtldC1zZWN0b3JzIC5kZXRhaWxzIC5kZXRhaWxzLWltYWdlIHtcbiAgICBjbGlwLXBhdGg6IGluaXRpYWw7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgfVxuICBib2R5I21hcmtldC1zZWN0b3JzIC5kZXRhaWxzIC5kZXRhaWxzLWltYWdlIC5kZXRhaWxzLWxpbmsge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICBib2R5I21hcmtldC1zZWN0b3JzIC5yZXN1bHQtaXRlbTppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlKSB7XG4gICAgei1pbmRleDogMTtcbiAgfVxuICBib2R5I21hcmtldC1zZWN0b3JzIC5yZXN1bHQtaXRlbTppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlKSAuZGV0YWlscyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIEBzdGFydGluZy1zdHlsZSB7XG4gICAgYm9keSNtYXJrZXQtc2VjdG9ycyAucmVzdWx0LWl0ZW06aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSkgLmRldGFpbHMge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cbn1cbmJvZHkjbWFya2V0LXNlY3RvcnMgYXJ0aWNsZS1ncmlkOmhhcygucmVzdWx0LWl0ZW06aXMoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSkpIC5yZXN1bHQtaXRlbTpub3QoOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUpKSB7XG4gIG9wYWNpdHk6IDAuNSAhaW1wb3J0YW50O1xufVxuQGNvbnRhaW5lciBtYWluICggd2lkdGggPCA2NjBweCkge1xuICBib2R5I21hcmtldC1zZWN0b3JzIGFydGljbGUtZ3JpZCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgIWltcG9ydGFudDtcbiAgICAtLW1hcmtldC1zZWN0b3ItYXJ0aWNsZS13aWR0aDogMTAwJTtcbiAgfVxufVxuQGNvbnRhaW5lciBtYWluICg2NjBweCA8IHdpZHRoIDwgOTY0cHgpIHtcbiAgYm9keSNtYXJrZXQtc2VjdG9ycyBhcnRpY2xlLWdyaWQgLnJlc3VsdC1pdGVtOm50aC1jaGlsZCgybikgLmRldGFpbHMge1xuICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbn1cbkBjb250YWluZXIgbWFpbiAoIHdpZHRoID4gOTY0cHgpIHtcbiAgYm9keSNtYXJrZXQtc2VjdG9ycyBhcnRpY2xlLWdyaWQgLnJlc3VsdC1pdGVtOm50aC1jaGlsZCgzbikgLmRldGFpbHMge1xuICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbn1cblxuLnJlc3VsdC1pdGVtLnByb2R1Y3Qge1xuICAtLWJhZGdlLXNwYWNpbmc6IDNyZW07XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0taW1hZ2Utd2lkdGgpIGF1dG87XG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiaW1hZ2UgdGl0bGVcIiBcImltYWdlIHRpdGxlXCIgXCJpbWFnZSBkYXRhXCIgXCJpbWFnZSBkYXRhXCI7XG59XG4ucmVzdWx0LWl0ZW0ucHJvZHVjdCAucmVzdWx0LXRpdGxlLCAucmVzdWx0LWl0ZW0ucHJvZHVjdCAucmVzdWx0LWJvZHkge1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWJhZGdlLXNwYWNpbmcpICogMik7XG59XG4ucmVzdWx0LWl0ZW0ucHJvZHVjdCAucHJvZHVjdC1kYXRhIHtcbiAgZ3JpZC1hcmVhOiBkYXRhO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdyaWQtZ2FwOiBjYWxjKHZhcigtLWdhcCkgLyAyKSB2YXIoLS1nYXApO1xufVxuLnJlc3VsdC1pdGVtLnByb2R1Y3QgLnJlc3VsdC1pbWFnZSBpbWcge1xuICBvYmplY3QtZml0OiBjb250YWluO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDQ1MHB4KSB7XG4gIC5yZXN1bHQtaXRlbS5wcm9kdWN0IHtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImltYWdlIFwiIFwidGl0bGVcIiBcImRhdGFcIjtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHVuc2V0O1xuICB9XG4gIC5yZXN1bHQtaXRlbS5wcm9kdWN0IC5wcm9kdWN0LWRhdGEge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLnJlc3VsdC1pdGVtLnByb2R1Y3QgLnJlc3VsdC10aXRsZSwgLnJlc3VsdC1pdGVtLnByb2R1Y3QgLnJlc3VsdC1ib2R5IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG4ucmVzdWx0LWl0ZW0ucHJvZHVjdC5pbi1zdG9jazo6YmVmb3JlIHtcbiAgLS1wYWRkaW5nLXk6IDAuMmVtO1xuICAtLXBhZGRpbmcteDogMTBlbTtcbiAgY29udGVudDogXCJpbiBzdG9ja1wiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxZW0gKyB2YXIoLS1wYWRkaW5nLXkpKTtcbiAgcmlnaHQ6IGNhbGMoLTEgKiB2YXIoLS1wYWRkaW5nLXgpKTtcbiAgcGFkZGluZzogMC41ZW0gdmFyKC0tcGFkZGluZy14KTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMxZjZiO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5yZXN1bHQtaXRlbS5wYWdlIHtcbiAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJpbWFnZSB0aXRsZVwiIFwiaW1hZ2UgYm9keVwiIFwiaW1hZ2UgYm9keVwiIFwiaW1hZ2UgYm9keVwiO1xufVxuLnJlc3VsdC1pdGVtLnBhZ2UgLnJlc3VsdC1pbWFnZSBpbWcge1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLnRhZ1tkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLnRhZy5jYXRlZ29yeSB7XG4gIC0tYm9yZGVyLXJhZGl1czogMHB4O1xuICAtLWZvbnQtY29sb3VyOiAjREYzMDM1O1xuICAtLWJnLWNvbG91cjogd2hpdGU7XG4gIC0tc2Vjb25kYXJ5LXdpZHRoOiAzY2g7XG4gIC0tc2Vjb25kYXJ5LXBhZGRpbmcteDogM3B4O1xuICAtLWJvcmRlci1jb2xvdXI6IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICBjb2xvcjogdmFyKC0tZm9udC1jb2xvdXIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb2xvdXIpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbiAgZm9udC1zaXplOiAxM3B4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLS1ib3JkZXItY29sb3VyOiAjREYzMDM1O1xuICAtLXN5bWJvbC1jb2xvdXI6ICNERjMwMzU7XG59XG4udGFnLmNhdGVnb3J5IC50YWctbGFiZWwge1xuICBwYWRkaW5nOiAzcHggdmFyKC0tZ2FwKSAzcHggdmFyKC0tZ2FwKTtcbn1cbi50YWcuY2F0ZWdvcnkgLnRhZy1zZWNvbmRhcnkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMCB2YXIoLS1zZWNvbmRhcnktcGFkZGluZy14KTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkY2RjO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogM2NoO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cbi50YWcuY2F0ZWdvcnkgLnRhZy1zZWNvbmRhcnkgc3ZnIHtcbiAgd2lkdGg6IDUwJTtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG59XG4udGFnLmNhdGVnb3J5IC50YWctc2Vjb25kYXJ5OmhvdmVyIHtcbiAgLS1zeW1ib2wtY29sb3VyOiB3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RGMzAzNTtcbn1cbi50YWcuY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnRhZy5jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XSB+IGxhYmVsIHtcbiAgLS1ib3JkZXItcmFkaXVzOiAwcHg7XG4gIC0tZm9udC1jb2xvdXI6ICNERjMwMzU7XG4gIC0tYmctY29sb3VyOiB3aGl0ZTtcbiAgLS1zZWNvbmRhcnktd2lkdGg6IDNjaDtcbiAgLS1zZWNvbmRhcnktcGFkZGluZy14OiAzcHg7XG4gIC0tYm9yZGVyLWNvbG91cjogdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNvbG91cik7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xuICBmb250LXNpemU6IDEzcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtLXN5bWJvbC1jb2xvdXI6ICNERjMwMzU7XG59XG4udGFnLmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdIH4gbGFiZWwgLnRhZy1sYWJlbCB7XG4gIHBhZGRpbmc6IDNweCB2YXIoLS1nYXApIDNweCB2YXIoLS1nYXApO1xufVxuLnRhZy5jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XSB+IGxhYmVsIC50YWctc2Vjb25kYXJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgdmFyKC0tc2Vjb25kYXJ5LXBhZGRpbmcteCk7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RjZGNkYztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDNjaDtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG59XG4udGFnLmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdIH4gbGFiZWwgLnRhZy1zZWNvbmRhcnkgc3ZnIHtcbiAgd2lkdGg6IDUwJTtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG59XG4udGFnLmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdIH4gbGFiZWw6aG92ZXIge1xuICAtLWJvcmRlci1jb2xvdXI6ICNERjMwMzU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi50YWcuY2hlY2tib3ggaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCB+IGxhYmVsIHtcbiAgLS1mb250LWNvbG91cjogd2hpdGU7XG4gIC0tYmctY29sb3VyOiAjREYzMDM1O1xufVxuLnRhZy5jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkIH4gbGFiZWwgLnRhZy1zZWNvbmRhcnkge1xuICAtLXN5bWJvbC1jb2xvdXI6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG59XG5cbnRhYmxlLWNvbnRhaW5lciAuaGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWdhcCkgKiAyKTtcbn1cbnRhYmxlLWNvbnRhaW5lciAudGFibGUge1xuICAtLWNlbGwtcGFkZGluZy15OiAxcmVtO1xuICAtLWNlbGwtcGFkZGluZy14OiAxLjVyZW07XG4gIC0tY2VsbC1wYWRkaW5nOiB2YXIoLS1jZWxsLXBhZGRpbmcteSkgdmFyKC0tY2VsbC1wYWRkaW5nLXgpO1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxudGFibGUtY29udGFpbmVyIC50YWJsZSB0cjpudGgtY2hpbGQob2RkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRoZW1lLWNvbnRlbnQtb3Bwb3NpdGUpO1xufVxudGFibGUtY29udGFpbmVyIC50YWJsZSB0ciB0ZDpmaXJzdC1jaGlsZCgpIHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzk2OTY5NTtcbn1cbnRhYmxlLWNvbnRhaW5lciAudGFibGUgdGQge1xuICBwYWRkaW5nOiB2YXIoLS1jZWxsLXBhZGRpbmcpO1xufVxudGFibGUtY29udGFpbmVyIC50YWJsZSB0aCB7XG4gIHBhZGRpbmc6IHZhcigtLWNlbGwtcGFkZGluZyk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBsaWdodGdyZXk7XG59XG50YWJsZS1jb250YWluZXIgLnRhYmxlLnZlcnRpY2FsIHRyIHRkOmZpcnN0LWNoaWxkIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbnRhYmxlLWNvbnRhaW5lciAudGFibGUucHJvZHVjdC1zcGVjcyB0ciB0ZDpmaXJzdC1jaGlsZCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG50YWJsZS1jb250YWluZXIgLnRhYmxlLnByb2R1Y3Qtc3BlY3MgdHIgdGQ6bGFzdC1jaGlsZCB7XG4gIHdpZHRoOiAxMDAlO1xufVxudGFibGUtY29udGFpbmVyIC50YWJsZS5yZWxhdGVkLXByb2R1Y3RzIGEge1xuICAtLWZvbnQtY29sb3VyOiAjREYzMDM1O1xufVxuXG5tYWluID4gLnNuaXBwZXQgYSB7XG4gIC0tZm9udC1jb2xvdXI6IHZhcigtLXRoZW1lLWFjY2VudCkgO1xufVxuXG5uYXZpZ2F0aW9uLWJhciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgd2lkdGg6IHZhcigtLW5hdmlnYXRpb24tYmFyLXdpZHRoKTtcbiAgaGVpZ2h0OiB2YXIoLS1uYXZpZ2F0aW9uLWJhci1oZWlnaHQpO1xuICBtYXgtaGVpZ2h0OiAtd2Via2l0LWZpbGwtYXZhaWxhYmxlO1xuICBwYWRkaW5nOiAwIGNhbGModmFyKC0tZ2FwKSAqIDIpIHZhcigtLWdhcC15KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tdGhlbWUtbmF2LWJhY2tncm91bmQpO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHotaW5kZXg6IDE1MDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpO1xufVxubmF2aWdhdGlvbi1iYXIgYSwgbmF2aWdhdGlvbi1iYXIgYnV0dG9uIHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xufVxubmF2aWdhdGlvbi1iYXIgZ2xvYmFsLXNlYXJjaC1tb2JpbGUge1xuICBkaXNwbGF5OiBub25lO1xufVxubmF2aWdhdGlvbi1iYXIgLm5hdmlnYXRpb24tY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbm5hdmlnYXRpb24tYmFyIC5uYXZpZ2F0aW9uLWNvbnRhaW5lciBhLmxvZ28ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB3aWR0aDogOTUlO1xuICBtaW4taGVpZ2h0OiB2YXIoLS1sb2dvLWhlaWdodCk7XG4gIGhlaWdodDogdmFyKC0tbG9nby1oZWlnaHQpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXAteSk7XG59XG5uYXZpZ2F0aW9uLWJhciAubmF2aWdhdGlvbi1jb250YWluZXIgYS5sb2dvID4gc3ZnIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1sb2dvKTtcbn1cbm5hdmlnYXRpb24tYmFyIC5uYXZpZ2F0aW9uLWNvbnRhaW5lciBhLmxvZ28ubG9nby1tb2JpbGUge1xuICBkaXNwbGF5OiBub25lO1xufVxubmF2aWdhdGlvbi1iYXIgLm5hdmlnYXRpb24tY29udGFpbmVyIGdsb2JhbC1zZWFyY2gtZGVza3RvcCB7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tZ2FwKSAqIDIpO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2IG5hdmlnYXRpb24tbGlua3Mge1xuICAtLWZhbGxiYWNrLW1heC1oZWlnaHQ6IDYwMHB4O1xuICAtLWJhc2Utc3BhY2luZzogY2FsYyh2YXIoLS1nYXApICogMC41KTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgbmF2aWdhdGlvbi1saW5rcyAudG9wLWxldmVsLWxpbmsge1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLWdhcCkgKiAwLjUpIDA7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgbmF2aWdhdGlvbi1saW5rcyAudG9wLWxldmVsLWxpbms6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBuYXZpZ2F0aW9uLWxpbmtzIC50b3AtbGV2ZWwtbGluay5oYXMtY2hpbGRyZW4gPiBhOmhvdmVyIHN2ZyB7XG4gIG9wYWNpdHk6IDE7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgbmF2aWdhdGlvbi1saW5rcyAuc3ViLW1lbnUgbGkge1xuICBwYWRkaW5nOiBjYWxjKCh2YXIoLS1nYXApICogMC41KSAvIDIpIDA7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgbmF2aWdhdGlvbi1saW5rcyAuc3ViLW1lbnUgbGk6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1nYXApICogMC41KTtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBuYXZpZ2F0aW9uLWxpbmtzIC5zdWItbWVudSBsaTpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tZ2FwKSAqIDAuNSk7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgbmF2aWdhdGlvbi1saW5rcyB1bCBsaSBhIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKSwgY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICksIHRleHQtZGVjb3JhdGlvbi1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBuYXZpZ2F0aW9uLWxpbmtzIHVsIGxpIGE6bm90KC5hY3RpdmUpIHtcbiAgLS1mb250LWNvbG91cjogdmFyKC0tdGhlbWUtbmF2LWZvbnQpO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2IG5hdmlnYXRpb24tbGlua3MgdWwgbGkgYS5hY3RpdmUge1xuICAtLWZvbnQtY29sb3VyOiB2YXIoLS10aGVtZS1hY2NlbnQpO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgbmF2aWdhdGlvbi1iYXIgbmF2IG5hdmlnYXRpb24tbGlua3MgdWwgbGkgYS5hY3RpdmU6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxubmF2aWdhdGlvbi1iYXIgbmF2IG5hdmlnYXRpb24tbGlua3MgdWwgbGkgYSA+IHN2ZyB7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1uYXYtZm9udCk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICksIHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIG9wYWNpdHk6IDAuMjtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBuYXZpZ2F0aW9uLWxpbmtzIHVsIGxpIHVsIHtcbiAgLS10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjMyNXM7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICksIG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1nYXApO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2IG5hdmlnYXRpb24tbGlua3MgdWwgbGkgdWwgbGkgYTpub3QoLmFjdGl2ZSkge1xuICBvcGFjaXR5OiAwLjU7XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICBuYXZpZ2F0aW9uLWJhciBuYXYgbmF2aWdhdGlvbi1saW5rcyB1bCBsaSB1bCBsaSBhOm5vdCguYWN0aXZlKTpob3ZlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxubmF2aWdhdGlvbi1iYXIgbmF2IG5hdmlnYXRpb24tbGlua3MgdWwgbGkuaGFzLWNoaWxkcmVuID4gYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBuYXZpZ2F0aW9uLWxpbmtzIHVsIGxpLmhhcy1jaGlsZHJlbi5vcGVuID4gYSA+IHN2ZyB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBuYXZpZ2F0aW9uLWxpbmtzIHVsIGxpLmhhcy1jaGlsZHJlbi5vcGVuID4gdWwge1xuICBtYXgtaGVpZ2h0OiB2YXIoLS1saW5rLW1heC1oZWlnaHQsIHZhcigtLWZhbGxiYWNrLW1heC1oZWlnaHQpKTtcbiAgb3BhY2l0eTogMTtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBuYXZpZ2F0aW9uLWxpbmtzIC50b3AtbGV2ZWwtbGlua3MgPiBsaSA+IGEge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2IG5hdmlnYXRpb24tbGlua3MgLm1vYmlsZS1saW5rLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXZpZ2F0aW9uLWNvbnRyb2xzIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdmlnYXRpb24tY29udHJvbHMgPiAqOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLWd1dHRlcjMpO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2aWdhdGlvbi1jb250cm9scyBhLCBuYXZpZ2F0aW9uLWJhciBuYXZpZ2F0aW9uLWNvbnRyb2xzIGJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGZpdC1jb250ZW50O1xufVxubmF2aWdhdGlvbi1iYXIgbmF2aWdhdGlvbi1jb250cm9scyBhIHN2ZywgbmF2aWdhdGlvbi1iYXIgbmF2aWdhdGlvbi1jb250cm9scyBidXR0b24gc3ZnIHtcbiAgaGVpZ2h0OiAyNXB4O1xuICB3aWR0aDogMjVweDtcbiAgY29sb3I6IHZhcigtLXRoZW1lLW5hdi1mb250KTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdmlnYXRpb24tY29udHJvbHMgYnV0dG9uLm1lbnUge1xuICAtLXN5bWJvbC1jb2xvdXI6IHZhcigtLXRoZW1lLW5hdi1mb250LCB3aGl0ZSk7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXZpZ2F0aW9uLWNvbnRyb2xzIGJ1dHRvbi5tZW51IHN2ZyB7XG4gIC0tY29ybmVyLW9mZnNldDogMTBweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdmlnYXRpb24tY29udHJvbHMgYnV0dG9uLm1lbnUgc3ZnIHBvbHlnb24ge1xuICBjbGlwLXBhdGg6IHBvbHlnb24oMTQwcHggMjBweCwgMCAyMHB4LCB2YXIoLS1jb3JuZXItb2Zmc2V0LCAxMHB4KSAwLCAxNDBweCAwKTtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2aWdhdGlvbi1jb250cm9scyBidXR0b24ubWVudSBzdmcgcG9seWdvbjpudGgtY2hpbGQoMSkge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxNSUgMzAlO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2aWdhdGlvbi1jb250cm9scyBidXR0b24ubWVudSBzdmcgcG9seWdvbjpudGgtY2hpbGQoMikge1xuICBvcGFjaXR5OiAxO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2aWdhdGlvbi1jb250cm9scyBidXR0b24ubWVudSBzdmcgcG9seWdvbjpudGgtY2hpbGQoMykge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxNSUgNzAlO1xufVxubmF2aWdhdGlvbi1iYXIgLmV4dHJhLWxpbmtzIHtcbiAgLS1mb250LWNvbG91cjogdmFyKC0tdGhlbWUtbmF2LWZvbnQpO1xuICAtLWxpbmstc3BhY2luZzogdmFyKC0tZ2FwKTtcbiAgLS1vcGFjaXR5OiAwLjY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBvcGFjaXR5OiB2YXIoLS1vcGFjaXR5KTtcbiAgbWFyZ2luLXRvcDogYXV0bztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDFyZW07XG59XG5uYXZpZ2F0aW9uLWJhciAuZXh0cmEtbGlua3MgbGk6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxY2g7XG4gIG1pbi13aWR0aDogZml0LWNvbnRlbnQ7XG59XG5uYXZpZ2F0aW9uLWJhciAuZXh0cmEtbGlua3MgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIG5hdmlnYXRpb24tYmFyIC5leHRyYS1saW5rcyBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTgwcHgpIHtcbiAgbmF2aWdhdGlvbi1iYXIge1xuICAgIC0tbmF2aWdhdGlvbi1iYXItd2lkdGg6IDEwMCU7XG4gICAgLS1uYXZpZ2F0aW9uLWJhci1oZWlnaHQ6IG1pbi1jb250ZW50O1xuICAgIC0tbG9nby1oZWlnaHQ6IDEwMCU7XG4gICAgLS1yb3ctcGFkZGluZzogMXJlbSB2YXIoLS1nYXAteCk7XG4gICAgLS10aGVtZS1uYXYtZm9udDogdmFyKC0tdGhlbWUtbmF2LWZvbnQtbW9iKTtcbiAgICAtLXRoZW1lLWxvZ286IHZhcigtLXRoZW1lLW5hdi1mb250LW1vYik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICB9XG4gIG5hdmlnYXRpb24tYmFyIC5leHRyYS1saW5rcyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBuYXZpZ2F0aW9uLWJhciBnbG9iYWwtc2VhcmNoLWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgbmF2aWdhdGlvbi1iYXIgLm5hdmlnYXRpb24tY29udGFpbmVyLCBuYXZpZ2F0aW9uLWJhciBnbG9iYWwtc2VhcmNoLW1vYmlsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtbmF2LWJhY2tncm91bmQtbW9iKTtcbiAgfVxuICBuYXZpZ2F0aW9uLWJhciBnbG9iYWwtc2VhcmNoLW1vYmlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IHZhcigtLXJvdy1wYWRkaW5nKTtcbiAgICBoZWlnaHQ6IHZhcigtLW5hdmlnYXRpb24tbW9iaWxlLXNlYXJjaC1oZWlnaHQpO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1uYXZpZ2F0aW9uLW1vYmlsZS1zZWFyY2gtaGVpZ2h0KSAtIDBweCk7XG4gICAgdHJhbnNpdGlvbjogbWFyZ2luLXRvcCAwLjRzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVtZS1uYXYtc3BhY2luZy1jb2xvdXIpO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG4gIG5hdmlnYXRpb24tYmFyIGdsb2JhbC1zZWFyY2gtbW9iaWxlIGZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBuYXZpZ2F0aW9uLWJhciBnbG9iYWwtc2VhcmNoLW1vYmlsZSBmb3JtIGlucHV0W3R5cGU9c2VhcmNoXSB7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICB9XG4gIG5hdmlnYXRpb24tYmFyIGdsb2JhbC1zZWFyY2gtbW9iaWxlIGZvcm0gc2VsZWN0IHtcbiAgICAtLWZvbnQtY29sb3VyOiAjRkZGRkZGO1xuICAgIC0tYmFja2dyb3VuZC1jb2xvdXI6ICNERjMwMzU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNy40JyBoZWlnaHQ9JzEwLjEnJTNFJTNDcGF0aCBkPSdNMTYuNy43bC04IDgtOC04JyBmaWxsPSdub25lJyBzdHJva2U9JyUyM0ZGRkZGRicgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnLyUzRSUzQy9zdmclM0VcIik7XG4gIH1cbiAgbmF2aWdhdGlvbi1iYXIgbmF2aWdhdGlvbi1jb250cm9scyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIG5hdmlnYXRpb24tYmFyIC5uYXZpZ2F0aW9uLWNvbnRhaW5lciB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgaGVpZ2h0OiB2YXIoLS1uYXZpZ2F0aW9uLWNvbnRhaW5lci1oZWlnaHQpO1xuICAgIHBhZGRpbmc6IHZhcigtLXJvdy1wYWRkaW5nKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlbWUtbmF2LXNwYWNpbmctY29sb3VyKTtcbiAgICB6LWluZGV4OiAxNTAwO1xuICB9XG4gIG5hdmlnYXRpb24tYmFyIC5uYXZpZ2F0aW9uLWNvbnRhaW5lciBhLmxvZ28ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICB9XG4gIG5hdmlnYXRpb24tYmFyIC5uYXZpZ2F0aW9uLWNvbnRhaW5lciBhLmxvZ28ubG9nby1kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIG5hdmlnYXRpb24tYmFyIC5uYXZpZ2F0aW9uLWNvbnRhaW5lciBhLmxvZ28ubG9nby1tb2JpbGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAtM3JlbTtcbiAgfVxuICBuYXZpZ2F0aW9uLWJhciAubmF2aWdhdGlvbi1jb250YWluZXIgYS5sb2dvIHN2ZyB7XG4gICAgd2lkdGg6IHVuc2V0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICBuYXZpZ2F0aW9uLWJhciBuYXYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoMTAwJSArIDBweCk7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHBhZGRpbmc6IHZhcigtLWdhcC15KSB2YXIoLS1nYXAteCkgdmFyKC0tbmF2aWdhdGlvbi1jb250YWluZXItaGVpZ2h0KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS1uYXYtYmFja2dyb3VuZC1tb2IpO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcbiAgfVxuICBuYXZpZ2F0aW9uLWJhciBuYXYgLnRvcC1sZXZlbC1saW5rcyB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIGJvZHkubW9iaWxlLXNlYXJjaC1vcGVuIG5hdmlnYXRpb24tYmFyIGdsb2JhbC1zZWFyY2gtbW9iaWxlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIGJvZHkubW9iaWxlLW5hdmlnYXRpb24tb3BlbiBuYXZpZ2F0aW9uLWJhciBuYXYge1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICBib2R5Lm1vYmlsZS1uYXZpZ2F0aW9uLW9wZW4gbmF2aWdhdGlvbi1iYXIgbmF2IC50b3AtbGV2ZWwtbGlua3Mge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKSAwLjNzO1xuICB9XG4gIGJvZHkubW9iaWxlLW5hdmlnYXRpb24tb3BlbiBuYXZpZ2F0aW9uLWJhciBidXR0b24ubWVudSBzdmcge1xuICAgIC0tY29ybmVyLW9mZnNldDogMDtcbiAgfVxuICBib2R5Lm1vYmlsZS1uYXZpZ2F0aW9uLW9wZW4gbmF2aWdhdGlvbi1iYXIgYnV0dG9uLm1lbnUgc3ZnIHBvbHlnb246bnRoLWNoaWxkKDEpIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgc2NhbGVZKDgwJSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgc2NhbGVZKDgwJSk7XG4gIH1cbiAgYm9keS5tb2JpbGUtbmF2aWdhdGlvbi1vcGVuIG5hdmlnYXRpb24tYmFyIGJ1dHRvbi5tZW51IHN2ZyBwb2x5Z29uOm50aC1jaGlsZCgyKSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICBib2R5Lm1vYmlsZS1uYXZpZ2F0aW9uLW9wZW4gbmF2aWdhdGlvbi1iYXIgYnV0dG9uLm1lbnUgc3ZnIHBvbHlnb246bnRoLWNoaWxkKDMpIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHNjYWxlWSg4MCUpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSBzY2FsZVkoODAlKTtcbiAgfVxufVxuLmhlYXRzaW5rcy1ob21lIGhlYWRlci5oZWFkZXIsXG4uY29tcG9uZW50cy1ob21lIGhlYWRlci5oZWFkZXIge1xuICB0cmFuc2l0aW9uOiBhbGwgMC44cyAwLjJzO1xufVxuXG4uaGVhZGVyIHtcbiAgYWxpZ24tc2VsZjogZW5kO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB6LWluZGV4OiAxMDAwO1xufVxuLmhlYWRlciAuaGVhZGluZyxcbi5oZWFkZXIgLnN1YmhlYWRpbmcge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLmhlYWRlciAuaGVhZGluZyB7XG4gIG9yZGVyOiAyO1xuICBmb250LXdlaWdodDogODAwO1xufVxuLmhlYWRlciAuc3ViaGVhZGluZyB7XG4gIGNvbG9yOiB2YXIoLS10aGVtZS1hY2NlbnQpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXApO1xufVxuLmhlYWRlciAuc3ViaGVhZGluZyBhIHtcbiAgLS1oZWFkaW5nLWNvbG91cjogdmFyKC0tdGhlbWUtYWNjZW50KTtcbiAgY29sb3I6IHZhcigtLXRoZW1lLWFjY2VudCk7XG59XG4uaGVhZGVyIC5zbmlwcGV0IHtcbiAgb3JkZXI6IDM7XG4gIG1hcmdpbi10b3A6IDJyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTgxcHgpIHtcbiAgLmhlYWRlciAuc25pcHBldCB7XG4gICAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gIH1cbn1cbi5oZWFkZXIudHJhbnNpdGlvbiB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAlKTtcbn1cblxubWFpbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdyaWQtZ2FwOiB2YXIoLS1nYXAteSk7XG4gIHotaW5kZXg6IDEwMDA7XG59XG5tYWluIGNvbnRlbnQtYmxvY2tzIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1nYXA6IHZhcigtLWdhcC15KTtcbn1cbm1haW4gY29udGVudC1ibG9ja3Mgc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiB2YXIoLS1nYXAteSk7XG59XG5ib2R5Om5vdChbZGF0YS1jb21wb25lbnRzKj1zY3JvbGwtYmFyXSkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAxcHgpIHtcbiAgbWFpbiB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLWdhcC15KTtcbiAgfVxufVxuXG5zaWRlLWJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IHZhcigtLXNpZGViYXItd2lkdGgpO1xuICBtYXgtd2lkdGg6IHZhcigtLXNpZGViYXItbWF4LXdpZHRoKTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDAwO1xufVxuc2lkZS1iYXIgZGl2LmNvbnRlbnQtYmxvY2suY2FsbFRvQWN0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5AbWVkaWEgKHdpZHRoID4gMTQwMHB4KSB7XG4gIHNpZGUtYmFyIGRpdi5jb250ZW50LWJsb2NrLmNhbGxUb0FjdGlvbiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMDtcbiAgICB0b3A6IHVuc2V0O1xuICB9XG59XG5zaWRlLWJhci5mcmVlIHtcbiAgLS1jb250YWluZXItcGFkZGluZzogNHJlbTtcbn1cbnNpZGUtYmFyLmNvbnRhaW4gPiBkaXYge1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nYXAteCk7XG59XG5zaWRlLWJhcltkYXRhLWJlaGF2aW91cj1zdGlja3ldIHtcbiAgLS1zdGlja3ktc3BhY2luZzogMDtcbn1cbnNpZGUtYmFyW2RhdGEtYmVoYXZpb3VyPXN0aWNreV0uY29udGFpbiB7XG4gIC0tc3RpY2t5LXNwYWNpbmc6IHZhcigtLWdhcC15KTtcbn1cbnNpZGUtYmFyW2RhdGEtYmVoYXZpb3VyPXN0aWNreV0gPiBkaXYge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IHZhcigtLXN0aWNreS1zcGFjaW5nKTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxNDAwcHgpIHtcbiAgc2lkZS1iYXJbZGF0YS1iZWhhdmlvdXI9c3RpY2t5XSA+IGRpdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDE0MDBweCkge1xuICBzaWRlLWJhcjpub3QoW2RhdGEtYmVoYXZpb3VyPWZvbGRvdXRdKSB7XG4gICAgLS1zaWRlYmFyLW1heC13aWR0aDogMTAwJTtcbiAgICAtLXNpZGViYXItd2lkdGg6IDEwMCU7XG4gIH1cbiAgc2lkZS1iYXI6bm90KFtkYXRhLWJlaGF2aW91cj1mb2xkb3V0XSkgPiBkaXYge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tZ2FwLXkpICogMik7XG4gIH1cbiAgc2lkZS1iYXIuY29udGFpbiA+IGRpdiB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuc2lkZS1iYXJbZGF0YS1iZWhhdmlvdXI9Zm9sZG91dF0ge1xuICB6LWluZGV4OiAxNzUwO1xuICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggMC43cyBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSksIHRyYW5zZm9ybSAwLjdzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSksIHRvcCAwLjRzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpLCBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxuc2lkZS1iYXJbZGF0YS1iZWhhdmlvdXI9Zm9sZG91dF0gPiBkaXYge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTQwMHB4KSB7XG4gIHNpZGUtYmFyW2RhdGEtYmVoYXZpb3VyPWZvbGRvdXRdIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICB3aWR0aDogbWluKDEwMHZ3LCA0MDBweCk7XG4gICAgbWF4LXdpZHRoOiBtaW4oMTAwdncsIDQwMHB4KTtcbiAgfVxuICBzaWRlLWJhcltkYXRhLWJlaGF2aW91cj1mb2xkb3V0XS5hY3RpdmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbiAgc2lkZS1iYXJbZGF0YS1iZWhhdmlvdXI9Zm9sZG91dF0gPiBkaXYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk4MHB4KSB7XG4gIHNpZGUtYmFyW2RhdGEtYmVoYXZpb3VyPWZvbGRvdXRdIC5vcGVuLXRyaWdnZXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICBzaWRlLWJhcltkYXRhLWJlaGF2aW91cj1mb2xkb3V0XSAuY2xvc2UtdHJpZ2dlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxucGFnZS1iYWNrZ3JvdW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tdGhlbWUtcGFnZS1iYWNrZ3JvdW5kKTtcbiAgei1pbmRleDogNTAwO1xufVxucGFnZS1iYWNrZ3JvdW5kOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS1jb250ZW50LWJhY2tncm91bmQpO1xuICB6LWluZGV4OiA1MDE7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTgxcHgpIHtcbiAgcGFnZS1iYWNrZ3JvdW5kOjphZnRlciB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IGNhbGModmFyKC0tbmF2aWdhdGlvbi1iYXItd2lkdGgpKTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tbmF2aWdhdGlvbi1iYXItd2lkdGgpKTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cbnBhZ2UtYmFja2dyb3VuZCB2aWRlbyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIG9wYWNpdHk6IDAuMztcbn1cbnBhZ2UtYmFja2dyb3VuZCBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxucGFnZS1iYWNrZ3JvdW5kIGltZy5sb2dvIHtcbiAgb3BhY2l0eTogMC4wMztcbn1cbnBhZ2UtYmFja2dyb3VuZCBpbWc6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdHJhbnNwYXJlbnQgNDAlLCAjMTIxNTJCIDEwMCUpO1xuICB6LWluZGV4OiA1MDAgLTE7XG59XG5cbmJvZHk6bm90KCNob21lKSAuY29udGVudC13cmFwcGVyIGhlYWRlciB7XG4gIHBhZGRpbmctdG9wOiAyMDBweDtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwLXkpO1xufVxuYm9keTpub3QoI2hvbWUpIC5jb250ZW50LXdyYXBwZXIgaGVhZGVyOm5vdCguaGFzLXN1YmhlYWRpbmcpIHtcbiAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLWdhcC15KSk7XG59XG5ib2R5Om5vdCgjaG9tZSkgLmNvbnRlbnQtd3JhcHBlciBoZWFkZXIuaGFzLXN1YmhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiBjYWxjKC0xLjg1ICogdmFyKC0tZ2FwLXkpKTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5ODBweCkge1xuICBib2R5Om5vdCgjaG9tZSkgLmNvbnRlbnQtd3JhcHBlciBoZWFkZXIge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1nYXAteSk7XG4gICAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLWdhcC15KSkgIWltcG9ydGFudDtcbiAgfVxufVxuXG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgaGVhZGVyIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgZ3JpZC1nYXA6IHZhcigtLWdhcCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWdhcC15KTtcbn1cbmJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciBoZWFkZXIgPiBoMSwgYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIGhlYWRlciBwIHtcbiAgZ3JpZC1jb2x1bW46IDEvMztcbn1cbmJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciBoZWFkZXIgaDEge1xuICBncmlkLXJvdzogMTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA0MDBweCkge1xuICBib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgaGVhZGVyIGgxIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gIH1cbn1cbmJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciBoZWFkZXIgcCB7XG4gIGdyaWQtY29sdW1uOiAxLy0xO1xuICBncmlkLXJvdzogMjtcbn1cbmJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciBoZWFkZXIgaW1nIHtcbiAgZ3JpZC1jb2x1bW46IDM7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgaGVhZGVyICsgbWFpbiB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIGhlYWRlciB7XG4gICAgZ3JpZC1nYXA6IDA7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW4tbWF4KDIwMHB4LCAyNSUpKTtcbiAgfVxuICBib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgaGVhZGVyIHAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIGhlYWRlciBpbWcge1xuICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbn1cbmJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAuYWJvdXQtdXMtYmxvY2sge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTIwZGVnLCAjMTAxMjRkIDIwJSwgIzEzMWY2YiA4MCUpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5hYm91dC11cy1ibG9jayA+IGRpdjpsYXN0LW9mLXR5cGUge1xuICBwYWRkaW5nLWJvdHRvbTogNzVweDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxMjVweCwgMWZyKSk7XG59XG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgLmFib3V0LXVzLWJsb2NrID4gZGl2OmZpcnN0LW9mLXR5cGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLWdhcCkgKiAyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RGMzAzNTtcbiAgZ2FwOiAxNnB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbmJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAuYWJvdXQtdXMtYmxvY2sgPiBkaXY6bGFzdC1vZi10eXBlIHtcbiAgZmxleC1ncm93OiAxO1xuICBncmlkLWdhcDogdmFyKC0tZ2FwKTtcbiAgcGFkZGluZy10b3A6IHZhcigtLWdhcCk7XG59XG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgLmFib3V0LXVzLWJsb2NrID4gZGl2Omxhc3Qtb2YtdHlwZSA+IGRpdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tZ2FwKTtcbiAgZ2FwOiB2YXIoLS1nYXApO1xufVxuYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5hYm91dC11cy1ibG9jayA+IGRpdjpsYXN0LW9mLXR5cGUgPiBkaXYgc3ZnIHtcbiAgd2lkdGg6IDgwJTtcbiAgY29sb3I6IHdoaXRlO1xuICBtYXgtd2lkdGg6IDgwcHg7XG59XG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgLmFib3V0LXVzLWJsb2NrID4gZGl2Omxhc3Qtb2YtdHlwZSA+IGRpdiBzdmcud2lyZS1lYXJ0aCB7XG4gIHdpZHRoOiA2MCU7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cbmJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAuYWJvdXQtdXMtYmxvY2sgPiBkaXY6bGFzdC1vZi10eXBlID4gZGl2IHAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjREYzMDM1O1xuICBqdXN0aWZ5LXNlbGY6IGJhc2VsaW5lO1xuICBmb250LXNpemU6IDEuNHJlbTtcbn1cbmJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAuYWJvdXQtdXMtYmxvY2sgPiBhIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xufVxuYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5jb250ZW50LWJsb2NrLmNhbGxUb0FjdGlvbiB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMjBkZWcsICMxMDEyNGQgMCUsICMxMzFmNmIgODAlKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1nYXApICogMikgMCAwIGNhbGModmFyKC0tZ2FwKSAqIDIpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5jb250ZW50LWJsb2NrLmNhbGxUb0FjdGlvbiAuY2FsbC10by1hY3Rpb24taGVhZGluZywgYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5jb250ZW50LWJsb2NrLmNhbGxUb0FjdGlvbiAuY2FsbC10by1hY3Rpb24tc3ViaGVhZGluZyB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQtYmxvY2suY2FsbFRvQWN0aW9uIC5jYWxsLXRvLWFjdGlvbi1oZWFkaW5nIHtcbiAgLS1oZWFkaW5nLWNvbG91cjogI0ZGRkZGRjtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tZ2FwKSAqIDIpO1xuICBmb250LXdlaWdodDogODAwO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWdhcCkgKiAyKTtcbn1cbmJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciAuY29udGVudC1ibG9jay5jYWxsVG9BY3Rpb24gLmNhbGwtdG8tYWN0aW9uLXN1YmhlYWRpbmcge1xuICAtLWhlYWRpbmctY29sb3VyOiAjREYzMDM1O1xuICBmb250LXNpemU6IDAuOTM3NWVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXApO1xufVxuYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5jb250ZW50LWJsb2NrLmNhbGxUb0FjdGlvbiAuY2FsbC10by1hY3Rpb24tYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tZ2FwKTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tZ2FwKSAqIDMpO1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xufVxuYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIHNjcm9sbC1iYXIge1xuICBtYXgtd2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5hYm91dC11cy1ibG9jayB7XG4gICAgcGFkZGluZy1ib3R0b206IHVuc2V0O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5hYm91dC11cy1ibG9jayA+IGRpdjpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXgtd2lkdGg6IDM1JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZXIyKTtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgMTAwJSwgMCUgMCUsIDEwMCUgMCUsIDc1JSAxMDAlKTtcbiAgfVxuICBib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgLmFib3V0LXVzLWJsb2NrID4gZGl2Omxhc3Qtb2YtdHlwZSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDEyNXB4LCAxZnIpKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZXIxKTtcbiAgICBtYXJnaW4tbGVmdDogLTUlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTgxcHgpIGFuZCAobWF4LXdpZHRoOiAxMzk5cHgpIHtcbiAgYm9keSNob21lLmNvbXBvbmVudHMtaG9tZSAuY29udGVudC13cmFwcGVyIC5hYm91dC11cy1ibG9jayB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICBib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgLmFib3V0LXVzLWJsb2NrID4gZGl2OmZpcnN0LW9mLXR5cGUge1xuICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgY2xpcC1wYXRoOiB1bnNldDtcbiAgfVxuICBib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgLmFib3V0LXVzLWJsb2NrID4gZGl2Omxhc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2VyMSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMXB4KSB7XG4gIGJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciBoZWFkZXIsIGJvZHkjaG9tZS5jb21wb25lbnRzLWhvbWUgLmNvbnRlbnQtd3JhcHBlciBzY3JvbGwtYmFyLCBib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgLmFib3V0LXVzLWJsb2NrLCBib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgLmNvbnRlbnQtYmxvY2suY2FsbFRvQWN0aW9uLCBib2R5I2hvbWUuY29tcG9uZW50cy1ob21lIC5jb250ZW50LXdyYXBwZXIgLm1hcmtldC1zZWN0b3JzXFw6bGlzdCB7XG4gICAgbWF4LXdpZHRoOiAxMjAwcHggIWltcG9ydGFudDtcbiAgfVxufVxuXG5mb290ZXIge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDEwMGR2aDtcbiAgb3JkZXI6IDk5O1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2VyMSk7XG4gIGdyaWQtY29sdW1uOiB2YXIoLS1jb2x1bW4tY29udGVudCk7XG4gIHotaW5kZXg6IDEwMDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMXB4KSB7XG4gIGZvb3RlciB7XG4gICAgbWF4LXdpZHRoOiAxMjAwcHggIWltcG9ydGFudDtcbiAgfVxufVxuXG4jaG9tZSBmb290ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogaW5pdGlhbDtcbiAgZ3JpZC1yb3c6IC0xO1xufVxuXG5jb250ZW50LWJsb2NrcyBbZGF0YS1jb2x1bW5zXSB7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KHZhcigtLWNvbHVtbnMsIDEpLCAxZnIpO1xuICBncmlkLWdhcDogY2FsYyh2YXIoLS1nYXApICogMik7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgY29udGVudC1ibG9ja3MgW2RhdGEtY29sdW1ucz1cIjJcIl0ge1xuICAgIC0tY29sdW1uczogMjtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk4MHB4KSB7XG4gIGNvbnRlbnQtYmxvY2tzIFtkYXRhLWNvbHVtbnM9XCIyXCJdIHtcbiAgICAtLWNvbHVtbnM6IDE7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAxcHgpIHtcbiAgY29udGVudC1ibG9ja3MgW2RhdGEtY29sdW1ucz1cIjJcIl0ge1xuICAgIC0tY29sdW1uczogMjtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDFweCkge1xuICBjb250ZW50LWJsb2NrcyBbZGF0YS1jb2x1bW5zPVwiMlwiXSB7XG4gICAgLS1jb2x1bW5zOiAxO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTgwMHB4KSB7XG4gIGNvbnRlbnQtYmxvY2tzIFtkYXRhLWNvbHVtbnM9XCIyXCJdIHtcbiAgICAtLWNvbHVtbnM6IDI7XG4gIH1cbn1cblxuc2VhcmNoLWVsZW1lbnQgLnNlYXJjaC1pbnB1dCBzdmcge1xuICBoZWlnaHQ6IDMycHg7XG59XG5cbm1vZGFsLXdyYXBwZXIge1xuICAtLXdyYXBwZXItYmFja2dyb3VuZC1jb2xvdXI6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NSk7XG4gIC0tbW9kYWwtY2xvc2UtY29sb3VyOiAkYmxhY2s7XG4gIC0tY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyOiB3aGl0ZTtcbiAgLS1taW4td2lkdGg6MzAwcHg7XG4gIC0tbWF4LXdpZHRoOjExMjBweDtcbiAgLS13aWR0aDpjbGFtcCh2YXIoLS1taW4td2lkdGgpLCA5MHZ3LCBmaXQtY29udGVudCk7XG4gIC0tbWluLWhlaWdodDo2MDBweDtcbiAgLS1tYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSB2YXIoLS1ndXR0ZXIyKSk7XG4gIC0taGVpZ2h0OmNsYW1wKHZhcigtLW1pbi1oZWlnaHQpLCA5MHZ3LCBmaXQtY29udGVudCk7XG4gIC0tY2xvc2UtYnV0dG9uLXNpemU6IDMwcHg7XG4gIC0tbmF2LWJ1dHRvbi1zaXplOiA0MHB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3JhcHBlci1iYWNrZ3JvdW5kLWNvbG91cik7XG4gIHotaW5kZXg6IDEwMDAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICBwbGFjZS1jb250ZW50OiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSk7XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG59XG5Ac3VwcG9ydHMgKC0tdjotd2Via2l0LWZpbGwtYXZhaWxhYmxlICkge1xuICBtb2RhbC13cmFwcGVyIHtcbiAgICAtLW1heC1oZWlnaHQ6LXdlYmtpdC1maWxsLWF2YWlsYWJsZTtcbiAgfVxufVxubW9kYWwtd3JhcHBlci5sb2FkaW5nIHtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkgMC4zcztcbn1cbm1vZGFsLXdyYXBwZXIubG9hZGluZyBtb2RhbC1jb250YWluZXIge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnZoKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSwgdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzLCAwLjY4NSwgMC4yMik7XG59XG5tb2RhbC13cmFwcGVyIGJ1dHRvbi5jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiB2YXIoLS1ndXR0ZXIxKTtcbiAgcmlnaHQ6IHZhcigtLWd1dHRlcjEpO1xuICB3aWR0aDogdmFyKC0tY2xvc2UtYnV0dG9uLXNpemUpO1xuICBoZWlnaHQ6IHZhcigtLWNsb3NlLWJ1dHRvbi1zaXplKTtcbn1cbm1vZGFsLXdyYXBwZXIgYnV0dG9uLmNsb3NlIHN2ZyB7XG4gIGNvbG9yOiB2YXIoLS1tb2RhbC1jbG9zZS1jb2xvdXIsICNERjMwMzUpO1xufVxubW9kYWwtd3JhcHBlciBidXR0b24uY2xvc2Ugc3ZnIGNpcmNsZSwgbW9kYWwtd3JhcHBlciBidXR0b24uY2xvc2Ugc3ZnIHBhdGgge1xuICB0cmFuc2l0aW9uOiAwLjNzIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIG1vZGFsLXdyYXBwZXIgYnV0dG9uLmNsb3NlOmhvdmVyIHN2ZyB7XG4gICAgLS1maWxsOndoaXRlO1xuICAgIC0tc3Ryb2tlOnZhcigtLXNlY29uZGFyeSwgI0RGMzAzNSk7XG4gIH1cbn1cbm1vZGFsLXdyYXBwZXIgYnV0dG9uLm5hdmlnYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiB2YXIoLS1uYXYtYnV0dG9uLXNpemUpO1xuICBoZWlnaHQ6IHZhcigtLW5hdi1idXR0b24tc2l6ZSk7XG4gIHRvcDogY2FsYyg1MCUgLSB2YXIoLS1uYXYtYnV0dG9uLXNpemUpIC8gMik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeSwgI0RGMzAzNSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tc2Vjb25kYXJ5LCAjREYzMDM1KTtcbiAgY29sb3I6IHdoaXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwbGFjZS1jb250ZW50OiBjZW50ZXI7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApLCBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApLCB0cmFuc2Zvcm0gMC4ycyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjI3NSk7XG59XG5tb2RhbC13cmFwcGVyIGJ1dHRvbi5uYXZpZ2F0aW9uLnByZXZpb3VzIHtcbiAgbGVmdDogdmFyKC0tZ3V0dGVyMSk7XG59XG5tb2RhbC13cmFwcGVyIGJ1dHRvbi5uYXZpZ2F0aW9uLm5leHQge1xuICByaWdodDogdmFyKC0tZ3V0dGVyMSk7XG59XG5tb2RhbC13cmFwcGVyIGJ1dHRvbi5uYXZpZ2F0aW9uIHN2ZyB7XG4gIHdpZHRoOiA1MCU7XG4gIGhlaWdodDogNTAlO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgbW9kYWwtd3JhcHBlciBidXR0b24ubmF2aWdhdGlvbjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnksICNERjMwMzUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB9XG59XG5cbm1vZGFsLWNvbnRhaW5lciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSAwLjNzLCB0cmFuc2Zvcm0gMC41cyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpIDAuM3M7XG4gIHdpZHRoOiB2YXIoLS13aWR0aCk7XG4gIGhlaWdodDogdmFyKC0taGVpZ2h0KTtcbiAgbWF4LWhlaWdodDogdmFyKC0tbWF4LWhlaWdodCk7XG4gIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoKTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW46IHZhcigtLWd1dHRlcjEpO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xufVxuQHN1cHBvcnRzIG5vdCAod2lkdGg6IGNsYW1wKDFweCwgNXZ3LCAxMHB4KSkge1xuICBtb2RhbC1jb250YWluZXIge1xuICAgIC0td2lkdGg6IDYwdnc7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgpO1xuICAgIG1pbi13aWR0aDogdmFyKC0tbWluLXdpZHRoKTtcbiAgICAtLWhlaWdodDogODB2dztcbiAgICBtYXgtaGVpZ2h0OiB2YXIoLS1tYXgtaGVpZ2h0KTtcbiAgICBtaW4taGVpZ2h0OiB2YXIoLS1taW4taGVpZ2h0KTtcbiAgfVxufVxubW9kYWwtY29udGFpbmVyOmVtcHR5IHtcbiAgd2lkdGg6IGNhbGModmFyKC0tbWF4LXdpZHRoKSAvIDIpO1xuICBoZWlnaHQ6IGNhbGModmFyKC0tbWF4LWhlaWdodCkgLyAyKTtcbn1cbm1vZGFsLWNvbnRhaW5lcjplbXB0eTphZnRlciB7XG4gIC0tc2l6ZTogMjBweDtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoNTAlIC0gdmFyKC0tc2l6ZSkgLyAyKTtcbiAgbGVmdDogY2FsYyg1MCUgLSB2YXIoLS1zaXplKSAvIDIpO1xuICBvcGFjaXR5OiAwO1xuICB3aWR0aDogdmFyKC0tc2l6ZSk7XG4gIGhlaWdodDogdmFyKC0tc2l6ZSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tbG9hZGVyLWNvbG91ciwgIzk2OTY5NSk7XG4gIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxvYWRlci1yb3RhdGU7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSk7XG4gIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG4gIG9wYWNpdHk6IDE7XG4gIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nO1xufVxuQGtleWZyYW1lcyBsb2FkZXItcm90YXRlIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbn1cbm1vZGFsLWNvbnRhaW5lciA+IGJ1dHRvbi5jbG9zZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3JkZXI6IC0xO1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgdG9wOiBpbml0aWFsO1xuICByaWdodDogaW5pdGlhbDtcbiAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLWNsb3NlLWJ1dHRvbi1zaXplKSAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKC0xICogdmFyKC0tY2xvc2UtYnV0dG9uLXNpemUpIC8gMik7XG4gIG1hcmdpbi1yaWdodDogY2FsYygtMSAqIHZhcigtLWNsb3NlLWJ1dHRvbi1zaXplKSAvIDIpO1xufVxuXG5tb2RhbC1jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG4gIHdpZHRoOiBpbmhlcml0O1xuICBoZWlnaHQ6IGluaGVyaXQ7XG4gIG1heC1oZWlnaHQ6IGluaGVyaXQ7XG4gIG1heC13aWR0aDogaW5oZXJpdDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBwYWRkaW5nOiB2YXIoLS1ndXR0ZXIxKTtcbn1cbm1vZGFsLWNvbnRlbnQgPiAqIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5tb2RhbC13cmFwcGVyW2RhdGEtdHlwZT1pbWFnZV0gLmltYWdlIHtcbiAgbWF4LWhlaWdodDogY2FsYyh2YXIoLS1tYXgtaGVpZ2h0KSAtIHZhcigtLWd1dHRlcjYpKTtcbiAgYm9yZGVyOiBub25lO1xufVxubW9kYWwtd3JhcHBlcltkYXRhLXR5cGU9aW1hZ2VdIC5pbWFnZSBpbWcge1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gdmFyKC0tZ3V0dGVyMykgLSB2YXIoLS1ndXR0ZXI0KSk7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogYXV0bztcbn1cblxubW9kYWwtd3JhcHBlcltkYXRhLXR5cGU9ZGVmYXVsdF0gbW9kYWwtY29udGVudCA+IGltZ1tzcmMqPVwiLnN2Z1wiXSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbm1vZGFsLXdyYXBwZXJbZGF0YS10eXBlPXZpZGVvXSB7XG4gIC0td3JhcHBlci1iYWNrZ3JvdW5kLWNvbG91cjogcmdiYSgwLCAwLCAwLCAwLjk1KTtcbiAgLS1tb2RhbC1jbG9zZS1jb2xvdXI6ICNGRkZGRkY7XG59XG5tb2RhbC13cmFwcGVyW2RhdGEtdHlwZT12aWRlb10gbW9kYWwtY29udGFpbmVyIHtcbiAgLS1hc3BlY3QtcmF0aW86IDE2Lzk7XG4gIGFzcGVjdC1yYXRpbzogdmFyKC0tYXNwZWN0LXJhdGlvKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogdmFyKC0tZ2FwKTtcbn1cbkBzdXBwb3J0cyBub3QgKGFzcGVjdC1yYXRpbzogMTYvOSkge1xuICBtb2RhbC13cmFwcGVyW2RhdGEtdHlwZT12aWRlb10gbW9kYWwtY29udGFpbmVyIHtcbiAgICBhc3BlY3QtcmF0aW86IGluaXRpYWw7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoMTAwJSAvICh2YXIoLS1hc3BlY3QtcmF0aW8pKSk7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG4gIG1vZGFsLXdyYXBwZXJbZGF0YS10eXBlPXZpZGVvXSBtb2RhbC1jb250YWluZXIgPiAqIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbn1cbm1vZGFsLXdyYXBwZXJbZGF0YS10eXBlPXZpZGVvXSBtb2RhbC1jb250YWluZXIgaWZyYW1lLCBtb2RhbC13cmFwcGVyW2RhdGEtdHlwZT12aWRlb10gbW9kYWwtY29udGFpbmVyIGNhbnZhcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5tb2RhbC13cmFwcGVyW2RhdGEtdHlwZT12aWRlb10gbW9kYWwtY29udGFpbmVyIG1vZGFsLWNvbnRlbnQge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMsIDZweCk7XG59XG5cbi5vcGVuLWluLW1vZGFsIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxuLm9wZW4taW4tbW9kYWw6YWZ0ZXIge1xuICAtLXNpemU6IDIwcHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDUwJSAtIHZhcigtLXNpemUpIC8gMik7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gdmFyKC0tc2l6ZSkgLyAyKTtcbiAgb3BhY2l0eTogMDtcbiAgd2lkdGg6IHZhcigtLXNpemUpO1xuICBoZWlnaHQ6IHZhcigtLXNpemUpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlcjogd2hpdGUgc29saWQgdmFyKC0tbG9hZGVyLWNvbG91ciwgIzk2OTY5NSk7XG4gIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxvYWRlci1yb3RhdGU7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSk7XG4gIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG59XG5Aa2V5ZnJhbWVzIGxvYWRlci1yb3RhdGUge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxufVxuLm9wZW4taW4tbW9kYWwubG9hZGluZyB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLm9wZW4taW4tbW9kYWwubG9hZGluZzphZnRlciB7XG4gIG9wYWNpdHk6IDE7XG4gIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nO1xufVxuXG5pbWcub3Blbi1pbi1tb2RhbCwgLm9wZW4taW4tbW9kYWwgaW1nIHtcbiAgLXdlYmtpdC11c2VyLWRyYWc6IG5vbmU7XG4gIC1raHRtbC11c2VyLWRyYWc6IG5vbmU7XG4gIC1tb3otdXNlci1kcmFnOiBub25lO1xuICAtby11c2VyLWRyYWc6IG5vbmU7XG4gIHVzZXItZHJhZzogbm9uZTtcbn1cblxuLmJhY2stdG8tdG9wIHtcbiAgLS1oaWRlLW9mZnNldDogLTEwcHg7XG4gIC0tc3ZnLXdpZHRoOiAxOHB4O1xuICAtLWVkZ2UtZGlzdGFuY2U6IDE1cHg7XG4gIC0tcmlnaHQtb2Zmc2V0OiAwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiBjYWxjKHZhcigtLXJpZ2h0LW9mZnNldCkgKyB2YXIoLS1lZGdlLWRpc3RhbmNlKSk7XG4gIGJvdHRvbTogY2FsYyh2YXIoLS1lZGdlLWRpc3RhbmNlKSArIHZhcigtLWhpZGUtb2Zmc2V0KSk7XG4gIHdpZHRoOiBjYWxjKHZhcigtLXN2Zy13aWR0aCkgKyAxMnB4KTtcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLXN2Zy13aWR0aCkgKyAxMnB4KTtcbiAgYmFja2dyb3VuZDogIzEzMWY2YjtcbiAgYm9yZGVyOiAxcHggc29saWQgI0ZGRkZGRjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB6LWluZGV4OiAxMDAxO1xuICBwb2ludGVyLWV2ZW50czogYWxsO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICksIHRyYW5zZm9ybSAwLjJzIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xuICBkaXNwbGF5OiBub25lO1xufVxuLmJhY2stdG8tdG9wIHN2ZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMnB4O1xuICB3aWR0aDogdmFyKC0tc3ZnLXdpZHRoKTtcbiAgaGVpZ2h0OiB2YXIoLS1zdmctd2lkdGgpO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5iYWNrLXRvLXRvcDpub3QoLmhpZGUpIHtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgb3BhY2l0eTogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkodmFyKC0taGlkZS1vZmZzZXQpKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDFweCkge1xuICBzaWRlLWJhciB+IC5iYWNrLXRvLXRvcCB7XG4gICAgLS1yaWdodC1vZmZzZXQ6IHZhcigtLXNpZGViYXItd2lkdGgpO1xuICB9XG59XG5sb2dvLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiB2YXIoLS1ndXR0ZXIxKTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlcjEpO1xufVxubG9nby1iYXIgaW1nIHtcbiAgbWF4LXdpZHRoOiAxNDBweDtcbiAgbWF4LWhlaWdodDogOTBweDtcbiAgbWluLWhlaWdodDogNjBweDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MDFweCkge1xuICBsb2dvLWJhciB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG59IiwiLyogei1pbmRleGVzIGFyZSBsYXJnZSBkdWUgdG8gdGhlIGZhY3QgdGhhdCB0aGluZ3MgbWlnaHQgY2hhbmdlXG4gKiBpbiB0aGUgZnV0dXJlLiBJbiBvcmRlciB0byBhY2NvdW50IGZvciBzY2FsYWJpbGl0eSwgdGhpcyBnaXZlc1xuICogcm9vbSB0byBtYWtlIGNoYW5nZXMgYW5kIG5vdCBicmVhayB0aGUgZW50aXJlIHNpdGUsIG1lYW5pbmcgXG4gKiB3ZSB3b24ndCBoYXZlIHRvIGdvIGluIGFuZCByZWZhY3RvciBhIGxvdCBvZiBvdXIgY29kZS5cbiAqL1xuXG4kcGFnZS1iYWNrZ3JvdW5kICAgICAgICAgIDogNTAwO1xuXG4kbmF2aWdhdGlvbi1iYXIgICAgICAgICAgIDogMTUwMDtcbiRuYXZpZ2F0aW9uLWJhci1jb250YWluZXIgOiAkbmF2aWdhdGlvbi1iYXI7XG4kZ2xvYmFsLXNlYXJjaC1tb2JpbGUgICAgIDogLTE7XG5cbiRzY3JvbGwtYmFyICAgICAgICAgICAgICAgOiAxMTAwO1xuXG4kbWFpbiAgICAgICAgICAgICAgICAgICAgIDogMTAwMDtcbiRoZWFkZXIgICAgICAgICAgICAgICAgICAgOiAxMDAwO1xuJHNpZGUtYmFyICAgICAgICAgICAgICAgICA6IDE3NTA7XG5cbiRtb2RhbCAgICAgICAgICAgICAgICAgICAgOiAxMDAwMDsiLCJAdXNlICcuLi9fdmFyaWFibGVzJyBhcyAqO1xuQHVzZSAnbW9kdWxlcy9jb2xvdXIvZW5jb2RlJyBhcyBjb2xvdXI7XG5AdXNlIFwiZm9udFwiO1xuQHVzZSAnLi4vX2hlbHBlcnMvbWlzYy5zY3NzJyBhcyAqO1xuXG4kYmFzZS1pbnB1dC1wYWRkaW5nOiAkZ2FwO1xuXG5cbkBtaXhpbiBhcnJvdy1kb3duLWltYWdlKCRzdHJva2UgOiB2YXIoLS1mb250LWNvbG91cikpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNy40JyBoZWlnaHQ9JzEwLjEnJTNFJTNDcGF0aCBkPSdNMTYuNy43bC04IDgtOC04JyBmaWxsPSdub25lJyBzdHJva2U9J1wiK2NvbG91ci5lbmNvZGUoJHN0cm9rZSkrXCInIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJy8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuXG5cbi8qICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgSU5QVVRTXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBtaXhpbiBjaGFyYWN0ZXItaW5wdXRzKCkge1xuICBpbnB1dFt0eXBlPVwidGV4dFwiXSwgaW5wdXRbdHlwZT1cImVtYWlsXCJdLCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdLCBzZWxlY3QsIHRleHRhcmVhIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gYWxsLWlucHV0cygpIHtcbiAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGNoYXJhY3Rlci1pbnB1dCgpIHtcbiAgLS1mb250LWNvbG91ciAgICAgICA6ICN7JGZvbnQtY29sb3VyfTtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91ciA6ICN7JHdoaXRlfTtcbiAgLS1wYWRkaW5nICAgICAgICAgICA6IGNhbGMoI3skYmFzZS1pbnB1dC1wYWRkaW5nfSAvIDEuNSkgI3skYmFzZS1pbnB1dC1wYWRkaW5nfTtcbiAgLS1ib3JkZXItY29sb3VyICAgICA6ICN7JGdyZXk3fTtcbiAgLS1ib3JkZXItcmFkaXVzICAgICA6IDA7XG5cbiAgb3V0bGluZTogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1czsgIC8qIE9wZXJhIDEwLjUsIElFIDksIFNhZmFyaSA1LCBDaHJvbWUsIEZpcmVmb3ggNCwgaU9TIDQsIEFuZHJvaWQgMi4xKyAqL1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7ICAvKiBTYWZhcmkgMy00LCBpT1MgMS0zLjIsIEFuZHJvaWQgMS42LSAqLyAgICBcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAwOyAgLyogRmlyZWZveCAxLTMuNiAqLyAgICAgXG5cbiAgY29sb3I6IHZhcigtLWZvbnQtY29sb3VyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1jb2xvdXIpO1xuICBwYWRkaW5nOiB2YXIoLS1wYWRkaW5nKTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbjtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMHB4IHRyYW5zcGFyZW50O1xuXG4gICY6OnBsYWNlaG9sZGVyIHsgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb24gfVxuXG4gIC8vICY6bm90KDplbXB0eSkge1xuICAvLyAgICY6OnBsYWNlaG9sZGVyIHsgY29sb3I6ICR0cmFuc3BhcmVudCB9XG4gIC8vIH1cbn1cblxuXG4vKiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIENPTlRBSU5FUlNcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQG1peGluIGNvbnRhaW5lcigpIHtcbiAgLS1sYWJlbC1jb2xvdXIgICAgICAgIDogdmFyKC0tZm9udC1jb2xvdXIpO1xuICAtLWxhYmVsLWFjdGl2ZS1jb2xvdXIgOiB2YXIoLS10aGVtZS1hY2NlbnQpO1xuXG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiAxcmVtO1xuXG4gIGxhYmVsIHtcbiAgICBjb2xvcjogdmFyKC0tbGFiZWwtY29sb3VyKTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbjtcbiAgfVxufVxuXG5AbWl4aW4gdGV4dC1jb250YWluZXIoKSB7XG4gIEBpbmNsdWRlIGNvbnRhaW5lcigpO1xuICBncmlkLWF1dG8tZmxvdzogcm93O1xufVxuXG5cbkBtaXhpbiByYWRpby1jaGVja2JveC1jb250YWluZXIoKSB7XG4gIEBpbmNsdWRlIGNvbnRhaW5lcigpO1xuICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuXG4gIC0taW5wdXQtd2lkdGg6IDEuMmVtO1xuICAtLWlucHV0LWJvcmRlci10aGlja25lc3M6IDFweDtcbiAgLS1pbnB1dC1hY3RpdmUtY29sb3VyOiAjeyRyZWR9O1xuXG4gIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gICAgZ3JpZC1nYXA6ICRnYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG5cbiAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBzcXVhcmUodmFyKC0taW5wdXQtd2lkdGgpKTtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIGJvcmRlcjogdmFyKC0taW5wdXQtYm9yZGVyLXRoaWNrbmVzcywgMXB4KSBzb2xpZCAkZ3JleTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBzcXVhcmUoY2FsYyh2YXIoLS1pbnB1dC13aWR0aCkgLSB2YXIoLS1pbnB1dC1ib3JkZXItdGhpY2tuZXNzKSAqIDYpKTtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWlucHV0LWFjdGl2ZS1jb2xvdXIpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGxlZnQ6IC0xMHB4O1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbiwgdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC0tbGFiZWwtY29sb3VyOiB2YXIoLS1sYWJlbC1hY3RpdmUtY29sb3VyKTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1pbnB1dC1hY3RpdmUtY29sb3VyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICY6Y2hlY2tlZCB7XG4gICAgICArIGxhYmVsIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWxhYmVsLWFjdGl2ZS1jb2xvdXIpO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gcmFkaW8tY29udGFpbmVyKCkge1xuICBsYWJlbCB7XG4gICAgJjo6YmVmb3JlLCAmOjphZnRlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtdWx0aS1pbnB1dCgpIHtcbiAgLS1pbnB1dC1zcGFjaW5nOiAwO1xuICBcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiB2YXIoLS1pbnB1dC1zcGFjaW5nKTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuXG4gIEBpbmNsdWRlIGNoYXJhY3Rlci1pbnB1dHMoKSB7XG4gICAgJjpub3Qoc2VsZWN0KSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICA+ICo6bm90KHNlbGVjdCwgYnV0dG9uLCBhKSB7XG4gICAgZmxleDogMTtcbiAgfVxuICBcbiAgc2VsZWN0LCBidXR0b24sIGEge1xuICAgIC0tZm9udC1jb2xvdXI6ICN7JHdoaXRlfTtcbiAgICAtLWJhY2tncm91bmQtY29sb3VyOiAjeyRyZWR9O1xuXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtY29sb3VyKTtcbiAgICBjb2xvcjogdmFyKC0tZm9udC1jb2xvdXIpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cblxuICBzZWxlY3QgeyBAaW5jbHVkZSBhcnJvdy1kb3duLWltYWdlKCR3aGl0ZSkgfTtcbn1cblxuQG1peGluIGJhc2UtcmVxdWlyZWQoKSB7XG4gIHJlcXVpcmVkLW5vdGljZSB7XG4gICAgLS1ub3RpY2UtY29sb3VyOiAjeyRyZWR9O1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTBweDtcbiAgICBjb2xvcjogdmFyKC0tbm90aWNlLWNvbG91cik7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcblxuICAgIHNwYW4ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IC0xMDAlO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHJhZGlvLXRhYnMoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgcmFkaW8tdGFiIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmctYm90dG9tOiAkZ2FwMDtcbiAgICBcbiAgICBpbnB1dCB7IFxuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpjaGVja2VkICsgbGFiZWwge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS1hY2NlbnQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bm90KDpjaGVja2VkKSB7XG4gICAgICAgICsgbGFiZWw6aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS1hY2NlbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgY29sb3I6IHZhcigtLWZvbnQtY29sb3VyKTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgYmFja2dyb3VuZDogJHRyYW5zcGFyZW50O1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICR0cmFuc2l0aW9uO1xuICAgICAgfVxuICAgICAgXG5cbiAgICB9XG5cbiAgfVxufVxuXG5cbkBtaXhpbiBpbnB1dC1mb2N1cygpIHtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAxcHggMXB4IHJnYmEoJHJlZCwgMC4zKTtcbn0iLCJAdXNlICcuLi9fdmFyaWFibGVzLycgYXMgKjtcbkB1c2UgJy4uL19oZWxwZXJzLycgYXMgKjtcblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cdEJhc2UgcmVzdWx0IHN0eWxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG5AbWl4aW4gYmFzZSgpIHtcblxuICAtLWhlYWRpbmctY29sb3VyICAgIDogI3skYmx1ZX07XG5cbiAgLS1ib3JkZXItdGhpY2tuZXNzICA6IDFweDtcbiAgLS1ib3JkZXItcmFkaXVzICAgICA6IDBweDtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91ciA6IHdoaXRlO1xuXG4gIC0tcGFkZGluZyAgICAgICAgICAgOiAycmVtO1xuXG4gIC0tcGFkZGluZy1sZWZ0ICAgICAgOiB2YXIoLS1wYWRkaW5nKTtcbiAgLS1wYWRkaW5nLXJpZ2h0ICAgICA6IHZhcigtLXBhZGRpbmcpO1xuICAtLXBhZGRpbmctdG9wICAgICAgIDogdmFyKC0tcGFkZGluZyk7XG4gIC0tcGFkZGluZy1ib3R0b20gICAgOiB2YXIoLS1wYWRkaW5nKTtcblxuICAtLWltYWdlLXdpZHRoICAgICAgIDogMTAwcHg7XG4gIC0taW1hZ2UtaGVpZ2h0ICAgICAgOiAxMDBweDtcblxuICAtLWdyaWQtZ2FwICAgICAgICAgIDogI3skZ2FwfTtcblxuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogdmFyKC0tcGFkZGluZy10b3ApIHZhcigtLXBhZGRpbmctcmlnaHQpIHZhcigtLXBhZGRpbmctYm90dG9tKSB2YXIoLS1wYWRkaW5nLWxlZnQpO1xuICBib3JkZXI6IHZhcigtLWJvcmRlci10aGlja25lc3MpIHNvbGlkICR0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtY29sb3VyKTtcbiAgLy8gYm94LXNoYWRvdzogMHB4IDBweCA1cHggMXB4IHJnYmEoJGdyZXksIDAuMSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgdHJhbnNpdGlvbjogYm9yZGVyICR0cmFuc2l0aW9uO1xuXG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiB2YXIoLS1ncmlkLWdhcCkgdmFyKC0tZ3JpZC1nYXApO1xuICAvLyBwbGFjZS1jb250ZW50OiBzdGFydDtcblxuICAucmVzdWx0LWltYWdlIHtcbiAgICBncmlkLWFyZWE6IGltYWdlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgcGljdHVyZSB7XG4gICAgICBoZWlnaHQ6IHZhcigtLWltYWdlLWhlaWdodCk7XG4gICAgICBcbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1pbWFnZS1oZWlnaHQpO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLWltYWdlLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucmVzdWx0LXRpdGxlIHtcbiAgICBncmlkLWFyZWE6IHRpdGxlO1xuICAgIGNvbG9yOiB2YXIoLS1oZWFkaW5nLWNvbG91cik7XG4gICAgYSB7IGNvbG9yOiB2YXIoLS1oZWFkaW5nLWNvbG91cikgfVxuICB9XG5cbiAgLnJlc3VsdC1zdWJ0aXRsZSB7IGdyaWQtYXJlYTogc3VidGl0bGUgfVxuICAucmVzdWx0LWJvZHkgICAgIHsgZ3JpZC1hcmVhOiBib2R5IH1cblxuICAmLmJsb2cgICAgeyBAaW5jbHVkZSBibG9nKCkgfVxuICAmLm1hcmtldC1zZWN0b3IgICAgeyBAaW5jbHVkZSBtYXJrZXQtc2VjdG9yKCkgfVxuICAmLnByb2R1Y3QgeyBAaW5jbHVkZSBwcm9kdWN0KCkgfVxuICAmLnBhZ2UgICAgeyBAaW5jbHVkZSBwYWdlKCkgfVxufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS1cblx0VmFyaWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG5AbWl4aW4gbWFya2V0LXNlY3RvcigpIHtcblxuICAtLWJhY2tncm91bmQtY29sb3VyOnRyYW5zcGFyZW50OyBcbiAgLS1mb250LWNvbG91cjp3aGl0ZTsgXG4gIC0taGVhZGluZy1jb2xvdXIgOiB3aGl0ZTsgXG5cbiAgaXNvbGF0aW9uOiBpc29sYXRlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOjAgMCAkZ3V0dGVyMCAwIDsgXG4gIGJvcmRlci1ib3R0b206MXB4IHNvbGlkIHZhcigtLXJlc3VsdC1pdGVtLWJvcmRlci1ib3R0b20sIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSk7XG5cbiAgLnJlc3VsdC1pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBjbGFtcCgxNDBweCwgNDB2dywgMTgwcHgpO1xuICAgIG91dGxpbmU6IDFweCBzb2xpZCB2YXIoLS1pbWFnZS1vdXRsaW5lLWNvbG91ciwgdHJhbnNwYXJlbnQpO1xuICAgIG91dGxpbmUtb2Zmc2V0OiB2YXIoLS1pbWFnZS1vdXRsaW5lLW9mZnNldCwgMC4xZW0pOyBcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogb3V0bGluZS1jb2xvciAkdHJhbnNpdGlvbiwgb3V0bGluZS1vZmZzZXQgJHRyYW5zaXRpb247XG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuXG4gIH1cblxuICAmOmhvdmVyIHsgXG4gICAgLS1pbWFnZS1vdXRsaW5lLWNvbG91ciA6ICN7cmdiYSh3aGl0ZSwgMC4yKX07XG4gICAgLS1pbWFnZS1vdXRsaW5lLW9mZnNldCA6IDAuM2VtO1xuICAgIC5yZXN1bHQtdGl0bGUgYSB7IGNvbG9yOiRyZWQ7IH1cbiAgfVxuXG4gIC5yZXN1bHQtdGl0bGUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcblxuICAgIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAmOjphZnRlciB7IFxuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgIGluc2V0OjA7IFxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHotaW5kZXg6MTsgXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGF0LXJvb3QgYm9keVtkYXRhLXRoZW1lPSd3aGl0ZSddICYge1xuICAgIC0tcmVzdWx0LWl0ZW0tYm9yZGVyLWJvdHRvbSA6ICN7cmdiYSgkYmx1ZSwgMC4yKX07XG4gICAgLS1mb250LWNvbG91cjojeyRibHVlfTsgXG4gICAgLS1oZWFkaW5nLWNvbG91ciA6ICN7JGJsdWV9OyBcbiAgICAmOmhvdmVyIHsgXG4gICAgICAtLWltYWdlLW91dGxpbmUtY29sb3VyIDogI3tyZ2JhKCRibHVlLCAwLjIpfTtcbiAgICB9XG4gIH1cblxuICBAYXQtcm9vdCBib2R5I21hcmtldC1zZWN0b3JzIHtcbiAgICAmIHtcbiAgICAgIC8vIGlzb2xhdGlvbjogaW5pdGlhbDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTtcbiAgICAgIGNvbnRhaW5lci1uYW1lIDogbWFya2V0LXNlY3RvcjtcbiAgICAgIC5yZXN1bHQtaXRlbSB7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb247XG4gICAgICAgIGEuZGV0YWlsczpob3ZlciB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmhvdmVyIC5yZXN1bHQtaW1hZ2Uge1xuICAgICAgICAtLWltYWdlLW91dGxpbmUtY29sb3VyIDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgLS1pbWFnZS1vdXRsaW5lLW9mZnNldCA6MCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLmRldGFpbHMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS1kYXJrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDE7IFxuICAgICAgICBwYWRkaW5nOjA7IFxuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAyMjBweDtcbiAgICAgICAgd2lkdGg6dmFyKC0tbWFya2V0LXNlY3Rvci1hcnRpY2xlLXdpZHRoLCBjYWxjKDIwMCUgKyAjeyRndXR0ZXJ9KSk7XG4gICAgICAgIFxuICAgICAgICAvLyBEaXNjcmV0ZSBhbmltYXRpb24gc2V0dXBcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogXG4gICAgICAgICAgb3BhY2l0eSAkdHJhbnNpdGlvbixcbiAgICAgICAgICBkaXNwbGF5ICR0cmFuc2l0aW9uIGFsbG93LWRpc2NyZXRlOyBcbiAgICAgICAgLmRldGFpbHMtdGV4dCB7XG4gICAgICAgICAgcGFkZGluZzokZ3V0dGVyOyBcbiAgICAgICAgfVxuICAgICAgICAuZGV0YWlscy1oZWFkaW5nIHsgXG4gICAgICAgICAgY29sb3I6JHJlZDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIEBpbmNsdWRlIGhlYWRpbmctaDI7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbToxZW07XG4gICAgICAgIH1cbiAgICAgICAgLmRldGFpbHMtaW1hZ2Uge1xuICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSAxMDAlLCAzNSUgMCUsIDEwMCUgMCUsIDEwMCUgMTAwJSk7XG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OjEwMCU7IFxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5kZXRhaWxzLWxpbmsge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5kZXRhaWxzLWxpbmsge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206MDsgXG4gICAgICAgICAgcmlnaHQ6MDsgXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5kZXRhaWxzIHtcbiAgICAgICAgQGNvbnRhaW5lciBtYXJrZXQtc2VjdG9yICggd2lkdGggPCA0MjBweCkge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIC5kZXRhaWxzLWltYWdlIHtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogaW5pdGlhbDtcbiAgICAgICAgICAgIGhlaWdodDoxMDBweDsgXG4gICAgICAgICAgICAuZGV0YWlscy1saW5rIHtcbiAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICYgLnJlc3VsdC1pdGVtOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUpIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgLmRldGFpbHMge1xuICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBcbiAgICAgICAgICBAc3RhcnRpbmctc3R5bGUge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cblxuICAgIGFydGljbGUtZ3JpZDpoYXMoLnJlc3VsdC1pdGVtOmlzKDpob3ZlciwgOmZvY3VzLXZpc2libGUpKSB7XG4gICAgICAucmVzdWx0LWl0ZW06bm90KDppcyg6aG92ZXIsIDpmb2N1cy12aXNpYmxlKSkgeyBvcGFjaXR5OiAwLjUgIWltcG9ydGFudDt9XG4gICAgfVxuXG4gICAgQGNvbnRhaW5lciBtYWluICggd2lkdGggPCA2NjBweCkge1xuICAgICAgYXJ0aWNsZS1ncmlkIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgIWltcG9ydGFudDtcbiAgICAgICAgLS1tYXJrZXQtc2VjdG9yLWFydGljbGUtd2lkdGggOiAxMDAlOyBcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhcnRpY2xlLWdyaWQge1xuICAgICAgQGNvbnRhaW5lciBtYWluICg2NjBweCA8IHdpZHRoIDwgOTY0cHgpICB7XG4gICAgICAgIC5yZXN1bHQtaXRlbTpudGgtY2hpbGQoMm4pIC5kZXRhaWxzIHsgXG4gICAgICAgICAgICBsZWZ0OiBpbml0aWFsOyBcbiAgICAgICAgICAgIHJpZ2h0OjA7IFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAY29udGFpbmVyIG1haW4gKCB3aWR0aCA+IDk2NHB4KSAge1xuICAgICAgICAucmVzdWx0LWl0ZW06bnRoLWNoaWxkKDNuKSAuZGV0YWlscyB7IFxuICAgICAgICAgICAgbGVmdDogaW5pdGlhbDsgXG4gICAgICAgICAgICByaWdodDowOyBcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gXG5cbiAgfVxuXG5cbn1cbkBtaXhpbiBibG9nKCkge1xuICAtLXBhZGRpbmcgICAgICAgICAgOiA0cmVtO1xuICAtLWJvcmRlci10aGlja25lc3MgOiAwO1xuICAtLWJvcmRlci1yYWRpdXMgICAgOiAwO1xuICAvLyAtLWJhY2tncm91bmQtY29sb3VyIDogdHJhbnNwYXJlbnQ7XG5cbiAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICBcInN1YnRpdGxlXCJcbiAgICBcInRpdGxlXCJcbiAgICBcImJvZHlcIjtcblxuICAucmVzdWx0LWltYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMjBkZWcsIHJnYmEod2hpdGUsIDEpIDQ1JSwgdHJhbnNwYXJlbnQgMTIwJSk7XG4gICAgfVxuICB9XG5cbiAgLnJlc3VsdC10aXRsZSwgLnJlc3VsdC1zdWJ0aXRsZSB7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgfVxuXG4gIC5yZXN1bHQtdGl0bGUgeyAgICAgXG4gICAgQGluY2x1ZGUgaGVhZGluZy1oMjtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICB9XG5cbiAgLnJlc3VsdC1zdWJ0aXRsZSB7XG4gICAgLS1oZWFkaW5nLWNvbG91cjogI3skcmVkfTtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIGg0LCB0aW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICB0aW1lIHtcbiAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICB9XG4gIH1cblxuICAucmVzdWx0LWJvZHkgeyAtLWZvbnQtY29sb3VyOiAjeyRibGFja307IH1cblxuICAmLmZlYXR1cmVkIHtcbiAgICAtLXBhZGRpbmctcmlnaHQ6IDVyZW07XG5cbiAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcblxuICAgIC5yZXN1bHQtdGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMjtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ0ZFQVRVUkVEJztcbiAgICAgIEBpbmNsdWRlIGZlYXR1cmVkLWJhZGdlKCk7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gIH1cblxuICAucmVzdWx0LXRpdGxlLCAucmVzdWx0LXN1YnRpdGxlLCAucmVzdWx0LWJvZHkge1xuICAgIHotaW5kZXg6IDI7XG4gIH1cbn1cblxuXG5cbkBtaXhpbiBwYWdlKCkge1xuICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICBcImltYWdlIHRpdGxlXCJcbiAgXCJpbWFnZSBib2R5XCJcbiAgXCJpbWFnZSBib2R5XCJcbiAgXCJpbWFnZSBib2R5XCI7XG5cbiAgLnJlc3VsdC1pbWFnZSB7XG4gICAgaW1nIHtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cbiAgfVxufVxuXG5cblxuQG1peGluIHByb2R1Y3QoKSB7XG4gIC0tYmFkZ2Utc3BhY2luZyA6IDNyZW07XG5cbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1pbWFnZS13aWR0aCkgYXV0bztcblxuICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgIFwiaW1hZ2UgdGl0bGVcIlxuICAgIFwiaW1hZ2UgdGl0bGVcIlxuICAgIFwiaW1hZ2UgZGF0YVwiXG4gICAgXCJpbWFnZSBkYXRhXCI7XG5cbiAgLy8gLnJlc3VsdC10aXRsZSB7XG4gIC8vICAgbWFyZ2luLXRvcDogJGdhcDtcbiAgLy8gfVxuXG4gIC5yZXN1bHQtdGl0bGUsIC5yZXN1bHQtYm9keSB7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1iYWRnZS1zcGFjaW5nKSAqIDIpO1xuICB9XG5cbiAgLnByb2R1Y3QtZGF0YSB7XG4gICAgZ3JpZC1hcmVhOiBkYXRhO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ3JpZC1nYXA6IGNhbGMoJGdhcCAvIDIpICRnYXA7XG4gIH1cblxuICAucmVzdWx0LWltYWdlIHtcbiAgICBpbWcge1xuICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICB9XG4gIH1cblxuXG4gIEBpbmNsdWRlIGJyZWFrLWluKDQ1MCkge1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgXCJpbWFnZSBcIlxuICAgIFwidGl0bGVcIlxuICAgIFwiZGF0YVwiO1xuXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB1bnNldDtcblxuICAgIC5wcm9kdWN0LWRhdGEge1xuICAgICAgLy8gbWFyZ2luLXRvcDogJGdhcC07XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cblxuICAgIC8vIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG5cbiAgICAucmVzdWx0LXRpdGxlLCAucmVzdWx0LWJvZHkgeyBwYWRkaW5nLXJpZ2h0OiAwIH1cbiAgICAvLyAucmVzdWx0LXRpdGxlIHsgYWxpZ24tc2VsZjogY2VudGVyIH1cbiAgfVxuXG5cbiAgJi5pbi1zdG9jazo6YmVmb3JlIHtcbiAgICAtLXBhZGRpbmcteSA6IDAuMmVtO1xuICAgIC0tcGFkZGluZy14IDogMTBlbTtcblxuICAgIGNvbnRlbnQ6ICdpbiBzdG9jayc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYygxZW0gKyB2YXIoLS1wYWRkaW5nLXkpKTtcbiAgICByaWdodDogY2FsYygtMSAqIHZhcigtLXBhZGRpbmcteCkpO1xuICAgIHBhZGRpbmc6IDAuNWVtIHZhcigtLXBhZGRpbmcteCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxufSIsIkB1c2UgJy4uL192YXJpYWJsZXMnIGFzICo7XG5AdXNlICcuLi9faGVscGVycy9taXNjLnNjc3MnIGFzICo7XG5cbkBtaXhpbiB0YWcoKSB7XG4gICZbZGlzYWJsZWRdIHsgQGluY2x1ZGUgZGlzYWJsZWQoKSB9XG4gICYuY2F0ZWdvcnkge1xuICAgIEBpbmNsdWRlIHRhZy1iYXNlKCk7XG4gICAgLS1ib3JkZXItY29sb3VyOiAjeyRyZWR9O1xuICAgIEBpbmNsdWRlIHRhZy13aXRoLXNlY29uZGFyeSgpO1xuICAgIC50YWctc2Vjb25kYXJ5OmhvdmVyIHsgQGluY2x1ZGUgc2Vjb25kYXJ5LWhvdmVyKCkgfVxuICB9XG5cbiAgJi5jaGVja2JveCB7XG4gICAgQGluY2x1ZGUgdGFnLWNoZWNrYm94KCk7XG4gIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgQmFzZSBzdHlsaW5nXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1peGluIHRhZy1iYXNlKCkge1xuICAtLWJvcmRlci1yYWRpdXMgICAgICAgOiAwcHg7XG4gIC0tZm9udC1jb2xvdXIgICAgICAgICA6ICN7JHJlZH07XG4gIC0tYmctY29sb3VyICAgICAgICAgICA6IHdoaXRlO1xuICAtLXNlY29uZGFyeS13aWR0aCAgICAgOiAzY2g7XG4gIC0tc2Vjb25kYXJ5LXBhZGRpbmcteCA6IDNweDtcbiAgLS1ib3JkZXItY29sb3VyICAgICAgIDogdHJhbnNwYXJlbnQ7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgY29sb3I6IHZhcigtLWZvbnQtY29sb3VyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29sb3VyKTtcbiAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG5cbiAgLnRhZy1sYWJlbCB7XG4gICAgcGFkZGluZzogM3B4ICRnYXAgM3B4ICRnYXA7XG4gIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgV2l0aCBzZWNvbmRhcnkgc2VjdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtaXhpbiB0YWctd2l0aC1zZWNvbmRhcnkoKSB7XG4gIC0tc3ltYm9sLWNvbG91ciA6ICN7JHJlZH07XG5cbiAgLnRhZy1zZWNvbmRhcnkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIHZhcigtLXNlY29uZGFyeS1wYWRkaW5nLXgpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleTQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogM2NoO1xuICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuXG4gICAgc3ZnIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBDaGVja2JveCB0YWdzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1peGluIHRhZy1jaGVja2JveCgpIHtcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJiB+IGxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIHRhZy1iYXNlKCk7XG4gICAgICBAaW5jbHVkZSB0YWctd2l0aC1zZWNvbmRhcnkoKTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIC0tYm9yZGVyLWNvbG91cjogI3skcmVkfTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Y2hlY2tlZCB+IGxhYmVsIHtcbiAgICAgIC0tZm9udC1jb2xvdXI6IHdoaXRlO1xuICAgICAgLS1iZy1jb2xvdXI6ICN7JHJlZH07XG5cbiAgICAgIC50YWctc2Vjb25kYXJ5IHsgQGluY2x1ZGUgc2Vjb25kYXJ5LWhvdmVyKHJnYmEod2hpdGUsIDAuMykpIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWl4aW4gc2Vjb25kYXJ5LWhvdmVyKCRjb2xvdXIgOiAkcmVkKSB7XG4gIC0tc3ltYm9sLWNvbG91cjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI7XG59IiwiQHVzZSAnX21vZHVsZXMnIGFzICo7XG5cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OlwibGF0b1wiO1xuICBzcmM6dXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tYm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9sYXRvLWJvbGQud29mZlwiKSAgZm9ybWF0KFwid29mZlwiKSxcbiAgICAgIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9sYXRvLWJvbGQub3RmXCIpICAgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gICAgICBmb250LWRpc3BsYXk6c3dhcDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo3MDA7XG59XG5cbkBmb250LWZhY2Uge1xuZm9udC1mYW1pbHk6XCJsYXRvXCI7XG5zcmM6dXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tc2VtaWJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tc2VtaWJvbGQud29mZlwiKSAgZm9ybWF0KFwid29mZlwiKSxcbiAgICB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1zZW1pYm9sZC5vdGZcIikgICBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbiAgICBmb250LWRpc3BsYXk6c3dhcDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo2MDA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTpcImxhdG9cIjtcbiAgc3JjOnVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9sYXRvLXJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1yZWd1bGFyLndvZmZcIikgIGZvcm1hdChcIndvZmZcIiksXG4gICAgICB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1yZWd1bGFyLm90ZlwiKSAgIGZvcm1hdChcIm9wZW50eXBlXCIpO1xuICAgICAgZm9udC1kaXNwbGF5OnN3YXA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO1xuICB9XG5cbkBmb250LWZhY2Uge1xuZm9udC1mYW1pbHk6XCJtb250c2VycmF0XCI7XG5zcmM6dXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtbWVkaXVtLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICAgIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LW1lZGl1bS53b2ZmXCIpICBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LW1lZGl1bS5vdGZcIikgICBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbiAgICBmb250LWRpc3BsYXk6c3dhcDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo1MDA7XG59XG5cbkBmb250LWZhY2Uge1xuZm9udC1mYW1pbHk6XCJtb250c2VycmF0XCI7XG5zcmM6dXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtbWVkaXVtLWl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1tZWRpdW0taXRhbGljLndvZmZcIikgIGZvcm1hdChcIndvZmZcIiksXG4gICAgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtbWVkaXVtLWl0YWxpYy5vdGZcIikgICBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbiAgICBmb250LWRpc3BsYXk6c3dhcDtmb250LXN0eWxlOml0YWxpYztmb250LXdlaWdodDo1MDA7XG59XG5cbkBmb250LWZhY2Uge1xuZm9udC1mYW1pbHk6XCJtb250c2VycmF0XCI7XG5zcmM6dXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtc2VtaWJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtc2VtaWJvbGQud29mZlwiKSAgZm9ybWF0KFwid29mZlwiKSxcbiAgICB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1zZW1pYm9sZC5vdGZcIikgICBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbiAgICBmb250LWRpc3BsYXk6c3dhcDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo2MDA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTpcIm1vbnRzZXJyYXRcIjtcbiAgc3JjOnVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LXJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1yZWd1bGFyLndvZmZcIikgIGZvcm1hdChcIndvZmZcIiksXG4gICAgICB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1yZWd1bGFyLm90ZlwiKSAgIGZvcm1hdChcIm9wZW50eXBlXCIpO1xuICAgICAgZm9udC1kaXNwbGF5OnN3YXA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6XCJtb250c2VycmF0XCI7XG4gIHNyYzp1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1leHRyYWJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1leHRyYWJvbGQud29mZlwiKSAgZm9ybWF0KFwid29mZlwiKSxcbiAgICAgIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LWV4dHJhYm9sZC5vdGZcIikgICBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbiAgICAgIGZvbnQtZGlzcGxheTpzd2FwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjgwMDtcbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQ3VzdG9tIFByb3BlcnRpZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuQHVzZSAnc2FzczptYXRoJztcblxuOnJvb3Qge1xuXG4gIC8vIENvbG91cnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC0tcHJpbWFyeSAgICAgICAgIDogI3skd2hpdGV9OyBcbiAgLS1zZWNvbmRhcnkgICAgICAgOiAjeyRibHVlfTtcblxuICBib2R5IHtcblxuICAgICZbZGF0YS10aGVtZT1cImRlZmF1bHRcIl0ge1xuICAgICAgLS10aGVtZS1wYWdlLWJhY2tncm91bmQgICAgOiAjeyR0aGVtZS1kZWZhdWx0LXBhZ2UtYmFja2dyb3VuZH07XG4gICAgICAtLXRoZW1lLWNvbnRlbnQtYmFja2dyb3VuZCA6ICN7JHRoZW1lLWRlZmF1bHQtY29udGVudC1iYWNrZ3JvdW5kfTtcbiAgICAgIC0tdGhlbWUtY29udGVudC1vcHBvc2l0ZSAgIDogI3skd2hpdGV9O1xuICAgICAgLS10aGVtZS1uYXYtYmFja2dyb3VuZCAgICAgOiAjeyR0aGVtZS1kZWZhdWx0LW5hdi1iYWNrZ3JvdW5kfTtcbiAgICAgIC0tdGhlbWUtbmF2LWJhY2tncm91bmQtbW9iIDogI3skdGhlbWUtZGVmYXVsdC1uYXYtYmFja2dyb3VuZC1tb2J9O1xuICAgICAgLS10aGVtZS1uYXYtZm9udCAgICAgICAgICAgOiAjeyR0aGVtZS1kZWZhdWx0LW5hdi1mb250fTtcbiAgICAgIC0tdGhlbWUtbmF2LWZvbnQtbW9iICAgICAgIDogI3skdGhlbWUtZGVmYXVsdC1uYXYtZm9udC1tb2J9O1xuICAgICAgLS10aGVtZS1uYXYtc3BhY2luZy1jb2xvdXIgOiAjeyR0aGVtZS1kZWZhdWx0LW5hdi1zcGFjaW5nLWNvbG91cn07XG4gICAgICAtLXRoZW1lLWFjY2VudCAgICAgICAgICAgICA6ICN7JHRoZW1lLWRlZmF1bHQtYWNjZW50fTtcbiAgICAgIC0tdGhlbWUtbG9nbyAgICAgICAgICAgICAgIDogI3skdGhlbWUtZGVmYXVsdC1sb2dvfTtcbiAgICAgIC0tZm9udC1jb2xvdXIgICAgICAgICAgICAgIDogI3skdGhlbWUtZGVmYXVsdC1mb250fTtcbiAgICAgIC0taGVhZGluZy1jb2xvdXIgICAgICAgICAgIDogI3skdGhlbWUtZGVmYXVsdC1oZWFkaW5nfTtcbiAgICB9XG5cbiAgICAmW2RhdGEtdGhlbWU9XCJ3aGl0ZVwiXSB7XG4gICAgICAtLXRoZW1lLXBhZ2UtYmFja2dyb3VuZCAgICA6ICN7JHRoZW1lLXdoaXRlLXBhZ2UtYmFja2dyb3VuZH07XG4gICAgICAtLXRoZW1lLWNvbnRlbnQtYmFja2dyb3VuZCA6ICN7JHRoZW1lLXdoaXRlLWNvbnRlbnQtYmFja2dyb3VuZH07XG4gICAgICAtLXRoZW1lLWNvbnRlbnQtb3Bwb3NpdGUgICA6ICN7JHdoaXRlfTtcbiAgICAgIC0tdGhlbWUtbmF2LWJhY2tncm91bmQgICAgIDogI3skdGhlbWUtd2hpdGUtbmF2LWJhY2tncm91bmR9O1xuICAgICAgLS10aGVtZS1uYXYtYmFja2dyb3VuZC1tb2IgOiAjeyR0aGVtZS13aGl0ZS1uYXYtYmFja2dyb3VuZC1tb2J9O1xuICAgICAgLS10aGVtZS1uYXYtZm9udCAgICAgICAgICAgOiAjeyR0aGVtZS13aGl0ZS1uYXYtZm9udH07XG4gICAgICAtLXRoZW1lLW5hdi1mb250LW1vYiAgICAgICA6ICN7JHRoZW1lLXdoaXRlLW5hdi1mb250LW1vYn07XG4gICAgICAtLXRoZW1lLW5hdi1zcGFjaW5nLWNvbG91ciA6ICN7JHRoZW1lLXdoaXRlLW5hdi1zcGFjaW5nLWNvbG91cn07XG4gICAgICAtLXRoZW1lLWFjY2VudCAgICAgICAgICAgICA6ICN7JHRoZW1lLXdoaXRlLWFjY2VudH07XG4gICAgICAtLXRoZW1lLWxvZ28gICAgICAgICAgICAgICA6ICN7JHRoZW1lLXdoaXRlLWxvZ299O1xuICAgICAgLS1mb250LWNvbG91ciAgICAgICAgICAgICAgOiAjeyR0aGVtZS13aGl0ZS1mb250fTtcbiAgICAgIC0taGVhZGluZy1jb2xvdXIgICAgICAgICAgIDogI3skdGhlbWUtd2hpdGUtaGVhZGluZ307XG4gICAgfVxuXG4gICAgJltkYXRhLXRoZW1lPVwiYmxhY2tcIl0ge1xuICAgICAgLS10aGVtZS1wYWdlLWJhY2tncm91bmQgICAgOiAjeyR0aGVtZS1ibGFjay1wYWdlLWJhY2tncm91bmR9O1xuICAgICAgLS10aGVtZS1jb250ZW50LWJhY2tncm91bmQgOiAjeyR0aGVtZS1ibGFjay1jb250ZW50LWJhY2tncm91bmR9O1xuICAgICAgLS10aGVtZS1jb250ZW50LW9wcG9zaXRlICAgOiAjeyR3aGl0ZX07XG4gICAgICAtLXRoZW1lLW5hdi1iYWNrZ3JvdW5kICAgICA6ICN7JHRoZW1lLWJsYWNrLW5hdi1iYWNrZ3JvdW5kfTtcbiAgICAgIC0tdGhlbWUtbmF2LWJhY2tncm91bmQtbW9iIDogI3skdGhlbWUtYmxhY2stbmF2LWJhY2tncm91bmQtbW9ifTtcbiAgICAgIC0tdGhlbWUtbmF2LWZvbnQgICAgICAgICAgIDogI3skdGhlbWUtYmxhY2stbmF2LWZvbnR9O1xuICAgICAgLS10aGVtZS1uYXYtZm9udC1tb2IgICAgICAgOiAjeyR0aGVtZS1ibGFjay1uYXYtZm9udC1tb2J9O1xuICAgICAgLS10aGVtZS1uYXYtc3BhY2luZy1jb2xvdXIgOiAjeyR0aGVtZS1ibGFjay1uYXYtc3BhY2luZy1jb2xvdXJ9O1xuICAgICAgLS10aGVtZS1mb250ICAgICAgICAgICAgICAgOiAjeyR0aGVtZS1ibGFjay1mb250fTtcbiAgICAgIC0tdGhlbWUtYWNjZW50ICAgICAgICAgICAgIDogI3skdGhlbWUtYmxhY2stYWNjZW50fTtcbiAgICAgIC0tdGhlbWUtbG9nbyAgICAgICAgICAgICAgIDogI3skdGhlbWUtYmxhY2stbG9nb307XG4gICAgICAtLWZvbnQtY29sb3VyICAgICAgICAgICAgICA6ICN7JHRoZW1lLWJsYWNrLWZvbnR9O1xuICAgICAgLS1oZWFkaW5nLWNvbG91ciAgICAgICAgICAgOiAjeyR0aGVtZS1ibGFjay1oZWFkaW5nfTtcbiAgICB9XG4gIH1cblxuXG4gIC8vIEJyZWFrcG9pbnRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludHMge1xuICAgIC0tYnJlYWtwb2ludC0jeyRuYW1lfSA6ICN7JHZhbHVlfTtcbiAgfVxuXG4gIC8vIEZvbnRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBcbiAgLS1mb250LWNvbG91ciAgICAgICAgOiAje3ZhcigtLXRoZW1lLWZvbnQsICRmb250LWNvbG91cil9O1xuICAtLWhlYWRpbmctY29sb3VyICAgICA6ICN7dmFyKC0tdGhlbWUtaGVhZGluZywgJHdoaXRlKX07XG4gIC0tc3ViLWhlYWRpbmctY29sb3VyIDogI3t2YXIoLS1zZWNvbmRhcnksICRibHVlKX07XG5cbiAgLy8gVHJhbnNpdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLS10cmFuc2l0aW9uLWR1cmF0aW9uIDogI3skdHJhbnNpdGlvbi1kdXJhdGlvbn07XG4gIC0tdHJhbnNpdGlvbi1lYXNlICAgICA6ICN7JHRyYW5zaXRpb24tZWFzZX07XG4gIC0tdHJhbnNpdGlvbi1kZWxheSAgICA6ICN7JHRyYW5zaXRpb24tZGVsYXl9O1xuXG4gIC8vIFVuaXRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC0tZ2FwICAgIDogI3skYmFzZS1nYXB9O1xuICAtLWd1dHRlciA6ICN7JGJhc2UtZ3V0dGVyfTtcbiAgLS1zcGFjZXIgOiAjeyRiYXNlLXNwYWNlcn07XG4gXG4gIC8vLyBTZXQgdGhlIGd1dHRlcnMgYW5kIHNwYWNlcnMgd2l0aCBjbGFtcCBcbiAgLy8vIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL2NsYW1wXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggNiB7XG5cbiAgICAtLWd1dHRlciN7JGl9ICA6ICN7Z3V0dGVyKCRpKX07IFxuICAgIC0tZ3V0dGVyI3skaX0tIDogI3tndXR0ZXIoJGksICR1c2UtbmVnYXRpdmUgOiB0cnVlKX07XG5cbiAgICAkc3BhY2VyLWdyb3d0aCA6IGlmKCRpID09IDAsIDEsICRpICogMyk7XG4gICAgLS1zcGFjZXIjeyRpfSAgOiAje3NwYWNlcigkc3BhY2VyLWdyb3d0aCl9OyBcbiAgICAtLXNwYWNlciN7JGl9LSA6ICN7c3BhY2VyKCRzcGFjZXItZ3Jvd3RoLCAkdXNlLW5lZ2F0aXZlIDogdHJ1ZSl9O1xuICB9XG4gIFxuICAvLy8gU2V0cyB0aGUgZ3V0dGVycyBhbmQgc3BhY2VycyB1c2luZyB0aGUgY2FsYyBcbiAgLy8vIG1ldGhvZCBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGNsYW1wXG4gIEBzdXBwb3J0cyBub3QgKCB3aWR0aDpjbGFtcCgxcHgsIDV2dywgMTBweCkpIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIDYge1xuXG4gICAgICAtLWd1dHRlciN7JGl9ICA6ICN7Z3V0dGVyKCRpLCAkdXNlLWNsYW1wIDogZmFsc2UgKX07IFxuICAgICAgLS1ndXR0ZXIjeyRpfS0gOiAje2d1dHRlcigkaSwgJHVzZS1jbGFtcCA6IGZhbHNlLCAkdXNlLW5lZ2F0aXZlIDogdHJ1ZSApfTtcblxuICAgICAgJHNwYWNlci1ncm93dGggOiBpZigkaSA9PSAwLCAyLCAkaSAqIDQpO1xuICAgICAgLS1zcGFjZXIjeyRpfSAgOiAje3NwYWNlcigkc3BhY2VyLWdyb3d0aCwgJHVzZS1jbGFtcCA6IGZhbHNlICl9OyBcbiAgICAgIC0tc3BhY2VyI3skaX0tIDogI3tzcGFjZXIoJHNwYWNlci1ncm93dGgsICR1c2UtY2xhbXAgOiBmYWxzZSwgJHVzZS1uZWdhdGl2ZSA6IHRydWUgKX07XG4gICAgfSAgICBcbiAgfVxufSIsIi8vLyBHbG9iYWwgdHlwb2dyYXBoaWMgc3R5bGluZyB0aGF0IGVmZmVjdHMgZXZlcnl0aGluZy4gXG4vLy8gSWYgeW91IHdhbnQgdG8gdXBkYXRlIHN0eWxpbmcgZm9yIGNvbnRlbnQgYmxvY2sgdGV4dCBmaWVsZHMsIGludHJvZHVjdGlvbiBmaWVsZHMsIFxuLy8vIG9yIGFueXRoaW5nIGFzc2lnbmVkIGEgLnRleHQgY2xhc3Mgb24gaXQncyBjb250YWluZXIgdGhlbiBlZGl0IHRoaXMgZmlsZTpcbi8vLyBAc2VlIC9zcmMvc2Fzcy9jb21wb25lbnRzL3RleHRcblxuQHVzZSAnX21vZHVsZXMnIGFzICo7XG5cblxuYm9keSB7XG4gIEBpbmNsdWRlIGZvbnQtbW9udHNlcnJhdCgpO1xuXHRjb2xvciAgICAgICA6IHZhcigtLWZvbnQtY29sb3VyLCAkZm9udC1jb2xvdXIpO1xuICBsaW5lLWhlaWdodCA6ICRmb250LWxpbmUtaGVpZ2h0O1xuICBmb250LXNpemUgICA6ICRmb250LXNpemU7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udHNpemUoJGZvbnQtc2l6ZS1taW4sICRmb250LXNpemUtbWF4KTtcbn1cblxuaDEgeyBAaW5jbHVkZSBoZWFkaW5nLWgxOyB9XG5oMiB7IEBpbmNsdWRlIGhlYWRpbmctaDI7IH1cbmgzIHsgQGluY2x1ZGUgaGVhZGluZy1oMzsgfVxuaDQgeyBAaW5jbHVkZSBoZWFkaW5nLWg0OyB9XG5oNSB7IEBpbmNsdWRlIGhlYWRpbmctaDU7IH1cbmg2IHsgQGluY2x1ZGUgaGVhZGluZy1oNjsgfVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHsgXG5cbiAgQGluY2x1ZGUgZm9udC1tb250c2VycmF0KGJvbGQpO1xuICBjb2xvcjp2YXIoLS1oZWFkaW5nLWNvbG91ciwgdmFyKC0tZm9udC1jb2xvdXIpKTtcbiAgXG4gICYuc3ViLWhlYWRpbmcge1xuICAgIGNvbG9yOnZhcigtLXN1Yi1oZWFkaW5nLWNvbG91cik7IFxuICAgIEBpbmNsdWRlIGZvbnQtbGF0byhzZW1pLWJvbGQpO1xuICB9XG5cbiAgc3Bhbiwgc3Ryb25nLCBwIHtcbiAgICBjb2xvciAgICAgICA6IGluaGVyaXQ7XG4gICAgZm9udC1mYW1pbHkgOiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0IDogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBxLCBibG9ja3F1b3RlIHtcbi8vICAgcXVvdGVzOiBcIuKAnFwiIFwi4oCdXCIgXCLigJhcIiBcIuKAmVwiO1xuLy8gICAmOjpiZWZvcmUgeyBjb250ZW50OiBvcGVuLXF1b3RlOyB9XG4vLyAgICY6OmFmdGVyIHsgY29udGVudDogY2xvc2UtcXVvdGU7IH1cbi8vIH1cblxuYSB7IFxuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IHRleHQtZGVjb3JhdGlvbi1jb2xvciAkdHJhbnNpdGlvbiwgY29sb3IgJHRyYW5zaXRpb247XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LXVuZGVybGluZS1wb3NpdGlvbjogdW5kZXI7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogJHRyYW5zcGFyZW50O1xuICAmLmV4dGVybmFsIHtcbiAgICBkaXNwbGF5OmlubGluZS1mbGV4OyBcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHN2Zy5leHRlcm5hbC1saW5rIHtcbiAgICAgIG9wYWNpdHk6MC42OyBcbiAgICAgIHdpZHRoOjAuOGVtO1xuICAgICAgaGVpZ2h0OjAuOGVtO1xuICAgICAgbWFyZ2luLWxlZnQ6MC41ZW07IFxuICAgIH1cbiAgfVxuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLWZvbnQtY29sb3VyKTtcbiAgfVxufVxuXG5AaW5jbHVkZSBoZWFkaW5nLWFsbCgpIHtcbiAgYSB7XG4gICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLWhlYWRpbmctY29sb3VyKTtcbiAgICB9XG4gIH1cbn1cblxuXG5cbnAsIGEge1xuICBjb2xvcjogdmFyKC0tZm9udC1jb2xvdXIpO1xufVxuXG5vbCwgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG59XG5cbmxpIHsgXG5cdGEgeyB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6MnB4OyB9XG59XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOmZvbnQtc2l6ZSgxMCk7XG4gIGxpbmUtaGVpZ2h0OjEuODtcbn1cblxuaHIgeyBcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhyLWNvbG91ciwgJGdyZXk1KTtcbiAgbWFyZ2luLXRvcDokZ2FwMjsgXG4gIG1hcmdpbi1ib3R0b206JGdhcDI7IFxufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gRm9udFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSAnY29sb3VycycgYXMgKjtcblxuJGNvbG91ciAgICAgIDogJGdyZXkyO1xuJHNpemUgICAgICAgIDogMS41cmVtICFkZWZhdWx0O1xuJHNpemUtbWluICAgIDogMS40cmVtICFkZWZhdWx0OyBcbiRzaXplLW1heCAgICA6IDEuNnJlbSAhZGVmYXVsdDsgXG4kbGluZS1oZWlnaHQgOiAxLjYgIWRlZmF1bHQ7IFxuXG4kc2l6ZS1oMSAgICAgOiA1ZW0gIWRlZmF1bHQ7XG4kc2l6ZS1oMS1taW4gOiA0ZW0gIWRlZmF1bHQ7XG4kc2l6ZS1oMiAgICAgOiAyZW0gIWRlZmF1bHQ7XG4kc2l6ZS1oMyAgICAgOiAxLjVlbSAhZGVmYXVsdDtcbiRzaXplLWg0ICAgICA6IDEuM2VtICFkZWZhdWx0O1xuJHNpemUtaDUgICAgIDogMS4zZW0gIWRlZmF1bHQ7XG4kc2l6ZS1oNiAgICAgOiAxLjNlbSAhZGVmYXVsdDtcbiAgXG4vLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8vIExhdG8gRm9udFxuLy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vLyBUaGlzIGZvbnQgaXQgcHJpbWFyaWx5IHVzZWQgZm9yIGhlYWRpbmdzICg8aCo+IHRhZ3MpXG4vLy8gQGV4YW1wbGUgQGluY2x1ZGUgZm9udC1sYXRvKGJvbGQpXG5cbkBtaXhpbiBsYXRvKCR3ZWlnaHQ6cmVndWxhcikge1xuXG4gIGZvbnQtZmFtaWx5OmxhdG8sIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcblxuICBAaWYgKCAkd2VpZ2h0ID09ICdyZWd1bGFyJykge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH0gQGVsc2UgaWYgKCAkd2VpZ2h0ID09ICdzZW1pLWJvbGQnIG9yICR3ZWlnaHQgPT0gJ3NlbWlib2xkJykge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH0gQGVsc2UgaWYgKCAkd2VpZ2h0ID09ICdib2xkJykge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cblxuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4vLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8vIE1vbnRzZXJyYXQgRm9udFxuLy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vLyBUaGlzIGlzIHRoZSBiYXNlIGZvbnQgdXNlZCBmb3IgYWxsIHN0YW5kYXJkIGNvcHkgdGhyb3VnaG91dCB0aGUgc2l0ZS5cbi8vLyBAZXhhbXBsZSBAaW5jbHVkZSBmb250LW1vbnRzZXJyYXQoKVxuXG5AbWl4aW4gbW9udHNlcnJhdCgkd2VpZ2h0OnJlZ3VsYXIpIHtcblxuICBmb250LWZhbWlseTptb250c2VycmF0LCBzYW5zLXNlcmlmO1xuICBcbiAgQGlmICggJHdlaWdodCA9PSAncmVndWxhcicpIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgfSBAZWxzZSBpZiAoICR3ZWlnaHQgPT0gJ2l0YWxpYycpIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgfSBAZWxzZSBpZiAoICR3ZWlnaHQgPT0gJ2JvbGQnKSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gIH1cblxuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBSZXNwb25zaXZlIEZvbnRzaXplICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNyZXNwb25zaXZlLWZvbnRzaXplXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AdXNlICcuLi9oZWxwZXJzL2JyZWFrJztcbkB1c2UgXCJzYXNzOm1hcFwiO1xuXG5AbWl4aW4gcmVzcG9uc2l2ZS1mb250c2l6ZSgkbWluLCAkbWF4LCAkc2NhbGVyIDogMS41dncsICRicmVha3BvaW50cyA6IChtaW46OTUwcHgsIG1heDoxNjAwcHgpKSB7XG4gIFxuXHQvLyBSZXNwb25zaXZlIGZvbnRzaXplXG4gIEBzdXBwb3J0cyAoIHdpZHRoOmNsYW1wKDFweCwgNXZ3LCAxMHB4KSkge1xuICAgIGZvbnQtc2l6ZTpjbGFtcCgjeyRtaW59LCAjeyRzY2FsZXJ9LCAjeyRtYXh9KTsgICBcblx0fVxuXG5cdC8vIFJlc3BvbnNpdmUgZm9udHNpemUgZmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCAnY2xhbXAnXG5cdEBzdXBwb3J0cyBub3QgKHdpZHRoOmNsYW1wKDFweCwgNXZ3LCAxMHB4KSkge1xuXHRcdEBpbmNsdWRlIGJyZWFrLmluKG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAnbWluJykpIHsgZm9udC1zaXplOiRtaW47IH1cblx0XHRAaW5jbHVkZSBicmVhay5vdXQobWFwLmdldCgkYnJlYWtwb2ludHMsICdtYXgnKSkgeyBmb250LXNpemU6JG1heDsgfVxuXHR9XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBCcmVhayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2JyZWFrXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gb3V0KCRicmVha3BvaW50KSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiN7JGJyZWFrcG9pbnQgKyAxfSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBpbigkYnJlYWtwb2ludCkge1xuICBAbWVkaWEgKG1heC13aWR0aDojeyRicmVha3BvaW50fSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBiZXR3ZWVuKCRtaW4sICRtYXgpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6I3skbWlufSkgYW5kIChtYXgtd2lkdGg6I3skbWF4fSkge1xuICAgIEBjb250ZW50O1xuICB9XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEhlYWRpbmdzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AdXNlICdzYXNzOnN0cmluZyc7XG5AdXNlICdzYXNzOm1hcCc7XG5AdXNlICdzYXNzOm1ldGEnO1xuQHVzZSAnc2FzczptYXRoJztcbkB1c2UgJy4vY29sbGVjdGlvbnMvZm9udCc7XG5AdXNlICcuL21vZHVsZXMvdW5pdCc7XG5cbi8vIERlZmF1bHQgSGVhZGluZyBWYWx1ZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoMSA6IChcbiAgJ2ZvbnQtc2l6ZScgICA6IDMuMHJlbSxcbiAgJ2xpbmUtaGVpZ2h0JyA6IDEuMVxuKSAhZGVmYXVsdDtcblxuJGgyIDogKFxuICAnZm9udC1zaXplJyAgIDogMi41cmVtLFxuICAnbGluZS1oZWlnaHQnIDogMS4zXG4pICFkZWZhdWx0O1xuXG4kaDMgOiAoXG4gICdmb250LXNpemUnICAgOiAyLjJyZW0sXG4gICdsaW5lLWhlaWdodCcgOiAxLjRcbikgIWRlZmF1bHQ7XG5cbiRoNCA6IChcbiAgJ2ZvbnQtc2l6ZScgICA6IDIuMHJlbSxcbiAgJ2xpbmUtaGVpZ2h0JyA6IDEuNFxuKSAhZGVmYXVsdDtcblxuJGg1IDogKFxuICAnZm9udC1zaXplJyAgIDogMS44cmVtLFxuICAnbGluZS1oZWlnaHQnIDogMS40XG4pICFkZWZhdWx0O1xuXG4kaDYgOiAoXG4gICdmb250LXNpemUnICAgOiAxLjZyZW0sXG4gICdsaW5lLWhlaWdodCcgOiAxLjRcbikgIWRlZmF1bHQ7XG5cbiRiYXNlIDogNjIuNSAhZGVmYXVsdDtcbiRzY2FsZXIgOiAxLjV2dyAhZGVmYXVsdDtcbiRlbmFibGUtY3JvcHBpbmcgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRmFsbGJhY2sgTGluZS1oZWlnaHRzIHNob3VsZCB0aGV5IG5vdCBoYXZlIGJlZW4gcGFzc2VkIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGlmIG5vdCBtYXAuaGFzLWtleSgkaDEsIFwibGluZS1oZWlnaHRcIikgeyAkaDEgOiBtYXAuc2V0KCRoMSwgJ2xpbmUtaGVpZ2h0JywgMS4xKTsgfVxuQGlmIG5vdCBtYXAuaGFzLWtleSgkaDIsIFwibGluZS1oZWlnaHRcIikgeyAkaDIgOiBtYXAuc2V0KCRoMiwgJ2xpbmUtaGVpZ2h0JywgMS4zKTsgfVxuQGlmIG5vdCBtYXAuaGFzLWtleSgkaDMsIFwibGluZS1oZWlnaHRcIikgeyAkaDMgOiBtYXAuc2V0KCRoMywgJ2xpbmUtaGVpZ2h0JywgMS40KTsgfVxuQGlmIG5vdCBtYXAuaGFzLWtleSgkaDQsIFwibGluZS1oZWlnaHRcIikgeyAkaDQgOiBtYXAuc2V0KCRoNCwgJ2xpbmUtaGVpZ2h0JywgMS40KTsgfVxuQGlmIG5vdCBtYXAuaGFzLWtleSgkaDUsIFwibGluZS1oZWlnaHRcIikgeyAkaDUgOiBtYXAuc2V0KCRoNSwgJ2xpbmUtaGVpZ2h0JywgMS40KTsgfVxuQGlmIG5vdCBtYXAuaGFzLWtleSgkaDYsIFwibGluZS1oZWlnaHRcIikgeyAkaDYgOiBtYXAuc2V0KCRoNiwgJ2xpbmUtaGVpZ2h0JywgMS40KTsgfVxuXG4vLyBEZWZpbmUgdGhlIHZhcmlhYmxlcyBzbyB0aGV5IGFyZSBzdGlsbCBhY2Nlc2libGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaDEtZm9udC1zaXplICAgICA6IG1hcC1nZXQoJGgxLCAnZm9udC1zaXplJyk7XG4kaDEtbGluZS1oZWlnaHQgICA6IG1hcC1nZXQoJGgxLCAnbGluZS1oZWlnaHQnKTtcbiRoMS1mb250LXNpemUtbWluIDogaWYobWFwLmhhcy1rZXkoJGgxLCBcImZvbnQtc2l6ZS1taW5cIiksIG1hcC1nZXQoJGgxLCBcImZvbnQtc2l6ZS1taW5cIiksIGZhbHNlKTtcbiRoMS1zY2FsZXIgICAgICAgIDogaWYobWFwLmhhcy1rZXkoJGgxLCBcInNjYWxlclwiKSwgbWFwLWdldCgkaDEsIFwic2NhbGVyXCIpLCAkc2NhbGVyKTtcblxuJGgyLWZvbnQtc2l6ZSAgICAgOiBtYXAtZ2V0KCRoMiwgJ2ZvbnQtc2l6ZScpO1xuJGgyLWxpbmUtaGVpZ2h0ICAgOiBtYXAtZ2V0KCRoMiwgJ2xpbmUtaGVpZ2h0Jyk7XG4kaDItZm9udC1zaXplLW1pbiA6IGlmKG1hcC5oYXMta2V5KCRoMiwgXCJmb250LXNpemUtbWluXCIpLCBtYXAtZ2V0KCRoMiwgXCJmb250LXNpemUtbWluXCIpLCBmYWxzZSk7XG4kaDItc2NhbGVyICAgICAgICA6IGlmKG1hcC5oYXMta2V5KCRoMiwgXCJzY2FsZXJcIiksIG1hcC1nZXQoJGgyLCBcInNjYWxlclwiKSwgJHNjYWxlcik7XG5cbiRoMy1mb250LXNpemUgICAgIDogbWFwLWdldCgkaDMsICdmb250LXNpemUnKTtcbiRoMy1saW5lLWhlaWdodCAgIDogbWFwLWdldCgkaDMsICdsaW5lLWhlaWdodCcpO1xuJGgzLWZvbnQtc2l6ZS1taW4gOiBpZihtYXAuaGFzLWtleSgkaDMsIFwiZm9udC1zaXplLW1pblwiKSwgbWFwLWdldCgkaDMsIFwiZm9udC1zaXplLW1pblwiKSwgZmFsc2UpO1xuJGgzLXNjYWxlciAgICAgICAgOiBpZihtYXAuaGFzLWtleSgkaDMsIFwic2NhbGVyXCIpLCBtYXAtZ2V0KCRoMywgXCJzY2FsZXJcIiksICRzY2FsZXIpO1xuXG4kaDQtZm9udC1zaXplICAgICA6IG1hcC1nZXQoJGg0LCAnZm9udC1zaXplJyk7XG4kaDQtbGluZS1oZWlnaHQgICA6IG1hcC1nZXQoJGg0LCAnbGluZS1oZWlnaHQnKTtcbiRoNC1mb250LXNpemUtbWluIDogaWYobWFwLmhhcy1rZXkoJGg0LCBcImZvbnQtc2l6ZS1taW5cIiksIG1hcC1nZXQoJGg0LCBcImZvbnQtc2l6ZS1taW5cIiksIGZhbHNlKTtcbiRoNC1zY2FsZXIgICAgICAgIDogaWYobWFwLmhhcy1rZXkoJGg0LCBcInNjYWxlclwiKSwgbWFwLWdldCgkaDQsIFwic2NhbGVyXCIpLCAkc2NhbGVyKTtcblxuJGg1LWZvbnQtc2l6ZSAgICAgOiBtYXAtZ2V0KCRoNSwgJ2ZvbnQtc2l6ZScpO1xuJGg1LWxpbmUtaGVpZ2h0ICAgOiBtYXAtZ2V0KCRoNSwgJ2xpbmUtaGVpZ2h0Jyk7XG4kaDUtZm9udC1zaXplLW1pbiA6IGlmKG1hcC5oYXMta2V5KCRoNSwgXCJmb250LXNpemUtbWluXCIpLCBtYXAtZ2V0KCRoNSwgXCJmb250LXNpemUtbWluXCIpLCBmYWxzZSk7XG4kaDUtc2NhbGVyICAgICAgICA6IGlmKG1hcC5oYXMta2V5KCRoNSwgXCJzY2FsZXJcIiksIG1hcC1nZXQoJGg1LCBcInNjYWxlclwiKSwgJHNjYWxlcik7XG5cbiRoNi1mb250LXNpemUgICAgIDogbWFwLWdldCgkaDYsICdmb250LXNpemUnKTtcbiRoNi1saW5lLWhlaWdodCAgIDogbWFwLWdldCgkaDYsICdsaW5lLWhlaWdodCcpO1xuJGg2LWZvbnQtc2l6ZS1taW4gOiBpZihtYXAuaGFzLWtleSgkaDYsIFwiZm9udC1zaXplLW1pblwiKSwgbWFwLWdldCgkaDYsIFwiZm9udC1zaXplLW1pblwiKSwgZmFsc2UpO1xuJGg2LXNjYWxlciAgICAgICAgOiBpZihtYXAuaGFzLWtleSgkaDYsIFwic2NhbGVyXCIpLCBtYXAtZ2V0KCRoNiwgXCJzY2FsZXJcIiksICRzY2FsZXIpO1xuXG4vLyBIYW5kbGVzIENyb3BzIHNob3VsZCB0aGV5IG5vdCBoYXZlIGJlZW4gcGFzc2VkIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kX2gxLWNyb3AtdG9wICAgIDogaWYobWFwLmhhcy1rZXkoJGgxLCBcImNyb3AtdG9wXCIpLCBtYXAtZ2V0KCRoMSwgXCJjcm9wLXRvcFwiKSwgZmFsc2UpO1xuJF9oMi1jcm9wLXRvcCAgICA6IGlmKG1hcC5oYXMta2V5KCRoMiwgXCJjcm9wLXRvcFwiKSwgbWFwLWdldCgkaDIsIFwiY3JvcC10b3BcIiksIGZhbHNlKTtcbiRfaDMtY3JvcC10b3AgICAgOiBpZihtYXAuaGFzLWtleSgkaDMsIFwiY3JvcC10b3BcIiksIG1hcC1nZXQoJGgzLCBcImNyb3AtdG9wXCIpLCBmYWxzZSk7XG4kX2g0LWNyb3AtdG9wICAgIDogaWYobWFwLmhhcy1rZXkoJGg0LCBcImNyb3AtdG9wXCIpLCBtYXAtZ2V0KCRoNCwgXCJjcm9wLXRvcFwiKSwgZmFsc2UpO1xuJF9oNS1jcm9wLXRvcCAgICA6IGlmKG1hcC5oYXMta2V5KCRoNSwgXCJjcm9wLXRvcFwiKSwgbWFwLWdldCgkaDUsIFwiY3JvcC10b3BcIiksIGZhbHNlKTtcbiRfaDYtY3JvcC10b3AgICAgOiBpZihtYXAuaGFzLWtleSgkaDYsIFwiY3JvcC10b3BcIiksIG1hcC1nZXQoJGg2LCBcImNyb3AtdG9wXCIpLCBmYWxzZSk7XG5cbiRfaDEtY3JvcC1ib3R0b20gOiBpZihtYXAuaGFzLWtleSgkaDEsIFwiY3JvcC1ib3R0b21cIiksIG1hcC1nZXQoJGgxLCBcImNyb3AtYm90dG9tXCIpLCBmYWxzZSk7XG4kX2gyLWNyb3AtYm90dG9tIDogaWYobWFwLmhhcy1rZXkoJGgyLCBcImNyb3AtYm90dG9tXCIpLCBtYXAtZ2V0KCRoMiwgXCJjcm9wLWJvdHRvbVwiKSwgZmFsc2UpO1xuJF9oMy1jcm9wLWJvdHRvbSA6IGlmKG1hcC5oYXMta2V5KCRoMywgXCJjcm9wLWJvdHRvbVwiKSwgbWFwLWdldCgkaDMsIFwiY3JvcC1ib3R0b21cIiksIGZhbHNlKTtcbiRfaDQtY3JvcC1ib3R0b20gOiBpZihtYXAuaGFzLWtleSgkaDQsIFwiY3JvcC1ib3R0b21cIiksIG1hcC1nZXQoJGg0LCBcImNyb3AtYm90dG9tXCIpLCBmYWxzZSk7XG4kX2g1LWNyb3AtYm90dG9tIDogaWYobWFwLmhhcy1rZXkoJGg1LCBcImNyb3AtYm90dG9tXCIpLCBtYXAtZ2V0KCRoNSwgXCJjcm9wLWJvdHRvbVwiKSwgZmFsc2UpO1xuJF9oNi1jcm9wLWJvdHRvbSA6IGlmKG1hcC5oYXMta2V5KCRoNiwgXCJjcm9wLWJvdHRvbVwiKSwgbWFwLWdldCgkaDYsIFwiY3JvcC1ib3R0b21cIiksIGZhbHNlKTtcblxuXG4vLyBNaXhpbnMgZm9yIGVhY2ggaGVhZGluZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gX3NldC1jcm9wKCRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGNyb3ApIHtcblxuICBAaWYgKG1ldGEudHlwZS1vZigkY3JvcCkgPT0gJ21hcCcpIHtcblxuICAgICRmb250LXNpemUgICA6IHVuaXQuc3RyaXAoJGZvbnQtc2l6ZSkgKiAxMDtcbiAgICAkbGluZS1oZWlnaHQgOiB1bml0LnN0cmlwKCRsaW5lLWhlaWdodCk7XG4gICAgJHRvcCAgICAgICAgIDogaWYobWFwLmhhcy1rZXkoJGNyb3AsIFwidG9wXCIpLCB1bml0LnN0cmlwKG1hcC5nZXQoJGNyb3AsIFwidG9wXCIpKSwgMCk7XG4gICAgJGJvdHRvbSAgICAgIDogaWYobWFwLmhhcy1rZXkoJGNyb3AsIFwiYm90dG9tXCIpLCB1bml0LnN0cmlwKG1hcC5nZXQoJGNyb3AsIFwiYm90dG9tXCIpKSwgMCk7XG5cbiAgICBAaW5jbHVkZSBmb250LmNyb3AoJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkdG9wLCAkYm90dG9tKTtcblxuICB9XG5cbn1cblxuQG1peGluIGgxKCRmb250LXNpemUtb25seSA6IGZhbHNlLCAkY3JvcCA6ICRlbmFibGUtY3JvcHBpbmcpIHtcblxuICBmb250LXNpemUgOiBmb250LnNpemUoJGgxLWZvbnQtc2l6ZSk7XG5cbiAgQGlmICggJGgxLWZvbnQtc2l6ZS1taW4gYW5kICRoMS1mb250LXNpemUtbWluIDwgJGgxLWZvbnQtc2l6ZSApIHtcbiAgICBmb250LXNpemUgOiBjbGFtcCgje2ZvbnQuc2l6ZSgkaDEtZm9udC1zaXplLW1pbil9LCAjeyRoMS1zY2FsZXJ9LCAje2ZvbnQuc2l6ZSgkaDEtZm9udC1zaXplKX0pO1xuICB9XG5cbiAgQGlmIG5vdCAkZm9udC1zaXplLW9ubHkgeyBcblxuICAgIEBpZiAoICRjcm9wICkgeyBcbiAgICAgIEBpbmNsdWRlIGZvbnQuY3JvcCgkaDEtZm9udC1zaXplLCAkaDEtbGluZS1oZWlnaHQsICRfaDEtY3JvcC10b3AsICRfaDEtY3JvcC1ib3R0b20gKTsgXG4gICAgfSBAZWxzZSB7XG4gICAgICBsaW5lLWhlaWdodCA6ICRoMS1saW5lLWhlaWdodDsgXG4gICAgfVxuXG4gIH1cblxufVxuXG5AbWl4aW4gaDIoJGZvbnQtc2l6ZS1vbmx5IDogZmFsc2UsICRjcm9wIDogJGVuYWJsZS1jcm9wcGluZykge1xuXG4gIGZvbnQtc2l6ZSA6IGZvbnQuc2l6ZSgkaDItZm9udC1zaXplKTtcblxuICBAaWYgKCAkaDItZm9udC1zaXplLW1pbiBhbmQgJGgyLWZvbnQtc2l6ZS1taW4gPCAkaDItZm9udC1zaXplICkge1xuICAgIGZvbnQtc2l6ZSA6IGNsYW1wKCN7Zm9udC5zaXplKCRoMi1mb250LXNpemUtbWluKX0sICN7JGgyLXNjYWxlcn0sICN7Zm9udC5zaXplKCRoMi1mb250LXNpemUpfSk7XG4gIH1cblxuICBAaWYgbm90ICRmb250LXNpemUtb25seSB7IFxuXG4gICAgQGlmICggJGNyb3AgKSB7IFxuICAgICAgQGluY2x1ZGUgZm9udC5jcm9wKCRoMi1mb250LXNpemUsICRoMi1saW5lLWhlaWdodCwgJF9oMi1jcm9wLXRvcCwgJF9oMi1jcm9wLWJvdHRvbSApOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgIGxpbmUtaGVpZ2h0IDogJGgyLWxpbmUtaGVpZ2h0OyBcbiAgICB9XG4gICAgXG4gIH1cblxufVxuXG5AbWl4aW4gaDMoJGZvbnQtc2l6ZS1vbmx5IDogZmFsc2UsICRjcm9wIDogJGVuYWJsZS1jcm9wcGluZykge1xuXG4gIGZvbnQtc2l6ZSA6IGZvbnQuc2l6ZSgkaDMtZm9udC1zaXplKTtcblxuICBAaWYgKCAkaDMtZm9udC1zaXplLW1pbiBhbmQgJGgzLWZvbnQtc2l6ZS1taW4gPCAkaDMtZm9udC1zaXplICkge1xuICAgIGZvbnQtc2l6ZSA6IGNsYW1wKCN7Zm9udC5zaXplKCRoMy1mb250LXNpemUtbWluKX0sICN7JGgzLXNjYWxlcn0sICN7Zm9udC5zaXplKCRoMy1mb250LXNpemUpfSk7XG4gIH1cblxuICBAaWYgbm90ICRmb250LXNpemUtb25seSB7IFxuXG4gICAgQGlmICggJGNyb3AgKSB7IFxuICAgICAgQGluY2x1ZGUgZm9udC5jcm9wKCRoMy1mb250LXNpemUsICRoMy1saW5lLWhlaWdodCwgJF9oMy1jcm9wLXRvcCwgJF9oMy1jcm9wLWJvdHRvbSApOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgIGxpbmUtaGVpZ2h0IDogJGgzLWxpbmUtaGVpZ2h0OyBcbiAgICB9XG4gICAgXG4gIH1cblxufVxuXG5AbWl4aW4gaDQoJGZvbnQtc2l6ZS1vbmx5IDogZmFsc2UsICRjcm9wIDogJGVuYWJsZS1jcm9wcGluZykge1xuXG4gIGZvbnQtc2l6ZSA6IGZvbnQuc2l6ZSgkaDQtZm9udC1zaXplKTtcblxuICBAaWYgKCAkaDQtZm9udC1zaXplLW1pbiBhbmQgJGg0LWZvbnQtc2l6ZS1taW4gPCAkaDQtZm9udC1zaXplICkge1xuICAgIGZvbnQtc2l6ZSA6IGNsYW1wKCN7Zm9udC5zaXplKCRoNC1mb250LXNpemUtbWluKX0sICN7JGg0LXNjYWxlcn0sICN7Zm9udC5zaXplKCRoNC1mb250LXNpemUpfSk7XG4gIH1cblxuICBAaWYgbm90ICRmb250LXNpemUtb25seSB7IFxuXG4gICAgQGlmICggJGNyb3AgKSB7IFxuICAgICAgQGluY2x1ZGUgZm9udC5jcm9wKCRoNC1mb250LXNpemUsICRoNC1saW5lLWhlaWdodCwgJF9oNC1jcm9wLXRvcCwgJF9oNC1jcm9wLWJvdHRvbSApOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgIGxpbmUtaGVpZ2h0IDogJGg0LWxpbmUtaGVpZ2h0OyBcbiAgICB9XG4gICAgXG4gIH1cblxufVxuXG5AbWl4aW4gaDUoJGZvbnQtc2l6ZS1vbmx5IDogZmFsc2UsICRjcm9wIDogJGVuYWJsZS1jcm9wcGluZykge1xuXG4gIGZvbnQtc2l6ZSA6IGZvbnQuc2l6ZSgkaDUtZm9udC1zaXplKTtcblxuICBAaWYgKCAkaDUtZm9udC1zaXplLW1pbiBhbmQgJGg1LWZvbnQtc2l6ZS1taW4gPCAkaDUtZm9udC1zaXplICkge1xuICAgIGZvbnQtc2l6ZSA6IGNsYW1wKCN7Zm9udC5zaXplKCRoNS1mb250LXNpemUtbWluKX0sICN7JGg1LXNjYWxlcn0sICN7Zm9udC5zaXplKCRoNS1mb250LXNpemUpfSk7XG4gIH1cblxuICBAaWYgbm90ICRmb250LXNpemUtb25seSB7IFxuXG4gICAgQGlmICggJGNyb3AgKSB7IFxuICAgICAgQGluY2x1ZGUgZm9udC5jcm9wKCRoNS1mb250LXNpemUsICRoNS1saW5lLWhlaWdodCwgJF9oNS1jcm9wLXRvcCwgJF9oNS1jcm9wLWJvdHRvbSApOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgIGxpbmUtaGVpZ2h0IDogJGg1LWxpbmUtaGVpZ2h0OyBcbiAgICB9XG4gICAgXG4gIH1cblxufVxuXG5AbWl4aW4gaDYoJGZvbnQtc2l6ZS1vbmx5IDogZmFsc2UsICRjcm9wIDogJGVuYWJsZS1jcm9wcGluZykge1xuXG4gIGZvbnQtc2l6ZSA6IGZvbnQuc2l6ZSgkaDYtZm9udC1zaXplKTtcblxuICBAaWYgKCAkaDYtZm9udC1zaXplLW1pbiBhbmQgJGg2LWZvbnQtc2l6ZS1taW4gPCAkaDYtZm9udC1zaXplICkge1xuICAgIGZvbnQtc2l6ZSA6IGNsYW1wKCN7Zm9udC5zaXplKCRoNi1mb250LXNpemUtbWluKX0sICN7JGg2LXNjYWxlcn0sICN7Zm9udC5zaXplKCRoNi1mb250LXNpemUpfSk7XG4gIH1cblxuICBAaWYgbm90ICRmb250LXNpemUtb25seSB7IFxuXG4gICAgQGlmICggJGNyb3AgKSB7IFxuICAgICAgQGluY2x1ZGUgZm9udC5jcm9wMigkaDYtZm9udC1zaXplLCAkaDYtbGluZS1oZWlnaHQsICRfaDYtY3JvcC10b3AsICRfaDYtY3JvcC1ib3R0b20gKTsgXG4gICAgfSBAZWxzZSB7XG4gICAgICBsaW5lLWhlaWdodCA6ICRoNi1saW5lLWhlaWdodDsgXG4gICAgfVxuICAgIFxuICB9XG5cbn1cblxuXG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQ29sb3Vyc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8vIEV4cGxpY2l0IENvbG91cnMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vLyBFeHBsaWNpdCBjb2xvdXJzIGFyZSBhIHdoYXQgdGhleSBhcmUuIEdyZWVuIGlzIGdyZWVuLCBibHVlIGlzIGJsdWUuLi4gbm8gb2JzY3VyaXR5LlxuLy8vIFdlIHN1ZmZpeCBudW1iZXJzIHRvIGRlZmluZSB2YXJpYXRpb25zIG9mIGNvbG91cnMgaW4gbm8gcGFydGljdWxhciBvcmRlciBvZiBzaGFkZS4gXG4vLy8gRXhhbXBsZTogZ3JlZW4xLCBncmVlbjIsIGdyZWVuMywgZ3JlZW40LiBUaGlzIGlzIHNvIHdlIGNhbiBpbW1pZGlhdGVseSBzZWUgaG93IFxuLy8vIG1hbnkgb3B0aW9ucyB3ZSBoYXZlIGZvciBhIHNpbmdsZSBjb2xvdXIgYXQgYSBnbGFuY2UuIElmIHlvdSBzZWUgJGdyZWVuNCwgeW91IGtub3cgdGhpc1xuLy8vIHByb2plY3QgaXMgdXNpbmcgZm91ciB2YXJpYXRpb25zIG9mIGdyZWVuLiBUaGlzIGlzIGFsc28gb2Z0ZW4gdXNlZnVsIGJlY2F1c2UgbWFueSBkZXZlbG9wbWVudCBcbi8vLyB0b29scyB3aWxsIGF1dG8tc3VnZ2VzdCBjb2xvdXJzIHdpdGggYWN0dWFsIGV4YW1wbGVzIG9mIHRoZSBjb2xvdXIuIFxuLy8vIFRoZSBQYWxsZXRlcyBtb2R1bGUgKGF0IHRoZSBib3R0b20gb2YgdGhpcyBmaWxlKSB3aWxsIG91dHB1dCBzaGFkZWQgbmFtZWQgdmFyaWF0aW9ucywgXG4vLy8vIDxjb2xvdXI+LWRhcmsgYW5kIDxjb2xvdXI+LWxpZ2h0LiBJZiB5b3UgbmVlZCBhZGRpdGlvbmFsIHNoYWRlcyBwbGVhc2UgcmVmcmFpbSBmcm9tIGdvaW5nIGRvd24gXG4vLy8gdGhlICdsaWdodGVyJywgJ2xpZ2h0ZXN0JywgJ2RhcmtlcicsICdkYXJrZXN0JyBjb252ZW50aW9uLiBUaGVzZSBhcmUgbm90IHBhcnRpY3Vhcmx5IGxlZ2lhYmxlIFxuLy8vIGFuZCB0aGV5IGFyZSBsaW1pdGVkIGJ5IGhvdyBjcmVhdGl2ZSAoY29uZnVzaW5nKSB5b3VyIHdvcmRpbmcgY2FuIGJlLiBcbi8vLyBJdCBpcyBiZXR0ZXIgdG8gZGVmaW5lIGEgbmV3IGV4cGxjaXQgY29sb3VyIGVudGlyZWx5LiBcbi8vLyBAc2VlIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vd2hhdC1kby15b3UtbmFtZS1jb2xvci12YXJpYWJsZXMvXG5cbiRibHVlICAgICAgICAgICAgIDogIzEzMWY2YjsgLy8gUHJpbWFyeVxuJGJsdWUyICAgICAgICAgICAgOiAjMjkyQjY4OyAvLyBOYWtlZCBMaW5rXG4kYmx1ZTMgICAgICAgICAgICA6ICMzZDNmN2Y7IC8vIExpZ250IEdyYWRpZW50XG4kYmx1ZTQgICAgICAgICAgICA6ICMxMDEyNGQ7IC8vIERhcmsgR3JhZGllbnRcbiRibHVlNSAgICAgICAgICAgIDogIzAwOTVGRjsgLy8gTmF2aWdhdGlvbiBsaW5rIGhvdmVyIFxuXG4kcmVkICAgICAgICAgICAgICA6ICNERjMwMzU7IC8vIFNlY29uZGFyeSAtIFRoaXMgcGFzc2VzIHRoZSBjb250cmFzdCByYXRpbyBhY2Nlc3NpYmlsaXR5IHRlc3QgaW4gR29vZ2xlcyBMaWdodGhvdXNlIFxuXG4kZ3JleSAgICAgICAgICAgICA6ICM5Njk2OTU7XG4kZ3JleTIgICAgICAgICAgICA6ICM2QTZBNkE7IC8vIEZvbnRcbiRncmV5MyAgICAgICAgICAgIDogI0Y0RjRGNDsgLy8gTGlnaHRlciBHcmV5IEJhY2tncm91bmRcbiRncmV5NCAgICAgICAgICAgIDogI2RjZGNkYztcbiRncmV5NSAgICAgICAgICAgIDogI0IxQjFCMTsgLy8gU3BhY2VycyA8aHI+XG4kZ3JleTYgICAgICAgICAgICA6ICMzMzMyMzY7IC8vIE5hdmlnYXRpb24gbGluayBob3ZlciAgXG4kZ3JleTcgICAgICAgICAgICA6ICNlOWU5ZTk7XG4kZ3JlZW4gICAgICAgICAgICA6ICM1MEJDMDg7XG4keWVsbG93ICAgICAgICAgICA6ICNGNkY0REI7IC8vIERpc2NsYWltZXIgQmFja2dyb3VuZFxuJHllbGxvdzIgICAgICAgICAgOiAjRkNCMDAyO1xuJGJsYWNrICAgICAgICAgICAgOiAjMUUxQTFBO1xuJHdoaXRlICAgICAgICAgICAgOiAjRkZGRkZGO1xuXG4kb3JhbmdlICAgICAgICAgICA6ICNlZDYyMjQ7XG5cblxuJHRyYW5zcGFyZW50ICAgICAgOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xuJG1hcmsgICAgICAgICAgICAgOiAkYmx1ZTU7IC8vIGJhY2tncm91bmQgY29sb3VyIGZvciA8bWFyaz4gdGFnc1xuXG4kZGVmYXVsdC1ncmFkaWVudCA6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20gcmlnaHQsICRibHVlIDUlLCAkYmxhY2sgNjYlKTtcbiRyZXZlcnNlLWdyYWRpZW50IDogbGluZWFyLWdyYWRpZW50KDEyMGRlZywgIzEwMTI0ZCAwJSwgJGJsdWUgODAlKTtcbiRsaWdodC1ncmFkaWVudCAgIDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCBib3R0b20sICMxMDEyNGQgNTUlLCAjMTcyNTgyIDEwMCUpO1xuXG5cbi8vL1xuJHByaW1hcnk6ICRibHVlO1xuLy8vXG5cblxuXG5cbi8vLyBUaGVtZXMgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0aGVtZS1kZWZhdWx0LXBhZ2UtYmFja2dyb3VuZCAgICA6ICRkZWZhdWx0LWdyYWRpZW50O1xuJHRoZW1lLWRlZmF1bHQtY29udGVudC1iYWNrZ3JvdW5kIDogJHRyYW5zcGFyZW50O1xuJHRoZW1lLWRlZmF1bHQtbmF2LWJhY2tncm91bmQgICAgIDogJHRyYW5zcGFyZW50O1xuJHRoZW1lLWRlZmF1bHQtbmF2LWJhY2tncm91bmQtbW9iIDogJHdoaXRlO1xuJHRoZW1lLWRlZmF1bHQtbmF2LWZvbnQgICAgICAgICAgIDogJHdoaXRlO1xuJHRoZW1lLWRlZmF1bHQtbmF2LWZvbnQtbW9iICAgICAgIDogJGJsdWU7XG4kdGhlbWUtZGVmYXVsdC1uYXYtc3BhY2luZy1jb2xvdXIgOiByZ2JhKCRibHVlLCAwLjMpO1xuJHRoZW1lLWRlZmF1bHQtZm9udCAgICAgICAgICAgICAgIDogJHdoaXRlO1xuJHRoZW1lLWRlZmF1bHQtaGVhZGluZyAgICAgICAgICAgIDogJHdoaXRlO1xuJHRoZW1lLWRlZmF1bHQtYWNjZW50XHRcdFx0XHRcdCAgICA6ICRyZWQ7XG4kdGhlbWUtZGVmYXVsdC1sb2dvICAgICAgICAgICAgICAgOiAkd2hpdGU7XG5cbiR0aGVtZS13aGl0ZS1wYWdlLWJhY2tncm91bmQgICAgICA6ICRsaWdodC1ncmFkaWVudDtcbiR0aGVtZS13aGl0ZS1jb250ZW50LWJhY2tncm91bmQgICA6ICNmOGY4Zjg7XG4kdGhlbWUtd2hpdGUtbmF2LWJhY2tncm91bmQgICAgICAgOiAkdHJhbnNwYXJlbnQ7XG4kdGhlbWUtd2hpdGUtbmF2LWJhY2tncm91bmQtbW9iICAgOiAkYmx1ZTtcbiR0aGVtZS13aGl0ZS1uYXYtZm9udCAgICAgICAgICAgICA6ICR3aGl0ZTtcbiR0aGVtZS13aGl0ZS1uYXYtZm9udC1tb2IgICAgICAgICA6ICR3aGl0ZTtcbiR0aGVtZS13aGl0ZS1uYXYtc3BhY2luZy1jb2xvdXIgICA6IHJnYmEoJHdoaXRlLCAwLjMpO1xuJHRoZW1lLXdoaXRlLWZvbnQgICAgICAgICAgICAgICAgIDogJGJsYWNrO1xuJHRoZW1lLXdoaXRlLWhlYWRpbmcgICAgICAgICAgICAgIDogJGJsdWU7XG4kdGhlbWUtd2hpdGUtYWNjZW50XHRcdFx0XHRcdCAgICAgIDogJHRoZW1lLWRlZmF1bHQtYWNjZW50O1xuJHRoZW1lLXdoaXRlLWxvZ28gICAgICAgICAgICAgICAgIDogJHdoaXRlO1xuXG4kdGhlbWUtYmxhY2stcGFnZS1iYWNrZ3JvdW5kICAgICAgOiAkZGVmYXVsdC1ncmFkaWVudDtcbiR0aGVtZS1ibGFjay1jb250ZW50LWJhY2tncm91bmQgICA6ICRibGFjaztcbiR0aGVtZS1ibGFjay1uYXYtYmFja2dyb3VuZCAgICAgICA6ICR3aGl0ZTtcbiR0aGVtZS1ibGFjay1uYXYtYmFja2dyb3VuZC1tb2IgICA6ICR3aGl0ZTtcbiR0aGVtZS1ibGFjay1uYXYtZm9udCAgICAgICAgICAgICA6ICRibHVlO1xuJHRoZW1lLWJsYWNrLW5hdi1mb250LW1vYiAgICAgICAgIDogJGJsdWU7XG4kdGhlbWUtYmxhY2stbmF2LXNwYWNpbmctY29sb3VyICAgOiByZ2JhKCRibHVlLCAwLjMpO1xuJHRoZW1lLWJsYWNrLWZvbnQgICAgICAgICAgICAgICAgIDogJHdoaXRlO1xuJHRoZW1lLWJsYWNrLWhlYWRpbmcgICAgICAgICAgICAgIDogJHdoaXRlO1xuJHRoZW1lLWJsYWNrLWFjY2VudFx0XHRcdFx0XHQgICAgICA6ICR0aGVtZS1kZWZhdWx0LWFjY2VudDtcbiR0aGVtZS1ibGFjay1sb2dvICAgICAgICAgICAgICAgICA6ICRibHVlO1xuXG4vLy8gUGFsZXR0ZSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8vIEJ5IGxvYWRpbmcgY29uZmlndXJhdGlvbnMgaW50byB0aGlzICdwYWxsZXRlJyBtb2R1bGUsIHdlIHdpbGwgYmUgYWJsZVxuLy8vIHRvIGRlY2xhcmUgdmFyaWFudHMgb2YgYSBmZXcgY29tbW9uIGNvbG91cnMuIFlvdSBjYW4gYWxzbyBhZGp1c3QgdGhlIGxpZ2h0bmVzc1xuLy8vIG9yIGRhcmtuZXNzIG9mIGVhY2ggdmFyaWFudCBieSBwYXNzaW5nIGluIHRoZSByZWxldmFudCBwcml2YXRlIHJ1bGVzLiBcbi8vLyBQYWxldHRlIHdpbGwgYWxzbyBleHBvc2UgcG9wdWxhciBzb2NpYWwgbWVkaWEgY29sb3VycyBhbmQgdGhlIFllbGxvIGJyYW5kIGNvbG91ci5cbi8vLyBAc2VlIGh0dHBzOi8vc2Fzcy1sYW5nLmNvbS9kb2N1bWVudGF0aW9uL2F0LXJ1bGVzL2ZvcndhcmQjY29uZmlndXJpbmctbW9kdWxlc1xuLy8vIEBvdXRwdXQgJGdyZWVuIDogIzAyOTI5QTsgJGdyZWVuLWRhcmsgOiAjMjU2NTY5OyAkZ3JlZW4tbGlnaHQ6ICMwNGI5YzQ7XG5cbkBmb3J3YXJkICdjcmVhdGUvcGFsZXR0ZSd3aXRoICgkYmx1ZSA6ICRibHVlLFxuXHQkcmVkIDogJHJlZCxcblx0JGdyZXkgOiAkZ3JleSxcblx0JHllbGxvdyA6ICR5ZWxsb3csXG5cdCRncmVlbiA6ICRncmVlbixcblx0JGJsYWNrIDogJGJsYWNrKTtcblxuJGNvbXBvbmVudC10aGVtZXMgOiAoXCJyZWRcIjogJHJlZCwgXCJibHVlXCI6ICRibHVlLCBcImdyZXlcIjogJGdyZXkzLCBcIndoaXRlXCIgOiAkd2hpdGUpOyIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gSG92ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNob3ZlclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGhvdmVyKCRzZWxlY3RvciA6IG51bGwpIHtcbiAgQG1lZGlhICggaG92ZXIgOiBob3ZlciApIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkc2VsZWN0b3Ige1xuICAgICYjeyRzZWxlY3Rvcn0geyBcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFVuaXRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AdXNlIFwic2FzczptYXRoXCI7XG5AdXNlICdzYXNzOnN0cmluZyc7XG5AdXNlICdzYXNzOm1ldGEnO1xuXG4vLyBUaGlzIHVuaXRzIGNyZWF0b3Igd2lsbCByZW5kZXIgc2l4IHBvc2l0aXZlIGFuZCBzaXggbmVnYXRpdmUgc2FzcyB2YXJpYWJsZXMgZm9yIFxuLy8gZ2Fwcywgc3BhY2VycywgYW5kIGd1dHRlcnMgcmVsYXRpdmUgdG8gdGhlIGJhc2V2IHZhbHVlcyBkZWZpbmVkIGJlbG93LlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJhc2UgVmFsdWVzIFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIEBzZWUgaHR0cHM6Ly9jb2RlcGVuLmlvL21hcmtub3R0b24vcGVuL0V4UGJOR2VcblxuLy8gVGhlc2UgdGhyZWUgdmFsdWVzIHdpbGwgYWN0IGEgY29uc3RhbnQgYmFzZWxpbmUgZm9yIGFsbCBmb2xsb3dpbmcgdW5pdCBkZWxjYXJhdGlvbnMuXG5cbi8vIEdhcHMgbXVzdCB1c2UgYW4gYWJzb2x1dGUgYW5kIHN0YXRpYyAncHgnIHVuaXQuIEl0IHNob3VsZCBub3QgYmUgcmVsYXRpdmUgdG8gYW55XG4vLyBwYXJlbnQgY29udGFpbmVyIGFuZCBpcyBub3QgaW50ZW5kZWQgZm9yIGZvbnQgc2l6ZXMsIHNvIHlvdSBzaG91bGQgbm90IHVzZSAncmVtJyBvciAnZW0nLiBcbiRnYXAgOiAxNnB4ICFkZWZhdWx0O1xuJGJhc2UtZ2FwIDogJGdhcDtcblxuLy8gU3BhY2VycyBtdXN0IHVzZSBhICd2aCcgdW5pdCBzbyB0aGV5IGFyZSByZWxhdGl2ZSB0byB0aGUgdXNlcnMgdmlld3BvcnQgaGVpZ2h0LXdpc2UuXG4vLyBUaGV5IHNob3VsZCBwcmltYXJpbHkgYmUgdXNlZCBmb3IgdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMgb24gYSBjb21wb25lbnQgbGV2ZWwuXG4kc3BhY2VyIDogNHZoICFkZWZhdWx0OyBcbiRiYXNlLXNwYWNlciA6ICRzcGFjZXI7IFxuXG4vLyBHdXR0ZXJzIG11c3QgdXNlIGEgJ3Z3JyB1bml0IHNvIHRoZXkgYXJlIHJlbGF0aXZlIHRvIHRoZSB1c2VycyB2aWV3cG9ydCB3aWR0aC13aXNlLiBcbi8vIFRoZXkgc2hvdWxkIHByaW1hcmlseSBiZSB1c2VkIGZvciB0aGUgbGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvciBtYXJnaW4gb24gYSBwYXJlbnQgbGV2ZWwuXG4vLyBBcyBhIHN1Z2dlc3Rpb24sIHRoaXMgZ3V0dGVyIGNvbnN0YW50IHNob3VsZCBiZSBoYWxmIHRoZSBzaXplIG9mIHRoZSBzcGFjZXIgdmFsdWUuXG4kZ3V0dGVyIDogM3Z3ICFkZWZhdWx0O1xuJGJhc2UtZ3V0dGVyIDogJGd1dHRlcjsgXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBc2JvbHV0ZSBVbml0cyBcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEdhcHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBHYXBzIGFyZSBhbiBhYnNvbHV0ZSB1bml0IChweCkgaW50ZW5kZWQgdG8gYmUgdXNlZCBvbiBpbmRpdmlkdWFsIGVsZW1lbnRzIHdpdGhpbiBhIGNvbXBvbmVudGVkLiBcbi8vIFRoZSBhaW0gaXMgdG8gcmV0YWluIGNvbnNpc3RhbnQgc3BhY2luZyBhbW9uZ3N0IGJsb2NrLCBpbmxpbmUsIHRhYmxlIGFuZCBncm91cCBodG1sIGVsZW1lbnRzLlxuXG5AZnVuY3Rpb24gZ2FwKCRhbW91bnQgOiAxKSB7XG4gIEBpZiAoICRhbW91bnQgPT0gMSApIHsgXG4gICAgQHJldHVybiB2YXIoLS1nYXApOyBcbiAgfSBAZWxzZSB7IFxuICAgIEByZXR1cm4gY2FsYyh2YXIoLS1nYXApICogI3skYW1vdW50fSk7IFxuICB9XG59XG5cbiRnYXAwIDogZ2FwKDAuNSk7ICRnYXAwLSA6IGdhcCgtMC41KTtcbiRnYXAgIDogZ2FwKDEpOyAgICRnYXAtICA6IGdhcCgtMSk7XG4kZ2FwMiA6IGdhcCgyKTsgICAkZ2FwMi0gOiBnYXAoLTIpO1xuJGdhcDMgOiBnYXAoMyk7ICAgJGdhcDMtIDogZ2FwKC0zKTtcbiRnYXA0IDogZ2FwKDQpOyAgICRnYXA0LSA6IGdhcCgtNCk7XG4kZ2FwNSA6IGdhcCg1KTsgICAkZ2FwNS0gOiBnYXAoLTUpO1xuJGdhcDYgOiBnYXAoNik7ICAgJGdhcDYtIDogZ2FwKC02KTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJlbGF0aXZlIFVuaXRzIFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGZ1bmN0aW9uIF9keW5hbWljLXVuaXQoJGN1c3RvbS1wcm9wZXJ0eSwgJGFtb3VudCwgJG1pbiwgJG1heCwgJHVzZS1uZWdhdGl2ZSA6IGZhbHNlLCAkdXNlLWNsYW1wIDogdHJ1ZSkge1xuXG4gIC8vIENhbGMgTWV0aG9kXG4gICRyZXN1bHQgOiBjYWxjKCgjeyRjdXN0b20tcHJvcGVydHl9ICogI3skYW1vdW50fSkgKyAje2lmKCRtaW4gPT0gMCwgMHB4LCAkbWluKX0pO1xuICBcbiAgLy8gQ2xhbXAgTWV0aG9kXG4gIEBpZiAoICR1c2UtY2xhbXAgKSB7XG4gICAgQGlmICggJGFtb3VudCA9PSAwICkge1xuICAgICAgJHJlc3VsdCA6IGNsYW1wKCN7bWF0aC5kaXYoJG1pbiwgMil9LCAjeyRjdXN0b20tcHJvcGVydHl9ICogMC41LCAjeyRtYXh9KTtcbiAgICB9IEBlbHNlIGlmICggJGFtb3VudCA9PSAxICkge1xuICAgICAgJHJlc3VsdCA6IGNsYW1wKCN7JG1pbn0sICN7JGN1c3RvbS1wcm9wZXJ0eX0sICN7JG1heH0pO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHJlc3VsdCA6IGNsYW1wKCN7JG1pbn0sICN7JGN1c3RvbS1wcm9wZXJ0eX0gKiAjeyRhbW91bnR9LCAjeyRtYXh9KTtcbiAgICB9XG4gIH0gXG5cbiAgQGlmICggJHVzZS1uZWdhdGl2ZSApIHtcbiAgICAkcmVzdWx0IDogY2FsYygtMSAqICN7JHJlc3VsdH0pO1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xuXG59IFxuXG4vLyBTcGFjZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU3BhY2VycyBhcmUgYSByZWxhdGl2ZSB2aWV3cG9ydCBoZWlnaHQgKHZoKSB1bml0IGludGVuZGVkIHRvIGJlIHVzZWQgb24gYSBjb21wb25lbnRlZCBsZXZlbC5cbi8vIFRoZSBhaW0gaXMgdG8gcmV0YWluIGNvbnNpc3RhbnQgdG9wIGFuZCBib3R0b20gc3BhY2luZyBhbW9uZ3N0ICdzZWN0aW9uJyBhbmQgJ2N1c3RvbScgZWxlbWVudHMuXG4vLyBTcGFjZXJzIHdpbGwgZXF1YXRlIHRvIHNvbWV0aGluZyBsaWtlOiBgKCRzcGFjZXIgKiB4KSArICRnYXBgLiBcbi8vIFRoZSAnJGdhcCcgaXMgYWRkZWQgc28gdGhhdCB2aCBzcGFjaW5nIHdpbGwgbmV2ZXIgc2NhbGUgdG9vIGNsb3NlIHRvIDBweC4gXG5cbkBmdW5jdGlvbiBzcGFjZXIoJGFtb3VudCA6IDEsICRtaW4gOiAkYmFzZS1nYXAsICRtYXggOiBudWxsLCAkdXNlLW5lZ2F0aXZlIDogZmFsc2UsICR1c2UtY2xhbXAgOiB0cnVlKSB7XG4gIEBpZiAoICRhbW91bnQgPT0gMCkgeyAkYW1vdW50IDogMC41OyAkbWluIDogbWF0aC5kaXYoJG1pbiwgMik7IH1cbiAgQGlmICggbWV0YS50eXBlLW9mKCRtYXgpID09ICdudWxsJyApIHsgXG4gICAgQGlmICggbWV0YS50eXBlLW9mKCRtaW4pID09ICdzdHJpbmcnIGFuZCBzdHJpbmcuaW5kZXgoJG1pbiwgJ3ZhcicpICkge1xuICAgICAgJG1heCA6IGNhbGMoI3skbWlufSAqICN7JGFtb3VudCArIDF9KTsgXG4gICAgfSBAZWxzZSB7XG4gICAgICAkbWF4IDogI3skbWluICogKCRhbW91bnQgKyAxKX07IFxuICAgIH1cbiAgfVxuICBAcmV0dXJuIF9keW5hbWljLXVuaXQodmFyKC0tc3BhY2VyKSwgJGFtb3VudCwgJG1pbiwgJG1heCwgJHVzZS1uZWdhdGl2ZSwgJHVzZS1jbGFtcCk7XG59XG5cbiRzcGFjZXIwIDogdmFyKC0tc3BhY2VyMCk7ICRzcGFjZXIwLSA6IHZhcigtLXNwYWNlcjAtKTtcbiRzcGFjZXIgIDogdmFyKC0tc3BhY2VyMSk7ICRzcGFjZXItICA6IHZhcigtLXNwYWNlcjEtKTtcbiRzcGFjZXIyIDogdmFyKC0tc3BhY2VyMik7ICRzcGFjZXIyLSA6IHZhcigtLXNwYWNlcjItKTtcbiRzcGFjZXIzIDogdmFyKC0tc3BhY2VyMyk7ICRzcGFjZXIzLSA6IHZhcigtLXNwYWNlcjMtKTtcbiRzcGFjZXI0IDogdmFyKC0tc3BhY2VyNCk7ICRzcGFjZXI0LSA6IHZhcigtLXNwYWNlcjQtKTtcbiRzcGFjZXI1IDogdmFyKC0tc3BhY2VyNSk7ICRzcGFjZXI1LSA6IHZhcigtLXNwYWNlcjUtKTtcbiRzcGFjZXI2IDogdmFyKC0tc3BhY2VyNik7ICRzcGFjZXI2LSA6IHZhcigtLXNwYWNlcjYtKTtcblxuLy8gR3V0dGVycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEd1dHRlcnMgYXJlIGEgcmVsYXRpdmUgdmlld3BvcnQgd2lkdGggKHZ3KSB1bml0IGludGVuZGVkIHRvIGJlIHVzZWQgb24gYSBwYXJlbnQgbGV2ZWw7XG4vLyBmb3IgZXhhbXBsZSwgYSB3cmFwcGVyIGNvbnRhaW5lciBvciBib2R5IHdpdGggbmVzdGVkIGNvbXBvbmVudHMuIFxuLy8gVGhlIGFpbSBpcyB0byByZXRhaW4gY29uc2lzdGFudCBsZWZ0IGFuZCByaWdodCBzcGFjaW5nIGFtb25nc3QgJ3NlY3Rpb24nIGFuZCAnY3VzdG9tJyBlbGVtZW50cy5cbi8vIEd1dHRlcnMgd2lsbCBlcXVhdGUgdG8gc29tZXRoaW5nIGxpa2U6IGAoJGd1dHRlciAqIHgpICsgJGdhcGAuIFxuLy8gVGhlICckZ2FwJyBpcyBhZGRlZCBzbyB0aGF0IHZ3IHNwYWNpbmcgd2lsbCBuZXZlciBzY2FsZSB0b28gY2xvc2UgdG8gMHB4LiBcblxuQGZ1bmN0aW9uIGd1dHRlcigkYW1vdW50IDogMSwgJG1pbiA6ICRiYXNlLWdhcCwgJG1heCA6IG51bGwsICR1c2UtbmVnYXRpdmUgOiBmYWxzZSwgJHVzZS1jbGFtcCA6IHRydWUpIHtcbiAgQGlmICggJGFtb3VudCA9PSAwKSB7ICRhbW91bnQgOiAwLjU7ICRtaW4gOiBtYXRoLmRpdigkbWluLCAyKTsgfVxuICBAaWYgKCBtZXRhLnR5cGUtb2YoJG1heCkgPT0gJ251bGwnICkgeyBcbiAgICBAaWYgKCBtZXRhLnR5cGUtb2YoJG1pbikgPT0gJ3N0cmluZycgYW5kIHN0cmluZy5pbmRleCgkbWluLCAndmFyJykgKSB7XG4gICAgICAkbWF4IDogY2FsYygjeyRtaW59ICogI3skYW1vdW50ICsgMX0pOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgICRtYXggOiAjeyRtaW4gKiAoJGFtb3VudCArIDEpfTsgXG4gICAgfVxuICB9XG4gIEByZXR1cm4gX2R5bmFtaWMtdW5pdCh2YXIoLS1ndXR0ZXIpLCAkYW1vdW50LCAkbWluLCAkbWF4LCAkdXNlLW5lZ2F0aXZlLCAkdXNlLWNsYW1wKTtcbn1cblxuJGd1dHRlcjAgOiB2YXIoLS1ndXR0ZXIwKTsgJGd1dHRlcjAtIDogdmFyKC0tZ3V0dGVyMC0pO1xuJGd1dHRlciAgOiB2YXIoLS1ndXR0ZXIxKTsgJGd1dHRlci0gIDogdmFyKC0tZ3V0dGVyMS0pO1xuJGd1dHRlcjIgOiB2YXIoLS1ndXR0ZXIyKTsgJGd1dHRlcjItIDogdmFyKC0tZ3V0dGVyMi0pO1xuJGd1dHRlcjMgOiB2YXIoLS1ndXR0ZXIzKTsgJGd1dHRlcjMtIDogdmFyKC0tZ3V0dGVyMy0pO1xuJGd1dHRlcjQgOiB2YXIoLS1ndXR0ZXI0KTsgJGd1dHRlcjQtIDogdmFyKC0tZ3V0dGVyNC0pO1xuJGd1dHRlcjUgOiB2YXIoLS1ndXR0ZXI1KTsgJGd1dHRlcjUtIDogdmFyKC0tZ3V0dGVyNS0pO1xuJGd1dHRlcjYgOiB2YXIoLS1ndXR0ZXI2KTsgJGd1dHRlcjYtIDogdmFyKC0tZ3V0dGVyNi0pO1xuIiwiQHVzZSAnX21vZHVsZXMnIGFzICo7XG5cbi8vIFRPRE86IFJFTU9WRSBVTkVDRVNTQVJZIENPREVcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIExheW91dFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8gTGF5b3V0IHN0eWxpbmcgc2hvdWxkIGJlIHVzZWQgdG8gYWRqdXN0IGxheW91dCBwcm9wZXJ0aWVzIG9ubHkuXG4vLyBXaGVyZSBwb3NzaWJsZSwgaXQgc2hvdWxkIG5vdCBiZSB1c2VkIHRvIG1hbmFnZSB0aGUgZmxvdyBvZiBhIHBhZ2UuXG4vLyBJbnN0ZWFkIG9ubHkgd2lkdGhzLCBoZWlnaHQsIGRpc3BsYXksIGdyaWQsIHBvc2l0aW9uLCBwYWRkaW5nLCBtYXJnaW5zLCBvcmRlciwgYW5kIGFsaWtlXG4vLyBzaG91bGQgYmUgdGhlIHByb3BlcnRpZXMgZGVmaW5lZCBpbiB0aGVzZSBmaWxlcy4gS2VlcCB0aGUgbGF5b3V0cyBoZXJlIGFuZFxuLy8gY29tcG9uZW50IHN0eWxpbmcgaW4gdGhlaXIgcmVzcGVjdGl2ZSBmaWxlcy5cblxuaHRtbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xufVxuXG5ib2R5IHtcbiAgJHNpZGViYXItd2lkdGg6IDMwdnc7XG5cbiAgLS1uYXZpZ2F0aW9uLWJhci13aWR0aDogY2xhbXAoMjUwcHgsIDI1dncsIDMwMHB4KTtcbiAgLS1uYXZpZ2F0aW9uLWJhci1oZWlnaHQ6IDEwMHZoO1xuXG4gIC0tc2lkZWJhci13aWR0aDogI3skc2lkZWJhci13aWR0aH07XG4gIC0tc2lkZWJhci1tYXgtd2lkdGg6IHZhcigtLXNpZGViYXItd2lkdGgpO1xuXG4gIC0tbG9nby1oZWlnaHQ6IDIwMHB4O1xuXG4gIC0tZ2FwLXg6IGNsYW1wKDJyZW0sIDV2dywgOHJlbSk7XG4gIC0tZ2FwLXk6IDUwcHg7XG5cbiAgLS1yb3ctY29udGVudDogMSAvIC0xO1xuICAtLXJvdy1oZWFkZXI6IGNhbGMoMSArIHZhcigtLWNvbnRlbnQtb2Zmc2V0LCAwKSk7XG4gIC0tcm93LW1haW46IGNhbGMoMiArIHZhcigtLWNvbnRlbnQtb2Zmc2V0LCAwKSk7XG5cbiAgJltkYXRhLXNpZGViYXI9J3RvcCddIHtcbiAgICAtLXJvdy1zaWRlYmFyOiAxIC8gLTE7XG4gIH1cbiAgJltkYXRhLXNpZGViYXI9J2hlYWRlciddIHtcbiAgICAtLXJvdy1zaWRlYmFyOiB2YXIoLS1yb3ctaGVhZGVyKSAvIC0yO1xuICB9XG4gICZbZGF0YS1zaWRlYmFyPSdjb250ZW50J10ge1xuICAgIC0tcm93LXNpZGViYXI6IHZhcigtLXJvdy1tYWluKSAvIC0yO1xuICB9XG5cbiAgLS1jb2x1bW4tbmF2aWdhdGlvbjogMTtcbiAgLS1jb2x1bW4tY29udGVudDogMjtcbiAgLS1jb2x1bW4taGVhZGVyOiAyO1xuICAtLWNvbHVtbi1tYWluOiAyO1xuICAtLWNvbHVtbi1zaWRlYmFyOiAzO1xuXG4gIC0tcm93czogdmFyKC0tbG9nby1oZWlnaHQpIGF1dG8gMWZyO1xuICAtLWNvbHVtbnM6IHZhcigtLW5hdmlnYXRpb24tYmFyLXdpZHRoKSBtaW5tYXgoMCwgMWZyKSBhdXRvO1xuXG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiB2YXIoLS1nYXAteSkgdmFyKC0tZ2FwLXgpO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IHZhcigtLXJvd3MpO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHZhcigtLWNvbHVtbnMpO1xuXG4gIG5hdmlnYXRpb24tYmFyIHtcbiAgICBncmlkLXJvdzogdmFyKC0tcm93LW5hdmlnYXRpb24pO1xuICAgIGdyaWQtY29sdW1uOiB2YXIoLS1jb2x1bW4tbmF2aWdhdGlvbik7XG4gIH1cblxuICBtYWluIHsgXG4gICAgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xuICAgIGNvbnRhaW5lci1uYW1lOiBtYWluO1xuICB9XG5cbiAgLmNvbnRlbnQtd3JhcHBlciB7XG4gICAgZ3JpZC1yb3c6IHZhcigtLXJvdy1jb250ZW50KTtcbiAgICBncmlkLWNvbHVtbjogdmFyKC0tY29sdW1uLWNvbnRlbnQpO1xuICAgIHotaW5kZXg6ICR6LWluZGV4LW1haW47XG4gIH1cblxuICBzaWRlLWJhciB7XG4gICAgZ3JpZC1yb3c6IHZhcigtLXJvdy1zaWRlYmFyKTtcbiAgICBncmlkLWNvbHVtbjogdmFyKC0tY29sdW1uLXNpZGViYXIpO1xuICB9XG5cbiAgJi5oZWF0c2lua3MtaG9tZSxcbiAgJi5jb21wb25lbnRzLWhvbWUge1xuICAgIC0tcm93LWNvbnRlbnQ6IDI7XG4gIH1cblxuICBAaW5jbHVkZSBicmVhay1pbignbGFyZ2UnKSB7XG4gICAgJltkYXRhLXNpZGViYXI9J3RvcCddLFxuICAgICZbZGF0YS1zaWRlYmFyPSdoZWFkZXInXSxcbiAgICAmW2RhdGEtc2lkZWJhcj0nY29udGVudCddIHtcbiAgICAgIC0tY29sdW1uLXNpZGViYXI6IDI7XG4gICAgICAtLXJvdy1jb250ZW50OiAxIC8gLTI7XG5cbiAgICAgIHNpZGUtYmFyIHtcbiAgICAgICAgLS1yb3ctc2lkZWJhcjogY2FsYyh2YXIoLS1yb3ctY29udGVudCkgKyAzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVhay1pbignc21hbGwtbWVkaXVtJykge1xuICAgIHBsYWNlLWNvbnRlbnQ6IHN0YXJ0O1xuXG4gICAgLS1uYXZpZ2F0aW9uLWNvbnRhaW5lci1oZWlnaHQ6IDYwcHg7XG4gICAgLS1uYXZpZ2F0aW9uLW1vYmlsZS1zZWFyY2gtaGVpZ2h0OiA2MXB4O1xuXG4gICAgLS1yb3dzOiBhdXRvIGF1dG8gMWZyIGF1dG87XG4gICAgLS1jb2x1bW5zOiAwIG1pbm1heCgwLCAxZnIpIDA7XG5cbiAgICAtLXJvdy1uYXZpZ2F0aW9uOiAxO1xuICAgIC0tY29sdW1uLW5hdmlnYXRpb246IDEgLyAtMTtcblxuICAgICY6bm90KC5oZWF0c2lua3MtaG9tZSwgLmNvbXBvbmVudHMtaG9tZSkge1xuICAgICAgLS1yb3ctY29udGVudDogMiAvIHNwYW4gMyAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIC0tY29sdW1uLWNvbnRlbnQ6IDEvIC0xO1xuXG4gICAgLy8gLS1yb3ctY29udGVudDogMjtcblxuICAgIC8vIC0tY29udGVudC1vZmZzZXQ6IDE7XG5cbiAgICAmID4gKiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBtYWluIHtcbiAgICAgIG1hcmdpbi10b3A6IC0ycmVtO1xuICAgIH1cbiAgfVxuXG4gICYubW9iaWxlLW9wZW4sXG4gICYubW9kYWwtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuIiwiQHVzZSAnX21vZHVsZXMnIGFzICo7XG5cbi5jb250ZW50IHtcbiAgbGluZS1oZWlnaHQ6IDEuNztcblxuICB1bCB7IEBpbmNsdWRlIGxpc3QtdWwoJG9yYW5nZSkgfVxuICBvbCB7IEBpbmNsdWRlIGxpc3Qtb2woKSB9XG5cbiAgaDMgeyBAaW5jbHVkZSBoZWFkaW5nLWgyIH1cblxuICA+ICoge1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICA+IHVsLCA+IG9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICB9XG5cbiAgQGluY2x1ZGUgaGVhZGluZy1hbGwoKSB7XG4gICAgLy8gbWFyZ2luLXRvcDogMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuXG4gICAgJiArIGgxLFxuICAgICYgKyBoMixcbiAgICAmICsgaDMsXG4gICAgJiArIGg0LFxuICAgICYgKyBoNSxcbiAgICAmICsgaDYge1xuICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICB9XG4gIH1cblxuICBhIHsgLS1mb250LWNvbG91cjogdmFyKC0tdGhlbWUtYWNjZW50KSB9XG59IiwiQHVzZSAnLi4vX3ZhcmlhYmxlcycgYXMgKjtcbkB1c2UgJ2NvbGxlY3Rpb25zL2ZvbnQvY3JvcCcgYXMgZm9udDtcbkB1c2UgJ21vZHVsZXMvY29sb3VyL2VuY29kZScgYXMgY29sb3VyO1xuXG5cbkBtaXhpbiB0aWNrLW1hcmtlcigkZmlsbCwgJHN0cm9rZSA6IHdoaXRlKSB7XG4gIGNvbnRlbnQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNFJTNDY2lyY2xlIGZpbGw9J1wiK2NvbG91ci5lbmNvZGUoJGZpbGwpK1wiJyBjeD0nOCcgY3k9JzgnIHI9JzgnLyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSdcIitjb2xvdXIuZW5jb2RlKCRzdHJva2UpK1wiJyBzdHJva2Utd2lkdGg9JzEuNCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J00zLjUgOC40bDIuNyAyLjcgNi4zLTYuMycvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cblxuQG1peGluIHN0eWxlKCRmaWxsLCAkc3Ryb2tlIDogd2hpdGUpIHtcbiAgPiBsaTo6YmVmb3JlIHsgXG4gICAgY29udGVudDp1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ2NpcmNsZSBmaWxsPSdcIitjb2xvdXIuZW5jb2RlKCRmaWxsKStcIicgY3g9JzgnIGN5PSc4JyByPSc4Jy8lM0UlM0NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nXCIrY29sb3VyLmVuY29kZSgkc3Ryb2tlKStcIicgc3Ryb2tlLXdpZHRoPScxLjQnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNMy41IDguNGwyLjcgMi43IDYuMy02LjMnLyUzRSUzQy9zdmclM0VcIik7XG4gIH1cbn1cblxuLy8gVW5vcmRlcmQgTGlzdHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIHVsKCRsaXN0LXN0eWxlLWNvbG91ciA6ICRncmVlbiwgJGxpc3Qtc3R5bGUtYWNjZW50LWNvbG91ciA6IHdoaXRlKSB7XG5cbiAgQGluY2x1ZGUgc3R5bGUoJGxpc3Qtc3R5bGUtY29sb3VyLCAkbGlzdC1zdHlsZS1hY2NlbnQtY29sb3VyKTtcblxuICA+IGxpIHsgXG5cbiAgICBwb3NpdGlvbiAgICAgIDogcmVsYXRpdmU7IFxuICAgIHBhZGRpbmctbGVmdCAgOiBjYWxjKHZhcigtLWxpc3Qtc3R5bGUtc2l6ZSwgMWVtKSAqIDEuOCk7XG5cbiAgICAmICsgbGkgeyBtYXJnaW4tdG9wIDogdmFyKC0tbGluZS1zdHlsZS1zcGFjaW5nLCAjeyRnYXAwfSk7IH1cbiAgICBcbiAgICAmOjpiZWZvcmUgeyBcbiAgICAgIGRpc3BsYXkgIDogaW5saW5lLWJsb2NrOyBcbiAgICAgIHRvcCAgICAgIDogMC4xZW07IFxuICAgICAgbGVmdCAgICAgOiAwOyBcbiAgICAgIHBvc2l0aW9uIDogYWJzb2x1dGU7XG4gICAgICB3aWR0aCAgICA6IHZhcigtLWxpc3Qtc3R5bGUtc2l6ZSwgMWVtKTsgXG4gICAgICBoZWlnaHQgICA6IHZhcigtLWxpc3Qtc3R5bGUtc2l6ZSwgMWVtKTsgXG4gICAgfVxuICB9XG5cbiAgQGNvbnRlbnQ7XG5cbn1cblxuLy8gT3JkZXJlZCBMaXN0cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIG9sKCkge1xuXG4gIGNvdW50ZXItcmVzZXQgOiBjb3VudGVyO1xuXG4gID4gbGkgeyBcbiAgICBwb3NpdGlvbiAgICAgOiByZWxhdGl2ZTsgXG4gICAgZGlzcGxheSAgICAgIDogYmxvY2s7IFxuICAgIHBhZGRpbmctbGVmdCA6IDIycHg7XG4gICAgbWFyZ2luLWxlZnQgIDogdmFyKC0tbGlzdC1zdHlsZS1vZmZzZXQsIDApO1xuXG4gICAgJiArIGxpIHsgbWFyZ2luLXRvcDokZ2FwMDsgfVxuXG4gICAgJjo6YmVmb3JlIHsgXG4gICAgICBjb250ZW50ICAgICAgICAgICA6IGNvdW50ZXIoY291bnRlciknLic7XG4gICAgICBjb3VudGVyLWluY3JlbWVudCA6IGNvdW50ZXI7XG4gICAgICBjb2xvciAgICAgICAgICAgICA6IHZhcigtLWxpc3Qtc3R5bGUtY29sb3VyLCB2YXIoLS1mb250LWNvbG91cikpOyBcbiAgICAgIHBvc2l0aW9uICAgICAgICAgIDogcmVsYXRpdmU7IFxuICAgICAgbWFyZ2luLXJpZ2h0ICAgICAgOiAwLjVlbTtcbiAgICB9XG4gIH1cblxuICBAY29udGVudDtcbiAgXG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSGVhZGluZ1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSBcImZvbnRzXCIgYXMgZm9udDtcblxuLy8vIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL21hcmtub3R0b24vZG9nZ2lzdHlsZS9ibG9iL21hc3Rlci9saWJyYXJ5L3NyYy9jcmVhdGUvX2hlYWRpbmdzLnNjc3Ncbi8vLyA8aD4gdGFncyBhcmUgdXNlZCBhbGwgb3ZlciB0aGUgcGxhY2UgYW5kIHRlbmQgdG8gaGF2ZSBiZXNwb2tlIHN0eWxlIGRlcGVuZGluZ1xuLy8vIGl0J3Mgc2VtYW50aWMgaW1wb3J0YW5jZS4gVGhpcyBpcyB3aHkgYSA8aDI+IG9uIG9uZSBwYWdlIG1heSBub3QgYmUgdGhlIHNhbWUgXG4vLy8gc2l6ZSBhcyBhIDxoMj4gb24gYW5vdGhlciBwYWdlLiBJdCBjYW4gYmUgdGVtcGF0aW5nIHRvIGhhcmRjb2RlIGEgbmV3IFxuLy8vIGZvbnQtc2l6ZSB2YWx1ZSBvbiBhIGNhc2UtYnktY2FzZSBiYXNlcywgdXN1YXVsbHkgdG8gbWF0Y2ggdGhlIGRlc2lnbnMuIFxuLy8vIEhvd2V2ZXIgZGVzaWducyB3aWxsIGNoYW5nZSBvdmVyIHRpbWUgYW5kIGNsaWVudCByZXF1ZXN0cyBlZmZlY3QgZm9udCBmbG93cyBmcmVxdWVudGx5LlxuLy8vIFRvIGVuY291cmFnZSBhIHN0cm9uZyBjb250aW51aXR5IGFjcm9zcyB0aGUgc2l0ZSwgSSBwcm9wb3NlIHdlIHVzZSB0aGUgc2FtZSBcbi8vLyBzaXggaGVhZGluZyB0eXBlcyByZWdhcmRsZXNzIG9mIHRoZWlyIHRhZyBudW1iZXIuIFRoaXMgd2lsbCBzYXZlIGFueVxuLy8vIGd1ZXNzd29yayB3aXRoIGxpbmUtaGVpZ2h0cyBhc3dlbGwuIFxuLy8vIFNvIGlmIHdlICdAaW5jbHVkZSBoZWFkaW5nLWgyJyBvbiBhIDxoND4sIHdlIHN0aWxsIGtub3cgb3RoZXIgdW5tb2RpZmllZCA8aDI+J3MgXG4vLy8gd2lsbCBhcHBlYXIgdGhlIHNhbWUgYXMgdGhpcyBzcGVjaWZpYyA8aDQ+LiBcbi8vLyBAZXhhbXBsZSBcbi8vLyBAaW5jbHVkZSBoZWFkaW5nLWgxO1xuLy8vIEBpbmNsdWRlIGhlYWRpbmctaDI7XG4vLy8gQGluY2x1ZGUgaGVhZGluZy1oMztcbi8vLyBAaW5jbHVkZSBoZWFkaW5nLWg0O1xuLy8vIEBpbmNsdWRlIGhlYWRpbmctaDU7XG4vLy8gQGluY2x1ZGUgaGVhZGluZy1oNjtcbi8vLyBQYXNzIGluICd0cnVlJyBwYXJhbSBpZiB5b3Ugb25seSB3YW50IHRvIGRlZmluZSB0aGUgZm9udC1zaXplIGFuZCBubyBvdGhlciBwcm9wZXJ0aWVzIChsaW5lLWhlaWdodCAmIGNyb3BwaW5nKVxuLy8vIEBleGFtcGxlIFxuLy8vIGgxIHsgQGluY2x1ZGUgaGVhZGluZy1oMyB9IDwtIFRoaXMgSDEgd2lsbCBsb29rIGxpa2UgYSBIM1xuLy8vIGgyIHsgQGluY2x1ZGUgaGVhZGluZy1oNCB9IDwtIFRoaXMgSDIgd2lsbCBsb29rIGxpa2UgYSBINFxuLy8vXG4vLy8gQG91dHB1dFxuLy8vIEFsc28gdGhlc2UgdmFyaWFibGVzIGFyZSBhdmFpbGFibGUgdG9vIHNob3VsZCB5b3UgbmVlZCB0aGVtIChob3BlZnVsbHkgeW91IHdvbid0KS4gXG4vLy8gJGhlYWRpbmctaDEtZm9udC1zaXplLCAkaGVhZGluZy1oMS1saW5lLWhlaWdodDtcbi8vLyAkaGVhZGluZy1oMi1mb250LXNpemUsICRoZWFkaW5nLWgyLWxpbmUtaGVpZ2h0O1xuLy8vICRoZWFkaW5nLWgzLWZvbnQtc2l6ZSwgJGhlYWRpbmctaDMtbGluZS1oZWlnaHQ7XG4vLy8gJGhlYWRpbmctaDQtZm9udC1zaXplLCAkaGVhZGluZy1oNC1saW5lLWhlaWdodDtcbi8vLyAkaGVhZGluZy1oNS1mb250LXNpemUsICRoZWFkaW5nLWg1LWxpbmUtaGVpZ2h0O1xuLy8vICRoZWFkaW5nLWg2LWZvbnQtc2l6ZSwgJGhlYWRpbmctaDYtbGluZS1oZWlnaHQ7XG4vLy9cbi8vLyBUeXBlIGNyb3BwaW5nIGFkZHJlc2VzIHNwYWNpbmcgaXNzdWVzIHRoYXQgZWZmZWN0IGRpZmZlcm50IGZvbnQgZmlsZXNcbi8vLyBhdCB2YXJ5aW5nIGZvbnQgc2l6ZXMgYW5kIGxpbmUgaGVpZ2h0cy4gVGhpcyBtaXhpbiBhdHRlbXB0cyB0byBmaXggdGhhdC4gXG4vLy8gQHNlZSBodHRwOi8vdGV4dC1jcm9wLmVpZ2h0c2hhcGVzLmNvbS8/dHlwZWZhY2Utc2VsZWN0aW9uPWdvb2dsZS1mb250JnR5cGVmYWNlPUxhdG8mY3VzdG9tLXR5cGVmYWNlLW5hbWU9SGVsdmV0aWNhJmN1c3RvbS10eXBlZmFjZS11cmw9JmN1c3RvbS10eXBlZmFjZS13ZWlnaHQ9NDAwJmN1c3RvbS10eXBlZmFjZS1zdHlsZT1ub3JtYWwmd2VpZ2h0LWFuZC1zdHlsZT0xMDAmc2l6ZT0zNiZsaW5lLWhlaWdodD0xLjImdG9wLWNyb3A9OSZib3R0b20tY3JvcD04XG5cblxuQGZvcndhcmQgJ2NyZWF0ZS9oZWFkaW5ncyd3aXRoIChcblx0JGgxIDogKCdmb250LXNpemUnIDogZm9udC4kc2l6ZS1oMSxcblx0XHQnZm9udC1zaXplLW1pbicgOiBmb250LiRzaXplLWgxLW1pbixcblx0XHQnbGluZS1oZWlnaHQnIDogMS4yLFxuXHRcdCdzY2FsZXInIDogNXZ3LFxuXHRcdC8vJ2Nyb3AtdG9wJyAgICA6IDE3LFxuXHRcdC8vJ2Nyb3AtYm90dG9tJyA6IDBcblx0KSxcblx0JGgyIDogKCdmb250LXNpemUnIDogZm9udC4kc2l6ZS1oMixcblx0XHQnbGluZS1oZWlnaHQnIDogMS4zLFxuXHRcdC8vJ2Nyb3AtdG9wJyAgICA6IDE0LFxuXHRcdC8vJ2Nyb3AtYm90dG9tJyA6IDVcblx0KSxcblx0JGgzIDogKCdmb250LXNpemUnIDogZm9udC4kc2l6ZS1oMyxcblx0XHQnbGluZS1oZWlnaHQnIDogZm9udC4kbGluZS1oZWlnaHQsXG5cdFx0Ly8nY3JvcC10b3AnICAgIDogMTYsXG5cdFx0Ly8nY3JvcC1ib3R0b20nIDogMVxuXHQpLFxuXHQkaDQgOiAoJ2ZvbnQtc2l6ZScgOiBmb250LiRzaXplLWg0LFxuXHRcdCdsaW5lLWhlaWdodCcgOiBmb250LiRsaW5lLWhlaWdodCxcblx0XHQvLydjcm9wLXRvcCcgICAgOiAxNCxcblx0XHQvLydjcm9wLWJvdHRvbScgOiAzXG5cdCksXG5cdCRoNSA6ICgnZm9udC1zaXplJyA6IGZvbnQuJHNpemUtaDUsXG5cdFx0J2xpbmUtaGVpZ2h0JyA6IGZvbnQuJGxpbmUtaGVpZ2h0LFxuXHRcdC8vJ2Nyb3AtdG9wJyAgICA6IDE0LFxuXHRcdC8vJ2Nyb3AtYm90dG9tJyA6IDNcblx0KSxcblx0JGg2IDogKCdmb250LXNpemUnIDogZm9udC4kc2l6ZS1oNixcblx0XHQnbGluZS1oZWlnaHQnIDogZm9udC4kbGluZS1oZWlnaHQsXG5cdFx0Ly8nY3JvcC10b3AnICAgIDogMTQsXG5cdFx0Ly8nY3JvcC1ib3R0b20nIDogM1xuXHQpXG4pO1xuXG5AbWl4aW4gYWxsKCkge1xuXHRoMSwgaDIsIGgzLCBoNCwgaDYsIGg2IHtcblx0XHRAY29udGVudDtcblx0fVxufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBVbml0c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8vIEBzZWUgaHR0cHM6Ly9jb2RlcGVuLmlvL21hcmtub3R0b24vcGVuL0V4UGJOR2Vcbi8vLyBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXJrbm90dG9uL2RvZ2dpc3R5bGUvYmxvYi9tYXN0ZXIvbGlicmFyeS9zcmMvY3JlYXRlL191bml0cy5zY3NzXG5cbi8vLyBUaGlzIHVuaXRzIGNyZWF0b3Igd2lsbCByZW5kZXIgc2l4IHBvc2l0aXZlIGFuZCBzaXggbmVnYXRpdmUgc2FzcyB2YXJpYWJsZXMgZm9yIFxuLy8vIGdhcHMsIHNwYWNlcnMsIGFuZCBndXR0ZXJzIHJlbGF0aXZlIHRvIHRoZSBiYXNlIHZhbHVlcyBkZWZpbmVkIGJlbG93LiBcblxuQGZvcndhcmQgJ2NyZWF0ZS91bml0cycgd2l0aCAoXG5cbiAgLy8vIEdhcHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vLyBHYXBzIGFyZSBhbiBhYnNvbHV0ZSB1bml0IChweCkgaW50ZW5kZWQgdG8gYmUgdXNlZCBvbiBpbmRpdmlkdWFsIGVsZW1lbnRzIHdpdGhpbiBhIGNvbXBvbmVudGVkLiBcbiAgLy8vIFRoZSBhaW0gaXMgdG8gcmV0YWluIGNvbnNpc3RhbnQgc3BhY2luZyBhbW9uZ3N0IGJsb2NrLCBpbmxpbmUsIHRhYmxlIGFuZCBncm91cCBodG1sIGVsZW1lbnRzLlxuICAvLy8gR2FwcyBtdXN0IHVzZSBhbiBhYnNvbHV0ZSBhbmQgc3RhdGljICdweCcgdW5pdC4gSXQgc2hvdWxkIG5vdCBiZSByZWxhdGl2ZSB0byBhbnlcbiAgLy8vIHBhcmVudCBjb250YWluZXIgYW5kIGlzIG5vdCBpbnRlbmRlZCBmb3IgZm9udCBzaXplcywgc28geW91IHNob3VsZCBub3QgdXNlICdyZW0nIG9yICdlbScuIFxuICAvLy8gQHJlc3VsdCA6ICRnYXAwLCAkZ2FwLCAkZ2FwMiwgJGdhcDMsICRnYXA0LCAkZ2FwNSAsICRnYXA2LCAkZ2FwMC0sICRnYXAtLCAkZ2FwMi0sICRnYXAzLSwgJGdhcDQtLCAkZ2FwNS0gYW5kICRnYXA2LVxuICBcbiAgJGdhcCA6IDE2cHgsXG5cbiAgLy8gU3BhY2VycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gU3BhY2VycyBhcmUgYSByZWxhdGl2ZSB2aWV3cG9ydCBoZWlnaHQgKHZoKSB1bml0IGludGVuZGVkIHRvIGJlIHVzZWQgb24gYSBjb21wb25lbnRlZCBsZXZlbC5cbiAgLy8vIFRoZSBhaW0gaXMgdG8gcmV0YWluIGNvbnNpc3RhbnQgdG9wIGFuZCBib3R0b20gc3BhY2luZyBhbW9uZ3N0ICdzZWN0aW9uJyBhbmQgJ2N1c3RvbScgZWxlbWVudHMuXG4gIC8vLyBTcGFjZXJzIHdpbGwgZXF1YXRlIHRvIHNvbWV0aGluZyBsaWtlOiBgKCRzcGFjZXIgKiB4KSArICRnYXBgLiBcbiAgLy8vIFRoZSAnJGdhcCcgaXMgYWRkZWQgc28gdGhhdCB2aCBzcGFjaW5nIHdpbGwgbmV2ZXIgc2NhbGUgdG9vIGNsb3NlIHRvIDBweC4gXG4gIC8vLyBTcGFjZXJzIG11c3QgdXNlIGEgJ3ZoJyB1bml0IHNvIHRoZXkgYXJlIHJlbGF0aXZlIHRvIHRoZSB1c2VycyB2aWV3cG9ydCBoZWlnaHQtd2lzZS5cbiAgLy8vIFRoZXkgc2hvdWxkIHByaW1hcmlseSBiZSB1c2VkIGZvciB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucyBvbiBhIGNvbXBvbmVudCBsZXZlbC5cbiAgLy8vIEByZXN1bHQgOiAkc3BhY2VyMCwgJHNwYWNlciwgJHNwYWNlciwgJHNwYWNlciwgJHNwYWNlcjQsICRzcGFjZXI1LCAkc3BhY2VyNiwgJHNwYWNlcjAtLCAkc3BhY2VyLSwgJHNwYWNlci0sICRzcGFjZXItLCAkc3BhY2VyNC0sICRzcGFjZXI1LSBhbmQgJHNwYWNlcjYtXG4gIFxuICAkc3BhY2VyIDogNHZoLCBcblxuICAvLyBHdXR0ZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBHdXR0ZXJzIGFyZSBhIHJlbGF0aXZlIHZpZXdwb3J0IHdpZHRoICh2dykgdW5pdCBpbnRlbmRlZCB0byBiZSB1c2VkIG9uIGEgcGFyZW50IGxldmVsO1xuICAvLyBmb3IgZXhhbXBsZSwgYSB3cmFwcGVyIGNvbnRhaW5lciBvciBib2R5IHdpdGggbmVzdGVkIGNvbXBvbmVudHMuIFxuICAvLyBUaGUgYWltIGlzIHRvIHJldGFpbiBjb25zaXN0YW50IGxlZnQgYW5kIHJpZ2h0IHNwYWNpbmcgYW1vbmdzdCAnc2VjdGlvbicgYW5kICdjdXN0b20nIGVsZW1lbnRzLlxuICAvLy8gR3V0dGVycyB3aWxsIGVxdWF0ZSB0byBzb21ldGhpbmcgbGlrZTogYCgkZ3V0dGVyICogeCkgKyAkZ2FwYC4gXG4gIC8vLyBUaGUgJyRnYXAnIGlzIGFkZGVkIHNvIHRoYXQgdncgc3BhY2luZyB3aWxsIG5ldmVyIHNjYWxlIHRvbyBjbG9zZSB0byAwcHguIFxuICAvLy8gR3V0dGVycyBtdXN0IHVzZSBhICd2dycgdW5pdCBzbyB0aGV5IGFyZSByZWxhdGl2ZSB0byB0aGUgdXNlcnMgdmlld3BvcnQgd2lkdGgtd2lzZS4gXG4gIC8vLyBUaGV5IHNob3VsZCBwcmltYXJpbHkgYmUgdXNlZCBmb3IgdGhlIGxlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb3IgbWFyZ2luIG9uIGEgcGFyZW50IGxldmVsLlxuICAvLy8gQXMgYSBzdWdnZXN0aW9uLCB0aGlzIGd1dHRlciBjb25zdGFudCBzaG91bGQgYmUgaGFsZiB0aGUgc2l6ZSBvZiB0aGUgc3BhY2VyIHZhbHVlLlxuICAvLy8gQHJlc3VsdCA6ICRndXR0ZXIwLCAkZ3V0dGVyLCAkZ3V0dGVyMiwgJGd1dHRlcjMsICRndXR0ZXI0LCAkZ3V0dGVyNSwgJGd1dHRlcjYsICRndXR0ZXIwLSwgJGd1dHRlci0sICRndXR0ZXIyLSwgJGd1dHRlcjMtLCAkZ3V0dGVyNC0sICRndXR0ZXI1LSBhbmQgJGd1dHRlcjYtXG4gIFxuICAkZ3V0dGVyIDogM3Z3LCBcblxuKTtcblxuJGJvcmRlci1yYWRpdXMgOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpOyIsIkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuQHVzZSAnbW9kdWxlcy9jb2xvdXIvZW5jb2RlJyBhcyBjb2xvdXI7XG5cbi8vIEdsb2JhbGx5IHN0eWxlIGlucHV0cyBhbmQgc3VibWl0IGhhbmRsZXNcblxuQGluY2x1ZGUgZm9ybS1jaGFyYWN0ZXItaW5wdXRzKCkge1xuICBAaW5jbHVkZSBmb3JtLWNoYXJhY3Rlci1pbnB1dCgpO1xuICAmOm5vdChzZWxlY3QpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbiAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbiB7XG4gICAgZGlzcGxheTpub25lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTpub25lO1xuICB9XG59XG5cbkBpbmNsdWRlIGZvcm0tYWxsLWlucHV0cygpIHtcbiAgJjpmb2N1cyB7IEBpbmNsdWRlIGZvcm0taW5wdXQtZm9jdXMoKSB9XG59XG5cbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWRlZmF1bHQoKTtcbn1cblxuXG5zZWxlY3QgeyAgXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGMoJGZvcm0tYmFzZS1pbnB1dC1wYWRkaW5nICogMyk7XG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG4gIEBpbmNsdWRlIGZvcm0tYXJyb3ctZG93bi1pbWFnZSgkZm9udC1jb2xvdXIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMWVtO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNhbGMoMTAwJSAtICN7JGZvcm0tYmFzZS1pbnB1dC1wYWRkaW5nfSkgY2VudGVyO1xuICB3aWR0aDogbWluLWNvbnRlbnQ7XG5cbiAgb3B0aW9uIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cbn1cblxuLmlucHV0LWNvbnRhaW5lciB7XG4gICYuaG9yaXpvbnRhbCB7IFxuICAgIGdyaWQtYXV0by1mbG93OiBjb2x1bW4gIWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gICY6bm90KC5yYWRpbywgLmNoZWNrYm94KSB7XG4gICAgQGluY2x1ZGUgZm9ybS10ZXh0LWNvbnRhaW5lcigpO1xuXG4gICAgaW5wdXRbbWF4bGVuZ3RoXSwgaW5wdXRbc2l6ZV0ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gICYucmFkaW8sICYuY2hlY2tib3ggeyBAaW5jbHVkZSBmb3JtLXJhZGlvLWNoZWNrYm94LWNvbnRhaW5lcigpIH1cbiAgJi5yYWRpbyB7IEBpbmNsdWRlIGZvcm0tcmFkaW8tY29udGFpbmVyKCkgfVxufVxuXG4ubXVsdGktaW5wdXQge1xuICBAaW5jbHVkZSBmb3JtLW11bHRpLWlucHV0KCk7XG59XG5cbnJhZGlvLXRhYnMge1xuICBAaW5jbHVkZSBmb3JtLXJhZGlvLXRhYnMoKTtcbn1cblxuXG5mb3JtIHtcblxuICAvLyBNYWtlIHN1Ym1pdCBidXR0b24gZGlzYWJsZWQgd2hlbiBmb3JtIGlzIGludmFsaWQuXG5cbiAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb247XG4gIH1cbiAgXG4gICY6aW52YWxpZCB7XG4gICAgW3R5cGU9XCJzdWJtaXRcIl0geyBcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICAgfVxuICB9XG5cbn1cblxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEZSRUVGT1JNIFNUWUxJTkdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZm9ybSB7XG4gICZbZGF0YS1mcmVlZm9ybV0ge1xuXG4gICAgaDMsIGg0LCBoNSwgaDYgeyBAaW5jbHVkZSBoZWFkaW5nLWgyKCkgfVxuXG4gICAgLmZmLWZvcm0tc3VjY2VzcyB7XG4gICAgICAtLWZvbnQtY29sb3VyOiAjeyRncmVlbn07XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZ2FwMjtcblxuICAgICAgcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSBsaXN0LXRpY2stbWFya2VyKCRncmVlbik7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xuICAgICAgICAgIHdpZHRoOiAxLjI1ZW07XG4gICAgICAgICAgaGVpZ2h0OiAxLjI1ZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZmYtZm9ybS1lcnJvcnMge1xuICAgICAgLS1mb250LWNvbG91cjogI3skcmVkfTtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRnYXAyO1xuICAgIH1cblxuICAgIC5mZi1lcnJvcnMge1xuICAgICAgLS1mb250LWNvbG91cjogI3skcmVkfTtcbiAgICAgIG1hcmdpbi10b3A6ICRnYXA7XG4gICAgICBjb2xvcjogdmFyKC0tZm9udC1jb2xvdXIpO1xuICAgIH1cblxuICAgIC5mb3JtLWZpZWxkcyB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDAlO1xuICAgICAgZ3JpZC1nYXA6ICRnYXA7XG5cbiAgICAgIC5mcmVlZm9ybS1yb3cge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLWdhcDogMnJlbTtcbiAgICAgICAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcblxuICAgICAgICAuZnJlZWZvcm0tY29sdW1uIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICBoMywgaDQsIGg1LCBoNiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkZ2FwMjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmZyZWVmb3JtLWNvbHVtbi1jb250ZW50LWFsaWduLXJpZ2h0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGxhYmVsOm5vdCguZnJlZWZvcm0taW5wdXQtb25seS1sYWJlbCkge1xuICAgICAgICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgICAgICAgJiArIC5mcmVlZm9ybS1pbnB1dCB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IGNhbGMoJGdhcCAvIDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBmb3JtLWJhc2UtcmVxdWlyZWQoKTtcbiAgICB9XG4gIH1cblxuXG4gIC8vIElORElWSURVQUwgRk9STSBTVFlMRVNcblxuICAmW2RhdGEtaGFuZGxlPVwibWFya2V0U2VjdG9yRm9ybVwiXSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC5mZi1mb3JtLWVycm9ycywgLmZmLWZvcm0tc3VjY2VzcyB7XG4gICAgICBvcmRlcjogMTA7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgIHBhZGRpbmc6ICRndXR0ZXIwICRndXR0ZXI7XG4gICAgICBtYXJnaW4tdG9wOiAkZ3V0dGVyO1xuICAgICAgcCB7IFxuICAgICAgICBjb2xvcjp3aGl0ZTsgXG4gICAgICB9XG4gICAgICB1bCBsaSB7XG4gICAgICAgIGNvbG9yOndoaXRlOyBcbiAgICAgIH1cbiAgICB9XG4gICAgLmZmLWZvcm0tZXJyb3JzIHsgXG4gICAgICBiYWNrZ3JvdW5kOiBkYXJrcmVkO1xuICAgIH1cbiAgICAuZmYtZm9ybS1zdWNjZXNzIHtcbiAgICAgIGJhY2tncm91bmQ6ICMyMThiMDA7XG4gICAgfVxuICAgIFxuICB9XG4gICZbZGF0YS1oYW5kbGU9XCJtYXJrZXRTZWN0b3JGb3JtXCJdLFxuICAmW2RhdGEtaGFuZGxlPVwiY29udGFjdFwiXSB7XG4gICAgLS1zdWJtaXQtaGVpZ2h0OiA0MXB4O1xuXG4gICAgLmZvcm0tZmllbGRzIHtcblxuICAgICAgbGFiZWw6bm90KC5mcmVlZm9ybS1pbnB1dC1vbmx5LWxhYmVsKSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG5cbiAgICAgIC5tZXNzYWdlLCAuc3VibWl0LXJvdyB7XG4gICAgICAgIGdyaWQtcm93OiA1O1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgIH1cbiAgXG4gICAgICAubWVzc2FnZSB7IFxuICAgICAgICAuZnJlZWZvcm0tY29sdW1uIHtcbiAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRleHRhcmVhW25hbWU9XCJtZXNzYWdlXCJdIHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGNhbGMoNDFweCArICRnYXApO1xuICAgICAgfVxuICBcbiAgICAgIC5zdWJtaXQtcm93IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIG1hcmdpbjogYXV0byAwIDAgYXV0bztcblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmW2RhdGEtaGFuZGxlPVwiY3JlZGl0QXBwbGljYXRpb25cIl0ge1xuICAgIC5mcmVlZm9ybS1yb3cge1xuICAgICAgJjpudGgtbGFzdC1vZi10eXBlKC1uKzIpLCAmOm50aC1sYXN0LW9mLXR5cGUoLW4rMSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiQHVzZSAnLi4vX3ZhcmlhYmxlcycgYXMgKjtcbkB1c2UgJy4uL19oZWxwZXJzL21pc2Muc2NzcycgYXMgKjtcbkB1c2UgXCJzdHlsaW5nXCIgYXMgKjtcblxuXG5AbWl4aW4gZGVmYXVsdCgpIHtcblxuICBAaW5jbHVkZSBjb2xvdXIoKTtcbiAgLS1pY29uLXNpemU6IDAuOGVtO1xuXG4gIHBvc2l0aW9uICAgICAgICAgOiByZWxhdGl2ZTtcbiAgY3Vyc29yICAgICAgICAgICA6IHBvaW50ZXI7XG5cbiAgZGlzcGxheSAgICAgICAgICA6IGZsZXg7XG4gIGZsZXgtd3JhcCAgICAgICAgOiBub3dyYXA7XG4gIGdyaWQtZ2FwICAgICAgICAgOiAkZ2FwMDtcbiAgYWxpZ24taXRlbXMgICAgICA6IGNlbnRlcjtcblxuICB3b3JkLWJyZWFrICAgICAgIDogYnJlYWstYWxsOyBcbiAgd2hpdGUtc3BhY2UgICAgICA6IG5vd3JhcDtcbiAgZm9udC13ZWlnaHQgICAgICA6IDYwMDtcbiAgbGluZS1oZWlnaHQgICAgICA6IDE7XG4gIHRleHQtdHJhbnNmb3JtICAgOiB1cHBlcmNhc2U7XG4gIG92ZXJmbG93ICAgICAgICAgOiBoaWRkZW47XG5cbiAgaGVpZ2h0ICAgICAgICAgICA6IGZpdC1jb250ZW50O1xuICBwYWRkaW5nICAgICAgICAgIDogMS4yNXJlbSAzcmVtIDEuMjVyZW0gNHJlbTtcbiAgZm9udC1zaXplICAgICAgICA6IDE2cHg7XG5cbiAgYmFja2dyb3VuZCAgICAgICA6IHZhcigtLWJhY2tncm91bmQtY29sb3VyKTtcbiAgY29sb3IgICAgICAgICAgICA6IHZhcigtLWZvbnQtY29sb3VyKTsgXG5cbiAgQGluY2x1ZGUgYW5nbGVkLWNsaXAoKTtcblxuICAvLyBUT0RPOiBtYXliZSBpbmNsdWRlIGEgY29udGFpbmVyIHdpdGggYSBjbGFzcyBzbyB0aGF0IGJ1dHRvbnMgY2FuIGhvbGQgb3RoZXIgZWxlbWVudHNcbiAgLy8gYXMgd2VsbCBhcyBTVkdzXG4gID4gc3ZnIHsgQGluY2x1ZGUgc3F1YXJlKHZhcigtLWljb24tc2l6ZSkpIH1cblxuXG4gICZbZGlzYWJsZWRdIHsgQGluY2x1ZGUgZGlzYWJsZWQoKSB9XG4gICY6bm90KFtkaXNhYmxlZF0pOmhvdmVyIHsgQGluY2x1ZGUgaG92ZXIoKSB9XG5cbiAgJi5zbWFsbCB7IEBpbmNsdWRlIHNtYWxsKCkgfVxuICAmLmxhcmdlIHsgQGluY2x1ZGUgbGFyZ2UoKSB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICAtLXRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG5cbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IGNhbGMoLTEwMCUpO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAxNXB4KTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYmFja2dyb3VuZC1jb2xvdXIpO1xuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxMjAlKTtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgMTAwJSwgMCUgMCUsIDEwMCUgMCUsIGNhbGMoMTAwJSAtIDE1cHgpIDEwMCUpO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgfVxufVxuXG5cbkBtaXhpbiBjb2xvdXIoJHByaW1hcnkgOiAkcmVkLCAkc2Vjb25kYXJ5IDogd2hpdGUpIHtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91ciA6ICN7JHByaW1hcnl9O1xuICAtLWZvbnQtY29sb3VyIDogI3skc2Vjb25kYXJ5fTtcbn1cblxuXG5cblxuQG1peGluIHNtYWxsIHtcbiAgcGFkZGluZyAgIDogMC45cmVtIDJyZW0gMC45cmVtIDNyZW07XG4gIGZvbnQtc2l6ZSA6IDEycHg7XG59XG5cbkBtaXhpbiBsYXJnZSB7XG4gIHBhZGRpbmcgICA6IDEuNHJlbSAzcmVtIDEuNHJlbSA0LjI1cmVtO1xuICBmb250LXNpemUgOiAxOHB4O1xufVxuXG5cblxuXG5AbWl4aW4gaG92ZXIoKSB7XG4gIHRleHQtZGVjb3JhdGlvbi1saW5lOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICY6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMTAwJSAtIDE1cHgpKTtcbiAgfVxufVxuXG5cblxuXG5AbWl4aW4gY2xpcHBlZCgpIHtcbiAgQGluY2x1ZGUgYW5nbGVkLWNsaXAoKTtcbn0iLCJAdXNlICcuLi9fdmFyaWFibGVzJyBhcyAqO1xuXG5cbkBtaXhpbiBhbmdsZWQtY2xpcCgpIHtcblx0Y2xpcC1wYXRoOiBwb2x5Z29uKDAlIDEwMCUsIDE1cHggMCUsIDEwMCUgMCUsIDEwMCUgMTAwJSk7XG59XG5cbkBtaXhpbiBzcXVhcmUoJGxlbmd0aCkge1xuXHR3aWR0aDogJGxlbmd0aDtcblx0aGVpZ2h0OiAkbGVuZ3RoO1xufVxuXG5AbWl4aW4gZmVhdHVyZWQtYmFkZ2UoJGNvbG91ciA6ICRvcmFuZ2UpIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdHBhZGRpbmc6IDAuN3JlbSAycmVtIDAuN3JlbSAzcmVtO1xuXHQvLyBGaXhlZCBoZWlnaHQgc2xpZ2h0bHkgZml4ZXMgYmx1cnJ5IHRleHQgaXNzdWUgaW4gY2hyb21lXG5cdGhlaWdodDogMzlweDtcblx0YmFja2dyb3VuZDogJGNvbG91cjtcblx0Y29sb3I6ICR3aGl0ZTtcblx0Ly8gLTAuNXB4IHNsaWdodGx5IGZpeGVzIGJsdXJyeSB0ZXh0IGlzc3VlIGluIGNocm9tZVxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMC41cHgpIHRyYW5zbGF0ZVgoLTEwMCUpIHRyYW5zbGF0ZVkoLTEwMCUpIHJvdGF0ZSgtOTBkZWcpO1xuXHR0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gcmlnaHQ7XG5cdEBpbmNsdWRlIGFuZ2xlZC1jbGlwKCk7XG59XG5cbkBtaXhpbiBkaXNhYmxlZCgkb3BhY2l0eSA6IDAuNCkge1xuICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbkBtaXhpbiB0ZXh0LWVsbGlwc2lzKCkge1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gR2xvYmFsIFN0eWxpbmdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG5AdXNlICd3ZWJmb250cyc7XG5AdXNlICdjdXN0b20tcHJvcGVydGllcyc7XG5AdXNlICd0eXBvZ3JhcGh5JztcbkB1c2UgJ2xheW91dCc7XG5AdXNlICdjb250ZW50JztcbkB1c2UgJ2Zvcm1zJztcblxuXG5odG1sIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG5ib2R5IHtcbiAgb3ZlcmZsb3cteDogaW5pdGlhbDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtY29udGVudC1iYWNrZ3JvdW5kKTtcblxuICAmI3NlYXJjaCB7XG4gICAgLnN1YmhlYWRpbmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xuICAgICAgdSB7IFxuICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5kLW5vbmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmZpZ3VyZS5pbWFnZSwgcGljdHVyZS5pbWFnZSB7XG4gIEBpbmNsdWRlIGltYWdlLXNyY3NldCgpO1xufVxuXG52aWRlby1jb250YWluZXIge1xuICBAaW5jbHVkZSB2aWRlby1jb250YWluZXIoKTtcbn1cblxubWFyayB7XG4gIEBpbmNsdWRlIG1hcmsoKTtcbn1cblxuLnNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlci13aWR0aDogMDtcbn1cblxuZGV0YWlscyB7IFxuICBvdXRsaW5lOm5vbmU7XG4gICZbb3Blbl0gc3VtbWFyeSA+IHN2ZyB7IHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSB9XG59XG5zdW1tYXJ5IHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgJjo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciwgJjo6bWFya2VyIHsgZGlzcGxheTpub25lOyB9XG59XG5cbi5vdmVyZmxvdy1oaWRkZW4geyBvdmVyZmxvdyA6IGhpZGRlbiAhaW1wb3J0YW50IH1cblxuLmhpZGUge1xuICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5idXR0b24ge1xuICBAaW5jbHVkZSBidXR0b24tZGVmYXVsdCgpO1xufVxuXG4uYnV0dG9uLCBidXR0b24ge1xuICBzdmcge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbn1cblxucGljdHVyZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucmVzdWx0LWl0ZW0ge1xuICBAaW5jbHVkZSByZXN1bHQtaXRlbS1iYXNlKCk7XG59XG5cbi50YWcge1xuICBAaW5jbHVkZSB0YWcoKTtcbn1cblxuXG50YWJsZS1jb250YWluZXIge1xuICAuaGVhZGluZyB7XG4gICAgQGluY2x1ZGUgaGVhZGluZy1oMjtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ2FwMjtcbiAgfVxuICAudGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlLWRlZmF1bHQoKTtcbiAgfVxufVxuXG5tYWluID4gLnNuaXBwZXQge1xuICBhIHsgLS1mb250LWNvbG91ciA6IHZhcigtLXRoZW1lLWFjY2VudCkgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIEltYWdlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjaW1hZ2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkB1c2UgJ3Bvc2l0aW9uJztcblxuQG1peGluIHNyY3NldCgkcG9zaXRpb246ZmFsc2UpIHtcblxuICBkaXNwbGF5ICAgICAgICAgICAgIDogYmxvY2s7XG5cdGJhY2tncm91bmQtcG9zaXRpb24gOiB2YXIoLS1wb3NpdGlvbiwgY2VudGVyIDMzJSk7XG5cdGJhY2tncm91bmQtc2l6ZSAgICAgOiBjb3Zlcjtcblx0YmFja2dyb3VuZC1yZXBlYXQgICA6IG5vLXJlcGVhdDtcblx0b3ZlcmZsb3cgICAgICAgICAgICA6IGhpZGRlbjtcblxuXHRAaWYgJHBvc2l0aW9uID09ICdleHBhbmRlZCcgeyBcblx0XHRAaW5jbHVkZSBwb3NpdGlvbi5leHBhbmRlZDtcblx0fSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2Jsb3dvdXQnIHsgXG5cdFx0QGluY2x1ZGUgcG9zaXRpb24uYmxvd291dDtcblx0fSBAZWxzZSB7XG5cdFx0cG9zaXRpb24gOiByZWxhdGl2ZTsgXG5cdH1cblx0XG4gIGltZyB7XG4gICAgZGlzcGxheSAgICAgICAgIDogYmxvY2s7XG4gICAgcG9zaXRpb24gICAgICAgIDogYWJzb2x1dGU7XG4gICAgb2JqZWN0LWZpdCAgICAgIDogY292ZXI7XG4gICAgb2JqZWN0LXBvc2l0aW9uIDogdmFyKC0taW1hZ2UtcG9zaXRpb24sIGNlbnRlciAzMy4zMyUpO1xuXHRcdHdpZHRoICAgICAgICAgICA6IHZhcigtLWltYWdlLXNpemUsIHZhcigtLWltYWdlLXdpZHRoLXNpemUsIDEwMCUpKTtcblx0XHRoZWlnaHQgICAgICAgICAgOiB2YXIoLS1pbWFnZS1zaXplLCB2YXIoLS1pbWFnZS1oZWlnaHQtc2l6ZSwgMTAwJSkpOyBcblx0XHRtYXgtd2lkdGggICAgICAgOiB2YXIoLS1pbWFnZS1zaXplLCB2YXIoLS1pbWFnZS13aWR0aC1zaXplLCAxMDAlKSk7XG5cdFx0bWF4LWhlaWdodCAgICAgIDogdmFyKC0taW1hZ2Utc2l6ZSwgdmFyKC0taW1hZ2UtaGVpZ2h0LXNpemUsIDEwMCUpKTtcblx0XHR0b3AgICAgICAgICAgICAgOiAwOyBcblx0XHRsZWZ0ICAgICAgICAgICAgOiAwO1xuXHR9XG5cblx0QGNvbnRlbnQ7XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBBc3BlY3QgUmF0aW8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjYXNwZWN0LXJhdGlvXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AdXNlIFwic2FzczpzdHJpbmdcIjtcblxuLy8vIEBleGFtcGxlIEBpbmNsdWRlIGFzcGVjdC1yYXRpbygxNi85KVxuXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpbyA6ICcxNi85Jykge1xuXG4gIC0tYXNwZWN0LXJhdGlvOiAje3N0cmluZy51bnF1b3RlKCRyYXRpbyl9O1xuICBhc3BlY3QtcmF0aW86IHZhcigtLWFzcGVjdC1yYXRpbyk7XG5cbiAgQHN1cHBvcnRzIG5vdCAoYXNwZWN0LXJhdGlvOiAje3N0cmluZy51bnF1b3RlKCRyYXRpbyl9KSB7XG4gICAgYXNwZWN0LXJhdGlvOmluaXRpYWw7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoMTAwJS8odmFyKC0tYXNwZWN0LXJhdGlvKSkpO1xuICAgIGhlaWdodDogMDtcbiAgICA+ICogeyBwb3NpdGlvbjogYWJzb2x1dGU7IH0gXG4gIH1cbn0iLCJAdXNlICdzYXNzOm1hcCc7XG5AdXNlICdjb2xsZWN0aW9ucy9zdHlsaW5nL2FzcGVjdC1yYXRpbycgYXMgKjtcblxuQG1peGluIGNvbnRhaW5lcigkcmF0aW86JzE2LzknKSB7XG5cdFxuXHRAaW5jbHVkZSBhc3BlY3QtcmF0aW8oJHJhdGlvKTtcblxuXHRkaXNwbGF5ICAgICAgICAgIDogYmxvY2s7XG5cdHBvc2l0aW9uICAgICAgICAgOiByZWxhdGl2ZTtcblx0d2lkdGggICAgICAgICAgICA6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3IgOiBibGFjaztcblxuXHRpZnJhbWUsIGNhbnZhcyB7XG5cdFx0cG9zaXRpb24gOiBhYnNvbHV0ZTtcblx0XHRkaXNwbGF5ICA6IGJsb2NrO1xuXHRcdHRvcCAgICAgIDogMDsgXG5cdFx0bGVmdCAgICAgOiAwO1xuXHRcdGhlaWdodCAgIDogMTAwJSAhaW1wb3J0YW50OyBcblx0XHR3aWR0aCAgICA6IDEwMCUgIWltcG9ydGFudDtcblx0fVxufSIsIkB1c2UgJy4uL192YXJpYWJsZXMnIGFzICo7XG5cbkBtaXhpbiBtYXJrKCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Vycy1tYXJrO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoI3skYm9yZGVyLXJhZGl1c30gLyAyKTtcbiAgcGFkZGluZzowIDVweDtcbiAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb24sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb247XG59XG5cbkBtaXhpbiBtYXJrLXJlc2V0KCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbml0aWFsO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLXJhZGl1czogaW5pdGlhbDtcbiAgcGFkZGluZzppbml0aWFsO1xuICB0cmFuc2l0aW9uOiBpbml0aWFsO1xufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBDb2xvdXIgUGFsZXR0ZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSBcIi4vbW9kdWxlcy9jb2xvdXJcIjtcblxuLy8gQWRqdXN0IHRoZXNlIHRvIGFtZW5kIHRoZSBsaWdodG5lc3Mgb3IgZGFya25lc3MgYW1vdW50cyBmb3IgdGhlIGNvbG91cnMgbHNpdGVkIGJlbG93Li4gXG5cbiRfbGlnaHRuZXNzIDogMTUlICFkZWZhdWx0O1xuJF9kYXJrbmVzcyAgOiAyMCUgIWRlZmF1bHQ7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb21tb24gQ29sb3Vyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHJlZCAgICAgICAgICA6ICM5NzA4MEUgIWRlZmF1bHQ7XG4kcmVkLWxpZ2h0ICAgIDogY29sb3VyLmxpZ2h0ZW4oJHJlZCwgJF9saWdodG5lc3MpICFkZWZhdWx0O1xuJHJlZC1kYXJrICAgICA6IGNvbG91ci5kYXJrZW4oJHJlZCwgJF9kYXJrbmVzcykgIWRlZmF1bHQ7XG5cbiRvcmFuZ2UgICAgICAgOiAjREE0QjBGICFkZWZhdWx0O1xuJG9yYW5nZS1saWdodCA6IGNvbG91ci5saWdodGVuKCRvcmFuZ2UsICRfbGlnaHRuZXNzKSAhZGVmYXVsdDtcbiRvcmFuZ2UtZGFyayAgOiBjb2xvdXIuZGFya2VuKCRvcmFuZ2UsICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4keWVsbG93ICAgICAgIDogI0U5QjEwNCAhZGVmYXVsdDtcbiR5ZWxsb3ctbGlnaHQgOiBjb2xvdXIubGlnaHRlbigkeWVsbG93LCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG4keWVsbG93LWRhcmsgIDogY29sb3VyLmRhcmtlbigkeWVsbG93LCAkX2RhcmtuZXNzKSAhZGVmYXVsdDtcblxuJGdyZWVuICAgICAgICA6ICM0ODhDMTMgIWRlZmF1bHQ7XG4kZ3JlZW4tbGlnaHQgIDogY29sb3VyLmxpZ2h0ZW4oJGdyZWVuLCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG4kZ3JlZW4tZGFyayAgIDogY29sb3VyLmRhcmtlbigkZ3JlZW4sICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4kYmx1ZSAgICAgICAgIDogIzFCNTVDMCAhZGVmYXVsdDtcbiRibHVlLWxpZ2h0ICAgOiBjb2xvdXIubGlnaHRlbigkYmx1ZSwgJF9saWdodG5lc3MpICFkZWZhdWx0O1xuJGJsdWUtZGFyayAgICA6IGNvbG91ci5kYXJrZW4oJGJsdWUsICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4kcGluayAgICAgICAgIDogI0UwNUQ2QiAhZGVmYXVsdDtcbiRwaW5rLWxpZ2h0ICAgOiBjb2xvdXIubGlnaHRlbigkcGluaywgJF9saWdodG5lc3MpICFkZWZhdWx0O1xuJHBpbmstZGFyayAgICA6IGNvbG91ci5kYXJrZW4oJHBpbmssICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4kcHVycGxlICAgICAgIDogIzYxM0Q1QSAhZGVmYXVsdDtcbiRwdXJwbGUtbGlnaHQgOiBjb2xvdXIubGlnaHRlbigkcHVycGxlLCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG4kcHVycGxlLWRhcmsgIDogY29sb3VyLmRhcmtlbigkcHVycGxlLCAkX2RhcmtuZXNzKSAhZGVmYXVsdDtcblxuJGdyZXkgICAgICAgICA6ICM3ODc4NzggIWRlZmF1bHQ7XG4kZ3JleS1saWdodCAgIDogY29sb3VyLmxpZ2h0ZW4oJGdyZXksICRfbGlnaHRuZXNzKSAhZGVmYXVsdDtcbiRncmV5LWRhcmsgICAgOiBjb2xvdXIuZGFya2VuKCRncmV5LCAkX2RhcmtuZXNzKSAhZGVmYXVsdDtcblxuJGJyb3duICAgICAgICA6ICM3NzRGMzggIWRlZmF1bHQ7XG4kYnJvd24tbGlnaHQgIDogY29sb3VyLmxpZ2h0ZW4oJGJyb3duLCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG4kYnJvd24tZGFyayAgIDogY29sb3VyLmRhcmtlbigkYnJvd24sICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4kd2hpdGUgICAgICAgIDogI0ZGRkZGRiAhZGVmYXVsdCA7XG4kd2hpdGUtZGFyayAgIDogY29sb3VyLmxpZ2h0ZW4oJHdoaXRlLCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG5cbiRibGFjayAgICAgICAgOiAjMDAwMDAwICFkZWZhdWx0IDtcbiRibGFjay1saWdodCAgOiBjb2xvdXIuZGFya2VuKCRibGFjaywgJF9kYXJrbmVzcykgIWRlZmF1bHQ7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTb2NpYWwgTWVkaWEgQ29sb3Vyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIEBzZWUgaHR0cHM6Ly93d3cubG9ja2Vkb3duc2VvLmNvbS9zb2NpYWwtbWVkaWEtY29sb3JzL1xuXG4kZmFjZWJvb2s6ICAgICMxODc3ZjIgIWRlZmF1bHQ7XG4kdHdpdHRlcjogICAgICMxZGExZjIgIWRlZmF1bHQ7XG4kZ29vZ2xlOiAgICAgICM0Mjg1ZjQgIWRlZmF1bHQ7XG4keW91dHViZTogICAgICNmZjAwMDAgIWRlZmF1bHQ7XG4kbGlua2VkaW46ICAgICMwMDdiYjUgIWRlZmF1bHQ7XG4kaW5zdGFncmFtOiAgICNjMzJhYTMgIWRlZmF1bHQ7XG4kcGludGVyZXN0OiAgICNiZDA4MWMgIWRlZmF1bHQ7XG4kZGFpbHltb3Rpb246ICMwMDY2REMgIWRlZmF1bHQ7XG4kc25hcGNoYXQ6ICAgICNmZmZjMDAgIWRlZmF1bHQ7XG4kZmxpY2tyOiAgICAgICNmNDAwODMgIWRlZmF1bHQ7XG4kdmltZW86ICAgICAgICMxYWI3ZWEgIWRlZmF1bHQ7XG4kdGh1bWJsZXI6ICAgICMzNTQ2NWQgIWRlZmF1bHQ7XG4kcmVkZGl0OiAgICAgICNmZjQ1MDAgIWRlZmF1bHQ7XG4kd2hhdHNhcHA6ICAgICMyNWQzNjYgIWRlZmF1bHQ7XG4kc2t5cGU6ICAgICAgICMwMGFmZjAgIWRlZmF1bHQ7XG4kZGlzY29yZDogICAgICM3Mjg5ZGEgIWRlZmF1bHQ7XG5cbiRzb2NpYWwtbWVkaWEgOiAoXG4gIGZhY2Vib29rOiAgICAgJGZhY2Vib29rLFxuICB0d2l0dGVyOiAgICAgICR0d2l0dGVyLFxuICBnb29nbGU6ICAgICAgICRnb29nbGUsXG4gIHlvdXR1YmU6ICAgICAgJHlvdXR1YmUsXG4gIGxpbmtlZGluOiAgICAgJGxpbmtlZGluLFxuICBpbnN0YWdyYW06ICAgICRpbnN0YWdyYW0sXG4gIHBpbnRlcmVzdDogICAgJHBpbnRlcmVzdCxcbiAgZGFpbHltb3Rpb246ICAkZGFpbHltb3Rpb24sXG4gIHNuYXBjaGF0OiAgICAgJHNuYXBjaGF0LFxuICBmbGlja3I6ICAgICAgICRmbGlja3IsXG4gIHZpbWVvOiAgICAgICAgJHZpbWVvLFxuICB0aHVtYmxlcjogICAgICR0aHVtYmxlcixcbiAgcmVkZGl0OiAgICAgICAkcmVkZGl0LFxuICB3aGF0c2FwcDogICAgICR3aGF0c2FwcCxcbiAgc2t5cGU6ICAgICAgICAkc2t5cGUsXG4gIGRpc2NvcmQ6ICAgICAgJGRpc2NvcmRcbik7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBPdGhlciBDb2xvdXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4keWVsbG86ICNGRkNCMDggIWRlZmF1bHQ7XG5cbi8vLyBIYW5kbGVzIHRoZSBjdXJzb3Igc2VsZWN0aW9uIGNvbG91clxuLy8vIEBzZWUgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9hbG1hbmFjL3NlbGVjdG9ycy9zL3NlbGVjdGlvbi9cblxuJGhpZ2hsaWdodDogI0IyRDNGQSAhZGVmYXVsdDsgXG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gVHJhbnNpdGlvbnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkB1c2UgXCJoZWxwZXJzL2Vhc2VcIjtcblxuJGR1cmF0aW9uIDogMC4ycztcbiRlYXNlICAgICA6IGVhc2UuJGluLW91dDtcbiRkZWxheSAgICA6IG51bGw7XG5cbiR0cmFuc2l0aW9uIDogdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgJGR1cmF0aW9uKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsICRlYXNlKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCAkZGVsYXkpO1xuXG4kc2lkZWJhci1vcGVuOiAwLjdzIGVhc2UuJG91dC1xdWFydDtcbiRzZWFyY2gtb3BlbjogMC40cyBlYXNlLiRvdXQtY3ViaWM7XG4kbmF2LWJhY2tncm91bmQ6IDAuM3MgZWFzZS4kb3V0LXF1YXJ0OyIsIkB1c2UgJy4uL192YXJpYWJsZXMnIGFzICo7XG5AdXNlICcuLi9faGVscGVycycgYXMgKjtcblxuQG1peGluIGRlZmF1bHQoKSB7XG4gIC0tY2VsbC1wYWRkaW5nLXkgOiAxcmVtO1xuICAtLWNlbGwtcGFkZGluZy14IDogMS41cmVtO1xuICAtLWNlbGwtcGFkZGluZyAgIDogdmFyKC0tY2VsbC1wYWRkaW5nLXkpIHZhcigtLWNlbGwtcGFkZGluZy14KTtcblxuICAvLyB3aWR0aDogMTAwJTtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICB0ciB7XG4gICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAvLyBUT0RPOiBjaGFuZ2UgdGhpcyB0byBzb21ldGhpbmcgbW9yZSBzZW1hbnRpY1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtY29udGVudC1vcHBvc2l0ZSk7XG4gICAgfVxuXG4gICAgdGQ6Zmlyc3QtY2hpbGQoKSB7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkZ3JleTtcbiAgICB9XG4gIH1cblxuICB0ZCB7XG4gICAgcGFkZGluZzogdmFyKC0tY2VsbC1wYWRkaW5nKTtcbiAgfVxuXG4gIHRoIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1jZWxsLXBhZGRpbmcpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGxpZ2h0Z3JleTtcbiAgfVxuXG4gICYudmVydGljYWwge1xuICAgIHRyIHtcbiAgICAgIHRkOmZpcnN0LWNoaWxkIHsgZm9udC13ZWlnaHQ6IDYwMCB9XG4gICAgfVxuICB9XG5cbiAgJi5wcm9kdWN0LXNwZWNzIHtcbiAgICB0ciB7XG4gICAgICB0ZDpmaXJzdC1jaGlsZCB7IHdoaXRlLXNwYWNlOiBub3dyYXAgfVxuICAgICAgdGQ6bGFzdC1jaGlsZCB7IHdpZHRoOiAxMDAlOyB9XG4gICAgfVxuICB9XG5cbiAgJi5yZWxhdGVkLXByb2R1Y3RzIHtcbiAgICBhIHsgLS1mb250LWNvbG91cjogI3skcmVkfTsgfVxuICB9XG59IiwiQHVzZSAnX21vZHVsZXMnIGFzICo7XG5cblxubmF2aWdhdGlvbi1iYXJcdHtcblx0cG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHR3aWR0aDogdmFyKC0tbmF2aWdhdGlvbi1iYXItd2lkdGgpO1xuXHRoZWlnaHQ6IHZhcigtLW5hdmlnYXRpb24tYmFyLWhlaWdodCk7XG5cdG1heC1oZWlnaHQ6IC13ZWJraXQtZmlsbC1hdmFpbGFibGU7XG5cdHBhZGRpbmc6IDAgJGdhcDIgdmFyKC0tZ2FwLXkpO1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS1uYXYtYmFja2dyb3VuZCk7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoJHdoaXRlLCAwLjIpO1xuXHRvdmVyZmxvdy15OiBhdXRvO1xuXHR6LWluZGV4OiAkei1pbmRleC1uYXZpZ2F0aW9uLWJhcjtcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZCAkdHJhbnNpdGlvbi1uYXYtYmFja2dyb3VuZDtcblxuXHRhLCBidXR0b24ge1xuXHRcdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogJHRyYW5zcGFyZW50O1xuXHR9XG5cblx0Z2xvYmFsLXNlYXJjaC1tb2JpbGUgIHsgZGlzcGxheTogbm9uZSB9XG5cblx0Lm5hdmlnYXRpb24tY29udGFpbmVyIHtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRAaW5jbHVkZSBzcXVhcmUoMTAwJSk7XG5cblx0XHRhLmxvZ28ge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRcdFx0d2lkdGg6IDk1JTtcblx0XHRcdG1pbi1oZWlnaHQ6IHZhcigtLWxvZ28taGVpZ2h0KTtcblx0XHRcdGhlaWdodDogdmFyKC0tbG9nby1oZWlnaHQpO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwLXkpO1xuXHRcblx0XHRcdD4gc3ZnIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGNvbG9yOiB2YXIoLS10aGVtZS1sb2dvKTtcblx0XHRcdH1cblxuXHRcdFx0Ji5sb2dvLW1vYmlsZSB7IGRpc3BsYXk6IG5vbmUgfVxuXHRcdH1cblxuXHRcdGdsb2JhbC1zZWFyY2gtZGVza3RvcCB7IG1hcmdpbi1ib3R0b206ICRnYXAyIH1cblx0fVxuXG5cdG5hdiB7XG5cdFx0bmF2aWdhdGlvbi1saW5rcyB7XG5cdFx0XHQtLWZhbGxiYWNrLW1heC1oZWlnaHQ6IDYwMHB4O1xuXHRcdFx0LS1iYXNlLXNwYWNpbmc6ICN7JGdhcDB9O1xuXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdFx0LnRvcC1sZXZlbC1saW5rIHtcblx0XHRcdFx0cGFkZGluZzogJGdhcDAgMDtcblxuXHRcdFx0XHQmOmZpcnN0LWNoaWxkIHsgcGFkZGluZy10b3A6IDAgfVxuXG5cdFx0XHRcdCYuaGFzLWNoaWxkcmVuIHtcblx0XHRcdFx0XHQ+IGE6aG92ZXIgc3ZnIHsgb3BhY2l0eTogMSB9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LnN1Yi1tZW51IHtcblx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdHBhZGRpbmc6IGNhbGMoJGdhcDAgLyAyKSAwO1xuXG5cdFx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7IHBhZGRpbmctdG9wOiAkZ2FwMCB9XG5cdFx0XHRcdFx0JjpsYXN0LWNoaWxkICB7IHBhZGRpbmctYm90dG9tOiAkZ2FwMCB9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXG5cdFx0XHR1bCB7XG5cdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb24sIGNvbG9yICR0cmFuc2l0aW9uLCB0ZXh0LWRlY29yYXRpb24tY29sb3IgJHRyYW5zaXRpb247XG5cblx0XHRcdFx0XHRcdCY6bm90KC5hY3RpdmUpIHtcblx0XHRcdFx0XHRcdFx0LS1mb250LWNvbG91cjogdmFyKC0tdGhlbWUtbmF2LWZvbnQpO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQmLmFjdGl2ZSB7IFxuXHRcdFx0XHRcdFx0XHQtLWZvbnQtY29sb3VyOiB2YXIoLS10aGVtZS1hY2NlbnQpO1xuXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGhvdmVyKCkge1xuXHRcdFx0XHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbi1jb2xvcjogJHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdD4gc3ZnIHtcblx0XHRcdFx0XHRcdFx0Y29sb3I6IHZhcigtLXRoZW1lLW5hdi1mb250KTtcblx0XHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbiwgdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogMWVtO1xuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDFlbTtcblx0XHRcdFx0XHRcdFx0b3BhY2l0eTogMC4yO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdHVsIHtcblx0XHRcdFx0XHRcdC0tdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zMjVzO1xuXG5cdFx0XHRcdFx0XHRtYXgtaGVpZ2h0OiAwO1xuXHRcdFx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uLCBvcGFjaXR5ICR0cmFuc2l0aW9uO1xuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6ICRnYXA7XG5cblx0XHRcdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRcdFx0YTpub3QoLmFjdGl2ZSkge1xuXHRcdFx0XHRcdFx0XHRcdG9wYWNpdHk6IDAuNTtcblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBob3ZlciB7IG9wYWNpdHk6IDEgfVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ji5oYXMtY2hpbGRyZW4ge1xuXHRcdFx0XHRcdFx0PiBhIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQmLm9wZW4ge1xuXHRcdFx0XHRcdFx0XHQ+IGEgPiBzdmcge1xuXHRcdFx0XHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdD4gdWwge1xuXHRcdFx0XHRcdFx0XHRcdG1heC1oZWlnaHQ6IHZhcigtLWxpbmstbWF4LWhlaWdodCwgdmFyKC0tZmFsbGJhY2stbWF4LWhlaWdodCkpO1xuXHRcdFx0XHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LnRvcC1sZXZlbC1saW5rcyB7XG5cdFx0XHRcdD4gbGkgPiBhIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSB9XG5cdFx0XHR9XG5cblx0XHRcdC5tb2JpbGUtbGluay5oaWRkZW4geyBkaXNwbGF5OiBub25lIH1cblx0XHR9XG5cdH1cblxuXHRuYXZpZ2F0aW9uLWNvbnRyb2xzIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0XHQmID4gKjpub3QoOmZpcnN0LWNoaWxkKSB7XG5cdFx0XHRtYXJnaW4tbGVmdDogdmFyKC0tZ3V0dGVyMyk7XG5cdFx0fVxuXG5cdFx0YSwgYnV0dG9uIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0aGVpZ2h0OiBmaXQtY29udGVudDtcblxuXHRcdFx0c3ZnIHtcblx0XHRcdFx0aGVpZ2h0OiAyNXB4O1xuXHRcdFx0XHR3aWR0aDogMjVweDtcblx0XHRcdFx0Y29sb3I6IHZhcigtLXRoZW1lLW5hdi1mb250KTtcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRidXR0b24ubWVudSB7XG5cdFx0XHQtLXN5bWJvbC1jb2xvdXI6IHZhcigtLXRoZW1lLW5hdi1mb250LCB3aGl0ZSk7XG5cblx0XHRcdHN2ZyB7XG5cdFx0XHRcdC0tY29ybmVyLW9mZnNldDogMTBweDtcblxuXHRcdFx0XHR3aWR0aDozMHB4O1xuXHRcdFx0XHRoZWlnaHQ6MzBweDtcblx0XHRcblx0XHRcdFx0cG9seWdvbiB7XG5cdFx0XHRcdFx0Y2xpcC1wYXRoOiBwb2x5Z29uKDE0MHB4IDIwcHgsIDAgMjBweCwgdmFyKC0tY29ybmVyLW9mZnNldCwgMTBweCkgMCwgMTQwcHggMCk7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uO1xuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdCY6bnRoLWNoaWxkKDEpIHtcblx0XHRcdFx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IDE1JSAzMCU7XG5cdFx0XHRcdFx0fVxuXHRcdFxuXHRcdFx0XHRcdCY6bnRoLWNoaWxkKDIpIHtcblx0XHRcdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0fVxuXHRcdFxuXHRcdFx0XHRcdCY6bnRoLWNoaWxkKDMpIHtcblx0XHRcdFx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IDE1JSA3MCVcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuZXh0cmEtbGlua3Mge1xuXHRcdC0tZm9udC1jb2xvdXI6IHZhcigtLXRoZW1lLW5hdi1mb250KTtcblx0XHQtLWxpbmstc3BhY2luZzogI3skZ2FwfTtcblx0XHQtLW9wYWNpdHk6IDAuNjtcblxuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLW1pbjtcblx0XHRvcGFjaXR5OiB2YXIoLS1vcGFjaXR5KTtcblx0XHRtYXJnaW4tdG9wOiBhdXRvO1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRnYXA6MXJlbTtcblxuXHRcdC8vIGxpICsgbGkge1xuXHRcdGxpOm5vdCg6bGFzdC1vZi10eXBlKSB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRnYXA6MWNoO1xuXHRcdFx0bWluLXdpZHRoOiBmaXQtY29udGVudDtcblx0XHR9XG5cblx0XHRhIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHRAaW5jbHVkZSBob3ZlciB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH1cblx0XHR9XG5cdH1cbn1cblxuXG5cblxuXG5AaW5jbHVkZSBicmVhay1pbignc21hbGwtbWVkaXVtJykge1xuXG5cdG5hdmlnYXRpb24tYmFyIHtcblxuXHRcdC0tbmF2aWdhdGlvbi1iYXItd2lkdGg6IDEwMCU7XG5cdFx0LS1uYXZpZ2F0aW9uLWJhci1oZWlnaHQ6IG1pbi1jb250ZW50O1xuXHRcdC0tbG9nby1oZWlnaHQ6IDEwMCU7XG5cdFx0LS1yb3ctcGFkZGluZzogMXJlbSB2YXIoLS1nYXAteCk7XG5cblx0XHQtLXRoZW1lLW5hdi1mb250OiB2YXIoLS10aGVtZS1uYXYtZm9udC1tb2IpO1xuXHRcdC0tdGhlbWUtbG9nbzogdmFyKC0tdGhlbWUtbmF2LWZvbnQtbW9iKTtcblxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdG92ZXJmbG93OiB2aXNpYmxlO1xuXHRcdGJvcmRlci1yaWdodDogbm9uZTtcblxuXG5cdFx0LmV4dHJhLWxpbmtzIHsgZGlzcGxheTogbm9uZSB9XG5cdFx0Z2xvYmFsLXNlYXJjaC1kZXNrdG9wXHQgeyBkaXNwbGF5OiBub25lIH1cblxuXHRcdC5uYXZpZ2F0aW9uLWNvbnRhaW5lciwgZ2xvYmFsLXNlYXJjaC1tb2JpbGUge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGhlbWUtbmF2LWJhY2tncm91bmQtbW9iKTtcblx0XHR9XG5cblx0XHRnbG9iYWwtc2VhcmNoLW1vYmlsZSAge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwYWRkaW5nOiB2YXIoLS1yb3ctcGFkZGluZyk7XG5cdFx0XHRoZWlnaHQ6IHZhcigtLW5hdmlnYXRpb24tbW9iaWxlLXNlYXJjaC1oZWlnaHQpO1xuXHRcdFx0bWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLW5hdmlnYXRpb24tbW9iaWxlLXNlYXJjaC1oZWlnaHQpIC0gMHB4KTtcblx0XHRcdHRyYW5zaXRpb246IG1hcmdpbi10b3AgJHRyYW5zaXRpb24tc2VhcmNoLW9wZW47XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlbWUtbmF2LXNwYWNpbmctY29sb3VyKTtcblx0XHRcdHotaW5kZXg6ICR6LWluZGV4LWdsb2JhbC1zZWFyY2gtbW9iaWxlO1xuXG5cdFx0XHRmb3JtIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0XHRcdFx0aW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7IGJvcmRlci1yaWdodDogbm9uZTsgfVxuXG5cdFx0XHRcdHNlbGVjdCB7XG5cdFx0XHRcdFx0LS1mb250LWNvbG91cjogI3skd2hpdGV9O1xuXHRcdFx0XHRcdC0tYmFja2dyb3VuZC1jb2xvdXI6ICN7JHJlZH07XG5cdFx0XHRcdFx0QGluY2x1ZGUgZm9ybS1hcnJvdy1kb3duLWltYWdlKCR3aGl0ZSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRuYXZpZ2F0aW9uLWNvbnRyb2xzIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblxuXHRcdC5uYXZpZ2F0aW9uLWNvbnRhaW5lciB7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0aGVpZ2h0OiB2YXIoLS1uYXZpZ2F0aW9uLWNvbnRhaW5lci1oZWlnaHQpO1xuXHRcdFx0cGFkZGluZzogdmFyKC0tcm93LXBhZGRpbmcpO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRoZW1lLW5hdi1zcGFjaW5nLWNvbG91cik7XG5cdFx0XHR6LWluZGV4OiAkei1pbmRleC1uYXZpZ2F0aW9uLWJhci1jb250YWluZXI7XG5cdFx0XHRcblx0XHRcdGEubG9nbyB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdHdpZHRoOiBmaXQtY29udGVudDtcblxuXHRcdFx0XHQmLmxvZ28tZGVza3RvcCB7IGRpc3BsYXk6IG5vbmUgfVxuXHRcdFx0XHQmLmxvZ28tbW9iaWxlICB7IFxuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAtM3JlbTtcblx0XHRcdFx0fVxuXHRcblx0XHRcdFx0c3ZnIHsgXG5cdFx0XHRcdFx0d2lkdGg6IHVuc2V0O1xuXHRcdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdG5hdiB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IGNhbGMoMTAwJSArIDBweCk7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDEwMHZoO1xuXHRcdFx0cGFkZGluZzogdmFyKC0tZ2FwLXkpIHZhcigtLWdhcC14KSB2YXIoLS1uYXZpZ2F0aW9uLWNvbnRhaW5lci1oZWlnaHQpO1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tdGhlbWUtbmF2LWJhY2tncm91bmQtbW9iKTtcblx0XHRcdG92ZXJmbG93LXk6IGF1dG87XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uLW5hdi1iYWNrZ3JvdW5kO1xuXG5cdFx0XHQudG9wLWxldmVsLWxpbmtzIHsgb3BhY2l0eTogMCB9XG5cdFx0fVxuXHR9XG5cblxuXG5cblxuXG5cdC8vIEFjdGl2YXRlZCBjb21wb25lbnRzXG5cblx0Ym9keSB7XG5cdFx0Ji5tb2JpbGUtc2VhcmNoLW9wZW4ge1xuXHRcdFx0bmF2aWdhdGlvbi1iYXIge1xuXHRcdFx0XHRnbG9iYWwtc2VhcmNoLW1vYmlsZSB7IG1hcmdpbi10b3A6IDAgfVxuXHRcdFx0fVxuXHRcdH1cblx0XG5cdFx0Ji5tb2JpbGUtbmF2aWdhdGlvbi1vcGVuIHtcblx0XHRcdG5hdmlnYXRpb24tYmFyIHtcblx0XHRcdFx0Ly8gYmFja2dyb3VuZDogdmFyKC0tYWN0aXZhdGVkLWJhY2tncm91bmQpO1xuXG5cdFx0XHRcdG5hdiB7XG5cdFx0XHRcdFx0cG9pbnRlci1ldmVudHM6IGFsbDtcblx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXG5cdFx0XHRcdFx0LnRvcC1sZXZlbC1saW5rcyB7XG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDAuM3MgJGVhc2Utb3V0LXF1YXJ0IDAuM3M7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0YnV0dG9uLm1lbnUge1xuXHRcdFx0XHRcdHN2ZyB7XG5cdFx0XHRcdFx0XHQtLWNvcm5lci1vZmZzZXQ6IDA7XG5cdFx0XHRcdFxuXHRcdFx0XHRcdFx0cG9seWdvbiB7XG5cdFx0XHRcdFx0XHRcdCY6bnRoLWNoaWxkKDEpIHtcblx0XHRcdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgc2NhbGVZKDgwJSk7XG5cdFx0XHRcdFx0XHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgc2NhbGVZKDgwJSk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdCY6bnRoLWNoaWxkKDIpIHtcblx0XHRcdFx0XHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHQmOm50aC1jaGlsZCgzKSB7XG5cdFx0XHRcdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSBzY2FsZVkoODAlKTtcblx0XHRcdFx0XHRcdFx0XHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgc2NhbGVZKDgwJSk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG4gIH1cbn0iLCJAdXNlICdfbW9kdWxlcycgYXMgKjtcblxuLmhlYXRzaW5rcy1ob21lLFxuLmNvbXBvbmVudHMtaG9tZSB7XG4gIGhlYWRlci5oZWFkZXIge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzIDAuMnM7XG4gIH1cbn1cblxuLmhlYWRlciB7XG4gIGFsaWduLXNlbGY6IGVuZDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgei1pbmRleDogJHotaW5kZXgtaGVhZGVyO1xuXG4gIC5oZWFkaW5nLFxuICAuc3ViaGVhZGluZyB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC5oZWFkaW5nIHtcbiAgICBvcmRlcjogMjtcbiAgICBmb250LXdlaWdodDogODAwO1xuICB9XG5cbiAgLnN1YmhlYWRpbmcge1xuICAgIGNvbG9yOiB2YXIoLS10aGVtZS1hY2NlbnQpO1xuICAgIG1hcmdpbi1ib3R0b206ICRnYXA7XG5cbiAgICBhIHtcbiAgICAgIC0taGVhZGluZy1jb2xvdXI6IHZhcigtLXRoZW1lLWFjY2VudCk7XG4gICAgICAvLyB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLXRoZW1lLWFjY2VudCk7XG4gICAgICBjb2xvcjogdmFyKC0tdGhlbWUtYWNjZW50KTtcbiAgICB9XG4gIH1cblxuICAuc25pcHBldCB7XG4gICAgb3JkZXI6IDM7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrLW91dCgnc21hbGwtbWVkaXVtJykge1xuICAgICAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gICAgfVxuICB9XG5cbiAgJi50cmFuc2l0aW9uIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAlKTtcbiAgfVxufVxuIiwiQHVzZSAnX21vZHVsZXMnIGFzICo7XG5cbm1haW4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRncmlkLWdhcDogdmFyKC0tZ2FwLXkpO1xuXHR6LWluZGV4OiAkei1pbmRleC1tYWluO1xuXHQvLyBoZWlnaHQ6IDEwMCU7XG5cblx0Y29udGVudC1ibG9ja3Mge1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0Z3JpZC1nYXA6IHZhcigtLWdhcC15KTtcblxuXHRcdHNlY3Rpb24ge1xuXHRcdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRcdGdyaWQtZ2FwOiB2YXIoLS1nYXAteSk7XG5cdFx0fVxuXHR9XG5cblx0QGluY2x1ZGUgY29tcG9uZW50LWRvZXNudC1leGlzdCgnc2Nyb2xsLWJhcicpIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVhay1vdXQoJ2xhcmdlJykge1xuXHRcdHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAteSk7XG5cdH1cbn0iLCJAdXNlIFwic2FzczpsaXN0XCI7XG5cbi8vLyBAZXhhbXBsZSBAaW5jbHVkZSBjb21wb25lbnQtZXhpc3RzKCdiYWNrZ3JvdW5kLWltYWdlJykgeyBvcGFjaXR5OjAuNTsgfVxuLy8vIFBhc3MgaW4gbXVsdHVpcGxlIGNvbXBlbmVudCBuYW1lcyBpZiB5b3Ugd2FudCB0byBjaGVjayB0aGV5IGFsbCBleGlzdFxuXG5AbWl4aW4gZXhpc3RzKCRuYW1lcy4uLikge1xuXG4gICRzZWxlY3RvciA6ICdib2R5JztcbiAgJHBhcmVudCA6aWYobGlzdC5udGgobGlzdC5udGgoJiwgMSksIDEpID09ICc6cm9vdCcsICcnLCAmKTtcblxuICBAZWFjaCAkbmFtZSBpbiAkbmFtZXMge1xuICAgICRzZWxlY3RvciA6ICRzZWxlY3RvciArICdbZGF0YS1jb21wb25lbnRzKj1cIiN7JG5hbWV9XCJdJztcbiAgfVxuXG4gIEBhdC1yb290ICN7JHNlbGVjdG9yfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIEBleGFtcGxlIEBpbmNsdWRlIGNvbXBvbmVudC1kb2VzbnQtZXhpc3RzKCdiYWNrZ3JvdW5kLWltYWdlJykgeyBvcGFjaXR5OjAuNTsgfVxuLy8vIFBhc3MgaW4gbXVsdHVpcGxlIGNvbXBlbmVudCBuYW1lcyBpZiB5b3Ugd2FudCB0byBjaGVjayBub25lIGV4aXN0XG5cbkBtaXhpbiBkb2VzbnQtZXhpc3QoJG5hbWVzLi4uKSB7XG5cbiAgJHNlbGVjdG9yIDogJ2JvZHknO1xuICAkcGFyZW50IDppZihsaXN0Lm50aChsaXN0Lm50aCgmLCAxKSwgMSkgPT0gJzpyb290JywgJycsICYpO1xuICBcbiAgQGVhY2ggJG5hbWUgaW4gJG5hbWVzIHtcbiAgICAkc2VsZWN0b3IgOiAkc2VsZWN0b3IgKyAnOm5vdChbZGF0YS1jb21wb25lbnRzKj1cIiN7JG5hbWV9XCJdKSc7XG4gIH1cblxuICBAYXQtcm9vdCAjeyRzZWxlY3Rvcn0ge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAdXNlICdfbW9kdWxlcycgYXMgKjtcblxuc2lkZS1iYXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiB2YXIoLS1zaWRlYmFyLXdpZHRoKTtcblx0bWF4LXdpZHRoOiB2YXIoLS1zaWRlYmFyLW1heC13aWR0aCk7XG5cdGhlaWdodDogMTAwJTtcblx0ei1pbmRleDogJHotaW5kZXgtbWFpbjtcblxuXHRkaXYuY29udGVudC1ibG9jay5jYWxsVG9BY3Rpb257XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblxuXHRcdEBtZWRpYSh3aWR0aCA+IDE0MDBweCl7XG5cdFx0XHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdHRvcDogdW5zZXQ7XG5cblx0XHR9XG5cdFx0QG1lZGlhKG1heC13aWR0aDogOTgwcHgpe1xuXHRcdFx0Ly8gcmlnaHQ6IDA7XG5cdFx0fVxuXHRcdEBtZWRpYShtaW4td2lkdGg6IDk4MHB4KSBhbmQgKG1heC13aWR0aDogMTQwMHB4KXtcblx0XHRcdC8vIG1hcmdpbi1sZWZ0OiBjYWxjKGNsYW1wKDJyZW0sIDV2dywgOHJlbSkgKiAtMSk7XG5cdFx0fVxuXHR9XG5cblxuXG5cdCYuZnJlZSB7XG5cdFx0LS1jb250YWluZXItcGFkZGluZzogNHJlbTtcblx0fVxuXG5cdCYuY29udGFpbiB7XG5cdFx0PiBkaXYge1xuXHRcdFx0cGFkZGluZy1yaWdodDogdmFyKC0tZ2FwLXgpO1xuXHRcdH1cblx0fVxuXG5cdCZbZGF0YS1iZWhhdmlvdXI9XCJzdGlja3lcIl0ge1xuXHRcdC0tc3RpY2t5LXNwYWNpbmc6IDA7XG5cblx0XHQmLmNvbnRhaW4ge1xuXHRcdFx0LS1zdGlja3ktc3BhY2luZzogdmFyKC0tZ2FwLXkpO1xuXHRcdH1cblxuXHRcdD4gZGl2IHtcblx0XHRcdHBvc2l0aW9uOiBzdGlja3k7XG5cdFx0XHR0b3A6IHZhcigtLXN0aWNreS1zcGFjaW5nKTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVhay1pbignbGFyZ2UnKSB7XG5cdFx0XHQ+IGRpdiB7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cblx0QGluY2x1ZGUgYnJlYWstaW4oJ2xhcmdlJykge1xuXHRcdCY6bm90KFtkYXRhLWJlaGF2aW91cj1cImZvbGRvdXRcIl0pIHtcblx0XHRcdC0tc2lkZWJhci1tYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHQtLXNpZGViYXItd2lkdGg6IDEwMCU7XG5cdFx0XHRcblx0XHRcdD4gZGl2IHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1nYXAteSkgKiAyKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLmNvbnRhaW4ge1xuXHRcdFx0PiBkaXYge1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cblx0JltkYXRhLWJlaGF2aW91cj1cImZvbGRvdXRcIl0ge1xuXHRcdHotaW5kZXg6ICR6LWluZGV4LXNpZGUtYmFyO1xuXHRcdHRyYW5zaXRpb246IG1heC13aWR0aCAwLjdzICRlYXNlLWluLW91dCwgdHJhbnNmb3JtICR0cmFuc2l0aW9uLXNpZGViYXItb3BlbiwgdG9wICR0cmFuc2l0aW9uLXNlYXJjaC1vcGVuLCBvcGFjaXR5ICR0cmFuc2l0aW9uO1xuXG5cdFx0PiBkaXYge1xuXHRcdFx0cG9zaXRpb246IHN0aWNreTtcblx0XHRcdHRvcDogMDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVhay1pbignbGFyZ2UnKSB7XG5cdFx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcblx0XHRcdC8vIGhlaWdodDogY2FsYygxMDAlICsgdmFyKC0tZ2FwLXkpKTtcblx0XHRcdC8vIEN1c3RvbSBwcm9wcyBkaWRuJ3Qgd29yayBmb3Igc29tZSByZWFzb24uXG5cdFx0XHQvLyBJZGVhbGx5IEkgd291bGQgaGF2ZSBsaWtlZCB0byBqdXN0IHNldCAtLXNpZGViYXItd2lkdGggdG8gdGhpcyB2YWx1ZS5cblx0XHRcdHdpZHRoOiBtaW4oY2FsYygxMDB2dyksIDQwMHB4KTtcblx0XHRcdG1heC13aWR0aDogbWluKGNhbGMoMTAwdncpLCA0MDBweCk7XG5cdFxuXHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuXHRcdFx0fVxuXHRcblx0XHRcdD4gZGl2IHtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrLWluKCdzbWFsbC1tZWRpdW0nKSB7XG5cdFx0XHQub3Blbi10cmlnZ2VyICB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudCB9XG5cdFx0XHQuY2xvc2UtdHJpZ2dlciB7IGRpc3BsYXk6IGJsb2NrIH1cblx0XHR9XG5cdH1cblxufSIsIkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG5wYWdlLWJhY2tncm91bmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMCk7XG5cbiAgYmFja2dyb3VuZDogdmFyKC0tdGhlbWUtcGFnZS1iYWNrZ3JvdW5kKTtcbiAgei1pbmRleDogJHotaW5kZXgtcGFnZS1iYWNrZ3JvdW5kO1xuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRoZW1lLWNvbnRlbnQtYmFja2dyb3VuZCk7XG4gICAgei1pbmRleDogJHotaW5kZXgtcGFnZS1iYWNrZ3JvdW5kICsgMTtcblxuICAgIEBpbmNsdWRlIGJyZWFrLW91dCgnc21hbGwtbWVkaXVtJykge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogY2FsYyh2YXIoLS1uYXZpZ2F0aW9uLWJhci13aWR0aCkpO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLW5hdmlnYXRpb24tYmFyLXdpZHRoKSk7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgdmlkZW97XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgb3BhY2l0eTogMC4zO1xuICB9XG5cbiAgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgIC8vICYuZGVmYXVsdCB7IG9iamVjdC1wb3NpdGlvbjogMHB4IDIxdm1pbiB9XG5cbiAgICAmLmxvZ28ge1xuICAgICAgb3BhY2l0eTogMC4wMztcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHRyYW5zcGFyZW50IDQwJSwgIzEyMTUyQiAxMDAlKTtcbiAgICAgIHotaW5kZXg6ICR6LWluZGV4LXBhZ2UtYmFja2dyb3VuZCAtMTtcbiAgICB9XG4gIH1cbn0iLCJAdXNlICdfbW9kdWxlcycgYXMgKjtcblxuYm9keTpub3QoI2hvbWUpIHtcbiAgLmNvbnRlbnQtd3JhcHBlciB7XG4gICAgaGVhZGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAyMDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWdhcC15KTtcbiAgICAgIFxuICAgICAgJjpub3QoLmhhcy1zdWJoZWFkaW5nKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1nYXAteSkpO1xuICAgICAgfVxuXG4gICAgICAmLmhhcy1zdWJoZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLXRvcDogY2FsYygtMS44NSAqIHZhcigtLWdhcC15KSk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrLWluKHNtYWxsLW1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLXkpO1xuICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tZ2FwLXkpKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5ib2R5I2hvbWUuY29tcG9uZW50cy1ob21le1xuICAuY29udGVudC13cmFwcGVye1xuICAgIGhlYWRlcntcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgICAgZ3JpZC1nYXA6ICRnYXA7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXAteSk7XG5cbiAgICAgID4gaDEsIHB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMztcbiAgICAgICBcbiAgICAgIH1cblxuICAgICAgaDF7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiA0MDBweCl7XG4gICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgIGdyaWQtcm93OiAyXG4gICAgICB9XG4gICAgICBpbWd7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgJiArIG1haW57XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgICBAbWVkaWEobWluLXdpZHRoOiA3NjhweCl7XG4gICAgICAgIGdyaWQtZ2FwOiAwO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbi1tYXgoMjAwcHggLDI1JSkpO1xuXG4gICAgICAgIHB7bWFyZ2luLXRvcDogMDt9XG5cbiAgICAgICAgaW1ne1xuICAgICAgICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWJvdXQtdXMtYmxvY2t7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTIwZGVnLCAjMTAxMjRkIDIwJSwgIzEzMWY2YiA4MCUpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgPiBkaXY6bGFzdC1vZi10eXBle1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNzVweDtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxMjVweCwgMWZyKSk7XG4gICAgICB9XG5cbiAgICAgID4gZGl2e1xuICAgICAgICAmOmZpcnN0LW9mLXR5cGV7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBwYWRkaW5nOiAkZ2FwMjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICAgICAgICAgIGdhcDogMTZweDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1vZi10eXBle1xuICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICBncmlkLWdhcDogJGdhcDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogJGdhcDtcbiAgICAgICAgICA+IGRpdntcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRnYXA7XG4gICAgICAgICAgICBnYXA6JGdhcDsgXG4gICAgICAgICAgICBzdmd7XG4gICAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgICAmLndpcmUtZWFydGgge1xuICAgICAgICAgICAgICAgIHdpZHRoOjYwJTsgXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbToxZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHB7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICAgIGp1c3RpZnktc2VsZjogYmFzZWxpbmU7XG4gICAgICAgICAgICAgIC8vIG1hcmdpbi10b3A6YXV0bztcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW1pbjtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICA+IGEge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnQtYmxvY2suY2FsbFRvQWN0aW9uIHtcbiAgICAgIGJhY2tncm91bmQ6ICRyZXZlcnNlLWdyYWRpZW50O1xuICAgICAgcGFkZGluZzogJGdhcDIgMCAwICRnYXAyO1xuICAgIFxuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBcbiAgICAgIC5jYWxsLXRvLWFjdGlvbi1oZWFkaW5nLCAuY2FsbC10by1hY3Rpb24tc3ViaGVhZGluZyB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgXG4gICAgICAuY2FsbC10by1hY3Rpb24taGVhZGluZyB7XG4gICAgICAgIC0taGVhZGluZy1jb2xvdXI6ICN7JHdoaXRlfTtcbiAgICAgICAgQGluY2x1ZGUgaGVhZGluZy1oMjtcbiAgICAgICAgLy8gZm9udC1zaXplOiAkZm9udC1zaXplLWgzO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ2FwMjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdhcDI7XG4gICAgICB9XG4gICAgICAuY2FsbC10by1hY3Rpb24tc3ViaGVhZGluZyB7XG4gICAgICAgIC0taGVhZGluZy1jb2xvdXI6ICN7JHJlZH07XG4gICAgICAgIEBpbmNsdWRlIGhlYWRpbmctaDM7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRnYXA7XG4gICAgICAgIC8vIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNDtcbiAgICAgIH1cbiAgICAgIC5jYWxsLXRvLWFjdGlvbi1idXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAkZ2FwO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGdhcDM7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2Nyb2xsLWJhcntcbiAgICAgIG1heC13aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6NzY4cHgpIHtcblxuICAgICAgLmFib3V0LXVzLWJsb2Nre1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdW5zZXQ7O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICA+IGRpdntcbiAgICAgICAgICAmOmZpcnN0LW9mLXR5cGV7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDM1JTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRzcGFjZXIyO1xuICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDEwMCUsIDAlIDAlLCAxMDAlIDAlLCA3NSUgMTAwJSk7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bGFzdC1vZi10eXBle1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTI1cHgsIDFmcikpO1xuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlcjtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNSU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk4MXB4KSBhbmQgKG1heC13aWR0aDogMTM5OXB4KSB7XG4gICAgICAuYWJvdXQtdXMtYmxvY2sge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgJjpmaXJzdC1vZi10eXBle1xuICAgICAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogdW5zZXQ7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bGFzdC1vZi10eXBle1xuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlcjtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOjEyMDFweCkge1xuICAgICAgaGVhZGVyLCBzY3JvbGwtYmFyLCAuYWJvdXQtdXMtYmxvY2ssIC5jb250ZW50LWJsb2NrLmNhbGxUb0FjdGlvbiwgLm1hcmtldC1zZWN0b3JzXFw6bGlzdCB7XG4gICAgICAgIG1heC13aWR0aDogMTIwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlICdfbW9kdWxlcycgYXMgKjtcblxuZm9vdGVyIHtcbiAgICBwb3NpdGlvbjpzdGlja3k7XG4gICAgdG9wOjEwMGR2aDtcbiAgICBvcmRlcjo5OTtcbiAgICBwYWRkaW5nLWJvdHRvbTokc3BhY2VyOyBcbiAgICBncmlkLWNvbHVtbjogdmFyKC0tY29sdW1uLWNvbnRlbnQpO1xuICAgIHotaW5kZXg6MTAwMDsgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6MTIwMXB4KSB7XG4gICAgICAgIG1heC13aWR0aDogMTIwMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4jaG9tZSBmb290ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6aW5pdGlhbDtcbiAgICAgICAgZ3JpZC1yb3c6IC0xO1xufSIsIkB1c2UgJ21vZHVsZXMnIGFzICo7XG5cbmNvbnRlbnQtYmxvY2tzIHtcblxuICAvLyAuLi4gQ29sdW1uIGxheW91dFxuXG4gICRjb2x1bW4tY29uZmlnOiAoXG4gICAgJzInIDogKFxuICAgICAgNzY4IDogMixcbiAgICAgIDk3OTogMSxcbiAgICAgIDEyMDA6IDIsXG4gICAgICAxNDAwOiAxLCAvLyAuLi4gVE9ETzogY2hlY2sgdGhpcyBkb2Vzbid0IHJ1aW4gcGFnZXMgd2l0aG91dCBzaWRlYmFyIGNvbXBvbmVudHNcbiAgICAgIDE3OTk6IDJcbiAgICApXG4gICk7XG5cbiAgW2RhdGEtY29sdW1uc10ge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KHZhcigtLWNvbHVtbnMsIDEpLCAxZnIpO1xuICAgIGdyaWQtZ2FwOiAkZ2FwMjtcbiAgfVxuXG4gIEBlYWNoICRjb2x1bW4tbnVtYmVyLCAkbWFwIGluICRjb2x1bW4tY29uZmlnIHtcbiAgICBbZGF0YS1jb2x1bW5zPVwiI3skY29sdW1uLW51bWJlcn1cIl0ge1xuXG4gICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnQtY29sdW1ucyBpbiAkbWFwIHtcblxuICAgICAgICBAaW5jbHVkZSBicmVhay1vdXQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAtLWNvbHVtbnMgOiAjeyRicmVha3BvaW50LWNvbHVtbnN9O1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgIH1cbiAgfVxufSIsIkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG5zZWFyY2gtZWxlbWVudHtcbiAgLnNlYXJjaC1pbnB1dHtcbiAgICBzdmd7XG4gICAgICBoZWlnaHQ6IDMycHg7XG4gICAgfVxuICB9XG59IiwiQHVzZSAnX21vZHVsZXMnIGFzICo7XG5cbm1vZGFsLXdyYXBwZXIge1xuXG4gIC0td3JhcHBlci1iYWNrZ3JvdW5kLWNvbG91ciAgIDogI3tyZ2JhKCR3aGl0ZSwgMC45NSl9O1xuICAtLW1vZGFsLWNsb3NlLWNvbG91ciAgICAgICAgICA6ICRibGFjaztcbiAgLS1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIgOiB3aGl0ZTtcblxuICAtLW1pbi13aWR0aDozMDBweDtcbiAgLS1tYXgtd2lkdGg6I3skYnJlYWstbWVkaXVtfTtcbiAgLS13aWR0aDpjbGFtcCh2YXIoLS1taW4td2lkdGgpLCA5MHZ3LCBmaXQtY29udGVudCk7XG5cbiAgLS1taW4taGVpZ2h0OjYwMHB4O1xuICAtLW1heC1oZWlnaHQ6Y2FsYygxMDB2aCAtICN7JGd1dHRlcjJ9KTtcbiAgXG4gIC0taGVpZ2h0OmNsYW1wKHZhcigtLW1pbi1oZWlnaHQpLCA5MHZ3LCBmaXQtY29udGVudCk7XG5cbiAgQHN1cHBvcnRzICggLS12Oi13ZWJraXQtZmlsbC1hdmFpbGFibGUgKSB7XG4gICAgLS1tYXgtaGVpZ2h0Oi13ZWJraXQtZmlsbC1hdmFpbGFibGU7XG4gIH1cblxuICAtLWNsb3NlLWJ1dHRvbi1zaXplIDogMzBweDsgXG4gIC0tbmF2LWJ1dHRvbi1zaXplIDogNDBweDsgXG5cbiAgcG9zaXRpb246Zml4ZWQ7XG4gIGluc2V0OjA7XG4gIGhlaWdodDoxMDB2aDsgXG4gIHdpZHRoOjEwMCU7IFxuICBiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXdyYXBwZXItYmFja2dyb3VuZC1jb2xvdXIpO1xuICB6LWluZGV4OiR6LWluZGV4LW1vZGFsO1xuICBkaXNwbGF5OmZsZXg7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzICRlYXNlLWluLW91dDtcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcblxuICAmLmxvYWRpbmcgeyBcbiAgICBvcGFjaXR5OjA7IFxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyAkZWFzZS1pbi1vdXQgMC4zcztcbiAgICBtb2RhbC1jb250YWluZXIge1xuICAgICAgb3BhY2l0eTowOyBcbiAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKDJ2aCk7IFxuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzICRlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuM3MgJGVhc2UtaW4tcXVhcnQ7XG4gICAgfVxuICB9XG5cbiAgYnV0dG9uLmNsb3NlIHtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0b3A6JGd1dHRlcjsgXG4gICAgcmlnaHQ6JGd1dHRlcjsgXG4gICAgd2lkdGg6dmFyKC0tY2xvc2UtYnV0dG9uLXNpemUpOyBcbiAgICBoZWlnaHQ6dmFyKC0tY2xvc2UtYnV0dG9uLXNpemUpOyBcbiAgICBzdmcgeyBcbiAgICAgIC8vIGJvcmRlcjoycHggc29saWQgdmFyKC0tc2Vjb25kYXJ5LCAjeyRyZWR9KTtcbiAgICAgIC8vIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGNpcmNsZSwgcGF0aCB7IHRyYW5zaXRpb246MC4zcyAkZWFzZS1pbi1vdXQ7IH1cbiAgICAgIGNvbG9yOiB2YXIoLS1tb2RhbC1jbG9zZS1jb2xvdXIsICN7JHJlZH0pO1xuICAgIH1cbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICBzdmcgeyBcbiAgICAgICAgLS1maWxsOndoaXRlO1xuICAgICAgICAtLXN0cm9rZTp2YXIoLS1zZWNvbmRhcnksICN7JHJlZH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGJ1dHRvbi5uYXZpZ2F0aW9uIHtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB3aWR0aDp2YXIoLS1uYXYtYnV0dG9uLXNpemUpOyBcbiAgICBoZWlnaHQ6dmFyKC0tbmF2LWJ1dHRvbi1zaXplKTsgXG4gICAgdG9wOmNhbGMoNTAlIC0gKHZhcigtLW5hdi1idXR0b24tc2l6ZSkgLyAyKSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zZWNvbmRhcnksICN7JHJlZH0pO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6MnB4IHNvbGlkIHZhcigtLXNlY29uZGFyeSwgI3skcmVkfSk7XG4gICAgY29sb3I6d2hpdGU7IFxuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBwbGFjZS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOmNvbG9yICR0cmFuc2l0aW9uLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLCB0cmFuc2Zvcm0gMC4ycyAkZWFzZS1vdXQtYmFjaztcbiAgICAmLnByZXZpb3VzIHsgbGVmdCA6ICRndXR0ZXI7IH1cbiAgICAmLm5leHQgeyByaWdodCA6ICRndXR0ZXI7IH1cbiAgICBzdmcgeyBcbiAgICAgIHdpZHRoOjUwJTtcbiAgICAgIGhlaWdodDo1MCU7IFxuICAgIH1cbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICBjb2xvcjp2YXIoLS1zZWNvbmRhcnksICN7JHJlZH0pO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbm1vZGFsLWNvbnRhaW5lciB7XG5cbiAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyAkZWFzZS1pbi1vdXQgMC4zcywgdHJhbnNmb3JtIDAuNXMgJGVhc2Utb3V0LXF1YXJ0IDAuM3M7XG4gIHdpZHRoOnZhcigtLXdpZHRoKTtcbiAgaGVpZ2h0OnZhcigtLWhlaWdodCk7XG4gIG1heC1oZWlnaHQ6dmFyKC0tbWF4LWhlaWdodCk7XG4gIG1heC13aWR0aDp2YXIoLS1tYXgtd2lkdGgpO1xuICBib3JkZXI6MXB4IHNvbGlkICRncmV5NDsgXG4gIGJvcmRlci1yYWRpdXM6JGJvcmRlci1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6dmFyKC0tY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW46JGd1dHRlcjtcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcblxuICBAc3VwcG9ydHMgbm90ICggd2lkdGg6Y2xhbXAoMXB4LCA1dncsIDEwcHgpKSB7XG5cbiAgICAtLXdpZHRoIDogNjB2dztcbiAgICBtYXgtd2lkdGg6dmFyKC0tbWF4LXdpZHRoKTtcbiAgICBtaW4td2lkdGg6dmFyKC0tbWluLXdpZHRoKTtcblxuICAgIC0taGVpZ2h0IDogODB2dztcbiAgICBtYXgtaGVpZ2h0OnZhcigtLW1heC1oZWlnaHQpO1xuICAgIG1pbi1oZWlnaHQ6dmFyKC0tbWluLWhlaWdodCk7XG4gIH1cblxuICAmOmVtcHR5IHtcbiAgICB3aWR0aDpjYWxjKHZhcigtLW1heC13aWR0aCkgLyAyKTtcbiAgICBoZWlnaHQ6Y2FsYyh2YXIoLS1tYXgtaGVpZ2h0KSAvIDIpO1xuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgbG9hZGVyKDIwcHgpO1xuICAgICAgQGluY2x1ZGUgbG9hZGVyLWFuaW1hdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gID4gYnV0dG9uLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3JkZXI6LTE7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgdG9wOmluaXRpYWw7XG4gICAgcmlnaHQ6aW5pdGlhbDtcbiAgICBtYXJnaW4tdG9wOmNhbGMoKC0xICogdmFyKC0tY2xvc2UtYnV0dG9uLXNpemUpKSAvIDIpO1xuICAgIG1hcmdpbi1ib3R0b206Y2FsYygoLTEgKiB2YXIoLS1jbG9zZS1idXR0b24tc2l6ZSkpIC8gMik7XG4gICAgbWFyZ2luLXJpZ2h0OmNhbGMoKC0xICogdmFyKC0tY2xvc2UtYnV0dG9uLXNpemUpKSAvIDIpO1xuICB9XG5cbn1cblxubW9kYWwtY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuICB3aWR0aDppbmhlcml0O1xuICBoZWlnaHQ6aW5oZXJpdDtcbiAgbWF4LWhlaWdodDppbmhlcml0O1xuICBtYXgtd2lkdGg6aW5oZXJpdDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBwYWRkaW5nOiRndXR0ZXI7XG4gID4gKiB7IG1heC13aWR0aDoxMDAlOyB9XG59XG5cbm1vZGFsLXdyYXBwZXJbZGF0YS10eXBlPVwiaW1hZ2VcIl0gLmltYWdlIHsgXG4gIG1heC1oZWlnaHQ6Y2FsYyh2YXIoLS1tYXgtaGVpZ2h0KSAtICN7JGd1dHRlcjZ9KTtcbiAgYm9yZGVyOm5vbmU7XG4gIGltZyB7XG4gICAgbWF4LWhlaWdodDpjYWxjKDEwMHZoIC0gI3skZ3V0dGVyM30gLSAjeyRndXR0ZXI0fSk7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjphdXRvO1xuICB9XG59XG5cbm1vZGFsLXdyYXBwZXJbZGF0YS10eXBlPVwiZGVmYXVsdFwiXSB7XG4gIG1vZGFsLWNvbnRlbnQgPiBpbWcge1xuICAgICZbc3JjKj1cIi5zdmdcIl0geyB3aWR0aDoxMDAlOyBoZWlnaHQ6YXV0bzsgfVxuICB9XG59XG5cbm1vZGFsLXdyYXBwZXJbZGF0YS10eXBlPVwidmlkZW9cIl0ge1xuICAtLXdyYXBwZXItYmFja2dyb3VuZC1jb2xvdXIgOiAje3JnYmEoYmxhY2ssIDAuOTUpfTtcbiAgLS1tb2RhbC1jbG9zZS1jb2xvdXIgICAgICAgIDogI3skd2hpdGV9O1xuICBtb2RhbC1jb250YWluZXIgeyBcbiAgICBAaW5jbHVkZSB2aWRlby1jb250YWluZXIoKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOndoaXRlO1xuICAgIHBhZGRpbmc6JGdhcDsgXG4gICAgbW9kYWwtY29udGVudCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cblxuLm9wZW4taW4tbW9kYWwge1xuICBjdXJzb3I6cG9pbnRlcjtcbiAgdHJhbnNpdGlvbjpvcGFjaXR5ICR0cmFuc2l0aW9uO1xuICAmOmFmdGVyIHsgQGluY2x1ZGUgbG9hZGVyKDIwcHgsIHdoaXRlKTsgfVxuICAmLmxvYWRpbmcge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICY6YWZ0ZXIgeyBAaW5jbHVkZSBsb2FkZXItYW5pbWF0aW9uKCk7IH1cbiAgfVxufVxuXG5pbWcub3Blbi1pbi1tb2RhbCwgLm9wZW4taW4tbW9kYWwgaW1nIHsgXG4gIC13ZWJraXQtdXNlci1kcmFnOiBub25lO1xuICAta2h0bWwtdXNlci1kcmFnOiBub25lO1xuICAtbW96LXVzZXItZHJhZzogbm9uZTtcbiAgLW8tdXNlci1kcmFnOiBub25lO1xuICB1c2VyLWRyYWc6IG5vbmU7XG59XG4iLCJAdXNlICcuLi9fdmFyaWFibGVzJyBhcyAqO1xuQHVzZSAnbW9kdWxlcy9jb2xvdXIvZW5jb2RlJyBhcyBjb2xvdXI7XG5cblxuQG1peGluIGxvYWRlcigkc2l6ZSA6IDEycHgsICRib3JkZXItdGhpY2tuZXNzIDogMnB4LCAkY29sb3VyIDogJGdyZXkpIHtcbiAgLS1zaXplIDogI3skc2l6ZX07IFxuICBjb250ZW50OlwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOmNhbGMoNTAlIC0gKHZhcigtLXNpemUpIC8gMikpOyBcbiAgbGVmdDpjYWxjKDUwJSAtICh2YXIoLS1zaXplKSAvIDIpKTsgXG4gIG9wYWNpdHk6IDA7XG4gIHdpZHRoOnZhcigtLXNpemUpOyBcbiAgaGVpZ2h0OnZhcigtLXNpemUpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlcjokYm9yZGVyLXRoaWNrbmVzcyBzb2xpZCB2YXIoLS1sb2FkZXItY29sb3VyLCAkY29sb3VyKTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICBhbmltYXRpb24tbmFtZTogbG9hZGVyLXJvdGF0ZTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzICRlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgQGtleWZyYW1lcyBsb2FkZXItcm90YXRlIHtcbiAgICBmcm9tIHt0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgdG8ge3RyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIH1cbiAgQGNvbnRlbnQ7XG59XG5cbkBtaXhpbiBsb2FkZXItYW5pbWF0aW9uIHsgXG4gIG9wYWNpdHk6MTsgXG4gIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nO1xuICBAY29udGVudDtcbn0iLCJAdXNlICdfbW9kdWxlcycgYXMgKjtcblxuLmJhY2stdG8tdG9wIHtcbiAgLS1oaWRlLW9mZnNldCAgIDogLTEwcHg7XG4gIC0tc3ZnLXdpZHRoICAgICA6IDE4cHg7XG4gIC0tZWRnZS1kaXN0YW5jZSA6IDE1cHg7XG4gIC0tcmlnaHQtb2Zmc2V0ICA6IDBweDtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogY2FsYyh2YXIoLS1yaWdodC1vZmZzZXQpICsgdmFyKC0tZWRnZS1kaXN0YW5jZSkpO1xuICBib3R0b206IGNhbGModmFyKC0tZWRnZS1kaXN0YW5jZSkgKyB2YXIoLS1oaWRlLW9mZnNldCkpO1xuICBAaW5jbHVkZSBzcXVhcmUoY2FsYyh2YXIoLS1zdmctd2lkdGgpICsgMTJweCkpO1xuICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHotaW5kZXg6ICR6LWluZGV4LW1haW4rMTtcbiAgLy8gb3BhY2l0eTogMDtcbiAgLy8gcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyAkdHJhbnNpdGlvbiwgdHJhbnNmb3JtIDAuMnMgJHRyYW5zaXRpb247XG5cbiAgc3ZnIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMnB4O1xuICAgIEBpbmNsdWRlIHNxdWFyZSh2YXIoLS1zdmctd2lkdGgpKTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgJjpub3QoLmhpZGUpIHsgICAgXG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkodmFyKC0taGlkZS1vZmZzZXQpKTtcbiAgfVxuXG4gIGRpc3BsYXk6IG5vbmU7XG5cbn1cblxuQGluY2x1ZGUgYnJlYWstb3V0KGxhcmdlKSB7XG4gIHNpZGUtYmFyIH4gLmJhY2stdG8tdG9wIHtcbiAgICAtLXJpZ2h0LW9mZnNldDogdmFyKC0tc2lkZWJhci13aWR0aCk7XG4gIH1cbn0iLCJAdXNlICdfbW9kdWxlcycgYXMgKjtcblxubG9nby1iYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogJGd1dHRlcjsgXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDokc3BhY2VyOyBcbiAgICBcbiAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDE0MHB4O1xuICAgICAgICBtYXgtaGVpZ2h0OiA5MHB4O1xuICAgICAgICBtaW4taGVpZ2h0OjYwcHg7IFxuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVhay1vdXQoODAwcHggKSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG59XG4iXX0= */