@charset "UTF-8";

input,
.button {
  appearance: none;
  background-color: transparent;
  border: 1px solid;
  border-radius: 1rem;
  color: inherit;
  cursor: pointer;
  display: inline-block;
  margin: 1em auto;
  padding: 0.5em 0.75em;
}

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

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

body {
  line-height: 1;
}

ol,
ul,
li {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

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

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  box-shadow: 0 0 0 30px black inset !important;
  -webkit-text-fill-color: white !important;
}

@font-face {
  font-display: swap;
  font-family: diatype;
  font-style: normal;
  font-weight: 400;
  src: local(""), url("../font/ABCDiatype-Bold.woff2") format("woff2"), url("../font/ABCDiatype-Bold.woff") format("woff");
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

html,
body {
  font-family: diatype, sans-serif;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  line-height: 1.1;
}

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

html *,
body * {
  font-family: inherit;
}

html input,
body input {
  color: inherit;
  font-size: inherit;
}

strong {
  color: white;
}

sup {
  font-size: 0.66em;
  vertical-align: 0.4em;
}

input,
select,
button {
  appearance: none;
  background-color: #000;
  border: 1px solid;
  border-radius: 2rem;
  box-sizing: border-box;
  color: inherit;
  font: inherit;
  margin: 0.25em 0 0;
  outline: none;
  padding: 0.33em 0.55em 0.175em;
}

button {
  cursor: pointer;
  font-size: 9px;
  padding: 3px 6px 1px;
  text-transform: uppercase;
}

::selection {
  background-color: rgba(255, 255, 255, 0.15);
  color: #fff;
}

body::before {
  animation: spin 2s infinite linear;
  border: 6px dotted;
  border-radius: 100em;
  content: "";
  height: 1rem;
  left: calc(50% - 0.5rem - 4px);
  opacity: 0;
  position: fixed;
  top: calc(50% - 0.5rem - 6px);
  transform: scale(0);
  transition: all 500ms cubic-bezier(0.09, 0.77, 0.08, 1);
  width: 1rem;
  z-index: 999;
}

body:not(.rdy) main,
body.instant main {
  opacity: 0 !important;
  transition: none !important;
}

body.blur {
  pointer-events: none;
}

body.blur .boxes {
  pointer-events: none;
}

body.blur::before {
  opacity: 1;
  transform: scale(1);
}

body.blur .minimap-container,
body.blur .footer,
body.blur .log,
body.blur main {
  opacity: 0.1;
  pointer-events: none;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

.loading {
  font-size: 0.75rem;
  left: calc(50% + 0.5rem);
  position: fixed;
  text-align: center;
  top: calc(50% + 2rem);
  transform: translate3d(-50%, -50%, 10px);
  white-space: nowrap;
}

.loading i {
  display: inline-block;
  text-align: left;
  width: 1em;
}

.clear-cache {
  bottom: 1.5rem;
  cursor: pointer;
  font-size: 0.5625rem;
  position: fixed;
  right: 1.5rem;
  text-transform: uppercase;
}

.clear-cache:hover {
  opacity: 0.6;
}

main {
  inset: 0;
  position: absolute;
  transform: scale(0.8);
  transform-style: preserve-3d;
  will-change: transform;
}

main.relating:not(.mousedown) {
  transition: transform 300ms cubic-bezier(0.19, 0.76, 0.57, 1);
}

main.relating .box:not(.related, .hovering, .open) {
  opacity: 0.2 !important;
  transition: opacity 300ms;
}

main.relating .box:not(.related, .hovering, .open):hover {
  opacity: 1 !important;
}

main.box-open:not(.mousedown) {
  transition: transform 300ms cubic-bezier(0.19, 0.76, 0.57, 1), opacity 400ms cubic-bezier(0.19, 0.76, 0.57, 1);
}

main:not(.mousedown) {
  transition: transform 500ms cubic-bezier(0.19, 0.76, 0.57, 1), opacity 400ms cubic-bezier(0.19, 0.76, 0.57, 1);
}

main.mousedown {
  transition: all 110ms linear, transform none, opacity 400ms cubic-bezier(0.19, 0.76, 0.57, 1);
}

main.mousedown .boxes,
main.mousedown .boxes * {
  cursor: grabbing;
}

main.mousedown .boxes .box:hover h3 {
  text-decoration: none;
}

main.zooming-in .boxes,
main.zooming-in .boxes * {
  cursor: zoom-in;
}

main.zooming-out .boxes,
main.zooming-out .boxes * {
  cursor: zoom-out;
}

.about-link {
  font-size: 0.75rem;
  padding: 1.33rem 2rem;
  position: fixed;
  right: 0;
  top: 0;
  white-space: nowrap;
  z-index: 1;
}

.about-link:hover {
  text-decoration: underline;
}

.about-link::before {
  content: "X";
  position: absolute;
  right: calc(100% - 1.75rem);
}

.about-text {
  background-color: rgba(0, 0, 0, 0.9);
  inset: 0;
  line-height: 1.375;
  overflow: auto;
  padding: 0;
  position: fixed;
  transition: all 1500ms cubic-bezier(0.09, 0.77, 0.08, 1);
  z-index: 1;
}

.about-text--inner {
  background: linear-gradient(0deg, #fac8c8, #c9e4ff);
  background-clip: text;
  box-shadow: 0 0 20rem 10rem #000;
  box-sizing: border-box;
  color: transparent;
  display: block;
  margin: 0 auto;
  max-width: 40em;
  padding: 0 0 20vh;
  position: relative;
}

.about-text--inner::before {
  background: rgba(0, 0, 0, 0.95);
  box-shadow: 0 0 20rem 10rem #000;
  content: "";
  inset: 0;
  position: absolute;
  z-index: -1;
}

.about-text--inner p:not(:last-child) {
  margin-bottom: 0;
}

.about-text--inner .title {
  border-bottom: 1px solid #c9e4ff;
  display: block;
  font-size: 1rem;
  margin-bottom: 4rem;
  margin-top: 4rem;
}

.about-text .spacer {
  display: block;
  height: 1.5em;
}

.about-text .copy {
  font-size: 0.75rem;
  margin-bottom: 0.25em;
}

.about-text .about--close {
  background: linear-gradient(45deg, transparent calc(50% - 1px), white 50%, transparent calc(50% + 1px)), linear-gradient(-45deg, transparent calc(50% - 1px), white 50%, transparent calc(50% + 1px));
  cursor: pointer;
  display: block;
  float: right;
  font-size: 1rem;
  height: 3rem;
  position: sticky;
  right: calc(50% - 540px);
  top: 6rem;
  transition: none;
  width: 3rem;
  z-index: 2;
}

body:not(.about-open) .about-text {
  opacity: 0;
  pointer-events: none;
  transform: translateY(4rem);
}

body:not(.about-open) .about-link::before {
  display: none;
}

.about-open .about-text {
  z-index: 4;
}

.about-open .about-link {
  z-index: 4;
}

.box-backdrop {
  cursor: zoom-out;
  height: 2000vh;
  left: 50%;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  top: 50%;
  transform: translate3d(-50%, -50%, 0);
  transition: opacity 800ms;
  width: 2000vw;
  z-index: 0;
}

.relating .act .box-backdrop {
  opacity: 0;
  pointer-events: auto;
}

.box-open .act .box-backdrop {
  opacity: 0;
  pointer-events: auto;
}

#lines-canvas {
  pointer-events: none;
}

.box-open .boxes {
  min-height: 0;
}

.boxes {
  align-items: center;
  box-sizing: border-box;
  cursor: grab;
  gap: 1em;
  left: 50%;
  min-height: 90vh;
  position: absolute;
  top: 50%;
  transform: translate3d(-50%, -50%, 0);
  transform-origin: 50% 50%;
  transform-style: preserve-3d;
  transition: transform 600ms cubic-bezier(0.19, 0.76, 0.57, 1), filter 600ms cubic-bezier(0.19, 0.76, 0.57, 1);
  width: 200vh;
}

.boxes.act ~ .boxes {
  pointer-events: none;
}

.boxes.act ~ .boxes > .box {
  opacity: 0.25;
}

.boxes:not(.act) {
  pointer-events: none;
}

.boxes-inner {
  left: 50%;
  min-width: 7000px;
  transform: translateX(-50%);
  transform-style: preserve-3d;
  transition: opacity 500ms 200ms;
  /*
  &.filtered {
     min-height: 100vh;
     min-width: 100vw;
     padding-top: 50vh;

     .box {
        margin: 0 2rem 2rem 0 !important;
        transition-delay: 0ms !important;

        &.related,
        &.hovering { 
           display: block !important;
           transform: none !important;

           &.open {
              display: grid !important;
           }
        }

        &:not(.has-image) {
           figure {
              display: none;
           }
        }
     }

     figcaption {
        display: none;
     }
  }
  */
}

.boxes[data-view-as=image] .boxes-inner .box:not(.open):not(.has-image) {
  display: none;
  opacity: 0;
  pointer-events: none;
  position: absolute;
}

.boxes[data-view-as=image] .boxes-inner .box:not(.open):not(.has-image).related-fly {
  transform: none !important;
  transition: left 1100ms cubic-bezier(0.02, 0.94, 0.58, 1), top 1100ms cubic-bezier(0.02, 0.94, 0.58, 1);
}

.boxes[data-view-as=image] .boxes-inner .box:not(.open).related:not(.has-image) figure,
.boxes[data-view-as=image] .boxes-inner .box:not(.open).related-fly:not(.has-image) figure {
  display: none;
}

.boxes[data-view-as=image] .boxes-inner .box:not(.open).related.non-match,
.boxes[data-view-as=image] .boxes-inner .box:not(.open).related-fly.non-match {
  display: block;
  opacity: 1 !important;
}

.boxes[data-view-as=image] .boxes-inner .box.open.non-match {
  transform: none !important;
  transition: left 1100ms cubic-bezier(0.02, 0.94, 0.58, 1), top 1100ms cubic-bezier(0.02, 0.94, 0.58, 1);
}

.boxes[data-view-as=image] .boxes-inner .box:not(.open).has-image {
  border: 0;
  max-height: none;
  max-width: 15em;
  padding: 0 0 2px;
}

.boxes[data-view-as=image] .boxes-inner .box:not(.open).has-image .title,
.boxes[data-view-as=image] .boxes-inner .box:not(.open).has-image .box-meta {
  opacity: 0;
  pointer-events: none;
  transition: opacity 200ms 200ms;
}

.boxes[data-view-as=image] .boxes-inner .box:not(.open).has-image .title {
  bottom: calc(100% - 0.5rem);
  display: block;
  font-size: 1rem;
  min-height: 0;
  position: absolute;
  text-decoration: none;
}

.boxes[data-view-as=image] .boxes-inner .box:not(.open).has-image .box-meta {
  display: flex;
  font-size: 75%;
  line-height: 1.25;
  position: absolute;
  top: 100%;
  width: 100%;
}

.boxes[data-view-as=image] .boxes-inner .box:not(.open).has-image .status {
  display: none;
}

.boxes[data-view-as=image] .boxes-inner .box:not(.open).has-image figure {
  grid-column: 1/span 2;
  justify-self: stretch;
  max-height: none;
  width: auto;
}

.boxes[data-view-as=image] .boxes-inner .box:not(.open).has-image figure img {
  height: auto;
  max-height: 20em;
  object-fit: contain;
}

.boxes[data-view-as=image] .boxes-inner .box:not(.open).has-image figure figcaption {
  background-color: black;
  box-shadow: 1rem 0 2em 0.5em black;
  font-size: 0.75rem;
  left: 100%;
  min-width: 12em;
  opacity: 0;
  padding: 0.5rem;
  pointer-events: none;
  position: absolute;
  top: -0.5rem;
  transition: opacity 900ms 500ms;
}

.boxes[data-view-as=image] .boxes-inner .box:not(.open).has-image figure:hover figcaption {
  opacity: 1;
  pointer-events: auto;
}

.boxes[data-view-as=image] .boxes-inner .box:not(.open).has-image.hovering,
.boxes[data-view-as=image] .boxes-inner .box:not(.open).has-image:hover {
  z-index: 2;
}

.boxes[data-view-as=image] .boxes-inner .box:not(.open).has-image.hovering .title,
.boxes[data-view-as=image] .boxes-inner .box:not(.open).has-image.hovering .box-meta,
.boxes[data-view-as=image] .boxes-inner .box:not(.open).has-image:hover .title,
.boxes[data-view-as=image] .boxes-inner .box:not(.open).has-image:hover .box-meta {
  opacity: 1;
}

.boxes[data-view-as=image] .boxes-inner .box:not(.open).related-fly {
  opacity: 1;
  z-index: 2;
}

.boxes[data-view-as=image] .boxes-inner .box:not(.open).related-fly:not(.related) {
  pointer-events: none !important;
}

.boxes[data-view-as=text] .boxes-inner .box:not(.open) figure {
  display: none;
}

.boxes[data-view-as=text] .boxes-inner .box:not(.open) .title {
  grid-column: 1/span 2;
  margin-bottom: 0;
  margin-right: 0;
  width: 100%;
}

main.nth-act-1 .boxes:nth-child(1) {
  opacity: 1;
}

main.nth-act-1 .boxes:nth-child(2) {
  transform: translate3d(-50%, -50%, 0) translateZ(500px);
}

main.nth-act-1 .boxes:nth-child(2) .box {
  opacity: 0.1;
}

main.nth-act-1 .boxes:nth-child(3) {
  transform: translate3d(-50%, -50%, 0) translateZ(1000px);
}

main.nth-act-1 .boxes:nth-child(3) .box {
  opacity: 0.1;
}

main.nth-act-1 .boxes:nth-child(4) {
  transform: translate3d(-50%, -50%, 0) translateZ(1500px);
}

main.nth-act-1 .boxes:nth-child(4) .box {
  opacity: 0.1;
}

main.nth-act-2 .boxes:nth-child(1) {
  transform: translate3d(-50%, -50%, 0) translateZ(-500px);
}

main.nth-act-2 .boxes:nth-child(1) .box {
  opacity: 0.5;
}

main.nth-act-2 .boxes:nth-child(2) {
  opacity: 1;
}

main.nth-act-2 .boxes:nth-child(3) {
  transform: translate3d(-50%, -50%, 0) translateZ(500px);
}

main.nth-act-2 .boxes:nth-child(3) .box {
  opacity: 0.1;
}

main.nth-act-2 .boxes:nth-child(4) {
  transform: translate3d(-50%, -50%, 0) translateZ(1000px);
}

main.nth-act-2 .boxes:nth-child(4) .box {
  opacity: 0.1;
}

main.nth-act-3 .boxes:nth-child(1) {
  transform: translate3d(-50%, -50%, 0) translateZ(-1000px);
}

main.nth-act-3 .boxes:nth-child(1) .box {
  opacity: 0.25;
}

main.nth-act-3 .boxes:nth-child(2) {
  transform: translate3d(-50%, -50%, 0) translateZ(-500px);
}

main.nth-act-3 .boxes:nth-child(2) .box {
  opacity: 0.5;
}

main.nth-act-3 .boxes:nth-child(3) {
  opacity: 1;
}

main.nth-act-3 .boxes:nth-child(4) {
  transform: translate3d(-50%, -50%, 0) translateZ(500px);
}

main.nth-act-3 .boxes:nth-child(4) .box {
  opacity: 0;
}

main.nth-act-4 .boxes:nth-child(1) {
  transform: translate3d(-50%, -50%, 0) translateZ(-1500px);
}

main.nth-act-4 .boxes:nth-child(1) .box {
  opacity: 0;
}

main.nth-act-4 .boxes:nth-child(2) {
  transform: translate3d(-50%, -50%, 0) translateZ(-1000px);
}

main.nth-act-4 .boxes:nth-child(2) .box {
  opacity: 0.25;
}

main.nth-act-4 .boxes:nth-child(3) {
  transform: translate3d(-50%, -50%, 0) translateZ(-500px);
}

main.nth-act-4 .boxes:nth-child(3) .box {
  opacity: 0.5;
}

main.nth-act-4 .boxes:nth-child(4) {
  opacity: 1;
}

.box.non-match {
  opacity: 0.3 !important;
  pointer-events: none;
}

.box[data-relateds]:not(.open):not([style*="display: none"]).related,
.box[data-relateds]:not(.open):not([style*="display: none"]).related-fly {
  display: flex !important;
  flex-direction: column;
  justify-content: space-between;
  margin-top: 0 !important;
  min-height: 0;
  min-width: 8em;
}

.box[data-relateds]:not(.open):not([style*="display: none"]).related[data-proxim="0"],
.box[data-relateds]:not(.open):not([style*="display: none"]).related-fly[data-proxim="0"] {
  min-height: 10em;
  min-width: 16em;
}

.box[data-relateds]:not(.open):not([style*="display: none"]).related[data-proxim="1"],
.box[data-relateds]:not(.open):not([style*="display: none"]).related-fly[data-proxim="1"] {
  font-size: 90%;
  min-height: 9em;
  min-width: 12em;
}

.box[data-relateds]:not(.open):not([style*="display: none"]).related[data-proxim="2"],
.box[data-relateds]:not(.open):not([style*="display: none"]).related-fly[data-proxim="2"] {
  font-size: 80%;
  min-height: 6em;
  min-width: 13em;
}

.box[data-relateds]:not(.open):not([style*="display: none"]).related[data-proxim="3"],
.box[data-relateds]:not(.open):not([style*="display: none"]).related-fly[data-proxim="3"] {
  font-size: 70%;
}

.box[data-relateds]:not(.open):not([style*="display: none"]).related[data-proxim="4"],
.box[data-relateds]:not(.open):not([style*="display: none"]).related[data-proxim=NaN],
.box[data-relateds]:not(.open):not([style*="display: none"]).related-fly[data-proxim="4"],
.box[data-relateds]:not(.open):not([style*="display: none"]).related-fly[data-proxim=NaN] {
  font-size: 60%;
}

.box[data-relateds]:not(.open)[data-relateds="1"],
.box[data-relateds]:not(.open)[data-relateds="2"],
.box[data-relateds]:not(.open)[data-relateds="3"] {
  max-width: 8em !important;
  min-width: 8em;
}

.box[data-relateds]:not(.open)[data-relateds="1"] .title,
.box[data-relateds]:not(.open)[data-relateds="2"] .title,
.box[data-relateds]:not(.open)[data-relateds="3"] .title {
  font-size: 1rem;
}

.box[data-relateds]:not(.open)[data-relateds="1"] .box-meta,
.box[data-relateds]:not(.open)[data-relateds="2"] .box-meta,
.box[data-relateds]:not(.open)[data-relateds="3"] .box-meta {
  text-align: left;
  white-space: normal;
}

.box[data-relateds]:not(.open)[data-relateds="4"],
.box[data-relateds]:not(.open)[data-relateds="5"],
.box[data-relateds]:not(.open)[data-relateds="6"],
.box[data-relateds]:not(.open)[data-relateds="7"] {
  max-width: 12em !important;
  min-width: 12em;
}

.box[data-relateds]:not(.open)[data-relateds="4"] .box-meta,
.box[data-relateds]:not(.open)[data-relateds="5"] .box-meta,
.box[data-relateds]:not(.open)[data-relateds="6"] .box-meta,
.box[data-relateds]:not(.open)[data-relateds="7"] .box-meta {
  text-align: left;
  white-space: normal;
}

.box[data-relateds]:not(.open)[data-relateds="8"],
.box[data-relateds]:not(.open)[data-relateds="9"],
.box[data-relateds]:not(.open)[data-relateds="10"],
.box[data-relateds]:not(.open)[data-relateds="11"],
.box[data-relateds]:not(.open)[data-relateds="12"],
.box[data-relateds]:not(.open)[data-relateds="13"] {
  flex-direction: column;
  justify-content: space-between;
  min-height: 16em;
  min-width: 16em;
}

.box[data-relateds]:not(.open)[data-relateds="8"]:not([style*="display: none"]),
.box[data-relateds]:not(.open)[data-relateds="9"]:not([style*="display: none"]),
.box[data-relateds]:not(.open)[data-relateds="10"]:not([style*="display: none"]),
.box[data-relateds]:not(.open)[data-relateds="11"]:not([style*="display: none"]),
.box[data-relateds]:not(.open)[data-relateds="12"]:not([style*="display: none"]),
.box[data-relateds]:not(.open)[data-relateds="13"]:not([style*="display: none"]) {
  display: flex;
}

.box[data-relateds]:not(.open)[data-relateds="8"] figure,
.box[data-relateds]:not(.open)[data-relateds="8"] .videothumb,
.box[data-relateds]:not(.open)[data-relateds="9"] figure,
.box[data-relateds]:not(.open)[data-relateds="9"] .videothumb,
.box[data-relateds]:not(.open)[data-relateds="10"] figure,
.box[data-relateds]:not(.open)[data-relateds="10"] .videothumb,
.box[data-relateds]:not(.open)[data-relateds="11"] figure,
.box[data-relateds]:not(.open)[data-relateds="11"] .videothumb,
.box[data-relateds]:not(.open)[data-relateds="12"] figure,
.box[data-relateds]:not(.open)[data-relateds="12"] .videothumb,
.box[data-relateds]:not(.open)[data-relateds="13"] figure,
.box[data-relateds]:not(.open)[data-relateds="13"] .videothumb {
  align-items: stretch;
  display: flex;
  flex: 1;
  height: auto;
  justify-content: stretch;
  margin-bottom: 1rem;
  max-height: 5rem;
}

.box[data-relateds]:not(.open)[data-relateds="8"] figure img,
.box[data-relateds]:not(.open)[data-relateds="8"] .videothumb img,
.box[data-relateds]:not(.open)[data-relateds="9"] figure img,
.box[data-relateds]:not(.open)[data-relateds="9"] .videothumb img,
.box[data-relateds]:not(.open)[data-relateds="10"] figure img,
.box[data-relateds]:not(.open)[data-relateds="10"] .videothumb img,
.box[data-relateds]:not(.open)[data-relateds="11"] figure img,
.box[data-relateds]:not(.open)[data-relateds="11"] .videothumb img,
.box[data-relateds]:not(.open)[data-relateds="12"] figure img,
.box[data-relateds]:not(.open)[data-relateds="12"] .videothumb img,
.box[data-relateds]:not(.open)[data-relateds="13"] figure img,
.box[data-relateds]:not(.open)[data-relateds="13"] .videothumb img {
  max-height: 100% !important;
  min-height: 7rem;
  min-width: 7rem;
  object-fit: cover !important;
}

.box {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr 33.33%;
  /*
  transform: translateZ(0.1px);
  */
}

.box:not(.open) {
  grid-template-columns: 1fr 3rem;
}

.box:not(.open) .artwork-type,
.box:not(.open) .creators {
  display: none;
}

.box .year .artwork-type::before {
  content: ", ";
}

.box h3.title {
  -webkit-font-smoothing: subpixel-antialiased;
  grid-column: 1/span 2;
  grid-row: 1;
  letter-spacing: 0.015em;
}

.box-meta {
  grid-column: 1/span 2;
  grid-row: 2;
}

.box svg {
  left: 0;
  position: absolute;
  top: 0;
}

.box {
  background-color: #000;
  border: 1px solid #fff;
  border-radius: 4px;
  box-sizing: border-box;
  cursor: default;
  max-height: 16em;
  max-width: 16em;
  min-width: 12em;
  padding: 1rem;
  position: relative;
  transform-origin: 50% 50%;
  transition: opacity 400ms;
  will-change: top, left, transform, width, max-height, opacity;
}

.box.unimportant:not(.open) {
  border-color: rgb(84, 72, 41);
  display: none;
  transform: scale(0);
}

.box.unimportant:not(.open).show {
  transform: scale(1);
}

.box.no-rel {
  border-color: #474747 !important;
}

.box.no-rel .status {
  opacity: 0.33;
}

.box.has-rel:not(.no-rel)::after {
  background: #7b9bff;
  bottom: 3px;
  content: "";
  display: block;
  height: 3px;
  left: 0;
  position: absolute;
  transition: width 500ms ease-out;
  width: 0;
  z-index: 1;
}

.box.has-rel:not(.no-rel).open::after {
  opacity: 0;
  transition: width 20ms linear;
  width: 100%;
}

.box:not(.open).hovering::after {
  width: 100%;
}

.box.hovering.open::after {
  transition: width 20ms linear;
}

.box.has-rel:not(.no-rel, .open, .no-hover):hover::after {
  transition: width 1500ms linear;
  width: 100%;
}

.box a:hover {
  text-decoration: underline;
}

.box .status {
  display: flex;
  font-size: 0.5em;
  gap: 0.25rem;
  letter-spacing: 0.03em;
  position: absolute;
  right: 0.25rem;
  top: 0.25rem;
}

.box .status > i {
  display: inline-block;
}

.box .creators span.source-author:not(:last-child)::after {
  content: ", ";
}

.box .close {
  background: linear-gradient(45deg, transparent calc(50% - 1px), white 50%, transparent calc(50% + 1px)), linear-gradient(-45deg, transparent calc(50% - 1px), white 50%, transparent calc(50% + 1px));
  font-size: 1rem;
  height: 3rem;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  right: 1rem;
  top: 1rem;
  transform: scale(0);
  transition: none;
  width: 3rem;
}

.box.open {
  display: grid !important;
  margin: 0 !important;
  max-height: 30em;
  max-height: 70vh;
  max-width: 60vw;
  min-height: 5rem;
  opacity: 1 !important;
  overflow-y: auto;
  transition: transform 0ms cubic-bezier(0.19, 0.76, 0.57, 1), left 0ms cubic-bezier(0.19, 0.76, 0.57, 1), top 0ms cubic-bezier(0.19, 0.76, 0.57, 1), width 0ms cubic-bezier(0.19, 0.76, 0.57, 1), max-height 0ms cubic-bezier(0.19, 0.76, 0.57, 1) !important;
  width: 60vw !important;
  z-index: 3;
}

.box.open,
.box.open * {
  cursor: auto !important;
  pointer-events: all;
}

.box.open a {
  cursor: pointer !important;
}

.box.open span {
  cursor: text !important;
}

.box.open .contributed.by {
  font-size: 1.25rem;
  left: calc(66.66% - 0.5rem);
  position: absolute;
  top: 1rem;
}

.box.open .contributed.by::before {
  content: attr(class);
  display: block;
  font-size: 0.75rem;
  margin-bottom: 0.5rem;
  text-transform: capitalize;
  text-transform: uppercase;
}

.box.open .contributed.by span {
  display: block;
  font-size: 0.75rem;
  margin-bottom: 0.25rem;
  margin-top: 0.25rem;
}

.box.open .contributed.by a {
  display: block;
  font-size: 0.75rem;
  margin-top: 0.25rem;
}

.box.open:not(.has-image) figure {
  display: none;
}

.box.open.has-image figure {
  filter: none;
  grid-row: 3/span 1;
  height: auto;
  max-height: 80vh;
  transition: all 0ms, padding 0ms 320ms, filter 300ms;
  width: 100%;
}

.box.open.has-image figure figcaption {
  font-size: 0.75rem;
  margin-top: 1rem;
}

.box.open.has-image figure img {
  background-color: white;
  height: auto;
}

.box.open.has-image figure ~ .box-meta {
  margin-bottom: 0.725rem;
  transition: margin 0ms;
}

.box.open.has-image figure .videothumb {
  height: 100%;
  overflow: hidden;
}

.box.open.has-image figure .videothumb img {
  transform: scale(1.33);
}

.box.open .title {
  min-height: 0;
}

.box.open .box-meta {
  justify-content: flex-start;
  max-width: calc(100% - 4rem);
}

.box.open .status {
  font-size: 0.725rem;
  letter-spacing: 0.03em;
  padding-top: 0.75rem;
  pointer-events: none;
  right: calc(33.33% + 3.5rem);
}

.box.open .close {
  opacity: 1;
  pointer-events: auto;
  transform: scale(1);
  transition: opacity 120ms, transform 0ms 500ms;
}

.box.open .close:hover {
  opacity: 0.5;
}

.box.related {
  border-color: white !important;
  display: block !important;
  min-height: 8em;
  min-width: 12em;
  opacity: 1 !important;
  pointer-events: auto !important;
  transition: left 1100ms cubic-bezier(0.02, 0.94, 0.58, 1), top 1100ms cubic-bezier(0.02, 0.94, 0.58, 1);
  z-index: 1;
}

.box.related[data-proxim="5"] {
  transform-origin: 0 50%;
}

.box.related[data-proxim="4"] {
  transform-origin: 0 50%;
}

.box.related[data-proxim="3"] {
  transform-origin: 0 50%;
}

.box.related[data-proxim="2"] {
  transform-origin: 0 50%;
}

.box.related[data-proxim="1"] {
  transform-origin: 0 50%;
}

.box.related[data-proxim="0"] {
  transform-origin: 0 50%;
}

.box .box--main,
.box .box--aside {
  display: none;
  line-height: 1.375;
}

.box > * {
  z-index: 1;
}

.box:not(.open) {
  cursor: pointer;
}

.box:not(.open) .title {
  margin-bottom: 1rem;
  min-height: 3rem;
}

.box:not(.open) .contributed.by {
  display: none;
}

.box.hovering:not(.open) {
  z-index: 2;
}

.box:not(.open):hover {
  text-shadow: 0 0 1em black;
  z-index: 3;
}

.box:not(.open):hover figure {
  filter: none;
}

.box:not(.open):hover h3 {
  text-decoration: underline;
}

.box h3 {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}

.box .authors {
  font-size: 0.75rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  margin-top: auto;
  padding-top: 1rem;
}

.box figure {
  filter: grayscale(1) contrast(0.9);
  grid-column: 2;
  grid-row: 1/span 2;
  justify-self: flex-end;
  max-height: 3rem;
  right: 1rem;
  transition: all 0ms, padding 0ms 320ms, filter 300ms;
  width: 3rem;
}

.box figure img {
  background-color: white;
  display: block;
  height: 3rem;
  object-fit: cover;
  width: 100%;
}

.box figure + .title {
  transition: all 0ms;
}

.box .embed {
  background: #292929;
  height: 0;
  margin-bottom: 1rem;
  padding-bottom: 56.25%;
  position: relative;
  width: 100%;
}

.box .embed .playerthumb {
  object-fit: cover;
}

.box .embed .playerthumb,
.box .embed iframe {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.box .embed iframe {
  z-index: 1;
}

.box .box--main {
  grid-column: 1;
  grid-row: 3/span 3;
  letter-spacing: 0.01em;
  line-height: 1.5;
  padding-right: 5%;
}

.box.has-image figure ~ .box--aside {
  border-top: 1px solid;
  margin-top: 1rem;
  padding-top: 1.5rem;
}

.box .box--aside:has(~ .contributed.by),
.box figure:has(~ .contributed.by) {
  border-top: 1px solid;
  margin-top: 2rem;
  padding-top: 2rem;
}

.box .box--aside {
  font-size: 0.75rem;
  grid-column: 2;
  padding-top: 0.25rem;
}

.box .box--aside:empty {
  border-top: 0;
}

.box .box--aside span.fetchurl {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: all 300ms;
  vertical-align: middle;
  white-space: nowrap;
}

.box .box--aside span.fetchurl:hover {
  text-decoration: underline;
}

.box .box--aside .load {
  position: relative;
}

.box .box--aside .load::after {
  animation: spin 1.4s infinite;
  border: 4px dotted;
  border-radius: 10em;
  box-sizing: border-box;
  content: "";
  display: block;
  height: 1rem;
  left: 0;
  position: absolute;
  top: 0;
  width: 1rem;
}

.box .box--aside .load span.fetchurl {
  text-indent: 2em;
}

.box .box--aside .rm {
  display: none !important;
}

.box .box--aside > div:not(:last-child) {
  margin-bottom: 1rem;
}

.box .box--aside > div::before {
  content: attr(class);
  display: block;
  margin-bottom: 0.5em;
  text-transform: uppercase;
}

.box .box--aside > div > * {
  display: list-item;
  list-style-type: disc;
  margin-bottom: 0.5em;
  margin-left: 1em;
}

.box .box--aside .links a {
  margin-left: 0 !important;
  overflow-x: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.box .box--aside .links a::before {
  content: "•";
  padding-right: 0.5em;
}

.box .box--aside .references em {
  font-style: italic;
}

.box .box--aside .references .ref-doi-isbn {
  display: block;
}

.box .box-meta {
  font-size: 0.75rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  font-size: 75%;
  gap: 0.5rem;
  justify-content: space-between;
  margin-top: 0.5rem;
  text-align: right;
  white-space: nowrap;
}

.zoom-image-container {
  align-items: center;
  backdrop-filter: blur(4px);
  box-sizing: border-box;
  display: flex;
  height: 100vh;
  justify-content: center;
  padding: 5vh 5vw;
  pointer-events: none;
  position: fixed;
  transition: opacity 120ms;
  width: 100vw;
  z-index: 10;
}

.zoom-image-container.out {
  opacity: 0;
}

img.zoom-image {
  background: transparent;
  max-height: 100%;
  max-width: 100%;
}

img.zoom-image[src*=".svg"] {
  background-color: white;
}

.box-open ~ .footer {
  transform: translate3d(-50%, 100%, 0);
  transition-delay: 0ms;
}

.footer {
  align-items: flex-end;
  backdrop-filter: blur(4px) brightness(0.6);
  border: 1px solid;
  border-radius: 0.5rem;
  bottom: 0.25rem;
  box-sizing: border-box;
  display: flex;
  font-size: 0.75rem;
  gap: 1rem;
  justify-content: center;
  left: 50%;
  padding: 0.5rem;
  position: fixed;
  transform: translateX(-50%);
  transition: transform 1200ms 400ms cubic-bezier(0.09, 0.77, 0.08, 1);
}

.footer > label {
  font-size: 0.75rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  font-size: 0.75em;
  left: 0.55rem;
  position: absolute;
  top: 0.5rem;
}

.footer:not(.in) {
  transform: translate3d(-50%, 120%, 0);
  transition: transform 900ms 0ms cubic-bezier(0.19, 0.76, 0.57, 1);
}

.footer--view,
.footer--cats,
.footer--search,
.footer--filter {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.footer--view label,
.footer--cats label,
.footer--search label,
.footer--filter label {
  cursor: pointer;
}

.footer--view input[type=text],
.footer--cats input[type=text],
.footer--search input[type=text],
.footer--filter input[type=text] {
  font-size: 0.75rem;
}

.footer--view input::placeholder,
.footer--cats input::placeholder,
.footer--search input::placeholder,
.footer--filter input::placeholder {
  color: #7b7b7b;
  font-size: 0.75rem;
  -webkit-font-smoothing: antialiased;
  font-weight: normal;
}

.footer--view > label:not(.hyper),
.footer--cats > label:not(.hyper),
.footer--search > label:not(.hyper),
.footer--filter > label:not(.hyper) {
  font-size: 0.75rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  display: none;
  font-size: 0.75em;
  letter-spacing: 0.05em;
  line-height: 1.1;
}

.footer .hyper {
  margin-bottom: 6px;
}

.footer .hyper:hover span {
  text-decoration: underline #c9e4ff;
}

.footer .hyper span {
  background: linear-gradient(90deg, #fac8c8, #c9e4ff);
  background-clip: text;
  color: transparent;
}

.footer .hyper input[type=checkbox] {
  height: 7px;
  margin-left: -1px;
  margin-right: 2px;
  padding: 0;
  width: 7px;
}

.footer .hyper input[type=checkbox]:checked {
  background: white;
}

.footer .toggle-unimportant::before {
  content: "☝";
}

.footer .toggle-unimportant.on::before {
  content: "🖐";
}

.footer nav.cats {
  height: 3.525em;
  width: 5.5em;
}

.footer .stacked {
  display: flex;
  flex-direction: column;
  gap: 1.6px 0;
  justify-content: flex-end;
  position: relative;
  text-align: left;
  white-space: nowrap;
  z-index: 10;
  /*
  a {
     display: inline-block;
     font-size: 1rem;
     padding: .5rem 1rem;
     position: absolute;
     transition: all 200ms;

     &.cur {
        text-decoration: underline;
     }

     &:has(~ .cur) {
        transform: translateY(-3em) rotateX(30deg) translateZ(-5px);
     }

     &:has(+ .cur) {
        transform: translateY(-1.75em) rotateX(20deg) translateZ(-5px);

        & + .cur + a {
           transform: translateY(1.8em) rotateX(-20deg) translateZ(-5px);
        }
     }

     &.cur {
        & ~ *:nth-child(2) {
           transform: translateY(1.75em) rotateX(-20deg) translateZ(-5px);
        }

        & ~ *:nth-child(3) {
           transform: translateY(3em) rotateX(-30deg) translateZ(-5px);
        }
     }
  }
  */
}

.footer .stacked label input[type=checkbox],
.footer .stacked label input[type=radio] {
  height: 7px;
  margin-left: -1px;
  margin-right: 2px;
  padding: 0;
  width: 7px;
}

.footer .stacked label input[type=checkbox]:checked,
.footer .stacked label input[type=radio]:checked {
  background: white;
}

.footer .stacked label:hover span {
  text-decoration: underline;
}

.footer .stacked.theme-select {
  display: grid;
}

.footer .reset {
  margin-left: -0.5rem;
}

.footer [data-theme="AI and Data"] {
  display: none;
}

.footer--matches {
  align-items: center;
  background: black;
  border: 1px solid white;
  border-radius: 8px 8px 0 0;
  bottom: 100%;
  display: flex;
  gap: 0.8rem;
  left: 50%;
  line-height: 1;
  padding: 0.5rem 1rem 0.5rem;
  position: absolute;
  text-align: center;
  transform: translateX(-50%);
  transition: all 400ms cubic-bezier(0.19, 0.76, 0.57, 1);
  z-index: -1;
}

.footer--matches--cur,
.footer--matches--count {
  font-variant-numeric: tabular-nums;
}

.footer--matches--nav {
  align-items: center;
  display: flex;
}

.footer--matches--nav-prev,
.footer--matches--nav-next {
  color: white;
  cursor: pointer;
}

.footer--matches--nav-prev i,
.footer--matches--nav-next i {
  font-size: 1.5em;
  line-height: 1;
}

.footer--matches--nav-prev:hover,
.footer--matches--nav-next:hover {
  opacity: 0.75;
}

.footer--matches--nav-prev {
  border-radius: 8px 0 0 8px;
}

.footer--matches--nav-prev i::before {
  content: "◀";
}

.footer--matches--nav-next {
  border-radius: 0 8px 8px 0;
  margin-left: -1px;
}

.footer--matches--nav-next i::before {
  content: "▶";
}

.footer--matches.out {
  opacity: 0;
  pointer-events: none;
  transform: translateX(-50%) translateY(1rem);
}

.log {
  background-color: #000;
  border: 1px solid;
  box-shadow: 0 0 3em 1em #000;
  font-size: 0.75rem;
  left: 0.25rem;
  overflow: hidden;
  position: fixed;
  right: 6rem;
  text-transform: uppercase;
  top: 0.25rem;
  transition: transform 1500ms cubic-bezier(0.38, 0.48, 0.22, 0.96);
  white-space: nowrap;
}

.log:not(.in) {
  transform: translateY(-130%);
}

.log-wrap {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  justify-content: flex-start;
  overflow: auto;
  overflow-y: hidden;
  padding: 0.25rem 2rem 0.25rem 0;
  scrollbar-width: none;
  width: 100%;
}

.log-wrap::before {
  background: linear-gradient(45deg, transparent calc(100% - 5rem), black calc(100% - 2rem));
  content: "";
  inset: calc(0.5rem + 1px) calc(6rem + 1px) calc(100% - 2.5rem) calc(0.5rem + 1px);
  pointer-events: none;
  position: fixed;
  z-index: 1;
}

.log--title {
  background-color: #000;
  box-shadow: 0 0 0.6rem 0.2rem #000;
  left: 0;
  margin-right: 0.5rem;
  padding: 0.5rem 0.25rem 0.5rem 0.75rem;
  position: sticky;
}

.log--content {
  align-items: center;
  display: inline-flex;
  white-space: nowrap;
}

.log--content .log--item {
  color: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  display: inline-block;
  height: auto !important;
  line-height: 1;
  transition: margin 800ms, color 200ms;
}

.log--content .log--item:hover {
  color: #fff;
}

.log--content .log--item:hover::after {
  color: rgba(255, 255, 255, 0.5);
}

.log--content .log--item::before {
  content: attr(data-idx) " ";
}

.log--content .log--item:last-child {
  padding-right: 3rem;
}

.log--content .log--item:not(:last-child)::after {
  content: "—";
  padding: 0 0.5em;
  transition: color 200ms 50ms;
}

.log--content .log--item em {
  background: linear-gradient(45deg, transparent calc(50% - 1px), white 50%, transparent calc(50% + 1px)), linear-gradient(-45deg, transparent calc(50% - 1px), white 50%, transparent calc(50% + 1px));
  display: inline-block;
  height: 0.7em;
  margin-left: 0;
  max-width: 0;
  transition: all 200ms;
  width: 0.7em;
}

.log--content .log--item:hover em {
  margin-left: 0.5em;
  max-width: 0.7em;
}

.log--content .log--item:hover em:hover {
  opacity: 0.5;
}

.log button.log--download {
  line-height: 1;
  margin: auto 0.5rem auto auto;
  padding: 4px 8px;
  position: absolute;
  right: 0;
  transition: all 300ms;
  z-index: 2;
}

.log button.log--download:hover {
  background-color: #fff;
  border-color: #fff;
  color: #000;
}

.log--pages {
  background: white;
  border: 1px solid white;
  overflow: auto;
}

.log--pages.show {
  display: block;
}

.log--pages .box {
  background-color: white;
  border-color: black;
  border-radius: 4px;
  color: black;
  font-size: 16px;
  margin-bottom: 2rem !important;
  margin-left: 1rem !important;
  max-height: none;
  max-width: none;
  width: calc(100% - 2rem) !important;
}

.log--pages .box::after {
  content: none !important;
}

.log--pages .box h3.title {
  font-size: 150%;
  margin-bottom: -1rem;
}

.log--pages .box-content {
  display: block !important;
}

.log--pages .box--aside {
  font-size: 14px;
}

.log--pages .box--aside .links a {
  box-sizing: border-box;
  overflow: visible;
  overflow: hidden;
  padding-right: 1rem;
  text-overflow: unset;
  white-space: normal;
  word-break: break-all;
}

body.printing {
  pointer-events: none;
}

body.printing main {
  opacity: 0.1;
  transition: opacity 1200ms;
}

.minimap-container {
  bottom: 0;
  left: 0;
  padding: 0 0.25rem;
  position: fixed;
  transform: translateX(-110%);
  transition: all 1400ms cubic-bezier(0.09, 0.77, 0.08, 1);
  z-index: 1;
}

.minimap-container,
.minimap-container #minimap {
  cursor: pointer;
}

.minimap-container #minimap {
  background: black;
  border: 2px;
  border-style: outset;
  box-shadow: 0 0 2em 0.5rem #000;
  padding: 0.25rem;
  transition: all 1000ms cubic-bezier(0.09, 0.77, 0.08, 1);
  width: 150px;
}

.minimap-container #minimap.filt {
  width: auto !important;
}

.rdy .minimap-container {
  transform: translateX(0);
}

.bib-link {
  bottom: 0;
  font-size: 0.75rem;
  padding: 1.5rem 2rem;
  position: fixed;
  right: 0;
  transition: all 300ms;
  white-space: nowrap;
  z-index: 3;
}

.bib-link:hover {
  text-decoration: underline;
}

.bib-link::before {
  animation: spin 1.4s infinite;
  border: 4px dotted;
  border-radius: 10em;
  box-sizing: border-box;
  content: "";
  display: block;
  height: 1rem;
  left: 0.5rem;
  opacity: 0;
  position: absolute;
  top: 1.33rem;
  width: 1rem;
}

.bib-link.disabled {
  opacity: 0.2;
  pointer-events: none;
}

.bib-link.disabled::before {
  opacity: 1;
}

.bib {
  backdrop-filter: blur(3px);
  background-color: rgba(0, 0, 0, 0.9);
  box-sizing: border-box;
  inset: 0;
  opacity: 0;
  overflow: auto;
  overflow-x: hidden;
  padding: 0 4px 8rem;
  pointer-events: none;
  position: fixed;
  transform: translateY(4rem);
  transition: all 1000ms cubic-bezier(0.09, 0.77, 0.08, 1);
  z-index: 1;
}

.bib-wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1080px;
}

.bib-wrap::before {
  content: "Bibliography";
  display: block;
  font-size: 1rem;
  margin-bottom: 1rem;
  margin-top: 4rem;
  position: relative;
  z-index: 3;
}

.bib--close {
  background: linear-gradient(45deg, transparent calc(50% - 1px), white 50%, transparent calc(50% + 1px)), linear-gradient(-45deg, transparent calc(50% - 1px), white 50%, transparent calc(50% + 1px));
  cursor: pointer;
  display: block;
  float: right;
  font-size: 1rem;
  height: 3rem;
  position: sticky;
  right: 1rem;
  top: 2rem;
  transition: none;
  width: 3rem;
  z-index: 2;
}

.bib--header {
  align-items: center;
  background-color: rgba(0, 0, 0, 0.9);
  border: 1px solid;
  box-shadow: 0 -1rem 6em 2.5em #000;
  box-sizing: border-box;
  display: grid;
  gap: 1rem;
  grid-template-columns: 7rem 5rem calc(50% - 3.5rem) 1fr;
  height: 2.25rem;
  padding-top: 2px;
  position: sticky;
  top: 0.5rem;
  transform: translateX(-1rem);
  width: calc(100% - 7rem);
  z-index: 2;
}

.bib--header span {
  cursor: pointer;
  font-size: 0.65rem;
  letter-spacing: 0.03em;
  padding-bottom: 1em;
  padding-top: 1em;
  text-transform: uppercase;
}

.bib--header span:hover {
  opacity: 0.75;
}

.bib--header span:first-child {
  padding-left: 1rem;
}

.bib--header span:first-child:hover {
  cursor: default;
  opacity: 1;
}

.bib--header span.cur::before {
  content: "↑";
  margin-right: 0.5rem;
}

.bib--header span.cur.asc::before {
  content: "↓";
}

.bib--content {
  background: linear-gradient(0deg, #fac8c8, #c9e4ff);
  background-clip: text;
  box-shadow: 0 0 20rem 10rem #000;
  color: transparent;
  line-height: 1.375;
  padding-top: 2rem;
  width: 100%;
}

.bib--content--entry {
  color: #fff;
  cursor: pointer;
  display: grid;
  gap: 1rem;
  grid-template-columns: 6rem 5rem 1fr 1fr;
  line-height: 1.2;
  padding: 3px 0;
  transition: color 60ms;
  width: 100%;
}

.bib--content--entry .id {
  font-size: 50%;
  letter-spacing: 0.03em;
  margin-left: -1px;
  padding-top: 1px;
}

.bib--content--entry .id span {
  display: inline-block;
  padding: 1px;
}

.bib--content--entry .id span:hover {
  color: #fff;
}

.bib--content--entry:hover {
  color: rgb(251, 95, 60);
  height: auto;
  z-index: 1;
}

.bib--content--entry:hover .names {
  background-color: #000;
  box-shadow: 0 0 2.5rem 1rem #000;
  margin: -0.25rem -1rem;
  padding: 0.25rem 1rem;
  white-space: normal;
  z-index: 1;
}

.bib--content--entry .title {
  grid-column: 3;
}

.bib--content--entry .names {
  grid-column: 4;
  overflow: hidden;
  position: absolute;
  text-overflow: ellipsis;
  top: 3px;
  white-space: nowrap;
  width: calc(100% - 1em);
}

.bib-open .bib {
  opacity: 1;
  pointer-events: auto;
  transform: none;
  z-index: 2;
}

.bib-open .bib-link::after {
  content: "X";
  position: absolute;
  right: calc(100% - 1.75rem);
}

.tooltip {
  backdrop-filter: blur(4px);
  background: rgba(255, 255, 255, 0.05);
  border-radius: 0.5rem;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.65rem;
  left: 0;
  letter-spacing: 0.03em;
  opacity: 0;
  padding: 0.5rem 0.75rem;
  pointer-events: none;
  position: fixed;
  top: 0.5rem;
  transition: top 300ms ease-in-out, opacity 300ms ease-in-out;
}

.tooltip.active {
  opacity: 1;
  top: 0;
}

.guide-link {
  font-size: 0.75rem;
  left: 0;
  padding: 2rem 1rem 2rem 2rem;
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}

.guide-link:hover {
  text-decoration: underline;
}

.guide {
  backdrop-filter: blur(4px) brightness(0.6);
  border: 1px solid;
  border-radius: 0.5rem;
  font-size: 0.75rem;
  left: 5rem;
  padding: 1rem;
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  transform-origin: 0 50%;
  transition: all 280ms cubic-bezier(0.19, 0.76, 0.57, 1);
}

.guide.show {
  box-shadow: 0 0 4rem 2rem #000;
}

.guide:not(.show) {
  opacity: 0;
  pointer-events: none;
  transform: translateY(-50%) scale(0);
}

.guide p {
  margin-left: 1em;
  max-width: 14rem;
  text-indent: -1em;
  transition: opacity 200ms;
}

.guide p::before {
  content: "•";
  display: inline-block;
  text-indent: 0;
  width: 1em;
}

.guide p.ok {
  opacity: 0.5;
  text-decoration: line-through;
}

.lit .guide {
  backdrop-filter: blur(4px) brightness(1.25);
  color: #000;
}

.lit .guide.show {
  box-shadow: 0 0 4rem 2rem #fff;
}

html {
  background-color: #000;
  color: white;
  transition: opacity 400ms, background-color 400ms;
}

body {
  height: 100vh;
  overflow: hidden;
  transition: opacity 400ms, background-color 400ms;
  width: 100vw;
}

body p:not(:last-child) {
  margin-bottom: 1em;
}

a[href="#lit"] {
  font-size: 0.75rem;
  left: 0;
  padding: 1rem 2rem;
  position: fixed;
  top: 0;
  transition: top 1500ms cubic-bezier(0.38, 0.48, 0.22, 0.96);
  z-index: 1;
}

a[href="#lit"]:has(~ .log.in) {
  top: 3rem;
}

html.lit-anim.to-black {
  background-color: #000;
}

html.lit-anim.to-black body {
  opacity: 0;
}

html.lit-anim.to-white {
  background-color: #fff;
}

html.lit-anim.to-white body {
  opacity: 0;
}

html.lit {
  background-color: #fff;
  color: #000;
}

html.lit a[href="#lit"] {
  filter: invert(1);
}

html.lit #minimap {
  border-color: #666;
  filter: invert(1);
}

html.lit .box,
html.lit .box.related {
  background: #fff;
  border-color: #000 !important;
}

html.lit .box:hover,
html.lit .box.related:hover {
  text-shadow: none;
}

html.lit .box.has-rel:not(.no-rel)::after,
html.lit .box.related.has-rel:not(.no-rel)::after {
  background-color: #7b9bff;
}

html.lit .box .close,
html.lit .box.related .close {
  filter: invert(1);
}

html.lit #lines-canvas {
  background: #fff;
}

html.lit .log--title {
  background: #fff;
  box-shadow: 0 0.6rem 0.2rem #fff;
}

html.lit .footer {
  backdrop-filter: blur(4px) brightness(1.25);
}

html.lit .footer label {
  text-shadow: none;
}

html.lit .log,
html.lit input,
html.lit select,
html.lit button {
  background-color: #fff;
  border-color: #000;
  color: #000;
}

html.lit .log {
  box-shadow: 0 0 2rem 1rem #fff;
}

html.lit .log-wrap::before {
  background: linear-gradient(45deg, transparent calc(100% - 5rem), white calc(100% - 2rem));
}

html.lit .log--item,
html.lit .log--item:hover {
  color: #000;
}

html.lit .log--item em {
  background: linear-gradient(45deg, transparent calc(50% - 1px), #000 50%, transparent calc(50% + 1px)), linear-gradient(-45deg, transparent calc(50% - 1px), #000 50%, transparent calc(50% + 1px));
}

html.lit nav.cats label input[type=checkbox]:checked {
  background: linear-gradient(90deg, transparent calc(50% - 0px), #000 50%, transparent calc(50% + 1px));
}

html.lit .bib {
  background-color: rgba(255, 255, 255, 0.9);
}

html.lit .bib--header {
  background-color: rgba(255, 255, 255, 0.9);
  box-shadow: 0 -1rem 6em 2.5em #fff;
}

html.lit .bib--content {
  box-shadow: 0 0 20rem 10rem #fff;
}

html.lit .bib--close {
  filter: invert(1);
}

@media (max-width: 600px) {
  body {
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
  }
}

@media (width <= 1180px) {
  .footer {
    font-size: 1vw;
  }

  .minimap-container #minimap {
    width: 12vw;
  }
}

@media (width >= 1440px) {
  .minimap-container {
    bottom: 0.5rem;
    left: 0.5rem;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdlbmVyYWwvX3ZhcnMuc2NzcyIsImdlbmVyYWwvX3Jlc2V0LnNjc3MiLCJnZW5lcmFsL19mb250cy5zY3NzIiwiZ2VuZXJhbC9fdHlwb2dyYXBoeS5zY3NzIiwiZ2VuZXJhbC91eC5zY3NzIiwicGFnZXMvaG9tZS5zY3NzIiwicGFnZXMvYWJvdXQuc2NzcyIsInBhcnRzL2VudHJpZXMuc2NzcyIsInBhcnRzL2VudHJ5LnNjc3MiLCJwYXJ0cy9mb290ZXIuc2NzcyIsInBhcnRzL2xvZy5zY3NzIiwicGFydHMvbWluaW1hcC5zY3NzIiwicGFydHMvYmliLnNjc3MiLCJwYXJ0cy90b29sdGlwLnNjc3MiLCJwYXJ0cy9ndWlkZS5zY3NzIiwic3R5bGUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBMkJBO0FBQUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQ2pDRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFpRkU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBV0U7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtFQUdFOzs7QUFHRjtBQUFBO0VBRUU7O0FBRUE7QUFBQTtBQUFBO0VBRUU7OztBQUlKO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7RUFJRTtFQUNBOzs7QUN6SUY7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBLDBIQUVxRDs7QUNQdEQ7QUFBQTtFQUVHLGFEUUk7RUNQSjtFQUNBO0VBRUE7O0FBRUE7QUFBQTtFQUNHO0VBQ0E7O0FBR0g7QUFBQTtFQUNHOztBQUdIO0FBQUE7RUFDRztFQUNBOzs7QUFJTjtFQUNHOzs7QUFHSDtFQUNHO0VBQ0E7OztBQzdCSDtBQUFBO0FBQUE7RUFHRztFQUNBLGtCSklLO0VJSEw7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0g7RUFDRztFQUNBO0VBQ0E7RUFDQTs7O0FBR0g7RUFDRztFQUNBLE9KakJLOzs7QUtOTDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUtBO0VBQ0c7RUFDQTs7O0FBS1Q7RUFDRzs7QUFFQTtFQUdHOztBQUdIO0VBQ0c7RUFDQTs7QUFHSDtBQUFBO0FBQUE7QUFBQTtFQUlHO0VBQ0E7OztBQUlOO0VBQ0c7SUFDRzs7RUFHSDtJQUNHOzs7QUFJTjtFQUVHLFdML0NDO0VLZ0REO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNHO0VBQ0E7RUFDQTs7O0FBSU47RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRzs7O0FBSU47RUFDRztFQUVBO0VBQ0E7RUFFQTtFQUVBOztBQVVHO0VBQ0c7O0FBR0g7RUFDRztFQUNBOztBQUVBO0VBQ0c7O0FBS1Q7RUFDRzs7QUFHSDtFQUNHOztBQUlIO0VBQ0c7O0FBSUE7RUFBTzs7QUFHSjtFQUNHOztBQU1OO0VBQU87O0FBSVA7RUFBTzs7O0FDckpiO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRzs7QUFHSDtFQUNHO0VBQ0E7RUFDQTs7O0FBSU47RUFDRztFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0g7RUFDRzs7QUFHSDtFQUNHO0VBRUE7RUFDQTtFQUNBO0VBQ0E7O0FBTU47RUFDRztFQUNBOztBQUdIO0VBQ0csV043REY7RU04REU7O0FBR0g7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUtIO0VBQ0c7RUFDQTtFQUNBOztBQUlBO0VBQ0c7OztBQU1OO0VBQ0c7O0FBR0g7RUFDRzs7O0FDM0dOO0VBR0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUg7RUFDRztFQUNBOzs7QUFHSDtFQUNHO0VBQ0E7OztBQUdIO0VBU0c7O0FBMEJIO0VBQ0c7OztBQUdIO0VBQ0c7RUFDQTtFQUdBO0VBQ0E7RUFFQTtFQUNBO0VBT0E7RUFDQTtFQUNBLFdBM0ZjO0VBNEZkO0VBQ0E7RUFDQTtFQUNBOztBQUdHO0VBQ0c7O0FBRUE7RUFDRzs7QUFNVDtFQUNHOztBQUdIO0VBQ0c7RUFHQTtFQUNBO0VBQ0E7RUFDQTtBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQXNDUztFQUNHO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0c7RUFDQSxZQUNBOztBQVFBO0VBQ0c7O0FBSU47RUFDRztFQUNBOztBQUtUO0VBQ0c7RUFDQSxZQUNBOztBQU1IO0VBQ0c7RUFDQTtFQUNBO0VBRUE7O0FBRUE7QUFBQTtFQUVHO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHOztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRztFQUNBO0VBQ0E7O0FBR0g7RUFDRztFQUNBO0VBQ0EsV1AzT2pCO0VPNE9pQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlBO0VBQ0c7RUFDQTs7QUFLVDtFQUVHOztBQUVBO0FBQUE7QUFBQTtFQUVHOztBQUtUO0VBQ0c7RUFDQTs7QUFRQTtFQUNHOztBQVVOO0VBQ0c7O0FBR0g7RUFDRztFQUNBO0VBQ0E7RUFDQTs7O0FBU1Q7RUFDRzs7QUFHSDtFQUNHOztBQUVBO0VBQ0c7O0FBSU47RUFDRzs7QUFFQTtFQUNHOztBQUlOO0VBQ0c7O0FBRUE7RUFDRzs7QUFNTjtFQUNHOztBQUVBO0VBQ0c7O0FBR047RUFBc0I7O0FBRXRCO0VBQ0c7O0FBRUE7RUFDRzs7QUFJTjtFQUNHOztBQUVBO0VBQ0c7O0FBTU47RUFDRzs7QUFFQTtFQUNHOztBQUlOO0VBQ0c7O0FBRUE7RUFDRzs7QUFHTjtFQUFzQjs7QUFFdEI7RUFDRzs7QUFFQTtFQUNHOztBQU1OO0VBQ0c7O0FBRUE7RUFDRzs7QUFJTjtFQUNHOztBQUVBO0VBQ0c7O0FBSU47RUFDRzs7QUFFQTtFQUNHOztBQUdOO0VBQXNCOzs7QUFLNUI7RUFDRztFQUNBOzs7QUFLRztFQUVHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNHO0VBQ0E7O0FBR0g7RUFDRztFQUNBO0VBQ0E7O0FBR0g7RUFDRztFQUNBO0VBQ0E7O0FBR0g7RUFDRzs7QUFHSDtFQUVHOztBQUtUO0VBR0c7RUFDQTs7QUFFQTtFQUNHOztBQUdIO0VBQ0c7RUFDQTs7QUFJTjtFQUlHO0VBQ0E7O0FBR0E7RUFDRztFQUNBOztBQVNOO0VBVUc7RUFDQTtFQUNBO0VBQ0E7O0FBUEE7RUFDRzs7QUFTSDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUVHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7OztBQ3JoQlo7RUFDRztFQUNBO0VBQ0E7QUFFQTtBQUFBO0FBQUE7O0FBSUE7RUFDRzs7QUFFQTtBQUFBO0VBRUc7O0FBTUE7RUFDRzs7QUFLVDtFQUNHO0VBQ0E7RUFDQTtFQUNBOztBQUdIO0VBQ0c7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7RUFDQTs7O0FBSU47RUFDRyxrQlIzQ0s7RVE0Q0w7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdHO0VBQ0csY1J4REQ7RVF5REM7RUFDQTs7QUFFQTtFQUNHOztBQUtUO0VBQ0c7O0FBRUE7RUFDRzs7QUFJTjtFQUNHLFlSNUVDO0VRNkVEO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7RUFDQTs7QUFJQTtFQUNHOztBQUlOO0VBQ0c7O0FBSUE7RUFDRztFQUNBOztBQUlOO0VBQ0c7O0FBR0g7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNHOztBQVdIO0VBQ0c7O0FBSU47RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlBQ0c7RUFNSDtFQUNBOztBQUVBO0VBQ0c7RUFDQTs7QUFHSDtFQUNHOztBQUdIO0VBQ0c7O0FBR0g7RUFDRztFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0EsV1J4TVI7RVF5TVE7RUFDQTs7QUFHSDtFQUNHO0VBQ0EsV1IvTVI7RVFnTlE7O0FBS0g7RUFDRzs7QUFLSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNHLFdScE9YO0VRcU9XOztBQUdIO0VBQ0c7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7O0FBR0g7RUFDRztFQUNBOztBQUVBO0VBQ0c7O0FBTVo7RUFDRzs7QUFHSDtFQUNHO0VBQ0E7O0FBR0g7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRzs7QUFLVDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFlBQ0c7RUFFSDs7QUFFQTtFQUNHOztBQUdIO0VBQ0c7O0FBR0g7RUFDRzs7QUFHSDtFQUNHOztBQUdIO0VBQ0c7O0FBR0g7RUFDRzs7QUFLTjtBQUFBO0VBRUc7RUFDQTs7QUFHSDtFQUNHOztBQUdIO0VBQ0c7O0FBRUE7RUFDRztFQUNBOztBQUdIO0VBQ0c7O0FBSU47RUFDRzs7QUFHSDtFQUNHO0VBQ0E7O0FBRUE7RUFDRzs7QUFHSDtFQUNHOztBQUlOO0VBQ0c7RUFDQTtFQUNBOztBQUdIO0VSblZELFdBM0JFO0VBNEJGO0VBQ0E7RVFvVkk7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUQ7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdIO0VBQ0c7O0FBSU47RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRzs7QUFHSDtBQUFBO0VBRUc7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHOztBQUlOO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7RUFDQTs7QUFNQTtBQUFBO0VBQ0c7RUFDQTtFQUNBOztBQUlOO0VBQ0csV1IvYkY7RVFnY0U7RUFDQTs7QUFFQTtFQUNHOztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRzs7QUFJTjtFQUNHOztBQUVBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHOztBQUlOO0VBQ0c7O0FBSUE7RUFDRzs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBOztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7O0FBS0g7RUFDRztFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNHO0VBQ0E7O0FBTU47RUFDRzs7QUFHSDtFQUNHOztBQUtUO0VSamdCRCxXQTNCRTtFQTRCRjtFQUNBO0VRa2dCSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlOO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0c7OztBQUlOO0VBQ0c7RUFDQTtFQUNBOztBQUVBO0VBQ0c7OztBQ2xsQk47RUFDRztFQUNBOzs7QUFHSDtFQUNHO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0EsV1REQztFU0VEO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBcEJIO0lBcUJNOzs7QUFJSDtFVFdELFdBM0JFO0VBNEJGO0VBQ0E7RVNWSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7O0FBR0g7RUFJRztFQUNBO0VBQ0E7O0FBUUE7RUFDRzs7QUFNQTtFQUNHLFdUcERSOztBU3VESztFQUNHO0VBQ0EsV1R6RFI7RVMwRFE7RUFDQTs7QUFJTjtFVHBDSixXQTNCRTtFQTRCRjtFQUNBO0VTcUNPO0VBQ0E7RUFDQTtFQUNBOztBQUlOO0VBQ0c7O0FBR0c7RUFDRzs7QUFJTjtFQUNHO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRzs7QUFNTjtFQUNHOztBQUlBO0VBQ0c7O0FBS1Q7RUFDRztFQUNBOztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQTRCQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQXpCRztBQUFBO0VBRUc7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0VBQ0c7O0FBS0g7RUFDRzs7QUFLVDtFQUNHOztBQXlDTjtFQUNHOztBQUdIO0VBQ0c7O0FBR0g7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFFRzs7QUFHSDtFQUNHO0VBQ0E7O0FBRUE7RUFFRztFQUNBOztBQUVBO0VBQ0c7RUFDQTs7QUFHSDtFQUNHOztBQUlOO0VBQ0c7O0FBRUE7RUFDRzs7QUFJTjtFQUNHO0VBQ0E7O0FBRUE7RUFDRzs7QUFLVDtFQUNHO0VBQ0E7RUFDQTs7O0FDblJUO0VBQ0csa0JWT0s7RVVOTDtFQUNBO0VBQ0EsV1ZVQztFVVJEO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRzs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJTjtFQUNHLGtCVmxDRTtFVW1DRjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdIO0VBQ0c7RUFDQTtFQUNBOztBQUdBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFJQTtFQUdBOztBQUVBO0VBQ0csT1YvREo7O0FVaUVJO0VBQ0E7O0FBSUg7RUFDRzs7QUFPSDtFQUNHOztBQUlBO0VBQ0c7RUFDQTtFQUNBOztBQUlOO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUE7RUFDRztFQUNBOztBQUVBO0VBQ0c7O0FBT2Y7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNHLGtCVjNIRDtFVTRIQyxjVjVIRDtFVTZIQyxPVjVIRDs7QVVnSUw7RUFDRztFQUNBO0VBR0E7O0FBSUE7RUFDRzs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0c7O0FBR0g7RUFDRztFQUNBOztBQUdIO0VBQ0c7O0FBR0g7RUFDRzs7QUFFQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFPZjtFQUNHOztBQUVBO0VBQ0c7RUFDQTs7O0FDcE1OO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFUSDtJQVVNO0lBQ0E7OztBQUdIO0FBQUE7RUFFRzs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBVEg7SUFVTTs7O0FBR0g7RUFDRzs7QUFjTjtFQUNHOzs7QUNoRE47RUFDRztFQUNBLFdaWUM7RVlYRDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRzs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7O0FBRUE7RUFDRzs7O0FBS1Q7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNHO0VBQ0E7RUFDQTs7QUFFQTtFQUNHO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlOO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0c7RUFDQSxXWjNGSjtFWTRGSTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNHOztBQUdIO0VBQ0c7O0FBRUE7RUFDRztFQUNBOztBQUtIO0VBQ0c7RUFDQTs7QUFJQTtFQUNHOztBQU9mO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRyxPWjdJRDtFWThJQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRztFQUNBOztBQUVBO0VBQ0csT1psS1Y7O0FZdUtDO0VBQ0csT1p0S047RVl1S007RUFDQTs7QUFFQTtFQUNHLGtCWjVLUDtFWTZLTztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlOO0VBQ0c7O0FBR0g7RUFDRztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBT1Q7RUFDRztFQUNBO0VBQ0E7RUFDQTs7QUFHRztFQUNHO0VBQ0E7RUFDQTs7O0FDek5aO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXYlFFO0VhUEY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNHO0VBQ0E7OztBQ2pCTjtFQUNHLFdkYUM7RWNaRDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRzs7O0FBSU47RUFDRztFQUNBO0VBQ0E7RUFDQSxXZEpDO0VjS0Q7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRzs7QUFHSDtFQUNHO0VBQ0E7RUFDQTs7QUFHSDtFQUNHO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7O0FBR0g7RUFDRztFQUNBOzs7QUFNTjtFQUNHO0VBQ0EsT2RwREU7O0Fjc0RGO0VBQ0c7OztBQy9DVDtFQUNFLGtCZlRNO0VlVU47RUFDQTs7O0FBUUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQU5GO0lBT0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBSUE7RUFDRTs7O0FBS047RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOzs7QUFLRjtFQUNFLGtCZnhESTs7QWUwREo7RUFBTzs7QUFHVDtFQUNFLGtCZi9ESTs7QWVpRUo7RUFBTzs7O0FBSVg7RUFDRSxrQmZ0RU07RWV1RU4sT2Z0RU07O0Fld0VOO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOztBQUtGO0FBQUE7RUFFRSxZZnRGSTtFZXVGSjs7QUFFQTtBQUFBO0VBQ0U7O0FBR0Y7QUFBQTtFQUNFLGtCZjNGQzs7QWU4Rkg7QUFBQTtFQUNFOztBQUlKO0VBQ0UsWWZ2R0k7O0FlMEdOO0VBQ0UsWWYzR0k7RWU0R0o7O0FBR0Y7RUFDRTs7QUFFQTtFQUNFOztBQUlKO0FBQUE7RUFFRSxrQmZ6SEk7RWUwSEosY2Z6SEk7RWUwSEosT2YxSEk7O0FlNkhOO0VBQ0U7O0FBR0U7RUFDRTs7QUFLRjtFQUVFLE9meklBOztBZTRJRjtFQUNFOztBQUtOO0VBRUU7O0FBR0Y7RUFDRTs7QUFFQTtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiRza3k6ICNhZGRkZmY7XG4kc2t5ZGFyazogIzM3NDk1YTtcbiRyZWQ6ICNmY2JiYzY7XG4kYm9uZTogI2ZmZmNmNztcbiRraGFraTogI2YxZTVkMjtcbiRicm93bjogI2NiYmRhNDtcblxuJHdoaXRlOiAjZmZmO1xuJGJsYWNrOiAjMDAwO1xuJHJlZDogcmdiKDI1MSA5NSA2MCk7XG4kYmx1ZTogIzdiOWJmZjtcbiRicm93bjogcmdiKDg0IDcyIDQxKTtcblxuJHhzOiAuNjVyZW07XG4kczogLjc1cmVtO1xuJG06IDEuMzNyZW07XG4kbDogMi4ycmVtO1xuXG4kbW9iOiAnbWF4LXdpZHRoOiA2MDBweCc7XG4kZGVzazogJ21pbi13aWR0aDogNjAxcHgnO1xuXG4kY3ViaWM6IGN1YmljLWJlemllciguMTksIC43NiwgLjU3LCAxKTtcbiRsYXp5OiBjdWJpYy1iZXppZXIoMC4zOCwgMC40OCwgMC4yMiwgMC45Nik7XG4kbG9uZzogY3ViaWMtYmV6aWVyKDAuMDksIDAuNzcsIDAuMDgsIDEpO1xuXG4kb3BlbkR1cjogMG1zO1xuXG5pbnB1dCxcbi5idXR0b24ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gIGNvbG9yOiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAxZW0gYXV0bztcbiAgcGFkZGluZzogLjVlbSAuNzVlbTtcbn1cblxuQG1peGluIHRpbnkge1xuICBmb250LXNpemU6ICRzO1xuICBsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufSIsIi8vIGh0dHA6Ly9tZXllcndlYi5jb20vZXJpYy90b29scy9jc3MvcmVzZXQvXG4vLyAgdjIuMCB8IDIwMTEwMTI2XG4vLyAgTGljZW5zZTogbm9uZSAocHVibGljIGRvbWFpbilcblxuaHRtbCxcbmJvZHksXG5kaXYsXG5zcGFuLFxuYXBwbGV0LFxub2JqZWN0LFxuaWZyYW1lLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucCxcbmJsb2NrcXVvdGUsXG5wcmUsXG5hLFxuYWJicixcbmFjcm9ueW0sXG5hZGRyZXNzLFxuYmlnLFxuY2l0ZSxcbmNvZGUsXG5kZWwsXG5kZm4sXG5lbSxcbmltZyxcbmlucyxcbmtiZCxcbnEsXG5zLFxuc2FtcCxcbnNtYWxsLFxuc3RyaWtlLFxuc3Ryb25nLFxuc3ViLFxuc3VwLFxudHQsXG52YXIsXG5iLFxudSxcbmksXG5jZW50ZXIsXG5kbCxcbmR0LFxuZGQsXG5vbCxcbnVsLFxubGksXG5maWVsZHNldCxcbmZvcm0sXG5sYWJlbCxcbmxlZ2VuZCxcbnRhYmxlLFxuY2FwdGlvbixcbnRib2R5LFxudGZvb3QsXG50aGVhZCxcbnRyLFxudGgsXG50ZCxcbmFydGljbGUsXG5hc2lkZSxcbmNhbnZhcyxcbmRldGFpbHMsXG5lbWJlZCxcbmZpZ3VyZSxcbmZpZ2NhcHRpb24sXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tZW51LFxubmF2LFxub3V0cHV0LFxucnVieSxcbnNlY3Rpb24sXG5zdW1tYXJ5LFxudGltZSxcbm1hcmssXG5hdWRpbyxcbnZpZGVvIHtcbiAgYm9yZGVyOiAwO1xuICBmb250OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1lbnUsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmJvZHkge1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxub2wsXG51bCxcbmxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuYmxvY2txdW90ZSxcbnEge1xuICBxdW90ZXM6IG5vbmU7XG5cbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gIH1cbn1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCxcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsIFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cywgXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDMwcHggYmxhY2sgaW5zZXQgIWltcG9ydGFudDtcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG59IiwiQGZvbnQtZmFjZSB7XG5cdGZvbnQtZGlzcGxheTogc3dhcDtcblx0Zm9udC1mYW1pbHk6IGRpYXR5cGU7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0c3JjOiAgbG9jYWwoJycpLFxuXHRcdHVybCgnLi4vZm9udC9BQkNEaWF0eXBlLUJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksIC8qIENocm9tZSAyNissIE9wZXJhIDIzKywgRmlyZWZveCAzOSsgKi9cblx0XHR1cmwoJy4uL2ZvbnQvQUJDRGlhdHlwZS1Cb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTsgLyogQ2hyb21lIDYrLCBGaXJlZm94IDMuNissIElFIDkrLCBTYWZhcmkgNS4xKyAqL1xufVxuXG4kc2FuczogZGlhdHlwZSwgc2Fucy1zZXJpZjsiLCJodG1sLFxuYm9keSB7XG4gICBmb250LWZhbWlseTogJHNhbnM7XG4gICBmb250LXNpemU6IDE2cHg7XG4gICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgIC8vIGxldHRlci1zcGFjaW5nOiAuMDNlbTtcbiAgIGxpbmUtaGVpZ2h0OiAxLjE7XG5cbiAgIGEge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICB9XG5cbiAgICoge1xuICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICB9XG5cbiAgIGlucHV0IHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgfVxufVxuXG5zdHJvbmcge1xuICAgY29sb3I6IHdoaXRlO1xufVxuXG5zdXAge1xuICAgZm9udC1zaXplOiAuNjZlbTtcbiAgIHZlcnRpY2FsLWFsaWduOiAwLjRlbTtcbn0iLCJpbnB1dCxcbnNlbGVjdCxcbmJ1dHRvbiB7XG4gICBhcHBlYXJhbmNlOiBub25lO1xuICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICBib3JkZXItcmFkaXVzOiAycmVtO1xuICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgIGNvbG9yOiBpbmhlcml0O1xuICAgZm9udDogaW5oZXJpdDtcbiAgIG1hcmdpbjogLjI1ZW0gMCAwO1xuICAgb3V0bGluZTogbm9uZTtcbiAgIHBhZGRpbmc6IC4zM2VtIC41NWVtIC4xNzVlbTtcbn1cblxuYnV0dG9uIHtcbiAgIGN1cnNvcjogcG9pbnRlcjtcbiAgIGZvbnQtc2l6ZTogOXB4O1xuICAgcGFkZGluZzogM3B4IDZweCAxcHg7XG4gICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG46OnNlbGVjdGlvbiB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1IDI1NSAyNTUgLyAxNSUpO1xuICAgY29sb3I6ICR3aGl0ZTtcbn0iLCJib2R5IHtcbiAgICY6OmJlZm9yZSB7XG4gICAgICBhbmltYXRpb246IHNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xuICAgICAgYm9yZGVyOiA2cHggZG90dGVkO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwZW07XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSAuNXJlbSAtIDRweCk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIC41cmVtIC0gNnB4KTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgNTAwbXMgJGxvbmc7XG4gICAgICB3aWR0aDogMXJlbTtcbiAgICAgIHotaW5kZXg6IDk5OTtcbiAgIH1cbiAgIFxuICAgJjpub3QoLnJkeSksXG4gICAmLmluc3RhbnQge1xuICAgICAgbWFpbiB7XG4gICAgICAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICB9XG59XG5cbmJvZHkuYmx1ciB7XG4gICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgLmJveGVzIHtcbiAgICAgIC8vIGZpbHRlcjogYmx1cig1MHB4KTtcbiAgICAgIC8vIG9wYWNpdHk6IC41O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICB9XG5cbiAgICY6OmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgIH1cbiAgIFxuICAgLm1pbmltYXAtY29udGFpbmVyLFxuICAgLmZvb3RlcixcbiAgIC5sb2csXG4gICBtYWluIHtcbiAgICAgIG9wYWNpdHk6IC4xO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICB9XG59XG5cbkBrZXlmcmFtZXMgc3BpbiB7XG4gICAwJSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgIH1cblxuICAgMTAwJSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgfVxufVxuXG4ubG9hZGluZyB7XG4gICAvLyBkaXNwbGF5OiBub25lO1xuICAgZm9udC1zaXplOiAkcztcbiAgIGxlZnQ6IGNhbGMoNTAlICsgLjVyZW0pO1xuICAgcG9zaXRpb246IGZpeGVkO1xuICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgdG9wOiBjYWxjKDUwJSArIDJyZW0pO1xuICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAxMHB4KTtcbiAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICBcbiAgIGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHdpZHRoOiAxZW07XG4gICB9XG59XG5cbi5jbGVhci1jYWNoZSB7XG4gICBib3R0b206IDEuNXJlbTtcbiAgIGN1cnNvcjogcG9pbnRlcjtcbiAgIGZvbnQtc2l6ZTogJHMgKiAuNzU7XG4gICBwb3NpdGlvbjogZml4ZWQ7XG4gICByaWdodDogMS41cmVtO1xuICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAuNjtcbiAgIH1cbn1cblxubWFpbiB7XG4gICBpbnNldDogMDtcbiAgIC8vIHBlcnNwZWN0aXZlOiAyMDAwcHg7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICB0cmFuc2Zvcm06IHNjYWxlKC44KTtcbiAgIC8vIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAvLyB0cmFuc2l0aW9uOiBwZXJzcGVjdGl2ZSAycztcbiAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAvLyB3aWR0aDogMjUwdnc7XG5cbiAgICYuYm94LW9wZW4ge1xuICAgICAgLy8gcGVyc3BlY3RpdmU6IDYwMDBweDtcbiAgIH1cblxuICAgJi5yZWxhdGluZyB7XG4gICAgICAvLyBwZXJzcGVjdGl2ZTogNjAwMHB4O1xuXG4gICAgICAmOm5vdCgubW91c2Vkb3duKSB7XG4gICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgJGN1YmljO1xuICAgICAgfVxuXG4gICAgICAuYm94Om5vdCgucmVsYXRlZCwgLmhvdmVyaW5nLCAub3Blbikge1xuICAgICAgICAgb3BhY2l0eTogLjIgIWltcG9ydGFudDtcbiAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMzAwbXM7XG4gICAgICAgICBcbiAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuXG4gICAmLmJveC1vcGVuOm5vdCgubW91c2Vkb3duKSB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgJGN1YmljLCBvcGFjaXR5IDQwMG1zICRjdWJpYztcbiAgIH1cblxuICAgJjpub3QoLm1vdXNlZG93bikge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zICRjdWJpYywgb3BhY2l0eSA0MDBtcyAkY3ViaWM7XG4gICAgICAvLyB0cmFuc2l0aW9uOiBwZXJzcGVjdGl2ZS1vcmlnaW4gNDBtcywgdHJhbnNmb3JtIDMwMG1zICRjdWJpYztcbiAgIH1cblxuICAgJi5tb3VzZWRvd24ge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDExMG1zIGxpbmVhciwgdHJhbnNmb3JtIG5vbmUsIG9wYWNpdHkgNDAwbXMgJGN1YmljO1xuICAgfVxuXG4gICAmLm1vdXNlZG93biAuYm94ZXMge1xuICAgICAgJiwgKiB7IGN1cnNvcjogZ3JhYmJpbmc7IH1cblxuICAgICAgLmJveCB7XG4gICAgICAgICAmOmhvdmVyIGgzIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cblxuICAgJi56b29taW5nLWluIC5ib3hlcyB7XG4gICAgICAmLCAqIHsgY3Vyc29yOiB6b29tLWluOyB9XG4gICB9XG5cbiAgICYuem9vbWluZy1vdXQgLmJveGVzIHtcbiAgICAgICYsICogeyBjdXJzb3I6IHpvb20tb3V0OyB9XG4gICB9XG59IiwiLmFib3V0LWxpbmsge1xuICAgZm9udC1zaXplOiAuNzVyZW07XG4gICBwYWRkaW5nOiAxLjMzcmVtIDJyZW07XG4gICBwb3NpdGlvbjogZml4ZWQ7XG4gICByaWdodDogMDtcbiAgIHRvcDogMDtcbiAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICB6LWluZGV4OiAxO1xuXG4gICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgfVxuXG4gICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJYXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogY2FsYygxMDAlIC0gMS43NXJlbSk7XG4gICB9XG59XG5cbi5hYm91dC10ZXh0IHtcbiAgIGJhY2tncm91bmQtY29sb3I6IHJnYigwIDAgMCAvIDkwJSk7XG4gICBpbnNldDogMDtcbiAgIGxpbmUtaGVpZ2h0OiAxLjM3NTtcbiAgIC8vIGxpbmUtaGVpZ2h0OiAxLjY2O1xuICAgb3ZlcmZsb3c6IGF1dG87XG4gICBwYWRkaW5nOiAwO1xuICAgcG9zaXRpb246IGZpeGVkO1xuICAgdHJhbnNpdGlvbjogYWxsIDE1MDBtcyAkbG9uZztcbiAgIHotaW5kZXg6IDE7XG5cbiAgICYtLWlubmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCAjZmFjOGM4LCAjYzllNGZmKTtcbiAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAyMHJlbSAxMHJlbSAkYmxhY2s7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAvLyBmb250LXNpemU6ICRtO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDQwZW07XG4gICAgICBwYWRkaW5nOiAwIDAgMjB2aDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCAwIDAgLyA5NSUpO1xuICAgICAgICAgYm94LXNoYWRvdzogMCAwIDIwcmVtIDEwcmVtICRibGFjaztcbiAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICBpbnNldDogMDtcbiAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgfVxuICAgICAgXG4gICAgICBwOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgLnRpdGxlIHtcbiAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzllNGZmO1xuICAgICAgICAgLy8gY29udGVudDogXCJBYm91dFwiO1xuICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICAgICAgICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICAgICAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgIC8vIHotaW5kZXg6IDM7XG4gICAgICB9XG4gICB9XG4gICBcbiAgIC5zcGFjZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEuNWVtO1xuICAgfVxuICAgXG4gICAuY29weSB7XG4gICAgICBmb250LXNpemU6ICRzO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLjI1ZW07XG4gICB9XG5cbiAgIC5hYm91dC0tY2xvc2Uge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCBjYWxjKDUwJSAtIDFweCksIHdoaXRlIDUwJSwgdHJhbnNwYXJlbnQgY2FsYyg1MCUgKyAxcHgpKSwgbGluZWFyLWdyYWRpZW50KC00NWRlZywgdHJhbnNwYXJlbnQgY2FsYyg1MCUgLSAxcHgpLCB3aGl0ZSA1MCUsIHRyYW5zcGFyZW50IGNhbGMoNTAlICsgMXB4KSk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICByaWdodDogY2FsYyg1MCUgLSA1NDBweCk7XG4gICAgICB0b3A6IDZyZW07XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgd2lkdGg6IDNyZW07XG4gICAgICB6LWluZGV4OiAyO1xuICAgfVxufVxuXG5ib2R5Om5vdCguYWJvdXQtb3Blbikge1xuICAgLmFib3V0LXRleHQge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRyZW0pO1xuICAgfVxuXG4gICAuYWJvdXQtbGluayB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgIH1cbn1cblxuLmFib3V0LW9wZW4ge1xuICAgLmFib3V0LXRleHQge1xuICAgICAgei1pbmRleDogNDtcbiAgIH1cblxuICAgLmFib3V0LWxpbmsge1xuICAgICAgei1pbmRleDogNDtcbiAgIH1cbn0iLCIkYm94RGlzdDogNTAwcHg7XG4kYmFzaWNUcmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApOyAvLyByb3RhdGVYKDJkZWcpIHNjYWxlWSgwLjk1KTtcblxuJGZseURlbGF5OiAwbXM7XG4kZmx5QmV6aWVyOiBjdWJpYy1iZXppZXIoMC4wMiwgMC45NCwgMC41OCwgMSk7XG4kZmx5RHVyOiAxMTAwbXM7XG4kZmx5OiAkZmx5RHVyICRmbHlEZWxheSAkZmx5QmV6aWVyO1xuXG4uYm94LWJhY2tkcm9wIHtcbiAgIC8vIGluc2V0OiAwO1xuICAgLy8gYmFja2dyb3VuZDogJGJsYWNrO1xuICAgY3Vyc29yOiB6b29tLW91dDtcbiAgIGhlaWdodDogMjAwMHZoO1xuICAgbGVmdDogNTAlO1xuICAgb3BhY2l0eTogMDtcbiAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgcG9zaXRpb246IGZpeGVkO1xuICAgdG9wOiA1MCU7XG4gICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICAgdHJhbnNpdGlvbjogb3BhY2l0eSA4MDBtcztcbiAgIHdpZHRoOiAyMDAwdnc7XG4gICB6LWluZGV4OiAwO1xuXG59XG5cbi5yZWxhdGluZyAuYWN0IC5ib3gtYmFja2Ryb3Age1xuICAgb3BhY2l0eTogMDtcbiAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4uYm94LW9wZW4gLmFjdCAuYm94LWJhY2tkcm9wIHtcbiAgIG9wYWNpdHk6IDA7XG4gICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuI2xpbmVzLWNhbnZhcyB7XG4gICAvLyBiYWNrZ3JvdW5kOiBibGFjaztcbiAgIC8vIGNsaXAtcGF0aDogcG9seWdvbihcbiAgIC8vICAgIDAgMCxcbiAgIC8vICAgIDAgMTAwJSxcbiAgIC8vICAgIDEwMCUgMTAwJSxcbiAgIC8vICAgIDEwMCUgMFxuICAgLy8gKTtcbiAgIC8vIGhlaWdodDogMTAwJTtcbiAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgLy8gdHJhbnNpdGlvbjogb3BhY2l0eSAxMDAwbXM7XG4gICAvLyB3aWR0aDogMTAwJTtcbiAgIC8vIHdpbGwtY2hhbmdlOiBvcGFjaXR5LCB3aWR0aCwgaGVpZ2h0O1xuXG4gICAmOm5vdCguaW4pIHtcbiAgICAgIC8vIG9wYWNpdHk6IDA7XG4gICB9XG5cbiAgICYub3V0IHtcbiAgICAgIC8vIG9wYWNpdHk6IDA7XG4gICAgICAvLyBjbGlwLXBhdGg6IHBvbHlnb24oXG4gICAgICAvLyAgICAwIDAsXG4gICAgICAvLyAgICAwIDEwMCUsXG4gICAgICAvLyAgICAwJSAxMDAlLFxuICAgICAgLy8gICAgMCUgMFxuICAgICAgLy8gKTtcbiAgIH1cbn1cblxubWFpbiB7XG4gICAvLyBwZXJzcGVjdGl2ZTogMTAwcHg7XG4gICAvLyBwZXJzcGVjdGl2ZS1vcmlnaW46IGluaGVyaXQ7XG4gICAvLyB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xufVxuXG4uYm94LW9wZW4gLmJveGVzIHtcbiAgIG1pbi1oZWlnaHQ6IDA7XG59XG5cbi5ib3hlcyB7XG4gICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgIC8vIGRpc3BsYXk6IGZsZXg7XG4gICAvLyBmbGV4LXdyYXA6IHdyYXA7XG4gICBjdXJzb3I6IGdyYWI7XG4gICBnYXA6IDFlbTtcbiAgIC8vIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgbGVmdDogNTAlO1xuICAgbWluLWhlaWdodDogOTB2aDtcbiAgIC8vIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA4cmVtKTtcbiAgIC8vIG1heC13aWR0aDogMTIwMHB4O1xuICAgLy8gbWFyZ2luOiAtMWVtO1xuICAgLy8gb3ZlcmZsb3c6IHZpc2libGU7XG4gICAvLyBvdmVyZmxvdzogYXV0bztcbiAgIC8vIHBhZGRpbmc6IDhyZW0gNHJlbTtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgIHRvcDogNTAlO1xuICAgdHJhbnNmb3JtOiAkYmFzaWNUcmFuc2Zvcm0gOyAvLyByb3RhdGUzZCgzLjQsIC0wLjEsIDAsICRkZWcpO1xuICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNjAwbXMgJGN1YmljLCBmaWx0ZXIgNjAwbXMgJGN1YmljO1xuICAgd2lkdGg6IDIwMHZoO1xuICAgXG4gICAmLmFjdCB7XG4gICAgICAmIH4gLmJveGVzIHtcbiAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgXG4gICAgICAgICAmID4gLmJveCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgICAgICAgLy8gb3BhY2l0eTogMC4yNTtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cblxuICAgJjpub3QoLmFjdCkge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICB9XG5cbiAgICYtaW5uZXIge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgLy8gb3BhY2l0eTogMDtcbiAgICAgIC8vIG1pbi13aWR0aDogMjUwdnc7XG4gICAgICBtaW4td2lkdGg6IDcwMDBweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDUwMG1zIDIwMG1zO1xuXG4gICAgICAvKlxuICAgICAgJi5maWx0ZXJlZCB7XG4gICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgIG1pbi13aWR0aDogMTAwdnc7XG4gICAgICAgICBwYWRkaW5nLXRvcDogNTB2aDtcblxuICAgICAgICAgLmJveCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMnJlbSAycmVtIDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBtcyAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAmLnJlbGF0ZWQsXG4gICAgICAgICAgICAmLmhvdmVyaW5nIHsgXG4gICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bm90KC5oYXMtaW1hZ2UpIHtcbiAgICAgICAgICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuXG4gICAgICAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICB9XG4gICAgICB9XG4gICAgICAqL1xuICAgfVxuXG4gICAmW2RhdGEtdmlldy1hcz1cImltYWdlXCJdIHtcbiAgICAgIC5ib3hlcy1pbm5lciB7XG4gICAgICAgICAvLyAmOm5vdCguZmlsdGVyZWQpIHtcbiAgICAgICAgICAgIC5ib3g6bm90KC5vcGVuKSB7XG4gICAgICAgICAgICAgICAmOm5vdCguaGFzLWltYWdlKSB7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAmLnJlbGF0ZWQtZmx5IHtcbiAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogXG4gICAgICAgICAgICAgICAgICAgICBsZWZ0ICRmbHlEdXIgJGZseUJlemllcixcbiAgICAgICAgICAgICAgICAgICAgIHRvcCAkZmx5RHVyICRmbHlCZXppZXI7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICYucmVsYXRlZCxcbiAgICAgICAgICAgICAgICYucmVsYXRlZC1mbHkge1xuICAgICAgICAgICAgICAgICAgJjpub3QoLmhhcy1pbWFnZSkge1xuICAgICAgICAgICAgICAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICYubm9uLW1hdGNoIHtcbiAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAuYm94Lm9wZW4ubm9uLW1hdGNoIHtcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogXG4gICAgICAgICAgICAgICBsZWZ0ICRmbHlEdXIgJGZseUJlemllcixcbiAgICAgICAgICAgICAgIHRvcCAkZmx5RHVyICRmbHlCZXppZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAvLyB9XG5cbiAgICAgICAgIC5ib3g6bm90KC5vcGVuKSB7XG4gICAgICAgICAgICAmLmhhcy1pbWFnZSB7XG4gICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxNWVtO1xuICAgICAgICAgICAgICAgLy8gbWluLXdpZHRoOiAyMGVtO1xuICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDJweDtcbiAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgLnRpdGxlLFxuICAgICAgICAgICAgICAgLmJveC1tZXRhIHtcbiAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgMjAwbXM7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgICBib3R0b206IGNhbGMoMTAwJSAtIC41cmVtKTtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgLmJveC1tZXRhIHtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDc1JTtcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgIC5zdGF0dXMge1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyO1xuICAgICAgICAgICAgICAgICAganVzdGlmeS1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMjBlbTtcbiAgICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIGZpZ2NhcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAxcmVtIDAgMmVtIDAuNWVtIGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkcztcbiAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEyZW07XG4gICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogLjVyZW07XG4gICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgIHRvcDogLS41cmVtO1xuICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSA5MDBtcyA1MDBtcztcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgJi5ob3ZlcmluZyxcbiAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgLnRpdGxlLFxuICAgICAgICAgICAgICAgICAgLmJveC1tZXRhIHtcbiAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICYucmVsYXRlZC1mbHkge1xuICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgICAvLyB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgICAgLy8gICAgYm9yZGVyLWNvbG9yICRmbHksXG4gICAgICAgICAgICAgICAvLyAgICB0b3AgJGZseSxcbiAgICAgICAgICAgICAgIC8vICAgIGxlZnQgJGZseSxcbiAgICAgICAgICAgICAgIC8vICAgIHRyYW5zZm9ybSA0MDBtcyxcbiAgICAgICAgICAgICAgIC8vICAgIG9wYWNpdHkgNDAwbXMgMTBtcztcbiAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgJjpub3QoLnJlbGF0ZWQpIHtcbiAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG5cbiAgICZbZGF0YS12aWV3LWFzPVwidGV4dFwiXSB7XG4gICAgICAuYm94ZXMtaW5uZXIge1xuICAgICAgICAgLmJveDpub3QoLm9wZW4pIHtcbiAgICAgICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7XG4gICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG59XG5cbm1haW4ge1xuICAgJi5udGgtYWN0LTEge1xuICAgICAgLmJveGVzOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICAuYm94ZXM6bnRoLWNoaWxkKDIpIHsgXG4gICAgICAgICB0cmFuc2Zvcm06ICRiYXNpY1RyYW5zZm9ybSB0cmFuc2xhdGVaKCRib3hEaXN0KjEpO1xuICAgICAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAoJHN0YWNrSGVpZ2h0ICogNCksICgkYm94RGlzdCoxKSkgcm90YXRlM2QoMy40LCAtMC4xLCAwLCAkZGVnKTtcbiAgICAgICAgIC5ib3gge1xuICAgICAgICAgICAgb3BhY2l0eTogMC4xOyBcbiAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmJveGVzOm50aC1jaGlsZCgzKSB7IFxuICAgICAgICAgdHJhbnNmb3JtOiAkYmFzaWNUcmFuc2Zvcm0gdHJhbnNsYXRlWigkYm94RGlzdCoyKTtcbiAgICAgICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgKCRzdGFja0hlaWdodCAqIDUuNSksICgkYm94RGlzdCozKSkgcm90YXRlM2QoMy40LCAtMC4xLCAwLCAkZGVnKTtcbiAgICAgICAgIC5ib3gge1xuICAgICAgICAgICAgb3BhY2l0eTogMC4xO1xuICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYm94ZXM6bnRoLWNoaWxkKDQpIHsgXG4gICAgICAgICB0cmFuc2Zvcm06ICRiYXNpY1RyYW5zZm9ybSB0cmFuc2xhdGVaKCRib3hEaXN0KjMpO1xuICAgICAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAoJHN0YWNrSGVpZ2h0ICogNyksICgkYm94RGlzdCo2KSkgcm90YXRlM2QoMy40LCAtMC4xLCAwLCAkZGVnKTtcbiAgICAgICAgIC5ib3gge1xuICAgICAgICAgICAgb3BhY2l0eTogMC4xO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuICAgXG4gICAmLm50aC1hY3QtMiB7XG4gICAgICAuYm94ZXM6bnRoLWNoaWxkKDEpIHsgXG4gICAgICAgICB0cmFuc2Zvcm06ICRiYXNpY1RyYW5zZm9ybSB0cmFuc2xhdGVaKCRib3hEaXN0Ki0xKTtcbiAgICAgICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgKCRzdGFja0hlaWdodCAqIDEpLCAoJGJveERpc3QqLTMpKSByb3RhdGUzZCgzLjQsIC0wLjEsIDAsICRkZWcpO1xuICAgICAgICAgLmJveCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICB9XG4gICAgICB9XG4gICAgICAuYm94ZXM6bnRoLWNoaWxkKDIpIHsgb3BhY2l0eTogMTsgfVxuXG4gICAgICAuYm94ZXM6bnRoLWNoaWxkKDMpIHsgXG4gICAgICAgICB0cmFuc2Zvcm06ICRiYXNpY1RyYW5zZm9ybSB0cmFuc2xhdGVaKCRib3hEaXN0KjEpO1xuICAgICAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAoJHN0YWNrSGVpZ2h0ICogNCksICgkYm94RGlzdCoxKSkgcm90YXRlM2QoMy40LCAtMC4xLCAwLCAkZGVnKTtcbiAgICAgICAgIC5ib3gge1xuICAgICAgICAgICAgb3BhY2l0eTogMC4xO1xuICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYm94ZXM6bnRoLWNoaWxkKDQpIHsgXG4gICAgICAgICB0cmFuc2Zvcm06ICRiYXNpY1RyYW5zZm9ybSB0cmFuc2xhdGVaKCRib3hEaXN0KjIpO1xuICAgICAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAoJHN0YWNrSGVpZ2h0ICogNS41KSwgKCRib3hEaXN0KjMpKSByb3RhdGUzZCgzLjQsIC0wLjEsIDAsICRkZWcpO1xuICAgICAgICAgLmJveCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjE7XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG4gICBcbiAgICYubnRoLWFjdC0zIHtcbiAgICAgIC5ib3hlczpudGgtY2hpbGQoMSkgeyBcbiAgICAgICAgIHRyYW5zZm9ybTogJGJhc2ljVHJhbnNmb3JtIHRyYW5zbGF0ZVooJGJveERpc3QqLTIpO1xuICAgICAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAoJHN0YWNrSGVpZ2h0ICogLTEuNSksICgkYm94RGlzdCotNikpIHJvdGF0ZTNkKDMuNCwgLTAuMSwgMCwgJGRlZyk7XG4gICAgICAgICAuYm94IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5ib3hlczpudGgtY2hpbGQoMikgeyBcbiAgICAgICAgIHRyYW5zZm9ybTogJGJhc2ljVHJhbnNmb3JtIHRyYW5zbGF0ZVooJGJveERpc3QqLTEpO1xuICAgICAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAoJHN0YWNrSGVpZ2h0ICogMSksICgkYm94RGlzdCotMykpIHJvdGF0ZTNkKDMuNCwgLTAuMSwgMCwgJGRlZyk7XG4gICAgICAgICAuYm94IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5ib3hlczpudGgtY2hpbGQoMykgeyBvcGFjaXR5OiAxOyB9XG5cbiAgICAgIC5ib3hlczpudGgtY2hpbGQoNCkgeyBcbiAgICAgICAgIHRyYW5zZm9ybTogJGJhc2ljVHJhbnNmb3JtIHRyYW5zbGF0ZVooJGJveERpc3QqMSk7XG4gICAgICAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsICgkc3RhY2tIZWlnaHQgKiA0KSwgKCRib3hEaXN0KjEpKSByb3RhdGUzZCgzLjQsIC0wLjEsIDAsICRkZWcpO1xuICAgICAgICAgLmJveCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuICAgXG4gICAmLm50aC1hY3QtNCB7XG4gICAgICAuYm94ZXM6bnRoLWNoaWxkKDEpIHsgXG4gICAgICAgICB0cmFuc2Zvcm06ICRiYXNpY1RyYW5zZm9ybSB0cmFuc2xhdGVaKCRib3hEaXN0Ki0zKTtcbiAgICAgICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgKCRzdGFja0hlaWdodCAqIC0zKSwgKCRib3hEaXN0Ki0xMikpIHJvdGF0ZTNkKDMuNCwgLTAuMSwgMCwgJGRlZyk7XG4gICAgICAgICAuYm94IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5ib3hlczpudGgtY2hpbGQoMikgeyBcbiAgICAgICAgIHRyYW5zZm9ybTogJGJhc2ljVHJhbnNmb3JtIHRyYW5zbGF0ZVooJGJveERpc3QqLTIpO1xuICAgICAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAoJHN0YWNrSGVpZ2h0ICogLTEuNSksICgkYm94RGlzdCotNikpIHJvdGF0ZTNkKDMuNCwgLTAuMSwgMCwgJGRlZyk7XG4gICAgICAgICAuYm94IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5ib3hlczpudGgtY2hpbGQoMykgeyBcbiAgICAgICAgIHRyYW5zZm9ybTogJGJhc2ljVHJhbnNmb3JtIHRyYW5zbGF0ZVooJGJveERpc3QqLTEpO1xuICAgICAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAoJHN0YWNrSGVpZ2h0ICogMSksICgkYm94RGlzdCotMykpIHJvdGF0ZTNkKDMuNCwgLTAuMSwgMCwgJGRlZyk7XG4gICAgICAgICAuYm94IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5ib3hlczpudGgtY2hpbGQoNCkgeyBvcGFjaXR5OiAxOyB9XG4gICB9XG59XG5cblxuLmJveC5ub24tbWF0Y2gge1xuICAgb3BhY2l0eTogMC4zICFpbXBvcnRhbnQ7XG4gICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmJveFtkYXRhLXJlbGF0ZWRzXTpub3QoLm9wZW4pIHtcbiAgICY6bm90KFtzdHlsZSo9XCJkaXNwbGF5OiBub25lXCJdKXtcbiAgICAgICYucmVsYXRlZCxcbiAgICAgICYucmVsYXRlZC1mbHkge1xuICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgICBtaW4td2lkdGg6IDhlbTtcblxuICAgICAgICAgJltkYXRhLXByb3hpbT1cIjBcIl0ge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTBlbTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTZlbTtcbiAgICAgICAgIH1cblxuICAgICAgICAgJltkYXRhLXByb3hpbT1cIjFcIl0ge1xuICAgICAgICAgICAgZm9udC1zaXplOiA5MCU7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA5ZW07XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEyZW07XG4gICAgICAgICB9XG5cbiAgICAgICAgICZbZGF0YS1wcm94aW09XCIyXCJdIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgICAgICAgICAgbWluLWhlaWdodDogNmVtO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxM2VtO1xuICAgICAgICAgfVxuXG4gICAgICAgICAmW2RhdGEtcHJveGltPVwiM1wiXSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDcwJTtcbiAgICAgICAgIH1cblxuICAgICAgICAgJltkYXRhLXByb3hpbT1cIjRcIl0sXG4gICAgICAgICAmW2RhdGEtcHJveGltPVwiTmFOXCJdIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNjAlO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuXG4gICAmW2RhdGEtcmVsYXRlZHM9XCIxXCJdLFxuICAgJltkYXRhLXJlbGF0ZWRzPVwiMlwiXSxcbiAgICZbZGF0YS1yZWxhdGVkcz1cIjNcIl0ge1xuICAgICAgbWF4LXdpZHRoOiA4ZW0gIWltcG9ydGFudDtcbiAgICAgIG1pbi13aWR0aDogOGVtO1xuICAgICAgXG4gICAgICAudGl0bGUge1xuICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgfVxuICAgICAgXG4gICAgICAuYm94LW1ldGEge1xuICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICB9XG4gICB9XG4gICBcbiAgICZbZGF0YS1yZWxhdGVkcz1cIjRcIl0sXG4gICAmW2RhdGEtcmVsYXRlZHM9XCI1XCJdLFxuICAgJltkYXRhLXJlbGF0ZWRzPVwiNlwiXSxcbiAgICZbZGF0YS1yZWxhdGVkcz1cIjdcIl0ge1xuICAgICAgbWF4LXdpZHRoOiAxMmVtICFpbXBvcnRhbnQ7XG4gICAgICBtaW4td2lkdGg6IDEyZW07XG4gICAgICAvLyAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDJweCk7XG4gICAgICBcbiAgICAgIC5ib3gtbWV0YSB7XG4gICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgIH1cbiAgIH1cbiAgIFxuICAgJltkYXRhLXJlbGF0ZWRzPVwiNlwiXSxcbiAgICZbZGF0YS1yZWxhdGVkcz1cIjdcIl0ge1xuICAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDNweCk7XG4gICB9XG4gICBcbiAgICZbZGF0YS1yZWxhdGVkcz1cIjhcIl0sXG4gICAmW2RhdGEtcmVsYXRlZHM9XCI5XCJdLFxuICAgJltkYXRhLXJlbGF0ZWRzPVwiMTBcIl0sXG4gICAmW2RhdGEtcmVsYXRlZHM9XCIxMVwiXSxcbiAgICZbZGF0YS1yZWxhdGVkcz1cIjEyXCJdLFxuICAgJltkYXRhLXJlbGF0ZWRzPVwiMTNcIl0ge1xuICAgICAgJjpub3QoW3N0eWxlKj1cImRpc3BsYXk6IG5vbmVcIl0pe1xuICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIG1pbi1oZWlnaHQ6IDE2ZW07XG4gICAgICBtaW4td2lkdGg6IDE2ZW07XG4gICAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMTBweCk7XG4gICAgICBcbiAgICAgIGZpZ3VyZSxcbiAgICAgIC52aWRlb3RodW1iIHtcbiAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOyBcbiAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAganVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xuICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgIG1heC1oZWlnaHQ6IDVyZW07XG4gICAgICAgICBcbiAgICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA3cmVtO1xuICAgICAgICAgICAgbWluLXdpZHRoOiA3cmVtO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXIgIWltcG9ydGFudDtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbn1cblxuLmxpdCB7XG4gICAuYm94LWJhY2tkcm9wIHtcbiAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgfVxufSIsIiRmbHlCZXppZXI6IGN1YmljLWJlemllcigwLjAyLCAwLjk0LCAwLjU4LCAxKTtcbiRmbHlEZWxheTogMG1zO1xuJGZseUR1cjogMTEwMG1zO1xuJGZseTogJGZseUR1ciAkZmx5RGVsYXkgJGZseUJlemllcjtcblxuLmJveCB7XG4gICBkaXNwbGF5OiBncmlkO1xuICAgZ2FwOiAxcmVtO1xuICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMzMuMzMlO1xuICAgXG4gICAvKlxuICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDAuMXB4KTtcbiAgICovXG5cbiAgICY6bm90KC5vcGVuKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAzcmVtO1xuXG4gICAgICAuYXJ0d29yay10eXBlLFxuICAgICAgLmNyZWF0b3JzIHtcbiAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICB9XG5cbiAgIC55ZWFyIHtcbiAgICAgIC5hcnR3b3JrLXR5cGUge1xuICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiLCBcIjtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbiAgIFxuICAgaDMudGl0bGUge1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7XG4gICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcbiAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDE1ZW07XG4gICB9XG4gICBcbiAgICYtbWV0YSB7XG4gICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcbiAgICAgIGdyaWQtcm93OiAyO1xuICAgfVxuXG4gICBzdmcge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgIH1cbn1cblxuLmJveCB7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XG4gICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgbWF4LWhlaWdodDogMTZlbTtcbiAgIG1heC13aWR0aDogMTZlbTtcbiAgIG1pbi13aWR0aDogMTJlbTtcbiAgIHBhZGRpbmc6IDFyZW07XG4gICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcztcbiAgIHdpbGwtY2hhbmdlOiB0b3AsIGxlZnQsIHRyYW5zZm9ybSwgd2lkdGgsIG1heC1oZWlnaHQsIG9wYWNpdHk7XG5cbiAgICYudW5pbXBvcnRhbnQge1xuICAgICAgJjpub3QoLm9wZW4pIHtcbiAgICAgICAgIGJvcmRlci1jb2xvcjogJGJyb3duO1xuICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG5cbiAgICAgICAgICYuc2hvdyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuXG4gICAmLm5vLXJlbCB7XG4gICAgICBib3JkZXItY29sb3I6ICM0NzQ3NDcgIWltcG9ydGFudDtcblxuICAgICAgLnN0YXR1cyB7XG4gICAgICAgICBvcGFjaXR5OiAwLjMzO1xuICAgICAgfVxuICAgfVxuXG4gICAmLmhhcy1yZWw6bm90KC5uby1yZWwpOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICAgIGJvdHRvbTogM3B4O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogM3B4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRyYW5zaXRpb246IHdpZHRoIDUwMG1zIGVhc2Utb3V0O1xuICAgICAgd2lkdGg6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgfVxuICAgXG4gICAmLmhhcy1yZWw6bm90KC5uby1yZWwpLm9wZW46OmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiB3aWR0aCAyMG1zIGxpbmVhcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgfVxuXG4gICAmOm5vdCgub3BlbikuaG92ZXJpbmcge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICB9XG5cbiAgICYuaG92ZXJpbmcub3Blbjo6YWZ0ZXIge1xuICAgICAgdHJhbnNpdGlvbjogd2lkdGggMjBtcyBsaW5lYXI7XG4gICB9XG5cbiAgICYuaGFzLXJlbDpub3QoLm5vLXJlbCwgLm9wZW4sIC5uby1ob3Zlcik6aG92ZXIge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMTUwMG1zIGxpbmVhcjtcbiAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgfVxuXG4gICBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgfVxuXG4gICAuc3RhdHVzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmb250LXNpemU6IC41ZW07XG4gICAgICBnYXA6IC4yNXJlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAzZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMC4yNXJlbTtcbiAgICAgIHRvcDogMC4yNXJlbTtcblxuICAgICAgJiA+IGkge1xuICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAmLmRlc2Mge1xuICAgICAgICAgfVxuXG4gICAgICAgICAmLmRlc2Mge1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuXG4gICAuY3JlYXRvcnMge1xuICAgICAgc3Bhbi5zb3VyY2UtYXV0aG9yOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgICAgIGNvbnRlbnQ6IFwiLCBcIjtcbiAgICAgIH1cbiAgIH1cblxuICAgLmNsb3NlIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQgY2FsYyg1MCUgLSAxcHgpLCB3aGl0ZSA1MCUsIHRyYW5zcGFyZW50IGNhbGMoNTAlICsgMXB4KSksIGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHRyYW5zcGFyZW50IGNhbGMoNTAlIC0gMXB4KSwgd2hpdGUgNTAlLCB0cmFuc3BhcmVudCBjYWxjKDUwJSArIDFweCkpO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICB0b3A6IDFyZW07XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIHdpZHRoOiAzcmVtO1xuICAgfVxuXG4gICAmLm9wZW4ge1xuICAgICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICBtYXgtaGVpZ2h0OiAzMGVtO1xuICAgICAgbWF4LWhlaWdodDogNzB2aDtcbiAgICAgIG1heC13aWR0aDogNjB2dztcbiAgICAgIG1pbi1oZWlnaHQ6IDVyZW07XG4gICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgdHJhbnNpdGlvbjogXG4gICAgICAgICB0cmFuc2Zvcm0gJG9wZW5EdXIgJGN1YmljLFxuICAgICAgICAgbGVmdCAkb3BlbkR1ciAkY3ViaWMsXG4gICAgICAgICB0b3AgJG9wZW5EdXIgJGN1YmljLFxuICAgICAgICAgd2lkdGggJG9wZW5EdXIgJGN1YmljLFxuICAgICAgICAgbWF4LWhlaWdodCAkb3BlbkR1ciAkY3ViaWNcbiAgICAgICAgICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogNjB2dyAhaW1wb3J0YW50O1xuICAgICAgei1pbmRleDogMztcblxuICAgICAgJiwgKiB7XG4gICAgICAgICBjdXJzb3I6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICAgY3Vyc29yOiB0ZXh0ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIC5jb250cmlidXRlZC5ieSB7XG4gICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgICBsZWZ0OiBjYWxjKDY2LjY2JSAtIDAuNXJlbSk7XG4gICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICB0b3A6IDFyZW07XG5cbiAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBhdHRyKGNsYXNzKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICB9XG5cbiAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6ICRzO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLjI1cmVtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLjI1cmVtO1xuICAgICAgICAgfVxuXG4gICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkcztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC4yNXJlbTtcbiAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpub3QoLmhhcy1pbWFnZSkge1xuICAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaGFzLWltYWdlIHtcbiAgICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgICBmaWx0ZXI6IG5vbmU7XG4gICAgICAgICAgICBncmlkLXJvdzogMy9zcGFuIDE7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA4MHZoO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICRvcGVuRHVyLCBwYWRkaW5nICRvcGVuRHVyIDMyMG1zLCBmaWx0ZXIgMzAwbXM7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgZmlnY2FwdGlvbiB7XG4gICAgICAgICAgICAgICBmb250LXNpemU6ICRzO1xuICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAmIH4gLmJveC1tZXRhIHtcbiAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC43MjVyZW07XG4gICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXJnaW4gJG9wZW5EdXIqMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLnZpZGVvdGh1bWIge1xuICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zMyk7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC50aXRsZSB7XG4gICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgfVxuXG4gICAgICAuYm94LW1ldGEge1xuICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0cmVtKTtcbiAgICAgIH1cblxuICAgICAgLnN0YXR1cyB7XG4gICAgICAgICBmb250LXNpemU6IC43MjVyZW07XG4gICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xuICAgICAgICAgcGFkZGluZy10b3A6IDAuNzVyZW07XG4gICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgIHJpZ2h0OiBjYWxjKDMzLjMzJSArIDMuNXJlbSk7XG4gICAgICB9XG4gICAgICBcbiAgICAgIC5jbG9zZSB7XG4gICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMjBtcywgdHJhbnNmb3JtICRvcGVuRHVyIDUwMG1zO1xuXG4gICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuXG4gICAmLnJlbGF0ZWQge1xuICAgICAgYm9yZGVyLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgIG1pbi1oZWlnaHQ6IDhlbTtcbiAgICAgIG1pbi13aWR0aDogMTJlbTtcbiAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICB0cmFuc2l0aW9uOiBcbiAgICAgICAgIGxlZnQgJGZseUR1ciAkZmx5QmV6aWVyLFxuICAgICAgICAgdG9wICRmbHlEdXIgJGZseUJlemllcjtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBcbiAgICAgICZbZGF0YS1wcm94aW09XCI1XCJdIHtcbiAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgNTAlO1xuICAgICAgfVxuXG4gICAgICAmW2RhdGEtcHJveGltPVwiNFwiXSB7XG4gICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgJltkYXRhLXByb3hpbT1cIjNcIl0ge1xuICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCA1MCU7XG4gICAgICB9XG4gICAgICBcbiAgICAgICZbZGF0YS1wcm94aW09XCIyXCJdIHtcbiAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgNTAlO1xuICAgICAgfVxuICAgICAgXG4gICAgICAmW2RhdGEtcHJveGltPVwiMVwiXSB7XG4gICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgJltkYXRhLXByb3hpbT1cIjBcIl0ge1xuICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCA1MCU7XG4gICAgICB9XG4gICB9XG5cblxuICAgLmJveC0tbWFpbixcbiAgIC5ib3gtLWFzaWRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBsaW5lLWhlaWdodDogMS4zNzU7XG4gICB9XG5cbiAgICYgPiAqIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICB9XG5cbiAgICY6bm90KC5vcGVuKSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgIC50aXRsZSB7XG4gICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgbWluLWhlaWdodDogM3JlbTtcbiAgICAgIH1cblxuICAgICAgLmNvbnRyaWJ1dGVkLmJ5IHtcbiAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICB9XG5cbiAgICYuaG92ZXJpbmc6bm90KC5vcGVuKSB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgfVxuXG4gICAmOm5vdCgub3Blbik6aG92ZXIge1xuICAgICAgdGV4dC1zaGFkb3c6IDAgMCAxZW0gYmxhY2s7XG4gICAgICB6LWluZGV4OiAzO1xuXG4gICAgICBmaWd1cmUge1xuICAgICAgICAgZmlsdGVyOiBub25lO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgIH1cblxuICAgaDMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICB9XG5cbiAgIC5hdXRob3JzIHtcbiAgICAgIEBpbmNsdWRlIHRpbnk7XG5cbiAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgIH1cblxuICAgZmlndXJlIHtcbiAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEpIGNvbnRyYXN0KDAuOSk7XG4gICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiAyO1xuICAgICAganVzdGlmeS1zZWxmOiBmbGV4LWVuZDtcbiAgICAgIG1heC1oZWlnaHQ6IDNyZW07XG4gICAgICByaWdodDogMXJlbTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAkb3BlbkR1ciwgcGFkZGluZyAkb3BlbkR1ciAzMjBtcywgZmlsdGVyIDMwMG1zO1xuICAgICAgd2lkdGg6IDNyZW07XG4gICAgIFxuICAgICBpbWcge1xuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgIFxuICAgICAgJiArIC50aXRsZSB7XG4gICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJG9wZW5EdXIqMjtcbiAgICAgIH1cbiAgIH1cblxuICAgLmVtYmVkIHtcbiAgICAgIGJhY2tncm91bmQ6ICMyOTI5Mjk7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAucGxheWVydGh1bWIge1xuICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICB9XG4gICAgICBcbiAgICAgIC5wbGF5ZXJ0aHVtYixcbiAgICAgIGlmcmFtZSB7XG4gICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIGlmcmFtZSB7XG4gICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgfVxuICAgfVxuXG4gICAuYm94LS1tYWluIHtcbiAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgZ3JpZC1yb3c6IDMvc3BhbiAzO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1JTtcbiAgIH1cblxuICAgJi5oYXMtaW1hZ2UgZmlndXJlIH4gLmJveC0tYXNpZGUge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gICB9XG5cblxuICAgLmJveC0tYXNpZGUsXG4gICBmaWd1cmUge1xuICAgICAgJjpoYXMofiAuY29udHJpYnV0ZWQuYnkpIHtcbiAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICAgIH1cbiAgIH1cblxuICAgLmJveC0tYXNpZGUge1xuICAgICAgZm9udC1zaXplOiAkcztcbiAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgcGFkZGluZy10b3A6IC4yNXJlbTtcbiAgICAgIFxuICAgICAgJjplbXB0eSB7XG4gICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgfVxuICAgICAgXG4gICAgICBzcGFuLmZldGNodXJsIHtcbiAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcztcbiAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubG9hZCB7XG4gICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogc3BpbiAxLjRzIGluZmluaXRlO1xuICAgICAgICAgICAgYm9yZGVyOiA0cHggZG90dGVkO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBlbTtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDFyZW07XG4gICAgICAgICB9XG5cbiAgICAgICAgIHNwYW4uZmV0Y2h1cmwge1xuICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IDJlbTtcbiAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnJtIHtcbiAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgJiA+IGRpdiB7XG4gICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgIH1cbiAgICAgICAgIFxuICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IGF0dHIoY2xhc3MpO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuNWVtO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgIH1cblxuICAgICAgICAgJiA+ICoge1xuICAgICAgICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLjVlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgICAgICB9XG4gICAgICB9XG4gICAgICBcbiAgICAgIC5saW5rcyB7XG4gICAgICAgICBhIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICBjb250ZW50OiBcIuKAolwiO1xuICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogLjVlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnJlZmVyZW5jZXMge1xuICAgICAgICAgZW0ge1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgfVxuXG4gICAgICAgICAucmVmLWRvaS1pc2JuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuXG4gICAuYm94LW1ldGEge1xuICAgICAgQGluY2x1ZGUgdGlueTtcblxuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICB9XG59XG5cbi56b29tLWltYWdlLWNvbnRhaW5lciB7XG4gICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCk7XG4gICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgZGlzcGxheTogZmxleDtcbiAgIGhlaWdodDogMTAwdmg7XG4gICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgIHBhZGRpbmc6IDV2aCA1dnc7XG4gICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTIwbXM7XG4gICB3aWR0aDogMTAwdnc7XG4gICB6LWluZGV4OiAxMDtcblxuICAgJi5vdXQge1xuICAgICAgb3BhY2l0eTogMDtcbiAgIH1cbn1cblxuaW1nLnpvb20taW1hZ2Uge1xuICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAmW3NyYyo9XCIuc3ZnXCJdIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgfVxufSIsIi5ib3gtb3BlbiB+IC5mb290ZXIge1xuICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAxMDAlLCAwKTtcbiAgIHRyYW5zaXRpb24tZGVsYXk6IDBtcztcbn1cblxuLmZvb3RlciB7XG4gICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KSBicmlnaHRuZXNzKDAuNik7XG4gICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCAwIDAgLyA5MCUpO1xuICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICBib3JkZXItcmFkaXVzOiAuNXJlbTtcbiAgIGJvdHRvbTogLjI1cmVtO1xuICAgLy8gYm94LXNoYWRvdzogMCAwIDJlbSAxZW0gYmxhY2s7XG4gICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgZGlzcGxheTogZmxleDtcbiAgIGZvbnQtc2l6ZTogJHM7XG4gICBnYXA6IDFyZW07XG4gICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgIGxlZnQ6IDUwJTtcbiAgIC8vIG92ZXJmbG93OiBoaWRkZW47XG4gICBwYWRkaW5nOiAwLjVyZW07XG4gICBwb3NpdGlvbjogZml4ZWQ7XG4gICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTIwMG1zIDQwMG1zICRsb25nO1xuXG4gICBAbWVkaWEgKHdpZHRoIDw9IDExODBweCkge1xuICAgICAgZm9udC1zaXplOiAxdnc7XG4gICAgICAvLyBnYXA6IDElO1xuICAgfVxuXG4gICAmID4gbGFiZWwge1xuICAgICAgQGluY2x1ZGUgdGlueTtcblxuICAgICAgZm9udC1zaXplOiAuNzVlbTtcbiAgICAgIGxlZnQ6IC41NXJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLjVyZW07XG4gICB9XG5cbiAgICY6bm90KC5pbikge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAxMjAlLCAwKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSA5MDBtcyAwbXMgJGN1YmljO1xuICAgfVxuXG4gICAmLS12aWV3LFxuICAgJi0tY2F0cyxcbiAgICYtLXNlYXJjaCxcbiAgICYtLWZpbHRlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAvLyB0ZXh0LXNoYWRvdzogXG4gICAgICAvLyAgICAwIDAgMTJweCAkYmxhY2ssXG4gICAgICAvLyAgICAwIDAgMTZweCAkYmxhY2ssXG4gICAgICAvLyAgICAwIDAgMTZweCAkYmxhY2ssXG4gICAgICAvLyAgICAwIDAgMTBweCAkYmxhY2ssXG4gICAgICAvLyAgICAwIDAgMTBweCAkYmxhY2s7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW5wdXQge1xuICAgICAgICAgLy8gYm94LXNoYWRvdzogLTFweCAwIDEwcHggM3B4ICRibGFjaztcblxuICAgICAgICAgJlt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRzO1xuICAgICAgICAgfVxuXG4gICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBjb2xvcjogIzdiN2I3YjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHM7XG4gICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYgPiBsYWJlbDpub3QoLmh5cGVyKSB7XG4gICAgICAgICBAaW5jbHVkZSB0aW55O1xuXG4gICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgZm9udC1zaXplOiAuNzVlbTtcbiAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgfVxuICAgfVxuXG4gICAuaHlwZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgI2M5ZTRmZjtcbiAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNmYWM4YzgsICNjOWU0ZmYpO1xuICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuXG4gICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgIHdpZHRoOiA3cHg7XG4gICAgICAgICBcbiAgICAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cblxuICAgLnRvZ2dsZS11bmltcG9ydGFudCB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgY29udGVudDogXCLimJ1cIjtcbiAgICAgIH1cblxuICAgICAgJi5vbiB7XG4gICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCLwn5aQXCI7XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG5cbiAgIG5hdi5jYXRzIHtcbiAgICAgIGhlaWdodDogMy41MjVlbTtcbiAgICAgIHdpZHRoOiA1LjVlbTtcbiAgIH1cbiAgIFxuICAgLnN0YWNrZWQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IDEuNnB4IDA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICAgIFxuICAgICAgbGFiZWwge1xuICAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgICAgIGhlaWdodDogN3B4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB3aWR0aDogN3B4O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICBcbiAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi50aGVtZS1zZWxlY3Qge1xuICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgIC8vIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvO1xuICAgICAgfVxuICAgXG4gICAgICAvKlxuICAgICAgYSB7XG4gICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICBwYWRkaW5nOiAuNXJlbSAxcmVtO1xuICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xuICAgXG4gICAgICAgICAmLmN1ciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgIH1cbiAgIFxuICAgICAgICAgJjpoYXMofiAuY3VyKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNlbSkgcm90YXRlWCgzMGRlZykgdHJhbnNsYXRlWigtNXB4KTtcbiAgICAgICAgIH1cbiAgIFxuICAgICAgICAgJjpoYXMoKyAuY3VyKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEuNzVlbSkgcm90YXRlWCgyMGRlZykgdHJhbnNsYXRlWigtNXB4KTtcbiAgIFxuICAgICAgICAgICAgJiArIC5jdXIgKyBhIHtcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxLjhlbSkgcm90YXRlWCgtMjBkZWcpIHRyYW5zbGF0ZVooLTVweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICBcbiAgICAgICAgICYuY3VyIHtcbiAgICAgICAgICAgICYgfiAqOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMS43NWVtKSByb3RhdGVYKC0yMGRlZykgdHJhbnNsYXRlWigtNXB4KTtcbiAgICAgICAgICAgIH1cbiAgIFxuICAgICAgICAgICAgJiB+ICo6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzZW0pIHJvdGF0ZVgoLTMwZGVnKSB0cmFuc2xhdGVaKC01cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgfVxuICAgICAgKi9cbiAgIH1cblxuICAgLnJlc2V0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtLjVyZW07XG4gICB9XG5cbiAgIFtkYXRhLXRoZW1lPVwiQUkgYW5kIERhdGFcIl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgIH1cblxuICAgJi0tbWF0Y2hlcyB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweCA4cHggMCAwO1xuICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGdhcDogMC44cmVtO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbSAuNXJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCA0MDBtcyAkY3ViaWM7XG4gICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgJi0tY3VyLCBcbiAgICAgICYtLWNvdW50IHtcbiAgICAgICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gICAgICB9XG4gICAgICBcbiAgICAgICYtLW5hdiB7XG4gICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgIFxuICAgICAgICAgJi1wcmV2LFxuICAgICAgICAgJi1uZXh0IHtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgb3BhY2l0eTogLjc1O1xuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgICAgXG4gICAgICAgICAmLXByZXYge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4IDAgMCA4cHg7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGk6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICBjb250ZW50OiBcIuKXgFwiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgICAgXG4gICAgICAgICAmLW5leHQge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCA4cHggOHB4IDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwi4pa2XCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3V0IHtcbiAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDFyZW0pO1xuICAgICAgfVxuICAgfVxufSIsIi5sb2cge1xuICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICBib3gtc2hhZG93OiAwIDAgM2VtIDFlbSAkYmxhY2s7XG4gICBmb250LXNpemU6ICRzO1xuICAgLy8gaGVpZ2h0OiAyLjI1cmVtO1xuICAgbGVmdDogLjI1cmVtO1xuICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgIHJpZ2h0OiA2cmVtO1xuICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgIHRvcDogLjI1cmVtO1xuICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE1MDBtcyAkbGF6eTtcbiAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICY6bm90KC5pbikge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMzAlKTtcbiAgIH1cblxuICAgJi13cmFwIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIC8vIGhlaWdodDogMy4zNXJlbTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICAgcGFkZGluZzogMC4yNXJlbSAycmVtIDAuMjVyZW0gMDtcbiAgICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCBjYWxjKDEwMCUgLSA1cmVtKSwgYmxhY2sgY2FsYygxMDAlIC0gMnJlbSkpO1xuICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgIGluc2V0OiBjYWxjKDAuNXJlbSArIDFweCkgY2FsYyg2cmVtICsgMXB4KSBjYWxjKDEwMCUgLSAyLjVyZW0pIGNhbGMoMC41cmVtICsgMXB4KTtcbiAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgei1pbmRleDogMTtcbiAgICAgIH1cbiAgIH1cblxuICAgJi0tdGl0bGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAuNnJlbSAwLjJyZW0gJGJsYWNrO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogLjVyZW07XG4gICAgICBwYWRkaW5nOiAuNXJlbSAuMjVyZW0gLjVyZW0gLjc1cmVtO1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgIH1cblxuICAgJi0tY29udGVudCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgLy8gcGFkZGluZy1yaWdodDogMnJlbTtcblxuICAgICAgLmxvZy0taXRlbSB7XG4gICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnRpemUoJHdoaXRlLCAuNSk7XG4gICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgIC8vIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgICAgICAgLy8gcGFkZGluZzogM3B4IDVweCAycHg7XG4gICAgICAgICAvLyBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgIC8vIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgICAgICAvLyBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgICB0cmFuc2l0aW9uOiBtYXJnaW4gODAwbXMsIGNvbG9yIDIwMG1zO1xuXG4gICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudGl6ZSgkd2hpdGUsIC41KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICN7YXR0cihkYXRhLWlkeCl9ICcgJztcbiAgICAgICAgIH1cblxuICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAvLyBtYXJnaW4tbGVmdDogLjU7XG4gICAgICAgICB9XG5cbiAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgICAgICAgfVxuXG4gICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgY29udGVudDogXCLigJRcIjtcbiAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgLjVlbTtcbiAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDIwMG1zIDUwbXM7XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG5cbiAgICAgICAgIGVtIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdHJhbnNwYXJlbnQgY2FsYyg1MCUgLSAxcHgpLCB3aGl0ZSA1MCUsIHRyYW5zcGFyZW50IGNhbGMoNTAlICsgMXB4KSksIGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHRyYW5zcGFyZW50IGNhbGMoNTAlIC0gMXB4KSwgd2hpdGUgNTAlLCB0cmFuc3BhcmVudCBjYWxjKDUwJSArIDFweCkpO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAuN2VtO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG4gICAgICAgICAgICB3aWR0aDogLjdlbTtcbiAgICAgICAgIH1cblxuICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBlbSB7XG4gICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLjVlbTtcbiAgICAgICAgICAgICAgIG1heC13aWR0aDogLjdlbTtcblxuICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNTtcbiAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbiAgIFxuICAgYnV0dG9uLmxvZy0tZG93bmxvYWQge1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBtYXJnaW46IGF1dG8gLjVyZW0gYXV0byBhdXRvO1xuICAgICAgcGFkZGluZzogNHB4IDhweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zO1xuICAgICAgei1pbmRleDogMjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICBib3JkZXItY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICB9XG4gICB9XG5cbiAgICYtLXBhZ2VzIHtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XG4gICAgICAvLyBkaXNwbGF5OiBub25lO1xuICAgICAgLy8gaW5zZXQ6IDJyZW07XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgIC8vIHBhZGRpbmc6IDJyZW07XG4gICAgICAvLyBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICBcbiAgICAgICYuc2hvdyB7XG4gICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgIFxuICAgICAgLmJveCB7XG4gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgIGJvcmRlci1jb2xvcjogYmxhY2s7XG4gICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICBtYXJnaW4tbGVmdDogMXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKSAhaW1wb3J0YW50O1xuICAgICAgICAgXG4gICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICB9XG4gICAgICAgICBcbiAgICAgICAgIGgzLnRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTUwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0xcmVtO1xuICAgICAgICAgfVxuXG4gICAgICAgICAmLWNvbnRlbnQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgIH1cbiAgICAgICAgIFxuICAgICAgICAgJi0tYXNpZGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAubGlua3MgYSB7XG4gICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IHVuc2V0O1xuICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbn1cblxuYm9keS5wcmludGluZyB7XG4gICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgbWFpbiB7XG4gICAgICBvcGFjaXR5OiAuMTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTIwMG1zO1xuICAgfVxufSIsIi5taW5pbWFwLWNvbnRhaW5lciB7XG4gICBib3R0b206IDA7XG4gICBsZWZ0OiAwO1xuICAgcGFkZGluZzogMCAuMjVyZW07XG4gICBwb3NpdGlvbjogZml4ZWQ7XG4gICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTExMCUpO1xuICAgdHJhbnNpdGlvbjogYWxsIDE0MDBtcyAkbG9uZztcbiAgIHotaW5kZXg6IDE7XG5cbiAgIEBtZWRpYSAod2lkdGggPj0gMTQ0MHB4KSB7XG4gICAgICBib3R0b206IC41cmVtO1xuICAgICAgbGVmdDogLjVyZW07XG4gICB9XG5cbiAgICYsXG4gICAjbWluaW1hcCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICB9XG5cbiAgICNtaW5pbWFwIHtcbiAgICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgICAgYm9yZGVyOiAycHg7XG4gICAgICBib3JkZXItc3R5bGU6IG91dHNldDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAyZW0gLjVyZW0gJGJsYWNrO1xuICAgICAgcGFkZGluZzogLjI1cmVtOyAgICBcbiAgICAgIHRyYW5zaXRpb246IGFsbCAxMDAwbXMgJGxvbmc7XG4gICAgICB3aWR0aDogMTUwcHg7XG5cbiAgICAgIEBtZWRpYSAod2lkdGggPD0gMTE4MHB4KSB7XG4gICAgICAgICB3aWR0aDogMTJ2dztcbiAgICAgIH1cblxuICAgICAgJi5maWx0IHtcbiAgICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICB9XG4gICBcbiAgIEBtZWRpYSAod2lkdGggPD0gMTIyMHB4KSB7XG4gICAgICAvLyBib3R0b206IDRyZW07XG5cbiAgICAgICNtaW5pbWFwIHtcbiAgICAgICAgIC8vIHdpZHRoOiA3MCU7XG4gICAgICB9XG4gICB9XG59XG5cbi5yZHkge1xuICAgLm1pbmltYXAtY29udGFpbmVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgIH1cbn0iLCIuYmliLWxpbmsge1xuICAgYm90dG9tOiAwO1xuICAgZm9udC1zaXplOiAkcztcbiAgIHBhZGRpbmc6IDEuNXJlbSAycmVtO1xuICAgcG9zaXRpb246IGZpeGVkO1xuICAgcmlnaHQ6IDA7XG4gICB0cmFuc2l0aW9uOiBhbGwgMzAwbXM7XG4gICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgei1pbmRleDogMztcblxuICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgIH1cblxuICAgJjo6YmVmb3JlIHtcbiAgICAgIGFuaW1hdGlvbjogc3BpbiAxLjRzIGluZmluaXRlO1xuICAgICAgYm9yZGVyOiA0cHggZG90dGVkO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBlbTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICBsZWZ0OiAwLjVyZW07XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxLjMzcmVtO1xuICAgICAgd2lkdGg6IDFyZW07XG4gICB9XG5cbiAgICYuZGlzYWJsZWQge1xuICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgfVxufVxuXG4uYmliIHtcbiAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigzcHgpO1xuICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAgMCAwIC8gOTAlKTtcbiAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICBpbnNldDogMDtcbiAgIG9wYWNpdHk6IDA7XG4gICBvdmVyZmxvdzogYXV0bztcbiAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgIHBhZGRpbmc6IDAgNHB4IDhyZW07XG4gICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cmVtKTtcbiAgIHRyYW5zaXRpb246IGFsbCAxMDAwbXMgJGxvbmc7XG4gICB6LWluZGV4OiAxO1xuXG4gICAmLXdyYXAge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEwODBweDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgIGNvbnRlbnQ6IFwiQmlibGlvZ3JhcGh5XCI7XG4gICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgei1pbmRleDogMztcbiAgICAgIH1cbiAgIH1cblxuICAgJi0tY2xvc2Uge1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCBjYWxjKDUwJSAtIDFweCksIHdoaXRlIDUwJSwgdHJhbnNwYXJlbnQgY2FsYyg1MCUgKyAxcHgpKSwgbGluZWFyLWdyYWRpZW50KC00NWRlZywgdHJhbnNwYXJlbnQgY2FsYyg1MCUgLSAxcHgpLCB3aGl0ZSA1MCUsIHRyYW5zcGFyZW50IGNhbGMoNTAlICsgMXB4KSk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICByaWdodDogMXJlbTtcbiAgICAgIHRvcDogMnJlbTtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICB3aWR0aDogM3JlbTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICB9XG4gICBcbiAgICYtLWhlYWRlciB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRpemUoJGJsYWNrLCAuMSk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgIGJveC1zaGFkb3c6IDAgLTFyZW0gNmVtIDIuNWVtICRibGFjaztcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ2FwOiAxcmVtO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA3cmVtIDVyZW0gY2FsYyg1MCUgLSAzLjVyZW0pIDFmcjtcbiAgICAgIGhlaWdodDogMi4yNXJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAycHg7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgdG9wOiAuNXJlbTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXJlbSk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gN3JlbSk7XG4gICAgICB6LWluZGV4OiAyO1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgIGZvbnQtc2l6ZTogJHhzO1xuICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDNlbTtcbiAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxZW07XG4gICAgICAgICBwYWRkaW5nLXRvcDogMWVtO1xuICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAuNzU7XG4gICAgICAgICB9XG5cbiAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG5cbiAgICAgICAgICYuY3VyIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICBjb250ZW50OiBcIuKGkVwiO1xuICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYXNjIHtcbiAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICBjb250ZW50OiBcIuKGk1wiO1xuICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuICAgXG4gICAmLS1jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCAjZmFjOGM4LCAjYzllNGZmKTtcbiAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAyMHJlbSAxMHJlbSAkYmxhY2s7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBsaW5lLWhlaWdodDogMS4zNzU7XG4gICAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAmLS1lbnRyeSB7XG4gICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgIGdhcDogMXJlbTtcbiAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNnJlbSA1cmVtIDFmciAxZnI7XG4gICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgcGFkZGluZzogM3B4IDA7XG4gICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciA2MG1zO1xuICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgIC5pZCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDUwJTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAzZW07XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxcHg7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgcGFkZGluZzogMXB4O1xuXG4gICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG5cbiAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICAgICAubmFtZXMge1xuICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDIuNXJlbSAxcmVtICRibGFjaztcbiAgICAgICAgICAgICAgIG1hcmdpbjogLS4yNXJlbSAtMXJlbTtcbiAgICAgICAgICAgICAgIHBhZGRpbmc6IC4yNXJlbSAxcmVtO1xuICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG5cbiAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMztcbiAgICAgICAgIH1cblxuICAgICAgICAgLm5hbWVzIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiA0O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgdG9wOiAzcHg7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDFlbSk7XG4gICAgICAgICB9XG4gICAgICB9XG4gICB9XG59XG5cbi5iaWItb3BlbiB7XG4gICAuYmliIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICYtbGluayB7XG4gICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlhcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSAxLjc1cmVtKTtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cbn0iLCIudG9vbHRpcCB7XG4gICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTtcbiAgIGJhY2tncm91bmQ6IHJnYigyNTUgMjU1IDI1NSAvIDUlKTtcbiAgIGJvcmRlci1yYWRpdXM6IC41cmVtO1xuICAgY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIDcwJSk7XG4gICBmb250LXNpemU6ICR4cztcbiAgIGxlZnQ6IDA7XG4gICBsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xuICAgb3BhY2l0eTogMDtcbiAgIHBhZGRpbmc6IC41cmVtIC43NXJlbTtcbiAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgcG9zaXRpb246IGZpeGVkO1xuICAgdG9wOiAwLjVyZW07XG4gICB0cmFuc2l0aW9uOiB0b3AgMzAwbXMgZWFzZS1pbi1vdXQsIG9wYWNpdHkgMzAwbXMgZWFzZS1pbi1vdXQ7XG5cbiAgICYuYWN0aXZlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0b3A6IDA7XG4gICB9XG59IiwiLmd1aWRlLWxpbmsge1xuICAgZm9udC1zaXplOiAkcztcbiAgIGxlZnQ6IDA7XG4gICBwYWRkaW5nOiAycmVtIDFyZW0gMnJlbSAycmVtO1xuICAgcG9zaXRpb246IGZpeGVkO1xuICAgdG9wOiA1MCU7XG4gICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICB6LWluZGV4OiAxO1xuXG4gICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgfVxufVxuXG4uZ3VpZGUge1xuICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCkgYnJpZ2h0bmVzcygwLjYpO1xuICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICBib3JkZXItcmFkaXVzOiAuNXJlbTtcbiAgIGZvbnQtc2l6ZTogJHM7XG4gICBsZWZ0OiA1cmVtO1xuICAgcGFkZGluZzogMXJlbTtcbiAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgIHRvcDogNTAlO1xuICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgdHJhbnNmb3JtLW9yaWdpbjogMCA1MCU7XG4gICB0cmFuc2l0aW9uOiBhbGwgMjgwbXMgJGN1YmljO1xuXG4gICAmLnNob3cge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDRyZW0gMnJlbSAkYmxhY2s7XG4gICB9XG5cbiAgICY6bm90KC5zaG93KSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMCk7XG4gICB9XG5cbiAgIHAge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICAgIG1heC13aWR0aDogMTRyZW07XG4gICAgICB0ZXh0LWluZGVudDogLTFlbTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXM7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICBjb250ZW50OiBcIuKAolwiO1xuICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgfVxuXG4gICAgICAmLm9rIHtcbiAgICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgICB9XG4gICB9XG59XG5cbi5saXQge1xuICAgLmd1aWRlIHtcbiAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig0cHgpIGJyaWdodG5lc3MoMS4yNSk7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgICAmLnNob3cge1xuICAgICAgICAgYm94LXNoYWRvdzogMCAwIDRyZW0gMnJlbSAkd2hpdGU7XG4gICAgICB9XG4gICB9XG59IiwiQGltcG9ydCAnZ2VuZXJhbC92YXJzJztcbkBpbXBvcnQgJ2dlbmVyYWwvcmVzZXQnO1xuQGltcG9ydCAnZ2VuZXJhbC9mb250cyc7XG5AaW1wb3J0ICdnZW5lcmFsL3R5cG9ncmFwaHknO1xuQGltcG9ydCAnZ2VuZXJhbC91eCc7XG5AaW1wb3J0ICdwYWdlcy9ob21lJztcbkBpbXBvcnQgJ3BhZ2VzL2Fib3V0JztcbkBpbXBvcnQgJ3BhcnRzL2VudHJpZXMnO1xuQGltcG9ydCAncGFydHMvZW50cnknO1xuQGltcG9ydCAncGFydHMvZm9vdGVyJztcbkBpbXBvcnQgJ3BhcnRzL2xvZyc7XG5AaW1wb3J0ICdwYXJ0cy9taW5pbWFwJztcbkBpbXBvcnQgJ3BhcnRzL2JpYic7XG5AaW1wb3J0ICdwYXJ0cy90b29sdGlwJztcbkBpbXBvcnQgJ3BhcnRzL2d1aWRlJztcblxuaHRtbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgY29sb3I6IHdoaXRlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zLCBiYWNrZ3JvdW5kLWNvbG9yIDQwMG1zO1xufVxuXG46cm9vdCB7XG4gIC8vIGhlaWdodDogMTAwJTtcbiAgLy8gdG91Y2gtYWN0aW9uOiBwYW4teCBwYW4teTtcbn1cblxuYm9keSB7XG4gIGhlaWdodDogMTAwdmg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMsIGJhY2tncm91bmQtY29sb3IgNDAwbXM7XG4gIHdpZHRoOiAxMDB2dztcblxuICBAbWVkaWEgKCRtb2IpIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgcCB7XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpe1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIH1cbiAgfVxufVxuXG5hW2hyZWY9XCIjbGl0XCJdIHtcbiAgZm9udC1zaXplOi43NXJlbTtcbiAgbGVmdDowO1xuICBwYWRkaW5nOjFyZW0gMnJlbTtcbiAgcG9zaXRpb246Zml4ZWQ7XG4gIHRvcDowO1xuICB0cmFuc2l0aW9uOiB0b3AgMTUwMG1zICRsYXp5O1xuICB6LWluZGV4OjE7XG5cbiAgJjpoYXMofiAubG9nLmluKSB7XG4gICAgdG9wOiAzcmVtO1xuICB9XG59XG5cbmh0bWwubGl0LWFuaW0ge1xuICAmLnRvLWJsYWNrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG5cbiAgICBib2R5IHsgb3BhY2l0eTogMDsgfVxuICB9XG5cbiAgJi50by13aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gICAgYm9keSB7IG9wYWNpdHk6IDA7IH1cbiAgfVxufVxuXG5odG1sLmxpdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgY29sb3I6ICRibGFjaztcbiAgXG4gIGFbaHJlZj1cIiNsaXRcIl0ge1xuICAgIGZpbHRlcjogaW52ZXJ0KDEpO1xuICB9XG5cbiAgI21pbmltYXAge1xuICAgIGJvcmRlci1jb2xvcjogIzY2NjtcbiAgICBmaWx0ZXI6IGludmVydCgxKTtcbiAgICAvLyBiYWNrZ3JvdW5kOiAjZWVlO1xuICAgIC8vIGJveC1zaGFkb3c6IDAgMCAyZW0gLjVyZW0gI2ZmZjtcbiAgfVxuXG4gIC5ib3gsXG4gIC5ib3gucmVsYXRlZCB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJvcmRlci1jb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgICYuaGFzLXJlbDpub3QoLm5vLXJlbCk6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgIH1cblxuICAgIC5jbG9zZSB7XG4gICAgICBmaWx0ZXI6IGludmVydCgxKTtcbiAgICB9XG4gIH1cblxuICAjbGluZXMtY2FudmFzIHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIH1cblxuICAubG9nLS10aXRsZSB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IDAgMC42cmVtIDAuMnJlbSAkd2hpdGU7XG4gIH1cblxuICAuZm9vdGVyIHtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KSBicmlnaHRuZXNzKDEuMjUpO1xuXG4gICAgbGFiZWwge1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmxvZyxcbiAgaW5wdXQsIHNlbGVjdCwgYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmxhY2s7XG4gICAgY29sb3I6ICRibGFjaztcbiAgfVxuXG4gIC5sb2cge1xuICAgIGJveC1zaGFkb3c6IDAgMCAycmVtIDFyZW0gI2ZmZjtcblxuICAgICYtd3JhcCB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50IGNhbGMoMTAwJSAtIDVyZW0pLCB3aGl0ZSBjYWxjKDEwMCUgLSAycmVtKSk7ICAgXG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0taXRlbSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICB9XG5cbiAgICAgIGVtIHtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCBjYWxjKDUwJSAtIDFweCksICRibGFjayA1MCUsIHRyYW5zcGFyZW50IGNhbGMoNTAlICsgMXB4KSksIGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHRyYW5zcGFyZW50IGNhbGMoNTAlIC0gMXB4KSwgJGJsYWNrIDUwJSwgdHJhbnNwYXJlbnQgY2FsYyg1MCUgKyAxcHgpKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5hdi5jYXRzIGxhYmVsIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIHtcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCBjYWxjKDUwJSAtIDBweCksICRibGFjayA1MCUsIHRyYW5zcGFyZW50IGNhbGMoNTAlICsgMXB4KSlcbiAgfVxuXG4gIC5iaWIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIDkwJSk7XG4gICAgXG4gICAgJi0taGVhZGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUgMjU1IDI1NSAvIDkwJSk7XG4gICAgICBib3gtc2hhZG93OiAwIC0xcmVtIDZlbSAyLjVlbSAjZmZmO1xuICAgIH1cblxuICAgICYtLWNvbnRlbnQge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDIwcmVtIDEwcmVtICNmZmY7XG4gICAgfVxuXG4gICAgJi0tY2xvc2Uge1xuICAgICAgZmlsdGVyOiBpbnZlcnQoMSk7XG4gICAgfVxuICB9XG59Il19 */
