@charset "UTF-8";
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;
}

body {
  width: 100vw;
}
@media (min-width: 321px) {
  body {
    overflow-x: hidden;
  }
}

:where(*) {
  scroll-margin-top: var(--navigation-height, 2rem);
}

.async-hide {
  opacity: 0 !important;
}

main:empty {
  display: none;
}

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

*:has(> .container-inline) {
  container-type: inline-size;
}

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, );
}

details {
  outline: none;
}

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

header .button.brochure {
  --font-colour: #131f6b;
  --background-colour: transparent;
  --padding: 5px 0px;
  --icon-size: 32px;
  --border-colour: transparent;
  --border-radius: 0;
  --hover-font-colour: #df3035;
  --hover-border-colour: transparent;
  --hover-background-colour: transparent;
  flex-direction: row-reverse;
  text-transform: uppercase;
}
header .button.brochure svg {
  margin-right: calc(var(--gap) * 0.5);
  margin-left: 0;
  fill: #df3035;
}

.button {
  --font-colour: white;
  --background-colour: var(--primary);
  --border-colour: transparent;
  --padding: 8px 20px;
  --font-size: 16px;
  --border-radius: 50px;
  --hover-font-colour: var(--primary);
  --hover-background-colour: white;
  --hover-border-colour: initial;
  --hover-padding: var(--padding);
  --hover-font-size: var(--font-size);
  --hover-border-radius: var(--border-radius);
  --icon-size: 1.1em;
  cursor: pointer;
  display: inline-flex;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  border-style: solid;
  border-width: 1px;
  font-weight: bold;
  place-content: center;
  place-items: center;
  align-self: flex-start;
  text-transform: uppercase;
  color: var(--font-colour);
  background-color: var(--background-colour);
  border-color: var(--border-colour);
  padding: var(--padding);
  font-size: var(--font-size);
  border-radius: var(--border-radius);
  transition: background-color var(--transition-duration) var(--transition-ease), color var(--transition-duration) var(--transition-ease), border var(--transition-duration) var(--transition-ease);
}
.button svg {
  width: var(--icon-size);
  height: var(--icon-size);
  order: 3;
  fill: var(--fill, currentColor);
  margin-left: calc(var(--icon-size) / 2);
  transition: fill var(--transition-duration) var(--transition-ease), stroke var(--transition-duration) var(--transition-ease);
}
.button svg[class*=arrow] {
  --icon-size: 0.9em;
}
.button svg.arrow-left {
  margin-right: calc(var(--icon-size) / 2);
  margin-left: 0 !important;
  order: 1;
}
.button > span {
  order: 2;
  text-wrap: balance;
}
.button.small {
  --padding: 6px 18px;
  --font-size: 12px;
}
.button.small svg {
  margin-left: calc(var(--gap) * 0.5);
}
.button.small svg.arrow-left {
  margin-right: calc(var(--gap) * 0.5);
}
.button.large {
  --padding: 12px 24px;
  --font-size: 24px;
}
.button.outline {
  --background-colour: transparent;
  --font-colour: #131f6b;
  --border-colour: #131f6b;
  --hover-background-colour: #131f6b;
  --hover-font-colour: #131f6b;
  --hover-border-colour: transparent;
}
.button.blue {
  --background-colour: #131f6b;
  --font-colour: white;
  --hover-background-colour: white;
  --hover-font-colour: #131f6b;
}
.button.blue.outline {
  --background-colour: transparent;
  --font-colour: #131f6b;
  --border-colour: #131f6b;
  --hover-background-colour: #131f6b;
  --hover-font-colour: #FFFFFF;
  --hover-border-colour: transparent;
}
.button.red {
  --background-colour: #df3035;
  --font-colour: white;
  --hover-background-colour: white;
  --hover-font-colour: #df3035;
}
.button.red.outline {
  --background-colour: transparent;
  --font-colour: #df3035;
  --border-colour: #df3035;
  --hover-background-colour: #df3035;
  --hover-font-colour: #FFFFFF;
  --hover-border-colour: transparent;
}
.button.green {
  --background-colour: #76bb28;
  --font-colour: white;
  --hover-background-colour: white;
  --hover-font-colour: #76bb28;
}
.button.green.outline {
  --background-colour: transparent;
  --font-colour: #76bb28;
  --border-colour: #76bb28;
  --hover-background-colour: #76bb28;
  --hover-font-colour: #FFFFFF;
  --hover-border-colour: transparent;
}
.button.white {
  --background-colour: #FFFFFF;
  --font-colour: var(--primary, #131f6b);
  --hover-background-colour: var(--primary, #131f6b);
  --hover-font-colour: #FFFFFF;
}
.button.white.outline {
  --background-colour: transparent;
  --font-colour: #FFFFFF;
  --border-colour: #FFFFFF;
  --hover-background-colour: #FFFFFF;
  --hover-font-colour: var(--primary, #131f6b);
  --hover-border-colour: transparent;
}
.button.disabled {
  pointer-events: none;
  --background-colour: #dcdcdc;
  --font-colour: white;
  --hover-background-colour: white;
  --hover-font-colour: #dcdcdc;
}
.button.disabled.outline {
  --background-colour: transparent;
  --font-colour: #dcdcdc;
  --border-colour: #dcdcdc;
  --hover-background-colour: #dcdcdc;
  --hover-font-colour: #dcdcdc;
  --hover-border-colour: transparent;
}
@media (hover: hover) {
  .button:hover {
    color: var(--hover-font-colour);
    background-color: var(--hover-background-colour);
    border-color: var(--hover-border-colour);
    border-radius: var(--hover-border-radius);
    padding: var(--hover-padding);
    font-size: var(--hover-font-size);
  }
}
.button.red svg.tick, .button.red svg.download {
  --stroke: #df3035;
}
.button.blue svg.tick, .button.blue svg.download {
  --stroke: #131f6b;
}
.button.outline svg.tick, .button.outline svg.download {
  --stroke: #FFFFFF;
}
@media (hover: hover) {
  .button:hover.red svg.tick,
  .button:hover.red svg.download {
    --stroke: #FFFFFF;
  }
  .button:hover.red.outline svg.tick, .button:hover.red.outline svg.download {
    --stroke: #df3035;
  }
  .button:hover.blue svg.tick,
  .button:hover.blue svg.download {
    --stroke: #FFFFFF;
  }
  .button:hover.blue.outline svg.tick, .button:hover.blue.outline svg.download {
    --stroke: #131f6b;
  }
  .button:hover.white svg.tick, .button:hover.white svg.download {
    --stroke: #131f6b;
  }
}

button-container {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  position: relative;
  gap: calc(var(--gap) * 0.5);
}
button-container .button {
  white-space: nowrap;
}

.sticky {
  position: sticky;
  top: 0px;
}

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

#holding-page header svg {
  max-width: 400px;
}
@media (max-width: 980px) {
  #holding-page {
    display: flex;
    flex-direction: column;
    padding: var(--gutter1);
  }
}

body#error-404 header h2 {
  max-width: 900px;
}
body#error-404 search-bar {
  margin-bottom: var(--spacer0);
}
body#error-404 search-bar input[type=search] {
  border: 1px solid #131f6b;
}

body > .idle-dialog {
  position: sticky;
  box-shadow: initial !important;
  display: flex;
  place-items: center;
  place-content: center;
  bottom: var(--gutter1-);
  z-index: 2;
  /* Start hidden below viewport */
  transform: translateY(100%);
  /* Animation with delayed start */
  animation: slide-in-idle-dialog both;
  animation-timeline: scroll();
  animation-range: calc(var(--navigation-height, 0px)) calc(var(--navigation-height, 0px) + clamp(2rem, 5vh, 3rem) * 2);
}
body > .idle-dialog .button {
  outline: 1px solid rgba(255, 255, 255, 0.5);
}
@keyframes slide-in-idle-dialog {
  to {
    transform: translateY(0rem);
  }
}
#contact-modal {
  --dialog-content-background-colour: #f4f4f4;
}
#contact-modal form .submit-row {
  margin-top: var(--gutter1);
}

body > .back-to-top {
  width: 40px;
  height: 40px;
  position: fixed;
  bottom: var(--gutter1);
  right: var(--gutter1);
  background: var(--back-to-top-background, #292b68);
  border: 2px solid white;
  border-radius: 50%;
  z-index: 9999;
  opacity: 0;
  display: flex;
  pointer-events: none;
  transition: opacity 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, ), bottom var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  place-content: center;
  place-items: center;
}
body > .back-to-top svg {
  position: relative;
  color: white;
  width: 50%;
  top: -4%;
}
@media (hover: hover) {
  body > .back-to-top:hover {
    background-color: var(--secondary-light, #df3035);
  }
}

footer#footer.in-view ~ .back-to-top {
  bottom: 120px;
}

navigation-bar:not(.in-view) ~ .back-to-top {
  opacity: 1;
  pointer-events: all;
}

:root {
  --primary: #131f6b;
  --secondary: #df3035;
  --breakpoint-min: 320px;
  --breakpoint-small: 480px;
  --breakpoint-small-medium: 980px;
  --breakpoint-medium: 1120px;
  --breakpoint-large: 1400px;
  --breakpoint-max: 1680px;
  --font-colour: #6a6a6a;
  --heading-colour: var(--primary, #131f6b);
  --sub-heading-colour: var(--secondary, #df3035);
  --transition-duration: 0.2s;
  --transition-ease: cubic-bezier(0.42, 0, 0.58, 1);
  --transition-delay: ;
  --breadcrumb-height: 90px;
  --anchors-height: 60px;
  --breadcrumb-and-anchors-sticky-underset: -15px;
  --main-max-width: 900px;
  --navigation-height: 143px;
  --sidebar-width: clamp(300px, 30vw, 500px);
  --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));
  --computed-gutter: calc(((100vw - var(--breakpoint-max)) / 2));
}
@supports not (width: clamp(1px, 5vw, 10px)) {
  :root {
    --sidebar-width: 500px;
  }
  @media (max-width: 1400px) {
    :root {
      --sidebar-width: 300px;
    }
  }
}
@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));
  }
}

@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;
}
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.8125em;
  font-size: clamp(2.5em, 5vw, 3.8125em);
  line-height: 1.2;
}

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

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

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

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

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

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: lato, sans-serif;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: var(--heading-colour, var(--font-colour));
  text-wrap: pretty;
}
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;
}

q,
blockquote {
  quotes: "“" "”" "‘" "’";
}
q::before,
blockquote::before {
  content: open-quote;
}
q::after,
blockquote::after {
  content: close-quote;
}

a {
  transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  text-decoration: none;
  text-underline-position: under;
  color: var(--font-colour);
}
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;
}

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

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

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

hr {
  background-color: var(--hr-colour, #dcdcdc);
  margin-top: var(--spacer0);
  margin-bottom: var(--spacer0);
}

.note {
  position: relative;
  display: block;
  background-color: #fff5bf;
  border: 1px solid #ffe13c;
  padding: var(--gutter1);
  border-radius: var(--border-radius, 6px);
}
.note a {
  text-decoration: underline;
  color: #978002;
}
.note::before {
  content: "Please Note";
  text-transform: uppercase;
  position: relative;
  font-size: 10px;
  font-weight: bold;
  color: #978002;
  display: block;
  margin-bottom: calc(var(--gap) * 0.5);
}

body {
  --row-navigation: 1;
  --row-breadcrumbs: 2;
  --row-anchors: 3;
  --row-header: 4;
  --row-main: 5;
  --row-background: 1;
  --row-sidebar: 4 / span 3;
  --row-footer: 100;
  --rows: auto;
  --column-left: 2;
  --column-main: 2 / span 2;
  --column-right: 4;
  --column-full: 2 / -2;
  --column-gutter: minmax(0, 1fr);
  --column-content: minmax(0, calc(1680px - (var(--sidebar-width) * 2) - var(--gutter4)));
  --column-sidebar: var(--sidebar-width);
  --columns: var(--column-gutter) var(--column-sidebar) var(--column-content) var(--column-sidebar) var(--column-gutter);
  display: grid;
  min-width: 320px;
  grid-gap: 0 var(--gutter1);
  grid-template-rows: var(--rows);
  grid-template-columns: var(--columns);
}
body > * {
  grid-column: var(--column-full);
}

navigation-bar {
  z-index: 999;
  grid-row: var(--row-navigation);
}
navigation-bar:not(.in-view) ~ #breadcrumbs-bar,
navigation-bar:not(.in-view) ~ #anchors-bar {
  --anchors-height: 50px;
}

#breadcrumbs-bar {
  z-index: 2;
  grid-row: var(--row-breadcrumbs);
  height: var(--breadcrumb-height);
}
#breadcrumbs-bar.sticky {
  top: var(--breadcrumb-and-anchors-sticky-underset);
}

#anchors-bar {
  z-index: 2;
  grid-row: var(--row-anchors);
  height: var(--anchors-height);
}
#anchors-bar.sticky {
  top: calc(var(--breadcrumb-height) - 1px + var(--breadcrumb-and-anchors-sticky-underset) * 2);
}

.header {
  grid-row: var(--row-header);
  grid-column: var(--column-main);
  max-width: var(--main-max-width);
}

#footer {
  grid-row: var(--row-footer);
}

main {
  grid-row: var(--row-main);
  grid-column: var(--column-main);
  max-width: var(--main-max-width);
  display: flex;
  flex-direction: column;
}
main > *,
main ~ section,
main ~ aside,
main ~ div,
main ~ service-centre-finder,
main ~ markets-summary {
  position: relative;
  padding-top: var(--spacer1);
  padding-bottom: var(--spacer1);
  flex-grow: 1;
}
main ~ div:has(div#truendo_container) {
  padding: 0;
}
main service-centre-finder picture {
  --translateX: 0;
  width: calc(100vw + var(--scrollbar-width, 0px));
  left: var(--gutter1-);
}
@media (min-width: 1681px) {
  main service-centre-finder picture {
    left: calc((-1 * var(--computed-gutter)) - var(--gutter1));
  }
}

side-bar {
  grid-row: var(--row-sidebar);
  grid-column: var(--column-right);
  width: var(--sidebar-width);
  padding-top: var(--spacer1);
  padding-bottom: var(--spacer1);
}
side-bar > div {
  display: grid;
  grid-gap: var(--gutter1) var(--gutter1);
  grid-template-columns: repeat(1, minmax(var(--sidebar-width), 1fr));
}
side-bar > div.sticky {
  top: calc(var(--breadcrumb-height) + var(--anchors-height) + var(--gutter1));
}
side-bar > div > * {
  position: relative;
}
side-bar > div > *.red {
  --background-colour: #df3035;
}
side-bar > div > *.blue {
  --background-colour: #131f6b;
}
side-bar > div > *.grey {
  --background-colour: #f4f4f4;
  --border-colour: #dcdcdc;
}
side-bar > div > *.white {
  --background-colour: #FFFFFF;
  --border-colour: #f4f4f4;
}

aside#support-information .glossary-terms,
tabbed-content[data-style="1"] > nav {
  top: calc(var(--breadcrumb-height) + var(--anchors-height) + var(--gutter1));
}

@media (max-width: 980px) {
  body {
    --columns: var(--column-gutter) var(--column-content) var(--column-gutter);
    --column-main: var(--column-full);
    --column-left: var(--column-full);
    --column-right: var(--column-full);
    --row-sidebar: auto;
  }
  body > * {
    width: 100%;
  }
  body side-bar {
    padding-top: var(--spacer1);
  }
  body side-bar > div {
    grid-gap: var(--spacer1) var(--gutter1);
  }
  body side-bar > div.sticky {
    position: relative;
    top: initial;
  }
}
@media (max-width: 352px) {
  body {
    --sidebar-width: 100%;
  }
}
.themed.red {
  background: #df3035;
}
.themed.red.blowout + .themed.red {
  box-shadow: 0px 1px var(--border-top-colour);
}
.themed.red.blowout + .themed.red.light {
  --border-top-colour: #dcdcdc;
}
.themed.red.blowout + .themed.red.dark {
  --border-top-colour: rgba(255, 255, 255, 0.2);
}
.themed.blue {
  background: #131f6b;
}
.themed.blue.blowout + .themed.blue {
  box-shadow: 0px 1px var(--border-top-colour);
}
.themed.blue.blowout + .themed.blue.light {
  --border-top-colour: #dcdcdc;
}
.themed.blue.blowout + .themed.blue.dark {
  --border-top-colour: rgba(255, 255, 255, 0.2);
}
.themed.grey {
  background: #f4f4f4;
}
.themed.grey.blowout + .themed.grey {
  box-shadow: 0px 1px var(--border-top-colour);
}
.themed.grey.blowout + .themed.grey.light {
  --border-top-colour: #dcdcdc;
}
.themed.grey.blowout + .themed.grey.dark {
  --border-top-colour: rgba(255, 255, 255, 0.2);
}
.themed.white {
  background: #FFFFFF;
}
.themed.white.blowout + .themed.white {
  box-shadow: 0px 1px var(--border-top-colour);
}
.themed.white.blowout + .themed.white.light {
  --border-top-colour: #dcdcdc;
}
.themed.white.blowout + .themed.white.dark {
  --border-top-colour: rgba(255, 255, 255, 0.2);
}
.themed:not(.blowout) {
  padding-left: var(--gutter1);
  padding-right: var(--gutter1);
  margin-bottom: var(--spacer1);
  margin-top: var(--spacer1);
  border-radius: var(--border-radius, 6px);
}
.themed:not(.blowout).white {
  border: 1px solid #f4f4f4;
}
.themed:not(.blowout).white + .blowout.white,
.themed:not(.blowout).white + :not(.themed) {
  margin-top: var(--spacer1-);
}

.blowout:before {
  content: "";
  background-color: inherit;
  z-index: -1;
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 100%;
  transform: translateX(var(--translateX, -50%));
  background: inherit;
}
@media (max-width: 336px) {
  .blowout:before {
    transform: initial;
    left: calc(var(--gap) * -1);
    width: calc(100vw - var(--scrollbar-width, 0px));
  }
}
@media (max-width: 980px) {
  .blowout:before {
    transform: initial;
    left: 0;
    margin-left: var(--gutter1-);
    width: calc(100vw - var(--srollbar-width, 0px));
  }
}
@media (min-width: 981px) {
  body:not(mobile) main .blowout:before {
    --translateX: 0;
    width: calc(100vw + var(--scrollbar-width, 0px));
    left: var(--gutter1-);
    width: calc(100vw + var(--gutter1));
  }
}
@media (min-width: 981px) and (min-width: 1681px) {
  body:not(mobile) main .blowout:before {
    left: calc((-1 * var(--computed-gutter)) - var(--gutter1));
  }
}

body.mobile main .blowout:before {
  --translateX: 0;
  width: calc(100vw + var(--scrollbar-width, 0px));
  left: var(--gutter1-);
  width: calc(100vw + var(--gutter1));
}
@media (min-width: 1681px) {
  body.mobile main .blowout:before {
    left: calc((-1 * var(--computed-gutter)) - var(--gutter1));
  }
}

background-image,
background-video {
  z-index: -1;
  grid-row: var(--row-background);
  grid-column: 1/-1;
}
background-image.behind-header,
background-video.behind-header {
  --row-background: 4;
}

img[data-src],
video[data-src] {
  transition: opacity 0.3s ease-in;
  opacity: 0;
}
img[data-src].loaded,
video[data-src].loaded {
  opacity: 1;
}

.center-all {
  justify-content: center;
  justify-items: center;
  padding-block: var(--spacer2);
  gap: var(--spacer1) !important;
}
.center-all > .text :is(h1, h2, h3, h4, h5, h6) {
  margin-bottom: 0;
  text-align: center;
}
.center-all > .text :is(h1, h2, h3, h4, h5, h6) span {
  color: var(--secondary);
}
.center-all article-list {
  max-width: 1100px;
  width: 100%;
  justify-items: center;
  justify-content: center;
  --article-min-width: 420px !important;
}

main ~ *:not(.themed) + :not(.themed):not(#footer):not(side-bar) {
  box-shadow: 0px -1px var(--border-top-colour, #dcdcdc);
}

main > *.themed.content-block {
  box-shadow: initial;
}

main > *.themed + :not(.themed):not(#footer) {
  margin-top: 0;
  box-shadow: initial;
}

main ~ *.themed + :not(.themed):not(#footer),
body.background-positioned-behind-header main > *:first-child {
  box-shadow: initial;
}

main > *:first-child:not(.themed),
main > *:first-child.white {
  box-shadow: 0px -1px var(--border-top-colour, #dcdcdc);
}

.content-block[style*=background-color],
.content-block[style*=background-color] + :not(.themed):not(#footer) {
  box-shadow: initial !important;
}

main ~ *:not(.themed) + .themed:not(.blowout),
main > *:not(.themed) + .themed:not(.blowout) {
  margin-top: 0;
}

.header ~ main > .themed:not(.blowout):first-child {
  margin-top: var(--spacer1);
}

main > .themed:not(.blowout):last-child {
  margin-bottom: var(--spacer1);
}

main > .themed:not(.blowout) + .blowout {
  margin-top: var(--spacer1);
}

.header ~ main > .themed:not(.blowout) {
  margin-top: 0;
}

main ~ div:has(#CookiebotWidget) {
  padding-top: 0;
  padding-bottom: 0;
}

body:not([data-components*=side-bar]) {
  --main-max-width: auto;
  --column-main: var(--column-full);
}

body:not([data-components*=breadcrumbs-bar]) {
  --row-navigation: 1;
  --row-anchors: 2;
  --row-header: 3;
  --row-main: 4;
}
body:not([data-components*=breadcrumbs-bar]) background-image.full,
body:not([data-components*=breadcrumbs-bar]) background-video.full {
  --row-background: 1 / span 4;
}
body:not([data-components*=breadcrumbs-bar]) background-image.behind-header,
body:not([data-components*=breadcrumbs-bar]) background-video.full {
  --row-background: 3;
}
body:not([data-components*=breadcrumbs-bar]) #anchors-bar.sticky {
  top: 0;
}
@media (min-width: 981px) {
  body:not([data-components*=breadcrumbs-bar]) {
    --row-sidebar: 3 / span 3;
  }
  body:not([data-components*=breadcrumbs-bar]) side-bar div.sticky,
  body:not([data-components*=breadcrumbs-bar]) aside#support-information .glossary-terms,
  body:not([data-components*=breadcrumbs-bar]) tabbed-content[data-style="1"] > nav {
    top: calc(var(--anchors-height) + var(--gutter1));
  }
}

body:not([data-components*=anchors-bar]) {
  --row-navigation: 1;
  --row-breadcrumbs: 2;
  --row-header: 3;
  --row-main: 4;
}
body:not([data-components*=anchors-bar]) background-image.full,
body:not([data-components*=anchors-bar]) background-video.full {
  --row-background: 1 / span 4;
}
body:not([data-components*=anchors-bar]) background-image.behind-header,
body:not([data-components*=anchors-bar]) background-video.behind-header {
  --row-background: 3;
}
body:not([data-components*=anchors-bar]) #breadcrumbs-bar.sticky {
  top: 0;
}
@media (min-width: 981px) {
  body:not([data-components*=anchors-bar]) {
    --row-sidebar: 3 / span 3;
  }
  body:not([data-components*=anchors-bar]) side-bar div.sticky,
  body:not([data-components*=anchors-bar]) aside#support-information .glossary-terms,
  body:not([data-components*=anchors-bar]) tabbed-content[data-style="1"] > nav {
    top: calc(var(--anchors-height) + var(--gutter1));
  }
}

body:not([data-components*=breadcrumbs-bar]):not([data-components*=anchors-bar]) {
  --row-navigation: 1;
  --row-header: 2;
  --row-main: 3;
  --row-background: 1;
}
body:not([data-components*=breadcrumbs-bar]):not([data-components*=anchors-bar]) background-image.full,
body:not([data-components*=breadcrumbs-bar]):not([data-components*=anchors-bar]) background-video.full {
  --row-background: 1 / span 5;
}
body:not([data-components*=breadcrumbs-bar]):not([data-components*=anchors-bar]) background-image.behind-header,
body:not([data-components*=breadcrumbs-bar]):not([data-components*=anchors-bar]) background-video.behind-header {
  --row-background: 2;
}
@media (min-width: 981px) {
  body:not([data-components*=breadcrumbs-bar]):not([data-components*=anchors-bar]) {
    --row-sidebar: 2 / span 3;
  }
  body:not([data-components*=breadcrumbs-bar]):not([data-components*=anchors-bar]) side-bar div.sticky,
  body:not([data-components*=breadcrumbs-bar]):not([data-components*=anchors-bar]) aside#support-information .glossary-terms,
  body:not([data-components*=breadcrumbs-bar]):not([data-components*=anchors-bar]) tabbed-content[data-style="1"] > nav {
    top: var(--gutter1);
  }
}

@media (max-width: 980px) {
  body.rule-last-main-section-is-themed side-bar {
    padding-top: 0;
  }
}

.layout-content-right-sidebar, .layout-content-left-sidebar {
  display: grid;
  grid-gap: var(--gutter1);
  grid-template-columns: 1fr;
}
.layout-content-right-sidebar .left,
.layout-content-right-sidebar .right, .layout-content-left-sidebar .left,
.layout-content-left-sidebar .right {
  grid-column: 1/-1;
  max-width: 100%;
}
.layout-content-right-sidebar .layout-content-right-sidebar, .layout-content-right-sidebar .layout-content-left-sidebar, .layout-content-left-sidebar .layout-content-right-sidebar, .layout-content-left-sidebar .layout-content-left-sidebar {
  --column-content: minmax(0, calc(1680px - (var(--sidebar-width) * 2)));
}

@media (min-width: 981px) {
  body > .layout-content-left-sidebar .left {
    grid-column: 1;
  }
  body > .layout-content-left-sidebar .right {
    grid-column: 2/4;
  }
  body > .layout-content-right-sidebar .left {
    grid-column: 1/3;
    max-width: var(--main-max-width);
  }
  body > .layout-content-right-sidebar .right {
    grid-column: 3;
    padding-left: var(--gutter1);
    padding-right: var(--gutter1);
  }
  body > .layout-content-right-sidebar, body > .layout-content-left-sidebar {
    grid-template-columns: var(--column-sidebar) var(--column-content) var(--column-sidebar);
  }
}
@media (min-width: 1121px) {
  body:not([data-components*=side-bar]) main .layout-content-left-sidebar .left {
    grid-column: 1;
  }
  body:not([data-components*=side-bar]) main .layout-content-left-sidebar .right {
    grid-column: 2/4;
  }
  body:not([data-components*=side-bar]) main .layout-content-right-sidebar .left {
    grid-column: 1/3;
    max-width: var(--main-max-width);
  }
  body:not([data-components*=side-bar]) main .layout-content-right-sidebar .right {
    grid-column: 3;
    padding-left: var(--gutter1);
    padding-right: var(--gutter1);
  }
  body:not([data-components*=side-bar]) main .layout-content-right-sidebar, body:not([data-components*=side-bar]) main .layout-content-left-sidebar {
    grid-template-columns: var(--column-sidebar) var(--column-content) var(--column-sidebar);
  }
}

.content-block > * {
  grid-column: 1/-1;
}
@media (min-width: 701px) {
  .content-block {
    --column-count: 6;
  }
  .content-block .col-1-1 {
    grid-column: 1/span 1;
  }
  .content-block .col-1-2 {
    grid-column: 1/span 2;
  }
  .content-block .col-1-3 {
    grid-column: 1/span 3;
  }
  .content-block .col-1-4 {
    grid-column: 1/span 4;
  }
  .content-block .col-1-5 {
    grid-column: 1/span 5;
  }
  .content-block .col-1-6 {
    grid-column: 1/span 6;
  }
  .content-block .col-2-1 {
    grid-column: 2/span 1;
  }
  .content-block .col-2-2 {
    grid-column: 2/span 2;
  }
  .content-block .col-2-3 {
    grid-column: 2/span 3;
  }
  .content-block .col-2-4 {
    grid-column: 2/span 4;
  }
  .content-block .col-2-5 {
    grid-column: 2/span 5;
  }
  .content-block .col-3-1 {
    grid-column: 3/span 1;
  }
  .content-block .col-3-2 {
    grid-column: 3/span 2;
  }
  .content-block .col-3-3 {
    grid-column: 3/span 3;
  }
  .content-block .col-3-4 {
    grid-column: 3/span 4;
  }
  .content-block .col-4-1 {
    grid-column: 4/span 1;
  }
  .content-block .col-4-2 {
    grid-column: 4/span 2;
  }
  .content-block .col-4-3 {
    grid-column: 4/span 3;
  }
  .content-block .col-5-1 {
    grid-column: 5/span 2;
  }
  .content-block .col-5-2 {
    grid-column: 5/span 2;
  }
  .content-block .col-6-1 {
    grid-column: 6/span 1;
  }
}
@media (min-width: 700px) and (max-width: 1400px) {
  .content-block {
    --column-count: 4;
  }
  .content-block .col-1-3 {
    grid-column: 1/span 2;
  }
  .content-block .col-1-4 {
    grid-column: 1/span 3;
  }
  .content-block .col-1-5 {
    grid-column: 1/span 3;
  }
  .content-block .col-4-3 {
    grid-column: 3/-1;
  }
  .content-block .col-1-6 {
    grid-column: 1/-1;
  }
  .content-block .col-2-3,
  .content-block .col-2-4,
  .content-block .col-2-5 {
    grid-column: 2/-1;
  }
  .content-block .col-3-2,
  .content-block .col-3-3,
  .content-block .col-3-4 {
    grid-column: 3/-1;
  }
  .content-block .col-4-1,
  .content-block .col-4-2,
  .content-block .col-5-1,
  .content-block .col-6-1 {
    grid-column: 4/-1;
  }
  .content-block .col-5-2 {
    grid-column: 1/-1;
  }
}
@media (min-width: 320px) and (max-width: 699px) {
  .content-block {
    --column-count: 2;
  }
  .content-block .col-1-1,
  .content-block .col-3-1,
  .content-block .col-5-1 {
    grid-column: 1;
  }
  .content-block .col-2-1,
  .content-block .col-4-1,
  .content-block .col-6-1 {
    grid-column: 2;
  }
}
@media (min-width: 320px) and (max-width: 699px) and (max-width: 500px) {
  .content-block .col-1-1 {
    grid-column: 1/-1;
  }
  .content-block .col-1-5 + .col-6-1 {
    grid-column: 1/-1;
  }
}
@media (min-width: 320px) and (max-width: 699px) and (min-width: 501px) {
  .content-block .col-2-5 {
    grid-column: 2;
  }
  .content-block .col-1-5 {
    grid-column: 1;
  }
}

navigation-bar {
  position: relative;
  display: flex;
  padding: calc(var(--spacer0) + var(--gap)) 0;
  align-items: flex-end;
  justify-content: space-between;
  align-items: center;
  background-color: #10124d;
  z-index: 5;
  gap: var(--gutter1);
  height: -moz-min-content;
  height: min-content;
  --top-level-link-gutters: var(--gap);
  --top-level-link-colour: white;
  --marker-line-thickness: 3px;
  --spacer-line-thickness: 1px;
}
@media (max-width: 980px) {
  navigation-bar {
    align-items: center;
  }
}
navigation-bar:before {
  content: "";
  background-color: inherit;
  z-index: -1;
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 100%;
  transform: translateX(var(--translateX, -50%));
  background: inherit;
}
navigation-bar > *:not(.image) {
  position: relative;
  z-index: 1;
}
body[data-components*=background-image] navigation-bar.hide-background {
  background-color: initial;
  background: initial;
}
body[data-components*=background-image] navigation-bar.hide-background::before {
  display: none;
}

body[data-components*=background-video] navigation-bar.hide-background {
  background-color: initial;
  background: initial;
}
body[data-components*=background-video] navigation-bar.hide-background::before {
  display: none;
}

navigation-bar.invert {
  background-color: initial;
  background: initial;
  --top-level-link-colour: #131f6b;
}
navigation-bar.invert::before {
  display: none;
}
navigation-bar.invert a.logo img[src*="tagline.svg"] {
  filter: invert(0.9);
}
navigation-bar a.logo {
  max-width: 320px;
  max-width: 280px;
  width: 100%;
  min-width: 200px;
  aspect-ratio: 371/97;
}
navigation-bar a.logo:has(svg.no-taglines) {
  aspect-ratio: initial;
}
:has(header.dark) navigation-bar:not(.invert) a.logo {
  --logo-text-colour: white;
}

navigation-bar:not(.invert) {
  --logo-text-colour: white;
}
navigation-bar nav {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
  gap: 8px;
}
navigation-bar nav main-menu > ul > li.top-level-link:not(:nth-last-child(2)):not(:nth-last-child(3)):not(:last-of-type)::before,
navigation-bar nav secondary-menu > ul > li:not(:last-of-type)::before {
  content: "";
  width: var(--spacer-line-thickness);
  height: 40%;
  position: absolute;
  right: calc(-1 * var(--spacer-line-thickness) / 2);
  top: 30%;
  background-color: var(--spacer-line-colour, #df3035);
}
navigation-bar nav personalise-experience {
  display: none;
}
navigation-bar nav .personalised {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--gap);
}
navigation-bar nav .personalised personalise-experience {
  display: flex;
  width: -moz-fit-content;
  width: fit-content;
}
navigation-bar nav .personalised personalise-experience a.button.personalised {
  --font-size: 0.8em;
  --padding: 4px 10px;
}
@media (max-width: 940px) {
  navigation-bar nav .personalised personalise-experience a.button.personalised {
    --font-size: 16px;
    --padding: 8px 20px;
    --icon-size: 20px;
  }
  navigation-bar nav .personalised personalise-experience a.button.personalised p {
    display: none;
  }
  navigation-bar nav .personalised personalise-experience a.button.personalised svg {
    margin-left: 0;
  }
}
@media (max-width: 600px) {
  navigation-bar nav .personalised personalise-experience a.button.personalised {
    max-height: 36px;
    --icon-size: 1.1em;
  }
}
navigation-bar nav .personalised personalise-experience + secondary-menu {
  width: -moz-fit-content;
  width: fit-content;
  justify-content: flex-end;
}
@media (max-width: 440px) {
  navigation-bar nav .personalised {
    top: unset;
    flex-wrap: nowrap;
  }
  navigation-bar nav .personalised .button,
  navigation-bar nav .personalised personalise-experience a.button.personalised {
    --padding: 8px;
    --icon-size: 0.8em;
  }
}
navigation-bar nav main-menu > ul > li.top-level-link + .search {
  margin-left: -2px;
}
navigation-bar nav .link {
  font-size: var(--font-size);
  text-decoration: none;
}
navigation-bar nav .link svg {
  margin-left: 0.4em;
  height: 0.5em;
  fill: #FFFFFF;
}
navigation-bar nav .link svg:not(.arrow-right):not(.arrow-left) {
  height: 0.8em;
}
navigation-bar nav .link.overview {
  font-weight: bold;
}
navigation-bar nav .link svg,
navigation-bar nav .button svg {
  pointer-events: none;
}
navigation-bar nav main-menu {
  --font-size: 0.95em;
  order: 2;
  align-self: flex-end;
  position: relative;
}
navigation-bar nav main-menu .top-level-links {
  display: flex;
  align-items: center;
}
navigation-bar nav main-menu .top-level-links li {
  position: relative;
}
navigation-bar nav main-menu .top-level-links li.top-level-link a {
  font-weight: bold;
  text-transform: uppercase;
  color: var(--top-level-link-colour);
  padding: calc(var(--gap) * 0.5) var(--top-level-link-gutters);
  height: 100%;
  white-space: nowrap;
  display: flex;
  place-items: center;
}
navigation-bar nav main-menu .top-level-links li.top-level-link a::after {
  content: "";
  height: 3px;
  width: calc(100% - var(--top-level-link-gutters) * 2);
  background-color: var(--top-level-link-colour, #df3035);
  position: absolute;
  bottom: 0;
  left: var(--top-level-link-gutters);
  opacity: 0;
  transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
navigation-bar nav main-menu .top-level-links li.top-level-link a.active::after {
  opacity: 1 !important;
}
navigation-bar nav main-menu .top-level-links li.top-level-link a.current::after {
  opacity: 1;
}
navigation-bar nav main-menu .top-level-links li.top-level-link[data-nav=menu] {
  order: 1;
}
navigation-bar nav main-menu .top-level-links li.top-level-link[data-nav=submenu] {
  order: 2;
  display: none;
}
navigation-bar nav main-menu .top-level-links li.search {
  white-space: nowrap;
}
navigation-bar nav main-menu .top-level-links li.search a {
  text-decoration: none;
}
navigation-bar nav main-menu .top-level-links li.search svg {
  margin-left: 0;
}
navigation-bar nav main-menu .top-level-links li.search span {
  margin-right: calc(var(--gap) * 0.5);
  pointer-events: none;
}
navigation-bar nav main-menu .top-level-links li.search, navigation-bar nav main-menu .top-level-links li.menu {
  order: 3;
}
navigation-bar nav main-menu .top-level-links li.cart {
  margin-right: calc(var(--top-level-link-gutters) / 2);
  left: -2px;
}
navigation-bar nav main-menu .top-level-links li.cart a {
  text-decoration: none;
  padding: 8px 10px;
}
navigation-bar nav main-menu .top-level-links li.cart a span {
  display: none;
}
navigation-bar nav main-menu .top-level-links li.cart svg {
  order: 1;
  margin-left: 0;
}
li.cart a[data-total]::after {
  content: attr(data-total);
  min-width: 2ch;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 0.4em;
  margin-left: 0.5em;
  height: 2ch;
  align-self: center;
  background-color: #df3035;
  color: white;
  line-height: 0.2;
  text-align: center;
  display: flex;
  place-content: center;
  place-items: center;
  font-size: 0.8em;
  border-radius: var(--border-radius, 6px);
  order: 2;
}
@media (hover: hover) {
  li.cart a[data-total]:hover {
    background-color: #131f6b;
    color: #FFFFFF;
  }
  li.cart a[data-total]:hover::after {
    color: #FFFFFF;
  }
  li.cart a[data-total]:hover svg {
    fill: #df3035;
  }
}
@media (hover: hover) {
  li.cart a:not([data-total]):hover {
    background-color: #131f6b;
  }
  li.cart a:not([data-total]):hover::after {
    color: #FFFFFF;
  }
  li.cart a:not([data-total]):hover svg {
    fill: #df3035;
  }
}

@media (min-width: 550px) {
  navigation-bar nav main-menu .top-level-links li.cart svg {
    display: none;
  }
  navigation-bar nav main-menu .top-level-links li.cart a {
    padding: 8px 20px;
  }
  navigation-bar nav main-menu .top-level-links li.cart a span {
    display: block;
  }
}
navigation-bar nav main-menu.loading::before {
  --size: 12px;
  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, white);
  border-top-color: transparent;
  border-bottom-color: transparent;
  animation-name: loader-rotate;
  animation-duration: 0.5s;
  animation-iteration-count: infinite;
  transition: opacity 0.2s cubic-bezier(0.42, 0, 0.58, 1);
  animation-play-state: paused;
}
@keyframes loader-rotate {
  from {
    transform: rotate(180deg);
  }
  to {
    transform: rotate(0deg);
  }
}
@media (hover: hover) {
  navigation-bar nav main-menu.loading:hover::before {
    opacity: 1;
    animation-play-state: running;
    transition-delay: 0s;
  }
}
navigation-bar nav secondary-menu {
  --font-size: 0.8em;
  display: flex;
  order: 1;
  align-self: flex-end;
  z-index: 6;
}
navigation-bar nav secondary-menu > ul {
  display: flex;
  position: relative;
  right: calc(var(--gap) * -1);
}
navigation-bar nav secondary-menu > ul li {
  position: relative;
}
navigation-bar nav secondary-menu > ul li a {
  text-transform: uppercase;
  color: var(--top-level-link-colour);
  padding: calc(var(--gap) * 0.5) var(--gap);
  display: flex;
  place-items: center;
  transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
@media (hover: hover) {
  navigation-bar nav secondary-menu > ul li a:hover {
    color: #0095ff;
  }
}
navigation-bar nav secondary-menu > ul li .sub-menu {
  display: grid;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  right: 50%;
  min-width: calc(100% + calc(var(--gap) * 2));
  width: 200px;
  transform: translate(50%, calc(var(--gap) * -0.5));
  border-radius: var(--border-radius, 6px);
  background-color: var(--primary, #131f6b);
  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, );
  border: 1px solid rgba(255, 255, 255, 0.1);
}
navigation-bar nav secondary-menu > ul li .sub-menu li:nth-of-type(1) {
  padding-top: calc(var(--gap) * 0.5);
}
navigation-bar nav secondary-menu > ul li .sub-menu li:last-of-type {
  padding-bottom: calc(var(--gap) * 0.5);
}
navigation-bar nav secondary-menu > ul li .sub-menu a {
  padding: calc(calc(var(--gap) * 0.5) / 2) var(--gap);
  text-transform: initial;
  color: white;
}
navigation-bar nav secondary-menu > ul li .sub-menu a.asset {
  display: flex;
}
navigation-bar nav secondary-menu > ul li .sub-menu a.asset svg {
  order: -1;
  margin: 0 0.4em 0 0;
  align-self: flex-start;
  margin-top: 0.4em;
}
navigation-bar nav secondary-menu > ul li .sub-menu[data-level="1"] li:first-of-type {
  order: 100;
}
:root:not([data-browser-feature*=touch]) navigation-bar nav secondary-menu > ul li .sub-menu[data-level="1"] li:first-of-type {
  display: none;
}

@media (hover: hover) {
  navigation-bar nav secondary-menu > ul li:hover > a {
    color: #0095ff;
  }
  navigation-bar nav secondary-menu > ul li:hover .sub-menu {
    opacity: 1;
    transform: translate(50%, 0);
    pointer-events: all;
  }
}
navigation-bar nav secondary-menu > ul li:last-of-type .sub-menu {
  right: calc(100% + var(--gap)) !important;
}
navigation-bar nav secondary-menu > ul > li.has-children::after {
  content: "";
  top: calc(100% + 1px);
  left: 50%;
  width: 10px;
  height: 10px;
  transform: translate(-50%, calc(-50% + calc(var(--gap) * -0.5))) rotate(45deg);
  border: 1px solid rgba(255, 255, 255, 0.1);
  background-color: var(--primary, #131f6b);
  position: absolute;
  clip-path: polygon(0 0, 100% 0%, 50% 50%, 0 100%);
  opacity: 0;
  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;
}
@media (hover: hover) {
  navigation-bar nav secondary-menu > ul > li.has-children:hover::after {
    opacity: 1;
    transform: translate(-50%, -50%) rotate(45deg);
  }
}
@media (max-width: 1400px) {
  navigation-bar {
    --top-level-link-gutters: var(--gap);
  }
  navigation-bar nav main-menu > ul li.search span {
    display: none;
  }
}
@media (max-width: 980px) {
  navigation-bar nav main-menu {
    --font-size: 0.9em;
  }
}
navigation-bar li.menu {
  display: none;
  margin-left: var(--top-level-link-gutters);
}
navigation-bar button.menu {
  width: 40px;
  height: 40px;
}
navigation-bar button.menu svg {
  width: 100%;
  height: 100%;
  display: block;
  pointer-events: none;
}
navigation-bar button.menu svg line {
  stroke-width: 3px;
  stroke: var(--top-level-link-colour);
}
navigation-bar button.menu svg line:nth-child(1) {
  transform-origin: 15% 30%;
  transition: transform 0.3s cubic-bezier(0.86, 0, 0.07, 1);
}
navigation-bar button.menu svg line:nth-child(2) {
  transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
navigation-bar button.menu svg line:nth-child(3) {
  transform-origin: 15% 70%;
  transition: transform 0.3s cubic-bezier(0.86, 0, 0.07, 1);
}
navigation-bar button.menu.active svg line:nth-child(1) {
  transform: rotate(45deg);
}
navigation-bar button.menu.active svg line:nth-child(2) {
  opacity: 0;
}
navigation-bar button.menu.active svg line:nth-child(3) {
  transform: rotate(-45deg);
}
body.mobile navigation-bar {
  padding: var(--gutter1) 0;
}
body.mobile navigation-bar li.menu {
  display: block;
  height: 40px;
}
@media (min-width: 980px) and (max-width: 1200px) {
  body.mobile navigation-bar .button.search {
    --font-size: 0.8em;
    --padding: 4px 10px;
  }
  body.mobile navigation-bar li.menu {
    display: flex;
    align-items: center;
  }
  body.mobile navigation-bar li.menu button.menu {
    height: 30px;
    width: 30px;
  }
}
body.mobile navigation-bar a.logo {
  max-width: initial;
  width: 200px;
  min-width: initial;
}
body.mobile navigation-bar nav main-menu .top-level-link,
body.mobile navigation-bar nav secondary-menu {
  display: none;
}
body.mobile navigation-bar nav main-menu > ul li.search span,
body.mobile navigation-bar nav main-menu > ul li[data-nav=submenu] {
  display: block;
}
@media (max-width: 980px) {
  body.mobile navigation-bar nav main-menu > ul li.search span {
    display: none;
  }
}

dropdown-menu {
  --min-height: 430px;
  --max-height: 600px;
  --dropdown-group-nav-width: 270px;
  --dropdown-image-width: 300px;
  --dropdown-image-height: 80px;
  --dropdown-open-offset: 6px;
  position: absolute;
  top: calc(100% - var(--marker-line-thickness) - 1px);
  background-color: white;
  border-radius: var(--border-radius, 6px);
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.2);
  display: grid;
  grid-template-columns: var(--dropdown-group-nav-width) 1fr;
  pointer-events: none;
  opacity: 0;
  margin-top: 0px;
  overscroll-behavior: contain;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1), margin-top 0.3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  font-size: 16px;
}
navigation-bar nav main-menu.active .top-level-links .top-level-link .link.current::after {
  opacity: 0;
}
navigation-bar nav main-menu.active dropdown-menu {
  margin-top: var(--dropdown-open-offset);
  opacity: 1;
  pointer-events: all;
}

dropdown-menu::after {
  content: "";
  width: 100%;
  height: calc(var(--marker-line-thickness));
  position: absolute;
  left: 0;
  top: 0px;
  z-index: 5;
  background-color: #df3035;
  border-top-left-radius: var(--border-radius, 6px);
  border-top-right-radius: var(--border-radius, 6px);
}
body.mobile navigation-bar dropdown-menu {
  --dropdown-open-offset: var(--gap);
  width: var(--dropdown-group-nav-width) !important;
  right: 0;
}
@media (max-width: 480px) {
  body.mobile navigation-bar dropdown-menu {
    --dropdown-group-nav-width: calc(100vw - var(--gutter3)) !important;
  }
}

dropdown-group {
  position: relative;
  grid-column: 1;
  grid-row: 1;
  overflow-x: hidden;
  background-color: white;
  opacity: 0;
  height: inherit;
  pointer-events: none;
  will-change: transform;
  transition: opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1), transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);
}
dropdown-group[data-level="0"] {
  z-index: 5;
}
dropdown-group[data-level="1"] {
  z-index: 4;
}
dropdown-group[data-level="2"] {
  z-index: 3;
}
dropdown-group[data-level="3"] {
  z-index: 2;
}
dropdown-group[data-level="4"] {
  z-index: 1;
}
dropdown-group::-webkit-scrollbar {
  width: 0.9em;
  height: 0.9em;
}
dropdown-group::-webkit-scrollbar-button {
  width: 0;
  height: 0;
  display: none;
}
dropdown-group::-webkit-scrollbar-thumb {
  background-color: #969695;
  border-radius: 10px;
  border: 4px solid rgba(0, 0, 0, 0);
  background-clip: padding-box;
  background-color: rgba(0, 0, 0, 0.15);
}
dropdown-group::-webkit-scrollbar-track {
  background-color: transparent;
}
dropdown-group::-webkit-scrollbar-corner {
  background-color: transparent;
}
dropdown-group::-webkit-scrollbar-track {
  border-radius: 10px;
}
dropdown-group .link {
  --font-size: 0.9em;
  display: flex;
  position: relative;
  align-items: center;
  text-align: left;
  line-height: 1.4;
  padding: 4px calc(var(--gap) * 2);
  width: 100%;
  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, );
  justify-content: space-between;
}
dropdown-group .link.current {
  color: #df3035;
}
dropdown-group .link.active {
  color: white;
  background-color: #131f6b;
  z-index: 1;
}
:root:not([data-browser-feature*=touch]) dropdown-group .link.active::after {
  content: "";
  display: block;
  position: absolute;
  transform: translateY(-50%) rotate(-45deg);
  left: calc(100% - 50px);
  top: 50%;
  width: 100px;
  height: 100px;
}

:not([data-browser-feature*=touch]) dropdown-group .last .link.active::after {
  transform: translateY(-100%) rotate(0deg) skew(-45deg, 0);
}

dropdown-group .link.has-children svg {
  margin-left: calc(var(--gap) * 0.5);
}
@media (hover: hover) {
  dropdown-group .link:hover {
    color: white;
    background-color: #131f6b;
  }
}
dropdown-group ul {
  display: flex;
  flex-direction: column;
  overscroll-behavior: contain;
}
dropdown-group ul li.first {
  padding-top: var(--gap);
}
dropdown-group ul li.last {
  padding-bottom: var(--gap);
}
dropdown-group ul li.overview {
  margin-top: var(--gap);
}
@media (max-width: 768px) {
  dropdown-group ul li.overview ~ .first {
    padding-top: 0;
  }
}
dropdown-group ul li.overview .link {
  color: #131f6b;
  font-weight: bold;
}
@media (hover: hover) {
  dropdown-group ul li.overview .link:hover {
    color: white;
  }
}
dropdown-group ul li.overview .link.active {
  color: white;
}
:root:not([data-browser-feature*=touch]) dropdown-group ul li.overview {
  display: none;
}

dropdown-group ul li.back {
  padding-top: var(--gap);
}
:root:not([data-browser-feature*=touch]) dropdown-group ul li.back {
  display: none;
}

dropdown-group ul li.back .link svg {
  margin-right: 0.4em;
  margin-left: 0;
}
dropdown-group[data-level="1"] {
  border-top-left-radius: var(--border-radius, 6px);
  border-bottom-left-radius: var(--border-radius, 6px);
}
dropdown-group[data-level="1"] li.back {
  display: none;
}
dropdown-group[data-level="2"] {
  width: 95%;
  left: 100%;
  opacity: 0;
  transform: translateX(-5%);
  background-color: #f4f4f4;
}
dropdown-group[data-level="3"] {
  width: calc(95% + 2px);
  opacity: 0;
  left: calc(195% - 1px);
  border-top-right-radius: var(--border-radius, 6px);
  border-bottom-right-radius: var(--border-radius, 6px);
  transform: translateX(-5%);
  background-color: #fafafa;
  transition-delay: 0.3s, 0.3s;
}
dropdown-group.allow-scroll {
  overflow-y: auto;
}
dropdown-group.active {
  opacity: 1;
  pointer-events: all;
}
dropdown-group.active[data-level="2"], dropdown-group.active[data-level="3"] {
  transform: translateX(0%);
}
dropdown-group:not(.active)[data-level="1"], dropdown-group:not(.active)[data-level="2"], dropdown-group:not(.active)[data-level="3"] {
  left: 0%;
  transform: translateX(0%);
}
body:not(.mobile) navigation-bar dropdown-group:not([data-level="1"]) .link {
  padding-top: 6px;
  padding-bottom: 6px;
}

body.mobile navigation-bar dropdown-group {
  border-radius: var(--border-radius, 6px) var(--border-radius, 6px) 0 0 !important;
  left: 0 !important;
  width: inherit !important;
  transition-duration: 0.5s, 0.5s;
  transform: initial !important;
}
body.mobile navigation-bar dropdown-group[data-level="0"] {
  z-index: 1;
}
body.mobile navigation-bar dropdown-group[data-level="1"] {
  z-index: 2;
}
body.mobile navigation-bar dropdown-group[data-level="2"] {
  z-index: 3;
}
body.mobile navigation-bar dropdown-group[data-level="3"] {
  z-index: 4;
}
body.mobile navigation-bar dropdown-group[data-level="4"] {
  z-index: 5;
}
body.mobile navigation-bar dropdown-group .link {
  --font-size: 1em;
  padding-top: calc(var(--gap) * 0.5);
  padding-bottom: calc(var(--gap) * 0.5);
}
body.mobile navigation-bar dropdown-group ul li.overview, body.mobile navigation-bar dropdown-group ul li.back {
  display: block !important;
}

dropdown-image {
  display: block;
  background-position: var(--position, center 33%);
  background-size: cover;
  background-repeat: no-repeat;
  overflow: hidden;
  position: relative;
  height: 100%;
  grid-column: 2;
  background-color: #f4f4f4;
  border-bottom-right-radius: var(--border-radius, 6px);
  border-top-right-radius: var(--border-radius, 6px);
  display: grid;
  justify-items: flex-end;
}
dropdown-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;
}
dropdown-image .image {
  width: clamp(var(--dropdown-image-width) / 2, 30vw, var(--dropdown-image-width));
  grid-row: 1;
  grid-column: 1;
  transition: opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);
  opacity: 0;
}
dropdown-image .image.active {
  opacity: 1;
  pointer-events: all;
}
dropdown-image .image.active img {
  opacity: 1;
}
body.mobile navigation-bar dropdown-image {
  grid-column: 1;
  z-index: 10;
  width: inherit;
  height: var(--dropdown-image-height);
  border-top-right-radius: initial;
  border-bottom-left-radius: var(--border-radius, 6px);
}
body.mobile navigation-bar dropdown-image .image {
  width: inherit;
  height: inherit;
}

.header {
  padding-top: var(--spacer1);
  padding-bottom: var(--spacer1);
}
.header > h1 sup {
  font-size: 0.6em;
}
.header > h1 span {
  display: block;
  font-size: 0.375em;
  color: #969695;
}
.header > h1 + *, .header > h2 + * {
  margin-top: var(--gutter1);
}
.header > h1 + h2 {
  margin-top: var(--gutter0);
}
.header > h2 {
  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;
}
.header > h2 a {
  --font-colour: var(--sub-heading-colour);
  text-decoration: underline;
}
@media (hover: hover) {
  .header > h2 a:hover {
    --font-colour: var(--primary, #131f6b);
  }
}
.header time {
  border-radius: var(--border-radius, 6px);
  margin: var(--gutter1) 0;
  padding: 4px 8px;
  background-color: #f4f4f4;
  border: 1px solid #dcdcdc;
  font-size: 0.75em;
  display: inline-block;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 4px;
  border-left: 4px solid var(--tag-colour, #df3035);
}
.header button-container {
  margin-bottom: calc(var(--gap) * -1);
  margin-top: var(--spacer0);
}
@media (max-width: 480px) {
  .header button-container .button span {
    white-space: normal;
  }
}
.header notice-messages {
  margin-top: var(--spacer0);
}
.header.dark {
  --heading-colour:white;
  --sub-heading-colour:white;
}
.header.dark .button.brochure {
  --font-colour:white;
}
.header.dark .button.brochure svg {
  fill: white;
}
.header.no-devider-line ~ main {
  --border-top-colour: rgba(255, 255, 255, 0.2);
}
.header.no-devider-line ~ main > .content-block:first-of-type {
  padding-top: 0;
  box-shadow: initial;
}

footer#footer {
  --font-colour: white;
  font-size: 0.875em;
  padding-top: var(--spacer1);
  padding-bottom: var(--spacer1);
  background-color: var(--primary, #131f6b);
  grid-gap: var(--gutter1);
  display: grid;
  position: relative;
  align-items: flex-start;
  grid-template-columns: 1fr 300px;
}
footer#footer a {
  text-decoration: none;
  position: relative;
  display: block;
  color: var(--font-colour);
}
@media (hover: hover) {
  footer#footer a:hover {
    color: var(--secondary-light, #e44f53);
  }
}
footer#footer a.current {
  color: var(--secondary-light, #e44f53);
}
footer#footer a.current {
  pointer-events: none;
}
footer#footer .back-to-top {
  width: -moz-fit-content;
  width: fit-content;
  margin: calc(var(--gap) * -1) auto var(--gap) auto;
}
@media (min-width: 481px) {
  footer#footer .back-to-top {
    display: none;
  }
}
footer#footer .tag-line-sign-off {
  grid-column: 1/-1;
  display: flex;
  justify-content: center;
  margin-bottom: var(--spacer0);
  font-size: 2em;
  line-height: 1.3;
}
@supports (width: clamp(1px, 5vw, 10px)) {
  footer#footer .tag-line-sign-off tag-line span {
    font-size: clamp(12px, 1.5vw, 0.4em);
  }
}
@supports not (width: clamp(1px, 5vw, 10px)) {
  @media (max-width: 950px) {
    footer#footer .tag-line-sign-off tag-line span {
      font-size: 12px;
    }
  }
  @media (min-width: 1601px) {
    footer#footer .tag-line-sign-off tag-line span {
      font-size: 0.4em;
    }
  }
}
@media (max-width: 900px) {
  footer#footer .tag-line-sign-off tag-line {
    flex-direction: row;
    margin: 0;
  }
}
@media (max-width: 900px) and (max-width: 600px) {
  footer#footer .tag-line-sign-off tag-line {
    flex-direction: column;
    gap: calc(var(--gap) * 0.5);
  }
  footer#footer .tag-line-sign-off tag-line span {
    font-size: 16px;
  }
}
footer#footer > nav {
  display: grid;
  flex-grow: 1;
  grid-gap: var(--gutter1);
  align-items: flex-start;
  grid-template-columns: 1fr;
}
footer#footer > nav ul {
  display: flex;
  flex-direction: column;
  height: 100%;
  position: relative;
}
footer#footer > nav ul li + li {
  margin-bottom: calc(var(--gap) * 0.5);
}
footer#footer > nav ul:last-of-type {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(333px, 1fr));
  grid-gap: 0 var(--gap);
}
footer#footer > nav ul:last-of-type li:first-of-type {
  grid-column: 1/-1;
}
footer#footer .heading {
  margin-bottom: var(--gap);
  color: var(--secondary, #df3035);
  font-weight: bold;
  font-size: 1.0625em;
  line-height: 1.6;
}
footer#footer .heading::before, footer#footer .heading::after {
  display: none;
}
footer#footer .heading a {
  color: var(--secondary, #df3035);
}
footer#footer company-details {
  display: flex;
  flex-direction: colunm;
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: calc(var(--gap) * 0.5) var(--gap);
}
footer#footer company-details small,
footer#footer company-details .small {
  font-size: 0.625em;
  color: rgba(255, 255, 255, 0.7);
}
footer#footer company-details small br,
footer#footer company-details .small br {
  display: none;
}
footer#footer .base {
  margin-top: var(--spacer1);
  grid-column: 1/-1;
  position: relative;
  display: flex;
  justify-content: space-between;
}
footer#footer .base a.logo {
  width: 100%;
  max-width: 240px;
  position: initial;
}
footer#footer .base a.logo img {
  display: block;
}
@media (min-width: 981px) {
  footer#footer .base a.logo::after {
    content: "";
    background-color: var(--footer-br-colour, #df3035);
    height: 3px;
    width: 100%;
    position: absolute;
    bottom: -1.5px;
    left: 0;
  }
}
footer#footer .base a.yello {
  display: flex;
  position: absolute;
  top: calc(100% + var(--gap));
  font-size: 0.875em;
  right: 0;
  color: rgba(255, 255, 255, 0.5);
  transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
footer#footer .base a.yello span {
  margin-left: 0.3em;
  transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
@media (hover: hover) {
  footer#footer .base a.yello:hover {
    color: white;
  }
  footer#footer .base a.yello:hover span {
    color: #FFCB08;
  }
}
footer#footer .base admin-links {
  display: flex;
  position: absolute;
  top: calc(100% + var(--gap));
  left: 0;
}
footer#footer .base admin-links a {
  font-size: 12px;
  margin-right: calc(var(--gap) * 0.5);
}
footer#footer .base:has(.cep-logo) {
  --logo-spacer: 200px;
}
footer#footer .base:has(.cep-logo) .cep-logo {
  filter: grayscale(1) invert(1);
}
@media (min-width: 981px) {
  footer#footer .base:has(.cep-logo) {
    margin-right: var(--logo-spacer);
  }
  footer#footer .base:has(.cep-logo) .cep-logo {
    position: absolute;
    height: calc(100% + calc(var(--gap) * 2));
    top: 0;
    right: calc(var(--logo-spacer) * -1);
  }
}
@media (max-width: 980px) {
  footer#footer .base:has(.cep-logo) .cep-logo {
    margin-bottom: var(--gutter2);
  }
}
@media (max-width: 1400px) {
  footer#footer > nav ul:not(:last-of-type) {
    display: none;
  }
  footer#footer company-details small br {
    display: none;
  }
}
@media (max-width: 980px) {
  footer#footer {
    grid-template-columns: 1fr;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  footer#footer > * {
    width: 100%;
  }
  footer#footer > nav {
    align-items: center;
  }
  footer#footer > nav ul:last-of-type {
    grid-template-columns: unset;
  }
  footer#footer .base {
    flex-direction: column;
    align-items: center;
  }
  footer#footer .base a.logo {
    order: 1;
    width: 160px;
  }
  footer#footer .base a.logo img {
    max-width: 100%;
  }
  footer#footer .base social-media {
    margin-top: var(--spacer0-);
    margin-bottom: var(--spacer0);
  }
  footer#footer .base admin-links {
    order: 3;
    position: initial;
    margin-top: var(--gap);
  }
}

.cl-consent-settings {
  left: unset !important;
  right: var(--gutter1);
  width: 42px;
  height: 42px;
  box-shadow: unset !important;
  bottom: calc(var(--gutter3) * 2.75) !important;
  padding: 0;
}
@media (max-width: 980px) {
  .cl-consent-settings {
    bottom: var(--gutter5) !important;
  }
}

body > background-image {
  pointer-events: none;
  display: block;
  background-position: var(--position, center 33%);
  background-size: cover;
  background-repeat: no-repeat;
  overflow: hidden;
  position: relative;
  --background-theme-one: #131f6b;
  --background-theme-two: #292b68;
}
body > background-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;
}
body > background-image::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.7;
  background: linear-gradient(to bottom, var(--background-theme-one), var(--background-theme-two));
}
body > background-image.none::after {
  content: initial;
}
body > background-image.red {
  --background-theme-one: #df3035;
  --background-theme-two: #df3035;
}
body > background-image.black {
  --background-theme-one: #1e1c1c;
  --background-theme-two: #1e1c1c;
}
body > background-image.tile {
  background-repeat: repeat;
  background-size: auto;
}
body > background-image.tile img {
  display: none;
}
body > background-image:not(.tile) {
  max-height: 100vh;
}
body > background-image.behind-header::after {
  opacity: 1;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(10px);
  -webkit-mask-image: linear-gradient(to right, black 20%, transparent 100%);
          mask-image: linear-gradient(to right, black 20%, transparent 100%);
}

body.mobile > background-image, body.mobile > background-video {
  max-height: initial;
}

body > background-video {
  pointer-events: none;
  display: block;
  background-position: var(--position, center 33%);
  background-size: cover;
  background-repeat: no-repeat;
  overflow: hidden;
  position: relative;
}
body > background-video 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;
}
body > background-video video {
  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;
}
body > background-video::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, var(--background-theme-one, transparent), var(--background-theme-two, black));
}

#breadcrumbs-bar {
  background-color: var(--primary, #131f6b);
  display: flex;
  align-items: center;
  transition: height var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), top var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
#breadcrumbs-bar ul {
  display: flex;
  position: relative;
  left: calc(var(--gap) * -1);
  width: 100%;
}
#breadcrumbs-bar ul li {
  align-self: stretch;
  align-items: center;
  position: relative;
}
#breadcrumbs-bar ul li + li {
  margin-left: calc(var(--gap) * -1);
}
#breadcrumbs-bar .link {
  display: flex;
  place-items: center;
  height: 100%;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 1.125em;
  padding: var(--gap);
  text-decoration: none;
  color: white;
}
#breadcrumbs-bar .link svg {
  color: rgba(255, 255, 255, 0.8);
  width: 0.7em;
  height: 0.7em;
  margin-left: var(--gap);
}
@media (hover: hover) {
  #breadcrumbs-bar .link:hover {
    color: var(--secondary, #df3035);
  }
}
#breadcrumbs-bar .link.current {
  color: var(--secondary, #df3035);
}
#breadcrumbs-bar .link.current::after {
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: var(--secondary, #df3035);
  position: absolute;
}

body.mobile > #breadcrumbs-bar {
  max-height: initial;
  display: none;
}

#anchors-bar {
  background-color: #f4f4f4;
  transition: height var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), top var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  display: flex;
  align-items: center;
  max-width: 100vw;
}
#anchors-bar .container {
  display: flex;
  align-items: center;
  overflow: hidden;
  height: 100%;
}
@media (max-width: 1680px) {
  :root:not([data-browser-feature*=touch]) #anchors-bar {
    width: 100vw;
    margin-left: var(--gutter2-);
  }
  :root:not([data-browser-feature*=touch]) #anchors-bar .container {
    overflow-x: auto;
    scroll-behavior: smooth;
    padding-left: var(--gutter1);
    padding-right: var(--gutter1);
  }
}

:root[data-browser-feature*=touch] #anchors-bar {
  width: calc(100% + var(--gutter2) + calc(var(--gap) * 0.5));
  margin-left: var(--gutter1-);
}
:root[data-browser-feature*=touch] #anchors-bar::before {
  content: initial;
}
:root[data-browser-feature*=touch] #anchors-bar .container {
  overflow-x: auto;
  padding-left: var(--gutter1);
  padding-right: var(--gutter1);
}

#anchors-bar::before {
  border-bottom: 1px solid #dcdcdc;
}
#anchors-bar a {
  grid-row: 1;
  font-size: 0.875em;
  text-transform: uppercase;
  font-weight: bold;
  white-space: nowrap;
  display: flex;
  place-items: center;
  position: relative;
  height: 100%;
  color: #131f6b;
}
#anchors-bar a + a {
  margin-left: var(--gutter1);
}
@media (hover: hover) {
  #anchors-bar a:hover {
    color: var(--secondary, #df3035);
  }
}
#anchors-bar a::after {
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: var(--secondary, #df3035);
  position: absolute;
  transform: scaleY(0);
  transition: transform 0.2s cubic-bezier(0.42, 0, 0.58, 1) 0.2s;
}
#anchors-bar a.current {
  color: var(--secondary, #df3035);
}
#anchors-bar a.current::after {
  transform: scaleY(1);
}

side-bar > div > * {
  --background-colour: var(--primary, #131f6b);
  order: 3;
  border-radius: var(--border-radius, 6px);
  padding: var(--gutter2);
  background-color: var(--background-colour);
  border: 1px solid var(--border-colour, rgba(255, 255, 255, 0.2));
}
side-bar > div > *:not(.white) {
  --font-colour: white;
  --heading-colour: white;
}
side-bar > div service-centre-finder {
  order: 1;
}
side-bar > div service-centre-finder ~ #grades-sidebar-list {
  order: 2;
}
side-bar > div .heading {
  margin-bottom: var(--gutter0);
  font-size: 1.5625em;
  line-height: 1.6;
}
side-bar > div .sidebar-logos {
  background-color: white;
  display: flex;
  flex-direction: column;
  padding: 0;
  gap: 0;
  outline: 1px solid #dcdcdc;
}
side-bar > div .sidebar-logos img {
  padding: 2rem;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  max-width: 100%;
  display: block;
}
side-bar > div .sidebar-logos img[src*=construction-online] {
  padding-inline: 6vw;
}
side-bar > div .sidebar-logos img + img {
  border-top: 1px solid #dcdcdc;
}
side-bar #powder-tubs,
side-bar #greener-future,
side-bar #liberty-powder {
  position: relative;
  overflow: hidden;
}
side-bar #powder-tubs h3 span,
side-bar #greener-future h3 span,
side-bar #liberty-powder h3 span {
  display: block;
}
side-bar #powder-tubs div,
side-bar #greener-future div,
side-bar #liberty-powder div {
  z-index: 1;
  position: relative;
}
side-bar #powder-tubs .background,
side-bar #greener-future .background,
side-bar #liberty-powder .background {
  opacity: 0.2;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 100% 0%;
     object-position: 100% 0%;
}
side-bar #powder-tubs .image img,
side-bar #greener-future .image img,
side-bar #liberty-powder .image img {
  -o-object-fit: contain;
     object-fit: contain;
}
side-bar #liberty-powder {
  background: transparent;
  border: 1px solid #dcdcdc;
}
side-bar #liberty-powder .image {
  height: 60px;
  margin-bottom: calc(var(--gap) * 2);
}
side-bar #liberty-powder .image img {
  width: auto;
}
side-bar #powder-tubs {
  background: #333236;
}
side-bar #powder-tubs h3 {
  padding-bottom: 225px;
  font-size: 22px;
}
side-bar #powder-tubs h3 span {
  color: #df3035;
}
side-bar #powder-tubs .background {
  opacity: 1;
}
side-bar #powder-tubs .image {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 250px;
  width: 100%;
}
side-bar #powder-tubs .image img {
  width: 100%;
}
@media (min-width: 1120px) {
  side-bar #powder-tubs h3 {
    padding-bottom: 300px;
  }
  side-bar #powder-tubs .image {
    height: 350px;
  }
}
side-bar #greener-future {
  --greener-green: #4ecb3d;
}
side-bar #greener-future h3 {
  margin-bottom: calc(var(--gap) * 2);
}
side-bar #greener-future h3 span {
  color: var(--greener-green);
  line-height: 1;
}
side-bar #greener-future .image {
  height: 90px;
}
side-bar #greener-future .image img {
  width: auto;
}
side-bar #greener-future ul {
  margin-bottom: var(--gap);
}
side-bar #greener-future ul li {
  color: white;
  padding-left: calc(var(--gap) * 2);
  position: relative;
  margin-bottom: var(--gap);
}
side-bar #greener-future ul li:before {
  background: var(--greener-green);
  border-radius: 50%;
  height: 20px;
  width: 20px;
  position: absolute;
  top: 4px;
  left: 0;
  content: "";
}
side-bar #greener-future ul li:after {
  height: 12px;
  width: 6px;
  content: "";
  border-bottom: 2px solid white;
  border-right: 2px solid white;
  position: absolute;
  left: 7px;
  top: 6px;
  transform: rotate(45deg);
}
@media (min-width: 1120px) {
  side-bar #greener-future ul {
    -moz-column-count: 2;
         column-count: 2;
  }
}

.sidebar-block\:local-cta {
  background-color: #676767;
  color: white;
  background-repeat: no-repeat;
  background-position: -1rem bottom;
  background-size: auto 220px;
  display: flex;
  flex-direction: column;
  gap: var(--gutter0);
}
.sidebar-block\:local-cta p {
  font-size: 2rem;
  text-wrap: pretty;
}
@media (width > 1400px) {
  .sidebar-block\:local-cta {
    background-image: url("/assets/uploads/images/20mph-sign.png");
    padding-inline-start: 160px;
  }
}

.sidebar-block\:iso {
  background-color: #74bf03;
  border: initial;
  padding: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  border-radius: var(--border-radius, 6px);
  overflow: hidden;
}
.sidebar-block\:iso img {
  display: block;
  width: 100%;
}

social-media {
  --icon-colour: #FFFFFF;
  --icon-size: 20px;
  display: flex;
  align-items: center;
}
social-media a {
  margin-left: var(--gap);
  display: flex !important;
}
social-media a svg {
  width: var(--icon-size);
  height: var(--icon-size);
  fill: var(--icon-colour);
  transition: var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
@media (hover: hover) {
  social-media a:hover.facebook {
    --icon-colour: #1877f2;
  }
  social-media a:hover.twitter {
    --icon-colour: #1da1f2;
  }
  social-media a:hover.google {
    --icon-colour: #4285f4;
  }
  social-media a:hover.youtube {
    --icon-colour: #ff0000;
  }
  social-media a:hover.linkedin {
    --icon-colour: #007bb5;
  }
  social-media a:hover.instagram {
    --icon-colour: #c32aa3;
  }
  social-media a:hover.pinterest {
    --icon-colour: #bd081c;
  }
  social-media a:hover.dailymotion {
    --icon-colour: #0066DC;
  }
  social-media a:hover.snapchat {
    --icon-colour: #fffc00;
  }
  social-media a:hover.flickr {
    --icon-colour: #f40083;
  }
  social-media a:hover.vimeo {
    --icon-colour: #1ab7ea;
  }
  social-media a:hover.thumbler {
    --icon-colour: #35465d;
  }
  social-media a:hover.reddit {
    --icon-colour: #ff4500;
  }
  social-media a:hover.whatsapp {
    --icon-colour: #25d366;
  }
  social-media a:hover.skype {
    --icon-colour: #00aff0;
  }
  social-media a:hover.discord {
    --icon-colour: #7289da;
  }
}
social-media a span {
  display: none;
}

.article {
  display: flex;
}
.article .container {
  display: flex;
  flex-direction: column;
  padding: var(--gutter1);
  background-color: white;
  border: 1px solid #f4f4f4;
  border-radius: var(--border-radius, 6px);
  overflow: hidden;
  align-content: flex-start;
  width: 100%;
  gap: 1.5rem;
}
.article .container > * {
  order: 2;
}
.article .container .heading {
  font-size: 1.5625em;
  line-height: 1.6;
  line-height: 1.2;
  transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  margin-bottom: 0;
}
.article .container .subheading {
  font-size: 1.0625em;
  line-height: 1.6;
  color: var(--article-subheading-font-colour, #6a6a6a);
  max-width: 75ch;
  margin-bottom: 0;
}
.article .container .subheading + .timestamp {
  margin-top: var(--gap);
}
.article .container .introduction {
  font-size: 0.875em;
  max-width: 75ch;
}
.article .container .button {
  justify-self: flex-start;
  margin-bottom: 0;
  margin-top: auto;
}
.article .container:has(.author) .author {
  margin-top: auto;
  border-top: var(--gutter0) solid transparent;
}
.article .container:has(.author) .button {
  margin-top: initial;
}
.article .container time {
  font-weight: bold;
  font-size: 0.875em;
}
.article .container .author {
  --photo-size: 40px;
  display: flex;
  position: relative;
  flex-direction: column;
  justify-content: center;
}
.article .container .author .name {
  font-weight: bold;
  white-space: nowrap;
  color: #131f6b;
  font-size: 0.875em;
  line-height: 1.4;
  order: 1;
  min-height: var(--photo-size);
  display: flex;
  align-items: center;
}
.article .container .author .name em {
  font-size: 0.75em;
  margin-right: 5px;
}
.article .container .author .timestamp {
  white-space: nowrap;
  font-size: 0.875em;
  line-height: 1.4;
  order: 2;
}
.article .container .author .timestamp,
.article .container .author .timestamp ~ .name {
  min-height: calc(var(--photo-size) / 2);
}
.article .container .author .image {
  width: var(--photo-size);
  height: var(--photo-size);
  top: calc(50% - var(--photo-size) / 2);
  border-radius: 50%;
  left: 0;
  position: absolute;
  border: 1px solid #dcdcdc;
}
.article .container .author .image ~ * {
  padding-left: calc(var(--photo-size) + var(--gap));
}
.article .container > .image {
  order: 1;
  margin-bottom: var(--gutter1);
  height: var(--image-height, 180px);
  width: calc(100% + var(--gutter3));
  inset-inline-start: var(--gutter1-);
  margin-top: var(--gutter1-);
}
.article [href^="tel:"] {
  white-space: nowrap;
}
.article.bg-blue:not(.centre-stacked) .container {
  background-color: #131f6b;
  --article-subheading-font-colour: #FFFFFF;
  --heading-colour: #FFFFFF;
}
.article.bg-blue:not(.centre-stacked) .container .text,
.article.bg-blue:not(.centre-stacked) .container .name {
  color: #FFFFFF;
}
.article.bg-red:not(.centre-stacked) .container {
  background-color: #df3035;
  --article-subheading-font-colour: #FFFFFF;
  --heading-colour: #FFFFFF;
}
.article.bg-red:not(.centre-stacked) .container .text,
.article.bg-red:not(.centre-stacked) .container .name {
  color: #FFFFFF;
}
.article.bg-grey:not(.centre-stacked) .container {
  background-color: #f4f4f4;
  --heading-colour: var(--secondary);
}
.article.bg-yellow:not(.centre-stacked) .container {
  background-color: #f6f4db;
}
.article.bg-orange:not(.centre-stacked) .container {
  background-color: #ff6a00;
  --article-subheading-font-colour: #FFFFFF;
  --heading-colour: #FFFFFF;
}
.article.bg-orange:not(.centre-stacked) .container .text,
.article.bg-orange:not(.centre-stacked) .container .name {
  color: #FFFFFF;
}
.article.bg-green:not(.centre-stacked) .container {
  background-color: #50bc08;
  --article-subheading-font-colour: #FFFFFF;
  --heading-colour: #FFFFFF;
}
.article.bg-green:not(.centre-stacked) .container .text,
.article.bg-green:not(.centre-stacked) .container .name {
  color: #FFFFFF;
}
.article.bg-black:not(.centre-stacked) .container {
  background-color: #1e1c1c;
}
.article.bg-primary .container {
  background-color: var(--primary);
  --article-subheading-font-colour: #FFFFFF;
  --heading-colour: #FFFFFF;
}
.article.bg-secondary .container {
  background-color: var(--secondary);
  --article-subheading-font-colour: #FFFFFF;
  --heading-colour: #FFFFFF;
}
.content-block.black article-list .article .container {
  border: none !important;
  --article-subheading-font-colour: #FFFFFF;
}
.content-block.black article-list .article .container .button {
  --font-colour: white;
  --background-colour: var(--secondary, #df3035);
  --border-colour: transparent;
  --hover-font-colour: #1e1c1c;
  --hover-background-colour: white;
  --hover-border-colour: transparent;
}
.content-block.black article-list.columns-2 {
  justify-self: center;
}
@media (min-width: 1001px) {
  .content-block.black article-list.columns-2 {
    max-width: 1000px;
  }
}

.article:has(div.container button-container .button:only-child) div.container {
  position: relative;
  transition: border-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
@media (hover: hover) {
  .article:has(div.container button-container .button:only-child) div.container:hover {
    border-color: var(--primary, #131f6b);
  }
}
.article:has(div.container button-container .button:only-child) button-container {
  position: initial;
}
.article:has(div.container button-container .button:only-child) button-container .button:only-child {
  position: initial;
}
.article:has(div.container button-container .button:only-child) button-container .button:only-child::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
}
.article a.container {
  transition: border-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
@media (hover: hover) {
  .article a.container:hover {
    border-color: var(--primary, #131f6b);
  }
}
.article button-container {
  margin-top: var(--gutter1);
}
.article button-container .button {
  font-size: small;
  text-align: center;
}
.article.uncropped-image .image {
  background-color: white;
}
.article.uncropped-image .image img {
  -o-object-fit: contain;
     object-fit: contain;
  padding: var(--gutter0);
  -o-object-position: center center;
     object-position: center center;
}
article-list:has(.image-text-side-by-side) {
  grid-template-columns: 1fr !important;
  display: flex;
  flex-direction: column;
}

.article.dir-rtl {
  direction: rtl;
}
.article.dir-rtl .content > * {
  direction: ltr;
}
.article:not([class*=bg-]) {
  --divider-line-colour: #f4f4f4;
}
.article.image-text-side-by-side .container {
  flex-direction: row;
  padding: 0;
}
.article.image-text-side-by-side .container .content {
  padding: var(--gutter1);
  padding-inline-start: 0;
}
.article.image-text-side-by-side .container .image {
  height: 100%;
  max-width: 33%;
  min-width: 120px;
  margin: 0;
  background-color: white;
  border-inline-end: 1px solid var(--divider-line-colour, #dcdcdc);
}
.article.image-text-side-by-side .container .image img {
  padding: var(--gutter1);
  -o-object-fit: contain;
     object-fit: contain;
  margin: 0;
  -o-object-position: center center;
     object-position: center center;
}
.article.centre-stacked .container {
  background-color: transparent;
  justify-content: flex-start;
  align-content: center;
  align-items: center;
  text-align: center;
  border: none;
}
.article.centre-stacked .container .content {
  display: contents;
}
.article.centre-stacked .container .text * {
  text-wrap: balance;
}
.article.centre-stacked .image {
  max-width: 240px;
  left: 0;
  margin: 0;
  order: -1;
  min-height: 120px;
  max-height: 140px;
}
.article.centre-stacked .image img {
  -o-object-fit: contain;
     object-fit: contain;
  margin: 0;
  -o-object-position: center center;
     object-position: center center;
}
.article.centre-stacked button-container {
  justify-content: center;
  margin-top: auto;
  padding-top: var(--gutter0);
}
@media (min-width: 1301px) {
  .article + .centre-stacked::before {
    content: "";
    height: 80%;
    left: 0;
    top: 50%;
    width: 1px;
    opacity: 0.2;
    transform: translateY(20%);
    border-left: 1px solid white;
  }
}
.article[data-contains*=title][data-contains*=timestamp][data-contains*=author][data-contains*=button][data-contains*=image]:not([data-contains*=subheading]):not([data-contains*=introduction]) .container .timestamp {
  margin-top: auto;
}

.article[data-contains*=title][data-contains*=image]:not([data-contains*=timestamp]):not([data-contains*=author]):not([data-contains*=button]):not([data-contains*=subheading]):not([data-contains*=introduction]) .container .heading {
  margin-bottom: auto;
  font-size: 1.5625em;
  line-height: 1.6;
  line-height: 1.2;
}
.article[data-contains*=title][data-contains*=image]:not([data-contains*=timestamp]):not([data-contains*=author]):not([data-contains*=button]):not([data-contains*=subheading]):not([data-contains*=introduction]) .container > .image {
  --image-height: 130px;
}

.article[data-contains*=serviceCentres] .container div {
  margin-bottom: var(--gap);
}
.article[data-contains*=serviceCentres] .container h4 {
  margin-bottom: 0;
}

.article.layout-text-image-side-by-side:not([class=bg-]) .container,
.article.layout-text-image-side-by-side:not([class=bg-]) .content {
  padding: 0;
}

tag-line {
  display: flex;
  align-items: center;
  text-transform: uppercase;
  justify-content: center;
  gap: var(--gap);
  flex-wrap: wrap;
  font-weight: 400;
  letter-spacing: 5px;
  font-size: 1.5625em;
  line-height: 1.6;
}
tag-line span {
  display: flex;
  align-items: center;
  font-size: 0.5em;
  color: white;
  grid-row: 1;
  line-height: 2;
}
tag-line svg {
  color: var(--tagline-icon-colour, #df3035);
  display: block;
  width: 24px;
  height: 24px;
  margin-right: var(--gap);
}

side-bar form .freeform-form-success {
  background-color: #50bc08;
  color: white;
  width: calc(100% + 30px);
  padding: calc(var(--gap) * 0.5) var(--gap);
  border-radius: var(--border-radius, 6px);
  margin: 0 -15px var(--gap);
}
side-bar form .submit-row {
  margin-top: var(--gap);
}

form select {
  --font-colour: #6a6a6a;
  --background-colour: #FFFFFF;
  --border-radius: var(--border-radius, 6px);
  --border-colour: var(--font-colour);
  --border: 1px solid var(--border-colour);
  --padding: var(--gap) var(--gap);
  border-radius: var(--border-radius, 6px);
  background-color: var(--background-colour);
  border: var(--border);
  padding: var(--padding);
  font-size: 0.875em;
  color: var(--font-colour);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
  background-repeat: no-repeat;
  background-position: calc(100% - var(--gap)) center;
  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='%231E1C1C' stroke-width='2' stroke-miterlimit='10'/%3E%3C/svg%3E");
}
form select::-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, );
}
form select::placeholder {
  transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
form select:focus {
  outline-color: #131f6b;
}
form select:focus::-moz-placeholder {
  color: transparent;
}
form select:focus::placeholder {
  color: transparent;
}
form select.autocomplete:not([value=""]):focus {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
form input:not([type=checkbox]):not([type=radio]) {
  --font-colour: #6a6a6a;
  --background-colour: #FFFFFF;
  --border-radius: var(--border-radius, 6px);
  --border-colour: var(--font-colour);
  --border: 1px solid var(--border-colour);
  --padding: var(--gap) var(--gap);
  border-radius: var(--border-radius, 6px);
  background-color: var(--background-colour);
  border: var(--border);
  padding: var(--padding);
  font-size: 0.875em;
  color: var(--font-colour);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
form input:not([type=checkbox]):not([type=radio])::-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, );
}
form input:not([type=checkbox]):not([type=radio])::placeholder {
  transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
form input:not([type=checkbox]):not([type=radio]):focus {
  outline-color: #131f6b;
}
form input:not([type=checkbox]):not([type=radio]):focus::-moz-placeholder {
  color: transparent;
}
form input:not([type=checkbox]):not([type=radio]):focus::placeholder {
  color: transparent;
}
form input:not([type=checkbox]):not([type=radio]).autocomplete:not([value=""]):focus {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
form textarea {
  --font-colour: #6a6a6a;
  --background-colour: #FFFFFF;
  --border-radius: var(--border-radius, 6px);
  --border-colour: var(--font-colour);
  --border: 1px solid var(--border-colour);
  --padding: var(--gap) var(--gap);
  border-radius: var(--border-radius, 6px);
  background-color: var(--background-colour);
  border: var(--border);
  padding: var(--padding);
  font-size: 0.875em;
  color: var(--font-colour);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
form 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, );
}
form textarea::placeholder {
  transition: color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
form textarea:focus {
  outline-color: #131f6b;
}
form textarea:focus::-moz-placeholder {
  color: transparent;
}
form textarea:focus::placeholder {
  color: transparent;
}
form textarea.autocomplete:not([value=""]):focus {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
form input:-webkit-autofill,
form input:-webkit-autofill:hover,
form input:-webkit-autofill:focus,
form textarea:-webkit-autofill,
form textarea:-webkit-autofill:hover,
form textarea:-webkit-autofill:focus {
  -webkit-text-fill-color: var(--font-colour, inherit);
  -webkit-box-shadow: 0 0 0px 1000px var(--background-colour, white) inset;
}
form[data-freeform] label + div {
  font-size: 0.75em;
  margin-bottom: calc(var(--gap) * 0.5);
}
form[data-freeform] .freeform-row + .freeform-row > div {
  margin-top: var(--gap);
}
form[data-freeform] .freeform-column {
  margin: 0;
  padding: 0;
}
side-bar form label {
  color: white;
}
side-bar form label ~ div {
  color: white;
}

form#login {
  display: flex;
  flex-direction: column;
}
form#login > label ~ label {
  margin-top: var(--gap);
}
form#login div {
  display: flex;
  justify-content: space-between;
  margin-top: var(--gap);
  font-size: 0.75em;
}
@media (hover: hover) {
  form#login div a:hover {
    color: #df3035;
  }
}
form#login button {
  margin-top: var(--gap);
}

form#reset-password {
  background-color: #131f6b;
  border-radius: var(--border-radius, 6px);
  color: white;
  padding: var(--gutter1);
  display: flex;
  flex-direction: column;
}
form#reset-password button {
  margin-top: var(--gap);
}

required-notice {
  display: block;
  width: 5px;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  background: var(--notice-colour, #50bc08);
  border-top-right-radius: 6px;
  transition: background-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  border-bottom-right-radius: 6px;
}
required-notice span {
  pointer-events: none;
  white-space: nowrap;
  font-size: 0.75em;
  top: 50%;
  right: calc(100% + calc(var(--gap) * 0.5));
  border: 1px solid #dcdcdc;
  border-radius: 4px;
  background-color: white;
  padding: 4px calc(var(--gap) * 0.5);
  position: absolute;
  opacity: 0;
  transform: translate(10px, -50%);
  transition: var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
@media (hover: hover) {
  required-notice:hover span {
    transform: translate(0px, -50%);
    opacity: 1;
  }
}

form[data-handle=contactUs] .freeform-form-success,
form[data-handle=contactUs] .freeform-form-errors,
form[data-handle=powderContact] .freeform-form-success,
form[data-handle=powderContact] .freeform-form-errors {
  background-color: #50bc08;
  color: white;
  grid-column: 1/-1;
  width: 100%;
  padding: calc(var(--gap) * 0.5) var(--gap);
  border-radius: var(--border-radius, 6px);
  margin-bottom: var(--gutter1);
}
form[data-handle=contactUs] .freeform-form-errors,
form[data-handle=powderContact] .freeform-form-errors {
  background-color: #df3035;
}
form[data-handle=contactUs] .form-fields,
form[data-handle=powderContact] .form-fields {
  display: grid;
  grid-gap: var(--gutter1) var(--gutter1);
}
@media (min-width: 601px) {
  form[data-handle=contactUs] .form-fields,
  form[data-handle=powderContact] .form-fields {
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  }
  form[data-handle=contactUs] .form-fields .freeform-row:first-child,
  form[data-handle=powderContact] .form-fields .freeform-row:first-child {
    grid-row: 1;
  }
  form[data-handle=contactUs] .form-fields .freeform-row.first-name, form[data-handle=contactUs] .form-fields .freeform-row.last-name, form[data-handle=contactUs] .form-fields .freeform-row.email, form[data-handle=contactUs] .form-fields .freeform-row.company-name, form[data-handle=contactUs] .form-fields .freeform-row.contact-no, form[data-handle=contactUs] .form-fields .freeform-row.y-rqg181k-d,
  form[data-handle=powderContact] .form-fields .freeform-row.first-name,
  form[data-handle=powderContact] .form-fields .freeform-row.last-name,
  form[data-handle=powderContact] .form-fields .freeform-row.email,
  form[data-handle=powderContact] .form-fields .freeform-row.company-name,
  form[data-handle=powderContact] .form-fields .freeform-row.contact-no,
  form[data-handle=powderContact] .form-fields .freeform-row.y-rqg181k-d {
    grid-column: 1;
  }
  form[data-handle=contactUs] .form-fields .freeform-row.detailsofenquiry,
  form[data-handle=powderContact] .form-fields .freeform-row.detailsofenquiry {
    grid-column: 2;
    grid-row: 2/span 5;
  }
  form[data-handle=contactUs] .form-fields .freeform-row.submit-row,
  form[data-handle=powderContact] .form-fields .freeform-row.submit-row {
    grid-column: 2;
  }
  form[data-handle=contactUs] .form-fields button[type=submit],
  form[data-handle=powderContact] .form-fields button[type=submit] {
    align-self: flex-end;
  }
}
form[data-handle=contactUs] .form-fields h2,
form[data-handle=powderContact] .form-fields h2 {
  display: flex;
  align-items: center;
}
form[data-handle=contactUs] .form-fields h2 svg.email,
form[data-handle=powderContact] .form-fields h2 svg.email {
  width: 1em;
  margin-right: 0.5em;
  height: 1em;
  fill: #df3035;
}
form[data-handle=contactUs] .form-fields .freeform-row,
form[data-handle=powderContact] .form-fields .freeform-row {
  display: flex;
  flex-direction: column;
  position: relative;
  grid-column: 1/span 2;
}
form[data-handle=contactUs] .form-fields .freeform-row.detailsofenquiry .freeform-instructions,
form[data-handle=powderContact] .form-fields .freeform-row.detailsofenquiry .freeform-instructions {
  display: none;
}
form[data-handle=contactUs] .form-fields .freeform-row.detailsofenquiry textarea,
form[data-handle=powderContact] .form-fields .freeform-row.detailsofenquiry textarea {
  height: 100%;
}
form[data-handle=contactUs] .form-fields .freeform-row.detailsofenquiry .freeform-column,
form[data-handle=powderContact] .form-fields .freeform-row.detailsofenquiry .freeform-column {
  height: 100%;
}
form[data-handle=contactUs] .form-fields .freeform-row .freeform-column,
form[data-handle=powderContact] .form-fields .freeform-row .freeform-column {
  margin: 0;
  display: flex;
  flex-direction: column;
  position: relative;
}
form[data-handle=contactUs] .form-fields .freeform-row .freeform-column label:not(.freeform-input-only-label),
form[data-handle=powderContact] .form-fields .freeform-row .freeform-column label:not(.freeform-input-only-label) {
  display: none;
}
form[data-handle=contactUs] .form-fields .freeform-row.service-centre-contact, form[data-handle=contactUs] .form-fields .freeform-row.lead-status, form[data-handle=contactUs] .form-fields .freeform-row.internal-notes, form[data-handle=contactUs] .form-fields .freeform-row.order-value,
form[data-handle=powderContact] .form-fields .freeform-row.service-centre-contact,
form[data-handle=powderContact] .form-fields .freeform-row.lead-status,
form[data-handle=powderContact] .form-fields .freeform-row.internal-notes,
form[data-handle=powderContact] .form-fields .freeform-row.order-value {
  display: none;
}
form[data-handle=contactUs] .form-fields label.freeform-input-only-label,
form[data-handle=powderContact] .form-fields label.freeform-input-only-label {
  font-size: 0.875em;
  grid-column: 1;
}
form[data-handle=contactUs] .form-fields label.freeform-input-only-label input,
form[data-handle=powderContact] .form-fields label.freeform-input-only-label input {
  width: 20px;
  height: 20px;
  margin-right: calc(var(--gap) * 0.5);
}
form[data-handle=contactUs] .form-fields label.freeform-input-only-label input:checked,
form[data-handle=powderContact] .form-fields label.freeform-input-only-label input:checked {
  background-color: #50bc08;
}
form[data-handle=contactUs] .form-fields select,
form[data-handle=contactUs] .form-fields textarea,
form[data-handle=contactUs] .form-fields input:not([type=submit]),
form[data-handle=powderContact] .form-fields select,
form[data-handle=powderContact] .form-fields textarea,
form[data-handle=powderContact] .form-fields input:not([type=submit]) {
  --border-colour: none;
  --background-colour: white;
}
form[data-handle=contactUs] .freeform-errors,
form[data-handle=powderContact] .freeform-errors {
  color: #df3035;
  font-weight: bold;
  font-size: 0.625em;
  padding: 2px var(--gap);
  position: absolute;
  top: calc(100% - 4px);
  background-color: #df3035;
  color: white;
  width: 100%;
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
}
@media (max-width: 400px) {
  form[data-handle=contactUs] button[type=submit],
  form[data-handle=powderContact] button[type=submit] {
    width: 100%;
  }
}
form[data-handle=contactUs] .freeform-input[required]:not(:valid) ~ required-notice,
form[data-handle=powderContact] .freeform-input[required]:not(:valid) ~ required-notice {
  --notice-colour: #df3035;
}
form[data-handle=contactUs]:not(:valid) button[type=submit],
form[data-handle=powderContact]:not(:valid) button[type=submit] {
  pointer-events: none;
  --background-colour: transparent;
  --font-colour: #969695;
  --border-colour: #969695;
  --hover-background-colour: #969695;
  --hover-font-colour: #969695;
  --hover-border-colour: transparent;
}
form[data-handle=contactUs] .service-centre,
form[data-handle=powderContact] .service-centre {
  display: none !important;
}

@media (min-width: 601px) {
  form[data-handle=contactUs] .form-fields {
    grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  }
  form[data-handle=contactUs] .form-fields .freeform-row:first-child {
    grid-row: 1;
  }
  form[data-handle=contactUs] .form-fields .freeform-row.first-name, form[data-handle=contactUs] .form-fields .freeform-row.last-name, form[data-handle=contactUs] .form-fields .freeform-row.email, form[data-handle=contactUs] .form-fields .freeform-row.company-name, form[data-handle=contactUs] .form-fields .freeform-row.contact-no, form[data-handle=contactUs] .form-fields .freeform-row.y-rqg181k-d, form[data-handle=contactUs] .form-fields .freeform-row.product {
    grid-column: 1/2;
  }
  form[data-handle=contactUs] .form-fields .freeform-row.detailsofenquiry {
    grid-column: 2/-1;
    grid-row: 2/span 6;
  }
}

body#edit form textarea,
body#edit form select,
body#edit form input {
  border: 1px solid black;
}
body#edit form .submit-row {
  order: 20;
}
body#edit form .freeform-row {
  display: none;
}
body#edit form .first-name,
body#edit form .last-name,
body#edit form .email,
body#edit form .product,
body#edit form .detailsofenquiry,
body#edit form .service-centre-contact,
body#edit form .lead-status,
body#edit form .internal-notes,
body#edit form .order-value,
body#edit form .submit-row {
  display: block;
}
body#edit form .first-name .freeform-column select,
body#edit form .first-name .freeform-column textarea,
body#edit form .first-name .freeform-column input,
body#edit form .last-name .freeform-column select,
body#edit form .last-name .freeform-column textarea,
body#edit form .last-name .freeform-column input,
body#edit form .email .freeform-column select,
body#edit form .email .freeform-column textarea,
body#edit form .email .freeform-column input,
body#edit form .product .freeform-column select,
body#edit form .product .freeform-column textarea,
body#edit form .product .freeform-column input,
body#edit form .detailsofenquiry .freeform-column select,
body#edit form .detailsofenquiry .freeform-column textarea,
body#edit form .detailsofenquiry .freeform-column input,
body#edit form .service-centre-contact .freeform-column select,
body#edit form .service-centre-contact .freeform-column textarea,
body#edit form .service-centre-contact .freeform-column input,
body#edit form .lead-status .freeform-column select,
body#edit form .lead-status .freeform-column textarea,
body#edit form .lead-status .freeform-column input,
body#edit form .internal-notes .freeform-column select,
body#edit form .internal-notes .freeform-column textarea,
body#edit form .internal-notes .freeform-column input,
body#edit form .order-value .freeform-column select,
body#edit form .order-value .freeform-column textarea,
body#edit form .order-value .freeform-column input,
body#edit form .submit-row .freeform-column select,
body#edit form .submit-row .freeform-column textarea,
body#edit form .submit-row .freeform-column input {
  display: block !important;
  visibility: visible !important;
}
body#edit form .detailsofenquiry {
  grid-row: 1/span 6;
}
body#edit form .first-name,
body#edit form .last-name,
body#edit form .email,
body#edit form .product,
body#edit form .service-centre-contact {
  pointer-events: none;
}
body#edit form .first-name select,
body#edit form .first-name textarea,
body#edit form .first-name input,
body#edit form .last-name select,
body#edit form .last-name textarea,
body#edit form .last-name input,
body#edit form .email select,
body#edit form .email textarea,
body#edit form .email input,
body#edit form .product select,
body#edit form .product textarea,
body#edit form .product input,
body#edit form .service-centre-contact select,
body#edit form .service-centre-contact textarea,
body#edit form .service-centre-contact input {
  background-color: #eee;
}
body#edit form .detailsofenquiry {
  pointer-events: all;
}
body#edit form .detailsofenquiry textarea {
  background-color: #eee;
}
body#edit form .service-centre-contact .freeform-column label,
body#edit form .lead-status .freeform-column label,
body#edit form .internal-notes .freeform-column label,
body#edit form .order-value .freeform-column label {
  display: block !important;
  visibility: visible !important;
}

modal-wrapper {
  --wrapper-background-colour: rgba(255, 255, 255, 0.95);
  --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: 100%;
  width: 100%;
  background-color: var(--wrapper-background-colour);
  z-index: 10;
  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 {
  border: 2px solid var(--secondary, #df3035);
  border-radius: 50%;
  --fill:var(--secondary, #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;
  animation-name: loader-rotate;
  animation-duration: 0.5s;
  animation-iteration-count: infinite;
  transition: opacity 0.2s cubic-bezier(0.42, 0, 0.58, 1);
  animation-play-state: paused;
  opacity: 1;
  animation-play-state: running;
}
@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: 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-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: 2px solid var(--loader-colour, white);
  border-top-color: transparent;
  border-bottom-color: transparent;
  animation-name: loader-rotate;
  animation-duration: 0.5s;
  animation-iteration-count: infinite;
  transition: opacity 0.2s cubic-bezier(0.42, 0, 0.58, 1);
  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;
  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;
}

:root {
  --dialog-translate-offset: 1rem;
  --dialog-translate-enter: 0 var(--dialog-translate-offset);
  --dialog-translate-leave: 0 calc(-1 * var(--dialog-translate-offset));
  --dialog-translate-duration: 0.4s;
  --dialog-gap: var(--gutter2);
  --dialog-content-max-width: 1080px;
  --dialog-content-background-colour: white;
  --dialog-backdrop-colour: rgba(0, 0, 0, 0.5);
}

dialog.modal {
  border: none;
  overflow: initial;
  flex-direction: column;
  opacity: 0;
  translate: var(--dialog-translate-enter);
  background-color: transparent;
  transition-property: overlay, display, translate, opacity;
  transition-duration: var(--dialog-translate-duration);
  transition-timing-function: ease-in-out;
  transition-behavior: allow-discrete;
  margin: 0;
  z-index: 999;
  min-width: 100%;
  min-height: 100dvh;
  place-items: center;
  place-content: center;
}
dialog.modal *,
dialog.modal *::before,
dialog.modal *::after, dialog.modal {
  box-sizing: border-box;
}
dialog.modal::backdrop {
  transition-property: overlay, display, opacity;
  transition-duration: var(--dialog-translate-duration);
  transition-behavior: allow-discrete;
  backdrop-filter: blur(2px);
  background-color: var(--dialog-backdrop-colour);
  opacity: 0;
}
dialog.modal .dialog\:contents {
  overflow: auto;
  direction: ltr;
  border-radius: 0.6em;
  max-height: 100dvh;
  padding: var(--dialog-gap);
  background-color: var(--dialog-content-background-colour);
  width: min(100%, var(--dialog-content-max-width));
  overscroll-behavior: contain;
}
dialog.modal[open] {
  opacity: 1;
  translate: 0 0;
  display: flex;
}
@starting-style {
  dialog.modal[open] {
    opacity: 0;
    translate: var(--dialog-translate-leave);
  }
}
dialog.modal[open]::backdrop {
  opacity: 1;
}
@starting-style {
  dialog.modal[open]::backdrop {
    opacity: 0;
  }
}
dialog.modal button.dialog\:close {
  margin-block-start: calc(0.5 * var(--dialog-gap));
  align-self: center;
}
:root:has(dialog.modal[open]) [data-modal] {
  pointer-events: none;
}

.content-block {
  display: grid;
  grid-gap: var(--gutter1);
  grid-template-columns: repeat(var(--column-count), 1fr);
}
.content-block:empty {
  display: none;
}
.content-block.thin {
  padding-top: var(--gutter1);
  padding-bottom: var(--gutter1);
}
.content-block.blowout.themed ~ .content-block:not(.blowout).themed {
  margin-top: var(--spacer0);
}
.content-block:not(.blowout).themed {
  border-radius: var(--border-radius, 6px);
}
.content-block:not(.blowout).themed:not(:last-of-type) {
  margin-bottom: var(--spacer0);
}
.content-block + .content-block {
  box-shadow: 0px -1px var(--border-top-colour, #dcdcdc);
}
.content-block.horizontal-blocks {
  box-shadow: initial !important;
  display: flex;
  align-items: center;
  padding-block: var(--spacer0);
}
.content-block.horizontal-blocks:has(.text + button-container) {
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--gutter1) var(--gutter0);
}
.content-block.horizontal-blocks:has(.text + button-container) .text {
  text-align: center;
  text-wrap: balance;
}
.content-block.horizontal-blocks:has(.text + button-container) button-container .button {
  font-size: small;
}
.content-block.horizontal-blocks:has(.text + button-container) .text,
.content-block.horizontal-blocks:has(.text + button-container) button-container {
  display: contents;
}
.content-block :is(h2, h3, h4, h5, h6) {
  margin-bottom: var(--gap);
}
.content-block.grey {
  background: #f4f4f4;
}
.content-block.red {
  background: #df3035;
}
.content-block.blue {
  background: #131f6b;
}
.content-block.black {
  background: #1e1c1c;
  color: var(--font-colour);
  --heading-colour: white;
  --font-colour: white;
}
.content-block.side-by-side-components {
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  box-shadow: none !important;
}
.content-block.side-by-side-components > * {
  grid-column: auto;
  margin-top: 0;
  margin-bottom: 0;
  border-radius: 0 !important;
}
.content-block.side-by-side-components > *.container-inline {
  padding-block: var(--spacer1);
}
.content-block.side-by-side-components > *.ecoposte-banner {
  padding-top: var(--spacer1);
  align-content: flex-start;
}
main:has(> .content-block.side-by-side-components) {
  margin-top: 0 !important;
}
main:has(> .content-block.side-by-side-components) .side-by-side-components {
  padding-bottom: 0;
}

@media (width < 900px) {
  .content-block.side-by-side-components {
    grid-template-columns: 1fr;
  }
}

.text a {
  --font-colour: var(--primary, #131f6b);
}
@media (hover: hover) {
  .text a:hover {
    --font-colour: var(--secondary, #df3035);
  }
}
.text a a.button {
  text-decoration: none !important;
}
.text 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='%23DF3035' 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");
}
.text ul > li {
  position: relative;
  padding-left: calc(var(--list-style-size, 1em) * 1.8);
}
.text ul > li + li {
  margin-top: var(--line-style-spacing, var(--gap));
}
.text 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);
}
.text ol {
  counter-reset: counter;
}
.text ol > li {
  position: relative;
  display: block;
  padding-left: 22px;
  margin-left: var(--list-style-offset, 0);
}
.text ol > li + li {
  margin-top: calc(var(--gap) * 0.5);
}
.text ol > li::before {
  content: counter(counter) ".";
  counter-increment: counter;
  color: var(--list-style-colour, var(--primary));
  position: relative;
  margin-right: 0.5em;
}
.text p:empty,
.text p > br {
  display: none;
}
.text > *:not(:last-child) {
  margin-bottom: var(--gap);
}
.text > * ul,
.text > * ol {
  margin-top: var(--gap);
}
.text h2,
.text h3,
.text h4,
.text h5,
.text h6 {
  margin-bottom: var(--gap);
}
.text h2:only-child,
.text h3:only-child,
.text h4:only-child,
.text h5:only-child,
.text h6:only-child {
  margin-bottom: 0;
}
.text:has(h1:only-child) + button-container .button {
  font-size: 2.5em !important;
}
.text:has(h2:only-child) + button-container .button {
  font-size: 2.2rem !important;
}
.text:has(h3:only-child) + button-container .button {
  font-size: 1.6rem !important;
}
.text:has(h4:only-child) + button-container .button {
  font-size: 1.4rem !important;
}
.text:has(h5:only-child) + button-container .button {
  font-size: 1.2rem !important;
}
.text:has(h6:only-child) + button-container .button {
  font-size: 1.2rem !important;
}
.text .heading-h3 {
  color: var(--secondary, #df3035);
}
.text [style*="text-align: center"] {
  width: 100%;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.text .quotes {
  border-left: 5px solid #dcdcdc;
  padding-left: var(--gap);
  font-style: italic;
}
.text figure {
  display: block;
  border-radius: var(--border-radius, 6px);
  background-color: white;
  padding: var(--gap);
}
.text figure img {
  max-width: 100%;
}
.text hr {
  margin-top: var(--spacer0) !important;
  margin-bottom: var(--spacer0) !important;
}
.text .note {
  margin: calc(var(--gap) * 2) 0;
}

.dark {
  --hr-colour: rgba(255, 255, 255, 0.3);
  --list-style-colour: white;
}
.dark .text {
  color: white;
  --heading-colour: white;
}
.dark .text a.button {
  --font-colour: white;
}
.dark .text a:not(.button) {
  --font-colour: rgba(255, 255, 255, 0.7);
  text-decoration: underline;
  text-underline-offset: 2px;
}
@media (hover: hover) {
  .dark .text a:not(.button):hover {
    --font-colour: white;
  }
}
.dark.red .text 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='%23FFFFFF' cx='8' cy='8' r='8'/%3E%3Cpath fill='none' stroke='%23DF3035' 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");
}
.dark.blue .text 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='%23FFFFFF' cx='8' cy='8' r='8'/%3E%3Cpath fill='none' stroke='%23131F6B' 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");
}

.contains-svgs .text figure {
  display: block;
  margin: 0 auto;
  padding: 0 var(--gap);
}
.contains-svgs .text figure img {
  height: 120px;
}

table-container {
  display: grid;
  grid-gap: var(--gap);
}
table-container > div {
  overflow: auto;
  border-radius: var(--border-radius, 6px);
  display: grid;
}
table-container > div:not(:hover) {
  scroll-behavior: smooth;
}
table-container > div::-webkit-scrollbar {
  width: 0.9em;
  height: 0.9em;
}
table-container > div::-webkit-scrollbar-button {
  width: 0;
  height: 0;
  display: none;
}
table-container > div::-webkit-scrollbar-thumb {
  background-color: #969695;
  border-radius: 10px;
  border: 4px solid rgba(0, 0, 0, 0);
  background-clip: padding-box;
  background-color: rgba(0, 0, 0, 0.15);
}
table-container > div::-webkit-scrollbar-track {
  background-color: transparent;
}
table-container > div::-webkit-scrollbar-corner {
  background-color: transparent;
}
table-container h3 {
  margin-bottom: 0 !important;
}
table-container table.table {
  width: auto;
  grid-row: 1;
  grid-column: 1;
}
table-container table.table.fake {
  pointer-events: none;
  will-change: transform;
  transform: translateX(var(--x));
  width: calc(100% - var(--x));
  overflow: hidden;
  background-color: initial;
}
table-container table.table.fake tbody tr td {
  background: white;
  border-right: 1px #dcdcdc dashed;
}
table-container table.table.fake tbody tr:nth-of-type(odd) td {
  background: #f4f4f4;
}
table-container table.table.fake thead tr th:first-of-type {
  border-right: 1px rgba(255, 255, 255, 0.1) dashed;
}
table-container table.table.fake thead tr th:not(:first-of-type),
table-container table.table.fake tbody tr td:not(:first-of-type) {
  visibility: hidden;
}
@supports (writing-mode: vertical-lr) {
  table-container.enable-vertical-headings table.table thead tr th:not(:first-of-type) span {
    display: inline-block;
    writing-mode: vertical-lr;
    max-width: 50px;
    text-align: right;
    transform: rotate(180deg);
  }
}
table-container nav {
  align-items: flex-end;
  justify-content: flex-end;
  grid-row: 1;
  grid-column: 2;
  display: none;
}
table-container nav button.navigation {
  align-self: flex-end;
}
table-container nav button.navigation + button {
  margin-left: calc(var(--gap) * 0.5);
}
table-container nav + div {
  grid-column: 1/span 2;
}
table-container.scrolled-right button.next, table-container.scrolled-left button.previous {
  pointer-events: none;
}
table-container.enable-scroll-buttons nav {
  display: flex;
}
table-container button.navigation {
  --button-size: 40px;
  background-color: white;
  border: 1px solid #dcdcdc;
  border-radius: 50%;
  z-index: 1;
  width: var(--button-size);
  height: var(--button-size);
  position: relative;
  display: flex;
  place-items: center;
  place-content: center;
  align-self: center;
  color: #6a6a6a;
  transition: background-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, ), opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
table-container button.navigation.previous svg {
  margin-left: -2px;
}
table-container button.navigation.next svg {
  margin-left: 2px;
}
table-container button.navigation svg {
  width: calc(var(--button-size) / 2.5);
  height: calc(var(--button-size) / 2.5);
}
@media (hover: hover) {
  table-container button.navigation:hover {
    transform: scale(1.1);
    background-color: #131f6b;
    color: white;
    opacity: 1 !important;
    border-color: transparent;
  }
}
@media (min-width: 1121px) {
  table-container.enable-sticky-column thead tr th:first-child,
  table-container.enable-sticky-column tbody tr td:first-child {
    position: sticky;
    left: 0;
    z-index: 1;
  }
  table-container.enable-sticky-column tbody tr td:first-child {
    background-color: white;
  }
  table-container.enable-sticky-column tbody tr:nth-child(odd) td:first-child {
    background: linear-gradient(rgba(0, 0, 0, 0.05) 0 0), linear-gradient(white 0 0);
  }
}

table.table {
  width: 100%;
  background-color: white;
  border-collapse: collapse;
  border-radius: var(--border-radius, 6px);
  text-align: left;
  position: relative;
  border-collapse: collapse;
}
table.table thead tr th {
  background-color: var(--primary, #131f6b);
  padding: var(--gap);
  color: white;
  white-space: nowrap;
}
table.table thead tr th:first-of-type {
  border-top-left-radius: var(--border-radius, 6px);
  overflow: hidden;
}
table.table thead tr th:last-of-type {
  border-top-right-radius: var(--border-radius, 6px);
  overflow: hidden;
}
table.table tbody tr td {
  padding: calc(var(--gap) * 0.5) var(--gap);
  position: relative;
}
table.table tbody tr td:first-of-type {
  min-width: 200px;
}
table.table tbody tr td strong {
  font-weight: 700;
  color: #6a6a6a;
}
table.table tbody tr td a {
  color: #131f6b;
  text-decoration: underline;
}
@media (hover: hover) {
  table.table tbody tr td a:hover {
    color: #df3035;
  }
}
table.table tbody tr td svg {
  --fill: var(--primary, #131f6b);
  width: 1em;
  height: 1em;
}
table.table tbody tr td svg.cross {
  --fill: #df3035;
}
table.table tbody tr td svg.tick {
  --fill: #50bc08;
}
table.table tr {
  position: relative;
}
table.table tr:not(:last-of-type) {
  border-bottom: 1px solid #dcdcdc;
}
table.table tr:nth-of-type(odd) {
  background-color: #f4f4f4;
}
table.table.alternating-row-colours tbody tr:nth-child(odd) {
  background-color: rgba(0, 0, 0, 0.1);
}
table.table.last-column-is-green tbody tr td:last-of-type {
  background-color: #131f6b;
  color: white;
}

.dark table-container > h3,
.dark.content-block .tab-content > h3 {
  color: white;
}
.dark table-container > div,
.dark.content-block .tab-content > div {
  border-radius: initial;
}
.dark table-container table.table,
.dark.content-block .tab-content table.table {
  color: white;
  background-color: initial;
}
.dark table-container table.table tr th,
.dark.content-block .tab-content table.table tr th {
  background-color: rgba(255, 255, 255, 0.15);
}
.dark table-container table.table tr,
.dark.content-block .tab-content table.table tr {
  border: none !important;
}
.dark table-container table.table tr:nth-of-type(odd),
.dark.content-block .tab-content table.table tr:nth-of-type(odd) {
  background-color: rgba(255, 255, 255, 0.15);
}

figure.image.static {
  border-radius: var(--border-radius, 6px);
  background-color: white;
  border: 1px solid #f4f4f4;
  height: -moz-fit-content;
  height: fit-content;
}
figure.image.static img {
  --image-height-size: auto;
  position: relative;
}
figure.image.static figcaption {
  font-size: 0.75em;
  font-style: italic;
  padding: calc(var(--gap) * 0.5) var(--gap);
}
figure.image.static.no-caption {
  border: none;
}
figure.image.static.crop-image {
  --aspect-ratio: 16/9;
  aspect-ratio: var(--aspect-ratio);
  --aspect-ratio: inherit;
}
figure.image.static.crop-image figcaption {
  bottom: 0;
  position: absolute;
  left: 0;
  width: 100%;
  background-color: white;
}
@supports not (aspect-ratio: 16/9) {
  figure.image.static.crop-image {
    aspect-ratio: initial;
    padding-bottom: calc(100% / (var(--aspect-ratio)));
    height: 0;
  }
  figure.image.static.crop-image > * {
    position: absolute;
  }
}
figure.image.static.crop-image img {
  --image-height-size: 100%;
}

.image.load-in-view img {
  transition: opacity 0.5s cubic-bezier(0.42, 0, 0.58, 1);
}
.image.load-in-view img:not([src]) {
  opacity: 0;
}

images-container {
  width: 100%;
  display: grid;
  grid-gap: var(--gutter0);
  grid-template-columns: repeat(auto-fill, minmax(calc(var(--main-max-width) / (var(--images-per-row) + 1)), 1fr));
}
images-container.crop-images .image {
  --aspect-ratio: 4/3;
  aspect-ratio: var(--aspect-ratio);
  --aspect-ratio: inherit;
}
@supports not (aspect-ratio: 4/3) {
  images-container.crop-images .image {
    aspect-ratio: initial;
    padding-bottom: calc(100% / (var(--aspect-ratio)));
    height: 0;
  }
  images-container.crop-images .image > * {
    position: absolute;
  }
}
images-container.crop-images .image img {
  --image-height-size: 100%;
}
@supports not (aspect-ratio: 1/1) {
  images-container.crop-images .image img {
    position: absolute;
  }
}
images-container.crop-images .image figcaption {
  bottom: 0;
  position: absolute;
  left: 0;
  width: 100%;
  background-color: white;
}

tabbed-content {
  display: flex;
  flex-direction: column;
  width: 100%;
}
tabbed-content > nav button {
  transition: var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
tabbed-content > nav button[aria-selected=true] {
  pointer-events: none;
}
tabbed-content > nav button svg {
  width: 10px;
  height: 10px;
}
tabbed-content summary {
  display: none;
  --font-colour: white;
  --background-colour: var(--primary, #131f6b);
  background-color: var(--background-colour);
  position: relative;
  cursor: pointer;
  padding-top: var(--gap);
  padding-bottom: var(--gap);
  padding-left: var(--gutter1);
  padding-right: var(--gutter1);
  border-radius: var(--border-radius, 6px);
  align-items: center;
  transition: background-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, ), border-radius var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  outline: none;
  justify-content: space-between;
}
tabbed-content summary::marker {
  display: none;
}
tabbed-content summary, tabbed-content summary .heading {
  color: var(--font-colour);
  font-family: lato, sans-serif;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1.0625em;
  line-height: 1.6;
}
tabbed-content summary .heading {
  margin-bottom: 0;
}
tabbed-content summary svg {
  height: 8px;
  transition: transform var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  position: absolute;
  right: var(--gutter1);
  top: calc(50% - 4px);
}
tabbed-content summary:hover, tabbed-content details[open] summary:hover {
  --background-colour:#1c2d9c;
}
tabbed-content .tab-content {
  grid-gap: var(--spacer0) 0;
  outline: none;
  position: relative;
  grid-auto-rows: min-content;
}
tabbed-content .tab-content:not([hidden]) {
  display: grid;
}
tabbed-content .tab-content .heading-h4 {
  font-size: 1.5625em;
  line-height: 1.6;
  color: #df3035;
}
tabbed-content .tab-content .heading-h5 {
  font-size: 1.0625em;
  line-height: 1.6;
}
tabbed-content .tab-content .table-container {
  display: inline-flex;
  flex-direction: column;
}
tabbed-content .tab-content .table-container.halves {
  max-width: 40%;
  margin: 0 5% 0 0;
}
tabbed-content .tab-content .table-container.halves:nth-of-type(2n) {
  margin: 0 0 0 5%;
}
tabbed-content .tab-content .table-container.thirds {
  max-width: 30%;
}
tabbed-content .tab-content .table-container.thirds:nth-of-type(3n - 1) {
  margin: 0 5%;
}
tabbed-content table-container {
  width: 100%;
}
tabbed-content:not([data-style="3"]).in-view > nav button[aria-selected=true] {
  color: var(--secondary, #df3035);
}
@media (min-width: 980px) and (max-width: 1300px), (max-width: 700px) {
  tabbed-content:not(.markets).allow-breakpoint-restyling {
    grid-gap: var(--gap) !important;
    display: grid;
  }
  tabbed-content:not(.markets).allow-breakpoint-restyling > nav {
    display: none !important;
  }
  tabbed-content:not(.markets).allow-breakpoint-restyling details {
    grid-column: 1/-1;
  }
  tabbed-content:not(.markets).allow-breakpoint-restyling details[hidden] {
    display: block;
  }
  tabbed-content:not(.markets).allow-breakpoint-restyling details summary {
    display: flex;
  }
  tabbed-content:not(.markets).allow-breakpoint-restyling details .tab-content {
    padding: var(--spacer0) var(--gutter1) !important;
    border-bottom: 1px solid #dcdcdc;
    border-left: 1px solid #dcdcdc;
    border-right: 1px solid #dcdcdc;
    overflow: hidden;
    background-color: white;
    border-bottom-left-radius: var(--border-radius, 6px);
    border-bottom-right-radius: var(--border-radius, 6px);
  }
  tabbed-content:not(.markets).allow-breakpoint-restyling details .tab-content > * {
    transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
    opacity: 0;
  }
  tabbed-content:not(.markets).allow-breakpoint-restyling details .tab-content figure.image {
    flex-direction: column;
  }
  tabbed-content:not(.markets).allow-breakpoint-restyling details[open] summary {
    --background-colour:#0f1956;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
  tabbed-content:not(.markets).allow-breakpoint-restyling details[open] summary svg {
    transform: rotate(180deg);
  }
  tabbed-content:not(.markets).allow-breakpoint-restyling details[open] .tab-content > * {
    opacity: 1;
  }
}
tabbed-content[data-style="4"].allow-breakpoint-restyling {
  grid-gap: var(--gap) !important;
  display: grid;
}
tabbed-content[data-style="4"].allow-breakpoint-restyling > nav {
  display: none !important;
}
tabbed-content[data-style="4"].allow-breakpoint-restyling details {
  grid-column: 1/-1;
}
tabbed-content[data-style="4"].allow-breakpoint-restyling details[hidden] {
  display: block;
}
tabbed-content[data-style="4"].allow-breakpoint-restyling details summary {
  display: flex;
}
tabbed-content[data-style="4"].allow-breakpoint-restyling details .tab-content {
  padding: var(--spacer0) var(--gutter1) !important;
  border-bottom: 1px solid #dcdcdc;
  border-left: 1px solid #dcdcdc;
  border-right: 1px solid #dcdcdc;
  overflow: hidden;
  background-color: white;
  border-bottom-left-radius: var(--border-radius, 6px);
  border-bottom-right-radius: var(--border-radius, 6px);
}
tabbed-content[data-style="4"].allow-breakpoint-restyling details .tab-content > * {
  transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  opacity: 0;
}
tabbed-content[data-style="4"].allow-breakpoint-restyling details .tab-content figure.image {
  flex-direction: column;
}
tabbed-content[data-style="4"].allow-breakpoint-restyling details[open] summary {
  --background-colour:#0f1956;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
tabbed-content[data-style="4"].allow-breakpoint-restyling details[open] summary svg {
  transform: rotate(180deg);
}
tabbed-content[data-style="4"].allow-breakpoint-restyling details[open] .tab-content > * {
  opacity: 1;
}
@media (max-width: 1000px) {
  tabbed-content.markets.allow-breakpoint-restyling {
    grid-gap: var(--gap) !important;
    display: grid;
  }
  tabbed-content.markets.allow-breakpoint-restyling > nav {
    display: none !important;
  }
  tabbed-content.markets.allow-breakpoint-restyling details {
    grid-column: 1/-1;
  }
  tabbed-content.markets.allow-breakpoint-restyling details[hidden] {
    display: block;
  }
  tabbed-content.markets.allow-breakpoint-restyling details summary {
    display: flex;
  }
  tabbed-content.markets.allow-breakpoint-restyling details .tab-content {
    padding: var(--spacer0) var(--gutter1) !important;
    border-bottom: 1px solid #dcdcdc;
    border-left: 1px solid #dcdcdc;
    border-right: 1px solid #dcdcdc;
    overflow: hidden;
    background-color: white;
    border-bottom-left-radius: var(--border-radius, 6px);
    border-bottom-right-radius: var(--border-radius, 6px);
  }
  tabbed-content.markets.allow-breakpoint-restyling details .tab-content > * {
    transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
    opacity: 0;
  }
  tabbed-content.markets.allow-breakpoint-restyling details .tab-content figure.image {
    flex-direction: column;
  }
  tabbed-content.markets.allow-breakpoint-restyling details[open] summary {
    --background-colour:#0f1956;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
  tabbed-content.markets.allow-breakpoint-restyling details[open] summary svg {
    transform: rotate(180deg);
  }
  tabbed-content.markets.allow-breakpoint-restyling details[open] .tab-content > * {
    opacity: 1;
  }
}

tabbed-content[data-style="1"] {
  --side-nav-width: 200px;
  display: grid;
  grid-template-columns: var(--side-nav-width) 1fr;
  grid-gap: var(--gutter1);
}
tabbed-content[data-style="1"] > nav {
  display: flex;
  flex-direction: column;
  position: sticky;
  height: -moz-fit-content;
  height: fit-content;
  top: calc(var(--breadcrumb-height) + var(--anchors-height) - var(--gutter1));
}
tabbed-content[data-style="1"] > nav button {
  padding: var(--gap) 0;
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
tabbed-content[data-style="1"] > nav button svg {
  margin-left: var(--gap);
}
tabbed-content[data-style="1"] > nav button + button {
  border-top: 1px solid #dcdcdc;
}

tabbed-content[data-style="2"] > nav {
  display: flex;
  justify-content: center;
}
tabbed-content[data-style="2"] > nav button {
  padding: calc(var(--gap) * 2) var(--gutter2);
  text-align: center;
  border: 1px solid #dcdcdc;
  border-bottom: none;
  border-top-left-radius: var(--border-radius, 6px);
  border-top-right-radius: var(--border-radius, 6px);
  margin-left: calc(var(--gap) * 0.5);
  margin-right: calc(var(--gap) * 0.5);
  font-size: 0.875em;
  background-color: white;
  color: var(--primary, #131f6b);
  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, ), border-color var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
tabbed-content[data-style="2"] > nav button svg {
  display: none;
}
@media (hover: hover) {
  tabbed-content[data-style="2"] > nav button:hover {
    color: var(--secondary, #df3035);
  }
}
tabbed-content[data-style="2"] > nav button[aria-selected=true] {
  background-color: #f4f4f4;
  border-color: transparent;
}
tabbed-content[data-style="2"] .tab-content {
  padding: var(--spacer1) var(--gutter1);
  background: linear-gradient(#f4f4f4, white);
}
tabbed-content[data-style="2"].inview nav button[aria-selected=true] {
  background-color: #f4f4f4;
  color: var(--secondary, #df3035);
}
@media (max-width: 480px) {
  tabbed-content[data-style="2"]:not(.allow-breakpoint-restyling)[data-count="2"] [role=tab] {
    width: 50%;
    padding: var(--gap);
  }
}

tabbed-content[data-style="3"] > nav {
  display: flex;
  justify-content: center;
  margin-bottom: var(--gap);
  border-radius: 50px;
  border: 1px solid #dcdcdc;
  align-self: center;
  background-color: white;
  position: relative;
}
tabbed-content[data-style="3"] > nav button {
  position: relative;
  text-align: center;
  border: none !important;
  text-transform: uppercase;
  font-size: 0.875em;
  border-radius: inherit;
  z-index: 1;
  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, );
  padding: var(--gap) var(--gutter1);
}
tabbed-content[data-style="3"] > nav button svg {
  display: none;
}
tabbed-content[data-style="3"] > nav button[aria-selected=true] {
  color: white;
}
@media (hover: hover) {
  tabbed-content[data-style="3"] > nav button:not([aria-selected=true]):hover {
    color: #df3035;
  }
}
tabbed-content[data-style="3"] > nav:not(.has-marker) button[aria-selected=true] {
  background-color: #131f6b;
}
tabbed-content[data-style="3"] > nav mark {
  background-color: initial;
  color: inherit;
  border-radius: initial;
  padding: initial;
  transition: initial;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background-color: #131f6b;
  width: 50%;
  border-radius: inherit;
  pointer-events: none;
  opacity: 0;
  transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
tabbed-content[data-style="3"] > nav mark.active {
  opacity: 1;
}
tabbed-content[data-style="3"] .tab-content {
  padding: var(--gutter1) 0;
}

.experts-in-your-business {
  --secondary: #df3035;
  position: relative;
  align-content: flex-start;
}
side-bar .experts-in-your-business {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  order: 999;
}
side-bar .experts-in-your-business .container-inline {
  padding: var(--gutter2) !important;
}
side-bar .experts-in-your-business .container-inline > .text {
  padding-top: 0;
}

.experts-in-your-business.themed .container-inline {
  padding: var(--gutter1) var(--gutter1) var(--gutter1) var(--gutter2);
}
.experts-in-your-business .text {
  padding-block-start: var(--gutter1);
}
.experts-in-your-business .text 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='%23DF3035' 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") !important;
}
.experts-in-your-business .text > h2 {
  margin-bottom: var(--gutter1);
}
.experts-in-your-business button-container {
  gap: var(--gap);
}
.experts-in-your-business button-container .button {
  margin: 0;
}
.experts-in-your-business figure.image.static {
  background-color: transparent;
  grid-column: 2;
  grid-row: 1/span 2;
  max-width: 260px;
  border-radius: 0;
  align-self: end;
  justify-self: flex-end;
  margin-bottom: var(--gutter2-);
}
.experts-in-your-business .container-inline {
  isolation: isolate;
  display: grid;
  gap: var(--gutter1);
  height: 100%;
  align-self: stretch;
}
.experts-in-your-business .container-inline > *:not(figure) {
  grid-column: 1;
}
@container (width < 500px) {
  .experts-in-your-business .container-inline figure.image.static {
    position: absolute;
    opacity: 0.1;
    z-index: -1;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJhc2UuY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9SaWdodG9uJTIwQmxhY2tidXJuL1dlYnNpdGUvbm9kZV9tb2R1bGVzL0Bkb2dnaXN0eWxlL3Nhc3MvbGlicmFyeS9zcmMvY29sbGVjdGlvbnMvbm9ybWFsaXNlcnMvX2Jyb3dzZXIuc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvUmlnaHRvbiUyMEJsYWNrYnVybi9XZWJzaXRlL3NyYy9zYXNzL19jb3JlL19pbmRleC5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9SaWdodG9uJTIwQmxhY2tidXJuL1dlYnNpdGUvbm9kZV9tb2R1bGVzL0Bkb2dnaXN0eWxlL3Nhc3MvbGlicmFyeS9zcmMvaGVscGVycy9fYnJlYWsuc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvUmlnaHRvbiUyMEJsYWNrYnVybi9XZWJzaXRlL25vZGVfbW9kdWxlcy9AZG9nZ2lzdHlsZS9zYXNzL2xpYnJhcnkvc3JjL2NvbGxlY3Rpb25zL3N0eWxpbmcvX2ltYWdlLnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL1JpZ2h0b24lMjBCbGFja2J1cm4vV2Vic2l0ZS9ub2RlX21vZHVsZXMvQGRvZ2dpc3R5bGUvc2Fzcy9saWJyYXJ5L3NyYy9jb2xsZWN0aW9ucy9zdHlsaW5nL19hc3BlY3QtcmF0aW8uc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvUmlnaHRvbiUyMEJsYWNrYnVybi9XZWJzaXRlL3NyYy9zYXNzL19lbGVtZW50cy92aWRlby5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9SaWdodG9uJTIwQmxhY2tidXJuL1dlYnNpdGUvc3JjL3Nhc3MvX2VsZW1lbnRzL21hcmsuc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvUmlnaHRvbiUyMEJsYWNrYnVybi9XZWJzaXRlL3NyYy9zYXNzL192YXJpYWJsZXMvY29sb3Vycy5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9SaWdodG9uJTIwQmxhY2tidXJuL1dlYnNpdGUvc3JjL3Nhc3MvX2VsZW1lbnRzL2J1dHRvbi5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9SaWdodG9uJTIwQmxhY2tidXJuL1dlYnNpdGUvbm9kZV9tb2R1bGVzL0Bkb2dnaXN0eWxlL3Nhc3MvbGlicmFyeS9zcmMvY3JlYXRlL191bml0cy5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9SaWdodG9uJTIwQmxhY2tidXJuL1dlYnNpdGUvbm9kZV9tb2R1bGVzL0Bkb2dnaXN0eWxlL3Nhc3MvbGlicmFyeS9zcmMvY29sbGVjdGlvbnMvc3R5bGluZy9faG92ZXIuc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvUmlnaHRvbiUyMEJsYWNrYnVybi9XZWJzaXRlL3NyYy9zYXNzL19jb3JlL2N1c3RvbS1wcm9wZXJ0aWVzLnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL1JpZ2h0b24lMjBCbGFja2J1cm4vV2Vic2l0ZS9zcmMvc2Fzcy9fY29yZS90eXBvZ3JhcGh5LnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL1JpZ2h0b24lMjBCbGFja2J1cm4vV2Vic2l0ZS9zcmMvc2Fzcy9fdmFyaWFibGVzL2ZvbnRzLnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL1JpZ2h0b24lMjBCbGFja2J1cm4vV2Vic2l0ZS9ub2RlX21vZHVsZXMvQGRvZ2dpc3R5bGUvc2Fzcy9saWJyYXJ5L3NyYy9jb2xsZWN0aW9ucy9mb250L19yZXNwb25zaXZlLWZvbnRzaXplLnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL1JpZ2h0b24lMjBCbGFja2J1cm4vV2Vic2l0ZS9ub2RlX21vZHVsZXMvQGRvZ2dpc3R5bGUvc2Fzcy9saWJyYXJ5L3NyYy9jcmVhdGUvX2hlYWRpbmdzLnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL1JpZ2h0b24lMjBCbGFja2J1cm4vV2Vic2l0ZS9zcmMvc2Fzcy9fdmFyaWFibGVzL3VuaXRzLnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL1JpZ2h0b24lMjBCbGFja2J1cm4vV2Vic2l0ZS9zcmMvc2Fzcy9fY29yZS9sYXlvdXQuc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvUmlnaHRvbiUyMEJsYWNrYnVybi9XZWJzaXRlL25vZGVfbW9kdWxlcy9AZG9nZ2lzdHlsZS9zYXNzL2xpYnJhcnkvc3JjL2NyZWF0ZS9fYnJlYWtwb2ludHMuc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvUmlnaHRvbiUyMEJsYWNrYnVybi9XZWJzaXRlL25vZGVfbW9kdWxlcy9AZG9nZ2lzdHlsZS9zYXNzL2xpYnJhcnkvc3JjL2NvbGxlY3Rpb25zL3N0eWxpbmcvX2JhY2tncm91bmQuc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvUmlnaHRvbiUyMEJsYWNrYnVybi9XZWJzaXRlL25vZGVfbW9kdWxlcy9AZG9nZ2lzdHlsZS9zYXNzL2xpYnJhcnkvc3JjL2NvbGxlY3Rpb25zL3N0eWxpbmcvX3Bvc2l0aW9uLnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL1JpZ2h0b24lMjBCbGFja2J1cm4vV2Vic2l0ZS9zcmMvc2Fzcy9fZWxlbWVudHMvY29tcG9uZW50LnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL1JpZ2h0b24lMjBCbGFja2J1cm4vV2Vic2l0ZS9zcmMvc2Fzcy9jb21wb25lbnRzL3NlY3Rpb25zL25hdmlnYXRpb24tYmFyLnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL1JpZ2h0b24lMjBCbGFja2J1cm4vV2Vic2l0ZS9ub2RlX21vZHVsZXMvQGRvZ2dpc3R5bGUvc2Fzcy9saWJyYXJ5L3NyYy9jcmVhdGUvX3BhbGV0dGUuc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvUmlnaHRvbiUyMEJsYWNrYnVybi9XZWJzaXRlL3NyYy9zYXNzL19lbGVtZW50cy9sb2FkZXIuc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvUmlnaHRvbiUyMEJsYWNrYnVybi9XZWJzaXRlL25vZGVfbW9kdWxlcy9AZG9nZ2lzdHlsZS9zYXNzL2xpYnJhcnkvc3JjL2hlbHBlcnMvX2Jyb3dzZXIuc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvUmlnaHRvbiUyMEJsYWNrYnVybi9XZWJzaXRlL3NyYy9zYXNzL2NvbXBvbmVudHMvc2VjdGlvbnMvZHJvcGRvd24tbWVudS5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9SaWdodG9uJTIwQmxhY2tidXJuL1dlYnNpdGUvc3JjL3Nhc3MvX2VsZW1lbnRzL3Njcm9sbC5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9SaWdodG9uJTIwQmxhY2tidXJuL1dlYnNpdGUvc3JjL3Nhc3MvY29tcG9uZW50cy9zZWN0aW9ucy9oZWFkZXIuc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvUmlnaHRvbiUyMEJsYWNrYnVybi9XZWJzaXRlL3NyYy9zYXNzL2NvbXBvbmVudHMvc2VjdGlvbnMvZm9vdGVyLnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL1JpZ2h0b24lMjBCbGFja2J1cm4vV2Vic2l0ZS9ub2RlX21vZHVsZXMvQGRvZ2dpc3R5bGUvc2Fzcy9saWJyYXJ5L3NyYy9jb2xsZWN0aW9ucy9mb250L19jcm9wLnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL1JpZ2h0b24lMjBCbGFja2J1cm4vV2Vic2l0ZS9zcmMvc2Fzcy9jb21wb25lbnRzL3NlY3Rpb25zL2JhY2tncm91bmQtaW1hZ2Uuc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvUmlnaHRvbiUyMEJsYWNrYnVybi9XZWJzaXRlL3NyYy9zYXNzL2NvbXBvbmVudHMvc2VjdGlvbnMvYmFja2dyb3VuZC12aWRlby5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9SaWdodG9uJTIwQmxhY2tidXJuL1dlYnNpdGUvc3JjL3Nhc3MvY29tcG9uZW50cy9zZWN0aW9ucy9icmVhZGNydW1icy1iYXIuc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvUmlnaHRvbiUyMEJsYWNrYnVybi9XZWJzaXRlL3NyYy9zYXNzL2NvbXBvbmVudHMvc2VjdGlvbnMvYW5jaG9ycy1iYXIuc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvUmlnaHRvbiUyMEJsYWNrYnVybi9XZWJzaXRlL3NyYy9zYXNzL2NvbXBvbmVudHMvc2VjdGlvbnMvc2lkZS1iYXIuc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvUmlnaHRvbiUyMEJsYWNrYnVybi9XZWJzaXRlL3NyYy9zYXNzL2NvbXBvbmVudHMvcGFydGlhbHMvc29jaWFsLW1lZGlhLnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL1JpZ2h0b24lMjBCbGFja2J1cm4vV2Vic2l0ZS9zcmMvc2Fzcy9fdmFyaWFibGVzL3RyYW5zaXRpb24uc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvUmlnaHRvbiUyMEJsYWNrYnVybi9XZWJzaXRlL3NyYy9zYXNzL2NvbXBvbmVudHMvcGFydGlhbHMvYXJ0aWNsZS5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9SaWdodG9uJTIwQmxhY2tidXJuL1dlYnNpdGUvc3JjL3Nhc3MvY29tcG9uZW50cy9wYXJ0aWFscy90YWctbGluZS5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9SaWdodG9uJTIwQmxhY2tidXJuL1dlYnNpdGUvc3JjL3Nhc3MvY29tcG9uZW50cy9mb3Jtcy5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9SaWdodG9uJTIwQmxhY2tidXJuL1dlYnNpdGUvc3JjL3Nhc3MvX2VsZW1lbnRzL2Zvcm0uc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvUmlnaHRvbiUyMEJsYWNrYnVybi9XZWJzaXRlL3NyYy9zYXNzL2NvbXBvbmVudHMvbW9kYWwuc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvUmlnaHRvbiUyMEJsYWNrYnVybi9XZWJzaXRlL3NyYy9zYXNzL2NvbXBvbmVudHMvZGlhbG9nLnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL1JpZ2h0b24lMjBCbGFja2J1cm4vV2Vic2l0ZS9zcmMvc2Fzcy9jb21wb25lbnRzL2NvbnRlbnQtYmxvY2tzL19pbmRleC5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9SaWdodG9uJTIwQmxhY2tidXJuL1dlYnNpdGUvc3JjL3Nhc3MvY29tcG9uZW50cy9jb250ZW50LWJsb2Nrcy90ZXh0LnNjc3MiLCJmaWxlOi9Vc2Vycy9tYXJrbm90dG9uL1Byb2plY3RzL1JpZ2h0b24lMjBCbGFja2J1cm4vV2Vic2l0ZS9zcmMvc2Fzcy9fZWxlbWVudHMvbGlzdC5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9SaWdodG9uJTIwQmxhY2tidXJuL1dlYnNpdGUvc3JjL3Nhc3MvY29tcG9uZW50cy9jb250ZW50LWJsb2Nrcy90YWJsZS5zY3NzIiwiZmlsZTovVXNlcnMvbWFya25vdHRvbi9Qcm9qZWN0cy9SaWdodG9uJTIwQmxhY2tidXJuL1dlYnNpdGUvc3JjL3Nhc3MvY29tcG9uZW50cy9jb250ZW50LWJsb2Nrcy9pbWFnZXMuc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvUmlnaHRvbiUyMEJsYWNrYnVybi9XZWJzaXRlL3NyYy9zYXNzL2NvbXBvbmVudHMvY29udGVudC1ibG9ja3MvdGFiYmVkLWNvbnRlbnQuc2NzcyIsImZpbGU6L1VzZXJzL21hcmtub3R0b24vUHJvamVjdHMvUmlnaHRvbiUyMEJsYWNrYnVybi9XZWJzaXRlL3NyYy9zYXNzL2NvbXBvbmVudHMvY29udGVudC1ibG9ja3MvY3VzdG9tL2V4cGVydHMtaW4teW91ci1idXNpbmVzcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQzJCZDs7Ozs7OztFQU9DLFNBQUE7RUFDQSxVQUFBO0VBQ0EsU0FBQTtFQUNBLHdCQUFBO0FEekJIOztBQzRCRTtFQUNDLHNCQUFBO0VBQ0EsOEJBQUE7QUR6Qkg7O0FDNEJFO0VBRUMsbUJBQUE7QUQxQkg7QUN5Qkc7RUFBVSxVQUFBO0FEdEJiOztBQzBCRTtFQUNDLFlBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7QUR2Qkg7O0FDMEJFO0VBQ0Msb0JBQUE7RUFDQSxxQkFBQTtBRHZCSDs7QUMwQkU7RUFDQyxnQkFBQTtBRHZCSDs7QUMyQkc7RUFBVSxhQUFBO0FEdkJiOztBQzBCRTtFQUNDLGNBQUE7QUR2Qkg7O0FDMEJFO0VBQWMsaUJBQUE7QUR0QmhCOztBQ3dCRTtFQUFVLGNBQUE7QURwQlo7O0FDc0JFO0VBQ0Msa0JBQUE7RUFDQSx3QkFBQTtBRG5CSDtBQ29CRztFQUF1QyxhQUFBO0FEakIxQzs7QUNvQkU7RUFBVyxhQUFBO0FEaEJiOztBQ2tCRTtFQUFXLGFBQUE7QURkYjs7QUN3QkU7RUFDQyxrQ0FBQTtFQUNBLG1DQUFBO0VBQ0EsV0FBQTtBRHJCSDs7QUN3QkU7RUFDQyxrQkFBQTtBRHJCSDs7QUNnQ0U7RUFDQywwQkFBQTtFQUNBLHlCQUFBO0VBQ0EseUJBQUE7RUFDQSx1QkFBQTtFQUNBLG1CQUFBO0FEN0JIOztBQ3dDRTtFQUNDLFlBQUE7RUFD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azlCUjtBQUNGO0FHanBDRTtFZXdNQTtJQUNFLHFCQUFBO0VsQjQ4QkY7QUFDRjtBa0JyOEJJO0VBQ0UsbUJBeE1hO0FsQitvQ25CO0FrQnQ4Qk07RUFDRSw0Q0FBQTtBbEJ3OEJSO0FrQnY4QlE7RUFDRSw0QkFBQTtBbEJ5OEJWO0FrQnY4QlE7RUFDRSw2Q0FBQTtBbEJ5OEJWO0FrQmo5Qkk7RUFDRSxtQkF4TWE7QWxCMnBDbkI7QWtCbDlCTTtFQUNFLDRDQUFBO0FsQm85QlI7QWtCbjlCUTtFQUNFLDRCQUFBO0FsQnE5QlY7QWtCbjlCUTtFQUNFLDZDQUFBO0FsQnE5QlY7QWtCNzlCSTtFQUNFLG1CQXhNYTtBbEJ1cUNuQjtBa0I5OUJNO0VBQ0UsNENBQUE7QWxCZytCUjtBa0IvOUJRO0VBQ0UsNEJBQUE7QWxCaStCVjtBa0IvOUJRO0VBQ0UsNkNBQUE7QWxCaStCVjtBa0J6K0JJO0VBQ0UsbUJBeE1hO0FsQm1yQ25CO0FrQjErQk07RUFDRSw0Q0FBQTtBbEI0K0JSO0FrQjMrQlE7RUFDRSw0QkFBQTtBbEI2K0JWO0FrQjMrQlE7RUFDRSw2Q0FBQTtBbEI2K0JWO0FrQngrQkU7RUFDRSw0QlJ0R087RVF1R1AsNkJSdkdPO0VRd0dQLDZCUm5JTztFUW9JUCwwQlJwSU87RVFxSVAsd0NEL0xhO0FqQnlxQ2pCO0FrQnorQkk7RUFDRSx5QkFBQTtBbEIyK0JOO0FrQjErQk07O0VBRUUsMkJSMUkrQjtBVnNuQ3ZDOztBb0J4dENFO0VBQ0UsV0FBQTtFQUNGLHlCQUFBO0VBQ0EsV0FBQTtFQ2FBLGtCQUFBO0VBU0UsTUFBQTtFQUNBLFNBQUE7RUFDQSxZQUFBO0VBQ0EsWUFBQTtFQUNBLDhDQUFBO0VIbU9BLG1CQUFBO0FsQnErQko7QUdqdUNFO0VpQkpBO0lGcVBJLGtCQUFBO0lBQ0EsMkJSMU1xQjtJUTJNckIsZ0RBQUE7RWxCby9CSjtBQUNGO0FHeHVDRTtFaUJKQTtJRjBQSSxrQkFBQTtJQUNBLE9BQUE7SUFDQSw0QlIvSGlDO0lRZ0lqQywrQ0FBQTtFbEJzL0JKO0FBQ0Y7QUd0dkNFO0VlcVFTO0lBN1BULGVBQUE7SUFDQSxnREFBQTtJQUNBLHFCQUFBO0lBOFBJLG1DQUFBO0VsQnEvQko7QUFDRjtBRzl2Q0U7RWVxUVM7SUF6UFAsMERBQUE7RWxCc3ZDRjtBQUNGOztBa0J4L0JXO0VBblFULGVBQUE7RUFDQSxnREFBQTtFQUNBLHFCQUFBO0VBbVFFLG1DQUFBO0FsQjYvQko7QUcxd0NFO0VlMlFTO0lBL1BQLDBEQUFBO0VsQmt3Q0Y7QUFDRjs7QWtCNS9CQTs7RUFFRSxXQUFBO0VBQ0EsK0JBQUE7RUFDQSxpQkFBQTtBbEIrL0JGO0FrQjkvQkU7O0VBQ0UsbUJBQUE7QWxCaWdDSjs7QWtCNy9CQTs7RUFFRSxnQ0FBQTtFQUNBLFVBQUE7QWxCZ2dDRjtBa0I5L0JFOztFQUNFLFVBQUE7QWxCaWdDSjs7QWtCMy9CQTtFQUNFLHVCQUFBO0VBQ0EscUJBQUE7RUFDQSw2QlJ2TVM7RVF3TVQsOEJBQUE7QWxCOC9CRjtBa0I3L0JFO0VBQ0UsZ0JBQUE7RUFDQSxrQkFBQTtBbEIrL0JKO0FrQjkvQkk7RUFDRSx1QkFBQTtBbEJnZ0NOO0FrQjcvQkU7RUFDRSxpQkFBQTtFQUNBLFdBQUE7RUFDQSxxQkFBQTtFQUNBLHVCQUFBO0VBQ0EscUNBQUE7QWxCKy9CSjs7QWtCMS9CQTtFQUNFLHNEQUFBO0FsQjYvQkY7O0FrQjEvQkE7RUFDRSxtQkFBQTtBbEI2L0JGOztBa0IzL0JBO0VBQ0UsYUFBQTtFQUNBLG1CQUFBO0FsQjgvQkY7O0FrQjUvQkE7O0VBRUUsbUJBQUE7QWxCKy9CRjs7QWtCMy9CQTs7RUFFRSxzREFBQTtBbEI4L0JGOztBa0IzL0JBOztFQUVFLDhCQUFBO0FsQjgvQkY7O0FrQngvQkE7O0VBRUUsYUFBQTtBbEIyL0JGOztBa0J2L0JBO0VBQ0UsMEJSaFFTO0FWMHZDWDs7QWtCeC9CQTtFQUNFLDZCUm5RUztBVjh2Q1g7O0FrQnYvQkE7RUFDRSwwQlJ4UVM7QVZrd0NYOztBa0J2L0JBO0VBQ0UsYUFBQTtBbEIwL0JGOztBa0J2L0JBO0VBQ0UsY0FBQTtFQUNBLGlCQUFBO0FsQjAvQkY7O0FzQnIxQ1c7RUorVlQsc0JBQUE7RUFDQSxpQ0FBQTtBbEIwL0JGOztBc0IxMUNXO0VKb1dULG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsYUFBQTtBbEIwL0JGO0FrQngvQkU7O0VBRUUsNEJBQUE7QWxCMC9CSjtBa0J4L0JFOztFQUVFLG1CQUFBO0FsQjAvQko7QWtCdi9CRTtFQUNFLE1BQUE7QWxCeS9CSjtBR3Q0Q0U7RW1CMEJTO0lKdVhQLHlCQUFBO0VsQnkvQkY7RWtCeC9CRTs7O0lBR0UsaURBQUE7RWxCMC9CSjtBQUNGOztBc0J0M0NXO0VKaVlULG1CQUFBO0VBQ0Esb0JBQUE7RUFDQSxlQUFBO0VBQ0EsYUFBQTtBbEJ5L0JGO0FrQnYvQkU7O0VBRUUsNEJBQUE7QWxCeS9CSjtBa0J2L0JFOztFQUVFLG1CQUFBO0FsQnkvQko7QWtCdC9CRTtFQUNFLE1BQUE7QWxCdy9CSjtBR2w2Q0U7RW1CMEJTO0lKb1pQLHlCQUFBO0VsQncvQkY7RWtCdi9CRTs7O0lBR0UsaURBQUE7RWxCeS9CSjtBQUNGOztBc0JsNUNXO0VKOFpULG1CQUFBO0VBQ0EsZUFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtBbEJ3L0JGO0FrQnQvQkU7O0VBRUUsNEJBQUE7QWxCdy9CSjtBa0J0L0JFOztFQUVFLG1CQUFBO0FsQncvQko7QUczN0NFO0VtQjBCUztJSmtiUCx5QkFBQTtFbEJtL0JGO0VrQngvQkU7OztJQUdFLG1CUjNVSztFVnEwQ1Q7QUFDRjs7QUcvN0NFO0VlNGNFO0lBQ0UsY0FBQTtFbEJ1L0JKO0FBQ0Y7O0FrQmgvQkU7RUFFRSxhQUFBO0VBQ0Esd0JSL1ZPO0VRZ1dQLDBCQUFBO0FsQmsvQko7QWtCai9CSTs7O0VBRUUsaUJBQUE7RUFDQSxlQUFBO0FsQm8vQk47QWtCaC9CTTtFQUVFLHNFQUFBO0FsQmkvQlI7O0FHMTlDRTtFZW9mTTtJQUNFLGNBQUE7RWxCMCtCUjtFa0J4K0JNO0lBQ0UsZ0JBQUE7RWxCMCtCUjtFa0JyK0JNO0lBQ0UsZ0JBQUE7SUFDQSxnQ0FBQTtFbEJ1K0JSO0VrQnIrQk07SUFDRSxjQUFBO0lBQ0EsNEJScFlDO0lRcVlELDZCUnJZQztFVjQyQ1Q7RWtCcCtCSTtJQUVFLHdGQUFBO0VsQnErQk47QUFDRjtBRy8rQ0U7RWVvZk07SUFDRSxjQUFBO0VsQjgvQlI7RWtCNS9CTTtJQUNFLGdCQUFBO0VsQjgvQlI7RWtCei9CTTtJQUNFLGdCQUFBO0lBQ0EsZ0NBQUE7RWxCMi9CUjtFa0J6L0JNO0lBQ0UsY0FBQTtJQUNBLDRCUnBZQztJUXFZRCw2QlJyWUM7RVZnNENUO0VrQngvQkk7SUFFRSx3RkFBQTtFbEJ5L0JOO0FBQ0Y7O0FrQngrQkU7RUFDRSxpQkFBQTtBbEIyK0JKO0FHdmdERTtFZTBoQkY7SUFNSSxpQkFBQTtFbEIyK0JGO0VrQmorQkU7SUFDRSxxQkFBQTtFbEJtK0JKO0VrQmorQkU7SUFDRSxxQkFBQTtFbEJtK0JKO0VrQmorQkU7SUFDRSxxQkFBQTtFbEJtK0JKO0VrQmorQkU7SUFDRSxxQkFBQTtFbEJtK0JKO0VrQmorQkU7SUFDRSxxQkFBQTtFbEJtK0JKO0VrQmorQkU7SUFDRSxxQkFBQTtFbEJtK0JKO0VrQi85QkU7SUFDRSxxQkFBQTtFbEJpK0JKO0VrQi85QkU7SUFDRSxxQkFBQTtFbEJpK0JKO0VrQi85QkU7SUFDRSxxQkFBQTtFbEJpK0JKO0VrQi85QkU7SUFDRSxxQkFBQTtFbEJpK0JKO0VrQi85QkU7SUFDRSxxQkFBQTtFbEJpK0JKO0VrQjc5QkU7SUFDRSxxQkFBQTtFbEIrOUJKO0VrQjc5QkU7SUFDRSxxQkFBQTtFbEIrOUJKO0VrQjc5QkU7SUFDRSxxQkFBQTtFbEIrOUJKO0VrQjc5QkU7SUFDRSxxQkFBQTtFbEIrOUJKO0VrQjM5QkU7SUFDRSxxQkFBQTtFbEI2OUJKO0VrQjM5QkU7SUFDRSxxQkFBQTtFbEI2OUJKO0VrQjM5QkU7SUFDRSxxQkFBQTtFbEI2OUJKO0VrQno5QkU7SUFDRSxxQkFBQTtFbEIyOUJKO0VrQno5QkU7SUFDRSxxQkFBQTtFbEIyOUJKO0VrQnY5QkU7SUFDRSxxQkFBQTtFbEJ5OUJKO0FBQ0Y7QUcvakRFO0VlOGdCRjtJQTRG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ZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbmh0bWwsIGJvZHksIGRpdiwgc3BhbiwgYXBwbGV0LCBvYmplY3QsIGlmcmFtZSwgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCxcbmJsb2NrcXVvdGUsIHByZSwgYSwgYWJiciwgYWNyb255bSwgYWRkcmVzcywgYmlnLCBjaXRlLCBjb2RlLCBkZWwsIGRmbiwgZW0sXG5pbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLCBzbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLCBiLCB1LCBpLFxuY2VudGVyLCBkbCwgZHQsIGRkLCBvbCwgdWwsIGxpLCBmaWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCwgdGFibGUsXG5jYXB0aW9uLCB0Ym9keSwgdGZvb3QsIHRoZWFkLCB0ciwgdGgsIHRkLCBhcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLFxuZW1iZWQsIGZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksXG5zZWN0aW9uLCBzdW1tYXJ5LCB0aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG46cm9vdCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbn1cblxuKiwgKjphZnRlciwgKjpiZWZvcmUge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuKjpmb2N1cywgKjphZnRlcjpmb2N1cywgKjpiZWZvcmU6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuXG5odG1sIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6IDYyLjUlO1xuICBibG9jay1zaXplOiAxMDAlO1xuICBpbmxpbmUtc2l6ZTogMTAwJTtcbn1cblxuYm9keSB7XG4gIG1pbi1ibG9jay1zaXplOiAxMDAlO1xuICBtaW4taW5saW5lLXNpemU6IDEwMCU7XG59XG5cbmh0bWwsIGJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xufVxuXG5wOmVtcHR5LCBwcmU6ZW1wdHksIGJsb2NrcXVvdGU6ZW1wdHksIG9sOmVtcHR5LCB1bDplbXB0eSwgbGk6ZW1wdHksIGxlZ2VuZDplbXB0eSwgZmlnY2FwdGlvbjplbXB0eSwgYm9keTplbXB0eSwgYXJ0aWNsZTplbXB0eSwgbmF2OmVtcHR5LCBhc2lkZTplbXB0eSwgc2VjdGlvbjplbXB0eSwgaGVhZGVyOmVtcHR5LCBmb290ZXI6ZW1wdHksIGFkZHJlc3M6ZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5hcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgbWFpbiwgbWVudSwgbmF2LCBzZWN0aW9uLCBzdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbnN2Zywgc3ltYm9sIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciwgc3VtbWFyeTo6bWFya2VyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmJvZHkge1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbmFkZHJlc3Mge1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAtd2Via2l0LW1hcmdpbi1iZWZvcmU6IDBlbTtcbiAgLXdlYmtpdC1tYXJnaW4tYWZ0ZXI6IDBlbTtcbiAgLXdlYmtpdC1tYXJnaW4tc3RhcnQ6IDBweDtcbiAgLXdlYmtpdC1tYXJnaW4tZW5kOiAwcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbmhyIHtcbiAgYm9yZGVyOiBub25lO1xuICBoZWlnaHQ6IDFweDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG5ibG9ja3F1b3RlLCBxIHtcbiAgcXVvdGVzOiBub25lO1xufVxuYmxvY2txdW90ZTpiZWZvcmUsIGJsb2NrcXVvdGU6YWZ0ZXIsIHE6YmVmb3JlLCBxOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgY29udGVudDogbm9uZTtcbn1cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbG9yOiBibGFjaztcbiAgcGFkZGluZzogMTZweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA5OTk5O1xufVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG5idXR0b24ge1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbn1cblxuYnV0dG9uLCBpbnB1dCwgb3B0Z3JvdXAsIHNlbGVjdCwgdGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgbWFyZ2luOiAwO1xufVxuXG5idXR0b24sIGlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbmJ1dHRvbiwgc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbmJ1dHRvbixcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1zdWJtaXRdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5idXR0b246Zm9jdXMsXG5bdHlwZT1idXR0b25dOmZvY3VzLFxuW3R5cGU9cmVzZXRdOmZvY3VzLFxuW3R5cGU9c3VibWl0XTpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPWJ1dHRvbl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1yZXNldF06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1zdWJtaXRdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1idXR0b25dOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9cmVzZXRdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9c3VibWl0XTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMDtcbn1cblxuW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblt0eXBlPXNlYXJjaF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG5cblt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgZm9udDogaW5oZXJpdDtcbn1cblxuW2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5lbSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xufVxuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG59XG5cbmIsIHN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5jb2RlLCBrYmQsIHNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG5zdWIsIHN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnRleHRhcmVhIHtcbiAgcmVzaXplOiBub25lO1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxucHJlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbG9yOiBibGFjaztcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgcGFkZGluZzogMTZweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA5OTk7XG59XG5cbmJvZHkuZGV2bW9kZSBpbWc6bm90KFthbHRdKSB7XG4gIGJvcmRlcjogMnB4IHJlZCBkYXNoZWQ7XG59XG5cbmJvZHkge1xuICB3aWR0aDogMTAwdnc7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMzIxcHgpIHtcbiAgYm9keSB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICB9XG59XG5cbjp3aGVyZSgqKSB7XG4gIHNjcm9sbC1tYXJnaW4tdG9wOiB2YXIoLS1uYXZpZ2F0aW9uLWhlaWdodCwgMnJlbSk7XG59XG5cbi5hc3luYy1oaWRlIHtcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xufVxuXG5tYWluOmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuZmlndXJlLmltYWdlLFxucGljdHVyZS5pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB2YXIoLS1wb3NpdGlvbiwgY2VudGVyIDMzJSk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbmZpZ3VyZS5pbWFnZSBpbWcsXG5waWN0dXJlLmltYWdlIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtcG9zaXRpb246IHZhcigtLWltYWdlLXBvc2l0aW9uLCBjZW50ZXIgMzMuMzMlKTtcbiAgd2lkdGg6IHZhcigtLWltYWdlLXNpemUsIHZhcigtLWltYWdlLXdpZHRoLXNpemUsIDEwMCUpKTtcbiAgaGVpZ2h0OiB2YXIoLS1pbWFnZS1zaXplLCB2YXIoLS1pbWFnZS1oZWlnaHQtc2l6ZSwgMTAwJSkpO1xuICBtYXgtd2lkdGg6IHZhcigtLWltYWdlLXNpemUsIHZhcigtLWltYWdlLXdpZHRoLXNpemUsIDEwMCUpKTtcbiAgbWF4LWhlaWdodDogdmFyKC0taW1hZ2Utc2l6ZSwgdmFyKC0taW1hZ2UtaGVpZ2h0LXNpemUsIDEwMCUpKTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuXG52aWRlby1jb250YWluZXIge1xuICAtLWFzcGVjdC1yYXRpbzogMTYvOTtcbiAgYXNwZWN0LXJhdGlvOiB2YXIoLS1hc3BlY3QtcmF0aW8pO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG59XG5Ac3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86IDE2LzkpIHtcbiAgdmlkZW8tY29udGFpbmVyIHtcbiAgICBhc3BlY3QtcmF0aW86IGluaXRpYWw7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoMTAwJSAvICh2YXIoLS1hc3BlY3QtcmF0aW8pKSk7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG4gIHZpZGVvLWNvbnRhaW5lciA+ICoge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxufVxudmlkZW8tY29udGFpbmVyIGlmcmFtZSwgdmlkZW8tY29udGFpbmVyIGNhbnZhcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbio6aGFzKD4gLmNvbnRhaW5lci1pbmxpbmUpIHtcbiAgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xufVxuXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTVmZjtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMsIDZweCkgLyAyKTtcbiAgcGFkZGluZzogMCA1cHg7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApLCBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxuXG5kZXRhaWxzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuc3VtbWFyeSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cbnN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIsIHN1bW1hcnk6Om1hcmtlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmhlYWRlciAuYnV0dG9uLmJyb2NodXJlIHtcbiAgLS1mb250LWNvbG91cjogIzEzMWY2YjtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91cjogdHJhbnNwYXJlbnQ7XG4gIC0tcGFkZGluZzogNXB4IDBweDtcbiAgLS1pY29uLXNpemU6IDMycHg7XG4gIC0tYm9yZGVyLWNvbG91cjogdHJhbnNwYXJlbnQ7XG4gIC0tYm9yZGVyLXJhZGl1czogMDtcbiAgLS1ob3Zlci1mb250LWNvbG91cjogI2RmMzAzNTtcbiAgLS1ob3Zlci1ib3JkZXItY29sb3VyOiB0cmFuc3BhcmVudDtcbiAgLS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjogdHJhbnNwYXJlbnQ7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbmhlYWRlciAuYnV0dG9uLmJyb2NodXJlIHN2ZyB7XG4gIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1nYXApICogMC41KTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGZpbGw6ICNkZjMwMzU7XG59XG5cbi5idXR0b24ge1xuICAtLWZvbnQtY29sb3VyOiB3aGl0ZTtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91cjogdmFyKC0tcHJpbWFyeSk7XG4gIC0tYm9yZGVyLWNvbG91cjogdHJhbnNwYXJlbnQ7XG4gIC0tcGFkZGluZzogOHB4IDIwcHg7XG4gIC0tZm9udC1zaXplOiAxNnB4O1xuICAtLWJvcmRlci1yYWRpdXM6IDUwcHg7XG4gIC0taG92ZXItZm9udC1jb2xvdXI6IHZhcigtLXByaW1hcnkpO1xuICAtLWhvdmVyLWJhY2tncm91bmQtY29sb3VyOiB3aGl0ZTtcbiAgLS1ob3Zlci1ib3JkZXItY29sb3VyOiBpbml0aWFsO1xuICAtLWhvdmVyLXBhZGRpbmc6IHZhcigtLXBhZGRpbmcpO1xuICAtLWhvdmVyLWZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplKTtcbiAgLS1ob3Zlci1ib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgLS1pY29uLXNpemU6IDEuMWVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWZvbnQtY29sb3VyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1jb2xvdXIpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1jb2xvdXIpO1xuICBwYWRkaW5nOiB2YXIoLS1wYWRkaW5nKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UpLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UpLCBib3JkZXIgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbikgdmFyKC0tdHJhbnNpdGlvbi1lYXNlKTtcbn1cbi5idXR0b24gc3ZnIHtcbiAgd2lkdGg6IHZhcigtLWljb24tc2l6ZSk7XG4gIGhlaWdodDogdmFyKC0taWNvbi1zaXplKTtcbiAgb3JkZXI6IDM7XG4gIGZpbGw6IHZhcigtLWZpbGwsIGN1cnJlbnRDb2xvcik7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWljb24tc2l6ZSkgLyAyKTtcbiAgdHJhbnNpdGlvbjogZmlsbCB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UpLCBzdHJva2UgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbikgdmFyKC0tdHJhbnNpdGlvbi1lYXNlKTtcbn1cbi5idXR0b24gc3ZnW2NsYXNzKj1hcnJvd10ge1xuICAtLWljb24tc2l6ZTogMC45ZW07XG59XG4uYnV0dG9uIHN2Zy5hcnJvdy1sZWZ0IHtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWljb24tc2l6ZSkgLyAyKTtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgb3JkZXI6IDE7XG59XG4uYnV0dG9uID4gc3BhbiB7XG4gIG9yZGVyOiAyO1xuICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG59XG4uYnV0dG9uLnNtYWxsIHtcbiAgLS1wYWRkaW5nOiA2cHggMThweDtcbiAgLS1mb250LXNpemU6IDEycHg7XG59XG4uYnV0dG9uLnNtYWxsIHN2ZyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWdhcCkgKiAwLjUpO1xufVxuLmJ1dHRvbi5zbWFsbCBzdmcuYXJyb3ctbGVmdCB7XG4gIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1nYXApICogMC41KTtcbn1cbi5idXR0b24ubGFyZ2Uge1xuICAtLXBhZGRpbmc6IDEycHggMjRweDtcbiAgLS1mb250LXNpemU6IDI0cHg7XG59XG4uYnV0dG9uLm91dGxpbmUge1xuICAtLWJhY2tncm91bmQtY29sb3VyOiB0cmFuc3BhcmVudDtcbiAgLS1mb250LWNvbG91cjogIzEzMWY2YjtcbiAgLS1ib3JkZXItY29sb3VyOiAjMTMxZjZiO1xuICAtLWhvdmVyLWJhY2tncm91bmQtY29sb3VyOiAjMTMxZjZiO1xuICAtLWhvdmVyLWZvbnQtY29sb3VyOiAjMTMxZjZiO1xuICAtLWhvdmVyLWJvcmRlci1jb2xvdXI6IHRyYW5zcGFyZW50O1xufVxuLmJ1dHRvbi5ibHVlIHtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91cjogIzEzMWY2YjtcbiAgLS1mb250LWNvbG91cjogd2hpdGU7XG4gIC0taG92ZXItYmFja2dyb3VuZC1jb2xvdXI6IHdoaXRlO1xuICAtLWhvdmVyLWZvbnQtY29sb3VyOiAjMTMxZjZiO1xufVxuLmJ1dHRvbi5ibHVlLm91dGxpbmUge1xuICAtLWJhY2tncm91bmQtY29sb3VyOiB0cmFuc3BhcmVudDtcbiAgLS1mb250LWNvbG91cjogIzEzMWY2YjtcbiAgLS1ib3JkZXItY29sb3VyOiAjMTMxZjZiO1xuICAtLWhvdmVyLWJhY2tncm91bmQtY29sb3VyOiAjMTMxZjZiO1xuICAtLWhvdmVyLWZvbnQtY29sb3VyOiAjRkZGRkZGO1xuICAtLWhvdmVyLWJvcmRlci1jb2xvdXI6IHRyYW5zcGFyZW50O1xufVxuLmJ1dHRvbi5yZWQge1xuICAtLWJhY2tncm91bmQtY29sb3VyOiAjZGYzMDM1O1xuICAtLWZvbnQtY29sb3VyOiB3aGl0ZTtcbiAgLS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjogd2hpdGU7XG4gIC0taG92ZXItZm9udC1jb2xvdXI6ICNkZjMwMzU7XG59XG4uYnV0dG9uLnJlZC5vdXRsaW5lIHtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91cjogdHJhbnNwYXJlbnQ7XG4gIC0tZm9udC1jb2xvdXI6ICNkZjMwMzU7XG4gIC0tYm9yZGVyLWNvbG91cjogI2RmMzAzNTtcbiAgLS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjogI2RmMzAzNTtcbiAgLS1ob3Zlci1mb250LWNvbG91cjogI0ZGRkZGRjtcbiAgLS1ob3Zlci1ib3JkZXItY29sb3VyOiB0cmFuc3BhcmVudDtcbn1cbi5idXR0b24uZ3JlZW4ge1xuICAtLWJhY2tncm91bmQtY29sb3VyOiAjNzZiYjI4O1xuICAtLWZvbnQtY29sb3VyOiB3aGl0ZTtcbiAgLS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjogd2hpdGU7XG4gIC0taG92ZXItZm9udC1jb2xvdXI6ICM3NmJiMjg7XG59XG4uYnV0dG9uLmdyZWVuLm91dGxpbmUge1xuICAtLWJhY2tncm91bmQtY29sb3VyOiB0cmFuc3BhcmVudDtcbiAgLS1mb250LWNvbG91cjogIzc2YmIyODtcbiAgLS1ib3JkZXItY29sb3VyOiAjNzZiYjI4O1xuICAtLWhvdmVyLWJhY2tncm91bmQtY29sb3VyOiAjNzZiYjI4O1xuICAtLWhvdmVyLWZvbnQtY29sb3VyOiAjRkZGRkZGO1xuICAtLWhvdmVyLWJvcmRlci1jb2xvdXI6IHRyYW5zcGFyZW50O1xufVxuLmJ1dHRvbi53aGl0ZSB7XG4gIC0tYmFja2dyb3VuZC1jb2xvdXI6ICNGRkZGRkY7XG4gIC0tZm9udC1jb2xvdXI6IHZhcigtLXByaW1hcnksICMxMzFmNmIpO1xuICAtLWhvdmVyLWJhY2tncm91bmQtY29sb3VyOiB2YXIoLS1wcmltYXJ5LCAjMTMxZjZiKTtcbiAgLS1ob3Zlci1mb250LWNvbG91cjogI0ZGRkZGRjtcbn1cbi5idXR0b24ud2hpdGUub3V0bGluZSB7XG4gIC0tYmFja2dyb3VuZC1jb2xvdXI6IHRyYW5zcGFyZW50O1xuICAtLWZvbnQtY29sb3VyOiAjRkZGRkZGO1xuICAtLWJvcmRlci1jb2xvdXI6ICNGRkZGRkY7XG4gIC0taG92ZXItYmFja2dyb3VuZC1jb2xvdXI6ICNGRkZGRkY7XG4gIC0taG92ZXItZm9udC1jb2xvdXI6IHZhcigtLXByaW1hcnksICMxMzFmNmIpO1xuICAtLWhvdmVyLWJvcmRlci1jb2xvdXI6IHRyYW5zcGFyZW50O1xufVxuLmJ1dHRvbi5kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtLWJhY2tncm91bmQtY29sb3VyOiAjZGNkY2RjO1xuICAtLWZvbnQtY29sb3VyOiB3aGl0ZTtcbiAgLS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjogd2hpdGU7XG4gIC0taG92ZXItZm9udC1jb2xvdXI6ICNkY2RjZGM7XG59XG4uYnV0dG9uLmRpc2FibGVkLm91dGxpbmUge1xuICAtLWJhY2tncm91bmQtY29sb3VyOiB0cmFuc3BhcmVudDtcbiAgLS1mb250LWNvbG91cjogI2RjZGNkYztcbiAgLS1ib3JkZXItY29sb3VyOiAjZGNkY2RjO1xuICAtLWhvdmVyLWJhY2tncm91bmQtY29sb3VyOiAjZGNkY2RjO1xuICAtLWhvdmVyLWZvbnQtY29sb3VyOiAjZGNkY2RjO1xuICAtLWhvdmVyLWJvcmRlci1jb2xvdXI6IHRyYW5zcGFyZW50O1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgLmJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWhvdmVyLWZvbnQtY29sb3VyKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ob3Zlci1ib3JkZXItY29sb3VyKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ob3Zlci1ib3JkZXItcmFkaXVzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1ob3Zlci1wYWRkaW5nKTtcbiAgICBmb250LXNpemU6IHZhcigtLWhvdmVyLWZvbnQtc2l6ZSk7XG4gIH1cbn1cbi5idXR0b24ucmVkIHN2Zy50aWNrLCAuYnV0dG9uLnJlZCBzdmcuZG93bmxvYWQge1xuICAtLXN0cm9rZTogI2RmMzAzNTtcbn1cbi5idXR0b24uYmx1ZSBzdmcudGljaywgLmJ1dHRvbi5ibHVlIHN2Zy5kb3dubG9hZCB7XG4gIC0tc3Ryb2tlOiAjMTMxZjZiO1xufVxuLmJ1dHRvbi5vdXRsaW5lIHN2Zy50aWNrLCAuYnV0dG9uLm91dGxpbmUgc3ZnLmRvd25sb2FkIHtcbiAgLS1zdHJva2U6ICNGRkZGRkY7XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAuYnV0dG9uOmhvdmVyLnJlZCBzdmcudGljayxcbiAgLmJ1dHRvbjpob3Zlci5yZWQgc3ZnLmRvd25sb2FkIHtcbiAgICAtLXN0cm9rZTogI0ZGRkZGRjtcbiAgfVxuICAuYnV0dG9uOmhvdmVyLnJlZC5vdXRsaW5lIHN2Zy50aWNrLCAuYnV0dG9uOmhvdmVyLnJlZC5vdXRsaW5lIHN2Zy5kb3dubG9hZCB7XG4gICAgLS1zdHJva2U6ICNkZjMwMzU7XG4gIH1cbiAgLmJ1dHRvbjpob3Zlci5ibHVlIHN2Zy50aWNrLFxuICAuYnV0dG9uOmhvdmVyLmJsdWUgc3ZnLmRvd25sb2FkIHtcbiAgICAtLXN0cm9rZTogI0ZGRkZGRjtcbiAgfVxuICAuYnV0dG9uOmhvdmVyLmJsdWUub3V0bGluZSBzdmcudGljaywgLmJ1dHRvbjpob3Zlci5ibHVlLm91dGxpbmUgc3ZnLmRvd25sb2FkIHtcbiAgICAtLXN0cm9rZTogIzEzMWY2YjtcbiAgfVxuICAuYnV0dG9uOmhvdmVyLndoaXRlIHN2Zy50aWNrLCAuYnV0dG9uOmhvdmVyLndoaXRlIHN2Zy5kb3dubG9hZCB7XG4gICAgLS1zdHJva2U6ICMxMzFmNmI7XG4gIH1cbn1cblxuYnV0dG9uLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZ2FwOiBjYWxjKHZhcigtLWdhcCkgKiAwLjUpO1xufVxuYnV0dG9uLWNvbnRhaW5lciAuYnV0dG9uIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnN0aWNreSB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMHB4O1xufVxuXG5pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sIGlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiwgaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWJ1dHRvbiwgaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICBkaXNwbGF5OiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbiNob2xkaW5nLXBhZ2UgaGVhZGVyIHN2ZyB7XG4gIG1heC13aWR0aDogNDAwcHg7XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTgwcHgpIHtcbiAgI2hvbGRpbmctcGFnZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IHZhcigtLWd1dHRlcjEpO1xuICB9XG59XG5cbmJvZHkjZXJyb3ItNDA0IGhlYWRlciBoMiB7XG4gIG1heC13aWR0aDogOTAwcHg7XG59XG5ib2R5I2Vycm9yLTQwNCBzZWFyY2gtYmFyIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2VyMCk7XG59XG5ib2R5I2Vycm9yLTQwNCBzZWFyY2gtYmFyIGlucHV0W3R5cGU9c2VhcmNoXSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMxMzFmNmI7XG59XG5cbmJvZHkgPiAuaWRsZS1kaWFsb2cge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICBib3gtc2hhZG93OiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm90dG9tOiB2YXIoLS1ndXR0ZXIxLSk7XG4gIHotaW5kZXg6IDI7XG4gIC8qIFN0YXJ0IGhpZGRlbiBiZWxvdyB2aWV3cG9ydCAqL1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIC8qIEFuaW1hdGlvbiB3aXRoIGRlbGF5ZWQgc3RhcnQgKi9cbiAgYW5pbWF0aW9uOiBzbGlkZS1pbi1pZGxlLWRpYWxvZyBib3RoO1xuICBhbmltYXRpb24tdGltZWxpbmU6IHNjcm9sbCgpO1xuICBhbmltYXRpb24tcmFuZ2U6IGNhbGModmFyKC0tbmF2aWdhdGlvbi1oZWlnaHQsIDBweCkpIGNhbGModmFyKC0tbmF2aWdhdGlvbi1oZWlnaHQsIDBweCkgKyBjbGFtcCgycmVtLCA1dmgsIDNyZW0pICogMik7XG59XG5ib2R5ID4gLmlkbGUtZGlhbG9nIC5idXR0b24ge1xuICBvdXRsaW5lOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuQGtleWZyYW1lcyBzbGlkZS1pbi1pZGxlLWRpYWxvZyB7XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHJlbSk7XG4gIH1cbn1cbiNjb250YWN0LW1vZGFsIHtcbiAgLS1kaWFsb2ctY29udGVudC1iYWNrZ3JvdW5kLWNvbG91cjogI2Y0ZjRmNDtcbn1cbiNjb250YWN0LW1vZGFsIGZvcm0gLnN1Ym1pdC1yb3cge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1ndXR0ZXIxKTtcbn1cblxuYm9keSA+IC5iYWNrLXRvLXRvcCB7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiB2YXIoLS1ndXR0ZXIxKTtcbiAgcmlnaHQ6IHZhcigtLWd1dHRlcjEpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrLXRvLXRvcC1iYWNrZ3JvdW5kLCAjMjkyYjY4KTtcbiAgYm9yZGVyOiAycHggc29saWQgd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgei1pbmRleDogOTk5OTtcbiAgb3BhY2l0eTogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICksIGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICksIGJvdHRvbSB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbiAgcGxhY2UtY29udGVudDogY2VudGVyO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xufVxuYm9keSA+IC5iYWNrLXRvLXRvcCBzdmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgd2lkdGg6IDUwJTtcbiAgdG9wOiAtNCU7XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICBib2R5ID4gLmJhY2stdG8tdG9wOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktbGlnaHQsICNkZjMwMzUpO1xuICB9XG59XG5cbmZvb3RlciNmb290ZXIuaW4tdmlldyB+IC5iYWNrLXRvLXRvcCB7XG4gIGJvdHRvbTogMTIwcHg7XG59XG5cbm5hdmlnYXRpb24tYmFyOm5vdCguaW4tdmlldykgfiAuYmFjay10by10b3Age1xuICBvcGFjaXR5OiAxO1xuICBwb2ludGVyLWV2ZW50czogYWxsO1xufVxuXG46cm9vdCB7XG4gIC0tcHJpbWFyeTogIzEzMWY2YjtcbiAgLS1zZWNvbmRhcnk6ICNkZjMwMzU7XG4gIC0tYnJlYWtwb2ludC1taW46IDMyMHB4O1xuICAtLWJyZWFrcG9pbnQtc21hbGw6IDQ4MHB4O1xuICAtLWJyZWFrcG9pbnQtc21hbGwtbWVkaXVtOiA5ODBweDtcbiAgLS1icmVha3BvaW50LW1lZGl1bTogMTEyMHB4O1xuICAtLWJyZWFrcG9pbnQtbGFyZ2U6IDE0MDBweDtcbiAgLS1icmVha3BvaW50LW1heDogMTY4MHB4O1xuICAtLWZvbnQtY29sb3VyOiAjNmE2YTZhO1xuICAtLWhlYWRpbmctY29sb3VyOiB2YXIoLS1wcmltYXJ5LCAjMTMxZjZiKTtcbiAgLS1zdWItaGVhZGluZy1jb2xvdXI6IHZhcigtLXNlY29uZGFyeSwgI2RmMzAzNSk7XG4gIC0tdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgLS10cmFuc2l0aW9uLWVhc2U6IGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKTtcbiAgLS10cmFuc2l0aW9uLWRlbGF5OiA7XG4gIC0tYnJlYWRjcnVtYi1oZWlnaHQ6IDkwcHg7XG4gIC0tYW5jaG9ycy1oZWlnaHQ6IDYwcHg7XG4gIC0tYnJlYWRjcnVtYi1hbmQtYW5jaG9ycy1zdGlja3ktdW5kZXJzZXQ6IC0xNXB4O1xuICAtLW1haW4tbWF4LXdpZHRoOiA5MDBweDtcbiAgLS1uYXZpZ2F0aW9uLWhlaWdodDogMTQzcHg7XG4gIC0tc2lkZWJhci13aWR0aDogY2xhbXAoMzAwcHgsIDMwdncsIDUwMHB4KTtcbiAgLS1nYXA6IDE2cHg7XG4gIC0tZ3V0dGVyOiAzdnc7XG4gIC0tc3BhY2VyOiA0dmg7XG4gIC0tZ3V0dGVyMDogY2xhbXAoOHB4LCB2YXIoLS1ndXR0ZXIpICogMC41LCAxMnB4KTtcbiAgLS1ndXR0ZXIwLTogY2FsYygtMSAqIGNsYW1wKDhweCwgdmFyKC0tZ3V0dGVyKSAqIDAuNSwgMTJweCkpO1xuICAtLXNwYWNlcjA6IGNsYW1wKDE2cHgsIHZhcigtLXNwYWNlciksIDMycHgpO1xuICAtLXNwYWNlcjAtOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tc3BhY2VyKSwgMzJweCkpO1xuICAtLWd1dHRlcjE6IGNsYW1wKDE2cHgsIHZhcigtLWd1dHRlciksIDMycHgpO1xuICAtLWd1dHRlcjEtOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tZ3V0dGVyKSwgMzJweCkpO1xuICAtLXNwYWNlcjE6IGNsYW1wKDE2cHgsIHZhcigtLXNwYWNlcikgKiAzLCA2NHB4KTtcbiAgLS1zcGFjZXIxLTogY2FsYygtMSAqIGNsYW1wKDE2cHgsIHZhcigtLXNwYWNlcikgKiAzLCA2NHB4KSk7XG4gIC0tZ3V0dGVyMjogY2xhbXAoMTZweCwgdmFyKC0tZ3V0dGVyKSAqIDIsIDQ4cHgpO1xuICAtLWd1dHRlcjItOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tZ3V0dGVyKSAqIDIsIDQ4cHgpKTtcbiAgLS1zcGFjZXIyOiBjbGFtcCgxNnB4LCB2YXIoLS1zcGFjZXIpICogNiwgMTEycHgpO1xuICAtLXNwYWNlcjItOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tc3BhY2VyKSAqIDYsIDExMnB4KSk7XG4gIC0tZ3V0dGVyMzogY2xhbXAoMTZweCwgdmFyKC0tZ3V0dGVyKSAqIDMsIDY0cHgpO1xuICAtLWd1dHRlcjMtOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tZ3V0dGVyKSAqIDMsIDY0cHgpKTtcbiAgLS1zcGFjZXIzOiBjbGFtcCgxNnB4LCB2YXIoLS1zcGFjZXIpICogOSwgMTYwcHgpO1xuICAtLXNwYWNlcjMtOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tc3BhY2VyKSAqIDksIDE2MHB4KSk7XG4gIC0tZ3V0dGVyNDogY2xhbXAoMTZweCwgdmFyKC0tZ3V0dGVyKSAqIDQsIDgwcHgpO1xuICAtLWd1dHRlcjQtOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tZ3V0dGVyKSAqIDQsIDgwcHgpKTtcbiAgLS1zcGFjZXI0OiBjbGFtcCgxNnB4LCB2YXIoLS1zcGFjZXIpICogMTIsIDIwOHB4KTtcbiAgLS1zcGFjZXI0LTogY2FsYygtMSAqIGNsYW1wKDE2cHgsIHZhcigtLXNwYWNlcikgKiAxMiwgMjA4cHgpKTtcbiAgLS1ndXR0ZXI1OiBjbGFtcCgxNnB4LCB2YXIoLS1ndXR0ZXIpICogNSwgOTZweCk7XG4gIC0tZ3V0dGVyNS06IGNhbGMoLTEgKiBjbGFtcCgxNnB4LCB2YXIoLS1ndXR0ZXIpICogNSwgOTZweCkpO1xuICAtLXNwYWNlcjU6IGNsYW1wKDE2cHgsIHZhcigtLXNwYWNlcikgKiAxNSwgMjU2cHgpO1xuICAtLXNwYWNlcjUtOiBjYWxjKC0xICogY2xhbXAoMTZweCwgdmFyKC0tc3BhY2VyKSAqIDE1LCAyNTZweCkpO1xuICAtLWd1dHRlcjY6IGNsYW1wKDE2cHgsIHZhcigtLWd1dHRlcikgKiA2LCAxMTJweCk7XG4gIC0tZ3V0dGVyNi06IGNhbGMoLTEgKiBjbGFtcCgxNnB4LCB2YXIoLS1ndXR0ZXIpICogNiwgMTEycHgpKTtcbiAgLS1zcGFjZXI2OiBjbGFtcCgxNnB4LCB2YXIoLS1zcGFjZXIpICogMTgsIDMwNHB4KTtcbiAgLS1zcGFjZXI2LTogY2FsYygtMSAqIGNsYW1wKDE2cHgsIHZhcigtLXNwYWNlcikgKiAxOCwgMzA0cHgpKTtcbiAgLS1jb21wdXRlZC1ndXR0ZXI6IGNhbGMoKCgxMDB2dyAtIHZhcigtLWJyZWFrcG9pbnQtbWF4KSkgLyAyKSk7XG59XG5Ac3VwcG9ydHMgbm90ICh3aWR0aDogY2xhbXAoMXB4LCA1dncsIDEwcHgpKSB7XG4gIDpyb290IHtcbiAgICAtLXNpZGViYXItd2lkdGg6IDUwMHB4O1xuICB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxNDAwcHgpIHtcbiAgICA6cm9vdCB7XG4gICAgICAtLXNpZGViYXItd2lkdGg6IDMwMHB4O1xuICAgIH1cbiAgfVxufVxuQHN1cHBvcnRzIG5vdCAod2lkdGg6IGNsYW1wKDFweCwgNXZ3LCAxMHB4KSkge1xuICA6cm9vdCB7XG4gICAgLS1ndXR0ZXIwOiBjYWxjKCh2YXIoLS1ndXR0ZXIpICogMC41KSArIDhweCk7XG4gICAgLS1ndXR0ZXIwLTogY2FsYygtMSAqIGNhbGMoKHZhcigtLWd1dHRlcikgKiAwLjUpICsgOHB4KSk7XG4gICAgLS1zcGFjZXIwOiBjYWxjKCh2YXIoLS1zcGFjZXIpICogMikgKyAxNnB4KTtcbiAgICAtLXNwYWNlcjAtOiBjYWxjKC0xICogY2FsYygodmFyKC0tc3BhY2VyKSAqIDIpICsgMTZweCkpO1xuICAgIC0tZ3V0dGVyMTogY2FsYygodmFyKC0tZ3V0dGVyKSAqIDEpICsgMTZweCk7XG4gICAgLS1ndXR0ZXIxLTogY2FsYygtMSAqIGNhbGMoKHZhcigtLWd1dHRlcikgKiAxKSArIDE2cHgpKTtcbiAgICAtLXNwYWNlcjE6IGNhbGMoKHZhcigtLXNwYWNlcikgKiA0KSArIDE2cHgpO1xuICAgIC0tc3BhY2VyMS06IGNhbGMoLTEgKiBjYWxjKCh2YXIoLS1zcGFjZXIpICogNCkgKyAxNnB4KSk7XG4gICAgLS1ndXR0ZXIyOiBjYWxjKCh2YXIoLS1ndXR0ZXIpICogMikgKyAxNnB4KTtcbiAgICAtLWd1dHRlcjItOiBjYWxjKC0xICogY2FsYygodmFyKC0tZ3V0dGVyKSAqIDIpICsgMTZweCkpO1xuICAgIC0tc3BhY2VyMjogY2FsYygodmFyKC0tc3BhY2VyKSAqIDgpICsgMTZweCk7XG4gICAgLS1zcGFjZXIyLTogY2FsYygtMSAqIGNhbGMoKHZhcigtLXNwYWNlcikgKiA4KSArIDE2cHgpKTtcbiAgICAtLWd1dHRlcjM6IGNhbGMoKHZhcigtLWd1dHRlcikgKiAzKSArIDE2cHgpO1xuICAgIC0tZ3V0dGVyMy06IGNhbGMoLTEgKiBjYWxjKCh2YXIoLS1ndXR0ZXIpICogMykgKyAxNnB4KSk7XG4gICAgLS1zcGFjZXIzOiBjYWxjKCh2YXIoLS1zcGFjZXIpICogMTIpICsgMTZweCk7XG4gICAgLS1zcGFjZXIzLTogY2FsYygtMSAqIGNhbGMoKHZhcigtLXNwYWNlcikgKiAxMikgKyAxNnB4KSk7XG4gICAgLS1ndXR0ZXI0OiBjYWxjKCh2YXIoLS1ndXR0ZXIpICogNCkgKyAxNnB4KTtcbiAgICAtLWd1dHRlcjQtOiBjYWxjKC0xICogY2FsYygodmFyKC0tZ3V0dGVyKSAqIDQpICsgMTZweCkpO1xuICAgIC0tc3BhY2VyNDogY2FsYygodmFyKC0tc3BhY2VyKSAqIDE2KSArIDE2cHgpO1xuICAgIC0tc3BhY2VyNC06IGNhbGMoLTEgKiBjYWxjKCh2YXIoLS1zcGFjZXIpICogMTYpICsgMTZweCkpO1xuICAgIC0tZ3V0dGVyNTogY2FsYygodmFyKC0tZ3V0dGVyKSAqIDUpICsgMTZweCk7XG4gICAgLS1ndXR0ZXI1LTogY2FsYygtMSAqIGNhbGMoKHZhcigtLWd1dHRlcikgKiA1KSArIDE2cHgpKTtcbiAgICAtLXNwYWNlcjU6IGNhbGMoKHZhcigtLXNwYWNlcikgKiAyMCkgKyAxNnB4KTtcbiAgICAtLXNwYWNlcjUtOiBjYWxjKC0xICogY2FsYygodmFyKC0tc3BhY2VyKSAqIDIwKSArIDE2cHgpKTtcbiAgICAtLWd1dHRlcjY6IGNhbGMoKHZhcigtLWd1dHRlcikgKiA2KSArIDE2cHgpO1xuICAgIC0tZ3V0dGVyNi06IGNhbGMoLTEgKiBjYWxjKCh2YXIoLS1ndXR0ZXIpICogNikgKyAxNnB4KSk7XG4gICAgLS1zcGFjZXI2OiBjYWxjKCh2YXIoLS1zcGFjZXIpICogMjQpICsgMTZweCk7XG4gICAgLS1zcGFjZXI2LTogY2FsYygtMSAqIGNhbGMoKHZhcigtLXNwYWNlcikgKiAyNCkgKyAxNnB4KSk7XG4gIH1cbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImxhdG9cIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1ib2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1ib2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tYm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImxhdG9cIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1zZW1pYm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tc2VtaWJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1zZW1pYm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImxhdG9cIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1yZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1yZWd1bGFyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tcmVndWxhci5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1tZWRpdW0ud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LW1lZGl1bS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LW1lZGl1bS5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1tZWRpdW0taXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1tZWRpdW0taXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtbWVkaXVtLWl0YWxpYy5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1zZW1pYm9sZC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtc2VtaWJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1zZW1pYm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBtb250c2VycmF0LCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG91ciwgIzZhNmE2YSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xufVxuQHN1cHBvcnRzICh3aWR0aDogY2xhbXAoMXB4LCA1dncsIDEwcHgpKSB7XG4gIGJvZHkge1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMS40cmVtLCAxLjV2dywgMS42cmVtKTtcbiAgfVxufVxuQHN1cHBvcnRzIG5vdCAod2lkdGg6IGNsYW1wKDFweCwgNXZ3LCAxMHB4KSkge1xuICBAbWVkaWEgKG1heC13aWR0aDogOTUwcHgpIHtcbiAgICBib2R5IHtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTYwMXB4KSB7XG4gICAgYm9keSB7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICB9XG4gIH1cbn1cblxuaDEge1xuICBmb250LXNpemU6IDMuODEyNWVtO1xuICBmb250LXNpemU6IGNsYW1wKDIuNWVtLCA1dncsIDMuODEyNWVtKTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuaDIge1xuICBmb250LXNpemU6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuaDMge1xuICBmb250LXNpemU6IDEuNTYyNWVtO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbmg1IHtcbiAgZm9udC1zaXplOiAxLjA2MjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuaDYge1xuICBmb250LXNpemU6IDEuMDYyNWVtO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LWZhbWlseTogbGF0bywgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBjb2xvcjogdmFyKC0taGVhZGluZy1jb2xvdXIsIHZhcigtLWZvbnQtY29sb3VyKSk7XG4gIHRleHQtd3JhcDogcHJldHR5O1xufVxuaDEuc3ViLWhlYWRpbmcsXG5oMi5zdWItaGVhZGluZyxcbmgzLnN1Yi1oZWFkaW5nLFxuaDQuc3ViLWhlYWRpbmcsXG5oNS5zdWItaGVhZGluZyxcbmg2LnN1Yi1oZWFkaW5nIHtcbiAgY29sb3I6IHZhcigtLXN1Yi1oZWFkaW5nLWNvbG91cik7XG4gIGZvbnQtZmFtaWx5OiBsYXRvLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5oMSBzcGFuLFxuaDEgc3Ryb25nLFxuaDEgcCxcbmgyIHNwYW4sXG5oMiBzdHJvbmcsXG5oMiBwLFxuaDMgc3BhbixcbmgzIHN0cm9uZyxcbmgzIHAsXG5oNCBzcGFuLFxuaDQgc3Ryb25nLFxuaDQgcCxcbmg1IHNwYW4sXG5oNSBzdHJvbmcsXG5oNSBwLFxuaDYgc3Bhbixcbmg2IHN0cm9uZyxcbmg2IHAge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xufVxuXG5xLFxuYmxvY2txdW90ZSB7XG4gIHF1b3RlczogXCLigJxcIiBcIuKAnVwiIFwi4oCYXCIgXCLigJlcIjtcbn1cbnE6OmJlZm9yZSxcbmJsb2NrcXVvdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IG9wZW4tcXVvdGU7XG59XG5xOjphZnRlcixcbmJsb2NrcXVvdGU6OmFmdGVyIHtcbiAgY29udGVudDogY2xvc2UtcXVvdGU7XG59XG5cbmEge1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXVuZGVybGluZS1wb3NpdGlvbjogdW5kZXI7XG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG59XG5hLmV4dGVybmFsIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5hLmV4dGVybmFsIHN2Zy5leHRlcm5hbC1saW5rIHtcbiAgb3BhY2l0eTogMC42O1xuICB3aWR0aDogMC44ZW07XG4gIGhlaWdodDogMC44ZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbn1cblxub2wsXG51bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcbn1cblxubGkgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDJweDtcbn1cblxuc21hbGwge1xuICBmb250LXNpemU6IDAuNjI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG59XG5cbmhyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taHItY29sb3VyLCAjZGNkY2RjKTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2VyMCk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlcjApO1xufVxuXG4ubm90ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY1YmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmUxM2M7XG4gIHBhZGRpbmc6IHZhcigtLWd1dHRlcjEpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xufVxuLm5vdGUgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBjb2xvcjogIzk3ODAwMjtcbn1cbi5ub3RlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlBsZWFzZSBOb3RlXCI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICM5NzgwMDI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWdhcCkgKiAwLjUpO1xufVxuXG5ib2R5IHtcbiAgLS1yb3ctbmF2aWdhdGlvbjogMTtcbiAgLS1yb3ctYnJlYWRjcnVtYnM6IDI7XG4gIC0tcm93LWFuY2hvcnM6IDM7XG4gIC0tcm93LWhlYWRlcjogNDtcbiAgLS1yb3ctbWFpbjogNTtcbiAgLS1yb3ctYmFja2dyb3VuZDogMTtcbiAgLS1yb3ctc2lkZWJhcjogNCAvIHNwYW4gMztcbiAgLS1yb3ctZm9vdGVyOiAxMDA7XG4gIC0tcm93czogYXV0bztcbiAgLS1jb2x1bW4tbGVmdDogMjtcbiAgLS1jb2x1bW4tbWFpbjogMiAvIHNwYW4gMjtcbiAgLS1jb2x1bW4tcmlnaHQ6IDQ7XG4gIC0tY29sdW1uLWZ1bGw6IDIgLyAtMjtcbiAgLS1jb2x1bW4tZ3V0dGVyOiBtaW5tYXgoMCwgMWZyKTtcbiAgLS1jb2x1bW4tY29udGVudDogbWlubWF4KDAsIGNhbGMoMTY4MHB4IC0gKHZhcigtLXNpZGViYXItd2lkdGgpICogMikgLSB2YXIoLS1ndXR0ZXI0KSkpO1xuICAtLWNvbHVtbi1zaWRlYmFyOiB2YXIoLS1zaWRlYmFyLXdpZHRoKTtcbiAgLS1jb2x1bW5zOiB2YXIoLS1jb2x1bW4tZ3V0dGVyKSB2YXIoLS1jb2x1bW4tc2lkZWJhcikgdmFyKC0tY29sdW1uLWNvbnRlbnQpIHZhcigtLWNvbHVtbi1zaWRlYmFyKSB2YXIoLS1jb2x1bW4tZ3V0dGVyKTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgbWluLXdpZHRoOiAzMjBweDtcbiAgZ3JpZC1nYXA6IDAgdmFyKC0tZ3V0dGVyMSk7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogdmFyKC0tcm93cyk7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0tY29sdW1ucyk7XG59XG5ib2R5ID4gKiB7XG4gIGdyaWQtY29sdW1uOiB2YXIoLS1jb2x1bW4tZnVsbCk7XG59XG5cbm5hdmlnYXRpb24tYmFyIHtcbiAgei1pbmRleDogOTk5O1xuICBncmlkLXJvdzogdmFyKC0tcm93LW5hdmlnYXRpb24pO1xufVxubmF2aWdhdGlvbi1iYXI6bm90KC5pbi12aWV3KSB+ICNicmVhZGNydW1icy1iYXIsXG5uYXZpZ2F0aW9uLWJhcjpub3QoLmluLXZpZXcpIH4gI2FuY2hvcnMtYmFyIHtcbiAgLS1hbmNob3JzLWhlaWdodDogNTBweDtcbn1cblxuI2JyZWFkY3J1bWJzLWJhciB7XG4gIHotaW5kZXg6IDI7XG4gIGdyaWQtcm93OiB2YXIoLS1yb3ctYnJlYWRjcnVtYnMpO1xuICBoZWlnaHQ6IHZhcigtLWJyZWFkY3J1bWItaGVpZ2h0KTtcbn1cbiNicmVhZGNydW1icy1iYXIuc3RpY2t5IHtcbiAgdG9wOiB2YXIoLS1icmVhZGNydW1iLWFuZC1hbmNob3JzLXN0aWNreS11bmRlcnNldCk7XG59XG5cbiNhbmNob3JzLWJhciB7XG4gIHotaW5kZXg6IDI7XG4gIGdyaWQtcm93OiB2YXIoLS1yb3ctYW5jaG9ycyk7XG4gIGhlaWdodDogdmFyKC0tYW5jaG9ycy1oZWlnaHQpO1xufVxuI2FuY2hvcnMtYmFyLnN0aWNreSB7XG4gIHRvcDogY2FsYyh2YXIoLS1icmVhZGNydW1iLWhlaWdodCkgLSAxcHggKyB2YXIoLS1icmVhZGNydW1iLWFuZC1hbmNob3JzLXN0aWNreS11bmRlcnNldCkgKiAyKTtcbn1cblxuLmhlYWRlciB7XG4gIGdyaWQtcm93OiB2YXIoLS1yb3ctaGVhZGVyKTtcbiAgZ3JpZC1jb2x1bW46IHZhcigtLWNvbHVtbi1tYWluKTtcbiAgbWF4LXdpZHRoOiB2YXIoLS1tYWluLW1heC13aWR0aCk7XG59XG5cbiNmb290ZXIge1xuICBncmlkLXJvdzogdmFyKC0tcm93LWZvb3Rlcik7XG59XG5cbm1haW4ge1xuICBncmlkLXJvdzogdmFyKC0tcm93LW1haW4pO1xuICBncmlkLWNvbHVtbjogdmFyKC0tY29sdW1uLW1haW4pO1xuICBtYXgtd2lkdGg6IHZhcigtLW1haW4tbWF4LXdpZHRoKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbm1haW4gPiAqLFxubWFpbiB+IHNlY3Rpb24sXG5tYWluIH4gYXNpZGUsXG5tYWluIH4gZGl2LFxubWFpbiB+IHNlcnZpY2UtY2VudHJlLWZpbmRlcixcbm1haW4gfiBtYXJrZXRzLXN1bW1hcnkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZXIxKTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlcjEpO1xuICBmbGV4LWdyb3c6IDE7XG59XG5tYWluIH4gZGl2OmhhcyhkaXYjdHJ1ZW5kb19jb250YWluZXIpIHtcbiAgcGFkZGluZzogMDtcbn1cbm1haW4gc2VydmljZS1jZW50cmUtZmluZGVyIHBpY3R1cmUge1xuICAtLXRyYW5zbGF0ZVg6IDA7XG4gIHdpZHRoOiBjYWxjKDEwMHZ3ICsgdmFyKC0tc2Nyb2xsYmFyLXdpZHRoLCAwcHgpKTtcbiAgbGVmdDogdmFyKC0tZ3V0dGVyMS0pO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDE2ODFweCkge1xuICBtYWluIHNlcnZpY2UtY2VudHJlLWZpbmRlciBwaWN0dXJlIHtcbiAgICBsZWZ0OiBjYWxjKCgtMSAqIHZhcigtLWNvbXB1dGVkLWd1dHRlcikpIC0gdmFyKC0tZ3V0dGVyMSkpO1xuICB9XG59XG5cbnNpZGUtYmFyIHtcbiAgZ3JpZC1yb3c6IHZhcigtLXJvdy1zaWRlYmFyKTtcbiAgZ3JpZC1jb2x1bW46IHZhcigtLWNvbHVtbi1yaWdodCk7XG4gIHdpZHRoOiB2YXIoLS1zaWRlYmFyLXdpZHRoKTtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlcjEpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2VyMSk7XG59XG5zaWRlLWJhciA+IGRpdiB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiB2YXIoLS1ndXR0ZXIxKSB2YXIoLS1ndXR0ZXIxKTtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgbWlubWF4KHZhcigtLXNpZGViYXItd2lkdGgpLCAxZnIpKTtcbn1cbnNpZGUtYmFyID4gZGl2LnN0aWNreSB7XG4gIHRvcDogY2FsYyh2YXIoLS1icmVhZGNydW1iLWhlaWdodCkgKyB2YXIoLS1hbmNob3JzLWhlaWdodCkgKyB2YXIoLS1ndXR0ZXIxKSk7XG59XG5zaWRlLWJhciA+IGRpdiA+ICoge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5zaWRlLWJhciA+IGRpdiA+ICoucmVkIHtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91cjogI2RmMzAzNTtcbn1cbnNpZGUtYmFyID4gZGl2ID4gKi5ibHVlIHtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91cjogIzEzMWY2Yjtcbn1cbnNpZGUtYmFyID4gZGl2ID4gKi5ncmV5IHtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91cjogI2Y0ZjRmNDtcbiAgLS1ib3JkZXItY29sb3VyOiAjZGNkY2RjO1xufVxuc2lkZS1iYXIgPiBkaXYgPiAqLndoaXRlIHtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91cjogI0ZGRkZGRjtcbiAgLS1ib3JkZXItY29sb3VyOiAjZjRmNGY0O1xufVxuXG5hc2lkZSNzdXBwb3J0LWluZm9ybWF0aW9uIC5nbG9zc2FyeS10ZXJtcyxcbnRhYmJlZC1jb250ZW50W2RhdGEtc3R5bGU9XCIxXCJdID4gbmF2IHtcbiAgdG9wOiBjYWxjKHZhcigtLWJyZWFkY3J1bWItaGVpZ2h0KSArIHZhcigtLWFuY2hvcnMtaGVpZ2h0KSArIHZhcigtLWd1dHRlcjEpKTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk4MHB4KSB7XG4gIGJvZHkge1xuICAgIC0tY29sdW1uczogdmFyKC0tY29sdW1uLWd1dHRlcikgdmFyKC0tY29sdW1uLWNvbnRlbnQpIHZhcigtLWNvbHVtbi1ndXR0ZXIpO1xuICAgIC0tY29sdW1uLW1haW46IHZhcigtLWNvbHVtbi1mdWxsKTtcbiAgICAtLWNvbHVtbi1sZWZ0OiB2YXIoLS1jb2x1bW4tZnVsbCk7XG4gICAgLS1jb2x1bW4tcmlnaHQ6IHZhcigtLWNvbHVtbi1mdWxsKTtcbiAgICAtLXJvdy1zaWRlYmFyOiBhdXRvO1xuICB9XG4gIGJvZHkgPiAqIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBib2R5IHNpZGUtYmFyIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2VyMSk7XG4gIH1cbiAgYm9keSBzaWRlLWJhciA+IGRpdiB7XG4gICAgZ3JpZC1nYXA6IHZhcigtLXNwYWNlcjEpIHZhcigtLWd1dHRlcjEpO1xuICB9XG4gIGJvZHkgc2lkZS1iYXIgPiBkaXYuc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiBpbml0aWFsO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogMzUycHgpIHtcbiAgYm9keSB7XG4gICAgLS1zaWRlYmFyLXdpZHRoOiAxMDAlO1xuICB9XG59XG4udGhlbWVkLnJlZCB7XG4gIGJhY2tncm91bmQ6ICNkZjMwMzU7XG59XG4udGhlbWVkLnJlZC5ibG93b3V0ICsgLnRoZW1lZC5yZWQge1xuICBib3gtc2hhZG93OiAwcHggMXB4IHZhcigtLWJvcmRlci10b3AtY29sb3VyKTtcbn1cbi50aGVtZWQucmVkLmJsb3dvdXQgKyAudGhlbWVkLnJlZC5saWdodCB7XG4gIC0tYm9yZGVyLXRvcC1jb2xvdXI6ICNkY2RjZGM7XG59XG4udGhlbWVkLnJlZC5ibG93b3V0ICsgLnRoZW1lZC5yZWQuZGFyayB7XG4gIC0tYm9yZGVyLXRvcC1jb2xvdXI6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbn1cbi50aGVtZWQuYmx1ZSB7XG4gIGJhY2tncm91bmQ6ICMxMzFmNmI7XG59XG4udGhlbWVkLmJsdWUuYmxvd291dCArIC50aGVtZWQuYmx1ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAxcHggdmFyKC0tYm9yZGVyLXRvcC1jb2xvdXIpO1xufVxuLnRoZW1lZC5ibHVlLmJsb3dvdXQgKyAudGhlbWVkLmJsdWUubGlnaHQge1xuICAtLWJvcmRlci10b3AtY29sb3VyOiAjZGNkY2RjO1xufVxuLnRoZW1lZC5ibHVlLmJsb3dvdXQgKyAudGhlbWVkLmJsdWUuZGFyayB7XG4gIC0tYm9yZGVyLXRvcC1jb2xvdXI6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbn1cbi50aGVtZWQuZ3JleSB7XG4gIGJhY2tncm91bmQ6ICNmNGY0ZjQ7XG59XG4udGhlbWVkLmdyZXkuYmxvd291dCArIC50aGVtZWQuZ3JleSB7XG4gIGJveC1zaGFkb3c6IDBweCAxcHggdmFyKC0tYm9yZGVyLXRvcC1jb2xvdXIpO1xufVxuLnRoZW1lZC5ncmV5LmJsb3dvdXQgKyAudGhlbWVkLmdyZXkubGlnaHQge1xuICAtLWJvcmRlci10b3AtY29sb3VyOiAjZGNkY2RjO1xufVxuLnRoZW1lZC5ncmV5LmJsb3dvdXQgKyAudGhlbWVkLmdyZXkuZGFyayB7XG4gIC0tYm9yZGVyLXRvcC1jb2xvdXI6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbn1cbi50aGVtZWQud2hpdGUge1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xufVxuLnRoZW1lZC53aGl0ZS5ibG93b3V0ICsgLnRoZW1lZC53aGl0ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAxcHggdmFyKC0tYm9yZGVyLXRvcC1jb2xvdXIpO1xufVxuLnRoZW1lZC53aGl0ZS5ibG93b3V0ICsgLnRoZW1lZC53aGl0ZS5saWdodCB7XG4gIC0tYm9yZGVyLXRvcC1jb2xvdXI6ICNkY2RjZGM7XG59XG4udGhlbWVkLndoaXRlLmJsb3dvdXQgKyAudGhlbWVkLndoaXRlLmRhcmsge1xuICAtLWJvcmRlci10b3AtY29sb3VyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG4udGhlbWVkOm5vdCguYmxvd291dCkge1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLWd1dHRlcjEpO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1ndXR0ZXIxKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2VyMSk7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlcjEpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xufVxuLnRoZW1lZDpub3QoLmJsb3dvdXQpLndoaXRlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Y0ZjRmNDtcbn1cbi50aGVtZWQ6bm90KC5ibG93b3V0KS53aGl0ZSArIC5ibG93b3V0LndoaXRlLFxuLnRoZW1lZDpub3QoLmJsb3dvdXQpLndoaXRlICsgOm5vdCgudGhlbWVkKSB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlcjEtKTtcbn1cblxuLmJsb3dvdXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgei1pbmRleDogLTE7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgodmFyKC0tdHJhbnNsYXRlWCwgLTUwJSkpO1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDMzNnB4KSB7XG4gIC5ibG93b3V0OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgIGxlZnQ6IGNhbGModmFyKC0tZ2FwKSAqIC0xKTtcbiAgICB3aWR0aDogY2FsYygxMDB2dyAtIHZhcigtLXNjcm9sbGJhci13aWR0aCwgMHB4KSk7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5ODBweCkge1xuICAuYmxvd291dDpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1ndXR0ZXIxLSk7XG4gICAgd2lkdGg6IGNhbGMoMTAwdncgLSB2YXIoLS1zcm9sbGJhci13aWR0aCwgMHB4KSk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5ODFweCkge1xuICBib2R5Om5vdChtb2JpbGUpIG1haW4gLmJsb3dvdXQ6YmVmb3JlIHtcbiAgICAtLXRyYW5zbGF0ZVg6IDA7XG4gICAgd2lkdGg6IGNhbGMoMTAwdncgKyB2YXIoLS1zY3JvbGxiYXItd2lkdGgsIDBweCkpO1xuICAgIGxlZnQ6IHZhcigtLWd1dHRlcjEtKTtcbiAgICB3aWR0aDogY2FsYygxMDB2dyArIHZhcigtLWd1dHRlcjEpKTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk4MXB4KSBhbmQgKG1pbi13aWR0aDogMTY4MXB4KSB7XG4gIGJvZHk6bm90KG1vYmlsZSkgbWFpbiAuYmxvd291dDpiZWZvcmUge1xuICAgIGxlZnQ6IGNhbGMoKC0xICogdmFyKC0tY29tcHV0ZWQtZ3V0dGVyKSkgLSB2YXIoLS1ndXR0ZXIxKSk7XG4gIH1cbn1cblxuYm9keS5tb2JpbGUgbWFpbiAuYmxvd291dDpiZWZvcmUge1xuICAtLXRyYW5zbGF0ZVg6IDA7XG4gIHdpZHRoOiBjYWxjKDEwMHZ3ICsgdmFyKC0tc2Nyb2xsYmFyLXdpZHRoLCAwcHgpKTtcbiAgbGVmdDogdmFyKC0tZ3V0dGVyMS0pO1xuICB3aWR0aDogY2FsYygxMDB2dyArIHZhcigtLWd1dHRlcjEpKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNjgxcHgpIHtcbiAgYm9keS5tb2JpbGUgbWFpbiAuYmxvd291dDpiZWZvcmUge1xuICAgIGxlZnQ6IGNhbGMoKC0xICogdmFyKC0tY29tcHV0ZWQtZ3V0dGVyKSkgLSB2YXIoLS1ndXR0ZXIxKSk7XG4gIH1cbn1cblxuYmFja2dyb3VuZC1pbWFnZSxcbmJhY2tncm91bmQtdmlkZW8ge1xuICB6LWluZGV4OiAtMTtcbiAgZ3JpZC1yb3c6IHZhcigtLXJvdy1iYWNrZ3JvdW5kKTtcbiAgZ3JpZC1jb2x1bW46IDEvLTE7XG59XG5iYWNrZ3JvdW5kLWltYWdlLmJlaGluZC1oZWFkZXIsXG5iYWNrZ3JvdW5kLXZpZGVvLmJlaGluZC1oZWFkZXIge1xuICAtLXJvdy1iYWNrZ3JvdW5kOiA0O1xufVxuXG5pbWdbZGF0YS1zcmNdLFxudmlkZW9bZGF0YS1zcmNdIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW47XG4gIG9wYWNpdHk6IDA7XG59XG5pbWdbZGF0YS1zcmNdLmxvYWRlZCxcbnZpZGVvW2RhdGEtc3JjXS5sb2FkZWQge1xuICBvcGFjaXR5OiAxO1xufVxuXG4uY2VudGVyLWFsbCB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctYmxvY2s6IHZhcigtLXNwYWNlcjIpO1xuICBnYXA6IHZhcigtLXNwYWNlcjEpICFpbXBvcnRhbnQ7XG59XG4uY2VudGVyLWFsbCA+IC50ZXh0IDppcyhoMSwgaDIsIGgzLCBoNCwgaDUsIGg2KSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5jZW50ZXItYWxsID4gLnRleHQgOmlzKGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYpIHNwYW4ge1xuICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5KTtcbn1cbi5jZW50ZXItYWxsIGFydGljbGUtbGlzdCB7XG4gIG1heC13aWR0aDogMTEwMHB4O1xuICB3aWR0aDogMTAwJTtcbiAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgLS1hcnRpY2xlLW1pbi13aWR0aDogNDIwcHggIWltcG9ydGFudDtcbn1cblxubWFpbiB+ICo6bm90KC50aGVtZWQpICsgOm5vdCgudGhlbWVkKTpub3QoI2Zvb3Rlcik6bm90KHNpZGUtYmFyKSB7XG4gIGJveC1zaGFkb3c6IDBweCAtMXB4IHZhcigtLWJvcmRlci10b3AtY29sb3VyLCAjZGNkY2RjKTtcbn1cblxubWFpbiA+ICoudGhlbWVkLmNvbnRlbnQtYmxvY2sge1xuICBib3gtc2hhZG93OiBpbml0aWFsO1xufVxuXG5tYWluID4gKi50aGVtZWQgKyA6bm90KC50aGVtZWQpOm5vdCgjZm9vdGVyKSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGJveC1zaGFkb3c6IGluaXRpYWw7XG59XG5cbm1haW4gfiAqLnRoZW1lZCArIDpub3QoLnRoZW1lZCk6bm90KCNmb290ZXIpLFxuYm9keS5iYWNrZ3JvdW5kLXBvc2l0aW9uZWQtYmVoaW5kLWhlYWRlciBtYWluID4gKjpmaXJzdC1jaGlsZCB7XG4gIGJveC1zaGFkb3c6IGluaXRpYWw7XG59XG5cbm1haW4gPiAqOmZpcnN0LWNoaWxkOm5vdCgudGhlbWVkKSxcbm1haW4gPiAqOmZpcnN0LWNoaWxkLndoaXRlIHtcbiAgYm94LXNoYWRvdzogMHB4IC0xcHggdmFyKC0tYm9yZGVyLXRvcC1jb2xvdXIsICNkY2RjZGMpO1xufVxuXG4uY29udGVudC1ibG9ja1tzdHlsZSo9YmFja2dyb3VuZC1jb2xvcl0sXG4uY29udGVudC1ibG9ja1tzdHlsZSo9YmFja2dyb3VuZC1jb2xvcl0gKyA6bm90KC50aGVtZWQpOm5vdCgjZm9vdGVyKSB7XG4gIGJveC1zaGFkb3c6IGluaXRpYWwgIWltcG9ydGFudDtcbn1cblxubWFpbiB+ICo6bm90KC50aGVtZWQpICsgLnRoZW1lZDpub3QoLmJsb3dvdXQpLFxubWFpbiA+ICo6bm90KC50aGVtZWQpICsgLnRoZW1lZDpub3QoLmJsb3dvdXQpIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmhlYWRlciB+IG1haW4gPiAudGhlbWVkOm5vdCguYmxvd291dCk6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZXIxKTtcbn1cblxubWFpbiA+IC50aGVtZWQ6bm90KC5ibG93b3V0KTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2VyMSk7XG59XG5cbm1haW4gPiAudGhlbWVkOm5vdCguYmxvd291dCkgKyAuYmxvd291dCB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlcjEpO1xufVxuXG4uaGVhZGVyIH4gbWFpbiA+IC50aGVtZWQ6bm90KC5ibG93b3V0KSB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbm1haW4gfiBkaXY6aGFzKCNDb29raWVib3RXaWRnZXQpIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG5ib2R5Om5vdChbZGF0YS1jb21wb25lbnRzKj1zaWRlLWJhcl0pIHtcbiAgLS1tYWluLW1heC13aWR0aDogYXV0bztcbiAgLS1jb2x1bW4tbWFpbjogdmFyKC0tY29sdW1uLWZ1bGwpO1xufVxuXG5ib2R5Om5vdChbZGF0YS1jb21wb25lbnRzKj1icmVhZGNydW1icy1iYXJdKSB7XG4gIC0tcm93LW5hdmlnYXRpb246IDE7XG4gIC0tcm93LWFuY2hvcnM6IDI7XG4gIC0tcm93LWhlYWRlcjogMztcbiAgLS1yb3ctbWFpbjogNDtcbn1cbmJvZHk6bm90KFtkYXRhLWNvbXBvbmVudHMqPWJyZWFkY3J1bWJzLWJhcl0pIGJhY2tncm91bmQtaW1hZ2UuZnVsbCxcbmJvZHk6bm90KFtkYXRhLWNvbXBvbmVudHMqPWJyZWFkY3J1bWJzLWJhcl0pIGJhY2tncm91bmQtdmlkZW8uZnVsbCB7XG4gIC0tcm93LWJhY2tncm91bmQ6IDEgLyBzcGFuIDQ7XG59XG5ib2R5Om5vdChbZGF0YS1jb21wb25lbnRzKj1icmVhZGNydW1icy1iYXJdKSBiYWNrZ3JvdW5kLWltYWdlLmJlaGluZC1oZWFkZXIsXG5ib2R5Om5vdChbZGF0YS1jb21wb25lbnRzKj1icmVhZGNydW1icy1iYXJdKSBiYWNrZ3JvdW5kLXZpZGVvLmZ1bGwge1xuICAtLXJvdy1iYWNrZ3JvdW5kOiAzO1xufVxuYm9keTpub3QoW2RhdGEtY29tcG9uZW50cyo9YnJlYWRjcnVtYnMtYmFyXSkgI2FuY2hvcnMtYmFyLnN0aWNreSB7XG4gIHRvcDogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5ODFweCkge1xuICBib2R5Om5vdChbZGF0YS1jb21wb25lbnRzKj1icmVhZGNydW1icy1iYXJdKSB7XG4gICAgLS1yb3ctc2lkZWJhcjogMyAvIHNwYW4gMztcbiAgfVxuICBib2R5Om5vdChbZGF0YS1jb21wb25lbnRzKj1icmVhZGNydW1icy1iYXJdKSBzaWRlLWJhciBkaXYuc3RpY2t5LFxuICBib2R5Om5vdChbZGF0YS1jb21wb25lbnRzKj1icmVhZGNydW1icy1iYXJdKSBhc2lkZSNzdXBwb3J0LWluZm9ybWF0aW9uIC5nbG9zc2FyeS10ZXJtcyxcbiAgYm9keTpub3QoW2RhdGEtY29tcG9uZW50cyo9YnJlYWRjcnVtYnMtYmFyXSkgdGFiYmVkLWNvbnRlbnRbZGF0YS1zdHlsZT1cIjFcIl0gPiBuYXYge1xuICAgIHRvcDogY2FsYyh2YXIoLS1hbmNob3JzLWhlaWdodCkgKyB2YXIoLS1ndXR0ZXIxKSk7XG4gIH1cbn1cblxuYm9keTpub3QoW2RhdGEtY29tcG9uZW50cyo9YW5jaG9ycy1iYXJdKSB7XG4gIC0tcm93LW5hdmlnYXRpb246IDE7XG4gIC0tcm93LWJyZWFkY3J1bWJzOiAyO1xuICAtLXJvdy1oZWFkZXI6IDM7XG4gIC0tcm93LW1haW46IDQ7XG59XG5ib2R5Om5vdChbZGF0YS1jb21wb25lbnRzKj1hbmNob3JzLWJhcl0pIGJhY2tncm91bmQtaW1hZ2UuZnVsbCxcbmJvZHk6bm90KFtkYXRhLWNvbXBvbmVudHMqPWFuY2hvcnMtYmFyXSkgYmFja2dyb3VuZC12aWRlby5mdWxsIHtcbiAgLS1yb3ctYmFja2dyb3VuZDogMSAvIHNwYW4gNDtcbn1cbmJvZHk6bm90KFtkYXRhLWNvbXBvbmVudHMqPWFuY2hvcnMtYmFyXSkgYmFja2dyb3VuZC1pbWFnZS5iZWhpbmQtaGVhZGVyLFxuYm9keTpub3QoW2RhdGEtY29tcG9uZW50cyo9YW5jaG9ycy1iYXJdKSBiYWNrZ3JvdW5kLXZpZGVvLmJlaGluZC1oZWFkZXIge1xuICAtLXJvdy1iYWNrZ3JvdW5kOiAzO1xufVxuYm9keTpub3QoW2RhdGEtY29tcG9uZW50cyo9YW5jaG9ycy1iYXJdKSAjYnJlYWRjcnVtYnMtYmFyLnN0aWNreSB7XG4gIHRvcDogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5ODFweCkge1xuICBib2R5Om5vdChbZGF0YS1jb21wb25lbnRzKj1hbmNob3JzLWJhcl0pIHtcbiAgICAtLXJvdy1zaWRlYmFyOiAzIC8gc3BhbiAzO1xuICB9XG4gIGJvZHk6bm90KFtkYXRhLWNvbXBvbmVudHMqPWFuY2hvcnMtYmFyXSkgc2lkZS1iYXIgZGl2LnN0aWNreSxcbiAgYm9keTpub3QoW2RhdGEtY29tcG9uZW50cyo9YW5jaG9ycy1iYXJdKSBhc2lkZSNzdXBwb3J0LWluZm9ybWF0aW9uIC5nbG9zc2FyeS10ZXJtcyxcbiAgYm9keTpub3QoW2RhdGEtY29tcG9uZW50cyo9YW5jaG9ycy1iYXJdKSB0YWJiZWQtY29udGVudFtkYXRhLXN0eWxlPVwiMVwiXSA+IG5hdiB7XG4gICAgdG9wOiBjYWxjKHZhcigtLWFuY2hvcnMtaGVpZ2h0KSArIHZhcigtLWd1dHRlcjEpKTtcbiAgfVxufVxuXG5ib2R5Om5vdChbZGF0YS1jb21wb25lbnRzKj1icmVhZGNydW1icy1iYXJdKTpub3QoW2RhdGEtY29tcG9uZW50cyo9YW5jaG9ycy1iYXJdKSB7XG4gIC0tcm93LW5hdmlnYXRpb246IDE7XG4gIC0tcm93LWhlYWRlcjogMjtcbiAgLS1yb3ctbWFpbjogMztcbiAgLS1yb3ctYmFja2dyb3VuZDogMTtcbn1cbmJvZHk6bm90KFtkYXRhLWNvbXBvbmVudHMqPWJyZWFkY3J1bWJzLWJhcl0pOm5vdChbZGF0YS1jb21wb25lbnRzKj1hbmNob3JzLWJhcl0pIGJhY2tncm91bmQtaW1hZ2UuZnVsbCxcbmJvZHk6bm90KFtkYXRhLWNvbXBvbmVudHMqPWJyZWFkY3J1bWJzLWJhcl0pOm5vdChbZGF0YS1jb21wb25lbnRzKj1hbmNob3JzLWJhcl0pIGJhY2tncm91bmQtdmlkZW8uZnVsbCB7XG4gIC0tcm93LWJhY2tncm91bmQ6IDEgLyBzcGFuIDU7XG59XG5ib2R5Om5vdChbZGF0YS1jb21wb25lbnRzKj1icmVhZGNydW1icy1iYXJdKTpub3QoW2RhdGEtY29tcG9uZW50cyo9YW5jaG9ycy1iYXJdKSBiYWNrZ3JvdW5kLWltYWdlLmJlaGluZC1oZWFkZXIsXG5ib2R5Om5vdChbZGF0YS1jb21wb25lbnRzKj1icmVhZGNydW1icy1iYXJdKTpub3QoW2RhdGEtY29tcG9uZW50cyo9YW5jaG9ycy1iYXJdKSBiYWNrZ3JvdW5kLXZpZGVvLmJlaGluZC1oZWFkZXIge1xuICAtLXJvdy1iYWNrZ3JvdW5kOiAyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk4MXB4KSB7XG4gIGJvZHk6bm90KFtkYXRhLWNvbXBvbmVudHMqPWJyZWFkY3J1bWJzLWJhcl0pOm5vdChbZGF0YS1jb21wb25lbnRzKj1hbmNob3JzLWJhcl0pIHtcbiAgICAtLXJvdy1zaWRlYmFyOiAyIC8gc3BhbiAzO1xuICB9XG4gIGJvZHk6bm90KFtkYXRhLWNvbXBvbmVudHMqPWJyZWFkY3J1bWJzLWJhcl0pOm5vdChbZGF0YS1jb21wb25lbnRzKj1hbmNob3JzLWJhcl0pIHNpZGUtYmFyIGRpdi5zdGlja3ksXG4gIGJvZHk6bm90KFtkYXRhLWNvbXBvbmVudHMqPWJyZWFkY3J1bWJzLWJhcl0pOm5vdChbZGF0YS1jb21wb25lbnRzKj1hbmNob3JzLWJhcl0pIGFzaWRlI3N1cHBvcnQtaW5mb3JtYXRpb24gLmdsb3NzYXJ5LXRlcm1zLFxuICBib2R5Om5vdChbZGF0YS1jb21wb25lbnRzKj1icmVhZGNydW1icy1iYXJdKTpub3QoW2RhdGEtY29tcG9uZW50cyo9YW5jaG9ycy1iYXJdKSB0YWJiZWQtY29udGVudFtkYXRhLXN0eWxlPVwiMVwiXSA+IG5hdiB7XG4gICAgdG9wOiB2YXIoLS1ndXR0ZXIxKTtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTgwcHgpIHtcbiAgYm9keS5ydWxlLWxhc3QtbWFpbi1zZWN0aW9uLWlzLXRoZW1lZCBzaWRlLWJhciB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbn1cblxuLmxheW91dC1jb250ZW50LXJpZ2h0LXNpZGViYXIsIC5sYXlvdXQtY29udGVudC1sZWZ0LXNpZGViYXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWdhcDogdmFyKC0tZ3V0dGVyMSk7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xufVxuLmxheW91dC1jb250ZW50LXJpZ2h0LXNpZGViYXIgLmxlZnQsXG4ubGF5b3V0LWNvbnRlbnQtcmlnaHQtc2lkZWJhciAucmlnaHQsIC5sYXlvdXQtY29udGVudC1sZWZ0LXNpZGViYXIgLmxlZnQsXG4ubGF5b3V0LWNvbnRlbnQtbGVmdC1zaWRlYmFyIC5yaWdodCB7XG4gIGdyaWQtY29sdW1uOiAxLy0xO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG4ubGF5b3V0LWNvbnRlbnQtcmlnaHQtc2lkZWJhciAubGF5b3V0LWNvbnRlbnQtcmlnaHQtc2lkZWJhciwgLmxheW91dC1jb250ZW50LXJpZ2h0LXNpZGViYXIgLmxheW91dC1jb250ZW50LWxlZnQtc2lkZWJhciwgLmxheW91dC1jb250ZW50LWxlZnQtc2lkZWJhciAubGF5b3V0LWNvbnRlbnQtcmlnaHQtc2lkZWJhciwgLmxheW91dC1jb250ZW50LWxlZnQtc2lkZWJhciAubGF5b3V0LWNvbnRlbnQtbGVmdC1zaWRlYmFyIHtcbiAgLS1jb2x1bW4tY29udGVudDogbWlubWF4KDAsIGNhbGMoMTY4MHB4IC0gKHZhcigtLXNpZGViYXItd2lkdGgpICogMikpKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk4MXB4KSB7XG4gIGJvZHkgPiAubGF5b3V0LWNvbnRlbnQtbGVmdC1zaWRlYmFyIC5sZWZ0IHtcbiAgICBncmlkLWNvbHVtbjogMTtcbiAgfVxuICBib2R5ID4gLmxheW91dC1jb250ZW50LWxlZnQtc2lkZWJhciAucmlnaHQge1xuICAgIGdyaWQtY29sdW1uOiAyLzQ7XG4gIH1cbiAgYm9keSA+IC5sYXlvdXQtY29udGVudC1yaWdodC1zaWRlYmFyIC5sZWZ0IHtcbiAgICBncmlkLWNvbHVtbjogMS8zO1xuICAgIG1heC13aWR0aDogdmFyKC0tbWFpbi1tYXgtd2lkdGgpO1xuICB9XG4gIGJvZHkgPiAubGF5b3V0LWNvbnRlbnQtcmlnaHQtc2lkZWJhciAucmlnaHQge1xuICAgIGdyaWQtY29sdW1uOiAzO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ3V0dGVyMSk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tZ3V0dGVyMSk7XG4gIH1cbiAgYm9keSA+IC5sYXlvdXQtY29udGVudC1yaWdodC1zaWRlYmFyLCBib2R5ID4gLmxheW91dC1jb250ZW50LWxlZnQtc2lkZWJhciB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1jb2x1bW4tc2lkZWJhcikgdmFyKC0tY29sdW1uLWNvbnRlbnQpIHZhcigtLWNvbHVtbi1zaWRlYmFyKTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDExMjFweCkge1xuICBib2R5Om5vdChbZGF0YS1jb21wb25lbnRzKj1zaWRlLWJhcl0pIG1haW4gLmxheW91dC1jb250ZW50LWxlZnQtc2lkZWJhciAubGVmdCB7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gIH1cbiAgYm9keTpub3QoW2RhdGEtY29tcG9uZW50cyo9c2lkZS1iYXJdKSBtYWluIC5sYXlvdXQtY29udGVudC1sZWZ0LXNpZGViYXIgLnJpZ2h0IHtcbiAgICBncmlkLWNvbHVtbjogMi80O1xuICB9XG4gIGJvZHk6bm90KFtkYXRhLWNvbXBvbmVudHMqPXNpZGUtYmFyXSkgbWFpbiAubGF5b3V0LWNvbnRlbnQtcmlnaHQtc2lkZWJhciAubGVmdCB7XG4gICAgZ3JpZC1jb2x1bW46IDEvMztcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1haW4tbWF4LXdpZHRoKTtcbiAgfVxuICBib2R5Om5vdChbZGF0YS1jb21wb25lbnRzKj1zaWRlLWJhcl0pIG1haW4gLmxheW91dC1jb250ZW50LXJpZ2h0LXNpZGViYXIgLnJpZ2h0IHtcbiAgICBncmlkLWNvbHVtbjogMztcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWd1dHRlcjEpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWd1dHRlcjEpO1xuICB9XG4gIGJvZHk6bm90KFtkYXRhLWNvbXBvbmVudHMqPXNpZGUtYmFyXSkgbWFpbiAubGF5b3V0LWNvbnRlbnQtcmlnaHQtc2lkZWJhciwgYm9keTpub3QoW2RhdGEtY29tcG9uZW50cyo9c2lkZS1iYXJdKSBtYWluIC5sYXlvdXQtY29udGVudC1sZWZ0LXNpZGViYXIge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0tY29sdW1uLXNpZGViYXIpIHZhcigtLWNvbHVtbi1jb250ZW50KSB2YXIoLS1jb2x1bW4tc2lkZWJhcik7XG4gIH1cbn1cblxuLmNvbnRlbnQtYmxvY2sgPiAqIHtcbiAgZ3JpZC1jb2x1bW46IDEvLTE7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzAxcHgpIHtcbiAgLmNvbnRlbnQtYmxvY2sge1xuICAgIC0tY29sdW1uLWNvdW50OiA2O1xuICB9XG4gIC5jb250ZW50LWJsb2NrIC5jb2wtMS0xIHtcbiAgICBncmlkLWNvbHVtbjogMS9zcGFuIDE7XG4gIH1cbiAgLmNvbnRlbnQtYmxvY2sgLmNvbC0xLTIge1xuICAgIGdyaWQtY29sdW1uOiAxL3NwYW4gMjtcbiAgfVxuICAuY29udGVudC1ibG9jayAuY29sLTEtMyB7XG4gICAgZ3JpZC1jb2x1bW46IDEvc3BhbiAzO1xuICB9XG4gIC5jb250ZW50LWJsb2NrIC5jb2wtMS00IHtcbiAgICBncmlkLWNvbHVtbjogMS9zcGFuIDQ7XG4gIH1cbiAgLmNvbnRlbnQtYmxvY2sgLmNvbC0xLTUge1xuICAgIGdyaWQtY29sdW1uOiAxL3NwYW4gNTtcbiAgfVxuICAuY29udGVudC1ibG9jayAuY29sLTEtNiB7XG4gICAgZ3JpZC1jb2x1bW46IDEvc3BhbiA2O1xuICB9XG4gIC5jb250ZW50LWJsb2NrIC5jb2wtMi0xIHtcbiAgICBncmlkLWNvbHVtbjogMi9zcGFuIDE7XG4gIH1cbiAgLmNvbnRlbnQtYmxvY2sgLmNvbC0yLTIge1xuICAgIGdyaWQtY29sdW1uOiAyL3NwYW4gMjtcbiAgfVxuICAuY29udGVudC1ibG9jayAuY29sLTItMyB7XG4gICAgZ3JpZC1jb2x1bW46IDIvc3BhbiAzO1xuICB9XG4gIC5jb250ZW50LWJsb2NrIC5jb2wtMi00IHtcbiAgICBncmlkLWNvbHVtbjogMi9zcGFuIDQ7XG4gIH1cbiAgLmNvbnRlbnQtYmxvY2sgLmNvbC0yLTUge1xuICAgIGdyaWQtY29sdW1uOiAyL3NwYW4gNTtcbiAgfVxuICAuY29udGVudC1ibG9jayAuY29sLTMtMSB7XG4gICAgZ3JpZC1jb2x1bW46IDMvc3BhbiAxO1xuICB9XG4gIC5jb250ZW50LWJsb2NrIC5jb2wtMy0yIHtcbiAgICBncmlkLWNvbHVtbjogMy9zcGFuIDI7XG4gIH1cbiAgLmNvbnRlbnQtYmxvY2sgLmNvbC0zLTMge1xuICAgIGdyaWQtY29sdW1uOiAzL3NwYW4gMztcbiAgfVxuICAuY29udGVudC1ibG9jayAuY29sLTMtNCB7XG4gICAgZ3JpZC1jb2x1bW46IDMvc3BhbiA0O1xuICB9XG4gIC5jb250ZW50LWJsb2NrIC5jb2wtNC0xIHtcbiAgICBncmlkLWNvbHVtbjogNC9zcGFuIDE7XG4gIH1cbiAgLmNvbnRlbnQtYmxvY2sgLmNvbC00LTIge1xuICAgIGdyaWQtY29sdW1uOiA0L3NwYW4gMjtcbiAgfVxuICAuY29udGVudC1ibG9jayAuY29sLTQtMyB7XG4gICAgZ3JpZC1jb2x1bW46IDQvc3BhbiAzO1xuICB9XG4gIC5jb250ZW50LWJsb2NrIC5jb2wtNS0xIHtcbiAgICBncmlkLWNvbHVtbjogNS9zcGFuIDI7XG4gIH1cbiAgLmNvbnRlbnQtYmxvY2sgLmNvbC01LTIge1xuICAgIGdyaWQtY29sdW1uOiA1L3NwYW4gMjtcbiAgfVxuICAuY29udGVudC1ibG9jayAuY29sLTYtMSB7XG4gICAgZ3JpZC1jb2x1bW46IDYvc3BhbiAxO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzAwcHgpIGFuZCAobWF4LXdpZHRoOiAxNDAwcHgpIHtcbiAgLmNvbnRlbnQtYmxvY2sge1xuICAgIC0tY29sdW1uLWNvdW50OiA0O1xuICB9XG4gIC5jb250ZW50LWJsb2NrIC5jb2wtMS0zIHtcbiAgICBncmlkLWNvbHVtbjogMS9zcGFuIDI7XG4gIH1cbiAgLmNvbnRlbnQtYmxvY2sgLmNvbC0xLTQge1xuICAgIGdyaWQtY29sdW1uOiAxL3NwYW4gMztcbiAgfVxuICAuY29udGVudC1ibG9jayAuY29sLTEtNSB7XG4gICAgZ3JpZC1jb2x1bW46IDEvc3BhbiAzO1xuICB9XG4gIC5jb250ZW50LWJsb2NrIC5jb2wtNC0zIHtcbiAgICBncmlkLWNvbHVtbjogMy8tMTtcbiAgfVxuICAuY29udGVudC1ibG9jayAuY29sLTEtNiB7XG4gICAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gIH1cbiAgLmNvbnRlbnQtYmxvY2sgLmNvbC0yLTMsXG4gIC5jb250ZW50LWJsb2NrIC5jb2wtMi00LFxuICAuY29udGVudC1ibG9jayAuY29sLTItNSB7XG4gICAgZ3JpZC1jb2x1bW46IDIvLTE7XG4gIH1cbiAgLmNvbnRlbnQtYmxvY2sgLmNvbC0zLTIsXG4gIC5jb250ZW50LWJsb2NrIC5jb2wtMy0zLFxuICAuY29udGVudC1ibG9jayAuY29sLTMtNCB7XG4gICAgZ3JpZC1jb2x1bW46IDMvLTE7XG4gIH1cbiAgLmNvbnRlbnQtYmxvY2sgLmNvbC00LTEsXG4gIC5jb250ZW50LWJsb2NrIC5jb2wtNC0yLFxuICAuY29udGVudC1ibG9jayAuY29sLTUtMSxcbiAgLmNvbnRlbnQtYmxvY2sgLmNvbC02LTEge1xuICAgIGdyaWQtY29sdW1uOiA0Ly0xO1xuICB9XG4gIC5jb250ZW50LWJsb2NrIC5jb2wtNS0yIHtcbiAgICBncmlkLWNvbHVtbjogMS8tMTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNjk5cHgpIHtcbiAgLmNvbnRlbnQtYmxvY2sge1xuICAgIC0tY29sdW1uLWNvdW50OiAyO1xuICB9XG4gIC5jb250ZW50LWJsb2NrIC5jb2wtMS0xLFxuICAuY29udGVudC1ibG9jayAuY29sLTMtMSxcbiAgLmNvbnRlbnQtYmxvY2sgLmNvbC01LTEge1xuICAgIGdyaWQtY29sdW1uOiAxO1xuICB9XG4gIC5jb250ZW50LWJsb2NrIC5jb2wtMi0xLFxuICAuY29udGVudC1ibG9jayAuY29sLTQtMSxcbiAgLmNvbnRlbnQtYmxvY2sgLmNvbC02LTEge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA2OTlweCkgYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gIC5jb250ZW50LWJsb2NrIC5jb2wtMS0xIHtcbiAgICBncmlkLWNvbHVtbjogMS8tMTtcbiAgfVxuICAuY29udGVudC1ibG9jayAuY29sLTEtNSArIC5jb2wtNi0xIHtcbiAgICBncmlkLWNvbHVtbjogMS8tMTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNjk5cHgpIGFuZCAobWluLXdpZHRoOiA1MDFweCkge1xuICAuY29udGVudC1ibG9jayAuY29sLTItNSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gIH1cbiAgLmNvbnRlbnQtYmxvY2sgLmNvbC0xLTUge1xuICAgIGdyaWQtY29sdW1uOiAxO1xuICB9XG59XG5cbm5hdmlnYXRpb24tYmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNlcjApICsgdmFyKC0tZ2FwKSkgMDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMDEyNGQ7XG4gIHotaW5kZXg6IDU7XG4gIGdhcDogdmFyKC0tZ3V0dGVyMSk7XG4gIGhlaWdodDogbWluLWNvbnRlbnQ7XG4gIC0tdG9wLWxldmVsLWxpbmstZ3V0dGVyczogdmFyKC0tZ2FwKTtcbiAgLS10b3AtbGV2ZWwtbGluay1jb2xvdXI6IHdoaXRlO1xuICAtLW1hcmtlci1saW5lLXRoaWNrbmVzczogM3B4O1xuICAtLXNwYWNlci1saW5lLXRoaWNrbmVzczogMXB4O1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk4MHB4KSB7XG4gIG5hdmlnYXRpb24tYmFyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG59XG5uYXZpZ2F0aW9uLWJhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICB6LWluZGV4OiAtMTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCh2YXIoLS10cmFuc2xhdGVYLCAtNTAlKSk7XG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XG59XG5uYXZpZ2F0aW9uLWJhciA+ICo6bm90KC5pbWFnZSkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG59XG5ib2R5W2RhdGEtY29tcG9uZW50cyo9YmFja2dyb3VuZC1pbWFnZV0gbmF2aWdhdGlvbi1iYXIuaGlkZS1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDtcbiAgYmFja2dyb3VuZDogaW5pdGlhbDtcbn1cbmJvZHlbZGF0YS1jb21wb25lbnRzKj1iYWNrZ3JvdW5kLWltYWdlXSBuYXZpZ2F0aW9uLWJhci5oaWRlLWJhY2tncm91bmQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmJvZHlbZGF0YS1jb21wb25lbnRzKj1iYWNrZ3JvdW5kLXZpZGVvXSBuYXZpZ2F0aW9uLWJhci5oaWRlLWJhY2tncm91bmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbml0aWFsO1xuICBiYWNrZ3JvdW5kOiBpbml0aWFsO1xufVxuYm9keVtkYXRhLWNvbXBvbmVudHMqPWJhY2tncm91bmQtdmlkZW9dIG5hdmlnYXRpb24tYmFyLmhpZGUtYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxubmF2aWdhdGlvbi1iYXIuaW52ZXJ0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDtcbiAgYmFja2dyb3VuZDogaW5pdGlhbDtcbiAgLS10b3AtbGV2ZWwtbGluay1jb2xvdXI6ICMxMzFmNmI7XG59XG5uYXZpZ2F0aW9uLWJhci5pbnZlcnQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5uYXZpZ2F0aW9uLWJhci5pbnZlcnQgYS5sb2dvIGltZ1tzcmMqPVwidGFnbGluZS5zdmdcIl0ge1xuICBmaWx0ZXI6IGludmVydCgwLjkpO1xufVxubmF2aWdhdGlvbi1iYXIgYS5sb2dvIHtcbiAgbWF4LXdpZHRoOiAzMjBweDtcbiAgbWF4LXdpZHRoOiAyODBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMjAwcHg7XG4gIGFzcGVjdC1yYXRpbzogMzcxLzk3O1xufVxubmF2aWdhdGlvbi1iYXIgYS5sb2dvOmhhcyhzdmcubm8tdGFnbGluZXMpIHtcbiAgYXNwZWN0LXJhdGlvOiBpbml0aWFsO1xufVxuOmhhcyhoZWFkZXIuZGFyaykgbmF2aWdhdGlvbi1iYXI6bm90KC5pbnZlcnQpIGEubG9nbyB7XG4gIC0tbG9nby10ZXh0LWNvbG91cjogd2hpdGU7XG59XG5cbm5hdmlnYXRpb24tYmFyOm5vdCguaW52ZXJ0KSB7XG4gIC0tbG9nby10ZXh0LWNvbG91cjogd2hpdGU7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGdhcDogOHB4O1xufVxubmF2aWdhdGlvbi1iYXIgbmF2IG1haW4tbWVudSA+IHVsID4gbGkudG9wLWxldmVsLWxpbms6bm90KDpudGgtbGFzdC1jaGlsZCgyKSk6bm90KDpudGgtbGFzdC1jaGlsZCgzKSk6bm90KDpsYXN0LW9mLXR5cGUpOjpiZWZvcmUsXG5uYXZpZ2F0aW9uLWJhciBuYXYgc2Vjb25kYXJ5LW1lbnUgPiB1bCA+IGxpOm5vdCg6bGFzdC1vZi10eXBlKTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IHZhcigtLXNwYWNlci1saW5lLXRoaWNrbmVzcyk7XG4gIGhlaWdodDogNDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiBjYWxjKC0xICogdmFyKC0tc3BhY2VyLWxpbmUtdGhpY2tuZXNzKSAvIDIpO1xuICB0b3A6IDMwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3BhY2VyLWxpbmUtY29sb3VyLCAjZGYzMDM1KTtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBwZXJzb25hbGlzZS1leHBlcmllbmNlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiAucGVyc29uYWxpc2VkIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IHZhcigtLWdhcCk7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgLnBlcnNvbmFsaXNlZCBwZXJzb25hbGlzZS1leHBlcmllbmNlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xufVxubmF2aWdhdGlvbi1iYXIgbmF2IC5wZXJzb25hbGlzZWQgcGVyc29uYWxpc2UtZXhwZXJpZW5jZSBhLmJ1dHRvbi5wZXJzb25hbGlzZWQge1xuICAtLWZvbnQtc2l6ZTogMC44ZW07XG4gIC0tcGFkZGluZzogNHB4IDEwcHg7XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTQwcHgpIHtcbiAgbmF2aWdhdGlvbi1iYXIgbmF2IC5wZXJzb25hbGlzZWQgcGVyc29uYWxpc2UtZXhwZXJpZW5jZSBhLmJ1dHRvbi5wZXJzb25hbGlzZWQge1xuICAgIC0tZm9udC1zaXplOiAxNnB4O1xuICAgIC0tcGFkZGluZzogOHB4IDIwcHg7XG4gICAgLS1pY29uLXNpemU6IDIwcHg7XG4gIH1cbiAgbmF2aWdhdGlvbi1iYXIgbmF2IC5wZXJzb25hbGlzZWQgcGVyc29uYWxpc2UtZXhwZXJpZW5jZSBhLmJ1dHRvbi5wZXJzb25hbGlzZWQgcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBuYXZpZ2F0aW9uLWJhciBuYXYgLnBlcnNvbmFsaXNlZCBwZXJzb25hbGlzZS1leHBlcmllbmNlIGEuYnV0dG9uLnBlcnNvbmFsaXNlZCBzdmcge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgbmF2aWdhdGlvbi1iYXIgbmF2IC5wZXJzb25hbGlzZWQgcGVyc29uYWxpc2UtZXhwZXJpZW5jZSBhLmJ1dHRvbi5wZXJzb25hbGlzZWQge1xuICAgIG1heC1oZWlnaHQ6IDM2cHg7XG4gICAgLS1pY29uLXNpemU6IDEuMWVtO1xuICB9XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgLnBlcnNvbmFsaXNlZCBwZXJzb25hbGlzZS1leHBlcmllbmNlICsgc2Vjb25kYXJ5LW1lbnUge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDQwcHgpIHtcbiAgbmF2aWdhdGlvbi1iYXIgbmF2IC5wZXJzb25hbGlzZWQge1xuICAgIHRvcDogdW5zZXQ7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbiAgbmF2aWdhdGlvbi1iYXIgbmF2IC5wZXJzb25hbGlzZWQgLmJ1dHRvbixcbiAgbmF2aWdhdGlvbi1iYXIgbmF2IC5wZXJzb25hbGlzZWQgcGVyc29uYWxpc2UtZXhwZXJpZW5jZSBhLmJ1dHRvbi5wZXJzb25hbGlzZWQge1xuICAgIC0tcGFkZGluZzogOHB4O1xuICAgIC0taWNvbi1zaXplOiAwLjhlbTtcbiAgfVxufVxubmF2aWdhdGlvbi1iYXIgbmF2IG1haW4tbWVudSA+IHVsID4gbGkudG9wLWxldmVsLWxpbmsgKyAuc2VhcmNoIHtcbiAgbWFyZ2luLWxlZnQ6IC0ycHg7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgLmxpbmsge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZSk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiAubGluayBzdmcge1xuICBtYXJnaW4tbGVmdDogMC40ZW07XG4gIGhlaWdodDogMC41ZW07XG4gIGZpbGw6ICNGRkZGRkY7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgLmxpbmsgc3ZnOm5vdCguYXJyb3ctcmlnaHQpOm5vdCguYXJyb3ctbGVmdCkge1xuICBoZWlnaHQ6IDAuOGVtO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2IC5saW5rLm92ZXJ2aWV3IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgLmxpbmsgc3ZnLFxubmF2aWdhdGlvbi1iYXIgbmF2IC5idXR0b24gc3ZnIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgbWFpbi1tZW51IHtcbiAgLS1mb250LXNpemU6IDAuOTVlbTtcbiAgb3JkZXI6IDI7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgbWFpbi1tZW51IC50b3AtbGV2ZWwtbGlua3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2IG1haW4tbWVudSAudG9wLWxldmVsLWxpbmtzIGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2IG1haW4tbWVudSAudG9wLWxldmVsLWxpbmtzIGxpLnRvcC1sZXZlbC1saW5rIGEge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLXRvcC1sZXZlbC1saW5rLWNvbG91cik7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tZ2FwKSAqIDAuNSkgdmFyKC0tdG9wLWxldmVsLWxpbmstZ3V0dGVycyk7XG4gIGhlaWdodDogMTAwJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBtYWluLW1lbnUgLnRvcC1sZXZlbC1saW5rcyBsaS50b3AtbGV2ZWwtbGluayBhOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGhlaWdodDogM3B4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tdG9wLWxldmVsLWxpbmstZ3V0dGVycykgKiAyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdG9wLWxldmVsLWxpbmstY29sb3VyLCAjZGYzMDM1KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IHZhcigtLXRvcC1sZXZlbC1saW5rLWd1dHRlcnMpO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2IG1haW4tbWVudSAudG9wLWxldmVsLWxpbmtzIGxpLnRvcC1sZXZlbC1saW5rIGEuYWN0aXZlOjphZnRlciB7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBtYWluLW1lbnUgLnRvcC1sZXZlbC1saW5rcyBsaS50b3AtbGV2ZWwtbGluayBhLmN1cnJlbnQ6OmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBtYWluLW1lbnUgLnRvcC1sZXZlbC1saW5rcyBsaS50b3AtbGV2ZWwtbGlua1tkYXRhLW5hdj1tZW51XSB7XG4gIG9yZGVyOiAxO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2IG1haW4tbWVudSAudG9wLWxldmVsLWxpbmtzIGxpLnRvcC1sZXZlbC1saW5rW2RhdGEtbmF2PXN1Ym1lbnVdIHtcbiAgb3JkZXI6IDI7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgbWFpbi1tZW51IC50b3AtbGV2ZWwtbGlua3MgbGkuc2VhcmNoIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBtYWluLW1lbnUgLnRvcC1sZXZlbC1saW5rcyBsaS5zZWFyY2ggYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBtYWluLW1lbnUgLnRvcC1sZXZlbC1saW5rcyBsaS5zZWFyY2ggc3ZnIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgbWFpbi1tZW51IC50b3AtbGV2ZWwtbGlua3MgbGkuc2VhcmNoIHNwYW4ge1xuICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tZ2FwKSAqIDAuNSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2IG1haW4tbWVudSAudG9wLWxldmVsLWxpbmtzIGxpLnNlYXJjaCwgbmF2aWdhdGlvbi1iYXIgbmF2IG1haW4tbWVudSAudG9wLWxldmVsLWxpbmtzIGxpLm1lbnUge1xuICBvcmRlcjogMztcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBtYWluLW1lbnUgLnRvcC1sZXZlbC1saW5rcyBsaS5jYXJ0IHtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLXRvcC1sZXZlbC1saW5rLWd1dHRlcnMpIC8gMik7XG4gIGxlZnQ6IC0ycHg7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgbWFpbi1tZW51IC50b3AtbGV2ZWwtbGlua3MgbGkuY2FydCBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwYWRkaW5nOiA4cHggMTBweDtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBtYWluLW1lbnUgLnRvcC1sZXZlbC1saW5rcyBsaS5jYXJ0IGEgc3BhbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgbWFpbi1tZW51IC50b3AtbGV2ZWwtbGlua3MgbGkuY2FydCBzdmcge1xuICBvcmRlcjogMTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5saS5jYXJ0IGFbZGF0YS10b3RhbF06OmFmdGVyIHtcbiAgY29udGVudDogYXR0cihkYXRhLXRvdGFsKTtcbiAgbWluLXdpZHRoOiAyY2g7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgcGFkZGluZzogMCAwLjRlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICBoZWlnaHQ6IDJjaDtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGYzMDM1O1xuICBjb2xvcjogd2hpdGU7XG4gIGxpbmUtaGVpZ2h0OiAwLjI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcGxhY2UtY29udGVudDogY2VudGVyO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDAuOGVtO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xuICBvcmRlcjogMjtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIGxpLmNhcnQgYVtkYXRhLXRvdGFsXTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzEzMWY2YjtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgfVxuICBsaS5jYXJ0IGFbZGF0YS10b3RhbF06aG92ZXI6OmFmdGVyIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgfVxuICBsaS5jYXJ0IGFbZGF0YS10b3RhbF06aG92ZXIgc3ZnIHtcbiAgICBmaWxsOiAjZGYzMDM1O1xuICB9XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICBsaS5jYXJ0IGE6bm90KFtkYXRhLXRvdGFsXSk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMzFmNmI7XG4gIH1cbiAgbGkuY2FydCBhOm5vdChbZGF0YS10b3RhbF0pOmhvdmVyOjphZnRlciB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gIH1cbiAgbGkuY2FydCBhOm5vdChbZGF0YS10b3RhbF0pOmhvdmVyIHN2ZyB7XG4gICAgZmlsbDogI2RmMzAzNTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTUwcHgpIHtcbiAgbmF2aWdhdGlvbi1iYXIgbmF2IG1haW4tbWVudSAudG9wLWxldmVsLWxpbmtzIGxpLmNhcnQgc3ZnIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIG5hdmlnYXRpb24tYmFyIG5hdiBtYWluLW1lbnUgLnRvcC1sZXZlbC1saW5rcyBsaS5jYXJ0IGEge1xuICAgIHBhZGRpbmc6IDhweCAyMHB4O1xuICB9XG4gIG5hdmlnYXRpb24tYmFyIG5hdiBtYWluLW1lbnUgLnRvcC1sZXZlbC1saW5rcyBsaS5jYXJ0IGEgc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBtYWluLW1lbnUubG9hZGluZzo6YmVmb3JlIHtcbiAgLS1zaXplOiAxMnB4O1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYyg1MCUgLSB2YXIoLS1zaXplKSAvIDIpO1xuICBsZWZ0OiBjYWxjKDUwJSAtIHZhcigtLXNpemUpIC8gMik7XG4gIG9wYWNpdHk6IDA7XG4gIHdpZHRoOiB2YXIoLS1zaXplKTtcbiAgaGVpZ2h0OiB2YXIoLS1zaXplKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1sb2FkZXItY29sb3VyLCB3aGl0ZSk7XG4gIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxvYWRlci1yb3RhdGU7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSk7XG4gIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG59XG5Aa2V5ZnJhbWVzIGxvYWRlci1yb3RhdGUge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgbmF2aWdhdGlvbi1iYXIgbmF2IG1haW4tbWVudS5sb2FkaW5nOmhvdmVyOjpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gIH1cbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBzZWNvbmRhcnktbWVudSB7XG4gIC0tZm9udC1zaXplOiAwLjhlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgb3JkZXI6IDE7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICB6LWluZGV4OiA2O1xufVxubmF2aWdhdGlvbi1iYXIgbmF2IHNlY29uZGFyeS1tZW51ID4gdWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiBjYWxjKHZhcigtLWdhcCkgKiAtMSk7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgc2Vjb25kYXJ5LW1lbnUgPiB1bCBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBzZWNvbmRhcnktbWVudSA+IHVsIGxpIGEge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogdmFyKC0tdG9wLWxldmVsLWxpbmstY29sb3VyKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1nYXApICogMC41KSB2YXIoLS1nYXApO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIG5hdmlnYXRpb24tYmFyIG5hdiBzZWNvbmRhcnktbWVudSA+IHVsIGxpIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjMDA5NWZmO1xuICB9XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgc2Vjb25kYXJ5LW1lbnUgPiB1bCBsaSAuc3ViLW1lbnUge1xuICBkaXNwbGF5OiBncmlkO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogNTAlO1xuICBtaW4td2lkdGg6IGNhbGMoMTAwJSArIGNhbGModmFyKC0tZ2FwKSAqIDIpKTtcbiAgd2lkdGg6IDIwMHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIGNhbGModmFyKC0tZ2FwKSAqIC0wLjUpKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeSwgIzEzMWY2Yik7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICksIHRyYW5zZm9ybSB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2IHNlY29uZGFyeS1tZW51ID4gdWwgbGkgLnN1Yi1tZW51IGxpOm50aC1vZi10eXBlKDEpIHtcbiAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tZ2FwKSAqIDAuNSk7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgc2Vjb25kYXJ5LW1lbnUgPiB1bCBsaSAuc3ViLW1lbnUgbGk6bGFzdC1vZi10eXBlIHtcbiAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tZ2FwKSAqIDAuNSk7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgc2Vjb25kYXJ5LW1lbnUgPiB1bCBsaSAuc3ViLW1lbnUgYSB7XG4gIHBhZGRpbmc6IGNhbGMoY2FsYyh2YXIoLS1nYXApICogMC41KSAvIDIpIHZhcigtLWdhcCk7XG4gIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICBjb2xvcjogd2hpdGU7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgc2Vjb25kYXJ5LW1lbnUgPiB1bCBsaSAuc3ViLW1lbnUgYS5hc3NldCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5uYXZpZ2F0aW9uLWJhciBuYXYgc2Vjb25kYXJ5LW1lbnUgPiB1bCBsaSAuc3ViLW1lbnUgYS5hc3NldCBzdmcge1xuICBvcmRlcjogLTE7XG4gIG1hcmdpbjogMCAwLjRlbSAwIDA7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbi10b3A6IDAuNGVtO1xufVxubmF2aWdhdGlvbi1iYXIgbmF2IHNlY29uZGFyeS1tZW51ID4gdWwgbGkgLnN1Yi1tZW51W2RhdGEtbGV2ZWw9XCIxXCJdIGxpOmZpcnN0LW9mLXR5cGUge1xuICBvcmRlcjogMTAwO1xufVxuOnJvb3Q6bm90KFtkYXRhLWJyb3dzZXItZmVhdHVyZSo9dG91Y2hdKSBuYXZpZ2F0aW9uLWJhciBuYXYgc2Vjb25kYXJ5LW1lbnUgPiB1bCBsaSAuc3ViLW1lbnVbZGF0YS1sZXZlbD1cIjFcIl0gbGk6Zmlyc3Qtb2YtdHlwZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIG5hdmlnYXRpb24tYmFyIG5hdiBzZWNvbmRhcnktbWVudSA+IHVsIGxpOmhvdmVyID4gYSB7XG4gICAgY29sb3I6ICMwMDk1ZmY7XG4gIH1cbiAgbmF2aWdhdGlvbi1iYXIgbmF2IHNlY29uZGFyeS1tZW51ID4gdWwgbGk6aG92ZXIgLnN1Yi1tZW51IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgMCk7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgfVxufVxubmF2aWdhdGlvbi1iYXIgbmF2IHNlY29uZGFyeS1tZW51ID4gdWwgbGk6bGFzdC1vZi10eXBlIC5zdWItbWVudSB7XG4gIHJpZ2h0OiBjYWxjKDEwMCUgKyB2YXIoLS1nYXApKSAhaW1wb3J0YW50O1xufVxubmF2aWdhdGlvbi1iYXIgbmF2IHNlY29uZGFyeS1tZW51ID4gdWwgPiBsaS5oYXMtY2hpbGRyZW46OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgdG9wOiBjYWxjKDEwMCUgKyAxcHgpO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIGNhbGMoLTUwJSArIGNhbGModmFyKC0tZ2FwKSAqIC0wLjUpKSkgcm90YXRlKDQ1ZGVnKTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LCAjMTMxZjZiKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDAlLCA1MCUgNTAlLCAwIDEwMCUpO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApLCB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgbmF2aWdhdGlvbi1iYXIgbmF2IHNlY29uZGFyeS1tZW51ID4gdWwgPiBsaS5oYXMtY2hpbGRyZW46aG92ZXI6OmFmdGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxNDAwcHgpIHtcbiAgbmF2aWdhdGlvbi1iYXIge1xuICAgIC0tdG9wLWxldmVsLWxpbmstZ3V0dGVyczogdmFyKC0tZ2FwKTtcbiAgfVxuICBuYXZpZ2F0aW9uLWJhciBuYXYgbWFpbi1tZW51ID4gdWwgbGkuc2VhcmNoIHNwYW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5ODBweCkge1xuICBuYXZpZ2F0aW9uLWJhciBuYXYgbWFpbi1tZW51IHtcbiAgICAtLWZvbnQtc2l6ZTogMC45ZW07XG4gIH1cbn1cbm5hdmlnYXRpb24tYmFyIGxpLm1lbnUge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tbGVmdDogdmFyKC0tdG9wLWxldmVsLWxpbmstZ3V0dGVycyk7XG59XG5uYXZpZ2F0aW9uLWJhciBidXR0b24ubWVudSB7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG59XG5uYXZpZ2F0aW9uLWJhciBidXR0b24ubWVudSBzdmcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5uYXZpZ2F0aW9uLWJhciBidXR0b24ubWVudSBzdmcgbGluZSB7XG4gIHN0cm9rZS13aWR0aDogM3B4O1xuICBzdHJva2U6IHZhcigtLXRvcC1sZXZlbC1saW5rLWNvbG91cik7XG59XG5uYXZpZ2F0aW9uLWJhciBidXR0b24ubWVudSBzdmcgbGluZTpudGgtY2hpbGQoMSkge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxNSUgMzAlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMC44NiwgMCwgMC4wNywgMSk7XG59XG5uYXZpZ2F0aW9uLWJhciBidXR0b24ubWVudSBzdmcgbGluZTpudGgtY2hpbGQoMikge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxubmF2aWdhdGlvbi1iYXIgYnV0dG9uLm1lbnUgc3ZnIGxpbmU6bnRoLWNoaWxkKDMpIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTUlIDcwJTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpO1xufVxubmF2aWdhdGlvbi1iYXIgYnV0dG9uLm1lbnUuYWN0aXZlIHN2ZyBsaW5lOm50aC1jaGlsZCgxKSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cbm5hdmlnYXRpb24tYmFyIGJ1dHRvbi5tZW51LmFjdGl2ZSBzdmcgbGluZTpudGgtY2hpbGQoMikge1xuICBvcGFjaXR5OiAwO1xufVxubmF2aWdhdGlvbi1iYXIgYnV0dG9uLm1lbnUuYWN0aXZlIHN2ZyBsaW5lOm50aC1jaGlsZCgzKSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG59XG5ib2R5Lm1vYmlsZSBuYXZpZ2F0aW9uLWJhciB7XG4gIHBhZGRpbmc6IHZhcigtLWd1dHRlcjEpIDA7XG59XG5ib2R5Lm1vYmlsZSBuYXZpZ2F0aW9uLWJhciBsaS5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogNDBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5ODBweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICBib2R5Lm1vYmlsZSBuYXZpZ2F0aW9uLWJhciAuYnV0dG9uLnNlYXJjaCB7XG4gICAgLS1mb250LXNpemU6IDAuOGVtO1xuICAgIC0tcGFkZGluZzogNHB4IDEwcHg7XG4gIH1cbiAgYm9keS5tb2JpbGUgbmF2aWdhdGlvbi1iYXIgbGkubWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIGJvZHkubW9iaWxlIG5hdmlnYXRpb24tYmFyIGxpLm1lbnUgYnV0dG9uLm1lbnUge1xuICAgIGhlaWdodDogMzBweDtcbiAgICB3aWR0aDogMzBweDtcbiAgfVxufVxuYm9keS5tb2JpbGUgbmF2aWdhdGlvbi1iYXIgYS5sb2dvIHtcbiAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICB3aWR0aDogMjAwcHg7XG4gIG1pbi13aWR0aDogaW5pdGlhbDtcbn1cbmJvZHkubW9iaWxlIG5hdmlnYXRpb24tYmFyIG5hdiBtYWluLW1lbnUgLnRvcC1sZXZlbC1saW5rLFxuYm9keS5tb2JpbGUgbmF2aWdhdGlvbi1iYXIgbmF2IHNlY29uZGFyeS1tZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbmJvZHkubW9iaWxlIG5hdmlnYXRpb24tYmFyIG5hdiBtYWluLW1lbnUgPiB1bCBsaS5zZWFyY2ggc3BhbixcbmJvZHkubW9iaWxlIG5hdmlnYXRpb24tYmFyIG5hdiBtYWluLW1lbnUgPiB1bCBsaVtkYXRhLW5hdj1zdWJtZW51XSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk4MHB4KSB7XG4gIGJvZHkubW9iaWxlIG5hdmlnYXRpb24tYmFyIG5hdiBtYWluLW1lbnUgPiB1bCBsaS5zZWFyY2ggc3BhbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5kcm9wZG93bi1tZW51IHtcbiAgLS1taW4taGVpZ2h0OiA0MzBweDtcbiAgLS1tYXgtaGVpZ2h0OiA2MDBweDtcbiAgLS1kcm9wZG93bi1ncm91cC1uYXYtd2lkdGg6IDI3MHB4O1xuICAtLWRyb3Bkb3duLWltYWdlLXdpZHRoOiAzMDBweDtcbiAgLS1kcm9wZG93bi1pbWFnZS1oZWlnaHQ6IDgwcHg7XG4gIC0tZHJvcGRvd24tb3Blbi1vZmZzZXQ6IDZweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSAtIHZhcigtLW1hcmtlci1saW5lLXRoaWNrbmVzcykgLSAxcHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTtcbiAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHZhcigtLWRyb3Bkb3duLWdyb3VwLW5hdi13aWR0aCkgMWZyO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgbWFyZ2luLXRvcDogMHB4O1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSwgbWFyZ2luLXRvcCAwLjNzIGN1YmljLWJlemllcigwLjQ0NSwgMC4wNSwgMC41NSwgMC45NSk7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBtYWluLW1lbnUuYWN0aXZlIC50b3AtbGV2ZWwtbGlua3MgLnRvcC1sZXZlbC1saW5rIC5saW5rLmN1cnJlbnQ6OmFmdGVyIHtcbiAgb3BhY2l0eTogMDtcbn1cbm5hdmlnYXRpb24tYmFyIG5hdiBtYWluLW1lbnUuYWN0aXZlIGRyb3Bkb3duLW1lbnUge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1kcm9wZG93bi1vcGVuLW9mZnNldCk7XG4gIG9wYWNpdHk6IDE7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7XG59XG5cbmRyb3Bkb3duLW1lbnU6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1tYXJrZXItbGluZS10aGlja25lc3MpKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDBweDtcbiAgei1pbmRleDogNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RmMzAzNTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMsIDZweCk7XG59XG5ib2R5Lm1vYmlsZSBuYXZpZ2F0aW9uLWJhciBkcm9wZG93bi1tZW51IHtcbiAgLS1kcm9wZG93bi1vcGVuLW9mZnNldDogdmFyKC0tZ2FwKTtcbiAgd2lkdGg6IHZhcigtLWRyb3Bkb3duLWdyb3VwLW5hdi13aWR0aCkgIWltcG9ydGFudDtcbiAgcmlnaHQ6IDA7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgYm9keS5tb2JpbGUgbmF2aWdhdGlvbi1iYXIgZHJvcGRvd24tbWVudSB7XG4gICAgLS1kcm9wZG93bi1ncm91cC1uYXYtd2lkdGg6IGNhbGMoMTAwdncgLSB2YXIoLS1ndXR0ZXIzKSkgIWltcG9ydGFudDtcbiAgfVxufVxuXG5kcm9wZG93bi1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZ3JpZC1jb2x1bW46IDE7XG4gIGdyaWQtcm93OiAxO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBvcGFjaXR5OiAwO1xuICBoZWlnaHQ6IGluaGVyaXQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpLCB0cmFuc2Zvcm0gMC4zcyBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSk7XG59XG5kcm9wZG93bi1ncm91cFtkYXRhLWxldmVsPVwiMFwiXSB7XG4gIHotaW5kZXg6IDU7XG59XG5kcm9wZG93bi1ncm91cFtkYXRhLWxldmVsPVwiMVwiXSB7XG4gIHotaW5kZXg6IDQ7XG59XG5kcm9wZG93bi1ncm91cFtkYXRhLWxldmVsPVwiMlwiXSB7XG4gIHotaW5kZXg6IDM7XG59XG5kcm9wZG93bi1ncm91cFtkYXRhLWxldmVsPVwiM1wiXSB7XG4gIHotaW5kZXg6IDI7XG59XG5kcm9wZG93bi1ncm91cFtkYXRhLWxldmVsPVwiNFwiXSB7XG4gIHotaW5kZXg6IDE7XG59XG5kcm9wZG93bi1ncm91cDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICB3aWR0aDogMC45ZW07XG4gIGhlaWdodDogMC45ZW07XG59XG5kcm9wZG93bi1ncm91cDo6LXdlYmtpdC1zY3JvbGxiYXItYnV0dG9uIHtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgZGlzcGxheTogbm9uZTtcbn1cbmRyb3Bkb3duLWdyb3VwOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5Njk2OTU7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGJvcmRlcjogNHB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMCk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG5kcm9wZG93bi1ncm91cDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbmRyb3Bkb3duLWdyb3VwOjotd2Via2l0LXNjcm9sbGJhci1jb3JuZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbmRyb3Bkb3duLWdyb3VwOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG59XG5kcm9wZG93bi1ncm91cCAubGluayB7XG4gIC0tZm9udC1zaXplOiAwLjllbTtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBsaW5lLWhlaWdodDogMS40O1xuICBwYWRkaW5nOiA0cHggY2FsYyh2YXIoLS1nYXApICogMik7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKSwgYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuZHJvcGRvd24tZ3JvdXAgLmxpbmsuY3VycmVudCB7XG4gIGNvbG9yOiAjZGYzMDM1O1xufVxuZHJvcGRvd24tZ3JvdXAgLmxpbmsuYWN0aXZlIHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMxZjZiO1xuICB6LWluZGV4OiAxO1xufVxuOnJvb3Q6bm90KFtkYXRhLWJyb3dzZXItZmVhdHVyZSo9dG91Y2hdKSBkcm9wZG93bi1ncm91cCAubGluay5hY3RpdmU6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtNDVkZWcpO1xuICBsZWZ0OiBjYWxjKDEwMCUgLSA1MHB4KTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAxMDBweDtcbiAgaGVpZ2h0OiAxMDBweDtcbn1cblxuOm5vdChbZGF0YS1icm93c2VyLWZlYXR1cmUqPXRvdWNoXSkgZHJvcGRvd24tZ3JvdXAgLmxhc3QgLmxpbmsuYWN0aXZlOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSkgcm90YXRlKDBkZWcpIHNrZXcoLTQ1ZGVnLCAwKTtcbn1cblxuZHJvcGRvd24tZ3JvdXAgLmxpbmsuaGFzLWNoaWxkcmVuIHN2ZyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWdhcCkgKiAwLjUpO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgZHJvcGRvd24tZ3JvdXAgLmxpbms6aG92ZXIge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMxZjZiO1xuICB9XG59XG5kcm9wZG93bi1ncm91cCB1bCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG59XG5kcm9wZG93bi1ncm91cCB1bCBsaS5maXJzdCB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1nYXApO1xufVxuZHJvcGRvd24tZ3JvdXAgdWwgbGkubGFzdCB7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXApO1xufVxuZHJvcGRvd24tZ3JvdXAgdWwgbGkub3ZlcnZpZXcge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1nYXApO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIGRyb3Bkb3duLWdyb3VwIHVsIGxpLm92ZXJ2aWV3IH4gLmZpcnN0IHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxufVxuZHJvcGRvd24tZ3JvdXAgdWwgbGkub3ZlcnZpZXcgLmxpbmsge1xuICBjb2xvcjogIzEzMWY2YjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICBkcm9wZG93bi1ncm91cCB1bCBsaS5vdmVydmlldyAubGluazpob3ZlciB7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG59XG5kcm9wZG93bi1ncm91cCB1bCBsaS5vdmVydmlldyAubGluay5hY3RpdmUge1xuICBjb2xvcjogd2hpdGU7XG59XG46cm9vdDpub3QoW2RhdGEtYnJvd3Nlci1mZWF0dXJlKj10b3VjaF0pIGRyb3Bkb3duLWdyb3VwIHVsIGxpLm92ZXJ2aWV3IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuZHJvcGRvd24tZ3JvdXAgdWwgbGkuYmFjayB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1nYXApO1xufVxuOnJvb3Q6bm90KFtkYXRhLWJyb3dzZXItZmVhdHVyZSo9dG91Y2hdKSBkcm9wZG93bi1ncm91cCB1bCBsaS5iYWNrIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuZHJvcGRvd24tZ3JvdXAgdWwgbGkuYmFjayAubGluayBzdmcge1xuICBtYXJnaW4tcmlnaHQ6IDAuNGVtO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cbmRyb3Bkb3duLWdyb3VwW2RhdGEtbGV2ZWw9XCIxXCJdIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTtcbn1cbmRyb3Bkb3duLWdyb3VwW2RhdGEtbGV2ZWw9XCIxXCJdIGxpLmJhY2sge1xuICBkaXNwbGF5OiBub25lO1xufVxuZHJvcGRvd24tZ3JvdXBbZGF0YS1sZXZlbD1cIjJcIl0ge1xuICB3aWR0aDogOTUlO1xuICBsZWZ0OiAxMDAlO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcbn1cbmRyb3Bkb3duLWdyb3VwW2RhdGEtbGV2ZWw9XCIzXCJdIHtcbiAgd2lkdGg6IGNhbGMoOTUlICsgMnB4KTtcbiAgb3BhY2l0eTogMDtcbiAgbGVmdDogY2FsYygxOTUlIC0gMXB4KTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMsIDZweCk7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4zcywgMC4zcztcbn1cbmRyb3Bkb3duLWdyb3VwLmFsbG93LXNjcm9sbCB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5kcm9wZG93bi1ncm91cC5hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xuICBwb2ludGVyLWV2ZW50czogYWxsO1xufVxuZHJvcGRvd24tZ3JvdXAuYWN0aXZlW2RhdGEtbGV2ZWw9XCIyXCJdLCBkcm9wZG93bi1ncm91cC5hY3RpdmVbZGF0YS1sZXZlbD1cIjNcIl0ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xufVxuZHJvcGRvd24tZ3JvdXA6bm90KC5hY3RpdmUpW2RhdGEtbGV2ZWw9XCIxXCJdLCBkcm9wZG93bi1ncm91cDpub3QoLmFjdGl2ZSlbZGF0YS1sZXZlbD1cIjJcIl0sIGRyb3Bkb3duLWdyb3VwOm5vdCguYWN0aXZlKVtkYXRhLWxldmVsPVwiM1wiXSB7XG4gIGxlZnQ6IDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xufVxuYm9keTpub3QoLm1vYmlsZSkgbmF2aWdhdGlvbi1iYXIgZHJvcGRvd24tZ3JvdXA6bm90KFtkYXRhLWxldmVsPVwiMVwiXSkgLmxpbmsge1xuICBwYWRkaW5nLXRvcDogNnB4O1xuICBwYWRkaW5nLWJvdHRvbTogNnB4O1xufVxuXG5ib2R5Lm1vYmlsZSBuYXZpZ2F0aW9uLWJhciBkcm9wZG93bi1ncm91cCB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMsIDZweCkgdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KSAwIDAgIWltcG9ydGFudDtcbiAgbGVmdDogMCAhaW1wb3J0YW50O1xuICB3aWR0aDogaW5oZXJpdCAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzLCAwLjVzO1xuICB0cmFuc2Zvcm06IGluaXRpYWwgIWltcG9ydGFudDtcbn1cbmJvZHkubW9iaWxlIG5hdmlnYXRpb24tYmFyIGRyb3Bkb3duLWdyb3VwW2RhdGEtbGV2ZWw9XCIwXCJdIHtcbiAgei1pbmRleDogMTtcbn1cbmJvZHkubW9iaWxlIG5hdmlnYXRpb24tYmFyIGRyb3Bkb3duLWdyb3VwW2RhdGEtbGV2ZWw9XCIxXCJdIHtcbiAgei1pbmRleDogMjtcbn1cbmJvZHkubW9iaWxlIG5hdmlnYXRpb24tYmFyIGRyb3Bkb3duLWdyb3VwW2RhdGEtbGV2ZWw9XCIyXCJdIHtcbiAgei1pbmRleDogMztcbn1cbmJvZHkubW9iaWxlIG5hdmlnYXRpb24tYmFyIGRyb3Bkb3duLWdyb3VwW2RhdGEtbGV2ZWw9XCIzXCJdIHtcbiAgei1pbmRleDogNDtcbn1cbmJvZHkubW9iaWxlIG5hdmlnYXRpb24tYmFyIGRyb3Bkb3duLWdyb3VwW2RhdGEtbGV2ZWw9XCI0XCJdIHtcbiAgei1pbmRleDogNTtcbn1cbmJvZHkubW9iaWxlIG5hdmlnYXRpb24tYmFyIGRyb3Bkb3duLWdyb3VwIC5saW5rIHtcbiAgLS1mb250LXNpemU6IDFlbTtcbiAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tZ2FwKSAqIDAuNSk7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLWdhcCkgKiAwLjUpO1xufVxuYm9keS5tb2JpbGUgbmF2aWdhdGlvbi1iYXIgZHJvcGRvd24tZ3JvdXAgdWwgbGkub3ZlcnZpZXcsIGJvZHkubW9iaWxlIG5hdmlnYXRpb24tYmFyIGRyb3Bkb3duLWdyb3VwIHVsIGxpLmJhY2sge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG5kcm9wZG93bi1pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB2YXIoLS1wb3NpdGlvbiwgY2VudGVyIDMzJSk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBncmlkLWNvbHVtbjogMjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMsIDZweCk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xuICBkaXNwbGF5OiBncmlkO1xuICBqdXN0aWZ5LWl0ZW1zOiBmbGV4LWVuZDtcbn1cbmRyb3Bkb3duLWltYWdlIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtcG9zaXRpb246IHZhcigtLWltYWdlLXBvc2l0aW9uLCBjZW50ZXIgMzMuMzMlKTtcbiAgd2lkdGg6IHZhcigtLWltYWdlLXNpemUsIHZhcigtLWltYWdlLXdpZHRoLXNpemUsIDEwMCUpKTtcbiAgaGVpZ2h0OiB2YXIoLS1pbWFnZS1zaXplLCB2YXIoLS1pbWFnZS1oZWlnaHQtc2l6ZSwgMTAwJSkpO1xuICBtYXgtd2lkdGg6IHZhcigtLWltYWdlLXNpemUsIHZhcigtLWltYWdlLXdpZHRoLXNpemUsIDEwMCUpKTtcbiAgbWF4LWhlaWdodDogdmFyKC0taW1hZ2Utc2l6ZSwgdmFyKC0taW1hZ2UtaGVpZ2h0LXNpemUsIDEwMCUpKTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuZHJvcGRvd24taW1hZ2UgLmltYWdlIHtcbiAgd2lkdGg6IGNsYW1wKHZhcigtLWRyb3Bkb3duLWltYWdlLXdpZHRoKSAvIDIsIDMwdncsIHZhcigtLWRyb3Bkb3duLWltYWdlLXdpZHRoKSk7XG4gIGdyaWQtcm93OiAxO1xuICBncmlkLWNvbHVtbjogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKTtcbiAgb3BhY2l0eTogMDtcbn1cbmRyb3Bkb3duLWltYWdlIC5pbWFnZS5hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xuICBwb2ludGVyLWV2ZW50czogYWxsO1xufVxuZHJvcGRvd24taW1hZ2UgLmltYWdlLmFjdGl2ZSBpbWcge1xuICBvcGFjaXR5OiAxO1xufVxuYm9keS5tb2JpbGUgbmF2aWdhdGlvbi1iYXIgZHJvcGRvd24taW1hZ2Uge1xuICBncmlkLWNvbHVtbjogMTtcbiAgei1pbmRleDogMTA7XG4gIHdpZHRoOiBpbmhlcml0O1xuICBoZWlnaHQ6IHZhcigtLWRyb3Bkb3duLWltYWdlLWhlaWdodCk7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBpbml0aWFsO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xufVxuYm9keS5tb2JpbGUgbmF2aWdhdGlvbi1iYXIgZHJvcGRvd24taW1hZ2UgLmltYWdlIHtcbiAgd2lkdGg6IGluaGVyaXQ7XG4gIGhlaWdodDogaW5oZXJpdDtcbn1cblxuLmhlYWRlciB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjZXIxKTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlcjEpO1xufVxuLmhlYWRlciA+IGgxIHN1cCB7XG4gIGZvbnQtc2l6ZTogMC42ZW07XG59XG4uaGVhZGVyID4gaDEgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuMzc1ZW07XG4gIGNvbG9yOiAjOTY5Njk1O1xufVxuLmhlYWRlciA+IGgxICsgKiwgLmhlYWRlciA+IGgyICsgKiB7XG4gIG1hcmdpbi10b3A6IHZhcigtLWd1dHRlcjEpO1xufVxuLmhlYWRlciA+IGgxICsgaDIge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1ndXR0ZXIwKTtcbn1cbi5oZWFkZXIgPiBoMiB7XG4gIGNvbG9yOiB2YXIoLS1zdWItaGVhZGluZy1jb2xvdXIpO1xuICBmb250LWZhbWlseTogbGF0bywgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuLmhlYWRlciA+IGgyIGEge1xuICAtLWZvbnQtY29sb3VyOiB2YXIoLS1zdWItaGVhZGluZy1jb2xvdXIpO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIC5oZWFkZXIgPiBoMiBhOmhvdmVyIHtcbiAgICAtLWZvbnQtY29sb3VyOiB2YXIoLS1wcmltYXJ5LCAjMTMxZjZiKTtcbiAgfVxufVxuLmhlYWRlciB0aW1lIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTtcbiAgbWFyZ2luOiB2YXIoLS1ndXR0ZXIxKSAwO1xuICBwYWRkaW5nOiA0cHggOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICBmb250LXNpemU6IDAuNzVlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB2YXIoLS10YWctY29sb3VyLCAjZGYzMDM1KTtcbn1cbi5oZWFkZXIgYnV0dG9uLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tZ2FwKSAqIC0xKTtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2VyMCk7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgLmhlYWRlciBidXR0b24tY29udGFpbmVyIC5idXR0b24gc3BhbiB7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxufVxuLmhlYWRlciBub3RpY2UtbWVzc2FnZXMge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZXIwKTtcbn1cbi5oZWFkZXIuZGFyayB7XG4gIC0taGVhZGluZy1jb2xvdXI6d2hpdGU7XG4gIC0tc3ViLWhlYWRpbmctY29sb3VyOndoaXRlO1xufVxuLmhlYWRlci5kYXJrIC5idXR0b24uYnJvY2h1cmUge1xuICAtLWZvbnQtY29sb3VyOndoaXRlO1xufVxuLmhlYWRlci5kYXJrIC5idXR0b24uYnJvY2h1cmUgc3ZnIHtcbiAgZmlsbDogd2hpdGU7XG59XG4uaGVhZGVyLm5vLWRldmlkZXItbGluZSB+IG1haW4ge1xuICAtLWJvcmRlci10b3AtY29sb3VyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG4uaGVhZGVyLm5vLWRldmlkZXItbGluZSB+IG1haW4gPiAuY29udGVudC1ibG9jazpmaXJzdC1vZi10eXBlIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIGJveC1zaGFkb3c6IGluaXRpYWw7XG59XG5cbmZvb3RlciNmb290ZXIge1xuICAtLWZvbnQtY29sb3VyOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xuICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2VyMSk7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZXIxKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeSwgIzEzMWY2Yik7XG4gIGdyaWQtZ2FwOiB2YXIoLS1ndXR0ZXIxKTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMzAwcHg7XG59XG5mb290ZXIjZm9vdGVyIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICBmb290ZXIjZm9vdGVyIGE6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktbGlnaHQsICNlNDRmNTMpO1xuICB9XG59XG5mb290ZXIjZm9vdGVyIGEuY3VycmVudCB7XG4gIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktbGlnaHQsICNlNDRmNTMpO1xufVxuZm9vdGVyI2Zvb3RlciBhLmN1cnJlbnQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbmZvb3RlciNmb290ZXIgLmJhY2stdG8tdG9wIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBtYXJnaW46IGNhbGModmFyKC0tZ2FwKSAqIC0xKSBhdXRvIHZhcigtLWdhcCkgYXV0bztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODFweCkge1xuICBmb290ZXIjZm9vdGVyIC5iYWNrLXRvLXRvcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuZm9vdGVyI2Zvb3RlciAudGFnLWxpbmUtc2lnbi1vZmYge1xuICBncmlkLWNvbHVtbjogMS8tMTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlcjApO1xuICBmb250LXNpemU6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cbkBzdXBwb3J0cyAod2lkdGg6IGNsYW1wKDFweCwgNXZ3LCAxMHB4KSkge1xuICBmb290ZXIjZm9vdGVyIC50YWctbGluZS1zaWduLW9mZiB0YWctbGluZSBzcGFuIHtcbiAgICBmb250LXNpemU6IGNsYW1wKDEycHgsIDEuNXZ3LCAwLjRlbSk7XG4gIH1cbn1cbkBzdXBwb3J0cyBub3QgKHdpZHRoOiBjbGFtcCgxcHgsIDV2dywgMTBweCkpIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk1MHB4KSB7XG4gICAgZm9vdGVyI2Zvb3RlciAudGFnLWxpbmUtc2lnbi1vZmYgdGFnLWxpbmUgc3BhbiB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNjAxcHgpIHtcbiAgICBmb290ZXIjZm9vdGVyIC50YWctbGluZS1zaWduLW9mZiB0YWctbGluZSBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMC40ZW07XG4gICAgfVxuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgZm9vdGVyI2Zvb3RlciAudGFnLWxpbmUtc2lnbi1vZmYgdGFnLWxpbmUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICBmb290ZXIjZm9vdGVyIC50YWctbGluZS1zaWduLW9mZiB0YWctbGluZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IGNhbGModmFyKC0tZ2FwKSAqIDAuNSk7XG4gIH1cbiAgZm9vdGVyI2Zvb3RlciAudGFnLWxpbmUtc2lnbi1vZmYgdGFnLWxpbmUgc3BhbiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG5mb290ZXIjZm9vdGVyID4gbmF2IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZmxleC1ncm93OiAxO1xuICBncmlkLWdhcDogdmFyKC0tZ3V0dGVyMSk7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbn1cbmZvb3RlciNmb290ZXIgPiBuYXYgdWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbmZvb3RlciNmb290ZXIgPiBuYXYgdWwgbGkgKyBsaSB7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tZ2FwKSAqIDAuNSk7XG59XG5mb290ZXIjZm9vdGVyID4gbmF2IHVsOmxhc3Qtb2YtdHlwZSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMzMzcHgsIDFmcikpO1xuICBncmlkLWdhcDogMCB2YXIoLS1nYXApO1xufVxuZm9vdGVyI2Zvb3RlciA+IG5hdiB1bDpsYXN0LW9mLXR5cGUgbGk6Zmlyc3Qtb2YtdHlwZSB7XG4gIGdyaWQtY29sdW1uOiAxLy0xO1xufVxuZm9vdGVyI2Zvb3RlciAuaGVhZGluZyB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWdhcCk7XG4gIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnksICNkZjMwMzUpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxLjA2MjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cbmZvb3RlciNmb290ZXIgLmhlYWRpbmc6OmJlZm9yZSwgZm9vdGVyI2Zvb3RlciAuaGVhZGluZzo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuZm9vdGVyI2Zvb3RlciAuaGVhZGluZyBhIHtcbiAgY29sb3I6IHZhcigtLXNlY29uZGFyeSwgI2RmMzAzNSk7XG59XG5mb290ZXIjZm9vdGVyIGNvbXBhbnktZGV0YWlscyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bm07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIGdyaWQtZ2FwOiBjYWxjKHZhcigtLWdhcCkgKiAwLjUpIHZhcigtLWdhcCk7XG59XG5mb290ZXIjZm9vdGVyIGNvbXBhbnktZGV0YWlscyBzbWFsbCxcbmZvb3RlciNmb290ZXIgY29tcGFueS1kZXRhaWxzIC5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMC42MjVlbTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cbmZvb3RlciNmb290ZXIgY29tcGFueS1kZXRhaWxzIHNtYWxsIGJyLFxuZm9vdGVyI2Zvb3RlciBjb21wYW55LWRldGFpbHMgLnNtYWxsIGJyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbmZvb3RlciNmb290ZXIgLmJhc2Uge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZXIxKTtcbiAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuZm9vdGVyI2Zvb3RlciAuYmFzZSBhLmxvZ28ge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAyNDBweDtcbiAgcG9zaXRpb246IGluaXRpYWw7XG59XG5mb290ZXIjZm9vdGVyIC5iYXNlIGEubG9nbyBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5ODFweCkge1xuICBmb290ZXIjZm9vdGVyIC5iYXNlIGEubG9nbzo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZm9vdGVyLWJyLWNvbG91ciwgI2RmMzAzNSk7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTEuNXB4O1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cbmZvb3RlciNmb290ZXIgLmJhc2UgYS55ZWxsbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyB2YXIoLS1nYXApKTtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xuICByaWdodDogMDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG59XG5mb290ZXIjZm9vdGVyIC5iYXNlIGEueWVsbG8gc3BhbiB7XG4gIG1hcmdpbi1sZWZ0OiAwLjNlbTtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICBmb290ZXIjZm9vdGVyIC5iYXNlIGEueWVsbG86aG92ZXIge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxuICBmb290ZXIjZm9vdGVyIC5iYXNlIGEueWVsbG86aG92ZXIgc3BhbiB7XG4gICAgY29sb3I6ICNGRkNCMDg7XG4gIH1cbn1cbmZvb3RlciNmb290ZXIgLmJhc2UgYWRtaW4tbGlua3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgdmFyKC0tZ2FwKSk7XG4gIGxlZnQ6IDA7XG59XG5mb290ZXIjZm9vdGVyIC5iYXNlIGFkbWluLWxpbmtzIGEge1xuICBmb250LXNpemU6IDEycHg7XG4gIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1nYXApICogMC41KTtcbn1cbmZvb3RlciNmb290ZXIgLmJhc2U6aGFzKC5jZXAtbG9nbykge1xuICAtLWxvZ28tc3BhY2VyOiAyMDBweDtcbn1cbmZvb3RlciNmb290ZXIgLmJhc2U6aGFzKC5jZXAtbG9nbykgLmNlcC1sb2dvIHtcbiAgZmlsdGVyOiBncmF5c2NhbGUoMSkgaW52ZXJ0KDEpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDk4MXB4KSB7XG4gIGZvb3RlciNmb290ZXIgLmJhc2U6aGFzKC5jZXAtbG9nbykge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tbG9nby1zcGFjZXIpO1xuICB9XG4gIGZvb3RlciNmb290ZXIgLmJhc2U6aGFzKC5jZXAtbG9nbykgLmNlcC1sb2dvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyBjYWxjKHZhcigtLWdhcCkgKiAyKSk7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiBjYWxjKHZhcigtLWxvZ28tc3BhY2VyKSAqIC0xKTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk4MHB4KSB7XG4gIGZvb3RlciNmb290ZXIgLmJhc2U6aGFzKC5jZXAtbG9nbykgLmNlcC1sb2dvIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1ndXR0ZXIyKTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDE0MDBweCkge1xuICBmb290ZXIjZm9vdGVyID4gbmF2IHVsOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBmb290ZXIjZm9vdGVyIGNvbXBhbnktZGV0YWlscyBzbWFsbCBiciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk4MHB4KSB7XG4gIGZvb3RlciNmb290ZXIge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIGZvb3RlciNmb290ZXIgPiAqIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBmb290ZXIjZm9vdGVyID4gbmF2IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIGZvb3RlciNmb290ZXIgPiBuYXYgdWw6bGFzdC1vZi10eXBlIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHVuc2V0O1xuICB9XG4gIGZvb3RlciNmb290ZXIgLmJhc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBmb290ZXIjZm9vdGVyIC5iYXNlIGEubG9nbyB7XG4gICAgb3JkZXI6IDE7XG4gICAgd2lkdGg6IDE2MHB4O1xuICB9XG4gIGZvb3RlciNmb290ZXIgLmJhc2UgYS5sb2dvIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIGZvb3RlciNmb290ZXIgLmJhc2Ugc29jaWFsLW1lZGlhIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZXIwLSk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2VyMCk7XG4gIH1cbiAgZm9vdGVyI2Zvb3RlciAuYmFzZSBhZG1pbi1saW5rcyB7XG4gICAgb3JkZXI6IDM7XG4gICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tZ2FwKTtcbiAgfVxufVxuXG4uY2wtY29uc2VudC1zZXR0aW5ncyB7XG4gIGxlZnQ6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiB2YXIoLS1ndXR0ZXIxKTtcbiAgd2lkdGg6IDQycHg7XG4gIGhlaWdodDogNDJweDtcbiAgYm94LXNoYWRvdzogdW5zZXQgIWltcG9ydGFudDtcbiAgYm90dG9tOiBjYWxjKHZhcigtLWd1dHRlcjMpICogMi43NSkgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5ODBweCkge1xuICAuY2wtY29uc2VudC1zZXR0aW5ncyB7XG4gICAgYm90dG9tOiB2YXIoLS1ndXR0ZXI1KSAhaW1wb3J0YW50O1xuICB9XG59XG5cbmJvZHkgPiBiYWNrZ3JvdW5kLWltYWdlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB2YXIoLS1wb3NpdGlvbiwgY2VudGVyIDMzJSk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLS1iYWNrZ3JvdW5kLXRoZW1lLW9uZTogIzEzMWY2YjtcbiAgLS1iYWNrZ3JvdW5kLXRoZW1lLXR3bzogIzI5MmI2ODtcbn1cbmJvZHkgPiBiYWNrZ3JvdW5kLWltYWdlIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtcG9zaXRpb246IHZhcigtLWltYWdlLXBvc2l0aW9uLCBjZW50ZXIgMzMuMzMlKTtcbiAgd2lkdGg6IHZhcigtLWltYWdlLXNpemUsIHZhcigtLWltYWdlLXdpZHRoLXNpemUsIDEwMCUpKTtcbiAgaGVpZ2h0OiB2YXIoLS1pbWFnZS1zaXplLCB2YXIoLS1pbWFnZS1oZWlnaHQtc2l6ZSwgMTAwJSkpO1xuICBtYXgtd2lkdGg6IHZhcigtLWltYWdlLXNpemUsIHZhcigtLWltYWdlLXdpZHRoLXNpemUsIDEwMCUpKTtcbiAgbWF4LWhlaWdodDogdmFyKC0taW1hZ2Utc2l6ZSwgdmFyKC0taW1hZ2UtaGVpZ2h0LXNpemUsIDEwMCUpKTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuYm9keSA+IGJhY2tncm91bmQtaW1hZ2U6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9wYWNpdHk6IDAuNztcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdmFyKC0tYmFja2dyb3VuZC10aGVtZS1vbmUpLCB2YXIoLS1iYWNrZ3JvdW5kLXRoZW1lLXR3bykpO1xufVxuYm9keSA+IGJhY2tncm91bmQtaW1hZ2Uubm9uZTo6YWZ0ZXIge1xuICBjb250ZW50OiBpbml0aWFsO1xufVxuYm9keSA+IGJhY2tncm91bmQtaW1hZ2UucmVkIHtcbiAgLS1iYWNrZ3JvdW5kLXRoZW1lLW9uZTogI2RmMzAzNTtcbiAgLS1iYWNrZ3JvdW5kLXRoZW1lLXR3bzogI2RmMzAzNTtcbn1cbmJvZHkgPiBiYWNrZ3JvdW5kLWltYWdlLmJsYWNrIHtcbiAgLS1iYWNrZ3JvdW5kLXRoZW1lLW9uZTogIzFlMWMxYztcbiAgLS1iYWNrZ3JvdW5kLXRoZW1lLXR3bzogIzFlMWMxYztcbn1cbmJvZHkgPiBiYWNrZ3JvdW5kLWltYWdlLnRpbGUge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGF1dG87XG59XG5ib2R5ID4gYmFja2dyb3VuZC1pbWFnZS50aWxlIGltZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5ib2R5ID4gYmFja2dyb3VuZC1pbWFnZTpub3QoLnRpbGUpIHtcbiAgbWF4LWhlaWdodDogMTAwdmg7XG59XG5ib2R5ID4gYmFja2dyb3VuZC1pbWFnZS5iZWhpbmQtaGVhZGVyOjphZnRlciB7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIGJsYWNrIDIwJSwgdHJhbnNwYXJlbnQgMTAwJSk7XG59XG5cbmJvZHkubW9iaWxlID4gYmFja2dyb3VuZC1pbWFnZSwgYm9keS5tb2JpbGUgPiBiYWNrZ3JvdW5kLXZpZGVvIHtcbiAgbWF4LWhlaWdodDogaW5pdGlhbDtcbn1cblxuYm9keSA+IGJhY2tncm91bmQtdmlkZW8ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHZhcigtLXBvc2l0aW9uLCBjZW50ZXIgMzMlKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuYm9keSA+IGJhY2tncm91bmQtdmlkZW8gaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG9iamVjdC1wb3NpdGlvbjogdmFyKC0taW1hZ2UtcG9zaXRpb24sIGNlbnRlciAzMy4zMyUpO1xuICB3aWR0aDogdmFyKC0taW1hZ2Utc2l6ZSwgdmFyKC0taW1hZ2Utd2lkdGgtc2l6ZSwgMTAwJSkpO1xuICBoZWlnaHQ6IHZhcigtLWltYWdlLXNpemUsIHZhcigtLWltYWdlLWhlaWdodC1zaXplLCAxMDAlKSk7XG4gIG1heC13aWR0aDogdmFyKC0taW1hZ2Utc2l6ZSwgdmFyKC0taW1hZ2Utd2lkdGgtc2l6ZSwgMTAwJSkpO1xuICBtYXgtaGVpZ2h0OiB2YXIoLS1pbWFnZS1zaXplLCB2YXIoLS1pbWFnZS1oZWlnaHQtc2l6ZSwgMTAwJSkpO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG5ib2R5ID4gYmFja2dyb3VuZC12aWRlbyB2aWRlbyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtcG9zaXRpb246IHZhcigtLWltYWdlLXBvc2l0aW9uLCBjZW50ZXIgMzMuMzMlKTtcbiAgd2lkdGg6IHZhcigtLWltYWdlLXNpemUsIHZhcigtLWltYWdlLXdpZHRoLXNpemUsIDEwMCUpKTtcbiAgaGVpZ2h0OiB2YXIoLS1pbWFnZS1zaXplLCB2YXIoLS1pbWFnZS1oZWlnaHQtc2l6ZSwgMTAwJSkpO1xuICBtYXgtd2lkdGg6IHZhcigtLWltYWdlLXNpemUsIHZhcigtLWltYWdlLXdpZHRoLXNpemUsIDEwMCUpKTtcbiAgbWF4LWhlaWdodDogdmFyKC0taW1hZ2Utc2l6ZSwgdmFyKC0taW1hZ2UtaGVpZ2h0LXNpemUsIDEwMCUpKTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuYm9keSA+IGJhY2tncm91bmQtdmlkZW86OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHZhcigtLWJhY2tncm91bmQtdGhlbWUtb25lLCB0cmFuc3BhcmVudCksIHZhcigtLWJhY2tncm91bmQtdGhlbWUtdHdvLCBibGFjaykpO1xufVxuXG4jYnJlYWRjcnVtYnMtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeSwgIzEzMWY2Yik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGhlaWdodCB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKSwgdG9wIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxuI2JyZWFkY3J1bWJzLWJhciB1bCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogY2FsYyh2YXIoLS1nYXApICogLTEpO1xuICB3aWR0aDogMTAwJTtcbn1cbiNicmVhZGNydW1icy1iYXIgdWwgbGkge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4jYnJlYWRjcnVtYnMtYmFyIHVsIGxpICsgbGkge1xuICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1nYXApICogLTEpO1xufVxuI2JyZWFkY3J1bWJzLWJhciAubGluayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgcGFkZGluZzogdmFyKC0tZ2FwKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogd2hpdGU7XG59XG4jYnJlYWRjcnVtYnMtYmFyIC5saW5rIHN2ZyB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gIHdpZHRoOiAwLjdlbTtcbiAgaGVpZ2h0OiAwLjdlbTtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLWdhcCk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAjYnJlYWRjcnVtYnMtYmFyIC5saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LCAjZGYzMDM1KTtcbiAgfVxufVxuI2JyZWFkY3J1bWJzLWJhciAubGluay5jdXJyZW50IHtcbiAgY29sb3I6IHZhcigtLXNlY29uZGFyeSwgI2RmMzAzNSk7XG59XG4jYnJlYWRjcnVtYnMtYmFyIC5saW5rLmN1cnJlbnQ6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeSwgI2RmMzAzNSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuYm9keS5tb2JpbGUgPiAjYnJlYWRjcnVtYnMtYmFyIHtcbiAgbWF4LWhlaWdodDogaW5pdGlhbDtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuI2FuY2hvcnMtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjRmNDtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApLCB0b3AgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1heC13aWR0aDogMTAwdnc7XG59XG4jYW5jaG9ycy1iYXIgLmNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogMTAwJTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxNjgwcHgpIHtcbiAgOnJvb3Q6bm90KFtkYXRhLWJyb3dzZXItZmVhdHVyZSo9dG91Y2hdKSAjYW5jaG9ycy1iYXIge1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tZ3V0dGVyMi0pO1xuICB9XG4gIDpyb290Om5vdChbZGF0YS1icm93c2VyLWZlYXR1cmUqPXRvdWNoXSkgI2FuY2hvcnMtYmFyIC5jb250YWluZXIge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1ndXR0ZXIxKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1ndXR0ZXIxKTtcbiAgfVxufVxuXG46cm9vdFtkYXRhLWJyb3dzZXItZmVhdHVyZSo9dG91Y2hdICNhbmNob3JzLWJhciB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyB2YXIoLS1ndXR0ZXIyKSArIGNhbGModmFyKC0tZ2FwKSAqIDAuNSkpO1xuICBtYXJnaW4tbGVmdDogdmFyKC0tZ3V0dGVyMS0pO1xufVxuOnJvb3RbZGF0YS1icm93c2VyLWZlYXR1cmUqPXRvdWNoXSAjYW5jaG9ycy1iYXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGluaXRpYWw7XG59XG46cm9vdFtkYXRhLWJyb3dzZXItZmVhdHVyZSo9dG91Y2hdICNhbmNob3JzLWJhciAuY29udGFpbmVyIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1ndXR0ZXIxKTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tZ3V0dGVyMSk7XG59XG5cbiNhbmNob3JzLWJhcjo6YmVmb3JlIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7XG59XG4jYW5jaG9ycy1iYXIgYSB7XG4gIGdyaWQtcm93OiAxO1xuICBmb250LXNpemU6IDAuODc1ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbiAgY29sb3I6ICMxMzFmNmI7XG59XG4jYW5jaG9ycy1iYXIgYSArIGEge1xuICBtYXJnaW4tbGVmdDogdmFyKC0tZ3V0dGVyMSk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAjYW5jaG9ycy1iYXIgYTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeSwgI2RmMzAzNSk7XG4gIH1cbn1cbiNhbmNob3JzLWJhciBhOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnksICNkZjMwMzUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zZm9ybTogc2NhbGVZKDApO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkgMC4ycztcbn1cbiNhbmNob3JzLWJhciBhLmN1cnJlbnQge1xuICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LCAjZGYzMDM1KTtcbn1cbiNhbmNob3JzLWJhciBhLmN1cnJlbnQ6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoMSk7XG59XG5cbnNpZGUtYmFyID4gZGl2ID4gKiB7XG4gIC0tYmFja2dyb3VuZC1jb2xvdXI6IHZhcigtLXByaW1hcnksICMxMzFmNmIpO1xuICBvcmRlcjogMztcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTtcbiAgcGFkZGluZzogdmFyKC0tZ3V0dGVyMik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtY29sb3VyKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG91ciwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpKTtcbn1cbnNpZGUtYmFyID4gZGl2ID4gKjpub3QoLndoaXRlKSB7XG4gIC0tZm9udC1jb2xvdXI6IHdoaXRlO1xuICAtLWhlYWRpbmctY29sb3VyOiB3aGl0ZTtcbn1cbnNpZGUtYmFyID4gZGl2IHNlcnZpY2UtY2VudHJlLWZpbmRlciB7XG4gIG9yZGVyOiAxO1xufVxuc2lkZS1iYXIgPiBkaXYgc2VydmljZS1jZW50cmUtZmluZGVyIH4gI2dyYWRlcy1zaWRlYmFyLWxpc3Qge1xuICBvcmRlcjogMjtcbn1cbnNpZGUtYmFyID4gZGl2IC5oZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ3V0dGVyMCk7XG4gIGZvbnQtc2l6ZTogMS41NjI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5zaWRlLWJhciA+IGRpdiAuc2lkZWJhci1sb2dvcyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAwO1xuICBnYXA6IDA7XG4gIG91dGxpbmU6IDFweCBzb2xpZCAjZGNkY2RjO1xufVxuc2lkZS1iYXIgPiBkaXYgLnNpZGViYXItbG9nb3MgaW1nIHtcbiAgcGFkZGluZzogMnJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5zaWRlLWJhciA+IGRpdiAuc2lkZWJhci1sb2dvcyBpbWdbc3JjKj1jb25zdHJ1Y3Rpb24tb25saW5lXSB7XG4gIHBhZGRpbmctaW5saW5lOiA2dnc7XG59XG5zaWRlLWJhciA+IGRpdiAuc2lkZWJhci1sb2dvcyBpbWcgKyBpbWcge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RjZGNkYztcbn1cbnNpZGUtYmFyICNwb3dkZXItdHVicyxcbnNpZGUtYmFyICNncmVlbmVyLWZ1dHVyZSxcbnNpZGUtYmFyICNsaWJlcnR5LXBvd2RlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbnNpZGUtYmFyICNwb3dkZXItdHVicyBoMyBzcGFuLFxuc2lkZS1iYXIgI2dyZWVuZXItZnV0dXJlIGgzIHNwYW4sXG5zaWRlLWJhciAjbGliZXJ0eS1wb3dkZXIgaDMgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuc2lkZS1iYXIgI3Bvd2Rlci10dWJzIGRpdixcbnNpZGUtYmFyICNncmVlbmVyLWZ1dHVyZSBkaXYsXG5zaWRlLWJhciAjbGliZXJ0eS1wb3dkZXIgZGl2IHtcbiAgei1pbmRleDogMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuc2lkZS1iYXIgI3Bvd2Rlci10dWJzIC5iYWNrZ3JvdW5kLFxuc2lkZS1iYXIgI2dyZWVuZXItZnV0dXJlIC5iYWNrZ3JvdW5kLFxuc2lkZS1iYXIgI2xpYmVydHktcG93ZGVyIC5iYWNrZ3JvdW5kIHtcbiAgb3BhY2l0eTogMC4yO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG9iamVjdC1wb3NpdGlvbjogMTAwJSAwJTtcbn1cbnNpZGUtYmFyICNwb3dkZXItdHVicyAuaW1hZ2UgaW1nLFxuc2lkZS1iYXIgI2dyZWVuZXItZnV0dXJlIC5pbWFnZSBpbWcsXG5zaWRlLWJhciAjbGliZXJ0eS1wb3dkZXIgLmltYWdlIGltZyB7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5zaWRlLWJhciAjbGliZXJ0eS1wb3dkZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbn1cbnNpZGUtYmFyICNsaWJlcnR5LXBvd2RlciAuaW1hZ2Uge1xuICBoZWlnaHQ6IDYwcHg7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tZ2FwKSAqIDIpO1xufVxuc2lkZS1iYXIgI2xpYmVydHktcG93ZGVyIC5pbWFnZSBpbWcge1xuICB3aWR0aDogYXV0bztcbn1cbnNpZGUtYmFyICNwb3dkZXItdHVicyB7XG4gIGJhY2tncm91bmQ6ICMzMzMyMzY7XG59XG5zaWRlLWJhciAjcG93ZGVyLXR1YnMgaDMge1xuICBwYWRkaW5nLWJvdHRvbTogMjI1cHg7XG4gIGZvbnQtc2l6ZTogMjJweDtcbn1cbnNpZGUtYmFyICNwb3dkZXItdHVicyBoMyBzcGFuIHtcbiAgY29sb3I6ICNkZjMwMzU7XG59XG5zaWRlLWJhciAjcG93ZGVyLXR1YnMgLmJhY2tncm91bmQge1xuICBvcGFjaXR5OiAxO1xufVxuc2lkZS1iYXIgI3Bvd2Rlci10dWJzIC5pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICBoZWlnaHQ6IDI1MHB4O1xuICB3aWR0aDogMTAwJTtcbn1cbnNpZGUtYmFyICNwb3dkZXItdHVicyAuaW1hZ2UgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTEyMHB4KSB7XG4gIHNpZGUtYmFyICNwb3dkZXItdHVicyBoMyB7XG4gICAgcGFkZGluZy1ib3R0b206IDMwMHB4O1xuICB9XG4gIHNpZGUtYmFyICNwb3dkZXItdHVicyAuaW1hZ2Uge1xuICAgIGhlaWdodDogMzUwcHg7XG4gIH1cbn1cbnNpZGUtYmFyICNncmVlbmVyLWZ1dHVyZSB7XG4gIC0tZ3JlZW5lci1ncmVlbjogIzRlY2IzZDtcbn1cbnNpZGUtYmFyICNncmVlbmVyLWZ1dHVyZSBoMyB7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tZ2FwKSAqIDIpO1xufVxuc2lkZS1iYXIgI2dyZWVuZXItZnV0dXJlIGgzIHNwYW4ge1xuICBjb2xvcjogdmFyKC0tZ3JlZW5lci1ncmVlbik7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuc2lkZS1iYXIgI2dyZWVuZXItZnV0dXJlIC5pbWFnZSB7XG4gIGhlaWdodDogOTBweDtcbn1cbnNpZGUtYmFyICNncmVlbmVyLWZ1dHVyZSAuaW1hZ2UgaW1nIHtcbiAgd2lkdGg6IGF1dG87XG59XG5zaWRlLWJhciAjZ3JlZW5lci1mdXR1cmUgdWwge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXApO1xufVxuc2lkZS1iYXIgI2dyZWVuZXItZnV0dXJlIHVsIGxpIHtcbiAgY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tZ2FwKSAqIDIpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWdhcCk7XG59XG5zaWRlLWJhciAjZ3JlZW5lci1mdXR1cmUgdWwgbGk6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tZ3JlZW5lci1ncmVlbik7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogMjBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDRweDtcbiAgbGVmdDogMDtcbiAgY29udGVudDogXCJcIjtcbn1cbnNpZGUtYmFyICNncmVlbmVyLWZ1dHVyZSB1bCBsaTphZnRlciB7XG4gIGhlaWdodDogMTJweDtcbiAgd2lkdGg6IDZweDtcbiAgY29udGVudDogXCJcIjtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHdoaXRlO1xuICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCB3aGl0ZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA3cHg7XG4gIHRvcDogNnB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTEyMHB4KSB7XG4gIHNpZGUtYmFyICNncmVlbmVyLWZ1dHVyZSB1bCB7XG4gICAgY29sdW1uLWNvdW50OiAyO1xuICB9XG59XG5cbi5zaWRlYmFyLWJsb2NrXFw6bG9jYWwtY3RhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY3Njc2NztcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMXJlbSBib3R0b207XG4gIGJhY2tncm91bmQtc2l6ZTogYXV0byAyMjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1ndXR0ZXIwKTtcbn1cbi5zaWRlYmFyLWJsb2NrXFw6bG9jYWwtY3RhIHAge1xuICBmb250LXNpemU6IDJyZW07XG4gIHRleHQtd3JhcDogcHJldHR5O1xufVxuQG1lZGlhICh3aWR0aCA+IDE0MDBweCkge1xuICAuc2lkZWJhci1ibG9ja1xcOmxvY2FsLWN0YSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy91cGxvYWRzL2ltYWdlcy8yMG1waC1zaWduLnBuZ1wiKTtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMTYwcHg7XG4gIH1cbn1cblxuLnNpZGViYXItYmxvY2tcXDppc28ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzRiZjAzO1xuICBib3JkZXI6IGluaXRpYWw7XG4gIHBhZGRpbmc6IDA7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMsIDZweCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uc2lkZWJhci1ibG9ja1xcOmlzbyBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbnNvY2lhbC1tZWRpYSB7XG4gIC0taWNvbi1jb2xvdXI6ICNGRkZGRkY7XG4gIC0taWNvbi1zaXplOiAyMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuc29jaWFsLW1lZGlhIGEge1xuICBtYXJnaW4tbGVmdDogdmFyKC0tZ2FwKTtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xufVxuc29jaWFsLW1lZGlhIGEgc3ZnIHtcbiAgd2lkdGg6IHZhcigtLWljb24tc2l6ZSk7XG4gIGhlaWdodDogdmFyKC0taWNvbi1zaXplKTtcbiAgZmlsbDogdmFyKC0taWNvbi1jb2xvdXIpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIHNvY2lhbC1tZWRpYSBhOmhvdmVyLmZhY2Vib29rIHtcbiAgICAtLWljb24tY29sb3VyOiAjMTg3N2YyO1xuICB9XG4gIHNvY2lhbC1tZWRpYSBhOmhvdmVyLnR3aXR0ZXIge1xuICAgIC0taWNvbi1jb2xvdXI6ICMxZGExZjI7XG4gIH1cbiAgc29jaWFsLW1lZGlhIGE6aG92ZXIuZ29vZ2xlIHtcbiAgICAtLWljb24tY29sb3VyOiAjNDI4NWY0O1xuICB9XG4gIHNvY2lhbC1tZWRpYSBhOmhvdmVyLnlvdXR1YmUge1xuICAgIC0taWNvbi1jb2xvdXI6ICNmZjAwMDA7XG4gIH1cbiAgc29jaWFsLW1lZGlhIGE6aG92ZXIubGlua2VkaW4ge1xuICAgIC0taWNvbi1jb2xvdXI6ICMwMDdiYjU7XG4gIH1cbiAgc29jaWFsLW1lZGlhIGE6aG92ZXIuaW5zdGFncmFtIHtcbiAgICAtLWljb24tY29sb3VyOiAjYzMyYWEzO1xuICB9XG4gIHNvY2lhbC1tZWRpYSBhOmhvdmVyLnBpbnRlcmVzdCB7XG4gICAgLS1pY29uLWNvbG91cjogI2JkMDgxYztcbiAgfVxuICBzb2NpYWwtbWVkaWEgYTpob3Zlci5kYWlseW1vdGlvbiB7XG4gICAgLS1pY29uLWNvbG91cjogIzAwNjZEQztcbiAgfVxuICBzb2NpYWwtbWVkaWEgYTpob3Zlci5zbmFwY2hhdCB7XG4gICAgLS1pY29uLWNvbG91cjogI2ZmZmMwMDtcbiAgfVxuICBzb2NpYWwtbWVkaWEgYTpob3Zlci5mbGlja3Ige1xuICAgIC0taWNvbi1jb2xvdXI6ICNmNDAwODM7XG4gIH1cbiAgc29jaWFsLW1lZGlhIGE6aG92ZXIudmltZW8ge1xuICAgIC0taWNvbi1jb2xvdXI6ICMxYWI3ZWE7XG4gIH1cbiAgc29jaWFsLW1lZGlhIGE6aG92ZXIudGh1bWJsZXIge1xuICAgIC0taWNvbi1jb2xvdXI6ICMzNTQ2NWQ7XG4gIH1cbiAgc29jaWFsLW1lZGlhIGE6aG92ZXIucmVkZGl0IHtcbiAgICAtLWljb24tY29sb3VyOiAjZmY0NTAwO1xuICB9XG4gIHNvY2lhbC1tZWRpYSBhOmhvdmVyLndoYXRzYXBwIHtcbiAgICAtLWljb24tY29sb3VyOiAjMjVkMzY2O1xuICB9XG4gIHNvY2lhbC1tZWRpYSBhOmhvdmVyLnNreXBlIHtcbiAgICAtLWljb24tY29sb3VyOiAjMDBhZmYwO1xuICB9XG4gIHNvY2lhbC1tZWRpYSBhOmhvdmVyLmRpc2NvcmQge1xuICAgIC0taWNvbi1jb2xvdXI6ICM3Mjg5ZGE7XG4gIH1cbn1cbnNvY2lhbC1tZWRpYSBhIHNwYW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYXJ0aWNsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uYXJ0aWNsZSAuY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogdmFyKC0tZ3V0dGVyMSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjRmNGY0O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB3aWR0aDogMTAwJTtcbiAgZ2FwOiAxLjVyZW07XG59XG4uYXJ0aWNsZSAuY29udGFpbmVyID4gKiB7XG4gIG9yZGVyOiAyO1xufVxuLmFydGljbGUgLmNvbnRhaW5lciAuaGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMS41NjI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmFydGljbGUgLmNvbnRhaW5lciAuc3ViaGVhZGluZyB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGNvbG9yOiB2YXIoLS1hcnRpY2xlLXN1YmhlYWRpbmctZm9udC1jb2xvdXIsICM2YTZhNmEpO1xuICBtYXgtd2lkdGg6IDc1Y2g7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uYXJ0aWNsZSAuY29udGFpbmVyIC5zdWJoZWFkaW5nICsgLnRpbWVzdGFtcCB7XG4gIG1hcmdpbi10b3A6IHZhcigtLWdhcCk7XG59XG4uYXJ0aWNsZSAuY29udGFpbmVyIC5pbnRyb2R1Y3Rpb24ge1xuICBmb250LXNpemU6IDAuODc1ZW07XG4gIG1heC13aWR0aDogNzVjaDtcbn1cbi5hcnRpY2xlIC5jb250YWluZXIgLmJ1dHRvbiB7XG4gIGp1c3RpZnktc2VsZjogZmxleC1zdGFydDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogYXV0bztcbn1cbi5hcnRpY2xlIC5jb250YWluZXI6aGFzKC5hdXRob3IpIC5hdXRob3Ige1xuICBtYXJnaW4tdG9wOiBhdXRvO1xuICBib3JkZXItdG9wOiB2YXIoLS1ndXR0ZXIwKSBzb2xpZCB0cmFuc3BhcmVudDtcbn1cbi5hcnRpY2xlIC5jb250YWluZXI6aGFzKC5hdXRob3IpIC5idXR0b24ge1xuICBtYXJnaW4tdG9wOiBpbml0aWFsO1xufVxuLmFydGljbGUgLmNvbnRhaW5lciB0aW1lIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbn1cbi5hcnRpY2xlIC5jb250YWluZXIgLmF1dGhvciB7XG4gIC0tcGhvdG8tc2l6ZTogNDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5hcnRpY2xlIC5jb250YWluZXIgLmF1dGhvciAubmFtZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjb2xvcjogIzEzMWY2YjtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBvcmRlcjogMTtcbiAgbWluLWhlaWdodDogdmFyKC0tcGhvdG8tc2l6ZSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uYXJ0aWNsZSAuY29udGFpbmVyIC5hdXRob3IgLm5hbWUgZW0ge1xuICBmb250LXNpemU6IDAuNzVlbTtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG4uYXJ0aWNsZSAuY29udGFpbmVyIC5hdXRob3IgLnRpbWVzdGFtcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgb3JkZXI6IDI7XG59XG4uYXJ0aWNsZSAuY29udGFpbmVyIC5hdXRob3IgLnRpbWVzdGFtcCxcbi5hcnRpY2xlIC5jb250YWluZXIgLmF1dGhvciAudGltZXN0YW1wIH4gLm5hbWUge1xuICBtaW4taGVpZ2h0OiBjYWxjKHZhcigtLXBob3RvLXNpemUpIC8gMik7XG59XG4uYXJ0aWNsZSAuY29udGFpbmVyIC5hdXRob3IgLmltYWdlIHtcbiAgd2lkdGg6IHZhcigtLXBob3RvLXNpemUpO1xuICBoZWlnaHQ6IHZhcigtLXBob3RvLXNpemUpO1xuICB0b3A6IGNhbGMoNTAlIC0gdmFyKC0tcGhvdG8tc2l6ZSkgLyAyKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkY2RjZGM7XG59XG4uYXJ0aWNsZSAuY29udGFpbmVyIC5hdXRob3IgLmltYWdlIH4gKiB7XG4gIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1waG90by1zaXplKSArIHZhcigtLWdhcCkpO1xufVxuLmFydGljbGUgLmNvbnRhaW5lciA+IC5pbWFnZSB7XG4gIG9yZGVyOiAxO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1ndXR0ZXIxKTtcbiAgaGVpZ2h0OiB2YXIoLS1pbWFnZS1oZWlnaHQsIDE4MHB4KTtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIHZhcigtLWd1dHRlcjMpKTtcbiAgaW5zZXQtaW5saW5lLXN0YXJ0OiB2YXIoLS1ndXR0ZXIxLSk7XG4gIG1hcmdpbi10b3A6IHZhcigtLWd1dHRlcjEtKTtcbn1cbi5hcnRpY2xlIFtocmVmXj1cInRlbDpcIl0ge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLmFydGljbGUuYmctYmx1ZTpub3QoLmNlbnRyZS1zdGFja2VkKSAuY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzMWY2YjtcbiAgLS1hcnRpY2xlLXN1YmhlYWRpbmctZm9udC1jb2xvdXI6ICNGRkZGRkY7XG4gIC0taGVhZGluZy1jb2xvdXI6ICNGRkZGRkY7XG59XG4uYXJ0aWNsZS5iZy1ibHVlOm5vdCguY2VudHJlLXN0YWNrZWQpIC5jb250YWluZXIgLnRleHQsXG4uYXJ0aWNsZS5iZy1ibHVlOm5vdCguY2VudHJlLXN0YWNrZWQpIC5jb250YWluZXIgLm5hbWUge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5hcnRpY2xlLmJnLXJlZDpub3QoLmNlbnRyZS1zdGFja2VkKSAuY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RmMzAzNTtcbiAgLS1hcnRpY2xlLXN1YmhlYWRpbmctZm9udC1jb2xvdXI6ICNGRkZGRkY7XG4gIC0taGVhZGluZy1jb2xvdXI6ICNGRkZGRkY7XG59XG4uYXJ0aWNsZS5iZy1yZWQ6bm90KC5jZW50cmUtc3RhY2tlZCkgLmNvbnRhaW5lciAudGV4dCxcbi5hcnRpY2xlLmJnLXJlZDpub3QoLmNlbnRyZS1zdGFja2VkKSAuY29udGFpbmVyIC5uYW1lIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4uYXJ0aWNsZS5iZy1ncmV5Om5vdCguY2VudHJlLXN0YWNrZWQpIC5jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuICAtLWhlYWRpbmctY29sb3VyOiB2YXIoLS1zZWNvbmRhcnkpO1xufVxuLmFydGljbGUuYmcteWVsbG93Om5vdCguY2VudHJlLXN0YWNrZWQpIC5jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNGRiO1xufVxuLmFydGljbGUuYmctb3JhbmdlOm5vdCguY2VudHJlLXN0YWNrZWQpIC5jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2YTAwO1xuICAtLWFydGljbGUtc3ViaGVhZGluZy1mb250LWNvbG91cjogI0ZGRkZGRjtcbiAgLS1oZWFkaW5nLWNvbG91cjogI0ZGRkZGRjtcbn1cbi5hcnRpY2xlLmJnLW9yYW5nZTpub3QoLmNlbnRyZS1zdGFja2VkKSAuY29udGFpbmVyIC50ZXh0LFxuLmFydGljbGUuYmctb3JhbmdlOm5vdCguY2VudHJlLXN0YWNrZWQpIC5jb250YWluZXIgLm5hbWUge1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cbi5hcnRpY2xlLmJnLWdyZWVuOm5vdCguY2VudHJlLXN0YWNrZWQpIC5jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTBiYzA4O1xuICAtLWFydGljbGUtc3ViaGVhZGluZy1mb250LWNvbG91cjogI0ZGRkZGRjtcbiAgLS1oZWFkaW5nLWNvbG91cjogI0ZGRkZGRjtcbn1cbi5hcnRpY2xlLmJnLWdyZWVuOm5vdCguY2VudHJlLXN0YWNrZWQpIC5jb250YWluZXIgLnRleHQsXG4uYXJ0aWNsZS5iZy1ncmVlbjpub3QoLmNlbnRyZS1zdGFja2VkKSAuY29udGFpbmVyIC5uYW1lIHtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4uYXJ0aWNsZS5iZy1ibGFjazpub3QoLmNlbnRyZS1zdGFja2VkKSAuY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlMWMxYztcbn1cbi5hcnRpY2xlLmJnLXByaW1hcnkgLmNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnkpO1xuICAtLWFydGljbGUtc3ViaGVhZGluZy1mb250LWNvbG91cjogI0ZGRkZGRjtcbiAgLS1oZWFkaW5nLWNvbG91cjogI0ZGRkZGRjtcbn1cbi5hcnRpY2xlLmJnLXNlY29uZGFyeSAuY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5KTtcbiAgLS1hcnRpY2xlLXN1YmhlYWRpbmctZm9udC1jb2xvdXI6ICNGRkZGRkY7XG4gIC0taGVhZGluZy1jb2xvdXI6ICNGRkZGRkY7XG59XG4uY29udGVudC1ibG9jay5ibGFjayBhcnRpY2xlLWxpc3QgLmFydGljbGUgLmNvbnRhaW5lciB7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAtLWFydGljbGUtc3ViaGVhZGluZy1mb250LWNvbG91cjogI0ZGRkZGRjtcbn1cbi5jb250ZW50LWJsb2NrLmJsYWNrIGFydGljbGUtbGlzdCAuYXJ0aWNsZSAuY29udGFpbmVyIC5idXR0b24ge1xuICAtLWZvbnQtY29sb3VyOiB3aGl0ZTtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91cjogdmFyKC0tc2Vjb25kYXJ5LCAjZGYzMDM1KTtcbiAgLS1ib3JkZXItY29sb3VyOiB0cmFuc3BhcmVudDtcbiAgLS1ob3Zlci1mb250LWNvbG91cjogIzFlMWMxYztcbiAgLS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjogd2hpdGU7XG4gIC0taG92ZXItYm9yZGVyLWNvbG91cjogdHJhbnNwYXJlbnQ7XG59XG4uY29udGVudC1ibG9jay5ibGFjayBhcnRpY2xlLWxpc3QuY29sdW1ucy0yIHtcbiAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAwMXB4KSB7XG4gIC5jb250ZW50LWJsb2NrLmJsYWNrIGFydGljbGUtbGlzdC5jb2x1bW5zLTIge1xuICAgIG1heC13aWR0aDogMTAwMHB4O1xuICB9XG59XG5cbi5hcnRpY2xlOmhhcyhkaXYuY29udGFpbmVyIGJ1dHRvbi1jb250YWluZXIgLmJ1dHRvbjpvbmx5LWNoaWxkKSBkaXYuY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAuYXJ0aWNsZTpoYXMoZGl2LmNvbnRhaW5lciBidXR0b24tY29udGFpbmVyIC5idXR0b246b25seS1jaGlsZCkgZGl2LmNvbnRhaW5lcjpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LCAjMTMxZjZiKTtcbiAgfVxufVxuLmFydGljbGU6aGFzKGRpdi5jb250YWluZXIgYnV0dG9uLWNvbnRhaW5lciAuYnV0dG9uOm9ubHktY2hpbGQpIGJ1dHRvbi1jb250YWluZXIge1xuICBwb3NpdGlvbjogaW5pdGlhbDtcbn1cbi5hcnRpY2xlOmhhcyhkaXYuY29udGFpbmVyIGJ1dHRvbi1jb250YWluZXIgLmJ1dHRvbjpvbmx5LWNoaWxkKSBidXR0b24tY29udGFpbmVyIC5idXR0b246b25seS1jaGlsZCB7XG4gIHBvc2l0aW9uOiBpbml0aWFsO1xufVxuLmFydGljbGU6aGFzKGRpdi5jb250YWluZXIgYnV0dG9uLWNvbnRhaW5lciAuYnV0dG9uOm9ubHktY2hpbGQpIGJ1dHRvbi1jb250YWluZXIgLmJ1dHRvbjpvbmx5LWNoaWxkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICB6LWluZGV4OiAyO1xufVxuLmFydGljbGUgYS5jb250YWluZXIge1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAuYXJ0aWNsZSBhLmNvbnRhaW5lcjpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LCAjMTMxZjZiKTtcbiAgfVxufVxuLmFydGljbGUgYnV0dG9uLWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IHZhcigtLWd1dHRlcjEpO1xufVxuLmFydGljbGUgYnV0dG9uLWNvbnRhaW5lciAuYnV0dG9uIHtcbiAgZm9udC1zaXplOiBzbWFsbDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmFydGljbGUudW5jcm9wcGVkLWltYWdlIC5pbWFnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuLmFydGljbGUudW5jcm9wcGVkLWltYWdlIC5pbWFnZSBpbWcge1xuICBvYmplY3QtZml0OiBjb250YWluO1xuICBwYWRkaW5nOiB2YXIoLS1ndXR0ZXIwKTtcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xufVxuYXJ0aWNsZS1saXN0OmhhcyguaW1hZ2UtdGV4dC1zaWRlLWJ5LXNpZGUpIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgIWltcG9ydGFudDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmFydGljbGUuZGlyLXJ0bCB7XG4gIGRpcmVjdGlvbjogcnRsO1xufVxuLmFydGljbGUuZGlyLXJ0bCAuY29udGVudCA+ICoge1xuICBkaXJlY3Rpb246IGx0cjtcbn1cbi5hcnRpY2xlOm5vdChbY2xhc3MqPWJnLV0pIHtcbiAgLS1kaXZpZGVyLWxpbmUtY29sb3VyOiAjZjRmNGY0O1xufVxuLmFydGljbGUuaW1hZ2UtdGV4dC1zaWRlLWJ5LXNpZGUgLmNvbnRhaW5lciB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIHBhZGRpbmc6IDA7XG59XG4uYXJ0aWNsZS5pbWFnZS10ZXh0LXNpZGUtYnktc2lkZSAuY29udGFpbmVyIC5jb250ZW50IHtcbiAgcGFkZGluZzogdmFyKC0tZ3V0dGVyMSk7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwO1xufVxuLmFydGljbGUuaW1hZ2UtdGV4dC1zaWRlLWJ5LXNpZGUgLmNvbnRhaW5lciAuaW1hZ2Uge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogMzMlO1xuICBtaW4td2lkdGg6IDEyMHB4O1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItaW5saW5lLWVuZDogMXB4IHNvbGlkIHZhcigtLWRpdmlkZXItbGluZS1jb2xvdXIsICNkY2RjZGMpO1xufVxuLmFydGljbGUuaW1hZ2UtdGV4dC1zaWRlLWJ5LXNpZGUgLmNvbnRhaW5lciAuaW1hZ2UgaW1nIHtcbiAgcGFkZGluZzogdmFyKC0tZ3V0dGVyMSk7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gIG1hcmdpbjogMDtcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xufVxuLmFydGljbGUuY2VudHJlLXN0YWNrZWQgLmNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXI6IG5vbmU7XG59XG4uYXJ0aWNsZS5jZW50cmUtc3RhY2tlZCAuY29udGFpbmVyIC5jb250ZW50IHtcbiAgZGlzcGxheTogY29udGVudHM7XG59XG4uYXJ0aWNsZS5jZW50cmUtc3RhY2tlZCAuY29udGFpbmVyIC50ZXh0ICoge1xuICB0ZXh0LXdyYXA6IGJhbGFuY2U7XG59XG4uYXJ0aWNsZS5jZW50cmUtc3RhY2tlZCAuaW1hZ2Uge1xuICBtYXgtd2lkdGg6IDI0MHB4O1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IDA7XG4gIG9yZGVyOiAtMTtcbiAgbWluLWhlaWdodDogMTIwcHg7XG4gIG1heC1oZWlnaHQ6IDE0MHB4O1xufVxuLmFydGljbGUuY2VudHJlLXN0YWNrZWQgLmltYWdlIGltZyB7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gIG1hcmdpbjogMDtcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xufVxuLmFydGljbGUuY2VudHJlLXN0YWNrZWQgYnV0dG9uLWNvbnRhaW5lciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tdG9wOiBhdXRvO1xuICBwYWRkaW5nLXRvcDogdmFyKC0tZ3V0dGVyMCk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTMwMXB4KSB7XG4gIC5hcnRpY2xlICsgLmNlbnRyZS1zdGFja2VkOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiA4MCU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogMXB4O1xuICAgIG9wYWNpdHk6IDAuMjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAlKTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHdoaXRlO1xuICB9XG59XG4uYXJ0aWNsZVtkYXRhLWNvbnRhaW5zKj10aXRsZV1bZGF0YS1jb250YWlucyo9dGltZXN0YW1wXVtkYXRhLWNvbnRhaW5zKj1hdXRob3JdW2RhdGEtY29udGFpbnMqPWJ1dHRvbl1bZGF0YS1jb250YWlucyo9aW1hZ2VdOm5vdChbZGF0YS1jb250YWlucyo9c3ViaGVhZGluZ10pOm5vdChbZGF0YS1jb250YWlucyo9aW50cm9kdWN0aW9uXSkgLmNvbnRhaW5lciAudGltZXN0YW1wIHtcbiAgbWFyZ2luLXRvcDogYXV0bztcbn1cblxuLmFydGljbGVbZGF0YS1jb250YWlucyo9dGl0bGVdW2RhdGEtY29udGFpbnMqPWltYWdlXTpub3QoW2RhdGEtY29udGFpbnMqPXRpbWVzdGFtcF0pOm5vdChbZGF0YS1jb250YWlucyo9YXV0aG9yXSk6bm90KFtkYXRhLWNvbnRhaW5zKj1idXR0b25dKTpub3QoW2RhdGEtY29udGFpbnMqPXN1YmhlYWRpbmddKTpub3QoW2RhdGEtY29udGFpbnMqPWludHJvZHVjdGlvbl0pIC5jb250YWluZXIgLmhlYWRpbmcge1xuICBtYXJnaW4tYm90dG9tOiBhdXRvO1xuICBmb250LXNpemU6IDEuNTYyNWVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuLmFydGljbGVbZGF0YS1jb250YWlucyo9dGl0bGVdW2RhdGEtY29udGFpbnMqPWltYWdlXTpub3QoW2RhdGEtY29udGFpbnMqPXRpbWVzdGFtcF0pOm5vdChbZGF0YS1jb250YWlucyo9YXV0aG9yXSk6bm90KFtkYXRhLWNvbnRhaW5zKj1idXR0b25dKTpub3QoW2RhdGEtY29udGFpbnMqPXN1YmhlYWRpbmddKTpub3QoW2RhdGEtY29udGFpbnMqPWludHJvZHVjdGlvbl0pIC5jb250YWluZXIgPiAuaW1hZ2Uge1xuICAtLWltYWdlLWhlaWdodDogMTMwcHg7XG59XG5cbi5hcnRpY2xlW2RhdGEtY29udGFpbnMqPXNlcnZpY2VDZW50cmVzXSAuY29udGFpbmVyIGRpdiB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWdhcCk7XG59XG4uYXJ0aWNsZVtkYXRhLWNvbnRhaW5zKj1zZXJ2aWNlQ2VudHJlc10gLmNvbnRhaW5lciBoNCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5hcnRpY2xlLmxheW91dC10ZXh0LWltYWdlLXNpZGUtYnktc2lkZTpub3QoW2NsYXNzPWJnLV0pIC5jb250YWluZXIsXG4uYXJ0aWNsZS5sYXlvdXQtdGV4dC1pbWFnZS1zaWRlLWJ5LXNpZGU6bm90KFtjbGFzcz1iZy1dKSAuY29udGVudCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbnRhZy1saW5lIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tZ2FwKTtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogNXB4O1xuICBmb250LXNpemU6IDEuNTYyNWVtO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxudGFnLWxpbmUgc3BhbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMC41ZW07XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZ3JpZC1yb3c6IDE7XG4gIGxpbmUtaGVpZ2h0OiAyO1xufVxudGFnLWxpbmUgc3ZnIHtcbiAgY29sb3I6IHZhcigtLXRhZ2xpbmUtaWNvbi1jb2xvdXIsICNkZjMwMzUpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1nYXApO1xufVxuXG5zaWRlLWJhciBmb3JtIC5mcmVlZm9ybS1mb3JtLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTBiYzA4O1xuICBjb2xvcjogd2hpdGU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAzMHB4KTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1nYXApICogMC41KSB2YXIoLS1nYXApO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xuICBtYXJnaW46IDAgLTE1cHggdmFyKC0tZ2FwKTtcbn1cbnNpZGUtYmFyIGZvcm0gLnN1Ym1pdC1yb3cge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1nYXApO1xufVxuXG5mb3JtIHNlbGVjdCB7XG4gIC0tZm9udC1jb2xvdXI6ICM2YTZhNmE7XG4gIC0tYmFja2dyb3VuZC1jb2xvdXI6ICNGRkZGRkY7XG4gIC0tYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTtcbiAgLS1ib3JkZXItY29sb3VyOiB2YXIoLS1mb250LWNvbG91cik7XG4gIC0tYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XG4gIC0tcGFkZGluZzogdmFyKC0tZ2FwKSB2YXIoLS1nYXApO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG91cik7XG4gIGJvcmRlcjogdmFyKC0tYm9yZGVyKTtcbiAgcGFkZGluZzogdmFyKC0tcGFkZGluZyk7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgY29sb3I6IHZhcigtLWZvbnQtY29sb3VyKTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gdmFyKC0tZ2FwKSkgY2VudGVyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzE3LjQnIGhlaWdodD0nMTAuMSclM0UlM0NwYXRoIGQ9J00xNi43LjdsLTggOC04LTgnIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMUUxQzFDJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1taXRlcmxpbWl0PScxMCcvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbmZvcm0gc2VsZWN0OjpwbGFjZWhvbGRlciB7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxuZm9ybSBzZWxlY3Q6Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiAjMTMxZjZiO1xufVxuZm9ybSBzZWxlY3Q6Zm9jdXM6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xufVxuZm9ybSBzZWxlY3QuYXV0b2NvbXBsZXRlOm5vdChbdmFsdWU9XCJcIl0pOmZvY3VzIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG5mb3JtIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1yYWRpb10pIHtcbiAgLS1mb250LWNvbG91cjogIzZhNmE2YTtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91cjogI0ZGRkZGRjtcbiAgLS1ib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xuICAtLWJvcmRlci1jb2xvdXI6IHZhcigtLWZvbnQtY29sb3VyKTtcbiAgLS1ib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcbiAgLS1wYWRkaW5nOiB2YXIoLS1nYXApIHZhcigtLWdhcCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMsIDZweCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtY29sb3VyKTtcbiAgYm9yZGVyOiB2YXIoLS1ib3JkZXIpO1xuICBwYWRkaW5nOiB2YXIoLS1wYWRkaW5nKTtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xuICBjb2xvcjogdmFyKC0tZm9udC1jb2xvdXIpO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbn1cbmZvcm0gaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXJhZGlvXSk6OnBsYWNlaG9sZGVyIHtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG59XG5mb3JtIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1yYWRpb10pOmZvY3VzIHtcbiAgb3V0bGluZS1jb2xvcjogIzEzMWY2Yjtcbn1cbmZvcm0gaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXJhZGlvXSk6Zm9jdXM6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xufVxuZm9ybSBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9cmFkaW9dKS5hdXRvY29tcGxldGU6bm90KFt2YWx1ZT1cIlwiXSk6Zm9jdXMge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbn1cbmZvcm0gdGV4dGFyZWEge1xuICAtLWZvbnQtY29sb3VyOiAjNmE2YTZhO1xuICAtLWJhY2tncm91bmQtY29sb3VyOiAjRkZGRkZGO1xuICAtLWJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMsIDZweCk7XG4gIC0tYm9yZGVyLWNvbG91cjogdmFyKC0tZm9udC1jb2xvdXIpO1xuICAtLWJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xuICAtLXBhZGRpbmc6IHZhcigtLWdhcCkgdmFyKC0tZ2FwKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1jb2xvdXIpO1xuICBib3JkZXI6IHZhcigtLWJvcmRlcik7XG4gIHBhZGRpbmc6IHZhcigtLXBhZGRpbmcpO1xuICBmb250LXNpemU6IDAuODc1ZW07XG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuZm9ybSB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cbmZvcm0gdGV4dGFyZWE6Zm9jdXMge1xuICBvdXRsaW5lLWNvbG9yOiAjMTMxZjZiO1xufVxuZm9ybSB0ZXh0YXJlYTpmb2N1czo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5mb3JtIHRleHRhcmVhLmF1dG9jb21wbGV0ZTpub3QoW3ZhbHVlPVwiXCJdKTpmb2N1cyB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuZm9ybSBpbnB1dDotd2Via2l0LWF1dG9maWxsLFxuZm9ybSBpbnB1dDotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuZm9ybSBpbnB1dDotd2Via2l0LWF1dG9maWxsOmZvY3VzLFxuZm9ybSB0ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsLFxuZm9ybSB0ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuZm9ybSB0ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsOmZvY3VzIHtcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHZhcigtLWZvbnQtY29sb3VyLCBpbmhlcml0KTtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMHB4IDEwMDBweCB2YXIoLS1iYWNrZ3JvdW5kLWNvbG91ciwgd2hpdGUpIGluc2V0O1xufVxuZm9ybVtkYXRhLWZyZWVmb3JtXSBsYWJlbCArIGRpdiB7XG4gIGZvbnQtc2l6ZTogMC43NWVtO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWdhcCkgKiAwLjUpO1xufVxuZm9ybVtkYXRhLWZyZWVmb3JtXSAuZnJlZWZvcm0tcm93ICsgLmZyZWVmb3JtLXJvdyA+IGRpdiB7XG4gIG1hcmdpbi10b3A6IHZhcigtLWdhcCk7XG59XG5mb3JtW2RhdGEtZnJlZWZvcm1dIC5mcmVlZm9ybS1jb2x1bW4ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5zaWRlLWJhciBmb3JtIGxhYmVsIHtcbiAgY29sb3I6IHdoaXRlO1xufVxuc2lkZS1iYXIgZm9ybSBsYWJlbCB+IGRpdiB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuZm9ybSNsb2dpbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5mb3JtI2xvZ2luID4gbGFiZWwgfiBsYWJlbCB7XG4gIG1hcmdpbi10b3A6IHZhcigtLWdhcCk7XG59XG5mb3JtI2xvZ2luIGRpdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLXRvcDogdmFyKC0tZ2FwKTtcbiAgZm9udC1zaXplOiAwLjc1ZW07XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICBmb3JtI2xvZ2luIGRpdiBhOmhvdmVyIHtcbiAgICBjb2xvcjogI2RmMzAzNTtcbiAgfVxufVxuZm9ybSNsb2dpbiBidXR0b24ge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1nYXApO1xufVxuXG5mb3JtI3Jlc2V0LXBhc3N3b3JkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEzMWY2YjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTtcbiAgY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOiB2YXIoLS1ndXR0ZXIxKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbmZvcm0jcmVzZXQtcGFzc3dvcmQgYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tZ2FwKTtcbn1cblxucmVxdWlyZWQtbm90aWNlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA1cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ub3RpY2UtY29sb3VyLCAjNTBiYzA4KTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDZweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDZweDtcbn1cbnJlcXVpcmVkLW5vdGljZSBzcGFuIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGZvbnQtc2l6ZTogMC43NWVtO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IGNhbGMoMTAwJSArIGNhbGModmFyKC0tZ2FwKSAqIDAuNSkpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOiA0cHggY2FsYyh2YXIoLS1nYXApICogMC41KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMHB4LCAtNTAlKTtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICByZXF1aXJlZC1ub3RpY2U6aG92ZXIgc3BhbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAtNTAlKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbmZvcm1bZGF0YS1oYW5kbGU9Y29udGFjdFVzXSAuZnJlZWZvcm0tZm9ybS1zdWNjZXNzLFxuZm9ybVtkYXRhLWhhbmRsZT1jb250YWN0VXNdIC5mcmVlZm9ybS1mb3JtLWVycm9ycyxcbmZvcm1bZGF0YS1oYW5kbGU9cG93ZGVyQ29udGFjdF0gLmZyZWVmb3JtLWZvcm0tc3VjY2VzcyxcbmZvcm1bZGF0YS1oYW5kbGU9cG93ZGVyQ29udGFjdF0gLmZyZWVmb3JtLWZvcm0tZXJyb3JzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUwYmMwODtcbiAgY29sb3I6IHdoaXRlO1xuICBncmlkLWNvbHVtbjogMS8tMTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tZ2FwKSAqIDAuNSkgdmFyKC0tZ2FwKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ3V0dGVyMSk7XG59XG5mb3JtW2RhdGEtaGFuZGxlPWNvbnRhY3RVc10gLmZyZWVmb3JtLWZvcm0tZXJyb3JzLFxuZm9ybVtkYXRhLWhhbmRsZT1wb3dkZXJDb250YWN0XSAuZnJlZWZvcm0tZm9ybS1lcnJvcnMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGYzMDM1O1xufVxuZm9ybVtkYXRhLWhhbmRsZT1jb250YWN0VXNdIC5mb3JtLWZpZWxkcyxcbmZvcm1bZGF0YS1oYW5kbGU9cG93ZGVyQ29udGFjdF0gLmZvcm0tZmllbGRzIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1nYXA6IHZhcigtLWd1dHRlcjEpIHZhcigtLWd1dHRlcjEpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDYwMXB4KSB7XG4gIGZvcm1bZGF0YS1oYW5kbGU9Y29udGFjdFVzXSAuZm9ybS1maWVsZHMsXG4gIGZvcm1bZGF0YS1oYW5kbGU9cG93ZGVyQ29udGFjdF0gLmZvcm0tZmllbGRzIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgzNDBweCwgMWZyKSk7XG4gIH1cbiAgZm9ybVtkYXRhLWhhbmRsZT1jb250YWN0VXNdIC5mb3JtLWZpZWxkcyAuZnJlZWZvcm0tcm93OmZpcnN0LWNoaWxkLFxuICBmb3JtW2RhdGEtaGFuZGxlPXBvd2RlckNvbnRhY3RdIC5mb3JtLWZpZWxkcyAuZnJlZWZvcm0tcm93OmZpcnN0LWNoaWxkIHtcbiAgICBncmlkLXJvdzogMTtcbiAgfVxuICBmb3JtW2RhdGEtaGFuZGxlPWNvbnRhY3RVc10gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cuZmlyc3QtbmFtZSwgZm9ybVtkYXRhLWhhbmRsZT1jb250YWN0VXNdIC5mb3JtLWZpZWxkcyAuZnJlZWZvcm0tcm93Lmxhc3QtbmFtZSwgZm9ybVtkYXRhLWhhbmRsZT1jb250YWN0VXNdIC5mb3JtLWZpZWxkcyAuZnJlZWZvcm0tcm93LmVtYWlsLCBmb3JtW2RhdGEtaGFuZGxlPWNvbnRhY3RVc10gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cuY29tcGFueS1uYW1lLCBmb3JtW2RhdGEtaGFuZGxlPWNvbnRhY3RVc10gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cuY29udGFjdC1ubywgZm9ybVtkYXRhLWhhbmRsZT1jb250YWN0VXNdIC5mb3JtLWZpZWxkcyAuZnJlZWZvcm0tcm93LnktcnFnMTgxay1kLFxuICBmb3JtW2RhdGEtaGFuZGxlPXBvd2RlckNvbnRhY3RdIC5mb3JtLWZpZWxkcyAuZnJlZWZvcm0tcm93LmZpcnN0LW5hbWUsXG4gIGZvcm1bZGF0YS1oYW5kbGU9cG93ZGVyQ29udGFjdF0gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cubGFzdC1uYW1lLFxuICBmb3JtW2RhdGEtaGFuZGxlPXBvd2RlckNvbnRhY3RdIC5mb3JtLWZpZWxkcyAuZnJlZWZvcm0tcm93LmVtYWlsLFxuICBmb3JtW2RhdGEtaGFuZGxlPXBvd2RlckNvbnRhY3RdIC5mb3JtLWZpZWxkcyAuZnJlZWZvcm0tcm93LmNvbXBhbnktbmFtZSxcbiAgZm9ybVtkYXRhLWhhbmRsZT1wb3dkZXJDb250YWN0XSAuZm9ybS1maWVsZHMgLmZyZWVmb3JtLXJvdy5jb250YWN0LW5vLFxuICBmb3JtW2RhdGEtaGFuZGxlPXBvd2RlckNvbnRhY3RdIC5mb3JtLWZpZWxkcyAuZnJlZWZvcm0tcm93LnktcnFnMTgxay1kIHtcbiAgICBncmlkLWNvbHVtbjogMTtcbiAgfVxuICBmb3JtW2RhdGEtaGFuZGxlPWNvbnRhY3RVc10gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cuZGV0YWlsc29mZW5xdWlyeSxcbiAgZm9ybVtkYXRhLWhhbmRsZT1wb3dkZXJDb250YWN0XSAuZm9ybS1maWVsZHMgLmZyZWVmb3JtLXJvdy5kZXRhaWxzb2ZlbnF1aXJ5IHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogMi9zcGFuIDU7XG4gIH1cbiAgZm9ybVtkYXRhLWhhbmRsZT1jb250YWN0VXNdIC5mb3JtLWZpZWxkcyAuZnJlZWZvcm0tcm93LnN1Ym1pdC1yb3csXG4gIGZvcm1bZGF0YS1oYW5kbGU9cG93ZGVyQ29udGFjdF0gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cuc3VibWl0LXJvdyB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gIH1cbiAgZm9ybVtkYXRhLWhhbmRsZT1jb250YWN0VXNdIC5mb3JtLWZpZWxkcyBidXR0b25bdHlwZT1zdWJtaXRdLFxuICBmb3JtW2RhdGEtaGFuZGxlPXBvd2RlckNvbnRhY3RdIC5mb3JtLWZpZWxkcyBidXR0b25bdHlwZT1zdWJtaXRdIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgfVxufVxuZm9ybVtkYXRhLWhhbmRsZT1jb250YWN0VXNdIC5mb3JtLWZpZWxkcyBoMixcbmZvcm1bZGF0YS1oYW5kbGU9cG93ZGVyQ29udGFjdF0gLmZvcm0tZmllbGRzIGgyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbmZvcm1bZGF0YS1oYW5kbGU9Y29udGFjdFVzXSAuZm9ybS1maWVsZHMgaDIgc3ZnLmVtYWlsLFxuZm9ybVtkYXRhLWhhbmRsZT1wb3dkZXJDb250YWN0XSAuZm9ybS1maWVsZHMgaDIgc3ZnLmVtYWlsIHtcbiAgd2lkdGg6IDFlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIGZpbGw6ICNkZjMwMzU7XG59XG5mb3JtW2RhdGEtaGFuZGxlPWNvbnRhY3RVc10gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3csXG5mb3JtW2RhdGEtaGFuZGxlPXBvd2RlckNvbnRhY3RdIC5mb3JtLWZpZWxkcyAuZnJlZWZvcm0tcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBncmlkLWNvbHVtbjogMS9zcGFuIDI7XG59XG5mb3JtW2RhdGEtaGFuZGxlPWNvbnRhY3RVc10gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cuZGV0YWlsc29mZW5xdWlyeSAuZnJlZWZvcm0taW5zdHJ1Y3Rpb25zLFxuZm9ybVtkYXRhLWhhbmRsZT1wb3dkZXJDb250YWN0XSAuZm9ybS1maWVsZHMgLmZyZWVmb3JtLXJvdy5kZXRhaWxzb2ZlbnF1aXJ5IC5mcmVlZm9ybS1pbnN0cnVjdGlvbnMge1xuICBkaXNwbGF5OiBub25lO1xufVxuZm9ybVtkYXRhLWhhbmRsZT1jb250YWN0VXNdIC5mb3JtLWZpZWxkcyAuZnJlZWZvcm0tcm93LmRldGFpbHNvZmVucXVpcnkgdGV4dGFyZWEsXG5mb3JtW2RhdGEtaGFuZGxlPXBvd2RlckNvbnRhY3RdIC5mb3JtLWZpZWxkcyAuZnJlZWZvcm0tcm93LmRldGFpbHNvZmVucXVpcnkgdGV4dGFyZWEge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5mb3JtW2RhdGEtaGFuZGxlPWNvbnRhY3RVc10gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cuZGV0YWlsc29mZW5xdWlyeSAuZnJlZWZvcm0tY29sdW1uLFxuZm9ybVtkYXRhLWhhbmRsZT1wb3dkZXJDb250YWN0XSAuZm9ybS1maWVsZHMgLmZyZWVmb3JtLXJvdy5kZXRhaWxzb2ZlbnF1aXJ5IC5mcmVlZm9ybS1jb2x1bW4ge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5mb3JtW2RhdGEtaGFuZGxlPWNvbnRhY3RVc10gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cgLmZyZWVmb3JtLWNvbHVtbixcbmZvcm1bZGF0YS1oYW5kbGU9cG93ZGVyQ29udGFjdF0gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cgLmZyZWVmb3JtLWNvbHVtbiB7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuZm9ybVtkYXRhLWhhbmRsZT1jb250YWN0VXNdIC5mb3JtLWZpZWxkcyAuZnJlZWZvcm0tcm93IC5mcmVlZm9ybS1jb2x1bW4gbGFiZWw6bm90KC5mcmVlZm9ybS1pbnB1dC1vbmx5LWxhYmVsKSxcbmZvcm1bZGF0YS1oYW5kbGU9cG93ZGVyQ29udGFjdF0gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cgLmZyZWVmb3JtLWNvbHVtbiBsYWJlbDpub3QoLmZyZWVmb3JtLWlucHV0LW9ubHktbGFiZWwpIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbmZvcm1bZGF0YS1oYW5kbGU9Y29udGFjdFVzXSAuZm9ybS1maWVsZHMgLmZyZWVmb3JtLXJvdy5zZXJ2aWNlLWNlbnRyZS1jb250YWN0LCBmb3JtW2RhdGEtaGFuZGxlPWNvbnRhY3RVc10gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cubGVhZC1zdGF0dXMsIGZvcm1bZGF0YS1oYW5kbGU9Y29udGFjdFVzXSAuZm9ybS1maWVsZHMgLmZyZWVmb3JtLXJvdy5pbnRlcm5hbC1ub3RlcywgZm9ybVtkYXRhLWhhbmRsZT1jb250YWN0VXNdIC5mb3JtLWZpZWxkcyAuZnJlZWZvcm0tcm93Lm9yZGVyLXZhbHVlLFxuZm9ybVtkYXRhLWhhbmRsZT1wb3dkZXJDb250YWN0XSAuZm9ybS1maWVsZHMgLmZyZWVmb3JtLXJvdy5zZXJ2aWNlLWNlbnRyZS1jb250YWN0LFxuZm9ybVtkYXRhLWhhbmRsZT1wb3dkZXJDb250YWN0XSAuZm9ybS1maWVsZHMgLmZyZWVmb3JtLXJvdy5sZWFkLXN0YXR1cyxcbmZvcm1bZGF0YS1oYW5kbGU9cG93ZGVyQ29udGFjdF0gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cuaW50ZXJuYWwtbm90ZXMsXG5mb3JtW2RhdGEtaGFuZGxlPXBvd2RlckNvbnRhY3RdIC5mb3JtLWZpZWxkcyAuZnJlZWZvcm0tcm93Lm9yZGVyLXZhbHVlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbmZvcm1bZGF0YS1oYW5kbGU9Y29udGFjdFVzXSAuZm9ybS1maWVsZHMgbGFiZWwuZnJlZWZvcm0taW5wdXQtb25seS1sYWJlbCxcbmZvcm1bZGF0YS1oYW5kbGU9cG93ZGVyQ29udGFjdF0gLmZvcm0tZmllbGRzIGxhYmVsLmZyZWVmb3JtLWlucHV0LW9ubHktbGFiZWwge1xuICBmb250LXNpemU6IDAuODc1ZW07XG4gIGdyaWQtY29sdW1uOiAxO1xufVxuZm9ybVtkYXRhLWhhbmRsZT1jb250YWN0VXNdIC5mb3JtLWZpZWxkcyBsYWJlbC5mcmVlZm9ybS1pbnB1dC1vbmx5LWxhYmVsIGlucHV0LFxuZm9ybVtkYXRhLWhhbmRsZT1wb3dkZXJDb250YWN0XSAuZm9ybS1maWVsZHMgbGFiZWwuZnJlZWZvcm0taW5wdXQtb25seS1sYWJlbCBpbnB1dCB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1nYXApICogMC41KTtcbn1cbmZvcm1bZGF0YS1oYW5kbGU9Y29udGFjdFVzXSAuZm9ybS1maWVsZHMgbGFiZWwuZnJlZWZvcm0taW5wdXQtb25seS1sYWJlbCBpbnB1dDpjaGVja2VkLFxuZm9ybVtkYXRhLWhhbmRsZT1wb3dkZXJDb250YWN0XSAuZm9ybS1maWVsZHMgbGFiZWwuZnJlZWZvcm0taW5wdXQtb25seS1sYWJlbCBpbnB1dDpjaGVja2VkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUwYmMwODtcbn1cbmZvcm1bZGF0YS1oYW5kbGU9Y29udGFjdFVzXSAuZm9ybS1maWVsZHMgc2VsZWN0LFxuZm9ybVtkYXRhLWhhbmRsZT1jb250YWN0VXNdIC5mb3JtLWZpZWxkcyB0ZXh0YXJlYSxcbmZvcm1bZGF0YS1oYW5kbGU9Y29udGFjdFVzXSAuZm9ybS1maWVsZHMgaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0pLFxuZm9ybVtkYXRhLWhhbmRsZT1wb3dkZXJDb250YWN0XSAuZm9ybS1maWVsZHMgc2VsZWN0LFxuZm9ybVtkYXRhLWhhbmRsZT1wb3dkZXJDb250YWN0XSAuZm9ybS1maWVsZHMgdGV4dGFyZWEsXG5mb3JtW2RhdGEtaGFuZGxlPXBvd2RlckNvbnRhY3RdIC5mb3JtLWZpZWxkcyBpbnB1dDpub3QoW3R5cGU9c3VibWl0XSkge1xuICAtLWJvcmRlci1jb2xvdXI6IG5vbmU7XG4gIC0tYmFja2dyb3VuZC1jb2xvdXI6IHdoaXRlO1xufVxuZm9ybVtkYXRhLWhhbmRsZT1jb250YWN0VXNdIC5mcmVlZm9ybS1lcnJvcnMsXG5mb3JtW2RhdGEtaGFuZGxlPXBvd2RlckNvbnRhY3RdIC5mcmVlZm9ybS1lcnJvcnMge1xuICBjb2xvcjogI2RmMzAzNTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMC42MjVlbTtcbiAgcGFkZGluZzogMnB4IHZhcigtLWdhcCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgLSA0cHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGYzMDM1O1xuICBjb2xvcjogd2hpdGU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2cHg7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA2cHg7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDAwcHgpIHtcbiAgZm9ybVtkYXRhLWhhbmRsZT1jb250YWN0VXNdIGJ1dHRvblt0eXBlPXN1Ym1pdF0sXG4gIGZvcm1bZGF0YS1oYW5kbGU9cG93ZGVyQ29udGFjdF0gYnV0dG9uW3R5cGU9c3VibWl0XSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbmZvcm1bZGF0YS1oYW5kbGU9Y29udGFjdFVzXSAuZnJlZWZvcm0taW5wdXRbcmVxdWlyZWRdOm5vdCg6dmFsaWQpIH4gcmVxdWlyZWQtbm90aWNlLFxuZm9ybVtkYXRhLWhhbmRsZT1wb3dkZXJDb250YWN0XSAuZnJlZWZvcm0taW5wdXRbcmVxdWlyZWRdOm5vdCg6dmFsaWQpIH4gcmVxdWlyZWQtbm90aWNlIHtcbiAgLS1ub3RpY2UtY29sb3VyOiAjZGYzMDM1O1xufVxuZm9ybVtkYXRhLWhhbmRsZT1jb250YWN0VXNdOm5vdCg6dmFsaWQpIGJ1dHRvblt0eXBlPXN1Ym1pdF0sXG5mb3JtW2RhdGEtaGFuZGxlPXBvd2RlckNvbnRhY3RdOm5vdCg6dmFsaWQpIGJ1dHRvblt0eXBlPXN1Ym1pdF0ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91cjogdHJhbnNwYXJlbnQ7XG4gIC0tZm9udC1jb2xvdXI6ICM5Njk2OTU7XG4gIC0tYm9yZGVyLWNvbG91cjogIzk2OTY5NTtcbiAgLS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjogIzk2OTY5NTtcbiAgLS1ob3Zlci1mb250LWNvbG91cjogIzk2OTY5NTtcbiAgLS1ob3Zlci1ib3JkZXItY29sb3VyOiB0cmFuc3BhcmVudDtcbn1cbmZvcm1bZGF0YS1oYW5kbGU9Y29udGFjdFVzXSAuc2VydmljZS1jZW50cmUsXG5mb3JtW2RhdGEtaGFuZGxlPXBvd2RlckNvbnRhY3RdIC5zZXJ2aWNlLWNlbnRyZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwMXB4KSB7XG4gIGZvcm1bZGF0YS1oYW5kbGU9Y29udGFjdFVzXSAuZm9ybS1maWVsZHMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDM0MHB4LCAxZnIpKTtcbiAgfVxuICBmb3JtW2RhdGEtaGFuZGxlPWNvbnRhY3RVc10gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3c6Zmlyc3QtY2hpbGQge1xuICAgIGdyaWQtcm93OiAxO1xuICB9XG4gIGZvcm1bZGF0YS1oYW5kbGU9Y29udGFjdFVzXSAuZm9ybS1maWVsZHMgLmZyZWVmb3JtLXJvdy5maXJzdC1uYW1lLCBmb3JtW2RhdGEtaGFuZGxlPWNvbnRhY3RVc10gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cubGFzdC1uYW1lLCBmb3JtW2RhdGEtaGFuZGxlPWNvbnRhY3RVc10gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cuZW1haWwsIGZvcm1bZGF0YS1oYW5kbGU9Y29udGFjdFVzXSAuZm9ybS1maWVsZHMgLmZyZWVmb3JtLXJvdy5jb21wYW55LW5hbWUsIGZvcm1bZGF0YS1oYW5kbGU9Y29udGFjdFVzXSAuZm9ybS1maWVsZHMgLmZyZWVmb3JtLXJvdy5jb250YWN0LW5vLCBmb3JtW2RhdGEtaGFuZGxlPWNvbnRhY3RVc10gLmZvcm0tZmllbGRzIC5mcmVlZm9ybS1yb3cueS1ycWcxODFrLWQsIGZvcm1bZGF0YS1oYW5kbGU9Y29udGFjdFVzXSAuZm9ybS1maWVsZHMgLmZyZWVmb3JtLXJvdy5wcm9kdWN0IHtcbiAgICBncmlkLWNvbHVtbjogMS8yO1xuICB9XG4gIGZvcm1bZGF0YS1oYW5kbGU9Y29udGFjdFVzXSAuZm9ybS1maWVsZHMgLmZyZWVmb3JtLXJvdy5kZXRhaWxzb2ZlbnF1aXJ5IHtcbiAgICBncmlkLWNvbHVtbjogMi8tMTtcbiAgICBncmlkLXJvdzogMi9zcGFuIDY7XG4gIH1cbn1cblxuYm9keSNlZGl0IGZvcm0gdGV4dGFyZWEsXG5ib2R5I2VkaXQgZm9ybSBzZWxlY3QsXG5ib2R5I2VkaXQgZm9ybSBpbnB1dCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrO1xufVxuYm9keSNlZGl0IGZvcm0gLnN1Ym1pdC1yb3cge1xuICBvcmRlcjogMjA7XG59XG5ib2R5I2VkaXQgZm9ybSAuZnJlZWZvcm0tcm93IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbmJvZHkjZWRpdCBmb3JtIC5maXJzdC1uYW1lLFxuYm9keSNlZGl0IGZvcm0gLmxhc3QtbmFtZSxcbmJvZHkjZWRpdCBmb3JtIC5lbWFpbCxcbmJvZHkjZWRpdCBmb3JtIC5wcm9kdWN0LFxuYm9keSNlZGl0IGZvcm0gLmRldGFpbHNvZmVucXVpcnksXG5ib2R5I2VkaXQgZm9ybSAuc2VydmljZS1jZW50cmUtY29udGFjdCxcbmJvZHkjZWRpdCBmb3JtIC5sZWFkLXN0YXR1cyxcbmJvZHkjZWRpdCBmb3JtIC5pbnRlcm5hbC1ub3RlcyxcbmJvZHkjZWRpdCBmb3JtIC5vcmRlci12YWx1ZSxcbmJvZHkjZWRpdCBmb3JtIC5zdWJtaXQtcm93IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5ib2R5I2VkaXQgZm9ybSAuZmlyc3QtbmFtZSAuZnJlZWZvcm0tY29sdW1uIHNlbGVjdCxcbmJvZHkjZWRpdCBmb3JtIC5maXJzdC1uYW1lIC5mcmVlZm9ybS1jb2x1bW4gdGV4dGFyZWEsXG5ib2R5I2VkaXQgZm9ybSAuZmlyc3QtbmFtZSAuZnJlZWZvcm0tY29sdW1uIGlucHV0LFxuYm9keSNlZGl0IGZvcm0gLmxhc3QtbmFtZSAuZnJlZWZvcm0tY29sdW1uIHNlbGVjdCxcbmJvZHkjZWRpdCBmb3JtIC5sYXN0LW5hbWUgLmZyZWVmb3JtLWNvbHVtbiB0ZXh0YXJlYSxcbmJvZHkjZWRpdCBmb3JtIC5sYXN0LW5hbWUgLmZyZWVmb3JtLWNvbHVtbiBpbnB1dCxcbmJvZHkjZWRpdCBmb3JtIC5lbWFpbCAuZnJlZWZvcm0tY29sdW1uIHNlbGVjdCxcbmJvZHkjZWRpdCBmb3JtIC5lbWFpbCAuZnJlZWZvcm0tY29sdW1uIHRleHRhcmVhLFxuYm9keSNlZGl0IGZvcm0gLmVtYWlsIC5mcmVlZm9ybS1jb2x1bW4gaW5wdXQsXG5ib2R5I2VkaXQgZm9ybSAucHJvZHVjdCAuZnJlZWZvcm0tY29sdW1uIHNlbGVjdCxcbmJvZHkjZWRpdCBmb3JtIC5wcm9kdWN0IC5mcmVlZm9ybS1jb2x1bW4gdGV4dGFyZWEsXG5ib2R5I2VkaXQgZm9ybSAucHJvZHVjdCAuZnJlZWZvcm0tY29sdW1uIGlucHV0LFxuYm9keSNlZGl0IGZvcm0gLmRldGFpbHNvZmVucXVpcnkgLmZyZWVmb3JtLWNvbHVtbiBzZWxlY3QsXG5ib2R5I2VkaXQgZm9ybSAuZGV0YWlsc29mZW5xdWlyeSAuZnJlZWZvcm0tY29sdW1uIHRleHRhcmVhLFxuYm9keSNlZGl0IGZvcm0gLmRldGFpbHNvZmVucXVpcnkgLmZyZWVmb3JtLWNvbHVtbiBpbnB1dCxcbmJvZHkjZWRpdCBmb3JtIC5zZXJ2aWNlLWNlbnRyZS1jb250YWN0IC5mcmVlZm9ybS1jb2x1bW4gc2VsZWN0LFxuYm9keSNlZGl0IGZvcm0gLnNlcnZpY2UtY2VudHJlLWNvbnRhY3QgLmZyZWVmb3JtLWNvbHVtbiB0ZXh0YXJlYSxcbmJvZHkjZWRpdCBmb3JtIC5zZXJ2aWNlLWNlbnRyZS1jb250YWN0IC5mcmVlZm9ybS1jb2x1bW4gaW5wdXQsXG5ib2R5I2VkaXQgZm9ybSAubGVhZC1zdGF0dXMgLmZyZWVmb3JtLWNvbHVtbiBzZWxlY3QsXG5ib2R5I2VkaXQgZm9ybSAubGVhZC1zdGF0dXMgLmZyZWVmb3JtLWNvbHVtbiB0ZXh0YXJlYSxcbmJvZHkjZWRpdCBmb3JtIC5sZWFkLXN0YXR1cyAuZnJlZWZvcm0tY29sdW1uIGlucHV0LFxuYm9keSNlZGl0IGZvcm0gLmludGVybmFsLW5vdGVzIC5mcmVlZm9ybS1jb2x1bW4gc2VsZWN0LFxuYm9keSNlZGl0IGZvcm0gLmludGVybmFsLW5vdGVzIC5mcmVlZm9ybS1jb2x1bW4gdGV4dGFyZWEsXG5ib2R5I2VkaXQgZm9ybSAuaW50ZXJuYWwtbm90ZXMgLmZyZWVmb3JtLWNvbHVtbiBpbnB1dCxcbmJvZHkjZWRpdCBmb3JtIC5vcmRlci12YWx1ZSAuZnJlZWZvcm0tY29sdW1uIHNlbGVjdCxcbmJvZHkjZWRpdCBmb3JtIC5vcmRlci12YWx1ZSAuZnJlZWZvcm0tY29sdW1uIHRleHRhcmVhLFxuYm9keSNlZGl0IGZvcm0gLm9yZGVyLXZhbHVlIC5mcmVlZm9ybS1jb2x1bW4gaW5wdXQsXG5ib2R5I2VkaXQgZm9ybSAuc3VibWl0LXJvdyAuZnJlZWZvcm0tY29sdW1uIHNlbGVjdCxcbmJvZHkjZWRpdCBmb3JtIC5zdWJtaXQtcm93IC5mcmVlZm9ybS1jb2x1bW4gdGV4dGFyZWEsXG5ib2R5I2VkaXQgZm9ybSAuc3VibWl0LXJvdyAuZnJlZWZvcm0tY29sdW1uIGlucHV0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuYm9keSNlZGl0IGZvcm0gLmRldGFpbHNvZmVucXVpcnkge1xuICBncmlkLXJvdzogMS9zcGFuIDY7XG59XG5ib2R5I2VkaXQgZm9ybSAuZmlyc3QtbmFtZSxcbmJvZHkjZWRpdCBmb3JtIC5sYXN0LW5hbWUsXG5ib2R5I2VkaXQgZm9ybSAuZW1haWwsXG5ib2R5I2VkaXQgZm9ybSAucHJvZHVjdCxcbmJvZHkjZWRpdCBmb3JtIC5zZXJ2aWNlLWNlbnRyZS1jb250YWN0IHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5ib2R5I2VkaXQgZm9ybSAuZmlyc3QtbmFtZSBzZWxlY3QsXG5ib2R5I2VkaXQgZm9ybSAuZmlyc3QtbmFtZSB0ZXh0YXJlYSxcbmJvZHkjZWRpdCBmb3JtIC5maXJzdC1uYW1lIGlucHV0LFxuYm9keSNlZGl0IGZvcm0gLmxhc3QtbmFtZSBzZWxlY3QsXG5ib2R5I2VkaXQgZm9ybSAubGFzdC1uYW1lIHRleHRhcmVhLFxuYm9keSNlZGl0IGZvcm0gLmxhc3QtbmFtZSBpbnB1dCxcbmJvZHkjZWRpdCBmb3JtIC5lbWFpbCBzZWxlY3QsXG5ib2R5I2VkaXQgZm9ybSAuZW1haWwgdGV4dGFyZWEsXG5ib2R5I2VkaXQgZm9ybSAuZW1haWwgaW5wdXQsXG5ib2R5I2VkaXQgZm9ybSAucHJvZHVjdCBzZWxlY3QsXG5ib2R5I2VkaXQgZm9ybSAucHJvZHVjdCB0ZXh0YXJlYSxcbmJvZHkjZWRpdCBmb3JtIC5wcm9kdWN0IGlucHV0LFxuYm9keSNlZGl0IGZvcm0gLnNlcnZpY2UtY2VudHJlLWNvbnRhY3Qgc2VsZWN0LFxuYm9keSNlZGl0IGZvcm0gLnNlcnZpY2UtY2VudHJlLWNvbnRhY3QgdGV4dGFyZWEsXG5ib2R5I2VkaXQgZm9ybSAuc2VydmljZS1jZW50cmUtY29udGFjdCBpbnB1dCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG59XG5ib2R5I2VkaXQgZm9ybSAuZGV0YWlsc29mZW5xdWlyeSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7XG59XG5ib2R5I2VkaXQgZm9ybSAuZGV0YWlsc29mZW5xdWlyeSB0ZXh0YXJlYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG59XG5ib2R5I2VkaXQgZm9ybSAuc2VydmljZS1jZW50cmUtY29udGFjdCAuZnJlZWZvcm0tY29sdW1uIGxhYmVsLFxuYm9keSNlZGl0IGZvcm0gLmxlYWQtc3RhdHVzIC5mcmVlZm9ybS1jb2x1bW4gbGFiZWwsXG5ib2R5I2VkaXQgZm9ybSAuaW50ZXJuYWwtbm90ZXMgLmZyZWVmb3JtLWNvbHVtbiBsYWJlbCxcbmJvZHkjZWRpdCBmb3JtIC5vcmRlci12YWx1ZSAuZnJlZWZvcm0tY29sdW1uIGxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG5tb2RhbC13cmFwcGVyIHtcbiAgLS13cmFwcGVyLWJhY2tncm91bmQtY29sb3VyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xuICAtLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cjogd2hpdGU7XG4gIC0tbWluLXdpZHRoOjMwMHB4O1xuICAtLW1heC13aWR0aDoxMTIwcHg7XG4gIC0td2lkdGg6Y2xhbXAodmFyKC0tbWluLXdpZHRoKSwgOTB2dywgZml0LWNvbnRlbnQpO1xuICAtLW1pbi1oZWlnaHQ6NjAwcHg7XG4gIC0tbWF4LWhlaWdodDpjYWxjKDEwMHZoIC0gdmFyKC0tZ3V0dGVyMikpO1xuICAtLWhlaWdodDpjbGFtcCh2YXIoLS1taW4taGVpZ2h0KSwgOTB2dywgZml0LWNvbnRlbnQpO1xuICAtLWNsb3NlLWJ1dHRvbi1zaXplOiAzMHB4O1xuICAtLW5hdi1idXR0b24tc2l6ZTogNDBweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td3JhcHBlci1iYWNrZ3JvdW5kLWNvbG91cik7XG4gIHotaW5kZXg6IDEwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICBwbGFjZS1jb250ZW50OiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSk7XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG59XG5Ac3VwcG9ydHMgKC0tdjotd2Via2l0LWZpbGwtYXZhaWxhYmxlICkge1xuICBtb2RhbC13cmFwcGVyIHtcbiAgICAtLW1heC1oZWlnaHQ6LXdlYmtpdC1maWxsLWF2YWlsYWJsZTtcbiAgfVxufVxubW9kYWwtd3JhcHBlci5sb2FkaW5nIHtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkgMC4zcztcbn1cbm1vZGFsLXdyYXBwZXIubG9hZGluZyBtb2RhbC1jb250YWluZXIge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnZoKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSwgdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzLCAwLjY4NSwgMC4yMik7XG59XG5tb2RhbC13cmFwcGVyIGJ1dHRvbi5jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiB2YXIoLS1ndXR0ZXIxKTtcbiAgcmlnaHQ6IHZhcigtLWd1dHRlcjEpO1xuICB3aWR0aDogdmFyKC0tY2xvc2UtYnV0dG9uLXNpemUpO1xuICBoZWlnaHQ6IHZhcigtLWNsb3NlLWJ1dHRvbi1zaXplKTtcbn1cbm1vZGFsLXdyYXBwZXIgYnV0dG9uLmNsb3NlIHN2ZyB7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXNlY29uZGFyeSwgI2RmMzAzNSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgLS1maWxsOnZhcigtLXNlY29uZGFyeSwgI2RmMzAzNSk7XG59XG5tb2RhbC13cmFwcGVyIGJ1dHRvbi5jbG9zZSBzdmcgY2lyY2xlLCBtb2RhbC13cmFwcGVyIGJ1dHRvbi5jbG9zZSBzdmcgcGF0aCB7XG4gIHRyYW5zaXRpb246IDAuM3MgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgbW9kYWwtd3JhcHBlciBidXR0b24uY2xvc2U6aG92ZXIgc3ZnIHtcbiAgICAtLWZpbGw6d2hpdGU7XG4gICAgLS1zdHJva2U6dmFyKC0tc2Vjb25kYXJ5LCAjZGYzMDM1KTtcbiAgfVxufVxubW9kYWwtd3JhcHBlciBidXR0b24ubmF2aWdhdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IHZhcigtLW5hdi1idXR0b24tc2l6ZSk7XG4gIGhlaWdodDogdmFyKC0tbmF2LWJ1dHRvbi1zaXplKTtcbiAgdG9wOiBjYWxjKDUwJSAtIHZhcigtLW5hdi1idXR0b24tc2l6ZSkgLyAyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LCAjZGYzMDM1KTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1zZWNvbmRhcnksICNkZjMwMzUpO1xuICBjb2xvcjogd2hpdGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICksIGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICksIHRyYW5zZm9ybSAwLjJzIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMjc1KTtcbn1cbm1vZGFsLXdyYXBwZXIgYnV0dG9uLm5hdmlnYXRpb24ucHJldmlvdXMge1xuICBsZWZ0OiB2YXIoLS1ndXR0ZXIxKTtcbn1cbm1vZGFsLXdyYXBwZXIgYnV0dG9uLm5hdmlnYXRpb24ubmV4dCB7XG4gIHJpZ2h0OiB2YXIoLS1ndXR0ZXIxKTtcbn1cbm1vZGFsLXdyYXBwZXIgYnV0dG9uLm5hdmlnYXRpb24gc3ZnIHtcbiAgd2lkdGg6IDUwJTtcbiAgaGVpZ2h0OiA1MCU7XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICBtb2RhbC13cmFwcGVyIGJ1dHRvbi5uYXZpZ2F0aW9uOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeSwgI2RmMzAzNSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIH1cbn1cblxubW9kYWwtY29udGFpbmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpIDAuM3MsIHRyYW5zZm9ybSAwLjVzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSkgMC4zcztcbiAgd2lkdGg6IHZhcigtLXdpZHRoKTtcbiAgaGVpZ2h0OiB2YXIoLS1oZWlnaHQpO1xuICBtYXgtaGVpZ2h0OiB2YXIoLS1tYXgtaGVpZ2h0KTtcbiAgbWF4LXdpZHRoOiB2YXIoLS1tYXgtd2lkdGgpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogdmFyKC0tZ3V0dGVyMSk7XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG59XG5Ac3VwcG9ydHMgbm90ICh3aWR0aDogY2xhbXAoMXB4LCA1dncsIDEwcHgpKSB7XG4gIG1vZGFsLWNvbnRhaW5lciB7XG4gICAgLS13aWR0aDogNjB2dztcbiAgICBtYXgtd2lkdGg6IHZhcigtLW1heC13aWR0aCk7XG4gICAgbWluLXdpZHRoOiB2YXIoLS1taW4td2lkdGgpO1xuICAgIC0taGVpZ2h0OiA4MHZ3O1xuICAgIG1heC1oZWlnaHQ6IHZhcigtLW1heC1oZWlnaHQpO1xuICAgIG1pbi1oZWlnaHQ6IHZhcigtLW1pbi1oZWlnaHQpO1xuICB9XG59XG5tb2RhbC1jb250YWluZXI6ZW1wdHkge1xuICB3aWR0aDogY2FsYyh2YXIoLS1tYXgtd2lkdGgpIC8gMik7XG4gIGhlaWdodDogY2FsYyh2YXIoLS1tYXgtaGVpZ2h0KSAvIDIpO1xufVxubW9kYWwtY29udGFpbmVyOmVtcHR5OmFmdGVyIHtcbiAgLS1zaXplOiAyMHB4O1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYyg1MCUgLSB2YXIoLS1zaXplKSAvIDIpO1xuICBsZWZ0OiBjYWxjKDUwJSAtIHZhcigtLXNpemUpIC8gMik7XG4gIG9wYWNpdHk6IDA7XG4gIHdpZHRoOiB2YXIoLS1zaXplKTtcbiAgaGVpZ2h0OiB2YXIoLS1zaXplKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1sb2FkZXItY29sb3VyLCAjOTY5Njk1KTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICBhbmltYXRpb24tbmFtZTogbG9hZGVyLXJvdGF0ZTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKTtcbiAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgb3BhY2l0eTogMTtcbiAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7XG59XG5Aa2V5ZnJhbWVzIGxvYWRlci1yb3RhdGUge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxufVxubW9kYWwtY29udGFpbmVyID4gYnV0dG9uLmNsb3NlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvcmRlcjogLTE7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICB0b3A6IGluaXRpYWw7XG4gIHJpZ2h0OiBpbml0aWFsO1xuICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tY2xvc2UtYnV0dG9uLXNpemUpIC8gMik7XG4gIG1hcmdpbi1ib3R0b206IGNhbGMoLTEgKiB2YXIoLS1jbG9zZS1idXR0b24tc2l6ZSkgLyAyKTtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xICogdmFyKC0tY2xvc2UtYnV0dG9uLXNpemUpIC8gMik7XG59XG5cbm1vZGFsLWNvbnRlbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbiAgd2lkdGg6IGluaGVyaXQ7XG4gIGhlaWdodDogaW5oZXJpdDtcbiAgbWF4LWhlaWdodDogaW5oZXJpdDtcbiAgbWF4LXdpZHRoOiBpbmhlcml0O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIHBhZGRpbmc6IHZhcigtLWd1dHRlcjEpO1xufVxubW9kYWwtY29udGVudCA+ICoge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbm1vZGFsLXdyYXBwZXJbZGF0YS10eXBlPWltYWdlXSAuaW1hZ2Uge1xuICBtYXgtaGVpZ2h0OiBjYWxjKHZhcigtLW1heC1oZWlnaHQpIC0gdmFyKC0tZ3V0dGVyNikpO1xuICBib3JkZXI6IG5vbmU7XG59XG5tb2RhbC13cmFwcGVyW2RhdGEtdHlwZT1pbWFnZV0gLmltYWdlIGltZyB7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1ndXR0ZXIzKSAtIHZhcigtLWd1dHRlcjQpKTtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG5tb2RhbC13cmFwcGVyW2RhdGEtdHlwZT1kZWZhdWx0XSBtb2RhbC1jb250ZW50ID4gaW1nW3NyYyo9XCIuc3ZnXCJdIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxubW9kYWwtd3JhcHBlcltkYXRhLXR5cGU9dmlkZW9dIHtcbiAgLS13cmFwcGVyLWJhY2tncm91bmQtY29sb3VyOiByZ2JhKDAsIDAsIDAsIDAuOTUpO1xufVxubW9kYWwtd3JhcHBlcltkYXRhLXR5cGU9dmlkZW9dIG1vZGFsLWNvbnRhaW5lciB7XG4gIC0tYXNwZWN0LXJhdGlvOiAxNi85O1xuICBhc3BlY3QtcmF0aW86IHZhcigtLWFzcGVjdC1yYXRpbyk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IHZhcigtLWdhcCk7XG59XG5Ac3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86IDE2LzkpIHtcbiAgbW9kYWwtd3JhcHBlcltkYXRhLXR5cGU9dmlkZW9dIG1vZGFsLWNvbnRhaW5lciB7XG4gICAgYXNwZWN0LXJhdGlvOiBpbml0aWFsO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDEwMCUgLyAodmFyKC0tYXNwZWN0LXJhdGlvKSkpO1xuICAgIGhlaWdodDogMDtcbiAgfVxuICBtb2RhbC13cmFwcGVyW2RhdGEtdHlwZT12aWRlb10gbW9kYWwtY29udGFpbmVyID4gKiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG59XG5tb2RhbC13cmFwcGVyW2RhdGEtdHlwZT12aWRlb10gbW9kYWwtY29udGFpbmVyIGlmcmFtZSwgbW9kYWwtd3JhcHBlcltkYXRhLXR5cGU9dmlkZW9dIG1vZGFsLWNvbnRhaW5lciBjYW52YXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxubW9kYWwtd3JhcHBlcltkYXRhLXR5cGU9dmlkZW9dIG1vZGFsLWNvbnRhaW5lciBtb2RhbC1jb250ZW50IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xufVxuXG4ub3Blbi1pbi1tb2RhbCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cbi5vcGVuLWluLW1vZGFsOmFmdGVyIHtcbiAgLS1zaXplOiAyMHB4O1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYyg1MCUgLSB2YXIoLS1zaXplKSAvIDIpO1xuICBsZWZ0OiBjYWxjKDUwJSAtIHZhcigtLXNpemUpIC8gMik7XG4gIG9wYWNpdHk6IDA7XG4gIHdpZHRoOiB2YXIoLS1zaXplKTtcbiAgaGVpZ2h0OiB2YXIoLS1zaXplKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1sb2FkZXItY29sb3VyLCB3aGl0ZSk7XG4gIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxvYWRlci1yb3RhdGU7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSk7XG4gIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG59XG5Aa2V5ZnJhbWVzIGxvYWRlci1yb3RhdGUge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxufVxuLm9wZW4taW4tbW9kYWwubG9hZGluZyB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLm9wZW4taW4tbW9kYWwubG9hZGluZzphZnRlciB7XG4gIG9wYWNpdHk6IDE7XG4gIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nO1xufVxuXG5pbWcub3Blbi1pbi1tb2RhbCwgLm9wZW4taW4tbW9kYWwgaW1nIHtcbiAgLXdlYmtpdC11c2VyLWRyYWc6IG5vbmU7XG4gIC1raHRtbC11c2VyLWRyYWc6IG5vbmU7XG4gIC1tb3otdXNlci1kcmFnOiBub25lO1xuICAtby11c2VyLWRyYWc6IG5vbmU7XG4gIHVzZXItZHJhZzogbm9uZTtcbn1cblxuOnJvb3Qge1xuICAtLWRpYWxvZy10cmFuc2xhdGUtb2Zmc2V0OiAxcmVtO1xuICAtLWRpYWxvZy10cmFuc2xhdGUtZW50ZXI6IDAgdmFyKC0tZGlhbG9nLXRyYW5zbGF0ZS1vZmZzZXQpO1xuICAtLWRpYWxvZy10cmFuc2xhdGUtbGVhdmU6IDAgY2FsYygtMSAqIHZhcigtLWRpYWxvZy10cmFuc2xhdGUtb2Zmc2V0KSk7XG4gIC0tZGlhbG9nLXRyYW5zbGF0ZS1kdXJhdGlvbjogMC40cztcbiAgLS1kaWFsb2ctZ2FwOiB2YXIoLS1ndXR0ZXIyKTtcbiAgLS1kaWFsb2ctY29udGVudC1tYXgtd2lkdGg6IDEwODBweDtcbiAgLS1kaWFsb2ctY29udGVudC1iYWNrZ3JvdW5kLWNvbG91cjogd2hpdGU7XG4gIC0tZGlhbG9nLWJhY2tkcm9wLWNvbG91cjogcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuXG5kaWFsb2cubW9kYWwge1xuICBib3JkZXI6IG5vbmU7XG4gIG92ZXJmbG93OiBpbml0aWFsO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2xhdGU6IHZhcigtLWRpYWxvZy10cmFuc2xhdGUtZW50ZXIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3ZlcmxheSwgZGlzcGxheSwgdHJhbnNsYXRlLCBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS1kaWFsb2ctdHJhbnNsYXRlLWR1cmF0aW9uKTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uLWJlaGF2aW9yOiBhbGxvdy1kaXNjcmV0ZTtcbiAgbWFyZ2luOiAwO1xuICB6LWluZGV4OiA5OTk7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwZHZoO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICBwbGFjZS1jb250ZW50OiBjZW50ZXI7XG59XG5kaWFsb2cubW9kYWwgKixcbmRpYWxvZy5tb2RhbCAqOjpiZWZvcmUsXG5kaWFsb2cubW9kYWwgKjo6YWZ0ZXIsIGRpYWxvZy5tb2RhbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5kaWFsb2cubW9kYWw6OmJhY2tkcm9wIHtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3ZlcmxheSwgZGlzcGxheSwgb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogdmFyKC0tZGlhbG9nLXRyYW5zbGF0ZS1kdXJhdGlvbik7XG4gIHRyYW5zaXRpb24tYmVoYXZpb3I6IGFsbG93LWRpc2NyZXRlO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMnB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGlhbG9nLWJhY2tkcm9wLWNvbG91cik7XG4gIG9wYWNpdHk6IDA7XG59XG5kaWFsb2cubW9kYWwgLmRpYWxvZ1xcOmNvbnRlbnRzIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGRpcmVjdGlvbjogbHRyO1xuICBib3JkZXItcmFkaXVzOiAwLjZlbTtcbiAgbWF4LWhlaWdodDogMTAwZHZoO1xuICBwYWRkaW5nOiB2YXIoLS1kaWFsb2ctZ2FwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGlhbG9nLWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xuICB3aWR0aDogbWluKDEwMCUsIHZhcigtLWRpYWxvZy1jb250ZW50LW1heC13aWR0aCkpO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xufVxuZGlhbG9nLm1vZGFsW29wZW5dIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNsYXRlOiAwIDA7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5Ac3RhcnRpbmctc3R5bGUge1xuICBkaWFsb2cubW9kYWxbb3Blbl0ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNsYXRlOiB2YXIoLS1kaWFsb2ctdHJhbnNsYXRlLWxlYXZlKTtcbiAgfVxufVxuZGlhbG9nLm1vZGFsW29wZW5dOjpiYWNrZHJvcCB7XG4gIG9wYWNpdHk6IDE7XG59XG5Ac3RhcnRpbmctc3R5bGUge1xuICBkaWFsb2cubW9kYWxbb3Blbl06OmJhY2tkcm9wIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5kaWFsb2cubW9kYWwgYnV0dG9uLmRpYWxvZ1xcOmNsb3NlIHtcbiAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBjYWxjKDAuNSAqIHZhcigtLWRpYWxvZy1nYXApKTtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuOnJvb3Q6aGFzKGRpYWxvZy5tb2RhbFtvcGVuXSkgW2RhdGEtbW9kYWxdIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5jb250ZW50LWJsb2NrIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1nYXA6IHZhcigtLWd1dHRlcjEpO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS1jb2x1bW4tY291bnQpLCAxZnIpO1xufVxuLmNvbnRlbnQtYmxvY2s6ZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmNvbnRlbnQtYmxvY2sudGhpbiB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1ndXR0ZXIxKTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLWd1dHRlcjEpO1xufVxuLmNvbnRlbnQtYmxvY2suYmxvd291dC50aGVtZWQgfiAuY29udGVudC1ibG9jazpub3QoLmJsb3dvdXQpLnRoZW1lZCB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlcjApO1xufVxuLmNvbnRlbnQtYmxvY2s6bm90KC5ibG93b3V0KS50aGVtZWQge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xufVxuLmNvbnRlbnQtYmxvY2s6bm90KC5ibG93b3V0KS50aGVtZWQ6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2VyMCk7XG59XG4uY29udGVudC1ibG9jayArIC5jb250ZW50LWJsb2NrIHtcbiAgYm94LXNoYWRvdzogMHB4IC0xcHggdmFyKC0tYm9yZGVyLXRvcC1jb2xvdXIsICNkY2RjZGMpO1xufVxuLmNvbnRlbnQtYmxvY2suaG9yaXpvbnRhbC1ibG9ja3Mge1xuICBib3gtc2hhZG93OiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctYmxvY2s6IHZhcigtLXNwYWNlcjApO1xufVxuLmNvbnRlbnQtYmxvY2suaG9yaXpvbnRhbC1ibG9ja3M6aGFzKC50ZXh0ICsgYnV0dG9uLWNvbnRhaW5lcikge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IHZhcigtLWd1dHRlcjEpIHZhcigtLWd1dHRlcjApO1xufVxuLmNvbnRlbnQtYmxvY2suaG9yaXpvbnRhbC1ibG9ja3M6aGFzKC50ZXh0ICsgYnV0dG9uLWNvbnRhaW5lcikgLnRleHQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtd3JhcDogYmFsYW5jZTtcbn1cbi5jb250ZW50LWJsb2NrLmhvcml6b250YWwtYmxvY2tzOmhhcygudGV4dCArIGJ1dHRvbi1jb250YWluZXIpIGJ1dHRvbi1jb250YWluZXIgLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogc21hbGw7XG59XG4uY29udGVudC1ibG9jay5ob3Jpem9udGFsLWJsb2NrczpoYXMoLnRleHQgKyBidXR0b24tY29udGFpbmVyKSAudGV4dCxcbi5jb250ZW50LWJsb2NrLmhvcml6b250YWwtYmxvY2tzOmhhcygudGV4dCArIGJ1dHRvbi1jb250YWluZXIpIGJ1dHRvbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBjb250ZW50cztcbn1cbi5jb250ZW50LWJsb2NrIDppcyhoMiwgaDMsIGg0LCBoNSwgaDYpIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwKTtcbn1cbi5jb250ZW50LWJsb2NrLmdyZXkge1xuICBiYWNrZ3JvdW5kOiAjZjRmNGY0O1xufVxuLmNvbnRlbnQtYmxvY2sucmVkIHtcbiAgYmFja2dyb3VuZDogI2RmMzAzNTtcbn1cbi5jb250ZW50LWJsb2NrLmJsdWUge1xuICBiYWNrZ3JvdW5kOiAjMTMxZjZiO1xufVxuLmNvbnRlbnQtYmxvY2suYmxhY2sge1xuICBiYWNrZ3JvdW5kOiAjMWUxYzFjO1xuICBjb2xvcjogdmFyKC0tZm9udC1jb2xvdXIpO1xuICAtLWhlYWRpbmctY29sb3VyOiB3aGl0ZTtcbiAgLS1mb250LWNvbG91cjogd2hpdGU7XG59XG4uY29udGVudC1ibG9jay5zaWRlLWJ5LXNpZGUtY29tcG9uZW50cyB7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIGdhcDogMDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuLmNvbnRlbnQtYmxvY2suc2lkZS1ieS1zaWRlLWNvbXBvbmVudHMgPiAqIHtcbiAgZ3JpZC1jb2x1bW46IGF1dG87XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbn1cbi5jb250ZW50LWJsb2NrLnNpZGUtYnktc2lkZS1jb21wb25lbnRzID4gKi5jb250YWluZXItaW5saW5lIHtcbiAgcGFkZGluZy1ibG9jazogdmFyKC0tc3BhY2VyMSk7XG59XG4uY29udGVudC1ibG9jay5zaWRlLWJ5LXNpZGUtY29tcG9uZW50cyA+ICouZWNvcG9zdGUtYmFubmVyIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNlcjEpO1xuICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxubWFpbjpoYXMoPiAuY29udGVudC1ibG9jay5zaWRlLWJ5LXNpZGUtY29tcG9uZW50cykge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5tYWluOmhhcyg+IC5jb250ZW50LWJsb2NrLnNpZGUtYnktc2lkZS1jb21wb25lbnRzKSAuc2lkZS1ieS1zaWRlLWNvbXBvbmVudHMge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuQG1lZGlhICh3aWR0aCA8IDkwMHB4KSB7XG4gIC5jb250ZW50LWJsb2NrLnNpZGUtYnktc2lkZS1jb21wb25lbnRzIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgfVxufVxuXG4udGV4dCBhIHtcbiAgLS1mb250LWNvbG91cjogdmFyKC0tcHJpbWFyeSwgIzEzMWY2Yik7XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAudGV4dCBhOmhvdmVyIHtcbiAgICAtLWZvbnQtY29sb3VyOiB2YXIoLS1zZWNvbmRhcnksICNkZjMwMzUpO1xuICB9XG59XG4udGV4dCBhIGEuYnV0dG9uIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG4udGV4dCB1bCA+IGxpOjpiZWZvcmUge1xuICBjb250ZW50OiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ2NpcmNsZSBmaWxsPSclMjNERjMwMzUnIGN4PSc4JyBjeT0nOCcgcj0nOCcvJTNFJTNDcGF0aCBmaWxsPSdub25lJyBzdHJva2U9J3doaXRlJyBzdHJva2Utd2lkdGg9JzEuNCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J00zLjUgOC40bDIuNyAyLjcgNi4zLTYuMycvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbi50ZXh0IHVsID4gbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1saXN0LXN0eWxlLXNpemUsIDFlbSkgKiAxLjgpO1xufVxuLnRleHQgdWwgPiBsaSArIGxpIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tbGluZS1zdHlsZS1zcGFjaW5nLCB2YXIoLS1nYXApKTtcbn1cbi50ZXh0IHVsID4gbGk6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdG9wOiAwLjFlbTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogdmFyKC0tbGlzdC1zdHlsZS1zaXplLCAxZW0pO1xuICBoZWlnaHQ6IHZhcigtLWxpc3Qtc3R5bGUtc2l6ZSwgMWVtKTtcbn1cbi50ZXh0IG9sIHtcbiAgY291bnRlci1yZXNldDogY291bnRlcjtcbn1cbi50ZXh0IG9sID4gbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDIycHg7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1saXN0LXN0eWxlLW9mZnNldCwgMCk7XG59XG4udGV4dCBvbCA+IGxpICsgbGkge1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWdhcCkgKiAwLjUpO1xufVxuLnRleHQgb2wgPiBsaTo6YmVmb3JlIHtcbiAgY29udGVudDogY291bnRlcihjb3VudGVyKSBcIi5cIjtcbiAgY291bnRlci1pbmNyZW1lbnQ6IGNvdW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1saXN0LXN0eWxlLWNvbG91ciwgdmFyKC0tcHJpbWFyeSkpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1yaWdodDogMC41ZW07XG59XG4udGV4dCBwOmVtcHR5LFxuLnRleHQgcCA+IGJyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi50ZXh0ID4gKjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwKTtcbn1cbi50ZXh0ID4gKiB1bCxcbi50ZXh0ID4gKiBvbCB7XG4gIG1hcmdpbi10b3A6IHZhcigtLWdhcCk7XG59XG4udGV4dCBoMixcbi50ZXh0IGgzLFxuLnRleHQgaDQsXG4udGV4dCBoNSxcbi50ZXh0IGg2IHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwKTtcbn1cbi50ZXh0IGgyOm9ubHktY2hpbGQsXG4udGV4dCBoMzpvbmx5LWNoaWxkLFxuLnRleHQgaDQ6b25seS1jaGlsZCxcbi50ZXh0IGg1Om9ubHktY2hpbGQsXG4udGV4dCBoNjpvbmx5LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi50ZXh0OmhhcyhoMTpvbmx5LWNoaWxkKSArIGJ1dHRvbi1jb250YWluZXIgLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMi41ZW0gIWltcG9ydGFudDtcbn1cbi50ZXh0OmhhcyhoMjpvbmx5LWNoaWxkKSArIGJ1dHRvbi1jb250YWluZXIgLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMi4ycmVtICFpbXBvcnRhbnQ7XG59XG4udGV4dDpoYXMoaDM6b25seS1jaGlsZCkgKyBidXR0b24tY29udGFpbmVyIC5idXR0b24ge1xuICBmb250LXNpemU6IDEuNnJlbSAhaW1wb3J0YW50O1xufVxuLnRleHQ6aGFzKGg0Om9ubHktY2hpbGQpICsgYnV0dG9uLWNvbnRhaW5lciAuYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxLjRyZW0gIWltcG9ydGFudDtcbn1cbi50ZXh0OmhhcyhoNTpvbmx5LWNoaWxkKSArIGJ1dHRvbi1jb250YWluZXIgLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMS4ycmVtICFpbXBvcnRhbnQ7XG59XG4udGV4dDpoYXMoaDY6b25seS1jaGlsZCkgKyBidXR0b24tY29udGFpbmVyIC5idXR0b24ge1xuICBmb250LXNpemU6IDEuMnJlbSAhaW1wb3J0YW50O1xufVxuLnRleHQgLmhlYWRpbmctaDMge1xuICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LCAjZGYzMDM1KTtcbn1cbi50ZXh0IFtzdHlsZSo9XCJ0ZXh0LWFsaWduOiBjZW50ZXJcIl0ge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA4MDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbi50ZXh0IC5xdW90ZXMge1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkICNkY2RjZGM7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuLnRleHQgZmlndXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMsIDZweCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOiB2YXIoLS1nYXApO1xufVxuLnRleHQgZmlndXJlIGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbi50ZXh0IGhyIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tc3BhY2VyMCkgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2VyMCkgIWltcG9ydGFudDtcbn1cbi50ZXh0IC5ub3RlIHtcbiAgbWFyZ2luOiBjYWxjKHZhcigtLWdhcCkgKiAyKSAwO1xufVxuXG4uZGFyayB7XG4gIC0taHItY29sb3VyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gIC0tbGlzdC1zdHlsZS1jb2xvdXI6IHdoaXRlO1xufVxuLmRhcmsgLnRleHQge1xuICBjb2xvcjogd2hpdGU7XG4gIC0taGVhZGluZy1jb2xvdXI6IHdoaXRlO1xufVxuLmRhcmsgLnRleHQgYS5idXR0b24ge1xuICAtLWZvbnQtY29sb3VyOiB3aGl0ZTtcbn1cbi5kYXJrIC50ZXh0IGE6bm90KC5idXR0b24pIHtcbiAgLS1mb250LWNvbG91cjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAuZGFyayAudGV4dCBhOm5vdCguYnV0dG9uKTpob3ZlciB7XG4gICAgLS1mb250LWNvbG91cjogd2hpdGU7XG4gIH1cbn1cbi5kYXJrLnJlZCAudGV4dCB1bCA+IGxpOjpiZWZvcmUge1xuICBjb250ZW50OiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ2NpcmNsZSBmaWxsPSclMjNGRkZGRkYnIGN4PSc4JyBjeT0nOCcgcj0nOCcvJTNFJTNDcGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyUyM0RGMzAzNScgc3Ryb2tlLXdpZHRoPScxLjQnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNMy41IDguNGwyLjcgMi43IDYuMy02LjMnLyUzRSUzQy9zdmclM0VcIik7XG59XG4uZGFyay5ibHVlIC50ZXh0IHVsID4gbGk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNFJTNDY2lyY2xlIGZpbGw9JyUyM0ZGRkZGRicgY3g9JzgnIGN5PSc4JyByPSc4Jy8lM0UlM0NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzMTMxRjZCJyBzdHJva2Utd2lkdGg9JzEuNCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J00zLjUgOC40bDIuNyAyLjcgNi4zLTYuMycvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cblxuLmNvbnRhaW5zLXN2Z3MgLnRleHQgZmlndXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIHZhcigtLWdhcCk7XG59XG4uY29udGFpbnMtc3ZncyAudGV4dCBmaWd1cmUgaW1nIHtcbiAgaGVpZ2h0OiAxMjBweDtcbn1cblxudGFibGUtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1nYXA6IHZhcigtLWdhcCk7XG59XG50YWJsZS1jb250YWluZXIgPiBkaXYge1xuICBvdmVyZmxvdzogYXV0bztcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTtcbiAgZGlzcGxheTogZ3JpZDtcbn1cbnRhYmxlLWNvbnRhaW5lciA+IGRpdjpub3QoOmhvdmVyKSB7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxudGFibGUtY29udGFpbmVyID4gZGl2Ojotd2Via2l0LXNjcm9sbGJhciB7XG4gIHdpZHRoOiAwLjllbTtcbiAgaGVpZ2h0OiAwLjllbTtcbn1cbnRhYmxlLWNvbnRhaW5lciA+IGRpdjo6LXdlYmtpdC1zY3JvbGxiYXItYnV0dG9uIHtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgZGlzcGxheTogbm9uZTtcbn1cbnRhYmxlLWNvbnRhaW5lciA+IGRpdjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTY5Njk1O1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBib3JkZXI6IDRweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxudGFibGUtY29udGFpbmVyID4gZGl2Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxudGFibGUtY29udGFpbmVyID4gZGl2Ojotd2Via2l0LXNjcm9sbGJhci1jb3JuZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbnRhYmxlLWNvbnRhaW5lciBoMyB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cbnRhYmxlLWNvbnRhaW5lciB0YWJsZS50YWJsZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBncmlkLXJvdzogMTtcbiAgZ3JpZC1jb2x1bW46IDE7XG59XG50YWJsZS1jb250YWluZXIgdGFibGUudGFibGUuZmFrZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgodmFyKC0teCkpO1xuICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0teCkpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbml0aWFsO1xufVxudGFibGUtY29udGFpbmVyIHRhYmxlLnRhYmxlLmZha2UgdGJvZHkgdHIgdGQge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggI2RjZGNkYyBkYXNoZWQ7XG59XG50YWJsZS1jb250YWluZXIgdGFibGUudGFibGUuZmFrZSB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHRkIHtcbiAgYmFja2dyb3VuZDogI2Y0ZjRmNDtcbn1cbnRhYmxlLWNvbnRhaW5lciB0YWJsZS50YWJsZS5mYWtlIHRoZWFkIHRyIHRoOmZpcnN0LW9mLXR5cGUge1xuICBib3JkZXItcmlnaHQ6IDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkgZGFzaGVkO1xufVxudGFibGUtY29udGFpbmVyIHRhYmxlLnRhYmxlLmZha2UgdGhlYWQgdHIgdGg6bm90KDpmaXJzdC1vZi10eXBlKSxcbnRhYmxlLWNvbnRhaW5lciB0YWJsZS50YWJsZS5mYWtlIHRib2R5IHRyIHRkOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5Ac3VwcG9ydHMgKHdyaXRpbmctbW9kZTogdmVydGljYWwtbHIpIHtcbiAgdGFibGUtY29udGFpbmVyLmVuYWJsZS12ZXJ0aWNhbC1oZWFkaW5ncyB0YWJsZS50YWJsZSB0aGVhZCB0ciB0aDpub3QoOmZpcnN0LW9mLXR5cGUpIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLWxyO1xuICAgIG1heC13aWR0aDogNTBweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB9XG59XG50YWJsZS1jb250YWluZXIgbmF2IHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBncmlkLXJvdzogMTtcbiAgZ3JpZC1jb2x1bW46IDI7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG50YWJsZS1jb250YWluZXIgbmF2IGJ1dHRvbi5uYXZpZ2F0aW9uIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG59XG50YWJsZS1jb250YWluZXIgbmF2IGJ1dHRvbi5uYXZpZ2F0aW9uICsgYnV0dG9uIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tZ2FwKSAqIDAuNSk7XG59XG50YWJsZS1jb250YWluZXIgbmF2ICsgZGl2IHtcbiAgZ3JpZC1jb2x1bW46IDEvc3BhbiAyO1xufVxudGFibGUtY29udGFpbmVyLnNjcm9sbGVkLXJpZ2h0IGJ1dHRvbi5uZXh0LCB0YWJsZS1jb250YWluZXIuc2Nyb2xsZWQtbGVmdCBidXR0b24ucHJldmlvdXMge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbnRhYmxlLWNvbnRhaW5lci5lbmFibGUtc2Nyb2xsLWJ1dHRvbnMgbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbn1cbnRhYmxlLWNvbnRhaW5lciBidXR0b24ubmF2aWdhdGlvbiB7XG4gIC0tYnV0dG9uLXNpemU6IDQwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHotaW5kZXg6IDE7XG4gIHdpZHRoOiB2YXIoLS1idXR0b24tc2l6ZSk7XG4gIGhlaWdodDogdmFyKC0tYnV0dG9uLXNpemUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBjb2xvcjogIzZhNmE2YTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKSwgY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICksIG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICksIHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMjc1KTtcbn1cbnRhYmxlLWNvbnRhaW5lciBidXR0b24ubmF2aWdhdGlvbi5wcmV2aW91cyBzdmcge1xuICBtYXJnaW4tbGVmdDogLTJweDtcbn1cbnRhYmxlLWNvbnRhaW5lciBidXR0b24ubmF2aWdhdGlvbi5uZXh0IHN2ZyB7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG59XG50YWJsZS1jb250YWluZXIgYnV0dG9uLm5hdmlnYXRpb24gc3ZnIHtcbiAgd2lkdGg6IGNhbGModmFyKC0tYnV0dG9uLXNpemUpIC8gMi41KTtcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLWJ1dHRvbi1zaXplKSAvIDIuNSk7XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICB0YWJsZS1jb250YWluZXIgYnV0dG9uLm5hdmlnYXRpb246aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMxZjZiO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDExMjFweCkge1xuICB0YWJsZS1jb250YWluZXIuZW5hYmxlLXN0aWNreS1jb2x1bW4gdGhlYWQgdHIgdGg6Zmlyc3QtY2hpbGQsXG4gIHRhYmxlLWNvbnRhaW5lci5lbmFibGUtc3RpY2t5LWNvbHVtbiB0Ym9keSB0ciB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbiAgdGFibGUtY29udGFpbmVyLmVuYWJsZS1zdGlja3ktY29sdW1uIHRib2R5IHRyIHRkOmZpcnN0LWNoaWxkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgfVxuICB0YWJsZS1jb250YWluZXIuZW5hYmxlLXN0aWNreS1jb2x1bW4gdGJvZHkgdHI6bnRoLWNoaWxkKG9kZCkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChyZ2JhKDAsIDAsIDAsIDAuMDUpIDAgMCksIGxpbmVhci1ncmFkaWVudCh3aGl0ZSAwIDApO1xuICB9XG59XG5cbnRhYmxlLnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG59XG50YWJsZS50YWJsZSB0aGVhZCB0ciB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnksICMxMzFmNmIpO1xuICBwYWRkaW5nOiB2YXIoLS1nYXApO1xuICBjb2xvcjogd2hpdGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG50YWJsZS50YWJsZSB0aGVhZCB0ciB0aDpmaXJzdC1vZi10eXBlIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbnRhYmxlLnRhYmxlIHRoZWFkIHRyIHRoOmxhc3Qtb2YtdHlwZSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxudGFibGUudGFibGUgdGJvZHkgdHIgdGQge1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLWdhcCkgKiAwLjUpIHZhcigtLWdhcCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbnRhYmxlLnRhYmxlIHRib2R5IHRyIHRkOmZpcnN0LW9mLXR5cGUge1xuICBtaW4td2lkdGg6IDIwMHB4O1xufVxudGFibGUudGFibGUgdGJvZHkgdHIgdGQgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICM2YTZhNmE7XG59XG50YWJsZS50YWJsZSB0Ym9keSB0ciB0ZCBhIHtcbiAgY29sb3I6ICMxMzFmNmI7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgdGFibGUudGFibGUgdGJvZHkgdHIgdGQgYTpob3ZlciB7XG4gICAgY29sb3I6ICNkZjMwMzU7XG4gIH1cbn1cbnRhYmxlLnRhYmxlIHRib2R5IHRyIHRkIHN2ZyB7XG4gIC0tZmlsbDogdmFyKC0tcHJpbWFyeSwgIzEzMWY2Yik7XG4gIHdpZHRoOiAxZW07XG4gIGhlaWdodDogMWVtO1xufVxudGFibGUudGFibGUgdGJvZHkgdHIgdGQgc3ZnLmNyb3NzIHtcbiAgLS1maWxsOiAjZGYzMDM1O1xufVxudGFibGUudGFibGUgdGJvZHkgdHIgdGQgc3ZnLnRpY2sge1xuICAtLWZpbGw6ICM1MGJjMDg7XG59XG50YWJsZS50YWJsZSB0ciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbnRhYmxlLnRhYmxlIHRyOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGNkY2RjO1xufVxudGFibGUudGFibGUgdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG59XG50YWJsZS50YWJsZS5hbHRlcm5hdGluZy1yb3ctY29sb3VycyB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbnRhYmxlLnRhYmxlLmxhc3QtY29sdW1uLWlzLWdyZWVuIHRib2R5IHRyIHRkOmxhc3Qtb2YtdHlwZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMzFmNmI7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmRhcmsgdGFibGUtY29udGFpbmVyID4gaDMsXG4uZGFyay5jb250ZW50LWJsb2NrIC50YWItY29udGVudCA+IGgzIHtcbiAgY29sb3I6IHdoaXRlO1xufVxuLmRhcmsgdGFibGUtY29udGFpbmVyID4gZGl2LFxuLmRhcmsuY29udGVudC1ibG9jayAudGFiLWNvbnRlbnQgPiBkaXYge1xuICBib3JkZXItcmFkaXVzOiBpbml0aWFsO1xufVxuLmRhcmsgdGFibGUtY29udGFpbmVyIHRhYmxlLnRhYmxlLFxuLmRhcmsuY29udGVudC1ibG9jayAudGFiLWNvbnRlbnQgdGFibGUudGFibGUge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7XG59XG4uZGFyayB0YWJsZS1jb250YWluZXIgdGFibGUudGFibGUgdHIgdGgsXG4uZGFyay5jb250ZW50LWJsb2NrIC50YWItY29udGVudCB0YWJsZS50YWJsZSB0ciB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG59XG4uZGFyayB0YWJsZS1jb250YWluZXIgdGFibGUudGFibGUgdHIsXG4uZGFyay5jb250ZW50LWJsb2NrIC50YWItY29udGVudCB0YWJsZS50YWJsZSB0ciB7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xufVxuLmRhcmsgdGFibGUtY29udGFpbmVyIHRhYmxlLnRhYmxlIHRyOm50aC1vZi10eXBlKG9kZCksXG4uZGFyay5jb250ZW50LWJsb2NrIC50YWItY29udGVudCB0YWJsZS50YWJsZSB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbn1cblxuZmlndXJlLmltYWdlLnN0YXRpYyB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMsIDZweCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjRmNGY0O1xuICBoZWlnaHQ6IGZpdC1jb250ZW50O1xufVxuZmlndXJlLmltYWdlLnN0YXRpYyBpbWcge1xuICAtLWltYWdlLWhlaWdodC1zaXplOiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5maWd1cmUuaW1hZ2Uuc3RhdGljIGZpZ2NhcHRpb24ge1xuICBmb250LXNpemU6IDAuNzVlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLWdhcCkgKiAwLjUpIHZhcigtLWdhcCk7XG59XG5maWd1cmUuaW1hZ2Uuc3RhdGljLm5vLWNhcHRpb24ge1xuICBib3JkZXI6IG5vbmU7XG59XG5maWd1cmUuaW1hZ2Uuc3RhdGljLmNyb3AtaW1hZ2Uge1xuICAtLWFzcGVjdC1yYXRpbzogMTYvOTtcbiAgYXNwZWN0LXJhdGlvOiB2YXIoLS1hc3BlY3QtcmF0aW8pO1xuICAtLWFzcGVjdC1yYXRpbzogaW5oZXJpdDtcbn1cbmZpZ3VyZS5pbWFnZS5zdGF0aWMuY3JvcC1pbWFnZSBmaWdjYXB0aW9uIHtcbiAgYm90dG9tOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cbkBzdXBwb3J0cyBub3QgKGFzcGVjdC1yYXRpbzogMTYvOSkge1xuICBmaWd1cmUuaW1hZ2Uuc3RhdGljLmNyb3AtaW1hZ2Uge1xuICAgIGFzcGVjdC1yYXRpbzogaW5pdGlhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygxMDAlIC8gKHZhcigtLWFzcGVjdC1yYXRpbykpKTtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cbiAgZmlndXJlLmltYWdlLnN0YXRpYy5jcm9wLWltYWdlID4gKiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG59XG5maWd1cmUuaW1hZ2Uuc3RhdGljLmNyb3AtaW1hZ2UgaW1nIHtcbiAgLS1pbWFnZS1oZWlnaHQtc2l6ZTogMTAwJTtcbn1cblxuLmltYWdlLmxvYWQtaW4tdmlldyBpbWcge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpO1xufVxuLmltYWdlLmxvYWQtaW4tdmlldyBpbWc6bm90KFtzcmNdKSB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbmltYWdlcy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1nYXA6IHZhcigtLWd1dHRlcjApO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heChjYWxjKHZhcigtLW1haW4tbWF4LXdpZHRoKSAvICh2YXIoLS1pbWFnZXMtcGVyLXJvdykgKyAxKSksIDFmcikpO1xufVxuaW1hZ2VzLWNvbnRhaW5lci5jcm9wLWltYWdlcyAuaW1hZ2Uge1xuICAtLWFzcGVjdC1yYXRpbzogNC8zO1xuICBhc3BlY3QtcmF0aW86IHZhcigtLWFzcGVjdC1yYXRpbyk7XG4gIC0tYXNwZWN0LXJhdGlvOiBpbmhlcml0O1xufVxuQHN1cHBvcnRzIG5vdCAoYXNwZWN0LXJhdGlvOiA0LzMpIHtcbiAgaW1hZ2VzLWNvbnRhaW5lci5jcm9wLWltYWdlcyAuaW1hZ2Uge1xuICAgIGFzcGVjdC1yYXRpbzogaW5pdGlhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygxMDAlIC8gKHZhcigtLWFzcGVjdC1yYXRpbykpKTtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cbiAgaW1hZ2VzLWNvbnRhaW5lci5jcm9wLWltYWdlcyAuaW1hZ2UgPiAqIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbn1cbmltYWdlcy1jb250YWluZXIuY3JvcC1pbWFnZXMgLmltYWdlIGltZyB7XG4gIC0taW1hZ2UtaGVpZ2h0LXNpemU6IDEwMCU7XG59XG5Ac3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86IDEvMSkge1xuICBpbWFnZXMtY29udGFpbmVyLmNyb3AtaW1hZ2VzIC5pbWFnZSBpbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxufVxuaW1hZ2VzLWNvbnRhaW5lci5jcm9wLWltYWdlcyAuaW1hZ2UgZmlnY2FwdGlvbiB7XG4gIGJvdHRvbTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG5cbnRhYmJlZC1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7XG59XG50YWJiZWQtY29udGVudCA+IG5hdiBidXR0b24ge1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbn1cbnRhYmJlZC1jb250ZW50ID4gbmF2IGJ1dHRvblthcmlhLXNlbGVjdGVkPXRydWVdIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG50YWJiZWQtY29udGVudCA+IG5hdiBidXR0b24gc3ZnIHtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbn1cbnRhYmJlZC1jb250ZW50IHN1bW1hcnkge1xuICBkaXNwbGF5OiBub25lO1xuICAtLWZvbnQtY29sb3VyOiB3aGl0ZTtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91cjogdmFyKC0tcHJpbWFyeSwgIzEzMWY2Yik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtY29sb3VyKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1nYXApO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwKTtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1ndXR0ZXIxKTtcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tZ3V0dGVyMSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMsIDZweCk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICksIGJvcmRlci1yYWRpdXMgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbnRhYmJlZC1jb250ZW50IHN1bW1hcnk6Om1hcmtlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG50YWJiZWQtY29udGVudCBzdW1tYXJ5LCB0YWJiZWQtY29udGVudCBzdW1tYXJ5IC5oZWFkaW5nIHtcbiAgY29sb3I6IHZhcigtLWZvbnQtY29sb3VyKTtcbiAgZm9udC1mYW1pbHk6IGxhdG8sIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgZm9udC1zaXplOiAxLjA2MjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cbnRhYmJlZC1jb250ZW50IHN1bW1hcnkgLmhlYWRpbmcge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxudGFiYmVkLWNvbnRlbnQgc3VtbWFyeSBzdmcge1xuICBoZWlnaHQ6IDhweDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiB2YXIoLS1ndXR0ZXIxKTtcbiAgdG9wOiBjYWxjKDUwJSAtIDRweCk7XG59XG50YWJiZWQtY29udGVudCBzdW1tYXJ5OmhvdmVyLCB0YWJiZWQtY29udGVudCBkZXRhaWxzW29wZW5dIHN1bW1hcnk6aG92ZXIge1xuICAtLWJhY2tncm91bmQtY29sb3VyOiMxYzJkOWM7XG59XG50YWJiZWQtY29udGVudCAudGFiLWNvbnRlbnQge1xuICBncmlkLWdhcDogdmFyKC0tc3BhY2VyMCkgMDtcbiAgb3V0bGluZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBncmlkLWF1dG8tcm93czogbWluLWNvbnRlbnQ7XG59XG50YWJiZWQtY29udGVudCAudGFiLWNvbnRlbnQ6bm90KFtoaWRkZW5dKSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG59XG50YWJiZWQtY29udGVudCAudGFiLWNvbnRlbnQgLmhlYWRpbmctaDQge1xuICBmb250LXNpemU6IDEuNTYyNWVtO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogI2RmMzAzNTtcbn1cbnRhYmJlZC1jb250ZW50IC50YWItY29udGVudCAuaGVhZGluZy1oNSB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG50YWJiZWQtY29udGVudCAudGFiLWNvbnRlbnQgLnRhYmxlLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxudGFiYmVkLWNvbnRlbnQgLnRhYi1jb250ZW50IC50YWJsZS1jb250YWluZXIuaGFsdmVzIHtcbiAgbWF4LXdpZHRoOiA0MCU7XG4gIG1hcmdpbjogMCA1JSAwIDA7XG59XG50YWJiZWQtY29udGVudCAudGFiLWNvbnRlbnQgLnRhYmxlLWNvbnRhaW5lci5oYWx2ZXM6bnRoLW9mLXR5cGUoMm4pIHtcbiAgbWFyZ2luOiAwIDAgMCA1JTtcbn1cbnRhYmJlZC1jb250ZW50IC50YWItY29udGVudCAudGFibGUtY29udGFpbmVyLnRoaXJkcyB7XG4gIG1heC13aWR0aDogMzAlO1xufVxudGFiYmVkLWNvbnRlbnQgLnRhYi1jb250ZW50IC50YWJsZS1jb250YWluZXIudGhpcmRzOm50aC1vZi10eXBlKDNuIC0gMSkge1xuICBtYXJnaW46IDAgNSU7XG59XG50YWJiZWQtY29udGVudCB0YWJsZS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbn1cbnRhYmJlZC1jb250ZW50Om5vdChbZGF0YS1zdHlsZT1cIjNcIl0pLmluLXZpZXcgPiBuYXYgYnV0dG9uW2FyaWEtc2VsZWN0ZWQ9dHJ1ZV0ge1xuICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LCAjZGYzMDM1KTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5ODBweCkgYW5kIChtYXgtd2lkdGg6IDEzMDBweCksIChtYXgtd2lkdGg6IDcwMHB4KSB7XG4gIHRhYmJlZC1jb250ZW50Om5vdCgubWFya2V0cykuYWxsb3ctYnJlYWtwb2ludC1yZXN0eWxpbmcge1xuICAgIGdyaWQtZ2FwOiB2YXIoLS1nYXApICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgfVxuICB0YWJiZWQtY29udGVudDpub3QoLm1hcmtldHMpLmFsbG93LWJyZWFrcG9pbnQtcmVzdHlsaW5nID4gbmF2IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGFiYmVkLWNvbnRlbnQ6bm90KC5tYXJrZXRzKS5hbGxvdy1icmVha3BvaW50LXJlc3R5bGluZyBkZXRhaWxzIHtcbiAgICBncmlkLWNvbHVtbjogMS8tMTtcbiAgfVxuICB0YWJiZWQtY29udGVudDpub3QoLm1hcmtldHMpLmFsbG93LWJyZWFrcG9pbnQtcmVzdHlsaW5nIGRldGFpbHNbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgdGFiYmVkLWNvbnRlbnQ6bm90KC5tYXJrZXRzKS5hbGxvdy1icmVha3BvaW50LXJlc3R5bGluZyBkZXRhaWxzIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgdGFiYmVkLWNvbnRlbnQ6bm90KC5tYXJrZXRzKS5hbGxvdy1icmVha3BvaW50LXJlc3R5bGluZyBkZXRhaWxzIC50YWItY29udGVudCB7XG4gICAgcGFkZGluZzogdmFyKC0tc3BhY2VyMCkgdmFyKC0tZ3V0dGVyMSkgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RjZGNkYztcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RjZGNkYztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMsIDZweCk7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMsIDZweCk7XG4gIH1cbiAgdGFiYmVkLWNvbnRlbnQ6bm90KC5tYXJrZXRzKS5hbGxvdy1icmVha3BvaW50LXJlc3R5bGluZyBkZXRhaWxzIC50YWItY29udGVudCA+ICoge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0YWJiZWQtY29udGVudDpub3QoLm1hcmtldHMpLmFsbG93LWJyZWFrcG9pbnQtcmVzdHlsaW5nIGRldGFpbHMgLnRhYi1jb250ZW50IGZpZ3VyZS5pbWFnZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICB0YWJiZWQtY29udGVudDpub3QoLm1hcmtldHMpLmFsbG93LWJyZWFrcG9pbnQtcmVzdHlsaW5nIGRldGFpbHNbb3Blbl0gc3VtbWFyeSB7XG4gICAgLS1iYWNrZ3JvdW5kLWNvbG91cjojMGYxOTU2O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIH1cbiAgdGFiYmVkLWNvbnRlbnQ6bm90KC5tYXJrZXRzKS5hbGxvdy1icmVha3BvaW50LXJlc3R5bGluZyBkZXRhaWxzW29wZW5dIHN1bW1hcnkgc3ZnIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB9XG4gIHRhYmJlZC1jb250ZW50Om5vdCgubWFya2V0cykuYWxsb3ctYnJlYWtwb2ludC1yZXN0eWxpbmcgZGV0YWlsc1tvcGVuXSAudGFiLWNvbnRlbnQgPiAqIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG50YWJiZWQtY29udGVudFtkYXRhLXN0eWxlPVwiNFwiXS5hbGxvdy1icmVha3BvaW50LXJlc3R5bGluZyB7XG4gIGdyaWQtZ2FwOiB2YXIoLS1nYXApICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGdyaWQ7XG59XG50YWJiZWQtY29udGVudFtkYXRhLXN0eWxlPVwiNFwiXS5hbGxvdy1icmVha3BvaW50LXJlc3R5bGluZyA+IG5hdiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbnRhYmJlZC1jb250ZW50W2RhdGEtc3R5bGU9XCI0XCJdLmFsbG93LWJyZWFrcG9pbnQtcmVzdHlsaW5nIGRldGFpbHMge1xuICBncmlkLWNvbHVtbjogMS8tMTtcbn1cbnRhYmJlZC1jb250ZW50W2RhdGEtc3R5bGU9XCI0XCJdLmFsbG93LWJyZWFrcG9pbnQtcmVzdHlsaW5nIGRldGFpbHNbaGlkZGVuXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxudGFiYmVkLWNvbnRlbnRbZGF0YS1zdHlsZT1cIjRcIl0uYWxsb3ctYnJlYWtwb2ludC1yZXN0eWxpbmcgZGV0YWlscyBzdW1tYXJ5IHtcbiAgZGlzcGxheTogZmxleDtcbn1cbnRhYmJlZC1jb250ZW50W2RhdGEtc3R5bGU9XCI0XCJdLmFsbG93LWJyZWFrcG9pbnQtcmVzdHlsaW5nIGRldGFpbHMgLnRhYi1jb250ZW50IHtcbiAgcGFkZGluZzogdmFyKC0tc3BhY2VyMCkgdmFyKC0tZ3V0dGVyMSkgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RjZGNkYztcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RjZGNkYztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMsIDZweCk7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xufVxudGFiYmVkLWNvbnRlbnRbZGF0YS1zdHlsZT1cIjRcIl0uYWxsb3ctYnJlYWtwb2ludC1yZXN0eWxpbmcgZGV0YWlscyAudGFiLWNvbnRlbnQgPiAqIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKTtcbiAgb3BhY2l0eTogMDtcbn1cbnRhYmJlZC1jb250ZW50W2RhdGEtc3R5bGU9XCI0XCJdLmFsbG93LWJyZWFrcG9pbnQtcmVzdHlsaW5nIGRldGFpbHMgLnRhYi1jb250ZW50IGZpZ3VyZS5pbWFnZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG50YWJiZWQtY29udGVudFtkYXRhLXN0eWxlPVwiNFwiXS5hbGxvdy1icmVha3BvaW50LXJlc3R5bGluZyBkZXRhaWxzW29wZW5dIHN1bW1hcnkge1xuICAtLWJhY2tncm91bmQtY29sb3VyOiMwZjE5NTY7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxudGFiYmVkLWNvbnRlbnRbZGF0YS1zdHlsZT1cIjRcIl0uYWxsb3ctYnJlYWtwb2ludC1yZXN0eWxpbmcgZGV0YWlsc1tvcGVuXSBzdW1tYXJ5IHN2ZyB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG50YWJiZWQtY29udGVudFtkYXRhLXN0eWxlPVwiNFwiXS5hbGxvdy1icmVha3BvaW50LXJlc3R5bGluZyBkZXRhaWxzW29wZW5dIC50YWItY29udGVudCA+ICoge1xuICBvcGFjaXR5OiAxO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICB0YWJiZWQtY29udGVudC5tYXJrZXRzLmFsbG93LWJyZWFrcG9pbnQtcmVzdHlsaW5nIHtcbiAgICBncmlkLWdhcDogdmFyKC0tZ2FwKSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gIH1cbiAgdGFiYmVkLWNvbnRlbnQubWFya2V0cy5hbGxvdy1icmVha3BvaW50LXJlc3R5bGluZyA+IG5hdiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIHRhYmJlZC1jb250ZW50Lm1hcmtldHMuYWxsb3ctYnJlYWtwb2ludC1yZXN0eWxpbmcgZGV0YWlscyB7XG4gICAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gIH1cbiAgdGFiYmVkLWNvbnRlbnQubWFya2V0cy5hbGxvdy1icmVha3BvaW50LXJlc3R5bGluZyBkZXRhaWxzW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIHRhYmJlZC1jb250ZW50Lm1hcmtldHMuYWxsb3ctYnJlYWtwb2ludC1yZXN0eWxpbmcgZGV0YWlscyBzdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIHRhYmJlZC1jb250ZW50Lm1hcmtldHMuYWxsb3ctYnJlYWtwb2ludC1yZXN0eWxpbmcgZGV0YWlscyAudGFiLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlcjApIHZhcigtLWd1dHRlcjEpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGNkY2RjO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkY2RjZGM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xuICB9XG4gIHRhYmJlZC1jb250ZW50Lm1hcmtldHMuYWxsb3ctYnJlYWtwb2ludC1yZXN0eWxpbmcgZGV0YWlscyAudGFiLWNvbnRlbnQgPiAqIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdGFiYmVkLWNvbnRlbnQubWFya2V0cy5hbGxvdy1icmVha3BvaW50LXJlc3R5bGluZyBkZXRhaWxzIC50YWItY29udGVudCBmaWd1cmUuaW1hZ2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgdGFiYmVkLWNvbnRlbnQubWFya2V0cy5hbGxvdy1icmVha3BvaW50LXJlc3R5bGluZyBkZXRhaWxzW29wZW5dIHN1bW1hcnkge1xuICAgIC0tYmFja2dyb3VuZC1jb2xvdXI6IzBmMTk1NjtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICB9XG4gIHRhYmJlZC1jb250ZW50Lm1hcmtldHMuYWxsb3ctYnJlYWtwb2ludC1yZXN0eWxpbmcgZGV0YWlsc1tvcGVuXSBzdW1tYXJ5IHN2ZyB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgfVxuICB0YWJiZWQtY29udGVudC5tYXJrZXRzLmFsbG93LWJyZWFrcG9pbnQtcmVzdHlsaW5nIGRldGFpbHNbb3Blbl0gLnRhYi1jb250ZW50ID4gKiB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG50YWJiZWQtY29udGVudFtkYXRhLXN0eWxlPVwiMVwiXSB7XG4gIC0tc2lkZS1uYXYtd2lkdGg6IDIwMHB4O1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHZhcigtLXNpZGUtbmF2LXdpZHRoKSAxZnI7XG4gIGdyaWQtZ2FwOiB2YXIoLS1ndXR0ZXIxKTtcbn1cbnRhYmJlZC1jb250ZW50W2RhdGEtc3R5bGU9XCIxXCJdID4gbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgdG9wOiBjYWxjKHZhcigtLWJyZWFkY3J1bWItaGVpZ2h0KSArIHZhcigtLWFuY2hvcnMtaGVpZ2h0KSAtIHZhcigtLWd1dHRlcjEpKTtcbn1cbnRhYmJlZC1jb250ZW50W2RhdGEtc3R5bGU9XCIxXCJdID4gbmF2IGJ1dHRvbiB7XG4gIHBhZGRpbmc6IHZhcigtLWdhcCkgMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxudGFiYmVkLWNvbnRlbnRbZGF0YS1zdHlsZT1cIjFcIl0gPiBuYXYgYnV0dG9uIHN2ZyB7XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1nYXApO1xufVxudGFiYmVkLWNvbnRlbnRbZGF0YS1zdHlsZT1cIjFcIl0gPiBuYXYgYnV0dG9uICsgYnV0dG9uIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkY2RjZGM7XG59XG5cbnRhYmJlZC1jb250ZW50W2RhdGEtc3R5bGU9XCIyXCJdID4gbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG50YWJiZWQtY29udGVudFtkYXRhLXN0eWxlPVwiMlwiXSA+IG5hdiBidXR0b24ge1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLWdhcCkgKiAyKSB2YXIoLS1ndXR0ZXIyKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjO1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tZ2FwKSAqIDAuNSk7XG4gIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1nYXApICogMC41KTtcbiAgZm9udC1zaXplOiAwLjg3NWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6IHZhcigtLXByaW1hcnksICMxMzFmNmIpO1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKSwgYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uLCAwLjJzKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UsIGN1YmljLWJlemllcigwLjQyLCAwLCAwLjU4LCAxKSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgKSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxudGFiYmVkLWNvbnRlbnRbZGF0YS1zdHlsZT1cIjJcIl0gPiBuYXYgYnV0dG9uIHN2ZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICB0YWJiZWQtY29udGVudFtkYXRhLXN0eWxlPVwiMlwiXSA+IG5hdiBidXR0b246aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnksICNkZjMwMzUpO1xuICB9XG59XG50YWJiZWQtY29udGVudFtkYXRhLXN0eWxlPVwiMlwiXSA+IG5hdiBidXR0b25bYXJpYS1zZWxlY3RlZD10cnVlXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG50YWJiZWQtY29udGVudFtkYXRhLXN0eWxlPVwiMlwiXSAudGFiLWNvbnRlbnQge1xuICBwYWRkaW5nOiB2YXIoLS1zcGFjZXIxKSB2YXIoLS1ndXR0ZXIxKTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCNmNGY0ZjQsIHdoaXRlKTtcbn1cbnRhYmJlZC1jb250ZW50W2RhdGEtc3R5bGU9XCIyXCJdLmludmlldyBuYXYgYnV0dG9uW2FyaWEtc2VsZWN0ZWQ9dHJ1ZV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LCAjZGYzMDM1KTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICB0YWJiZWQtY29udGVudFtkYXRhLXN0eWxlPVwiMlwiXTpub3QoLmFsbG93LWJyZWFrcG9pbnQtcmVzdHlsaW5nKVtkYXRhLWNvdW50PVwiMlwiXSBbcm9sZT10YWJdIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmc6IHZhcigtLWdhcCk7XG4gIH1cbn1cblxudGFiYmVkLWNvbnRlbnRbZGF0YS1zdHlsZT1cIjNcIl0gPiBuYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwKTtcbiAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNkYztcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxudGFiYmVkLWNvbnRlbnRbZGF0YS1zdHlsZT1cIjNcIl0gPiBuYXYgYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDAuODc1ZW07XG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gIHotaW5kZXg6IDE7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApLCBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xuICBwYWRkaW5nOiB2YXIoLS1nYXApIHZhcigtLWd1dHRlcjEpO1xufVxudGFiYmVkLWNvbnRlbnRbZGF0YS1zdHlsZT1cIjNcIl0gPiBuYXYgYnV0dG9uIHN2ZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG50YWJiZWQtY29udGVudFtkYXRhLXN0eWxlPVwiM1wiXSA+IG5hdiBidXR0b25bYXJpYS1zZWxlY3RlZD10cnVlXSB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gIHRhYmJlZC1jb250ZW50W2RhdGEtc3R5bGU9XCIzXCJdID4gbmF2IGJ1dHRvbjpub3QoW2FyaWEtc2VsZWN0ZWQ9dHJ1ZV0pOmhvdmVyIHtcbiAgICBjb2xvcjogI2RmMzAzNTtcbiAgfVxufVxudGFiYmVkLWNvbnRlbnRbZGF0YS1zdHlsZT1cIjNcIl0gPiBuYXY6bm90KC5oYXMtbWFya2VyKSBidXR0b25bYXJpYS1zZWxlY3RlZD10cnVlXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMzFmNmI7XG59XG50YWJiZWQtY29udGVudFtkYXRhLXN0eWxlPVwiM1wiXSA+IG5hdiBtYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci1yYWRpdXM6IGluaXRpYWw7XG4gIHBhZGRpbmc6IGluaXRpYWw7XG4gIHRyYW5zaXRpb246IGluaXRpYWw7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMzFmNmI7XG4gIHdpZHRoOiA1MCU7XG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxudGFiYmVkLWNvbnRlbnRbZGF0YS1zdHlsZT1cIjNcIl0gPiBuYXYgbWFyay5hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xufVxudGFiYmVkLWNvbnRlbnRbZGF0YS1zdHlsZT1cIjNcIl0gLnRhYi1jb250ZW50IHtcbiAgcGFkZGluZzogdmFyKC0tZ3V0dGVyMSkgMDtcbn1cblxuLmV4cGVydHMtaW4teW91ci1idXNpbmVzcyB7XG4gIC0tc2Vjb25kYXJ5OiAjZGYzMDM1O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5zaWRlLWJhciAuZXhwZXJ0cy1pbi15b3VyLWJ1c2luZXNzIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgb3JkZXI6IDk5OTtcbn1cbnNpZGUtYmFyIC5leHBlcnRzLWluLXlvdXItYnVzaW5lc3MgLmNvbnRhaW5lci1pbmxpbmUge1xuICBwYWRkaW5nOiB2YXIoLS1ndXR0ZXIyKSAhaW1wb3J0YW50O1xufVxuc2lkZS1iYXIgLmV4cGVydHMtaW4teW91ci1idXNpbmVzcyAuY29udGFpbmVyLWlubGluZSA+IC50ZXh0IHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG5cbi5leHBlcnRzLWluLXlvdXItYnVzaW5lc3MudGhlbWVkIC5jb250YWluZXItaW5saW5lIHtcbiAgcGFkZGluZzogdmFyKC0tZ3V0dGVyMSkgdmFyKC0tZ3V0dGVyMSkgdmFyKC0tZ3V0dGVyMSkgdmFyKC0tZ3V0dGVyMik7XG59XG4uZXhwZXJ0cy1pbi15b3VyLWJ1c2luZXNzIC50ZXh0IHtcbiAgcGFkZGluZy1ibG9jay1zdGFydDogdmFyKC0tZ3V0dGVyMSk7XG59XG4uZXhwZXJ0cy1pbi15b3VyLWJ1c2luZXNzIC50ZXh0IHVsID4gbGk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNFJTNDY2lyY2xlIGZpbGw9JyUyM0RGMzAzNScgY3g9JzgnIGN5PSc4JyByPSc4Jy8lM0UlM0NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nd2hpdGUnIHN0cm9rZS13aWR0aD0nMS40JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTMuNSA4LjRsMi43IDIuNyA2LjMtNi4zJy8lM0UlM0Mvc3ZnJTNFXCIpICFpbXBvcnRhbnQ7XG59XG4uZXhwZXJ0cy1pbi15b3VyLWJ1c2luZXNzIC50ZXh0ID4gaDIge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1ndXR0ZXIxKTtcbn1cbi5leHBlcnRzLWluLXlvdXItYnVzaW5lc3MgYnV0dG9uLWNvbnRhaW5lciB7XG4gIGdhcDogdmFyKC0tZ2FwKTtcbn1cbi5leHBlcnRzLWluLXlvdXItYnVzaW5lc3MgYnV0dG9uLWNvbnRhaW5lciAuYnV0dG9uIHtcbiAgbWFyZ2luOiAwO1xufVxuLmV4cGVydHMtaW4teW91ci1idXNpbmVzcyBmaWd1cmUuaW1hZ2Uuc3RhdGljIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGdyaWQtY29sdW1uOiAyO1xuICBncmlkLXJvdzogMS9zcGFuIDI7XG4gIG1heC13aWR0aDogMjYwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGFsaWduLXNlbGY6IGVuZDtcbiAganVzdGlmeS1zZWxmOiBmbGV4LWVuZDtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ3V0dGVyMi0pO1xufVxuLmV4cGVydHMtaW4teW91ci1idXNpbmVzcyAuY29udGFpbmVyLWlubGluZSB7XG4gIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1ndXR0ZXIxKTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xufVxuLmV4cGVydHMtaW4teW91ci1idXNpbmVzcyAuY29udGFpbmVyLWlubGluZSA+ICo6bm90KGZpZ3VyZSkge1xuICBncmlkLWNvbHVtbjogMTtcbn1cbkBjb250YWluZXIgKHdpZHRoIDwgNTAwcHgpIHtcbiAgLmV4cGVydHMtaW4teW91ci1idXNpbmVzcyAuY29udGFpbmVyLWlubGluZSBmaWd1cmUuaW1hZ2Uuc3RhdGljIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3BhY2l0eTogMC4xO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIE5vcm1hbGlzZXJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLy8gbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZVxuLy8vIEBhdXRob3IgQXV0aG9ycyBuYW1lXG4vLy8gQHNlZSBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xuXG4kbm9ybWFsaXNlICAgICAgICAgOiB0cnVlICFkZWZhdWx0O1xuJGJhc2UtZWxlbWVudHMgICAgIDogdHJ1ZSAhZGVmYXVsdDtcbiRzZWN0aW9uLWVsZW1lbnRzICA6IHRydWUgIWRlZmF1bHQ7XG4kaGVhZGVyLWVsZW1lbnRzICAgOiB0cnVlICFkZWZhdWx0O1xuJGdyb3VwaW5nLWVsZW1lbnRzIDogdHJ1ZSAhZGVmYXVsdDtcbiR0YWJsZS1lbGVtZW50cyAgICA6IHRydWUgIWRlZmF1bHQ7XG4kZm9ybS1lbGVtZW50cyAgICAgOiB0cnVlICFkZWZhdWx0O1xuJGVtYmVkZGVkLWVsZW1lbnRzIDogdHJ1ZSAhZGVmYXVsdDtcbiR0ZXh0LWVsZW1lbnRzICAgICA6IHRydWUgIWRlZmF1bHQ7XG4kZGV2LWVsZW1lbnRzICAgICAgOiB0cnVlICFkZWZhdWx0O1xuXG5AaWYgJG5vcm1hbGlzZSB7XG5cblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXG5cdC8vIEJhc2UgRWxlbWVudHNcblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXG5cblx0QGlmICRiYXNlLWVsZW1lbnRzIHtcblxuXHRcdGh0bWwsIGJvZHksIGRpdiwgc3BhbiwgYXBwbGV0LCBvYmplY3QsIGlmcmFtZSwgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCxcblx0XHRibG9ja3F1b3RlLCBwcmUsIGEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSwgZGVsLCBkZm4sIGVtLFxuXHRcdGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsIHNtYWxsLCBzdHJpa2UsIHN0cm9uZywgc3ViLCBzdXAsIHR0LCB2YXIsIGIsIHUsIGksXG5cdFx0Y2VudGVyLCBkbCwgZHQsIGRkLCBvbCwgdWwsIGxpLCBmaWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCwgdGFibGUsXG5cdFx0Y2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCwgYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscyxcblx0XHRlbWJlZCwgZmlndXJlLCBmaWdjYXB0aW9uLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIG91dHB1dCwgcnVieSxcblx0XHRzZWN0aW9uLCBzdW1tYXJ5LCB0aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdGJvcmRlcjogMDtcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblx0XHR9XG5cblx0XHQ6cm9vdCB7XG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuXHRcdH1cblxuXHRcdCosICo6YWZ0ZXIsICo6YmVmb3JlIHtcblx0XHRcdCY6Zm9jdXMgeyBvdXRsaW5lOjA7IH07XG5cdFx0XHRib3gtc2l6aW5nOmluaGVyaXQ7XG5cdFx0fVxuXG5cdFx0aHRtbCB7IFxuXHRcdFx0aGVpZ2h0OjEwMCU7IFxuXHRcdFx0Zm9udC1zaXplOjYyLjUlOyBcblx0XHRcdGJsb2NrLXNpemU6IDEwMCU7XG5cdFx0XHRpbmxpbmUtc2l6ZTogMTAwJTtcblx0XHR9XG5cblx0XHRib2R5IHsgXG5cdFx0XHRtaW4tYmxvY2stc2l6ZTogMTAwJTtcblx0XHRcdG1pbi1pbmxpbmUtc2l6ZTogMTAwJTtcblx0XHR9XG5cblx0XHRodG1sLCBib2R5IHtcblx0XHRcdG1pbi1oZWlnaHQ6MTAwJTtcblx0XHR9XG5cblx0XHRwLCBwcmUsIGJsb2NrcXVvdGUsIG9sLCB1bCwgbGksIGxlZ2VuZCwgZmlnY2FwdGlvbiwgYm9keSwgYXJ0aWNsZSwgbmF2LCBhc2lkZSwgc2VjdGlvbiwgaGVhZGVyLCBmb290ZXIsIGFkZHJlc3Mge1xuXHRcdFx0JjplbXB0eSB7IGRpc3BsYXk6bm9uZTsgfVxuXHRcdH1cblxuXHRcdGFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBtYWluLCBtZW51LCBuYXYsIHNlY3Rpb24sIHN1bW1hcnkge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXG5cdFx0c3ZnLCBzeW1ib2wgeyBvdmVyZmxvdzp2aXNpYmxlOyB9XG5cblx0XHRkZXRhaWxzIHsgZGlzcGxheTogYmxvY2s7XHR9XG5cblx0XHRzdW1tYXJ5IHtcblx0XHRcdGRpc3BsYXk6IGxpc3QtaXRlbTtcblx0XHRcdC13ZWJraXQtYXBwZWFyYW5jZTpub25lO1xuXHRcdFx0Jjo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciwgJjo6bWFya2VyIHsgZGlzcGxheTpub25lOyB9XG5cdFx0fVxuXG5cdFx0dGVtcGxhdGUgeyBkaXNwbGF5OiBub25lO1x0fVxuXG5cdFx0W2hpZGRlbl0geyBkaXNwbGF5OiBub25lOyB9XG5cblx0fVxuXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXHQvLyBTZWN0aW9uIEVsZW1lbnRzXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXG5cdEBpZiAkc2VjdGlvbi1lbGVtZW50cyB7XG5cblx0XHRib2R5IHtcblx0XHRcdHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG5cdFx0XHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0fVxuXG5cdFx0YWRkcmVzcyB7XG5cdFx0XHRmb250LXN0eWxlOm5vcm1hbDtcblx0XHR9XG5cblx0fVxuXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXHQvLyBIZWFkZXIgRWxlbWVudHNcblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXG5cblx0QGlmICRoZWFkZXItZWxlbWVudHMge1xuXG5cdFx0aDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG5cdFx0XHQtd2Via2l0LW1hcmdpbi1iZWZvcmU6MGVtO1xuXHRcdFx0LXdlYmtpdC1tYXJnaW4tYWZ0ZXI6MGVtO1xuXHRcdFx0LXdlYmtpdC1tYXJnaW4tc3RhcnQ6MHB4O1xuXHRcdFx0LXdlYmtpdC1tYXJnaW4tZW5kOjBweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdFx0fVxuXG5cdH1cblxuXHQvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLy9cblx0Ly8gR3JvdXBpbmcgRWxlbWVudHNcblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXG5cblx0QGlmICRncm91cGluZy1lbGVtZW50cyB7XG5cblx0XHRociB7XG5cdFx0XHRib3JkZXI6bm9uZTtcblx0XHRcdGhlaWdodDoxcHg7XG5cdFx0XHRib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblx0XHRcdG92ZXJmbG93OiB2aXNpYmxlO1xuXHRcdH1cblxuXHRcdGJsb2NrcXVvdGUsIHEge1xuXHRcdFx0cXVvdGVzOiBub25lO1xuXHRcdFx0JjpiZWZvcmUsICY6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0Y29udGVudDogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRwcmUge1xuXHRcdFx0Zm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuXHRcdFx0Zm9udC1zaXplOiAxZW07XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblx0XHRcdGNvbG9yOiBibGFjaztcblx0XHRcdHBhZGRpbmc6MTZweDtcblx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdFx0ei1pbmRleDo5OTk5O1xuXHRcdH1cblxuXHR9XG5cblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXG5cdC8vIFRhYmxlIEVsZW1lbnRzXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXG5cdEBpZiAkdGFibGUtZWxlbWVudHMge1xuXG5cdFx0dGFibGUge1xuXHRcdFx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0XHRcdGJvcmRlci1zcGFjaW5nOiAwO1xuXHRcdH1cblxuXHR9XG5cblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXG5cdC8vIEZvcm0gRWxlbWVudHNcblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXG5cblx0QGlmICRmb3JtLWVsZW1lbnRzIHtcblxuXHRcdGJ1dHRvbiB7XG5cdFx0XHR0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcblx0XHR9XG5cblx0XHRidXR0b24sXHRpbnB1dCwgb3B0Z3JvdXAsXHRzZWxlY3QsXHR0ZXh0YXJlYSB7XG5cdFx0XHRmb250LWZhbWlseTogaW5oZXJpdDtcblx0XHRcdGZvbnQtc2l6ZTogMTAwJTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjE1O1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblxuXHRcdGJ1dHRvbixcdGlucHV0IHtcblx0XHRcdG92ZXJmbG93OiB2aXNpYmxlO1xuXHRcdH1cblxuXHRcdGJ1dHRvbixcdHNlbGVjdCB7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0XHR9XG5cblx0XHRidXR0b24sXG5cdFx0W3R5cGU9XCJidXR0b25cIl0sXG5cdFx0W3R5cGU9XCJyZXNldFwiXSxcblx0XHRbdHlwZT1cInN1Ym1pdFwiXSB7XG5cdFx0XHQtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcblx0XHRcdGJhY2tncm91bmQ6bm9uZTtcblx0XHRcdGJvcmRlcjpub25lO1xuXHRcdFx0cGFkZGluZzowO1xuXHRcdFx0bWFyZ2luOjA7XG5cdFx0XHRjdXJzb3I6cG9pbnRlcjtcblx0XHRcdCY6Zm9jdXMgeyBvdXRsaW5lOjA7IH1cblx0XHR9XG5cblx0XHRidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5cdFx0W3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5cdFx0W3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblx0XHRbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG5cdFx0XHRib3JkZXItc3R5bGU6IG5vbmU7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdH1cblxuXHRcdGJ1dHRvbjotbW96LWZvY3VzcmluZyxcblx0XHRbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblx0XHRbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuXHRcdFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcblx0XHRcdG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcblx0XHR9XG5cblx0XHRmaWVsZHNldCB7XG5cdFx0XHRwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG5cdFx0fVxuXG5cdFx0bGVnZW5kIHtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHRcdGRpc3BsYXk6IHRhYmxlO1xuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cdFx0fVxuXG5cdFx0cHJvZ3Jlc3Mge1xuXHRcdFx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXHRcdH1cblxuXHRcdFt0eXBlPVwiY2hlY2tib3hcIl0sXG5cdFx0W3R5cGU9XCJyYWRpb1wiXSB7XG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHR9XG5cblx0XHRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblx0XHRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG5cdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0fVxuXG5cdFx0W3R5cGU9XCJzZWFyY2hcIl0ge1xuXHRcdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG5cdFx0XHRvdXRsaW5lLW9mZnNldDogLTJweDtcblx0XHR9XG5cblx0XHRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG5cdFx0XHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cdFx0fVxuXHRcdDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuXHRcdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG5cdFx0XHRmb250OiBpbmhlcml0O1xuXHRcdH1cblxuXHRcdFtkaXNhYmxlZF0ge1xuXHRcdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHRcdH1cblxuXHR9XG5cblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXG5cdC8vIEVtYmVkZGVkIEVsZW1lbnRzXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXG5cdEBpZiAkZW1iZWRkZWQtZWxlbWVudHMge1xuXG5cdFx0aW1nIHtcblx0XHRcdGJvcmRlci1zdHlsZTogbm9uZTtcblx0XHR9XG5cblx0fVxuXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXHQvLyBUZXh0IEVsZW1lbnRzXG5cdC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAvL1xuXG5cdEBpZiAkdGV4dC1lbGVtZW50cyB7XG5cblx0XHRlbSB7XG5cdFx0XHRmb250LXN0eWxlOml0YWxpYztcblx0XHR9XG5cblx0XHRhIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246bm9uZTtcblx0XHRcdHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXHRcdH1cblxuXHRcdGFiYnJbdGl0bGVdIHtcblx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcblx0XHR9XG5cblx0XHRiLCBzdHJvbmcge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0fVxuXG5cdFx0Y29kZSxcdGtiZCwgc2FtcCB7XG5cdFx0XHRmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG5cdFx0XHRmb250LXNpemU6IDFlbTtcblx0XHR9XG5cblx0XHRzbWFsbCB7XG5cdFx0XHRmb250LXNpemU6IDgwJTtcblx0XHR9XG5cblx0XHRzdWIsIHN1cCB7XG5cdFx0XHRmb250LXNpemU6IDc1JTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAwO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXHRcdH1cblxuXHRcdHN1YiB7XG5cdFx0XHRib3R0b206IC0wLjI1ZW07XG5cdFx0fVxuXG5cdFx0c3VwIHtcblx0XHRcdHRvcDogLTAuNWVtO1xuXHRcdH1cblxuXHRcdHRleHRhcmVhIHtcblx0XHRcdHJlc2l6ZTpub25lO1xuXHRcdFx0b3ZlcmZsb3c6IGF1dG87XG5cdFx0fVxuXG5cdH1cblxuXHQvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLy9cblx0Ly8gRGV2ZWxvcG1lbnQgRWxlbWVudHNcblx0Ly8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC8vXG5cblx0QGlmICRkZXYtZWxlbWVudHMge1xuXG5cdFx0cHJlIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6d2hpdGU7XG5cdFx0XHRjb2xvcjpibGFjaztcblx0XHRcdHRleHQtdHJhbnNmb3JtOm5vbmU7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246bm9uZTtcblx0XHRcdHRleHQtYWxpZ246bGVmdDtcblx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRmb250LXNpemU6MTZweDtcblx0XHRcdHBhZGRpbmc6MTZweDtcblx0XHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdFx0ei1pbmRleDo5OTk7XG5cdFx0fVxuXHRcdFxuXHRcdGJvZHkuZGV2bW9kZSB7XG5cdFx0XHRpbWc6bm90KFthbHRdKSB7XG5cdFx0XHRcdGJvcmRlcjogMnB4IHJlZCBkYXNoZWQ7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBHbG9iYWwgU3R5bGluZ1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSAnX21vZHVsZXMnIGFzICo7XG5cbmJvZHkge1xuICB3aWR0aDogMTAwdnc7XG4gIEBpbmNsdWRlIGJyZWFrLW91dChtaW4pIHtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIH1cbn1cblxuOndoZXJlKCopIHtcbiAgc2Nyb2xsLW1hcmdpbi10b3A6IHZhcigtLW5hdmlnYXRpb24taGVpZ2h0LCAycmVtKTtcbn1cblxuLmFzeW5jLWhpZGUge1xuICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG59XG5cbm1haW46ZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5maWd1cmUuaW1hZ2UsXG5waWN0dXJlLmltYWdlIHtcbiAgQGluY2x1ZGUgaW1hZ2Utc3Jjc2V0KCk7XG59XG5cbnZpZGVvLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIHZpZGVvLWNvbnRhaW5lcigpO1xufVxuXG4qOmhhcyg+IC5jb250YWluZXItaW5saW5lKSB7XG4gIGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTtcbn1cblxubWFyayB7XG4gIEBpbmNsdWRlIG1hcmsoKTtcbn1cblxuZGV0YWlscyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5zdW1tYXJ5IHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAmOjotd2Via2l0LWRldGFpbHMtbWFya2VyLFxuICAmOjptYXJrZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuaGVhZGVyIC5idXR0b24ge1xuICAmLmJyb2NodXJlIHtcbiAgICBAaW5jbHVkZSBidXR0b24tYnJvY2h1cmUoKTtcbiAgfVxufVxuXG4uYnV0dG9uIHtcbiAgQGluY2x1ZGUgYnV0dG9uKCk7XG4gICYucmVkIHN2ZyB7XG4gICAgJi50aWNrLFxuICAgICYuZG93bmxvYWQge1xuICAgICAgLS1zdHJva2U6ICN7JHJlZH07XG4gICAgfVxuICB9XG4gICYuYmx1ZSBzdmcge1xuICAgICYudGljayxcbiAgICAmLmRvd25sb2FkIHtcbiAgICAgIC0tc3Ryb2tlOiAjeyRibHVlfTtcbiAgICB9XG4gIH1cbiAgJi5vdXRsaW5lIHN2ZyB7XG4gICAgJi50aWNrLFxuICAgICYuZG93bmxvYWQge1xuICAgICAgLS1zdHJva2U6ICN7JHdoaXRlfTtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgICYucmVkIHtcbiAgICAgIHN2Zy50aWNrLFxuICAgICAgc3ZnLmRvd25sb2FkIHtcbiAgICAgICAgLS1zdHJva2U6ICN7JHdoaXRlfTtcbiAgICAgIH1cbiAgICAgICYub3V0bGluZSBzdmcge1xuICAgICAgICAmLnRpY2ssXG4gICAgICAgICYuZG93bmxvYWQge1xuICAgICAgICAgIC0tc3Ryb2tlOiAjeyRyZWR9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuYmx1ZSB7XG4gICAgICBzdmcudGljayxcbiAgICAgIHN2Zy5kb3dubG9hZCB7XG4gICAgICAgIC0tc3Ryb2tlOiAjeyR3aGl0ZX07XG4gICAgICB9XG4gICAgICAmLm91dGxpbmUgc3ZnIHtcbiAgICAgICAgJi50aWNrLFxuICAgICAgICAmLmRvd25sb2FkIHtcbiAgICAgICAgICAtLXN0cm9rZTogI3skYmx1ZX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi53aGl0ZSBzdmcge1xuICAgICAgJi50aWNrLFxuICAgICAgJi5kb3dubG9hZCB7XG4gICAgICAgIC0tc3Ryb2tlOiAjeyRibHVlfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuYnV0dG9uLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1jb250YWluZXIoKTtcbn1cblxuLnN0aWNreSB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMHB4O1xufVxuXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gICY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4gICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuICAmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG59XG5cbiNob2xkaW5nLXBhZ2Uge1xuICBoZWFkZXIgc3ZnIHtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrLWluKCdzbWFsbC1tZWRpdW0nKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6ICRndXR0ZXI7XG4gIH1cbn1cblxuYm9keSNlcnJvci00MDQge1xuICBoZWFkZXIgaDIge1xuICAgIG1heC13aWR0aDogOTAwcHg7XG4gIH1cbiAgc2VhcmNoLWJhciB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjA7XG4gICAgaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGJsdWU7XG4gICAgfVxuICB9XG59XG5cbmJvZHkgPiAuaWRsZS1kaWFsb2cge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICBib3gtc2hhZG93OiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm90dG9tOiAkZ3V0dGVyLTtcbiAgei1pbmRleDogMjtcblxuICAvKiBTdGFydCBoaWRkZW4gYmVsb3cgdmlld3BvcnQgKi9cbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAvKiBBbmltYXRpb24gd2l0aCBkZWxheWVkIHN0YXJ0ICovXG4gIGFuaW1hdGlvbjogc2xpZGUtaW4taWRsZS1kaWFsb2cgYm90aDtcbiAgYW5pbWF0aW9uLXRpbWVsaW5lOiBzY3JvbGwoKTtcbiAgYW5pbWF0aW9uLXJhbmdlOiBjYWxjKHZhcigtLW5hdmlnYXRpb24taGVpZ2h0LCAwcHgpKSBjYWxjKHZhcigtLW5hdmlnYXRpb24taGVpZ2h0LCAwcHgpICsgY2FsYyhjbGFtcCgycmVtLCA1dmgsIDNyZW0pICogMikpO1xuXG4gIC5idXR0b24ge1xuICAgIG91dGxpbmU6IDFweCBzb2xpZCByZ2JhKHdoaXRlLCAwLjUpO1xuICB9XG5cbiAgQGtleWZyYW1lcyBzbGlkZS1pbi1pZGxlLWRpYWxvZyB7XG4gICAgdG8ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDByZW0pO1xuICAgIH1cbiAgfVxuXG4gIEBhdC1yb290ICNjb250YWN0LW1vZGFsIHtcbiAgICAtLWRpYWxvZy1jb250ZW50LWJhY2tncm91bmQtY29sb3VyOiAjeyRncmV5M307XG4gICAgZm9ybSAuc3VibWl0LXJvdyB7XG4gICAgICBtYXJnaW4tdG9wOiAkZ3V0dGVyO1xuICAgIH1cbiAgfVxufVxuXG5ib2R5ID4gLmJhY2stdG8tdG9wIHtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206ICRndXR0ZXI7XG4gIHJpZ2h0OiAkZ3V0dGVyO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrLXRvLXRvcC1iYWNrZ3JvdW5kLCAkYmx1ZTIpO1xuICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB6LWluZGV4OiA5OTk5O1xuICBvcGFjaXR5OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbiwgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbiwgYm90dG9tICR0cmFuc2l0aW9uO1xuICBwbGFjZS1jb250ZW50OiBjZW50ZXI7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIHN2ZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB3aWR0aDogNTAlO1xuICAgIHRvcDogLTQlO1xuICB9XG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktbGlnaHQsICRyZWQpO1xuICB9XG59XG5cbmZvb3RlciNmb290ZXIuaW4tdmlldyB+IC5iYWNrLXRvLXRvcCB7XG4gIGJvdHRvbTogMTIwcHg7XG59XG5cbm5hdmlnYXRpb24tYmFyOm5vdCguaW4tdmlldykgfiAuYmFjay10by10b3Age1xuICBvcGFjaXR5OiAxO1xuICBwb2ludGVyLWV2ZW50czogYWxsO1xufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBCcmVhayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2JyZWFrXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AbWl4aW4gb3V0KCRicmVha3BvaW50KSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiN7JGJyZWFrcG9pbnQgKyAxfSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBpbigkYnJlYWtwb2ludCkge1xuICBAbWVkaWEgKG1heC13aWR0aDojeyRicmVha3BvaW50fSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBiZXR3ZWVuKCRtaW4sICRtYXgpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6I3skbWlufSkgYW5kIChtYXgtd2lkdGg6I3skbWF4fSkge1xuICAgIEBjb250ZW50O1xuICB9XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBJbWFnZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ltYWdlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AdXNlICdwb3NpdGlvbic7XG5cbkBtaXhpbiBzcmNzZXQoJHBvc2l0aW9uOmZhbHNlKSB7XG5cbiAgZGlzcGxheSAgICAgICAgICAgICA6IGJsb2NrO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uIDogdmFyKC0tcG9zaXRpb24sIGNlbnRlciAzMyUpO1xuXHRiYWNrZ3JvdW5kLXNpemUgICAgIDogY292ZXI7XG5cdGJhY2tncm91bmQtcmVwZWF0ICAgOiBuby1yZXBlYXQ7XG5cdG92ZXJmbG93ICAgICAgICAgICAgOiBoaWRkZW47XG5cblx0QGlmICRwb3NpdGlvbiA9PSAnZXhwYW5kZWQnIHsgXG5cdFx0QGluY2x1ZGUgcG9zaXRpb24uZXhwYW5kZWQ7XG5cdH0gQGVsc2UgaWYgJHBvc2l0aW9uID09ICdibG93b3V0JyB7IFxuXHRcdEBpbmNsdWRlIHBvc2l0aW9uLmJsb3dvdXQ7XG5cdH0gQGVsc2Uge1xuXHRcdHBvc2l0aW9uIDogcmVsYXRpdmU7IFxuXHR9XG5cdFxuICBpbWcge1xuICAgIGRpc3BsYXkgICAgICAgICA6IGJsb2NrO1xuICAgIHBvc2l0aW9uICAgICAgICA6IGFic29sdXRlO1xuICAgIG9iamVjdC1maXQgICAgICA6IGNvdmVyO1xuICAgIG9iamVjdC1wb3NpdGlvbiA6IHZhcigtLWltYWdlLXBvc2l0aW9uLCBjZW50ZXIgMzMuMzMlKTtcblx0XHR3aWR0aCAgICAgICAgICAgOiB2YXIoLS1pbWFnZS1zaXplLCB2YXIoLS1pbWFnZS13aWR0aC1zaXplLCAxMDAlKSk7XG5cdFx0aGVpZ2h0ICAgICAgICAgIDogdmFyKC0taW1hZ2Utc2l6ZSwgdmFyKC0taW1hZ2UtaGVpZ2h0LXNpemUsIDEwMCUpKTsgXG5cdFx0bWF4LXdpZHRoICAgICAgIDogdmFyKC0taW1hZ2Utc2l6ZSwgdmFyKC0taW1hZ2Utd2lkdGgtc2l6ZSwgMTAwJSkpO1xuXHRcdG1heC1oZWlnaHQgICAgICA6IHZhcigtLWltYWdlLXNpemUsIHZhcigtLWltYWdlLWhlaWdodC1zaXplLCAxMDAlKSk7XG5cdFx0dG9wICAgICAgICAgICAgIDogMDsgXG5cdFx0bGVmdCAgICAgICAgICAgIDogMDtcblx0fVxuXG5cdEBjb250ZW50O1xufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gQXNwZWN0IFJhdGlvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2FzcGVjdC1yYXRpb1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSBcInNhc3M6c3RyaW5nXCI7XG5cbi8vLyBAZXhhbXBsZSBAaW5jbHVkZSBhc3BlY3QtcmF0aW8oMTYvOSlcblxuQG1peGluIGFzcGVjdC1yYXRpbygkcmF0aW8gOiAnMTYvOScpIHtcblxuICAtLWFzcGVjdC1yYXRpbzogI3tzdHJpbmcudW5xdW90ZSgkcmF0aW8pfTtcbiAgYXNwZWN0LXJhdGlvOiB2YXIoLS1hc3BlY3QtcmF0aW8pO1xuXG4gIEBzdXBwb3J0cyBub3QgKGFzcGVjdC1yYXRpbzogI3tzdHJpbmcudW5xdW90ZSgkcmF0aW8pfSkge1xuICAgIGFzcGVjdC1yYXRpbzppbml0aWFsO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDEwMCUvKHZhcigtLWFzcGVjdC1yYXRpbykpKTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgPiAqIHsgcG9zaXRpb246IGFic29sdXRlOyB9IFxuICB9XG59IiwiQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnY29sbGVjdGlvbnMvc3R5bGluZy9hc3BlY3QtcmF0aW8nIGFzICo7XG5cbkBtaXhpbiBjb250YWluZXIoJHJhdGlvOicxNi85Jykge1xuXHRcblx0QGluY2x1ZGUgYXNwZWN0LXJhdGlvKCRyYXRpbyk7XG5cblx0ZGlzcGxheSAgICAgICAgICA6IGJsb2NrO1xuXHRwb3NpdGlvbiAgICAgICAgIDogcmVsYXRpdmU7XG5cdHdpZHRoICAgICAgICAgICAgOiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yIDogYmxhY2s7XG5cblx0aWZyYW1lLCBjYW52YXMge1xuXHRcdHBvc2l0aW9uIDogYWJzb2x1dGU7XG5cdFx0ZGlzcGxheSAgOiBibG9jaztcblx0XHR0b3AgICAgICA6IDA7IFxuXHRcdGxlZnQgICAgIDogMDtcblx0XHRoZWlnaHQgICA6IDEwMCUgIWltcG9ydGFudDsgXG5cdFx0d2lkdGggICAgOiAxMDAlICFpbXBvcnRhbnQ7XG5cdH1cbn0iLCJAdXNlICcuLi9fdmFyaWFibGVzJyBhcyAqO1xuXG5AbWl4aW4gbWFyaygpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cnMtbWFyaztcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKCN7JGJvcmRlci1yYWRpdXN9IC8gMik7XG4gIHBhZGRpbmc6MCA1cHg7XG4gIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uO1xufVxuXG5AbWl4aW4gbWFyay1yZXNldCgpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci1yYWRpdXM6IGluaXRpYWw7XG4gIHBhZGRpbmc6aW5pdGlhbDtcbiAgdHJhbnNpdGlvbjogaW5pdGlhbDtcbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQ29sb3Vyc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8vIEV4cGxpY2l0IENvbG91cnMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vLyBFeHBsaWNpdCBjb2xvdXJzIGFyZSBhIHdoYXQgdGhleSBhcmUuIEdyZWVuIGlzIGdyZWVuLCBibHVlIGlzIGJsdWUuLi4gbm8gb2JzY3VyaXR5LlxuLy8vIFdlIHN1ZmZpeCBudW1iZXJzIHRvIGRlZmluZSB2YXJpYXRpb25zIG9mIGNvbG91cnMgaW4gbm8gcGFydGljdWxhciBvcmRlciBvZiBzaGFkZS5cbi8vLyBFeGFtcGxlOiBncmVlbjEsIGdyZWVuMiwgZ3JlZW4zLCBncmVlbjQuIFRoaXMgaXMgc28gd2UgY2FuIGltbWlkaWF0ZWx5IHNlZSBob3dcbi8vLyBtYW55IG9wdGlvbnMgd2UgaGF2ZSBmb3IgYSBzaW5nbGUgY29sb3VyIGF0IGEgZ2xhbmNlLiBJZiB5b3Ugc2VlICRncmVlbjQsIHlvdSBrbm93IHRoaXNcbi8vLyBwcm9qZWN0IGlzIHVzaW5nIGZvdXIgdmFyaWF0aW9ucyBvZiBncmVlbi4gVGhpcyBpcyBhbHNvIG9mdGVuIHVzZWZ1bCBiZWNhdXNlIG1hbnkgZGV2ZWxvcG1lbnRcbi8vLyB0b29scyB3aWxsIGF1dG8tc3VnZ2VzdCBjb2xvdXJzIHdpdGggYWN0dWFsIGV4YW1wbGVzIG9mIHRoZSBjb2xvdXIuXG4vLy8gVGhlIFBhbGxldGVzIG1vZHVsZSAoYXQgdGhlIGJvdHRvbSBvZiB0aGlzIGZpbGUpIHdpbGwgb3V0cHV0IHNoYWRlZCBuYW1lZCB2YXJpYXRpb25zLFxuLy8vLyA8Y29sb3VyPi1kYXJrIGFuZCA8Y29sb3VyPi1saWdodC4gSWYgeW91IG5lZWQgYWRkaXRpb25hbCBzaGFkZXMgcGxlYXNlIHJlZnJhaW0gZnJvbSBnb2luZyBkb3duXG4vLy8gdGhlICdsaWdodGVyJywgJ2xpZ2h0ZXN0JywgJ2RhcmtlcicsICdkYXJrZXN0JyBjb252ZW50aW9uLiBUaGVzZSBhcmUgbm90IHBhcnRpY3Vhcmx5IGxlZ2lhYmxlXG4vLy8gYW5kIHRoZXkgYXJlIGxpbWl0ZWQgYnkgaG93IGNyZWF0aXZlIChjb25mdXNpbmcpIHlvdXIgd29yZGluZyBjYW4gYmUuXG4vLy8gSXQgaXMgYmV0dGVyIHRvIGRlZmluZSBhIG5ldyBleHBsY2l0IGNvbG91ciBlbnRpcmVseS5cbi8vLyBAc2VlIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vd2hhdC1kby15b3UtbmFtZS1jb2xvci12YXJpYWJsZXMvXG5cbiRibHVlOiAjMTMxZjZiOyAvLyBQcmltYXJ5XG4kYmx1ZTI6ICMyOTJiNjg7IC8vIE5ha2VkIExpbmtcbiRibHVlMzogIzNkM2Y3ZjsgLy8gTGlnbnQgR3JhZGllbnRcbiRibHVlNDogIzEwMTI0ZDsgLy8gRGFyayBHcmFkaWVudFxuJGJsdWU1OiAjMDA5NWZmOyAvLyBOYXZpZ2F0aW9uIGxpbmsgaG92ZXJcbi8vICRyZWQgICAgOiAjRTAzQTQwOyAvLyBTZWNvbmRhcnlcbiRyZWQ6ICNkZjMwMzU7IC8vIFNlY29uZGFyeSAtIFRoaXMgcGFzc2VzIHRoZSBjb250cmFzdCByYXRpbyBhY2Nlc3NpYmlsaXR5IHRlc3QgaW4gR29vZ2xlcyBMaWdodGhvdXNlXG4kZ3JleTogIzk2OTY5NTtcbiRncmV5MjogIzZhNmE2YTsgLy8gRm9udFxuJGdyZXkzOiAjZjRmNGY0OyAvLyBMaWdodGVyIEdyZXkgQmFja2dyb3VuZFxuJGdyZXk0OiAjZGNkY2RjO1xuJGdyZXk1OiAjYjFiMWIxOyAvLyBTcGFjZXJzIDxocj5cbiRncmV5NjogIzMzMzIzNjsgLy8gTmF2aWdhdGlvbiBsaW5rIGhvdmVyXG4kZ3JlZW46ICM1MGJjMDg7XG4kZ3JlZW4yOiAjNzZiYjI4OyAvLyBFU0cgZ3JlZW5cbiR5ZWxsb3c6ICNmNmY0ZGI7IC8vIERpc2NsYWltZXIgQmFja2dyb3VuZFxuJHllbGxvdzI6ICNmY2IwMDI7XG4kb3JhbmdlOiAjZmY2YTAwO1xuJG9yYW5nZTI6ICNkYThiMGY7XG4kYmxhY2s6ICMxZTFjMWM7XG5cbiRtYXJrOiAkYmx1ZTU7IC8vIGJhY2tncm91bmQgY29sb3VyIGZvciA8bWFyaz4gdGFnc1xuXG4kcHJpbWFyeTogdmFyKC0tcHJpbWFyeSwgI3skYmx1ZX0pO1xuJHNlY29uZGFyeTogdmFyKC0tc2Vjb25kYXJ5LCAjeyRyZWR9KTtcblxuLy8vIFBhbGV0dGUgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vLyBCeSBsb2FkaW5nIGNvbmZpZ3VyYXRpb25zIGludG8gdGhpcyAncGFsbGV0ZScgbW9kdWxlLCB3ZSB3aWxsIGJlIGFibGVcbi8vLyB0byBkZWNsYXJlIHZhcmlhbnRzIG9mIGEgZmV3IGNvbW1vbiBjb2xvdXJzLiBZb3UgY2FuIGFsc28gYWRqdXN0IHRoZSBsaWdodG5lc3Ncbi8vLyBvciBkYXJrbmVzcyBvZiBlYWNoIHZhcmlhbnQgYnkgcGFzc2luZyBpbiB0aGUgcmVsZXZhbnQgcHJpdmF0ZSBydWxlcy5cbi8vLyBQYWxldHRlIHdpbGwgYWxzbyBleHBvc2UgcG9wdWxhciBzb2NpYWwgbWVkaWEgY29sb3VycyBhbmQgdGhlIFllbGxvIGJyYW5kIGNvbG91ci5cbi8vLyBAc2VlIGh0dHBzOi8vc2Fzcy1sYW5nLmNvbS9kb2N1bWVudGF0aW9uL2F0LXJ1bGVzL2ZvcndhcmQjY29uZmlndXJpbmctbW9kdWxlc1xuLy8vIEBvdXRwdXQgJGdyZWVuIDogIzAyOTI5QTsgJGdyZWVuLWRhcmsgOiAjMjU2NTY5OyAkZ3JlZW4tbGlnaHQ6ICMwNGI5YzQ7XG5cbkBmb3J3YXJkICdjcmVhdGUvcGFsZXR0ZScgd2l0aCAoXG4gICRibHVlOiAkYmx1ZSxcbiAgJHJlZDogJHJlZCxcbiAgJGdyZXk6ICRncmV5LFxuICAkeWVsbG93OiAkeWVsbG93LFxuICAkb3JhbmdlOiAkb3JhbmdlLFxuICAkZ3JlZW46ICRncmVlbixcbiAgJGJsYWNrOiAkYmxhY2tcbik7XG5cbiRtYXA6IChcbiAgYmx1ZTogJGJsdWUsXG4gIHJlZDogJHJlZCxcbiAgZ3JleTogJGdyZXkzLFxuICB5ZWxsb3c6ICR5ZWxsb3csXG4gIG9yYW5nZTogJG9yYW5nZSxcbiAgZ3JlZW46ICRncmVlbixcbiAgYmxhY2s6ICRibGFjayxcbik7XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnV0dG9uc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSAnLi4vX3ZhcmlhYmxlcycgYXMgKjtcbkB1c2UgJ3N0eWxpbmcnIGFzICo7XG5cbkBtaXhpbiBidXR0b24oJGNvbG91cjogdmFyKC0tcHJpbWFyeSkpIHtcbiAgLy8gU3RhdGljIFN0eWxpbmdcbiAgLS1mb250LWNvbG91cjogd2hpdGU7XG4gIC0tYmFja2dyb3VuZC1jb2xvdXI6ICN7JGNvbG91cn07XG4gIC0tYm9yZGVyLWNvbG91cjogdHJhbnNwYXJlbnQ7XG4gIC0tcGFkZGluZzogOHB4IDIwcHg7XG4gIC0tZm9udC1zaXplOiAxNnB4O1xuICAtLWJvcmRlci1yYWRpdXM6IDUwcHg7XG5cbiAgLy8gSG92ZXIgLyBBY3RpdmUgc3R5bGluZ1xuICAtLWhvdmVyLWZvbnQtY29sb3VyOiAjeyRjb2xvdXJ9O1xuICAtLWhvdmVyLWJhY2tncm91bmQtY29sb3VyOiB3aGl0ZTtcbiAgLS1ob3Zlci1ib3JkZXItY29sb3VyOiBpbml0aWFsO1xuICAtLWhvdmVyLXBhZGRpbmc6IHZhcigtLXBhZGRpbmcpO1xuICAtLWhvdmVyLWZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplKTtcbiAgLS1ob3Zlci1ib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcblxuICAtLWljb24tc2l6ZTogMS4xZW07XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwbGFjZS1jb250ZW50OiBjZW50ZXI7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgY29sb3I6IHZhcigtLWZvbnQtY29sb3VyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1jb2xvdXIpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1jb2xvdXIpO1xuICBwYWRkaW5nOiB2YXIoLS1wYWRkaW5nKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UpLCBjb2xvciB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UpLFxuICAgIGJvcmRlciB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uKSB2YXIoLS10cmFuc2l0aW9uLWVhc2UpO1xuXG4gIC8vIEljb24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIHN2ZyB7XG4gICAgd2lkdGg6IHZhcigtLWljb24tc2l6ZSk7XG4gICAgaGVpZ2h0OiB2YXIoLS1pY29uLXNpemUpO1xuICAgIG9yZGVyOiAzO1xuICAgIGZpbGw6IHZhcigtLWZpbGwsIGN1cnJlbnRDb2xvcik7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0taWNvbi1zaXplKSAvIDIpO1xuICAgIHRyYW5zaXRpb246IGZpbGwgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbikgdmFyKC0tdHJhbnNpdGlvbi1lYXNlKSwgc3Ryb2tlIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24pIHZhcigtLXRyYW5zaXRpb24tZWFzZSk7XG5cbiAgICAmW2NsYXNzKj0nYXJyb3cnXSB7XG4gICAgICAtLWljb24tc2l6ZTogMC45ZW07XG4gICAgfVxuICAgICYuYXJyb3ctbGVmdCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0taWNvbi1zaXplKSAvIDIpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gID4gc3BhbiB7XG4gICAgb3JkZXI6IDI7XG4gICAgdGV4dC13cmFwOiBiYWxhbmNlO1xuICB9XG5cbiAgLy8gVmFyaWFudCBEZWNsYXJhdGlvbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgJi5zbWFsbCB7XG4gICAgQGluY2x1ZGUgc21hbGw7XG4gIH1cbiAgJi5sYXJnZSB7XG4gICAgQGluY2x1ZGUgbGFyZ2U7XG4gIH1cbiAgJi5vdXRsaW5lIHtcbiAgICBAaW5jbHVkZSBvdXRsaW5lLXRoZW1lKCRibHVlKTtcbiAgfVxuXG4gICYuYmx1ZSB7XG4gICAgQGluY2x1ZGUgc29saWQtdGhlbWUoJGJsdWUsIHdoaXRlKTtcbiAgICAmLm91dGxpbmUge1xuICAgICAgQGluY2x1ZGUgb3V0bGluZS10aGVtZSgkYmx1ZSwgJHdoaXRlKTtcbiAgICB9XG4gIH1cbiAgJi5yZWQge1xuICAgIEBpbmNsdWRlIHNvbGlkLXRoZW1lKCRyZWQsIHdoaXRlKTtcbiAgICAmLm91dGxpbmUge1xuICAgICAgQGluY2x1ZGUgb3V0bGluZS10aGVtZSgkcmVkLCAkd2hpdGUpO1xuICAgIH1cbiAgfVxuICAmLmdyZWVuIHtcbiAgICBAaW5jbHVkZSBzb2xpZC10aGVtZSgkZ3JlZW4yLCB3aGl0ZSk7XG4gICAgJi5vdXRsaW5lIHtcbiAgICAgIEBpbmNsdWRlIG91dGxpbmUtdGhlbWUoJGdyZWVuMiwgJHdoaXRlKTtcbiAgICB9XG4gIH1cbiAgJi53aGl0ZSB7XG4gICAgQGluY2x1ZGUgc29saWQtdGhlbWUoJHdoaXRlLCAkcHJpbWFyeSk7XG4gICAgJi5vdXRsaW5lIHtcbiAgICAgIEBpbmNsdWRlIG91dGxpbmUtdGhlbWUoJHdoaXRlLCAkcHJpbWFyeSk7XG4gICAgfVxuICB9XG4gICYuZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIEBpbmNsdWRlIHNvbGlkLXRoZW1lKCRncmV5NCk7XG4gICAgJi5vdXRsaW5lIHtcbiAgICAgIEBpbmNsdWRlIG91dGxpbmUtdGhlbWUoJGdyZXk0KTtcbiAgICB9XG4gIH1cblxuICAvLyBIb3ZlciBTdGF0ZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWhvdmVyLWZvbnQtY29sb3VyKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1ob3Zlci1ib3JkZXItY29sb3VyKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ob3Zlci1ib3JkZXItcmFkaXVzKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1ob3Zlci1wYWRkaW5nKTtcbiAgICBmb250LXNpemU6IHZhcigtLWhvdmVyLWZvbnQtc2l6ZSk7XG4gIH1cbn1cblxuLy8vIExhcmdlIEJ1dHRvbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vLyBUaGVzZSBleHRlbmQgdGhlIHN0eWxpbmcgb2YgbWFya3VwIGVsZW1lbnRzIHdpdGggdGhlIC5idXR0dG9uIGNsYXNzXG4vLy8gQGNvbnRlbnQgaXMgcGFzc2VkIHRocm91Z2ggaXMgZm9yIHRoZSBob3ZlciBzdGF0ZSBvbmx5LlxuLy8vIEBleGFtcGxlXG4vLy8gLmJ1dHRvbiB7XG4vLy8gICBAaW5jbHVkZSBidXR0b24tbGFyZ2Uge1xuLy8vICAgICAtLWJhY2tncm91bmQtY29sb3VyIDogZ3JlZW47XG4vLy8gICAgIC0tZm9udC1jb2xvdXIgICAgIDogcmVkO1xuLy8vICAgfVxuLy8vIH1cblxuQG1peGluIGxhcmdlIHtcbiAgLS1wYWRkaW5nOiAxMnB4IDI0cHg7XG4gIC0tZm9udC1zaXplOiAyNHB4O1xuICBAY29udGVudDtcbn1cblxuLy8vIFNtYWxsIEJ1dHRvbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vLyBUaGVzZSBleHRlbmQgdGhlIHN0eWxpbmcgb2YgbWFya3VwIGVsZW1lbnRzIHdpdGggdGhlIC5idXR0dG9uIGNsYXNzXG4vLy8gQGNvbnRlbnQgaXMgcGFzc2VkIHRocm91Z2ggaXMgZm9yIHRoZSBob3ZlciBzdGF0ZSBvbmx5LlxuLy8vIEBleGFtcGxlXG4vLy8gLmJ1dHRvbiB7XG4vLy8gICBAaW5jbHVkZSBidXR0b24tc21hbGwge1xuLy8vICAgICAtLWJhY2tncm91bmQtY29sb3VyIDogZ3JlZW47XG4vLy8gICAgIC0tZm9udC1jb2xvdXIgICAgIDogcmVkO1xuLy8vICAgfVxuLy8vIH1cblxuQG1peGluIHNtYWxsIHtcbiAgLS1wYWRkaW5nOiA2cHggMThweDtcbiAgLS1mb250LXNpemU6IDEycHg7XG5cbiAgc3ZnIHtcbiAgICBtYXJnaW4tbGVmdDogJGdhcDA7XG4gICAgJi5hcnJvdy1sZWZ0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogJGdhcDA7XG4gICAgfVxuICB9XG5cbiAgQGNvbnRlbnQ7XG59XG5cbi8vLyBWYXJpZW50IFN0eWxpbmcgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBtaXhpbiBzb2xpZC10aGVtZSgkc3RhdGljOiAkcHJpbWFyeSwgJGhvdmVyOiB3aGl0ZSkge1xuICAtLWJhY2tncm91bmQtY29sb3VyOiAjeyRzdGF0aWN9O1xuICAtLWZvbnQtY29sb3VyOiAjeyRob3Zlcn07XG4gIC0taG92ZXItYmFja2dyb3VuZC1jb2xvdXI6ICN7JGhvdmVyfTtcbiAgLS1ob3Zlci1mb250LWNvbG91cjogI3skc3RhdGljfTtcbn1cblxuQG1peGluIG91dGxpbmUtdGhlbWUoJHN0YXRpYzogJHByaW1hcnksICRob3ZlcjogdHJhbnNwYXJlbnQpIHtcbiAgLS1iYWNrZ3JvdW5kLWNvbG91cjogdHJhbnNwYXJlbnQ7XG4gIC0tZm9udC1jb2xvdXI6ICN7JHN0YXRpY307XG4gIC0tYm9yZGVyLWNvbG91cjogI3skc3RhdGljfTtcbiAgLS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjogI3skc3RhdGljfTtcbiAgLS1ob3Zlci1mb250LWNvbG91cjogI3tpZigkaG92ZXIgPT0gdHJhbnNwYXJlbnQsICRzdGF0aWMsICRob3Zlcil9O1xuICAtLWhvdmVyLWJvcmRlci1jb2xvdXI6IHRyYW5zcGFyZW50O1xufVxuXG4vLy8gQnV0dG9uIENvbnRhaW5lciA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWl4aW4gY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgLy8gbWFyZ2luLWxlZnQ6JGdhcDAtO1xuICAvLyB3aWR0aDpjYWxjKDEwMCUgKyAjeyRnYXB9KTtcbiAgZmxleC13cmFwOiB3cmFwO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBnYXA6ICRnYXAwO1xuICAuYnV0dG9uIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG59XG5cbi8vLyBCZXNwb2tlIEJ1dHRvbnMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBtaXhpbiBicm9jaHVyZSB7XG4gIC0tZm9udC1jb2xvdXI6ICN7JGJsdWV9O1xuICAtLWJhY2tncm91bmQtY29sb3VyOiB0cmFuc3BhcmVudDtcbiAgLS1wYWRkaW5nOiA1cHggMHB4O1xuICAtLWljb24tc2l6ZTogMzJweDtcbiAgLS1ib3JkZXItY29sb3VyOiB0cmFuc3BhcmVudDtcbiAgLS1ib3JkZXItcmFkaXVzOiAwO1xuICAtLWhvdmVyLWZvbnQtY29sb3VyOiAjeyRyZWR9O1xuICAtLWhvdmVyLWJvcmRlci1jb2xvdXI6IHRyYW5zcGFyZW50O1xuICAtLWhvdmVyLWJhY2tncm91bmQtY29sb3VyOiB0cmFuc3BhcmVudDtcblxuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHN2ZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZ2FwMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBmaWxsOiAkcmVkO1xuICB9XG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gVW5pdHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgJ3Nhc3M6c3RyaW5nJztcbkB1c2UgJ3Nhc3M6bWV0YSc7XG5cbi8vIFRoaXMgdW5pdHMgY3JlYXRvciB3aWxsIHJlbmRlciBzaXggcG9zaXRpdmUgYW5kIHNpeCBuZWdhdGl2ZSBzYXNzIHZhcmlhYmxlcyBmb3IgXG4vLyBnYXBzLCBzcGFjZXJzLCBhbmQgZ3V0dGVycyByZWxhdGl2ZSB0byB0aGUgYmFzZXYgdmFsdWVzIGRlZmluZWQgYmVsb3cuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmFzZSBWYWx1ZXMgXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gQHNlZSBodHRwczovL2NvZGVwZW4uaW8vbWFya25vdHRvbi9wZW4vRXhQYk5HZVxuXG4vLyBUaGVzZSB0aHJlZSB2YWx1ZXMgd2lsbCBhY3QgYSBjb25zdGFudCBiYXNlbGluZSBmb3IgYWxsIGZvbGxvd2luZyB1bml0IGRlbGNhcmF0aW9ucy5cblxuLy8gR2FwcyBtdXN0IHVzZSBhbiBhYnNvbHV0ZSBhbmQgc3RhdGljICdweCcgdW5pdC4gSXQgc2hvdWxkIG5vdCBiZSByZWxhdGl2ZSB0byBhbnlcbi8vIHBhcmVudCBjb250YWluZXIgYW5kIGlzIG5vdCBpbnRlbmRlZCBmb3IgZm9udCBzaXplcywgc28geW91IHNob3VsZCBub3QgdXNlICdyZW0nIG9yICdlbScuIFxuJGdhcCA6IDE2cHggIWRlZmF1bHQ7XG4kYmFzZS1nYXAgOiAkZ2FwO1xuXG4vLyBTcGFjZXJzIG11c3QgdXNlIGEgJ3ZoJyB1bml0IHNvIHRoZXkgYXJlIHJlbGF0aXZlIHRvIHRoZSB1c2VycyB2aWV3cG9ydCBoZWlnaHQtd2lzZS5cbi8vIFRoZXkgc2hvdWxkIHByaW1hcmlseSBiZSB1c2VkIGZvciB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucyBvbiBhIGNvbXBvbmVudCBsZXZlbC5cbiRzcGFjZXIgOiA0dmggIWRlZmF1bHQ7IFxuJGJhc2Utc3BhY2VyIDogJHNwYWNlcjsgXG5cbi8vIEd1dHRlcnMgbXVzdCB1c2UgYSAndncnIHVuaXQgc28gdGhleSBhcmUgcmVsYXRpdmUgdG8gdGhlIHVzZXJzIHZpZXdwb3J0IHdpZHRoLXdpc2UuIFxuLy8gVGhleSBzaG91bGQgcHJpbWFyaWx5IGJlIHVzZWQgZm9yIHRoZSBsZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9yIG1hcmdpbiBvbiBhIHBhcmVudCBsZXZlbC5cbi8vIEFzIGEgc3VnZ2VzdGlvbiwgdGhpcyBndXR0ZXIgY29uc3RhbnQgc2hvdWxkIGJlIGhhbGYgdGhlIHNpemUgb2YgdGhlIHNwYWNlciB2YWx1ZS5cbiRndXR0ZXIgOiAzdncgIWRlZmF1bHQ7XG4kYmFzZS1ndXR0ZXIgOiAkZ3V0dGVyOyBcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFzYm9sdXRlIFVuaXRzIFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gR2FwcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEdhcHMgYXJlIGFuIGFic29sdXRlIHVuaXQgKHB4KSBpbnRlbmRlZCB0byBiZSB1c2VkIG9uIGluZGl2aWR1YWwgZWxlbWVudHMgd2l0aGluIGEgY29tcG9uZW50ZWQuIFxuLy8gVGhlIGFpbSBpcyB0byByZXRhaW4gY29uc2lzdGFudCBzcGFjaW5nIGFtb25nc3QgYmxvY2ssIGlubGluZSwgdGFibGUgYW5kIGdyb3VwIGh0bWwgZWxlbWVudHMuXG5cbkBmdW5jdGlvbiBnYXAoJGFtb3VudCA6IDEpIHtcbiAgQGlmICggJGFtb3VudCA9PSAxICkgeyBcbiAgICBAcmV0dXJuIHZhcigtLWdhcCk7IFxuICB9IEBlbHNlIHsgXG4gICAgQHJldHVybiBjYWxjKHZhcigtLWdhcCkgKiAjeyRhbW91bnR9KTsgXG4gIH1cbn1cblxuJGdhcDAgOiBnYXAoMC41KTsgJGdhcDAtIDogZ2FwKC0wLjUpO1xuJGdhcCAgOiBnYXAoMSk7ICAgJGdhcC0gIDogZ2FwKC0xKTtcbiRnYXAyIDogZ2FwKDIpOyAgICRnYXAyLSA6IGdhcCgtMik7XG4kZ2FwMyA6IGdhcCgzKTsgICAkZ2FwMy0gOiBnYXAoLTMpO1xuJGdhcDQgOiBnYXAoNCk7ICAgJGdhcDQtIDogZ2FwKC00KTtcbiRnYXA1IDogZ2FwKDUpOyAgICRnYXA1LSA6IGdhcCgtNSk7XG4kZ2FwNiA6IGdhcCg2KTsgICAkZ2FwNi0gOiBnYXAoLTYpO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUmVsYXRpdmUgVW5pdHMgXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AZnVuY3Rpb24gX2R5bmFtaWMtdW5pdCgkY3VzdG9tLXByb3BlcnR5LCAkYW1vdW50LCAkbWluLCAkbWF4LCAkdXNlLW5lZ2F0aXZlIDogZmFsc2UsICR1c2UtY2xhbXAgOiB0cnVlKSB7XG5cbiAgLy8gQ2FsYyBNZXRob2RcbiAgJHJlc3VsdCA6IGNhbGMoKCN7JGN1c3RvbS1wcm9wZXJ0eX0gKiAjeyRhbW91bnR9KSArICN7aWYoJG1pbiA9PSAwLCAwcHgsICRtaW4pfSk7XG4gIFxuICAvLyBDbGFtcCBNZXRob2RcbiAgQGlmICggJHVzZS1jbGFtcCApIHtcbiAgICBAaWYgKCAkYW1vdW50ID09IDAgKSB7XG4gICAgICAkcmVzdWx0IDogY2xhbXAoI3ttYXRoLmRpdigkbWluLCAyKX0sICN7JGN1c3RvbS1wcm9wZXJ0eX0gKiAwLjUsICN7JG1heH0pO1xuICAgIH0gQGVsc2UgaWYgKCAkYW1vdW50ID09IDEgKSB7XG4gICAgICAkcmVzdWx0IDogY2xhbXAoI3skbWlufSwgI3skY3VzdG9tLXByb3BlcnR5fSwgI3skbWF4fSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmVzdWx0IDogY2xhbXAoI3skbWlufSwgI3skY3VzdG9tLXByb3BlcnR5fSAqICN7JGFtb3VudH0sICN7JG1heH0pO1xuICAgIH1cbiAgfSBcblxuICBAaWYgKCAkdXNlLW5lZ2F0aXZlICkge1xuICAgICRyZXN1bHQgOiBjYWxjKC0xICogI3skcmVzdWx0fSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG5cbn0gXG5cbi8vIFNwYWNlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTcGFjZXJzIGFyZSBhIHJlbGF0aXZlIHZpZXdwb3J0IGhlaWdodCAodmgpIHVuaXQgaW50ZW5kZWQgdG8gYmUgdXNlZCBvbiBhIGNvbXBvbmVudGVkIGxldmVsLlxuLy8gVGhlIGFpbSBpcyB0byByZXRhaW4gY29uc2lzdGFudCB0b3AgYW5kIGJvdHRvbSBzcGFjaW5nIGFtb25nc3QgJ3NlY3Rpb24nIGFuZCAnY3VzdG9tJyBlbGVtZW50cy5cbi8vIFNwYWNlcnMgd2lsbCBlcXVhdGUgdG8gc29tZXRoaW5nIGxpa2U6IGAoJHNwYWNlciAqIHgpICsgJGdhcGAuIFxuLy8gVGhlICckZ2FwJyBpcyBhZGRlZCBzbyB0aGF0IHZoIHNwYWNpbmcgd2lsbCBuZXZlciBzY2FsZSB0b28gY2xvc2UgdG8gMHB4LiBcblxuQGZ1bmN0aW9uIHNwYWNlcigkYW1vdW50IDogMSwgJG1pbiA6ICRiYXNlLWdhcCwgJG1heCA6IG51bGwsICR1c2UtbmVnYXRpdmUgOiBmYWxzZSwgJHVzZS1jbGFtcCA6IHRydWUpIHtcbiAgQGlmICggJGFtb3VudCA9PSAwKSB7ICRhbW91bnQgOiAwLjU7ICRtaW4gOiBtYXRoLmRpdigkbWluLCAyKTsgfVxuICBAaWYgKCBtZXRhLnR5cGUtb2YoJG1heCkgPT0gJ251bGwnICkgeyBcbiAgICBAaWYgKCBtZXRhLnR5cGUtb2YoJG1pbikgPT0gJ3N0cmluZycgYW5kIHN0cmluZy5pbmRleCgkbWluLCAndmFyJykgKSB7XG4gICAgICAkbWF4IDogY2FsYygjeyRtaW59ICogI3skYW1vdW50ICsgMX0pOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgICRtYXggOiAjeyRtaW4gKiAoJGFtb3VudCArIDEpfTsgXG4gICAgfVxuICB9XG4gIEByZXR1cm4gX2R5bmFtaWMtdW5pdCh2YXIoLS1zcGFjZXIpLCAkYW1vdW50LCAkbWluLCAkbWF4LCAkdXNlLW5lZ2F0aXZlLCAkdXNlLWNsYW1wKTtcbn1cblxuJHNwYWNlcjAgOiB2YXIoLS1zcGFjZXIwKTsgJHNwYWNlcjAtIDogdmFyKC0tc3BhY2VyMC0pO1xuJHNwYWNlciAgOiB2YXIoLS1zcGFjZXIxKTsgJHNwYWNlci0gIDogdmFyKC0tc3BhY2VyMS0pO1xuJHNwYWNlcjIgOiB2YXIoLS1zcGFjZXIyKTsgJHNwYWNlcjItIDogdmFyKC0tc3BhY2VyMi0pO1xuJHNwYWNlcjMgOiB2YXIoLS1zcGFjZXIzKTsgJHNwYWNlcjMtIDogdmFyKC0tc3BhY2VyMy0pO1xuJHNwYWNlcjQgOiB2YXIoLS1zcGFjZXI0KTsgJHNwYWNlcjQtIDogdmFyKC0tc3BhY2VyNC0pO1xuJHNwYWNlcjUgOiB2YXIoLS1zcGFjZXI1KTsgJHNwYWNlcjUtIDogdmFyKC0tc3BhY2VyNS0pO1xuJHNwYWNlcjYgOiB2YXIoLS1zcGFjZXI2KTsgJHNwYWNlcjYtIDogdmFyKC0tc3BhY2VyNi0pO1xuXG4vLyBHdXR0ZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gR3V0dGVycyBhcmUgYSByZWxhdGl2ZSB2aWV3cG9ydCB3aWR0aCAodncpIHVuaXQgaW50ZW5kZWQgdG8gYmUgdXNlZCBvbiBhIHBhcmVudCBsZXZlbDtcbi8vIGZvciBleGFtcGxlLCBhIHdyYXBwZXIgY29udGFpbmVyIG9yIGJvZHkgd2l0aCBuZXN0ZWQgY29tcG9uZW50cy4gXG4vLyBUaGUgYWltIGlzIHRvIHJldGFpbiBjb25zaXN0YW50IGxlZnQgYW5kIHJpZ2h0IHNwYWNpbmcgYW1vbmdzdCAnc2VjdGlvbicgYW5kICdjdXN0b20nIGVsZW1lbnRzLlxuLy8gR3V0dGVycyB3aWxsIGVxdWF0ZSB0byBzb21ldGhpbmcgbGlrZTogYCgkZ3V0dGVyICogeCkgKyAkZ2FwYC4gXG4vLyBUaGUgJyRnYXAnIGlzIGFkZGVkIHNvIHRoYXQgdncgc3BhY2luZyB3aWxsIG5ldmVyIHNjYWxlIHRvbyBjbG9zZSB0byAwcHguIFxuXG5AZnVuY3Rpb24gZ3V0dGVyKCRhbW91bnQgOiAxLCAkbWluIDogJGJhc2UtZ2FwLCAkbWF4IDogbnVsbCwgJHVzZS1uZWdhdGl2ZSA6IGZhbHNlLCAkdXNlLWNsYW1wIDogdHJ1ZSkge1xuICBAaWYgKCAkYW1vdW50ID09IDApIHsgJGFtb3VudCA6IDAuNTsgJG1pbiA6IG1hdGguZGl2KCRtaW4sIDIpOyB9XG4gIEBpZiAoIG1ldGEudHlwZS1vZigkbWF4KSA9PSAnbnVsbCcgKSB7IFxuICAgIEBpZiAoIG1ldGEudHlwZS1vZigkbWluKSA9PSAnc3RyaW5nJyBhbmQgc3RyaW5nLmluZGV4KCRtaW4sICd2YXInKSApIHtcbiAgICAgICRtYXggOiBjYWxjKCN7JG1pbn0gKiAjeyRhbW91bnQgKyAxfSk7IFxuICAgIH0gQGVsc2Uge1xuICAgICAgJG1heCA6ICN7JG1pbiAqICgkYW1vdW50ICsgMSl9OyBcbiAgICB9XG4gIH1cbiAgQHJldHVybiBfZHluYW1pYy11bml0KHZhcigtLWd1dHRlciksICRhbW91bnQsICRtaW4sICRtYXgsICR1c2UtbmVnYXRpdmUsICR1c2UtY2xhbXApO1xufVxuXG4kZ3V0dGVyMCA6IHZhcigtLWd1dHRlcjApOyAkZ3V0dGVyMC0gOiB2YXIoLS1ndXR0ZXIwLSk7XG4kZ3V0dGVyICA6IHZhcigtLWd1dHRlcjEpOyAkZ3V0dGVyLSAgOiB2YXIoLS1ndXR0ZXIxLSk7XG4kZ3V0dGVyMiA6IHZhcigtLWd1dHRlcjIpOyAkZ3V0dGVyMi0gOiB2YXIoLS1ndXR0ZXIyLSk7XG4kZ3V0dGVyMyA6IHZhcigtLWd1dHRlcjMpOyAkZ3V0dGVyMy0gOiB2YXIoLS1ndXR0ZXIzLSk7XG4kZ3V0dGVyNCA6IHZhcigtLWd1dHRlcjQpOyAkZ3V0dGVyNC0gOiB2YXIoLS1ndXR0ZXI0LSk7XG4kZ3V0dGVyNSA6IHZhcigtLWd1dHRlcjUpOyAkZ3V0dGVyNS0gOiB2YXIoLS1ndXR0ZXI1LSk7XG4kZ3V0dGVyNiA6IHZhcigtLWd1dHRlcjYpOyAkZ3V0dGVyNi0gOiB2YXIoLS1ndXR0ZXI2LSk7XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIEhvdmVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjaG92ZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBob3Zlcigkc2VsZWN0b3IgOiBudWxsKSB7XG4gIEBtZWRpYSAoIGhvdmVyIDogaG92ZXIgKSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgJHNlbGVjdG9yIHtcbiAgICAmI3skc2VsZWN0b3J9IHsgXG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBDdXN0b20gUHJvcGVydGllc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSAnX21vZHVsZXMnIGFzICo7XG5AdXNlICdzYXNzOm1hdGgnO1xuXG46cm9vdCB7XG5cbiAgLy8gQ29sb3VycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLS1wcmltYXJ5ICAgICAgICAgOiAjeyRibHVlfTsgXG4gIC0tc2Vjb25kYXJ5ICAgICAgIDogI3skcmVkfTsgXG5cbiAgLy8gQnJlYWtwb2ludHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIFxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50cyB7XG4gICAgLS1icmVha3BvaW50LSN7JG5hbWV9IDogI3skdmFsdWV9O1xuICB9XG5cbiAgLy8gRm9udHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIFxuICAtLWZvbnQtY29sb3VyICAgICAgICA6ICN7JGZvbnQtY29sb3VyfTtcbiAgLS1oZWFkaW5nLWNvbG91ciAgICAgOiAje3ZhcigtLXByaW1hcnksICRibHVlKX07XG4gIC0tc3ViLWhlYWRpbmctY29sb3VyIDogI3t2YXIoLS1zZWNvbmRhcnksICRyZWQpfTtcblxuICAvLyBUcmFuc2l0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAtLXRyYW5zaXRpb24tZHVyYXRpb24gOiAjeyR0cmFuc2l0aW9uLWR1cmF0aW9ufTtcbiAgLS10cmFuc2l0aW9uLWVhc2UgICAgIDogI3skdHJhbnNpdGlvbi1lYXNlfTtcbiAgLS10cmFuc2l0aW9uLWRlbGF5ICAgIDogI3skdHJhbnNpdGlvbi1kZWxheX07XG5cbiAgLy8gTGF5b3V0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgLS1icmVhZGNydW1iLWhlaWdodCA6IDkwcHg7XG4gIC0tYW5jaG9ycy1oZWlnaHQgOiA2MHB4O1xuICAtLWJyZWFkY3J1bWItYW5kLWFuY2hvcnMtc3RpY2t5LXVuZGVyc2V0IDogLTE1cHg7XG4gIC0tbWFpbi1tYXgtd2lkdGggOiA5MDBweDtcbiAgLS1uYXZpZ2F0aW9uLWhlaWdodDogMTQzcHg7XG5cbiAgLS1zaWRlYmFyLXdpZHRoIDogY2xhbXAoI3skc2lkZWJhci13aWR0aCAtIG1hdGguZGl2KCRzaWRlYmFyLXdpZHRoLCAxMDApICogNDB9LCAzMHZ3LCAjeyRzaWRlYmFyLXdpZHRofSk7XG4gIFxuICBAc3VwcG9ydHMgbm90ICggd2lkdGg6Y2xhbXAoMXB4LCA1dncsIDEwcHgpKSB7XG4gICAgLS1zaWRlYmFyLXdpZHRoIDogI3skc2lkZWJhci13aWR0aH07XG4gICAgQGluY2x1ZGUgYnJlYWstaW4obGFyZ2UpIHtcbiAgICAgIC0tc2lkZWJhci13aWR0aCA6IDMwMHB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIFVuaXRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gIC0tZ2FwICAgIDogI3skYmFzZS1nYXB9O1xuICAtLWd1dHRlciA6ICN7JGJhc2UtZ3V0dGVyfTtcbiAgLS1zcGFjZXIgOiAjeyRiYXNlLXNwYWNlcn07XG4gXG4gIC8vLyBTZXQgdGhlIGd1dHRlcnMgYW5kIHNwYWNlcnMgd2l0aCBjbGFtcCBcbiAgLy8vIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL2NsYW1wXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggNiB7XG5cbiAgICAtLWd1dHRlciN7JGl9ICA6ICN7Z3V0dGVyKCRpKX07IFxuICAgIC0tZ3V0dGVyI3skaX0tIDogI3tndXR0ZXIoJGksICR1c2UtbmVnYXRpdmUgOiB0cnVlKX07XG5cbiAgICAkc3BhY2VyLWdyb3d0aCA6IGlmKCRpID09IDAsIDEsICRpICogMyk7XG4gICAgLS1zcGFjZXIjeyRpfSAgOiAje3NwYWNlcigkc3BhY2VyLWdyb3d0aCl9OyBcbiAgICAtLXNwYWNlciN7JGl9LSA6ICN7c3BhY2VyKCRzcGFjZXItZ3Jvd3RoLCAkdXNlLW5lZ2F0aXZlIDogdHJ1ZSl9O1xuICB9XG4gIFxuICAvLy8gU2V0cyB0aGUgZ3V0dGVycyBhbmQgc3BhY2VycyB1c2luZyB0aGUgY2FsYyBcbiAgLy8vIG1ldGhvZCBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGNsYW1wXG4gIEBzdXBwb3J0cyBub3QgKCB3aWR0aDpjbGFtcCgxcHgsIDV2dywgMTBweCkpIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIDYge1xuXG4gICAgICAtLWd1dHRlciN7JGl9ICA6ICN7Z3V0dGVyKCRpLCAkdXNlLWNsYW1wIDogZmFsc2UgKX07IFxuICAgICAgLS1ndXR0ZXIjeyRpfS0gOiAje2d1dHRlcigkaSwgJHVzZS1jbGFtcCA6IGZhbHNlLCAkdXNlLW5lZ2F0aXZlIDogdHJ1ZSApfTtcblxuICAgICAgJHNwYWNlci1ncm93dGggOiBpZigkaSA9PSAwLCAyLCAkaSAqIDQpO1xuICAgICAgLS1zcGFjZXIjeyRpfSAgOiAje3NwYWNlcigkc3BhY2VyLWdyb3d0aCwgJHVzZS1jbGFtcCA6IGZhbHNlICl9OyBcbiAgICAgIC0tc3BhY2VyI3skaX0tIDogI3tzcGFjZXIoJHNwYWNlci1ncm93dGgsICR1c2UtY2xhbXAgOiBmYWxzZSwgJHVzZS1uZWdhdGl2ZSA6IHRydWUgKX07XG4gICAgfSAgICBcbiAgfVxuXG4gIC8vLyBUaGlzIGlzIHRoZSBjYWxjdWxhdGVkIHdpZHRoIG9mIGEgc2luZ2xlIGd1dHRlciB0aGF0IG9jY3VycyB3aGVuIHRoZSB1c2Vyc1xuICAvLy8gdmlld3BvcnQgaXMgbGFyZ2VyIHRoYW4gdGhlIGxhcmdlc3QgbWVkaWEgcXVlcnkgYnJlYWtwb2ludC4gUHJpbWFybHkgdXNlZCB0b1xuICAvLy8gb2Zmc2V0IG92ZXJibG93biBjb250ZW50IGZvciBwcmV2ZW50aW5nIGhvcml6b250YWwgc2Nyb2xsaW5nIG9uIHRoZSA8Ym9keT4uXG4gIC8vIC0tY29tcHV0ZWQtZ3V0dGVyIDogY2FsYygoKDEwMHZ3IC0gI3t2YXIoLS1icmVha3BvaW50LW1heCl9KSAvIDIpIC0gI3t2YXIoLS1ndXR0ZXIyKX0pO1xuICAtLWNvbXB1dGVkLWd1dHRlciA6IGNhbGMoKCgxMDB2dyAtICN7dmFyKC0tYnJlYWtwb2ludC1tYXgpfSkgLyAyKSk7XG5cblxufSIsIi8vLyBHbG9iYWwgdHlwb2dyYXBoaWMgc3R5bGluZyB0aGF0IGVmZmVjdHMgZXZlcnl0aGluZy5cbi8vLyBJZiB5b3Ugd2FudCB0byB1cGRhdGUgc3R5bGluZyBmb3IgY29udGVudCBibG9jayB0ZXh0IGZpZWxkcywgaW50cm9kdWN0aW9uIGZpZWxkcyxcbi8vLyBvciBhbnl0aGluZyBhc3NpZ25lZCBhIC50ZXh0IGNsYXNzIG9uIGl0J3MgY29udGFpbmVyIHRoZW4gZWRpdCB0aGlzIGZpbGU6XG4vLy8gQHNlZSAvc3JjL3Nhc3MvY29tcG9uZW50cy90ZXh0XG5cbkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdsYXRvJztcbiAgc3JjOiB1cmwoJy4uLy4uLy4uL2Fzc2V0cy9mb250cy9sYXRvLWJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIHVybCgnLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tYm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCcuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1ib2xkLm90ZicpIGZvcm1hdCgnb3BlbnR5cGUnKTtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2xhdG8nO1xuICBzcmM6IHVybCgnLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tc2VtaWJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIHVybCgnLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tc2VtaWJvbGQud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgIHVybCgnLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tc2VtaWJvbGQub3RmJykgZm9ybWF0KCdvcGVudHlwZScpO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnbGF0byc7XG4gIHNyYzogdXJsKCcuLi8uLi8uLi9hc3NldHMvZm9udHMvbGF0by1yZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCB1cmwoJy4uLy4uLy4uL2Fzc2V0cy9mb250cy9sYXRvLXJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgIHVybCgnLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL2xhdG8tcmVndWxhci5vdGYnKSBmb3JtYXQoJ29wZW50eXBlJyk7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdtb250c2VycmF0JztcbiAgc3JjOiB1cmwoJy4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LW1lZGl1bS53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgdXJsKCcuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1tZWRpdW0ud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgIHVybCgnLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtbWVkaXVtLm90ZicpIGZvcm1hdCgnb3BlbnR5cGUnKTtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ21vbnRzZXJyYXQnO1xuICBzcmM6IHVybCgnLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL21vbnRzZXJyYXQtbWVkaXVtLWl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgdXJsKCcuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1tZWRpdW0taXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJy4uLy4uLy4uL2Fzc2V0cy9mb250cy9tb250c2VycmF0LW1lZGl1bS1pdGFsaWMub3RmJykgZm9ybWF0KCdvcGVudHlwZScpO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnbW9udHNlcnJhdCc7XG4gIHNyYzogdXJsKCcuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1zZW1pYm9sZC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgdXJsKCcuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1zZW1pYm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCcuLi8uLi8uLi9hc3NldHMvZm9udHMvbW9udHNlcnJhdC1zZW1pYm9sZC5vdGYnKSBmb3JtYXQoJ29wZW50eXBlJyk7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG5ib2R5IHtcbiAgQGluY2x1ZGUgZm9udC1tb250c2VycmF0KCk7XG4gIGNvbG9yOiB2YXIoLS1mb250LWNvbG91ciwgJGZvbnQtY29sb3VyKTtcbiAgbGluZS1oZWlnaHQ6ICRmb250LWxpbmUtaGVpZ2h0O1xuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udHNpemUoJGZvbnQtc2l6ZS1taW4sICRmb250LXNpemUtbWF4KTtcbn1cblxuaDEge1xuICBAaW5jbHVkZSBoZWFkaW5nLWgxO1xufVxuaDIge1xuICBAaW5jbHVkZSBoZWFkaW5nLWgyO1xufVxuaDMge1xuICBAaW5jbHVkZSBoZWFkaW5nLWgzO1xufVxuaDQge1xuICBAaW5jbHVkZSBoZWFkaW5nLWg0O1xufVxuaDUge1xuICBAaW5jbHVkZSBoZWFkaW5nLWg1O1xufVxuaDYge1xuICBAaW5jbHVkZSBoZWFkaW5nLWg2O1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBAaW5jbHVkZSBmb250LWxhdG8oYm9sZCk7XG4gIGNvbG9yOiB2YXIoLS1oZWFkaW5nLWNvbG91ciwgdmFyKC0tZm9udC1jb2xvdXIpKTtcbiAgdGV4dC13cmFwOiBwcmV0dHk7XG5cbiAgJi5zdWItaGVhZGluZyB7XG4gICAgY29sb3I6IHZhcigtLXN1Yi1oZWFkaW5nLWNvbG91cik7XG4gICAgQGluY2x1ZGUgZm9udC1sYXRvKHNlbWktYm9sZCk7XG4gIH1cblxuICBzcGFuLFxuICBzdHJvbmcsXG4gIHAge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICB9XG59XG5cbnEsXG5ibG9ja3F1b3RlIHtcbiAgcXVvdGVzOiAn4oCcJyAn4oCdJyAn4oCYJyAn4oCZJztcbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBvcGVuLXF1b3RlO1xuICB9XG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBjbG9zZS1xdW90ZTtcbiAgfVxufVxuXG5hIHtcbiAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb247XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC11bmRlcmxpbmUtcG9zaXRpb246IHVuZGVyO1xuICBjb2xvcjogdmFyKC0tZm9udC1jb2xvdXIpO1xuICAmLmV4dGVybmFsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHN2Zy5leHRlcm5hbC1saW5rIHtcbiAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgIHdpZHRoOiAwLjhlbTtcbiAgICAgIGhlaWdodDogMC44ZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC41ZW07XG4gICAgfVxuICB9XG59XG5cbm9sLFxudWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG59XG5cbmxpIHtcbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cbn1cblxuc21hbGwge1xuICBmb250LXNpemU6IGZvbnQtc2l6ZSgxMCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG59XG5cbmhyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taHItY29sb3VyLCAkZ3JleTQpO1xuICBtYXJnaW4tdG9wOiAkc3BhY2VyMDtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjA7XG59XG5cbi5ub3RlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjViZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZTEzYztcbiAgcGFkZGluZzogJGd1dHRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGNvbG9yOiAjOTc4MDAyO1xuICB9XG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJ1BsZWFzZSBOb3RlJztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICM5NzgwMDI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogJGdhcDA7XG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gRm9udFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSAnY29sb3VycycgYXMgKjtcblxuJGNvbG91ciAgICAgIDogJGdyZXkyO1xuJHNpemUgICAgICAgIDogMS41cmVtICFkZWZhdWx0O1xuJHNpemUtbWluICAgIDogMS40cmVtICFkZWZhdWx0OyBcbiRzaXplLW1heCAgICA6IDEuNnJlbSAhZGVmYXVsdDsgXG4kbGluZS1oZWlnaHQgOiAxLjYgIWRlZmF1bHQ7IFxuXG4kc2l6ZS1oMSAgICAgOiA2LjFlbSAhZGVmYXVsdDtcbiRzaXplLWgxLW1pbiA6IDRlbSAhZGVmYXVsdDtcbiRzaXplLWgyICAgICA6IDMuMmVtICFkZWZhdWx0O1xuJHNpemUtaDMgICAgIDogMi41ZW0gIWRlZmF1bHQ7XG4kc2l6ZS1oNCAgICAgOiAxLjdlbSAhZGVmYXVsdDtcbiRzaXplLWg1ICAgICA6IDEuN2VtICFkZWZhdWx0O1xuJHNpemUtaDYgICAgIDogMS43ZW0gIWRlZmF1bHQ7XG4gIFxuLy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vLyBMYXRvIEZvbnRcbi8vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLy8gVGhpcyBmb250IGl0IHByaW1hcmlseSB1c2VkIGZvciBoZWFkaW5ncyAoPGgqPiB0YWdzKVxuLy8vIEBleGFtcGxlIEBpbmNsdWRlIGZvbnQtbGF0byhib2xkKVxuXG5AbWl4aW4gbGF0bygkd2VpZ2h0OnJlZ3VsYXIpIHtcblxuICBmb250LWZhbWlseTpsYXRvLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG5cbiAgQGlmICggJHdlaWdodCA9PSAncmVndWxhcicpIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9IEBlbHNlIGlmICggJHdlaWdodCA9PSAnc2VtaS1ib2xkJyBvciAkd2VpZ2h0ID09ICdzZW1pYm9sZCcpIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9IEBlbHNlIGlmICggJHdlaWdodCA9PSAnYm9sZCcpIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG5cbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLy8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vLyBNb250c2VycmF0IEZvbnRcbi8vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLy8gVGhpcyBpcyB0aGUgYmFzZSBmb250IHVzZWQgZm9yIGFsbCBzdGFuZGFyZCBjb3B5IHRocm91Z2hvdXQgdGhlIHNpdGUuXG4vLy8gQGV4YW1wbGUgQGluY2x1ZGUgZm9udC1tb250c2VycmF0KClcblxuQG1peGluIG1vbnRzZXJyYXQoJHdlaWdodDpyZWd1bGFyKSB7XG5cbiAgZm9udC1mYW1pbHk6bW9udHNlcnJhdCwgc2Fucy1zZXJpZjtcbiAgXG4gIEBpZiAoICR3ZWlnaHQgPT0gJ3JlZ3VsYXInKSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gIH0gQGVsc2UgaWYgKCAkd2VpZ2h0ID09ICdpdGFsaWMnKSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIH0gQGVsc2UgaWYgKCAkd2VpZ2h0ID09ICdib2xkJykge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICB9XG5cbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblxufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gUmVzcG9uc2l2ZSBGb250c2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjcmVzcG9uc2l2ZS1mb250c2l6ZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSAnLi4vaGVscGVycy9icmVhayc7XG5AdXNlIFwic2FzczptYXBcIjtcblxuQG1peGluIHJlc3BvbnNpdmUtZm9udHNpemUoJG1pbiwgJG1heCwgJHNjYWxlciA6IDEuNXZ3LCAkYnJlYWtwb2ludHMgOiAobWluOjk1MHB4LCBtYXg6MTYwMHB4KSkge1xuICBcblx0Ly8gUmVzcG9uc2l2ZSBmb250c2l6ZVxuICBAc3VwcG9ydHMgKCB3aWR0aDpjbGFtcCgxcHgsIDV2dywgMTBweCkpIHtcbiAgICBmb250LXNpemU6Y2xhbXAoI3skbWlufSwgI3skc2NhbGVyfSwgI3skbWF4fSk7ICAgXG5cdH1cblxuXHQvLyBSZXNwb25zaXZlIGZvbnRzaXplIGZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgJ2NsYW1wJ1xuXHRAc3VwcG9ydHMgbm90ICh3aWR0aDpjbGFtcCgxcHgsIDV2dywgMTBweCkpIHtcblx0XHRAaW5jbHVkZSBicmVhay5pbihtYXAuZ2V0KCRicmVha3BvaW50cywgJ21pbicpKSB7IGZvbnQtc2l6ZTokbWluOyB9XG5cdFx0QGluY2x1ZGUgYnJlYWsub3V0KG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAnbWF4JykpIHsgZm9udC1zaXplOiRtYXg7IH1cblx0fVxufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBIZWFkaW5nc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSAnc2FzczpzdHJpbmcnO1xuQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnc2FzczptZXRhJztcbkB1c2UgJ3Nhc3M6bWF0aCc7XG5AdXNlICcuL2NvbGxlY3Rpb25zL2ZvbnQnO1xuQHVzZSAnLi9tb2R1bGVzL3VuaXQnO1xuXG4vLyBEZWZhdWx0IEhlYWRpbmcgVmFsdWVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaDEgOiAoXG4gICdmb250LXNpemUnICAgOiAzLjByZW0sXG4gICdsaW5lLWhlaWdodCcgOiAxLjFcbikgIWRlZmF1bHQ7XG5cbiRoMiA6IChcbiAgJ2ZvbnQtc2l6ZScgICA6IDIuNXJlbSxcbiAgJ2xpbmUtaGVpZ2h0JyA6IDEuM1xuKSAhZGVmYXVsdDtcblxuJGgzIDogKFxuICAnZm9udC1zaXplJyAgIDogMi4ycmVtLFxuICAnbGluZS1oZWlnaHQnIDogMS40XG4pICFkZWZhdWx0O1xuXG4kaDQgOiAoXG4gICdmb250LXNpemUnICAgOiAyLjByZW0sXG4gICdsaW5lLWhlaWdodCcgOiAxLjRcbikgIWRlZmF1bHQ7XG5cbiRoNSA6IChcbiAgJ2ZvbnQtc2l6ZScgICA6IDEuOHJlbSxcbiAgJ2xpbmUtaGVpZ2h0JyA6IDEuNFxuKSAhZGVmYXVsdDtcblxuJGg2IDogKFxuICAnZm9udC1zaXplJyAgIDogMS42cmVtLFxuICAnbGluZS1oZWlnaHQnIDogMS40XG4pICFkZWZhdWx0O1xuXG4kYmFzZSA6IDYyLjUgIWRlZmF1bHQ7XG4kc2NhbGVyIDogMS41dncgIWRlZmF1bHQ7XG4kZW5hYmxlLWNyb3BwaW5nIDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhbGxiYWNrIExpbmUtaGVpZ2h0cyBzaG91bGQgdGhleSBub3QgaGF2ZSBiZWVuIHBhc3NlZCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpZiBub3QgbWFwLmhhcy1rZXkoJGgxLCBcImxpbmUtaGVpZ2h0XCIpIHsgJGgxIDogbWFwLnNldCgkaDEsICdsaW5lLWhlaWdodCcsIDEuMSk7IH1cbkBpZiBub3QgbWFwLmhhcy1rZXkoJGgyLCBcImxpbmUtaGVpZ2h0XCIpIHsgJGgyIDogbWFwLnNldCgkaDIsICdsaW5lLWhlaWdodCcsIDEuMyk7IH1cbkBpZiBub3QgbWFwLmhhcy1rZXkoJGgzLCBcImxpbmUtaGVpZ2h0XCIpIHsgJGgzIDogbWFwLnNldCgkaDMsICdsaW5lLWhlaWdodCcsIDEuNCk7IH1cbkBpZiBub3QgbWFwLmhhcy1rZXkoJGg0LCBcImxpbmUtaGVpZ2h0XCIpIHsgJGg0IDogbWFwLnNldCgkaDQsICdsaW5lLWhlaWdodCcsIDEuNCk7IH1cbkBpZiBub3QgbWFwLmhhcy1rZXkoJGg1LCBcImxpbmUtaGVpZ2h0XCIpIHsgJGg1IDogbWFwLnNldCgkaDUsICdsaW5lLWhlaWdodCcsIDEuNCk7IH1cbkBpZiBub3QgbWFwLmhhcy1rZXkoJGg2LCBcImxpbmUtaGVpZ2h0XCIpIHsgJGg2IDogbWFwLnNldCgkaDYsICdsaW5lLWhlaWdodCcsIDEuNCk7IH1cblxuLy8gRGVmaW5lIHRoZSB2YXJpYWJsZXMgc28gdGhleSBhcmUgc3RpbGwgYWNjZXNpYmxlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGgxLWZvbnQtc2l6ZSAgICAgOiBtYXAtZ2V0KCRoMSwgJ2ZvbnQtc2l6ZScpO1xuJGgxLWxpbmUtaGVpZ2h0ICAgOiBtYXAtZ2V0KCRoMSwgJ2xpbmUtaGVpZ2h0Jyk7XG4kaDEtZm9udC1zaXplLW1pbiA6IGlmKG1hcC5oYXMta2V5KCRoMSwgXCJmb250LXNpemUtbWluXCIpLCBtYXAtZ2V0KCRoMSwgXCJmb250LXNpemUtbWluXCIpLCBmYWxzZSk7XG4kaDEtc2NhbGVyICAgICAgICA6IGlmKG1hcC5oYXMta2V5KCRoMSwgXCJzY2FsZXJcIiksIG1hcC1nZXQoJGgxLCBcInNjYWxlclwiKSwgJHNjYWxlcik7XG5cbiRoMi1mb250LXNpemUgICAgIDogbWFwLWdldCgkaDIsICdmb250LXNpemUnKTtcbiRoMi1saW5lLWhlaWdodCAgIDogbWFwLWdldCgkaDIsICdsaW5lLWhlaWdodCcpO1xuJGgyLWZvbnQtc2l6ZS1taW4gOiBpZihtYXAuaGFzLWtleSgkaDIsIFwiZm9udC1zaXplLW1pblwiKSwgbWFwLWdldCgkaDIsIFwiZm9udC1zaXplLW1pblwiKSwgZmFsc2UpO1xuJGgyLXNjYWxlciAgICAgICAgOiBpZihtYXAuaGFzLWtleSgkaDIsIFwic2NhbGVyXCIpLCBtYXAtZ2V0KCRoMiwgXCJzY2FsZXJcIiksICRzY2FsZXIpO1xuXG4kaDMtZm9udC1zaXplICAgICA6IG1hcC1nZXQoJGgzLCAnZm9udC1zaXplJyk7XG4kaDMtbGluZS1oZWlnaHQgICA6IG1hcC1nZXQoJGgzLCAnbGluZS1oZWlnaHQnKTtcbiRoMy1mb250LXNpemUtbWluIDogaWYobWFwLmhhcy1rZXkoJGgzLCBcImZvbnQtc2l6ZS1taW5cIiksIG1hcC1nZXQoJGgzLCBcImZvbnQtc2l6ZS1taW5cIiksIGZhbHNlKTtcbiRoMy1zY2FsZXIgICAgICAgIDogaWYobWFwLmhhcy1rZXkoJGgzLCBcInNjYWxlclwiKSwgbWFwLWdldCgkaDMsIFwic2NhbGVyXCIpLCAkc2NhbGVyKTtcblxuJGg0LWZvbnQtc2l6ZSAgICAgOiBtYXAtZ2V0KCRoNCwgJ2ZvbnQtc2l6ZScpO1xuJGg0LWxpbmUtaGVpZ2h0ICAgOiBtYXAtZ2V0KCRoNCwgJ2xpbmUtaGVpZ2h0Jyk7XG4kaDQtZm9udC1zaXplLW1pbiA6IGlmKG1hcC5oYXMta2V5KCRoNCwgXCJmb250LXNpemUtbWluXCIpLCBtYXAtZ2V0KCRoNCwgXCJmb250LXNpemUtbWluXCIpLCBmYWxzZSk7XG4kaDQtc2NhbGVyICAgICAgICA6IGlmKG1hcC5oYXMta2V5KCRoNCwgXCJzY2FsZXJcIiksIG1hcC1nZXQoJGg0LCBcInNjYWxlclwiKSwgJHNjYWxlcik7XG5cbiRoNS1mb250LXNpemUgICAgIDogbWFwLWdldCgkaDUsICdmb250LXNpemUnKTtcbiRoNS1saW5lLWhlaWdodCAgIDogbWFwLWdldCgkaDUsICdsaW5lLWhlaWdodCcpO1xuJGg1LWZvbnQtc2l6ZS1taW4gOiBpZihtYXAuaGFzLWtleSgkaDUsIFwiZm9udC1zaXplLW1pblwiKSwgbWFwLWdldCgkaDUsIFwiZm9udC1zaXplLW1pblwiKSwgZmFsc2UpO1xuJGg1LXNjYWxlciAgICAgICAgOiBpZihtYXAuaGFzLWtleSgkaDUsIFwic2NhbGVyXCIpLCBtYXAtZ2V0KCRoNSwgXCJzY2FsZXJcIiksICRzY2FsZXIpO1xuXG4kaDYtZm9udC1zaXplICAgICA6IG1hcC1nZXQoJGg2LCAnZm9udC1zaXplJyk7XG4kaDYtbGluZS1oZWlnaHQgICA6IG1hcC1nZXQoJGg2LCAnbGluZS1oZWlnaHQnKTtcbiRoNi1mb250LXNpemUtbWluIDogaWYobWFwLmhhcy1rZXkoJGg2LCBcImZvbnQtc2l6ZS1taW5cIiksIG1hcC1nZXQoJGg2LCBcImZvbnQtc2l6ZS1taW5cIiksIGZhbHNlKTtcbiRoNi1zY2FsZXIgICAgICAgIDogaWYobWFwLmhhcy1rZXkoJGg2LCBcInNjYWxlclwiKSwgbWFwLWdldCgkaDYsIFwic2NhbGVyXCIpLCAkc2NhbGVyKTtcblxuLy8gSGFuZGxlcyBDcm9wcyBzaG91bGQgdGhleSBub3QgaGF2ZSBiZWVuIHBhc3NlZCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJF9oMS1jcm9wLXRvcCAgICA6IGlmKG1hcC5oYXMta2V5KCRoMSwgXCJjcm9wLXRvcFwiKSwgbWFwLWdldCgkaDEsIFwiY3JvcC10b3BcIiksIGZhbHNlKTtcbiRfaDItY3JvcC10b3AgICAgOiBpZihtYXAuaGFzLWtleSgkaDIsIFwiY3JvcC10b3BcIiksIG1hcC1nZXQoJGgyLCBcImNyb3AtdG9wXCIpLCBmYWxzZSk7XG4kX2gzLWNyb3AtdG9wICAgIDogaWYobWFwLmhhcy1rZXkoJGgzLCBcImNyb3AtdG9wXCIpLCBtYXAtZ2V0KCRoMywgXCJjcm9wLXRvcFwiKSwgZmFsc2UpO1xuJF9oNC1jcm9wLXRvcCAgICA6IGlmKG1hcC5oYXMta2V5KCRoNCwgXCJjcm9wLXRvcFwiKSwgbWFwLWdldCgkaDQsIFwiY3JvcC10b3BcIiksIGZhbHNlKTtcbiRfaDUtY3JvcC10b3AgICAgOiBpZihtYXAuaGFzLWtleSgkaDUsIFwiY3JvcC10b3BcIiksIG1hcC1nZXQoJGg1LCBcImNyb3AtdG9wXCIpLCBmYWxzZSk7XG4kX2g2LWNyb3AtdG9wICAgIDogaWYobWFwLmhhcy1rZXkoJGg2LCBcImNyb3AtdG9wXCIpLCBtYXAtZ2V0KCRoNiwgXCJjcm9wLXRvcFwiKSwgZmFsc2UpO1xuXG4kX2gxLWNyb3AtYm90dG9tIDogaWYobWFwLmhhcy1rZXkoJGgxLCBcImNyb3AtYm90dG9tXCIpLCBtYXAtZ2V0KCRoMSwgXCJjcm9wLWJvdHRvbVwiKSwgZmFsc2UpO1xuJF9oMi1jcm9wLWJvdHRvbSA6IGlmKG1hcC5oYXMta2V5KCRoMiwgXCJjcm9wLWJvdHRvbVwiKSwgbWFwLWdldCgkaDIsIFwiY3JvcC1ib3R0b21cIiksIGZhbHNlKTtcbiRfaDMtY3JvcC1ib3R0b20gOiBpZihtYXAuaGFzLWtleSgkaDMsIFwiY3JvcC1ib3R0b21cIiksIG1hcC1nZXQoJGgzLCBcImNyb3AtYm90dG9tXCIpLCBmYWxzZSk7XG4kX2g0LWNyb3AtYm90dG9tIDogaWYobWFwLmhhcy1rZXkoJGg0LCBcImNyb3AtYm90dG9tXCIpLCBtYXAtZ2V0KCRoNCwgXCJjcm9wLWJvdHRvbVwiKSwgZmFsc2UpO1xuJF9oNS1jcm9wLWJvdHRvbSA6IGlmKG1hcC5oYXMta2V5KCRoNSwgXCJjcm9wLWJvdHRvbVwiKSwgbWFwLWdldCgkaDUsIFwiY3JvcC1ib3R0b21cIiksIGZhbHNlKTtcbiRfaDYtY3JvcC1ib3R0b20gOiBpZihtYXAuaGFzLWtleSgkaDYsIFwiY3JvcC1ib3R0b21cIiksIG1hcC1nZXQoJGg2LCBcImNyb3AtYm90dG9tXCIpLCBmYWxzZSk7XG5cblxuLy8gTWl4aW5zIGZvciBlYWNoIGhlYWRpbmcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIF9zZXQtY3JvcCgkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRjcm9wKSB7XG5cbiAgQGlmIChtZXRhLnR5cGUtb2YoJGNyb3ApID09ICdtYXAnKSB7XG5cbiAgICAkZm9udC1zaXplICAgOiB1bml0LnN0cmlwKCRmb250LXNpemUpICogMTA7XG4gICAgJGxpbmUtaGVpZ2h0IDogdW5pdC5zdHJpcCgkbGluZS1oZWlnaHQpO1xuICAgICR0b3AgICAgICAgICA6IGlmKG1hcC5oYXMta2V5KCRjcm9wLCBcInRvcFwiKSwgdW5pdC5zdHJpcChtYXAuZ2V0KCRjcm9wLCBcInRvcFwiKSksIDApO1xuICAgICRib3R0b20gICAgICA6IGlmKG1hcC5oYXMta2V5KCRjcm9wLCBcImJvdHRvbVwiKSwgdW5pdC5zdHJpcChtYXAuZ2V0KCRjcm9wLCBcImJvdHRvbVwiKSksIDApO1xuXG4gICAgQGluY2x1ZGUgZm9udC5jcm9wKCRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJHRvcCwgJGJvdHRvbSk7XG5cbiAgfVxuXG59XG5cbkBtaXhpbiBoMSgkZm9udC1zaXplLW9ubHkgOiBmYWxzZSwgJGNyb3AgOiAkZW5hYmxlLWNyb3BwaW5nKSB7XG5cbiAgZm9udC1zaXplIDogZm9udC5zaXplKCRoMS1mb250LXNpemUpO1xuXG4gIEBpZiAoICRoMS1mb250LXNpemUtbWluIGFuZCAkaDEtZm9udC1zaXplLW1pbiA8ICRoMS1mb250LXNpemUgKSB7XG4gICAgZm9udC1zaXplIDogY2xhbXAoI3tmb250LnNpemUoJGgxLWZvbnQtc2l6ZS1taW4pfSwgI3skaDEtc2NhbGVyfSwgI3tmb250LnNpemUoJGgxLWZvbnQtc2l6ZSl9KTtcbiAgfVxuXG4gIEBpZiBub3QgJGZvbnQtc2l6ZS1vbmx5IHsgXG5cbiAgICBAaWYgKCAkY3JvcCApIHsgXG4gICAgICBAaW5jbHVkZSBmb250LmNyb3AoJGgxLWZvbnQtc2l6ZSwgJGgxLWxpbmUtaGVpZ2h0LCAkX2gxLWNyb3AtdG9wLCAkX2gxLWNyb3AtYm90dG9tICk7IFxuICAgIH0gQGVsc2Uge1xuICAgICAgbGluZS1oZWlnaHQgOiAkaDEtbGluZS1oZWlnaHQ7IFxuICAgIH1cblxuICB9XG5cbn1cblxuQG1peGluIGgyKCRmb250LXNpemUtb25seSA6IGZhbHNlLCAkY3JvcCA6ICRlbmFibGUtY3JvcHBpbmcpIHtcblxuICBmb250LXNpemUgOiBmb250LnNpemUoJGgyLWZvbnQtc2l6ZSk7XG5cbiAgQGlmICggJGgyLWZvbnQtc2l6ZS1taW4gYW5kICRoMi1mb250LXNpemUtbWluIDwgJGgyLWZvbnQtc2l6ZSApIHtcbiAgICBmb250LXNpemUgOiBjbGFtcCgje2ZvbnQuc2l6ZSgkaDItZm9udC1zaXplLW1pbil9LCAjeyRoMi1zY2FsZXJ9LCAje2ZvbnQuc2l6ZSgkaDItZm9udC1zaXplKX0pO1xuICB9XG5cbiAgQGlmIG5vdCAkZm9udC1zaXplLW9ubHkgeyBcblxuICAgIEBpZiAoICRjcm9wICkgeyBcbiAgICAgIEBpbmNsdWRlIGZvbnQuY3JvcCgkaDItZm9udC1zaXplLCAkaDItbGluZS1oZWlnaHQsICRfaDItY3JvcC10b3AsICRfaDItY3JvcC1ib3R0b20gKTsgXG4gICAgfSBAZWxzZSB7XG4gICAgICBsaW5lLWhlaWdodCA6ICRoMi1saW5lLWhlaWdodDsgXG4gICAgfVxuICAgIFxuICB9XG5cbn1cblxuQG1peGluIGgzKCRmb250LXNpemUtb25seSA6IGZhbHNlLCAkY3JvcCA6ICRlbmFibGUtY3JvcHBpbmcpIHtcblxuICBmb250LXNpemUgOiBmb250LnNpemUoJGgzLWZvbnQtc2l6ZSk7XG5cbiAgQGlmICggJGgzLWZvbnQtc2l6ZS1taW4gYW5kICRoMy1mb250LXNpemUtbWluIDwgJGgzLWZvbnQtc2l6ZSApIHtcbiAgICBmb250LXNpemUgOiBjbGFtcCgje2ZvbnQuc2l6ZSgkaDMtZm9udC1zaXplLW1pbil9LCAjeyRoMy1zY2FsZXJ9LCAje2ZvbnQuc2l6ZSgkaDMtZm9udC1zaXplKX0pO1xuICB9XG5cbiAgQGlmIG5vdCAkZm9udC1zaXplLW9ubHkgeyBcblxuICAgIEBpZiAoICRjcm9wICkgeyBcbiAgICAgIEBpbmNsdWRlIGZvbnQuY3JvcCgkaDMtZm9udC1zaXplLCAkaDMtbGluZS1oZWlnaHQsICRfaDMtY3JvcC10b3AsICRfaDMtY3JvcC1ib3R0b20gKTsgXG4gICAgfSBAZWxzZSB7XG4gICAgICBsaW5lLWhlaWdodCA6ICRoMy1saW5lLWhlaWdodDsgXG4gICAgfVxuICAgIFxuICB9XG5cbn1cblxuQG1peGluIGg0KCRmb250LXNpemUtb25seSA6IGZhbHNlLCAkY3JvcCA6ICRlbmFibGUtY3JvcHBpbmcpIHtcblxuICBmb250LXNpemUgOiBmb250LnNpemUoJGg0LWZvbnQtc2l6ZSk7XG5cbiAgQGlmICggJGg0LWZvbnQtc2l6ZS1taW4gYW5kICRoNC1mb250LXNpemUtbWluIDwgJGg0LWZvbnQtc2l6ZSApIHtcbiAgICBmb250LXNpemUgOiBjbGFtcCgje2ZvbnQuc2l6ZSgkaDQtZm9udC1zaXplLW1pbil9LCAjeyRoNC1zY2FsZXJ9LCAje2ZvbnQuc2l6ZSgkaDQtZm9udC1zaXplKX0pO1xuICB9XG5cbiAgQGlmIG5vdCAkZm9udC1zaXplLW9ubHkgeyBcblxuICAgIEBpZiAoICRjcm9wICkgeyBcbiAgICAgIEBpbmNsdWRlIGZvbnQuY3JvcCgkaDQtZm9udC1zaXplLCAkaDQtbGluZS1oZWlnaHQsICRfaDQtY3JvcC10b3AsICRfaDQtY3JvcC1ib3R0b20gKTsgXG4gICAgfSBAZWxzZSB7XG4gICAgICBsaW5lLWhlaWdodCA6ICRoNC1saW5lLWhlaWdodDsgXG4gICAgfVxuICAgIFxuICB9XG5cbn1cblxuQG1peGluIGg1KCRmb250LXNpemUtb25seSA6IGZhbHNlLCAkY3JvcCA6ICRlbmFibGUtY3JvcHBpbmcpIHtcblxuICBmb250LXNpemUgOiBmb250LnNpemUoJGg1LWZvbnQtc2l6ZSk7XG5cbiAgQGlmICggJGg1LWZvbnQtc2l6ZS1taW4gYW5kICRoNS1mb250LXNpemUtbWluIDwgJGg1LWZvbnQtc2l6ZSApIHtcbiAgICBmb250LXNpemUgOiBjbGFtcCgje2ZvbnQuc2l6ZSgkaDUtZm9udC1zaXplLW1pbil9LCAjeyRoNS1zY2FsZXJ9LCAje2ZvbnQuc2l6ZSgkaDUtZm9udC1zaXplKX0pO1xuICB9XG5cbiAgQGlmIG5vdCAkZm9udC1zaXplLW9ubHkgeyBcblxuICAgIEBpZiAoICRjcm9wICkgeyBcbiAgICAgIEBpbmNsdWRlIGZvbnQuY3JvcCgkaDUtZm9udC1zaXplLCAkaDUtbGluZS1oZWlnaHQsICRfaDUtY3JvcC10b3AsICRfaDUtY3JvcC1ib3R0b20gKTsgXG4gICAgfSBAZWxzZSB7XG4gICAgICBsaW5lLWhlaWdodCA6ICRoNS1saW5lLWhlaWdodDsgXG4gICAgfVxuICAgIFxuICB9XG5cbn1cblxuQG1peGluIGg2KCRmb250LXNpemUtb25seSA6IGZhbHNlLCAkY3JvcCA6ICRlbmFibGUtY3JvcHBpbmcpIHtcblxuICBmb250LXNpemUgOiBmb250LnNpemUoJGg2LWZvbnQtc2l6ZSk7XG5cbiAgQGlmICggJGg2LWZvbnQtc2l6ZS1taW4gYW5kICRoNi1mb250LXNpemUtbWluIDwgJGg2LWZvbnQtc2l6ZSApIHtcbiAgICBmb250LXNpemUgOiBjbGFtcCgje2ZvbnQuc2l6ZSgkaDYtZm9udC1zaXplLW1pbil9LCAjeyRoNi1zY2FsZXJ9LCAje2ZvbnQuc2l6ZSgkaDYtZm9udC1zaXplKX0pO1xuICB9XG5cbiAgQGlmIG5vdCAkZm9udC1zaXplLW9ubHkgeyBcblxuICAgIEBpZiAoICRjcm9wICkgeyBcbiAgICAgIEBpbmNsdWRlIGZvbnQuY3JvcDIoJGg2LWZvbnQtc2l6ZSwgJGg2LWxpbmUtaGVpZ2h0LCAkX2g2LWNyb3AtdG9wLCAkX2g2LWNyb3AtYm90dG9tICk7IFxuICAgIH0gQGVsc2Uge1xuICAgICAgbGluZS1oZWlnaHQgOiAkaDYtbGluZS1oZWlnaHQ7IFxuICAgIH1cbiAgICBcbiAgfVxuXG59XG5cblxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFVuaXRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLy8gQHNlZSBodHRwczovL2NvZGVwZW4uaW8vbWFya25vdHRvbi9wZW4vRXhQYk5HZVxuLy8vIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL21hcmtub3R0b24vZG9nZ2lzdHlsZS9ibG9iL21hc3Rlci9saWJyYXJ5L3NyYy9jcmVhdGUvX3VuaXRzLnNjc3NcblxuLy8vIFRoaXMgdW5pdHMgY3JlYXRvciB3aWxsIHJlbmRlciBzaXggcG9zaXRpdmUgYW5kIHNpeCBuZWdhdGl2ZSBzYXNzIHZhcmlhYmxlcyBmb3IgXG4vLy8gZ2Fwcywgc3BhY2VycywgYW5kIGd1dHRlcnMgcmVsYXRpdmUgdG8gdGhlIGJhc2UgdmFsdWVzIGRlZmluZWQgYmVsb3cuIFxuXG5AZm9yd2FyZCAnY3JlYXRlL3VuaXRzJyB3aXRoIChcblxuICAvLy8gR2FwcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8vIEdhcHMgYXJlIGFuIGFic29sdXRlIHVuaXQgKHB4KSBpbnRlbmRlZCB0byBiZSB1c2VkIG9uIGluZGl2aWR1YWwgZWxlbWVudHMgd2l0aGluIGEgY29tcG9uZW50ZWQuIFxuICAvLy8gVGhlIGFpbSBpcyB0byByZXRhaW4gY29uc2lzdGFudCBzcGFjaW5nIGFtb25nc3QgYmxvY2ssIGlubGluZSwgdGFibGUgYW5kIGdyb3VwIGh0bWwgZWxlbWVudHMuXG4gIC8vLyBHYXBzIG11c3QgdXNlIGFuIGFic29sdXRlIGFuZCBzdGF0aWMgJ3B4JyB1bml0LiBJdCBzaG91bGQgbm90IGJlIHJlbGF0aXZlIHRvIGFueVxuICAvLy8gcGFyZW50IGNvbnRhaW5lciBhbmQgaXMgbm90IGludGVuZGVkIGZvciBmb250IHNpemVzLCBzbyB5b3Ugc2hvdWxkIG5vdCB1c2UgJ3JlbScgb3IgJ2VtJy4gXG4gIC8vLyBAcmVzdWx0IDogJGdhcDAsICRnYXAsICRnYXAyLCAkZ2FwMywgJGdhcDQsICRnYXA1ICwgJGdhcDYsICRnYXAwLSwgJGdhcC0sICRnYXAyLSwgJGdhcDMtLCAkZ2FwNC0sICRnYXA1LSBhbmQgJGdhcDYtXG4gIFxuICAkZ2FwIDogMTZweCxcblxuICAvLyBTcGFjZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyBTcGFjZXJzIGFyZSBhIHJlbGF0aXZlIHZpZXdwb3J0IGhlaWdodCAodmgpIHVuaXQgaW50ZW5kZWQgdG8gYmUgdXNlZCBvbiBhIGNvbXBvbmVudGVkIGxldmVsLlxuICAvLy8gVGhlIGFpbSBpcyB0byByZXRhaW4gY29uc2lzdGFudCB0b3AgYW5kIGJvdHRvbSBzcGFjaW5nIGFtb25nc3QgJ3NlY3Rpb24nIGFuZCAnY3VzdG9tJyBlbGVtZW50cy5cbiAgLy8vIFNwYWNlcnMgd2lsbCBlcXVhdGUgdG8gc29tZXRoaW5nIGxpa2U6IGAoJHNwYWNlciAqIHgpICsgJGdhcGAuIFxuICAvLy8gVGhlICckZ2FwJyBpcyBhZGRlZCBzbyB0aGF0IHZoIHNwYWNpbmcgd2lsbCBuZXZlciBzY2FsZSB0b28gY2xvc2UgdG8gMHB4LiBcbiAgLy8vIFNwYWNlcnMgbXVzdCB1c2UgYSAndmgnIHVuaXQgc28gdGhleSBhcmUgcmVsYXRpdmUgdG8gdGhlIHVzZXJzIHZpZXdwb3J0IGhlaWdodC13aXNlLlxuICAvLy8gVGhleSBzaG91bGQgcHJpbWFyaWx5IGJlIHVzZWQgZm9yIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW5zIG9uIGEgY29tcG9uZW50IGxldmVsLlxuICAvLy8gQHJlc3VsdCA6ICRzcGFjZXIwLCAkc3BhY2VyLCAkc3BhY2VyLCAkc3BhY2VyLCAkc3BhY2VyNCwgJHNwYWNlcjUsICRzcGFjZXI2LCAkc3BhY2VyMC0sICRzcGFjZXItLCAkc3BhY2VyLSwgJHNwYWNlci0sICRzcGFjZXI0LSwgJHNwYWNlcjUtIGFuZCAkc3BhY2VyNi1cbiAgXG4gICRzcGFjZXIgOiA0dmgsIFxuXG4gIC8vIEd1dHRlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEd1dHRlcnMgYXJlIGEgcmVsYXRpdmUgdmlld3BvcnQgd2lkdGggKHZ3KSB1bml0IGludGVuZGVkIHRvIGJlIHVzZWQgb24gYSBwYXJlbnQgbGV2ZWw7XG4gIC8vIGZvciBleGFtcGxlLCBhIHdyYXBwZXIgY29udGFpbmVyIG9yIGJvZHkgd2l0aCBuZXN0ZWQgY29tcG9uZW50cy4gXG4gIC8vIFRoZSBhaW0gaXMgdG8gcmV0YWluIGNvbnNpc3RhbnQgbGVmdCBhbmQgcmlnaHQgc3BhY2luZyBhbW9uZ3N0ICdzZWN0aW9uJyBhbmQgJ2N1c3RvbScgZWxlbWVudHMuXG4gIC8vLyBHdXR0ZXJzIHdpbGwgZXF1YXRlIHRvIHNvbWV0aGluZyBsaWtlOiBgKCRndXR0ZXIgKiB4KSArICRnYXBgLiBcbiAgLy8vIFRoZSAnJGdhcCcgaXMgYWRkZWQgc28gdGhhdCB2dyBzcGFjaW5nIHdpbGwgbmV2ZXIgc2NhbGUgdG9vIGNsb3NlIHRvIDBweC4gXG4gIC8vLyBHdXR0ZXJzIG11c3QgdXNlIGEgJ3Z3JyB1bml0IHNvIHRoZXkgYXJlIHJlbGF0aXZlIHRvIHRoZSB1c2VycyB2aWV3cG9ydCB3aWR0aC13aXNlLiBcbiAgLy8vIFRoZXkgc2hvdWxkIHByaW1hcmlseSBiZSB1c2VkIGZvciB0aGUgbGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvciBtYXJnaW4gb24gYSBwYXJlbnQgbGV2ZWwuXG4gIC8vLyBBcyBhIHN1Z2dlc3Rpb24sIHRoaXMgZ3V0dGVyIGNvbnN0YW50IHNob3VsZCBiZSBoYWxmIHRoZSBzaXplIG9mIHRoZSBzcGFjZXIgdmFsdWUuXG4gIC8vLyBAcmVzdWx0IDogJGd1dHRlcjAsICRndXR0ZXIsICRndXR0ZXIyLCAkZ3V0dGVyMywgJGd1dHRlcjQsICRndXR0ZXI1LCAkZ3V0dGVyNiwgJGd1dHRlcjAtLCAkZ3V0dGVyLSwgJGd1dHRlcjItLCAkZ3V0dGVyMy0sICRndXR0ZXI0LSwgJGd1dHRlcjUtIGFuZCAkZ3V0dGVyNi1cbiAgXG4gICRndXR0ZXIgOiAzdncsIFxuXG4pO1xuXG4kYm9yZGVyLXJhZGl1cyA6IHZhcigtLWJvcmRlci1yYWRpdXMsIDZweCk7XG4kc2lkZWJhci13aWR0aCA6IDUwMHB4OyIsIkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gTGF5b3V0XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBMYXlvdXQgc3R5bGluZyBzaG91bGQgYmUgdXNlZCB0byBhZGp1c3QgbGF5b3V0IHByb3BlcnRpZXMgb25seS5cbi8vIFdoZXJlIHBvc3NpYmxlLCBpdCBzaG91bGQgbm90IGJlIHVzZWQgdG8gbWFuYWdlIHRoZSBhZXN0ZXRpY3Mgb2YgYSBwYWdlLlxuLy8gSW5zdGVhZCBvbmx5IHdpZHRocywgaGVpZ2h0LCBkaXNwbGF5LCBncmlkLCBwb3NpdGlvbiwgcGFkZGluZywgbWFyZ2lucywgb3JkZXIsIGFuZCBhbGlrZVxuLy8gc2hvdWxkIGJlIHRoZSBwcm9wZXJ0aWVzIGRlZmluZWQgaW4gdGhlc2UgZmlsZXMuIEtlZXAgdGhlIGxheW91dHMgaGVyZSBhbmRcbi8vIGNvbXBuZW50IHN0eWxpbmcgaW4gdGhlaXIgcmVzcGVjdGl2ZSBmaWxlcy5cblxuQG1peGluIHNpZGViYXItYmxvd291dC1vZmZzZXQoKSB7XG4gIC0tdHJhbnNsYXRlWDogMDtcbiAgd2lkdGg6IGNhbGMoMTAwdncgKyB2YXIoLS1zY3JvbGxiYXItd2lkdGgsIDBweCkpO1xuICBsZWZ0OiAjeyRndXR0ZXItfTtcbiAgQGluY2x1ZGUgYnJlYWstb3V0KG1heCkge1xuICAgIGxlZnQ6IGNhbGMoKC0xICogdmFyKC0tY29tcHV0ZWQtZ3V0dGVyKSkgLSAjeyRndXR0ZXJ9KTtcbiAgfVxufVxuXG4kY29tcG9uZW50LXRoZW1lczogKFxuICAncmVkJzogJHJlZCxcbiAgJ2JsdWUnOiAkYmx1ZSxcbiAgJ2dyZXknOiAkZ3JleTMsXG4gICd3aGl0ZSc6ICR3aGl0ZSxcbik7XG5cbmJvZHkge1xuICAvLyBHcmlkIFBvc2l0aW9uc1xuICAvLyBJJ20gdXNpbmcgbnVtYmVycyByYXRoZXIgdGhhbiBncmlkIGFzcmVhcyBiZWNhdXNlIHRoZSBwb3NpdGlvbmluZyBkb2Vzbid0XG4gIC8vIG5lZWQgdG8gYmUgYW55IG1vcmUgY29tcGxleCB0aGFuIGEgbnVtYmVyIGJldHdlZW4gMSBhbmQgNCBkZXBlbmRpbmcgb25cbiAgLy8gdGhlIGxheW91dCByZXF1aXJlbWVudHMuIFRoaXMgaXMgZXNzZW50aWFsbHkgZG9uZSB0byBoYW5kbGUgY2lyY29tc3RhbmNlc1xuICAvLyB3aGVyZSBzb21lIHBhZ2VzIGRvbid0IHJlcXVpcmUgYSBicmVhZGNydW1iIGJhciBvciBhbmNob3IgYmFyLlxuXG4gIC0tcm93LW5hdmlnYXRpb246IDE7XG4gIC0tcm93LWJyZWFkY3J1bWJzOiAyO1xuICAtLXJvdy1hbmNob3JzOiAzO1xuICAtLXJvdy1oZWFkZXI6IDQ7XG4gIC0tcm93LW1haW46IDU7XG4gIC0tcm93LWJhY2tncm91bmQ6IDE7XG4gIC0tcm93LXNpZGViYXI6IDQgLyBzcGFuIDM7XG4gIC0tcm93LWZvb3RlcjogMTAwO1xuICAtLXJvd3M6IGF1dG87XG5cbiAgLS1jb2x1bW4tbGVmdDogMjtcbiAgLS1jb2x1bW4tbWFpbjogMiAvIHNwYW4gMjtcbiAgLS1jb2x1bW4tcmlnaHQ6IDQ7XG4gIC0tY29sdW1uLWZ1bGw6IDIgLyAtMjtcbiAgLS1jb2x1bW4tZ3V0dGVyOiBtaW5tYXgoMCwgMWZyKTtcbiAgLS1jb2x1bW4tY29udGVudDogbWlubWF4KDAsIGNhbGMoI3skbWVkaWEtbWF4fSAtICh2YXIoLS1zaWRlYmFyLXdpZHRoKSAqIDIpIC0gI3skZ3V0dGVyNH0pKTtcbiAgLS1jb2x1bW4tc2lkZWJhcjogdmFyKC0tc2lkZWJhci13aWR0aCk7XG4gIC0tY29sdW1uczogdmFyKC0tY29sdW1uLWd1dHRlcikgdmFyKC0tY29sdW1uLXNpZGViYXIpIHZhcigtLWNvbHVtbi1jb250ZW50KSB2YXIoLS1jb2x1bW4tc2lkZWJhcikgdmFyKC0tY29sdW1uLWd1dHRlcik7XG5cbiAgZGlzcGxheTogZ3JpZDtcbiAgbWluLXdpZHRoOiAkbWVkaWEtbWluO1xuICBncmlkLWdhcDogMCAkZ3V0dGVyO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IHZhcigtLXJvd3MpO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHZhcigtLWNvbHVtbnMpO1xuXG4gID4gKiB7XG4gICAgZ3JpZC1jb2x1bW46IHZhcigtLWNvbHVtbi1mdWxsKTtcbiAgfVxufVxuXG5uYXZpZ2F0aW9uLWJhciB7XG4gIHotaW5kZXg6IDk5OTtcbiAgZ3JpZC1yb3c6IHZhcigtLXJvdy1uYXZpZ2F0aW9uKTtcbiAgJjpub3QoLmluLXZpZXcpIHtcbiAgICB+ICNicmVhZGNydW1icy1iYXIsXG4gICAgfiAjYW5jaG9ycy1iYXIge1xuICAgICAgLS1hbmNob3JzLWhlaWdodDogNTBweDtcbiAgICAgIC8vIC0tYnJlYWRjcnVtYi1oZWlnaHQ6IDcwcHg7XG4gICAgfVxuICB9XG59XG5cbi8vIEJyZWFkY3J1bWJzIEJhciA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiNicmVhZGNydW1icy1iYXIge1xuICB6LWluZGV4OiAyO1xuICBncmlkLXJvdzogdmFyKC0tcm93LWJyZWFkY3J1bWJzKTtcbiAgaGVpZ2h0OiB2YXIoLS1icmVhZGNydW1iLWhlaWdodCk7XG4gICYuc3RpY2t5IHtcbiAgICB0b3A6IHZhcigtLWJyZWFkY3J1bWItYW5kLWFuY2hvcnMtc3RpY2t5LXVuZGVyc2V0KTtcbiAgfVxufVxuXG4vLyBBbmNob3IgQmFyID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4jYW5jaG9ycy1iYXIge1xuICB6LWluZGV4OiAyO1xuICBncmlkLXJvdzogdmFyKC0tcm93LWFuY2hvcnMpO1xuICBoZWlnaHQ6IHZhcigtLWFuY2hvcnMtaGVpZ2h0KTtcbiAgJi5zdGlja3kge1xuICAgIHRvcDogY2FsYyh2YXIoLS1icmVhZGNydW1iLWhlaWdodCkgLSAxcHggKyAodmFyKC0tYnJlYWRjcnVtYi1hbmQtYW5jaG9ycy1zdGlja3ktdW5kZXJzZXQpICogMikpO1xuICAgIC8vIHRvcDpjYWxjKHZhcigtLWJyZWFkY3J1bWItaGVpZ2h0KSAtIDFweCk7XG4gIH1cbn1cblxuLy8gSGVhZGVyIENvbnRlbnQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmhlYWRlciB7XG4gIGdyaWQtcm93OiB2YXIoLS1yb3ctaGVhZGVyKTtcbiAgZ3JpZC1jb2x1bW46IHZhcigtLWNvbHVtbi1tYWluKTtcbiAgbWF4LXdpZHRoOiB2YXIoLS1tYWluLW1heC13aWR0aCk7XG59XG5cbiNmb290ZXIge1xuICBncmlkLXJvdzogdmFyKC0tcm93LWZvb3Rlcik7XG59XG5cbi8vIE1haW4gQ29udGVudCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbm1haW4ge1xuICBncmlkLXJvdzogdmFyKC0tcm93LW1haW4pO1xuICBncmlkLWNvbHVtbjogdmFyKC0tY29sdW1uLW1haW4pO1xuICBtYXgtd2lkdGg6IHZhcigtLW1haW4tbWF4LXdpZHRoKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvLyBGaXJzdCBsZXZlbCBlbGVtZW50cyBmb3IgbWFpbiBjaGlsZGVuIGFuZCBzaWJsaW5zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gdG8gdGhlIG1haW4gZWxlbWVudCAoZXhjbHVkaW5nIHNpZGUtYmFyIGFuZCBmb290ZXIpXG5cbiAgPiAqLFxuICB+IHNlY3Rpb24sXG4gIH4gYXNpZGUsXG4gIH4gZGl2LFxuICB+IHNlcnZpY2UtY2VudHJlLWZpbmRlcixcbiAgfiBtYXJrZXRzLXN1bW1hcnkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNlcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNlcjtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cblxuICB+IGRpdjpoYXMoZGl2I3RydWVuZG9fY29udGFpbmVyKSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIHNlcnZpY2UtY2VudHJlLWZpbmRlciBwaWN0dXJlIHtcbiAgICBAaW5jbHVkZSBzaWRlYmFyLWJsb3dvdXQtb2Zmc2V0KCk7XG4gIH1cbn1cblxuLy8gU2lkZWJhciBDb250ZW50ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuc2lkZS1iYXIge1xuICBncmlkLXJvdzogdmFyKC0tcm93LXNpZGViYXIpO1xuICBncmlkLWNvbHVtbjogdmFyKC0tY29sdW1uLXJpZ2h0KTtcbiAgd2lkdGg6IHZhcigtLXNpZGViYXItd2lkdGgpO1xuICBwYWRkaW5nLXRvcDogJHNwYWNlcjtcbiAgcGFkZGluZy1ib3R0b206ICRzcGFjZXI7XG5cbiAgPiBkaXYge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1nYXA6ICRndXR0ZXIgJGd1dHRlcjtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCBtaW5tYXgodmFyKC0tc2lkZWJhci13aWR0aCksIDFmcikpO1xuICAgICYuc3RpY2t5IHtcbiAgICAgIHRvcDogY2FsYyh2YXIoLS1icmVhZGNydW1iLWhlaWdodCkgKyB2YXIoLS1hbmNob3JzLWhlaWdodCkgKyAjeyRndXR0ZXJ9KTtcbiAgICB9XG4gICAgPiAqIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gIH1cblxuICBAZWFjaCAkdGhlbWUsICRjb2xvdXIgaW4gJGNvbXBvbmVudC10aGVtZXMge1xuICAgID4gZGl2ID4gKi4jeyR0aGVtZX0ge1xuICAgICAgLS1iYWNrZ3JvdW5kLWNvbG91cjogI3skY29sb3VyfTtcbiAgICAgIEBpZiAoJHRoZW1lID09ICd3aGl0ZScpIHtcbiAgICAgICAgLS1ib3JkZXItY29sb3VyOiAjeyRncmV5M307XG4gICAgICB9XG4gICAgICBAaWYgKCR0aGVtZSA9PSAnZ3JleScpIHtcbiAgICAgICAgLS1ib3JkZXItY29sb3VyOiAjeyRncmV5NH07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmFzaWRlI3N1cHBvcnQtaW5mb3JtYXRpb24gLmdsb3NzYXJ5LXRlcm1zLFxudGFiYmVkLWNvbnRlbnRbZGF0YS1zdHlsZT0nMSddID4gbmF2IHtcbiAgdG9wOiBjYWxjKHZhcigtLWJyZWFkY3J1bWItaGVpZ2h0KSArIHZhcigtLWFuY2hvcnMtaGVpZ2h0KSArICN7JGd1dHRlcn0pO1xufVxuXG5AaW5jbHVkZSBicmVhay1pbignc21hbGwtbWVkaXVtJykge1xuICBib2R5IHtcbiAgICA+ICoge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC0tY29sdW1uczogdmFyKC0tY29sdW1uLWd1dHRlcikgdmFyKC0tY29sdW1uLWNvbnRlbnQpIHZhcigtLWNvbHVtbi1ndXR0ZXIpO1xuICAgIC0tY29sdW1uLW1haW46IHZhcigtLWNvbHVtbi1mdWxsKTtcbiAgICAtLWNvbHVtbi1sZWZ0OiB2YXIoLS1jb2x1bW4tZnVsbCk7XG4gICAgLS1jb2x1bW4tcmlnaHQ6IHZhcigtLWNvbHVtbi1mdWxsKTtcbiAgICAtLXJvdy1zaWRlYmFyOiBhdXRvO1xuXG4gICAgc2lkZS1iYXIge1xuICAgICAgcGFkZGluZy10b3A6ICRzcGFjZXI7XG4gICAgICA+IGRpdiB7XG4gICAgICAgIGdyaWQtZ2FwOiAkc3BhY2VyICRndXR0ZXI7XG4gICAgICAgICYuc3RpY2t5IHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiBpbml0aWFsO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFRoaXMgd2lsbCBmaXggc2lkZWJhciBjb21wb25lbnRzIGZyb20gYmxvd2luZyBvdXQgb2YgdGhlIHZpZXdwb3J0IG9uIGRldmljZXNcbi8vIHdoZXJlIHRoZSBzY3JlZW4gaXMgc21hbGxlciB0aGFuIHRoZSBtaW5pdW0gKDMyMHB4KVxuQGluY2x1ZGUgYnJlYWstaW4oJG1lZGlhLW1pbiArICgkYmFzZS1nYXAgKiAyKSkge1xuICBib2R5IHtcbiAgICAtLXNpZGViYXItd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLy8gQmxvd291dCBCYWNrZ3JvdW5kcyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnRoZW1lZCB7XG4gIEBlYWNoICR0aGVtZSwgJGNvbG91ciBpbiAkY29tcG9uZW50LXRoZW1lcyB7XG4gICAgJi4jeyR0aGVtZX0ge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG91cjtcbiAgICAgICYuYmxvd291dCArIC50aGVtZWQuI3skdGhlbWV9IHtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDFweCB2YXIoLS1ib3JkZXItdG9wLWNvbG91cik7XG4gICAgICAgICYubGlnaHQge1xuICAgICAgICAgIC0tYm9yZGVyLXRvcC1jb2xvdXI6ICN7JGdyZXk0fTtcbiAgICAgICAgfVxuICAgICAgICAmLmRhcmsge1xuICAgICAgICAgIC0tYm9yZGVyLXRvcC1jb2xvdXI6ICN7cmdiYSh3aGl0ZSwgMC4yKX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJjpub3QoLmJsb3dvdXQpIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXI7XG4gICAgcGFkZGluZy1yaWdodDogJGd1dHRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICAgIG1hcmdpbi10b3A6ICRzcGFjZXI7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgJi53aGl0ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleTM7XG4gICAgICArIC5ibG93b3V0LndoaXRlLFxuICAgICAgKyA6bm90KC50aGVtZWQpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNlci07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5ibG93b3V0IHtcbiAgQGluY2x1ZGUgYmFja2dyb3VuZC1ibG93b3V0IHtcbiAgICBAaW5jbHVkZSBicmVhay1pbigkbWVkaWEtbWluICsgJGJhc2UtZ2FwKSB7XG4gICAgICB0cmFuc2Zvcm06IGluaXRpYWw7XG4gICAgICBsZWZ0OiAkZ2FwLTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gdmFyKC0tc2Nyb2xsYmFyLXdpZHRoLCAwcHgpKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWstaW4oc21hbGwtbWVkaXVtKSB7XG4gICAgICB0cmFuc2Zvcm06IGluaXRpYWw7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRndXR0ZXItO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSB2YXIoLS1zcm9sbGJhci13aWR0aCwgMHB4KSk7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgfVxuXG4gIEBhdC1yb290IGJvZHk6bm90KG1vYmlsZSkgbWFpbiAuYmxvd291dDpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGJyZWFrLW91dChzbWFsbC1tZWRpdW0pIHtcbiAgICAgIEBpbmNsdWRlIHNpZGViYXItYmxvd291dC1vZmZzZXQoKTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3ICsgI3skZ3V0dGVyfSk7XG4gICAgfVxuICB9XG4gIEBhdC1yb290IGJvZHkubW9iaWxlIG1haW4gLmJsb3dvdXQ6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBzaWRlYmFyLWJsb3dvdXQtb2Zmc2V0KCk7XG4gICAgd2lkdGg6IGNhbGMoMTAwdncgKyAjeyRndXR0ZXJ9KTtcbiAgfVxufVxuXG4vLyBCYWNrZ3JvdW5kIEltYWdlID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5iYWNrZ3JvdW5kLWltYWdlLFxuYmFja2dyb3VuZC12aWRlbyB7XG4gIHotaW5kZXg6IC0xO1xuICBncmlkLXJvdzogdmFyKC0tcm93LWJhY2tncm91bmQpO1xuICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAmLmJlaGluZC1oZWFkZXIge1xuICAgIC0tcm93LWJhY2tncm91bmQ6IDQ7XG4gIH1cbn1cblxuaW1nW2RhdGEtc3JjXSxcbnZpZGVvW2RhdGEtc3JjXSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluO1xuICBvcGFjaXR5OiAwO1xuXG4gICYubG9hZGVkIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi8vIFNwZWNpYWwgUnVsZXMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5jZW50ZXItYWxsIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy1ibG9jazogJHNwYWNlcjI7XG4gIGdhcDogJHNwYWNlciAhaW1wb3J0YW50O1xuICA+IC50ZXh0IDppcyhoMSwgaDIsIGgzLCBoNCwgaDUsIGg2KSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgc3BhbiB7XG4gICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5KTtcbiAgICB9XG4gIH1cbiAgYXJ0aWNsZS1saXN0IHtcbiAgICBtYXgtd2lkdGg6IDExMDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgLS1hcnRpY2xlLW1pbi13aWR0aDogNDIwcHggIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBBZGRzIGEgdG9wIGJvcmRlciAod2l0aG91dCBzaGlmdGluZyBlbGVtZW50cyBhcm91bmQgYnkgMXB4KSB0byBub25lIHRoZW1lZCBzaWJsaW5ncyBvZiB0aGUgbWFpbiBlbGVtZW50XG5tYWluIH4gKjpub3QoLnRoZW1lZCkgKyA6bm90KC50aGVtZWQpOm5vdCgjZm9vdGVyKTpub3Qoc2lkZS1iYXIpIHtcbiAgYm94LXNoYWRvdzogMHB4IC0xcHggdmFyKC0tYm9yZGVyLXRvcC1jb2xvdXIsICN7JGdyZXk0fSk7XG59XG4vLyBtYWluID4gKi50aGVtZWQgKyA6bm90KC50aGVtZWQpIHsgYm94LXNoYWRvdzogaW5pdGlhbDsgfVxubWFpbiA+ICoudGhlbWVkLmNvbnRlbnQtYmxvY2sge1xuICBib3gtc2hhZG93OiBpbml0aWFsO1xufVxubWFpbiA+ICoudGhlbWVkICsgOm5vdCgudGhlbWVkKTpub3QoI2Zvb3Rlcikge1xuICBtYXJnaW4tdG9wOiAwO1xuICBib3gtc2hhZG93OiBpbml0aWFsO1xufVxubWFpbiB+ICoudGhlbWVkICsgOm5vdCgudGhlbWVkKTpub3QoI2Zvb3RlciksXG5ib2R5LmJhY2tncm91bmQtcG9zaXRpb25lZC1iZWhpbmQtaGVhZGVyIG1haW4gPiAqOmZpcnN0LWNoaWxkIHtcbiAgYm94LXNoYWRvdzogaW5pdGlhbDtcbn1cblxuLy8gQWRkcyBhIGJvcmRlciBvbiB0aGUgZmlyc3QgY2hpbGQgaWYgaXQncyBub3QgdGhlbWVkIG9yIGlzIHdoaXRlXG5tYWluID4gKjpmaXJzdC1jaGlsZDpub3QoLnRoZW1lZCksXG5tYWluID4gKjpmaXJzdC1jaGlsZC53aGl0ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAtMXB4IHZhcigtLWJvcmRlci10b3AtY29sb3VyLCAjeyRncmV5NH0pO1xufVxuXG4uY29udGVudC1ibG9ja1tzdHlsZSo9J2JhY2tncm91bmQtY29sb3InXSxcbi5jb250ZW50LWJsb2NrW3N0eWxlKj0nYmFja2dyb3VuZC1jb2xvciddICsgOm5vdCgudGhlbWVkKTpub3QoI2Zvb3Rlcikge1xuICBib3gtc2hhZG93OiBpbml0aWFsICFpbXBvcnRhbnQ7XG59XG4vLyBtYWluIH4gc2VjdGlvbiwgbWFpbiB+IGFzaWRlLCBtYWluIH4gZGl2LCBtYWluIH4gbG9nby1zY3JvbGxlciB7IGdyaWQtcm93OiBub25lOyB9XG4vLyBtYWluIH4gOm5vdChzaWRlLWJhcik6bm90KGJhY2tncm91bmQtaW1hZ2UpOm5vdCgjZm9vdGVyKSB7IGdyaWQtcm93OiBub25lOyB9XG5cbi8vIFJlbW92ZXMgbWFyZ2luIG9uIG5vbmUgdGhlbWVkIHNpYmxpbmdzIG9mIGFuZCBpbiB0aGUgbWFpbiBlbGVtZW50IHRoYXQgYWxzbyBhcmUgbm90IGJsb3dub3V0XG5tYWluIH4gKjpub3QoLnRoZW1lZCkgKyAudGhlbWVkOm5vdCguYmxvd291dCksXG5tYWluID4gKjpub3QoLnRoZW1lZCkgKyAudGhlbWVkOm5vdCguYmxvd291dCkge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4vLyBBZGRkcyBhIGxhcmdlciBzcGFjZXIgdG8gdGhlIGxhc3QgaXRlbSBpbiB0aGUgbWFpbiBlbGVtZW50IHRoYXQgYXJlIHRoZW1lZCBidXQgbm90IGJsb3duIG91dFxuLmhlYWRlciB+IG1haW4gPiAudGhlbWVkOm5vdCguYmxvd291dCk6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAkc3BhY2VyO1xufVxubWFpbiA+IC50aGVtZWQ6bm90KC5ibG93b3V0KTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbn1cblxuLy8gQWRkcyBhIGxhcmdlciBzcGFjZXIgdG8gdGhlbWVkIG5vbiBibG93bm91dCBlbGVtZW50c1xubWFpbiA+IC50aGVtZWQ6bm90KC5ibG93b3V0KSArIC5ibG93b3V0IHtcbiAgbWFyZ2luLXRvcDogJHNwYWNlcjtcbn1cblxuLmhlYWRlciB+IG1haW4gPiAudGhlbWVkOm5vdCguYmxvd291dCkge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG5tYWluIH4gZGl2OmhhcygjQ29va2llYm90V2lkZ2V0KSB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuQGluY2x1ZGUgY29tcG9uZW50LWRvZXNudC1leGlzdHMoJ3NpZGUtYmFyJykge1xuICAtLW1haW4tbWF4LXdpZHRoOiBhdXRvO1xuICAtLWNvbHVtbi1tYWluOiB2YXIoLS1jb2x1bW4tZnVsbCk7XG59XG5cbkBpbmNsdWRlIGNvbXBvbmVudC1kb2VzbnQtZXhpc3RzKCdicmVhZGNydW1icy1iYXInKSB7XG4gIC0tcm93LW5hdmlnYXRpb246IDE7XG4gIC0tcm93LWFuY2hvcnM6IDI7XG4gIC0tcm93LWhlYWRlcjogMztcbiAgLS1yb3ctbWFpbjogNDtcblxuICBiYWNrZ3JvdW5kLWltYWdlLmZ1bGwsXG4gIGJhY2tncm91bmQtdmlkZW8uZnVsbCB7XG4gICAgLS1yb3ctYmFja2dyb3VuZDogMSAvIHNwYW4gNDtcbiAgfVxuICBiYWNrZ3JvdW5kLWltYWdlLmJlaGluZC1oZWFkZXIsXG4gIGJhY2tncm91bmQtdmlkZW8uZnVsbCB7XG4gICAgLS1yb3ctYmFja2dyb3VuZDogMztcbiAgfVxuXG4gICNhbmNob3JzLWJhci5zdGlja3kge1xuICAgIHRvcDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrLW91dCgnc21hbGwtbWVkaXVtJykge1xuICAgIC0tcm93LXNpZGViYXI6IDMgLyBzcGFuIDM7XG4gICAgc2lkZS1iYXIgZGl2LnN0aWNreSxcbiAgICBhc2lkZSNzdXBwb3J0LWluZm9ybWF0aW9uIC5nbG9zc2FyeS10ZXJtcyxcbiAgICB0YWJiZWQtY29udGVudFtkYXRhLXN0eWxlPScxJ10gPiBuYXYge1xuICAgICAgdG9wOiBjYWxjKHZhcigtLWFuY2hvcnMtaGVpZ2h0KSArICN7JGd1dHRlcn0pO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBjb21wb25lbnQtZG9lc250LWV4aXN0cygnYW5jaG9ycy1iYXInKSB7XG4gIC0tcm93LW5hdmlnYXRpb246IDE7XG4gIC0tcm93LWJyZWFkY3J1bWJzOiAyO1xuICAtLXJvdy1oZWFkZXI6IDM7XG4gIC0tcm93LW1haW46IDQ7XG5cbiAgYmFja2dyb3VuZC1pbWFnZS5mdWxsLFxuICBiYWNrZ3JvdW5kLXZpZGVvLmZ1bGwge1xuICAgIC0tcm93LWJhY2tncm91bmQ6IDEgLyBzcGFuIDQ7XG4gIH1cbiAgYmFja2dyb3VuZC1pbWFnZS5iZWhpbmQtaGVhZGVyLFxuICBiYWNrZ3JvdW5kLXZpZGVvLmJlaGluZC1oZWFkZXIge1xuICAgIC0tcm93LWJhY2tncm91bmQ6IDM7XG4gIH1cblxuICAjYnJlYWRjcnVtYnMtYmFyLnN0aWNreSB7XG4gICAgdG9wOiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWstb3V0KCdzbWFsbC1tZWRpdW0nKSB7XG4gICAgLS1yb3ctc2lkZWJhcjogMyAvIHNwYW4gMztcbiAgICBzaWRlLWJhciBkaXYuc3RpY2t5LFxuICAgIGFzaWRlI3N1cHBvcnQtaW5mb3JtYXRpb24gLmdsb3NzYXJ5LXRlcm1zLFxuICAgIHRhYmJlZC1jb250ZW50W2RhdGEtc3R5bGU9JzEnXSA+IG5hdiB7XG4gICAgICB0b3A6IGNhbGModmFyKC0tYW5jaG9ycy1oZWlnaHQpICsgI3skZ3V0dGVyfSk7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGNvbXBvbmVudC1kb2VzbnQtZXhpc3RzKCdicmVhZGNydW1icy1iYXInLCAnYW5jaG9ycy1iYXInKSB7XG4gIC0tcm93LW5hdmlnYXRpb246IDE7XG4gIC0tcm93LWhlYWRlcjogMjtcbiAgLS1yb3ctbWFpbjogMztcbiAgLS1yb3ctYmFja2dyb3VuZDogMTtcblxuICBiYWNrZ3JvdW5kLWltYWdlLmZ1bGwsXG4gIGJhY2tncm91bmQtdmlkZW8uZnVsbCB7XG4gICAgLS1yb3ctYmFja2dyb3VuZDogMSAvIHNwYW4gNTtcbiAgfVxuICBiYWNrZ3JvdW5kLWltYWdlLmJlaGluZC1oZWFkZXIsXG4gIGJhY2tncm91bmQtdmlkZW8uYmVoaW5kLWhlYWRlciB7XG4gICAgLS1yb3ctYmFja2dyb3VuZDogMjtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrLW91dCgnc21hbGwtbWVkaXVtJykge1xuICAgIHNpZGUtYmFyIGRpdi5zdGlja3ksXG4gICAgYXNpZGUjc3VwcG9ydC1pbmZvcm1hdGlvbiAuZ2xvc3NhcnktdGVybXMsXG4gICAgdGFiYmVkLWNvbnRlbnRbZGF0YS1zdHlsZT0nMSddID4gbmF2IHtcbiAgICAgIHRvcDogJGd1dHRlcjtcbiAgICB9XG4gICAgLS1yb3ctc2lkZWJhcjogMiAvIHNwYW4gMztcbiAgfVxufVxuXG5ib2R5LnJ1bGUtbGFzdC1tYWluLXNlY3Rpb24taXMtdGhlbWVkIHtcbiAgQGluY2x1ZGUgYnJlYWstaW4oJ3NtYWxsLW1lZGl1bScpIHtcbiAgICBzaWRlLWJhciB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gRmF1eCBMYXlvdXRzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmxheW91dCB7XG4gICYtY29udGVudC1yaWdodC1zaWRlYmFyLFxuICAmLWNvbnRlbnQtbGVmdC1zaWRlYmFyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtZ2FwOiAkZ3V0dGVyO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIC5sZWZ0LFxuICAgIC5yaWdodCB7XG4gICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5sYXlvdXQge1xuICAgICAgJi1jb250ZW50LXJpZ2h0LXNpZGViYXIsXG4gICAgICAmLWNvbnRlbnQtbGVmdC1zaWRlYmFyIHtcbiAgICAgICAgLS1jb2x1bW4tY29udGVudDogbWlubWF4KDAsIGNhbGMoI3skbWVkaWEtbWF4fSAtICh2YXIoLS1zaWRlYmFyLXdpZHRoKSAqIDIpKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmYXV4LWxheW91dC1ncmlkKCRzZWxlY3RvcjogJ2JvZHkgPiAubGF5b3V0JywgJGJyZWFrcG9pbnQ6ICdzbWFsbC1tZWRpdW0nKSB7XG4gIEBpbmNsdWRlIGJyZWFrLW91dCgkYnJlYWtwb2ludCkge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICAvLyBDb250ZW50IG9uIHRoZSByaWdodCwgc2lkZWJhciBvbiB0aGUgbGVmdFxuICAgICAgJi1jb250ZW50LWxlZnQtc2lkZWJhciB7XG4gICAgICAgIC5sZWZ0IHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgfVxuICAgICAgICAucmlnaHQge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAyIC8gNDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8gQ29udGVudCBvbiB0aGUgbGVmdCwgc2lkZWJhciBvbiB0aGUgcmlnaHRcbiAgICAgICYtY29udGVudC1yaWdodC1zaWRlYmFyIHtcbiAgICAgICAgLmxlZnQge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMztcbiAgICAgICAgICBtYXgtd2lkdGg6IHZhcigtLW1haW4tbWF4LXdpZHRoKTtcbiAgICAgICAgfVxuICAgICAgICAucmlnaHQge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAzO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogJGd1dHRlcjtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLWNvbnRlbnQtcmlnaHQtc2lkZWJhcixcbiAgICAgICYtY29udGVudC1sZWZ0LXNpZGViYXIge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHZhcigtLWNvbHVtbi1zaWRlYmFyKSB2YXIoLS1jb2x1bW4tY29udGVudCkgdmFyKC0tY29sdW1uLXNpZGViYXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBmYXV4LWxheW91dC1ncmlkKCk7XG5cbi8vIFRoaXMgaGFuZGxlcyB3aGVuIHRoZXJlIGlzIG5vdCBzaWRlYmFyIGJ1dCB0aGVyZSBpcyBhIGNvbnRlbnQgYmxvY2sgY29tcG9uZW50XG4vLyB0aGF0IHdvdWxkIG5vcm1hbGx5IGJlIGZ1bGwgd2lkdGguIFRoaXMga2VlcHMgdGhlIGxheW91dCBzdHlsaW5nIGNvbnNpc3RlbnRcbi8vIGFjY3Jvc3MgZnVsbCB3aWR0aCBjb21wb25lbnRzLCBjb250ZW50IGJsb2NrIGNvbXBvbmVudHMuIGFuZCBzaWRlYmFyIGNvbXBvbmVudHMuXG5AaW5jbHVkZSBjb21wb25lbnQtZG9lc250LWV4aXN0cygnc2lkZS1iYXInKSB7XG4gIEBpbmNsdWRlIGZhdXgtbGF5b3V0LWdyaWQoJ21haW4gLmxheW91dCcsICdtZWRpdW0nKTtcbn1cblxuLy8gTGl0dGxlIExheW91dCBmaWVsZCBjb2x1bW4gY29udHJvbHMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmNvbnRlbnQtYmxvY2sge1xuICA+ICoge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gIH1cblxuICBAaW5jbHVkZSBicmVhay1vdXQoNzAwKSB7XG4gICAgLS1jb2x1bW4tY291bnQ6IDY7XG5cbiAgICAvLyBUaGUgZmlyc3QgbnVtYmVyIGluIHRoZSAuY29sLVgtWCBjbGFzcyBuYW1lIHJlZmVyZXMgdG8gdGhlIGNvbHVtbiBzdGFydGluZyBwb2ludCxcbiAgICAvLyBUaGUgc2Vjb25kIG51bWJlciBpcyBob3cgbWFueSBjb2x1bW5zIGl0IHNwYW5zIGZvci5cbiAgICAvLyBZb3UgbWF5IGJlIHdvbmRlcmluZyB3aHkgSSBkaWRuJ3QganVzdCBzdGljayB3aXRoIHRoZSBvbmUtbGluZXIgdXNpbmcgY3VzdG9tIHByb3BlcnRpZXMuXG4gICAgLy8gVGhhdCBtZXRob2Qgb2YgY29sdW1uIGdyaWRzIGlzIHRvbyBzdHJpY3QgYW5kIHdvdWxkIG5ldmVyIHJlbGlhYmxlIGJyZWFrZG93blxuICAgIC8vIG5hdGl2ZWx5IGJlY2F1c2UgdGhlIGNvbnRlbnQgd291bGQgYWx3YXlzIGJlY29tZSBvdmVyYmxvd24uXG4gICAgLy8gV2UgaGFkIHRvIGdvIHRoZSBtYW51YWwgd2F5IHNvIHRoYXQgd2UgY2FuIGFkZHJlc3Mgc3BlY2lhbCBzaXR1YXRpb25zIGFzIHNwZWljZmljIGJyZWFrIHBvaW50cy5cblxuICAgIC8vIE9uZSBDb2x1bW4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLmNvbC0xLTEge1xuICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDE7XG4gICAgfVxuICAgIC5jb2wtMS0yIHtcbiAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyO1xuICAgIH1cbiAgICAuY29sLTEtMyB7XG4gICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMztcbiAgICB9XG4gICAgLmNvbC0xLTQge1xuICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDQ7XG4gICAgfVxuICAgIC5jb2wtMS01IHtcbiAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiA1O1xuICAgIH1cbiAgICAuY29sLTEtNiB7XG4gICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gNjtcbiAgICB9XG5cbiAgICAvLyBUd28gQ29sdW1ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC5jb2wtMi0xIHtcbiAgICAgIGdyaWQtY29sdW1uOiAyIC8gc3BhbiAxO1xuICAgIH1cbiAgICAuY29sLTItMiB7XG4gICAgICBncmlkLWNvbHVtbjogMiAvIHNwYW4gMjtcbiAgICB9XG4gICAgLmNvbC0yLTMge1xuICAgICAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDM7XG4gICAgfVxuICAgIC5jb2wtMi00IHtcbiAgICAgIGdyaWQtY29sdW1uOiAyIC8gc3BhbiA0O1xuICAgIH1cbiAgICAuY29sLTItNSB7XG4gICAgICBncmlkLWNvbHVtbjogMiAvIHNwYW4gNTtcbiAgICB9XG5cbiAgICAvLyBUaHJlZSBDb2x1bW5zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC5jb2wtMy0xIHtcbiAgICAgIGdyaWQtY29sdW1uOiAzIC8gc3BhbiAxO1xuICAgIH1cbiAgICAuY29sLTMtMiB7XG4gICAgICBncmlkLWNvbHVtbjogMyAvIHNwYW4gMjtcbiAgICB9XG4gICAgLmNvbC0zLTMge1xuICAgICAgZ3JpZC1jb2x1bW46IDMgLyBzcGFuIDM7XG4gICAgfVxuICAgIC5jb2wtMy00IHtcbiAgICAgIGdyaWQtY29sdW1uOiAzIC8gc3BhbiA0O1xuICAgIH1cblxuICAgIC8vIEZvdXIgQ29sdW1ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLmNvbC00LTEge1xuICAgICAgZ3JpZC1jb2x1bW46IDQgLyBzcGFuIDE7XG4gICAgfVxuICAgIC5jb2wtNC0yIHtcbiAgICAgIGdyaWQtY29sdW1uOiA0IC8gc3BhbiAyO1xuICAgIH1cbiAgICAuY29sLTQtMyB7XG4gICAgICBncmlkLWNvbHVtbjogNCAvIHNwYW4gMztcbiAgICB9XG5cbiAgICAvLyBGaXZlIENvbHVtbnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC5jb2wtNS0xIHtcbiAgICAgIGdyaWQtY29sdW1uOiA1IC8gc3BhbiAyO1xuICAgIH1cbiAgICAuY29sLTUtMiB7XG4gICAgICBncmlkLWNvbHVtbjogNSAvIHNwYW4gMjtcbiAgICB9XG5cbiAgICAvLyBTaXggQ29sdW1ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC5jb2wtNi0xIHtcbiAgICAgIGdyaWQtY29sdW1uOiA2IC8gc3BhbiAxO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrLWJldHdlZW4oNzAwLCBsYXJnZSkge1xuICAgIC0tY29sdW1uLWNvdW50OiA0O1xuXG4gICAgLy8gU3BlY2lhbCBSdWxlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAuY29sLTEtMyB7XG4gICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcbiAgICB9XG4gICAgLmNvbC0xLTQge1xuICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDM7XG4gICAgfVxuICAgIC5jb2wtMS01IHtcbiAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAzO1xuICAgIH1cbiAgICAuY29sLTQtMyB7XG4gICAgICBncmlkLWNvbHVtbjogMyAvIC0xO1xuICAgIH1cblxuICAgIC8vIEJyZWFrZG93biBSdWxlcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLmNvbC0xLTYge1xuICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICB9XG4gICAgLmNvbC0yLTMsXG4gICAgLmNvbC0yLTQsXG4gICAgLmNvbC0yLTUge1xuICAgICAgZ3JpZC1jb2x1bW46IDIgLyAtMTtcbiAgICB9XG4gICAgLmNvbC0zLTIsXG4gICAgLmNvbC0zLTMsXG4gICAgLmNvbC0zLTQge1xuICAgICAgZ3JpZC1jb2x1bW46IDMgLyAtMTtcbiAgICB9XG4gICAgLmNvbC00LTEsXG4gICAgLmNvbC00LTIsXG4gICAgLmNvbC01LTEsXG4gICAgLmNvbC02LTEge1xuICAgICAgZ3JpZC1jb2x1bW46IDQgLyAtMTtcbiAgICB9XG4gICAgLmNvbC01LTIge1xuICAgICAgZ3JpZC1jb2x1bW46IDEvIC0xO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrLWJldHdlZW4obWluLCA2OTkpIHtcbiAgICAtLWNvbHVtbi1jb3VudDogMjtcblxuICAgIC5jb2wtMS0xLFxuICAgIC5jb2wtMy0xLFxuICAgIC5jb2wtNS0xIHtcbiAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgIH1cbiAgICAuY29sLTItMSxcbiAgICAuY29sLTQtMSxcbiAgICAuY29sLTYtMSB7XG4gICAgICBncmlkLWNvbHVtbjogMjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVhay1pbig1MDApIHtcbiAgICAgIC5jb2wtMS0xIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgIH1cbiAgICAgIC5jb2wtMS01ICsgLmNvbC02LTEge1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVhay1vdXQoNTAwKSB7XG4gICAgICAuY29sLTItNSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgfVxuICAgICAgLmNvbC0xLTUge1xuICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIERldiBTdHlsaW5nIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIG5hdmlnYXRpb24tYmFyLCBoZWFkZXIsIG1haW4sIG1haW4gPiAqLCBzaWRlLWJhciwgI2Zvb3RlciwgYXNpZGUge1xuLy8gICBwb3NpdGlvbjpyZWxhdGl2ZTtcbi8vIH1cblxuLy8gbmF2aWdhdGlvbi1iYXIge1xuLy8gICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoJHJlZCwgMC41KTtcbi8vICAgYm9yZGVyLWNvbG9yOiRyZWQ7XG4vLyB9XG5cbi8vIC5oZWFkZXIge1xuLy8gICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoJG9yYW5nZSwgMC41KTtcbi8vICAgYm9yZGVyLWNvbG9yOiRvcmFuZ2U7XG4vLyB9XG5cbi8vICNicmVhZGNydW1icy1iYXIge1xuLy8gICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoJGJsdWUsIDAuNSk7XG4vLyAgIGJvcmRlci1jb2xvcjokYmx1ZTtcbi8vIH1cblxuLy8gI2FuY2hvcnMtYmFyIHtcbi8vICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKCRwdXJwbGUsIDAuNSk7XG4vLyAgIGJvcmRlci1jb2xvcjokcHVycGxlO1xuLy8gfVxuXG4vLyBtYWluIHtcbi8vICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKCRncmVlbiwgMC41KTtcbi8vICAgYm9yZGVyLWNvbG9yOiRncmVlbjtcbi8vIH1cblxuLy8gc2lkZS1iYXIge1xuLy8gICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoJHB1cnBsZSwgMC41KTtcbi8vICAgYm9yZGVyLWNvbG9yOiRwdXJwbGU7XG4vLyB9XG5cbi8vICNmb290ZXIge1xuLy8gICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoJGJyb3duLCAwLjUpO1xuLy8gICBib3JkZXItY29sb3I6JGJyb3duO1xuLy8gfVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBCcmVha3BvaW50cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2JyZWFrcG9pbnRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AdXNlICdzYXNzOm1hcCc7XG5AdXNlICdzYXNzOm1ldGEnO1xuQHVzZSAnc2FzczpzdHJpbmcnO1xuQHVzZSAnc2FzczptYXRoJztcbkB1c2UgJy4uL2hlbHBlcnMvYnJlYWsnO1xuXG4vLy8gV2hlbiBPTkxZIHVzaW5nIHRoZSBmb2xsb3dpbmcgcHJlZGVmaW5lIGJyZWFrcG9pbnQgbmFtZXMgeW91IGNhbiB1c2UgdGhpcyBjcmVhdGUgZmlsZSBsaWtlIHRoaXM6XG4vLy8gQGV4YW1wbGUgXG4vLy8gQGZvcndhcmQgJ2NyZWF0ZS9icmVha3BvaW50cycgd2l0aCAoXG4vLy8gICAkbWluICAgICAgICAgIDogMzIwLFxuLy8vICAgJHNtYWxsICAgICAgICA6IDQ4MCxcbi8vLyAgICRzbWFsbC1tZWRpdW0gOiA3MjAsXG4vLy8gICAkbWVkaXVtICAgICAgIDogOTUwLFxuLy8vICAgJGxhcmdlICAgICAgICA6IDExMjAsXG4vLy8gICAkbWF4ICAgICAgICAgIDogMTY4MFxuLy8vICk7XG5cbiRtaW4gICAgICAgICAgOiBudWxsICFkZWZhdWx0OyAvLyAzMjBweFxuJG1pbi1zbWFsbCAgICA6IG51bGwgIWRlZmF1bHQ7IFxuJHNtYWxsICAgICAgICA6IG51bGwgIWRlZmF1bHQ7IC8vIDQ4MHB4XG4kc21hbGwtbWVkaXVtIDogbnVsbCAhZGVmYXVsdDsgLy8gNzIwcHhcbiRtZWRpdW0gICAgICAgOiBudWxsICFkZWZhdWx0OyAvLyA5NTBweFxuJG1lZGl1bS1sYXJnZSA6IG51bGwgIWRlZmF1bHQ7IFxuJGxhcmdlICAgICAgICA6IG51bGwgIWRlZmF1bHQ7IC8vIDExMjBweFxuJGxhcmdlLW1heCAgICA6IG51bGwgIWRlZmF1bHQ7IFxuJG1heCAgICAgICAgICA6IG51bGwgIWRlZmF1bHQ7IC8vIDE2ODBwXG5cbi8vLyBXaGVuIHVzaW5nIGFueSBudW1iZXIgb2YgYnJlYWtwb2ludHMgd2l0aCBhbnkgbmFtZSB5b3UgY2FuIHVzZSB0aGlzIGNyZWF0ZSBmaWxlIGxpa2UgdGhpczpcbi8vLyBAZXhhbXBsZSBcbi8vLyBAZm9yd2FyZCAnY3JlYXRlL2JyZWFrcG9pbnRzJyB3aXRoIChcbi8vLyAgICRicmVha3BvaW50cyA6IChcbi8vLyAgICAgJ21pbicgICAgICAgICAgOiAzMjAsXG4vLy8gICAgICdzbWFsbCcgICAgICAgIDogNDgwLFxuLy8vICAgICAnc21hbGwtbWVkaXVtJyA6IDcyMCxcbi8vLyAgICAgJ25hdicgICAgICAgICAgOiA2NjYsIDwtLSB3b24ndCBiZSBleHBvc2VkIGJlY3Vhc2UgaXQncyBub3QgYSBwcmVkZWZpbmVkIG5hbWUgKCRtZWRpYS1uYXYgd2lsbCBlcnJvcilcbi8vLyAgICAgJ21lZGl1bScgICAgICAgOiA5NTAsXG4vLy8gICAgICdsYXJnZScgICAgICAgIDogMTEyMCxcbi8vLyAgICAgJ21heCcgICAgICAgICAgOiAxNjgwXG4vLy8gICApXG4vLy8gKTtcblxuJGJyZWFrcG9pbnRzIDogKFxuICAnbWluJyAgICAgICAgICA6ICRtaW4sXG4gICdtaW4tc21hbGwnICAgIDogJG1pbi1zbWFsbCxcbiAgJ3NtYWxsJyAgICAgICAgOiAkc21hbGwsXG4gICdzbWFsbC1tZWRpdW0nIDogJHNtYWxsLW1lZGl1bSxcbiAgJ21lZGl1bScgICAgICAgOiAkbWVkaXVtLFxuICAnbWVkaXVtLWxhcmdlJyA6ICRtZWRpdW0tbGFyZ2UsXG4gICdsYXJnZScgICAgICAgIDogJGxhcmdlLFxuICAnbGFyZ2UtbWF4JyAgICA6ICRsYXJnZS1tYXgsXG4gICdtYXgnICAgICAgICAgIDogJG1heFxuKSAhZGVmYXVsdDtcblxuLy8vIFByaXZhdGUgYWRkLXVuaXQgZnVuY3Rpb25zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vLyBAc2VlIGh0dHBzOi8vc2Fzcy1sYW5nLmNvbS9kb2N1bWVudGF0aW9uL29wZXJhdG9ycy9udW1lcmljXG5cbkBmdW5jdGlvbiBfYWRkLXVuaXQoJHZhbHVlKSB7XG4gIEBpZiAobWV0YS50eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicgYW5kIG1hdGguaXMtdW5pdGxlc3MoJHZhbHVlKSkge1xuICAgIEByZXR1cm4gJHZhbHVlICogMXB4O1xuICB9XG4gIEByZXR1cm4gJHZhbHVlO1xufSBcblxuLy8vIFVwZGF0ZSBhbGwgdGhlIHByZWRlZmluZWQgYnJlYWtwb2ludHMgZnJvbSB0aGUgJGJyZWFrcG9pbnRzIG1hcCAtLS0tLS0tLS0tLS0tXG4vLy8gV2UgaGF2ZSB0byBkbyBpdCB0aGlzIHdheSBiZWNhdXNlIHdlIGNhbid0IGR5bmFtaWNhbGx5IGRlZmluZSB2YXJpYWJsZXNcbi8vLyBuYW1lcy4gVGhpcyBpcyB3aHkgd2UgaGF2ZSB0aGUgcHJlZGVmaW5lZCBuYW1lcy4gXG5cbkBpZiBtYXAuaGFzLWtleSgkYnJlYWtwb2ludHMsIFwibWluXCIpIHsgXG4gICRtaW4gOiBfYWRkLXVuaXQobWFwLWdldCgkYnJlYWtwb2ludHMsIFwibWluXCIpKTsgXG4gIEBpZiBtZXRhLnR5cGUtb2YobWFwLWdldCgkYnJlYWtwb2ludHMsIFwibWluXCIpKSA9PSAnbnVsbCcgIHtcbiAgICAkYnJlYWtwb2ludHMgOiBtYXAucmVtb3ZlKCRicmVha3BvaW50cywgXCJtaW5cIik7IFxuICB9XG59XG5cbkBpZiBtYXAuaGFzLWtleSgkYnJlYWtwb2ludHMsIFwibWluLXNtYWxsXCIpIHsgXG4gICRtaW4tc21hbGwgOiBfYWRkLXVuaXQobWFwLWdldCgkYnJlYWtwb2ludHMsIFwibWluLXNtYWxsXCIpKTsgXG4gIEBpZiBtZXRhLnR5cGUtb2YobWFwLWdldCgkYnJlYWtwb2ludHMsIFwibWluLXNtYWxsXCIpKSA9PSAnbnVsbCcgIHtcbiAgICAkYnJlYWtwb2ludHMgOiBtYXAucmVtb3ZlKCRicmVha3BvaW50cywgXCJtaW4tc21hbGxcIik7IFxuICB9XG59XG5cbkBpZiBtYXAuaGFzLWtleSgkYnJlYWtwb2ludHMsIFwic21hbGxcIikgeyBcbiAgJHNtYWxsIDogX2FkZC11bml0KG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBcInNtYWxsXCIpKTsgXG4gIEBpZiBtZXRhLnR5cGUtb2YobWFwLWdldCgkYnJlYWtwb2ludHMsIFwic21hbGxcIikpID09ICdudWxsJyAge1xuICAgICRicmVha3BvaW50cyA6IG1hcC5yZW1vdmUoJGJyZWFrcG9pbnRzLCBcInNtYWxsXCIpOyBcbiAgfVxufVxuXG5AaWYgbWFwLmhhcy1rZXkoJGJyZWFrcG9pbnRzLCBcInNtYWxsLW1lZGl1bVwiKSB7IFxuICAkc21hbGwtbWVkaXVtIDogX2FkZC11bml0KG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBcInNtYWxsLW1lZGl1bVwiKSk7IFxuICBAaWYgbWV0YS50eXBlLW9mKG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBcInNtYWxsLW1lZGl1bVwiKSkgPT0gJ251bGwnICB7XG4gICAgJGJyZWFrcG9pbnRzIDogbWFwLnJlbW92ZSgkYnJlYWtwb2ludHMsIFwic21hbGwtbWVkaXVtXCIpOyBcbiAgfVxufVxuXG5AaWYgbWFwLmhhcy1rZXkoJGJyZWFrcG9pbnRzLCBcIm1lZGl1bVwiKSB7IFxuICAkbWVkaXVtIDogX2FkZC11bml0KG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBcIm1lZGl1bVwiKSk7IFxuICBAaWYgbWV0YS50eXBlLW9mKG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBcIm1lZGl1bVwiKSkgPT0gJ251bGwnICB7XG4gICAgJGJyZWFrcG9pbnRzIDogbWFwLnJlbW92ZSgkYnJlYWtwb2ludHMsIFwibWVkaXVtXCIpOyBcbiAgfVxufVxuXG5AaWYgbWFwLmhhcy1rZXkoJGJyZWFrcG9pbnRzLCBcIm1lZGl1bS1sYXJnZVwiKSB7IFxuICAkbWVkaXVtLWxhcmdlIDogX2FkZC11bml0KG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBcIm1lZGl1bS1sYXJnZVwiKSk7IFxuICBAaWYgbWV0YS50eXBlLW9mKG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBcIm1lZGl1bS1sYXJnZVwiKSkgPT0gJ251bGwnICB7XG4gICAgJGJyZWFrcG9pbnRzIDogbWFwLnJlbW92ZSgkYnJlYWtwb2ludHMsIFwibWVkaXVtLWxhcmdlXCIpOyBcbiAgfVxufVxuXG5AaWYgbWFwLmhhcy1rZXkoJGJyZWFrcG9pbnRzLCBcImxhcmdlXCIpIHsgXG4gICRsYXJnZSA6IF9hZGQtdW5pdChtYXAtZ2V0KCRicmVha3BvaW50cywgXCJsYXJnZVwiKSk7IFxuICBAaWYgbWV0YS50eXBlLW9mKG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBcImxhcmdlXCIpKSA9PSAnbnVsbCcgIHtcbiAgICAkYnJlYWtwb2ludHMgOiBtYXAucmVtb3ZlKCRicmVha3BvaW50cywgXCJsYXJnZVwiKTsgXG4gIH1cbn1cblxuQGlmIG1hcC5oYXMta2V5KCRicmVha3BvaW50cywgXCJsYXJnZS1tYXhcIikgeyBcbiAgJGxhcmdlLW1heCA6IF9hZGQtdW5pdChtYXAtZ2V0KCRicmVha3BvaW50cywgXCJsYXJnZS1tYXhcIikpOyBcbiAgQGlmIG1ldGEudHlwZS1vZihtYXAtZ2V0KCRicmVha3BvaW50cywgXCJsYXJnZS1tYXhcIikpID09ICdudWxsJyAge1xuICAgICRicmVha3BvaW50cyA6IG1hcC5yZW1vdmUoJGJyZWFrcG9pbnRzLCBcImxhcmdlLW1heFwiKTsgXG4gIH1cbn1cblxuQGlmIG1hcC5oYXMta2V5KCRicmVha3BvaW50cywgXCJtYXhcIikgeyBcbiAgJG1heCA6IF9hZGQtdW5pdChtYXAtZ2V0KCRicmVha3BvaW50cywgXCJtYXhcIikpOyBcbiAgQGlmIG1ldGEudHlwZS1vZihtYXAtZ2V0KCRicmVha3BvaW50cywgXCJtYXhcIikpID09ICdudWxsJyAge1xuICAgICRicmVha3BvaW50cyA6IG1hcC5yZW1vdmUoJGJyZWFrcG9pbnRzLCBcIm1heFwiKTsgXG4gIH1cbn1cblxuLy8gTWFrZSBzdXJlIGFsbCB0aGUgdmFsdWVzIGluIHRoZSAkYnJlYWtwb2ludHMgbWFwIGhhdmUgdW5pdHNcblxuQGVhY2ggJGtleSwgJHZhbHVlIGluICRicmVha3BvaW50cyB7XG4gICRicmVha3BvaW50cyA6IG1hcC5zZXQoJGJyZWFrcG9pbnRzLCAka2V5LCBfYWRkLXVuaXQoJHZhbHVlKSk7IFxufVxuXG4vLy8gQnJlYWtwb2ludCBmdW5jdGlvblxuLy8vIEFjY2VwdHMgYSBzdHJpbmcgdG8gcHVsbCBmcm9tIHRoZSAkYnJlYWtwb2ludHMgbWFwIGlmIGl0IGV4aXN0c1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgQGlmIG1ldGEudHlwZS1vZigkdmFsdWUpID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLmhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIGFuZCBtZXRhLnR5cGUtb2YobWFwLWdldCgkYnJlYWtwb2ludHMsICR2YWx1ZSkgIT0gbnVsbCkge1xuICAgICAgJHZhbHVlIDogbWFwLWdldCgkYnJlYWtwb2ludHMsICR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAd2FybiAnXCInICsgJHZhbHVlICsgJ1wiIGJyZWFrcG9pbnQgaGFzIG5vdCBiZWVuIGRlZmluZWQuIENoZWNrIHRoZSBydWxlcyB3aGVyZXZlciB5b3UgYXJlIHJlZ2lzdGVyaW5nIHlvdXIgXCJjcmVhdGUvYnJlYWtwb2ludHNcIiBoZWxwZXInO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuIF9hZGQtdW5pdCgkdmFsdWUpO1xufVxuXG4vLy8gQnJlYWsgbWl4aW5zXG4vLy8gUmVkZWZpbmUgdGhlIGJyZWFrIG1peGlucyB3aXRoIG9uZXMgdGhhdCB1c2UgdGhlIGJyZWFrcG9pbnRzIGZ1bmN0aW9uIGZvciB2YWxpZGF0aW9uXG5cbkBtaXhpbiBvdXQoJGJyZWFrcG9pbnQpIHtcbiAgQGluY2x1ZGUgYnJlYWsub3V0KGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGluKCRicmVha3BvaW50KSB7XG4gIEBpbmNsdWRlIGJyZWFrLmluKGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJldHdlZW4oJG1pbiwgJG1heCkge1xuICBAaW5jbHVkZSBicmVhay5iZXR3ZWVuKGJyZWFrcG9pbnQoJG1pbiksIGJyZWFrcG9pbnQoJG1heCkpIHtcbiAgICBAY29udGVudDtcbiAgfVxufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gQmFja2dyb3VuZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjYmFja2dyb3VuZFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSAncG9zaXRpb24nO1xuXG5AbWl4aW4gYmxvd291dCgkcHN1ZG8gOiBiZWZvcmUpIHtcbiAgJjojeyRwc3Vkb30ge1xuICAgIGNvbnRlbnQ6XCJcIjtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOmluaGVyaXQ7IFxuXHRcdHotaW5kZXg6LTE7IFxuICAgIEBpbmNsdWRlIHBvc2l0aW9uLmJsb3dvdXQ7IFxuICAgIEBjb250ZW50O1xuICB9XG59IiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBQb3NpdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3Bvc2l0aW9uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AdXNlICcuLi9oZWxwZXJzL2JyZWFrJztcblxuQG1peGluIGV4cGFuZGVkIHtcblx0cG9zaXRpb246YWJzb2x1dGU7IFxuXHR0b3A6MDsgXG5cdGxlZnQ6MDsgXG5cdHdpZHRoOjEwMCU7XG5cdGhlaWdodDoxMDAlOyBcbn1cblxuQG1peGluIGNlbnRyZSB7XG4gIHBvc2l0aW9uOmFic29sdXRlOyBcblx0dG9wOjUwJTsgXG5cdGxlZnQ6NTAlO1xuICB0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsIC01MCUpOyBcbn1cblxuQG1peGluIGJsb3dvdXQoJGhvcml6b250YWwgOiB0cnVlLCAkdmVydGljYWwgOiBmYWxzZSkge1xuICBcbiAgcG9zaXRpb246YWJzb2x1dGU7XG5cbiAgQGlmICRob3Jpem9udGFsIGFuZCAkdmVydGljYWwge1xuICAgIHRvcCAgICAgICA6IDUwJTsgXG4gICAgbGVmdCAgICAgIDogNTAlOyBcbiAgICB3aWR0aCAgICAgOiAxMDB2dztcbiAgICBoZWlnaHQgICAgOiAxMDB2aDsgXG4gICAgdHJhbnNmb3JtIDogdHJhbnNsYXRlKHZhcigtLXRyYW5zbGF0ZVgsIC01MCUpLCB2YXIoLS10cmFuc2xhdGVZLCAtNTAlKSk7XG4gIH0gQGVsc2UgaWYgJGhvcml6b250YWwgIHtcbiAgICB0b3AgICAgICAgOiAwOyBcbiAgICBsZWZ0ICAgICAgOiA1MCU7IFxuICAgIHdpZHRoICAgICA6IDEwMHZ3O1xuICAgIGhlaWdodCAgICA6IDEwMCU7IFxuICAgIHRyYW5zZm9ybSA6IHRyYW5zbGF0ZVgodmFyKC0tdHJhbnNsYXRlWCwgLTUwJSkpO1xuICB9IEBlbHNlIGlmICR2ZXJ0aWNhbCAge1xuICAgIHRvcCAgICAgICA6IDUwJTsgXG4gICAgbGVmdCAgICAgIDogMDsgXG4gICAgd2lkdGggICAgIDogMTAwJTtcbiAgICBoZWlnaHQgICAgOiAxMDB2aDsgXG4gICAgdHJhbnNmb3JtIDogdHJhbnNsYXRlWSh2YXIoLS10cmFuc2xhdGVZLCAtNTAlKSk7XG4gIH1cblxufSIsIkB1c2UgXCJzYXNzOmxpc3RcIjtcblxuLy8vIEBleGFtcGxlIEBpbmNsdWRlIGNvbXBvbmVudC1leGlzdHMoJ2JhY2tncm91bmQtaW1hZ2UnKSB7IG9wYWNpdHk6MC41OyB9XG4vLy8gUGFzcyBpbiBtdWx0dWlwbGUgY29tcGVuZW50IG5hbWVzIGlmIHlvdSB3YW50IHRvIGNoZWNrIHRoZXkgYWxsIGV4aXN0XG5cbkBtaXhpbiBleGlzdHMoJG5hbWVzLi4uKSB7XG5cbiAgJHNlbGVjdG9yIDogJ2JvZHknO1xuICAkcGFyZW50IDppZihsaXN0Lm50aChsaXN0Lm50aCgmLCAxKSwgMSkgPT0gJzpyb290JywgJycsICYpO1xuXG4gIEBlYWNoICRuYW1lIGluICRuYW1lcyB7XG4gICAgJHNlbGVjdG9yIDogJHNlbGVjdG9yICsgJ1tkYXRhLWNvbXBvbmVudHMqPVwiI3skbmFtZX1cIl0nO1xuICB9XG5cbiAgQGF0LXJvb3QgI3skc2VsZWN0b3J9ICN7JHBhcmVudH0ge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBAZXhhbXBsZSBAaW5jbHVkZSBjb21wb25lbnQtZG9lc250LWV4aXN0cygnYmFja2dyb3VuZC1pbWFnZScpIHsgb3BhY2l0eTowLjU7IH1cbi8vLyBQYXNzIGluIG11bHR1aXBsZSBjb21wZW5lbnQgbmFtZXMgaWYgeW91IHdhbnQgdG8gY2hlY2sgbm9uZSBleGlzdFxuXG5AbWl4aW4gZG9lc250LWV4aXN0cygkbmFtZXMuLi4pIHtcblxuICAkc2VsZWN0b3IgOiAnYm9keSc7XG4gICRwYXJlbnQgOmlmKGxpc3QubnRoKGxpc3QubnRoKCYsIDEpLCAxKSA9PSAnOnJvb3QnLCAnJywgJik7XG4gIFxuICBAZWFjaCAkbmFtZSBpbiAkbmFtZXMge1xuICAgICRzZWxlY3RvciA6ICRzZWxlY3RvciArICc6bm90KFtkYXRhLWNvbXBvbmVudHMqPVwiI3skbmFtZX1cIl0pJztcbiAgfVxuXG4gIEBhdC1yb290ICN7JHNlbGVjdG9yfSAjeyRwYXJlbnR9IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiQHVzZSAnX21vZHVsZXMnIGFzICo7XG5cbm5hdmlnYXRpb24tYmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiBjYWxjKCN7JHNwYWNlcjB9ICsgI3skZ2FwfSkgMDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC8vIGJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDQyZGVnLCAkYmx1ZTMsICRibHVlNCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibHVlNDtcbiAgei1pbmRleDogNTtcbiAgZ2FwOiAkZ3V0dGVyO1xuICBoZWlnaHQ6IG1pbi1jb250ZW50O1xuXG4gIC0tdG9wLWxldmVsLWxpbmstZ3V0dGVyczogI3skZ2FwfTtcbiAgLS10b3AtbGV2ZWwtbGluay1jb2xvdXI6IHdoaXRlO1xuICAtLW1hcmtlci1saW5lLXRoaWNrbmVzczogM3B4O1xuICAtLXNwYWNlci1saW5lLXRoaWNrbmVzczogMXB4O1xuXG4gIC8vIEBhdC1yb290IGJvZHk6bm90KFtzdHlsZSo9XCItLWxvZ28tdGFnbGluZS1oZWlnaHRcIl0pIHsgLS1sb2dvLXRhZ2xpbmUtaGVpZ2h0IDogMTBweDsgfVxuXG4gIEBpbmNsdWRlIGJyZWFrLWluKHNtYWxsLW1lZGl1bSkge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBAaW5jbHVkZSBiYWNrZ3JvdW5kLWJsb3dvdXQge1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gIH1cblxuICA+ICo6bm90KC5pbWFnZSkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgQGluY2x1ZGUgY29tcG9uZW50LWV4aXN0cygnYmFja2dyb3VuZC1pbWFnZScpIHtcbiAgICAmLmhpZGUtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbml0aWFsO1xuICAgICAgYmFja2dyb3VuZDogaW5pdGlhbDtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGNvbXBvbmVudC1leGlzdHMoJ2JhY2tncm91bmQtdmlkZW8nKSB7XG4gICAgJi5oaWRlLWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDtcbiAgICAgIGJhY2tncm91bmQ6IGluaXRpYWw7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuaW52ZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbml0aWFsO1xuICAgIGJhY2tncm91bmQ6IGluaXRpYWw7XG4gICAgLS10b3AtbGV2ZWwtbGluay1jb2xvdXI6ICN7JGJsdWV9O1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBhLmxvZ28ge1xuICAgICAgaW1nIHtcbiAgICAgICAgJltzcmMqPSd0YWdsaW5lLnN2ZyddIHtcbiAgICAgICAgICBmaWx0ZXI6IGludmVydCgwLjkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTG9nbyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgYS5sb2dvIHtcbiAgICBtYXgtd2lkdGg6IDMyMHB4O1xuICAgIG1heC13aWR0aDogMjgwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICBhc3BlY3QtcmF0aW86IDM3MSAvIDk3O1xuICAgICY6aGFzKHN2Zy5uby10YWdsaW5lcykge1xuICAgICAgYXNwZWN0LXJhdGlvOiBpbml0aWFsO1xuICAgIH1cbiAgfVxuXG4gIEBhdC1yb290IDpoYXMoaGVhZGVyLmRhcmspICY6bm90KC5pbnZlcnQpIHtcbiAgICBhLmxvZ28ge1xuICAgICAgLS1sb2dvLXRleHQtY29sb3VyOiB3aGl0ZTtcbiAgICB9XG4gIH1cblxuICAmOm5vdCguaW52ZXJ0KSB7XG4gICAgLS1sb2dvLXRleHQtY29sb3VyOiB3aGl0ZTtcbiAgfVxuXG4gIC8vIE5hdmlnYXRpb24gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIG5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGdhcDogOHB4O1xuXG4gICAgLy8gRGV2aWRpbmcgU3BhY2VyIExpbmVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFdlIG5lZWQgdG8gaGFuZGxlIG5vbmUgdG9wLWxldmVsLWxpbmsgaXRlbXMgaW4gYSBzcGVjaWFsIHdheS5cbiAgICAvLyBJZiB5b3Ugc2hvdWxkIGVuZCB1cCBhZGRpbmcgbW9yZSBidXR0b25zIHNpbWlsYXIgdG8gdGhlIFwic2VhcmNoXCIgaW4gdGhpc1xuICAgIC8vIGFyZWEsIHlvdSB3aWxsIG5lZWQgYW1lbmQgdGhlIDpudGgtbGFzdC1jaGlsZCBpbmRleFxuXG4gICAgbWFpbi1tZW51ID4gdWwgPiBsaS50b3AtbGV2ZWwtbGluazpub3QoOm50aC1sYXN0LWNoaWxkKDIpKTpub3QoOm50aC1sYXN0LWNoaWxkKDMpKTpub3QoOmxhc3Qtb2YtdHlwZSk6OmJlZm9yZSxcbiAgICBzZWNvbmRhcnktbWVudSA+IHVsID4gbGk6bm90KDpsYXN0LW9mLXR5cGUpOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogdmFyKC0tc3BhY2VyLWxpbmUtdGhpY2tuZXNzKTtcbiAgICAgIGhlaWdodDogNDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IGNhbGMoLTEgKiAodmFyKC0tc3BhY2VyLWxpbmUtdGhpY2tuZXNzKSAvIDIpKTtcbiAgICAgIHRvcDogNTAlIC0gMjAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3BhY2VyLWxpbmUtY29sb3VyLCAkcmVkKTtcbiAgICB9XG5cbiAgICBwZXJzb25hbGlzZS1leHBlcmllbmNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnBlcnNvbmFsaXNlZCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogJGdhcDtcblxuICAgICAgLy8gUGVyc29uYWxpc2VkIEV4cGVyaWVuY2UgQmFyXG4gICAgICBwZXJzb25hbGlzZS1leHBlcmllbmNlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuXG4gICAgICAgIGEuYnV0dG9uLnBlcnNvbmFsaXNlZCB7XG4gICAgICAgICAgLS1mb250LXNpemU6IDAuOGVtO1xuICAgICAgICAgIC0tcGFkZGluZzogNHB4IDEwcHg7XG5cbiAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTQwcHgpIHtcbiAgICAgICAgICAgIC0tZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgLS1wYWRkaW5nOiA4cHggMjBweDtcbiAgICAgICAgICAgIC0taWNvbi1zaXplOiAyMHB4O1xuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAzNnB4O1xuICAgICAgICAgICAgLS1pY29uLXNpemU6IDEuMWVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYgKyBzZWNvbmRhcnktbWVudSB7XG4gICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ0MHB4KSB7XG4gICAgICAgIHRvcDogdW5zZXQ7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAuYnV0dG9uLFxuICAgICAgICBwZXJzb25hbGlzZS1leHBlcmllbmNlIGEuYnV0dG9uLnBlcnNvbmFsaXNlZCB7XG4gICAgICAgICAgLS1wYWRkaW5nOiA4cHg7XG4gICAgICAgICAgLS1pY29uLXNpemU6IDAuOGVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgbWFpbi1tZW51ID4gdWwgPiBsaS50b3AtbGV2ZWwtbGluayArIC5zZWFyY2gge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0ycHg7XG4gICAgfVxuXG4gICAgLy8gR2VuZXJpYyBMaW5rIFN0eWxpbmcgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgLmxpbmsge1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNGVtO1xuICAgICAgICBoZWlnaHQ6IDAuNWVtO1xuICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICAgICY6bm90KC5hcnJvdy1yaWdodCk6bm90KC5hcnJvdy1sZWZ0KSB7XG4gICAgICAgICAgaGVpZ2h0OiAwLjhlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5vdmVydmlldyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgfVxuICAgIH1cbiAgICAubGluayBzdmcsXG4gICAgLmJ1dHRvbiBzdmcge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gTWFpbiBNZW51IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgbWFpbi1tZW51IHtcbiAgICAgIC0tZm9udC1zaXplOiAwLjk1ZW07XG4gICAgICBvcmRlcjogMjtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLnRvcC1sZXZlbC1saW5rcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgJi50b3AtbGV2ZWwtbGluayB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS10b3AtbGV2ZWwtbGluay1jb2xvdXIpO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAkZ2FwMCB2YXIoLS10b3AtbGV2ZWwtbGluay1ndXR0ZXJzKTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICh2YXIoLS10b3AtbGV2ZWwtbGluay1ndXR0ZXJzKSAqIDIpKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10b3AtbGV2ZWwtbGluay1jb2xvdXIsICRyZWQpO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogdmFyKC0tdG9wLWxldmVsLWxpbmstZ3V0dGVycyk7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICYuYWN0aXZlOjphZnRlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICYuY3VycmVudDo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZbZGF0YS1uYXY9J21lbnUnXSB7XG4gICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJltkYXRhLW5hdj0nc3VibWVudSddIHtcbiAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIFNlYXJjaCBCdXR0b25cbiAgICAgICAgICAmLnNlYXJjaCB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGdhcDA7XG4gICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmLnNlYXJjaCxcbiAgICAgICAgICAmLm1lbnUge1xuICAgICAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgICAgfVxuICAgICAgICAgICYuY2FydCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tdG9wLWxldmVsLWxpbmstZ3V0dGVycykgLyAyKTtcbiAgICAgICAgICAgIGxlZnQ6IC0ycHg7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGF0LXJvb3QgbGkuY2FydCB7XG4gICAgICAgICAgICAgIGFbZGF0YS10b3RhbF0ge1xuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS10b3RhbCk7XG4gICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDJjaDtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMC40ZW07XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMC41ZW07XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJjaDtcbiAgICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMC4yO1xuICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJHJlZDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgYTpub3QoW2RhdGEtdG90YWxdKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkcmVkO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDU1MHB4KSB7XG4gICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHggMjBweDtcbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmxvYWRpbmcge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIEBpbmNsdWRlIGxvYWRlcigkY29sb3VyOiB3aGl0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgaG92ZXIoKSB7XG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGxvYWRlci1hbmltYXRpb24ge1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZWNvbmRhcnkgTWVudSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBzZWNvbmRhcnktbWVudSB7XG4gICAgICAtLWZvbnQtc2l6ZTogMC44ZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgb3JkZXI6IDE7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgIHotaW5kZXg6IDY7XG4gICAgICA+IHVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICByaWdodDogJGdhcC07XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdG9wLWxldmVsLWxpbmstY29sb3VyKTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRnYXAwICRnYXA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uO1xuICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogJGJsdWU1O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuc3ViLW1lbnUge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiA1MCU7XG4gICAgICAgICAgICBtaW4td2lkdGg6IGNhbGMoMTAwJSArICN7JGdhcDJ9KTtcbiAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgJGdhcDAtKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uLCB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKHdoaXRlLCAwLjEpO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoMSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkZ2FwMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRnYXAwO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBwYWRkaW5nOiBjYWxjKCN7JGdhcDB9IC8gMikgJGdhcDtcbiAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgJi5hc3NldCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgb3JkZXI6IC0xO1xuICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAuNGVtIDAgMDtcbiAgICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjRlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gT3ZlcnZpZXcgPGxpPiBsaW5rIGVsZW1lbnRcbiAgICAgICAgICAgICZbZGF0YS1sZXZlbD0nMSddIGxpOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICBvcmRlcjogMTAwO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBicm93c2VyLXdpdGhvdXQtZmVhdHVyZSgndG91Y2gnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICBjb2xvcjogJGJsdWU1O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnN1Yi1tZW51IHtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAwKTtcbiAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSAuc3ViLW1lbnUge1xuICAgICAgICAgICAgcmlnaHQ6IGNhbGMoMTAwJSArICN7JGdhcH0pICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gVHJpYW5nbGUgLyBQb2ludGVyXG4gICAgICAgIC8vIFdlIHJlbmRlciB0aGlzIG9uIHRoZSA8bGk+IHJhdGhlciB0aGFuIHRoZSBkcm9wZG93bi1ncm91cCBlbGVtZW50IGJlY2F1c2VcbiAgICAgICAgLy8gd2Ugd2FudCB0aGlzIHRvIGJlIGNlbnRyZWQgdG8gdGhlIGJ1dHRvbi4gVGhlcmUgYXJlIGNhc2VzIHdoZXJlIHRoZVxuICAgICAgICAvLyBsYXN0IDxsaT4gd2lsbCBiZSBhbGlnbmVkIHRvIHRoZSByaWdodCBvZiB0aGUgdmlld3BvcnQsIHRoYXQgd2F5XG4gICAgICAgIC8vIHRoZXNlIGNhbid0IGV2ZXIgYmUgcHVzaGVkIG91dCBvZiB2aWV3IHNob3VsZCB0aGUgdXNlcnMgc2NyZWVuIHN0YXJ0c1xuICAgICAgICAvLyB0byBiZWNvbWUgcmVzcG9uc2l2ZSBiZWxvdyB0aGUgbWF4IHZpZXcgd2lkdGguXG4gICAgICAgID4gbGkuaGFzLWNoaWxkcmVuIHtcbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHRvcDogY2FsYygxMDAlICsgMXB4KTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgY2FsYygtNTAlICsgI3skZ2FwMC19KSkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEod2hpdGUsIDAuMSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCUsIDUwJSA1MCUsIDAgMTAwJSk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbiwgdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIFN0eWxpbmcgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICBAaW5jbHVkZSBicmVhay1pbigxNDAwKSB7XG4gICAgLS10b3AtbGV2ZWwtbGluay1ndXR0ZXJzOiAjeyRnYXB9O1xuICAgIG5hdiBtYWluLW1lbnUgPiB1bCBsaS5zZWFyY2ggc3BhbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrLWluKDk4MCkge1xuICAgIG5hdiBtYWluLW1lbnUge1xuICAgICAgLS1mb250LXNpemU6IDAuOWVtO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1vYmlsZSBTdHlsaW5nID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIGxpLm1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXRvcC1sZXZlbC1saW5rLWd1dHRlcnMpO1xuICB9XG5cbiAgYnV0dG9uLm1lbnUge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcblxuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBsaW5lIHtcbiAgICAgICAgc3Ryb2tlLXdpZHRoOiAzcHg7XG4gICAgICAgIHN0cm9rZTogdmFyKC0tdG9wLWxldmVsLWxpbmstY29sb3VyKTtcbiAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDE1JSAzMCU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgJGVhc2UtaW4tb3V0LXF1aW50O1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxNSUgNzAlO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzICRlYXNlLWluLW91dC1xdWludDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBzdmcge1xuICAgICAgICBsaW5lIHtcbiAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGF0LXJvb3QgYm9keS5tb2JpbGUgJiB7XG4gICAgcGFkZGluZzogJGd1dHRlciAwO1xuICAgIGxpLm1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk4MHB4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAuYnV0dG9uIHtcbiAgICAgICAgJi5zZWFyY2gge1xuICAgICAgICAgIC0tZm9udC1zaXplOiAwLjhlbTtcbiAgICAgICAgICAtLXBhZGRpbmc6IDRweCAxMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBsaS5tZW51IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYnV0dG9uLm1lbnUge1xuICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGEubG9nbyB7XG4gICAgICBtYXgtd2lkdGg6IGluaXRpYWw7XG4gICAgICB3aWR0aDogMjAwcHg7XG4gICAgICBtaW4td2lkdGg6IGluaXRpYWw7XG4gICAgfVxuICAgIG5hdiB7XG4gICAgICBtYWluLW1lbnUgLnRvcC1sZXZlbC1saW5rLFxuICAgICAgc2Vjb25kYXJ5LW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgbWFpbi1tZW51ID4gdWwgbGkuc2VhcmNoIHNwYW4sXG4gICAgICBtYWluLW1lbnUgPiB1bCBsaVtkYXRhLW5hdj0nc3VibWVudSddIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrLWluKDk4MCkge1xuICAgICAgbmF2IG1haW4tbWVudSA+IHVsIGxpLnNlYXJjaCBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBDb2xvdXIgUGFsZXR0ZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSBcIi4vbW9kdWxlcy9jb2xvdXJcIjtcblxuLy8gQWRqdXN0IHRoZXNlIHRvIGFtZW5kIHRoZSBsaWdodG5lc3Mgb3IgZGFya25lc3MgYW1vdW50cyBmb3IgdGhlIGNvbG91cnMgbHNpdGVkIGJlbG93Li4gXG5cbiRfbGlnaHRuZXNzIDogMTUlICFkZWZhdWx0O1xuJF9kYXJrbmVzcyAgOiAyMCUgIWRlZmF1bHQ7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb21tb24gQ29sb3Vyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHJlZCAgICAgICAgICA6ICM5NzA4MEUgIWRlZmF1bHQ7XG4kcmVkLWxpZ2h0ICAgIDogY29sb3VyLmxpZ2h0ZW4oJHJlZCwgJF9saWdodG5lc3MpICFkZWZhdWx0O1xuJHJlZC1kYXJrICAgICA6IGNvbG91ci5kYXJrZW4oJHJlZCwgJF9kYXJrbmVzcykgIWRlZmF1bHQ7XG5cbiRvcmFuZ2UgICAgICAgOiAjREE0QjBGICFkZWZhdWx0O1xuJG9yYW5nZS1saWdodCA6IGNvbG91ci5saWdodGVuKCRvcmFuZ2UsICRfbGlnaHRuZXNzKSAhZGVmYXVsdDtcbiRvcmFuZ2UtZGFyayAgOiBjb2xvdXIuZGFya2VuKCRvcmFuZ2UsICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4keWVsbG93ICAgICAgIDogI0U5QjEwNCAhZGVmYXVsdDtcbiR5ZWxsb3ctbGlnaHQgOiBjb2xvdXIubGlnaHRlbigkeWVsbG93LCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG4keWVsbG93LWRhcmsgIDogY29sb3VyLmRhcmtlbigkeWVsbG93LCAkX2RhcmtuZXNzKSAhZGVmYXVsdDtcblxuJGdyZWVuICAgICAgICA6ICM0ODhDMTMgIWRlZmF1bHQ7XG4kZ3JlZW4tbGlnaHQgIDogY29sb3VyLmxpZ2h0ZW4oJGdyZWVuLCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG4kZ3JlZW4tZGFyayAgIDogY29sb3VyLmRhcmtlbigkZ3JlZW4sICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4kYmx1ZSAgICAgICAgIDogIzFCNTVDMCAhZGVmYXVsdDtcbiRibHVlLWxpZ2h0ICAgOiBjb2xvdXIubGlnaHRlbigkYmx1ZSwgJF9saWdodG5lc3MpICFkZWZhdWx0O1xuJGJsdWUtZGFyayAgICA6IGNvbG91ci5kYXJrZW4oJGJsdWUsICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4kcGluayAgICAgICAgIDogI0UwNUQ2QiAhZGVmYXVsdDtcbiRwaW5rLWxpZ2h0ICAgOiBjb2xvdXIubGlnaHRlbigkcGluaywgJF9saWdodG5lc3MpICFkZWZhdWx0O1xuJHBpbmstZGFyayAgICA6IGNvbG91ci5kYXJrZW4oJHBpbmssICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4kcHVycGxlICAgICAgIDogIzYxM0Q1QSAhZGVmYXVsdDtcbiRwdXJwbGUtbGlnaHQgOiBjb2xvdXIubGlnaHRlbigkcHVycGxlLCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG4kcHVycGxlLWRhcmsgIDogY29sb3VyLmRhcmtlbigkcHVycGxlLCAkX2RhcmtuZXNzKSAhZGVmYXVsdDtcblxuJGdyZXkgICAgICAgICA6ICM3ODc4NzggIWRlZmF1bHQ7XG4kZ3JleS1saWdodCAgIDogY29sb3VyLmxpZ2h0ZW4oJGdyZXksICRfbGlnaHRuZXNzKSAhZGVmYXVsdDtcbiRncmV5LWRhcmsgICAgOiBjb2xvdXIuZGFya2VuKCRncmV5LCAkX2RhcmtuZXNzKSAhZGVmYXVsdDtcblxuJGJyb3duICAgICAgICA6ICM3NzRGMzggIWRlZmF1bHQ7XG4kYnJvd24tbGlnaHQgIDogY29sb3VyLmxpZ2h0ZW4oJGJyb3duLCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG4kYnJvd24tZGFyayAgIDogY29sb3VyLmRhcmtlbigkYnJvd24sICRfZGFya25lc3MpICFkZWZhdWx0O1xuXG4kd2hpdGUgICAgICAgIDogI0ZGRkZGRiAhZGVmYXVsdCA7XG4kd2hpdGUtZGFyayAgIDogY29sb3VyLmxpZ2h0ZW4oJHdoaXRlLCAkX2xpZ2h0bmVzcykgIWRlZmF1bHQ7XG5cbiRibGFjayAgICAgICAgOiAjMDAwMDAwICFkZWZhdWx0IDtcbiRibGFjay1saWdodCAgOiBjb2xvdXIuZGFya2VuKCRibGFjaywgJF9kYXJrbmVzcykgIWRlZmF1bHQ7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTb2NpYWwgTWVkaWEgQ29sb3Vyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIEBzZWUgaHR0cHM6Ly93d3cubG9ja2Vkb3duc2VvLmNvbS9zb2NpYWwtbWVkaWEtY29sb3JzL1xuXG4kZmFjZWJvb2s6ICAgICMxODc3ZjIgIWRlZmF1bHQ7XG4kdHdpdHRlcjogICAgICMxZGExZjIgIWRlZmF1bHQ7XG4kZ29vZ2xlOiAgICAgICM0Mjg1ZjQgIWRlZmF1bHQ7XG4keW91dHViZTogICAgICNmZjAwMDAgIWRlZmF1bHQ7XG4kbGlua2VkaW46ICAgICMwMDdiYjUgIWRlZmF1bHQ7XG4kaW5zdGFncmFtOiAgICNjMzJhYTMgIWRlZmF1bHQ7XG4kcGludGVyZXN0OiAgICNiZDA4MWMgIWRlZmF1bHQ7XG4kZGFpbHltb3Rpb246ICMwMDY2REMgIWRlZmF1bHQ7XG4kc25hcGNoYXQ6ICAgICNmZmZjMDAgIWRlZmF1bHQ7XG4kZmxpY2tyOiAgICAgICNmNDAwODMgIWRlZmF1bHQ7XG4kdmltZW86ICAgICAgICMxYWI3ZWEgIWRlZmF1bHQ7XG4kdGh1bWJsZXI6ICAgICMzNTQ2NWQgIWRlZmF1bHQ7XG4kcmVkZGl0OiAgICAgICNmZjQ1MDAgIWRlZmF1bHQ7XG4kd2hhdHNhcHA6ICAgICMyNWQzNjYgIWRlZmF1bHQ7XG4kc2t5cGU6ICAgICAgICMwMGFmZjAgIWRlZmF1bHQ7XG4kZGlzY29yZDogICAgICM3Mjg5ZGEgIWRlZmF1bHQ7XG5cbiRzb2NpYWwtbWVkaWEgOiAoXG4gIGZhY2Vib29rOiAgICAgJGZhY2Vib29rLFxuICB0d2l0dGVyOiAgICAgICR0d2l0dGVyLFxuICBnb29nbGU6ICAgICAgICRnb29nbGUsXG4gIHlvdXR1YmU6ICAgICAgJHlvdXR1YmUsXG4gIGxpbmtlZGluOiAgICAgJGxpbmtlZGluLFxuICBpbnN0YWdyYW06ICAgICRpbnN0YWdyYW0sXG4gIHBpbnRlcmVzdDogICAgJHBpbnRlcmVzdCxcbiAgZGFpbHltb3Rpb246ICAkZGFpbHltb3Rpb24sXG4gIHNuYXBjaGF0OiAgICAgJHNuYXBjaGF0LFxuICBmbGlja3I6ICAgICAgICRmbGlja3IsXG4gIHZpbWVvOiAgICAgICAgJHZpbWVvLFxuICB0aHVtYmxlcjogICAgICR0aHVtYmxlcixcbiAgcmVkZGl0OiAgICAgICAkcmVkZGl0LFxuICB3aGF0c2FwcDogICAgICR3aGF0c2FwcCxcbiAgc2t5cGU6ICAgICAgICAkc2t5cGUsXG4gIGRpc2NvcmQ6ICAgICAgJGRpc2NvcmRcbik7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBPdGhlciBDb2xvdXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4keWVsbG86ICNGRkNCMDggIWRlZmF1bHQ7XG5cbi8vLyBIYW5kbGVzIHRoZSBjdXJzb3Igc2VsZWN0aW9uIGNvbG91clxuLy8vIEBzZWUgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9hbG1hbmFjL3NlbGVjdG9ycy9zL3NlbGVjdGlvbi9cblxuJGhpZ2hsaWdodDogI0IyRDNGQSAhZGVmYXVsdDsgXG4iLCJAdXNlICcuLi9fdmFyaWFibGVzJyBhcyAqO1xuQHVzZSAnbW9kdWxlcy9jb2xvdXIvZW5jb2RlJyBhcyBjb2xvdXI7XG5cblxuQG1peGluIGxvYWRlcigkc2l6ZSA6IDEycHgsICRjb2xvdXIgOiAkZ3JleSkge1xuICAtLXNpemUgOiAjeyRzaXplfTsgXG4gIGNvbnRlbnQ6XCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6Y2FsYyg1MCUgLSAodmFyKC0tc2l6ZSkgLyAyKSk7IFxuICBsZWZ0OmNhbGMoNTAlIC0gKHZhcigtLXNpemUpIC8gMikpOyBcbiAgb3BhY2l0eTogMDtcbiAgd2lkdGg6dmFyKC0tc2l6ZSk7IFxuICBoZWlnaHQ6dmFyKC0tc2l6ZSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOjJweCBzb2xpZCB2YXIoLS1sb2FkZXItY29sb3VyLCAkY29sb3VyKTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICBhbmltYXRpb24tbmFtZTogbG9hZGVyLXJvdGF0ZTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzICRlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgQGtleWZyYW1lcyBsb2FkZXItcm90YXRlIHtcbiAgICBmcm9tIHt0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgdG8ge3RyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIH1cbiAgQGNvbnRlbnQ7XG59XG5cbkBtaXhpbiBsb2FkZXItYW5pbWF0aW9uIHsgXG4gIG9wYWNpdHk6MTsgXG4gIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nO1xuICBAY29udGVudDtcbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIEJyb3dzZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2Jyb3dzZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBfYnJvd3NlcigkbmFtZSwgJHZlcnNpb246ZmFsc2UpIHtcbiAgQGF0LXJvb3QgOnJvb3Qge1xuICAgICZbZGF0YS1icm93c2VyKj1cIiN7JG5hbWV9XCJdIHtcbiAgICAgIEBpZiAkdmVyc2lvbiB7XG4gICAgICAgICZbZGF0YS1icm93c2VyKj1cIiN7JHZlcnNpb259XCJdIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZmVhdHVyZSgkbmFtZSkge1xuICBAYXQtcm9vdCA6cm9vdFtkYXRhLWJyb3dzZXItZmVhdHVyZSo9XCIjeyRuYW1lfVwiXSAmIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gd2l0aG91dC1mZWF0dXJlKCRuYW1lKSB7XG4gIEBhdC1yb290IDpyb290Om5vdChbZGF0YS1icm93c2VyLWZlYXR1cmUqPVwiI3skbmFtZX1cIl0pICYge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBmaXJlZm94KCR2ZXJzaW9uOmZhbHNlKSB7XG4gIEBpbmNsdWRlIF9icm93c2VyKCdmaXJlZm94JywgJHZlcnNpb24pIHsgQGNvbnRlbnQ7IH07XG59XG5cbkBtaXhpbiBpZSgkdmVyc2lvbjpmYWxzZSkge1xuICBAaW5jbHVkZSBfYnJvd3NlcignaWUnLCAkdmVyc2lvbikgeyBAY29udGVudDsgfTtcbn1cblxuQG1peGluIGNocm9tZSgkdmVyc2lvbjpmYWxzZSkge1xuICBAaW5jbHVkZSBfYnJvd3NlcignY2hyb21lJywgJHZlcnNpb24pIHsgQGNvbnRlbnQ7IH07XG59XG5cbkBtaXhpbiBlZGdlKCR2ZXJzaW9uOmZhbHNlKSB7XG4gIEBpbmNsdWRlIF9icm93c2VyKCdlZGdlJywgJHZlcnNpb24pIHsgQGNvbnRlbnQ7IH07XG59XG5cbkBtaXhpbiBvcGVyYSgkdmVyc2lvbjpmYWxzZSkge1xuICBAaW5jbHVkZSBfYnJvd3Nlcignb3BlcmEnLCAkdmVyc2lvbikgeyBAY29udGVudDsgfTtcbn1cblxuQG1peGluIHNhZmFyaSgkdmVyc2lvbjpmYWxzZSkge1xuICBAaW5jbHVkZSBfYnJvd3Nlcignc2FmYXJpJywgJHZlcnNpb24pIHsgQGNvbnRlbnQ7IH07XG59XG5cbiIsIkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG4vLyBEcm9wZG93biBNZW51ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZHJvcGRvd24tbWVudSB7XG4gIC0tbWluLWhlaWdodDogNDMwcHg7XG4gIC0tbWF4LWhlaWdodDogNjAwcHg7XG4gIC0tZHJvcGRvd24tZ3JvdXAtbmF2LXdpZHRoOiAyNzBweDtcbiAgLS1kcm9wZG93bi1pbWFnZS13aWR0aDogMzAwcHg7XG4gIC0tZHJvcGRvd24taW1hZ2UtaGVpZ2h0OiA4MHB4O1xuICAtLWRyb3Bkb3duLW9wZW4tb2Zmc2V0OiA2cHg7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSAtIHZhcigtLW1hcmtlci1saW5lLXRoaWNrbmVzcykgLSAxcHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIGJveC1zaGFkb3c6IDBweCAycHggNHB4IHJnYmEoYmxhY2ssIDAuMik7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdmFyKC0tZHJvcGRvd24tZ3JvdXAtbmF2LXdpZHRoKSAxZnI7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICBtYXJnaW4tdG9wOiAwcHg7XG4gIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgJGVhc2UtaW4tb3V0LCBtYXJnaW4tdG9wIDAuM3MgJGVhc2UtaW4tb3V0LXNpbmU7XG4gIGZvbnQtc2l6ZTogMTZweDtcblxuICBAYXQtcm9vdCBuYXZpZ2F0aW9uLWJhciBuYXYgbWFpbi1tZW51LmFjdGl2ZSB7XG4gICAgLnRvcC1sZXZlbC1saW5rcyAudG9wLWxldmVsLWxpbmsgLmxpbmsuY3VycmVudDo6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgZHJvcGRvd24tbWVudSB7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS1kcm9wZG93bi1vcGVuLW9mZnNldCk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLW1hcmtlci1saW5lLXRoaWNrbmVzcykpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMHB4O1xuICAgIHotaW5kZXg6IDU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIH1cblxuICBAYXQtcm9vdCBib2R5Lm1vYmlsZSBuYXZpZ2F0aW9uLWJhciAmIHtcbiAgICAtLWRyb3Bkb3duLW9wZW4tb2Zmc2V0OiAjeyRnYXB9O1xuICAgIHdpZHRoOiB2YXIoLS1kcm9wZG93bi1ncm91cC1uYXYtd2lkdGgpICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgQGluY2x1ZGUgYnJlYWstaW4oc21hbGwpIHtcbiAgICAgIC0tZHJvcGRvd24tZ3JvdXAtbmF2LXdpZHRoOiBjYWxjKDEwMHZ3IC0gI3skZ3V0dGVyM30pICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQGF0LXJvb3QgYm9keTo6YWZ0ZXIge1xuICAvLyAgIGNvbnRlbnQ6XCJcIjtcbiAgLy8gICBvcGFjaXR5OjA7XG4gIC8vICAgcG9pbnRlci1ldmVudHM6IG5vbmU7O1xuICAvLyAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAvLyAgIGluc2V0OjA7XG4gIC8vICAgdG9wOnZhcigtLW5hdmlnYXRpb24taGVpZ2h0LCAwKTtcbiAgLy8gICB3aWR0aDoxMDB2dztcbiAgLy8gICBoZWlnaHQ6IDEwMHZoO1xuICAvLyAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR3aGl0ZSwgMC45MCk7XG4gIC8vIH1cbiAgLy8gQGF0LXJvb3QgYm9keS5tb2JpbGUubWVudS12aXNpYmxlIHtcbiAgLy8gICBAaW5jbHVkZSBicmVhay1pbihzbWFsbCkge1xuICAvLyAgICAgJjo6YWZ0ZXIge1xuICAvLyAgICAgICBvcGFjaXR5OjE7XG4gIC8vICAgICB9XG4gIC8vICAgfVxuICAvLyB9XG59XG5cbi8vIERyb3Bkb3duIEdyb3VwcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5kcm9wZG93bi1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZ3JpZC1jb2x1bW46IDE7XG4gIGdyaWQtcm93OiAxO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIC8vIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIG9wYWNpdHk6IDA7XG4gIGhlaWdodDogaW5oZXJpdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyAkZWFzZS1pbi1vdXQsIHRyYW5zZm9ybSAwLjNzICRlYXNlLWluLW91dDtcbiAgLy8gdHJhbnNpdGlvbi1kZWxheTogMC4zcywgMC4zcztcblxuICAkbWF4LWRlcHRoOiA0O1xuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRtYXgtZGVwdGgge1xuICAgICZbZGF0YS1sZXZlbD0nI3skaX0nXSB7XG4gICAgICB6LWluZGV4OiAoJG1heC1kZXB0aCAtICRpKSArIDE7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgc2Nyb2xsLXN0eWxpbmcge1xuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgfVxuICB9XG5cbiAgLmxpbmsge1xuICAgIC0tZm9udC1zaXplOiAwLjllbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBwYWRkaW5nOiA0cHggJGdhcDI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb24sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb247XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgJi5jdXJyZW50IHtcbiAgICAgIGNvbG9yOiAkcmVkO1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIC8vIFRoaXMgd2lsbCBnaXZlIGxpbmtzIHdpdGggY2hpbGRyZW4gYSBhbmdsZWQgc2hhcGUgdG8gYWN0IGFzIGEgaGl0IGhlbHBlci5cbiAgICAgIC8vIEl0IHByZXZlbnQgdXNlcnMgZnJvbSBoYXZpbmcgdG8gbW92ZSB0aGUgbW91c2UgZGlyZWN0bHkgdG8gdGhlIHJpZ2h0IGJlZm9yZVxuICAgICAgLy8gYmVpbmcgYWJsZSB0byBtb3ZlIHVwIHRoZSBuZXcgc3ViIG1lbnUuIFNldCBhIHRlbXBvcmFyeSBiYWNrZ3JvdW5kLWNvbG9yIHRvIHNlZSBpdCBpbiBhY3Rpb25cbiAgICAgIEBpbmNsdWRlIGJyb3dzZXItd2l0aG91dC1mZWF0dXJlKCd0b3VjaCcpIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgbGVmdDogY2FsYygxMDAlIC0gNTBweCk7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIFRoaXMgYWRqdXN0IHRoZSBoaXQgaGVscGVyIG9uIHRoZSBsYXN0IGxpbmsgdG8gYWNvaWQgdW53YW50ZWQgc2Nyb2xsZXJzXG4gICAgICBAYXQtcm9vdCA6bm90KFtkYXRhLWJyb3dzZXItZmVhdHVyZSo9J3RvdWNoJ10pIGRyb3Bkb3duLWdyb3VwIC5sYXN0IC5saW5rLmFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpIHJvdGF0ZSgwZGVnKSBza2V3KC00NWRlZywgMCk7XG4gICAgICB9XG4gICAgfVxuICAgICYuaGFzLWNoaWxkcmVuIHtcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkZ2FwMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBob3ZlcigpIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgIH1cbiAgfVxuXG4gIC8vIFdlIG5lZWQgdG8gaGFuZGxlIHRoZSB0b3AgYW5kIGJvdHRvbSBwYWRkaW5nIHNsaWdodGx5XG4gIC8vIGRpZmZlcmVudGx5IGJlY2F1c2UgZ3JpZGRlZCBsaXN0cyBoYXZlIHNvbWUgaXNzdWVzIHdpdGggdGhlIGJvdHRvbVxuICAvLyBwYWRkaW5nIHdoZW4gb3ZlcmZsb3cgc2Nyb2xsIGlzIGFjdGl2ZVxuICB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG5cbiAgICBsaSB7XG4gICAgICAmLmZpcnN0IHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRnYXA7XG4gICAgICB9XG4gICAgICAmLmxhc3Qge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGdhcDtcbiAgICAgIH1cbiAgICAgICYub3ZlcnZpZXcge1xuICAgICAgICBtYXJnaW4tdG9wOiAkZ2FwO1xuICAgICAgICAmIH4gLmZpcnN0IHtcbiAgICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubGluayB7XG4gICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIEBpbmNsdWRlIGhvdmVyKCcuYWN0aXZlJykge1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicm93c2VyLXdpdGhvdXQtZmVhdHVyZSgndG91Y2gnKSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5iYWNrIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRnYXA7XG4gICAgICAgIEBpbmNsdWRlIGJyb3dzZXItd2l0aG91dC1mZWF0dXJlKCd0b3VjaCcpIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5saW5rIHtcbiAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjRlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZbZGF0YS1sZXZlbD0nMSddIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBsaS5iYWNrIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJltkYXRhLWxldmVsPScyJ10ge1xuICAgIHdpZHRoOiA5NSU7XG4gICAgbGVmdDogMTAwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5MztcbiAgfVxuXG4gICZbZGF0YS1sZXZlbD0nMyddIHtcbiAgICB3aWR0aDogY2FsYyg5NSUgKyAycHgpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgbGVmdDogY2FsYygxOTUlIC0gMXB4KTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC4zcywgMC4zcztcbiAgfVxuXG4gICYuYWxsb3ctc2Nyb2xsIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICB9XG5cbiAgJi5hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAmW2RhdGEtbGV2ZWw9JzInXSxcbiAgICAmW2RhdGEtbGV2ZWw9JzMnXSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICAgIH1cbiAgfVxuXG4gICY6bm90KC5hY3RpdmUpIHtcbiAgICAmW2RhdGEtbGV2ZWw9JzEnXSxcbiAgICAmW2RhdGEtbGV2ZWw9JzInXSxcbiAgICAmW2RhdGEtbGV2ZWw9JzMnXSB7XG4gICAgICBsZWZ0OiAwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gICAgfVxuICB9XG5cbiAgQGF0LXJvb3QgYm9keTpub3QoLm1vYmlsZSkgbmF2aWdhdGlvbi1iYXIgJjpub3QoW2RhdGEtbGV2ZWw9JzEnXSkge1xuICAgIC5saW5rIHtcbiAgICAgIC8vIC0tZm9udC1zaXplOjAuOGVtO1xuICAgICAgcGFkZGluZy10b3A6IDZweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2cHg7XG4gICAgfVxuICB9XG5cbiAgQGF0LXJvb3QgYm9keS5tb2JpbGUgbmF2aWdhdGlvbi1iYXIgJiB7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMgJGJvcmRlci1yYWRpdXMgMCAwICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cywgMC41cztcbiAgICB0cmFuc2Zvcm06IGluaXRpYWwgIWltcG9ydGFudDtcbiAgICAvLyBwYWRkaW5nLWJvdHRvbSA6IHZhcigtLWRyb3Bkb3duLWltYWdlLWhlaWdodCk7XG4gICAgJG1heC1kZXB0aDogNDtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRtYXgtZGVwdGgge1xuICAgICAgJltkYXRhLWxldmVsPScjeyRpfSddIHtcbiAgICAgICAgei1pbmRleDogJGkgKyAxO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5saW5rIHtcbiAgICAgIC0tZm9udC1zaXplOiAxZW07XG4gICAgICBwYWRkaW5nLXRvcDogJGdhcDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJGdhcDA7XG4gICAgfVxuICAgIHVsIHtcbiAgICAgIGxpIHtcbiAgICAgICAgJi5vdmVydmlldyxcbiAgICAgICAgJi5iYWNrIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIERyb3Bkb3duIEltYWdlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5kcm9wZG93bi1pbWFnZSB7XG4gIEBpbmNsdWRlIGltYWdlLXNyY3NldCgpO1xuICAvLyBoZWlnaHQ6aW5oZXJpdDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBncmlkLWNvbHVtbjogMjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXkzO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgZGlzcGxheTogZ3JpZDtcbiAganVzdGlmeS1pdGVtczogZmxleC1lbmQ7XG5cbiAgLmltYWdlIHtcbiAgICAvLyBoZWlnaHQ6dmFyKC0tbWF4LWhlaWdodCk7XG4gICAgd2lkdGg6IGNsYW1wKHZhcigtLWRyb3Bkb3duLWltYWdlLXdpZHRoKSAvIDIsIDMwdncsIHZhcigtLWRyb3Bkb3duLWltYWdlLXdpZHRoKSk7XG4gICAgZ3JpZC1yb3c6IDE7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzICRlYXNlLWluLW91dDtcbiAgICBvcGFjaXR5OiAwO1xuICAgICYuYWN0aXZlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgaW1nIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAYXQtcm9vdCBib2R5Lm1vYmlsZSBuYXZpZ2F0aW9uLWJhciAmIHtcbiAgICAvLyBkaXNwbGF5Om5vbmU7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgLy8gZ3JpZC1yb3c6MTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICB3aWR0aDogaW5oZXJpdDtcbiAgICBoZWlnaHQ6IHZhcigtLWRyb3Bkb3duLWltYWdlLWhlaWdodCk7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IGluaXRpYWw7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgLy8gbWFyZ2luLXRvcDpjYWxjKC0xICogdmFyKC0tZHJvcGRvd24taW1hZ2UtaGVpZ2h0KSk7XG4gICAgLmltYWdlIHtcbiAgICAgIHdpZHRoOiBpbmhlcml0O1xuICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSAnLi4vX3ZhcmlhYmxlcycgYXMgKjtcblxuQG1peGluIHN0eWxpbmcoKSB7XG5cbiAgLy8gdGhlIHNjcm9sbGJhci5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIHdpZHRoOjAuOWVtO1xuICAgIGhlaWdodDowLjllbTtcbiAgfVxuXG4gIC8vIHRoZSBidXR0b25zIG9uIHRoZSBzY3JvbGxiYXIgKGFycm93cyBwb2ludGluZyB1cHdhcmRzIGFuZCBkb3dud2FyZHMpLlxuICAmOjotd2Via2l0LXNjcm9sbGJhci1idXR0b24ge1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gdGhlIGRyYWdnYWJsZSBzY3JvbGxpbmcgaGFuZGxlLlxuICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXk7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBib3JkZXI6IDRweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgfVxuXG4gIC8vIHRoZSB0cmFjayAocHJvZ3Jlc3MgYmFyKSBvZiB0aGUgc2Nyb2xsYmFyLlxuICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyB0aGUgdHJhY2sgKHByb2dyZXNzIGJhcikgTk9UIGNvdmVyZWQgYnkgdGhlIGhhbmRsZS5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2stcGllY2Uge1xuXG4gIH1cblxuICAvLyB0aGUgYm90dG9tIGNvcm5lciBvZiB0aGUgc2Nyb2xsYmFyLCB3aGVyZSBib3RoIGhvcml6b250YWwgYW5kIHZlcnRpY2FsIHNjcm9sbGJhcnMgbWVldC5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8vIHRoZSBkcmFnZ2FibGUgcmVzaXppbmcgaGFuZGxlIHRoYXQgYXBwZWFycyBhdCB0aGUgYm90dG9tIGNvcm5lciBvZiBzb21lIGVsZW1lbnRzLlxuICAmOjotd2Via2l0LXJlc2l6ZXIge1xuXG4gIH1cblxuICBAY29udGVudDtcblxufSIsIkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG5cblxuLmhlYWRlciB7XG5cbiAgcGFkZGluZy10b3A6JHNwYWNlcjtcbiAgcGFkZGluZy1ib3R0b206JHNwYWNlcjtcblxuICA+IGgxIHN1cCB7XG4gICAgZm9udC1zaXplOjAuNmVtO1xuICB9XG5cbiAgPiBoMSBzcGFue1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTpmb250LXNpemUoNik7XG4gICAgY29sb3I6ICRncmV5O1xuICB9XG5cbiAgPiBoMSArICosID4gaDIgKyAqIHtcbiAgICBtYXJnaW4tdG9wOiRndXR0ZXI7XG4gIH1cblxuICA+IGgxICsgaDIgeyBtYXJnaW4tdG9wOiRndXR0ZXIwOyB9XG5cbiAgPiBoMiB7XG4gICAgY29sb3I6dmFyKC0tc3ViLWhlYWRpbmctY29sb3VyKTsgXG4gICAgQGluY2x1ZGUgZm9udC1sYXRvKHNlbWktYm9sZCk7XG4gICAgYSB7IFxuICAgICAgLS1mb250LWNvbG91ciA6IHZhcigtLXN1Yi1oZWFkaW5nLWNvbG91cik7IFxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICBAaW5jbHVkZSBob3ZlciB7IC0tZm9udC1jb2xvdXIgOiAjeyRwcmltYXJ5fTsgfVxuICAgIH1cbiAgfVxuXG4gIHRpbWUge1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIG1hcmdpbjokZ3V0dGVyIDA7IFxuICAgIHBhZGRpbmc6NHB4IDhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiRncmV5MztcbiAgICBib3JkZXI6MXB4IHNvbGlkICRncmV5NDsgIFxuICAgIGZvbnQtc2l6ZTpmb250LXNpemUoMTIpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJvcmRlci1sZWZ0OjRweCBzb2xpZCB2YXIoLS10YWctY29sb3VyLCAkcmVkKTtcbiAgfVxuXG4gIGJ1dHRvbi1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206JGdhcC07IFxuICAgIG1hcmdpbi10b3A6JHNwYWNlcjA7XG4gICAgQGluY2x1ZGUgYnJlYWstaW4oc21hbGwpIHtcbiAgICAgIC5idXR0b24gc3BhbiB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbm90aWNlLW1lc3NhZ2VzIHsgbWFyZ2luLXRvcDokc3BhY2VyMDsgfVxuXG4gICYuZGFyayB7XG4gICAgLS1oZWFkaW5nLWNvbG91cjp3aGl0ZTtcbiAgICAtLXN1Yi1oZWFkaW5nLWNvbG91cjp3aGl0ZTtcbiAgICAuYnV0dG9uLmJyb2NodXJlIHtcbiAgICAgIC0tZm9udC1jb2xvdXI6d2hpdGU7XG4gICAgICBzdmcgeyBmaWxsOiB3aGl0ZTsgfVxuICAgIH1cbiAgfVxuXG4gICYubm8tZGV2aWRlci1saW5lIHtcbiAgICB+IG1haW4ge1xuICAgICAgLS1ib3JkZXItdG9wLWNvbG91ciA6ICN7cmdiYSh3aGl0ZSwgMC4yKX07XG4gICAgICA+IC5jb250ZW50LWJsb2NrOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBwYWRkaW5nLXRvcDowOyBcbiAgICAgICAgYm94LXNoYWRvdzogaW5pdGlhbDtcbiAgICAgIH1cbiAgICB9ICAgIFxuICB9XG5cbn0iLCJAdXNlICdzYXNzOm1hdGgnO1xuXG5AdXNlICdfbW9kdWxlcycgYXMgKjtcblxuZm9vdGVyI2Zvb3RlciB7XG4gIC0tZm9udC1jb2xvdXI6IHdoaXRlO1xuXG4gIGZvbnQtc2l6ZTogZm9udC1zaXplKDE0KTtcbiAgcGFkZGluZy10b3A6ICRzcGFjZXI7XG4gIHBhZGRpbmctYm90dG9tOiAkc3BhY2VyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcbiAgZ3JpZC1nYXA6ICRndXR0ZXI7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDMwMHB4O1xuXG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6IHZhcigtLWZvbnQtY29sb3VyKTtcbiAgICBAaW5jbHVkZSBob3ZlcignLmN1cnJlbnQnKSB7XG4gICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWxpZ2h0LCAkcmVkLWxpZ2h0KTtcbiAgICB9XG4gICAgJi5jdXJyZW50IHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5iYWNrLXRvLXRvcCB7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIG1hcmdpbjogJGdhcC0gYXV0byAkZ2FwIGF1dG87XG4gICAgQGluY2x1ZGUgYnJlYWstb3V0KHNtYWxsKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC50YWctbGluZS1zaWduLW9mZiB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZXIwO1xuICAgIEBpbmNsdWRlIGhlYWRpbmctaDI7XG4gICAgdGFnLWxpbmUge1xuICAgICAgc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udHNpemUoMTJweCwgMC40ZW0pO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWstaW4oOTAwKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWstaW4oNjAwKSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBnYXA6ICRnYXAwO1xuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gID4gbmF2IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBncmlkLWdhcDogJGd1dHRlcjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblxuICAgIHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGkgKyBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRnYXAwO1xuICAgICAgfVxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDMzM3B4LCAxZnIpKTtcbiAgICAgICAgZ3JpZC1nYXA6IDAgJGdhcDtcbiAgICAgICAgbGk6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGluZ1xuXG4gIC5oZWFkaW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIEBpbmNsdWRlIGhlYWRpbmctaDQ7XG4gICAgQGluY2x1ZGUgZm9udC1jcm9wLXJlbW92ZTtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xuICAgIH1cbiAgfVxuXG4gIGNvbXBhbnktZGV0YWlscyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW5tO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGdyaWQtZ2FwOiAkZ2FwMCAkZ2FwO1xuXG4gICAgc21hbGwsXG4gICAgLnNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKDEwKTtcbiAgICAgIGNvbG9yOiByZ2JhKHdoaXRlLCAwLjcpO1xuICAgICAgYnIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5iYXNlIHtcbiAgICBtYXJnaW4tdG9wOiAkc3BhY2VyO1xuICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgYS5sb2dvIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAyNDBweDtcbiAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVhay1vdXQoc21hbGwtbWVkaXVtKSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAkYmFyLWhlaWdodDogM3B4O1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWZvb3Rlci1ici1jb2xvdXIsICRyZWQpO1xuICAgICAgICAgIGhlaWdodDogJGJhci1oZWlnaHQ7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTogbWF0aC5kaXYoLSRiYXItaGVpZ2h0LCAyKTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgYS55ZWxsbyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBjYWxjKDEwMCUgKyAjeyRnYXB9KTtcbiAgICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKDE0KTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgY29sb3I6IHJnYmEod2hpdGUsIDAuNSk7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbjtcbiAgICAgIHNwYW4ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC4zZW07XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGNvbG9yOiAkeWVsbG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBhZG1pbi1saW5rcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBjYWxjKDEwMCUgKyAjeyRnYXB9KTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRnYXAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aGFzKC5jZXAtbG9nbykge1xuICAgICAgLS1sb2dvLXNwYWNlcjogMjAwcHg7XG5cbiAgICAgIC5jZXAtbG9nbyB7XG4gICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEpIGludmVydCgxKTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrLW91dChzbWFsbC1tZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1sb2dvLXNwYWNlcik7XG4gICAgICAgIC5jZXAtbG9nbyB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlICsgI3skZ2FwMn0pO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogY2FsYyh2YXIoLS1sb2dvLXNwYWNlcikgKiAtMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrLWluKHNtYWxsLW1lZGl1bSkge1xuICAgICAgICAuY2VwLWxvZ28ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXIyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWstaW4oMTQwMCkge1xuICAgID4gbmF2IHtcbiAgICAgIHVsOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29tcGFueS1kZXRhaWxzIHNtYWxsIGJyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gY29tcGFueS1kZXRhaWxzLCA+IG5hdiB1bCB7XG4gICAgLy8gXHRwYWRkaW5nOiRnYXAyO1xuICAgIC8vIFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgLy8gXHRiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoJGJsdWUtZGFyaywgMC41KTtcbiAgICAvLyB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVhay1pbihzbWFsbC1tZWRpdW0pIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICA+ICoge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgID4gbmF2IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB1bCB7XG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHVuc2V0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5iYXNlIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYS5sb2dvIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIHdpZHRoOiAxNjBweDtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHNvY2lhbC1tZWRpYSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRzcGFjZXIwLTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjA7XG4gICAgICB9XG4gICAgICBhZG1pbi1saW5rcyB7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgbWFyZ2luLXRvcDogJGdhcDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmNsLWNvbnNlbnQtc2V0dGluZ3Mge1xuICBsZWZ0OiB1bnNldCAhaW1wb3J0YW50O1xuICByaWdodDogdmFyKC0tZ3V0dGVyMSk7XG4gIHdpZHRoOiA0MnB4O1xuICBoZWlnaHQ6IDQycHg7XG4gIGJveC1zaGFkb3c6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gIGJvdHRvbTogY2FsYyh2YXIoLS1ndXR0ZXIzKSAqIDIuNzUpICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDA7XG4gIEBpbmNsdWRlIGJyZWFrLWluKHNtYWxsLW1lZGl1bSkge1xuICAgIGJvdHRvbTogdmFyKC0tZ3V0dGVyNSkgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBDcm9wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNjcm9wXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AdXNlICdzYXNzOm1hdGgnO1xuQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnLi9tb2R1bGVzL3VuaXQnO1xuXG5cbi8vLyBAc2VlIGh0dHA6Ly90ZXh0LWNyb3AuZWlnaHRzaGFwZXMuY29tLz90eXBlZmFjZS1zZWxlY3Rpb249Z29vZ2xlLWZvbnQmdHlwZWZhY2U9TGF0byZjdXN0b20tdHlwZWZhY2UtbmFtZT1IZWx2ZXRpY2EmY3VzdG9tLXR5cGVmYWNlLXVybD0mY3VzdG9tLXR5cGVmYWNlLXdlaWdodD00MDAmY3VzdG9tLXR5cGVmYWNlLXN0eWxlPW5vcm1hbCZ3ZWlnaHQtYW5kLXN0eWxlPTEwMCZzaXplPTM2JmxpbmUtaGVpZ2h0PTEuMiZ0b3AtY3JvcD05JmJvdHRvbS1jcm9wPThcblxuQGZ1bmN0aW9uIG9mZnNldCgkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRjcm9wKSB7XG4gICRjcm9wICAgICAgICA6IHVuaXQuc3RyaXAoJGNyb3ApO1xuICAkZm9udC1zaXplICAgOiB1bml0LnN0cmlwKCRmb250LXNpemUpICogMTA7XG4gICRsaW5lLWhlaWdodCA6IHVuaXQuc3RyaXAoJGxpbmUtaGVpZ2h0KTtcbiAgQHJldHVybiBtYXRoLmRpdihtYXRoLnJvdW5kKG1hdGguZGl2KG1hdGgubWF4KCgkY3JvcCArICgkbGluZS1oZWlnaHQpICogKCRmb250LXNpemUgLyAyKSksIDApLCAkZm9udC1zaXplKSAqIDEwMCksIDEwMCk7XG59XG5cbkBtaXhpbiBjcm9wMigkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRjcm9wLXRvcCwgJGNyb3AtYm90dG9tICkge1xuICBcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcblxuICBAaWYgJGNyb3AtdG9wIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgbWFyZ2luLXRvcDogLSAje29mZnNldCgkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRjcm9wLXRvcCl9ZW07XG5cbiAgICB9XG4gIH1cblxuICBAaWYgJGNyb3AtYm90dG9tIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtICN7b2Zmc2V0KCRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGNyb3AtYm90dG9tKX1lbTtcbiAgICB9XG4gIH1cblxufVxuXG5AbWl4aW4gY3JvcCgkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRjcm9wLXRvcCwgJGNyb3AtYm90dG9tICkge1xuXG4gICRjcm9wLXRvcCAgICA6IHVuaXQuc3RyaXAoJGNyb3AtdG9wKTtcbiAgJGNyb3AtYm90dG9tIDogdW5pdC5zdHJpcCgkY3JvcC1ib3R0b20pO1xuICAkZm9udC1zaXplICAgOiB1bml0LnN0cmlwKCRmb250LXNpemUpICogMTA7XG4gICRsaW5lLWhlaWdodCA6IHVuaXQuc3RyaXAoJGxpbmUtaGVpZ2h0KTtcblxuICAkY3JvcC1saW5lLWhlaWdodDogMS4yO1xuXG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG5cblxuICBAaWYgJGNyb3AtdG9wIHtcbiAgICAkbWFyZ2luLXRvcDogbWF0aC5kaXYobWF0aC5yb3VuZChtYXRoLmRpdihtYXRoLm1heCgoJGNyb3AtdG9wICsgKCRsaW5lLWhlaWdodCAtICRjcm9wLWxpbmUtaGVpZ2h0KSAqICgkZm9udC1zaXplIC8gMikpLCAwKSwgJGZvbnQtc2l6ZSkgKiAxMDApLCAxMDApO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtICN7JG1hcmdpbi10b3B9ZW07XG5cbiAgICB9XG4gIH1cblxuICBAaWYgJGNyb3AtYm90dG9tIHtcbiAgICAkbWFyZ2luLWJvdHRvbTogbWF0aC5kaXYobWF0aC5yb3VuZChtYXRoLmRpdihtYXRoLm1heCgoJGNyb3AtYm90dG9tICsgKCRsaW5lLWhlaWdodCAtICRjcm9wLWxpbmUtaGVpZ2h0KSAqICgkZm9udC1zaXplIC8gMikpLCAwKSwgJGZvbnQtc2l6ZSkgKiAxMDApLCAxMDApO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0gI3skbWFyZ2luLWJvdHRvbX1lbTtcbiAgICB9XG4gIH1cblxufVxuXG5cbkBtaXhpbiBjcm9wMygkY3JvcC1mb250LXNpemU6IDUxLCAkY3JvcC1saW5lLWhlaWdodDogMS4yLCAkdG9wLWNyb3A6IDEzLCAkYm90dG9tLWNyb3A6IDExKSB7XG4gIC8vIENvbmZpZ3VyZWQgaW4gU3RlcCAxXG4gICRsaW5lLWhlaWdodDogMS4zO1xuICAkY3JvcC1mb250LXNpemUgICA6IHVuaXQuc3RyaXAoJGNyb3AtZm9udC1zaXplKSAqIDEwO1xuXG5cbiAgLy8gQXBwbHkgdmFsdWVzIHRvIGNhbGN1bGF0ZSBlbS1iYXNlZCBtYXJnaW5zIHRoYXQgd29yayB3aXRoIGFueSBmb250IHNpemVcbiAgJGR5bmFtaWMtdG9wLWNyb3A6IG1hdGguZGl2KG1heCgoJHRvcC1jcm9wICsgKCRsaW5lLWhlaWdodCAtICRjcm9wLWxpbmUtaGVpZ2h0KSAqICgkY3JvcC1mb250LXNpemUgLyAyKSksIDApLCAkY3JvcC1mb250LXNpemUpO1xuICAkZHluYW1pYy1ib3R0b20tY3JvcDogbWF0aC5kaXYobWF4KCgkYm90dG9tLWNyb3AgKyAoJGxpbmUtaGVpZ2h0IC0gJGNyb3AtbGluZS1oZWlnaHQpICogKCRjcm9wLWZvbnQtc2l6ZSAvIDIpKSwgMCksICRjcm9wLWZvbnQtc2l6ZSk7XG5cbiAgLy8gTWl4aW4gb3V0cHV0XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG5cbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDA7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLSN7JGR5bmFtaWMtdG9wLWNyb3B9K2VtO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLXRvcDogLSN7JGR5bmFtaWMtYm90dG9tLWNyb3B9K2VtO1xuICB9XG59XG5cbkBtaXhpbiByZW1vdmUge1xuICAmOjpiZWZvcmUsICY6OmFmdGVyIHsgZGlzcGxheTpub25lOyB9XG59IiwiQHVzZSAnX21vZHVsZXMnIGFzICo7XG5cbmJvZHkgPiBiYWNrZ3JvdW5kLWltYWdlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIEBpbmNsdWRlIGltYWdlLXNyY3NldCgpO1xuXG4gIC0tYmFja2dyb3VuZC10aGVtZS1vbmUgOiAjeyRibHVlfTtcbiAgLS1iYWNrZ3JvdW5kLXRoZW1lLXR3byA6ICN7JGJsdWUyfTtcblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDpcIlwiO1xuICAgIHBvc2l0aW9uOmFic29sdXRlOyBcbiAgICB0b3A6MDsgXG4gICAgbGVmdDowOyBcbiAgICB3aWR0aDoxMDAlO1xuICAgIGhlaWdodDoxMDAlOyBcbiAgICBvcGFjaXR5OjAuNztcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB2YXIoLS1iYWNrZ3JvdW5kLXRoZW1lLW9uZSksIHZhcigtLWJhY2tncm91bmQtdGhlbWUtdHdvKSk7XG4gIH1cblxuICAmLm5vbmUge1xuICAgICY6OmFmdGVyIHsgY29udGVudDppbml0aWFsOyB9XG4gIH1cblxuICAmLnJlZCB7XG4gICAgLS1iYWNrZ3JvdW5kLXRoZW1lLW9uZSA6ICN7JHJlZH07XG4gICAgLS1iYWNrZ3JvdW5kLXRoZW1lLXR3byA6ICN7JHJlZH07XG4gIH1cblxuICAmLmJsYWNrIHtcbiAgICAtLWJhY2tncm91bmQtdGhlbWUtb25lIDogI3skYmxhY2t9O1xuICAgIC0tYmFja2dyb3VuZC10aGVtZS10d28gOiAjeyRibGFja307XG4gIH1cblxuICAmLnRpbGUge1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBhdXRvO1xuICAgIGltZyB7IGRpc3BsYXk6bm9uZTsgfVxuICB9XG5cbiAgJjpub3QoLnRpbGUpIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgfVxuXG4gICYuYmVoaW5kLWhlYWRlciB7XG4gICAgLy8gZmlsdGVyOiBncmF5c2NhbGUoMjAlKTtcbiAgICAmOjphZnRlciB7XG4gICAgICBvcGFjaXR5OjE7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKGJsYWNrLCAwLjUpO1xuICAgICAgLy8gYmFja2dyb3VuZDogaW5pdGlhbDs7XG4gICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gICAgICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIGJsYWNrIDIwJSx0cmFuc3BhcmVudCAxMDAlKTtcbiAgICB9XG4gIH1cbiBcbn1cblxuYm9keS5tb2JpbGUgPiBiYWNrZ3JvdW5kLWltYWdlLCBib2R5Lm1vYmlsZSA+IGJhY2tncm91bmQtdmlkZW8ge1xuICBtYXgtaGVpZ2h0OiBpbml0aWFsO1xufSIsIkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG5ib2R5ID4gYmFja2dyb3VuZC12aWRlbyB7XG5cbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIEBpbmNsdWRlIGltYWdlLXNyY3NldCgpO1xuXHRcbiAgdmlkZW8ge1xuICAgIGRpc3BsYXkgICAgICAgICA6IGJsb2NrO1xuICAgIHBvc2l0aW9uICAgICAgICA6IGFic29sdXRlO1xuICAgIG9iamVjdC1maXQgICAgICA6IGNvdmVyO1xuICAgIG9iamVjdC1wb3NpdGlvbiA6IHZhcigtLWltYWdlLXBvc2l0aW9uLCBjZW50ZXIgMzMuMzMlKTtcblx0XHR3aWR0aCAgICAgICAgICAgOiB2YXIoLS1pbWFnZS1zaXplLCB2YXIoLS1pbWFnZS13aWR0aC1zaXplLCAxMDAlKSk7XG5cdFx0aGVpZ2h0ICAgICAgICAgIDogdmFyKC0taW1hZ2Utc2l6ZSwgdmFyKC0taW1hZ2UtaGVpZ2h0LXNpemUsIDEwMCUpKTsgXG5cdFx0bWF4LXdpZHRoICAgICAgIDogdmFyKC0taW1hZ2Utc2l6ZSwgdmFyKC0taW1hZ2Utd2lkdGgtc2l6ZSwgMTAwJSkpO1xuXHRcdG1heC1oZWlnaHQgICAgICA6IHZhcigtLWltYWdlLXNpemUsIHZhcigtLWltYWdlLWhlaWdodC1zaXplLCAxMDAlKSk7XG5cdFx0dG9wICAgICAgICAgICAgIDogMDsgXG5cdFx0bGVmdCAgICAgICAgICAgIDogMDtcblx0fVxuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OlwiXCI7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7IFxuICAgIHRvcDowOyBcbiAgICBsZWZ0OjA7IFxuICAgIHdpZHRoOjEwMCU7XG4gICAgaGVpZ2h0OjEwMCU7IFxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHZhcigtLWJhY2tncm91bmQtdGhlbWUtb25lLCB0cmFuc3BhcmVudCksIHZhcigtLWJhY2tncm91bmQtdGhlbWUtdHdvLCBibGFjaykpO1xuICB9XG5cbn0iLCJAdXNlICdfbW9kdWxlcycgYXMgKjtcblxuI2JyZWFkY3J1bWJzLWJhciB7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjokcHJpbWFyeTtcbiAgZGlzcGxheTpmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgJHRyYW5zaXRpb24sIHRvcCAkdHJhbnNpdGlvbjtcblxuICB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IFxuICAgIGxlZnQ6JGdhcC07XG4gICAgd2lkdGg6IDEwMCU7O1xuICAgIGxpIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICArIGxpIHsgbWFyZ2luLWxlZnQ6JGdhcC07IH1cbiAgICB9XG4gIH1cblxuICAubGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDoxMDAlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6Ym9sZDsgXG4gICAgZm9udC1zaXplIDogZm9udC1zaXplKDE4KTtcbiAgICBwYWRkaW5nOiRnYXA7IFxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjp3aGl0ZTsgXG4gICAgc3ZnIHtcbiAgICAgIGNvbG9yOnJnYmEod2hpdGUsIDAuOCk7IFxuICAgICAgd2lkdGg6MC43ZW07XG4gICAgICBoZWlnaHQ6MC43ZW07XG4gICAgICBtYXJnaW4tbGVmdDokZ2FwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBob3ZlcignLmN1cnJlbnQnKSB7XG4gICAgICBjb2xvcjokc2Vjb25kYXJ5O1xuICAgIH1cbiAgICAmLmN1cnJlbnQ6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6XCJcIjtcbiAgICAgIGJvdHRvbTowO1xuICAgICAgbGVmdDowOyBcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OjRweDsgXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgfVxuXG4gIC8vIGEge1xuICAvLyAgIGdyaWQtcm93OjE7IFxuICAvLyAgIGZvbnQtc2l6ZSA6IGZvbnQtc2l6ZSgyMik7XG4gIC8vICAgZm9udC13ZWlnaHQ6Ym9sZDsgXG4gIC8vICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgLy8gICBkaXNwbGF5OmJsb2NrOyBcbiAgLy8gICAtLWZvbnQtY29sb3VyIDogd2hpdGU7IFxuICAvLyAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgLy8gICAgIGNvbG9yOiRzZWNvbmRhcnk7XG4gIC8vICAgfVxuICAvLyB9XG5cblxuICAvLyBAaW5jbHVkZSBjb21wb25lbnQtZG9lc250LWV4aXN0cygnYmFja2dyb3VuZC1pbWFnZScpIHtcblx0XHQvLyAmOjpiZWZvcmUgeyBib3JkZXItdG9wOjFweCBzb2xpZCByZ2JhKHdoaXRlLCAwLjIpOyB9XG5cdC8vIH1cblxufVxuXG5ib2R5Lm1vYmlsZSA+ICNicmVhZGNydW1icy1iYXIge1xuICBtYXgtaGVpZ2h0OiBpbml0aWFsO1xuICBcbiAgLy8vIElmIHlvdSB3YW50IHRoaXMgYmFjayBpbiwgeW91J2xsIGhhdmUgdG8gZWRpdCB0aGUgdG9nZ2xlIGxvZ2ljIGluIHRoZSBpc01vYmlsZUJyZWFrUG9pbnQgbWV0aG9kIGhlcmU6IFxuICAvLy8gIEBzZWUgc3JjL3NjcmlwdHMvY29tcG9uZW50cy9zZWN0aW9ucy9uYXZpZ2F0aW9uLWJhci5qc1xuICBkaXNwbGF5Om5vbmU7IFxufVxuXG4iLCJAdXNlICdfbW9kdWxlcycgYXMgKjtcblxuI2FuY2hvcnMtYmFyIHtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiRncmV5MztcbiAgdHJhbnNpdGlvbjogaGVpZ2h0ICR0cmFuc2l0aW9uLCB0b3AgJHRyYW5zaXRpb247XG4gIGRpc3BsYXk6ZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiAxMDB2dztcblxuICAuY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBvdmVyZmxvdzpoaWRkZW47IFxuICAgIGhlaWdodDoxMDAlOyBcbiAgfVxuXG4gIEBpbmNsdWRlIGJyb3dzZXItd2l0aG91dC1mZWF0dXJlKCd0b3VjaCcpIHsgXG4gICAgQGluY2x1ZGUgYnJlYWstaW4obWF4KSB7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBtYXJnaW4tbGVmdDokZ3V0dGVyMi07XG4gICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gICAgICAgIHBhZGRpbmctbGVmdDokZ3V0dGVyO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiRndXR0ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJvd3Nlci1mZWF0dXJlKCd0b3VjaCcpIHsgXG4gICAgd2lkdGg6IGNhbGMoMTAwJSArICN7JGd1dHRlcjJ9ICsgI3skZ2FwMH0pO1xuICAgIG1hcmdpbi1sZWZ0OiRndXR0ZXItO1xuICAgICY6OmJlZm9yZSB7IGNvbnRlbnQ6aW5pdGlhbDsgfVxuICAgIC5jb250YWluZXIge1xuICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgIHBhZGRpbmctbGVmdDokZ3V0dGVyO1xuICAgICAgcGFkZGluZy1yaWdodDokZ3V0dGVyO1xuICAgIH1cbiAgfVxuXG4gICY6OmJlZm9yZSB7IGJvcmRlci1ib3R0b206MXB4IHNvbGlkICRncmV5NDsgfVxuXG4gIGEge1xuICAgIGdyaWQtcm93OjE7IFxuICAgIGZvbnQtc2l6ZSA6IGZvbnQtc2l6ZSgxNCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDpib2xkOyBcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBwbGFjZS1pdGVtczogY2VudGVyOyBcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGNvbG9yOiRibHVlOyBcbiAgICArIGEgeyBtYXJnaW4tbGVmdDokZ3V0dGVyOyB9XG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgY29sb3I6JHNlY29uZGFyeTtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDpcIlwiO1xuICAgICAgYm90dG9tOjA7XG4gICAgICBsZWZ0OjA7IFxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6NHB4OyBcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0cmFuc2Zvcm06c2NhbGVZKDApO1xuICAgICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gJHRyYW5zaXRpb24tZHVyYXRpb24gJHRyYW5zaXRpb24tZWFzZSAwLjJzO1xuICAgIH1cblxuICAgICYuY3VycmVudCB7XG4gICAgICBjb2xvcjokc2Vjb25kYXJ5O1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06c2NhbGVZKDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gU2lkZWJhclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSAnX21vZHVsZXMnIGFzICo7XG5cbnNpZGUtYmFyIHtcbiAgPiBkaXYge1xuICAgID4gKiB7XG4gICAgICAmOm5vdCgud2hpdGUpIHtcbiAgICAgICAgLS1mb250LWNvbG91cjogd2hpdGU7XG4gICAgICAgIC0taGVhZGluZy1jb2xvdXI6IHdoaXRlO1xuICAgICAgfVxuICAgICAgLS1iYWNrZ3JvdW5kLWNvbG91cjogI3skcHJpbWFyeX07XG5cbiAgICAgIG9yZGVyOiAzO1xuICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICBwYWRkaW5nOiAkZ3V0dGVyMjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtY29sb3VyKTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIsIHJnYmEod2hpdGUsIDAuMikpO1xuICAgIH1cblxuICAgIHNlcnZpY2UtY2VudHJlLWZpbmRlciB7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gICAgc2VydmljZS1jZW50cmUtZmluZGVyIH4gI2dyYWRlcy1zaWRlYmFyLWxpc3Qge1xuICAgICAgb3JkZXI6IDI7XG4gICAgfVxuXG4gICAgLmhlYWRpbmcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlcjA7XG4gICAgICBAaW5jbHVkZSBoZWFkaW5nLWgzKCk7XG4gICAgfVxuXG4gICAgLy8gPiBkaXYuc2lkZWJhci1sb2dvcyB7XG4gICAgLy8gICAtLWJhY2tncm91bmQtY29sb3VyOiB0cmFuc3BhcmVudDtcbiAgICAvLyAgIHBhZGRpbmc6IDA7XG4gICAgLy8gICBkaXNwbGF5OiBmbGV4O1xuICAgIC8vICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAvLyAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvLyAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLy8gICBnYXA6IDJyZW07XG4gICAgLy8gICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAvLyAgIGltZyB7XG4gICAgLy8gICAgIG1heC13aWR0aDogNTAlO1xuICAgIC8vICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIC8vICAgfVxuICAgIC8vICAgc3ZnIHtcbiAgICAvLyAgICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICAvLyAgICAgbWF4LWhlaWdodDogMTAwcHg7XG4gICAgLy8gICB9XG4gICAgLy8gfVxuXG4gICAgLnNpZGViYXItbG9nb3Mge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIGdhcDogMDtcbiAgICAgIG91dGxpbmU6IDFweCBzb2xpZCAkZ3JleTQ7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAmW3NyYyo9J2NvbnN0cnVjdGlvbi1vbmxpbmUnXSB7XG4gICAgICAgICAgcGFkZGluZy1pbmxpbmU6IDZ2dztcbiAgICAgICAgfVxuICAgICAgICArIGltZyB7XG4gICAgICAgICAgLy8gbWFyZ2luLXRvcDogMXB4O1xuICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JleTQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjcG93ZGVyLXR1YnMsXG4gICNncmVlbmVyLWZ1dHVyZSxcbiAgI2xpYmVydHktcG93ZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBoMyB7XG4gICAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICAgIGRpdiB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAuYmFja2dyb3VuZCB7XG4gICAgICBvcGFjaXR5OiAwLjI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIG9iamVjdC1wb3NpdGlvbjogMTAwJSAwJTtcbiAgICB9XG4gICAgLmltYWdlIHtcbiAgICAgIGltZyB7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI2xpYmVydHktcG93ZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleTQ7XG4gICAgLmltYWdlIHtcbiAgICAgIGhlaWdodDogNjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRnYXAyO1xuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI3Bvd2Rlci10dWJzIHtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JleTY7XG4gICAgaDMge1xuICAgICAgcGFkZGluZy1ib3R0b206IDIyNXB4O1xuICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgfVxuICAgIH1cbiAgICAuYmFja2dyb3VuZCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICAuaW1hZ2Uge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGhlaWdodDogMjUwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrLW1lZGl1bSkge1xuICAgICAgaDMge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzAwcHg7XG4gICAgICB9XG4gICAgICAuaW1hZ2Uge1xuICAgICAgICBoZWlnaHQ6IDM1MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNncmVlbmVyLWZ1dHVyZSB7XG4gICAgLS1ncmVlbmVyLWdyZWVuOiAjNGVjYjNkO1xuICAgIGgzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRnYXAyO1xuICAgICAgc3BhbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1ncmVlbmVyLWdyZWVuKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmltYWdlIHtcbiAgICAgIGhlaWdodDogOTBweDtcbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRnYXA7XG4gICAgICBsaSB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ2FwMjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZ3JlZW5lci1ncmVlbik7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgICAgd2lkdGg6IDZweDtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgd2hpdGU7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgd2hpdGU7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDdweDtcbiAgICAgICAgICB0b3A6IDZweDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVhay1tZWRpdW0pIHtcbiAgICAgIHVsIHtcbiAgICAgICAgY29sdW1uLWNvdW50OiAyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uc2lkZWJhci1ibG9ja1xcOmxvY2FsLWN0YSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NzY3Njc7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTFyZW0gYm90dG9tO1xuICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMjIwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tZ3V0dGVyMCk7XG4gIHAge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICB0ZXh0LXdyYXA6IHByZXR0eTtcbiAgfVxuICBAbWVkaWEgKHdpZHRoID4gMTQwMHB4KSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL3VwbG9hZHMvaW1hZ2VzLzIwbXBoLXNpZ24ucG5nJyk7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDE2MHB4O1xuICB9XG59XG5cbi5zaWRlYmFyLWJsb2NrXFw6aXNvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc0YmYwMztcbiAgYm9yZGVyOiBpbml0aWFsO1xuICBwYWRkaW5nOiAwO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFNvY2lhbCBNZWRpYVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQHVzZSAnX21vZHVsZXMnIGFzICo7XG5cbnNvY2lhbC1tZWRpYSB7XG4gIFxuICAtLWljb24tY29sb3VyIDogI3skd2hpdGV9O1xuICAtLWljb24tc2l6ZSAgIDogMjBweDsgXG5cbiAgZGlzcGxheTpmbGV4OyBcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBhIHtcblxuICAgIG1hcmdpbi1sZWZ0OiRnYXA7IFxuICAgIGRpc3BsYXk6ZmxleCAhaW1wb3J0YW50OyBcblxuICAgIHN2ZyB7XG4gICAgICB3aWR0aCAgOiB2YXIoLS1pY29uLXNpemUpO1xuICAgICAgaGVpZ2h0IDogdmFyKC0taWNvbi1zaXplKTtcbiAgICAgIGZpbGwgICA6IHZhcigtLWljb24tY29sb3VyKTtcbiAgICAgIHRyYW5zaXRpb24gOiAkdHJhbnNpdGlvbjsgXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgQGVhY2ggJG5hbWUsICRjb2xvdXIgaW4gJGNvbG91cnMtc29jaWFsLW1lZGlhIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7IC0taWNvbi1jb2xvdXIgOiAjeyRjb2xvdXJ9OyB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3BhbiB7IGRpc3BsYXk6bm9uZTsgfVxuXG4gIH1cblxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFRyYW5zaXRpb25zXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AdXNlIFwiaGVscGVycy9lYXNlXCI7XG5cbiRkdXJhdGlvbiA6IDAuMnM7XG4kZWFzZSAgICAgOiBlYXNlLiRpbi1vdXQ7XG4kZGVsYXkgICAgOiBudWxsO1xuXG4kdHJhbnNpdGlvbiA6IHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sICRkdXJhdGlvbikgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCAkZWFzZSkgdmFyKC0tdHJhbnNpdGlvbi1kZWxheSwgJGRlbGF5KTsiLCJAdXNlICdfbW9kdWxlcycgYXMgKjtcblxuQHVzZSAnc2FzczpsaXN0JztcbkB1c2UgJ3Nhc3M6c3RyaW5nJztcblxuJHBhcmVudFNlbGVjdG9yOiAnLmFydGljbGUnO1xuXG4vLyBAaW5jbHVkZSBjb250YWlucygndGl0bGUnLCAnc3ViaGVhZGluZycsICdub3Q6aW50cm9kdWN0aW9uJykgeyAuLi4gfVxuXG5AbWl4aW4gY29udGFpbnMoJG5hbWVzLi4uKSB7XG4gICRwYXJlbnQ6IGlmKGxpc3QubnRoKGxpc3QubnRoKCYsIDEpLCAxKSA9PSAnOnJvb3QnLCAnJywgJik7XG5cbiAgJHNlbGVjdG9yOiAnJztcblxuICBAaWYgKHR5cGUtb2YoJHBhcmVudCkgPT0gJ2xpc3QnKSB7XG4gICAgQGVhY2ggJHNlZ21lbnQgaW4gbGlzdC5udGgoJHBhcmVudCwgMSkge1xuICAgICAgQGlmICgkc2VnbWVudCAhPSAkcGFyZW50U2VsZWN0b3IpIHtcbiAgICAgICAgJHNlbGVjdG9yOiAkc2VsZWN0b3IgKyAnICcgKyAkc2VnbWVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAkYXR0cmlidXRlczogJyc7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJG5hbWVzIHtcbiAgICBAaWYgKHN0cmluZy5pbmRleCgkbmFtZSwgJ25vdDonKSkge1xuICAgICAgJG5hbWU6IHN0cmluZy5zbGljZSgkbmFtZSwgNSk7XG4gICAgICAkYXR0cmlidXRlczogJGF0dHJpYnV0ZXMgKyAnOm5vdChbZGF0YS1jb250YWlucyo9XCIjeyRuYW1lfVwiXSknO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJGF0dHJpYnV0ZXM6ICRhdHRyaWJ1dGVzICsgJ1tkYXRhLWNvbnRhaW5zKj1cIiN7JG5hbWV9XCJdJztcbiAgICB9XG4gIH1cblxuICBAYXQtcm9vdCAjeyRwYXJlbnRTZWxlY3Rvcn0jeyRhdHRyaWJ1dGVzfSAjeyRzZWxlY3Rvcn0ge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbiN7JHBhcmVudFNlbGVjdG9yfSB7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgLy8gZGlzcGxheTpncmlkO1xuICAgIC8vIGdyaWQtYXV0by1jb2x1bW5zOiAxZnI7XG4gICAgLy8gZ3JpZC1nYXA6JGdhcDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogJGd1dHRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleTM7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGdhcDogMS41cmVtO1xuXG4gICAgPiAqIHtcbiAgICAgIG9yZGVyOiAyO1xuICAgICAgLy8gbWFyZ2luLWJvdHRvbTogJGdhcDtcbiAgICB9XG5cbiAgICAuaGVhZGluZyB7XG4gICAgICBAaW5jbHVkZSBoZWFkaW5nLWgzO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuc3ViaGVhZGluZyB7XG4gICAgICBAaW5jbHVkZSBoZWFkaW5nLWg0O1xuICAgICAgLy8gY29sb3I6JHNlY29uZGFyeTtcbiAgICAgIGNvbG9yOiB2YXIoLS1hcnRpY2xlLXN1YmhlYWRpbmctZm9udC1jb2xvdXIsICRmb250LWNvbG91cik7XG5cbiAgICAgIG1heC13aWR0aDogNzVjaDtcblxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICsgLnRpbWVzdGFtcCB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRnYXA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmludHJvZHVjdGlvbiB7XG4gICAgICBmb250LXNpemU6IGZvbnQtc2l6ZSgxNCk7XG4gICAgICBtYXgtd2lkdGg6IDc1Y2g7XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICBqdXN0aWZ5LXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICB9XG5cbiAgICAmOmhhcyguYXV0aG9yKSB7XG4gICAgICAuYXV0aG9yIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgYm9yZGVyLXRvcDogJGd1dHRlcjAgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgICAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogaW5pdGlhbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aW1lIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZm9udC1zaXplOiBmb250LXNpemUoMTQpO1xuICAgIH1cblxuICAgIC5hdXRob3Ige1xuICAgICAgLS1waG90by1zaXplOiA0MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIC5uYW1lIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcbiAgICAgICAgZm9udC1zaXplOiBmb250LXNpemUoMTQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgZW0ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKDEyKTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgfVxuICAgICAgICBtaW4taGVpZ2h0OiB2YXIoLS1waG90by1zaXplKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgIC50aW1lc3RhbXAge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBmb250LXNpemU6IGZvbnQtc2l6ZSgxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAmLFxuICAgICAgICB+IC5uYW1lIHtcbiAgICAgICAgICBtaW4taGVpZ2h0OiBjYWxjKHZhcigtLXBob3RvLXNpemUpIC8gMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5pbWFnZSB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1waG90by1zaXplKTtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1waG90by1zaXplKTtcbiAgICAgICAgdG9wOiBjYWxjKDUwJSAtIHZhcigtLXBob3RvLXNpemUpIC8gMik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleTQ7XG4gICAgICAgIH4gKiB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXBob3RvLXNpemUpICsgI3skZ2FwfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IC5pbWFnZSB7XG4gICAgICBvcmRlcjogMTtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXI7XG4gICAgICBoZWlnaHQ6IHZhcigtLWltYWdlLWhlaWdodCwgMTgwcHgpO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArICN7JGd1dHRlcjN9KTtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogJGd1dHRlci07XG4gICAgICBtYXJnaW4tdG9wOiAkZ3V0dGVyLTtcbiAgICB9XG4gIH1cbiAgW2hyZWZePSd0ZWw6J10ge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbiAgJi5iZy0ge1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3VyIGluICRjb2xvdXItbWFwIHtcbiAgICAgICYjeycnICsgJG5hbWV9Om5vdCguY2VudHJlLXN0YWNrZWQpIC5jb250YWluZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyO1xuICAgICAgICBAaWYgKCRuYW1lID09IHJlZCBvciAkbmFtZSA9PSBvcmFuZ2Ugb3IgJG5hbWUgPT0gZ3JlZW4gb3IgJG5hbWUgPT0gYmx1ZSkge1xuICAgICAgICAgIC0tYXJ0aWNsZS1zdWJoZWFkaW5nLWZvbnQtY29sb3VyOiAjeyR3aGl0ZX07XG4gICAgICAgICAgLS1oZWFkaW5nLWNvbG91cjogI3skd2hpdGV9O1xuXG4gICAgICAgICAgLnRleHQsXG4gICAgICAgICAgLm5hbWUge1xuICAgICAgICAgICAgY29sb3I6ICN7JHdoaXRlfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGlmICgkbmFtZSA9PSBncmV5KSB7XG4gICAgICAgICAgLS1oZWFkaW5nLWNvbG91cjogdmFyKC0tc2Vjb25kYXJ5KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmcHJpbWFyeSAuY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnkpO1xuICAgICAgLS1hcnRpY2xlLXN1YmhlYWRpbmctZm9udC1jb2xvdXI6ICN7JHdoaXRlfTtcbiAgICAgIC0taGVhZGluZy1jb2xvdXI6ICN7JHdoaXRlfTtcbiAgICB9XG4gICAgJnNlY29uZGFyeSAuY29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeSk7XG4gICAgICAtLWFydGljbGUtc3ViaGVhZGluZy1mb250LWNvbG91cjogI3skd2hpdGV9O1xuICAgICAgLS1oZWFkaW5nLWNvbG91cjogI3skd2hpdGV9O1xuICAgIH1cbiAgICBAYXQtcm9vdCAuY29udGVudC1ibG9jay5ibGFjayBhcnRpY2xlLWxpc3Qge1xuICAgICAgLmFydGljbGUgLmNvbnRhaW5lciB7XG4gICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAtLWFydGljbGUtc3ViaGVhZGluZy1mb250LWNvbG91cjogI3skd2hpdGV9O1xuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgIC0tZm9udC1jb2xvdXI6IHdoaXRlO1xuICAgICAgICAgIC8vIC0tYmFja2dyb3VuZC1jb2xvdXI6ICN7JGJsYWNrfTtcbiAgICAgICAgICAtLWJhY2tncm91bmQtY29sb3VyOiAjeyRzZWNvbmRhcnl9O1xuICAgICAgICAgIC0tYm9yZGVyLWNvbG91cjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgLS1ob3Zlci1mb250LWNvbG91cjogI3skYmxhY2t9O1xuICAgICAgICAgIC0taG92ZXItYmFja2dyb3VuZC1jb2xvdXI6IHdoaXRlO1xuICAgICAgICAgIC0taG92ZXItYm9yZGVyLWNvbG91cjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuY29sdW1ucy0yIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWstb3V0KDEwMDBweCkge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwMHB4O1xuICAgICAgICB9XG4gICAgICAgIGp1c3RpZnktc2VsZjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICY6aGFzKGRpdi5jb250YWluZXIgYnV0dG9uLWNvbnRhaW5lciAuYnV0dG9uOm9ubHktY2hpbGQpIHtcbiAgICBkaXYuY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbjtcbiAgICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeTtcbiAgICAgIH1cbiAgICB9XG4gICAgYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgIC5idXR0b246b25seS1jaGlsZCB7XG4gICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBpbnNldDogMDtcbiAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYS5jb250YWluZXIge1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbjtcbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5O1xuICAgIH1cbiAgfVxuXG4gIGJ1dHRvbi1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6ICRndXR0ZXI7XG4gICAgLmJ1dHRvbiB7XG4gICAgICAvLyBwYWRkaW5nLWJsb2NrOiAwLjJlbTtcbiAgICAgIC8vIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgICAgZm9udC1zaXplOiBzbWFsbDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICAmLnVuY3JvcHBlZC1pbWFnZSB7XG4gICAgLmltYWdlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgaW1nIHtcbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgcGFkZGluZzogJGd1dHRlcjA7XG4gICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAYXQtcm9vdCBhcnRpY2xlLWxpc3Q6aGFzKC5pbWFnZS10ZXh0LXNpZGUtYnktc2lkZSkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgJi5kaXItcnRsIHtcbiAgICBkaXJlY3Rpb246IHJ0bDtcbiAgICAuY29udGVudCA+ICoge1xuICAgICAgZGlyZWN0aW9uOiBsdHI7XG4gICAgfVxuICB9XG4gICY6bm90KFtjbGFzcyo9J2JnLSddKSB7XG4gICAgLS1kaXZpZGVyLWxpbmUtY29sb3VyOiAjeyRncmV5M307XG4gIH1cbiAgJi5pbWFnZS10ZXh0LXNpZGUtYnktc2lkZSB7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogJGd1dHRlcjtcbiAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICB9XG4gICAgICAuaW1hZ2Uge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMzMlO1xuICAgICAgICBtaW4td2lkdGg6IDEyMHB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICBib3JkZXItaW5saW5lLWVuZDogMXB4IHNvbGlkIHZhcigtLWRpdmlkZXItbGluZS1jb2xvdXIsICRncmV5NCk7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgcGFkZGluZzogJGd1dHRlcjtcbiAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmNlbnRyZS1zdGFja2VkIHtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgIC8vIHBhZGRpbmc6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAuY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgfVxuICAgICAgLnRleHQgKiB7XG4gICAgICAgIHRleHQtd3JhcDogYmFsYW5jZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmltYWdlIHtcbiAgICAgIG1heC13aWR0aDogMjQwcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgb3JkZXI6IC0xO1xuICAgICAgbWluLWhlaWdodDogMTIwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiAxNDBweDtcbiAgICAgIGltZyB7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgLy8gcGFkZGluZzogJGd1dHRlcjA7XG4gICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICBwYWRkaW5nLXRvcDogJGd1dHRlcjA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWstb3V0KDEzMDBweCkge1xuICAgICsgLmNlbnRyZS1zdGFja2VkOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IDgwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHdpZHRoOiAxcHg7XG4gICAgICBvcGFjaXR5OiAwLjI7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAlKTtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgY29udGFpbnMoJ3RpdGxlJywgJ3RpbWVzdGFtcCcsICdhdXRob3InLCAnYnV0dG9uJywgJ2ltYWdlJywgJ25vdDpzdWJoZWFkaW5nJywgJ25vdDppbnRyb2R1Y3Rpb24nKSB7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAudGltZXN0YW1wIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgY29udGFpbnMoJ3RpdGxlJywgJ2ltYWdlJywgJ25vdDp0aW1lc3RhbXAnLCAnbm90OmF1dGhvcicsICdub3Q6YnV0dG9uJywgJ25vdDpzdWJoZWFkaW5nJywgJ25vdDppbnRyb2R1Y3Rpb24nKSB7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAuaGVhZGluZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIGhlYWRpbmctaDM7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICB9XG4gICAgICA+IC5pbWFnZSB7XG4gICAgICAgIC0taW1hZ2UtaGVpZ2h0OiAxMzBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBjb250YWlucygnc2VydmljZUNlbnRyZXMnKSB7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBkaXYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ2FwO1xuICAgICAgfVxuICAgICAgaDQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYubGF5b3V0IHtcbiAgICAmLXRleHQtaW1hZ2Utc2lkZS1ieS1zaWRlIHtcbiAgICAgICY6bm90KFtjbGFzcz0nYmctJ10pIHtcbiAgICAgICAgLmNvbnRhaW5lcixcbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG50YWctbGluZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6ICRnYXA7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDVweDtcbiAgQGluY2x1ZGUgaGVhZGluZy1oMztcbiAgc3BhbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMC41ZW07XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGdyaWQtcm93OiAxO1xuICAgIGxpbmUtaGVpZ2h0OiAyO1xuICB9XG4gIHN2ZyB7XG4gICAgY29sb3I6IHZhcigtLXRhZ2xpbmUtaWNvbi1jb2xvdXIsICRyZWQpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRnYXA7XG4gIH1cbiAgLy8gQGluY2x1ZGUgYnJlYWstaW4oNDAwKSB7XG4gIC8vICAgZ2FwOiAkZ2FwMDtcbiAgLy8gICB3aWR0aDogMTAwJTtcbiAgLy8gICBtYXJnaW46ICRzcGFjZXIwIDA7XG4gIC8vICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLy8gICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgLy8gICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgLy8gICBzcGFuIHtcbiAgLy8gICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIC8vICAgfVxuICAvLyAgIHN2ZyB7XG4gIC8vICAgICBtYXJnaW4tcmlnaHQ6ICRnYXAwO1xuICAvLyAgIH1cbiAgLy8gfVxufVxuIiwiQHVzZSAnX21vZHVsZXMnIGFzICo7XG5cbnNpZGUtYmFyIGZvcm0ge1xuICAuZnJlZWZvcm0tZm9ybS1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAzMHB4KTtcbiAgICBwYWRkaW5nOiAkZ2FwMCAkZ2FwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIG1hcmdpbjogMCAtMTVweCAkZ2FwO1xuICB9XG4gIC5zdWJtaXQtcm93IHtcbiAgICBtYXJnaW4tdG9wOiAkZ2FwO1xuICB9XG59XG5cbmZvcm0ge1xuICBAaW5jbHVkZSBmb3JtLXNlbGVjdCgpO1xuICBAaW5jbHVkZSBmb3JtLWlucHV0KCk7XG4gIEBpbmNsdWRlIGZvcm0tdGV4dGFyZWEoKTtcblxuICBpbnB1dDotd2Via2l0LWF1dG9maWxsLFxuICBpbnB1dDotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuICBpbnB1dDotd2Via2l0LWF1dG9maWxsOmZvY3VzLFxuICB0ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsLFxuICB0ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuICB0ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsOmZvY3VzIHtcbiAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdmFyKC0tZm9udC1jb2xvdXIsIGluaGVyaXQpO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDBweCAxMDAwcHggdmFyKC0tYmFja2dyb3VuZC1jb2xvdXIsIHdoaXRlKSBpbnNldDtcbiAgfVxuXG4gICZbZGF0YS1mcmVlZm9ybV0ge1xuICAgIGxhYmVsICsgZGl2IHtcbiAgICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKDEyKTtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRnYXAwO1xuICAgIH1cbiAgICAuZnJlZWZvcm0tcm93IHtcbiAgICAgICsgLmZyZWVmb3JtLXJvdyA+IGRpdiB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRnYXA7XG4gICAgICB9XG4gICAgfVxuICAgIC5mcmVlZm9ybS1jb2x1bW4ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuaW5wdXQtZ3JvdXAtb25lLWxpbmUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1jaGVja2JveCgpO1xuICAgIH1cbiAgfVxufVxuXG5zaWRlLWJhciBmb3JtIHtcbiAgbGFiZWwge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB+IGRpdiB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbmZvcm0jbG9naW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICA+IGxhYmVsIH4gbGFiZWwge1xuICAgIG1hcmdpbi10b3A6ICRnYXA7XG4gIH1cbiAgZGl2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW4tdG9wOiAkZ2FwO1xuICAgIGZvbnQtc2l6ZTogZm9udC1zaXplKDEyKTtcbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAkZ2FwO1xuICB9XG59XG5cbmZvcm0jcmVzZXQtcGFzc3dvcmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogJGd1dHRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAkZ2FwO1xuICB9XG59XG5cbnJlcXVpcmVkLW5vdGljZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNXB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tbm90aWNlLWNvbG91ciwgJGdyZWVuKTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDZweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbjtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDZweDtcbiAgc3BhbiB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmb250LXNpemU6IGZvbnQtc2l6ZSgxMik7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IGNhbGMoMTAwJSArICN7JGdhcDB9KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleTQ7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDRweCAkZ2FwMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMHB4LCAtNTAlKTtcbiAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgfVxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgc3BhbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIC01MCUpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbn1cblxuZm9ybVtkYXRhLWhhbmRsZT0nY29udGFjdFVzJ10sXG5mb3JtW2RhdGEtaGFuZGxlPSdwb3dkZXJDb250YWN0J10ge1xuICAuZnJlZWZvcm0tZm9ybS1zdWNjZXNzLFxuICAuZnJlZWZvcm0tZm9ybS1lcnJvcnMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAkZ2FwMCAkZ2FwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXI7XG4gIH1cbiAgLmZyZWVmb3JtLWZvcm0tZXJyb3JzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICB9XG5cbiAgLmZvcm0tZmllbGRzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtZ2FwOiAkZ3V0dGVyICRndXR0ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVhay1vdXQoNjAwKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgzNDBweCwgMWZyKSk7XG5cbiAgICAgIC5mcmVlZm9ybS1yb3cge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZmlyc3QtbmFtZSxcbiAgICAgICAgJi5sYXN0LW5hbWUsXG4gICAgICAgICYuZW1haWwsXG4gICAgICAgICYuY29tcGFueS1uYW1lLFxuICAgICAgICAmLmNvbnRhY3Qtbm8sXG4gICAgICAgICYueS1ycWcxODFrLWQge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICB9XG4gICAgICAgICYuZGV0YWlsc29mZW5xdWlyeSB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgICAgZ3JpZC1yb3c6IDIgLyBzcGFuIDU7XG4gICAgICAgIH1cbiAgICAgICAgJi5zdWJtaXQtcm93IHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBidXR0b25bdHlwZT0nc3VibWl0J10ge1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHN2Zy5lbWFpbCB7XG4gICAgICAgIHdpZHRoOiAxZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07XG4gICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICBmaWxsOiAkcmVkO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mcmVlZm9ybS1yb3cge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcblxuICAgICAgJi5kZXRhaWxzb2ZlbnF1aXJ5IHtcbiAgICAgICAgLmZyZWVmb3JtLWluc3RydWN0aW9ucyB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIC5mcmVlZm9ybS1jb2x1bW4ge1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmZyZWVmb3JtLWNvbHVtbiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBsYWJlbDpub3QoLmZyZWVmb3JtLWlucHV0LW9ubHktbGFiZWwpIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuc2VydmljZS1jZW50cmUtY29udGFjdCxcbiAgICAgICYubGVhZC1zdGF0dXMsXG4gICAgICAmLmludGVybmFsLW5vdGVzLFxuICAgICAgJi5vcmRlci12YWx1ZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWwuZnJlZWZvcm0taW5wdXQtb25seS1sYWJlbCB7XG4gICAgICBmb250LXNpemU6IGZvbnQtc2l6ZSgxNCk7XG4gICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgIGlucHV0IHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZ2FwMDtcbiAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBzZWxlY3QsXG4gICAgdGV4dGFyZWEsXG4gICAgaW5wdXQ6bm90KFt0eXBlPSdzdWJtaXQnXSkge1xuICAgICAgLS1ib3JkZXItY29sb3VyOiBub25lO1xuICAgICAgLS1iYWNrZ3JvdW5kLWNvbG91cjogd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgLmZyZWVmb3JtLWVycm9ycyB7XG4gICAgY29sb3I6ICRyZWQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiBmb250LXNpemUoMTApO1xuICAgIHBhZGRpbmc6IDJweCAkZ2FwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoMTAwJSAtIDRweCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNnB4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA2cHg7XG4gIH1cblxuICBidXR0b25bdHlwZT0nc3VibWl0J10ge1xuICAgIEBpbmNsdWRlIGJyZWFrLWluKDQwMCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmZyZWVmb3JtLWlucHV0W3JlcXVpcmVkXTpub3QoOnZhbGlkKSB+IHJlcXVpcmVkLW5vdGljZSB7XG4gICAgLS1ub3RpY2UtY29sb3VyOiAjeyRyZWR9O1xuICB9XG5cbiAgJjpub3QoOnZhbGlkKSB7XG4gICAgYnV0dG9uW3R5cGU9J3N1Ym1pdCddIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLW91dGxpbmUtdGhlbWUoJGdyZXkpO1xuICAgIH1cbiAgfVxuXG4gIC5zZXJ2aWNlLWNlbnRyZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbmZvcm1bZGF0YS1oYW5kbGU9J2NvbnRhY3RVcyddIHtcbiAgLmZvcm0tZmllbGRzIHtcbiAgICBAaW5jbHVkZSBicmVhay1vdXQoNjAwKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgzNDBweCwgMWZyKSk7XG5cbiAgICAgIC5mcmVlZm9ybS1yb3cge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZmlyc3QtbmFtZSxcbiAgICAgICAgJi5sYXN0LW5hbWUsXG4gICAgICAgICYuZW1haWwsXG4gICAgICAgICYuY29tcGFueS1uYW1lLFxuICAgICAgICAmLmNvbnRhY3Qtbm8sXG4gICAgICAgICYueS1ycWcxODFrLWQsXG4gICAgICAgICYucHJvZHVjdCB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAyO1xuICAgICAgICB9XG4gICAgICAgICYuZGV0YWlsc29mZW5xdWlyeSB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyAtMTtcbiAgICAgICAgICBncmlkLXJvdzogMiAvIHNwYW4gNjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5ib2R5I2VkaXQge1xuICBmb3JtIHtcbiAgICB0ZXh0YXJlYSxcbiAgICBzZWxlY3QsXG4gICAgaW5wdXQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7XG4gICAgfVxuICAgIC5zdWJtaXQtcm93IHtcbiAgICAgIG9yZGVyOiAyMDtcbiAgICB9XG5cbiAgICAuZnJlZWZvcm0tcm93IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5maXJzdC1uYW1lLFxuICAgIC5sYXN0LW5hbWUsXG4gICAgLmVtYWlsLFxuICAgIC5wcm9kdWN0LFxuICAgIC5kZXRhaWxzb2ZlbnF1aXJ5LFxuICAgIC5zZXJ2aWNlLWNlbnRyZS1jb250YWN0LFxuICAgIC5sZWFkLXN0YXR1cyxcbiAgICAuaW50ZXJuYWwtbm90ZXMsXG4gICAgLm9yZGVyLXZhbHVlLFxuICAgIC5zdWJtaXQtcm93IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgLmZyZWVmb3JtLWNvbHVtbiB7XG4gICAgICAgIHNlbGVjdCxcbiAgICAgICAgdGV4dGFyZWEsXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5kZXRhaWxzb2ZlbnF1aXJ5IHtcbiAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiA2O1xuICAgIH1cblxuICAgIC5maXJzdC1uYW1lLFxuICAgIC5sYXN0LW5hbWUsXG4gICAgLmVtYWlsLFxuICAgIC5wcm9kdWN0LFxuICAgIC5zZXJ2aWNlLWNlbnRyZS1jb250YWN0IHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgc2VsZWN0LFxuICAgICAgdGV4dGFyZWEsXG4gICAgICBpbnB1dCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRldGFpbHNvZmVucXVpcnkge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VydmljZS1jZW50cmUtY29udGFjdCxcbiAgICAubGVhZC1zdGF0dXMsXG4gICAgLmludGVybmFsLW5vdGVzLFxuICAgIC5vcmRlci12YWx1ZSB7XG4gICAgICAuZnJlZWZvcm0tY29sdW1uIHtcbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlICcuLi9fdmFyaWFibGVzJyBhcyAqO1xuQHVzZSAnbW9kdWxlcy9jb2xvdXIvZW5jb2RlJyBhcyBjb2xvdXI7XG5AdXNlIFwiZm9udFwiO1xuXG5AbWl4aW4gX2Jhc2Utc3R5bGluZyB7XG4gIFxuICAtLWZvbnQtY29sb3VyIDogI3skZm9udC1jb2xvdXJ9O1xuICAtLWJhY2tncm91bmQtY29sb3VyIDogI3skd2hpdGV9O1xuICAtLWJvcmRlci1yYWRpdXMgOiAjeyRib3JkZXItcmFkaXVzfTtcbiAgLS1ib3JkZXItY29sb3VyIDogdmFyKC0tZm9udC1jb2xvdXIpO1xuICAtLWJvcmRlciA6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcbiAgLS1wYWRkaW5nIDogI3skZ2FwfSAjeyRnYXB9O1xuXG4gIGJvcmRlci1yYWRpdXM6JGJvcmRlci1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6dmFyKC0tYmFja2dyb3VuZC1jb2xvdXIpO1xuICBib3JkZXI6dmFyKC0tYm9yZGVyKTsgXG4gIHBhZGRpbmc6dmFyKC0tcGFkZGluZyk7IFxuICBmb250LXNpemU6Zm9udC5zaXplKDE0KTsgXG4gIGNvbG9yOnZhciggLS1mb250LWNvbG91cik7XG5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uO1xuICB9XG4gICY6Zm9jdXMge1xuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOnRyYW5zcGFyZW50O1xuICAgIH1cbiAgICBvdXRsaW5lLWNvbG9yIDogJGJsdWU7IFxuICB9XG4gICYuYXV0b2NvbXBsZXRlOm5vdChbdmFsdWU9XCJcIl0pOmZvY3VzIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICB9XG59XG5cbkBtaXhpbiBhbGwtaW5wdXRzKCkge1xuICBpbnB1dFt0eXBlPVwidGV4dFwiXSwgaW5wdXRbdHlwZT1cImVtYWlsXCJdLCBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLCBzZWxlY3QsIHRleHRhcmVhIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaW5wdXQoJHR5cGU6bnVsbCkge1xuXG4gICRzZWxlY3RvciA6ICdpbnB1dDpub3QoW3R5cGU9XCJjaGVja2JveFwiXSk6bm90KFt0eXBlPVwicmFkaW9cIl0pJztcblxuICBAaWYgdHlwZS1vZigkdHlwZSkgIT0gJ251bGwnIHtcbiAgICAkc2VsZWN0b3IgOiAnaW5wdXRbdHlwZT1cIiN7JHR5cGV9XCJdJztcbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgIF9iYXNlLXN0eWxpbmc7IFxuICAgIEBjb250ZW50O1xuICB9XG5cbn1cblxuQG1peGluIHNlbGVjdCgkc3Ryb2tlIDogJGJsYWNrKSB7XG5cbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSAgX2Jhc2Utc3R5bGluZzsgXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyBcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjpjYWxjKDEwMCUgLSAjeyRnYXB9KSBjZW50ZXI7IFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTcuNCcgaGVpZ2h0PScxMC4xJyUzRSUzQ3BhdGggZD0nTTE2LjcuN2wtOCA4LTgtOCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdcIitjb2xvdXIuZW5jb2RlKCRzdHJva2UpK1wiJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1taXRlcmxpbWl0PScxMCcvJTNFJTNDL3N2ZyUzRVwiKTsgICAgXG4gICAgQGNvbnRlbnQ7XG4gIH1cblxufVxuXG5AbWl4aW4gY2hlY2tib3goKSB7XG5cbn1cblxuQG1peGluIHRleHRhcmVhKCkge1xuXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSAgX2Jhc2Utc3R5bGluZzsgXG4gICAgQGNvbnRlbnQ7XG4gIH1cblxufSIsIkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG5tb2RhbC13cmFwcGVyIHtcblxuICAtLXdyYXBwZXItYmFja2dyb3VuZC1jb2xvdXIgOiAje3JnYmEoJHdoaXRlLCAwLjk1KX07XG4gIC0tY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyIDogd2hpdGU7XG5cbiAgLS1taW4td2lkdGg6MzAwcHg7XG4gIC0tbWF4LXdpZHRoOiN7JGJyZWFrLW1lZGl1bX07XG4gIC0td2lkdGg6Y2xhbXAodmFyKC0tbWluLXdpZHRoKSwgOTB2dywgZml0LWNvbnRlbnQpO1xuXG4gIC0tbWluLWhlaWdodDo2MDBweDtcbiAgLS1tYXgtaGVpZ2h0OmNhbGMoMTAwdmggLSAjeyRndXR0ZXIyfSk7XG4gIFxuICAtLWhlaWdodDpjbGFtcCh2YXIoLS1taW4taGVpZ2h0KSwgOTB2dywgZml0LWNvbnRlbnQpO1xuXG4gIEBzdXBwb3J0cyAoIC0tdjotd2Via2l0LWZpbGwtYXZhaWxhYmxlICkge1xuICAgIC0tbWF4LWhlaWdodDotd2Via2l0LWZpbGwtYXZhaWxhYmxlO1xuICB9XG5cbiAgLS1jbG9zZS1idXR0b24tc2l6ZSA6IDMwcHg7IFxuICAtLW5hdi1idXR0b24tc2l6ZSA6IDQwcHg7IFxuXG4gIHBvc2l0aW9uOmZpeGVkO1xuICBpbnNldDowO1xuICBoZWlnaHQ6MTAwJTsgXG4gIHdpZHRoOjEwMCU7IFxuICBiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLXdyYXBwZXItYmFja2dyb3VuZC1jb2xvdXIpO1xuICB6LWluZGV4OjEwO1xuICBkaXNwbGF5OmZsZXg7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzICRlYXNlLWluLW91dDtcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcblxuICAmLmxvYWRpbmcgeyBcbiAgICBvcGFjaXR5OjA7IFxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyAkZWFzZS1pbi1vdXQgMC4zcztcbiAgICBtb2RhbC1jb250YWluZXIge1xuICAgICAgb3BhY2l0eTowOyBcbiAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKDJ2aCk7IFxuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzICRlYXNlLWluLW91dCwgdHJhbnNmb3JtIDAuM3MgJGVhc2UtaW4tcXVhcnQ7XG4gICAgfVxuICB9XG5cbiAgYnV0dG9uLmNsb3NlIHtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0b3A6JGd1dHRlcjsgXG4gICAgcmlnaHQ6JGd1dHRlcjsgXG4gICAgd2lkdGg6dmFyKC0tY2xvc2UtYnV0dG9uLXNpemUpOyBcbiAgICBoZWlnaHQ6dmFyKC0tY2xvc2UtYnV0dG9uLXNpemUpOyBcbiAgICBzdmcgeyBcbiAgICAgIGJvcmRlcjoycHggc29saWQgdmFyKC0tc2Vjb25kYXJ5LCAjeyRyZWR9KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGNpcmNsZSwgcGF0aCB7IHRyYW5zaXRpb246MC4zcyAkZWFzZS1pbi1vdXQ7IH1cbiAgICAgIC0tZmlsbDp2YXIoLS1zZWNvbmRhcnksICN7JHJlZH0pO1xuICAgIH1cbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICBzdmcgeyBcbiAgICAgICAgLS1maWxsOndoaXRlO1xuICAgICAgICAtLXN0cm9rZTp2YXIoLS1zZWNvbmRhcnksICN7JHJlZH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGJ1dHRvbi5uYXZpZ2F0aW9uIHtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB3aWR0aDp2YXIoLS1uYXYtYnV0dG9uLXNpemUpOyBcbiAgICBoZWlnaHQ6dmFyKC0tbmF2LWJ1dHRvbi1zaXplKTsgXG4gICAgdG9wOmNhbGMoNTAlIC0gKHZhcigtLW5hdi1idXR0b24tc2l6ZSkgLyAyKSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1zZWNvbmRhcnksICN7JHJlZH0pO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6MnB4IHNvbGlkIHZhcigtLXNlY29uZGFyeSwgI3skcmVkfSk7XG4gICAgY29sb3I6d2hpdGU7IFxuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBwbGFjZS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOmNvbG9yICR0cmFuc2l0aW9uLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLCB0cmFuc2Zvcm0gMC4ycyAkZWFzZS1vdXQtYmFjaztcbiAgICAmLnByZXZpb3VzIHsgbGVmdCA6ICRndXR0ZXI7IH1cbiAgICAmLm5leHQgeyByaWdodCA6ICRndXR0ZXI7IH1cbiAgICBzdmcgeyBcbiAgICAgIHdpZHRoOjUwJTtcbiAgICAgIGhlaWdodDo1MCU7IFxuICAgIH1cbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICBjb2xvcjp2YXIoLS1zZWNvbmRhcnksICN7JHJlZH0pO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbm1vZGFsLWNvbnRhaW5lciB7XG5cbiAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyAkZWFzZS1pbi1vdXQgMC4zcywgdHJhbnNmb3JtIDAuNXMgJGVhc2Utb3V0LXF1YXJ0IDAuM3M7XG4gIHdpZHRoOnZhcigtLXdpZHRoKTtcbiAgaGVpZ2h0OnZhcigtLWhlaWdodCk7XG4gIG1heC1oZWlnaHQ6dmFyKC0tbWF4LWhlaWdodCk7XG4gIG1heC13aWR0aDp2YXIoLS1tYXgtd2lkdGgpO1xuICBib3JkZXI6MXB4IHNvbGlkICRncmV5NDsgXG4gIGJvcmRlci1yYWRpdXM6JGJvcmRlci1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6dmFyKC0tY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW46JGd1dHRlcjtcbiAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcblxuICBAc3VwcG9ydHMgbm90ICggd2lkdGg6Y2xhbXAoMXB4LCA1dncsIDEwcHgpKSB7XG5cbiAgICAtLXdpZHRoIDogNjB2dztcbiAgICBtYXgtd2lkdGg6dmFyKC0tbWF4LXdpZHRoKTtcbiAgICBtaW4td2lkdGg6dmFyKC0tbWluLXdpZHRoKTtcblxuICAgIC0taGVpZ2h0IDogODB2dztcbiAgICBtYXgtaGVpZ2h0OnZhcigtLW1heC1oZWlnaHQpO1xuICAgIG1pbi1oZWlnaHQ6dmFyKC0tbWluLWhlaWdodCk7XG4gIH1cblxuICAmOmVtcHR5IHtcbiAgICB3aWR0aDpjYWxjKHZhcigtLW1heC13aWR0aCkgLyAyKTtcbiAgICBoZWlnaHQ6Y2FsYyh2YXIoLS1tYXgtaGVpZ2h0KSAvIDIpO1xuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgbG9hZGVyKDIwcHgpO1xuICAgICAgQGluY2x1ZGUgbG9hZGVyLWFuaW1hdGlvbigpO1xuICAgIH1cbiAgfVxuXG4gID4gYnV0dG9uLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3JkZXI6LTE7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgdG9wOmluaXRpYWw7XG4gICAgcmlnaHQ6aW5pdGlhbDtcbiAgICBtYXJnaW4tdG9wOmNhbGMoKC0xICogdmFyKC0tY2xvc2UtYnV0dG9uLXNpemUpKSAvIDIpO1xuICAgIG1hcmdpbi1ib3R0b206Y2FsYygoLTEgKiB2YXIoLS1jbG9zZS1idXR0b24tc2l6ZSkpIC8gMik7XG4gICAgbWFyZ2luLXJpZ2h0OmNhbGMoKC0xICogdmFyKC0tY2xvc2UtYnV0dG9uLXNpemUpKSAvIDIpO1xuICB9XG5cbn1cblxubW9kYWwtY29udGVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuICB3aWR0aDppbmhlcml0O1xuICBoZWlnaHQ6aW5oZXJpdDtcbiAgbWF4LWhlaWdodDppbmhlcml0O1xuICBtYXgtd2lkdGg6aW5oZXJpdDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBwYWRkaW5nOiRndXR0ZXI7XG4gID4gKiB7IG1heC13aWR0aDoxMDAlOyB9XG59XG5cbm1vZGFsLXdyYXBwZXJbZGF0YS10eXBlPVwiaW1hZ2VcIl0gLmltYWdlIHsgXG4gIG1heC1oZWlnaHQ6Y2FsYyh2YXIoLS1tYXgtaGVpZ2h0KSAtICN7JGd1dHRlcjZ9KTtcbiAgYm9yZGVyOm5vbmU7XG4gIGltZyB7XG4gICAgbWF4LWhlaWdodDpjYWxjKDEwMHZoIC0gI3skZ3V0dGVyM30gLSAjeyRndXR0ZXI0fSk7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjphdXRvO1xuICB9XG59XG5cbm1vZGFsLXdyYXBwZXJbZGF0YS10eXBlPVwiZGVmYXVsdFwiXSB7XG4gIG1vZGFsLWNvbnRlbnQgPiBpbWcge1xuICAgICZbc3JjKj1cIi5zdmdcIl0geyB3aWR0aDoxMDAlOyBoZWlnaHQ6YXV0bzsgfVxuICB9XG59XG5cbm1vZGFsLXdyYXBwZXJbZGF0YS10eXBlPVwidmlkZW9cIl0ge1xuICAtLXdyYXBwZXItYmFja2dyb3VuZC1jb2xvdXIgOiAje3JnYmEoYmxhY2ssIDAuOTUpfTtcbiAgbW9kYWwtY29udGFpbmVyIHsgXG4gICAgQGluY2x1ZGUgdmlkZW8tY29udGFpbmVyKCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjp3aGl0ZTtcbiAgICBwYWRkaW5nOiRnYXA7IFxuICAgIG1vZGFsLWNvbnRlbnQge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgfVxuICB9XG59XG5cbi5vcGVuLWluLW1vZGFsIHtcbiAgY3Vyc29yOnBvaW50ZXI7XG4gIHRyYW5zaXRpb246b3BhY2l0eSAkdHJhbnNpdGlvbjtcbiAgJjphZnRlciB7IEBpbmNsdWRlIGxvYWRlcigyMHB4LCB3aGl0ZSk7IH1cbiAgJi5sb2FkaW5nIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAmOmFmdGVyIHsgQGluY2x1ZGUgbG9hZGVyLWFuaW1hdGlvbigpOyB9XG4gIH1cbn1cblxuaW1nLm9wZW4taW4tbW9kYWwsIC5vcGVuLWluLW1vZGFsIGltZyB7IFxuICAtd2Via2l0LXVzZXItZHJhZzogbm9uZTtcbiAgLWtodG1sLXVzZXItZHJhZzogbm9uZTtcbiAgLW1vei11c2VyLWRyYWc6IG5vbmU7XG4gIC1vLXVzZXItZHJhZzogbm9uZTtcbiAgdXNlci1kcmFnOiBub25lO1xufVxuIiwiQHVzZSAnX21vZHVsZXMnIGFzICo7XG5cbjpyb290IHtcbiAgLS1kaWFsb2ctdHJhbnNsYXRlLW9mZnNldDogMXJlbTtcbiAgLS1kaWFsb2ctdHJhbnNsYXRlLWVudGVyOiAwIHZhcigtLWRpYWxvZy10cmFuc2xhdGUtb2Zmc2V0KTtcbiAgLS1kaWFsb2ctdHJhbnNsYXRlLWxlYXZlOiAwIGNhbGMoLTEgKiB2YXIoLS1kaWFsb2ctdHJhbnNsYXRlLW9mZnNldCkpO1xuICAtLWRpYWxvZy10cmFuc2xhdGUtZHVyYXRpb246IDAuNHM7XG4gIC0tZGlhbG9nLWdhcDogI3skZ3V0dGVyMn07XG4gIC0tZGlhbG9nLWNvbnRlbnQtbWF4LXdpZHRoOiAxMDgwcHg7XG4gIC0tZGlhbG9nLWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvdXI6IHdoaXRlO1xuICAtLWRpYWxvZy1iYWNrZHJvcC1jb2xvdXI6IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cblxuZGlhbG9nLm1vZGFsIHtcbiAgYm9yZGVyOiBub25lO1xuICBvdmVyZmxvdzogaW5pdGlhbDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNsYXRlOiB2YXIoLS1kaWFsb2ctdHJhbnNsYXRlLWVudGVyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG92ZXJsYXksIGRpc3BsYXksIHRyYW5zbGF0ZSwgb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogdmFyKC0tZGlhbG9nLXRyYW5zbGF0ZS1kdXJhdGlvbik7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbi1iZWhhdmlvcjogYWxsb3ctZGlzY3JldGU7XG4gIG1hcmdpbjogMDtcbiAgei1pbmRleDogOTk5O1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMGR2aDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgcGxhY2UtY29udGVudDogY2VudGVyO1xuXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIsXG4gICYge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAmOjpiYWNrZHJvcCB7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3ZlcmxheSwgZGlzcGxheSwgb3BhY2l0eTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS1kaWFsb2ctdHJhbnNsYXRlLWR1cmF0aW9uKTtcbiAgICB0cmFuc2l0aW9uLWJlaGF2aW9yOiBhbGxvdy1kaXNjcmV0ZTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMnB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kaWFsb2ctYmFja2Ryb3AtY29sb3VyKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgLmRpYWxvZ1xcOmNvbnRlbnRzIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBkaXJlY3Rpb246IGx0cjtcbiAgICBib3JkZXItcmFkaXVzOiAwLjZlbTtcbiAgICBtYXgtaGVpZ2h0OiAxMDBkdmg7XG4gICAgcGFkZGluZzogdmFyKC0tZGlhbG9nLWdhcCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGlhbG9nLWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xuICAgIHdpZHRoOiBtaW4oMTAwJSwgdmFyKC0tZGlhbG9nLWNvbnRlbnQtbWF4LXdpZHRoKSk7XG4gICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjtcbiAgfVxuXG4gICZbb3Blbl0ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNsYXRlOiAwIDA7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIEBzdGFydGluZy1zdHlsZSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNsYXRlOiB2YXIoLS1kaWFsb2ctdHJhbnNsYXRlLWxlYXZlKTtcbiAgICB9XG5cbiAgICAmOjpiYWNrZHJvcCB7XG4gICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICBAc3RhcnRpbmctc3R5bGUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGJ1dHRvbi5kaWFsb2dcXDpjbG9zZSB7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBjYWxjKDAuNSAqIHZhcigtLWRpYWxvZy1nYXApKTtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIH1cblxuICA6cm9vdDpoYXMoJltvcGVuXSkgW2RhdGEtbW9kYWxdIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxufVxuIiwiQHVzZSAnX21vZHVsZXMnIGFzICo7XG5cbi8vIEB1c2UgJ2N1c3RvbS9leHBlcnRzLWluLXlvdXItYnVzaW5lc3MnO1xuXG4uY29udGVudC1ibG9jayB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiAkZ3V0dGVyO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS1jb2x1bW4tY291bnQpLCAxZnIpO1xuXG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmLnRoaW4ge1xuICAgIHBhZGRpbmctdG9wOiAkZ3V0dGVyO1xuICAgIHBhZGRpbmctYm90dG9tOiAkZ3V0dGVyO1xuICB9XG5cbiAgJi5ibG93b3V0LnRoZW1lZCB+ICY6bm90KC5ibG93b3V0KS50aGVtZWQge1xuICAgIG1hcmdpbi10b3A6ICRzcGFjZXIwO1xuICB9XG4gICY6bm90KC5ibG93b3V0KS50aGVtZWQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZXIwO1xuICAgIH1cbiAgfVxuXG4gICsgLmNvbnRlbnQtYmxvY2sge1xuICAgIGJveC1zaGFkb3c6IDBweCAtMXB4IHZhcigtLWJvcmRlci10b3AtY29sb3VyLCAjeyRncmV5NH0pO1xuICB9XG5cbiAgJi5ob3Jpem9udGFsLWJsb2NrcyB7XG4gICAgYm94LXNoYWRvdzogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nLWJsb2NrOiAkc3BhY2VyMDtcbiAgICAmOmhhcygudGV4dCArIGJ1dHRvbi1jb250YWluZXIpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZ2FwOiAkZ3V0dGVyICRndXR0ZXIwO1xuICAgICAgLnRleHQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtd3JhcDogYmFsYW5jZTtcbiAgICAgIH1cbiAgICAgIGJ1dHRvbi1jb250YWluZXIgLmJ1dHRvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogc21hbGw7XG4gICAgICB9XG4gICAgICAudGV4dCxcbiAgICAgIGJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICA6aXMoaDIsIGgzLCBoNCwgaDUsIGg2KSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbiAgfVxuXG4gICYuZ3JleSB7XG4gICAgYmFja2dyb3VuZDogJGdyZXkzO1xuICB9XG4gICYucmVkIHtcbiAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuICB9XG4gICYuYmx1ZSB7XG4gICAgYmFja2dyb3VuZDogJGJsdWU7XG4gIH1cbiAgJi5ibGFjayB7XG4gICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgIGNvbG9yOiB2YXIoLS1mb250LWNvbG91cik7XG4gICAgLS1oZWFkaW5nLWNvbG91cjogd2hpdGU7XG4gICAgLS1mb250LWNvbG91cjogd2hpdGU7XG4gIH1cblxuICAmLnNpZGUtYnktc2lkZS1jb21wb25lbnRzIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogMDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgPiAqIHtcbiAgICAgIGdyaWQtY29sdW1uOiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICAmLmNvbnRhaW5lci1pbmxpbmUge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiAkc3BhY2VyO1xuICAgICAgfVxuICAgICAgJi5lY29wb3N0ZS1iYW5uZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHNwYWNlcjtcbiAgICAgICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAYXQtcm9vdCBtYWluOmhhcyg+IC5jb250ZW50LWJsb2NrLnNpZGUtYnktc2lkZS1jb21wb25lbnRzKSB7XG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAuc2lkZS1ieS1zaWRlLWNvbXBvbmVudHMge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhICh3aWR0aCA8IDkwMHB4KSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG4udGV4dCB7XG4gIGEge1xuICAgIC0tZm9udC1jb2xvdXI6ICN7JHByaW1hcnl9O1xuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgIC0tZm9udC1jb2xvdXI6ICN7JHNlY29uZGFyeX07XG4gICAgfVxuICAgIGEuYnV0dG9uIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIHVsIHtcbiAgICBAaW5jbHVkZSBsaXN0LXVsO1xuICB9XG4gIG9sIHtcbiAgICBAaW5jbHVkZSBsaXN0LW9sO1xuICB9XG5cbiAgcDplbXB0eSxcbiAgcCA+IGJyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgPiAqIHtcbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbiAgICB9XG4gICAgLy8gJjpmaXJzdC1jaGlsZCB7XG4gICAgLy8gICB+IGgyLCB+IGgzLCB+IGg0LCB+IGg1LCB+IGg2IHtcbiAgICAvLyAgICAgbWFyZ2luLXRvcDokc3BhY2VyMDtcbiAgICAvLyAgIH1cbiAgICAvLyB9XG4gICAgdWwsXG4gICAgb2wge1xuICAgICAgbWFyZ2luLXRvcDogJGdhcDtcbiAgICB9XG4gIH1cblxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYge1xuICAgIG1hcmdpbi1ib3R0b206ICRnYXA7XG4gICAgJjpvbmx5LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgJjpoYXMoaDE6b25seS1jaGlsZCkgKyBidXR0b24tY29udGFpbmVyIC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMyAhaW1wb3J0YW50O1xuICB9XG4gICY6aGFzKGgyOm9ubHktY2hpbGQpICsgYnV0dG9uLWNvbnRhaW5lciAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDIuMnJlbSAhaW1wb3J0YW50O1xuICB9XG4gICY6aGFzKGgzOm9ubHktY2hpbGQpICsgYnV0dG9uLWNvbnRhaW5lciAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDEuNnJlbSAhaW1wb3J0YW50O1xuICB9XG4gICY6aGFzKGg0Om9ubHktY2hpbGQpICsgYnV0dG9uLWNvbnRhaW5lciAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDEuNHJlbSAhaW1wb3J0YW50O1xuICB9XG4gICY6aGFzKGg1Om9ubHktY2hpbGQpICsgYnV0dG9uLWNvbnRhaW5lciAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDEuMnJlbSAhaW1wb3J0YW50O1xuICB9XG4gICY6aGFzKGg2Om9ubHktY2hpbGQpICsgYnV0dG9uLWNvbnRhaW5lciAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDEuMnJlbSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmhlYWRpbmctaDMge1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xuICB9XG4gIFtzdHlsZSo9J3RleHQtYWxpZ246IGNlbnRlciddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIC5xdW90ZXMge1xuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgJGdyZXk0O1xuICAgIHBhZGRpbmctbGVmdDogJGdhcDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIH1cblxuICBmaWd1cmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmc6ICRnYXA7XG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBociB7XG4gICAgbWFyZ2luLXRvcDogJHNwYWNlcjAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm5vdGUge1xuICAgIG1hcmdpbjogJGdhcDIgMDtcbiAgfVxufVxuXG4vLyBEYXJrIFRoZW1lID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uZGFyayB7XG4gIC50ZXh0IHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgLS1oZWFkaW5nLWNvbG91cjogd2hpdGU7XG5cbiAgICBhIHtcbiAgICAgICYuYnV0dG9uIHtcbiAgICAgICAgLS1mb250LWNvbG91cjogd2hpdGU7XG4gICAgICB9XG4gICAgICAmOm5vdCguYnV0dG9uKSB7XG4gICAgICAgIC0tZm9udC1jb2xvdXI6ICN7cmdiYSh3aGl0ZSwgMC43KX07XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDJweDtcbiAgICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICAgIC0tZm9udC1jb2xvdXI6IHdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLS1oci1jb2xvdXI6ICN7cmdiYSh3aGl0ZSwgMC4zKX07XG4gIC0tbGlzdC1zdHlsZS1jb2xvdXI6IHdoaXRlO1xuXG4gICYucmVkIHtcbiAgICAudGV4dCB1bCB7XG4gICAgICBAaW5jbHVkZSBsaXN0LXN0eWxlKCR3aGl0ZSwgJHJlZCk7XG4gICAgfVxuICB9XG5cbiAgJi5ibHVlIHtcbiAgICAudGV4dCB1bCB7XG4gICAgICBAaW5jbHVkZSBsaXN0LXN0eWxlKCR3aGl0ZSwgJGJsdWUpO1xuICAgIH1cbiAgfVxufVxuXG4uY29udGFpbnMtc3ZncyB7XG4gIC50ZXh0IHtcbiAgICBmaWd1cmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHBhZGRpbmc6IDAgdmFyKC0tZ2FwKTtcbiAgICAgIGltZyB7XG4gICAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlICcuLi9fdmFyaWFibGVzJyBhcyAqO1xuQHVzZSAnY29sbGVjdGlvbnMvZm9udC9jcm9wJyBhcyBmb250O1xuQHVzZSAnbW9kdWxlcy9jb2xvdXIvZW5jb2RlJyBhcyBjb2xvdXI7XG5cbkBtaXhpbiBzdHlsZSgkZmlsbCwgJHN0cm9rZTogd2hpdGUsICRpbXA6IGZhbHNlKSB7XG4gID4gbGk6OmJlZm9yZSB7XG4gICAgQGlmICgkaW1wKSB7XG4gICAgICBjb250ZW50OiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ2NpcmNsZSBmaWxsPSdcIiArIGNvbG91ci5lbmNvZGUoXG4gICAgICAgICAgJGZpbGxcbiAgICAgICAgKSArIFwiJyBjeD0nOCcgY3k9JzgnIHI9JzgnLyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSdcIiArIGNvbG91ci5lbmNvZGUoXG4gICAgICAgICAgJHN0cm9rZVxuICAgICAgICApICsgXCInIHN0cm9rZS13aWR0aD0nMS40JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTMuNSA4LjRsMi43IDIuNyA2LjMtNi4zJy8lM0UlM0Mvc3ZnJTNFXCIpICFpbXBvcnRhbnQ7XG4gICAgfSBAZWxzZSB7XG4gICAgICBjb250ZW50OiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ2NpcmNsZSBmaWxsPSdcIiArIGNvbG91ci5lbmNvZGUoXG4gICAgICAgICAgJGZpbGxcbiAgICAgICAgKSArIFwiJyBjeD0nOCcgY3k9JzgnIHI9JzgnLyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSdcIiArIGNvbG91ci5lbmNvZGUoXG4gICAgICAgICAgJHN0cm9rZVxuICAgICAgICApICsgXCInIHN0cm9rZS13aWR0aD0nMS40JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTMuNSA4LjRsMi43IDIuNyA2LjMtNi4zJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBVbm9yZGVyZCBMaXN0cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gdWwoJGxpc3Qtc3R5bGUtY29sb3VyOiAkcmVkLCAkbGlzdC1zdHlsZS1hY2NlbnQtY29sb3VyOiB3aGl0ZSkge1xuICBAaW5jbHVkZSBzdHlsZSgkbGlzdC1zdHlsZS1jb2xvdXIsICRsaXN0LXN0eWxlLWFjY2VudC1jb2xvdXIpO1xuXG4gID4gbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tbGlzdC1zdHlsZS1zaXplLCAxZW0pICogMS44KTtcblxuICAgICYgKyBsaSB7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS1saW5lLXN0eWxlLXNwYWNpbmcsICN7JGdhcH0pO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0b3A6IDAuMWVtO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiB2YXIoLS1saXN0LXN0eWxlLXNpemUsIDFlbSk7XG4gICAgICBoZWlnaHQ6IHZhcigtLWxpc3Qtc3R5bGUtc2l6ZSwgMWVtKTtcbiAgICB9XG4gIH1cblxuICBAY29udGVudDtcbn1cblxuLy8gT3JkZXJlZCBMaXN0cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIG9sKCkge1xuICBjb3VudGVyLXJlc2V0OiBjb3VudGVyO1xuXG4gID4gbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDIycHg7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLWxpc3Qtc3R5bGUtb2Zmc2V0LCAwKTtcblxuICAgICYgKyBsaSB7XG4gICAgICBtYXJnaW4tdG9wOiAkZ2FwMDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogY291bnRlcihjb3VudGVyKSAnLic7XG4gICAgICBjb3VudGVyLWluY3JlbWVudDogY291bnRlcjtcbiAgICAgIGNvbG9yOiB2YXIoLS1saXN0LXN0eWxlLWNvbG91ciwgdmFyKC0tcHJpbWFyeSkpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgICB9XG4gIH1cblxuICBAY29udGVudDtcbn1cbiIsIkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG50YWJsZS1jb250YWluZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWdhcDogJGdhcDtcbiAgLy8gd2lkdGg6IGZpdC1jb250ZW50O1xuXG4gID4gZGl2IHtcbiAgICAvLyBAYXQtcm9vdCB0YWJiZWQtY29udGVudCAmIHsgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLW5hdmlnYXRpb24taGVpZ2h0LCAyMDBweCkpOyB9XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICAmOm5vdCg6aG92ZXIpIHtcbiAgICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHNjcm9sbC1zdHlsaW5nO1xuICB9XG4gIGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICB0YWJsZS50YWJsZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZ3JpZC1yb3c6IDE7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG5cbiAgICAmLmZha2Uge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXgpKTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS14KSk7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDtcbiAgICAgIHRib2R5IHRyIHtcbiAgICAgICAgdGQge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4ICRncmV5NCBkYXNoZWQ7XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtb2YtdHlwZShvZGQpIHRkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JleTM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoZWFkIHRyIHRoOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCByZ2JhKHdoaXRlLCAwLjEpIGRhc2hlZDtcbiAgICAgIH1cbiAgICAgIHRoZWFkIHRyIHRoOm5vdCg6Zmlyc3Qtb2YtdHlwZSksXG4gICAgICB0Ym9keSB0ciB0ZDpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAc3VwcG9ydHMgKHdyaXRpbmctbW9kZTogdmVydGljYWwtbHIpIHtcbiAgICAmLmVuYWJsZS12ZXJ0aWNhbC1oZWFkaW5ncyB0YWJsZS50YWJsZSB0aGVhZCB0ciB0aDpub3QoOmZpcnN0LW9mLXR5cGUpIHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1scjtcbiAgICAgIG1heC13aWR0aDogNTBweDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB9XG4gIH1cblxuICAkYnV0dG9uLXNpemU6IDQwcHg7XG5cbiAgbmF2IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBncmlkLXJvdzogMTtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJ1dHRvbi5uYXZpZ2F0aW9uIHtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgKyBidXR0b24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogJGdhcDA7XG4gICAgICB9XG4gICAgfVxuICAgICsgZGl2IHtcbiAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyO1xuICAgIH1cbiAgfVxuXG4gICYuc2Nyb2xsZWQtcmlnaHQgYnV0dG9uLm5leHQsXG4gICYuc2Nyb2xsZWQtbGVmdCBidXR0b24ucHJldmlvdXMge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgJi5lbmFibGUtc2Nyb2xsLWJ1dHRvbnMgbmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgYnV0dG9uLm5hdmlnYXRpb24ge1xuICAgIC0tYnV0dG9uLXNpemU6ICN7JGJ1dHRvbi1zaXplfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleTQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IHZhcigtLWJ1dHRvbi1zaXplKTtcbiAgICBoZWlnaHQ6IHZhcigtLWJ1dHRvbi1zaXplKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgY29sb3I6ICRncmV5MjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLCBjb2xvciAkdHJhbnNpdGlvbiwgb3BhY2l0eSAkdHJhbnNpdGlvbiwgdHJhbnNmb3JtIDAuM3MgJGVhc2Utb3V0LWJhY2s7XG4gICAgJi5wcmV2aW91cyBzdmcge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0ycHg7XG4gICAgfVxuICAgICYubmV4dCBzdmcge1xuICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICB9XG4gICAgc3ZnIHtcbiAgICAgIHdpZHRoOiBjYWxjKHZhcigtLWJ1dHRvbi1zaXplKSAvIDIuNSk7XG4gICAgICBoZWlnaHQ6IGNhbGModmFyKC0tYnV0dG9uLXNpemUpIC8gMi41KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrLW91dChtZWRpdW0pIHtcbiAgICAmLmVuYWJsZS1zdGlja3ktY29sdW1uIHtcbiAgICAgIHRoZWFkIHRyIHRoOmZpcnN0LWNoaWxkLFxuICAgICAgdGJvZHkgdHIgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgfVxuICAgICAgdGJvZHkgdHIge1xuICAgICAgICB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtY2hpbGQob2RkKSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHJnYmEoYmxhY2ssIDAuMDUpIDAgMCksIGxpbmVhci1ncmFkaWVudCh3aGl0ZSAwIDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnRhYmxlLnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB0aGVhZCB7XG4gICAgdHIge1xuICAgICAgdGgge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgcGFkZGluZzogJGdhcDtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdGJvZHkge1xuICAgIHRyIHtcbiAgICAgIHRkIHtcbiAgICAgICAgcGFkZGluZzogJGdhcDAgJGdhcDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGNvbG9yOiAkZ3JleTI7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBzdmcge1xuICAgICAgICAgIC0tZmlsbDogI3skcHJpbWFyeX07XG4gICAgICAgICAgJi5jcm9zcyB7XG4gICAgICAgICAgICAtLWZpbGw6ICN7JHJlZH07XG4gICAgICAgICAgfVxuICAgICAgICAgICYudGljayB7XG4gICAgICAgICAgICAtLWZpbGw6ICN7JGdyZWVufTtcbiAgICAgICAgICB9XG4gICAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmV5NDtcbiAgICB9XG4gICAgLy8gJjpudGgtb2YtdHlwZShvZGQpOmJlZm9yZSB7XG4gICAgLy8gICBjb250ZW50OlwiXCI7XG4gICAgLy8gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLy8gICBsZWZ0OjA7IHJpZ2h0OjA7XG4gICAgLy8gICBoZWlnaHQ6MTAwJTtcbiAgICAvLyAgIHdpZHRoOjEwMCU7XG4gICAgLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiRncmV5MztcbiAgICAvLyB9XG4gICAgJjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5MztcbiAgICB9XG4gIH1cblxuICAmLmFsdGVybmF0aW5nLXJvdy1jb2xvdXJzIHRib2R5IHRyOm50aC1jaGlsZChvZGQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGJsYWNrLCAwLjEpO1xuICB9XG4gICYubGFzdC1jb2x1bW4taXMtZ3JlZW4gdGJvZHkgdHIgdGQ6bGFzdC1vZi10eXBlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbiAgLy8gJi5sYXN0LWNvbHVtbi1pcy1ncmVlbiB0aGVhZCB0ciB0aDpsYXN0LW9mLXR5cGUge1xuICAvLyB9XG4gIC8vICYuYWx0ZXJuYXRpbmctcm93LWNvbG91cnMubGFzdC1jb2x1bW4taXMtZ3JlZW4gdGJvZHkgdHI6bnRoLWNoaWxkKG9kZCkgdGQ6bGFzdC1vZi10eXBlIHsgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRncmVlbjMsIDMpOyB9XG59XG5cbi5kYXJrIHRhYmxlLWNvbnRhaW5lcixcbi5kYXJrLmNvbnRlbnQtYmxvY2sgLnRhYi1jb250ZW50IHtcbiAgPiBoMyB7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG4gID4gZGl2IHtcbiAgICBib3JkZXItcmFkaXVzOiBpbml0aWFsO1xuICB9XG4gIHRhYmxlLnRhYmxlIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5pdGlhbDtcbiAgICB0ciB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHdoaXRlLCAwLjE1KTtcbiAgICB9XG4gICAgdHIge1xuICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAmOm50aC1vZi10eXBlKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHdoaXRlLCAwLjE1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuQHVzZSAnX21vZHVsZXMnIGFzICo7XG5cbmZpZ3VyZS5pbWFnZS5zdGF0aWMge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjp3aGl0ZTsgIFxuICBib3JkZXI6MXB4IHNvbGlkICRncmV5MztcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgaW1nIHsgXG4gICAgLS1pbWFnZS1oZWlnaHQtc2l6ZSA6IGF1dG87IFxuICAgIHBvc2l0aW9uOnJlbGF0aXZlOyBcbiAgfVxuICBmaWdjYXB0aW9uIHtcbiAgICBmb250LXNpemU6Zm9udC1zaXplKDEyKTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgcGFkZGluZzokZ2FwMCAkZ2FwO1xuICB9XG4gICYubm8tY2FwdGlvbiB7XG4gICAgYm9yZGVyOm5vbmU7IFxuICB9XG4gICYuY3JvcC1pbWFnZSB7XG4gICAgZmlnY2FwdGlvbiB7XG4gICAgICBib3R0b206MDsgXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OjA7IFxuICAgICAgd2lkdGg6MTAwJTsgXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvO1xuICAgIC0tYXNwZWN0LXJhdGlvIDogaW5oZXJpdDsgXG4gICAgaW1nIHsgLS1pbWFnZS1oZWlnaHQtc2l6ZSA6IDEwMCU7IH1cbiAgfVxufVxuXG4uaW1hZ2UubG9hZC1pbi12aWV3IGltZyB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyAkZWFzZS1pbi1vdXQ7XG4gICY6bm90KFtzcmNdKSB7IG9wYWNpdHk6MDsgfVxufVxuXG5pbWFnZXMtY29udGFpbmVyIHtcbiAgd2lkdGg6MTAwJTsgXG4gIGRpc3BsYXk6Z3JpZDsgXG4gIGdyaWQtZ2FwOiRndXR0ZXIwOyBcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoY2FsYyh2YXIoLS1tYWluLW1heC13aWR0aCkgLyAodmFyKC0taW1hZ2VzLXBlci1yb3cpICsgMSkpLCAxZnIpKTtcbiAgJi5jcm9wLWltYWdlcyB7XG4gICAgLmltYWdlIHsgXG4gICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8oJzQvMycpO1xuICAgICAgLS1hc3BlY3QtcmF0aW8gOiBpbmhlcml0OyBcbiAgICAgIGltZyB7XG4gICAgICAgIC0taW1hZ2UtaGVpZ2h0LXNpemUgOiAxMDAlO1xuICAgICAgICBAc3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86IDEvMSkgeyBwb3NpdGlvbjphYnNvbHV0ZTsgfVxuICAgICAgfVxuICAgICAgZmlnY2FwdGlvbiB7XG4gICAgICAgIGJvdHRvbTowOyBcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OjA7IFxuICAgICAgICB3aWR0aDoxMDAlOyBcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiQHVzZSAnX21vZHVsZXMnIGFzICo7XG5cbkBtaXhpbiBhY2NvcmRpb24oKSB7XG5cbiAgJi5hbGxvdy1icmVha3BvaW50LXJlc3R5bGluZyB7XG5cbiAgICBncmlkLWdhcDokZ2FwICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTpncmlkO1xuXG4gICAgPiBuYXYgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICBkZXRhaWxzIHtcbiAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAmW2hpZGRlbl0geyBkaXNwbGF5OmJsb2NrOyB9XG4gICAgICBzdW1tYXJ5IHtcbiAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgfVxuICAgICAgLnRhYi1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzokc3BhY2VyMCAkZ3V0dGVyICFpbXBvcnRhbnQ7IFxuICAgICAgICBib3JkZXItYm90dG9tOjFweCBzb2xpZCAkZ3JleTQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OjFweCBzb2xpZCAkZ3JleTQ7XG4gICAgICAgIGJvcmRlci1yaWdodDoxcHggc29saWQgJGdyZXk0O1xuICAgICAgICBvdmVyZmxvdzpoaWRkZW47IFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOndoaXRlOyBcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgPiAqIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOm9wYWNpdHkgJHRyYW5zaXRpb247XG4gICAgICAgICAgb3BhY2l0eTowOyBcbiAgICAgICAgfVxuICAgICAgICBmaWd1cmUuaW1hZ2Uge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZbb3Blbl0ge1xuICAgICAgICBzdW1tYXJ5IHtcbiAgICAgICAgICAtLWJhY2tncm91bmQtY29sb3VyOiN7JGJsdWUtZGFya307XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudGFiLWNvbnRlbnQgPiAqIHtcbiAgICAgICAgICAvLyAtLXRyYW5zaXRpb24tZGVsYXkgOiAxczsgXG4gICAgICAgICAgb3BhY2l0eToxOyBcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG50YWJiZWQtY29udGVudCB7XG5cbiAgZGlzcGxheTpmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTsgLy8gVEhJUyBNSUdIVCBCUkVBSyBUSElOR1MuIE5FRURTIENIRUNLSU5HIVxuXG4gID4gbmF2IHtcbiAgICBidXR0b24ge1xuICAgICAgdHJhbnNpdGlvbjokdHJhbnNpdGlvbjtcbiAgICAgICZbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0geyBwb2ludGVyLWV2ZW50czogbm9uZTt9XG4gICAgICBzdmcgeyB3aWR0aDoxMHB4OyBoZWlnaHQ6MTBweDsgfVxuXG4gICAgfVxuICB9XG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6bm9uZTsgXG5cbiAgICAmOjptYXJrZXIgeyBkaXNwbGF5Om5vbmU7IH1cbiAgICAtLWZvbnQtY29sb3VyIDogI3t3aGl0ZX07XG4gICAgLS1iYWNrZ3JvdW5kLWNvbG91ciA6ICN7JHByaW1hcnl9O1xuXG4gICAgJiwgLmhlYWRpbmcge1xuICAgICAgY29sb3I6dmFyKC0tZm9udC1jb2xvdXIpO1xuICAgICAgQGluY2x1ZGUgZm9udC1sYXRvKGJvbGQpO1xuICAgICAgQGluY2x1ZGUgaGVhZGluZy1oNCgpO1xuICAgIH1cblxuICAgIC5oZWFkaW5nIHsgbWFyZ2luLWJvdHRvbTowOyB9XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWJhY2tncm91bmQtY29sb3VyKTtcblxuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nLXRvcDokZ2FwOyBcbiAgICBwYWRkaW5nLWJvdHRvbTokZ2FwOyAgIFxuICAgIHBhZGRpbmctbGVmdDokZ3V0dGVyOyBcbiAgICBwYWRkaW5nLXJpZ2h0OiRndXR0ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7ICBcbiAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLCBib3JkZXItcmFkaXVzICR0cmFuc2l0aW9uO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgc3ZnIHtcbiAgICAgIGhlaWdodDo4cHg7IFxuICAgICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDokZ3V0dGVyO1xuICAgICAgdG9wOmNhbGMoNTAlIC0gNHB4KTtcbiAgICB9XG5cbiAgfVxuXG4gIHN1bW1hcnk6aG92ZXIsIGRldGFpbHNbb3Blbl0gc3VtbWFyeTpob3ZlciB7XG4gICAgLS1iYWNrZ3JvdW5kLWNvbG91cjojeyRibHVlLWxpZ2h0fTtcbiAgfVxuXG4gIC50YWItY29udGVudCB7XG4gICAgLy8gZGlzcGxheTpub25lOyBcbiAgICBncmlkLWdhcDokc3BhY2VyMCAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7IFxuICAgIGdyaWQtYXV0by1yb3dzOiBtaW4tY29udGVudDtcbiAgICAmOm5vdChbaGlkZGVuXSkge1xuICAgICAgZGlzcGxheTpncmlkO1xuICAgIH1cbiAgICAuaGVhZGluZy1oNCB7IEBpbmNsdWRlIGhlYWRpbmctaDMoKTsgY29sb3I6JHJlZDsgfVxuICAgIC5oZWFkaW5nLWg1IHsgQGluY2x1ZGUgaGVhZGluZy1oNCgpOyB9XG4gICAgLnRhYmxlLWNvbnRhaW5lcntcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICYuaGFsdmVze1xuICAgICAgICBtYXgtd2lkdGg6IDQwJTtcbiAgICAgICAgbWFyZ2luOiAwIDUlIDAgMDtcbiAgICAgICAgJjpudGgtb2YtdHlwZSgybil7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMCA1JTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi50aGlyZHN7XG4gICAgICAgIG1heC13aWR0aDogMzAlO1xuICAgICAgICAmOm50aC1vZi10eXBlKDNuIC0gMSl7XG4gICAgICAgICAgbWFyZ2luOiAwIDUlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdGFibGUtY29udGFpbmVyIHtcbiAgICB3aWR0aDoxMDAlO1xuICB9XG5cbiAgJjpub3QoW2RhdGEtc3R5bGU9XCIzXCJdKS5pbi12aWV3ID4gbmF2IGJ1dHRvblthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSB7XG4gICAgY29sb3I6JHNlY29uZGFyeTtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA5ODBweCkgYW5kIChtYXgtd2lkdGg6IDEzMDBweCksIChtYXgtd2lkdGg6IDcwMHB4KSB7XG4gICAgJjpub3QoLm1hcmtldHMpIHtcbiAgICAgIEBpbmNsdWRlIGFjY29yZGlvbigpXG4gICAgfVxuICB9XG4gICZbZGF0YS1zdHlsZT1cIjRcIl0ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbigpXG4gIH1cbiAgQGluY2x1ZGUgYnJlYWstaW4oMTAwMHB4KSB7XG4gICAgJi5tYXJrZXRzIHsgQGluY2x1ZGUgYWNjb3JkaW9uKCkgfVxuICB9XG5cbn1cblxuLy8gVGFiIFN0eWxlIE9uZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIExlZnQgaGFuZCBzaWRlYmFyIHdpdGggdmVydGljYWxseSBhbGlnbmVkIGJ1dHRvbnMgYW5kIHRoZSBjb250ZW50IG9uIHRoZSByaWdodFxudGFiYmVkLWNvbnRlbnRbZGF0YS1zdHlsZT1cIjFcIl0ge1xuICAtLXNpZGUtbmF2LXdpZHRoIDogMjAwcHg7XG4gIGRpc3BsYXk6Z3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1zaWRlLW5hdi13aWR0aCkgMWZyO1xuICBncmlkLWdhcDokZ3V0dGVyO1xuICA+IG5hdiB7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgIHRvcDpjYWxjKHZhcigtLWJyZWFkY3J1bWItaGVpZ2h0KSArIHZhcigtLWFuY2hvcnMtaGVpZ2h0KSAtICN7JGd1dHRlcn0pO1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIHBhZGRpbmc6JGdhcCAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgc3ZnIHsgbWFyZ2luLWxlZnQ6JGdhcDsgfVxuICAgICAgKyBidXR0b24geyBcbiAgICAgICAgYm9yZGVyLXRvcDoxcHggc29saWQgJGdyZXk0OyBcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLyBUYWIgU3R5bGUgVHdvIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU3R5bGlzZWQgYW5kIGNlbnRyZWQgdGFicyBvbiB0aGUgdG9wIHdpdGggdGhlIGNvbnRlbnQgdW5kZXJuZWF0aFxudGFiYmVkLWNvbnRlbnRbZGF0YS1zdHlsZT1cIjJcIl0ge1xuICA+IG5hdiB7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJ1dHRvbiB7XG4gICAgICBwYWRkaW5nOiRnYXAyICRndXR0ZXIyOyBcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJvcmRlcjoxcHggc29saWQgJGdyZXk0O1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgbWFyZ2luLWxlZnQ6JGdhcDA7IFxuICAgICAgbWFyZ2luLXJpZ2h0OiRnYXAwOyBcbiAgICAgIGZvbnQtc2l6ZTpmb250LXNpemUoMTQpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBjb2xvcjokcHJpbWFyeTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb247XG4gICAgICBzdmcgeyBkaXNwbGF5Om5vbmU7IH1cbiAgICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgY29sb3I6JHNlY29uZGFyeTtcbiAgICAgIH1cbiAgICAgICZbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleTM7XG4gICAgICAgIGJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnRhYi1jb250ZW50IHsgXG4gICAgcGFkZGluZzokc3BhY2VyICRndXR0ZXI7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRncmV5Mywgd2hpdGUpO1xuICB9XG4gICYuaW52aWV3IG5hdiBidXR0b25bYXJpYS1zZWxlY3RlZD1cInRydWVcIl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5MztcbiAgICBjb2xvcjokc2Vjb25kYXJ5O1xuICB9XG4gICY6bm90KC5hbGxvdy1icmVha3BvaW50LXJlc3R5bGluZylbZGF0YS1jb3VudD1cIjJcIl0ge1xuICAgIEBpbmNsdWRlIGJyZWFrLWluKCdzbWFsbCcpIHtcbiAgICAgIFtyb2xlPVwidGFiXCJdIHsgd2lkdGg6NTAlOyBwYWRkaW5nOiRnYXA7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVGFiIFN0eWxlIFRocmVlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUGlsbC1saWtlIGJ1dHRvbnMgYmFyIGF0IHRoZSB0b3Agd2l0aCB0aGUgY29udGVudCB1bmRlcm5lYXRoXG50YWJiZWQtY29udGVudFtkYXRhLXN0eWxlPVwiM1wiXSB7XG4gID4gbmF2IHtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTokZ2FwOyBcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgIGJvcmRlcjoxcHggc29saWQgJGdyZXk0O1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYnV0dG9uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJvcmRlcjpub25lICFpbXBvcnRhbnQ7IFxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTpmb250LXNpemUoMTQpO1xuICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgICAgIHotaW5kZXg6MTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uO1xuICAgICAgc3ZnIHsgZGlzcGxheTpub25lOyB9XG4gICAgICBwYWRkaW5nOiRnYXAgJGd1dHRlcjsgXG4gICAgICAmW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgY29sb3I6d2hpdGU7IFxuICAgICAgfVxuXG4gICAgICAmOm5vdChbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0pIHtcbiAgICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICAgIGNvbG9yOiRyZWQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJjpub3QoLmhhcy1tYXJrZXIpIGJ1dHRvblthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRibHVlOyBcbiAgICB9XG4gICAgbWFyayB7XG4gICAgICBAaW5jbHVkZSBtYXJrLXJlc2V0KCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6MDsgbGVmdDowOyBcbiAgICAgIGhlaWdodDoxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb247XG4gICAgICAmLmFjdGl2ZSB7IFxuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAudGFiLWNvbnRlbnQgeyBcbiAgICBwYWRkaW5nOiRndXR0ZXIgMDtcbiAgfSBcbn0iLCJAdXNlICdfbW9kdWxlcycgYXMgKjtcblxuLmV4cGVydHMtaW4teW91ci1idXNpbmVzcyB7XG4gIC0tc2Vjb25kYXJ5OiAjeyRyZWR9O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgQGF0LXJvb3Qgc2lkZS1iYXIgJiB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgb3JkZXI6IDk5OTtcbiAgICAuY29udGFpbmVyLWlubGluZSB7XG4gICAgICBwYWRkaW5nOiAkZ3V0dGVyMiAhaW1wb3J0YW50O1xuICAgICAgPiAudGV4dCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYudGhlbWVkIC5jb250YWluZXItaW5saW5lIHtcbiAgICBwYWRkaW5nOiAkZ3V0dGVyICRndXR0ZXIgJGd1dHRlciAkZ3V0dGVyMjtcbiAgfVxuICAudGV4dCB7XG4gICAgcGFkZGluZy1ibG9jay1zdGFydDogJGd1dHRlcjtcbiAgICB1bCB7XG4gICAgICBAaW5jbHVkZSBsaXN0LXN0eWxlKCRyZWQsIHdoaXRlLCB0cnVlKTtcbiAgICB9XG4gICAgPiBoMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyO1xuICAgIH1cbiAgfVxuICBidXR0b24tY29udGFpbmVyIHtcbiAgICBnYXA6ICRnYXA7XG4gICAgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgZmlndXJlLmltYWdlLnN0YXRpYyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDI7XG4gICAgbWF4LXdpZHRoOiAyNjBweDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGFsaWduLXNlbGY6IGVuZDtcbiAgICBqdXN0aWZ5LXNlbGY6IGZsZXgtZW5kO1xuICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXIyLTtcbiAgfVxuICAuY29udGFpbmVyLWlubGluZSB7XG4gICAgaXNvbGF0aW9uOiBpc29sYXRlO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAkZ3V0dGVyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgID4gKjpub3QoZmlndXJlKSB7XG4gICAgICBncmlkLWNvbHVtbjogMTtcbiAgICB9XG4gICAgQGNvbnRhaW5lciAod2lkdGggPCA1MDBweCkge1xuICAgICAgZmlndXJlLmltYWdlLnN0YXRpYyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3BhY2l0eTogMC4xO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ== */