:root {
  --gutter-px: 40px;
  --outside-gutter-px: 140px;
  --outside-gutter-offset-px: 70px;
}

@font-face {
  font-family: "Juana";
  src: url("/fonts/Juana-BlackIt.woff2") format("woff2");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Juana";
  src: url("/fonts/Juana-Black.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Noah Head";
  src: url("/fonts/NoahHead-BlackItalic.woff2") format("woff2");
  font-weight: 900;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Noah Head";
  src: url("/fonts/NoahHead-Black.woff2") format("woff2");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Noah Text";
  src: url("/fonts/NoahText-RegularItalic.woff2") format("woff2");
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Noah Text";
  src: url("/fonts/NoahText-Regular.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
/*---TEXT AND FONT---*/
/*---BACKGROUND---*/
/*---POSITIONING---*/
/*---CONTENT---*/
/*---LISTS---*/
/*---BORDER ARROWS---*/
/**Forms**/
/** DEFAULT OVERRIDES **/
@-webkit-keyframes toggle-grow-in {
  0% {
    border-radius: 0.6875em;
    -webkit-transform: translateX(0) scale(1);
            transform: translateX(0) scale(1);
  }
  100% {
    border-radius: 0.4448529412em / 0.9453125em;
    -webkit-transform: translateX(0.5em) scale(1.5454545455, 0.7272727273);
            transform: translateX(0.5em) scale(1.5454545455, 0.7272727273);
  }
}
@keyframes toggle-grow-in {
  0% {
    border-radius: 0.6875em;
    -webkit-transform: translateX(0) scale(1);
            transform: translateX(0) scale(1);
  }
  100% {
    border-radius: 0.4448529412em / 0.9453125em;
    -webkit-transform: translateX(0.5em) scale(1.5454545455, 0.7272727273);
            transform: translateX(0.5em) scale(1.5454545455, 0.7272727273);
  }
}
@-webkit-keyframes toggle-bounce-in {
  0% {
    border-radius: 0.4448529412em / 0.9453125em;
    -webkit-transform: translateX(0.5em) scale(1.5454545455, 0.7272727273);
            transform: translateX(0.5em) scale(1.5454545455, 0.7272727273);
  }
  100% {
    border-radius: 0.6875em;
    -webkit-transform: translateX(100%) scale(1);
            transform: translateX(100%) scale(1);
  }
}
@keyframes toggle-bounce-in {
  0% {
    border-radius: 0.4448529412em / 0.9453125em;
    -webkit-transform: translateX(0.5em) scale(1.5454545455, 0.7272727273);
            transform: translateX(0.5em) scale(1.5454545455, 0.7272727273);
  }
  100% {
    border-radius: 0.6875em;
    -webkit-transform: translateX(100%) scale(1);
            transform: translateX(100%) scale(1);
  }
}
@-webkit-keyframes toggle-grow-out {
  0% {
    border-radius: 0.6875em;
    -webkit-transform: translateX(100%) scale(1);
            transform: translateX(100%) scale(1);
  }
  100% {
    border-radius: 0.4448529412em / 0.9453125em;
    -webkit-transform: translateX(0.125em) scale(1.5454545455, 0.7272727273);
            transform: translateX(0.125em) scale(1.5454545455, 0.7272727273);
  }
}
@keyframes toggle-grow-out {
  0% {
    border-radius: 0.6875em;
    -webkit-transform: translateX(100%) scale(1);
            transform: translateX(100%) scale(1);
  }
  100% {
    border-radius: 0.4448529412em / 0.9453125em;
    -webkit-transform: translateX(0.125em) scale(1.5454545455, 0.7272727273);
            transform: translateX(0.125em) scale(1.5454545455, 0.7272727273);
  }
}
@-webkit-keyframes toggle-bounce-out {
  0% {
    border-radius: 0.4448529412em / 0.9453125em;
    -webkit-transform: translateX(0.125em) scale(1.5454545455, 0.7272727273);
            transform: translateX(0.125em) scale(1.5454545455, 0.7272727273);
  }
  100% {
    border-radius: 0.6875em;
    -webkit-transform: translateX(0) scale(1);
            transform: translateX(0) scale(1);
  }
}
@keyframes toggle-bounce-out {
  0% {
    border-radius: 0.4448529412em / 0.9453125em;
    -webkit-transform: translateX(0.125em) scale(1.5454545455, 0.7272727273);
            transform: translateX(0.125em) scale(1.5454545455, 0.7272727273);
  }
  100% {
    border-radius: 0.6875em;
    -webkit-transform: translateX(0) scale(1);
            transform: translateX(0) scale(1);
  }
}
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

*:focus-visible, *.focus-visible {
  outline: 0.16em solid white !important;
  -webkit-box-shadow: 0 0 0 0.32em black !important;
          box-shadow: 0 0 0 0.32em black !important;
}

body[data-reduce-animation=true] *,
body[data-reduce-animation=true] *::before,
body[data-reduce-animation=true] *::after {
  -webkit-animation-duration: 0.01ms !important;
          animation-duration: 0.01ms !important;
  -webkit-animation-iteration-count: 1 !important;
          animation-iteration-count: 1 !important;
  -webkit-transition-duration: 0.01ms !important;
          transition-duration: 0.01ms !important;
  scroll-behavior: auto !important;
}

html {
  min-height: 100vh;
  margin: 0;
  padding: 0;
  overflow-y: auto;
  -webkit-text-size-adjust: 100%;
}
@supports (min-height: 100dvh) {
  html {
    min-height: 100dvh;
  }
}

[data-active-zone=slides] {
  overflow-y: scroll;
  scrollbar-gutter: stable;
}

html[data-dialog-hide-overflow=true] {
  overflow: hidden !important;
}

body {
  position: relative;
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
  text-rendering: optimizeSpeed;
  line-height: 1.1;
  font-size: 16px;
  font-family: "Noah Text", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  position: absolute;
  width: 100%;
  height: 100%;
}

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

article > * + * {
  margin-top: 1em;
}

input,
button,
textarea,
select {
  font: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
}

p {
  margin: 0.35em 0 0.85em;
  line-height: 1.55em;
}

ol,
ul {
  text-align: left;
  margin: 0.4em 0 0.75em;
}

li {
  line-height: 1.5em;
}

iframe {
  width: 100%;
  margin-bottom: 10px;
  border: 2px solid #ebebec;
}

button {
  margin: 0;
  border: 0;
  border-radius: 0;
  padding: 0;
  background: none;
}

a {
  color: #1d418e;
  background-color: white;
  -webkit-transition: 200ms;
  transition: 200ms;
}
@media (hover: hover) and (pointer: fine) {
  a:hover {
    color: #00325d;
    background-color: white;
  }
}
[data-browser=ie] a:hover {
  color: #00325d;
  background-color: white;
}
.ie a:hover {
  color: #00325d;
  background-color: white;
}
a.focus-visible {
  color: #00325d;
  background-color: white;
}
a:focus-visible {
  color: #00325d;
  background-color: white;
}
a .targetBlankNotifier {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
a .icon-mail {
  font-size: 0.9em;
  -webkit-transform: translateY(1px);
          transform: translateY(1px);
  display: inline-block;
  margin-right: 0.25em;
}
a .icon-external-link {
  font-size: 0.8em;
  margin-left: 0.25em;
}

.slideSkip,
.homeSkip,
.membershipSkip {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  display: none;
}
.slideSkip.focus-visible,
.homeSkip.focus-visible,
.membershipSkip.focus-visible {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 999999999999999;
  width: auto;
  height: auto;
  margin: 0;
  padding: 10px;
  clip: initial;
  text-decoration: none;
  text-align: center;
  background-color: #93c2f8;
  color: black;
}
.slideSkip:focus-visible,
.homeSkip:focus-visible,
.membershipSkip:focus-visible {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 999999999999999;
  width: auto;
  height: auto;
  margin: 0;
  padding: 10px;
  clip: initial;
  text-decoration: none;
  text-align: center;
  background-color: #93c2f8;
  color: black;
}

[data-active-zone=home] .homeSkip {
  display: block;
}

[data-active-zone=slides] .slideSkip {
  display: block;
}

.membershipSkip {
  display: block;
}

@media (max-width: 800px) {
  iframe {
    border: none;
  }
}
willis-zone {
  display: block;
}

[inert] {
  overflow: hidden;
  pointer-events: none;
}

willis-dialog:not([data-open=true]) {
  display: none !important;
}

.dialogBackdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.slide .dialogBackdrop {
  height: 100%;
}

.dialogInner {
  position: relative;
}

[data-dialog-style=modal] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow-y: auto;
  scrollbar-color: #444444 #f5f5f5;
  scrollbar-width: thin;
}
[data-dialog-style=modal]::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  background-color: #f5f5f5;
}
[data-dialog-style=modal]::-webkit-scrollbar {
  width: 5px;
  height: 5px;
  background-color: #f5f5f5;
}
[data-dialog-style=modal]::-webkit-scrollbar-thumb {
  background-color: #444444;
}
[data-dialog-style=modal] div[role=dialog] {
  width: 580px;
  margin: auto;
}
[data-dialog-style=modal] div[role=dialog].reportNeeded {
  width: 80%;
  max-width: 1000px;
}

[data-dialog-style=largeModal] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow-y: auto;
  scrollbar-color: #444444 #f5f5f5;
  scrollbar-width: thin;
}
[data-dialog-style=largeModal]::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  background-color: #f5f5f5;
}
[data-dialog-style=largeModal]::-webkit-scrollbar {
  width: 5px;
  height: 5px;
  background-color: #f5f5f5;
}
[data-dialog-style=largeModal]::-webkit-scrollbar-thumb {
  background-color: #444444;
}
[data-dialog-style=largeModal] div[role=dialog] {
  width: 800px;
  max-width: 100vw;
  margin: auto;
}

[data-dialog-style=shade] {
  overflow-y: scroll;
}
[data-dialog-style=shade] div[role=dialog] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  text-align: center;
  background-color: #93c2f8;
  color: black;
}
[data-dialog-style=shade] div[role=dialog] .dialogLabel {
  max-width: 800px;
}
[data-dialog-style=shade] div[role=dialog] .dialogContent {
  max-width: 800px;
}
[data-dialog-style=shade] div[role=dialog] .dialogActions {
  max-width: 800px;
}

[data-dialog-style^=sidebar] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  overflow-y: scroll;
  overflow-x: hidden;
}
[data-dialog-style^=sidebar][data-dialog-style=sidebarLeft] {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
[data-dialog-style^=sidebar][data-dialog-style=sidebarRight] {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
[data-dialog-style^=sidebar] div[role=dialog] {
  width: 440px;
}

[data-dialog-style^=full] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  overflow: hidden;
}
[data-dialog-style^=full] div[role=dialog] {
  overflow-y: scroll;
  width: 100%;
  height: 100%;
}

@media (max-width: 600px) {
  [data-dialog-style^=sidebar] div[role=dialog] {
    width: 100%;
    min-width: 0;
  }
  [data-dialog-style=modal] div[role=dialog] {
    width: 100%;
  }
}
div[data-dialog-animation-speed=glacial] {
  -webkit-animation-duration: 3000ms;
          animation-duration: 3000ms;
}

div[data-dialog-animation-speed=verySlow] {
  -webkit-animation-duration: 1000ms;
          animation-duration: 1000ms;
}

div[data-dialog-animation-speed=slow] {
  -webkit-animation-duration: 800ms;
          animation-duration: 800ms;
}

div[data-dialog-animation-speed=medium] {
  -webkit-animation-duration: 500ms;
          animation-duration: 500ms;
}

div[data-dialog-animation-speed=fast] {
  -webkit-animation-duration: 300ms;
          animation-duration: 300ms;
}

div[data-dialog-animation-speed=veryFast] {
  -webkit-animation-duration: 200ms;
          animation-duration: 200ms;
}

.dialogBackdrop {
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-duration: 200ms;
          animation-duration: 200ms;
}
.dialogBackdrop.in {
  -webkit-animation-name: fadeIn;
          animation-name: fadeIn;
}
.dialogBackdrop.out {
  -webkit-animation-name: fadeOut;
          animation-name: fadeOut;
}

div[role=dialog] {
  position: relative;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
div[data-dialog-animation-name=fadeIn] {
  -webkit-animation-name: fadeIn;
          animation-name: fadeIn;
}

@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
div[data-dialog-animation-name=fadeOut] {
  -webkit-animation-name: fadeOut;
          animation-name: fadeOut;
}

@-webkit-keyframes fadeTopIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}

@keyframes fadeTopIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}
div[data-dialog-animation-name=fadeTopIn] {
  -webkit-animation-name: fadeTopIn;
          animation-name: fadeTopIn;
}

@-webkit-keyframes fadeTopOut {
  from {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}

@keyframes fadeTopOut {
  from {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
div[data-dialog-animation-name=fadeTopOut] {
  -webkit-animation-name: fadeTopOut;
          animation-name: fadeTopOut;
}

@-webkit-keyframes fadeBottomIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}

@keyframes fadeBottomIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}
div[data-dialog-animation-name=fadeBottomIn] {
  -webkit-animation-name: fadeBottomIn;
          animation-name: fadeBottomIn;
}

@-webkit-keyframes fadeBottomOut {
  from {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
  }
}

@keyframes fadeBottomOut {
  from {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
  }
}
div[data-dialog-animation-name=fadeBottomOut] {
  -webkit-animation-name: fadeBottomOut;
          animation-name: fadeBottomOut;
}

@-webkit-keyframes fadeRightIn {
  from {
    opacity: 0;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}

@keyframes fadeRightIn {
  from {
    opacity: 0;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}
div[data-dialog-animation-name=fadeRightIn] {
  -webkit-animation-name: fadeRightIn;
          animation-name: fadeRightIn;
}

@-webkit-keyframes fadeRightOut {
  from {
    opacity: 1;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  to {
    opacity: 0;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
}

@keyframes fadeRightOut {
  from {
    opacity: 1;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  to {
    opacity: 0;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
}
div[data-dialog-animation-name=fadeRightOut] {
  -webkit-animation-name: fadeRightOut;
          animation-name: fadeRightOut;
}

@-webkit-keyframes fadeLeftIn {
  from {
    opacity: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}

@keyframes fadeLeftIn {
  from {
    opacity: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  to {
    opacity: 1;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}
div[data-dialog-animation-name=fadeLeftIn] {
  -webkit-animation-name: fadeLeftIn;
          animation-name: fadeLeftIn;
}

@-webkit-keyframes fadeLeftOut {
  from {
    opacity: 1;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  to {
    opacity: 0;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
}

@keyframes fadeLeftOut {
  from {
    opacity: 1;
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  to {
    opacity: 0;
    -webkit-transform: translateX(50%);
            transform: translateX(50%);
  }
}
div[data-dialog-animation-name=fadeLeftOut] {
  -webkit-animation-name: fadeLeftOut;
          animation-name: fadeLeftOut;
}

@-webkit-keyframes slideTopIn {
  from {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  to {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}

@keyframes slideTopIn {
  from {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  to {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}
div[data-dialog-animation-name=slideTopIn] {
  -webkit-animation-name: slideTopIn;
          animation-name: slideTopIn;
}
@media (max-width: 800px) {
  div[data-dialog-animation-name=slideTopIn] {
    -webkit-animation-name: slideBottomIn;
            animation-name: slideBottomIn;
  }
}

@-webkit-keyframes slideTopOut {
  from {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  to {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}

@keyframes slideTopOut {
  from {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  to {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}
div[data-dialog-animation-name=slideTopOut] {
  -webkit-animation-name: slideTopOut;
          animation-name: slideTopOut;
}
@media (max-width: 800px) {
  div[data-dialog-animation-name=slideTopOut] {
    -webkit-animation-name: slideBottomOut;
            animation-name: slideBottomOut;
  }
}

@-webkit-keyframes slideBottomIn {
  from {
    -webkit-transform: translateY(150%);
            transform: translateY(150%);
  }
  to {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}

@keyframes slideBottomIn {
  from {
    -webkit-transform: translateY(150%);
            transform: translateY(150%);
  }
  to {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}
div[data-dialog-animation-name=slideBottomIn] {
  -webkit-animation-name: slideBottomIn;
          animation-name: slideBottomIn;
}

@-webkit-keyframes slideBottomOut {
  from {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  to {
    -webkit-transform: translateY(200%);
            transform: translateY(200%);
  }
}

@keyframes slideBottomOut {
  from {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  to {
    -webkit-transform: translateY(200%);
            transform: translateY(200%);
  }
}
div[data-dialog-animation-name=slideBottomOut] {
  -webkit-animation-name: slideBottomOut;
          animation-name: slideBottomOut;
}

@-webkit-keyframes slideRightIn {
  from {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}

@keyframes slideRightIn {
  from {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}
div[data-dialog-animation-name=slideRightIn] {
  -webkit-animation-name: slideRightIn;
          animation-name: slideRightIn;
}
@media (max-width: 800px) {
  div[data-dialog-animation-name=slideRightIn] {
    -webkit-animation-name: slideBottomIn;
            animation-name: slideBottomIn;
  }
}

@-webkit-keyframes slideRightOut {
  from {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  to {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}

@keyframes slideRightOut {
  from {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  to {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
div[data-dialog-animation-name=slideRightOut] {
  -webkit-animation-name: slideRightOut;
          animation-name: slideRightOut;
}
@media (max-width: 800px) {
  div[data-dialog-animation-name=slideRightOut] {
    -webkit-animation-name: slideBottomOut;
            animation-name: slideBottomOut;
  }
}

@-webkit-keyframes slideLeftIn {
  from {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}

@keyframes slideLeftIn {
  from {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
}
div[data-dialog-animation-name=slideLeftIn] {
  -webkit-animation-name: slideLeftIn;
          animation-name: slideLeftIn;
}

@-webkit-keyframes slideLeftOut {
  from {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}

@keyframes slideLeftOut {
  from {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
div[data-dialog-animation-name=slideLeftOut] {
  -webkit-animation-name: slideLeftOut;
          animation-name: slideLeftOut;
}

.dialogBackdrop {
  background: rgba(147, 194, 248, 0.7);
}

.dialogContent {
  margin: 10px 0;
}

.dialogActions.generated button.closeDialog .icon:before {
  font-family: "spelman";
  content: "b";
}

button.closeDialog .icon:before {
  font-family: "spelman";
  content: "b";
}

.dialogLabel h2 {
  margin-bottom: 15px;
}

[data-dialog-style=modal] {
  padding: 20px;
}
.safari [data-dialog-style=modal] {
  padding: 20px 20px 150px;
}
[data-dialog-style=modal] .dialogInner {
  border-radius: 0;
  padding: 20px;
  text-align: center;
  background-color: #fff;
  color: black;
  -webkit-box-shadow: 0 0.8px 1.7px rgba(0, 0, 0, 0.014), 0 1.9px 4.1px rgba(0, 0, 0, 0.02), 0 3.6px 7.8px rgba(0, 0, 0, 0.025), 0 6.5px 13.8px rgba(0, 0, 0, 0.03), 0 12.1px 25.9px rgba(0, 0, 0, 0.036), 0 29px 62px rgba(0, 0, 0, 0.05);
          box-shadow: 0 0.8px 1.7px rgba(0, 0, 0, 0.014), 0 1.9px 4.1px rgba(0, 0, 0, 0.02), 0 3.6px 7.8px rgba(0, 0, 0, 0.025), 0 6.5px 13.8px rgba(0, 0, 0, 0.03), 0 12.1px 25.9px rgba(0, 0, 0, 0.036), 0 29px 62px rgba(0, 0, 0, 0.05);
}
[data-dialog-style=modal] button.closeDialog {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.7em 1.5em;
  border-width: 0;
  border-style: solid;
  border-color: #142e64;
  line-height: 1.1em;
  text-align: center;
  border-radius: 0;
  font-family: "Noah Head", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 900;
  outline-offset: 0;
  text-decoration: none;
  -webkit-transition: all 200ms;
  transition: all 200ms;
  background-color: #1d418e;
  color: white;
}
@media (hover: hover) and (pointer: fine) {
  [data-dialog-style=modal] button.closeDialog:hover {
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
    text-decoration: none;
    background-color: #fed34c;
    color: black;
    border-color: #fec719;
    cursor: pointer;
  }
}
[data-browser=ie] [data-dialog-style=modal] button.closeDialog:hover {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #fed34c;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
.ie [data-dialog-style=modal] button.closeDialog:hover {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #fed34c;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
[data-dialog-style=modal] button.closeDialog.focus-visible {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #fed34c;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
[data-dialog-style=modal] button.closeDialog:focus-visible {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #fed34c;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
[data-dialog-style=modal] button.closeDialog[disabled], [data-dialog-style=modal] button.closeDialog[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}
[data-dialog-style=modal] button.closeDialog .icon {
  display: none;
}

.safari [data-dialog-style=largeModal] {
  padding: 20px 20px 150px;
}
[data-dialog-style=largeModal] .dialogInner {
  border-radius: 0;
  padding: 20px;
  background-color: #fff;
  color: black;
}
[data-dialog-style=largeModal] .dialogLabel {
  text-align: center;
  margin-bottom: 20px;
  border-bottom: 1px solid #1d418e;
  padding: 8px 10px 20px;
}
[data-dialog-style=largeModal] .dialogLabel h2 {
  margin: 0;
  padding: 0;
  font-size: 1.35em;
  color: #1d418e;
  text-transform: initial;
}

[data-dialog-style=shade] .dialogInner {
  border-radius: 0 0 0 0;
  padding: 20px;
}

[data-dialog-style^=sidebar] .dialogInner {
  min-height: 100%;
}
[data-dialog-style^=sidebar][data-dialog-style=sidebarLeft] .dialogInner {
  border-radius: 0 0 0 0;
  padding: 20px;
}
[data-dialog-style^=sidebar][data-dialog-style=sidebarRight] .dialogInner {
  border-radius: 0 0 0 0;
  padding: 20px;
}

[data-dialog-style^=full] .dialogInner {
  padding: 20px;
}

.simpleDialog {
  background-color: #fff;
  color: black;
  border-radius: 0;
}

@media (max-width: 800px) {
  [data-dialog-style^=sidebar][data-dialog-style=sidebarRight] .dialogInner {
    border-radius: 0;
  }
  [data-dialog-style=modal] div[role=dialog] {
    width: 100%;
  }
}
@media (max-width: 650px) {
  [data-dialog-style=modal] div[role=dialog].reportNeeded {
    width: 100%;
  }
}
@media (max-width: 520px) {
  .safari [data-dialog-style=modal][data-backdrop-for=accessibilityPrefs] {
    padding: 20px 20px 150px;
  }
}
.fieldWrapper,
.umbraco-forms-field.shortanswer,
.umbraco-forms-field.date,
.umbraco-forms-field.password {
  position: relative;
  max-width: 500px;
}
.fieldWrapper label:not(.checkboxLabel),
.umbraco-forms-field.shortanswer label:not(.checkboxLabel),
.umbraco-forms-field.date label:not(.checkboxLabel),
.umbraco-forms-field.password label:not(.checkboxLabel) {
  line-height: 1;
  white-space: normal;
}
.fieldWrapper input:not([type=checkbox]):not([type=radio]),
.umbraco-forms-field.shortanswer input:not([type=checkbox]):not([type=radio]),
.umbraco-forms-field.date input:not([type=checkbox]):not([type=radio]),
.umbraco-forms-field.password input:not([type=checkbox]):not([type=radio]) {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  white-space: normal;
  line-height: 1;
  min-width: 100%;
  max-width: 100%;
  max-height: 120px;
}
.fieldWrapper input::-ms-reveal,
.fieldWrapper input::-ms-clear,
.umbraco-forms-field.shortanswer input::-ms-reveal,
.umbraco-forms-field.shortanswer input::-ms-clear,
.umbraco-forms-field.date input::-ms-reveal,
.umbraco-forms-field.date input::-ms-clear,
.umbraco-forms-field.password input::-ms-reveal,
.umbraco-forms-field.password input::-ms-clear {
  display: none;
}
.fieldWrapper .description,
.umbraco-forms-field.shortanswer .description,
.umbraco-forms-field.date .description,
.umbraco-forms-field.password .description {
  margin-top: 6px;
  font-size: 0.84em;
  color: rgba(63, 63, 63, 0.85);
}
.fieldWrapper .description > *:first-child,
.umbraco-forms-field.shortanswer .description > *:first-child,
.umbraco-forms-field.date .description > *:first-child,
.umbraco-forms-field.password .description > *:first-child {
  margin-top: 0 !important;
}
.fieldWrapper .description > *:last-child,
.umbraco-forms-field.shortanswer .description > *:last-child,
.umbraco-forms-field.date .description > *:last-child,
.umbraco-forms-field.password .description > *:last-child {
  margin-bottom: 0 !important;
}

.fieldWrapper textarea,
.umbraco-forms-field.longanswer textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  white-space: normal;
  line-height: 1;
  min-width: 100%;
  max-width: 100%;
  max-height: 120px;
}

.dropdownWrapper,
.umbraco-forms-field.dropdown {
  position: relative;
  max-width: 500px;
  margin: 0 auto;
}
.dropdownWrapper select,
.umbraco-forms-field.dropdown select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  white-space: normal;
  line-height: 1;
  min-width: 100%;
  background-image: url("data:image/svg+xml;utf8,<svg fill='black' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");
  background-repeat: no-repeat;
  background-position: 100% 50%;
  background-size: 25px 50px;
}
.dropdownWrapper select::-ms-expand,
.umbraco-forms-field.dropdown select::-ms-expand {
  display: none;
}

.controlWrapper,
.adg-umbraco-forms-controlwrapper {
  border-bottom: 1px solid #93c2f8;
  margin-bottom: 15px;
  padding-bottom: 10px;
}
.controlWrapper:last-child,
.adg-umbraco-forms-controlwrapper:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}
.controlWrapper > *:first-child,
.adg-umbraco-forms-controlwrapper > *:first-child {
  margin-top: 0 !important;
}
.controlWrapper > *:last-child,
.adg-umbraco-forms-controlwrapper > *:last-child {
  margin-bottom: 0 !important;
}
.controlWrapper .control,
.adg-umbraco-forms-controlwrapper .control {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.controlWrapper label,
.adg-umbraco-forms-controlwrapper label {
  font-size: 1.2em;
  white-space: nowrap;
  cursor: pointer;
}
.controlWrapper .description,
.adg-umbraco-forms-controlwrapper .description {
  margin-top: 6px;
  font-size: 0.84em;
  color: rgba(63, 63, 63, 0.85);
}
.controlWrapper .description > *:first-child,
.adg-umbraco-forms-controlwrapper .description > *:first-child {
  margin-top: 0 !important;
}
.controlWrapper .description > *:last-child,
.adg-umbraco-forms-controlwrapper .description > *:last-child {
  margin-bottom: 0 !important;
}

.fieldWrapper.enrolleeName {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  z-index: -1;
}

.styledFieldset,
.umbraco-forms-fieldset {
  position: relative;
  border: 2px dashed #1d418e;
  padding: 20px;
  background-color: rgba(147, 194, 248, 0.4);
  border-radius: 0;
}
.styledFieldset legend,
.styledFieldset .groupLegend,
.umbraco-forms-fieldset legend,
.umbraco-forms-fieldset .groupLegend {
  display: inline-block;
  padding: 4px 8px 2px;
  border-radius: 0;
  border-left: 5px solid #93c2f8;
  font-size: 1.3em;
  line-height: 1.1em;
  text-transform: uppercase;
  font-family: "Noah Head", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  background-color: #1d418e;
  color: white;
}
.styledFieldset .groupLegend,
.umbraco-forms-fieldset .groupLegend {
  display: inline-block;
  margin-bottom: 9px;
}
.styledFieldset .fieldsetGrid,
.umbraco-forms-fieldset .fieldsetGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.styledFieldset .fieldsetGrid .fieldWrapper,
.styledFieldset .fieldsetGrid .controlWrapper,
.umbraco-forms-fieldset .fieldsetGrid .fieldWrapper,
.umbraco-forms-fieldset .fieldsetGrid .controlWrapper {
  margin: 0;
}
.styledFieldset > :last-child,
.umbraco-forms-fieldset > :last-child {
  margin-bottom: 0 !important;
}

.fieldWrapper,
.umbraco-forms-field.shortanswer,
.umbraco-forms-field.date,
.umbraco-forms-field.password {
  margin: 10px auto;
}
.fieldWrapper label:not(.checkboxLabel),
.umbraco-forms-field.shortanswer label:not(.checkboxLabel),
.umbraco-forms-field.date label:not(.checkboxLabel),
.umbraco-forms-field.password label:not(.checkboxLabel) {
  position: absolute;
  top: 8px;
  left: 9px;
  z-index: 2;
  display: block;
  margin: 0 0 5px;
  border: 0;
  padding: 0;
  font-size: 0.8em;
  font-family: "Noah Head", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  color: #54545a;
}
.fieldWrapper input:not([type=checkbox]):not([type=radio]),
.fieldWrapper textarea,
.umbraco-forms-field.shortanswer input:not([type=checkbox]):not([type=radio]),
.umbraco-forms-field.shortanswer textarea,
.umbraco-forms-field.date input:not([type=checkbox]):not([type=radio]),
.umbraco-forms-field.date textarea,
.umbraco-forms-field.password input:not([type=checkbox]):not([type=radio]),
.umbraco-forms-field.password textarea {
  position: relative;
  display: block;
  width: 100%;
  max-width: 100%;
  max-height: 120px;
  min-height: 48px;
  margin: 0;
  border: 2px solid #93c2f8;
  border-width: 0 0 2px 0;
  padding: 23px 8px 6px;
  border-radius: 0;
  background: #fff;
  color: #3f3f3f;
  text-align: left;
}
.fieldWrapper .showHide,
.umbraco-forms-field.shortanswer .showHide,
.umbraco-forms-field.date .showHide,
.umbraco-forms-field.password .showHide {
  position: absolute !important;
  color: #fff;
  top: 4px;
  right: 2px;
  height: 41px;
  width: 36px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
  border-radius: 0;
  background: #1d418e;
  border: none;
  padding: 0;
  cursor: pointer;
}
.fieldWrapper .showHide[aria-checked=true] .icon:after,
.umbraco-forms-field.shortanswer .showHide[aria-checked=true] .icon:after,
.umbraco-forms-field.date .showHide[aria-checked=true] .icon:after,
.umbraco-forms-field.password .showHide[aria-checked=true] .icon:after {
  content: "";
  width: 3px;
  height: 20px;
  left: 0;
  right: 0;
  margin: auto;
  position: absolute;
  -webkit-transform: skewX(-45deg);
          transform: skewX(-45deg);
  background: #fff;
}
.fieldWrapper .showHide .icon,
.umbraco-forms-field.shortanswer .showHide .icon,
.umbraco-forms-field.date .showHide .icon,
.umbraco-forms-field.password .showHide .icon {
  font-size: 1.2em;
}
.fieldWrapper #Password:focus + #requirements,
.umbraco-forms-field.shortanswer #Password:focus + #requirements,
.umbraco-forms-field.date #Password:focus + #requirements,
.umbraco-forms-field.password #Password:focus + #requirements {
  max-height: 1000px;
}
.fieldWrapper #requirements,
.umbraco-forms-field.shortanswer #requirements,
.umbraco-forms-field.date #requirements,
.umbraco-forms-field.password #requirements {
  list-style: none;
  padding: 10px 0 0 0;
  margin: 0;
  overflow: hidden;
  max-height: 0;
  -webkit-transition: max-height 1s ease-in-out;
  transition: max-height 1s ease-in-out;
}
.fieldWrapper #requirements li,
.umbraco-forms-field.shortanswer #requirements li,
.umbraco-forms-field.date #requirements li,
.umbraco-forms-field.password #requirements li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.fieldWrapper #requirements li.valid .icon,
.umbraco-forms-field.shortanswer #requirements li.valid .icon,
.umbraco-forms-field.date #requirements li.valid .icon,
.umbraco-forms-field.password #requirements li.valid .icon {
  background-color: #d1e000;
  color: black;
  font-size: 0.9em;
}
.fieldWrapper #requirements li.valid .icon:before,
.umbraco-forms-field.shortanswer #requirements li.valid .icon:before,
.umbraco-forms-field.date #requirements li.valid .icon:before,
.umbraco-forms-field.password #requirements li.valid .icon:before {
  content: "a";
}
.fieldWrapper #requirements li .icon,
.umbraco-forms-field.shortanswer #requirements li .icon,
.umbraco-forms-field.date #requirements li .icon,
.umbraco-forms-field.password #requirements li .icon {
  background-color: #e00700;
  color: white;
  border-radius: 50%;
  margin-right: 5px;
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 16px;
  height: 16px;
  font-size: 0.55em;
}

.dropdownWrapper label:not(.checkboxLabel),
.umbraco-forms-field.dropdown label:not(.checkboxLabel) {
  position: absolute;
  top: 8px;
  left: 9px;
  z-index: 2;
  display: block;
  margin: 0 0 5px;
  border: 0;
  padding: 0;
  font-size: 0.8em;
  font-family: "Noah Head", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  color: #3f3f3f;
}
.dropdownWrapper select,
.umbraco-forms-field.dropdown select {
  position: relative;
  display: block;
  width: 100%;
  min-height: 52px;
  margin: 0;
  border: 2px solid #93c2f8;
  padding: 26px 45px 8px 8px;
  border-radius: 0;
  background-color: #fff;
  text-align: left;
}

.fieldWrapper textarea,
.umbraco-forms-field.longanswer textarea {
  position: relative;
  display: block;
  width: 100%;
  max-width: 100%;
  max-height: 120px;
  min-height: 48px;
  margin: 0;
  border: 2px solid #93c2f8;
  padding: 6px 8px 6px;
  border-radius: 0;
  background: #fff;
  color: #3f3f3f;
  text-align: left;
}

form .error,
.formWrap .error {
  display: block;
  margin: 4px 0;
  padding: 2px 4px;
  text-align: center;
  background-color: #e00700;
  color: white;
}
form .error:empty,
.formWrap .error:empty {
  display: none;
}

@media (max-width: 650px) {
  .styledFieldset,
  .umbraco-forms-fieldset {
    padding: 10px;
  }
  .styledFieldset .fieldsetGrid,
  .umbraco-forms-fieldset .fieldsetGrid {
    grid-template-columns: none;
  }
}
@media (max-width: 520px) {
  .controlWrapper label {
    font-size: 1em;
    font-weight: 700;
    white-space: normal;
  }
  .styledFieldset legend,
  .styledFieldset .groupLegend,
  .umbraco-forms-fieldset legend,
  .umbraco-forms-fieldset .groupLegend {
    font-size: 1.2em;
  }
}
@media (max-width: 450px) {
  .controlWrapper label {
    font-size: 0.9em;
  }
}
.buffer {
  overflow: auto;
  min-height: calc(100vh - 40px);
}

footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 100%;
  height: 40px;
  padding: 0 15px;
  background: #000;
  z-index: 9999;
}
footer .adgLogoWrap a {
  display: block;
  background: #000 !important;
}
footer .adgLogoWrap .adgLogo {
  height: 30px;
  width: auto;
}

.guestLoginMethods .socialMediaTitle {
  margin-bottom: 15px;
  font-weight: 400;
}
.guestLoginMethods .socialMediaLogins {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 12px;
}
.guestLoginMethods .socialMediaLogins .facebookLogin {
  background: #1877f2 !important;
  color: white !important;
}
.guestLoginMethods .socialMediaLogins .googleLogin {
  background: #ebebec !important;
  color: black !important;
}
.guestLoginMethods .socialMediaLogins .twitterLogin {
  background: #14171a !important;
  color: white !important;
}
.guestLoginMethods .socialMediaLogins .twitterLogin .text {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.guestLoginMethods .socialMediaLogins .appleLogin {
  background: black !important;
  color: white !important;
}
.guestLoginMethods .socialMediaLogins > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  text-decoration: none !important;
  border-radius: 0;
  height: 45px;
  text-align: center;
  padding: 1em !important;
}
.guestLoginMethods .socialMediaLogins > a .svgIcon {
  width: 16px;
  height: auto;
  margin-right: 7px;
}
.guestLoginMethods .socialMediaLogins > a .text {
  font-weight: bold;
  font-size: 1.1em;
}
.guestLoginMethods .socialMediaLogins .appleLogin {
  height: 45px;
  cursor: pointer;
}
.guestLoginMethods .socialMediaLogins .appleLogin > div {
  max-width: 100% !important;
}

.loginWrapper[data-hidden-for-guest=true] {
  display: none !important;
}

.guestWrapperHolder {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  -webkit-transition: all 800ms;
  transition: all 800ms;
  text-align: left;
}

.fieldWrapper.enrolleeName {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  z-index: -1;
}

body {
  background: #93c2f8;
}

#background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 400px;
  opacity: 1;
}
#background .cover-slider,
#background video,
#background .mainBgImg {
  z-index: 2;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
#background .sectionBgHolder {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.menuOut #background .sectionBgHolder {
  z-index: 3;
}
#background .sectionBgHolder[data-section-bg-only=true] {
  opacity: 0;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
.inSection #background .sectionBgHolder[data-section-bg-only=true] {
  opacity: 1;
}
#background .bgImg,
#background .sectionBg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
}
#background .bgImg[data-bg-pos="top left"],
#background .sectionBg[data-bg-pos="top left"] {
  background-position: 0% 0%;
}
#background .bgImg[data-bg-pos="top middle"],
#background .sectionBg[data-bg-pos="top middle"] {
  background-position: 50% 0;
}
#background .bgImg[data-bg-pos="top right"],
#background .sectionBg[data-bg-pos="top right"] {
  background-position: 100% 0%;
}
#background .bgImg[data-bg-pos="center left"],
#background .sectionBg[data-bg-pos="center left"] {
  background-position: 0% 50%;
}
#background .bgImg[data-bg-pos=center],
#background .sectionBg[data-bg-pos=center] {
  background-position: 50% 50%;
}
#background .bgImg[data-bg-pos="center right"],
#background .sectionBg[data-bg-pos="center right"] {
  background-position: 100% 50%;
}
#background .bgImg[data-bg-pos="bottom left"],
#background .sectionBg[data-bg-pos="bottom left"] {
  background-position: 0% 100%;
}
#background .bgImg[data-bg-pos="bottom middle"],
#background .sectionBg[data-bg-pos="bottom middle"] {
  background-position: 50% 100%;
}
#background .bgImg[data-bg-pos="bottom right"],
#background .sectionBg[data-bg-pos="bottom right"] {
  background-position: 100% 100%;
}
#background video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  background-color: #ebebec;
}
[data-is-loading=true] #background {
  opacity: 0;
}

header {
  position: fixed;
  top: 20px;
  right: 0;
  z-index: 15;
  -webkit-transition: all 1000ms;
  transition: all 1000ms;
}
header .logoWrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 280px;
  height: 105px;
  padding: 20px 15px;
  background: #1d418e;
  -webkit-transition: all 1000ms;
  transition: all 1000ms;
}
header .logo {
  max-width: 100%;
  max-height: 100%;
  height: auto;
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
  -webkit-transition: all 1000ms;
  transition: all 1000ms;
}
header .orientationTitle {
  text-transform: uppercase;
  background-color: #00325d;
  color: white;
  padding: 10px 9px 8px;
  font-size: 1.2em;
  line-height: 1.1em;
  font-family: "Noah Text", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 400;
  text-align: center;
}

#membership {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  min-height: calc(100vh - 280px);
  max-width: 800px;
  margin: 280px auto 0;
  padding-top: 15px;
  padding-bottom: 120px;
  background: #fff;
  -webkit-box-shadow: 0 0.8px 1.7px rgba(0, 0, 0, 0.014), 0 1.9px 4.1px rgba(0, 0, 0, 0.02), 0 3.6px 7.8px rgba(0, 0, 0, 0.025), 0 6.5px 13.8px rgba(0, 0, 0, 0.03), 0 12.1px 25.9px rgba(0, 0, 0, 0.036), 0 29px 62px rgba(0, 0, 0, 0.05);
          box-shadow: 0 0.8px 1.7px rgba(0, 0, 0, 0.014), 0 1.9px 4.1px rgba(0, 0, 0, 0.02), 0 3.6px 7.8px rgba(0, 0, 0, 0.025), 0 6.5px 13.8px rgba(0, 0, 0, 0.03), 0 12.1px 25.9px rgba(0, 0, 0, 0.036), 0 29px 62px rgba(0, 0, 0, 0.05);
  z-index: 5;
}
#membership .titleArea {
  position: relative;
  padding: 30px 20px 10px;
  border-radius: 0;
  text-align: center;
}
#membership .titleArea.accountProfiler {
  font-size: 1.5em;
}
#membership .titleArea h2 {
  font-family: "Noah Head", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 900;
  font-size: 2.4em;
  margin: 0 0 5px;
  color: #1d418e;
}
#membership .titleArea p {
  font-size: 1.2em;
  margin: 0;
  color: #00325d;
}
#membership button.returnToSocial {
  display: none;
  position: relative;
  padding: 5px;
  margin: 25px 0 0;
  border: 0;
  background: none;
  color: #00325d;
  cursor: pointer;
  -webkit-transition: all 200ms;
  transition: all 200ms;
}
#membership button.returnToSocial .text {
  font-size: 0.9em;
  text-decoration: underline;
}
#membership button.returnToSocial .icon {
  position: relative;
  font-size: 0.8em;
  -webkit-transition: all 500ms;
  transition: all 500ms;
}
@media (hover: hover) and (pointer: fine) {
  #membership button.returnToSocial:hover .text {
    color: #1d418e;
  }
  #membership button.returnToSocial:hover .icon {
    margin-right: 3px;
  }
}
[data-browser=ie] #membership button.returnToSocial:hover .text {
  color: #1d418e;
}
[data-browser=ie] #membership button.returnToSocial:hover .icon {
  margin-right: 3px;
}
.ie #membership button.returnToSocial:hover .text {
  color: #1d418e;
}
.ie #membership button.returnToSocial:hover .icon {
  margin-right: 3px;
}
#membership button.returnToSocial.focus-visible .text {
  color: #1d418e;
}
#membership button.returnToSocial.focus-visible .icon {
  margin-right: 3px;
}
#membership button.returnToSocial:focus-visible .text {
  color: #1d418e;
}
#membership button.returnToSocial:focus-visible .icon {
  margin-right: 3px;
}
#membership .errorMessage,
#membership .field-validation-error {
  display: inline-block;
  text-align: center;
  background-color: #e00700;
  color: white;
  max-width: 100%;
  font-weight: 600;
  padding: 5px 10px;
  margin: 2px auto 10px;
  border-radius: 0;
}
#membership .loginNav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  border-top: 2px solid #ebebec;
  margin-top: 30px;
  padding-top: 10px;
  text-align: center;
  font-size: 0.9em;
}
#membership .loginNav > * {
  margin: 0 5px;
}
#membership .formWrap {
  padding: 25px 40px;
  border-radius: 0;
  text-align: center;
}
#membership .formWrap input[type=radio] {
  position: relative;
  margin: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  cursor: pointer;
}
@supports ((-webkit-appearance: none) or (-moz-appearance: none) or (appearance: none)) {
  #membership .formWrap input[type=radio] {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    width: 1em;
    height: 1em;
    min-width: 1em;
    min-height: 1em;
  }
  #membership .formWrap input[type=radio]:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    border-style: solid;
    border-width: 2px;
    border-color: #3f3f3f;
    background: #fff;
    border-radius: 50%;
    -webkit-transition: all 200ms;
    transition: all 200ms;
  }
  #membership .formWrap input[type=radio]:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: 5;
    width: 0;
    height: 0;
    opacity: 0;
    border-radius: 50%;
    -webkit-transition: all 200ms;
    transition: all 200ms;
  }
  #membership .formWrap input[type=radio]:checked:before {
    border-color: #93c2f8;
    background-color: #93c2f8;
  }
  #membership .formWrap input[type=radio]:checked:after {
    opacity: 1;
    background-color: black;
    width: 45%;
    height: 45%;
  }
  #membership .formWrap input[type=radio][disabled] {
    opacity: 0.3;
    cursor: not-allowed;
  }
  #membership .formWrap input[type=radio][disabled]:before {
    background-color: #fefefe;
  }
}
#membership .formWrap input[type=checkbox] {
  position: relative;
  margin: 0;
  cursor: pointer;
}
@supports ((-webkit-appearance: none) or (-moz-appearance: none) or (appearance: none)) {
  #membership .formWrap input[type=checkbox] {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    width: 1em;
    height: 1em;
    min-width: 1em;
    min-height: 1em;
  }
  #membership .formWrap input[type=checkbox]:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 3px;
    border-style: solid;
    border-width: 2px;
    border-color: #00325d;
    background: #fff;
    -webkit-transition: all 200ms;
    transition: all 200ms;
  }
  #membership .formWrap input[type=checkbox]:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    background: transparent url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9 IjAgMCAzMTYuMzggMjUwLjYiPjxwYXRoIGQ9Ik03MC40IDIxOS44YzQuNTUgNC44 NyA5LjIyIDkuNjcgMTQuMTIgMTQuMTkgMy43NSAzLjQ3IDcuNzEgNi44NSAxMS45 MyA5Ljc0IDUuNSAzLjc4IDExLjkyIDcuMDggMTguNzggNi44NSA2LjY2LS4yMyAx Mi43Ny0zLjczIDE3Ljk3LTcuNjIgOC42LTYuNDIgMTYuNjctMTUuMTcgMjMuODQt MjMuMTRMMzA1LjY4IDU0LjY5YzcuMi04IDExLjc5LTE4LjI1IDEwLjQ3LTI5LjE3 LTEuMDQtOC41OS01LjcxLTE2LjU1LTEzLjAxLTIxLjI5LTUuNjUtMy42Ny0xMi4y Ni00Ljk4LTE4LjktMy44Mi04LjkgMS41Ni0xNi41NCA3LjIyLTIyLjQ4IDEzLjc4 LTQ4LjM0IDUzLjMyLTk2LjU5IDEwNi43MS0xNDQuODUgMTYwLjExbC0zLjE5IDMu NTMtNjAuNC02Ni42M2MtOC40Mi05LjI5LTE5LjctMTMuOTQtMzEuOTItOS41Ny00 LjcyIDEuNjktOC45OSA0LjU4LTEyLjQ1IDguMTktMy44NiA0LjA0LTYuNzggOS4w Ni04LjEzIDE0LjQ5LTIuMzEgOS4yNy4zIDE4LjA3IDYuNjIgMjUuMTNsNjIuOTUg NzAuMzVaIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQiLz48L3N2Zz4K") no-repeat;
    background-size: 70%;
    background-position: 50% 50%;
    -webkit-transition: all 200ms;
    transition: all 200ms;
    opacity: 0;
  }
  #membership .formWrap input[type=checkbox]:checked:before {
    border-color: #93c2f8;
    background-color: #93c2f8;
  }
  #membership .formWrap input[type=checkbox]:checked:after {
    opacity: 1;
  }
  #membership .formWrap input[type=checkbox][disabled] {
    opacity: 0.3;
    cursor: not-allowed;
  }
  #membership .formWrap input[type=checkbox][disabled]:before {
    background-color: rgba(63, 63, 63, 0.8);
  }
}
#membership .formWrap input[type=checkbox] ~ label,
#membership .formWrap input[type=radio] ~ label {
  padding-left: 0.35em;
}
#membership .formWrap.login .statusMessage {
  background-color: #000000;
  color: white;
  padding: 5px 10px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 10px auto;
}
#membership .formWrap.login .horzDivider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 25px 0;
}
#membership .formWrap.login .horzDivider .line {
  height: 2px;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  background: #ebebec;
}
#membership .formWrap.login .horzDivider .or {
  text-transform: uppercase;
  color: #3f3f3f;
  margin-left: 15px;
  margin-right: 15px;
}
#membership .formWrap.login button.continueWithEmail {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.7em 1.5em;
  border-width: 0;
  border-style: solid;
  border-color: #142e64;
  line-height: 1.1em;
  text-align: center;
  border-radius: 0;
  font-family: "Noah Head", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 900;
  outline-offset: 0;
  text-decoration: none;
  -webkit-transition: all 200ms;
  transition: all 200ms;
  background-color: #1d418e;
  color: white;
  width: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 1.3em 1.8em;
  -webkit-transform: none !important;
          transform: none !important;
}
@media (hover: hover) and (pointer: fine) {
  #membership .formWrap.login button.continueWithEmail:hover {
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
    text-decoration: none;
    background-color: #fed34c;
    color: black;
    border-color: #fec719;
    cursor: pointer;
  }
}
[data-browser=ie] #membership .formWrap.login button.continueWithEmail:hover {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #fed34c;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
.ie #membership .formWrap.login button.continueWithEmail:hover {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #fed34c;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#membership .formWrap.login button.continueWithEmail.focus-visible {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #fed34c;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#membership .formWrap.login button.continueWithEmail:focus-visible {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #fed34c;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#membership .formWrap.login button.continueWithEmail[disabled], #membership .formWrap.login button.continueWithEmail[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}
#membership .formWrap.login button.continueWithEmail .icon {
  font-size: 2.5em;
  margin-bottom: 10px;
}
#membership .formWrap.login button.continueWithEmail .text {
  font-size: 1.2em;
  font-weight: bold;
}
#membership .formWrap.login .fieldWrapper label:not(.checkboxLabel) {
  top: 3px;
  left: 3px;
}
#membership .formWrap.login .fieldWrapper input:not([type=checkbox]):not([type=radio]),
#membership .formWrap.login .fieldWrapper textarea {
  padding-top: 20px;
  padding-left: 3px;
}
#membership .formWrap.login .loginWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  margin-top: 8px;
}
#membership .formWrap.login .returningWrapper {
  width: calc(60% - 20px);
  text-align: center;
}
#membership .formWrap.login .newAccountWrapper {
  width: 40%;
}
#membership .formWrap.login .newAccountWrapper > a:first-child {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.7em 1.5em;
  border-width: 0;
  border-style: solid;
  border-color: #142e64;
  line-height: 1.1em;
  text-align: center;
  border-radius: 0;
  font-family: "Noah Head", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 900;
  outline-offset: 0;
  text-decoration: none;
  -webkit-transition: all 200ms;
  transition: all 200ms;
  background-color: #1d418e;
  color: white;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  height: 100%;
}
@media (hover: hover) and (pointer: fine) {
  #membership .formWrap.login .newAccountWrapper > a:first-child:hover {
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
    text-decoration: none;
    background-color: #fed34c;
    color: black;
    border-color: #fec719;
    cursor: pointer;
  }
}
[data-browser=ie] #membership .formWrap.login .newAccountWrapper > a:first-child:hover {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #fed34c;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
.ie #membership .formWrap.login .newAccountWrapper > a:first-child:hover {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #fed34c;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#membership .formWrap.login .newAccountWrapper > a:first-child.focus-visible {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #fed34c;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#membership .formWrap.login .newAccountWrapper > a:first-child:focus-visible {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #fed34c;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#membership .formWrap.login .newAccountWrapper > a:first-child[disabled], #membership .formWrap.login .newAccountWrapper > a:first-child[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}
#membership .formWrap.login .newAccountWrapper > a:first-child[data-type=Student] .icon:before {
  text-transform: lowercase;
  content: "z";
}
#membership .formWrap.login .newAccountWrapper > a:first-child .icon {
  font-size: 2.5em;
  margin-bottom: 10px;
}
#membership .formWrap.login .newAccountWrapper > a:first-child .text {
  font-weight: bold;
  font-size: 1.15em;
}
#membership .formWrap.landingPage {
  padding-bottom: 40px;
  padding-left: 30px;
  padding-right: 30px;
}
#membership .formWrap.landingPage .buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
#membership .formWrap.landingPage .buttons a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  margin: 0 6px;
  height: 350px;
  font-size: 1.4em;
  text-decoration: none;
  overflow: hidden;
}
@media (hover: hover) and (pointer: fine) {
  #membership .formWrap.landingPage .buttons a:hover .iconHolder {
    color: #1d418e;
  }
  #membership .formWrap.landingPage .buttons a:hover .text {
    color: #1d418e;
  }
  #membership .formWrap.landingPage .buttons a:hover .bg {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
  #membership .formWrap.landingPage .buttons a:hover .overlayGrid span {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0.7;
  }
}
[data-browser=ie] #membership .formWrap.landingPage .buttons a:hover .iconHolder {
  color: #1d418e;
}
[data-browser=ie] #membership .formWrap.landingPage .buttons a:hover .text {
  color: #1d418e;
}
[data-browser=ie] #membership .formWrap.landingPage .buttons a:hover .bg {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}
[data-browser=ie] #membership .formWrap.landingPage .buttons a:hover .overlayGrid span {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 0.7;
}
.ie #membership .formWrap.landingPage .buttons a:hover .iconHolder {
  color: #1d418e;
}
.ie #membership .formWrap.landingPage .buttons a:hover .text {
  color: #1d418e;
}
.ie #membership .formWrap.landingPage .buttons a:hover .bg {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}
.ie #membership .formWrap.landingPage .buttons a:hover .overlayGrid span {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 0.7;
}
#membership .formWrap.landingPage .buttons a.focus-visible .iconHolder {
  color: #1d418e;
}
#membership .formWrap.landingPage .buttons a.focus-visible .text {
  color: #1d418e;
}
#membership .formWrap.landingPage .buttons a.focus-visible .bg {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}
#membership .formWrap.landingPage .buttons a.focus-visible .overlayGrid span {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 0.7;
}
#membership .formWrap.landingPage .buttons a:focus-visible .iconHolder {
  color: #1d418e;
}
#membership .formWrap.landingPage .buttons a:focus-visible .text {
  color: #1d418e;
}
#membership .formWrap.landingPage .buttons a:focus-visible .bg {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}
#membership .formWrap.landingPage .buttons a:focus-visible .overlayGrid span {
  -webkit-transform: scale(1);
          transform: scale(1);
  opacity: 0.7;
}
#membership .formWrap.landingPage .buttons .overlayGrid {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr 130px;
}
#membership .formWrap.landingPage .buttons .overlayGrid span {
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transition: all 600ms;
  transition: all 600ms;
  -webkit-transition-timing-function: cubic-bezier(0.32, -0.05, 0, 1.05);
          transition-timing-function: cubic-bezier(0.32, -0.05, 0, 1.05);
}
#membership .formWrap.landingPage .buttons .overlayGrid span.left {
  background-color: rgba(0, 50, 93, 0.98);
}
#membership .formWrap.landingPage .buttons .overlayGrid span.center {
  background-color: rgba(0, 50, 93, 0.98);
}
#membership .formWrap.landingPage .buttons .overlayGrid span.right {
  background-color: rgba(0, 50, 93, 0.98);
}
#membership .formWrap.landingPage .buttons .overlayGrid span:nth-child(1) {
  -webkit-transition-delay: 30ms;
          transition-delay: 30ms;
}
#membership .formWrap.landingPage .buttons .overlayGrid span:nth-child(2) {
  -webkit-transition-delay: 60ms;
          transition-delay: 60ms;
}
#membership .formWrap.landingPage .buttons .overlayGrid span:nth-child(3) {
  -webkit-transition-delay: 90ms;
          transition-delay: 90ms;
}
#membership .formWrap.landingPage .buttons .overlayGrid span:nth-child(4) {
  -webkit-transition-delay: 120ms;
          transition-delay: 120ms;
}
#membership .formWrap.landingPage .buttons .overlayGrid span:nth-child(5) {
  -webkit-transition-delay: 150ms;
          transition-delay: 150ms;
}
#membership .formWrap.landingPage .buttons .overlayGrid span:nth-child(6) {
  -webkit-transition-delay: 180ms;
          transition-delay: 180ms;
}
#membership .formWrap.landingPage .buttons .overlayGrid span:nth-child(7) {
  -webkit-transition-delay: 210ms;
          transition-delay: 210ms;
}
#membership .formWrap.landingPage .buttons .overlayGrid span:nth-child(8) {
  -webkit-transition-delay: 240ms;
          transition-delay: 240ms;
}
#membership .formWrap.landingPage .buttons .overlayGrid span:nth-child(9) {
  -webkit-transition-delay: 270ms;
          transition-delay: 270ms;
}
#membership .formWrap.landingPage .buttons .bg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  -webkit-transition: all 600ms;
  transition: all 600ms;
  -webkit-transition-timing-function: cubic-bezier(0.32, -0.05, 0, 1.05);
          transition-timing-function: cubic-bezier(0.32, -0.05, 0, 1.05);
}
#membership .formWrap.landingPage .buttons .textHolder {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 66%;
  min-height: 130px;
  border-left: 10px solid #fed34c;
  padding: 20px 15px 5px;
  text-align: left;
  background: #fff;
}
#membership .formWrap.landingPage .buttons .textHolder:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 15px;
  right: 0;
  background-color: #e63690;
  height: 1px;
}
#membership .formWrap.landingPage .buttons .text {
  color: #00325d;
  font-weight: bold;
  font-family: "Juana", serif;
  font-size: 1.5em;
  -webkit-transition: all 200ms;
  transition: all 200ms;
  text-transform: uppercase;
}
#membership .formWrap.landingPage .buttons .iconHolder {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Noah Head", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  -webkit-transition: all 200ms;
  transition: all 200ms;
  font-size: 0.6em;
  color: #e63690;
  -webkit-transition: all 300ms;
  transition: all 300ms;
  text-transform: uppercase;
}
#membership .formWrap.landingPage .buttons .icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  width: 30px;
  height: 30px;
  font-family: "spelman";
  text-transform: lowercase;
  font-size: 24px;
  margin-right: 5px;
  margin-bottom: 3px;
}
#membership .formWrap.landingPage .buttons .guestLoginBtn .icon:before {
  content: "k";
}
#membership .formWrap.landingPage .buttons .enrolleeLoginBtn .icon:before {
  content: "z";
}
#membership .formWrap.accountProfiler {
  text-align: left;
}
#membership .formWrap.accountProfiler .profileSettingsExplainer,
#membership .formWrap.accountProfiler .profileErrorWrap {
  text-align: center;
}
#membership .formWrap.accountProfiler .instruction {
  margin-bottom: 15px;
  text-align: center;
}
#membership .formWrap.accountProfiler .buttonHolder {
  margin: 20px 0 20px;
}
#membership .formWrap.accountProfiler .resetAccountTypeBtn {
  border: 0;
  padding: 0;
  background: none;
  border-radius: 0;
  overflow: visible;
  font-size: 0.8em;
  border-bottom: 1px solid #93c2f8;
  cursor: pointer;
  color: #00325d;
  background-color: white;
  -webkit-transition: 200ms;
  transition: 200ms;
}
@media (hover: hover) and (pointer: fine) {
  #membership .formWrap.accountProfiler .resetAccountTypeBtn:hover {
    border-color: #1d418e;
    color: #1d418e;
    background-color: white;
  }
}
[data-browser=ie] #membership .formWrap.accountProfiler .resetAccountTypeBtn:hover {
  border-color: #1d418e;
  color: #1d418e;
  background-color: white;
}
.ie #membership .formWrap.accountProfiler .resetAccountTypeBtn:hover {
  border-color: #1d418e;
  color: #1d418e;
  background-color: white;
}
#membership .formWrap.accountProfiler .resetAccountTypeBtn.focus-visible {
  border-color: #1d418e;
  color: #1d418e;
  background-color: white;
}
#membership .formWrap.accountProfiler .resetAccountTypeBtn:focus-visible {
  border-color: #1d418e;
  color: #1d418e;
  background-color: white;
}
#membership .formWrap.twoFactor .singleFieldSubmission {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 25px;
}
#membership .formWrap.twoFactor .singleFieldSubmission .fieldWrapper {
  margin: 0 5px 0 0;
}
#membership .formWrap.twoFactor .singleFieldSubmission button {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.7em 1.5em;
  border-width: 0;
  border-style: solid;
  border-color: #142e64;
  line-height: 1.1em;
  text-align: center;
  border-radius: 0;
  font-family: "Noah Head", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 900;
  outline-offset: 0;
  text-decoration: none;
  -webkit-transition: all 200ms;
  transition: all 200ms;
  background-color: #1d418e;
  color: white;
}
@media (hover: hover) and (pointer: fine) {
  #membership .formWrap.twoFactor .singleFieldSubmission button:hover {
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
    text-decoration: none;
    background-color: #fed34c;
    color: black;
    border-color: #fec719;
    cursor: pointer;
  }
}
[data-browser=ie] #membership .formWrap.twoFactor .singleFieldSubmission button:hover {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #fed34c;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
.ie #membership .formWrap.twoFactor .singleFieldSubmission button:hover {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #fed34c;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#membership .formWrap.twoFactor .singleFieldSubmission button.focus-visible {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #fed34c;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#membership .formWrap.twoFactor .singleFieldSubmission button:focus-visible {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #fed34c;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#membership .formWrap.twoFactor .singleFieldSubmission button[disabled], #membership .formWrap.twoFactor .singleFieldSubmission button[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}
#membership .formWrap.twoFactor #TFAButtonApp {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.7em 1.5em;
  border-width: 0;
  border-style: solid;
  border-color: #142e64;
  line-height: 1.1em;
  text-align: center;
  border-radius: 0;
  font-family: "Noah Head", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 900;
  outline-offset: 0;
  text-decoration: none;
  -webkit-transition: all 200ms;
  transition: all 200ms;
  background-color: #1d418e;
  color: white;
  padding: 0.35em 0.5em;
  margin-bottom: 20px;
}
@media (hover: hover) and (pointer: fine) {
  #membership .formWrap.twoFactor #TFAButtonApp:hover {
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
    text-decoration: none;
    background-color: #fed34c;
    color: black;
    border-color: #fec719;
    cursor: pointer;
  }
}
[data-browser=ie] #membership .formWrap.twoFactor #TFAButtonApp:hover {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #fed34c;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
.ie #membership .formWrap.twoFactor #TFAButtonApp:hover {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #fed34c;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#membership .formWrap.twoFactor #TFAButtonApp.focus-visible {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #fed34c;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#membership .formWrap.twoFactor #TFAButtonApp:focus-visible {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #fed34c;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#membership .formWrap.twoFactor #TFAButtonApp[disabled], #membership .formWrap.twoFactor #TFAButtonApp[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}
#membership .formWrap.twoFactor #TFAButtonEmail,
#membership .formWrap.twoFactor #OTPButton {
  border: 0;
  background: none;
  padding: 0 0 2px;
  margin-top: 15px;
  border-bottom: 1px solid #93c2f8;
  color: #93c2f8;
  background-color: black;
  cursor: pointer;
}
#membership .formWrap.twoFactor #TFAButtonEmail[data-wait-a-few=true],
#membership .formWrap.twoFactor #OTPButton[data-wait-a-few=true] {
  opacity: 0.6;
  cursor: not-allowed;
}
#membership .buttonHolder {
  text-align: center;
}
#membership .buttonHolder button {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.7em 1.5em;
  border-width: 0;
  border-style: solid;
  border-color: #142e64;
  line-height: 1.1em;
  text-align: center;
  border-radius: 0;
  font-family: "Noah Head", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 900;
  outline-offset: 0;
  text-decoration: none;
  -webkit-transition: all 200ms;
  transition: all 200ms;
  background-color: #1d418e;
  color: white;
  margin: 0 auto;
}
@media (hover: hover) and (pointer: fine) {
  #membership .buttonHolder button:hover {
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
    text-decoration: none;
    background-color: #fed34c;
    color: black;
    border-color: #fec719;
    cursor: pointer;
  }
}
[data-browser=ie] #membership .buttonHolder button:hover {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #fed34c;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
.ie #membership .buttonHolder button:hover {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #fed34c;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#membership .buttonHolder button.focus-visible {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #fed34c;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#membership .buttonHolder button:focus-visible {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #fed34c;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#membership .buttonHolder button[disabled], #membership .buttonHolder button[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}
#membership .styledFieldset {
  margin-bottom: 20px;
}
#membership .styledFieldset .groupLegend {
  margin-bottom: 10px;
}

.simpleDialog .closeDialog {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.7em 1.5em;
  border-width: 0;
  border-style: solid;
  border-color: #142e64;
  line-height: 1.1em;
  text-align: center;
  border-radius: 0;
  font-family: "Noah Head", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 900;
  outline-offset: 0;
  text-decoration: none;
  -webkit-transition: all 200ms;
  transition: all 200ms;
  background-color: #1d418e;
  color: white;
}
@media (hover: hover) and (pointer: fine) {
  .simpleDialog .closeDialog:hover {
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
    text-decoration: none;
    background-color: #fed34c;
    color: black;
    border-color: #fec719;
    cursor: pointer;
  }
}
[data-browser=ie] .simpleDialog .closeDialog:hover {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #fed34c;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
.ie .simpleDialog .closeDialog:hover {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #fed34c;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
.simpleDialog .closeDialog.focus-visible {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #fed34c;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
.simpleDialog .closeDialog:focus-visible {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #fed34c;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
.simpleDialog .closeDialog[disabled], .simpleDialog .closeDialog[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}
.simpleDialog .closeDialog .icon {
  display: none;
}

#resetData button {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.7em 1.5em;
  border-width: 0;
  border-style: solid;
  border-color: #142e64;
  line-height: 1.1em;
  text-align: center;
  border-radius: 0;
  font-family: "Noah Head", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-weight: 900;
  outline-offset: 0;
  text-decoration: none;
  -webkit-transition: all 200ms;
  transition: all 200ms;
  background-color: #1d418e;
  color: white;
}
@media (hover: hover) and (pointer: fine) {
  #resetData button:hover {
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
    text-decoration: none;
    background-color: #fed34c;
    color: black;
    border-color: #fec719;
    cursor: pointer;
  }
}
[data-browser=ie] #resetData button:hover {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #fed34c;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
.ie #resetData button:hover {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #fed34c;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#resetData button.focus-visible {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #fed34c;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#resetData button:focus-visible {
  -webkit-transform: scale(1.03);
          transform: scale(1.03);
  text-decoration: none;
  background-color: #fed34c;
  color: black;
  border-color: #fec719;
  cursor: pointer;
}
#resetData button[disabled], #resetData button[aria-disabled=true] {
  opacity: 0.5;
  cursor: not-allowed;
}

@media (min-width: 2000px) {
  #membership {
    max-width: 1050px;
  }
  #membership .formWrap.landingPage .buttons a {
    height: 450px;
  }
}
@media (max-width: 1050px) {
  #membership {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: calc(100% - 40px);
    min-height: auto;
    margin-top: 15px;
    padding-top: 0;
    padding-bottom: 0;
  }
}
@media (max-width: 1050px), (max-height: 520px) {
  #background {
    height: 300px;
  }
  #membership {
    margin-top: 220px;
  }
  header {
    position: absolute;
  }
}
@media (max-width: 800px) {
  .guestLoginMethods .socialMediaLogins {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  header {
    position: relative;
    top: 0;
    width: 100%;
  }
  header .logoWrap {
    position: relative;
    width: 100%;
  }
  #background {
    display: none !important;
  }
  #membership {
    margin-top: 0;
    max-width: 100%;
  }
  #membership .formWrap.login .loginWrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 15px;
  }
  #membership .formWrap.login .newAccountWrapper {
    width: auto;
    margin: auto;
  }
  #membership .formWrap.login .returningWrapper {
    width: auto;
  }
  #membership .formWrap.landingPage .buttons a {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
  }
  #membership .formWrap.landingPage .buttons {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #membership .formWrap.landingPage .buttons a {
    width: 100%;
  }
  #membership .formWrap.landingPage .buttons a:first-child {
    margin-bottom: 15px;
  }
}
@media (max-width: 650px) {
  #membership .formWrap {
    padding: 25px;
  }
  #membership .formWrap.login .newAccountWrapper {
    width: auto;
  }
  #resetData button {
    width: 100%;
    margin-bottom: 8px;
  }
}
@media (max-width: 520px) {
  .guestLoginMethods .socialMediaLogins {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  #membership .titleArea h2 {
    font-size: 2em;
  }
  #membership .formWrap.landingPage .buttons a .textHolder {
    max-width: 80%;
    width: 100%;
  }
  #membership .formWrap.landingPage .buttons a .textHolder .text {
    font-size: 1.25em;
  }
  #membership .formWrap.landingPage .buttons a .textHolder .iconHolder {
    font-size: 0.56em;
  }
}
@media (max-width: 450px) {
  #membership .formWrap {
    padding: 16px;
  }
  #membership .formWrap.landingPage {
    padding: 20px;
  }
}
.rte {
  clear: both;
}
.rte h4,
.rte h5 {
  margin: 0.8em 0 0.5em;
}
.rte > *:first-child {
  margin-top: 0 !important;
}
.rte > *:last-child {
  margin-bottom: 0 !important;
}

.rte iframe {
  max-width: calc(100vw - 80px);
  max-height: calc((100vw - 80px) / 1.7778); /* 16:9 */
}
.rte img {
  margin: 10px;
}
.rte img[style*="float: right"] {
  margin: 0 0 20px 20px;
}
.rte img[style*="float: left"] {
  margin: 0 20px 20px 0px;
}
.rte img[style*="float: right"], .rte img[style*="float: left"] {
  max-width: 60%;
}
@media (max-width: 650px) {
  .rte img[style*="float: right"], .rte img[style*="float: left"] {
    max-width: 50%;
  }
}
@media (max-width: 520px) {
  .rte img[style*="float: right"], .rte img[style*="float: left"] {
    max-width: 100%;
    float: none !important;
    margin: 0 0 5px !important;
  }
}
.rte figure:not(.termBbl) {
  margin: 20px 0px;
  border-radius: calc(0 + 5px - 0px);
  border: 1px solid #a9a9ad;
  padding: 5px;
  display: inline-block;
}
.rte figure:not(.termBbl) img {
  float: none !important;
  margin: 0px !important;
  max-width: 100% !important;
  border-radius: 0 0 0px 0px;
}
.rte figure:not(.termBbl)[style*="text-align: right"] {
  float: right;
  margin: 0 0 20px 20px;
}
.rte figure:not(.termBbl)[style*="text-align: left"] {
  float: left;
  margin: 0 20px 20px 0px;
}
.rte figure:not(.termBbl)[style*="text-align: left"], .rte figure:not(.termBbl)[style*="text-align: right"] {
  text-align: left !important;
  max-width: 60%;
}
@media (max-width: 650px) {
  .rte figure:not(.termBbl)[style*="text-align: left"], .rte figure:not(.termBbl)[style*="text-align: right"] {
    max-width: 50%;
  }
}
@media (max-width: 520px) {
  .rte figure:not(.termBbl)[style*="text-align: left"], .rte figure:not(.termBbl)[style*="text-align: right"] {
    max-width: 100%;
    float: none !important;
    margin: 0 0 5px !important;
  }
}
.rte figure:not(.termBbl) figcaption {
  font-weight: 400;
  padding: 10px;
  border-radius: 0px 0px 0 0;
  background-color: #ebebec;
  color: black;
  font-size: 0.9em;
}
.rte p {
  font-family: "Noah Text", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  font-size: 1.1em;
}
.rte h3.heading {
  margin: 0.75em 0 0.4em;
  font-size: 2.3em;
  font-weight: 700;
  letter-spacing: 0.025em;
  color: #00325d;
  background-color: white;
}
.rte .headingList,
.rte .subheadingList {
  margin: 0.85em 0 0.4em;
  padding-bottom: 0.25em;
  border-bottom: 2px solid #93c2f8;
  font-weight: 900;
  font-family: "Noah Head", "HelveticaNeue", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
  letter-spacing: 0.025em;
}
.rte h3.headingList {
  font-size: 1.5em;
  color: #00325d;
  background-color: white;
}
.rte h4.subheadingList {
  font-size: 1.3em;
  color: #1d418e;
  background-color: white;
}
.rte h4.subheading {
  margin: 0.75em 0 0.4em;
  font-size: 1.75em;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #1d418e;
  background-color: white;
  border-radius: 8px;
}
.rte .largeText {
  position: relative;
  padding: 0;
  margin-top: 15px;
  margin-bottom: 25px;
  display: block;
  font-size: 1.15em;
  line-height: 1.5em;
  padding-left: 20px;
  padding-right: 20px;
  color: #00325d;
  background-color: white;
}
.rte .largeText:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 4px;
  height: 100%;
  background-image: url(/Images/wiggle-vertical.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
}
.rte .highlight {
  background-color: #fed34c;
  color: black;
}
.rte .highlight a {
  background: none;
}
.rte ul {
  padding: 0;
}
.rte ul > li {
  margin-left: 40px;
  margin-bottom: 5px;
}
.rte ul > li::marker {
  font-size: 1.25em;
  color: #1d418e;
}
.rte ol {
  padding: 0;
  list-style-type: none;
  counter-reset: counter;
}
.rte ol[style="list-style-type: upper-alpha;"] > li:before, .rte ol[style="list-style-type: lower-alpha;"] > li:before, .rte ol[style="list-style-type: lower-greek;"] > li:before, .rte ol[style="list-style-type: upper-roman;"] > li:before, .rte ol[style="list-style-type: lower-roman;"] > li:before {
  display: none;
}
.rte ol > li {
  position: relative;
  counter-increment: counter;
  margin-left: 40px;
  margin-bottom: 5px;
}
.rte ol > li:before {
  content: counter(counter) ". ";
  position: absolute;
  right: calc(100% + 8px);
  color: #1d418e;
  font-weight: bold;
}
.rte a {
  text-decoration: none;
  color: #1d418e;
  background-color: white;
  border-bottom: 2px solid #93c2f8;
}
@media (hover: hover) and (pointer: fine) {
  .rte a:hover {
    color: #901a9d;
    background-color: white;
    border-bottom-color: #901a9d;
  }
}
[data-browser=ie] .rte a:hover {
  color: #901a9d;
  background-color: white;
  border-bottom-color: #901a9d;
}
.ie .rte a:hover {
  color: #901a9d;
  background-color: white;
  border-bottom-color: #901a9d;
}
.rte a.focus-visible {
  color: #901a9d;
  background-color: white;
  border-bottom-color: #901a9d;
}
.rte a:focus-visible {
  color: #901a9d;
  background-color: white;
  border-bottom-color: #901a9d;
}
.rte .tableWrapper {
  overflow: auto;
  max-width: 100%;
  margin-bottom: 20px;
  background: -webkit-gradient(linear, left top, right top, color-stop(30%, #fff), to(rgba(255, 255, 255, 0))), -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), color-stop(70%, #fff)) 0 100%, radial-gradient(farthest-side at 0% 50%, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)) 0 100%;
  background: linear-gradient(to right, #fff 30%, rgba(255, 255, 255, 0)), linear-gradient(to right, rgba(255, 255, 255, 0), #fff 70%) 0 100%, radial-gradient(farthest-side at 0% 50%, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0)) 0 100%;
  background-repeat: no-repeat;
  background-color: #fff;
  background-size: 40px 100%, 40px 100%, 14px 100%, 14px 100%;
  background-position: 0 0, 100%, 0 0, 100%;
  background-attachment: local, local, scroll, scroll;
  container-type: inline-size;
}
.rte .tableWrapper table {
  min-width: 500px;
  margin-bottom: 5px;
}
.rte .tableWrapper table caption {
  padding: 4px;
  font-weight: 500;
  background-color: #93c2f8;
  color: black;
}
.rte .tableWrapper table tr:nth-child(even) {
  background: rgba(29, 65, 142, 0.17);
}
.rte .tableWrapper table tr:nth-child(odd) {
  background: rgba(29, 65, 142, 0.06);
}
.rte .tableWrapper table th {
  padding: 3px;
  background-color: #1d418e;
  color: white;
  border-color: black;
}
.rte .tableWrapper table td {
  padding: 3px;
  font-size: 0.95em;
}
.rte .tableWrapper table a {
  background: none;
}
.rte .tableWrapper .mobileScrollMessage {
  position: relative;
  display: none;
  margin-top: 8px;
  padding: 5px 8px;
  border-radius: 0;
  background-color: #93c2f8;
  color: black;
}
.rte .tableWrapper .mobileScrollMessage:before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 8px;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 0 6px 8px 5px;
  border-color: transparent transparent #93c2f8 transparent;
}
.rte.calloutSubtle {
  margin: 0.75em 0 0.9em;
  padding: 10px 15px;
  border-radius: 0;
  background-color: #ebebec;
  color: black;
}
.rte.calloutSubtle a {
  background-color: #ebebec;
  color: black;
  border-bottom: 2px solid black;
}
@media (hover: hover) and (pointer: fine) {
  .rte.calloutSubtle a:hover {
    color: #3f3f3f;
    background-color: white;
    border-bottom-color: #3f3f3f;
  }
}
[data-browser=ie] .rte.calloutSubtle a:hover {
  color: #3f3f3f;
  background-color: white;
  border-bottom-color: #3f3f3f;
}
.ie .rte.calloutSubtle a:hover {
  color: #3f3f3f;
  background-color: white;
  border-bottom-color: #3f3f3f;
}
.rte.calloutSubtle a.focus-visible {
  color: #3f3f3f;
  background-color: white;
  border-bottom-color: #3f3f3f;
}
.rte.calloutSubtle a:focus-visible {
  color: #3f3f3f;
  background-color: white;
  border-bottom-color: #3f3f3f;
}
.rte.calloutSubtle > *:first-child {
  margin-top: 0 !important;
}
.rte.calloutSubtle > *:last-child {
  margin-bottom: 0 !important;
}
.rte.calloutBold {
  margin: 0.75em 0 0.9em;
  padding: 10px 15px;
  border-radius: 0;
  background-color: #93c2f8;
  color: black;
}
.rte.calloutBold a {
  background-color: #93c2f8;
  color: black;
  border-bottom: 2px solid black;
}
@media (hover: hover) and (pointer: fine) {
  .rte.calloutBold a:hover {
    color: #3f3f3f;
    background-color: white;
    border-bottom-color: #3f3f3f;
  }
}
[data-browser=ie] .rte.calloutBold a:hover {
  color: #3f3f3f;
  background-color: white;
  border-bottom-color: #3f3f3f;
}
.ie .rte.calloutBold a:hover {
  color: #3f3f3f;
  background-color: white;
  border-bottom-color: #3f3f3f;
}
.rte.calloutBold a.focus-visible {
  color: #3f3f3f;
  background-color: white;
  border-bottom-color: #3f3f3f;
}
.rte.calloutBold a:focus-visible {
  color: #3f3f3f;
  background-color: white;
  border-bottom-color: #3f3f3f;
}
.rte.calloutBold > *:first-child {
  margin-top: 0 !important;
}
.rte.calloutBold > *:last-child {
  margin-bottom: 0 !important;
}

@container (max-width: 500px) {
  .rte .tableWrapper .mobileScrollMessage {
    display: inline-block;
  }
}
@media (max-width: 650px) {
  .rte .tableWrapper .mobileScrollMessage {
    display: inline-block;
  }
}
@media (max-width: 520px) {
  .rte .largeText {
    font-size: 1.05em;
  }
  .rte h3.heading {
    font-size: 2.1em;
  }
  .rte h4.subheading {
    font-size: 1.65em;
  }
  .rte h3.headingList {
    font-size: 1.4em;
    color: #00325d;
    background-color: white;
  }
  .rte h4.subheadingList {
    font-size: 1.2em;
    color: #1d418e;
    background-color: white;
  }
}
#membership .formWrap.maintenance {
  background: #1d418e;
  border-color: #fff;
}
#membership .formWrap.maintenance .formArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  background: transparent;
}
#membership .formWrap.maintenance .formArea .rte {
  color: #fff;
  padding-right: 25px;
}
#membership .formWrap.maintenance .formArea .icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-flex: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  width: 350px;
  height: 350px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 16em;
  border-left: 2px solid #658cdf;
  color: #fff;
}

@media (max-width: 800px) {
  #membership .formWrap.maintenance .formArea .icon {
    width: 30%;
    height: 150px;
    font-size: 6em;
  }
}
@media (max-width: 650px) {
  #membership .formWrap.maintenance .formArea {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  #membership .formWrap.maintenance .formArea .icon {
    width: 75px;
    height: 75px;
    font-size: 3em;
    padding: 0;
    margin-bottom: 25px;
    border-left: 0;
    border-bottom: 2px solid #658cdf;
  }
}
.membershipPage .errorPage .errorWrap {
  background: #1d418e;
  border-radius: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  color: #fff;
  margin-top: 10px;
  padding: 30px;
}
.membershipPage .errorPage .icon {
  padding: 30px;
  font-size: 8em;
  border-left: 2px solid rgb(167, 196, 221);
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.membershipPage .errorPage .rte {
  text-align: center;
  padding: 40px 30px 20px 30px;
  width: 50%;
}
.membershipPage .errorPage .rte h3.heading {
  background: transparent;
  color: white;
  text-transform: none;
}

@media (max-width: 800px) {
  .membershipPage .errorPage .icon {
    font-size: 6em;
  }
}
@media (max-width: 650px) {
  .membershipPage .errorPage .errorWrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0 30px;
  }
  .membershipPage .errorPage .icon {
    font-size: 5em;
    border-left: 0;
    padding-bottom: 15px;
    border-bottom: 2px solid rgb(167, 196, 221);
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }
  .membershipPage .errorPage .rte {
    width: 100%;
    padding: 15px 0;
  }
}
details {
  -webkit-transition: all 500ms;
  transition: all 500ms;
}

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

.accordionModule .accordionTitle {
  cursor: pointer;
  list-style: none;
}

.accordionModule {
  position: relative;
  margin: 10px 0;
}
.accordionModule[open] > .accordionTitle {
  background-color: #1d418e;
  color: white;
}
.accordionModule[open] > .accordionTitle .icon {
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
  -webkit-transform-origin: center;
          transform-origin: center;
}
.accordionModule[open] > .accordionTitle .icon:before {
  content: "^";
}
.accordionModule .accordionTitle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  background-color: #00325d;
  color: white;
  padding: 20px 20px 20px 40px;
  -webkit-transition: all 300ms;
  transition: all 300ms;
}
@media (hover: hover) and (pointer: fine) {
  .accordionModule .accordionTitle:hover {
    background-color: #1d418e;
    color: white;
  }
  .accordionModule .accordionTitle:hover .icon {
    color: white;
  }
}
[data-browser=ie] .accordionModule .accordionTitle:hover {
  background-color: #1d418e;
  color: white;
}
[data-browser=ie] .accordionModule .accordionTitle:hover .icon {
  color: white;
}
.ie .accordionModule .accordionTitle:hover {
  background-color: #1d418e;
  color: white;
}
.ie .accordionModule .accordionTitle:hover .icon {
  color: white;
}
.accordionModule .accordionTitle.focus-visible {
  background-color: #1d418e;
  color: white;
}
.accordionModule .accordionTitle.focus-visible .icon {
  color: white;
}
.accordionModule .accordionTitle:focus-visible {
  background-color: #1d418e;
  color: white;
}
.accordionModule .accordionTitle:focus-visible .icon {
  color: white;
}
.accordionModule .accordionTitle .icon {
  position: absolute;
  top: 50%;
  left: 18px;
  -webkit-transform: rotate(0) translateY(-50%);
          transform: rotate(0) translateY(-50%);
  -webkit-transition: 0.2s -webkit-transform;
  transition: 0.2s -webkit-transform;
  transition: 0.2s transform;
  transition: 0.2s transform, 0.2s -webkit-transform;
}
.accordionModule .accordionTitle .icon:before {
  content: "@";
  font-family: "spelman";
}
.accordionModule .accordionTitle .text {
  font-size: 1.1em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.accordionModule .accordionWrapper {
  border-top: 8px solid #fed34c;
  padding: 15px 8px 10px;
  border-radius: 0px 0px 0 0;
  background-color: #fff;
  color: black;
}
.accordionModule .accordionWrapper img {
  max-width: 100%;
  height: auto !important;
}
.accordionModule .accordionWrapper h3.heading {
  font-size: 1.8em;
}
.accordionModule .accordionWrapper h3.headingList {
  font-size: 1.4em;
}
.accordionModule .accordionWrapper h4.subheadingList {
  font-size: 1.2em;
}
.accordionModule .accordionWrapper h3.subheading {
  font-size: 1.5em;
}
.accordionModule + .rte {
  margin-top: 25px;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZpbGU6Ly8vRDovcmVwb3MvU3BlbG1hbiUyMENvbGxlZ2UlMjAtJTIwNjU5Ni9TcGVsbWFuL1Nhc3MvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vU2Fzcy9hZGdNZW1iZXJzaGlwLnNjc3MiLCJmaWxlOi8vL0Q6L3JlcG9zL1NwZWxtYW4lMjBDb2xsZWdlJTIwLSUyMDY1OTYvU3BlbG1hbi9TYXNzL19mb250cy5zY3NzIiwiZmlsZTovLy9EOi9yZXBvcy9TcGVsbWFuJTIwQ29sbGVnZSUyMC0lMjA2NTk2L1NwZWxtYW4vU2Fzcy9fZ2xvYmFsTWl4aW5zLnNjc3MiLCJmaWxlOi8vL0Q6L3JlcG9zL1NwZWxtYW4lMjBDb2xsZWdlJTIwLSUyMDY1OTYvU3BlbG1hbi9TYXNzL19taXhpbnMuc2NzcyIsImZpbGU6Ly8vRDovcmVwb3MvU3BlbG1hbiUyMENvbGxlZ2UlMjAtJTIwNjU5Ni9TcGVsbWFuL1Nhc3MvX2dsb2JhbC5zY3NzIiwiZmlsZTovLy9EOi9yZXBvcy9TcGVsbWFuJTIwQ29sbGVnZSUyMC0lMjA2NTk2L1NwZWxtYW4vU2Fzcy9fZGlhbG9nLnNjc3MiLCJmaWxlOi8vL0Q6L3JlcG9zL1NwZWxtYW4lMjBDb2xsZWdlJTIwLSUyMDY1OTYvU3BlbG1hbi9TYXNzL19mb3Jtcy5zY3NzIiwiZmlsZTovLy9EOi9yZXBvcy9TcGVsbWFuJTIwQ29sbGVnZSUyMC0lMjA2NTk2L1NwZWxtYW4vU2Fzcy9fbG9naW4uc2NzcyIsImZpbGU6Ly8vRDovcmVwb3MvU3BlbG1hbiUyMENvbGxlZ2UlMjAtJTIwNjU5Ni9TcGVsbWFuL1Nhc3MvX3JpY2hUZXh0U3R5bGVzLnNjc3MiLCJmaWxlOi8vL0Q6L3JlcG9zL1NwZWxtYW4lMjBDb2xsZWdlJTIwLSUyMDY1OTYvU3BlbG1hbi9TYXNzL19tYWludGVuYW5jZS5zY3NzIiwiZmlsZTovLy9EOi9yZXBvcy9TcGVsbWFuJTIwQ29sbGVnZSUyMC0lMjA2NTk2L1NwZWxtYW4vU2Fzcy9fZXJyb3JQYWdlcy5zY3NzIiwiZmlsZTovLy9EOi9yZXBvcy9TcGVsbWFuJTIwQ29sbGVnZSUyMC0lMjA2NTk2L1NwZWxtYW4vU2Fzcy9fYWNjb3JkaW9uLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0ZBO0VBQ0UsaUJBQUE7RUFDQSwwQkFBQTtFQUNBLGdDQUFBO0FDckZGOztBQ0pBO0VBQ0ksb0JBQUE7RUFDQSxzREFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtBRE9KO0FDSkE7RUFDSSxvQkFBQTtFQUNBLG9EQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0FETUo7QUNIQTtFQUNJLHdCQUFBO0VBQ0EsNkRBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7QURLSjtBQ0ZBO0VBQ0ksd0JBQUE7RUFDQSx1REFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtBRElKO0FDREE7RUFDSSx3QkFBQTtFQUNBLCtEQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0FER0o7QUNBQTtFQUNJLHdCQUFBO0VBQ0EseURBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7QURFSjtBRTVDQSxzQkFBQTtBQXVCQSxtQkFBQTtBQW1DQSxvQkFBQTtBQTBEQSxnQkFBQTtBQXFCQSxjQUFBO0FBWUEsc0JBQUE7QUFzSkEsVUFBQTtBQTRmQSx3QkFBQTtBQ3RnQkE7RUFDRTtJQUNFLHVCQUFBO0lBQ0EseUNBQUE7WUFBQSxpQ0FBQTtFSDNPRjtFRzZPQTtJQUNFLDJDQUFBO0lBQ0Esc0VBQUE7WUFBQSw4REFBQTtFSDNPRjtBQUNGO0FHbU9BO0VBQ0U7SUFDRSx1QkFBQTtJQUNBLHlDQUFBO1lBQUEsaUNBQUE7RUgzT0Y7RUc2T0E7SUFDRSwyQ0FBQTtJQUNBLHNFQUFBO1lBQUEsOERBQUE7RUgzT0Y7QUFDRjtBRzhPQTtFQUNFO0lBQ0UsMkNBQUE7SUFDQSxzRUFBQTtZQUFBLDhEQUFBO0VINU9GO0VHOE9BO0lBQ0UsdUJBQUE7SUFDQSw0Q0FB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aGtCVTtFRzRrQlIsWUFia0M7QUYrNkV0QztBUWhzRkk7RU5rUkYseUJIaGtCVTtFRzRrQlIsWUFia0M7RU0vUWhDLDhCQUFBO0FSbXNGTjtBRXArRUU7RUFDRTtJQXdFRixjSHBsQk07SUdrbUJKLHVCQWYyRDtJTW5TdkQsNEJUaFRBO0VDcS9GTjtBQUNGO0FFcitFRTtFQW1FQSxjSHBsQk07RUdrbUJKLHVCQWYyRDtFTW5TdkQsNEJUaFRBO0FDMi9GUjtBRXQrRUU7RUErREEsY0hwbEJNO0VHa21CSix1QkFmMkQ7RU1uU3ZELDRCVGhUQTtBQ2dnR1I7QUVoK0VFO0VBb0RBLGNIcGxCTTtFR2ttQkosdUJBZjJEO0VNblN2RCw0QlRoVEE7QUNxZ0dSO0FFaitFRTtFQWdEQSxjSHBsQk07RUdrbUJKLHVCQWYyRDtFTW5TdkQsNEJUaFRBO0FDMGdHUjtBUXR0Rkk7RUFDRSx3QkFBQTtBUnd0Rk47QVFydEZJO0VBQ0UsMkJBQUE7QVJ1dEZOO0FRbnRGRTtFQUNFLHNCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQlQ1UUs7RUd3Z0JQLHlCSDlrQlE7RUcwbEJOLFlBYmtDO0FGNDlFdEM7QVFwdEZJO0VOeVBGLHlCSDlrQlE7RUcwbEJOLFlBYmtDO0VNdFBoQyw4QkFBQTtBUnV0Rk47QUVqaEZFO0VBQ0U7SUF3RUYsY0hwbEJNO0lHa21CSix1QkFmMkQ7SU0xUXZELDRCVHpVQTtFQ2tpR047QUFDRjtBRWxoRkU7RUFtRUEsY0hwbEJNO0VHa21CSix1QkFmMkQ7RU0xUXZELDRCVHpVQTtBQ3dpR1I7QUVuaEZFO0VBK0RBLGNIcGxCTTtFR2ttQkosdUJBZjJEO0VNMVF2RCw0QlR6VUE7QUM2aUdSO0FFN2dGRTtFQW9EQSxjSHBsQk07RUdrbUJKLHVCQWYyRDtFTTFRdkQsNEJUelVBO0FDa2pHUjtBRTlnRkU7RUFnREEsY0hwbEJNO0VHa21CSix1QkFmMkQ7RU0xUXZELDRCVHpVQTtBQ3VqR1I7QVExdUZJO0VBQ0Usd0JBQUE7QVI0dUZOO0FRenVGSTtFQUNFLDJCQUFBO0FSMnVGTjs7QVFydUZBO0VBQ0U7SUFDRSxx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RUFDRSxnQkFBQTtBWDZ0R047QVd6dEdFO0VBQ0UsZ0JBQUE7QVgydEdKIiwiZmlsZSI6ImFkZ01lbWJlcnNoaXAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29sb3JzXHJcbiRwcmltYXJ5OiAjOTNjMmY4OyAvLyBMaWdodCBCbHVlXHJcbiRzZWNvbmRhcnk6ICMxZDQxOGU7IC8vIEJsdWVcclxuJGFjY2VudDogIzAwMzI1ZDsgLy8gRGFyayBCbHVlXHJcblxyXG4kYWx0OiAjZmVkMzRjOyAvLyBZZWxsb3dcclxuJGFsdDI6ICNlNjM2OTA7IC8vIFBpbmtcclxuJGFsdDJBY2Nlc3NpYmxlOiAjZDQzMDg1OyAvLyBQaW5rLCBmb3IgdGV4dFxyXG4kYWx0MzogIzkwMWE5ZDsgLy8gUHVycGxlXHJcbiRhbHQ0OiAjZmZhYzAwOyAvLyBHb2xkXHJcblxyXG4kcHJpbWFyeUhvdmVyOiBsaWdodGVuKCRwcmltYXJ5LCAxNSUpO1xyXG4kc2Vjb25kYXJ5SG92ZXI6IGRhcmtlbigkc2Vjb25kYXJ5LCAxMiUpO1xyXG5cclxuJGxpZ2h0OiAjZmZmOyAvLyBXaGl0ZVxyXG4kbGlnaHRHcmV5OiAjZWJlYmVjOyAvLyBMaWdodCBHcmV5XHJcbiRncmV5OiAjYTlhOWFkOyAvLyBHcmV5ICg1MH4lLCB1bnN1aXRhYmxlIGZvciB1c2Ugd2l0aCB0ZXh0KVxyXG4kZGFya0dyZXk6ICM1NDU0NWE7IC8vIERhcmsgR3JleSAoMjV+JSlcclxuJGJsYWNrOiAjMDAwMDAwOyAvLyBCbGFja1xyXG4kYmFzaWM6ICMzZjNmM2Y7IC8vIERhcmsgR3JleSAoMTB+JSlcclxuXHJcbiRsaW5rOiAkcHJpbWFyeTtcclxuXHJcbi8vSG92ZXIgY29sb3IgY2FuIGJlIGEgM3JkIGNvbG9yIGlzIHNjaG9vbCBoYXMgb25lXHJcbiRob3ZlcjogZGFya2VuKCRwcmltYXJ5LCAxMCUpO1xyXG4vL0FEQSBob3ZlciBuZWVkcyB0byBiZSBhIGNvbG9yIHRoYXQgY29udHJhc3RzIHdpdGhcclxuLy90aGUgcHJpbWFyeSBjb2xvciBidXQgYWxzbyBpcyBkYXJrIGVub3VnaCB0byBzZWUgd2hpdGUgYWdhaW5zdC5cclxuJEFEQWhvdmVyOiAkYmxhY2s7XHJcblxyXG4kd3Jvbmc6ICNlMDA3MDA7IC8vUmVkXHJcbiRjb3JyZWN0OiAjZDFlMDAwOyAvL0dyZWVuXHJcblxyXG4vLyBGb250c1xyXG4kcHJpbWFyeUZvbnQ6IFwiTm9haCBIZWFkXCIsIFwiSGVsdmV0aWNhTmV1ZVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcclxuJHNlY29uZGFyeUZvbnQ6IFwiSnVhbmFcIiwgc2VyaWY7XHJcbiRiYXNpY0ZvbnQ6IFwiTm9haCBUZXh0XCIsIFwiSGVsdmV0aWNhTmV1ZVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcclxuXHJcbiRnZW5lcmljRm9udDogXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xyXG5cclxuLy8gV2lkdGhzXHJcbiR0ZWVueTogMzgwcHg7XHJcbiR0aW55OiA0NTBweDtcclxuJHh4czogNTIwcHg7XHJcbiR4czogNjUwcHg7XHJcbiRzbWFsbGlzaDogNzUwcHg7XHJcbiRzbTogODAwcHg7XHJcbiR0d2VlbjogOTAwcHg7XHJcbiRtZDogMTA1MHB4O1xyXG4kbWlkOiAxMTUwcHg7XHJcbiRsZzogMTI4MHB4O1xyXG4keGw6IDE0MjVweDtcclxuJHh4bDogMTcwMHB4O1xyXG5cclxuLy8gQW5pbWF0aW9uIFNwZWVkcyAtIHRoZXNlIGFsc28gbmVlZCB0byBiZSBjaGFuZ2VkIGluIGFuaW1hdGlvbi50cyBpZiBtb2RpZmllZFxyXG4kdmVyeUZhc3Q6IDIwMG1zO1xyXG4kZmFzdDogMzAwbXM7XHJcbiRtZWRpdW06IDUwMG1zO1xyXG4kc2xvdzogODAwbXM7XHJcbiR2ZXJ5U2xvdzogMTAwMG1zO1xyXG4kZ2xhY2lhbDogMzAwMG1zO1xyXG5cclxuJGljb25Gb250OiBcInNwZWxtYW5cIjtcclxuXHJcbi8vIE1pc2MuXHJcbiRzaGFkb3c6XHJcbiAgMCAwLjhweCAxLjdweCByZ2JhKDAsIDAsIDAsIDAuMDE0KSxcclxuICAwIDEuOXB4IDQuMXB4IHJnYmEoMCwgMCwgMCwgMC4wMiksXHJcbiAgMCAzLjZweCA3LjhweCByZ2JhKDAsIDAsIDAsIDAuMDI1KSxcclxuICAwIDYuNXB4IDEzLjhweCByZ2JhKDAsIDAsIDAsIDAuMDMpLFxyXG4gIDAgMTIuMXB4IDI1LjlweCByZ2JhKDAsIDAsIDAsIDAuMDM2KSxcclxuICAwIDI5cHggNjJweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xyXG4kcmFkaXVzOiAwO1xyXG5cclxuJHRpbWluZ0Z1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zMiwgLTAuMDUsIDAsIDEuMDUpO1xyXG4kdGltaW5nQm91bmNlOiBjdWJpYy1iZXppZXIoMC40LCAtMC40OCwgMC4zNSwgMi4yKTtcclxuXHJcbi8vIEVsZW1lbnRzXHJcbiRwcm9ncmVzczogMjBweDtcclxuJGhlYWRlckhlaWdodDogMTAwcHg7XHJcbiRmb290ZXJIZWlnaHQ6IDQ1cHg7XHJcbiRpbmZvU2l6ZTogNTBweDtcclxuJHNtSGVhZGVyOiA2MHB4O1xyXG4kbWF4V2lkdGg6IDE2MDBweDtcclxuLy9CYXNlZCBvbiB0aGUgbG9nbywgYWRqdXN0IHRoaXMgbWF4IHdpZHRoIGZvciBBREEgcmVzcG9uc2l2ZVxyXG4kbG9nb0FEQU1heDogMjc1cHg7XHJcblxyXG46cm9vdCB7XHJcbiAgLS1ndXR0ZXItcHg6IDQwcHg7XHJcbiAgLS1vdXRzaWRlLWd1dHRlci1weDogMTQwcHg7XHJcbiAgLS1vdXRzaWRlLWd1dHRlci1vZmZzZXQtcHg6IDcwcHg7XHJcbn1cclxuIiwiOnJvb3Qge1xuICAtLWd1dHRlci1weDogNDBweDtcbiAgLS1vdXRzaWRlLWd1dHRlci1weDogMTQwcHg7XG4gIC0tb3V0c2lkZS1ndXR0ZXItb2Zmc2V0LXB4OiA3MHB4O1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSnVhbmFcIjtcbiAgc3JjOiB1cmwoXCIvZm9udHMvSnVhbmEtQmxhY2tJdC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiSnVhbmFcIjtcbiAgc3JjOiB1cmwoXCIvZm9udHMvSnVhbmEtQmxhY2sud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk5vYWggSGVhZFwiO1xuICBzcmM6IHVybChcIi9mb250cy9Ob2FoSGVhZC1CbGFja0l0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTm9haCBIZWFkXCI7XG4gIHNyYzogdXJsKFwiL2ZvbnRzL05vYWhIZWFkLUJsYWNrLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJOb2FoIFRleHRcIjtcbiAgc3JjOiB1cmwoXCIvZm9udHMvTm9haFRleHQtUmVndWxhckl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTm9haCBUZXh0XCI7XG4gIHNyYzogdXJsKFwiL2ZvbnRzL05vYWhUZXh0LVJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuLyotLS1URVhUIEFORCBGT05ULS0tKi9cbi8qLS0tQkFDS0dST1VORC0tLSovXG4vKi0tLVBPU0lUSU9OSU5HLS0tKi9cbi8qLS0tQ09OVEVOVC0tLSovXG4vKi0tLUxJU1RTLS0tKi9cbi8qLS0tQk9SREVSIEFSUk9XUy0tLSovXG4vKipGb3JtcyoqL1xuLyoqIERFRkFVTFQgT1ZFUlJJREVTICoqL1xuQGtleWZyYW1lcyB0b2dnbGUtZ3Jvdy1pbiB7XG4gIDAlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwLjY4NzVlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgc2NhbGUoMSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgYm9yZGVyLXJhZGl1czogMC40NDQ4NTI5NDEyZW0gLyAwLjk0NTMxMjVlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMC41ZW0pIHNjYWxlKDEuNTQ1NDU0NTQ1NSwgMC43MjcyNzI3MjczKTtcbiAgfVxufVxuQGtleWZyYW1lcyB0b2dnbGUtYm91bmNlLWluIHtcbiAgMCUge1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNDQ0ODUyOTQxMmVtIC8gMC45NDUzMTI1ZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAuNWVtKSBzY2FsZSgxLjU0NTQ1NDU0NTUsIDAuNzI3MjcyNzI3Myk7XG4gIH1cbiAgMTAwJSB7XG4gICAgYm9yZGVyLXJhZGl1czogMC42ODc1ZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNjYWxlKDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHRvZ2dsZS1ncm93LW91dCB7XG4gIDAlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwLjY4NzVlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2NhbGUoMSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgYm9yZGVyLXJhZGl1czogMC40NDQ4NTI5NDEyZW0gLyAwLjk0NTMxMjVlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMC4xMjVlbSkgc2NhbGUoMS41NDU0NTQ1NDU1LCAwLjcyNzI3MjcyNzMpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHRvZ2dsZS1ib3VuY2Utb3V0IHtcbiAgMCUge1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNDQ0ODUyOTQxMmVtIC8gMC45NDUzMTI1ZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAuMTI1ZW0pIHNjYWxlKDEuNTQ1NDU0NTQ1NSwgMC43MjcyNzI3MjczKTtcbiAgfVxuICAxMDAlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwLjY4NzVlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgc2NhbGUoMSk7XG4gIH1cbn1cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbio6Zm9jdXMtdmlzaWJsZSwgKi5mb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogMC4xNmVtIHNvbGlkIHdoaXRlICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDAuMzJlbSBibGFjayAhaW1wb3J0YW50O1xufVxuXG5ib2R5W2RhdGEtcmVkdWNlLWFuaW1hdGlvbj10cnVlXSAqLFxuYm9keVtkYXRhLXJlZHVjZS1hbmltYXRpb249dHJ1ZV0gKjo6YmVmb3JlLFxuYm9keVtkYXRhLXJlZHVjZS1hbmltYXRpb249dHJ1ZV0gKjo6YWZ0ZXIge1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuICBzY3JvbGwtYmVoYXZpb3I6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuaHRtbCB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbn1cbkBzdXBwb3J0cyAobWluLWhlaWdodDogMTAwZHZoKSB7XG4gIGh0bWwge1xuICAgIG1pbi1oZWlnaHQ6IDEwMGR2aDtcbiAgfVxufVxuXG5bZGF0YS1hY3RpdmUtem9uZT1zbGlkZXNdIHtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICBzY3JvbGxiYXItZ3V0dGVyOiBzdGFibGU7XG59XG5cbmh0bWxbZGF0YS1kaWFsb2ctaGlkZS1vdmVyZmxvdz10cnVlXSB7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplU3BlZWQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1mYW1pbHk6IFwiTm9haCBUZXh0XCIsIFwiSGVsdmV0aWNhTmV1ZVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbmFydGljbGUgPiAqICsgKiB7XG4gIG1hcmdpbi10b3A6IDFlbTtcbn1cblxuaW5wdXQsXG5idXR0b24sXG50ZXh0YXJlYSxcbnNlbGVjdCB7XG4gIGZvbnQ6IGluaGVyaXQ7XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIG1hcmdpbjogMDtcbn1cblxucCB7XG4gIG1hcmdpbjogMC4zNWVtIDAgMC44NWVtO1xuICBsaW5lLWhlaWdodDogMS41NWVtO1xufVxuXG5vbCxcbnVsIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luOiAwLjRlbSAwIDAuNzVlbTtcbn1cblxubGkge1xuICBsaW5lLWhlaWdodDogMS41ZW07XG59XG5cbmlmcmFtZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjZWJlYmVjO1xufVxuXG5idXR0b24ge1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuYSB7XG4gIGNvbG9yOiAjMWQ0MThlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgdHJhbnNpdGlvbjogMjAwbXM7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjMDAzMjVkO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB9XG59XG5bZGF0YS1icm93c2VyPWllXSBhOmhvdmVyIHtcbiAgY29sb3I6ICMwMDMyNWQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuLmllIGE6aG92ZXIge1xuICBjb2xvcjogIzAwMzI1ZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG5hLmZvY3VzLXZpc2libGUge1xuICBjb2xvcjogIzAwMzI1ZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG5hOmZvY3VzLXZpc2libGUge1xuICBjb2xvcjogIzAwMzI1ZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG5hIC50YXJnZXRCbGFua05vdGlmaWVyIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG59XG5hIC5pY29uLW1haWwge1xuICBmb250LXNpemU6IDAuOWVtO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVlbTtcbn1cbmEgLmljb24tZXh0ZXJuYWwtbGluayB7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjI1ZW07XG59XG5cbi5zbGlkZVNraXAsXG4uaG9tZVNraXAsXG4ubWVtYmVyc2hpcFNraXAge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5zbGlkZVNraXAuZm9jdXMtdmlzaWJsZSxcbi5ob21lU2tpcC5mb2N1cy12aXNpYmxlLFxuLm1lbWJlcnNoaXBTa2lwLmZvY3VzLXZpc2libGUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMTBweDtcbiAgbGVmdDogMTBweDtcbiAgei1pbmRleDogOTk5OTk5OTk5OTk5OTk5O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGNsaXA6IGluaXRpYWw7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTNjMmY4O1xuICBjb2xvcjogYmxhY2s7XG59XG4uc2xpZGVTa2lwOmZvY3VzLXZpc2libGUsXG4uaG9tZVNraXA6Zm9jdXMtdmlzaWJsZSxcbi5tZW1iZXJzaGlwU2tpcDpmb2N1cy12aXNpYmxlIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDEwcHg7XG4gIGxlZnQ6IDEwcHg7XG4gIHotaW5kZXg6IDk5OTk5OTk5OTk5OTk5OTtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBjbGlwOiBpbml0aWFsO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzkzYzJmODtcbiAgY29sb3I6IGJsYWNrO1xufVxuXG5bZGF0YS1hY3RpdmUtem9uZT1ob21lXSAuaG9tZVNraXAge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuW2RhdGEtYWN0aXZlLXpvbmU9c2xpZGVzXSAuc2xpZGVTa2lwIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tZW1iZXJzaGlwU2tpcCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgaWZyYW1lIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cbn1cbndpbGxpcy16b25lIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbltpbmVydF0ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxud2lsbGlzLWRpYWxvZzpub3QoW2RhdGEtb3Blbj10cnVlXSkge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5kaWFsb2dCYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLnNsaWRlIC5kaWFsb2dCYWNrZHJvcCB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmRpYWxvZ0lubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5bZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgc2Nyb2xsYmFyLWNvbG9yOiAjNDQ0NDQ0ICNmNWY1ZjU7XG4gIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF06Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF06Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgd2lkdGg6IDVweDtcbiAgaGVpZ2h0OiA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NDQ0NDQ7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdIGRpdltyb2xlPWRpYWxvZ10ge1xuICB3aWR0aDogNTgwcHg7XG4gIG1hcmdpbjogYXV0bztcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0gZGl2W3JvbGU9ZGlhbG9nXS5yZXBvcnROZWVkZWQge1xuICB3aWR0aDogODAlO1xuICBtYXgtd2lkdGg6IDEwMDBweDtcbn1cblxuW2RhdGEtZGlhbG9nLXN0eWxlPWxhcmdlTW9kYWxdIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgc2Nyb2xsYmFyLWNvbG9yOiAjNDQ0NDQ0ICNmNWY1ZjU7XG4gIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1sYXJnZU1vZGFsXTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlPWxhcmdlTW9kYWxdOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIHdpZHRoOiA1cHg7XG4gIGhlaWdodDogNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlPWxhcmdlTW9kYWxdOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0NDQ0NDQ7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9bGFyZ2VNb2RhbF0gZGl2W3JvbGU9ZGlhbG9nXSB7XG4gIHdpZHRoOiA4MDBweDtcbiAgbWF4LXdpZHRoOiAxMDB2dztcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG5bZGF0YS1kaWFsb2ctc3R5bGU9c2hhZGVdIHtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlPXNoYWRlXSBkaXZbcm9sZT1kaWFsb2ddIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzkzYzJmODtcbiAgY29sb3I6IGJsYWNrO1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlPXNoYWRlXSBkaXZbcm9sZT1kaWFsb2ddIC5kaWFsb2dMYWJlbCB7XG4gIG1heC13aWR0aDogODAwcHg7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9c2hhZGVdIGRpdltyb2xlPWRpYWxvZ10gLmRpYWxvZ0NvbnRlbnQge1xuICBtYXgtd2lkdGg6IDgwMHB4O1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlPXNoYWRlXSBkaXZbcm9sZT1kaWFsb2ddIC5kaWFsb2dBY3Rpb25zIHtcbiAgbWF4LXdpZHRoOiA4MDBweDtcbn1cblxuW2RhdGEtZGlhbG9nLXN0eWxlXj1zaWRlYmFyXSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZV49c2lkZWJhcl1bZGF0YS1kaWFsb2ctc3R5bGU9c2lkZWJhckxlZnRdIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlXj1zaWRlYmFyXVtkYXRhLWRpYWxvZy1zdHlsZT1zaWRlYmFyUmlnaHRdIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZV49c2lkZWJhcl0gZGl2W3JvbGU9ZGlhbG9nXSB7XG4gIHdpZHRoOiA0NDBweDtcbn1cblxuW2RhdGEtZGlhbG9nLXN0eWxlXj1mdWxsXSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlXj1mdWxsXSBkaXZbcm9sZT1kaWFsb2ddIHtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgW2RhdGEtZGlhbG9nLXN0eWxlXj1zaWRlYmFyXSBkaXZbcm9sZT1kaWFsb2ddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cbiAgW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSBkaXZbcm9sZT1kaWFsb2ddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1zcGVlZD1nbGFjaWFsXSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMzAwMG1zO1xufVxuXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLXNwZWVkPXZlcnlTbG93XSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xufVxuXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLXNwZWVkPXNsb3ddIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA4MDBtcztcbn1cblxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1zcGVlZD1tZWRpdW1dIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtcztcbn1cblxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1zcGVlZD1mYXN0XSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMzAwbXM7XG59XG5cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tc3BlZWQ9dmVyeUZhc3RdIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyMDBtcztcbn1cblxuLmRpYWxvZ0JhY2tkcm9wIHtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyMDBtcztcbn1cbi5kaWFsb2dCYWNrZHJvcC5pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG59XG4uZGlhbG9nQmFja2Ryb3Aub3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG59XG5cbmRpdltyb2xlPWRpYWxvZ10ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPWZhZGVJbl0ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9ZmFkZU91dF0ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcbn1cblxuQGtleWZyYW1lcyBmYWRlVG9wSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9ZmFkZVRvcEluXSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlVG9wSW47XG59XG5cbkBrZXlmcmFtZXMgZmFkZVRvcE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1mYWRlVG9wT3V0XSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlVG9wT3V0O1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVCb3R0b21JbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPWZhZGVCb3R0b21Jbl0ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUJvdHRvbUluO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVCb3R0b21PdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1mYWRlQm90dG9tT3V0XSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlQm90dG9tT3V0O1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVSaWdodEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9ZmFkZVJpZ2h0SW5dIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVSaWdodEluO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVSaWdodE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPWZhZGVSaWdodE91dF0ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZVJpZ2h0T3V0O1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVMZWZ0SW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9ZmFkZUxlZnRJbl0ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUxlZnRJbjtcbn1cblxuQGtleWZyYW1lcyBmYWRlTGVmdE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPWZhZGVMZWZ0T3V0XSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlTGVmdE91dDtcbn1cblxuQGtleWZyYW1lcyBzbGlkZVRvcEluIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPXNsaWRlVG9wSW5dIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlVG9wSW47XG59XG5AbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPXNsaWRlVG9wSW5dIHtcbiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVCb3R0b21JbjtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlVG9wT3V0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPXNsaWRlVG9wT3V0XSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZVRvcE91dDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICBkaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9c2xpZGVUb3BPdXRdIHtcbiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVCb3R0b21PdXQ7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUJvdHRvbUluIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1MCUpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9c2xpZGVCb3R0b21Jbl0ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVCb3R0b21Jbjtcbn1cblxuQGtleWZyYW1lcyBzbGlkZUJvdHRvbU91dCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPXNsaWRlQm90dG9tT3V0XSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUJvdHRvbU91dDtcbn1cblxuQGtleWZyYW1lcyBzbGlkZVJpZ2h0SW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbn1cbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1zbGlkZVJpZ2h0SW5dIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlUmlnaHRJbjtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICBkaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9c2xpZGVSaWdodEluXSB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlQm90dG9tSW47XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZVJpZ2h0T3V0IHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9c2xpZGVSaWdodE91dF0ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVSaWdodE91dDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICBkaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9c2xpZGVSaWdodE91dF0ge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUJvdHRvbU91dDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlTGVmdEluIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxufVxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPXNsaWRlTGVmdEluXSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUxlZnRJbjtcbn1cblxuQGtleWZyYW1lcyBzbGlkZUxlZnRPdXQge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB9XG59XG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9c2xpZGVMZWZ0T3V0XSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUxlZnRPdXQ7XG59XG5cbi5kaWFsb2dCYWNrZHJvcCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTQ3LCAxOTQsIDI0OCwgMC43KTtcbn1cblxuLmRpYWxvZ0NvbnRlbnQge1xuICBtYXJnaW46IDEwcHggMDtcbn1cblxuLmRpYWxvZ0FjdGlvbnMuZ2VuZXJhdGVkIGJ1dHRvbi5jbG9zZURpYWxvZyAuaWNvbjpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJzcGVsbWFuXCI7XG4gIGNvbnRlbnQ6IFwiYlwiO1xufVxuXG5idXR0b24uY2xvc2VEaWFsb2cgLmljb246YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwic3BlbG1hblwiO1xuICBjb250ZW50OiBcImJcIjtcbn1cblxuLmRpYWxvZ0xhYmVsIGgyIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSB7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG4uc2FmYXJpIFtkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0ge1xuICBwYWRkaW5nOiAyMHB4IDIwcHggMTUwcHg7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdIC5kaWFsb2dJbm5lciB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6IGJsYWNrO1xuICBib3gtc2hhZG93OiAwIDAuOHB4IDEuN3B4IHJnYmEoMCwgMCwgMCwgMC4wMTQpLCAwIDEuOXB4IDQuMXB4IHJnYmEoMCwgMCwgMCwgMC4wMiksIDAgMy42cHggNy44cHggcmdiYSgwLCAwLCAwLCAwLjAyNSksIDAgNi41cHggMTMuOHB4IHJnYmEoMCwgMCwgMCwgMC4wMyksIDAgMTIuMXB4IDI1LjlweCByZ2JhKDAsIDAsIDAsIDAuMDM2KSwgMCAyOXB4IDYycHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0gYnV0dG9uLmNsb3NlRGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuN2VtIDEuNWVtO1xuICBib3JkZXItd2lkdGg6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogIzE0MmU2NDtcbiAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtZmFtaWx5OiBcIk5vYWggSGVhZFwiLCBcIkhlbHZldGljYU5ldWVcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIG91dGxpbmUtb2Zmc2V0OiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFkNDE4ZTtcbiAgY29sb3I6IHdoaXRlO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICBbZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdIGJ1dHRvbi5jbG9zZURpYWxvZzpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZDM0YztcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmVjNzE5O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSBidXR0b24uY2xvc2VEaWFsb2c6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWQzNGM7XG4gIGNvbG9yOiBibGFjaztcbiAgYm9yZGVyLWNvbG9yOiAjZmVjNzE5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uaWUgW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSBidXR0b24uY2xvc2VEaWFsb2c6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWQzNGM7XG4gIGNvbG9yOiBibGFjaztcbiAgYm9yZGVyLWNvbG9yOiAjZmVjNzE5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdIGJ1dHRvbi5jbG9zZURpYWxvZy5mb2N1cy12aXNpYmxlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVkMzRjO1xuICBjb2xvcjogYmxhY2s7XG4gIGJvcmRlci1jb2xvcjogI2ZlYzcxOTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSBidXR0b24uY2xvc2VEaWFsb2c6Zm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZDM0YztcbiAgY29sb3I6IGJsYWNrO1xuICBib3JkZXItY29sb3I6ICNmZWM3MTk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0gYnV0dG9uLmNsb3NlRGlhbG9nW2Rpc2FibGVkXSwgW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSBidXR0b24uY2xvc2VEaWFsb2dbYXJpYS1kaXNhYmxlZD10cnVlXSB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF0gYnV0dG9uLmNsb3NlRGlhbG9nIC5pY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNhZmFyaSBbZGF0YS1kaWFsb2ctc3R5bGU9bGFyZ2VNb2RhbF0ge1xuICBwYWRkaW5nOiAyMHB4IDIwcHggMTUwcHg7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9bGFyZ2VNb2RhbF0gLmRpYWxvZ0lubmVyIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcGFkZGluZzogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6IGJsYWNrO1xufVxuW2RhdGEtZGlhbG9nLXN0eWxlPWxhcmdlTW9kYWxdIC5kaWFsb2dMYWJlbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMxZDQxOGU7XG4gIHBhZGRpbmc6IDhweCAxMHB4IDIwcHg7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGU9bGFyZ2VNb2RhbF0gLmRpYWxvZ0xhYmVsIGgyIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDEuMzVlbTtcbiAgY29sb3I6ICMxZDQxOGU7XG4gIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xufVxuXG5bZGF0YS1kaWFsb2ctc3R5bGU9c2hhZGVdIC5kaWFsb2dJbm5lciB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5cbltkYXRhLWRpYWxvZy1zdHlsZV49c2lkZWJhcl0gLmRpYWxvZ0lubmVyIHtcbiAgbWluLWhlaWdodDogMTAwJTtcbn1cbltkYXRhLWRpYWxvZy1zdHlsZV49c2lkZWJhcl1bZGF0YS1kaWFsb2ctc3R5bGU9c2lkZWJhckxlZnRdIC5kaWFsb2dJbm5lciB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5bZGF0YS1kaWFsb2ctc3R5bGVePXNpZGViYXJdW2RhdGEtZGlhbG9nLXN0eWxlPXNpZGViYXJSaWdodF0gLmRpYWxvZ0lubmVyIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbiAgcGFkZGluZzogMjBweDtcbn1cblxuW2RhdGEtZGlhbG9nLXN0eWxlXj1mdWxsXSAuZGlhbG9nSW5uZXIge1xuICBwYWRkaW5nOiAyMHB4O1xufVxuXG4uc2ltcGxlRGlhbG9nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6IGJsYWNrO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgW2RhdGEtZGlhbG9nLXN0eWxlXj1zaWRlYmFyXVtkYXRhLWRpYWxvZy1zdHlsZT1zaWRlYmFyUmlnaHRdIC5kaWFsb2dJbm5lciB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuICBbZGF0YS1kaWFsb2ctc3R5bGU9bW9kYWxdIGRpdltyb2xlPWRpYWxvZ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNjUwcHgpIHtcbiAgW2RhdGEtZGlhbG9nLXN0eWxlPW1vZGFsXSBkaXZbcm9sZT1kaWFsb2ddLnJlcG9ydE5lZWRlZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAuc2FmYXJpIFtkYXRhLWRpYWxvZy1zdHlsZT1tb2RhbF1bZGF0YS1iYWNrZHJvcC1mb3I9YWNjZXNzaWJpbGl0eVByZWZzXSB7XG4gICAgcGFkZGluZzogMjBweCAyMHB4IDE1MHB4O1xuICB9XG59XG4uZmllbGRXcmFwcGVyLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIsXG4udW1icmFjby1mb3Jtcy1maWVsZC5kYXRlLFxuLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogNTAwcHg7XG59XG4uZmllbGRXcmFwcGVyIGxhYmVsOm5vdCguY2hlY2tib3hMYWJlbCksXG4udW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciBsYWJlbDpub3QoLmNoZWNrYm94TGFiZWwpLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSBsYWJlbDpub3QoLmNoZWNrYm94TGFiZWwpLFxuLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgbGFiZWw6bm90KC5jaGVja2JveExhYmVsKSB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuLmZpZWxkV3JhcHBlciBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9cmFkaW9dKSxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1yYWRpb10pLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9cmFkaW9dKSxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1yYWRpb10pIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEyMHB4O1xufVxuLmZpZWxkV3JhcHBlciBpbnB1dDo6LW1zLXJldmVhbCxcbi5maWVsZFdyYXBwZXIgaW5wdXQ6Oi1tcy1jbGVhcixcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIGlucHV0OjotbXMtcmV2ZWFsLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgaW5wdXQ6Oi1tcy1jbGVhcixcbi51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgaW5wdXQ6Oi1tcy1yZXZlYWwsXG4udW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIGlucHV0OjotbXMtY2xlYXIsXG4udW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCBpbnB1dDo6LW1zLXJldmVhbCxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIGlucHV0OjotbXMtY2xlYXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmZpZWxkV3JhcHBlciAuZGVzY3JpcHRpb24sXG4udW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAuZGVzY3JpcHRpb24sXG4udW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIC5kZXNjcmlwdGlvbixcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIC5kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi10b3A6IDZweDtcbiAgZm9udC1zaXplOiAwLjg0ZW07XG4gIGNvbG9yOiByZ2JhKDYzLCA2MywgNjMsIDAuODUpO1xufVxuLmZpZWxkV3JhcHBlciAuZGVzY3JpcHRpb24gPiAqOmZpcnN0LWNoaWxkLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgLmRlc2NyaXB0aW9uID4gKjpmaXJzdC1jaGlsZCxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgLmRlc2NyaXB0aW9uID4gKjpmaXJzdC1jaGlsZCxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIC5kZXNjcmlwdGlvbiA+ICo6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG4uZmllbGRXcmFwcGVyIC5kZXNjcmlwdGlvbiA+ICo6bGFzdC1jaGlsZCxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIC5kZXNjcmlwdGlvbiA+ICo6bGFzdC1jaGlsZCxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgLmRlc2NyaXB0aW9uID4gKjpsYXN0LWNoaWxkLFxuLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgLmRlc2NyaXB0aW9uID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4uZmllbGRXcmFwcGVyIHRleHRhcmVhLFxuLnVtYnJhY28tZm9ybXMtZmllbGQubG9uZ2Fuc3dlciB0ZXh0YXJlYSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMjBweDtcbn1cblxuLmRyb3Bkb3duV3JhcHBlcixcbi51bWJyYWNvLWZvcm1zLWZpZWxkLmRyb3Bkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi5kcm9wZG93bldyYXBwZXIgc2VsZWN0LFxuLnVtYnJhY28tZm9ybXMtZmllbGQuZHJvcGRvd24gc2VsZWN0IHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIGZpbGw9J2JsYWNrJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIHdpZHRoPScyNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48cGF0aCBkPSdNNyAxMGw1IDUgNS01eicvPjxwYXRoIGQ9J00wIDBoMjR2MjRIMHonIGZpbGw9J25vbmUnLz48L3N2Zz5cIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDI1cHggNTBweDtcbn1cbi5kcm9wZG93bldyYXBwZXIgc2VsZWN0OjotbXMtZXhwYW5kLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuZHJvcGRvd24gc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNvbnRyb2xXcmFwcGVyLFxuLmFkZy11bWJyYWNvLWZvcm1zLWNvbnRyb2x3cmFwcGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5M2MyZjg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuLmNvbnRyb2xXcmFwcGVyOmxhc3QtY2hpbGQsXG4uYWRnLXVtYnJhY28tZm9ybXMtY29udHJvbHdyYXBwZXI6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuLmNvbnRyb2xXcmFwcGVyID4gKjpmaXJzdC1jaGlsZCxcbi5hZGctdW1icmFjby1mb3Jtcy1jb250cm9sd3JhcHBlciA+ICo6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG4uY29udHJvbFdyYXBwZXIgPiAqOmxhc3QtY2hpbGQsXG4uYWRnLXVtYnJhY28tZm9ybXMtY29udHJvbHdyYXBwZXIgPiAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4uY29udHJvbFdyYXBwZXIgLmNvbnRyb2wsXG4uYWRnLXVtYnJhY28tZm9ybXMtY29udHJvbHdyYXBwZXIgLmNvbnRyb2wge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmNvbnRyb2xXcmFwcGVyIGxhYmVsLFxuLmFkZy11bWJyYWNvLWZvcm1zLWNvbnRyb2x3cmFwcGVyIGxhYmVsIHtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmNvbnRyb2xXcmFwcGVyIC5kZXNjcmlwdGlvbixcbi5hZGctdW1icmFjby1mb3Jtcy1jb250cm9sd3JhcHBlciAuZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tdG9wOiA2cHg7XG4gIGZvbnQtc2l6ZTogMC44NGVtO1xuICBjb2xvcjogcmdiYSg2MywgNjMsIDYzLCAwLjg1KTtcbn1cbi5jb250cm9sV3JhcHBlciAuZGVzY3JpcHRpb24gPiAqOmZpcnN0LWNoaWxkLFxuLmFkZy11bWJyYWNvLWZvcm1zLWNvbnRyb2x3cmFwcGVyIC5kZXNjcmlwdGlvbiA+ICo6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG4uY29udHJvbFdyYXBwZXIgLmRlc2NyaXB0aW9uID4gKjpsYXN0LWNoaWxkLFxuLmFkZy11bWJyYWNvLWZvcm1zLWNvbnRyb2x3cmFwcGVyIC5kZXNjcmlwdGlvbiA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLmZpZWxkV3JhcHBlci5lbnJvbGxlZU5hbWUge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgei1pbmRleDogLTE7XG59XG5cbi5zdHlsZWRGaWVsZHNldCxcbi51bWJyYWNvLWZvcm1zLWZpZWxkc2V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IDJweCBkYXNoZWQgIzFkNDE4ZTtcbiAgcGFkZGluZzogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNDcsIDE5NCwgMjQ4LCAwLjQpO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLnN0eWxlZEZpZWxkc2V0IGxlZ2VuZCxcbi5zdHlsZWRGaWVsZHNldCAuZ3JvdXBMZWdlbmQsXG4udW1icmFjby1mb3Jtcy1maWVsZHNldCBsZWdlbmQsXG4udW1icmFjby1mb3Jtcy1maWVsZHNldCAuZ3JvdXBMZWdlbmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDRweCA4cHggMnB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkICM5M2MyZjg7XG4gIGZvbnQtc2l6ZTogMS4zZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1mYW1pbHk6IFwiTm9haCBIZWFkXCIsIFwiSGVsdmV0aWNhTmV1ZVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFkNDE4ZTtcbiAgY29sb3I6IHdoaXRlO1xufVxuLnN0eWxlZEZpZWxkc2V0IC5ncm91cExlZ2VuZCxcbi51bWJyYWNvLWZvcm1zLWZpZWxkc2V0IC5ncm91cExlZ2VuZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogOXB4O1xufVxuLnN0eWxlZEZpZWxkc2V0IC5maWVsZHNldEdyaWQsXG4udW1icmFjby1mb3Jtcy1maWVsZHNldCAuZmllbGRzZXRHcmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICBnYXA6IDEycHg7XG59XG4uc3R5bGVkRmllbGRzZXQgLmZpZWxkc2V0R3JpZCAuZmllbGRXcmFwcGVyLFxuLnN0eWxlZEZpZWxkc2V0IC5maWVsZHNldEdyaWQgLmNvbnRyb2xXcmFwcGVyLFxuLnVtYnJhY28tZm9ybXMtZmllbGRzZXQgLmZpZWxkc2V0R3JpZCAuZmllbGRXcmFwcGVyLFxuLnVtYnJhY28tZm9ybXMtZmllbGRzZXQgLmZpZWxkc2V0R3JpZCAuY29udHJvbFdyYXBwZXIge1xuICBtYXJnaW46IDA7XG59XG4uc3R5bGVkRmllbGRzZXQgPiA6bGFzdC1jaGlsZCxcbi51bWJyYWNvLWZvcm1zLWZpZWxkc2V0ID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5maWVsZFdyYXBwZXIsXG4udW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlcixcbi51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUsXG4udW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCB7XG4gIG1hcmdpbjogMTBweCBhdXRvO1xufVxuLmZpZWxkV3JhcHBlciBsYWJlbDpub3QoLmNoZWNrYm94TGFiZWwpLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgbGFiZWw6bm90KC5jaGVja2JveExhYmVsKSxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgbGFiZWw6bm90KC5jaGVja2JveExhYmVsKSxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIGxhYmVsOm5vdCguY2hlY2tib3hMYWJlbCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogOHB4O1xuICBsZWZ0OiA5cHg7XG4gIHotaW5kZXg6IDI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMCA1cHg7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAwLjhlbTtcbiAgZm9udC1mYW1pbHk6IFwiTm9haCBIZWFkXCIsIFwiSGVsdmV0aWNhTmV1ZVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICM1NDU0NWE7XG59XG4uZmllbGRXcmFwcGVyIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1yYWRpb10pLFxuLmZpZWxkV3JhcHBlciB0ZXh0YXJlYSxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1yYWRpb10pLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgdGV4dGFyZWEsXG4udW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1yYWRpb10pLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSB0ZXh0YXJlYSxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1yYWRpb10pLFxuLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgdGV4dGFyZWEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMjBweDtcbiAgbWluLWhlaWdodDogNDhweDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDJweCBzb2xpZCAjOTNjMmY4O1xuICBib3JkZXItd2lkdGg6IDAgMCAycHggMDtcbiAgcGFkZGluZzogMjNweCA4cHggNnB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzNmM2YzZjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5maWVsZFdyYXBwZXIgLnNob3dIaWRlLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgLnNob3dIaWRlLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAuc2hvd0hpZGUsXG4udW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCAuc2hvd0hpZGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgY29sb3I6ICNmZmY7XG4gIHRvcDogNHB4O1xuICByaWdodDogMnB4O1xuICBoZWlnaHQ6IDQxcHg7XG4gIHdpZHRoOiAzNnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjMWQ0MThlO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5maWVsZFdyYXBwZXIgLnNob3dIaWRlW2FyaWEtY2hlY2tlZD10cnVlXSAuaWNvbjphZnRlcixcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyIC5zaG93SGlkZVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLmljb246YWZ0ZXIsXG4udW1icmFjby1mb3Jtcy1maWVsZC5kYXRlIC5zaG93SGlkZVthcmlhLWNoZWNrZWQ9dHJ1ZV0gLmljb246YWZ0ZXIsXG4udW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCAuc2hvd0hpZGVbYXJpYS1jaGVja2VkPXRydWVdIC5pY29uOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDNweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zZm9ybTogc2tld1goLTQ1ZGVnKTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cbi5maWVsZFdyYXBwZXIgLnNob3dIaWRlIC5pY29uLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgLnNob3dIaWRlIC5pY29uLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAuc2hvd0hpZGUgLmljb24sXG4udW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCAuc2hvd0hpZGUgLmljb24ge1xuICBmb250LXNpemU6IDEuMmVtO1xufVxuLmZpZWxkV3JhcHBlciAjUGFzc3dvcmQ6Zm9jdXMgKyAjcmVxdWlyZW1lbnRzLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIgI1Bhc3N3b3JkOmZvY3VzICsgI3JlcXVpcmVtZW50cyxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUgI1Bhc3N3b3JkOmZvY3VzICsgI3JlcXVpcmVtZW50cyxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkICNQYXNzd29yZDpmb2N1cyArICNyZXF1aXJlbWVudHMge1xuICBtYXgtaGVpZ2h0OiAxMDAwcHg7XG59XG4uZmllbGRXcmFwcGVyICNyZXF1aXJlbWVudHMsXG4udW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAjcmVxdWlyZW1lbnRzLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAjcmVxdWlyZW1lbnRzLFxuLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgI3JlcXVpcmVtZW50cyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDEwcHggMCAwIDA7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWF4LWhlaWdodDogMDtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAxcyBlYXNlLWluLW91dDtcbn1cbi5maWVsZFdyYXBwZXIgI3JlcXVpcmVtZW50cyBsaSxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyICNyZXF1aXJlbWVudHMgbGksXG4udW1icmFjby1mb3Jtcy1maWVsZC5kYXRlICNyZXF1aXJlbWVudHMgbGksXG4udW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCAjcmVxdWlyZW1lbnRzIGxpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5maWVsZFdyYXBwZXIgI3JlcXVpcmVtZW50cyBsaS52YWxpZCAuaWNvbixcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyICNyZXF1aXJlbWVudHMgbGkudmFsaWQgLmljb24sXG4udW1icmFjby1mb3Jtcy1maWVsZC5kYXRlICNyZXF1aXJlbWVudHMgbGkudmFsaWQgLmljb24sXG4udW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCAjcmVxdWlyZW1lbnRzIGxpLnZhbGlkIC5pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QxZTAwMDtcbiAgY29sb3I6IGJsYWNrO1xuICBmb250LXNpemU6IDAuOWVtO1xufVxuLmZpZWxkV3JhcHBlciAjcmVxdWlyZW1lbnRzIGxpLnZhbGlkIC5pY29uOmJlZm9yZSxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyICNyZXF1aXJlbWVudHMgbGkudmFsaWQgLmljb246YmVmb3JlLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAjcmVxdWlyZW1lbnRzIGxpLnZhbGlkIC5pY29uOmJlZm9yZSxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkICNyZXF1aXJlbWVudHMgbGkudmFsaWQgLmljb246YmVmb3JlIHtcbiAgY29udGVudDogXCJhXCI7XG59XG4uZmllbGRXcmFwcGVyICNyZXF1aXJlbWVudHMgbGkgLmljb24sXG4udW1icmFjby1mb3Jtcy1maWVsZC5zaG9ydGFuc3dlciAjcmVxdWlyZW1lbnRzIGxpIC5pY29uLFxuLnVtYnJhY28tZm9ybXMtZmllbGQuZGF0ZSAjcmVxdWlyZW1lbnRzIGxpIC5pY29uLFxuLnVtYnJhY28tZm9ybXMtZmllbGQucGFzc3dvcmQgI3JlcXVpcmVtZW50cyBsaSAuaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMDA3MDA7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMC41NWVtO1xufVxuXG4uZHJvcGRvd25XcmFwcGVyIGxhYmVsOm5vdCguY2hlY2tib3hMYWJlbCksXG4udW1icmFjby1mb3Jtcy1maWVsZC5kcm9wZG93biBsYWJlbDpub3QoLmNoZWNrYm94TGFiZWwpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDhweDtcbiAgbGVmdDogOXB4O1xuICB6LWluZGV4OiAyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIDAgNXB4O1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG4gIGZvbnQtZmFtaWx5OiBcIk5vYWggSGVhZFwiLCBcIkhlbHZldGljYU5ldWVcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjM2YzZjNmO1xufVxuLmRyb3Bkb3duV3JhcHBlciBzZWxlY3QsXG4udW1icmFjby1mb3Jtcy1maWVsZC5kcm9wZG93biBzZWxlY3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogNTJweDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDJweCBzb2xpZCAjOTNjMmY4O1xuICBwYWRkaW5nOiAyNnB4IDQ1cHggOHB4IDhweDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmZpZWxkV3JhcHBlciB0ZXh0YXJlYSxcbi51bWJyYWNvLWZvcm1zLWZpZWxkLmxvbmdhbnN3ZXIgdGV4dGFyZWEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMjBweDtcbiAgbWluLWhlaWdodDogNDhweDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDJweCBzb2xpZCAjOTNjMmY4O1xuICBwYWRkaW5nOiA2cHggOHB4IDZweDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6ICMzZjNmM2Y7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbmZvcm0gLmVycm9yLFxuLmZvcm1XcmFwIC5lcnJvciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDRweCAwO1xuICBwYWRkaW5nOiAycHggNHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMDA3MDA7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbmZvcm0gLmVycm9yOmVtcHR5LFxuLmZvcm1XcmFwIC5lcnJvcjplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2NTBweCkge1xuICAuc3R5bGVkRmllbGRzZXQsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICB9XG4gIC5zdHlsZWRGaWVsZHNldCAuZmllbGRzZXRHcmlkLFxuICAudW1icmFjby1mb3Jtcy1maWVsZHNldCAuZmllbGRzZXRHcmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG5vbmU7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAuY29udHJvbFdyYXBwZXIgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxuICAuc3R5bGVkRmllbGRzZXQgbGVnZW5kLFxuICAuc3R5bGVkRmllbGRzZXQgLmdyb3VwTGVnZW5kLFxuICAudW1icmFjby1mb3Jtcy1maWVsZHNldCBsZWdlbmQsXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkc2V0IC5ncm91cExlZ2VuZCB7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDQ1MHB4KSB7XG4gIC5jb250cm9sV3JhcHBlciBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgfVxufVxuLmJ1ZmZlciB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDBweCk7XG59XG5cbmZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDBweDtcbiAgcGFkZGluZzogMCAxNXB4O1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICB6LWluZGV4OiA5OTk5O1xufVxuZm9vdGVyIC5hZGdMb2dvV3JhcCBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQ6ICMwMDAgIWltcG9ydGFudDtcbn1cbmZvb3RlciAuYWRnTG9nb1dyYXAgLmFkZ0xvZ28ge1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4uZ3Vlc3RMb2dpbk1ldGhvZHMgLnNvY2lhbE1lZGlhVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBmb250LXdlaWdodDogNDAwO1xufVxuLmd1ZXN0TG9naW5NZXRob2RzIC5zb2NpYWxNZWRpYUxvZ2lucyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnIgMWZyO1xuICBnYXA6IDEycHg7XG59XG4uZ3Vlc3RMb2dpbk1ldGhvZHMgLnNvY2lhbE1lZGlhTG9naW5zIC5mYWNlYm9va0xvZ2luIHtcbiAgYmFja2dyb3VuZDogIzE4NzdmMiAhaW1wb3J0YW50O1xuICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbn1cbi5ndWVzdExvZ2luTWV0aG9kcyAuc29jaWFsTWVkaWFMb2dpbnMgLmdvb2dsZUxvZ2luIHtcbiAgYmFja2dyb3VuZDogI2ViZWJlYyAhaW1wb3J0YW50O1xuICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbn1cbi5ndWVzdExvZ2luTWV0aG9kcyAuc29jaWFsTWVkaWFMb2dpbnMgLnR3aXR0ZXJMb2dpbiB7XG4gIGJhY2tncm91bmQ6ICMxNDE3MWEgIWltcG9ydGFudDtcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG4uZ3Vlc3RMb2dpbk1ldGhvZHMgLnNvY2lhbE1lZGlhTG9naW5zIC50d2l0dGVyTG9naW4gLnRleHQge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbn1cbi5ndWVzdExvZ2luTWV0aG9kcyAuc29jaWFsTWVkaWFMb2dpbnMgLmFwcGxlTG9naW4ge1xuICBiYWNrZ3JvdW5kOiBibGFjayAhaW1wb3J0YW50O1xuICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbn1cbi5ndWVzdExvZ2luTWV0aG9kcyAuc29jaWFsTWVkaWFMb2dpbnMgPiBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBoZWlnaHQ6IDQ1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMWVtICFpbXBvcnRhbnQ7XG59XG4uZ3Vlc3RMb2dpbk1ldGhvZHMgLnNvY2lhbE1lZGlhTG9naW5zID4gYSAuc3ZnSWNvbiB7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogN3B4O1xufVxuLmd1ZXN0TG9naW5NZXRob2RzIC5zb2NpYWxNZWRpYUxvZ2lucyA+IGEgLnRleHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxLjFlbTtcbn1cbi5ndWVzdExvZ2luTWV0aG9kcyAuc29jaWFsTWVkaWFMb2dpbnMgLmFwcGxlTG9naW4ge1xuICBoZWlnaHQ6IDQ1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5ndWVzdExvZ2luTWV0aG9kcyAuc29jaWFsTWVkaWFMb2dpbnMgLmFwcGxlTG9naW4gPiBkaXYge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLmxvZ2luV3JhcHBlcltkYXRhLWhpZGRlbi1mb3ItZ3Vlc3Q9dHJ1ZV0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5ndWVzdFdyYXBwZXJIb2xkZXIge1xuICBtYXgtaGVpZ2h0OiAwO1xuICBvcGFjaXR5OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgODAwbXM7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5maWVsZFdyYXBwZXIuZW5yb2xsZWVOYW1lIHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHotaW5kZXg6IC0xO1xufVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZDogIzkzYzJmODtcbn1cblxuI2JhY2tncm91bmQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDQwMHB4O1xuICBvcGFjaXR5OiAxO1xufVxuI2JhY2tncm91bmQgLmNvdmVyLXNsaWRlcixcbiNiYWNrZ3JvdW5kIHZpZGVvLFxuI2JhY2tncm91bmQgLm1haW5CZ0ltZyB7XG4gIHotaW5kZXg6IDI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuI2JhY2tncm91bmQgLnNlY3Rpb25CZ0hvbGRlciB7XG4gIHotaW5kZXg6IDE7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLm1lbnVPdXQgI2JhY2tncm91bmQgLnNlY3Rpb25CZ0hvbGRlciB7XG4gIHotaW5kZXg6IDM7XG59XG4jYmFja2dyb3VuZCAuc2VjdGlvbkJnSG9sZGVyW2RhdGEtc2VjdGlvbi1iZy1vbmx5PXRydWVdIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xufVxuLmluU2VjdGlvbiAjYmFja2dyb3VuZCAuc2VjdGlvbkJnSG9sZGVyW2RhdGEtc2VjdGlvbi1iZy1vbmx5PXRydWVdIHtcbiAgb3BhY2l0eTogMTtcbn1cbiNiYWNrZ3JvdW5kIC5iZ0ltZyxcbiNiYWNrZ3JvdW5kIC5zZWN0aW9uQmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cbiNiYWNrZ3JvdW5kIC5iZ0ltZ1tkYXRhLWJnLXBvcz1cInRvcCBsZWZ0XCJdLFxuI2JhY2tncm91bmQgLnNlY3Rpb25CZ1tkYXRhLWJnLXBvcz1cInRvcCBsZWZ0XCJdIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgMCU7XG59XG4jYmFja2dyb3VuZCAuYmdJbWdbZGF0YS1iZy1wb3M9XCJ0b3AgbWlkZGxlXCJdLFxuI2JhY2tncm91bmQgLnNlY3Rpb25CZ1tkYXRhLWJnLXBvcz1cInRvcCBtaWRkbGVcIl0ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMDtcbn1cbiNiYWNrZ3JvdW5kIC5iZ0ltZ1tkYXRhLWJnLXBvcz1cInRvcCByaWdodFwiXSxcbiNiYWNrZ3JvdW5kIC5zZWN0aW9uQmdbZGF0YS1iZy1wb3M9XCJ0b3AgcmlnaHRcIl0ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDAlO1xufVxuI2JhY2tncm91bmQgLmJnSW1nW2RhdGEtYmctcG9zPVwiY2VudGVyIGxlZnRcIl0sXG4jYmFja2dyb3VuZCAuc2VjdGlvbkJnW2RhdGEtYmctcG9zPVwiY2VudGVyIGxlZnRcIl0ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSA1MCU7XG59XG4jYmFja2dyb3VuZCAuYmdJbWdbZGF0YS1iZy1wb3M9Y2VudGVyXSxcbiNiYWNrZ3JvdW5kIC5zZWN0aW9uQmdbZGF0YS1iZy1wb3M9Y2VudGVyXSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG59XG4jYmFja2dyb3VuZCAuYmdJbWdbZGF0YS1iZy1wb3M9XCJjZW50ZXIgcmlnaHRcIl0sXG4jYmFja2dyb3VuZCAuc2VjdGlvbkJnW2RhdGEtYmctcG9zPVwiY2VudGVyIHJpZ2h0XCJdIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7XG59XG4jYmFja2dyb3VuZCAuYmdJbWdbZGF0YS1iZy1wb3M9XCJib3R0b20gbGVmdFwiXSxcbiNiYWNrZ3JvdW5kIC5zZWN0aW9uQmdbZGF0YS1iZy1wb3M9XCJib3R0b20gbGVmdFwiXSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDEwMCU7XG59XG4jYmFja2dyb3VuZCAuYmdJbWdbZGF0YS1iZy1wb3M9XCJib3R0b20gbWlkZGxlXCJdLFxuI2JhY2tncm91bmQgLnNlY3Rpb25CZ1tkYXRhLWJnLXBvcz1cImJvdHRvbSBtaWRkbGVcIl0ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMTAwJTtcbn1cbiNiYWNrZ3JvdW5kIC5iZ0ltZ1tkYXRhLWJnLXBvcz1cImJvdHRvbSByaWdodFwiXSxcbiNiYWNrZ3JvdW5kIC5zZWN0aW9uQmdbZGF0YS1iZy1wb3M9XCJib3R0b20gcmlnaHRcIl0ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDEwMCU7XG59XG4jYmFja2dyb3VuZCB2aWRlbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYztcbn1cbltkYXRhLWlzLWxvYWRpbmc9dHJ1ZV0gI2JhY2tncm91bmQge1xuICBvcGFjaXR5OiAwO1xufVxuXG5oZWFkZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMjBweDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDE1O1xuICB0cmFuc2l0aW9uOiBhbGwgMTAwMG1zO1xufVxuaGVhZGVyIC5sb2dvV3JhcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMjgwcHg7XG4gIGhlaWdodDogMTA1cHg7XG4gIHBhZGRpbmc6IDIwcHggMTVweDtcbiAgYmFja2dyb3VuZDogIzFkNDE4ZTtcbiAgdHJhbnNpdGlvbjogYWxsIDEwMDBtcztcbn1cbmhlYWRlciAubG9nbyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpO1xuICB0cmFuc2l0aW9uOiBhbGwgMTAwMG1zO1xufVxuaGVhZGVyIC5vcmllbnRhdGlvblRpdGxlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzI1ZDtcbiAgY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOiAxMHB4IDlweCA4cHg7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgZm9udC1mYW1pbHk6IFwiTm9haCBUZXh0XCIsIFwiSGVsdmV0aWNhTmV1ZVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jbWVtYmVyc2hpcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjgwcHgpO1xuICBtYXgtd2lkdGg6IDgwMHB4O1xuICBtYXJnaW46IDI4MHB4IGF1dG8gMDtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMjBweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAwLjhweCAxLjdweCByZ2JhKDAsIDAsIDAsIDAuMDE0KSwgMCAxLjlweCA0LjFweCByZ2JhKDAsIDAsIDAsIDAuMDIpLCAwIDMuNnB4IDcuOHB4IHJnYmEoMCwgMCwgMCwgMC4wMjUpLCAwIDYuNXB4IDEzLjhweCByZ2JhKDAsIDAsIDAsIDAuMDMpLCAwIDEyLjFweCAyNS45cHggcmdiYSgwLCAwLCAwLCAwLjAzNiksIDAgMjlweCA2MnB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIHotaW5kZXg6IDU7XG59XG4jbWVtYmVyc2hpcCAudGl0bGVBcmVhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAzMHB4IDIwcHggMTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuI21lbWJlcnNoaXAgLnRpdGxlQXJlYS5hY2NvdW50UHJvZmlsZXIge1xuICBmb250LXNpemU6IDEuNWVtO1xufVxuI21lbWJlcnNoaXAgLnRpdGxlQXJlYSBoMiB7XG4gIGZvbnQtZmFtaWx5OiBcIk5vYWggSGVhZFwiLCBcIkhlbHZldGljYU5ldWVcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc2l6ZTogMi40ZW07XG4gIG1hcmdpbjogMCAwIDVweDtcbiAgY29sb3I6ICMxZDQxOGU7XG59XG4jbWVtYmVyc2hpcCAudGl0bGVBcmVhIHAge1xuICBmb250LXNpemU6IDEuMmVtO1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAjMDAzMjVkO1xufVxuI21lbWJlcnNoaXAgYnV0dG9uLnJldHVyblRvU29jaWFsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiA1cHg7XG4gIG1hcmdpbjogMjVweCAwIDA7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6ICMwMDMyNWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xufVxuI21lbWJlcnNoaXAgYnV0dG9uLnJldHVyblRvU29jaWFsIC50ZXh0IHtcbiAgZm9udC1zaXplOiAwLjllbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4jbWVtYmVyc2hpcCBidXR0b24ucmV0dXJuVG9Tb2NpYWwgLmljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogMC44ZW07XG4gIHRyYW5zaXRpb246IGFsbCA1MDBtcztcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgI21lbWJlcnNoaXAgYnV0dG9uLnJldHVyblRvU29jaWFsOmhvdmVyIC50ZXh0IHtcbiAgICBjb2xvcjogIzFkNDE4ZTtcbiAgfVxuICAjbWVtYmVyc2hpcCBidXR0b24ucmV0dXJuVG9Tb2NpYWw6aG92ZXIgLmljb24ge1xuICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICB9XG59XG5bZGF0YS1icm93c2VyPWllXSAjbWVtYmVyc2hpcCBidXR0b24ucmV0dXJuVG9Tb2NpYWw6aG92ZXIgLnRleHQge1xuICBjb2xvcjogIzFkNDE4ZTtcbn1cbltkYXRhLWJyb3dzZXI9aWVdICNtZW1iZXJzaGlwIGJ1dHRvbi5yZXR1cm5Ub1NvY2lhbDpob3ZlciAuaWNvbiB7XG4gIG1hcmdpbi1yaWdodDogM3B4O1xufVxuLmllICNtZW1iZXJzaGlwIGJ1dHRvbi5yZXR1cm5Ub1NvY2lhbDpob3ZlciAudGV4dCB7XG4gIGNvbG9yOiAjMWQ0MThlO1xufVxuLmllICNtZW1iZXJzaGlwIGJ1dHRvbi5yZXR1cm5Ub1NvY2lhbDpob3ZlciAuaWNvbiB7XG4gIG1hcmdpbi1yaWdodDogM3B4O1xufVxuI21lbWJlcnNoaXAgYnV0dG9uLnJldHVyblRvU29jaWFsLmZvY3VzLXZpc2libGUgLnRleHQge1xuICBjb2xvcjogIzFkNDE4ZTtcbn1cbiNtZW1iZXJzaGlwIGJ1dHRvbi5yZXR1cm5Ub1NvY2lhbC5mb2N1cy12aXNpYmxlIC5pY29uIHtcbiAgbWFyZ2luLXJpZ2h0OiAzcHg7XG59XG4jbWVtYmVyc2hpcCBidXR0b24ucmV0dXJuVG9Tb2NpYWw6Zm9jdXMtdmlzaWJsZSAudGV4dCB7XG4gIGNvbG9yOiAjMWQ0MThlO1xufVxuI21lbWJlcnNoaXAgYnV0dG9uLnJldHVyblRvU29jaWFsOmZvY3VzLXZpc2libGUgLmljb24ge1xuICBtYXJnaW4tcmlnaHQ6IDNweDtcbn1cbiNtZW1iZXJzaGlwIC5lcnJvck1lc3NhZ2UsXG4jbWVtYmVyc2hpcCAuZmllbGQtdmFsaWRhdGlvbi1lcnJvciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTAwNzAwO1xuICBjb2xvcjogd2hpdGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIG1hcmdpbjogMnB4IGF1dG8gMTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbiNtZW1iZXJzaGlwIC5sb2dpbk5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBib3JkZXItdG9wOiAycHggc29saWQgI2ViZWJlYztcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAwLjllbTtcbn1cbiNtZW1iZXJzaGlwIC5sb2dpbk5hdiA+ICoge1xuICBtYXJnaW46IDAgNXB4O1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwIHtcbiAgcGFkZGluZzogMjVweCA0MHB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1yYWRpb10ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuQHN1cHBvcnRzIChhcHBlYXJhbmNlOiBub25lKSB7XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB3aWR0aDogMWVtO1xuICAgIGhlaWdodDogMWVtO1xuICAgIG1pbi13aWR0aDogMWVtO1xuICAgIG1pbi1oZWlnaHQ6IDFlbTtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1yYWRpb106YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGJvcmRlci1jb2xvcjogIzNmM2YzZjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwIGlucHV0W3R5cGU9cmFkaW9dOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgei1pbmRleDogNTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkOmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjOTNjMmY4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5M2MyZjg7XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwIGlucHV0W3R5cGU9cmFkaW9dOmNoZWNrZWQ6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgd2lkdGg6IDQ1JTtcbiAgICBoZWlnaHQ6IDQ1JTtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1yYWRpb11bZGlzYWJsZWRdOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgfVxufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwIGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbkBzdXBwb3J0cyAoYXBwZWFyYW5jZTogbm9uZSkge1xuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgd2lkdGg6IDFlbTtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICBtaW4td2lkdGg6IDFlbTtcbiAgICBtaW4taGVpZ2h0OiAxZW07XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwIGlucHV0W3R5cGU9Y2hlY2tib3hdOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAzMjVkO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPWNoZWNrYm94XTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOSBJakFnTUNBek1UWXVNemdnTWpVd0xqWWlQanh3WVhSb0lHUTlJazAzTUM0MElESXhPUzQ0WXpRdU5UVWdOQzQ0IE55QTVMakl5SURrdU5qY2dNVFF1TVRJZ01UUXVNVGtnTXk0M05TQXpMalEzSURjdU56RWdOaTQ0TlNBeE1TNDUgTXlBNUxqYzBJRFV1TlNBekxqYzRJREV4TGpreUlEY3VNRGdnTVRndU56Z2dOaTQ0TlNBMkxqWTJMUzR5TXlBeCBNaTQzTnkwekxqY3pJREUzTGprM0xUY3VOaklnT0M0MkxUWXVORElnTVRZdU5qY3RNVFV1TVRjZ01qTXVPRFF0IE1qTXVNVFJNTXpBMUxqWTRJRFUwTGpZNVl6Y3VNaTA0SURFeExqYzVMVEU0TGpJMUlERXdMalEzTFRJNUxqRTMgTFRFdU1EUXRPQzQxT1MwMUxqY3hMVEUyTGpVMUxURXpMakF4TFRJeExqSTVMVFV1TmpVdE15NDJOeTB4TWk0eSBOaTAwTGprNExURTRMamt0TXk0NE1pMDRMamtnTVM0MU5pMHhOaTQxTkNBM0xqSXlMVEl5TGpRNElERXpMamM0IExUUTRMak0wSURVekxqTXlMVGsyTGpVNUlERXdOaTQzTVMweE5EUXVPRFVnTVRZd0xqRXhiQzB6TGpFNUlETXUgTlRNdE5qQXVOQzAyTmk0Mk0yTXRPQzQwTWkwNUxqSTVMVEU1TGpjdE1UTXVPVFF0TXpFdU9USXRPUzQxTnkwMCBMamN5SURFdU5qa3RPQzQ1T1NBMExqVTRMVEV5TGpRMUlEZ3VNVGt0TXk0NE5pQTBMakEwTFRZdU56Z2dPUzR3IE5pMDRMakV6SURFMExqUTVMVEl1TXpFZ09TNHlOeTR6SURFNExqQTNJRFl1TmpJZ01qVXVNVE5zTmpJdU9UVWcgTnpBdU16VmFJaUJ6ZEhsc1pUMGlabWxzYkMxeWRXeGxPbVYyWlc1dlpHUWlMejQ4TDNOMlp6NEtcIikgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogNzAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQ6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6ICM5M2MyZjg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzkzYzJmODtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZDphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2MywgNjMsIDYzLCAwLjgpO1xuICB9XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAgaW5wdXRbdHlwZT1jaGVja2JveF0gfiBsYWJlbCxcbiNtZW1iZXJzaGlwIC5mb3JtV3JhcCBpbnB1dFt0eXBlPXJhZGlvXSB+IGxhYmVsIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjM1ZW07XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLnN0YXR1c01lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIG1hcmdpbjogMTBweCBhdXRvO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5ob3J6RGl2aWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMjVweCAwO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5ob3J6RGl2aWRlciAubGluZSB7XG4gIGhlaWdodDogMnB4O1xuICBmbGV4LWdyb3c6IDE7XG4gIGJhY2tncm91bmQ6ICNlYmViZWM7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLmhvcnpEaXZpZGVyIC5vciB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjM2YzZjNmO1xuICBtYXJnaW4taW5saW5lOiAxNXB4O1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIGJ1dHRvbi5jb250aW51ZVdpdGhFbWFpbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwLjdlbSAxLjVlbTtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICMxNDJlNjQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LWZhbWlseTogXCJOb2FoIEhlYWRcIiwgXCJIZWx2ZXRpY2FOZXVlXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogOTAwO1xuICBvdXRsaW5lLW9mZnNldDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZDQxOGU7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmc6IDEuM2VtIDEuOGVtO1xuICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIGJ1dHRvbi5jb250aW51ZVdpdGhFbWFpbDpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZDM0YztcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmVjNzE5O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIGJ1dHRvbi5jb250aW51ZVdpdGhFbWFpbDpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZDM0YztcbiAgY29sb3I6IGJsYWNrO1xuICBib3JkZXItY29sb3I6ICNmZWM3MTk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5pZSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gYnV0dG9uLmNvbnRpbnVlV2l0aEVtYWlsOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVkMzRjO1xuICBjb2xvcjogYmxhY2s7XG4gIGJvcmRlci1jb2xvcjogI2ZlYzcxOTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIGJ1dHRvbi5jb250aW51ZVdpdGhFbWFpbC5mb2N1cy12aXNpYmxlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVkMzRjO1xuICBjb2xvcjogYmxhY2s7XG4gIGJvcmRlci1jb2xvcjogI2ZlYzcxOTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIGJ1dHRvbi5jb250aW51ZVdpdGhFbWFpbDpmb2N1cy12aXNpYmxlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVkMzRjO1xuICBjb2xvcjogYmxhY2s7XG4gIGJvcmRlci1jb2xvcjogI2ZlYzcxOTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIGJ1dHRvbi5jb250aW51ZVdpdGhFbWFpbFtkaXNhYmxlZF0sICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sb2dpbiBidXR0b24uY29udGludWVXaXRoRW1haWxbYXJpYS1kaXNhYmxlZD10cnVlXSB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sb2dpbiBidXR0b24uY29udGludWVXaXRoRW1haWwgLmljb24ge1xuICBmb250LXNpemU6IDIuNWVtO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIGJ1dHRvbi5jb250aW51ZVdpdGhFbWFpbCAudGV4dCB7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5maWVsZFdyYXBwZXIgbGFiZWw6bm90KC5jaGVja2JveExhYmVsKSB7XG4gIHRvcDogM3B4O1xuICBsZWZ0OiAzcHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLmZpZWxkV3JhcHBlciBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdKTpub3QoW3R5cGU9cmFkaW9dKSxcbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sb2dpbiAuZmllbGRXcmFwcGVyIHRleHRhcmVhIHtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogM3B4O1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5sb2dpbldyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBtYXJnaW4tdG9wOiA4cHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLnJldHVybmluZ1dyYXBwZXIge1xuICB3aWR0aDogY2FsYyg2MCUgLSAyMHB4KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5uZXdBY2NvdW50V3JhcHBlciB7XG4gIHdpZHRoOiA0MCU7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLm5ld0FjY291bnRXcmFwcGVyID4gYTpmaXJzdC1jaGlsZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwLjdlbSAxLjVlbTtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICMxNDJlNjQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LWZhbWlseTogXCJOb2FoIEhlYWRcIiwgXCJIZWx2ZXRpY2FOZXVlXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogOTAwO1xuICBvdXRsaW5lLW9mZnNldDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZDQxOGU7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5uZXdBY2NvdW50V3JhcHBlciA+IGE6Zmlyc3QtY2hpbGQ6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWQzNGM7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGJvcmRlci1jb2xvcjogI2ZlYzcxOTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cbltkYXRhLWJyb3dzZXI9aWVdICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sb2dpbiAubmV3QWNjb3VudFdyYXBwZXIgPiBhOmZpcnN0LWNoaWxkOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVkMzRjO1xuICBjb2xvcjogYmxhY2s7XG4gIGJvcmRlci1jb2xvcjogI2ZlYzcxOTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmllICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sb2dpbiAubmV3QWNjb3VudFdyYXBwZXIgPiBhOmZpcnN0LWNoaWxkOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVkMzRjO1xuICBjb2xvcjogYmxhY2s7XG4gIGJvcmRlci1jb2xvcjogI2ZlYzcxOTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5uZXdBY2NvdW50V3JhcHBlciA+IGE6Zmlyc3QtY2hpbGQuZm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZDM0YztcbiAgY29sb3I6IGJsYWNrO1xuICBib3JkZXItY29sb3I6ICNmZWM3MTk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sb2dpbiAubmV3QWNjb3VudFdyYXBwZXIgPiBhOmZpcnN0LWNoaWxkOmZvY3VzLXZpc2libGUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWQzNGM7XG4gIGNvbG9yOiBibGFjaztcbiAgYm9yZGVyLWNvbG9yOiAjZmVjNzE5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLm5ld0FjY291bnRXcmFwcGVyID4gYTpmaXJzdC1jaGlsZFtkaXNhYmxlZF0sICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sb2dpbiAubmV3QWNjb3VudFdyYXBwZXIgPiBhOmZpcnN0LWNoaWxkW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0ge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLm5ld0FjY291bnRXcmFwcGVyID4gYTpmaXJzdC1jaGlsZFtkYXRhLXR5cGU9U3R1ZGVudF0gLmljb246YmVmb3JlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgY29udGVudDogXCJ6XCI7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLm5ld0FjY291bnRXcmFwcGVyID4gYTpmaXJzdC1jaGlsZCAuaWNvbiB7XG4gIGZvbnQtc2l6ZTogMi41ZW07XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLm5ld0FjY291bnRXcmFwcGVyID4gYTpmaXJzdC1jaGlsZCAudGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDEuMTVlbTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSB7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG4gIG1hcmdpbjogMCA2cHg7XG4gIGhlaWdodDogMzUwcHg7XG4gIGZvbnQtc2l6ZTogMS40ZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGE6aG92ZXIgLmljb25Ib2xkZXIge1xuICAgIGNvbG9yOiAjMWQ0MThlO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhOmhvdmVyIC50ZXh0IHtcbiAgICBjb2xvcjogIzFkNDE4ZTtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpob3ZlciAuYmcge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpob3ZlciAub3ZlcmxheUdyaWQgc3BhbiB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbn1cbltkYXRhLWJyb3dzZXI9aWVdICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhOmhvdmVyIC5pY29uSG9sZGVyIHtcbiAgY29sb3I6ICMxZDQxOGU7XG59XG5bZGF0YS1icm93c2VyPWllXSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpob3ZlciAudGV4dCB7XG4gIGNvbG9yOiAjMWQ0MThlO1xufVxuW2RhdGEtYnJvd3Nlcj1pZV0gI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGE6aG92ZXIgLmJnIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xufVxuW2RhdGEtYnJvd3Nlcj1pZV0gI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGE6aG92ZXIgLm92ZXJsYXlHcmlkIHNwYW4ge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAwLjc7XG59XG4uaWUgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGE6aG92ZXIgLmljb25Ib2xkZXIge1xuICBjb2xvcjogIzFkNDE4ZTtcbn1cbi5pZSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpob3ZlciAudGV4dCB7XG4gIGNvbG9yOiAjMWQ0MThlO1xufVxuLmllICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhOmhvdmVyIC5iZyB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbn1cbi5pZSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYTpob3ZlciAub3ZlcmxheUdyaWQgc3BhbiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDAuNztcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhLmZvY3VzLXZpc2libGUgLmljb25Ib2xkZXIge1xuICBjb2xvcjogIzFkNDE4ZTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhLmZvY3VzLXZpc2libGUgLnRleHQge1xuICBjb2xvcjogIzFkNDE4ZTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhLmZvY3VzLXZpc2libGUgLmJnIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGEuZm9jdXMtdmlzaWJsZSAub3ZlcmxheUdyaWQgc3BhbiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDAuNztcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhOmZvY3VzLXZpc2libGUgLmljb25Ib2xkZXIge1xuICBjb2xvcjogIzFkNDE4ZTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhOmZvY3VzLXZpc2libGUgLnRleHQge1xuICBjb2xvcjogIzFkNDE4ZTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhOmZvY3VzLXZpc2libGUgLmJnIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGE6Zm9jdXMtdmlzaWJsZSAub3ZlcmxheUdyaWQgc3BhbiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDAuNztcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyAub3ZlcmxheUdyaWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnIgMWZyIDEzMHB4O1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIC5vdmVybGF5R3JpZCBzcGFuIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNpdGlvbjogYWxsIDYwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzIsIC0wLjA1LCAwLCAxLjA1KTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyAub3ZlcmxheUdyaWQgc3Bhbi5sZWZ0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCA1MCwgOTMsIDAuOTgpO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIC5vdmVybGF5R3JpZCBzcGFuLmNlbnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgNTAsIDkzLCAwLjk4KTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyAub3ZlcmxheUdyaWQgc3Bhbi5yaWdodCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgNTAsIDkzLCAwLjk4KTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyAub3ZlcmxheUdyaWQgc3BhbjpudGgtY2hpbGQoMSkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzMG1zO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIC5vdmVybGF5R3JpZCBzcGFuOm50aC1jaGlsZCgyKSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDYwbXM7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgLm92ZXJsYXlHcmlkIHNwYW46bnRoLWNoaWxkKDMpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogOTBtcztcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyAub3ZlcmxheUdyaWQgc3BhbjpudGgtY2hpbGQoNCkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxMjBtcztcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyAub3ZlcmxheUdyaWQgc3BhbjpudGgtY2hpbGQoNSkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxNTBtcztcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyAub3ZlcmxheUdyaWQgc3BhbjpudGgtY2hpbGQoNikge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxODBtcztcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyAub3ZlcmxheUdyaWQgc3BhbjpudGgtY2hpbGQoNykge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAyMTBtcztcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyAub3ZlcmxheUdyaWQgc3BhbjpudGgtY2hpbGQoOCkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAyNDBtcztcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyAub3ZlcmxheUdyaWQgc3BhbjpudGgtY2hpbGQoOSkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAyNzBtcztcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyAuYmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICB0cmFuc2l0aW9uOiBhbGwgNjAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zMiwgLTAuMDUsIDAsIDEuMDUpO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIC50ZXh0SG9sZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiA1O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1heC13aWR0aDogNjYlO1xuICBtaW4taGVpZ2h0OiAxMzBweDtcbiAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgI2ZlZDM0YztcbiAgcGFkZGluZzogMjBweCAxNXB4IDVweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyAudGV4dEhvbGRlcjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAxNXB4O1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2MzY5MDtcbiAgaGVpZ2h0OiAxcHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgLnRleHQge1xuICBjb2xvcjogIzAwMzI1ZDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtZmFtaWx5OiBcIkp1YW5hXCIsIHNlcmlmO1xuICBmb250LXNpemU6IDEuNWVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgLmljb25Ib2xkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LWZhbWlseTogXCJOb2FoIEhlYWRcIiwgXCJIZWx2ZXRpY2FOZXVlXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gIGZvbnQtc2l6ZTogMC42ZW07XG4gIGNvbG9yOiAjZTYzNjkwO1xuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXM7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgLmljb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgZm9udC1mYW1pbHk6IFwic3BlbG1hblwiO1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICBmb250LXNpemU6IDI0cHg7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiAzcHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgLmd1ZXN0TG9naW5CdG4gLmljb246YmVmb3JlIHtcbiAgY29udGVudDogXCJrXCI7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgLmVucm9sbGVlTG9naW5CdG4gLmljb246YmVmb3JlIHtcbiAgY29udGVudDogXCJ6XCI7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgLnByb2ZpbGVTZXR0aW5nc0V4cGxhaW5lcixcbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgLnByb2ZpbGVFcnJvcldyYXAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIC5pbnN0cnVjdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5hY2NvdW50UHJvZmlsZXIgLmJ1dHRvbkhvbGRlciB7XG4gIG1hcmdpbjogMjBweCAwIDIwcHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIC5yZXNldEFjY291bnRUeXBlQnRuIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgZm9udC1zaXplOiAwLjhlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5M2MyZjg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICMwMDMyNWQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB0cmFuc2l0aW9uOiAyMDBtcztcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciAucmVzZXRBY2NvdW50VHlwZUJ0bjpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMWQ0MThlO1xuICAgIGNvbG9yOiAjMWQ0MThlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB9XG59XG5bZGF0YS1icm93c2VyPWllXSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIC5yZXNldEFjY291bnRUeXBlQnRuOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjMWQ0MThlO1xuICBjb2xvcjogIzFkNDE4ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG4uaWUgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciAucmVzZXRBY2NvdW50VHlwZUJ0bjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzFkNDE4ZTtcbiAgY29sb3I6ICMxZDQxOGU7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciAucmVzZXRBY2NvdW50VHlwZUJ0bi5mb2N1cy12aXNpYmxlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMWQ0MThlO1xuICBjb2xvcjogIzFkNDE4ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAuYWNjb3VudFByb2ZpbGVyIC5yZXNldEFjY291bnRUeXBlQnRuOmZvY3VzLXZpc2libGUge1xuICBib3JkZXItY29sb3I6ICMxZDQxOGU7XG4gIGNvbG9yOiAjMWQ0MThlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgLnNpbmdsZUZpZWxkU3VibWlzc2lvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAuc2luZ2xlRmllbGRTdWJtaXNzaW9uIC5maWVsZFdyYXBwZXIge1xuICBtYXJnaW46IDAgNXB4IDAgMDtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgLnNpbmdsZUZpZWxkU3VibWlzc2lvbiBidXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMC43ZW0gMS41ZW07XG4gIGJvcmRlci13aWR0aDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjMTQyZTY0O1xuICBsaW5lLWhlaWdodDogMS4xZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZm9udC1mYW1pbHk6IFwiTm9haCBIZWFkXCIsIFwiSGVsdmV0aWNhTmV1ZVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQ0MThlO1xuICBjb2xvcjogd2hpdGU7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgLnNpbmdsZUZpZWxkU3VibWlzc2lvbiBidXR0b246aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWQzNGM7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGJvcmRlci1jb2xvcjogI2ZlYzcxOTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cbltkYXRhLWJyb3dzZXI9aWVdICNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgLnNpbmdsZUZpZWxkU3VibWlzc2lvbiBidXR0b246aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWQzNGM7XG4gIGNvbG9yOiBibGFjaztcbiAgYm9yZGVyLWNvbG9yOiAjZmVjNzE5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uaWUgI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAuc2luZ2xlRmllbGRTdWJtaXNzaW9uIGJ1dHRvbjpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZDM0YztcbiAgY29sb3I6IGJsYWNrO1xuICBib3JkZXItY29sb3I6ICNmZWM3MTk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgLnNpbmdsZUZpZWxkU3VibWlzc2lvbiBidXR0b24uZm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZDM0YztcbiAgY29sb3I6IGJsYWNrO1xuICBib3JkZXItY29sb3I6ICNmZWM3MTk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgLnNpbmdsZUZpZWxkU3VibWlzc2lvbiBidXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZDM0YztcbiAgY29sb3I6IGJsYWNrO1xuICBib3JkZXItY29sb3I6ICNmZWM3MTk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgLnNpbmdsZUZpZWxkU3VibWlzc2lvbiBidXR0b25bZGlzYWJsZWRdLCAjbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yIC5zaW5nbGVGaWVsZFN1Ym1pc3Npb24gYnV0dG9uW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0ge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yICNURkFCdXR0b25BcHAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMC43ZW0gMS41ZW07XG4gIGJvcmRlci13aWR0aDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjMTQyZTY0O1xuICBsaW5lLWhlaWdodDogMS4xZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZm9udC1mYW1pbHk6IFwiTm9haCBIZWFkXCIsIFwiSGVsdmV0aWNhTmV1ZVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQ0MThlO1xuICBjb2xvcjogd2hpdGU7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAjVEZBQnV0dG9uQXBwOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVkMzRjO1xuICAgIGNvbG9yOiBibGFjaztcbiAgICBib3JkZXItY29sb3I6ICNmZWM3MTk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5bZGF0YS1icm93c2VyPWllXSAjbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yICNURkFCdXR0b25BcHA6aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWQzNGM7XG4gIGNvbG9yOiBibGFjaztcbiAgYm9yZGVyLWNvbG9yOiAjZmVjNzE5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uaWUgI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAjVEZBQnV0dG9uQXBwOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVkMzRjO1xuICBjb2xvcjogYmxhY2s7XG4gIGJvcmRlci1jb2xvcjogI2ZlYzcxOTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAjVEZBQnV0dG9uQXBwLmZvY3VzLXZpc2libGUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWQzNGM7XG4gIGNvbG9yOiBibGFjaztcbiAgYm9yZGVyLWNvbG9yOiAjZmVjNzE5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yICNURkFCdXR0b25BcHA6Zm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZDM0YztcbiAgY29sb3I6IGJsYWNrO1xuICBib3JkZXItY29sb3I6ICNmZWM3MTk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgI1RGQUJ1dHRvbkFwcFtkaXNhYmxlZF0sICNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgI1RGQUJ1dHRvbkFwcFthcmlhLWRpc2FibGVkPXRydWVdIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLnR3b0ZhY3RvciAjVEZBQnV0dG9uRW1haWwsXG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAudHdvRmFjdG9yICNPVFBCdXR0b24ge1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHBhZGRpbmc6IDAgMCAycHg7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOTNjMmY4O1xuICBjb2xvcjogIzkzYzJmODtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgI1RGQUJ1dHRvbkVtYWlsW2RhdGEtd2FpdC1hLWZldz10cnVlXSxcbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC50d29GYWN0b3IgI09UUEJ1dHRvbltkYXRhLXdhaXQtYS1mZXc9dHJ1ZV0ge1xuICBvcGFjaXR5OiAwLjY7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG4jbWVtYmVyc2hpcCAuYnV0dG9uSG9sZGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuI21lbWJlcnNoaXAgLmJ1dHRvbkhvbGRlciBidXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMC43ZW0gMS41ZW07XG4gIGJvcmRlci13aWR0aDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjMTQyZTY0O1xuICBsaW5lLWhlaWdodDogMS4xZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZm9udC1mYW1pbHk6IFwiTm9haCBIZWFkXCIsIFwiSGVsdmV0aWNhTmV1ZVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQ0MThlO1xuICBjb2xvcjogd2hpdGU7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAjbWVtYmVyc2hpcCAuYnV0dG9uSG9sZGVyIGJ1dHRvbjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZDM0YztcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmVjNzE5O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gI21lbWJlcnNoaXAgLmJ1dHRvbkhvbGRlciBidXR0b246aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWQzNGM7XG4gIGNvbG9yOiBibGFjaztcbiAgYm9yZGVyLWNvbG9yOiAjZmVjNzE5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uaWUgI21lbWJlcnNoaXAgLmJ1dHRvbkhvbGRlciBidXR0b246aG92ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWQzNGM7XG4gIGNvbG9yOiBibGFjaztcbiAgYm9yZGVyLWNvbG9yOiAjZmVjNzE5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jbWVtYmVyc2hpcCAuYnV0dG9uSG9sZGVyIGJ1dHRvbi5mb2N1cy12aXNpYmxlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVkMzRjO1xuICBjb2xvcjogYmxhY2s7XG4gIGJvcmRlci1jb2xvcjogI2ZlYzcxOTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI21lbWJlcnNoaXAgLmJ1dHRvbkhvbGRlciBidXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZDM0YztcbiAgY29sb3I6IGJsYWNrO1xuICBib3JkZXItY29sb3I6ICNmZWM3MTk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNtZW1iZXJzaGlwIC5idXR0b25Ib2xkZXIgYnV0dG9uW2Rpc2FibGVkXSwgI21lbWJlcnNoaXAgLmJ1dHRvbkhvbGRlciBidXR0b25bYXJpYS1kaXNhYmxlZD10cnVlXSB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbiNtZW1iZXJzaGlwIC5zdHlsZWRGaWVsZHNldCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4jbWVtYmVyc2hpcCAuc3R5bGVkRmllbGRzZXQgLmdyb3VwTGVnZW5kIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLnNpbXBsZURpYWxvZyAuY2xvc2VEaWFsb2cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMC43ZW0gMS41ZW07XG4gIGJvcmRlci13aWR0aDogMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjMTQyZTY0O1xuICBsaW5lLWhlaWdodDogMS4xZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZm9udC1mYW1pbHk6IFwiTm9haCBIZWFkXCIsIFwiSGVsdmV0aWNhTmV1ZVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQ0MThlO1xuICBjb2xvcjogd2hpdGU7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5zaW1wbGVEaWFsb2cgLmNsb3NlRGlhbG9nOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVkMzRjO1xuICAgIGNvbG9yOiBibGFjaztcbiAgICBib3JkZXItY29sb3I6ICNmZWM3MTk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5bZGF0YS1icm93c2VyPWllXSAuc2ltcGxlRGlhbG9nIC5jbG9zZURpYWxvZzpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZDM0YztcbiAgY29sb3I6IGJsYWNrO1xuICBib3JkZXItY29sb3I6ICNmZWM3MTk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5pZSAuc2ltcGxlRGlhbG9nIC5jbG9zZURpYWxvZzpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZDM0YztcbiAgY29sb3I6IGJsYWNrO1xuICBib3JkZXItY29sb3I6ICNmZWM3MTk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zaW1wbGVEaWFsb2cgLmNsb3NlRGlhbG9nLmZvY3VzLXZpc2libGUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWQzNGM7XG4gIGNvbG9yOiBibGFjaztcbiAgYm9yZGVyLWNvbG9yOiAjZmVjNzE5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uc2ltcGxlRGlhbG9nIC5jbG9zZURpYWxvZzpmb2N1cy12aXNpYmxlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVkMzRjO1xuICBjb2xvcjogYmxhY2s7XG4gIGJvcmRlci1jb2xvcjogI2ZlYzcxOTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnNpbXBsZURpYWxvZyAuY2xvc2VEaWFsb2dbZGlzYWJsZWRdLCAuc2ltcGxlRGlhbG9nIC5jbG9zZURpYWxvZ1thcmlhLWRpc2FibGVkPXRydWVdIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLnNpbXBsZURpYWxvZyAuY2xvc2VEaWFsb2cgLmljb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jcmVzZXREYXRhIGJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwLjdlbSAxLjVlbTtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICMxNDJlNjQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjFlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LWZhbWlseTogXCJOb2FoIEhlYWRcIiwgXCJIZWx2ZXRpY2FOZXVlXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogOTAwO1xuICBvdXRsaW5lLW9mZnNldDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZDQxOGU7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgI3Jlc2V0RGF0YSBidXR0b246aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWQzNGM7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGJvcmRlci1jb2xvcjogI2ZlYzcxOTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cbltkYXRhLWJyb3dzZXI9aWVdICNyZXNldERhdGEgYnV0dG9uOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVkMzRjO1xuICBjb2xvcjogYmxhY2s7XG4gIGJvcmRlci1jb2xvcjogI2ZlYzcxOTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmllICNyZXNldERhdGEgYnV0dG9uOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVkMzRjO1xuICBjb2xvcjogYmxhY2s7XG4gIGJvcmRlci1jb2xvcjogI2ZlYzcxOTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuI3Jlc2V0RGF0YSBidXR0b24uZm9jdXMtdmlzaWJsZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZDM0YztcbiAgY29sb3I6IGJsYWNrO1xuICBib3JkZXItY29sb3I6ICNmZWM3MTk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiNyZXNldERhdGEgYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDMpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWQzNGM7XG4gIGNvbG9yOiBibGFjaztcbiAgYm9yZGVyLWNvbG9yOiAjZmVjNzE5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4jcmVzZXREYXRhIGJ1dHRvbltkaXNhYmxlZF0sICNyZXNldERhdGEgYnV0dG9uW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0ge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAyMDAwcHgpIHtcbiAgI21lbWJlcnNoaXAge1xuICAgIG1heC13aWR0aDogMTA1MHB4O1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhIHtcbiAgICBoZWlnaHQ6IDQ1MHB4O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTA1MHB4KSB7XG4gICNtZW1iZXJzaGlwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgbWluLWhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTA1MHB4KSwgKG1heC1oZWlnaHQ6IDUyMHB4KSB7XG4gICNiYWNrZ3JvdW5kIHtcbiAgICBoZWlnaHQ6IDMwMHB4O1xuICB9XG4gICNtZW1iZXJzaGlwIHtcbiAgICBtYXJnaW4tdG9wOiAyMjBweDtcbiAgfVxuICBoZWFkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gIC5ndWVzdExvZ2luTWV0aG9kcyAuc29jaWFsTWVkaWFMb2dpbnMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICBnYXA6IDhweDtcbiAgfVxuICBoZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgaGVhZGVyIC5sb2dvV3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gICNiYWNrZ3JvdW5kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgI21lbWJlcnNoaXAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sb2dpbiAubG9naW5XcmFwcGVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTVweDtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubG9naW4gLm5ld0FjY291bnRXcmFwcGVyIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5yZXR1cm5pbmdXcmFwcGVyIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYSB7XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGE6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2NTBweCkge1xuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAge1xuICAgIHBhZGRpbmc6IDI1cHg7XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxvZ2luIC5uZXdBY2NvdW50V3JhcHBlciB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgI3Jlc2V0RGF0YSBidXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDUyMHB4KSB7XG4gIC5ndWVzdExvZ2luTWV0aG9kcyAuc29jaWFsTWVkaWFMb2dpbnMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGdhcDogOHB4O1xuICB9XG4gICNtZW1iZXJzaGlwIC50aXRsZUFyZWEgaDIge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhIC50ZXh0SG9sZGVyIHtcbiAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubGFuZGluZ1BhZ2UgLmJ1dHRvbnMgYSAudGV4dEhvbGRlciAudGV4dCB7XG4gICAgZm9udC1zaXplOiAxLjI1ZW07XG4gIH1cbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLmxhbmRpbmdQYWdlIC5idXR0b25zIGEgLnRleHRIb2xkZXIgLmljb25Ib2xkZXIge1xuICAgIGZvbnQtc2l6ZTogMC41NmVtO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDUwcHgpIHtcbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwIHtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxufVxuLnJ0ZSB7XG4gIGNsZWFyOiBib3RoO1xufVxuLnJ0ZSBoNCxcbi5ydGUgaDUge1xuICBtYXJnaW46IDAuOGVtIDAgMC41ZW07XG59XG4ucnRlID4gKjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cbi5ydGUgPiAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5ydGUgaWZyYW1lIHtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gODBweCk7XG4gIG1heC1oZWlnaHQ6IGNhbGMoKDEwMHZ3IC0gODBweCkgLyAxLjc3NzgpOyAvKiAxNjo5ICovXG59XG4ucnRlIGltZyB7XG4gIG1hcmdpbjogMTBweDtcbn1cbi5ydGUgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSB7XG4gIG1hcmdpbjogMCAwIDIwcHggMjBweDtcbn1cbi5ydGUgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdIHtcbiAgbWFyZ2luOiAwIDIwcHggMjBweCAwcHg7XG59XG4ucnRlIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5ydGUgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdIHtcbiAgbWF4LXdpZHRoOiA2MCU7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNjUwcHgpIHtcbiAgLnJ0ZSBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAucnRlIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSB7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAucnRlIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sIC5ydGUgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgMCA1cHggIWltcG9ydGFudDtcbiAgfVxufVxuLnJ0ZSBmaWd1cmU6bm90KC50ZXJtQmJsKSB7XG4gIG1hcmdpbjogMjBweCAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGMoMCArIDVweCAtIDBweCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhOWE5YWQ7XG4gIHBhZGRpbmc6IDVweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnJ0ZSBmaWd1cmU6bm90KC50ZXJtQmJsKSBpbWcge1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDBweCAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDBweCAwcHg7XG59XG4ucnRlIGZpZ3VyZTpub3QoLnRlcm1CYmwpW3N0eWxlKj1cInRleHQtYWxpZ246IHJpZ2h0XCJdIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDAgMCAyMHB4IDIwcHg7XG59XG4ucnRlIGZpZ3VyZTpub3QoLnRlcm1CYmwpW3N0eWxlKj1cInRleHQtYWxpZ246IGxlZnRcIl0ge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwIDIwcHggMjBweCAwcHg7XG59XG4ucnRlIGZpZ3VyZTpub3QoLnRlcm1CYmwpW3N0eWxlKj1cInRleHQtYWxpZ246IGxlZnRcIl0sIC5ydGUgZmlndXJlOm5vdCgudGVybUJibClbc3R5bGUqPVwidGV4dC1hbGlnbjogcmlnaHRcIl0ge1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogNjAlO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDY1MHB4KSB7XG4gIC5ydGUgZmlndXJlOm5vdCgudGVybUJibClbc3R5bGUqPVwidGV4dC1hbGlnbjogbGVmdFwiXSwgLnJ0ZSBmaWd1cmU6bm90KC50ZXJtQmJsKVtzdHlsZSo9XCJ0ZXh0LWFsaWduOiByaWdodFwiXSB7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1MjBweCkge1xuICAucnRlIGZpZ3VyZTpub3QoLnRlcm1CYmwpW3N0eWxlKj1cInRleHQtYWxpZ246IGxlZnRcIl0sIC5ydGUgZmlndXJlOm5vdCgudGVybUJibClbc3R5bGUqPVwidGV4dC1hbGlnbjogcmlnaHRcIl0ge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAwIDVweCAhaW1wb3J0YW50O1xuICB9XG59XG4ucnRlIGZpZ3VyZTpub3QoLnRlcm1CYmwpIGZpZ2NhcHRpb24ge1xuICBmb250LXdlaWdodDogNDAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDAgMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYztcbiAgY29sb3I6IGJsYWNrO1xuICBmb250LXNpemU6IDAuOWVtO1xufVxuLnJ0ZSBwIHtcbiAgZm9udC1mYW1pbHk6IFwiTm9haCBUZXh0XCIsIFwiSGVsdmV0aWNhTmV1ZVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjFlbTtcbn1cbi5ydGUgaDMuaGVhZGluZyB7XG4gIG1hcmdpbjogMC43NWVtIDAgMC40ZW07XG4gIGZvbnQtc2l6ZTogMi4zZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtO1xuICBjb2xvcjogIzAwMzI1ZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG4ucnRlIC5oZWFkaW5nTGlzdCxcbi5ydGUgLnN1YmhlYWRpbmdMaXN0IHtcbiAgbWFyZ2luOiAwLjg1ZW0gMCAwLjRlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuMjVlbTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM5M2MyZjg7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtZmFtaWx5OiBcIk5vYWggSGVhZFwiLCBcIkhlbHZldGljYU5ldWVcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtO1xufVxuLnJ0ZSBoMy5oZWFkaW5nTGlzdCB7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIGNvbG9yOiAjMDAzMjVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cbi5ydGUgaDQuc3ViaGVhZGluZ0xpc3Qge1xuICBmb250LXNpemU6IDEuM2VtO1xuICBjb2xvcjogIzFkNDE4ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG4ucnRlIGg0LnN1YmhlYWRpbmcge1xuICBtYXJnaW46IDAuNzVlbSAwIDAuNGVtO1xuICBmb250LXNpemU6IDEuNzVlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgY29sb3I6ICMxZDQxOGU7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG4ucnRlIC5sYXJnZVRleHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEuMTVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIGNvbG9yOiAjMDAzMjVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cbi5ydGUgLmxhcmdlVGV4dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDRweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL0ltYWdlcy93aWdnbGUtdmVydGljYWwucG5nKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG4ucnRlIC5oaWdobGlnaHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVkMzRjO1xuICBjb2xvcjogYmxhY2s7XG59XG4ucnRlIC5oaWdobGlnaHQgYSB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG4ucnRlIHVsIHtcbiAgcGFkZGluZzogMDtcbn1cbi5ydGUgdWwgPiBsaSB7XG4gIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG4ucnRlIHVsID4gbGk6Om1hcmtlciB7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICBjb2xvcjogIzFkNDE4ZTtcbn1cbi5ydGUgb2wge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGNvdW50ZXItcmVzZXQ6IGNvdW50ZXI7XG59XG4ucnRlIG9sW3N0eWxlPVwibGlzdC1zdHlsZS10eXBlOiB1cHBlci1hbHBoYTtcIl0gPiBsaTpiZWZvcmUsIC5ydGUgb2xbc3R5bGU9XCJsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhO1wiXSA+IGxpOmJlZm9yZSwgLnJ0ZSBvbFtzdHlsZT1cImxpc3Qtc3R5bGUtdHlwZTogbG93ZXItZ3JlZWs7XCJdID4gbGk6YmVmb3JlLCAucnRlIG9sW3N0eWxlPVwibGlzdC1zdHlsZS10eXBlOiB1cHBlci1yb21hbjtcIl0gPiBsaTpiZWZvcmUsIC5ydGUgb2xbc3R5bGU9XCJsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuO1wiXSA+IGxpOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ucnRlIG9sID4gbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvdW50ZXItaW5jcmVtZW50OiBjb3VudGVyO1xuICBtYXJnaW4tbGVmdDogNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLnJ0ZSBvbCA+IGxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IGNvdW50ZXIoY291bnRlcikgXCIuIFwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiBjYWxjKDEwMCUgKyA4cHgpO1xuICBjb2xvcjogIzFkNDE4ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4ucnRlIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjMWQ0MThlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM5M2MyZjg7XG59XG5AbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gIC5ydGUgYTpob3ZlciB7XG4gICAgY29sb3I6ICM5MDFhOWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzkwMWE5ZDtcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gLnJ0ZSBhOmhvdmVyIHtcbiAgY29sb3I6ICM5MDFhOWQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjOTAxYTlkO1xufVxuLmllIC5ydGUgYTpob3ZlciB7XG4gIGNvbG9yOiAjOTAxYTlkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzkwMWE5ZDtcbn1cbi5ydGUgYS5mb2N1cy12aXNpYmxlIHtcbiAgY29sb3I6ICM5MDFhOWQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjOTAxYTlkO1xufVxuLnJ0ZSBhOmZvY3VzLXZpc2libGUge1xuICBjb2xvcjogIzkwMWE5ZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICM5MDFhOWQ7XG59XG4ucnRlIC50YWJsZVdyYXBwZXIge1xuICBvdmVyZmxvdzogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNmZmYgMzAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApKSwgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLCAjZmZmIDcwJSkgMCAxMDAlLCByYWRpYWwtZ3JhZGllbnQoZmFydGhlc3Qtc2lkZSBhdCAwJSA1MCUsIHJnYmEoMCwgMCwgMCwgMC4yKSwgcmdiYSgwLCAwLCAwLCAwKSksIHJhZGlhbC1ncmFkaWVudChmYXJ0aGVzdC1zaWRlIGF0IDEwMCUgNTAlLCByZ2JhKDAsIDAsIDAsIDAuMiksIHJnYmEoMCwgMCwgMCwgMCkpIDAgMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1zaXplOiA0MHB4IDEwMCUsIDQwcHggMTAwJSwgMTRweCAxMDAlLCAxNHB4IDEwMCU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMCwgMTAwJSwgMCAwLCAxMDAlO1xuICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGxvY2FsLCBsb2NhbCwgc2Nyb2xsLCBzY3JvbGw7XG4gIGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTtcbn1cbi5ydGUgLnRhYmxlV3JhcHBlciB0YWJsZSB7XG4gIG1pbi13aWR0aDogNTAwcHg7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cbi5ydGUgLnRhYmxlV3JhcHBlciB0YWJsZSBjYXB0aW9uIHtcbiAgcGFkZGluZzogNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTNjMmY4O1xuICBjb2xvcjogYmxhY2s7XG59XG4ucnRlIC50YWJsZVdyYXBwZXIgdGFibGUgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyOSwgNjUsIDE0MiwgMC4xNyk7XG59XG4ucnRlIC50YWJsZVdyYXBwZXIgdGFibGUgdHI6bnRoLWNoaWxkKG9kZCkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI5LCA2NSwgMTQyLCAwLjA2KTtcbn1cbi5ydGUgLnRhYmxlV3JhcHBlciB0YWJsZSB0aCB7XG4gIHBhZGRpbmc6IDNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFkNDE4ZTtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXItY29sb3I6IGJsYWNrO1xufVxuLnJ0ZSAudGFibGVXcmFwcGVyIHRhYmxlIHRkIHtcbiAgcGFkZGluZzogM3B4O1xuICBmb250LXNpemU6IDAuOTVlbTtcbn1cbi5ydGUgLnRhYmxlV3JhcHBlciB0YWJsZSBhIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbn1cbi5ydGUgLnRhYmxlV3JhcHBlciAubW9iaWxlU2Nyb2xsTWVzc2FnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBwYWRkaW5nOiA1cHggOHB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTNjMmY4O1xuICBjb2xvcjogYmxhY2s7XG59XG4ucnRlIC50YWJsZVdyYXBwZXIgLm1vYmlsZVNjcm9sbE1lc3NhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDEwMCU7XG4gIGxlZnQ6IDhweDtcbiAgd2lkdGg6IDBweDtcbiAgaGVpZ2h0OiAwcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMCA2cHggOHB4IDVweDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjOTNjMmY4IHRyYW5zcGFyZW50O1xufVxuLnJ0ZS5jYWxsb3V0U3VidGxlIHtcbiAgbWFyZ2luOiAwLjc1ZW0gMCAwLjllbTtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmVjO1xuICBjb2xvcjogYmxhY2s7XG59XG4ucnRlLmNhbGxvdXRTdWJ0bGUgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmViZWM7XG4gIGNvbG9yOiBibGFjaztcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGJsYWNrO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAucnRlLmNhbGxvdXRTdWJ0bGUgYTpob3ZlciB7XG4gICAgY29sb3I6ICMzZjNmM2Y7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzNmM2YzZjtcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gLnJ0ZS5jYWxsb3V0U3VidGxlIGE6aG92ZXIge1xuICBjb2xvcjogIzNmM2YzZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMzZjNmM2Y7XG59XG4uaWUgLnJ0ZS5jYWxsb3V0U3VidGxlIGE6aG92ZXIge1xuICBjb2xvcjogIzNmM2YzZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMzZjNmM2Y7XG59XG4ucnRlLmNhbGxvdXRTdWJ0bGUgYS5mb2N1cy12aXNpYmxlIHtcbiAgY29sb3I6ICMzZjNmM2Y7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjM2YzZjNmO1xufVxuLnJ0ZS5jYWxsb3V0U3VidGxlIGE6Zm9jdXMtdmlzaWJsZSB7XG4gIGNvbG9yOiAjM2YzZjNmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzNmM2YzZjtcbn1cbi5ydGUuY2FsbG91dFN1YnRsZSA+ICo6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG4ucnRlLmNhbGxvdXRTdWJ0bGUgPiAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4ucnRlLmNhbGxvdXRCb2xkIHtcbiAgbWFyZ2luOiAwLjc1ZW0gMCAwLjllbTtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTNjMmY4O1xuICBjb2xvcjogYmxhY2s7XG59XG4ucnRlLmNhbGxvdXRCb2xkIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTNjMmY4O1xuICBjb2xvcjogYmxhY2s7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBibGFjaztcbn1cbkBtZWRpYSAoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgLnJ0ZS5jYWxsb3V0Qm9sZCBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzNmM2YzZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjM2YzZjNmO1xuICB9XG59XG5bZGF0YS1icm93c2VyPWllXSAucnRlLmNhbGxvdXRCb2xkIGE6aG92ZXIge1xuICBjb2xvcjogIzNmM2YzZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMzZjNmM2Y7XG59XG4uaWUgLnJ0ZS5jYWxsb3V0Qm9sZCBhOmhvdmVyIHtcbiAgY29sb3I6ICMzZjNmM2Y7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjM2YzZjNmO1xufVxuLnJ0ZS5jYWxsb3V0Qm9sZCBhLmZvY3VzLXZpc2libGUge1xuICBjb2xvcjogIzNmM2YzZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMzZjNmM2Y7XG59XG4ucnRlLmNhbGxvdXRCb2xkIGE6Zm9jdXMtdmlzaWJsZSB7XG4gIGNvbG9yOiAjM2YzZjNmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzNmM2YzZjtcbn1cbi5ydGUuY2FsbG91dEJvbGQgPiAqOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuLnJ0ZS5jYWxsb3V0Qm9sZCA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuQGNvbnRhaW5lciAobWF4LXdpZHRoOiA1MDBweCkge1xuICAucnRlIC50YWJsZVdyYXBwZXIgLm1vYmlsZVNjcm9sbE1lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDY1MHB4KSB7XG4gIC5ydGUgLnRhYmxlV3JhcHBlciAubW9iaWxlU2Nyb2xsTWVzc2FnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTIwcHgpIHtcbiAgLnJ0ZSAubGFyZ2VUZXh0IHtcbiAgICBmb250LXNpemU6IDEuMDVlbTtcbiAgfVxuICAucnRlIGgzLmhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogMi4xZW07XG4gIH1cbiAgLnJ0ZSBoNC5zdWJoZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDEuNjVlbTtcbiAgfVxuICAucnRlIGgzLmhlYWRpbmdMaXN0IHtcbiAgICBmb250LXNpemU6IDEuNGVtO1xuICAgIGNvbG9yOiAjMDAzMjVkO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB9XG4gIC5ydGUgaDQuc3ViaGVhZGluZ0xpc3Qge1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gICAgY29sb3I6ICMxZDQxOGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIH1cbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5tYWludGVuYW5jZSB7XG4gIGJhY2tncm91bmQ6ICMxZDQxOGU7XG4gIGJvcmRlci1jb2xvcjogI2ZmZjtcbn1cbiNtZW1iZXJzaGlwIC5mb3JtV3JhcC5tYWludGVuYW5jZSAuZm9ybUFyZWEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuI21lbWJlcnNoaXAgLmZvcm1XcmFwLm1haW50ZW5hbmNlIC5mb3JtQXJlYSAucnRlIHtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG59XG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubWFpbnRlbmFuY2UgLmZvcm1BcmVhIC5pY29uIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGZsZXgtZ3JvdzogMDtcbiAgd2lkdGg6IDM1MHB4O1xuICBoZWlnaHQ6IDM1MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxNmVtO1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkICM2NThjZGY7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogODAwcHgpIHtcbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLm1haW50ZW5hbmNlIC5mb3JtQXJlYSAuaWNvbiB7XG4gICAgd2lkdGg6IDMwJTtcbiAgICBoZWlnaHQ6IDE1MHB4O1xuICAgIGZvbnQtc2l6ZTogNmVtO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNjUwcHgpIHtcbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLm1haW50ZW5hbmNlIC5mb3JtQXJlYSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gICNtZW1iZXJzaGlwIC5mb3JtV3JhcC5tYWludGVuYW5jZSAuZm9ybUFyZWEgLmljb24ge1xuICAgIHdpZHRoOiA3NXB4O1xuICAgIGhlaWdodDogNzVweDtcbiAgICBmb250LXNpemU6IDNlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM2NThjZGY7XG4gIH1cbn1cbi5tZW1iZXJzaGlwUGFnZSAuZXJyb3JQYWdlIC5lcnJvcldyYXAge1xuICBiYWNrZ3JvdW5kOiAjMWQ0MThlO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICBjb2xvcjogI2ZmZjtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgcGFkZGluZzogMzBweDtcbn1cbi5tZW1iZXJzaGlwUGFnZSAuZXJyb3JQYWdlIC5pY29uIHtcbiAgcGFkZGluZzogMzBweDtcbiAgZm9udC1zaXplOiA4ZW07XG4gIGJvcmRlci1sZWZ0OiAycHggc29saWQgcmdiKDE2NywgMTk2LCAyMjEpO1xuICB3aWR0aDogNTAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5tZW1iZXJzaGlwUGFnZSAuZXJyb3JQYWdlIC5ydGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDQwcHggMzBweCAyMHB4IDMwcHg7XG4gIHdpZHRoOiA1MCU7XG59XG4ubWVtYmVyc2hpcFBhZ2UgLmVycm9yUGFnZSAucnRlIGgzLmhlYWRpbmcge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHdoaXRlO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDgwMHB4KSB7XG4gIC5tZW1iZXJzaGlwUGFnZSAuZXJyb3JQYWdlIC5pY29uIHtcbiAgICBmb250LXNpemU6IDZlbTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDY1MHB4KSB7XG4gIC5tZW1iZXJzaGlwUGFnZSAuZXJyb3JQYWdlIC5lcnJvcldyYXAge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogMCAzMHB4O1xuICB9XG4gIC5tZW1iZXJzaGlwUGFnZSAuZXJyb3JQYWdlIC5pY29uIHtcbiAgICBmb250LXNpemU6IDVlbTtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgcmdiKDE2NywgMTk2LCAyMjEpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAubWVtYmVyc2hpcFBhZ2UgLmVycm9yUGFnZSAucnRlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gIH1cbn1cbmRldGFpbHMge1xuICB0cmFuc2l0aW9uOiBhbGwgNTAwbXM7XG59XG5cbmRldGFpbHMgPiBzdW1tYXJ5OjptYXJrZXIsXG5kZXRhaWxzID4gc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5hY2NvcmRpb25Nb2R1bGUgLmFjY29yZGlvblRpdGxlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uYWNjb3JkaW9uTW9kdWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDEwcHggMDtcbn1cbi5hY2NvcmRpb25Nb2R1bGVbb3Blbl0gPiAuYWNjb3JkaW9uVGl0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQ0MThlO1xuICBjb2xvcjogd2hpdGU7XG59XG4uYWNjb3JkaW9uTW9kdWxlW29wZW5dID4gLmFjY29yZGlvblRpdGxlIC5pY29uIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxODBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG59XG4uYWNjb3JkaW9uTW9kdWxlW29wZW5dID4gLmFjY29yZGlvblRpdGxlIC5pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXlwiO1xufVxuLmFjY29yZGlvbk1vZHVsZSAuYWNjb3JkaW9uVGl0bGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDMyNWQ7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogMjBweCAyMHB4IDIwcHggNDBweDtcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zO1xufVxuQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAuYWNjb3JkaW9uTW9kdWxlIC5hY2NvcmRpb25UaXRsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFkNDE4ZTtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbiAgLmFjY29yZGlvbk1vZHVsZSAuYWNjb3JkaW9uVGl0bGU6aG92ZXIgLmljb24ge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxufVxuW2RhdGEtYnJvd3Nlcj1pZV0gLmFjY29yZGlvbk1vZHVsZSAuYWNjb3JkaW9uVGl0bGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQ0MThlO1xuICBjb2xvcjogd2hpdGU7XG59XG5bZGF0YS1icm93c2VyPWllXSAuYWNjb3JkaW9uTW9kdWxlIC5hY2NvcmRpb25UaXRsZTpob3ZlciAuaWNvbiB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi5pZSAuYWNjb3JkaW9uTW9kdWxlIC5hY2NvcmRpb25UaXRsZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZDQxOGU7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi5pZSAuYWNjb3JkaW9uTW9kdWxlIC5hY2NvcmRpb25UaXRsZTpob3ZlciAuaWNvbiB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi5hY2NvcmRpb25Nb2R1bGUgLmFjY29yZGlvblRpdGxlLmZvY3VzLXZpc2libGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQ0MThlO1xuICBjb2xvcjogd2hpdGU7XG59XG4uYWNjb3JkaW9uTW9kdWxlIC5hY2NvcmRpb25UaXRsZS5mb2N1cy12aXNpYmxlIC5pY29uIHtcbiAgY29sb3I6IHdoaXRlO1xufVxuLmFjY29yZGlvbk1vZHVsZSAuYWNjb3JkaW9uVGl0bGU6Zm9jdXMtdmlzaWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZDQxOGU7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi5hY2NvcmRpb25Nb2R1bGUgLmFjY29yZGlvblRpdGxlOmZvY3VzLXZpc2libGUgLmljb24ge1xuICBjb2xvcjogd2hpdGU7XG59XG4uYWNjb3JkaW9uTW9kdWxlIC5hY2NvcmRpb25UaXRsZSAuaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDE4cHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApIHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRyYW5zaXRpb246IDAuMnMgdHJhbnNmb3JtO1xufVxuLmFjY29yZGlvbk1vZHVsZSAuYWNjb3JkaW9uVGl0bGUgLmljb246YmVmb3JlIHtcbiAgY29udGVudDogXCJAXCI7XG4gIGZvbnQtZmFtaWx5OiBcInNwZWxtYW5cIjtcbn1cbi5hY2NvcmRpb25Nb2R1bGUgLmFjY29yZGlvblRpdGxlIC50ZXh0IHtcbiAgZm9udC1zaXplOiAxLjFlbTtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xufVxuLmFjY29yZGlvbk1vZHVsZSAuYWNjb3JkaW9uV3JhcHBlciB7XG4gIGJvcmRlci10b3A6IDhweCBzb2xpZCAjZmVkMzRjO1xuICBwYWRkaW5nOiAxNXB4IDhweCAxMHB4O1xuICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDAgMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6IGJsYWNrO1xufVxuLmFjY29yZGlvbk1vZHVsZSAuYWNjb3JkaW9uV3JhcHBlciBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuLmFjY29yZGlvbk1vZHVsZSAuYWNjb3JkaW9uV3JhcHBlciBoMy5oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAxLjhlbTtcbn1cbi5hY2NvcmRpb25Nb2R1bGUgLmFjY29yZGlvbldyYXBwZXIgaDMuaGVhZGluZ0xpc3Qge1xuICBmb250LXNpemU6IDEuNGVtO1xufVxuLmFjY29yZGlvbk1vZHVsZSAuYWNjb3JkaW9uV3JhcHBlciBoNC5zdWJoZWFkaW5nTGlzdCB7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG59XG4uYWNjb3JkaW9uTW9kdWxlIC5hY2NvcmRpb25XcmFwcGVyIGgzLnN1YmhlYWRpbmcge1xuICBmb250LXNpemU6IDEuNWVtO1xufVxuLmFjY29yZGlvbk1vZHVsZSArIC5ydGUge1xuICBtYXJnaW4tdG9wOiAyNXB4O1xufSIsIkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICdKdWFuYSc7XHJcbiAgICBzcmM6IHVybCgnL2ZvbnRzL0p1YW5hLUJsYWNrSXQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XHJcbiAgICBmb250LXdlaWdodDogOTAwO1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnSnVhbmEnO1xyXG4gICAgc3JjOiB1cmwoJy9mb250cy9KdWFuYS1CbGFjay53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcclxuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICdOb2FoIEhlYWQnO1xyXG4gICAgc3JjOiB1cmwoJy9mb250cy9Ob2FoSGVhZC1CbGFja0l0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcclxuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICdOb2FoIEhlYWQnO1xyXG4gICAgc3JjOiB1cmwoJy9mb250cy9Ob2FoSGVhZC1CbGFjay53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcclxuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICdOb2FoIFRleHQnO1xyXG4gICAgc3JjOiB1cmwoJy9mb250cy9Ob2FoVGV4dC1SZWd1bGFySXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogJ05vYWggVGV4dCc7XHJcbiAgICBzcmM6IHVybCgnL2ZvbnRzL05vYWhUZXh0LVJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xyXG59XHJcblxyXG4iLCJAdXNlIFwic2FzczptZXRhXCI7XHJcbkB1c2UgXCJzYXNzOm1hdGhcIjtcclxuXHJcbi8qLS0tVEVYVCBBTkQgRk9OVC0tLSovXHJcblxyXG4vLy8gQ3JlYXRlIGEgdGV4dC1zaGFkb3cgd2l0aCBjbGVhcmVyIHByb3BlcnRpZXMuXHJcbi8vLyBAcGFyYW0geyp9ICR4IFswcHhdXHJcbi8vLyBAcGFyYW0geyp9ICR5IFsxcHhdXHJcbi8vLyBAcGFyYW0geyp9ICRibHVyIFswcHhdXHJcbi8vLyBAcGFyYW0geyp9ICRjb2xvciBbcmdiYSgwLCAwLCAwLCAwLjc1KV1cclxuQG1peGluIHRleHRTaGFkb3coJHg6IDBweCwgJHk6IDFweCwgJGJsdXI6IDBweCwgJGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNzUpKSB7XHJcbiAgdGV4dC1zaGFkb3c6ICR4ICR5ICRibHVyICRjb2xvcjtcclxufVxyXG5cclxuLy8vIFNldCBpY29uIGZvbnQgYW5kIG5vcm1hbGl6ZSBhbGwgcHJvcGVydGllcy5cclxuLy8vIEBwYXJhbSB7Kn0gJGZvbnQgWyRpY29uRm9udF1cclxuQG1peGluIGljb25Gb250KCRmb250OiAkaWNvbkZvbnQpIHtcclxuICBmb250LWZhbWlseTogJGZvbnQgIWltcG9ydGFudDtcclxuICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcclxuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcclxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIGxpbmUtaGVpZ2h0OiAxZW07XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbn1cclxuXHJcbi8qLS0tQkFDS0dST1VORC0tLSovXHJcblxyXG4vLy8gU2V0cyBiYWNrZ3JvdW5kIHRvIGNvdmVyIHdpdGggNTAlIDUwJSBwb3NpdGlvbi5cclxuQG1peGluIGJhY2tncm91bmRDb3ZlciB7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbn1cclxuXHJcbi8vLyBTZXRzIGhlaWdodCBhbmQgd2lkdGggdG8gMTAwJS5cclxuQG1peGluIGZpbGxTcGFjZSB7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vLy8gQ3JlYXRlIGEgYm94IHNoYWRvdyB3aXRoIGNsZWFyZXIgcHJvcGVydGllcy5cclxuLy8vIEBwYXJhbSB7Kn0gJHggWzBweF1cclxuLy8vIEBwYXJhbSB7Kn0gJHkgWzBweF1cclxuLy8vIEBwYXJhbSB7Kn0gJGJsdXIgWzJweF1cclxuLy8vIEBwYXJhbSB7Kn0gJHNwcmVhZCBbMnB4XVxyXG4vLy8gQHBhcmFtIHsqfSAkY29sb3IgW3JnYmEoMCwgMCwgMCwgMC4yKV1cclxuQG1peGluIGJveFNoYWRvdygkeDogMHB4LCAkeTogMHB4LCAkYmx1cjogMnB4LCAkc3ByZWFkOiAycHgsICRjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpKSB7XHJcbiAgYm94LXNoYWRvdzogJHggJHkgJGJsdXIgJHNwcmVhZCAkY29sb3I7XHJcbn1cclxuXHJcbi8vLyBDcmVhdGUgYSBib3ggc2hhZG93IHdpdGggY2xlYXJlciBwcm9wZXJ0aWVzLlxyXG4vLy8gQHBhcmFtIHsqfSAkeCBbMHB4XVxyXG4vLy8gQHBhcmFtIHsqfSAkeSBbMXB4XVxyXG4vLy8gQHBhcmFtIHsqfSAkYmx1ciBbM3B4XVxyXG4vLy8gQHBhcmFtIHsqfSAkc3ByZWFkIFswcHhdXHJcbi8vLyBAcGFyYW0geyp9ICRjb2xvciBbcmdiYSgwLCAwLCAwLCAwLjIpXVxyXG5AbWl4aW4gc2hhZG93LWluc2V0KCR4OiAwcHgsICR5OiAxcHgsICRibHVyOiAzcHgsICRzcHJlYWQ6IDBweCwgJGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMikpIHtcclxuICBib3gtc2hhZG93OiBpbnNldCAkeCAkeSAkYmx1ciAkc3ByZWFkICRjb2xvcjtcclxufVxyXG5cclxuLyotLS1QT1NJVElPTklORy0tLSovXHJcblxyXG4vLy8gU2V0cyBlbGVtZW50IHRvIHBvc2l0aW9uIGFic29sdXRlIHRvIHdpdGggdG9wOiAwIGFuZCBsZWZ0OiAwO1xyXG5AbWl4aW4gYWJzb2x1dGUge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxufVxyXG5cclxuLy8vIFNldHMgZWxlbWVudCB0byBwb3NpdGlvbiBmaXhlZCB0byB3aXRoIHRvcDogMCBhbmQgbGVmdDogMDtcclxuQG1peGluIGZpeGVkIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbn1cclxuXHJcbi8vLyBSZXNldHMgcG9zaXRpb24gcHJvcGVydGllcyAodG9wLCBib3R0b20sIGxlZnQsIHJpZ2h0KS5cclxuLy8vIEBwYXJhbSB7Kn0gJHBvcyBbcmVsYXRpdmVdIC0gU2V0cyB0aGUgcG9zaXRpb24gcHJvcGVydHkuXHJcbkBtaXhpbiByZXNldFBvcygkcG9zOiByZWxhdGl2ZSkge1xyXG4gIHBvc2l0aW9uOiAkcG9zO1xyXG4gIHRvcDogYXV0bztcclxuICBib3R0b206IGF1dG87XHJcbiAgbGVmdDogYXV0bztcclxuICByaWdodDogYXV0bztcclxufVxyXG5cclxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyBhbiBlbGVtZW50IHVzaW5nIHBvc2l0aW9uIGFic29sdXRlIGFuZCB0cmFuc2Zvcm1zLlxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRwZXJjZW50IFs1MCVdIC0gUHJvcGVydHkgdG9wIHBlcmNlbnRhZ2UuXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHRyYW5zIFs1MCVdIC0gUHJvcGVydHkgdHJhbnNsYXRlWSBwZXJjZW50YWdlLlxyXG5AbWl4aW4gdmVydENlbnRlcigkcGVyY2VudDogNTAlLCAkdHJhbnM6IDUwJSkge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6ICRwZXJjZW50O1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHRyYW5zKTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHRyYW5zKTtcclxufVxyXG5cclxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyBhbiBlbGVtZW50IHVzaW5nIHBvc2l0aW9uIGFic29sdXRlIGFuZCB0cmFuc2Zvcm1zLlxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRwZXJjZW50IFs1MCVdIC0gUHJvcGVydHkgbGVmdCBwZXJjZW50YWdlLlxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICR0cmFucyBbNTAlXSAtIFByb3BlcnR5IHRyYW5zbGF0ZVggcGVyY2VudGFnZS5cclxuQG1peGluIGhvcnpDZW50ZXIoJHBlcmNlbnQ6IDUwJSwgJHRyYW5zOiA1MCUpIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogJHBlcmNlbnQ7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kdHJhbnMpO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kdHJhbnMpO1xyXG59XHJcblxyXG5AbWl4aW4gdmVydEhvcnpDZW50ZXIge1xyXG4gIEBpbmNsdWRlIHZlcnRDZW50ZXI7XHJcbiAgQGluY2x1ZGUgaG9yekNlbnRlcjtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxufVxyXG5cclxuLy8vIERvZXMgd2hhdCBpdCBzYXlzIG9uIHRoZSB0aW4uIFNldHMgbWFyZ2luIGFuZCBwYWRkaW5nIHRvIDAuXHJcbkBtaXhpbiB6ZXJvTWFyZ1BhZCB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi8qLS0tQ09OVEVOVC0tLSovXHJcblxyXG4vLy8gVXNlZCBpbnNpZGUgOjpiZWZvcmUgYW5kIDo6YWZ0ZXIgZWxlbWVudHMuIFNldHMgd2lkdGggYW5kIGhlaWdodCB0byAxMDAlLlxyXG5AbWl4aW4gcHNldWRvQ29udGVudCB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi8vLyBDcmVhdGVzIGFuIDo6YWZ0ZXIgZWxlbWVudCB0byBwcmV2ZW50IGZsb2F0IG92ZXJsYXAuXHJcbkBtaXhpbiBjbGVhcmZpeCB7XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcbn1cclxuXHJcbi8qLS0tTElTVFMtLS0qL1xyXG5cclxuLy8vIFJlbW92ZSBsaXN0IHN0eWxpbmcsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXHJcbkBtaXhpbiByZWZvcm1hdExpc3Qge1xyXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICBAaW5jbHVkZSB6ZXJvTWFyZ1BhZDtcclxuXHJcbiAgbGkge1xyXG4gICAgQGluY2x1ZGUgemVyb01hcmdQYWQ7XHJcbiAgfVxyXG59XHJcblxyXG4vKi0tLUJPUkRFUiBBUlJPV1MtLS0qL1xyXG4vLy8gRHJhdyBhbiBhcnJvdyB1c2luZyBjc3MgYm9yZGVyc1xyXG4vLy8gQHBhcmFtIHt2YXJpYWJsZX0gJGRpciBbdG9wLCByaWdodCwgYm90dG9tLCBsZWZ0LCB0b3BSaWdodCwgYm90dG9tUmlnaHQsIHRvcExlZnQsIGJvdHRvbUxlZnRdXHJcbi8vLyBAcGFyYW0ge2NvbG9yfSAkY29sb3IgWyRsaWdodF1cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkaGVpZ2h0IFsyMHB4XVxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICR3aWR0aCBbMzBweF1cclxuQG1peGluIGNzc0Fycm93KCRkaXIsICRjb2xvcjogJHByaW1hcnksICRoZWlnaHQ6IDIwcHgsICR3aWR0aDogMjBweCkge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgd2lkdGg6IDA7XHJcbiAgaGVpZ2h0OiAwO1xyXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBAaWYgJGRpciA9PSB0b3Age1xyXG4gICAgYm9yZGVyLXdpZHRoOiAwIGNhbGMoI3skd2lkdGh9IC8gMikgJGhlaWdodCBjYWxjKCN7JHdpZHRofSAvIDIpO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xyXG4gIH0gQGVsc2UgaWYgJGRpciA9PSByaWdodCB7XHJcbiAgICBib3JkZXItd2lkdGg6IGNhbGMoI3skaGVpZ2h0fSAvIDIpIDAgY2FsYygjeyRoZWlnaHR9IC8gMikgJHdpZHRoO1xyXG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICRjb2xvcjtcclxuICB9IEBlbHNlIGlmICRkaXIgPT0gYm90dG9tIHtcclxuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCBjYWxjKCN7JHdpZHRofSAvIDIpIDAgY2FsYygjeyR3aWR0aH0gLyAyKTtcclxuICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcclxuICB9IEBlbHNlIGlmICRkaXIgPT0gbGVmdCB7XHJcbiAgICBib3JkZXItd2lkdGg6IGNhbGMoI3skaGVpZ2h0fSAvIDIpICR3aWR0aCBjYWxjKCN7JGhlaWdodH0gLyAyKSAwO1xyXG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY29sb3I7XHJcbiAgfSBAZWxzZSBpZiAkZGlyID09IHRvcFJpZ2h0IHtcclxuICAgIGJvcmRlci13aWR0aDogMCAkaGVpZ2h0ICR3aWR0aCAwO1xyXG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY29sb3I7XHJcbiAgfSBAZWxzZSBpZiAkZGlyID09IGJvdHRvbVJpZ2h0IHtcclxuICAgIGJvcmRlci13aWR0aDogMCAwICRoZWlnaHQgJHdpZHRoO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xyXG4gIH0gQGVsc2UgaWYgJGRpciA9PSBib3R0b21MZWZ0IHtcclxuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAwIDAgJHdpZHRoO1xyXG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICRjb2xvcjtcclxuICB9IEBlbHNlIGlmICRkaXIgPT0gdG9wTGVmdCB7XHJcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoIDAgMDtcclxuICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcclxuICB9IEBlbHNlIHtcclxuICAgIEBlcnJvciBcIlVua25vd24gZGlyZWN0aW9uICN7JGRpcn0uXCI7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gRHJhdyBhIGRvd24gYXJyb3cgdXNpbmcgY3NzIGJvcmRlcnNcclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkc2l6ZSBbOHB4XVxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRzaXplTFIgWyRzaXplXVxyXG4vLy8gQHBhcmFtIHtjb2xvcn0gJGNvbG9yIFskbGlnaHRdXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHRvcCBbYXV0b11cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkbGVmdCBbYXV0b11cclxuQG1peGluIHJpZ2h0QXJyb3coJHNpemU6IDhweCwgJHNpemVUQjogJHNpemUsICRjb2xvcjogJGxpZ2h0LCAkdG9wOiBhdXRvLCAkcmlnaHQ6IGF1dG8pIHtcclxuICBjb250ZW50OiBcIlwiO1xyXG4gIHdpZHRoOiAwO1xyXG4gIGhlaWdodDogMDtcclxuICBib3JkZXItdG9wOiAkc2l6ZVRCIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1ib3R0b206ICRzaXplVEIgc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLWxlZnQ6ICRzaXplIHNvbGlkICRjb2xvcjtcclxuICBib3JkZXItcmlnaHQ6IDA7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogJHRvcDtcclxuICByaWdodDogJHJpZ2h0O1xyXG59XHJcblxyXG4vLy8gRHJhdyBhIGRvd24gYXJyb3cgdXNpbmcgY3NzIGJvcmRlcnNcclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkc2l6ZSBbOHB4XVxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRzaXplTFIgWyRzaXplXVxyXG4vLy8gQHBhcmFtIHtjb2xvcn0gJGNvbG9yIFskbGlnaHRdXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHRvcCBbYXV0b11cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkbGVmdCBbYXV0b11cclxuQG1peGluIGxlZnRBcnJvdygkc2l6ZTogOHB4LCAkc2l6ZVRCOiAkc2l6ZSwgJGNvbG9yOiAkbGlnaHQsICR0b3A6IGF1dG8sICRsZWZ0OiBhdXRvKSB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICB3aWR0aDogMDtcclxuICBoZWlnaHQ6IDA7XHJcbiAgYm9yZGVyLXRvcDogJHNpemVUQiBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItYm90dG9tOiAkc2l6ZVRCIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1sZWZ0OiAwO1xyXG4gIGJvcmRlci1yaWdodDogJHNpemUgc29saWQgJGNvbG9yO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6ICR0b3A7XHJcbiAgbGVmdDogJGxlZnQ7XHJcbn1cclxuXHJcbi8vLyBEcmF3IGEgZG93biBhcnJvdyB1c2luZyBjc3MgYm9yZGVyc1xyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRzaXplIFs4cHhdXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHNpemVMUiBbJHNpemVdXHJcbi8vLyBAcGFyYW0ge2NvbG9yfSAkY29sb3IgWyRsaWdodF1cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkdG9wIFthdXRvXVxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRsZWZ0IFthdXRvXVxyXG5AbWl4aW4gdG9wQXJyb3coJHNpemU6IDhweCwgJHNpemVMUjogJHNpemUsICRjb2xvcjogJGxpZ2h0LCAkdG9wOiBhdXRvLCAkbGVmdDogYXV0bykge1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgd2lkdGg6IDA7XHJcbiAgaGVpZ2h0OiAwO1xyXG4gIGJvcmRlci1sZWZ0OiAkc2l6ZUxSIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1yaWdodDogJHNpemVMUiBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItYm90dG9tOiAkc2l6ZSBzb2xpZCAkY29sb3I7XHJcbiAgYm9yZGVyLXRvcDogMDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAkdG9wO1xyXG4gIGxlZnQ6ICRsZWZ0O1xyXG59XHJcblxyXG4vLy8gRHJhdyBhIGRvd24gYXJyb3cgdXNpbmcgY3NzIGJvcmRlcnNcclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkc2l6ZSBbOHB4XVxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICRzaXplTFIgWyRzaXplXVxyXG4vLy8gQHBhcmFtIHtjb2xvcn0gJGNvbG9yIFskbGlnaHRdXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJHRvcCBbYXV0b11cclxuLy8vIEBwYXJhbSB7bnVtYmVyfSAkbGVmdCBbYXV0b11cclxuQG1peGluIGJvdHRvbUFycm93KCRzaXplOiA4cHgsICRzaXplTFI6ICRzaXplLCAkY29sb3I6ICRsaWdodCwgJHRvcDogYXV0bywgJGxlZnQ6IGF1dG8pIHtcclxuICBjb250ZW50OiBcIlwiO1xyXG4gIHdpZHRoOiAwO1xyXG4gIGhlaWdodDogMDtcclxuICBib3JkZXItbGVmdDogJHNpemVMUiBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItcmlnaHQ6ICRzaXplTFIgc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLXRvcDogJHNpemUgc29saWQgJGNvbG9yO1xyXG4gIGJvcmRlci1ib3R0b206IDA7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogJHRvcDtcclxuICBsZWZ0OiAkbGVmdDtcclxufVxyXG5cclxuLy8vIEEga2luZCBvZiBoYWNreSBtaXhpbiB0byBmb3JjZSB0aGUgYnJvd3NlciB0byB1c2UgYSBHUFUgdG8gcmVuZGVyIHRoZSBlbGVtZW50LlxyXG5AbWl4aW4gdXNlR1BVIHtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAtd2Via2l0LXBlcnNwZWN0aXZlOiAxMDAwcHg7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBwZXJzcGVjdGl2ZTogMTAwMHB4O1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG59XHJcblxyXG4vLy8gVmlkZW8gYmFja2dyb3VuZCBzaXplLlxyXG4vLy8gQHBhcmFtIHsqfSAkYmdJbWcgLSBUaGUgYmFja2dyb3VuZCBpbWFnZS4gSW4gdGhlIGZvcm0gb2YgdXJsKC9pbWFnZS9teS1pbWFnZS5qcGcpLlxyXG5AbWl4aW4gdmlkZW9CRygkYmdJbWcpIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBAaW5jbHVkZSBhYnNvbHV0ZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICB2aWRlbyB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHotaW5kZXg6IC0xMDA7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAkYmdJbWc7XHJcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kQ292ZXI7XHJcbiAgfVxyXG59XHJcblxyXG4vKipGb3JtcyoqL1xyXG5cclxuLy8vIElucHV0IFBsYWNlaG9sZGVyIHN0eWxpbmdcclxuLy8vIEBwYXJhbSB7Y29sb3J9ICRjb2xvciBbbGlnaHRlbigkYmFzaWMsIDYwJSldIC0gVGhlIGNvbG9yIG9mIHRoZSBwbGFjZWhvbGRlciB0ZXh0LlxyXG4vLy8gQHBhcmFtIHsqfSAkc3R5bGUgW2l0YWxpY10gLSBGb250IHN0eWxlLlxyXG4vLy8gQHBhcmFtIHsqfSAkZm9udCBbJGJhc2ljRm9udF0gLSBGb250IGZhbWlseS5cclxuLy8vIEBwYXJhbSB7Kn0gJHNpemUgWzFlbV0gLSBGb250IHNpemUuXHJcbkBtaXhpbiBwbGFjZWhvbGRlcigkY29sb3I6IGxpZ2h0ZW4oJGJhc2ljLCA3MCUpLCAkc3R5bGU6IGl0YWxpYywgJGZvbnQ6ICRiYXNpY0ZvbnQsICRzaXplOiAxZW0pIHtcclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcblxyXG4gICAgZm9udDoge1xyXG4gICAgICBzdHlsZTogJHN0eWxlO1xyXG4gICAgICBmYW1pbHk6ICRmb250O1xyXG4gICAgICBzaXplOiAkc2l6ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICAvKiBGaXJlZm94IDE4LSAqL1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICBmb250OiB7XHJcbiAgICAgIHN0eWxlOiAkc3R5bGU7XHJcbiAgICAgIGZhbWlseTogJGZvbnQ7XHJcbiAgICAgIHNpemU6ICRzaXplO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICAvKiBGaXJlZm94IDE5KyAqL1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICBmb250OiB7XHJcbiAgICAgIHN0eWxlOiAkc3R5bGU7XHJcbiAgICAgIGZhbWlseTogJGZvbnQ7XHJcbiAgICAgIHNpemU6ICRzaXplO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICBmb250OiB7XHJcbiAgICAgIHN0eWxlOiAkc3R5bGU7XHJcbiAgICAgIGZhbWlseTogJGZvbnQ7XHJcbiAgICAgIHNpemU6ICRzaXplO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIEJyZWFrcyBsb25nIHdvcmRzIGFuZCB1cmxzXHJcbi8vLyBAYXV0aG9yIEthcmwgUm9zc1xyXG5AbWl4aW4gd29yZEJyZWFrIHtcclxuICAvKiBUaGVzZSBhcmUgdGVjaG5pY2FsbHkgdGhlIHNhbWUsIGJ1dCB1c2UgYm90aCAqL1xyXG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG5cclxuICAtbXMtd29yZC1icmVhazogYnJlYWstYWxsO1xyXG4gIC8qIEluc3RlYWQgdXNlIHRoaXMgbm9uLXN0YW5kYXJkIG9uZTogKi9cclxuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG5cclxuICAvKiBBZGRzIGEgaHlwaGVuIHdoZXJlIHRoZSB3b3JkIGJyZWFrcywgaWYgc3VwcG9ydGVkIChObyBCbGluaykgKi9cclxuICAtbXMtaHlwaGVuczogYXV0bztcclxuICAtbW96LWh5cGhlbnM6IGF1dG87XHJcbiAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xyXG4gIGh5cGhlbnM6IGF1dG87XHJcbn1cclxuXHJcbi8vLyBIaWRlcyBhbiBlbGVtZW50IGJ1dCBzdGlsbCBhbGxvd3MgaXQgdG8gYmUgcmVhZCBieSBhIHNjcmVlbiByZWFkZXIuXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbkBtaXhpbiBzY3JlZW5SZWFkZXIoKSB7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XHJcbiAgaGVpZ2h0OiAxcHg7XHJcbiAgbWFyZ2luOiAtMXB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgcGFkZGluZzogMDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDFweDtcclxufVxyXG5cclxuLy8gRml4ZXMgbGVnZW5kcyBvbiBvbGRlciBicm93c2VycyBhbmQgc21hbGxlciBicm93c2Vycy5cclxuQG1peGluIGxlZ2VuZEZpeCB7XHJcbiAgLy9UaGlzIGZpeGVzIGZvciByZXNwb25zaXZlXHJcbiAgZGlzcGxheTogdGFibGU7XHJcbiAgLyogRW5hYmxlIGxpbmUtd3JhcHBpbmcgaW4gSUU4KyAqL1xyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgLyogRW5hYmxlIGxpbmUtd3JhcHBpbmcgaW4gb2xkIHZlcnNpb25zIG9mIHNvbWUgb3RoZXIgYnJvd3NlcnMgKi9cclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLy8vIFN0eWxlIHNjcm9sbGJhcnMgd2l0aCBhbGwgYnJvd3NlciB2ZW5kb3IgcHJvcGVydGllcy5cclxuLy8vIEBhdXRob3IgS291cnRuZXkgU3RyaWNrbGFuZFxyXG4vLy8gQHBhcmFtIHtudW1iZXJ9ICR3aWR0aCBbNXB4XSAtIFRoZSB3aWR0aCBvZiB0aGUgc2Nyb2xsYmFyLlxyXG4vLy8gQHBhcmFtIHtjb2xvcn0gJGNvbG9yIFsjNDQ0NDQ0XSAtIFRoZSBjb2xvciBvZiB0aGUgc2Nyb2xsIGtub2IuXHJcbi8vLyBAcGFyYW0ge2NvbG9yfSAkYmdDb2xvciBbI2Y1ZjVmNV0gLSBUaGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc2Nyb2xsYmFyLlxyXG4vLy8gQHBhcmFtIHtib29sZWFufSAkc2hhZG93IFt0cnVlXSAtIFdoZXRoZXIgdG8gZHJhdyBhIGJveCBzaGFkb3cgb24gdGhlIHNjcm9sbGJhci5cclxuQG1peGluIHNjcm9sbGJhcigkd2lkdGg6IDVweCwgJGNvbG9yOiAjNDQ0NDQ0LCAkYmdDb2xvcjogI2Y1ZjVmNSwgJHNoYWRvdzogdHJ1ZSkge1xyXG4gIC8vIE5vbnN0YW5kYXJkIHdlYmtpdCBwcm9wZXJ0aWVzLCB3b3JrcyBvbiBDaHJvbWUsIE1vZGVybiBFZGdlLCBhbmQgU2FmYXJpXHJcbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgQGlmICRzaGFkb3cge1xyXG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG4gICAgfVxyXG5cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZ0NvbG9yO1xyXG4gIH1cclxuXHJcbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgd2lkdGg6ICR3aWR0aDtcclxuICAgIGhlaWdodDogJHdpZHRoO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnQ29sb3I7XHJcbiAgfVxyXG5cclxuICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG5cclxuICAvLyBUaGUgcHJvcGVyLCBzdGFuZGFyZCB3YXkgdG8gc3R5bGUgc2Nyb2xsYmFycy4gU3VwcG9ydGVkIGluIEZpcmVmb3gsIEVkZ2UgMTIxKywgYW5kIENocm9tZSAxMjErXHJcbiAgc2Nyb2xsYmFyLWNvbG9yOiAkY29sb3IgJGJnQ29sb3I7XHJcbiAgQGlmICgkd2lkdGggPCAxNXB4KSB7XHJcbiAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gU2hvcnRoYW5kIGZvciBhIGZsZXhib3ggY29udGFpbmVyIHRoYXQganVzdGlmZXMgY29udGVudCBhdCB0aGUgc3RhcnQuXHJcbi8vLyBAYXV0aG9yIEtvdXJ0bmV5IFN0cmlja2xhbmRcclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkZGlyIFtyb3ddIC0gVGhlIGZsZXgtZGlyZWN0aW9uIG9mIHRoZSBlbGVtZW50LlxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRqdXN0aWZ5IFtzcGFjZS1iZXR3ZWVuXSAtIFRoZSBqdXN0aWZ5LWNvbnRlbnQgcHJvcGVydHkgb2YgdGhlIGVsZW1lbnQuXHJcbkBtaXhpbiBmbGV4SnVzdGlmeSgkZGlyOiByb3csICRqdXN0aWZ5OiBzcGFjZS1iZXR3ZWVuKSB7XHJcbiAgLy9hbHRlcm5hdGUgd291bGQgYmUgc3BhY2UtYXJvdW5kXHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZmxleC1kaXJlY3Rpb246ICRkaXI7XHJcbn1cclxuXHJcbi8vLyBTaG9ydGhhbmQgZm9yIGEgZmxleGJveCBjb250YWluZXIgdGhhdCBqdXN0aWZlcyBjb250ZW50IGluIGNlbnRlci5cclxuLy8vIEBhdXRob3IgS291cnRuZXkgU3RyaWNrbGFuZFxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRkaXIgW3Jvd10gLSBUaGUgZmxleC1kaXJlY3Rpb24gb2YgdGhlIGVsZW1lbnQuXHJcbkBtaXhpbiBmbGV4Q2VudGVyKCRkaXI6IHJvdykge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBmbGV4LWRpcmVjdGlvbjogJGRpcjtcclxufVxyXG5cclxuLy8vIFNob3J0aGFuZCBmb3IgYSBmbGV4Ym94IGNvbnRhaW5lciB0aGF0IGp1c3RpZmVzIGNvbnRlbnQgYXQgdGhlIGVuZC5cclxuLy8vIEBhdXRob3IgS291cnRuZXkgU3RyaWNrbGFuZFxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRkaXIgW3Jvd10gLSBUaGUgZmxleC1kaXJlY3Rpb24gb2YgdGhlIGVsZW1lbnQuXHJcbkBtaXhpbiBmbGV4RW5kKCRkaXI6IHJvdykge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyO1xyXG59XHJcblxyXG4vLy8gU2hvcnRoYW5kIGZvciBhIGZsZXhib3ggY29udGFpbmVyIHRoYXQganVzdGlmZXMgY29udGVudCBhdCB0aGUgc3RhcnQuXHJcbi8vLyBAYXV0aG9yIEtvdXJ0bmV5IFN0cmlja2xhbmRcclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkZGlyIFtyb3ddIC0gVGhlIGZsZXgtZGlyZWN0aW9uIG9mIHRoZSBlbGVtZW50LlxyXG5AbWl4aW4gZmxleFN0YXJ0KCRkaXI6IHJvdykge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZmxleC1kaXJlY3Rpb246ICRkaXI7XHJcbn1cclxuXHJcbi8vLyBDcmVhdGVzIGEgZmxleGlibGUgaG9yaXpvbnRhbCBsYXlvdXQgb2YgYWJzb2x1dGVseS1wb3NpdGlvbmVkIGNoaWxkIGVsZW1lbnRzIG9mIGVxdWFsIHdpZHRoLlxyXG4vLy8gVmVyeSB1c2VmdWwgZm9yIHNvbWV0aGluZyBsaWtlIGEgbWFpbiBuYXYgdGhhdCB0cmFuc2l0aW9ucy4gQmVjYXVzZSBldmVyeXRoaW5nIGlzIGFscmVhZHkgYWJzb2x1dGUsXHJcbi8vLyB5b3UgY2FuIGVhc2lseSBtb3ZlIHNlY3Rpb25zIG91dCBhbmQgaW4gdXNpbmcgdGhlIHRvcC9sZWZ0IHByb3BlcnRpZXMuXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJG1heC1udW0tb2YtY2hpbGRyZW4gWzddIC0gSWYgdGhlIG51bWJlciBvZiBjaGlsZHJlbiBleGNlZWRzIHRoaXMgbnVtYmVyLCB0aGUgbGF5b3V0IHdpbGwgYnJlYWsuXHJcbi8vLyBAcGFyYW0ge3N0cmluZ30gJG9yaWVudGF0aW9uIFt2ZXJ0aWNhbF0gLSBUaGUgZGlyZWN0aW9uIG9mIHRoZSBmbGV4IGNvbnRhaW5lci4gRWl0aGVyIFwidmVydGljYWxcIiBvciBcImhvcml6b250YWxcIi5cclxuQG1peGluIGFic29sdXRlRmxleCgkbWF4LW51bS1vZi1jaGlsZHJlbjogNywgJG9yaWVudGF0aW9uOiBcInZlcnRpY2FsXCIsICRndXR0ZXI6IDAlKSB7XHJcbiAgQGlmIHR5cGUtb2YoJG1heC1udW0tb2YtY2hpbGRyZW4pICE9bnVtYmVyIHtcclxuICAgIEBlcnJvciBcIklucHV0IGAkbWF4LW51bS1vZi1jaGlsZHJlbmAgbXVzdCBiZSBhIG51bWJlci5cIjtcclxuICB9XHJcblxyXG4gIEBpZiAkb3JpZW50YXRpb24gIT0gXCJob3Jpem9udGFsXCIgYW5kICRvcmllbnRhdGlvbiAhPSBcInZlcnRpY2FsXCIge1xyXG4gICAgQGVycm9yIFwiSW5wdXQgYCRtYXgtbnVtLW9mLWNoaWxkcmVuYCBtdXN0IGJlIHNldCB0byBlaXRoZXIgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGBcIjtcclxuICB9XHJcblxyXG4gIEB3aGlsZSAkbWF4LW51bS1vZi1jaGlsZHJlbj4xIHtcclxuICAgICRzaXplOiBtYXRoLmRpdigxMDAlLCAkbWF4LW51bS1vZi1jaGlsZHJlbik7XHJcbiAgICAkZ3V0dGVyU2l6ZU9mZnNldDogbWF0aC5kaXYoJGd1dHRlciwgJG1heC1udW0tb2YtY2hpbGRyZW4pO1xyXG5cclxuICAgIC8vIFdlIGNhbiBkZXRlY3QgdGhlIG51bWJlciBvZiBpdGVtcyBhIHBhcmVudCBoYXMgcHVyZWx5IHdpdGggQ1NTLiBDcmF6eSwgaHVoIVxyXG4gICAgPiAqOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JG1heC1udW0tb2YtY2hpbGRyZW59KSxcclxuICAgID4gKjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRtYXgtbnVtLW9mLWNoaWxkcmVufSkgfiAqIHtcclxuICAgICAgQGlmICgkb3JpZW50YXRpb249PSBcImhvcml6b250YWxcIikge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKCN7JHNpemV9IC0gI3skZ3V0dGVyIC0gJGd1dHRlclNpemVPZmZzZXR9KTtcclxuICAgICAgfSBAZWxzZSBpZiAoJG9yaWVudGF0aW9uPT0gXCJ2ZXJ0aWNhbFwiKSB7XHJcbiAgICAgICAgaGVpZ2h0OiBjYWxjKCN7JHNpemV9IC0gI3skZ3V0dGVyIC0gJGd1dHRlclNpemVPZmZzZXR9KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gQ2FsY3VsYXRlIGFuZCBzZXQgY2hpbGQgcG9zaXRpb24uXHJcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG1heC1udW0tb2YtY2hpbGRyZW4ge1xyXG4gICAgICAgICY6bnRoLWNoaWxkKCN7JGl9KSB7XHJcbiAgICAgICAgICBAaWYgKCRvcmllbnRhdGlvbj09IFwiaG9yaXpvbnRhbFwiKSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoI3skc2l6ZSAqICRpIC0gJHNpemV9ICsgI3skZ3V0dGVyIC0gJGd1dHRlclNpemVPZmZzZXQgKiAkaX0pO1xyXG4gICAgICAgICAgfSBAZWxzZSBpZiAoJG9yaWVudGF0aW9uPT0gXCJ2ZXJ0aWNhbFwiKSB7XHJcbiAgICAgICAgICAgIHRvcDogJHNpemUgKiAkaSAtICRzaXplO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICRtYXgtbnVtLW9mLWNoaWxkcmVuOiAkbWF4LW51bS1vZi1jaGlsZHJlbiAtIDE7XHJcbiAgfVxyXG5cclxuICA+ICoge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIH1cclxufVxyXG5cclxuLy8vIENyZWF0ZSBhIGJsdXIgZWZmZWN0IHdpdGggZmFsbGJhY2tzIGZvciB1bnN1cHBvcnRlZCBicm93c2Vycy5cclxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cclxuLy8vIEBwYXJhbSB7Y29sb3J9ICRjb2xvciAtIFRoZSBiYWNrZ3JvdW5kLWNvbG9yIG9mIHRoZSBlbGVtZW50LlxyXG4vLy8gQHBhcmFtIHtudW19ICRvcGFjaXR5IFs4NSVdIC0gVGhlIGxldmVsIG9mIG9wYWNpdHkgZGVzaXJlZC5cclxuQG1peGluIGZyb3N0ZWRHbGFzcygkY29sb3I6ICRsaWdodCwgJG9wYWNpdHk6IDg1JSkge1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLCAkb3BhY2l0eSk7XHJcblxyXG4gIEBzdXBwb3J0cyAoYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpKSB7XHJcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XHJcblxyXG4gICAgQGlmICgkb3BhY2l0eSAtIDIwJSA+IDApIHtcclxuICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3IsICRvcGFjaXR5IC0gMjAlKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIERlbGl2ZXJzIGJ1bGxldHByb29mIGhvdmVyIHN0eWxpbmcgdGhhdCBwcmV2ZW50cyB0b3VjaCBldmVudHMgZnJvbSB0cmlnZ2VyaW5nXHJcbi8vLyBzaW5jZSA5OSUgb2YgdGhlIHRpbWUgdGhhdCdzIG5vdCB3aGF0IHlvdSB3YW50LiBJbmNsdWRlcyBmYWxsYmFja3MgZm9yIG9sZGVyIGJyb3dzZXJzLlxyXG4vLy8gV2UgdXNlZCB0byB1c2UgYW55LXBvaW50ZXI6IGZpbmUgYnV0IGZvciBzb21lIHJlYXNvbiB0aGF0IHdhcyBhbHdheXMgcmV0dXJuaW5nIHRydWVcclxuLy8vIG9uIEFuZHJvaWQgZGV2aWNlcywgZXZlbiB3aXRoIG5vIG1vdXNlIGF0dGFjaGVkLiBTbyBpdCdzIGJhY2sgdG8gcmVndWxhciBvbGQgcG9pbnRlcjogZmluZS5cclxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cclxuLy8vIEBjb250ZW50XHJcbkBtaXhpbiBob3ZlcigpIHtcclxuICBAbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBbZGF0YS1icm93c2VyPVwiaWVcIl0gJjpob3ZlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcblxyXG4gIC5pZSAmOmhvdmVyIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8vIERlbGl2ZXJzIGJ1bGxldHByb29mIGZvY3VzLXZpc2libGUgc3R5bGluZyB3aXRoIGZhbGxiYWNrcyBmb3Igb2xkZXIgYnJvd3NlcnMuIFJlcXVpcmVzXHJcbi8vLyBhIEpTIHBvbHlmaWxsIChXSUNHIGZvY3VzLXZpc2libGUpIGZvciBvbGRlciBicm93c2Vycy5cclxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cclxuLy8vIEBjb250ZW50XHJcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vV0lDRy9mb2N1cy12aXNpYmxlXHJcbkBtaXhpbiBmb2N1cygpIHtcclxuICAmLmZvY3VzLXZpc2libGUge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG5cclxuICAmOmZvY3VzLXZpc2libGUge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQG1peGluIGhvdmVyIGFuZCBAbWl4aW4gZm9jdXMgc3R5bGluZyBpbiBvbmUgbWl4aW4uXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAY29udGVudFxyXG5AbWl4aW4gaG92ZXJBbmRGb2N1cygpIHtcclxuICBAaW5jbHVkZSBob3ZlciB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvY3VzIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuLy8vIEFjY2Vzc2libGUgYmFja2dyb3VuZHMhIEVuc3VyZSB5b3VyIGVsZW1lbnRzIGFsd2F5cyBoYXZlIHByb3BlciBjb250cmFzdCBieSBzZXR0aW5nIGJvdGggYmFja2dyb3VuZC1jb2xvciBhbmQgY29sb3IgcHJvcGVydGllcy5cclxuLy8vIEBhdXRob3IgQmVuIFJpY2hhcmRzb25cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkYmcgLSBUaGUgYmFja2dyb3VuZCB0byB1c2UgZm9yIHRoZSBlbGVtZW50LlxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICR0ZXh0RGFyayBbZGFya10gLSBUZXh0IGNvbG9yIHRvIHVzZSB3aGVuIGVsZW1lbnQncyBiYWNrZ3JvdW5kIGlzIGFib3ZlIGEgY2VydGFpbiB0aHJlc2hvbGQgaW4gbGlnaHRuZXNzLlxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICR0ZXh0TGlnaHQgW3doaXRlXSAtIFRleHQgY29sb3IgdG8gdXNlIHdoZW4gZWxlbWVudCdzIGJhY2tncm91bmQgaXMgYmVsb3cgYSBjZXJ0YWluIHRocmVzaG9sZCBpbiBsaWdodG5lc3MuXHJcbkBtaXhpbiBiZ1dpdGhDb250cmFzdCgkYmcsICR0ZXh0RGFyazogYmxhY2ssICR0ZXh0TGlnaHQ6IHdoaXRlKSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xyXG5cclxuICAkcmF0aW9XaXRoRGFyazogd2NhZy1jb250cmFzdC1yYXRpbygkYmcsICR0ZXh0RGFyayk7XHJcbiAgJHJhdGlvV2l0aExpZ2h0OiB3Y2FnLWNvbnRyYXN0LXJhdGlvKCRiZywgJHRleHRMaWdodCk7XHJcblxyXG4gIEBpZiAkcmF0aW9XaXRoRGFyayA8IDMgYW5kICRyYXRpb1dpdGhMaWdodCA8IDMge1xyXG4gICAgQGVycm9yIFwiVGhlIGNvbG9yICN7JGJnfSBkb2VzIG5vdCBtZWV0IFdDQUcgQUEgbWluaW11bSBhY2Nlc3NpYmlsaXR5IGNvbnRyYXN0IHJhdGlvIG9mIDM6MS4gUGxlYXNlIGNob29zZSBhIGRpZmZlcmVudCBjb2xvciBjb21iaW5hdGlvbi5cIjtcclxuICB9IEBlbHNlIGlmICRyYXRpb1dpdGhEYXJrIDwgNC41IGFuZCAkcmF0aW9XaXRoTGlnaHQgPCA0LjUge1xyXG4gICAgQHdhcm4gXCJUaGUgY29sb3IgI3skYmd9IGRvZXMgbm90IG1lZXQgV0NBRyBBQSBtaW5pbXVtIGFjY2Vzc2liaWxpdHkgY29udHJhc3QgcmF0aW8gb2YgNC41OjEuIFBsZWFzZSBjb25maXJtIHRoYXQgYW55IHRleHQgaW5zaWRlIHRoaXMgZWxlbWVudCBpcyBncmVhdGVyIHRoYW4gMThweC5cIjtcclxuICB9XHJcblxyXG4gIEBpZiAkcmF0aW9XaXRoRGFyayA+PSAkcmF0aW9XaXRoTGlnaHQge1xyXG4gICAgY29sb3I6ICR0ZXh0RGFyaztcclxuICB9IEBlbHNlIHtcclxuICAgIGNvbG9yOiAkdGV4dExpZ2h0O1xyXG4gIH1cclxufVxyXG5cclxuLy8vIEFjY2Vzc2libGUgdGV4dCEgRW5zdXJlIHlvdXIgZWxlbWVudHMgYWx3YXlzIGhhdmUgcHJvcGVyIGNvbnRyYXN0IGJ5IHNldHRpbmcgYm90aCBjb2xvciBhbmQgYmFja2dyb3VuZC1jb2xvciBwcm9wZXJ0aWVzLlxyXG4vLy8gQGF1dGhvciBCZW4gUmljaGFyZHNvblxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICR0ZXh0Q29sb3IgLSBUaGUgdGV4dCBjb2xvciB0byB1c2UgZm9yIHRoZSBlbGVtZW50LlxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRiZ0RhcmsgW2RhcmtdIC0gQmFja2dyb3VuZCBjb2xvciB0byB1c2Ugd2hlbiBlbGVtZW50J3MgdGV4dCBpcyBhYm92ZSBhIGNlcnRhaW4gdGhyZXNob2xkIGluIGxpZ2h0bmVzcy5cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkYmdMaWdodCBbd2hpdGVdIC0gQmFja2dyb3VuZCBjb2xvciB0byB1c2Ugd2hlbiBlbGVtZW50J3MgdGV4dCBpcyBiZWxvdyBhIGNlcnRhaW4gdGhyZXNob2xkIGluIGxpZ2h0bmVzcy5cclxuQG1peGluIGNvbG9yV2l0aENvbnRyYXN0KCR0ZXh0Q29sb3IsICRiZ0Rhcms6IGJsYWNrLCAkYmdMaWdodDogd2hpdGUpIHtcclxuICBjb2xvcjogJHRleHRDb2xvcjtcclxuXHJcbiAgJHJhdGlvV2l0aERhcms6IHdjYWctY29udHJhc3QtcmF0aW8oJHRleHRDb2xvciwgJGJnRGFyayk7XHJcbiAgJHJhdGlvV2l0aExpZ2h0OiB3Y2FnLWNvbnRyYXN0LXJhdGlvKCR0ZXh0Q29sb3IsICRiZ0xpZ2h0KTtcclxuXHJcbiAgQGlmICRyYXRpb1dpdGhEYXJrIDwgMyBhbmQgJHJhdGlvV2l0aExpZ2h0IDwgMyB7XHJcbiAgICBAZXJyb3IgXCJUaGUgY29sb3IgI3skdGV4dENvbG9yfSBkb2VzIG5vdCBtZWV0IFdDQUcgQUEgbWluaW11bSBhY2Nlc3NpYmlsaXR5IGNvbnRyYXN0IHJhdGlvIG9mIDM6MS4gUGxlYXNlIGNob29zZSBhIGRpZmZlcmVudCBjb2xvciBjb21iaW5hdGlvbi5cIjtcclxuICB9IEBlbHNlIGlmICRyYXRpb1dpdGhEYXJrIDwgNC41IGFuZCAkcmF0aW9XaXRoTGlnaHQgPCA0LjUge1xyXG4gICAgQHdhcm4gXCJUaGUgY29sb3IgI3skdGV4dENvbG9yfSBkb2VzIG5vdCBtZWV0IFdDQUcgQUEgbWluaW11bSBhY2Nlc3NpYmlsaXR5IGNvbnRyYXN0IHJhdGlvIG9mIDQuNToxLiBQbGVhc2UgY29uZmlybSB0aGF0IGFueSB0ZXh0IGluc2lkZSB0aGlzIGVsZW1lbnQgaXMgZ3JlYXRlciB0aGFuIDE4cHguXCI7XHJcbiAgfVxyXG5cclxuICBAaWYgJHJhdGlvV2l0aERhcmsgPj0gJHJhdGlvV2l0aExpZ2h0IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZ0Rhcms7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmdMaWdodDtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBSZXR1cm5zIGEgY29udHJhc3RpbmcgY29sb3IgdmFsdWUgdG8gdGhlIGdpdmVuIGNvbG9yLlxyXG4vLy8gQGF1dGhvciBCZW4gUmljaGFyZHNvblxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICRjb2xvciAtIFRoZSBjb2xvciB0byBjb250cmFzdCBhZ2Fpbi5cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkZGFyayBbZGFya10gLSBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSB3aGVuICRjb2xvciBpcyBhYm92ZSBhIGNlcnRhaW4gdGhyZXNob2xkIGluIGxpZ2h0bmVzcy5cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkbGlnaHQgW3doaXRlXSAtIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIHdoZW4gJGNvbG9yIGlzIGJlbG93IGEgY2VydGFpbiB0aHJlc2hvbGQgaW4gbGlnaHRuZXNzLlxyXG4vLy8gQHJldHVybiB7c3RyaW5nfSAtIExpZ2h0IG9yIGRhcmsgZGVwZW5kaW5nIG9uIHRoZSBjb2xvciBnaXZlbi5cclxuQGZ1bmN0aW9uIGNvbnRyYXN0KCRjb2xvciwgJGRhcms6IGJsYWNrLCAkbGlnaHQ6IHdoaXRlKSB7XHJcbiAgJHJhdGlvV2l0aERhcms6IHdjYWctY29udHJhc3QtcmF0aW8oJGNvbG9yLCAkZGFyayk7XHJcbiAgJHJhdGlvV2l0aExpZ2h0OiB3Y2FnLWNvbnRyYXN0LXJhdGlvKCRjb2xvciwgJGxpZ2h0KTtcclxuXHJcbiAgQGlmICRyYXRpb1dpdGhEYXJrIDwgMyBhbmQgJHJhdGlvV2l0aExpZ2h0IDwgMyB7XHJcbiAgICBAZXJyb3IgXCJUaGUgY29sb3IgI3skY29sb3J9IGRvZXMgbm90IG1lZXQgV0NBRyBBQSBtaW5pbXVtIGFjY2Vzc2liaWxpdHkgY29udHJhc3QgcmF0aW8gb2YgMzoxLiBQbGVhc2UgY2hvb3NlIGEgZGlmZmVyZW50IGNvbG9yIGNvbWJpbmF0aW9uLlwiO1xyXG4gIH0gQGVsc2UgaWYgJHJhdGlvV2l0aERhcmsgPCA0LjUgYW5kICRyYXRpb1dpdGhMaWdodCA8IDQuNSB7XHJcbiAgICBAd2FybiBcIlRoZSBjb2xvciAjeyRjb2xvcn0gZG9lcyBub3QgbWVldCBXQ0FHIEFBIG1pbmltdW0gYWNjZXNzaWJpbGl0eSBjb250cmFzdCByYXRpbyBvZiA0LjU6MS4gUGxlYXNlIGNvbmZpcm0gdGhhdCBhbnkgdGV4dCBpbnNpZGUgdGhpcyBlbGVtZW50IGlzIGdyZWF0ZXIgdGhhbiAxOHB4LlwiO1xyXG4gIH1cclxuXHJcbiAgQGlmICRyYXRpb1dpdGhEYXJrID49ICRyYXRpb1dpdGhMaWdodCB7XHJcbiAgICBAcmV0dXJuICRkYXJrO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHJldHVybiAkbGlnaHQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gU2V0cyBiYWNrZ3JvdW5kLXBvc2l0aW9uIGNzcyBiYXNlZCBvbiBbZGF0YS1iZy1wb3M9XCJ4IHlcIl0uXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbkBtaXhpbiBiZ1BvcygpIHtcclxuICAmW2RhdGEtYmctcG9zPVwidG9wIGxlZnRcIl0ge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgMCU7XHJcbiAgfVxyXG4gICZbZGF0YS1iZy1wb3M9XCJ0b3AgbWlkZGxlXCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwO1xyXG4gIH1cclxuICAmW2RhdGEtYmctcG9zPVwidG9wIHJpZ2h0XCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMCU7XHJcbiAgfVxyXG4gICZbZGF0YS1iZy1wb3M9XCJjZW50ZXIgbGVmdFwiXSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSA1MCU7XHJcbiAgfVxyXG4gICZbZGF0YS1iZy1wb3M9XCJjZW50ZXJcIl0ge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcclxuICB9XHJcbiAgJltkYXRhLWJnLXBvcz1cImNlbnRlciByaWdodFwiXSB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcclxuICB9XHJcbiAgJltkYXRhLWJnLXBvcz1cImJvdHRvbSBsZWZ0XCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDEwMCU7XHJcbiAgfVxyXG4gICZbZGF0YS1iZy1wb3M9XCJib3R0b20gbWlkZGxlXCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAxMDAlO1xyXG4gIH1cclxuICAmW2RhdGEtYmctcG9zPVwiYm90dG9tIHJpZ2h0XCJdIHtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMTAwJTtcclxuICB9XHJcbn1cclxuXHJcbi8vLyBUcmlnZ2VycyBzdHlsaW5nIGJhc2VkIG9uIHdoZXRoZXIgYSBnaXZlbiBkaWFsb2cgaXMgYWN0aXZlIG9yIG5vdC4gQ2FuIGJlIHVzZWQgbmVzdGVkIG9yIHN0YW5kYWxvbmUuXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAcGFyYW0ge3N0cmluZ30gJGlkIC0gVGhlIGlkIG9mIGEgZGlhbG9nLlxyXG4vLy8gQGNvbnRlbnQgLSBvcHRpb25hbFxyXG5AbWl4aW4gYWN0aXZlRGlhbG9nKCRpZCkge1xyXG4gIEBpZiAmIHtcclxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCIjeyRpZH1cIl0gJiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cIiN7JGlkfVwiXSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8vIFRyaWdnZXJzIHN0eWxpbmcgYmFzZWQgb24gd2hldGhlciBhIGdpdmVuIHpvbmUgaXMgYWN0aXZlIG9yIG5vdC4gQ2FuIGJlIHVzZWQgbmVzdGVkIG9yIHN0YW5kYWxvbmUuXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAcGFyYW0ge3N0cmluZ30gJGlkIC0gVGhlIGlkIG9mIGEgem9uZS5cclxuLy8vIEBjb250ZW50IC0gb3B0aW9uYWxcclxuQG1peGluIGFjdGl2ZVpvbmUoJGlkKSB7XHJcbiAgQGlmICYge1xyXG4gICAgW2RhdGEtYWN0aXZlLXpvbmU9XCIjeyRpZH1cIl0gJiB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgW2RhdGEtYWN0aXZlLXpvbmU9XCIjeyRpZH1cIl0ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBSZXR1cm5zIGFzcGVjdC1yYXRpbyB3aXRoIHN1cHBvcnQgZm9yIG9sZGVyIGJyb3dzZXJzIHVzaW5nIHBhZGRpbmctYm90dG9tIHBlcmNlbnRhZ2UgdHJpY2suXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAcGFyYW0ge251bX0gJGggLSBUaGUgaG9yaXpvbnRhbCBhc3BlY3QgcmF0aW8gb2YgdGhlIGVsZW1lbnQuXHJcbi8vLyBAcGFyYW0ge251bX0gJHYgLSBUaGUgdmVydGljYWwgYXNwZWN0IHJhdGlvIG9mIHRoZSBlbGVtZW50LlxyXG5AbWl4aW4gYXNwZWN0UmF0aW8oJGgsICR2KSB7XHJcbiAgQHN1cHBvcnRzIChhc3BlY3QtcmF0aW86IDEgLyAxKSB7XHJcbiAgICBhc3BlY3QtcmF0aW86ICRoICN7XCIvXCJ9ICR2O1xyXG4gIH1cclxuICBAc3VwcG9ydHMgbm90IChhc3BlY3QtcmF0aW86IDEgLyAxKSB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiBtYXRoLmRpdigkdiwgJGgpICogMTAwJTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vLyBUcmlnZ2VycyBzdHlsaW5nIGJhc2VkIG9uIHdoZXRoZXIgYW55IGRpc2NvdmVyeSB0b29sIGRpYWxvZ3MgYXJlIGFjdGl2ZS4gQ2FuIGJlIHVzZWQgbmVzdGVkIG9yIHN0YW5kYWxvbmUuXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAY29udGVudCAtIG9wdGlvbmFsXHJcbkBtaXhpbiBkaXNjb3ZlcnlUb29sc0FjdGl2ZSgpIHtcclxuICBAaWYgJiB7XHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiY2hlY2tsaXN0QW5kQW5ub3VuY2VtZW50c1wiXSAmLFxyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cImZhcVwiXSAmLFxyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cImdsb3NzYXJ5XCJdICYsXHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiYWNoaWV2ZW1lbnRzXCJdICYsXHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwicmVzb3VyY2VzXCJdICYsXHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiZmFxQ29uZmlybVF1ZXN0aW9uTWVzc2FnZVwiXSAmLFxyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cImZhcVF1ZXN0aW9uU3VibWl0dGVkTWVzc2FnZVwiXSAmIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiY2hlY2tsaXN0QW5kQW5ub3VuY2VtZW50c1wiXSxcclxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCJmYXFcIl0sXHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiZ2xvc3NhcnlcIl0sXHJcbiAgICBbZGF0YS1hY3RpdmUtZGlhbG9nPVwiYWNoaWV2ZW1lbnRzXCJdLFxyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cInJlc291cmNlc1wiXSxcclxuICAgIFtkYXRhLWFjdGl2ZS1kaWFsb2c9XCJmYXFDb25maXJtUXVlc3Rpb25NZXNzYWdlXCJdLFxyXG4gICAgW2RhdGEtYWN0aXZlLWRpYWxvZz1cImZhcVF1ZXN0aW9uU3VibWl0dGVkTWVzc2FnZVwiXSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIHdjYWctY29udHJhc3QtcmF0aW8oJGNvbG9yMSwgJGNvbG9yMikge1xyXG4gICRsMTogd2NhZy1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xyXG4gICRsMjogd2NhZy1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xyXG4gICRyYXRpbzogbWF0aC5kaXYoJGwxLCAkbDIpO1xyXG5cclxuICBAaWYgJGwyID4gJGwxIHtcclxuICAgICRyYXRpbzogbWF0aC5kaXYoMSwgJHJhdGlvKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHJhdGlvO1xyXG59XHJcblxyXG4vLy8gUmV0dXJucyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgIGFzIGEgZmxvYXQgKGJldHdlZW4gMCBhbmQgMSlcclxuLy8vIDEgaXMgcHVyZSB3aGl0ZSwgMCBpcyBwdXJlIGJsYWNrXHJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvclxyXG4vLy8gQHJldHVybiB7TnVtYmVyfVxyXG4vLy8gQGxpbmsgaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZiBSZWZlcmVuY2VcclxuQGZ1bmN0aW9uIHdjYWctbHVtaW5hbmNlKCRjb2xvcikge1xyXG4gICRjb2xvcnM6IChcclxuICAgIFwicmVkXCI6IHJlZCgkY29sb3IpLFxyXG4gICAgXCJncmVlblwiOiBncmVlbigkY29sb3IpLFxyXG4gICAgXCJibHVlXCI6IGJsdWUoJGNvbG9yKVxyXG4gICk7XHJcblxyXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGNvbG9ycyB7XHJcbiAgICAkYWRqdXN0ZWQ6IDA7XHJcbiAgICAkdmFsdWU6IG1hdGguZGl2KCR2YWx1ZSwgMjU1KTtcclxuXHJcbiAgICBAaWYgJHZhbHVlIDwgMC4wMzkyOCB7XHJcbiAgICAgICR2YWx1ZTogbWF0aC5kaXYoJHZhbHVlLCAxMi45Mik7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgJHZhbHVlOiBtYXRoLmRpdigoJHZhbHVlICsgMC4wNTUpLCAxLjA1NSk7XHJcbiAgICAgICR2YWx1ZTogbWF0aC5wb3coJHZhbHVlLCAyLjQpO1xyXG4gICAgfVxyXG5cclxuICAgICRjb2xvcnM6IG1hcC1tZXJnZShcclxuICAgICAgJGNvbG9ycyxcclxuICAgICAgKFxyXG4gICAgICAgICRuYW1lOiAkdmFsdWVcclxuICAgICAgKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gKG1hcC1nZXQoJGNvbG9ycywgXCJyZWRcIikgKiAwLjIxMjYpICsgKG1hcC1nZXQoJGNvbG9ycywgXCJncmVlblwiKSAqIDAuNzE1MikgKyAobWFwLWdldCgkY29sb3JzLCBcImJsdWVcIikgKiAwLjA3MjIpO1xyXG59XHJcblxyXG4vKiogREVGQVVMVCBPVkVSUklERVMgKiovXHJcblxyXG4vLy8gUmVtb3ZlIGFsbCBkZWZhdWx0IHN0eWxlcyBmcm9tIGJ1dHRvbnNcclxuLy8vIEBhdXRob3IgS291cnRuZXkgU3RyaWNrbGFuZFxyXG5AbWl4aW4gcmVzZXRCdXR0b24oKSB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyOiAwcHg7XHJcbiAgYm94LXNoYWRvdzogbm9uZTtcclxuICBvdXRsaW5lOiAwcHg7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgdGV4dC1hbGlnbjogdW5zZXQ7XHJcbiAgYWxpZ24taXRlbXM6IHVuc2V0O1xyXG4gIHBhZGRpbmc6IDBweDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgY29sb3I6IHVuc2V0O1xyXG59XHJcblxyXG4vLy8gQXBwbHkgc3R5bGluZyB0byBhIHBhcmVudCBiYXNlZCBvbiBudW1iZXIgb2YgY2hpbGRyZW4uXHJcbi8vLyBAYXV0aG9yIEJlbiBSaWNoYXJkc29uXHJcbi8vLyBAcGFyYW0ge251bWJlcn0gJG51bSAtIFRoZSBudW1iZXIgb2YgY2hpbGRyZW4gdG8gY2hlY2suXHJcbi8vLyBAcGFyYW0ge2Jvb2xlYW59ICRvck1vcmUgW2ZhbHNlXSAtIEFwcGxpZXMgaWYgZWxlbWVudCBoYXMgYWJvdmUgdGhlIGdpdmVuIG51bWJlciBvZiBjaGlsZHJlbi5cclxuLy8vIEBwYXJhbSB7Ym9vbGVhbn0gJG9yTGVzcyBbZmFsc2VdIC0gQXBwbGllcyBpZiBlbGVtZW50IGhhcyBiZWxvdyB0aGUgZ2l2ZW4gbnVtYmVyIG9mIGNoaWxkcmVuLlxyXG4vLy8gQGxpbmsgaHR0cHM6Ly9jc3MtdGlwLmNvbS9udW1iZXItZWxlbWVudHMtaGFzLXNlbGVjdG9yL1xyXG5AbWl4aW4gaGFzTnVtYmVyT2ZDaGlsZHJlbigkbnVtLCAkb3JNb3JlOiBmYWxzZSwgJG9yTGVzczogZmFsc2UpIHtcclxuICBAaWYgKCRvck1vcmUgPT0gdHJ1ZSBhbmQgJG9yTGVzcyA9PSB0cnVlKSB7XHJcbiAgICBAZXJyb3IgXCJBYm92ZSBhbmQgYmVsb3cgY2Fubm90IGJvdGggYmUgdHJ1ZS5cIjtcclxuICB9XHJcbiAgQGlmICgkbnVtID09IDApIHtcclxuICAgICY6bm90KDpoYXMoKikpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAaWYgKCRvck1vcmUgPT0gdHJ1ZSkge1xyXG4gICAgICAmOmhhcyg+IDpudGgtY2hpbGQoI3skbnVtfSkpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAoJG9yTGVzcyA9PSB0cnVlKSB7XHJcbiAgICAgICY6aGFzKD4gOmxhc3QtY2hpbGQ6bnRoLWNoaWxkKC1uICsgI3skbnVtfSkpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpoYXMoPiA6bGFzdC1jaGlsZDpudGgtY2hpbGQoI3skbnVtfSkpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AZnVuY3Rpb24gZW0oJHBpeGVscykge1xyXG4gIEBpZiBub3QodW5pdCgkcGl4ZWxzKSA9PSBcInB4XCIpIHtcclxuICAgIEBlcnJvciAnUHJvcGVydHkgI3skcGl4ZWxzfSBtdXN0IGhhdmUgYHB4YCB1bml0Lic7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIG1hdGguZGl2KCRwaXhlbHMsIDE2cHgpICogMWVtO1xyXG59IiwiQGZvcndhcmQgXCJnbG9iYWxNaXhpbnNcIjtcclxuQHVzZSBcImdsb2JhbE1peGluc1wiIGFzICo7XHJcbkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xyXG5AdXNlIFwic2FzczptYXRoXCI7XHJcblxyXG5AbWl4aW4gYnV0dG9uKCRjb2xvcjogJHNlY29uZGFyeSwgJGhvdmVyQ29sb3I6ICRhbHQpIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBwYWRkaW5nOiAwLjdlbSAxLjVlbTtcclxuICBib3JkZXItd2lkdGg6IDA7XHJcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICBib3JkZXItY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XHJcbiAgbGluZS1oZWlnaHQ6IDEuMWVtO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBib3JkZXItcmFkaXVzOiAwO1xyXG4gIGZvbnQtZmFtaWx5OiAkcHJpbWFyeUZvbnQ7XHJcbiAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICBvdXRsaW5lLW9mZnNldDogMDtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgdHJhbnNpdGlvbjogYWxsICR2ZXJ5RmFzdDtcclxuICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgkY29sb3IpO1xyXG5cclxuICBAaW5jbHVkZSBob3ZlckFuZEZvY3VzIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgkaG92ZXJDb2xvcik7XHJcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkaG92ZXJDb2xvciwgMTAlKTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcblxyXG4gICZbZGlzYWJsZWRdLFxyXG4gICZbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0ge1xyXG4gICAgb3BhY2l0eTogMC41O1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBjaGVja2JveCgkc2l6ZTogMWVtLCAkYm9yZGVyQ29sb3I6ICRhY2NlbnQsICRzZWxlY3RlZENvbG9yOiAkcHJpbWFyeSwgJHNlbGVjdGVkQm9yZGVyOiAkc2VsZWN0ZWRDb2xvcikge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW46IDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICBAc3VwcG9ydHMgKGFwcGVhcmFuY2U6IG5vbmUpIHtcclxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICB3aWR0aDogJHNpemU7XHJcbiAgICBoZWlnaHQ6ICRzaXplO1xyXG4gICAgbWluLXdpZHRoOiAkc2l6ZTtcclxuICAgIG1pbi1oZWlnaHQ6ICRzaXplO1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlckNvbG9yO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQ7XHJcblxyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJHZlcnlGYXN0O1xyXG4gICAgfVxyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnRcclxuICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzkgSWpBZ01DQXpNVFl1TXpnZ01qVXdMallpUGp4d1lYUm9JR1E5SWswM01DNDBJREl4T1M0NFl6UXVOVFVnTkM0NCBOeUE1TGpJeUlEa3VOamNnTVRRdU1USWdNVFF1TVRrZ015NDNOU0F6TGpRM0lEY3VOekVnTmk0NE5TQXhNUzQ1IE15QTVMamMwSURVdU5TQXpMamM0SURFeExqa3lJRGN1TURnZ01UZ3VOemdnTmk0NE5TQTJMalkyTFM0eU15QXggTWk0M055MHpMamN6SURFM0xqazNMVGN1TmpJZ09DNDJMVFl1TkRJZ01UWXVOamN0TVRVdU1UY2dNak11T0RRdCBNak11TVRSTU16QTFMalk0SURVMExqWTVZemN1TWkwNElERXhMamM1TFRFNExqSTFJREV3TGpRM0xUSTVMakUzIExURXVNRFF0T0M0MU9TMDFMamN4TFRFMkxqVTFMVEV6TGpBeExUSXhMakk1TFRVdU5qVXRNeTQyTnkweE1pNHkgTmkwMExqazRMVEU0TGprdE15NDRNaTA0TGprZ01TNDFOaTB4Tmk0MU5DQTNMakl5TFRJeUxqUTRJREV6TGpjNCBMVFE0TGpNMElEVXpMak15TFRrMkxqVTVJREV3Tmk0M01TMHhORFF1T0RVZ01UWXdMakV4YkMwekxqRTVJRE11IE5UTXROakF1TkMwMk5pNDJNMk10T0M0ME1pMDVMakk1TFRFNUxqY3RNVE11T1RRdE16RXVPVEl0T1M0MU55MDAgTGpjeUlERXVOamt0T0M0NU9TQTBMalU0TFRFeUxqUTFJRGd1TVRrdE15NDROaUEwTGpBMExUWXVOemdnT1M0dyBOaTA0TGpFeklERTBMalE1TFRJdU16RWdPUzR5Tnk0eklERTRMakEzSURZdU5qSWdNalV1TVROc05qSXVPVFVnIE56QXVNelZhSWlCemRIbHNaVDBpWm1sc2JDMXlkV3hsT21WMlpXNXZaR1FpTHo0OEwzTjJaejRLXCIpXHJcbiAgICAgICAgbm8tcmVwZWF0O1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDcwJTtcclxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsICR2ZXJ5RmFzdDtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgQGlmIChjb250cmFzdCgkc2VsZWN0ZWRDb2xvcikgPT0gd2hpdGUpIHtcclxuICAgICAgICBmaWx0ZXI6IGludmVydCgxKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6Y2hlY2tlZCB7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRzZWxlY3RlZEJvcmRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0ZWRDb2xvcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZbZGlzYWJsZWRdIHtcclxuICAgICAgb3BhY2l0eTogMC4zO1xyXG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG5cclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJhc2ljLCAwLjgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcmFkaW8oJHNpemU6IDFlbSwgJHNlbGVjdGVkQ29sb3I6ICRwcmltYXJ5LCAkYm9yZGVyQ29sb3I6ICRiYXNpYywgJHNlbGVjdGVkQm9yZGVyOiAkc2VsZWN0ZWRDb2xvcikge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW46IDA7XHJcbiAgYm94LXNoYWRvdzogbm9uZTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gIEBzdXBwb3J0cyAoYXBwZWFyYW5jZTogbm9uZSkge1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIHdpZHRoOiAkc2l6ZTtcclxuICAgIGhlaWdodDogJHNpemU7XHJcbiAgICBtaW4td2lkdGg6ICRzaXplO1xyXG4gICAgbWluLWhlaWdodDogJHNpemU7XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlckNvbG9yO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQ7XHJcblxyXG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAkdmVyeUZhc3Q7XHJcbiAgICB9XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgIHotaW5kZXg6IDU7XHJcblxyXG4gICAgICB3aWR0aDogMDtcclxuICAgICAgaGVpZ2h0OiAwO1xyXG5cclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJHZlcnlGYXN0O1xyXG4gICAgfVxyXG5cclxuICAgICY6Y2hlY2tlZCB7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRzZWxlY3RlZEJvcmRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0ZWRDb2xvcjtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb250cmFzdCgkc2VsZWN0ZWRDb2xvcik7XHJcbiAgICAgICAgd2lkdGg6IDEwMCUgKiAwLjQ1O1xyXG4gICAgICAgIGhlaWdodDogMTAwJSAqIDAuNDU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmW2Rpc2FibGVkXSB7XHJcbiAgICAgIG9wYWNpdHk6IDAuMztcclxuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuXHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRiYXNpYywgNzUlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHN3aXRjaCgkc2l6ZTogMS4yNWVtLCAkY29sb3I6ICRiYXNpYywgJHNlbGVjdGVkQ29sb3I6ICRwcmltYXJ5KSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbjogMDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gIEBzdXBwb3J0cyAoYXBwZWFyYW5jZTogbm9uZSkge1xyXG4gICAgJGtub2JTaXplOiBjYWxjKCN7JHNpemV9IC0gOHB4KTtcclxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICB3aWR0aDogMS4yNWVtICogMjtcclxuICAgIGhlaWdodDogJHNpemU7XHJcbiAgICBtaW4td2lkdGg6IDEuMjVlbSAqIDI7XHJcbiAgICBtaW4taGVpZ2h0OiAkc2l6ZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQ7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgJGZhc3Q7XHJcblxyXG4gICAgLyogVGhlIHRvZ2dsZSBrbm9iICovXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICBsZWZ0OiAycHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgd2lkdGg6ICRrbm9iU2l6ZTtcclxuICAgICAgaGVpZ2h0OiAka25vYlNpemU7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsICRmYXN0O1xyXG4gICAgfVxyXG5cclxuICAgIC8qIENoYW5nZSBjb2xvciBhbmQgcG9zaXRpb24gd2hlbiBjaGVja2VkICovXHJcbiAgICAmOmNoZWNrZWQge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkc2VsZWN0ZWRDb2xvcjtcclxuICAgICAgYm9yZGVyOiAycHggc29saWQgJHNlbGVjdGVkQ29sb3I7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGxlZnQ6IGNhbGMoMTAwJSAtICN7JGtub2JTaXplfSAtIDJweCk7XHJcbiAgICAgICAgYmFja2dyb3VuZDogY29udHJhc3QoJHNlbGVjdGVkQ29sb3IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyogRHJvcCB0aGUgb3BhY2l0eSBvZiB0aGUgdG9nZ2xlIGtub2Igd2hlbiB0aGUgaW5wdXQgaXMgZGlzYWJsZWQgKi9cclxuICAgICY6ZGlzYWJsZWQge1xyXG4gICAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gdG9nZ2xlQnRuQm94KCRjb2xvcjogJHByaW1hcnksICRzZWxlY3RlZENvbG9yOiAkc2Vjb25kYXJ5LCAkc2VsZWN0ZWRUb2dnbGVDb2xvcjogJHByaW1hcnkpIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmc6IDE1cHggMjBweCAxNXB4IGVtKDgycHgpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoJGNvbG9yKTtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB0cmFuc2l0aW9uOiAyMDBtcztcclxuXHJcbiAgLnRvZ2dsZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogZW0oMTZweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICBoZWlnaHQ6IGVtKDMwcHgpO1xyXG4gICAgd2lkdGg6IGVtKDUycHgpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogZW0oNTBweCk7XHJcbiAgICBwYWRkaW5nOiBlbSg0cHgpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0O1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxLjVweCAzcHggcmdiKDAgMCAwIC8gMC4xNSk7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNHMgbGluZWFyO1xyXG5cclxuICAgIC5pbm5lciB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xyXG4gICAgICB3aWR0aDogZW0oMjJweCk7XHJcbiAgICAgIGhlaWdodDogZW0oMjJweCk7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICAgICAgYm94LXNoYWRvdzpcclxuICAgICAgICAwIGVtKDFweCkgZW0oMi41cHgpIHJnYigwIDAgMCAvIDAuMyksXHJcbiAgICAgICAgaW5zZXQgMCBlbSgtMXB4KSBlbSgycHgpIHJnYigwIDAgMCAvIDAuMTUpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcclxuXHJcbiAgICAgIGFuaW1hdGlvbi1uYW1lOiB0b2dnbGUtZ3Jvdy1vdXQsIHRvZ2dsZS1ib3VuY2Utb3V0O1xyXG4gICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMnM7XHJcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1LCAwLCAxLCAxKSwgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMywgMS41KTtcclxuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwcywgMC4ycztcclxuICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc2hvd0FsbCB7XHJcbiAgICBmb250LXNpemU6IDEuMmVtO1xyXG4gIH1cclxuXHJcbiAgJlthcmlhLXByZXNzZWQ9XCJ0cnVlXCJdIHtcclxuICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCRzZWxlY3RlZENvbG9yKTtcclxuICAgIC50b2dnbGUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0ZWRUb2dnbGVDb2xvcjtcclxuICAgICAgLmlubmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQ7XHJcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzO1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1LCAwLCAxLCAxKSwgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMywgMS41KTtcclxuICAgICAgICBhbmltYXRpb24tZGVsYXk6IDBzLCAwLjJzO1xyXG4gICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiB0b2dnbGUtZ3Jvdy1pbiwgdG9nZ2xlLWJvdW5jZS1pbjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyB0b2dnbGUtZ3Jvdy1pbiB7XHJcbiAgMCUge1xyXG4gICAgYm9yZGVyLXJhZGl1czogZW0oMTFweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgc2NhbGUoMSk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgYm9yZGVyLXJhZGl1czogZW0obWF0aC5kaXYoMSwgbWF0aC5kaXYoMzQsIDIyKSkgKiAxMXB4KSAje1wiL1wifSBlbShtYXRoLmRpdigxLCBtYXRoLmRpdigxNiwgMjIpKSAqIDExcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGVtKDhweCkpIHNjYWxlKG1hdGguZGl2KDM0LCAyMiksIG1hdGguZGl2KDE2LCAyMikpO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyB0b2dnbGUtYm91bmNlLWluIHtcclxuICAwJSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiBlbShtYXRoLmRpdigxLCBtYXRoLmRpdigzNCwgMjIpKSAqIDExcHgpICN7XCIvXCJ9IGVtKG1hdGguZGl2KDEsIG1hdGguZGl2KDE2LCAyMikpICogMTFweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoZW0oOHB4KSkgc2NhbGUobWF0aC5kaXYoMzQsIDIyKSwgbWF0aC5kaXYoMTYsIDIyKSk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgYm9yZGVyLXJhZGl1czogZW0oMTFweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2NhbGUoMSk7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHRvZ2dsZS1ncm93LW91dCB7XHJcbiAgMCUge1xyXG4gICAgYm9yZGVyLXJhZGl1czogZW0oMTFweCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2NhbGUoMSk7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgYm9yZGVyLXJhZGl1czogZW0obWF0aC5kaXYoMSwgbWF0aC5kaXYoMzQsIDIyKSkgKiAxMXB4KSAje1wiL1wifSBlbShtYXRoLmRpdigxLCBtYXRoLmRpdigxNiwgMjIpKSAqIDExcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGVtKDJweCkpIHNjYWxlKG1hdGguZGl2KDM0LCAyMiksIG1hdGguZGl2KDE2LCAyMikpO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyB0b2dnbGUtYm91bmNlLW91dCB7XHJcbiAgMCUge1xyXG4gICAgYm9yZGVyLXJhZGl1czogZW0obWF0aC5kaXYoMSwgbWF0aC5kaXYoMzQsIDIyKSkgKiAxMXB4KSAje1wiL1wifSBlbShtYXRoLmRpdigxLCBtYXRoLmRpdigxNiwgMjIpKSAqIDExcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGVtKDJweCkpIHNjYWxlKG1hdGguZGl2KDM0LCAyMiksIG1hdGguZGl2KDE2LCAyMikpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IGVtKDExcHgpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHNjYWxlKDEpO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGJ1dHRvbkFEQSgkY29sb3I6ICRzZWNvbmRhcnksICRob3ZlckNvbG9yOiAkYmxhY2spIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgcGFkZGluZzogMC42ZW0gMS4yZW07XHJcbiAgYm9yZGVyOiAycHggc29saWQgJGxpZ2h0R3JleTtcclxuXHJcbiAgbGluZS1oZWlnaHQ6IDEuMWVtO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gIGZvbnQtZmFtaWx5OiAkYmFzaWNGb250O1xyXG4gIG91dGxpbmUtb2Zmc2V0OiAwO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB0cmFuc2l0aW9uOiBhbGwgJHZlcnlGYXN0O1xyXG4gIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCRjb2xvcik7XHJcblxyXG4gICZbZGlzYWJsZWRdLFxyXG4gICZbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0ge1xyXG4gICAgb3BhY2l0eTogMC41O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgaG92ZXJBbmRGb2N1cyB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAmOm5vdChbZGlzYWJsZWRdKTpub3QoW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdKSB7XHJcbiAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCRob3ZlckNvbG9yKTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkbGlnaHRHcmV5O1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xyXG5AdXNlIFwibWl4aW5zXCIgYXMgKjtcclxuXHJcbi8vIEJveCBzaXppbmcgcnVsZXNcclxuKixcclxuKjo6YmVmb3JlLFxyXG4qOjphZnRlciB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuLy8gRm9jdXMgc3R5bGVzXHJcbioge1xyXG4gICY6Zm9jdXMtdmlzaWJsZSxcclxuICAmLmZvY3VzLXZpc2libGUge1xyXG4gICAgb3V0bGluZTogMC4xNmVtIHNvbGlkIHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwLjMyZW0gYmxhY2sgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi8vIFJlbW92ZSBhbGwgYW5pbWF0aW9ucyBhbmQgdHJhbnNpdGlvbnMgZm9yIHBlb3BsZSB0aGF0IHByZWZlciBub3QgdG8gc2VlIHRoZW1cclxuLy8gSG93ZXZlciwgd2UncmUgbm8gbG9uZ2VyIHJlYWRpbmcgdGhlIGJyb3dzZXIgcHJlZmVyZW5jZSBhbmQgcmVseWluZyBzb2xlbHkgb24gdGhlIHVzZXIncyBzdG9yZWQgcHJlZmVyZW5jZS5cclxuLy8gS2VlcGluZyB0aGlzIGNvZGUgY29tbWVudGVkIG91dCBmb3IgcG9zdGVyaXR5IGJlY2F1c2UgdGhlIGphdmFzY3JpcHQgbG9naWMgd2FzIHRyaWNreSBhbmQgaW4gY2FzZSB3ZSBuZWVkIGl0IGFnYWluLlxyXG4vLyBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xyXG4vLyAgIGJvZHk6bm90KFtkYXRhLXJlZHVjZS1hbmltYXRpb249XCJmYWxzZVwiXSkge1xyXG4vLyAgICAgKixcclxuLy8gICAgICo6OmJlZm9yZSxcclxuLy8gICAgICo6OmFmdGVyIHtcclxuLy8gICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcclxuLy8gICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50O1xyXG4vLyAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcclxuLy8gICAgICAgc2Nyb2xsLWJlaGF2aW9yOiBhdXRvICFpbXBvcnRhbnQ7XHJcbi8vICAgICB9XHJcbi8vICAgfVxyXG4vLyB9XHJcblxyXG5ib2R5W2RhdGEtcmVkdWNlLWFuaW1hdGlvbj1cInRydWVcIl0ge1xyXG4gICosXHJcbiAgKjo6YmVmb3JlLFxyXG4gICo6OmFmdGVyIHtcclxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XHJcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7XHJcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcclxuICAgIHNjcm9sbC1iZWhhdmlvcjogYXV0byAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuaHRtbCB7XHJcbiAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgQHN1cHBvcnRzIChtaW4taGVpZ2h0OiAxMDBkdmgpIHtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMGR2aDtcclxuICB9XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XHJcbn1cclxuXHJcbkBpbmNsdWRlIGFjdGl2ZVpvbmUoXCJzbGlkZXNcIikge1xyXG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICBzY3JvbGxiYXItZ3V0dGVyOiBzdGFibGU7XHJcbn1cclxuXHJcbi8vIEhpZGUgaHRtbCBzY3JvbGxiYXIgd2hlbiB0aGVyZSdzIGFuIGFjdGl2ZSBkaWFsb2cuXHJcbmh0bWxbZGF0YS1kaWFsb2ctaGlkZS1vdmVyZmxvdz1cInRydWVcIl0ge1xyXG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcclxufVxyXG5cclxuYm9keSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xyXG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZVNwZWVkO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjE7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIGZvbnQtZmFtaWx5OiAkYmFzaWNGb250O1xyXG5cclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4vLyBNYWtlIGltYWdlcyBlYXNpZXIgdG8gd29yayB3aXRoXHJcbmltZyB7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGhlaWdodDogYXV0bztcclxufVxyXG5cclxuLy8gTmF0dXJhbCBmbG93IGFuZCByaHl0aG0gaW4gYXJ0aWNsZXMgYnkgZGVmYXVsdFxyXG5hcnRpY2xlID4gKiArICoge1xyXG4gIG1hcmdpbi10b3A6IDFlbTtcclxufVxyXG5cclxuLy8gSW5oZXJpdCBmb250cyBmb3IgaW5wdXRzIGFuZCBidXR0b25zXHJcbmlucHV0LFxyXG5idXR0b24sXHJcbnRleHRhcmVhLFxyXG5zZWxlY3Qge1xyXG4gIGZvbnQ6IGluaGVyaXQ7XHJcbn1cclxuXHJcbmgxLFxyXG5oMixcclxuaDMsXHJcbmg0LFxyXG5oNSxcclxuaDYge1xyXG4gIG1hcmdpbjogMDtcclxufVxyXG5cclxucCB7XHJcbiAgbWFyZ2luOiAwLjM1ZW0gMCAwLjg1ZW07XHJcbiAgbGluZS1oZWlnaHQ6IDEuNTVlbTtcclxufVxyXG5cclxub2wsXHJcbnVsIHtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIG1hcmdpbjogMC40ZW0gMCAwLjc1ZW07XHJcbn1cclxuXHJcbmxpIHtcclxuICBsaW5lLWhlaWdodDogMS41ZW07XHJcbn1cclxuXHJcbmlmcmFtZSB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICBib3JkZXI6IDJweCBzb2xpZCAkbGlnaHRHcmV5O1xyXG59XHJcblxyXG5idXR0b24ge1xyXG4gIG1hcmdpbjogMDtcclxuICBib3JkZXI6IDA7XHJcbiAgYm9yZGVyLXJhZGl1czogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGJhY2tncm91bmQ6IG5vbmU7XHJcbn1cclxuXHJcbmEge1xyXG4gIEBpbmNsdWRlIGNvbG9yV2l0aENvbnRyYXN0KCRzZWNvbmRhcnkpO1xyXG4gIHRyYW5zaXRpb246ICR2ZXJ5RmFzdDtcclxuXHJcbiAgQGluY2x1ZGUgaG92ZXJBbmRGb2N1cyB7XHJcbiAgICBAaW5jbHVkZSBjb2xvcldpdGhDb250cmFzdCgkYWNjZW50KTtcclxuICB9XHJcblxyXG4gIC50YXJnZXRCbGFua05vdGlmaWVyIHtcclxuICAgIEBpbmNsdWRlIHNjcmVlblJlYWRlcjtcclxuICB9XHJcbiAgLmljb24tbWFpbCB7XHJcbiAgICBmb250LXNpemU6IDAuOWVtO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVlbTtcclxuICB9XHJcblxyXG4gIC5pY29uLWV4dGVybmFsLWxpbmsge1xyXG4gICAgZm9udC1zaXplOiAwLjhlbTtcclxuICAgIG1hcmdpbi1sZWZ0OiAwLjI1ZW07XHJcbiAgfVxyXG59XHJcblxyXG4uc2xpZGVTa2lwLFxyXG4uaG9tZVNraXAsXHJcbi5tZW1iZXJzaGlwU2tpcCB7XHJcbiAgQGluY2x1ZGUgc2NyZWVuUmVhZGVyO1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgQGluY2x1ZGUgZm9jdXMge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAxMHB4O1xyXG4gICAgbGVmdDogMTBweDtcclxuICAgIHotaW5kZXg6IDk5OTk5OTk5OTk5OTk5OTtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGNsaXA6IGluaXRpYWw7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgkcHJpbWFyeSk7XHJcbiAgfVxyXG59XHJcblxyXG4uaG9tZVNraXAge1xyXG4gIEBpbmNsdWRlIGFjdGl2ZVpvbmUoXCJob21lXCIpIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxufVxyXG5cclxuLnNsaWRlU2tpcCB7XHJcbiAgQGluY2x1ZGUgYWN0aXZlWm9uZShcInNsaWRlc1wiKSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbn1cclxuXHJcbi5tZW1iZXJzaGlwU2tpcCB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi8vIE1FRElBIFFVRVJJRVMgJiBCUk9XU0VSLVNQRUNJRklDIEFESlVTVE1FTlRTIEJFTE9XIC8vXHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHNtKSB7XHJcbiAgaWZyYW1lIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICB9XHJcbn1cclxuIiwiQHVzZSBcIm1peGluc1wiIGFzICo7XHJcbkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xyXG5cclxuLy8gQkVHSU4gQkFTRSBTVFlMRVMgLSBETyBOT1QgQ0hBTkdFIFRIRVNFIFVOTEVTUyBZT1UgS05PVyBXSEFUIFlPVSdSRSBET0lORyAvL1xyXG5cclxud2lsbGlzLXpvbmUge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG5baW5lcnRdIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG53aWxsaXMtZGlhbG9nOm5vdChbZGF0YS1vcGVuPVwidHJ1ZVwiXSkge1xyXG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmRpYWxvZ0JhY2tkcm9wIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAuc2xpZGUgJiB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7IC8vQXBwbGllZCB0aGlzIGJlY2F1c2Ugb2YgaXNzdWVzIHJlc3BvbnNpdmxleSB3aXRoIGRpYWxvZ3Mgd2l0aGluIHRoZSBzbGlkZXMgYXQgc21hbGxlciBzY3JlZW4gc2l6ZXMuIElmIGl0IG1lc3NlcyB0aGluZ3MgdXAsIHdlIGNhbiByZW1vdmUuIC0gS1NcclxuICB9XHJcbn1cclxuXHJcbi5kaWFsb2dJbm5lciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uZGlhbG9nTGFiZWwgaDIge1xyXG59XHJcblxyXG5bZGF0YS1kaWFsb2ctc3R5bGU9XCJtb2RhbFwiXSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgQGluY2x1ZGUgc2Nyb2xsYmFyO1xyXG5cclxuICBkaXZbcm9sZT1cImRpYWxvZ1wiXSB7XHJcbiAgICB3aWR0aDogNTgwcHg7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcblxyXG4gICAgJi5yZXBvcnROZWVkZWQge1xyXG4gICAgICAvL1VuaXF1ZSBzdHlsaW5nIGZvciB0aGUgUmVwb3J0IGEgQmFycmllciBmZWF0dXJlLiAtIERGVFxyXG4gICAgICB3aWR0aDogODAlO1xyXG4gICAgICBtYXgtd2lkdGg6IDEwMDBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbltkYXRhLWRpYWxvZy1zdHlsZT1cImxhcmdlTW9kYWxcIl0ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gIEBpbmNsdWRlIHNjcm9sbGJhcjtcclxuXHJcbiAgZGl2W3JvbGU9XCJkaWFsb2dcIl0ge1xyXG4gICAgd2lkdGg6IDgwMHB4O1xyXG4gICAgbWF4LXdpZHRoOiAxMDB2dztcclxuICAgIG1hcmdpbjogYXV0bztcclxuICB9XHJcbn1cclxuXHJcbltkYXRhLWRpYWxvZy1zdHlsZT1cInNoYWRlXCJdIHtcclxuICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcblxyXG4gIGRpdltyb2xlPVwiZGlhbG9nXCJdIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoJHByaW1hcnkpO1xyXG5cclxuICAgIC5kaWFsb2dMYWJlbCB7XHJcbiAgICAgIG1heC13aWR0aDogODAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmRpYWxvZ0NvbnRlbnQge1xyXG4gICAgICBtYXgtd2lkdGg6IDgwMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5kaWFsb2dBY3Rpb25zIHtcclxuICAgICAgbWF4LXdpZHRoOiA4MDBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbltkYXRhLWRpYWxvZy1zdHlsZV49XCJzaWRlYmFyXCJdIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xyXG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICBvdmVyZmxvdy14OiBoaWRkZW47XHJcblxyXG4gICZbZGF0YS1kaWFsb2ctc3R5bGU9XCJzaWRlYmFyTGVmdFwiXSB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgfVxyXG5cclxuICAmW2RhdGEtZGlhbG9nLXN0eWxlPVwic2lkZWJhclJpZ2h0XCJdIHtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgfVxyXG5cclxuICBkaXZbcm9sZT1cImRpYWxvZ1wiXSB7XHJcbiAgICB3aWR0aDogNDQwcHg7XHJcbiAgfVxyXG59XHJcblxyXG5bZGF0YS1kaWFsb2ctc3R5bGVePVwiZnVsbFwiXSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICBkaXZbcm9sZT1cImRpYWxvZ1wiXSB7XHJcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xyXG4gIFtkYXRhLWRpYWxvZy1zdHlsZV49XCJzaWRlYmFyXCJdIHtcclxuICAgIGRpdltyb2xlPVwiZGlhbG9nXCJdIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1pbi13aWR0aDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIFtkYXRhLWRpYWxvZy1zdHlsZT1cIm1vZGFsXCJdIHtcclxuICAgIGRpdltyb2xlPVwiZGlhbG9nXCJdIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBBbmltYXRpb25cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1zcGVlZD1cImdsYWNpYWxcIl0ge1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogJGdsYWNpYWw7XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tc3BlZWQ9XCJ2ZXJ5U2xvd1wiXSB7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdmVyeVNsb3c7XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tc3BlZWQ9XCJzbG93XCJdIHtcclxuICBhbmltYXRpb24tZHVyYXRpb246ICRzbG93O1xyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLXNwZWVkPVwibWVkaXVtXCJdIHtcclxuICBhbmltYXRpb24tZHVyYXRpb246ICRtZWRpdW07XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tc3BlZWQ9XCJmYXN0XCJdIHtcclxuICBhbmltYXRpb24tZHVyYXRpb246ICRmYXN0O1xyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLXNwZWVkPVwidmVyeUZhc3RcIl0ge1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogJHZlcnlGYXN0O1xyXG59XHJcblxyXG4uZGlhbG9nQmFja2Ryb3Age1xyXG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdmVyeUZhc3Q7XHJcblxyXG4gICYuaW4ge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcclxuICB9XHJcblxyXG4gICYub3V0IHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xyXG4gIH1cclxufVxyXG5cclxuZGl2W3JvbGU9XCJkaWFsb2dcIl0ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cImZhZGVJblwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlT3V0IHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwiZmFkZU91dFwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZVRvcEluIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cImZhZGVUb3BJblwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVUb3BJbjtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlVG9wT3V0IHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cImZhZGVUb3BPdXRcIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlVG9wT3V0O1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVCb3R0b21JbiB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cImZhZGVCb3R0b21JblwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVCb3R0b21JbjtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlQm90dG9tT3V0IHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xyXG4gIH1cclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwiZmFkZUJvdHRvbU91dFwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVCb3R0b21PdXQ7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZVJpZ2h0SW4ge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJmYWRlUmlnaHRJblwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVSaWdodEluO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVSaWdodE91dCB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cImZhZGVSaWdodE91dFwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVSaWdodE91dDtcclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlTGVmdEluIHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cImZhZGVMZWZ0SW5cIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlTGVmdEluO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVMZWZ0T3V0IHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xyXG4gIH1cclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwiZmFkZUxlZnRPdXRcIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlTGVmdE91dDtcclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZVRvcEluIHtcclxuICBmcm9tIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xyXG4gIH1cclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwic2xpZGVUb3BJblwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlVG9wSW47XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzbSkge1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlQm90dG9tSW47XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlVG9wT3V0IHtcclxuICBmcm9tIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xyXG4gIH1cclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwic2xpZGVUb3BPdXRcIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZVRvcE91dDtcclxuICBAbWVkaWEgKG1heC13aWR0aDogJHNtKSB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVCb3R0b21PdXQ7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlQm90dG9tSW4ge1xyXG4gIGZyb20ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1MCUpO1xyXG4gIH1cclxuXHJcbiAgdG8ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcclxuICB9XHJcbn1cclxuXHJcbmRpdltkYXRhLWRpYWxvZy1hbmltYXRpb24tbmFtZT1cInNsaWRlQm90dG9tSW5cIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUJvdHRvbUluO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlQm90dG9tT3V0IHtcclxuICBmcm9tIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJzbGlkZUJvdHRvbU91dFwiXSB7XHJcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlQm90dG9tT3V0O1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlUmlnaHRJbiB7XHJcbiAgZnJvbSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xyXG4gIH1cclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwic2xpZGVSaWdodEluXCJdIHtcclxuICBhbmltYXRpb24tbmFtZTogc2xpZGVSaWdodEluO1xyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc20pIHtcclxuICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUJvdHRvbUluO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZVJpZ2h0T3V0IHtcclxuICBmcm9tIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJzbGlkZVJpZ2h0T3V0XCJdIHtcclxuICBhbmltYXRpb24tbmFtZTogc2xpZGVSaWdodE91dDtcclxuICBAbWVkaWEgKG1heC13aWR0aDogJHNtKSB7XHJcbiAgICBhbmltYXRpb24tbmFtZTogc2xpZGVCb3R0b21PdXQ7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlTGVmdEluIHtcclxuICBmcm9tIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XHJcbiAgfVxyXG5cclxuICB0byB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xyXG4gIH1cclxufVxyXG5cclxuZGl2W2RhdGEtZGlhbG9nLWFuaW1hdGlvbi1uYW1lPVwic2xpZGVMZWZ0SW5cIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUxlZnRJbjtcclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGlkZUxlZnRPdXQge1xyXG4gIGZyb20ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcclxuICB9XHJcblxyXG4gIHRvIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5kaXZbZGF0YS1kaWFsb2ctYW5pbWF0aW9uLW5hbWU9XCJzbGlkZUxlZnRPdXRcIl0ge1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUxlZnRPdXQ7XHJcbn1cclxuXHJcbi8vIEVORCBCQVNFIFNUWUxFU1xyXG5cclxuLmRpYWxvZ0JhY2tkcm9wIHtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKCRwcmltYXJ5LCAwLjcpO1xyXG59XHJcblxyXG4uZGlhbG9nQ29udGVudCB7XHJcbiAgbWFyZ2luOiAxMHB4IDA7XHJcbn1cclxuXHJcbi5kaWFsb2dBY3Rpb25zLmdlbmVyYXRlZCB7XHJcbiAgYnV0dG9uLmNsb3NlRGlhbG9nIHtcclxuICAgIC5pY29uOmJlZm9yZSB7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkaWNvbkZvbnQ7XHJcbiAgICAgIGNvbnRlbnQ6IFwiYlwiO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYnV0dG9uLmNsb3NlRGlhbG9nIHtcclxuICAuaWNvbjpiZWZvcmUge1xyXG4gICAgZm9udC1mYW1pbHk6ICRpY29uRm9udDtcclxuICAgIGNvbnRlbnQ6IFwiYlwiO1xyXG4gIH1cclxufVxyXG5cclxuLmRpYWxvZ0xhYmVsIGgyIHtcclxuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcblxyXG5bZGF0YS1kaWFsb2ctc3R5bGU9XCJtb2RhbFwiXSB7XHJcbiAgcGFkZGluZzogMjBweDtcclxuXHJcbiAgLnNhZmFyaSAmIHtcclxuICAgIHBhZGRpbmc6IDIwcHggMjBweCAxNTBweDtcclxuICB9XHJcblxyXG4gIC5kaWFsb2dJbm5lciB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCRsaWdodCk7XHJcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xyXG4gIH1cclxuXHJcbiAgYnV0dG9uLmNsb3NlRGlhbG9nIHtcclxuICAgIEBpbmNsdWRlIGJ1dHRvbjtcclxuXHJcbiAgICAuaWNvbiB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5bZGF0YS1kaWFsb2ctc3R5bGU9XCJsYXJnZU1vZGFsXCJdIHtcclxuICAuc2FmYXJpICYge1xyXG4gICAgcGFkZGluZzogMjBweCAyMHB4IDE1MHB4O1xyXG4gIH1cclxuICAuZGlhbG9nSW5uZXIge1xyXG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgkbGlnaHQpO1xyXG4gIH1cclxuXHJcbiAgLmRpYWxvZ0xhYmVsIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHNlY29uZGFyeTtcclxuICAgIHBhZGRpbmc6IDhweCAxMHB4IDIwcHg7XHJcblxyXG4gICAgaDIge1xyXG4gICAgICBAaW5jbHVkZSB6ZXJvTWFyZ1BhZDtcclxuICAgICAgZm9udC1zaXplOiAxLjM1ZW07XHJcbiAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbltkYXRhLWRpYWxvZy1zdHlsZT1cInNoYWRlXCJdIHtcclxuICAuZGlhbG9nSW5uZXIge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRyYWRpdXMgJHJhZGl1cztcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgfVxyXG59XHJcblxyXG5bZGF0YS1kaWFsb2ctc3R5bGVePVwic2lkZWJhclwiXSB7XHJcbiAgLmRpYWxvZ0lubmVyIHtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG5cclxuICAmW2RhdGEtZGlhbG9nLXN0eWxlPVwic2lkZWJhckxlZnRcIl0ge1xyXG4gICAgLmRpYWxvZ0lubmVyIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMCAkcmFkaXVzICRyYWRpdXMgMDtcclxuICAgICAgcGFkZGluZzogMjBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZbZGF0YS1kaWFsb2ctc3R5bGU9XCJzaWRlYmFyUmlnaHRcIl0ge1xyXG4gICAgLmRpYWxvZ0lubmVyIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cyAwIDAgJHJhZGl1cztcclxuICAgICAgcGFkZGluZzogMjBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbltkYXRhLWRpYWxvZy1zdHlsZV49XCJmdWxsXCJdIHtcclxuICAuZGlhbG9nSW5uZXIge1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICB9XHJcbn1cclxuXHJcbi5zaW1wbGVEaWFsb2cge1xyXG4gIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCRsaWdodCk7XHJcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxufVxyXG5cclxuLy8gTUVESUEgUVVFUklFUyAmIEJST1dTRVItU1BFQ0lGSUMgQURKVVNUTUVOVFMgQkVMT1cgLy9cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkc20pIHtcclxuICBbZGF0YS1kaWFsb2ctc3R5bGVePVwic2lkZWJhclwiXVtkYXRhLWRpYWxvZy1zdHlsZT1cInNpZGViYXJSaWdodFwiXSAuZGlhbG9nSW5uZXIge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICB9XHJcbiAgW2RhdGEtZGlhbG9nLXN0eWxlPVwibW9kYWxcIl0gZGl2W3JvbGU9XCJkaWFsb2dcIl0ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHhzKSB7XHJcbiAgW2RhdGEtZGlhbG9nLXN0eWxlPVwibW9kYWxcIl0ge1xyXG4gICAgZGl2W3JvbGU9XCJkaWFsb2dcIl0ge1xyXG4gICAgICAmLnJlcG9ydE5lZWRlZCB7XHJcbiAgICAgICAgLy9VbmlxdWUgc3R5bGluZyBmb3IgdGhlIFJlcG9ydCBhIEJhcnJpZXIgZmVhdHVyZS4gLSBERlRcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR4eHMpIHtcclxuICBbZGF0YS1kaWFsb2ctc3R5bGU9XCJtb2RhbFwiXSB7XHJcbiAgICAmW2RhdGEtYmFja2Ryb3AtZm9yPVwiYWNjZXNzaWJpbGl0eVByZWZzXCJdIHtcclxuICAgICAgLnNhZmFyaSAmIHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHggMTUwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQHVzZSBcIm1peGluc1wiIGFzICo7XHJcbkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xyXG5cclxuLy8gQkVHSU4gQkFTRSBTVFlMRVMgLSBETyBOT1QgQ0hBTkdFIFRIRVNFIFVOTEVTUyBZT1UgS05PVyBXSEFUIFlPVSdSRSBET0lORyAvL1xyXG5cclxuLmZpZWxkV3JhcHBlcixcclxuLnVtYnJhY28tZm9ybXMtZmllbGQuc2hvcnRhbnN3ZXIsXHJcbi51bWJyYWNvLWZvcm1zLWZpZWxkLmRhdGUsXHJcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnBhc3N3b3JkIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWF4LXdpZHRoOiA1MDBweDtcclxuXHJcbiAgbGFiZWw6bm90KC5jaGVja2JveExhYmVsKSB7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgfVxyXG5cclxuICBpbnB1dDpub3QoW3R5cGU9XCJjaGVja2JveFwiXSk6bm90KFt0eXBlPVwicmFkaW9cIl0pIHtcclxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICBtaW4td2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtaGVpZ2h0OiAxMjBweDtcclxuICB9XHJcblxyXG4gIGlucHV0OjotbXMtcmV2ZWFsLFxyXG4gIGlucHV0OjotbXMtY2xlYXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIC5kZXNjcmlwdGlvbiB7XHJcbiAgICBtYXJnaW4tdG9wOiA2cHg7XHJcbiAgICBmb250LXNpemU6IDAuODRlbTtcclxuICAgIGNvbG9yOiByZ2JhKCRiYXNpYywgMC44NSk7XHJcblxyXG4gICAgPiAqOmZpcnN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgPiAqOmxhc3QtY2hpbGQge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZmllbGRXcmFwcGVyLFxyXG4udW1icmFjby1mb3Jtcy1maWVsZC5sb25nYW5zd2VyIHtcclxuICB0ZXh0YXJlYSB7XHJcbiAgICBhcHBlYXJhbmNlOiBub25lO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgbWluLXdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LWhlaWdodDogMTIwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4uZHJvcGRvd25XcmFwcGVyLFxyXG4udW1icmFjby1mb3Jtcy1maWVsZC5kcm9wZG93biB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1heC13aWR0aDogNTAwcHg7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcblxyXG4gIHNlbGVjdCB7XHJcbiAgICBhcHBlYXJhbmNlOiBub25lO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgbWluLXdpZHRoOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyBmaWxsPSdibGFjaycgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyB3aWR0aD0nMjQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+PHBhdGggZD0nTTcgMTBsNSA1IDUtNXonLz48cGF0aCBkPSdNMCAwaDI0djI0SDB6JyBmaWxsPSdub25lJy8+PC9zdmc+XCIpO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiAyNXB4IDUwcHg7XHJcblxyXG4gICAgJjo6LW1zLWV4cGFuZCB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uY29udHJvbFdyYXBwZXIsXHJcbi5hZGctdW1icmFjby1mb3Jtcy1jb250cm9sd3JhcHBlciB7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRwcmltYXJ5O1xyXG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcblxyXG4gICY6bGFzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gIH1cclxuXHJcbiAgPiAqOmZpcnN0LWNoaWxkIHtcclxuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gID4gKjpsYXN0LWNoaWxkIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5jb250cm9sIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgbGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAxLjJlbTtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG5cclxuICAuZGVzY3JpcHRpb24ge1xyXG4gICAgbWFyZ2luLXRvcDogNnB4O1xyXG4gICAgZm9udC1zaXplOiAwLjg0ZW07XHJcbiAgICBjb2xvcjogcmdiYSgkYmFzaWMsIDAuODUpO1xyXG5cclxuICAgID4gKjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgID4gKjpsYXN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy9UaGVzZSBzdHlsZSBpcyBqdXN0IHVzZWQgZm9yIHRoZSBIb25leXBvdCBmZWF0dXJlLiBUaGVzZSBzdHlsZXMga2VlcCB0aGUgZmllbGQgZnJvbSBiZWluZyBzZWVuIGJ5IGh1bWFucyBhbmQgdGhleSBzaG91bGQgbm90IGJlIGNoYW5nZWQgb3IgcmVtb3ZlZC5cclxuLmZpZWxkV3JhcHBlci5lbnJvbGxlZU5hbWUge1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgQGluY2x1ZGUgYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDA7XHJcbiAgaGVpZ2h0OiAwO1xyXG4gIHotaW5kZXg6IC0xO1xyXG59XHJcblxyXG4vLyBFTkQgQkFTRSBTVFlMRVNcclxuXHJcbi5zdHlsZWRGaWVsZHNldCxcclxuLnVtYnJhY28tZm9ybXMtZmllbGRzZXQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBib3JkZXI6IDJweCBkYXNoZWQgJHNlY29uZGFyeTtcclxuICBwYWRkaW5nOiAyMHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHByaW1hcnksIDAuNCk7XHJcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuXHJcbiAgbGVnZW5kLFxyXG4gIC5ncm91cExlZ2VuZCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBwYWRkaW5nOiA0cHggOHB4IDJweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICRwcmltYXJ5O1xyXG4gICAgZm9udC1zaXplOiAxLjNlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjFlbTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBmb250LWZhbWlseTogJHByaW1hcnlGb250O1xyXG4gICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoJHNlY29uZGFyeSk7XHJcbiAgfVxyXG5cclxuICAuZ3JvdXBMZWdlbmQge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogOXB4O1xyXG4gIH1cclxuXHJcbiAgLmZpZWxkc2V0R3JpZCB7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xyXG4gICAgZ2FwOiAxMnB4O1xyXG5cclxuICAgIC5maWVsZFdyYXBwZXIsXHJcbiAgICAuY29udHJvbFdyYXBwZXIge1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICA+IDpsYXN0LWNoaWxkIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi5maWVsZFdyYXBwZXIsXHJcbi51bWJyYWNvLWZvcm1zLWZpZWxkLnNob3J0YW5zd2VyLFxyXG4udW1icmFjby1mb3Jtcy1maWVsZC5kYXRlLFxyXG4udW1icmFjby1mb3Jtcy1maWVsZC5wYXNzd29yZCB7XHJcbiAgbWFyZ2luOiAxMHB4IGF1dG87XHJcblxyXG4gIGxhYmVsOm5vdCguY2hlY2tib3hMYWJlbCkge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA4cHg7XHJcbiAgICBsZWZ0OiA5cHg7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDAgMCA1cHg7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgZm9udC1zaXplOiAwLjhlbTtcclxuICAgIGZvbnQtZmFtaWx5OiAkcHJpbWFyeUZvbnQ7XHJcbiAgICBjb2xvcjogJGRhcmtHcmV5O1xyXG4gIH1cclxuXHJcbiAgaW5wdXQ6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0pOm5vdChbdHlwZT1cInJhZGlvXCJdKSxcclxuICB0ZXh0YXJlYSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LWhlaWdodDogMTIwcHg7XHJcbiAgICBtaW4taGVpZ2h0OiA0OHB4O1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgJHByaW1hcnk7XHJcbiAgICBib3JkZXItd2lkdGg6IDAgMCAycHggMDtcclxuICAgIHBhZGRpbmc6IDIzcHggOHB4IDZweDtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHQ7XHJcbiAgICBjb2xvcjogJGJhc2ljO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB9XHJcblxyXG4gIC5zaG93SGlkZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAkbGlnaHQ7XHJcbiAgICB0b3A6IDRweDtcclxuICAgIHJpZ2h0OiAycHg7XHJcbiAgICBoZWlnaHQ6IDQxcHg7XHJcbiAgICB3aWR0aDogMzZweDtcclxuICAgIEBpbmNsdWRlIGZsZXhDZW50ZXI7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgYmFja2dyb3VuZDogJHNlY29uZGFyeTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAmW2FyaWEtY2hlY2tlZD1cInRydWVcIl0ge1xyXG4gICAgICAuaWNvbjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICB3aWR0aDogM3B4O1xyXG4gICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgtNDVkZWcpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRsaWdodDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmljb24ge1xyXG4gICAgICBmb250LXNpemU6IDEuMmVtO1xyXG4gICAgfVxyXG4gIH1cclxuICAjUGFzc3dvcmQ6Zm9jdXMgKyAjcmVxdWlyZW1lbnRzIHtcclxuICAgIG1heC1oZWlnaHQ6IDEwMDBweDtcclxuICB9XHJcbiAgI3JlcXVpcmVtZW50cyB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgcGFkZGluZzogMTBweCAwIDAgMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAxcyBlYXNlLWluLW91dDtcclxuICAgIGxpIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgJi52YWxpZCB7XHJcbiAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoJGNvcnJlY3QpO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAwLjllbTtcclxuICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJhXCI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5pY29uIHtcclxuICAgICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgkd3JvbmcpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjU1ZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5kcm9wZG93bldyYXBwZXIsXHJcbi51bWJyYWNvLWZvcm1zLWZpZWxkLmRyb3Bkb3duIHtcclxuICBsYWJlbDpub3QoLmNoZWNrYm94TGFiZWwpIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogOHB4O1xyXG4gICAgbGVmdDogOXB4O1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiAwIDAgNXB4O1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGZvbnQtc2l6ZTogMC44ZW07XHJcbiAgICBmb250LWZhbWlseTogJHByaW1hcnlGb250O1xyXG4gICAgY29sb3I6ICRiYXNpYztcclxuICB9XHJcbiAgc2VsZWN0IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtaW4taGVpZ2h0OiA1MnB4O1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgJHByaW1hcnk7XHJcbiAgICBwYWRkaW5nOiAyNnB4IDQ1cHggOHB4IDhweDtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQ7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIH1cclxufVxyXG5cclxuLmZpZWxkV3JhcHBlcixcclxuLnVtYnJhY28tZm9ybXMtZmllbGQubG9uZ2Fuc3dlciB7XHJcbiAgdGV4dGFyZWEge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1heC1oZWlnaHQ6IDEyMHB4O1xyXG4gICAgbWluLWhlaWdodDogNDhweDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICRwcmltYXJ5O1xyXG4gICAgcGFkZGluZzogNnB4IDhweCA2cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgYmFja2dyb3VuZDogJGxpZ2h0O1xyXG4gICAgY29sb3I6ICRiYXNpYztcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgfVxyXG59XHJcblxyXG5mb3JtLFxyXG4uZm9ybVdyYXAge1xyXG4gIC5lcnJvciB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogNHB4IDA7XHJcbiAgICBwYWRkaW5nOiAycHggNHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoJHdyb25nKTtcclxuICAgICY6ZW1wdHkge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gTUVESUEgUVVFUklFUyAmIEJST1dTRVItU1BFQ0lGSUMgQURKVVNUTUVOVFMgQkVMT1cgLy9cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkeHMpIHtcclxuICAuc3R5bGVkRmllbGRzZXQsXHJcbiAgLnVtYnJhY28tZm9ybXMtZmllbGRzZXQge1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIC5maWVsZHNldEdyaWQge1xyXG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHh4cykge1xyXG4gIC5jb250cm9sV3JhcHBlciB7XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gICAgfVxyXG4gIH1cclxuICAuc3R5bGVkRmllbGRzZXQgbGVnZW5kLFxyXG4gIC5zdHlsZWRGaWVsZHNldCAuZ3JvdXBMZWdlbmQsXHJcbiAgLnVtYnJhY28tZm9ybXMtZmllbGRzZXQgbGVnZW5kLFxyXG4gIC51bWJyYWNvLWZvcm1zLWZpZWxkc2V0IC5ncm91cExlZ2VuZCB7XHJcbiAgICBmb250LXNpemU6IDEuMmVtO1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR0aW55KSB7XHJcbiAgLmNvbnRyb2xXcmFwcGVyIHtcclxuICAgIGxhYmVsIHtcclxuICAgICAgZm9udC1zaXplOiAwLjllbTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQHVzZSBcIm1peGluc1wiIGFzICo7XHJcbkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xyXG5cclxuLy8gQkVHSU4gQkFTRSBTVFlMRVMgLSBETyBOT1QgQ0hBTkdFIFRIRVNFIFVOTEVTUyBZT1UgS05PVyBXSEFUIFlPVSdSRSBET0lORyAvL1xyXG5cclxuLmJ1ZmZlciB7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDQwcHgpO1xyXG59XHJcblxyXG5mb290ZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDQwcHg7XHJcbiAgcGFkZGluZzogMCAxNXB4O1xyXG4gIGJhY2tncm91bmQ6ICMwMDA7XHJcbiAgei1pbmRleDogOTk5OTtcclxuXHJcbiAgLmFkZ0xvZ29XcmFwIHtcclxuICAgIGEge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgYmFja2dyb3VuZDogIzAwMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5hZGdMb2dvIHtcclxuICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICB3aWR0aDogYXV0bztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5ndWVzdExvZ2luTWV0aG9kcyB7XHJcbiAgLnNvY2lhbE1lZGlhVGl0bGUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgfVxyXG5cclxuICAuc29jaWFsTWVkaWFMb2dpbnMge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnIgMWZyO1xyXG4gICAgZ2FwOiAxMnB4O1xyXG4gICAgLmZhY2Vib29rTG9naW4ge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjMTg3N2YyICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLmdvb2dsZUxvZ2luIHtcclxuICAgICAgYmFja2dyb3VuZDogI2ViZWJlYyAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC50d2l0dGVyTG9naW4ge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjMTQxNzFhICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAudGV4dCB7XHJcbiAgICAgICAgQGluY2x1ZGUgc2NyZWVuUmVhZGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuYXBwbGVMb2dpbiB7XHJcbiAgICAgIGJhY2tncm91bmQ6IGJsYWNrICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgPiBhIHtcclxuICAgICAgQGluY2x1ZGUgZmxleENlbnRlcjtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICAgIGhlaWdodDogNDVweDtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBwYWRkaW5nOiAxZW0gIWltcG9ydGFudDtcclxuXHJcbiAgICAgIC5zdmdJY29uIHtcclxuICAgICAgICB3aWR0aDogMTZweDtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7XHJcbiAgICAgIH1cclxuICAgICAgLnRleHQge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5hcHBsZUxvZ2luIHtcclxuICAgICAgaGVpZ2h0OiA0NXB4O1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgID4gZGl2IHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmxvZ2luV3JhcHBlcltkYXRhLWhpZGRlbi1mb3ItZ3Vlc3Q9XCJ0cnVlXCJdIHtcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5ndWVzdFdyYXBwZXJIb2xkZXIge1xyXG4gIG1heC1oZWlnaHQ6IDA7XHJcbiAgb3BhY2l0eTogMDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRyYW5zaXRpb246IGFsbCAkc2xvdztcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG4vL1RoZXNlIHN0eWxlIGlzIGp1c3QgdXNlZCBmb3IgdGhlIEhvbmV5cG90IGZlYXR1cmUuIFRoZXNlIHN0eWxlcyBrZWVwIHRoZSBmaWVsZCBmcm9tIGJlaW5nIHNlZW4gYnkgaHVtYW5zIGFuZCB0aGV5IHNob3VsZCBub3QgYmUgY2hhbmdlZCBvciByZW1vdmVkLlxyXG4uZmllbGRXcmFwcGVyLmVucm9sbGVlTmFtZSB7XHJcbiAgb3BhY2l0eTogMDtcclxuICBAaW5jbHVkZSBhYnNvbHV0ZTtcclxuICB3aWR0aDogMDtcclxuICBoZWlnaHQ6IDA7XHJcbiAgei1pbmRleDogLTE7XHJcbn1cclxuXHJcbi8vIEVORCBCQVNFIFNUWUxFUyAvL1xyXG5cclxuYm9keSB7XHJcbiAgYmFja2dyb3VuZDogJHByaW1hcnk7XHJcbn1cclxuXHJcbiNiYWNrZ3JvdW5kIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMHZ3O1xyXG4gIGhlaWdodDogNDAwcHg7XHJcbiAgb3BhY2l0eTogMTtcclxuICAuY292ZXItc2xpZGVyLFxyXG4gIHZpZGVvLFxyXG4gIC5tYWluQmdJbWcge1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIEBpbmNsdWRlIGFic29sdXRlO1xyXG4gICAgQGluY2x1ZGUgZmlsbFNwYWNlO1xyXG4gIH1cclxuICAuc2VjdGlvbkJnSG9sZGVyIHtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBAaW5jbHVkZSBhYnNvbHV0ZTtcclxuICAgIEBpbmNsdWRlIGZpbGxTcGFjZTtcclxuICAgIC5tZW51T3V0ICYge1xyXG4gICAgICB6LWluZGV4OiAzO1xyXG4gICAgfVxyXG4gICAgJltkYXRhLXNlY3Rpb24tYmctb25seT1cInRydWVcIl0ge1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XHJcbiAgICAgIC5pblNlY3Rpb24gJiB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmJnSW1nLFxyXG4gIC5zZWN0aW9uQmcge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIEBpbmNsdWRlIGJnUG9zKCk7XHJcbiAgfVxyXG5cclxuICB2aWRlbyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodEdyZXk7XHJcbiAgfVxyXG5cclxuICBbZGF0YS1pcy1sb2FkaW5nPVwidHJ1ZVwiXSAmIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG5oZWFkZXIge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDIwcHg7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgei1pbmRleDogMTU7XHJcbiAgdHJhbnNpdGlvbjogYWxsICR2ZXJ5U2xvdztcclxuXHJcbiAgLmxvZ29XcmFwIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB3aWR0aDogMjgwcHg7XHJcbiAgICBoZWlnaHQ6IDEwNXB4O1xyXG4gICAgcGFkZGluZzogMjBweCAxNXB4O1xyXG4gICAgYmFja2dyb3VuZDogJHNlY29uZGFyeTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAkdmVyeVNsb3c7XHJcbiAgfVxyXG4gIC5sb2dvIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsICR2ZXJ5U2xvdztcclxuICB9XHJcbiAgLm9yaWVudGF0aW9uVGl0bGUge1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCRhY2NlbnQpO1xyXG4gICAgcGFkZGluZzogMTBweCA5cHggOHB4O1xyXG4gICAgZm9udC1zaXplOiAxLjJlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjFlbTtcclxuICAgIGZvbnQtZmFtaWx5OiAkYmFzaWNGb250O1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcbn1cclxuXHJcbiNtZW1iZXJzaGlwIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjgwcHgpO1xyXG4gIG1heC13aWR0aDogODAwcHg7XHJcbiAgbWFyZ2luOiAyODBweCBhdXRvIDA7XHJcbiAgcGFkZGluZy10b3A6IDE1cHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDEyMHB4O1xyXG4gIGJhY2tncm91bmQ6ICRsaWdodDtcclxuICBib3gtc2hhZG93OiAkc2hhZG93O1xyXG4gIHotaW5kZXg6IDU7XHJcblxyXG4gIC50aXRsZUFyZWEge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogMzBweCAyMHB4IDEwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICYuYWNjb3VudFByb2ZpbGVyIHtcclxuICAgICAgZm9udC1zaXplOiAxLjVlbTtcclxuICAgIH1cclxuXHJcbiAgICBoMiB7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkcHJpbWFyeUZvbnQ7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogMi40ZW07XHJcbiAgICAgIG1hcmdpbjogMCAwIDVweDtcclxuICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICB9XHJcblxyXG4gICAgcCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS4yZW07XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBidXR0b24ucmV0dXJuVG9Tb2NpYWwge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IDVweDtcclxuICAgIG1hcmdpbjogMjVweCAwIDA7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHZlcnlGYXN0O1xyXG4gICAgLnRleHQge1xyXG4gICAgICBmb250LXNpemU6IDAuOWVtO1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIH1cclxuICAgIC5pY29uIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBmb250LXNpemU6IDAuOGVtO1xyXG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJG1lZGl1bTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGhvdmVyQW5kRm9jdXMge1xyXG4gICAgICAudGV4dCB7XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgIH1cclxuICAgICAgLmljb24ge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZXJyb3JNZXNzYWdlLFxyXG4gIC5maWVsZC12YWxpZGF0aW9uLWVycm9yIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCR3cm9uZyk7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgcGFkZGluZzogNXB4IDEwcHg7XHJcbiAgICBtYXJnaW46IDJweCBhdXRvIDEwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gIH1cclxuXHJcbiAgLmxvZ2luTmF2IHtcclxuICAgIEBpbmNsdWRlIGZsZXhDZW50ZXI7XHJcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgJGxpZ2h0R3JleTtcclxuICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMC45ZW07XHJcblxyXG4gICAgPiAqIHtcclxuICAgICAgbWFyZ2luOiAwIDVweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5mb3JtV3JhcCB7XHJcbiAgICBwYWRkaW5nOiAyNXB4IDQwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XHJcbiAgICAgIEBpbmNsdWRlIHJhZGlvO1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XHJcbiAgICAgIEBpbmNsdWRlIGNoZWNrYm94O1xyXG4gICAgfVxyXG5cclxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB+IGxhYmVsLFxyXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIH4gbGFiZWwge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuMzVlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5mb3JtV3JhcC5sb2dpbiB7XHJcbiAgICAuc3RhdHVzTWVzc2FnZSB7XHJcbiAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCRibGFjayk7XHJcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgIG1hcmdpbjogMTBweCBhdXRvO1xyXG4gICAgfVxyXG4gICAgLmhvcnpEaXZpZGVyIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgbWFyZ2luOiAyNXB4IDA7XHJcblxyXG4gICAgICAubGluZSB7XHJcbiAgICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRsaWdodEdyZXk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5vciB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBjb2xvcjogJGJhc2ljO1xyXG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IDE1cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBidXR0b24uY29udGludWVXaXRoRW1haWwge1xyXG4gICAgICBAaW5jbHVkZSBidXR0b247XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBwYWRkaW5nOiAxLjNlbSAxLjhlbTtcclxuICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgIC5pY29uIHtcclxuICAgICAgICBmb250LXNpemU6IDIuNWVtO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgIH1cclxuICAgICAgLnRleHQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZmllbGRXcmFwcGVyIGxhYmVsOm5vdCguY2hlY2tib3hMYWJlbCkge1xyXG4gICAgICB0b3A6IDNweDtcclxuICAgICAgbGVmdDogM3B4O1xyXG4gICAgfVxyXG5cclxuICAgIC5maWVsZFdyYXBwZXIgaW5wdXQ6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0pOm5vdChbdHlwZT1cInJhZGlvXCJdKSxcclxuICAgIC5maWVsZFdyYXBwZXIgdGV4dGFyZWEge1xyXG4gICAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAzcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmxvZ2luV3JhcHBlciB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XHJcbiAgICAgIG1hcmdpbi10b3A6IDhweDtcclxuICAgIH1cclxuXHJcbiAgICAucmV0dXJuaW5nV3JhcHBlciB7XHJcbiAgICAgIHdpZHRoOiBjYWxjKDYwJSAtIDIwcHgpO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLm5ld0FjY291bnRXcmFwcGVyIHtcclxuICAgICAgd2lkdGg6IDQwJTtcclxuXHJcbiAgICAgID4gYTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICAgICAmW2RhdGEtdHlwZT1cIlN0dWRlbnRcIl0ge1xyXG4gICAgICAgICAgLmljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcclxuICAgICAgICAgICAgY29udGVudDogXCJ6XCI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDIuNWVtO1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC50ZXh0IHtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxLjE1ZW07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZm9ybVdyYXAubGFuZGluZ1BhZ2Uge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xyXG4gICAgLmJ1dHRvbnMge1xyXG4gICAgICBAaW5jbHVkZSBmbGV4Q2VudGVyO1xyXG5cclxuICAgICAgYSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgbWFyZ2luOiAwIDZweDtcclxuICAgICAgICBoZWlnaHQ6IDM1MHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGhvdmVyQW5kRm9jdXMge1xyXG4gICAgICAgICAgLmljb25Ib2xkZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC50ZXh0IHtcclxuICAgICAgICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuYmcge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAub3ZlcmxheUdyaWQge1xyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgICAgICAgIG9wYWNpdHk6IDAuNztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLm92ZXJsYXlHcmlkIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyIDFmciAxMzBweDtcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgNjAwbXM7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZ0Z1bmN0aW9uO1xyXG5cclxuICAgICAgICAgICYubGVmdCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGFjY2VudCwgMC45OCk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgJi5jZW50ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRhY2NlbnQsIDAuOTgpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICYucmlnaHQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRhY2NlbnQsIDAuOTgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdG8gMTAge1xyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgjeyRpfSkge1xyXG4gICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICN7JGkgKiAzMH1tcztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmJnIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgaW5zZXQ6IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDYwMG1zO1xyXG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nRnVuY3Rpb247XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC50ZXh0SG9sZGVyIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHotaW5kZXg6IDU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIG1heC13aWR0aDogNjYlO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDEzMHB4O1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICRhbHQ7XHJcbiAgICAgICAgcGFkZGluZzogMjBweCAxNXB4IDVweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRsaWdodDtcclxuXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgbGVmdDogMTVweDtcclxuICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFsdDI7XHJcbiAgICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC50ZXh0IHtcclxuICAgICAgICBjb2xvcjogJGFjY2VudDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBmb250LWZhbWlseTogJHNlY29uZGFyeUZvbnQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHZlcnlGYXN0O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5pY29uSG9sZGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRwcmltYXJ5Rm9udDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHZlcnlGYXN0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC42ZW07XHJcbiAgICAgICAgY29sb3I6ICRhbHQyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkZmFzdDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuaWNvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleENlbnRlcjtcclxuICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRpY29uRm9udDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5ndWVzdExvZ2luQnRuIHtcclxuICAgICAgICAuaWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgY29udGVudDogXCJrXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuZW5yb2xsZWVMb2dpbkJ0biB7XHJcbiAgICAgICAgLmljb246YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IFwielwiO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmZvcm1XcmFwLmFjY291bnRQcm9maWxlciB7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cclxuICAgIC5wcm9maWxlU2V0dGluZ3NFeHBsYWluZXIsXHJcbiAgICAucHJvZmlsZUVycm9yV3JhcCB7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAuaW5zdHJ1Y3Rpb24ge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLmJ1dHRvbkhvbGRlciB7XHJcbiAgICAgIG1hcmdpbjogMjBweCAwIDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnJlc2V0QWNjb3VudFR5cGVCdG4ge1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgICBmb250LXNpemU6IDAuOGVtO1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHByaW1hcnk7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgQGluY2x1ZGUgY29sb3JXaXRoQ29udHJhc3QoJGFjY2VudCk7XHJcbiAgICAgIHRyYW5zaXRpb246ICR2ZXJ5RmFzdDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGhvdmVyQW5kRm9jdXMge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJHNlY29uZGFyeTtcclxuICAgICAgICBAaW5jbHVkZSBjb2xvcldpdGhDb250cmFzdCgkc2Vjb25kYXJ5KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmZvcm1XcmFwLnR3b0ZhY3RvciB7XHJcbiAgICAuc2luZ2xlRmllbGRTdWJtaXNzaW9uIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcblxyXG4gICAgICAuZmllbGRXcmFwcGVyIHtcclxuICAgICAgICBtYXJnaW46IDAgNXB4IDAgMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgYnV0dG9uIHtcclxuICAgICAgICBAaW5jbHVkZSBidXR0b247XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAjVEZBQnV0dG9uQXBwIHtcclxuICAgICAgQGluY2x1ZGUgYnV0dG9uO1xyXG4gICAgICBwYWRkaW5nOiAwLjM1ZW0gMC41ZW07XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgI1RGQUJ1dHRvbkVtYWlsLFxyXG4gICAgI09UUEJ1dHRvbiB7XHJcbiAgICAgIGJvcmRlcjogMDtcclxuICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgcGFkZGluZzogMCAwIDJweDtcclxuICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRwcmltYXJ5O1xyXG4gICAgICBAaW5jbHVkZSBjb2xvcldpdGhDb250cmFzdCgkcHJpbWFyeSk7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICZbZGF0YS13YWl0LWEtZmV3PVwidHJ1ZVwiXSB7XHJcbiAgICAgICAgb3BhY2l0eTogMC42O1xyXG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5idXR0b25Ib2xkZXIge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbjtcclxuICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc3R5bGVkRmllbGRzZXQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHJcbiAgICAuZ3JvdXBMZWdlbmQge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnNpbXBsZURpYWxvZyB7XHJcbiAgLmNsb3NlRGlhbG9nIHtcclxuICAgIEBpbmNsdWRlIGJ1dHRvbjtcclxuXHJcbiAgICAuaWNvbiB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4jcmVzZXREYXRhIHtcclxuICBidXR0b24ge1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uO1xyXG4gIH1cclxufVxyXG5cclxuLy8gTUVESUEgUVVFUklFUyAmIEJST1dTRVItU1BFQ0lGSUMgQURKVVNUTUVOVFMgQkVMT1cgLy9cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiAyMDAwcHgpIHtcclxuICAjbWVtYmVyc2hpcCB7XHJcbiAgICBtYXgtd2lkdGg6IDEwNTBweDtcclxuICAgIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSAuYnV0dG9ucyBhIHtcclxuICAgICAgaGVpZ2h0OiA0NTBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkbWQpIHtcclxuICAjbWVtYmVyc2hpcCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcclxuICAgIG1pbi1oZWlnaHQ6IGF1dG87XHJcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkbWQpLCAobWF4LWhlaWdodDogJHh4cykge1xyXG4gICNiYWNrZ3JvdW5kIHtcclxuICAgIGhlaWdodDogMzAwcHg7XHJcbiAgfVxyXG4gICNtZW1iZXJzaGlwIHtcclxuICAgIG1hcmdpbi10b3A6IDIyMHB4O1xyXG4gIH1cclxuICBoZWFkZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICRzbSkge1xyXG4gIC5ndWVzdExvZ2luTWV0aG9kcyAuc29jaWFsTWVkaWFMb2dpbnMge1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xyXG4gICAgZ2FwOiA4cHg7XHJcbiAgfVxyXG4gIGhlYWRlciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIC5sb2dvV3JhcCB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG4gICNiYWNrZ3JvdW5kIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcbiAgI21lbWJlcnNoaXAge1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIC5mb3JtV3JhcCB7XHJcbiAgICAgICYubG9naW4ge1xyXG4gICAgICAgIC5sb2dpbldyYXBwZXIge1xyXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgIGdhcDogMTVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm5ld0FjY291bnRXcmFwcGVyIHtcclxuICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucmV0dXJuaW5nV3JhcHBlciB7XHJcbiAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi5sYW5kaW5nUGFnZSB7XHJcbiAgICAgICAgLmJ1dHRvbnMge1xyXG4gICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmJ1dHRvbnMge1xyXG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR4cykge1xyXG4gICNtZW1iZXJzaGlwIHtcclxuICAgIC5mb3JtV3JhcCB7XHJcbiAgICAgIHBhZGRpbmc6IDI1cHg7XHJcbiAgICB9XHJcbiAgICAuZm9ybVdyYXAubG9naW4gLm5ld0FjY291bnRXcmFwcGVyIHtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG4gICNyZXNldERhdGEge1xyXG4gICAgYnV0dG9uIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkeHhzKSB7XHJcbiAgLmd1ZXN0TG9naW5NZXRob2RzIC5zb2NpYWxNZWRpYUxvZ2lucyB7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgIGdhcDogOHB4O1xyXG4gIH1cclxuICAjbWVtYmVyc2hpcCB7XHJcbiAgICAudGl0bGVBcmVhIHtcclxuICAgICAgaDIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMmVtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuZm9ybVdyYXAubGFuZGluZ1BhZ2Uge1xyXG4gICAgICAuYnV0dG9ucyB7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAudGV4dEhvbGRlciB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogODAlO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgLnRleHQge1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pY29uSG9sZGVyIHtcclxuICAgICAgICAgICAgICBmb250LXNpemU6IDAuNTZlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR0aW55KSB7XHJcbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwIHtcclxuICAgIHBhZGRpbmc6IDE2cHg7XHJcbiAgfVxyXG4gICNtZW1iZXJzaGlwIHtcclxuICAgIC5mb3JtV3JhcC5sYW5kaW5nUGFnZSB7XHJcbiAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkB1c2UgXCJtaXhpbnNcIiBhcyAqO1xyXG5AdXNlIFwidmFyaWFibGVzXCIgYXMgKjtcclxuXHJcbi8vIEJFR0lOIEJBU0UgU1RZTEVTIC0gRE8gTk9UIENIQU5HRSBUSEVTRSBVTkxFU1MgWU9VIEtOT1cgV0hBVCBZT1UnUkUgRE9JTkcgLy9cclxuXHJcbi5ydGUge1xyXG4gIGNsZWFyOiBib3RoO1xyXG4gIGg0LFxyXG4gIGg1IHtcclxuICAgIG1hcmdpbjogMC44ZW0gMCAwLjVlbTtcclxuICB9XHJcbiAgPiAqOmZpcnN0LWNoaWxkIHtcclxuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICB9XHJcbiAgPiAqOmxhc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gIH1cclxuICAvLyAgICY6YWZ0ZXIge1xyXG4gIC8vICAgY29udGVudDogXCJcIjtcclxuICAvLyAgIGNsZWFyOiBib3RoO1xyXG4gIC8vICAgZGlzcGxheTogdGFibGU7XHJcbiAgLy8gfVxyXG59XHJcblxyXG4vLyBFTkQgQkFTRSBTVFlMRVMgLy9cclxuXHJcbi5ydGUge1xyXG4gIC8vIEJFR0lOIElOTElORSBNRURJQSBTVFlMRVMgLy9cclxuICBpZnJhbWUge1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gKDQwcHggKiAyKSk7XHJcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKCgxMDB2dyAtICg0MHB4ICogMikpIC8gMS43Nzc4KTsgLyogMTY6OSAqL1xyXG4gIH1cclxuXHJcbiAgaW1nIHtcclxuICAgIG1hcmdpbjogMTBweDtcclxuICAgICZbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdIHtcclxuICAgICAgbWFyZ2luOiAwIDAgMjBweCAyMHB4O1xyXG4gICAgfVxyXG4gICAgJltzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSB7XHJcbiAgICAgIG1hcmdpbjogMCAyMHB4IDIwcHggMHB4O1xyXG4gICAgfVxyXG4gICAgJltzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sXHJcbiAgICAmW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdIHtcclxuICAgICAgbWF4LXdpZHRoOiA2MCU7XHJcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkeHMpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcclxuICAgICAgfVxyXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJHh4cykge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDVweCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAkcGFkOiA1cHg7XHJcbiAgZmlndXJlOm5vdCgudGVybUJibCkge1xyXG4gICAgbWFyZ2luOiAyMHB4IDBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoKCN7JHJhZGl1c30gKyAjeyRwYWR9KSAtIDBweCk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JleTtcclxuICAgIHBhZGRpbmc6ICRwYWQ7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBpbWcge1xyXG4gICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICBtYXJnaW46IDBweCAhaW1wb3J0YW50O1xyXG4gICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cyAkcmFkaXVzIDBweCAwcHg7XHJcbiAgICB9XHJcbiAgICAmW3N0eWxlKj1cInRleHQtYWxpZ246IHJpZ2h0XCJdIHtcclxuICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICBtYXJnaW46IDAgMCAyMHB4IDIwcHg7XHJcbiAgICB9XHJcbiAgICAmW3N0eWxlKj1cInRleHQtYWxpZ246IGxlZnRcIl0ge1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgbWFyZ2luOiAwIDIwcHggMjBweCAwcHg7XHJcbiAgICB9XHJcbiAgICAmW3N0eWxlKj1cInRleHQtYWxpZ246IGxlZnRcIl0sXHJcbiAgICAmW3N0eWxlKj1cInRleHQtYWxpZ246IHJpZ2h0XCJdIHtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xyXG4gICAgICBtYXgtd2lkdGg6IDYwJTtcclxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICR4cykge1xyXG4gICAgICAgIG1heC13aWR0aDogNTAlO1xyXG4gICAgICB9XHJcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkeHhzKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBmaWdjYXB0aW9uIHtcclxuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAkcmFkaXVzICRyYWRpdXM7XHJcbiAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCRsaWdodEdyZXkpO1xyXG4gICAgICBmb250LXNpemU6IDAuOWVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gRU5EIElOTElORSBNRURJQSBTVFlMRVMgLy9cclxuXHJcbiAgLy8gQkVHSU4gVEVYVCBTVFlMRVMvL1xyXG5cclxuICBwIHtcclxuICAgIGZvbnQtZmFtaWx5OiAkYmFzaWNGb250O1xyXG4gICAgZm9udC1zaXplOiAxLjFlbTtcclxuICB9XHJcblxyXG4gIGgzLmhlYWRpbmcge1xyXG4gICAgbWFyZ2luOiAwLjc1ZW0gMCAwLjRlbTtcclxuICAgIGZvbnQtc2l6ZTogMi4zZW07XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1ZW07XHJcbiAgICBAaW5jbHVkZSBjb2xvcldpdGhDb250cmFzdCgkYWNjZW50KTtcclxuICB9XHJcblxyXG4gIC5oZWFkaW5nTGlzdCxcclxuICAuc3ViaGVhZGluZ0xpc3Qge1xyXG4gICAgbWFyZ2luOiAwLjg1ZW0gMCAwLjRlbTtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwLjI1ZW07XHJcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHByaW1hcnk7XHJcbiAgICBmb250LXdlaWdodDogOTAwO1xyXG4gICAgZm9udC1mYW1pbHk6ICRwcmltYXJ5Rm9udDtcclxuICAgIC8vdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtO1xyXG4gIH1cclxuXHJcbiAgaDMuaGVhZGluZ0xpc3Qge1xyXG4gICAgZm9udC1zaXplOiAxLjVlbTtcclxuICAgIEBpbmNsdWRlIGNvbG9yV2l0aENvbnRyYXN0KCRhY2NlbnQpO1xyXG4gIH1cclxuXHJcbiAgaDQuc3ViaGVhZGluZ0xpc3Qge1xyXG4gICAgZm9udC1zaXplOiAxLjNlbTtcclxuICAgIEBpbmNsdWRlIGNvbG9yV2l0aENvbnRyYXN0KCRzZWNvbmRhcnkpO1xyXG4gIH1cclxuXHJcbiAgaDQuc3ViaGVhZGluZyB7XHJcbiAgICBtYXJnaW46IDAuNzVlbSAwIDAuNGVtO1xyXG4gICAgZm9udC1zaXplOiAxLjc1ZW07XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcclxuICAgIEBpbmNsdWRlIGNvbG9yV2l0aENvbnRyYXN0KCRzZWNvbmRhcnkpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gIH1cclxuXHJcbiAgLmxhcmdlVGV4dCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZvbnQtc2l6ZTogMS4xNWVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgIEBpbmNsdWRlIGNvbG9yV2l0aENvbnRyYXN0KCRhY2NlbnQpO1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIHdpZHRoOiA0cHg7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9JbWFnZXMvd2lnZ2xlLXZlcnRpY2FsLnBuZyk7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xyXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmhpZ2hsaWdodCB7XHJcbiAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgkYWx0KTtcclxuICAgIGEge1xyXG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdWwge1xyXG4gICAgcGFkZGluZzogMDtcclxuXHJcbiAgICA+IGxpIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuXHJcbiAgICAgICY6Om1hcmtlciB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07XHJcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9sIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICBjb3VudGVyLXJlc2V0OiBjb3VudGVyO1xyXG5cclxuICAgICZbc3R5bGU9XCJsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLWFscGhhO1wiXSxcclxuICAgICZbc3R5bGU9XCJsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhO1wiXSxcclxuICAgICZbc3R5bGU9XCJsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWdyZWVrO1wiXSxcclxuICAgICZbc3R5bGU9XCJsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLXJvbWFuO1wiXSxcclxuICAgICZbc3R5bGU9XCJsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuO1wiXSB7XHJcbiAgICAgID4gbGk6YmVmb3JlIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgPiBsaSB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgY291bnRlci1pbmNyZW1lbnQ6IGNvdW50ZXI7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcblxyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogY291bnRlcihjb3VudGVyKSBcIi4gXCI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgKyA4cHgpO1xyXG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIEBpbmNsdWRlIGNvbG9yV2l0aENvbnRyYXN0KCRzZWNvbmRhcnkpO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRwcmltYXJ5O1xyXG5cclxuICAgIEBpbmNsdWRlIGhvdmVyQW5kRm9jdXMge1xyXG4gICAgICBAaW5jbHVkZSBjb2xvcldpdGhDb250cmFzdCgkYWx0Myk7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRhbHQzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gaHR0cHM6Ly93d3cudzMub3JnL1dBSS9XQ0FHMjEvVW5kZXJzdGFuZGluZy9yZWZsb3cuaHRtbFxyXG4gIC8vIEV4YW1wbGVzIG9mIGNvbnRlbnQgd2hpY2ggcmVxdWlyZXMgdHdvLWRpbWVuc2lvbmFsIGxheW91dCBhcmUgWy4uLl0gZGF0YSB0YWJsZXMgKG5vdCBpbmRpdmlkdWFsIGNlbGxzKSwgYW5kIGludGVyZmFjZXNcclxuICAvLyB3aGVyZSBpdCBpcyBuZWNlc3NhcnkgdG8ga2VlcCB0b29sYmFycyBpbiB2aWV3IHdoaWxlIG1hbmlwdWxhdGluZyBjb250ZW50LiBJdCBpcyBhY2NlcHRhYmxlIHRvIHByb3ZpZGUgdHdvLWRpbWVuc2lvbmFsXHJcbiAgLy8gc2Nyb2xsaW5nIGZvciBzdWNoIHBhcnRzIG9mIHRoZSBjb250ZW50LlxyXG4gIC50YWJsZVdyYXBwZXIge1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgYmFja2dyb3VuZDpcclxuICAgICAgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkbGlnaHQgMzAlLCByZ2JhKCRsaWdodCwgMCkpLFxyXG4gICAgICBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoJGxpZ2h0LCAwKSwgJGxpZ2h0IDcwJSkgMCAxMDAlLFxyXG4gICAgICByYWRpYWwtZ3JhZGllbnQoZmFydGhlc3Qtc2lkZSBhdCAwJSA1MCUsIHJnYmEoJGJsYWNrLCAwLjIpLCByZ2JhKCRibGFjaywgMCkpLFxyXG4gICAgICByYWRpYWwtZ3JhZGllbnQoZmFydGhlc3Qtc2lkZSBhdCAxMDAlIDUwJSwgcmdiYSgkYmxhY2ssIDAuMiksIHJnYmEoJGJsYWNrLCAwKSkgMCAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTpcclxuICAgICAgNDBweCAxMDAlLFxyXG4gICAgICA0MHB4IDEwMCUsXHJcbiAgICAgIDE0cHggMTAwJSxcclxuICAgICAgMTRweCAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjpcclxuICAgICAgMCAwLFxyXG4gICAgICAxMDAlLFxyXG4gICAgICAwIDAsXHJcbiAgICAgIDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGxvY2FsLCBsb2NhbCwgc2Nyb2xsLCBzY3JvbGw7XHJcbiAgICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XHJcblxyXG4gICAgdGFibGUge1xyXG4gICAgICBtaW4td2lkdGg6IDUwMHB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgIGNhcHRpb24ge1xyXG4gICAgICAgIHBhZGRpbmc6IDRweDtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCRwcmltYXJ5KTtcclxuICAgICAgfVxyXG4gICAgICB0cjpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHNlY29uZGFyeSwgMC4xNyk7XHJcbiAgICAgIH1cclxuICAgICAgdHI6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHNlY29uZGFyeSwgMC4wNik7XHJcbiAgICAgIH1cclxuICAgICAgdGgge1xyXG4gICAgICAgIHBhZGRpbmc6IDNweDtcclxuICAgICAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgkc2Vjb25kYXJ5KTtcclxuICAgICAgICBib3JkZXItY29sb3I6IGJsYWNrO1xyXG4gICAgICB9XHJcbiAgICAgIHRkIHtcclxuICAgICAgICBwYWRkaW5nOiAzcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjk1ZW07XHJcbiAgICAgIH1cclxuICAgICAgYSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5tb2JpbGVTY3JvbGxNZXNzYWdlIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICAgIHBhZGRpbmc6IDVweCA4cHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCRwcmltYXJ5KTtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGJvdHRvbTogMTAwJTtcclxuICAgICAgICBsZWZ0OiA4cHg7XHJcbiAgICAgICAgd2lkdGg6IDBweDtcclxuICAgICAgICBoZWlnaHQ6IDBweDtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogMCA2cHggOHB4IDVweDtcclxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRwcmltYXJ5IHRyYW5zcGFyZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmNhbGxvdXRTdWJ0bGUge1xyXG4gICAgbWFyZ2luOiAwLjc1ZW0gMCAwLjllbTtcclxuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgkbGlnaHRHcmV5KTtcclxuXHJcbiAgICBhIHtcclxuICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoJGxpZ2h0R3JleSk7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBjb250cmFzdCgkbGlnaHRHcmV5KTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGhvdmVyQW5kRm9jdXMge1xyXG4gICAgICAgIEBpbmNsdWRlIGNvbG9yV2l0aENvbnRyYXN0KCRiYXNpYyk7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJhc2ljO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgPiAqOmZpcnN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgID4gKjpsYXN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5jYWxsb3V0Qm9sZCB7XHJcbiAgICBtYXJnaW46IDAuNzVlbSAwIDAuOWVtO1xyXG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCRwcmltYXJ5KTtcclxuXHJcbiAgICBhIHtcclxuICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoJHByaW1hcnkpO1xyXG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgY29udHJhc3QoJHByaW1hcnkpO1xyXG5cclxuICAgICAgQGluY2x1ZGUgaG92ZXJBbmRGb2N1cyB7XHJcbiAgICAgICAgQGluY2x1ZGUgY29sb3JXaXRoQ29udHJhc3QoJGJhc2ljKTtcclxuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYmFzaWM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICA+ICo6Zmlyc3QtY2hpbGQge1xyXG4gICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgPiAqOmxhc3QtY2hpbGQge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNRURJQSBRVUVSSUVTICYgQlJPV1NFUi1TUEVDSUZJQyBBREpVU1RNRU5UUyBCRUxPVyAvL1xyXG5AY29udGFpbmVyIChtYXgtd2lkdGg6IDUwMHB4KSB7XHJcbiAgLnJ0ZSAudGFibGVXcmFwcGVyIC5tb2JpbGVTY3JvbGxNZXNzYWdlIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkeHMpIHtcclxuICAucnRlIC50YWJsZVdyYXBwZXIge1xyXG4gICAgLm1vYmlsZVNjcm9sbE1lc3NhZ2Uge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHh4cykge1xyXG4gIC5ydGUge1xyXG4gICAgLmxhcmdlVGV4dCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS4wNWVtO1xyXG4gICAgfVxyXG4gICAgaDMuaGVhZGluZyB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMi4xZW07XHJcbiAgICB9XHJcbiAgICBoNC5zdWJoZWFkaW5nIHtcclxuICAgICAgZm9udC1zaXplOiAxLjY1ZW07XHJcbiAgICB9XHJcblxyXG4gICAgaDMuaGVhZGluZ0xpc3Qge1xyXG4gICAgICBmb250LXNpemU6IDEuNGVtO1xyXG4gICAgICBAaW5jbHVkZSBjb2xvcldpdGhDb250cmFzdCgkYWNjZW50KTtcclxuICAgIH1cclxuXHJcbiAgICBoNC5zdWJoZWFkaW5nTGlzdCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS4yZW07XHJcbiAgICAgIEBpbmNsdWRlIGNvbG9yV2l0aENvbnRyYXN0KCRzZWNvbmRhcnkpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAdXNlIFwibWl4aW5zXCIgYXMgKjtcclxuQHVzZSBcInZhcmlhYmxlc1wiIGFzICo7XHJcblxyXG4jbWVtYmVyc2hpcCAuZm9ybVdyYXAubWFpbnRlbmFuY2Uge1xyXG4gIGJhY2tncm91bmQ6ICRzZWNvbmRhcnk7XHJcbiAgYm9yZGVyLWNvbG9yOiAkbGlnaHQ7XHJcblxyXG4gIC5mb3JtQXJlYSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAucnRlIHtcclxuICAgICAgY29sb3I6ICRsaWdodDtcclxuICAgICAgcGFkZGluZy1yaWdodDogMjVweDtcclxuICAgIH1cclxuXHJcbiAgICAuaWNvbiB7XHJcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICBmbGV4LWdyb3c6IDA7XHJcbiAgICAgIHdpZHRoOiAzNTBweDtcclxuICAgICAgaGVpZ2h0OiAzNTBweDtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZlbTtcclxuICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCBsaWdodGVuKCRzZWNvbmRhcnksIDMwJSk7XHJcbiAgICAgIGNvbG9yOiAkbGlnaHQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHNtKSB7XHJcbiAgI21lbWJlcnNoaXAgLmZvcm1XcmFwLm1haW50ZW5hbmNlIHtcclxuICAgIC5mb3JtQXJlYSB7XHJcbiAgICAgIC5pY29uIHtcclxuICAgICAgICB3aWR0aDogMzAlO1xyXG4gICAgICAgIGhlaWdodDogMTUwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiA2ZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkeHMpIHtcclxuICAjbWVtYmVyc2hpcCAuZm9ybVdyYXAubWFpbnRlbmFuY2Uge1xyXG4gICAgLmZvcm1BcmVhIHtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICAgIC5pY29uIHtcclxuICAgICAgICB3aWR0aDogNzVweDtcclxuICAgICAgICBoZWlnaHQ6IDc1cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAzZW07XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBsaWdodGVuKCRzZWNvbmRhcnksIDMwJSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQHVzZSBcIm1peGluc1wiIGFzICo7XHJcbkB1c2UgXCJ2YXJpYWJsZXNcIiBhcyAqO1xyXG5cclxuLm1lbWJlcnNoaXBQYWdlIC5lcnJvclBhZ2Uge1xyXG4gIC5lcnJvcldyYXAge1xyXG4gICAgYmFja2dyb3VuZDogJHNlY29uZGFyeTtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gICAgY29sb3I6ICRsaWdodDtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICBwYWRkaW5nOiAzMHB4O1xyXG4gIH1cclxuXHJcbiAgLmljb24ge1xyXG4gICAgcGFkZGluZzogMzBweDtcclxuICAgIGZvbnQtc2l6ZTogOGVtO1xyXG4gICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCByZ2IoMTY3LCAxOTYsIDIyMSk7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgLnJ0ZSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiA0MHB4IDMwcHggMjBweCAzMHB4O1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICAgIGgzLmhlYWRpbmcge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgY29sb3I6IGNvbnRyYXN0KCRzZWNvbmRhcnkpO1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkc20pIHtcclxuICAubWVtYmVyc2hpcFBhZ2UgLmVycm9yUGFnZSB7XHJcbiAgICAuaWNvbiB7XHJcbiAgICAgIGZvbnQtc2l6ZTogNmVtO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICR4cykge1xyXG4gIC5tZW1iZXJzaGlwUGFnZSAuZXJyb3JQYWdlIHtcclxuICAgIC5lcnJvcldyYXAge1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBwYWRkaW5nOiAwIDMwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmljb24ge1xyXG4gICAgICBmb250LXNpemU6IDVlbTtcclxuICAgICAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xyXG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgcmdiKDE2NywgMTk2LCAyMjEpO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAucnRlIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIHBhZGRpbmc6IDE1cHggMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiQHVzZSBcInZhcmlhYmxlc1wiIGFzICo7XHJcbkB1c2UgXCJtaXhpbnNcIiBhcyAqO1xyXG5AdXNlIFwic2FzczptYXRoXCI7XHJcblxyXG4vLyBCRUdJTiBCQVNFIFNUWUxFUyAtIERPIE5PVCBDSEFOR0UgVEhFU0UgVU5MRVNTIFlPVSBLTk9XIFdIQVQgWU9VJ1JFIERPSU5HIC8vXHJcblxyXG5kZXRhaWxzIHtcclxuICAvLyBJZiB5b3UgY2hhbmdlIHRoaXMgdHJhbnNpdGlvbiBzcGVlZCwgeW91J2xsIGhhdmUgdG8gY2hhbmdlIGl0IGF0IHRoZSB0b3Agb2YgQWNjb3JkaW9uLnRzXHJcbiAgdHJhbnNpdGlvbjogYWxsICRtZWRpdW07XHJcbn1cclxuXHJcbmRldGFpbHMgPiBzdW1tYXJ5OjptYXJrZXIsIC8qIExhdGVzdCBDaHJvbWUsIEVkZ2UsIEZpcmVmb3ggKi9cclxuZGV0YWlscyA+IHN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIgLyogU2FmYXJpICovIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uYWNjb3JkaW9uTW9kdWxlIHtcclxuICAuYWNjb3JkaW9uVGl0bGUge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi8vIEVORCBCQVNFIFNUWUxFUyAvL1xyXG5cclxuLmFjY29yZGlvbk1vZHVsZSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbjogMTBweCAwO1xyXG5cclxuICAmW29wZW5dIHtcclxuICAgID4gLmFjY29yZGlvblRpdGxlIHtcclxuICAgICAgQGluY2x1ZGUgYmdXaXRoQ29udHJhc3QoJHNlY29uZGFyeSk7XHJcblxyXG4gICAgICAuaWNvbiB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBjb250ZW50OiAnXic7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYWNjb3JkaW9uVGl0bGUge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBAaW5jbHVkZSBiZ1dpdGhDb250cmFzdCgkYWNjZW50KTtcclxuICAgIHBhZGRpbmc6IDIwcHggMjBweCAyMHB4IDQwcHg7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgJGZhc3Q7XHJcblxyXG4gICAgQGluY2x1ZGUgaG92ZXJBbmRGb2N1cyB7XHJcbiAgICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCRzZWNvbmRhcnkpO1xyXG5cclxuICAgICAgLmljb24ge1xyXG4gICAgICAgIGNvbG9yOiBjb250cmFzdCgkc2Vjb25kYXJ5KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5pY29uIHtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiQFwiO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkaWNvbkZvbnQ7XHJcbiAgICAgIH1cclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbGVmdDogMThweDtcclxuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCkgdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgdHJhbnNpdGlvbjogMC4ycyB0cmFuc2Zvcm07XHJcbiAgICB9XHJcblxyXG4gICAgLnRleHQge1xyXG4gICAgICBmb250LXNpemU6IDEuMWVtO1xyXG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gJjphZnRlciB7XHJcbiAgICAvLyAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgLy8gICBoZWlnaHQ6IDFweDtcclxuICAgIC8vICAgZmxleC1ncm93OiAxO1xyXG4gICAgLy8gICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgIC8vICAgYmFja2dyb3VuZDogJGxpZ2h0O1xyXG4gICAgLy8gfVxyXG4gIH1cclxuXHJcbiAgLmFjY29yZGlvbldyYXBwZXIge1xyXG4gICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkICRhbHQ7XHJcbiAgICBwYWRkaW5nOiAxNXB4IDhweCAxMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCBtYXRoLmRpdigkcmFkaXVzLCAyKSBtYXRoLmRpdigkcmFkaXVzLCAyKTtcclxuICAgIEBpbmNsdWRlIGJnV2l0aENvbnRyYXN0KCRsaWdodCk7XHJcbiAgICBpbWcge1xyXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIGgzLmhlYWRpbmcge1xyXG4gICAgICBmb250LXNpemU6IDEuOGVtO1xyXG4gICAgfVxyXG5cclxuICAgIGgzLmhlYWRpbmdMaXN0IHtcclxuICAgICAgZm9udC1zaXplOiAxLjRlbTtcclxuICAgIH1cclxuICBcclxuICAgIGg0LnN1YmhlYWRpbmdMaXN0IHtcclxuICAgICAgZm9udC1zaXplOiAxLjJlbTtcclxuICAgIH1cclxuXHJcbiAgICBoMy5zdWJoZWFkaW5nIHtcclxuICAgICAgZm9udC1zaXplOiAxLjVlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICsgLnJ0ZSB7XHJcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xyXG4gIH1cclxufVxyXG5cclxuLy8gTUVESUEgUVVFUklFUyAmIEJST1dTRVItU1BFQ0lGSUMgQURKVVNUTUVOVFMgQkVMT1cgLy9cclxuIl19 */