.marquee {
  --gap: 1rem;
  --size-marquee-item: 13vw;
  position: relative;
  animation: scroll 10s linear infinite;
  display: flex;
  gap: var(--gap);
  transition: var(--transition);
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none
}

.marquee .marquee-items {
  display: flex;
  justify-content: space-around;
  min-width: 100%;
  flex: 0 0 auto;
  gap: var(--gap)
}

.marquee .marquee-items>* {
  width: var(--size-marquee-item);
  height: var(--size-marquee-item);
  flex-shrink: 0;
  border-radius: var(--radius-small);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center
}

.marquee:hover {
  animation-play-state: paused
}

@keyframes scroll {
  0% {
    transform: translateX(0%)
  }

  100% {
    transform: translateX(calc(-100% - var(--gap)))
  }
}

:root {
  /* --header-item-height: 2.2em;
  --fs-2: clamp(1rem, 1.5vw + 10px, 2rem);
  --fs-1: clamp(2rem, 3vw + 10px, 4rem);
  --radius-base: 1.3rem;
  --radius-sm: .3rem;
  --transition: all .2s ease */
}




.intro {
  max-width: 60ch
}

.intro.in-middle {
  margin-inline: auto;
  text-align: center
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1;
  /* padding-bottom: .2em */
}

p {
  text-wrap: pretty
}



picture {
  overflow: hidden;
  border-radius: 1rem
}

ul,
ol {
  list-style-type: none
}

table {
  table-layout: fixed;
  border-collapse: collapse;
  width: 100%;
  margin: 2rem 0
}

table,
th,
td {
  border: 1px solid currentColor;
  padding: .5rem
}

mark {
  background: var(--bg-mark, violet)
}

abbr {
  text-underline-offset: .2rem
}

::-moz-selection {
  background-color: #f2e7d1
}

::selection {
  background-color: #f2e7d1
}

img,
picture,
video,
canvas,
svg,
figure {
  display: block;
  max-width: 100%;
  height: auto
}

img {
  -o-object-fit: cover;
  object-fit: cover
}

figcaption {
  font-size: var(--size-caption, 0.8rem);
  opacity: var(--op-caption, 0.8);
  display: block
}

input,
button,
select,
textarea,
select {
  background-color: rgba(0, 0, 0, 0);
  color: inherit;
  font-family: inherit;
  border: none;
  outline: 1px solid rgba(0, 0, 0, 0);
  cursor: pointer
}

svg {
  display: inline-block
}








.block {
  display: block
}

.align-items-center {
  align-items: center
}






:root {
  --input-border: #8b8a8b;
  --input-focus-h: 245;
  --input-focus-s: 100%;
  --input-focus-l: 42%
}

.input {
  font-size: 16px;
  font-size: max(16px, 1em);
  font-family: inherit;
  padding: .4em .7em;
  background-color: var(--bg);
  border: 2px solid var(--input-border);
  border-radius: 10px;
  transition: .1s box-shadow ease-in-out;
  line-height: 1;
  height: 3rem;
  color: inherit;
}

.input:focus-visible {
  border-color: hsl(var(--input-focus-h), var(--input-focus-s), var(--input-focus-l));
  box-shadow: 0 0 0 3px hsla(var(--input-focus-h), var(--input-focus-s), calc(var(--input-focus-l) + 40%), 0.8);
  outline: 3px solid rgba(0, 0, 0, 0)
}

textarea.input {
  height: unset;
  resize: vertical
}

.input[type=file] {
  font-size: .9em;
  padding-top: .35rem;
  height: unset;
  border: none
}

.input::file-selector-button {
  cursor: pointer;
  color: #639;
  background-color: #fff;
  height: 3em;
  border-radius: 10px;
  border: 2px solid var(--input-border)
}

.input[readonly] {
  border-style: dotted;
  cursor: not-allowed;
  color: #777
}

.input[disabled] {
  --input-border: #ccc;
  background-color: #eee;
  cursor: not-allowed;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none
}

.field {
  position: relative
}

.field label {
  position: absolute;
  top: 0;
  left: 1rem;
  transform: translate(0%, -50%);
  background-color: var(--bg);
  font-size: .8em;
  font-weight: 500;
  z-index: 3
}

.field .input {
  position: relative;
  background-color: var(--bg)
}

.field .input input {
  height: 100%;
  width: calc(100% - 2rem);
  padding-inline: .5em;
  background-color: var(--bg) !important
}

.field button {
  --spacing: 0px;
  width: 2rem;
  right: var(--spacing);
  top: var(--spacing);
  z-index: 2;
  position: absolute;
  height: calc(100% - var(--spacing)*2);
  background: pink;
  padding: .5rem
}



.bg-white {
  background: #fff
}

.grid-row {
  display: grid;
  grid-auto-flow: column;
  gap: .5ch
}

.grid-center {
  display: grid;
  place-content: center
}

.grid-columns,
.grid-autocolumns,
.grid-autoflow {
  display: grid;
  grid-auto-flow: column
}

@media only screen and (min-width: 768px) {
  .md-images-zigzag>*:nth-child(2n+2) .image-wrapper {
    order: -1
  }
}

.md-10-20 {
  display: grid
}

@media only screen and (min-width: 768px) {
  .md-10-20 {
    grid-template-columns: 1fr 2fr
  }
}

.md-10-15 {
  display: grid
}

@media only screen and (min-width: 768px) {
  .md-10-15 {
    grid-template-columns: 1fr 1.5fr
  }
}

.md-10-10 {
  display: grid
}

@media only screen and (min-width: 768px) {
  .md-10-10 {
    grid-template-columns: 1fr 1fr
  }
}



.sticks-on-top {
  position: sticky;
  top: var(--spacer, 0);
  align-self: start;
  margin-top: var(--spacer, 0)
}

.md-sticks-on-top {
  /* padding-top: var(--spacer-top, 0) */
}

@media only screen and (min-width: 768px) {
  .md-sticks-on-top {
    position: sticky;
    top: var(--spacer-top, 0);
    align-self: start;
    max-height: 95vh;
    overflow-y: auto
  }
}

@media only screen and (min-width: 768px) {
  .md-pb-20 {
    padding-bottom: 10rem
  }
}





a[data-replace] {
  --border-width: 2px;
  overflow: hidden;
  position: relative;
  display: inline-block;
  white-space: nowrap;
  padding-inline-end: 2em
}

a[data-replace]::before,
a[data-replace]::after {
  content: "";
  position: absolute;
  width: 100%;
  left: 0
}

a[data-replace]::before {
  background-color: #54b3d6;
  height: var(--border-width);
  bottom: 0;
  transform-origin: 100% 50%;
  transform: scaleX(0);
  transition: transform .3s cubic-bezier(0.76, 0, 0.24, 1)
}

a[data-replace]::after {
  content: attr(data-replace);
  height: 100%;
  top: 0;
  transform-origin: 100% 50%;
  transform: translate3d(200%, 0, 0);
  transition: transform .3s cubic-bezier(0.76, 0, 0.24, 1);
  color: #54b3d6
}

a[data-replace]:hover::before {
  transform-origin: 0% 50%;
  transform: scaleX(1)
}

a[data-replace]:hover::after {
  transform: translate3d(0, 0, 0)
}

a[data-replace] span {
  display: inline-block;
  transition: transform .3s cubic-bezier(0.76, 0, 0.24, 1)
}

a[data-replace]:hover span {
  transform: translate3d(-200%, 0, 0)
}




.link-hover-gets-bg,
.link-hover-gets-underline {
  --border-width: 100%;
  --border-bg: green;

  background: linear-gradient(0deg, var(--border-bg), var(--border-bg)) no-repeat right bottom/0 var(--border-width);
  transition: background-size 350ms;
  padding: .2em .4em;
  border-radius: .2em
}

.link-hover-gets-bg:where(:hover, :focus-visible),
.link-hover-gets-underline:where(:hover, :focus-visible) {
  background-size: 100% var(--border-width);
  background-position-x: left
}

.link-hover-gets-underline {
  padding: var(--link-padding, .2em .1em);
  --border-width: 2px;


}


@keyframes move {
  from {
    background-position: 2px 19px
  }

  to {
    background-position: 500px 19px
  }
}

.items-style1>* {
  --bg-arrow: rgb(250, 209, 215);
  border-radius: 1rem;
  box-shadow: 0 0 0 1px var(--bg-arrow);
  padding: 2rem 1rem;
  display: grid;
  grid-auto-flow: column;
  align-items: center;
  background-color: #fcf3f4
}

.items-style1>* .text {
  transition: all .2s cubic-bezier(0.4, 0.4, 0, 1)
}

.items-style1>* .icon {
  width: var(--width-icon, 2.5rem);
  height: var(--width-icon, 2.5rem);
  background-color: var(--bg-arrow);
  display: grid;
  place-content: center;
  border-radius: 100vh;
  transition: all .6s cubic-bezier(0.4, 0.4, 0, 1)
}

.items-style1>*:hover {
  color: currentColor
}

.items-style1>*:hover .text {
  opacity: .7
}

.items-style1>*:hover .icon {
  transform: translate(0.4rem, 0);
  background-color: #fca5c2
}

.items-style1>* svg {
  width: var(--width-svg, 1rem);
  height: var(--width-svg, 1rem)
}

.details-group {
  border: 1px solid #cfd8dc;
  border-radius: 5px;
  background-color: #fff
}

.details {
  overflow: hidden;
  border-bottom: 1px solid #cfd8dc;
  transition: height 300ms cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: all .2s cubic-bezier(0.165, 0.84, 0.44, 1);
  --summary-fs: 1rem
}

.details__summary:hover {
  background-color: pink
}

.details__summary:focus-visible {
  background-color: coral
}

.details[open] {
  --line1-rotation: 45deg;
  --line2-rotation: 45deg
}

.details.is-closing {
  --line1-rotation: 0deg;
  --line2-rotation: 0deg
}

.details:last-child {
  border-bottom: 0
}

.details__summary,
.details__content {
  padding: 24px
}

.details__summary {
  position: relative;
  list-style: none;
  padding-left: 48px;
  outline: 0;
  cursor: pointer;
  font-weight: var(--summary-fw);
  font-size: var(--sumary-fs);
  transition: color 300ms cubic-bezier(0.165, 0.84, 0.44, 1)
}

[open]>.details__summary {
  color: #00acc1
}

.details__summary::-webkit-details-marker {
  display: none
}

.details__summary:before,
.details__summary:after {
  content: "";
  position: absolute;
  transition: all 300ms cubic-bezier(0.165, 0.84, 0.44, 1)
}

.details__summary:before {
  left: 20px;
  top: 50%;
  height: 2px;
  margin-top: -1px;
  width: 16px;
  background: #00acc1;
  transform: rotate(var(--line1-rotation))
}

.details__summary:after {
  left: 28px;
  top: 50%;
  height: 16px;
  margin-top: -8px;
  width: 2px;
  margin-left: -1px;
  background: #00acc1;
  transform: rotate(var(--line2-rotation))
}

.details__content {
  padding-top: 0;
  padding-left: 48px
}

.details-group.style2 {
  border: none;
  display: grid;
  gap: .4rem;
  --summary-fw: 800;
  --sumary-fs: 1.5rem
}

.details-group.style2 .details {
  border: none;
  background-color: #f5f5f5;
  border-radius: 1rem 1rem 0 0;
  border-radius: 1rem
}

.details-group.style2 .details__summary:hover {
  background-color: #ecb09b
}

.details-group.style2 .details__summary:focus-visible {
  background-color: #fac9b7
}

.details-group.style2 .details__summary {
  background-color: #c9c3c3
}

.details-group.style2 .details[open] {
  background-color: #fff;
  box-shadow: inset 0 0 0 2px #ab79fc
}

.details-group.style2 .details[open] .details__summary {
  color: #4a00c1;
  background-color: rgba(0, 0, 0, 0)
}

.details-group.style2 .details__summary::before,
.details-group.style2 .details__summary::after {
  background-color: currentColor
}

.details-group.style2 .details[open] .details__summary::before,
.details-group.style2 .details[open] .details__summary::after {
  background-color: #4a00c1
}

.details-group.style2 .details__content {
  padding: 2rem;
  position: relative
}

.details-group.style2 .details__content::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 1rem;
  right: 1rem;
  height: 2px;
  background-color: #4a00c1
}

.details-group.style3 {
  border: none;
  display: grid;
  gap: .4rem;
  --summary-fw: 800;
  --sumary-fs: 1.2rem
}

.details-group.style3 .details {
  border: none;
  border-radius: .3rem
}

.details-group.style3 .details__summary:hover {
  background-color: #81f594
}

.details-group.style3 .details__summary:focus-visible {
  background-color: #fac9b7
}

.details-group.style3 .details__summary {
  background-color: #94eeb6
}

.details-group.style3 .details[open] {
  background-color: #fff;
  box-shadow: inset 0 0 0 1px gray
}

.details-group.style3 .details[open] .details__summary {
  color: #165816;
  background-color: #d6fcab;
  box-shadow: inset 0 0 0 2px #165816;
  border-radius: .2rem
}

.details-group.style3 .details__summary::before,
.details-group.style3 .details__summary::after {
  background-color: currentColor
}

.details-group.style3 .details[open] .details__summary::before,
.details-group.style3 .details[open] .details__summary::after {
  background-color: #165816
}

.details-group.style3 .details__content {
  padding: 2rem
}

.font-thinest {
  font-weight: 100
}

.font-thiner {
  font-weight: 200
}

.font-thin {
  font-weight: 300
}

.font-normal {
  font-weight: 400
}

.font-semibold {
  font-weight: 500
}

.font-bold {
  font-weight: 600
}

.font-bolder {
  font-weight: 700
}

.font-boldest {
  font-weight: 800
}



.font-accent {
  color: var(--accent);
}

[class*=ratio] {
  position: relative;
  height: 0
}

[class*=ratio]>img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%
}

.ratio-5-2 {
  padding-top: 40%
}

.ratio-16-9 {
  padding-top: 56.25%
}

.ratio-4-3 {
  padding-top: 75%
}

.ratio-1-1 {
  padding-top: 100%
}

.ratio-9-16 {
  padding-top: 177.78%
}

.ratio-3-4 {
  padding-top: 133.33%
}

.ratio-2-3 {
  padding-top: 150%
}

.rounded-lg {
  border-radius: var(--radius-lg)
}

.rounded-md {
  border-radius: var(--radius-md)
}

.rounded {
  border-radius: var(--radius)
}

.rounded-sm {
  border-radius: var(--radius-sm)
}

.rounded-xs {
  border-radius: var(--radius-xs)
}

.rounded-full {
  border-radius: 100vh
}

.rounded-none {
  border-radius: none
}

.layout {
  display: grid
}

@media only screen and (min-width: 400px) {
  .layout {
    grid-template-columns: var(--sm, 1fr)
  }
}

@media only screen and (min-width: 768px) {
  .layout {
    grid-template-columns: var(--md, 1fr 1fr)
  }
}

@media only screen and (min-width: 1000px) {
  .layout {
    grid-template-columns: var(--lg, 1fr 1fr)
  }
}

.grid {
  display: grid
}

.relative {
  position: relative
}

.grid-stacked {
  display: grid;
  grid-template-areas: stack;
  gap: 0
}

.grid-stacked>* {
  grid-area: stack
}

.grid-stacked picture,
.grid-stacked figure {
  z-index: -1
}

.align-start,
.align-all-start {
  align-items: start;
  align-content: start
}

.align-items-start {
  align-items: start
}

.align-content-start {
  align-content: start
}

.align-self-end {
  align-self: end
}

.align-self-center {
  align-self: center
}

.align-self-start {
  align-self: start
}

.align-content-spaced {
  align-content: space-between
}

.p-2 {
  padding: 0.5rem
}

.pt-2 {
  padding-top: 0.5rem
}

.pr-2 {
  padding-right: 0.5rem
}

.pb-2 {
  padding-bottom: 0.5rem
}

.pl-2 {
  padding-left: 0.5rem
}

.px-2 {
  padding-inline: 0.5rem
}

.py-2 {
  padding-block: 0.5rem
}

.p-3 {
  padding: 0.8rem
}

.pt-3 {
  padding-top: 0.8rem
}

.pr-3 {
  padding-right: 0.8rem
}

.pb-3 {
  padding-bottom: 0.8rem
}

.pl-3 {
  padding-left: 0.8rem
}

.px-3 {
  padding-inline: 0.8rem
}

.py-3 {
  padding-block: 0.8rem
}

.p-4 {
  padding: 1.1rem
}

.pt-4 {
  padding-top: 1.1rem
}

.pr-4 {
  padding-right: 1.1rem
}

.pb-4 {
  padding-bottom: 1.1rem
}

.pl-4 {
  padding-left: 1.1rem
}

.px-4 {
  padding-inline: 1.1rem
}

.py-4 {
  padding-block: 1.1rem
}

.p-5 {
  padding: 1.4rem
}

.pt-5 {
  padding-top: 1.4rem
}

.pr-5 {
  padding-right: 1.4rem
}

.pb-5 {
  padding-bottom: 1.4rem
}

.pl-5 {
  padding-left: 1.4rem
}

.px-5 {
  padding-inline: 1.4rem
}

.py-5 {
  padding-block: 1.4rem
}

.p-6 {
  padding: 1.7rem
}

.pt-6 {
  padding-top: 1.7rem
}

.pr-6 {
  padding-right: 1.7rem
}

.pb-6 {
  padding-bottom: 1.7rem
}

.pl-6 {
  padding-left: 1.7rem
}

.px-6 {
  padding-inline: 1.7rem
}

.py-6 {
  padding-block: 1.7rem
}

.p-7 {
  padding: 2rem
}

.pt-7 {
  padding-top: 2rem
}

.pr-7 {
  padding-right: 2rem
}

.pb-7 {
  padding-bottom: 2rem
}

.pl-7 {
  padding-left: 2rem
}

.px-7 {
  padding-inline: 2rem
}

.py-7 {
  padding-block: 2rem
}

.p-8 {
  padding: 2.3rem
}

.pt-8 {
  padding-top: 2.3rem
}

.pr-8 {
  padding-right: 2.3rem
}

.pb-8 {
  padding-bottom: 2.3rem
}

.pl-8 {
  padding-left: 2.3rem
}

.px-8 {
  padding-inline: 2.3rem
}

.py-8 {
  padding-block: 2.3rem
}

.p-9 {
  padding: 2.6rem
}

.pt-9 {
  padding-top: 2.6rem
}

.pr-9 {
  padding-right: 2.6rem
}

.pb-9 {
  padding-bottom: 2.6rem
}

.pl-9 {
  padding-left: 2.6rem
}

.px-9 {
  padding-inline: 2.6rem
}

.py-9 {
  padding-block: 2.6rem
}

.p-10 {
  padding: 2.9rem
}

.pt-10 {
  padding-top: 2.9rem
}

.pr-10 {
  padding-right: 2.9rem
}

.pb-10 {
  padding-bottom: 2.9rem
}

.pl-10 {
  padding-left: 2.9rem
}

.px-10 {
  padding-inline: 2.9rem
}

.py-10 {
  padding-block: 2.9rem
}

.p-11 {
  padding: 3.2rem
}

.pt-11 {
  padding-top: 3.2rem
}

.pr-11 {
  padding-right: 3.2rem
}

.pb-11 {
  padding-bottom: 3.2rem
}

.pl-11 {
  padding-left: 3.2rem
}

.px-11 {
  padding-inline: 3.2rem
}

.py-11 {
  padding-block: 3.2rem
}

.p-12 {
  padding: 3.5rem
}

.pt-12 {
  padding-top: 3.5rem
}

.pr-12 {
  padding-right: 3.5rem
}

.pb-12 {
  padding-bottom: 3.5rem
}

.pl-12 {
  padding-left: 3.5rem
}

.px-12 {
  padding-inline: 3.5rem
}

.py-12 {
  padding-block: 3.5rem
}

.p-13 {
  padding: 3.8rem
}

.pt-13 {
  padding-top: 3.8rem
}

.pr-13 {
  padding-right: 3.8rem
}

.pb-13 {
  padding-bottom: 3.8rem
}

.pl-13 {
  padding-left: 3.8rem
}

.px-13 {
  padding-inline: 3.8rem
}

.py-13 {
  padding-block: 3.8rem
}

.p-14 {
  padding: 4.1rem
}

.pt-14 {
  padding-top: 4.1rem
}

.pr-14 {
  padding-right: 4.1rem
}

.pb-14 {
  padding-bottom: 4.1rem
}

.pl-14 {
  padding-left: 4.1rem
}

.px-14 {
  padding-inline: 4.1rem
}

.py-14 {
  padding-block: 4.1rem
}

.p-15 {
  padding: 4.4rem
}

.pt-15 {
  padding-top: 4.4rem
}

.pr-15 {
  padding-right: 4.4rem
}

.pb-15 {
  padding-bottom: 4.4rem
}

.pl-15 {
  padding-left: 4.4rem
}

.px-15 {
  padding-inline: 4.4rem
}

.py-15 {
  padding-block: 4.4rem
}

.p-16 {
  padding: 4.7rem
}

.pt-16 {
  padding-top: 4.7rem
}

.pr-16 {
  padding-right: 4.7rem
}

.pb-16 {
  padding-bottom: 4.7rem
}

.pl-16 {
  padding-left: 4.7rem
}

.px-16 {
  padding-inline: 4.7rem
}

.py-16 {
  padding-block: 4.7rem
}

.p-17 {
  padding: 5rem
}

.pt-17 {
  padding-top: 5rem
}

.pr-17 {
  padding-right: 5rem
}

.pb-17 {
  padding-bottom: 5rem
}

.pl-17 {
  padding-left: 5rem
}

.px-17 {
  padding-inline: 5rem
}

.py-17 {
  padding-block: 5rem
}

.p-18 {
  padding: 5.3rem
}

.pt-18 {
  padding-top: 5.3rem
}

.pr-18 {
  padding-right: 5.3rem
}

.pb-18 {
  padding-bottom: 5.3rem
}

.pl-18 {
  padding-left: 5.3rem
}

.px-18 {
  padding-inline: 5.3rem
}

.py-18 {
  padding-block: 5.3rem
}

.p-19 {
  padding: 5.6rem
}

.pt-19 {
  padding-top: 5.6rem
}

.pr-19 {
  padding-right: 5.6rem
}

.pb-19 {
  padding-bottom: 5.6rem
}

.pl-19 {
  padding-left: 5.6rem
}

.px-19 {
  padding-inline: 5.6rem
}

.py-19 {
  padding-block: 5.6rem
}

.p-20 {
  padding: 5.9rem
}

.pt-20 {
  padding-top: 5.9rem
}

.pr-20 {
  padding-right: 5.9rem
}

.pb-20 {
  padding-bottom: 5.9rem
}

.pl-20 {
  padding-left: 5.9rem
}

.px-20 {
  padding-inline: 5.9rem
}

.py-20 {
  padding-block: 5.9rem
}

.gap-2 {
  gap: 0.5rem
}

.gap-3 {
  gap: 0.8rem
}

.gap-4 {
  gap: 1.1rem
}

.gap-5 {
  gap: 1.4rem
}

.gap-6 {
  gap: 1.7rem
}

.gap-7 {
  gap: 2rem
}

.gap-8 {
  gap: 2.3rem
}

.gap-9 {
  gap: 2.6rem
}

.gap-10 {
  gap: 2.9rem
}

.gap-11 {
  gap: 3.2rem
}

.gap-12 {
  gap: 3.5rem
}

.gap-13 {
  gap: 3.8rem
}

.gap-14 {
  gap: 4.1rem
}

.gap-15 {
  gap: 4.4rem
}

.gap-16 {
  gap: 4.7rem
}

.gap-17 {
  gap: 5rem
}

.gap-18 {
  gap: 5.3rem
}

.gap-19 {
  gap: 5.6rem
}

.gap-20 {
  gap: 5.9rem
}

.mx-auto {
  display: block;
  margin-inline: auto;
  width: -moz-fit-content;
  width: fit-content
}

.ms-auto {
  margin-inline-start: auto
}

.me-auto {
  margin-inline-end: auto
}

.w-fit,
.w-fit-content {
  width: -moz-fit-content;
  width: fit-content
}

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

.sr-only-focusable:focus,
.sr-only-focusable:active {
  clip: auto !important;
  -webkit-clip-path: none !important;
  clip-path: none !important;
  height: auto !important;
  margin: auto !important;
  overflow: visible !important;
  width: auto !important;
  white-space: normal !important
}

.text-center {
  text-align: center
}

.text-start {
  text-align: start
}

.text-end {
  text-align: end
}

.flow>*+* {
  margin-top: .5em
}

.overflow-hidden {
  overflow: hidden
}

.shadow1 {
  box-shadow: inset 0 0 .5px 1px rgba(255, 255, 255, .075), 0 0 0 1px rgba(0, 0, 0, .05), 0 .3px .4px rgba(0, 0, 0, .02), 0 .9px 1.5px rgba(0, 0, 0, .045), 0 3.5px 6px rgba(0, 0, 0, .09)
}

.shadow2 {
  --purple: rgba(122, 89, 175, 0.219);
  box-shadow: inset 0 0 5px 0px rgba(255, 192, 203, .5), inset 0 0 1.5px 0px rgba(252, 90, 117, .938), 0 .3px .5px rgba(71, 69, 69, .466), 35px 0px 30px -20px var(--purple), -35px 0px 30px -20px var(--purple)
}

.shadow3 {
  --purple: rgba(122, 89, 175, 0.219);
  box-shadow: inset 0 0 5px 0px rgba(255, 192, 203, .5), inset 0 0 1.5px 0px rgba(252, 90, 117, .938), 0 .3px .5px rgba(71, 69, 69, .466), 4px 4px 70px -20px var(--purple), -5px -5px 70px -20px var(--purple)
}

.shadow-funny {
  box-shadow: -10px -8px 0px #a7f3d0
}




.twinkly-logo {
  margin: auto;
  position: relative;
  /* transform: translateX(1rem); */
  max-width: 90vw;

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

  & .glow,
  & .no-glow {
    padding: 2rem;
    padding: 1rem;
  }


  & .glow {

    position: absolute;
    inset: 0rem;
    bottom: unset;
    overflow: visible;

    mask-image: linear-gradient(to right, transparent, #fff, transparent);
    mask-size: 30% 100%;
    mask-repeat: no-repeat;
    mask-position: -100%;
    /* mask-position: -33rem; */

    /* animation: twinkle 7s infinite ease-in; */

  }

  & .glow img {
    filter: drop-shadow(0 0 10px rgba(255, 255, 255, 0.8));
  }

}

.revealed .glow {
  animation: twinkle 5s infinite ease-in;
}

@keyframes twinkle {
  50% {
    mask-position: 33rem;
    mask-position: 130%;
  }

  100% {
    mask-position: 33rem;
    mask-position: 130%;
  }
}


.columns-30 {
  -moz-columns: var(--col-width, 30ch);
  columns: var(--col-width, 30ch)
}

.columns-30>* {
  -moz-column-break-inside: avoid;
  break-inside: avoid;
  margin-inline: auto;
  margin-bottom: var(--gap, 1rem)
}

.columns {
  -moz-columns: 25ch;
  columns: 25ch;
  -moz-columns: 33ch;
  columns: 33ch;
  -moz-column-gap: var(--gap);
  column-gap: var(--gap)
}

.columns>* {
  -moz-column-break-inside: avoid;
  break-inside: avoid;
  margin-bottom: var(--gap)
}

.grid-col-width {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--col-width, min(15rem, 100%)), 1fr))
}

.flex-col-width,
.flex-min-max {
  display: flex;
  flex-wrap: wrap;
  justify-content: center
}

.flex-col-width>*,
.flex-min-max>* {
  flex-grow: 1;
  max-width: var(--col-width);
  max-width: 30rem;
  min-width: 25ch;
  max-width: var(--min, 30rem);
  min-width: var(--max, 25ch);
  margin-inline: auto
}

.flex-basic {
  --col-width: max(30rem, 30vw);
  display: flex;
  flex-wrap: wrap;
  justify-content: center
}

.flex-basic>* {
  flex-grow: 1;
  flex-basis: 30%;
  min-width: 25ch;
  max-width: 100%;
  margin-inline: auto
}

.desktop-only {
  display: none
}

@media only screen and (min-width: 768px) {
  .desktop-only {
    display: block
  }
}

.mobile-only {
  display: block
}

@media only screen and (min-width: 768px) {
  .mobile-only {
    display: none
  }
}

#menu-content {
  display: none;
  list-style-type: none;
  padding: 0;
  background-color: #000
}

#menu-content a {
  padding: 1rem
}

header>* {
  position: relative
}

#menu-toggle {
  position: relative;
  z-index: 1
}

#menu[aria-hidden=false] #menu-content {
  display: grid;
  position: absolute;
  top: var(--spacer-menu);
  left: var(--spacer-menu);
  right: var(--spacer-menu)
}

.block {
  display: block
}

.none {
  display: none
}

.text-justify {
  text-align: justify
}

.w-fit {
  width: -moz-fit-content;
  width: fit-content;
  flex-grow: 0
}

.flex-group {
  display: flex;
  flex-wrap: wrap;
  width: -moz-fit-content;
  width: fit-content;
  align-items: center
}

.flex-group>* {
  min-width: -moz-fit-content;
  min-width: fit-content;
  flex: 1
}

.flex-group svg {
  height: .9em
}

.justify-center {
  justify-content: center
}

.justify-spaced {
  justify-content: space-between
}

.justify-end {
  justify-content: end
}

.flex {
  display: flex
}

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

.flex-end {
  display: flex;
  justify-content: end;
  padding-top: 1rem
}

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

.flex-wrap {
  display: flex;
  flex-wrap: wrap
}

.btn-glass {
  --color-btn: pink;
  --bg-btn: rgba(255, 255, 255, .5);
  background: var(--bg-btn);
  color: var(--color-btn);
  -webkit-backdrop-filter: blur(2vw);
  backdrop-filter: blur(2vw);
  transition: .35s;
  padding: .7em 1.3em;
  border-radius: 100vh
}

.btn-glass-alt {
  --color-btn: indianred;
  --bg-btn: transparent;
  --bg-btn-hover: rgba(255, 255, 255, .5);
  transition: .35s;
  padding: .7em 1.3em;
  border-radius: 100vh;
  font-weight: 600 !important
}

.btn-glass-alt:hover {
  background: var(--bg-btn-hover);
  color: var(--color-btn-hover);
  -webkit-backdrop-filter: blur(2vw);
  backdrop-filter: blur(2vw)
}



/* sliders */
/* <style> */
.slider:not([data-keen-slider-disabled]) {
  align-content: flex-start;
  display: flex;
  flex-wrap: nowrap;
  margin: 0 auto;
  max-width: calc(var(--page-width) - 60px);
  overflow: hidden;
  padding-inline-start: 0px;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
  width: 100%;
}

.slider:not([data-keen-slider-disabled]) .slider__slide {
  position: relative;
  overflow: hidden;
  width: 100%;
  min-height: 100%;
}

.slider:not([data-keen-slider-disabled])[data-keen-slider-reverse] {
  flex-direction: row-reverse;
}

.slider:not([data-keen-slider-disabled])[data-keen-slider-v] {
  flex-wrap: wrap;
}

@media only screen and (min-width: 750px) {
  .slider.slider--full-width {
    overflow: initial;
  }
}




:root {
  --dot-radius: 0.3rem;
}

keen-slider-component {
  position: relative;
  display: block;
  max-width: 100vw;
  /* overflow: hidden; */
}.has-image-bg {


  /* background-image: url('/uploads/IMG-20240518-WA0084.jpg'); */
  inset: 0;
  inset: var(--calculated-inset);
  inset-block: .5rem;
  inset-inline: clamp(.5rem, 1.5vw + 10px, 7rem);
  border-radius: var(--radius-lg);
  position: absolute;

  position: fixed;
  background-position: center;
  /* background-position: end; */
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;

  /* max-width: 1200px; */
  margin-inline: auto;
}



section,
footer {
  position: relative;
}


.heroblog {
  height: 20rem;
}

.hero7 {
  position: relative;
  min-height: max(20rem, 50vh);
  min-height: 100vh;
  min-height: 130vh;
  max-height: 70rem;
  overflow: hidden;
  background-color: unset;



  & .overlays-pinned {
    margin-top: 30rem;
    padding: 1rem;
    position: relative;
    z-index: 4;

  }

  & .overlays-pinned a {
    /* box-shadow: 1px 18px 39px #00000026, 5px 71px 71px #00000017, 12px 160px 96px #0000000d, 20px 284px 114px #00000003, 32px 443px 124px 0 transparent; */
  }


  & .pinned {

    height: max(20rem, 70vh);
    position: fixed;


    inset: 0;
    inset-block: .5rem;
    inset-inline: clamp(.5rem, 1.5vw + 10px, 7rem);

    padding: 1rem;
    padding: max(5vw, 1rem);
    padding-top: 10rem;

    /* bg is a image */
    color: white;
    line-height: .8;
    display: grid;
    place-content: center;
    /* justify-content: center; */
    /* text-align: center; */
    /* filter: invert(1); */

  }




}



@media screen and (min-width: 1200px) {
  .hero7 .pinned {
    /* color: var(--java-600); */
  }
}


.items-style1>* {
  --bg-icon: white;
  --bg-icon-hover: var(--java-20);

  --width-icon: 3rem;
  --width-svg: 1.2rem;

  border-radius: 1rem;
  box-shadow: 0 0 0 1px var(--bg-icon);
  padding: 2rem 1rem;

  display: grid;
  grid-auto-flow: column;
  align-items: center;

  background-color: rgba(209, 204, 204, 0.85);
  backdrop-filter: blur(.1rem);
  font-size: var(--fs-base);
  line-height: 1;

  & .text {
    transition: all .2s cubic-bezier(0.4, 0.4, 0, 1);
  }

  & .icon {
    width: var(--width-icon, 2.5rem);
    height: var(--width-icon, 2.5rem);
    background-color: var(--bg-icon);
    display: grid;
    place-content: center;
    border-radius: 100vh;
    transition: all .6s cubic-bezier(0.4, 0.4, 0, 1);
  }

  &:hover {
    color: currentColor;
    /* background-color: pink; */
  }

  &:hover .text {
    opacity: .7;
  }

  &:hover .icon {
    transform: translate(.4rem, 0);
    background-color: var(--bg-icon-hover);
  }

  & svg {
    width: var(--width-svg, 1rem);
    height: var(--width-svg, 1rem);
  }
}


/* </style> */









/* HEADER */




.sticks-on-top {

  --bg: white;
  --bg: transparent;

  position: sticky;
  top: 0;
  z-index: 9;
  /* background-color: transparent; */
  background-color: var(--bg);
  /* box-shadow: 0 -20px 0 0 var(--bg); */

  /* backdrop-filter: blur(2rem); */
  /* backdrop-filter: invert(2); */
  padding-top: .5rem;

  /* color: coral; */

}


.light {
  --bg-btn-header: rgba(255, 255, 255, 0.8);
  --bg-btn-header-hover: white;
}

.dark {
  --bg-btn-header: rgba(20, 20, 20, 0.8);
  --bg-btn-header-hover: rgb(29, 29, 29);
}

.btn-header {


  display: grid;
  text-transform: uppercase;
  /* font-weight: 600; */
  place-content: center;
  height: 3rem;
  padding-inline: 1em;
  border-radius: var(--radius);

  background-color: var(--bg-btn-header);
  color: var(--accent);

  &:hover {
    background-color: var(--bg-btn-header-hover);
  }


  &:focus-visible {
    background-color: var(--accent);
    color: var(--color);
  }

  & svg {
    height: 1.2em;
    width: 1.2em;
  }

  &.logo {
    padding-inline: 0;
    width: 3rem;
    display: grid;
    place-content: center;
  }
}










.text-highlight {
  --duration: 1.2s;
  --ease: cubic-bezier(0.25, 1, 0.5, 1);

  border-radius: .2em;
  padding-inline: .1em;
  font-size: .95em;
  font-weight: 400;
  background-repeat: no-repeat;
  background-size: 0% 100%;
  transition: color calc(var(--duration) / 3) var(--ease),
    background-color calc(var(--duration) / 3) var(--ease),
    background-size var(--duration) var(--ease);

  &.revealed {
    background-size: 100% 100%;
    background-image: linear-gradient(var(--bg-highlight),
        var(--bg-highlight));
  }

  &::before,
  &::after {
    position: absolute;
    clip-path: inset(100%);
    clip: rect(1px, 1px, 1px, 1px);
    width: 1px;
    height: 1px;
    overflow: hidden;
    white-space: nowrap;
    user-select: none;
  }

  &::before {
    content: " [inicio de texto resaltado: ] ";
  }

  &::after {
    content: " [, fin de texto resaltado.] ";
  }
}

[data-animation='bounce-in'] {
  animation: slide-in-bottom .7s cubic-bezier(0.455, 0.03, 0.515, 0.955) both;
  animation-delay: var(--delay);
}

/* ----------------------------------------------
 * Generated by Animista on 2024-6-19 10:34:56
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */

/**
 * ----------------------------------------
 * animation slide-in-bottom
 * ----------------------------------------
 */
@keyframes slide-in-bottom {
  0% {
    transform: translateY(2rem);
    opacity: 0;
  }

  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes simple-reveal {
  0% {
    /* transform: translateY(2rem); */
    opacity: 0;
  }

  100% {
    /* transform: translateY(0); */
    opacity: 1;
  }
}


.reveal {
  opacity: 0;

  &.revealed {
    opacity: 1;
    animation: simple-reveal 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
    animation-delay: var(--delay);
  }
}

.reveal[data-split="true"] {
  display: flex;
  flex-wrap: wrap;
  opacity: 1 !important;
  transition: none;

  & .word {
    padding-inline-end: .3ch;
    /* background-color: pink; */
  }

  & .char {
    opacity: 0;
  }

  &.revealed .char {
    animation: flip-in-diag-1-bl 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
    animation-delay: var(--delay);
  }
}

.hero7 .reveal[data-split="true"] {
  & .word {
    padding-inline: .3ch;
    /* background-color: brown; */
  }
}



.wait {
  opacity: 0;
  /* transition: all .5s cubic-bezier(0.165, 0.84, 0.44, 1); */
  animation: f 2s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
  animation-delay: var(--delay);

  &+.wait {
    animation-delay: calc(var(--delay) * 1.2);

  }
}

/* ----------------------------------------------
 * Generated by Animista on 2024-6-18 11:3:5
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */


@keyframes flip-in-diag-1-bl {
  0% {
    -webkit-transform: rotate3d(1, 1, 0, 80deg);
    transform: rotate3d(1, 1, 0, 80deg);
    opacity: 0;
  }

  100% {
    -webkit-transform: rotate3d(1, 1, 0, 0deg);
    transform: rotate3d(1, 1, 0, 0deg);
    opacity: 1;
  }
}

@keyframes f {
  0% {

    /* opacity: 0; */
  }

  100% {

    opacity: 1;
    /* background-color: pink; */
  }
}




/* Btn Tag */
#presentation {
  --width-icon: 4rem;
}

.btn-tag,
.go-back,
.btn-header {
  text-decoration: none;
  color: inherit;
}

.btn-tag {

  --bg: var(--java-20);

  overflow: hidden;
  user-select: none;
  height: var(--width-icon);


  font-size: var(--fs-base);
  font-family: inherit;
  text-transform: uppercase;

  margin: 0;
  padding: 0;

  display: flex;
  position: relative;
  border-radius: 100vh;

  background-color: transparent;
  line-height: 1;
  font-weight: 400;
  text-align: start;

  & span {
    display: block;
  }

  &:focus-visible {
    /* outline: none; */
  }

  &:focus-visible .text,
  &:focus-visible .icon {
    background-color: black;
    color: white;
  }
}

li {
  --width-icon: 2.5rem;
}

.dark {
  --bg-tag: var(--java-200);
  --color-tag: var(--java-10);

  --color-tag-hover: var(--java-10);
}

.light {
  --bg-tag: var(--java-20);
  --color-tag: var(--java-800);

  --color-tag-hover: var(--java-600);
}

.btn-tag .icon,
.btn-tag .text {
  background-color: var(--bg-tag);
  color: var(--color-tag);
  border-radius: 100vh;
  height: 100%;


  display: flex;
  align-items: center;
  transition: width .2s ease, background-color .25s ease;

}


.btn-tag .text {

  padding-left: 1rem;
  padding-right: 4rem;
  white-space: nowrap;
  /* en lugar de usar un min-width, usa un padding para la flecha , y con nowrap en hover no se volvera nunca 2 lineas*/
  width: 100%;

  &>span {
    /* max-width: 70%; */
  }
}

.btn-tag .icon {
  width: var(--width-icon);
  line-height: 1;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  justify-content: center;

  & svg {
    width: 1.2rem;
  }

}

.btn-tag:hover {
  --bg-tag: var(--java-70);

  & .text {
    width: calc(100% - var(--width-icon) - .2rem);
  }
}



/* go back */

.go-back {
  display: inline-grid;
  grid-auto-flow: column;
  align-items: center;
  /* align- */
  justify-content: center;
  gap: .5ch;
  background-color: var(--color-tag);
  color: var(--bg-tag);


  width: 100%;

  padding: var(--link-padding, .5rem);
  min-height: 2.5rem;
  border-radius: .5rem;

  & svg {
    rotate: -180deg;
    width: .8rem;
    display: block;
  }

  &:hover {
    color: var(--bg-tag-hover);
  }
}

.caps {
  text-transform: uppercase;
}


[hidden] {
  display: none;
}

hr {


  height: .05em;
  padding: 0;
  padding-top: 0px;
  margin: 0;
  margin-top: 0px;
  padding-top: 0 !important;
  background-color: currentColor;
  border: none;
}







/* cursor on follow https://codepen.io/ntenebruso/pen/QWLzVjY */
:root {
  --width-cursor: 3.5em;
  --width-cursor-inner: .5em;
}

.light {
  --border-cursor: rgba(199, 196, 196, 1);
  --bg-cursor: rgba(199, 196, 196, 0.3);

  --bg-cursor-inner: white;

  --color-cursor-text: rgb(77, 76, 76);



}


.dark {
  --border-cursor: rgba(39, 39, 39, 1);
  --bg-cursor: rgba(39, 39, 39, 0.3);

  --bg-cursor-inner: black;

  --color-cursor-text: white;
}




.cursor {
  width: var(--width-cursor);
  height: var(--width-cursor);
  background-color: var(--bg-cursor);
  border-radius: 100%;
  border: 2px solid var(--border-cursor);
  transition: all 200ms ease-out;
  position: fixed;
  z-index: 99;
  pointer-events: none;
  left: 0;
  /* left: 50%; */
  top: 0;
  /* transform: translate(calc(-50% + 15px), -50%); */
  transform: translate(calc(-50% + var(--width-cursor)), -50%);
  /* transform: translate(-50%, -50%); */
}

.cursor2 {
  width: var(--width-cursor-inner);
  height: var(--width-cursor-inner);

  border-radius: 100%;
  background-color: var(--bg-cursor-inner);
  opacity: .4;
  position: fixed;
  transform: translate(-50%, -50%);
  pointer-events: none;
  transition: width .6s, height .3s, opacity .3s;
}

.cursor,
.cursor2 {
  display: none;
}

@media (hover:hover) {

  .cursor,
  .cursor2 {
    display: block;
  }

}

.light .cursor.hovering-a-figure {
  --bg-cursor: white;
  --border-cursor: transparent;
  --width-cursor: 11em;
}

.dark .cursor.hovering-a-figure {
  --bg-cursor: black;
  --border-cursor: transparent;
  --width-cursor: 11em;
}

.cursor.hovering-a-figure {
  opacity: 1;

  &::after {
    content: attr(data-location);
    position: absolute;
    inset: 0;
    display: grid;
    place-content: center;
    text-align: center;
    padding: 1rem;
    font-weight: bold;
    line-height: 1.1;
    color: var(--color-cursor-text);
    /* filter: brightness(1.3); */
    /* filter: saturate(3); */
    /* backdrop-filter: blur(.2rem); */
    border-radius: inherit;
  }
}


.hovering-a-link {
  --width-cursor: 2em;
  opacity: 0.3;
}


.cursorinnerhover {
  width: 3.5em;
  height: 3.5em;
  opacity: .5;
}













/* tags */

.has-hidden-tags {
  position: relative;
  border-radius: var(--radius);

  & .tags-are-hidden {
    padding: 0rem;
    padding-left: .5rem;

    font-weight: 200;
    font-size: .8em;
    text-transform: uppercase;
    position: absolute;

    opacity: 1;
    top: 0;
    left: 0;

    display: flex;
    flex-wrap: wrap;
    gap: .2rem;
    padding: .5rem;
  }
}



.tag {
  all: unset;
  background: var(--java-700);
  color: white;
  padding: .3em .5em;
  border-radius: .4rem;

  max-width: 75vw;
  line-height: 1.1;
}




@media (hover:hover) {
  .tag {
    transform: translate(0%, -20%);
    opacity: 0;
    transition: opacity .2s ease translate .2 ease;
    transition: all .2s ease;

    &:nth-child(2) {
      transition-delay: .05s;
    }

    &:nth-child(3) {
      transition-delay: .1s;
    }

    &:nth-child(4) {
      transition-delay: .15s;
    }
  }


  .has-hidden-tags:hover .tags-are-hidden .tag,
  .post-clickable:hover .tags-are-hidden .tag {
    transform: translate(0%, 10%);
    opacity: 1;
  }
}



/* <style> */
:root {
  --radius-lg: 2rem;
  --radius-md: 1rem;
  --radius: .4rem;

  --spacer-top: 2rem;
}

.line {
  display: flex;
  flex-wrap: wrap;
  /* align-items: end; */
  align-items: center;
  gap: .5ch;
  vertical-align: middle;
  line-height: 1;

  &>* {
    display: inline-block;
  }
}

.inline-block {
  display: inline-block;
}

.wide {
  grid-column: -1/1 !important;
}


/* .eyebrow-sprinkle {
  position: relative;
  display: inline-grid;
  align-items: center;
  gap: .2em;
  line-height: 1;
  padding-block: .6em;

  color: rgb(68, 67, 67);

  &::after {
    content: '';
    height: .25em;
    width: .6em;
    background-color: brown;
    border-radius: 100vh;
  }
} */

.eyebrow-sprinkle {
  position: relative;
  display: inline-grid;
  grid-auto-flow: column;
  align-items: center;
  gap: .2em;
  line-height: 1;
  padding-block: .6em;

  color: rgb(68, 67, 67);

  &::before {
    content: '';
    height: .25em;
    width: .6em;
    background-color: brown;
    border-radius: 100vh;
  }
}

.eyebrow-pill {
  font-size: var(--fs-sm);
  padding: .5em .5em;
  border-radius: 100vh;
  font-weight: 500;
  font-weight: 700;

  background-color: rgba(249, 145, 11, 0.4);
  backdrop-filter: blur(2rem);
  backdrop-filter: saturate(20);
}



/* </style> */


/* <style> */
.intro-w-sun {
  --color1: rgb(219, 180, 7);
  --color2: white;
  --color3: rgb(240, 238, 238);
  margin: 0;
  text-align: center;


  -webkit-background-clip: text;
  background-clip: text;
  background-image: linear-gradient(91deg, var(--color1) 20.12%, var(--color2) 55.27%, var(--color3) 82.61%);

  color: transparent;

  & .title-star {

    fill: var(--color1);
    color: var(--accent);
    position: absolute;
    top: 0;
    right: 0;

    transform: translate(100%, -.3em);
  }

  & svg {
    all: unset;
    fill: rebeccapurple;
  }

}


.light {
  --accent: #cd7300;
}

.dark {
  --accent: #ffaa3e;
}


.row {
  display: grid;
  grid-template-columns: minmax(20%, 15vw) 1fr;
  align-items: center;
  gap: 1rem;
}

.col {
  display: grid;
  /* grid-template-rows: minmax(20%, 50vh) 1fr; */
  align-items: center;
  gap: 1rem;
}

.row-alt {
  display: grid;
  grid-template-columns: 1fr minmax(20%, 4rem);
  align-items: center;
  gap: 1rem;
}

.preview4 {
  /* & article { */
  display: grid;
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-lg);


  &>div {
    position: absolute;
    inset: 0;
    padding: 1.5rem;
    display: grid;
    /* place-content: end; */
    color: white;
    font-weight: 900 !important;
    background-color: transparent;
    background-image: linear-gradient(transparent 80%, rgba(48, 47, 47, 0.664));
  }

}

.preview5 {
  display: grid;
  position: relative;
  grid-template-rows: auto 1fr;
  height: 100%;
  /* 
  &>div:nth-child(2) {
    display: grid;
    font-weight: 900 !important;
  } */

}

.preview6 {
  display: grid;
  position: relative;

  &>div:nth-child(2) {

    padding-top: .5rem;
    display: grid;
    /* place-content: end; */

    font-weight: 900 !important;

  }

}





.style1 {
  background-color: var(--bg-pure);
  color: var(--java-10);
}










/* biggest contrast, for btn */
.colors0 {
  background-color: #f3efef;
  color: #04131c;
  line-height: 1;
}

.dark .colors0 {
  color: white;
  background-color: #04131c;
}

/* for section */
.colors1 {
  background-color: #ededed;
  color: #04131c;
  line-height: 1;
}

.dark .colors1 {
  color: white;
  background-color: var(--java-600);
  /* color: pink; */
}

/* big contrast */
.colors2 {
  background-color: var(--java-10);
  color: var(--java-700);
  /* font-weight: 600; */
}

.dark .colors2 {
  color: var(--java-10);
  background-color: var(--java-700);
}



/* special, i just want them to stand out as higher so they mush have lighter or colourful bg than anterior section */
.colors3 {
  background-color: rgb(243, 243, 243);
  color: var(--java-800);
}

a.colors3:hover {
  color: var(--java-400);
}

.dark a.colors3:hover {
  color: var(--java-800);
}

.dark .colors3 {
  color: rgb(243, 243, 243);
  background-color: var(--java-400);
}

/* just darker bg */
.colors4 {
  background-color: rgb(212, 209, 209);
}

.dark .colors4 {
  background-color: #02141f;
}

/* higher than the image only */
.colors7 {
  background-color: var(--java-200);
  /* color: white; */
}

.dark .colors7 {
  background-color: var(--java-700);
  color: white;
}


.rounded-on-top {
  --radius-top: var(--radius-md);
  border-radius: var(--radius-top) var(--radius-top) 0 0;
}

section.rounded-on-top {
  border-radius: 0;
  position: relative;

  &::before {
    content: '';
    height: 2rem;
    position: absolute;
    top: 0;
    transform: translate(0, -90%);
    /* width: 100%; */
    left: 0;
    right: 0;
    background: inherit;
    /* background-color: pink; */
    border-radius: var(--radius-top) var(--radius-top) 0 0;

  }
}

/* </style> */


/* <style> */
.muted {
  opacity: .8;
  font-weight: 400;
}

.h6 {
  line-height: 1.3;
}

.h-100 {
  height: 100%;
}

/* </style> */


/* <style> */
.post-content {
  font-size: var(--fs-base);
  line-height: 1.5;

  & ul {
    list-style: disc;
    padding-inline-start: 1em;
  }

  &>* {
    padding-bottom: .4em;
  }

  & h1,
  h2,
  h3 {
    padding-top: .5em;
  }

  & img {
    max-height: 30rem !important;
    width: auto;
    border-radius: 1rem;
  }
}

/* </style> */
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0ZGluIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6InN0ZGluIiwic291cmNlc0NvbnRlbnQiOlsiLm1hcnF1ZWUge1xuICAtLWdhcDogMXJlbTtcbiAgLS1zaXplLW1hcnF1ZWUtaXRlbTogMTN2dztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbmltYXRpb246IHNjcm9sbCAxMHMgbGluZWFyIGluZmluaXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLWdhcCk7XG4gIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZVxufVxuXG4ubWFycXVlZSAubWFycXVlZS1pdGVtcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBnYXA6IHZhcigtLWdhcClcbn1cblxuLm1hcnF1ZWUgLm1hcnF1ZWUtaXRlbXM+KiB7XG4gIHdpZHRoOiB2YXIoLS1zaXplLW1hcnF1ZWUtaXRlbSk7XG4gIGhlaWdodDogdmFyKC0tc2l6ZS1tYXJxdWVlLWl0ZW0pO1xuICBmbGV4LXNocmluazogMDtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtYWxsKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyXG59XG5cbi5tYXJxdWVlOmhvdmVyIHtcbiAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZFxufVxuXG5Aa2V5ZnJhbWVzIHNjcm9sbCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpXG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtMTAwJSAtIHZhcigtLWdhcCkpKVxuICB9XG59XG5cbjpyb290IHtcbiAgLyogLS1oZWFkZXItaXRlbS1oZWlnaHQ6IDIuMmVtO1xuICAtLWZzLTI6IGNsYW1wKDFyZW0sIDEuNXZ3ICsgMTBweCwgMnJlbSk7XG4gIC0tZnMtMTogY2xhbXAoMnJlbSwgM3Z3ICsgMTBweCwgNHJlbSk7XG4gIC0tcmFkaXVzLWJhc2U6IDEuM3JlbTtcbiAgLS1yYWRpdXMtc206IC4zcmVtO1xuICAtLXRyYW5zaXRpb246IGFsbCAuMnMgZWFzZSAqL1xufVxuXG5cblxuXG4uaW50cm8ge1xuICBtYXgtd2lkdGg6IDYwY2hcbn1cblxuLmludHJvLmluLW1pZGRsZSB7XG4gIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlclxufVxuXG5wLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZFxufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBsaW5lLWhlaWdodDogMTtcbiAgLyogcGFkZGluZy1ib3R0b206IC4yZW0gKi9cbn1cblxucCB7XG4gIHRleHQtd3JhcDogcHJldHR5XG59XG5cblxuXG5waWN0dXJlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogMXJlbVxufVxuXG51bCxcbm9sIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lXG59XG5cbnRhYmxlIHtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMnJlbSAwXG59XG5cbnRhYmxlLFxudGgsXG50ZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgcGFkZGluZzogLjVyZW1cbn1cblxubWFyayB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLW1hcmssIHZpb2xldClcbn1cblxuYWJiciB7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogLjJyZW1cbn1cblxuOjotbW96LXNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmU3ZDFcbn1cblxuOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJlN2QxXG59XG5cbmltZyxcbnBpY3R1cmUsXG52aWRlbyxcbmNhbnZhcyxcbnN2ZyxcbmZpZ3VyZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0b1xufVxuXG5pbWcge1xuICAtby1vYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LWZpdDogY292ZXJcbn1cblxuZmlnY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc2l6ZS1jYXB0aW9uLCAwLjhyZW0pO1xuICBvcGFjaXR5OiB2YXIoLS1vcC1jYXB0aW9uLCAwLjgpO1xuICBkaXNwbGF5OiBibG9ja1xufVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbnRleHRhcmVhLFxuc2VsZWN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApO1xuICBjdXJzb3I6IHBvaW50ZXJcbn1cblxuc3ZnIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrXG59XG5cblxuXG5cblxuXG5cblxuLmJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2tcbn1cblxuLmFsaWduLWl0ZW1zLWNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXJcbn1cblxuXG5cblxuXG5cbjpyb290IHtcbiAgLS1pbnB1dC1ib3JkZXI6ICM4YjhhOGI7XG4gIC0taW5wdXQtZm9jdXMtaDogMjQ1O1xuICAtLWlucHV0LWZvY3VzLXM6IDEwMCU7XG4gIC0taW5wdXQtZm9jdXMtbDogNDIlXG59XG5cbi5pbnB1dCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiBtYXgoMTZweCwgMWVtKTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IC40ZW0gLjdlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmcpO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1pbnB1dC1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICB0cmFuc2l0aW9uOiAuMXMgYm94LXNoYWRvdyBlYXNlLWluLW91dDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGhlaWdodDogM3JlbTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5pbnB1dDpmb2N1cy12aXNpYmxlIHtcbiAgYm9yZGVyLWNvbG9yOiBoc2wodmFyKC0taW5wdXQtZm9jdXMtaCksIHZhcigtLWlucHV0LWZvY3VzLXMpLCB2YXIoLS1pbnB1dC1mb2N1cy1sKSk7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCBoc2xhKHZhcigtLWlucHV0LWZvY3VzLWgpLCB2YXIoLS1pbnB1dC1mb2N1cy1zKSwgY2FsYyh2YXIoLS1pbnB1dC1mb2N1cy1sKSArIDQwJSksIDAuOCk7XG4gIG91dGxpbmU6IDNweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApXG59XG5cbnRleHRhcmVhLmlucHV0IHtcbiAgaGVpZ2h0OiB1bnNldDtcbiAgcmVzaXplOiB2ZXJ0aWNhbFxufVxuXG4uaW5wdXRbdHlwZT1maWxlXSB7XG4gIGZvbnQtc2l6ZTogLjllbTtcbiAgcGFkZGluZy10b3A6IC4zNXJlbTtcbiAgaGVpZ2h0OiB1bnNldDtcbiAgYm9yZGVyOiBub25lXG59XG5cbi5pbnB1dDo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjNjM5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDNlbTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0taW5wdXQtYm9yZGVyKVxufVxuXG4uaW5wdXRbcmVhZG9ubHldIHtcbiAgYm9yZGVyLXN0eWxlOiBkb3R0ZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIGNvbG9yOiAjNzc3XG59XG5cbi5pbnB1dFtkaXNhYmxlZF0ge1xuICAtLWlucHV0LWJvcmRlcjogI2NjYztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmVcbn1cblxuLmZpZWxkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlXG59XG5cbi5maWVsZCBsYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxcmVtO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSwgLTUwJSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnKTtcbiAgZm9udC1zaXplOiAuOGVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICB6LWluZGV4OiAzXG59XG5cbi5maWVsZCAuaW5wdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnKVxufVxuXG4uZmllbGQgLmlucHV0IGlucHV0IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7XG4gIHBhZGRpbmctaW5saW5lOiAuNWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZykgIWltcG9ydGFudFxufVxuXG4uZmllbGQgYnV0dG9uIHtcbiAgLS1zcGFjaW5nOiAwcHg7XG4gIHdpZHRoOiAycmVtO1xuICByaWdodDogdmFyKC0tc3BhY2luZyk7XG4gIHRvcDogdmFyKC0tc3BhY2luZyk7XG4gIHotaW5kZXg6IDI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1zcGFjaW5nKSoyKTtcbiAgYmFja2dyb3VuZDogcGluaztcbiAgcGFkZGluZzogLjVyZW1cbn1cblxuXG5cbi5iZy13aGl0ZSB7XG4gIGJhY2tncm91bmQ6ICNmZmZcbn1cblxuLmdyaWQtcm93IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgZ2FwOiAuNWNoXG59XG5cbi5ncmlkLWNlbnRlciB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWNvbnRlbnQ6IGNlbnRlclxufVxuXG4uZ3JpZC1jb2x1bW5zLFxuLmdyaWQtYXV0b2NvbHVtbnMsXG4uZ3JpZC1hdXRvZmxvdyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtYXV0by1mbG93OiBjb2x1bW5cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWQtaW1hZ2VzLXppZ3phZz4qOm50aC1jaGlsZCgybisyKSAuaW1hZ2Utd3JhcHBlciB7XG4gICAgb3JkZXI6IC0xXG4gIH1cbn1cblxuLm1kLTEwLTIwIHtcbiAgZGlzcGxheTogZ3JpZFxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tZC0xMC0yMCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMmZyXG4gIH1cbn1cblxuLm1kLTEwLTE1IHtcbiAgZGlzcGxheTogZ3JpZFxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tZC0xMC0xNSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMS41ZnJcbiAgfVxufVxuXG4ubWQtMTAtMTAge1xuICBkaXNwbGF5OiBncmlkXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1kLTEwLTEwIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnJcbiAgfVxufVxuXG5cblxuLnN0aWNrcy1vbi10b3Age1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IHZhcigtLXNwYWNlciwgMCk7XG4gIGFsaWduLXNlbGY6IHN0YXJ0O1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZXIsIDApXG59XG5cbi5tZC1zdGlja3Mtb24tdG9wIHtcbiAgLyogcGFkZGluZy10b3A6IHZhcigtLXNwYWNlci10b3AsIDApICovXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1kLXN0aWNrcy1vbi10b3Age1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiB2YXIoLS1zcGFjZXItdG9wLCAwKTtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICBtYXgtaGVpZ2h0OiA5NXZoO1xuICAgIG92ZXJmbG93LXk6IGF1dG9cbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tZC1wYi0yMCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcmVtXG4gIH1cbn1cblxuXG5cblxuXG5hW2RhdGEtcmVwbGFjZV0ge1xuICAtLWJvcmRlci13aWR0aDogMnB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgcGFkZGluZy1pbmxpbmUtZW5kOiAyZW1cbn1cblxuYVtkYXRhLXJlcGxhY2VdOjpiZWZvcmUsXG5hW2RhdGEtcmVwbGFjZV06OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgbGVmdDogMFxufVxuXG5hW2RhdGEtcmVwbGFjZV06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NGIzZDY7XG4gIGhlaWdodDogdmFyKC0tYm9yZGVyLXdpZHRoKTtcbiAgYm90dG9tOiAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKDAuNzYsIDAsIDAuMjQsIDEpXG59XG5cbmFbZGF0YS1yZXBsYWNlXTo6YWZ0ZXIge1xuICBjb250ZW50OiBhdHRyKGRhdGEtcmVwbGFjZSk7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAlLCAwLCAwKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoMC43NiwgMCwgMC4yNCwgMSk7XG4gIGNvbG9yOiAjNTRiM2Q2XG59XG5cbmFbZGF0YS1yZXBsYWNlXTpob3Zlcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlO1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKVxufVxuXG5hW2RhdGEtcmVwbGFjZV06aG92ZXI6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKVxufVxuXG5hW2RhdGEtcmVwbGFjZV0gc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoMC43NiwgMCwgMC4yNCwgMSlcbn1cblxuYVtkYXRhLXJlcGxhY2VdOmhvdmVyIHNwYW4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAlLCAwLCAwKVxufVxuXG5cblxuXG4ubGluay1ob3Zlci1nZXRzLWJnLFxuLmxpbmstaG92ZXItZ2V0cy11bmRlcmxpbmUge1xuICAtLWJvcmRlci13aWR0aDogMTAwJTtcbiAgLS1ib3JkZXItYmc6IGdyZWVuO1xuXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCB2YXIoLS1ib3JkZXItYmcpLCB2YXIoLS1ib3JkZXItYmcpKSBuby1yZXBlYXQgcmlnaHQgYm90dG9tLzAgdmFyKC0tYm9yZGVyLXdpZHRoKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1zaXplIDM1MG1zO1xuICBwYWRkaW5nOiAuMmVtIC40ZW07XG4gIGJvcmRlci1yYWRpdXM6IC4yZW1cbn1cblxuLmxpbmstaG92ZXItZ2V0cy1iZzp3aGVyZSg6aG92ZXIsIDpmb2N1cy12aXNpYmxlKSxcbi5saW5rLWhvdmVyLWdldHMtdW5kZXJsaW5lOndoZXJlKDpob3ZlciwgOmZvY3VzLXZpc2libGUpIHtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIHZhcigtLWJvcmRlci13aWR0aCk7XG4gIGJhY2tncm91bmQtcG9zaXRpb24teDogbGVmdFxufVxuXG4ubGluay1ob3Zlci1nZXRzLXVuZGVybGluZSB7XG4gIHBhZGRpbmc6IHZhcigtLWxpbmstcGFkZGluZywgLjJlbSAuMWVtKTtcbiAgLS1ib3JkZXItd2lkdGg6IDJweDtcblxuXG59XG5cblxuQGtleWZyYW1lcyBtb3ZlIHtcbiAgZnJvbSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMnB4IDE5cHhcbiAgfVxuXG4gIHRvIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MDBweCAxOXB4XG4gIH1cbn1cblxuLml0ZW1zLXN0eWxlMT4qIHtcbiAgLS1iZy1hcnJvdzogcmdiKDI1MCwgMjA5LCAyMTUpO1xuICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0tYmctYXJyb3cpO1xuICBwYWRkaW5nOiAycmVtIDFyZW07XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmY2YzZjRcbn1cblxuLml0ZW1zLXN0eWxlMT4qIC50ZXh0IHtcbiAgdHJhbnNpdGlvbjogYWxsIC4ycyBjdWJpYy1iZXppZXIoMC40LCAwLjQsIDAsIDEpXG59XG5cbi5pdGVtcy1zdHlsZTE+KiAuaWNvbiB7XG4gIHdpZHRoOiB2YXIoLS13aWR0aC1pY29uLCAyLjVyZW0pO1xuICBoZWlnaHQ6IHZhcigtLXdpZHRoLWljb24sIDIuNXJlbSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWFycm93KTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtY29udGVudDogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAxMDB2aDtcbiAgdHJhbnNpdGlvbjogYWxsIC42cyBjdWJpYy1iZXppZXIoMC40LCAwLjQsIDAsIDEpXG59XG5cbi5pdGVtcy1zdHlsZTE+Kjpob3ZlciB7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3Jcbn1cblxuLml0ZW1zLXN0eWxlMT4qOmhvdmVyIC50ZXh0IHtcbiAgb3BhY2l0eTogLjdcbn1cblxuLml0ZW1zLXN0eWxlMT4qOmhvdmVyIC5pY29uIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMC40cmVtLCAwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjYTVjMlxufVxuXG4uaXRlbXMtc3R5bGUxPiogc3ZnIHtcbiAgd2lkdGg6IHZhcigtLXdpZHRoLXN2ZywgMXJlbSk7XG4gIGhlaWdodDogdmFyKC0td2lkdGgtc3ZnLCAxcmVtKVxufVxuXG4uZGV0YWlscy1ncm91cCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjZmQ4ZGM7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZlxufVxuXG4uZGV0YWlscyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2ZkOGRjO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMzAwbXMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcbiAgdHJhbnNpdGlvbjogYWxsIC4ycyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpO1xuICAtLXN1bW1hcnktZnM6IDFyZW1cbn1cblxuLmRldGFpbHNfX3N1bW1hcnk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBwaW5rXG59XG5cbi5kZXRhaWxzX19zdW1tYXJ5OmZvY3VzLXZpc2libGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb3JhbFxufVxuXG4uZGV0YWlsc1tvcGVuXSB7XG4gIC0tbGluZTEtcm90YXRpb246IDQ1ZGVnO1xuICAtLWxpbmUyLXJvdGF0aW9uOiA0NWRlZ1xufVxuXG4uZGV0YWlscy5pcy1jbG9zaW5nIHtcbiAgLS1saW5lMS1yb3RhdGlvbjogMGRlZztcbiAgLS1saW5lMi1yb3RhdGlvbjogMGRlZ1xufVxuXG4uZGV0YWlsczpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogMFxufVxuXG4uZGV0YWlsc19fc3VtbWFyeSxcbi5kZXRhaWxzX19jb250ZW50IHtcbiAgcGFkZGluZzogMjRweFxufVxuXG4uZGV0YWlsc19fc3VtbWFyeSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiA0OHB4O1xuICBvdXRsaW5lOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1zdW1tYXJ5LWZ3KTtcbiAgZm9udC1zaXplOiB2YXIoLS1zdW1hcnktZnMpO1xuICB0cmFuc2l0aW9uOiBjb2xvciAzMDBtcyBjdWJpYy1iZXppZXIoMC4xNjUsIDAuODQsIDAuNDQsIDEpXG59XG5cbltvcGVuXT4uZGV0YWlsc19fc3VtbWFyeSB7XG4gIGNvbG9yOiAjMDBhY2MxXG59XG5cbi5kZXRhaWxzX19zdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2VyIHtcbiAgZGlzcGxheTogbm9uZVxufVxuXG4uZGV0YWlsc19fc3VtbWFyeTpiZWZvcmUsXG4uZGV0YWlsc19fc3VtbWFyeTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSlcbn1cblxuLmRldGFpbHNfX3N1bW1hcnk6YmVmb3JlIHtcbiAgbGVmdDogMjBweDtcbiAgdG9wOiA1MCU7XG4gIGhlaWdodDogMnB4O1xuICBtYXJnaW4tdG9wOiAtMXB4O1xuICB3aWR0aDogMTZweDtcbiAgYmFja2dyb3VuZDogIzAwYWNjMTtcbiAgdHJhbnNmb3JtOiByb3RhdGUodmFyKC0tbGluZTEtcm90YXRpb24pKVxufVxuXG4uZGV0YWlsc19fc3VtbWFyeTphZnRlciB7XG4gIGxlZnQ6IDI4cHg7XG4gIHRvcDogNTAlO1xuICBoZWlnaHQ6IDE2cHg7XG4gIG1hcmdpbi10b3A6IC04cHg7XG4gIHdpZHRoOiAycHg7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICBiYWNrZ3JvdW5kOiAjMDBhY2MxO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSh2YXIoLS1saW5lMi1yb3RhdGlvbikpXG59XG5cbi5kZXRhaWxzX19jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctbGVmdDogNDhweFxufVxuXG4uZGV0YWlscy1ncm91cC5zdHlsZTIge1xuICBib3JkZXI6IG5vbmU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogLjRyZW07XG4gIC0tc3VtbWFyeS1mdzogODAwO1xuICAtLXN1bWFyeS1mczogMS41cmVtXG59XG5cbi5kZXRhaWxzLWdyb3VwLnN0eWxlMiAuZGV0YWlscyB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgYm9yZGVyLXJhZGl1czogMXJlbSAxcmVtIDAgMDtcbiAgYm9yZGVyLXJhZGl1czogMXJlbVxufVxuXG4uZGV0YWlscy1ncm91cC5zdHlsZTIgLmRldGFpbHNfX3N1bW1hcnk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNiMDliXG59XG5cbi5kZXRhaWxzLWdyb3VwLnN0eWxlMiAuZGV0YWlsc19fc3VtbWFyeTpmb2N1cy12aXNpYmxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhYzliN1xufVxuXG4uZGV0YWlscy1ncm91cC5zdHlsZTIgLmRldGFpbHNfX3N1bW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzljM2MzXG59XG5cbi5kZXRhaWxzLWdyb3VwLnN0eWxlMiAuZGV0YWlsc1tvcGVuXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCAjYWI3OWZjXG59XG5cbi5kZXRhaWxzLWdyb3VwLnN0eWxlMiAuZGV0YWlsc1tvcGVuXSAuZGV0YWlsc19fc3VtbWFyeSB7XG4gIGNvbG9yOiAjNGEwMGMxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApXG59XG5cbi5kZXRhaWxzLWdyb3VwLnN0eWxlMiAuZGV0YWlsc19fc3VtbWFyeTo6YmVmb3JlLFxuLmRldGFpbHMtZ3JvdXAuc3R5bGUyIC5kZXRhaWxzX19zdW1tYXJ5OjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvclxufVxuXG4uZGV0YWlscy1ncm91cC5zdHlsZTIgLmRldGFpbHNbb3Blbl0gLmRldGFpbHNfX3N1bW1hcnk6OmJlZm9yZSxcbi5kZXRhaWxzLWdyb3VwLnN0eWxlMiAuZGV0YWlsc1tvcGVuXSAuZGV0YWlsc19fc3VtbWFyeTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGEwMGMxXG59XG5cbi5kZXRhaWxzLWdyb3VwLnN0eWxlMiAuZGV0YWlsc19fY29udGVudCB7XG4gIHBhZGRpbmc6IDJyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZVxufVxuXG4uZGV0YWlscy1ncm91cC5zdHlsZTIgLmRldGFpbHNfX2NvbnRlbnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAycHg7XG4gIGxlZnQ6IDFyZW07XG4gIHJpZ2h0OiAxcmVtO1xuICBoZWlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRhMDBjMVxufVxuXG4uZGV0YWlscy1ncm91cC5zdHlsZTMge1xuICBib3JkZXI6IG5vbmU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogLjRyZW07XG4gIC0tc3VtbWFyeS1mdzogODAwO1xuICAtLXN1bWFyeS1mczogMS4ycmVtXG59XG5cbi5kZXRhaWxzLWdyb3VwLnN0eWxlMyAuZGV0YWlscyB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogLjNyZW1cbn1cblxuLmRldGFpbHMtZ3JvdXAuc3R5bGUzIC5kZXRhaWxzX19zdW1tYXJ5OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzgxZjU5NFxufVxuXG4uZGV0YWlscy1ncm91cC5zdHlsZTMgLmRldGFpbHNfX3N1bW1hcnk6Zm9jdXMtdmlzaWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWM5Yjdcbn1cblxuLmRldGFpbHMtZ3JvdXAuc3R5bGUzIC5kZXRhaWxzX19zdW1tYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk0ZWViNlxufVxuXG4uZGV0YWlscy1ncm91cC5zdHlsZTMgLmRldGFpbHNbb3Blbl0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggZ3JheVxufVxuXG4uZGV0YWlscy1ncm91cC5zdHlsZTMgLmRldGFpbHNbb3Blbl0gLmRldGFpbHNfX3N1bW1hcnkge1xuICBjb2xvcjogIzE2NTgxNjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZmNhYjtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4ICMxNjU4MTY7XG4gIGJvcmRlci1yYWRpdXM6IC4ycmVtXG59XG5cbi5kZXRhaWxzLWdyb3VwLnN0eWxlMyAuZGV0YWlsc19fc3VtbWFyeTo6YmVmb3JlLFxuLmRldGFpbHMtZ3JvdXAuc3R5bGUzIC5kZXRhaWxzX19zdW1tYXJ5OjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvclxufVxuXG4uZGV0YWlscy1ncm91cC5zdHlsZTMgLmRldGFpbHNbb3Blbl0gLmRldGFpbHNfX3N1bW1hcnk6OmJlZm9yZSxcbi5kZXRhaWxzLWdyb3VwLnN0eWxlMyAuZGV0YWlsc1tvcGVuXSAuZGV0YWlsc19fc3VtbWFyeTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTY1ODE2XG59XG5cbi5kZXRhaWxzLWdyb3VwLnN0eWxlMyAuZGV0YWlsc19fY29udGVudCB7XG4gIHBhZGRpbmc6IDJyZW1cbn1cblxuLmZvbnQtdGhpbmVzdCB7XG4gIGZvbnQtd2VpZ2h0OiAxMDBcbn1cblxuLmZvbnQtdGhpbmVyIHtcbiAgZm9udC13ZWlnaHQ6IDIwMFxufVxuXG4uZm9udC10aGluIHtcbiAgZm9udC13ZWlnaHQ6IDMwMFxufVxuXG4uZm9udC1ub3JtYWwge1xuICBmb250LXdlaWdodDogNDAwXG59XG5cbi5mb250LXNlbWlib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDUwMFxufVxuXG4uZm9udC1ib2xkIHtcbiAgZm9udC13ZWlnaHQ6IDYwMFxufVxuXG4uZm9udC1ib2xkZXIge1xuICBmb250LXdlaWdodDogNzAwXG59XG5cbi5mb250LWJvbGRlc3Qge1xuICBmb250LXdlaWdodDogODAwXG59XG5cblxuXG4uZm9udC1hY2NlbnQge1xuICBjb2xvcjogdmFyKC0tYWNjZW50KTtcbn1cblxuW2NsYXNzKj1yYXRpb10ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMFxufVxuXG5bY2xhc3MqPXJhdGlvXT5pbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlXG59XG5cbi5yYXRpby01LTIge1xuICBwYWRkaW5nLXRvcDogNDAlXG59XG5cbi5yYXRpby0xNi05IHtcbiAgcGFkZGluZy10b3A6IDU2LjI1JVxufVxuXG4ucmF0aW8tNC0zIHtcbiAgcGFkZGluZy10b3A6IDc1JVxufVxuXG4ucmF0aW8tMS0xIHtcbiAgcGFkZGluZy10b3A6IDEwMCVcbn1cblxuLnJhdGlvLTktMTYge1xuICBwYWRkaW5nLXRvcDogMTc3Ljc4JVxufVxuXG4ucmF0aW8tMy00IHtcbiAgcGFkZGluZy10b3A6IDEzMy4zMyVcbn1cblxuLnJhdGlvLTItMyB7XG4gIHBhZGRpbmctdG9wOiAxNTAlXG59XG5cbi5yb3VuZGVkLWxnIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKVxufVxuXG4ucm91bmRlZC1tZCB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZClcbn1cblxuLnJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpXG59XG5cbi5yb3VuZGVkLXNtIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKVxufVxuXG4ucm91bmRlZC14cyB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy14cylcbn1cblxuLnJvdW5kZWQtZnVsbCB7XG4gIGJvcmRlci1yYWRpdXM6IDEwMHZoXG59XG5cbi5yb3VuZGVkLW5vbmUge1xuICBib3JkZXItcmFkaXVzOiBub25lXG59XG5cbi5sYXlvdXQge1xuICBkaXNwbGF5OiBncmlkXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDAwcHgpIHtcbiAgLmxheW91dCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1zbSwgMWZyKVxuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmxheW91dCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1tZCwgMWZyIDFmcilcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAubGF5b3V0IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHZhcigtLWxnLCAxZnIgMWZyKVxuICB9XG59XG5cbi5ncmlkIHtcbiAgZGlzcGxheTogZ3JpZFxufVxuXG4ucmVsYXRpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmVcbn1cblxuLmdyaWQtc3RhY2tlZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6IHN0YWNrO1xuICBnYXA6IDBcbn1cblxuLmdyaWQtc3RhY2tlZD4qIHtcbiAgZ3JpZC1hcmVhOiBzdGFja1xufVxuXG4uZ3JpZC1zdGFja2VkIHBpY3R1cmUsXG4uZ3JpZC1zdGFja2VkIGZpZ3VyZSB7XG4gIHotaW5kZXg6IC0xXG59XG5cbi5hbGlnbi1zdGFydCxcbi5hbGlnbi1hbGwtc3RhcnQge1xuICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gIGFsaWduLWNvbnRlbnQ6IHN0YXJ0XG59XG5cbi5hbGlnbi1pdGVtcy1zdGFydCB7XG4gIGFsaWduLWl0ZW1zOiBzdGFydFxufVxuXG4uYWxpZ24tY29udGVudC1zdGFydCB7XG4gIGFsaWduLWNvbnRlbnQ6IHN0YXJ0XG59XG5cbi5hbGlnbi1zZWxmLWVuZCB7XG4gIGFsaWduLXNlbGY6IGVuZFxufVxuXG4uYWxpZ24tc2VsZi1jZW50ZXIge1xuICBhbGlnbi1zZWxmOiBjZW50ZXJcbn1cblxuLmFsaWduLXNlbGYtc3RhcnQge1xuICBhbGlnbi1zZWxmOiBzdGFydFxufVxuXG4uYWxpZ24tY29udGVudC1zcGFjZWQge1xuICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuXG59XG5cbi5wLTIge1xuICBwYWRkaW5nOiAwLjVyZW1cbn1cblxuLnB0LTIge1xuICBwYWRkaW5nLXRvcDogMC41cmVtXG59XG5cbi5wci0yIHtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtXG59XG5cbi5wYi0yIHtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbVxufVxuXG4ucGwtMiB7XG4gIHBhZGRpbmctbGVmdDogMC41cmVtXG59XG5cbi5weC0yIHtcbiAgcGFkZGluZy1pbmxpbmU6IDAuNXJlbVxufVxuXG4ucHktMiB7XG4gIHBhZGRpbmctYmxvY2s6IDAuNXJlbVxufVxuXG4ucC0zIHtcbiAgcGFkZGluZzogMC44cmVtXG59XG5cbi5wdC0zIHtcbiAgcGFkZGluZy10b3A6IDAuOHJlbVxufVxuXG4ucHItMyB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuOHJlbVxufVxuXG4ucGItMyB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjhyZW1cbn1cblxuLnBsLTMge1xuICBwYWRkaW5nLWxlZnQ6IDAuOHJlbVxufVxuXG4ucHgtMyB7XG4gIHBhZGRpbmctaW5saW5lOiAwLjhyZW1cbn1cblxuLnB5LTMge1xuICBwYWRkaW5nLWJsb2NrOiAwLjhyZW1cbn1cblxuLnAtNCB7XG4gIHBhZGRpbmc6IDEuMXJlbVxufVxuXG4ucHQtNCB7XG4gIHBhZGRpbmctdG9wOiAxLjFyZW1cbn1cblxuLnByLTQge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjFyZW1cbn1cblxuLnBiLTQge1xuICBwYWRkaW5nLWJvdHRvbTogMS4xcmVtXG59XG5cbi5wbC00IHtcbiAgcGFkZGluZy1sZWZ0OiAxLjFyZW1cbn1cblxuLnB4LTQge1xuICBwYWRkaW5nLWlubGluZTogMS4xcmVtXG59XG5cbi5weS00IHtcbiAgcGFkZGluZy1ibG9jazogMS4xcmVtXG59XG5cbi5wLTUge1xuICBwYWRkaW5nOiAxLjRyZW1cbn1cblxuLnB0LTUge1xuICBwYWRkaW5nLXRvcDogMS40cmVtXG59XG5cbi5wci01IHtcbiAgcGFkZGluZy1yaWdodDogMS40cmVtXG59XG5cbi5wYi01IHtcbiAgcGFkZGluZy1ib3R0b206IDEuNHJlbVxufVxuXG4ucGwtNSB7XG4gIHBhZGRpbmctbGVmdDogMS40cmVtXG59XG5cbi5weC01IHtcbiAgcGFkZGluZy1pbmxpbmU6IDEuNHJlbVxufVxuXG4ucHktNSB7XG4gIHBhZGRpbmctYmxvY2s6IDEuNHJlbVxufVxuXG4ucC02IHtcbiAgcGFkZGluZzogMS43cmVtXG59XG5cbi5wdC02IHtcbiAgcGFkZGluZy10b3A6IDEuN3JlbVxufVxuXG4ucHItNiB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuN3JlbVxufVxuXG4ucGItNiB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjdyZW1cbn1cblxuLnBsLTYge1xuICBwYWRkaW5nLWxlZnQ6IDEuN3JlbVxufVxuXG4ucHgtNiB7XG4gIHBhZGRpbmctaW5saW5lOiAxLjdyZW1cbn1cblxuLnB5LTYge1xuICBwYWRkaW5nLWJsb2NrOiAxLjdyZW1cbn1cblxuLnAtNyB7XG4gIHBhZGRpbmc6IDJyZW1cbn1cblxuLnB0LTcge1xuICBwYWRkaW5nLXRvcDogMnJlbVxufVxuXG4ucHItNyB7XG4gIHBhZGRpbmctcmlnaHQ6IDJyZW1cbn1cblxuLnBiLTcge1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbVxufVxuXG4ucGwtNyB7XG4gIHBhZGRpbmctbGVmdDogMnJlbVxufVxuXG4ucHgtNyB7XG4gIHBhZGRpbmctaW5saW5lOiAycmVtXG59XG5cbi5weS03IHtcbiAgcGFkZGluZy1ibG9jazogMnJlbVxufVxuXG4ucC04IHtcbiAgcGFkZGluZzogMi4zcmVtXG59XG5cbi5wdC04IHtcbiAgcGFkZGluZy10b3A6IDIuM3JlbVxufVxuXG4ucHItOCB7XG4gIHBhZGRpbmctcmlnaHQ6IDIuM3JlbVxufVxuXG4ucGItOCB7XG4gIHBhZGRpbmctYm90dG9tOiAyLjNyZW1cbn1cblxuLnBsLTgge1xuICBwYWRkaW5nLWxlZnQ6IDIuM3JlbVxufVxuXG4ucHgtOCB7XG4gIHBhZGRpbmctaW5saW5lOiAyLjNyZW1cbn1cblxuLnB5LTgge1xuICBwYWRkaW5nLWJsb2NrOiAyLjNyZW1cbn1cblxuLnAtOSB7XG4gIHBhZGRpbmc6IDIuNnJlbVxufVxuXG4ucHQtOSB7XG4gIHBhZGRpbmctdG9wOiAyLjZyZW1cbn1cblxuLnByLTkge1xuICBwYWRkaW5nLXJpZ2h0OiAyLjZyZW1cbn1cblxuLnBiLTkge1xuICBwYWRkaW5nLWJvdHRvbTogMi42cmVtXG59XG5cbi5wbC05IHtcbiAgcGFkZGluZy1sZWZ0OiAyLjZyZW1cbn1cblxuLnB4LTkge1xuICBwYWRkaW5nLWlubGluZTogMi42cmVtXG59XG5cbi5weS05IHtcbiAgcGFkZGluZy1ibG9jazogMi42cmVtXG59XG5cbi5wLTEwIHtcbiAgcGFkZGluZzogMi45cmVtXG59XG5cbi5wdC0xMCB7XG4gIHBhZGRpbmctdG9wOiAyLjlyZW1cbn1cblxuLnByLTEwIHtcbiAgcGFkZGluZy1yaWdodDogMi45cmVtXG59XG5cbi5wYi0xMCB7XG4gIHBhZGRpbmctYm90dG9tOiAyLjlyZW1cbn1cblxuLnBsLTEwIHtcbiAgcGFkZGluZy1sZWZ0OiAyLjlyZW1cbn1cblxuLnB4LTEwIHtcbiAgcGFkZGluZy1pbmxpbmU6IDIuOXJlbVxufVxuXG4ucHktMTAge1xuICBwYWRkaW5nLWJsb2NrOiAyLjlyZW1cbn1cblxuLnAtMTEge1xuICBwYWRkaW5nOiAzLjJyZW1cbn1cblxuLnB0LTExIHtcbiAgcGFkZGluZy10b3A6IDMuMnJlbVxufVxuXG4ucHItMTEge1xuICBwYWRkaW5nLXJpZ2h0OiAzLjJyZW1cbn1cblxuLnBiLTExIHtcbiAgcGFkZGluZy1ib3R0b206IDMuMnJlbVxufVxuXG4ucGwtMTEge1xuICBwYWRkaW5nLWxlZnQ6IDMuMnJlbVxufVxuXG4ucHgtMTEge1xuICBwYWRkaW5nLWlubGluZTogMy4ycmVtXG59XG5cbi5weS0xMSB7XG4gIHBhZGRpbmctYmxvY2s6IDMuMnJlbVxufVxuXG4ucC0xMiB7XG4gIHBhZGRpbmc6IDMuNXJlbVxufVxuXG4ucHQtMTIge1xuICBwYWRkaW5nLXRvcDogMy41cmVtXG59XG5cbi5wci0xMiB7XG4gIHBhZGRpbmctcmlnaHQ6IDMuNXJlbVxufVxuXG4ucGItMTIge1xuICBwYWRkaW5nLWJvdHRvbTogMy41cmVtXG59XG5cbi5wbC0xMiB7XG4gIHBhZGRpbmctbGVmdDogMy41cmVtXG59XG5cbi5weC0xMiB7XG4gIHBhZGRpbmctaW5saW5lOiAzLjVyZW1cbn1cblxuLnB5LTEyIHtcbiAgcGFkZGluZy1ibG9jazogMy41cmVtXG59XG5cbi5wLTEzIHtcbiAgcGFkZGluZzogMy44cmVtXG59XG5cbi5wdC0xMyB7XG4gIHBhZGRpbmctdG9wOiAzLjhyZW1cbn1cblxuLnByLTEzIHtcbiAgcGFkZGluZy1yaWdodDogMy44cmVtXG59XG5cbi5wYi0xMyB7XG4gIHBhZGRpbmctYm90dG9tOiAzLjhyZW1cbn1cblxuLnBsLTEzIHtcbiAgcGFkZGluZy1sZWZ0OiAzLjhyZW1cbn1cblxuLnB4LTEzIHtcbiAgcGFkZGluZy1pbmxpbmU6IDMuOHJlbVxufVxuXG4ucHktMTMge1xuICBwYWRkaW5nLWJsb2NrOiAzLjhyZW1cbn1cblxuLnAtMTQge1xuICBwYWRkaW5nOiA0LjFyZW1cbn1cblxuLnB0LTE0IHtcbiAgcGFkZGluZy10b3A6IDQuMXJlbVxufVxuXG4ucHItMTQge1xuICBwYWRkaW5nLXJpZ2h0OiA0LjFyZW1cbn1cblxuLnBiLTE0IHtcbiAgcGFkZGluZy1ib3R0b206IDQuMXJlbVxufVxuXG4ucGwtMTQge1xuICBwYWRkaW5nLWxlZnQ6IDQuMXJlbVxufVxuXG4ucHgtMTQge1xuICBwYWRkaW5nLWlubGluZTogNC4xcmVtXG59XG5cbi5weS0xNCB7XG4gIHBhZGRpbmctYmxvY2s6IDQuMXJlbVxufVxuXG4ucC0xNSB7XG4gIHBhZGRpbmc6IDQuNHJlbVxufVxuXG4ucHQtMTUge1xuICBwYWRkaW5nLXRvcDogNC40cmVtXG59XG5cbi5wci0xNSB7XG4gIHBhZGRpbmctcmlnaHQ6IDQuNHJlbVxufVxuXG4ucGItMTUge1xuICBwYWRkaW5nLWJvdHRvbTogNC40cmVtXG59XG5cbi5wbC0xNSB7XG4gIHBhZGRpbmctbGVmdDogNC40cmVtXG59XG5cbi5weC0xNSB7XG4gIHBhZGRpbmctaW5saW5lOiA0LjRyZW1cbn1cblxuLnB5LTE1IHtcbiAgcGFkZGluZy1ibG9jazogNC40cmVtXG59XG5cbi5wLTE2IHtcbiAgcGFkZGluZzogNC43cmVtXG59XG5cbi5wdC0xNiB7XG4gIHBhZGRpbmctdG9wOiA0LjdyZW1cbn1cblxuLnByLTE2IHtcbiAgcGFkZGluZy1yaWdodDogNC43cmVtXG59XG5cbi5wYi0xNiB7XG4gIHBhZGRpbmctYm90dG9tOiA0LjdyZW1cbn1cblxuLnBsLTE2IHtcbiAgcGFkZGluZy1sZWZ0OiA0LjdyZW1cbn1cblxuLnB4LTE2IHtcbiAgcGFkZGluZy1pbmxpbmU6IDQuN3JlbVxufVxuXG4ucHktMTYge1xuICBwYWRkaW5nLWJsb2NrOiA0LjdyZW1cbn1cblxuLnAtMTcge1xuICBwYWRkaW5nOiA1cmVtXG59XG5cbi5wdC0xNyB7XG4gIHBhZGRpbmctdG9wOiA1cmVtXG59XG5cbi5wci0xNyB7XG4gIHBhZGRpbmctcmlnaHQ6IDVyZW1cbn1cblxuLnBiLTE3IHtcbiAgcGFkZGluZy1ib3R0b206IDVyZW1cbn1cblxuLnBsLTE3IHtcbiAgcGFkZGluZy1sZWZ0OiA1cmVtXG59XG5cbi5weC0xNyB7XG4gIHBhZGRpbmctaW5saW5lOiA1cmVtXG59XG5cbi5weS0xNyB7XG4gIHBhZGRpbmctYmxvY2s6IDVyZW1cbn1cblxuLnAtMTgge1xuICBwYWRkaW5nOiA1LjNyZW1cbn1cblxuLnB0LTE4IHtcbiAgcGFkZGluZy10b3A6IDUuM3JlbVxufVxuXG4ucHItMTgge1xuICBwYWRkaW5nLXJpZ2h0OiA1LjNyZW1cbn1cblxuLnBiLTE4IHtcbiAgcGFkZGluZy1ib3R0b206IDUuM3JlbVxufVxuXG4ucGwtMTgge1xuICBwYWRkaW5nLWxlZnQ6IDUuM3JlbVxufVxuXG4ucHgtMTgge1xuICBwYWRkaW5nLWlubGluZTogNS4zcmVtXG59XG5cbi5weS0xOCB7XG4gIHBhZGRpbmctYmxvY2s6IDUuM3JlbVxufVxuXG4ucC0xOSB7XG4gIHBhZGRpbmc6IDUuNnJlbVxufVxuXG4ucHQtMTkge1xuICBwYWRkaW5nLXRvcDogNS42cmVtXG59XG5cbi5wci0xOSB7XG4gIHBhZGRpbmctcmlnaHQ6IDUuNnJlbVxufVxuXG4ucGItMTkge1xuICBwYWRkaW5nLWJvdHRvbTogNS42cmVtXG59XG5cbi5wbC0xOSB7XG4gIHBhZGRpbmctbGVmdDogNS42cmVtXG59XG5cbi5weC0xOSB7XG4gIHBhZGRpbmctaW5saW5lOiA1LjZyZW1cbn1cblxuLnB5LTE5IHtcbiAgcGFkZGluZy1ibG9jazogNS42cmVtXG59XG5cbi5wLTIwIHtcbiAgcGFkZGluZzogNS45cmVtXG59XG5cbi5wdC0yMCB7XG4gIHBhZGRpbmctdG9wOiA1LjlyZW1cbn1cblxuLnByLTIwIHtcbiAgcGFkZGluZy1yaWdodDogNS45cmVtXG59XG5cbi5wYi0yMCB7XG4gIHBhZGRpbmctYm90dG9tOiA1LjlyZW1cbn1cblxuLnBsLTIwIHtcbiAgcGFkZGluZy1sZWZ0OiA1LjlyZW1cbn1cblxuLnB4LTIwIHtcbiAgcGFkZGluZy1pbmxpbmU6IDUuOXJlbVxufVxuXG4ucHktMjAge1xuICBwYWRkaW5nLWJsb2NrOiA1LjlyZW1cbn1cblxuLmdhcC0yIHtcbiAgZ2FwOiAwLjVyZW1cbn1cblxuLmdhcC0zIHtcbiAgZ2FwOiAwLjhyZW1cbn1cblxuLmdhcC00IHtcbiAgZ2FwOiAxLjFyZW1cbn1cblxuLmdhcC01IHtcbiAgZ2FwOiAxLjRyZW1cbn1cblxuLmdhcC02IHtcbiAgZ2FwOiAxLjdyZW1cbn1cblxuLmdhcC03IHtcbiAgZ2FwOiAycmVtXG59XG5cbi5nYXAtOCB7XG4gIGdhcDogMi4zcmVtXG59XG5cbi5nYXAtOSB7XG4gIGdhcDogMi42cmVtXG59XG5cbi5nYXAtMTAge1xuICBnYXA6IDIuOXJlbVxufVxuXG4uZ2FwLTExIHtcbiAgZ2FwOiAzLjJyZW1cbn1cblxuLmdhcC0xMiB7XG4gIGdhcDogMy41cmVtXG59XG5cbi5nYXAtMTMge1xuICBnYXA6IDMuOHJlbVxufVxuXG4uZ2FwLTE0IHtcbiAgZ2FwOiA0LjFyZW1cbn1cblxuLmdhcC0xNSB7XG4gIGdhcDogNC40cmVtXG59XG5cbi5nYXAtMTYge1xuICBnYXA6IDQuN3JlbVxufVxuXG4uZ2FwLTE3IHtcbiAgZ2FwOiA1cmVtXG59XG5cbi5nYXAtMTgge1xuICBnYXA6IDUuM3JlbVxufVxuXG4uZ2FwLTE5IHtcbiAgZ2FwOiA1LjZyZW1cbn1cblxuLmdhcC0yMCB7XG4gIGdhcDogNS45cmVtXG59XG5cbi5teC1hdXRvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIHdpZHRoOiAtbW96LWZpdC1jb250ZW50O1xuICB3aWR0aDogZml0LWNvbnRlbnRcbn1cblxuLm1zLWF1dG8ge1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvXG59XG5cbi5tZS1hdXRvIHtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IGF1dG9cbn1cblxuLnctZml0LFxuLnctZml0LWNvbnRlbnQge1xuICB3aWR0aDogLW1vei1maXQtY29udGVudDtcbiAgd2lkdGg6IGZpdC1jb250ZW50XG59XG5cbi5zci1vbmx5IHtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoNTAlKSAhaW1wb3J0YW50O1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSkgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnRcbn1cblxuLnNyLW9ubHktZm9jdXNhYmxlOmZvY3VzLFxuLnNyLW9ubHktZm9jdXNhYmxlOmFjdGl2ZSB7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgLXdlYmtpdC1jbGlwLXBhdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgY2xpcC1wYXRoOiBub25lICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50XG59XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlclxufVxuXG4udGV4dC1zdGFydCB7XG4gIHRleHQtYWxpZ246IHN0YXJ0XG59XG5cbi50ZXh0LWVuZCB7XG4gIHRleHQtYWxpZ246IGVuZFxufVxuXG4uZmxvdz4qKyoge1xuICBtYXJnaW4tdG9wOiAuNWVtXG59XG5cbi5vdmVyZmxvdy1oaWRkZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuXG59XG5cbi5zaGFkb3cxIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIC41cHggMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjA3NSksIDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIC4wNSksIDAgLjNweCAuNHB4IHJnYmEoMCwgMCwgMCwgLjAyKSwgMCAuOXB4IDEuNXB4IHJnYmEoMCwgMCwgMCwgLjA0NSksIDAgMy41cHggNnB4IHJnYmEoMCwgMCwgMCwgLjA5KVxufVxuXG4uc2hhZG93MiB7XG4gIC0tcHVycGxlOiByZ2JhKDEyMiwgODksIDE3NSwgMC4yMTkpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgNXB4IDBweCByZ2JhKDI1NSwgMTkyLCAyMDMsIC41KSwgaW5zZXQgMCAwIDEuNXB4IDBweCByZ2JhKDI1MiwgOTAsIDExNywgLjkzOCksIDAgLjNweCAuNXB4IHJnYmEoNzEsIDY5LCA2OSwgLjQ2NiksIDM1cHggMHB4IDMwcHggLTIwcHggdmFyKC0tcHVycGxlKSwgLTM1cHggMHB4IDMwcHggLTIwcHggdmFyKC0tcHVycGxlKVxufVxuXG4uc2hhZG93MyB7XG4gIC0tcHVycGxlOiByZ2JhKDEyMiwgODksIDE3NSwgMC4yMTkpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgNXB4IDBweCByZ2JhKDI1NSwgMTkyLCAyMDMsIC41KSwgaW5zZXQgMCAwIDEuNXB4IDBweCByZ2JhKDI1MiwgOTAsIDExNywgLjkzOCksIDAgLjNweCAuNXB4IHJnYmEoNzEsIDY5LCA2OSwgLjQ2NiksIDRweCA0cHggNzBweCAtMjBweCB2YXIoLS1wdXJwbGUpLCAtNXB4IC01cHggNzBweCAtMjBweCB2YXIoLS1wdXJwbGUpXG59XG5cbi5zaGFkb3ctZnVubnkge1xuICBib3gtc2hhZG93OiAtMTBweCAtOHB4IDBweCAjYTdmM2QwXG59XG5cblxuXG5cbi50d2lua2x5LWxvZ28ge1xuICBtYXJnaW46IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFyZW0pOyAqL1xuICBtYXgtd2lkdGg6IDkwdnc7XG5cbiAgJiBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gICYgLmdsb3csXG4gICYgLm5vLWdsb3cge1xuICAgIHBhZGRpbmc6IDJyZW07XG4gICAgcGFkZGluZzogMXJlbTtcbiAgfVxuXG5cbiAgJiAuZ2xvdyB7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDByZW07XG4gICAgYm90dG9tOiB1bnNldDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgIG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQsICNmZmYsIHRyYW5zcGFyZW50KTtcbiAgICBtYXNrLXNpemU6IDMwJSAxMDAlO1xuICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbWFzay1wb3NpdGlvbjogLTEwMCU7XG4gICAgLyogbWFzay1wb3NpdGlvbjogLTMzcmVtOyAqL1xuXG4gICAgLyogYW5pbWF0aW9uOiB0d2lua2xlIDdzIGluZmluaXRlIGVhc2UtaW47ICovXG5cbiAgfVxuXG4gICYgLmdsb3cgaW1nIHtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAxMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KSk7XG4gIH1cblxufVxuXG4ucmV2ZWFsZWQgLmdsb3cge1xuICBhbmltYXRpb246IHR3aW5rbGUgNXMgaW5maW5pdGUgZWFzZS1pbjtcbn1cblxuQGtleWZyYW1lcyB0d2lua2xlIHtcbiAgNTAlIHtcbiAgICBtYXNrLXBvc2l0aW9uOiAzM3JlbTtcbiAgICBtYXNrLXBvc2l0aW9uOiAxMzAlO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgbWFzay1wb3NpdGlvbjogMzNyZW07XG4gICAgbWFzay1wb3NpdGlvbjogMTMwJTtcbiAgfVxufVxuXG5cbi5jb2x1bW5zLTMwIHtcbiAgLW1vei1jb2x1bW5zOiB2YXIoLS1jb2wtd2lkdGgsIDMwY2gpO1xuICBjb2x1bW5zOiB2YXIoLS1jb2wtd2lkdGgsIDMwY2gpXG59XG5cbi5jb2x1bW5zLTMwPioge1xuICAtbW96LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBicmVhay1pbnNpZGU6IGF2b2lkO1xuICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXAsIDFyZW0pXG59XG5cbi5jb2x1bW5zIHtcbiAgLW1vei1jb2x1bW5zOiAyNWNoO1xuICBjb2x1bW5zOiAyNWNoO1xuICAtbW96LWNvbHVtbnM6IDMzY2g7XG4gIGNvbHVtbnM6IDMzY2g7XG4gIC1tb3otY29sdW1uLWdhcDogdmFyKC0tZ2FwKTtcbiAgY29sdW1uLWdhcDogdmFyKC0tZ2FwKVxufVxuXG4uY29sdW1ucz4qIHtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwKVxufVxuXG4uZ3JpZC1jb2wtd2lkdGgge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCh2YXIoLS1jb2wtd2lkdGgsIG1pbigxNXJlbSwgMTAwJSkpLCAxZnIpKVxufVxuXG4uZmxleC1jb2wtd2lkdGgsXG4uZmxleC1taW4tbWF4IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlclxufVxuXG4uZmxleC1jb2wtd2lkdGg+Kixcbi5mbGV4LW1pbi1tYXg+KiB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgbWF4LXdpZHRoOiB2YXIoLS1jb2wtd2lkdGgpO1xuICBtYXgtd2lkdGg6IDMwcmVtO1xuICBtaW4td2lkdGg6IDI1Y2g7XG4gIG1heC13aWR0aDogdmFyKC0tbWluLCAzMHJlbSk7XG4gIG1pbi13aWR0aDogdmFyKC0tbWF4LCAyNWNoKTtcbiAgbWFyZ2luLWlubGluZTogYXV0b1xufVxuXG4uZmxleC1iYXNpYyB7XG4gIC0tY29sLXdpZHRoOiBtYXgoMzByZW0sIDMwdncpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyXG59XG5cbi5mbGV4LWJhc2ljPioge1xuICBmbGV4LWdyb3c6IDE7XG4gIGZsZXgtYmFzaXM6IDMwJTtcbiAgbWluLXdpZHRoOiAyNWNoO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1pbmxpbmU6IGF1dG9cbn1cblxuLmRlc2t0b3Atb25seSB7XG4gIGRpc3BsYXk6IG5vbmVcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZGVza3RvcC1vbmx5IHtcbiAgICBkaXNwbGF5OiBibG9ja1xuICB9XG59XG5cbi5tb2JpbGUtb25seSB7XG4gIGRpc3BsYXk6IGJsb2NrXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1vYmlsZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lXG4gIH1cbn1cblxuI21lbnUtY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMFxufVxuXG4jbWVudS1jb250ZW50IGEge1xuICBwYWRkaW5nOiAxcmVtXG59XG5cbmhlYWRlcj4qIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlXG59XG5cbiNtZW51LXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMVxufVxuXG4jbWVudVthcmlhLWhpZGRlbj1mYWxzZV0gI21lbnUtY29udGVudCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiB2YXIoLS1zcGFjZXItbWVudSk7XG4gIGxlZnQ6IHZhcigtLXNwYWNlci1tZW51KTtcbiAgcmlnaHQ6IHZhcigtLXNwYWNlci1tZW51KVxufVxuXG4uYmxvY2sge1xuICBkaXNwbGF5OiBibG9ja1xufVxuXG4ubm9uZSB7XG4gIGRpc3BsYXk6IG5vbmVcbn1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnlcbn1cblxuLnctZml0IHtcbiAgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgZmxleC1ncm93OiAwXG59XG5cbi5mbGV4LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICB3aWR0aDogLW1vei1maXQtY29udGVudDtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBhbGlnbi1pdGVtczogY2VudGVyXG59XG5cbi5mbGV4LWdyb3VwPioge1xuICBtaW4td2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7XG4gIG1pbi13aWR0aDogZml0LWNvbnRlbnQ7XG4gIGZsZXg6IDFcbn1cblxuLmZsZXgtZ3JvdXAgc3ZnIHtcbiAgaGVpZ2h0OiAuOWVtXG59XG5cbi5qdXN0aWZ5LWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyXG59XG5cbi5qdXN0aWZ5LXNwYWNlZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlblxufVxuXG4uanVzdGlmeS1lbmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZFxufVxuXG4uZmxleCB7XG4gIGRpc3BsYXk6IGZsZXhcbn1cblxuLmZsZXgtY29sIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtblxufVxuXG4uZmxleC1lbmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgcGFkZGluZy10b3A6IDFyZW1cbn1cblxuLmZsZXgtc3BhY2VkIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuXG59XG5cbi5mbGV4LXdyYXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXBcbn1cblxuLmJ0bi1nbGFzcyB7XG4gIC0tY29sb3ItYnRuOiBwaW5rO1xuICAtLWJnLWJ0bjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLWJ0bik7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1idG4pO1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigydncpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMnZ3KTtcbiAgdHJhbnNpdGlvbjogLjM1cztcbiAgcGFkZGluZzogLjdlbSAxLjNlbTtcbiAgYm9yZGVyLXJhZGl1czogMTAwdmhcbn1cblxuLmJ0bi1nbGFzcy1hbHQge1xuICAtLWNvbG9yLWJ0bjogaW5kaWFucmVkO1xuICAtLWJnLWJ0bjogdHJhbnNwYXJlbnQ7XG4gIC0tYmctYnRuLWhvdmVyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC41KTtcbiAgdHJhbnNpdGlvbjogLjM1cztcbiAgcGFkZGluZzogLjdlbSAxLjNlbTtcbiAgYm9yZGVyLXJhZGl1czogMTAwdmg7XG4gIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudFxufVxuXG4uYnRuLWdsYXNzLWFsdDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLWJ0bi1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1idG4taG92ZXIpO1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigydncpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMnZ3KVxufVxuXG5cblxuLyogc2xpZGVycyAqL1xuLyogPHN0eWxlPiAqL1xuLnNsaWRlcjpub3QoW2RhdGEta2Vlbi1zbGlkZXItZGlzYWJsZWRdKSB7XG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiBjYWxjKHZhcigtLXBhZ2Utd2lkdGgpIC0gNjBweCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc2xpZGVyOm5vdChbZGF0YS1rZWVuLXNsaWRlci1kaXNhYmxlZF0pIC5zbGlkZXJfX3NsaWRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbn1cblxuLnNsaWRlcjpub3QoW2RhdGEta2Vlbi1zbGlkZXItZGlzYWJsZWRdKVtkYXRhLWtlZW4tc2xpZGVyLXJldmVyc2VdIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xufVxuXG4uc2xpZGVyOm5vdChbZGF0YS1rZWVuLXNsaWRlci1kaXNhYmxlZF0pW2RhdGEta2Vlbi1zbGlkZXItdl0ge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLnNsaWRlci5zbGlkZXItLWZ1bGwtd2lkdGgge1xuICAgIG92ZXJmbG93OiBpbml0aWFsO1xuICB9XG59XG5cblxuXG5cbjpyb290IHtcbiAgLS1kb3QtcmFkaXVzOiAwLjNyZW07XG59XG5cbmtlZW4tc2xpZGVyLWNvbXBvbmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMTAwdnc7XG4gIC8qIG92ZXJmbG93OiBoaWRkZW47ICovXG59Lmhhcy1pbWFnZS1iZyB7XG5cblxuICAvKiBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy91cGxvYWRzL0lNRy0yMDI0MDUxOC1XQTAwODQuanBnJyk7ICovXG4gIGluc2V0OiAwO1xuICBpbnNldDogdmFyKC0tY2FsY3VsYXRlZC1pbnNldCk7XG4gIGluc2V0LWJsb2NrOiAuNXJlbTtcbiAgaW5zZXQtaW5saW5lOiBjbGFtcCguNXJlbSwgMS41dncgKyAxMHB4LCA3cmVtKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAvKiBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBlbmQ7ICovXG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAvKiBtYXgtd2lkdGg6IDEyMDBweDsgKi9cbiAgbWFyZ2luLWlubGluZTogYXV0bztcbn1cblxuXG5cbnNlY3Rpb24sXG5mb290ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuLmhlcm9ibG9nIHtcbiAgaGVpZ2h0OiAyMHJlbTtcbn1cblxuLmhlcm83IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiBtYXgoMjByZW0sIDUwdmgpO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgbWluLWhlaWdodDogMTMwdmg7XG4gIG1heC1oZWlnaHQ6IDcwcmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcblxuXG5cbiAgJiAub3ZlcmxheXMtcGlubmVkIHtcbiAgICBtYXJnaW4tdG9wOiAzMHJlbTtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA0O1xuXG4gIH1cblxuICAmIC5vdmVybGF5cy1waW5uZWQgYSB7XG4gICAgLyogYm94LXNoYWRvdzogMXB4IDE4cHggMzlweCAjMDAwMDAwMjYsIDVweCA3MXB4IDcxcHggIzAwMDAwMDE3LCAxMnB4IDE2MHB4IDk2cHggIzAwMDAwMDBkLCAyMHB4IDI4NHB4IDExNHB4ICMwMDAwMDAwMywgMzJweCA0NDNweCAxMjRweCAwIHRyYW5zcGFyZW50OyAqL1xuICB9XG5cblxuICAmIC5waW5uZWQge1xuXG4gICAgaGVpZ2h0OiBtYXgoMjByZW0sIDcwdmgpO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcblxuXG4gICAgaW5zZXQ6IDA7XG4gICAgaW5zZXQtYmxvY2s6IC41cmVtO1xuICAgIGluc2V0LWlubGluZTogY2xhbXAoLjVyZW0sIDEuNXZ3ICsgMTBweCwgN3JlbSk7XG5cbiAgICBwYWRkaW5nOiAxcmVtO1xuICAgIHBhZGRpbmc6IG1heCg1dncsIDFyZW0pO1xuICAgIHBhZGRpbmctdG9wOiAxMHJlbTtcblxuICAgIC8qIGJnIGlzIGEgaW1hZ2UgKi9cbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbGluZS1oZWlnaHQ6IC44O1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgcGxhY2UtY29udGVudDogY2VudGVyO1xuICAgIC8qIGp1c3RpZnktY29udGVudDogY2VudGVyOyAqL1xuICAgIC8qIHRleHQtYWxpZ246IGNlbnRlcjsgKi9cbiAgICAvKiBmaWx0ZXI6IGludmVydCgxKTsgKi9cblxuICB9XG5cblxuXG5cbn1cblxuXG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuaGVybzcgLnBpbm5lZCB7XG4gICAgLyogY29sb3I6IHZhcigtLWphdmEtNjAwKTsgKi9cbiAgfVxufVxuXG5cbi5pdGVtcy1zdHlsZTE+KiB7XG4gIC0tYmctaWNvbjogd2hpdGU7XG4gIC0tYmctaWNvbi1ob3ZlcjogdmFyKC0tamF2YS0yMCk7XG5cbiAgLS13aWR0aC1pY29uOiAzcmVtO1xuICAtLXdpZHRoLXN2ZzogMS4ycmVtO1xuXG4gIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoLS1iZy1pY29uKTtcbiAgcGFkZGluZzogMnJlbSAxcmVtO1xuXG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDksIDIwNCwgMjA0LCAwLjg1KTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKC4xcmVtKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mcy1iYXNlKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgJiAudGV4dCB7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBjdWJpYy1iZXppZXIoMC40LCAwLjQsIDAsIDEpO1xuICB9XG5cbiAgJiAuaWNvbiB7XG4gICAgd2lkdGg6IHZhcigtLXdpZHRoLWljb24sIDIuNXJlbSk7XG4gICAgaGVpZ2h0OiB2YXIoLS13aWR0aC1pY29uLCAyLjVyZW0pO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWljb24pO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgcGxhY2UtY29udGVudDogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHZoO1xuICAgIHRyYW5zaXRpb246IGFsbCAuNnMgY3ViaWMtYmV6aWVyKDAuNCwgMC40LCAwLCAxKTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgLyogYmFja2dyb3VuZC1jb2xvcjogcGluazsgKi9cbiAgfVxuXG4gICY6aG92ZXIgLnRleHQge1xuICAgIG9wYWNpdHk6IC43O1xuICB9XG5cbiAgJjpob3ZlciAuaWNvbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLjRyZW0sIDApO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWljb24taG92ZXIpO1xuICB9XG5cbiAgJiBzdmcge1xuICAgIHdpZHRoOiB2YXIoLS13aWR0aC1zdmcsIDFyZW0pO1xuICAgIGhlaWdodDogdmFyKC0td2lkdGgtc3ZnLCAxcmVtKTtcbiAgfVxufVxuXG5cbi8qIDwvc3R5bGU+ICovXG5cblxuXG5cblxuXG5cblxuXG4vKiBIRUFERVIgKi9cblxuXG5cblxuLnN0aWNrcy1vbi10b3Age1xuXG4gIC0tYmc6IHdoaXRlO1xuICAtLWJnOiB0cmFuc3BhcmVudDtcblxuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDk7XG4gIC8qIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZyk7XG4gIC8qIGJveC1zaGFkb3c6IDAgLTIwcHggMCAwIHZhcigtLWJnKTsgKi9cblxuICAvKiBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMnJlbSk7ICovXG4gIC8qIGJhY2tkcm9wLWZpbHRlcjogaW52ZXJ0KDIpOyAqL1xuICBwYWRkaW5nLXRvcDogLjVyZW07XG5cbiAgLyogY29sb3I6IGNvcmFsOyAqL1xuXG59XG5cblxuLmxpZ2h0IHtcbiAgLS1iZy1idG4taGVhZGVyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gIC0tYmctYnRuLWhlYWRlci1ob3Zlcjogd2hpdGU7XG59XG5cbi5kYXJrIHtcbiAgLS1iZy1idG4taGVhZGVyOiByZ2JhKDIwLCAyMCwgMjAsIDAuOCk7XG4gIC0tYmctYnRuLWhlYWRlci1ob3ZlcjogcmdiKDI5LCAyOSwgMjkpO1xufVxuXG4uYnRuLWhlYWRlciB7XG5cblxuICBkaXNwbGF5OiBncmlkO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAvKiBmb250LXdlaWdodDogNjAwOyAqL1xuICBwbGFjZS1jb250ZW50OiBjZW50ZXI7XG4gIGhlaWdodDogM3JlbTtcbiAgcGFkZGluZy1pbmxpbmU6IDFlbTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1idG4taGVhZGVyKTtcbiAgY29sb3I6IHZhcigtLWFjY2VudCk7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctYnRuLWhlYWRlci1ob3Zlcik7XG4gIH1cblxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3IpO1xuICB9XG5cbiAgJiBzdmcge1xuICAgIGhlaWdodDogMS4yZW07XG4gICAgd2lkdGg6IDEuMmVtO1xuICB9XG5cbiAgJi5sb2dvIHtcbiAgICBwYWRkaW5nLWlubGluZTogMDtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuXG5cblxuXG5cblxuXG5cblxuXG4udGV4dC1oaWdobGlnaHQge1xuICAtLWR1cmF0aW9uOiAxLjJzO1xuICAtLWVhc2U6IGN1YmljLWJlemllcigwLjI1LCAxLCAwLjUsIDEpO1xuXG4gIGJvcmRlci1yYWRpdXM6IC4yZW07XG4gIHBhZGRpbmctaW5saW5lOiAuMWVtO1xuICBmb250LXNpemU6IC45NWVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDAlIDEwMCU7XG4gIHRyYW5zaXRpb246IGNvbG9yIGNhbGModmFyKC0tZHVyYXRpb24pIC8gMykgdmFyKC0tZWFzZSksXG4gICAgYmFja2dyb3VuZC1jb2xvciBjYWxjKHZhcigtLWR1cmF0aW9uKSAvIDMpIHZhcigtLWVhc2UpLFxuICAgIGJhY2tncm91bmQtc2l6ZSB2YXIoLS1kdXJhdGlvbikgdmFyKC0tZWFzZSk7XG5cbiAgJi5yZXZlYWxlZCB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHZhcigtLWJnLWhpZ2hsaWdodCksXG4gICAgICAgIHZhcigtLWJnLWhpZ2hsaWdodCkpO1xuICB9XG5cbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNsaXAtcGF0aDogaW5zZXQoMTAwJSk7XG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIiBbaW5pY2lvIGRlIHRleHRvIHJlc2FsdGFkbzogXSBcIjtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBbLCBmaW4gZGUgdGV4dG8gcmVzYWx0YWRvLl0gXCI7XG4gIH1cbn1cblxuW2RhdGEtYW5pbWF0aW9uPSdib3VuY2UtaW4nXSB7XG4gIGFuaW1hdGlvbjogc2xpZGUtaW4tYm90dG9tIC43cyBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMsIDAuNTE1LCAwLjk1NSkgYm90aDtcbiAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1kZWxheSk7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIEdlbmVyYXRlZCBieSBBbmltaXN0YSBvbiAyMDI0LTYtMTkgMTA6MzQ6NTZcbiAqIExpY2Vuc2VkIHVuZGVyIEZyZWVCU0QgTGljZW5zZS5cbiAqIFNlZSBodHRwOi8vYW5pbWlzdGEubmV0L2xpY2Vuc2UgZm9yIG1vcmUgaW5mby4gXG4gKiB3OiBodHRwOi8vYW5pbWlzdGEubmV0LCB0OiBAY3NzYW5pbWlzdGFcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBhbmltYXRpb24gc2xpZGUtaW4tYm90dG9tXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cbkBrZXlmcmFtZXMgc2xpZGUtaW4tYm90dG9tIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycmVtKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzaW1wbGUtcmV2ZWFsIHtcbiAgMCUge1xuICAgIC8qIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycmVtKTsgKi9cbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLyogdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyAqL1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuXG4ucmV2ZWFsIHtcbiAgb3BhY2l0eTogMDtcblxuICAmLnJldmVhbGVkIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGFuaW1hdGlvbjogc2ltcGxlLXJldmVhbCAwLjVzIGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCkgYm90aDtcbiAgICBhbmltYXRpb24tZGVsYXk6IHZhcigtLWRlbGF5KTtcbiAgfVxufVxuXG4ucmV2ZWFsW2RhdGEtc3BsaXQ9XCJ0cnVlXCJdIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IG5vbmU7XG5cbiAgJiAud29yZCB7XG4gICAgcGFkZGluZy1pbmxpbmUtZW5kOiAuM2NoO1xuICAgIC8qIGJhY2tncm91bmQtY29sb3I6IHBpbms7ICovXG4gIH1cblxuICAmIC5jaGFyIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgJi5yZXZlYWxlZCAuY2hhciB7XG4gICAgYW5pbWF0aW9uOiBmbGlwLWluLWRpYWctMS1ibCAwLjVzIGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCkgYm90aDtcbiAgICBhbmltYXRpb24tZGVsYXk6IHZhcigtLWRlbGF5KTtcbiAgfVxufVxuXG4uaGVybzcgLnJldmVhbFtkYXRhLXNwbGl0PVwidHJ1ZVwiXSB7XG4gICYgLndvcmQge1xuICAgIHBhZGRpbmctaW5saW5lOiAuM2NoO1xuICAgIC8qIGJhY2tncm91bmQtY29sb3I6IGJyb3duOyAqL1xuICB9XG59XG5cblxuXG4ud2FpdCB7XG4gIG9wYWNpdHk6IDA7XG4gIC8qIHRyYW5zaXRpb246IGFsbCAuNXMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTsgKi9cbiAgYW5pbWF0aW9uOiBmIDJzIGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCkgYm90aDtcbiAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1kZWxheSk7XG5cbiAgJisud2FpdCB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWRlbGF5KSAqIDEuMik7XG5cbiAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBHZW5lcmF0ZWQgYnkgQW5pbWlzdGEgb24gMjAyNC02LTE4IDExOjM6NVxuICogTGljZW5zZWQgdW5kZXIgRnJlZUJTRCBMaWNlbnNlLlxuICogU2VlIGh0dHA6Ly9hbmltaXN0YS5uZXQvbGljZW5zZSBmb3IgbW9yZSBpbmZvLiBcbiAqIHc6IGh0dHA6Ly9hbmltaXN0YS5uZXQsIHQ6IEBjc3NhbmltaXN0YVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cbkBrZXlmcmFtZXMgZmxpcC1pbi1kaWFnLTEtYmwge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDEsIDEsIDAsIDgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDEsIDEsIDAsIDgwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDEsIDEsIDAsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMSwgMSwgMCwgMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGYge1xuICAwJSB7XG5cbiAgICAvKiBvcGFjaXR5OiAwOyAqL1xuICB9XG5cbiAgMTAwJSB7XG5cbiAgICBvcGFjaXR5OiAxO1xuICAgIC8qIGJhY2tncm91bmQtY29sb3I6IHBpbms7ICovXG4gIH1cbn1cblxuXG5cblxuLyogQnRuIFRhZyAqL1xuI3ByZXNlbnRhdGlvbiB7XG4gIC0td2lkdGgtaWNvbjogNHJlbTtcbn1cblxuLmJ0bi10YWcsXG4uZ28tYmFjayxcbi5idG4taGVhZGVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLmJ0bi10YWcge1xuXG4gIC0tYmc6IHZhcigtLWphdmEtMjApO1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBoZWlnaHQ6IHZhcigtLXdpZHRoLWljb24pO1xuXG5cbiAgZm9udC1zaXplOiB2YXIoLS1mcy1iYXNlKTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLXJhZGl1czogMTAwdmg7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LWFsaWduOiBzdGFydDtcblxuICAmIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAvKiBvdXRsaW5lOiBub25lOyAqL1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIC50ZXh0LFxuICAmOmZvY3VzLXZpc2libGUgLmljb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxufVxuXG5saSB7XG4gIC0td2lkdGgtaWNvbjogMi41cmVtO1xufVxuXG4uZGFyayB7XG4gIC0tYmctdGFnOiB2YXIoLS1qYXZhLTIwMCk7XG4gIC0tY29sb3ItdGFnOiB2YXIoLS1qYXZhLTEwKTtcblxuICAtLWNvbG9yLXRhZy1ob3ZlcjogdmFyKC0tamF2YS0xMCk7XG59XG5cbi5saWdodCB7XG4gIC0tYmctdGFnOiB2YXIoLS1qYXZhLTIwKTtcbiAgLS1jb2xvci10YWc6IHZhcigtLWphdmEtODAwKTtcblxuICAtLWNvbG9yLXRhZy1ob3ZlcjogdmFyKC0tamF2YS02MDApO1xufVxuXG4uYnRuLXRhZyAuaWNvbixcbi5idG4tdGFnIC50ZXh0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctdGFnKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRhZyk7XG4gIGJvcmRlci1yYWRpdXM6IDEwMHZoO1xuICBoZWlnaHQ6IDEwMCU7XG5cblxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAuMnMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAuMjVzIGVhc2U7XG5cbn1cblxuXG4uYnRuLXRhZyAudGV4dCB7XG5cbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICBwYWRkaW5nLXJpZ2h0OiA0cmVtO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAvKiBlbiBsdWdhciBkZSB1c2FyIHVuIG1pbi13aWR0aCwgdXNhIHVuIHBhZGRpbmcgcGFyYSBsYSBmbGVjaGEgLCB5IGNvbiBub3dyYXAgZW4gaG92ZXIgbm8gc2Ugdm9sdmVyYSBudW5jYSAyIGxpbmVhcyovXG4gIHdpZHRoOiAxMDAlO1xuXG4gICY+c3BhbiB7XG4gICAgLyogbWF4LXdpZHRoOiA3MCU7ICovXG4gIH1cbn1cblxuLmJ0bi10YWcgLmljb24ge1xuICB3aWR0aDogdmFyKC0td2lkdGgtaWNvbik7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgJiBzdmcge1xuICAgIHdpZHRoOiAxLjJyZW07XG4gIH1cblxufVxuXG4uYnRuLXRhZzpob3ZlciB7XG4gIC0tYmctdGFnOiB2YXIoLS1qYXZhLTcwKTtcblxuICAmIC50ZXh0IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0td2lkdGgtaWNvbikgLSAuMnJlbSk7XG4gIH1cbn1cblxuXG5cbi8qIGdvIGJhY2sgKi9cblxuLmdvLWJhY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLyogYWxpZ24tICovXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IC41Y2g7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRhZyk7XG4gIGNvbG9yOiB2YXIoLS1iZy10YWcpO1xuXG5cbiAgd2lkdGg6IDEwMCU7XG5cbiAgcGFkZGluZzogdmFyKC0tbGluay1wYWRkaW5nLCAuNXJlbSk7XG4gIG1pbi1oZWlnaHQ6IDIuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogLjVyZW07XG5cbiAgJiBzdmcge1xuICAgIHJvdGF0ZTogLTE4MGRlZztcbiAgICB3aWR0aDogLjhyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tYmctdGFnLWhvdmVyKTtcbiAgfVxufVxuXG4uY2FwcyB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5ociB7XG5cblxuICBoZWlnaHQ6IC4wNWVtO1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLXRvcDogMHB4O1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi10b3A6IDBweDtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICBib3JkZXI6IG5vbmU7XG59XG5cblxuXG5cblxuXG5cbi8qIGN1cnNvciBvbiBmb2xsb3cgaHR0cHM6Ly9jb2RlcGVuLmlvL250ZW5lYnJ1c28vcGVuL1FXTHpWalkgKi9cbjpyb290IHtcbiAgLS13aWR0aC1jdXJzb3I6IDMuNWVtO1xuICAtLXdpZHRoLWN1cnNvci1pbm5lcjogLjVlbTtcbn1cblxuLmxpZ2h0IHtcbiAgLS1ib3JkZXItY3Vyc29yOiByZ2JhKDE5OSwgMTk2LCAxOTYsIDEpO1xuICAtLWJnLWN1cnNvcjogcmdiYSgxOTksIDE5NiwgMTk2LCAwLjMpO1xuXG4gIC0tYmctY3Vyc29yLWlubmVyOiB3aGl0ZTtcblxuICAtLWNvbG9yLWN1cnNvci10ZXh0OiByZ2IoNzcsIDc2LCA3Nik7XG5cblxuXG59XG5cblxuLmRhcmsge1xuICAtLWJvcmRlci1jdXJzb3I6IHJnYmEoMzksIDM5LCAzOSwgMSk7XG4gIC0tYmctY3Vyc29yOiByZ2JhKDM5LCAzOSwgMzksIDAuMyk7XG5cbiAgLS1iZy1jdXJzb3ItaW5uZXI6IGJsYWNrO1xuXG4gIC0tY29sb3ItY3Vyc29yLXRleHQ6IHdoaXRlO1xufVxuXG5cblxuXG4uY3Vyc29yIHtcbiAgd2lkdGg6IHZhcigtLXdpZHRoLWN1cnNvcik7XG4gIGhlaWdodDogdmFyKC0td2lkdGgtY3Vyc29yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY3Vyc29yKTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tYm9yZGVyLWN1cnNvcik7XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLW91dDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA5OTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGxlZnQ6IDA7XG4gIC8qIGxlZnQ6IDUwJTsgKi9cbiAgdG9wOiAwO1xuICAvKiB0cmFuc2Zvcm06IHRyYW5zbGF0ZShjYWxjKC01MCUgKyAxNXB4KSwgLTUwJSk7ICovXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKGNhbGMoLTUwJSArIHZhcigtLXdpZHRoLWN1cnNvcikpLCAtNTAlKTtcbiAgLyogdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7ICovXG59XG5cbi5jdXJzb3IyIHtcbiAgd2lkdGg6IHZhcigtLXdpZHRoLWN1cnNvci1pbm5lcik7XG4gIGhlaWdodDogdmFyKC0td2lkdGgtY3Vyc29yLWlubmVyKTtcblxuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jdXJzb3ItaW5uZXIpO1xuICBvcGFjaXR5OiAuNDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb246IHdpZHRoIC42cywgaGVpZ2h0IC4zcywgb3BhY2l0eSAuM3M7XG59XG5cbi5jdXJzb3IsXG4uY3Vyc29yMiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSAoaG92ZXI6aG92ZXIpIHtcblxuICAuY3Vyc29yLFxuICAuY3Vyc29yMiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxufVxuXG4ubGlnaHQgLmN1cnNvci5ob3ZlcmluZy1hLWZpZ3VyZSB7XG4gIC0tYmctY3Vyc29yOiB3aGl0ZTtcbiAgLS1ib3JkZXItY3Vyc29yOiB0cmFuc3BhcmVudDtcbiAgLS13aWR0aC1jdXJzb3I6IDExZW07XG59XG5cbi5kYXJrIC5jdXJzb3IuaG92ZXJpbmctYS1maWd1cmUge1xuICAtLWJnLWN1cnNvcjogYmxhY2s7XG4gIC0tYm9yZGVyLWN1cnNvcjogdHJhbnNwYXJlbnQ7XG4gIC0td2lkdGgtY3Vyc29yOiAxMWVtO1xufVxuXG4uY3Vyc29yLmhvdmVyaW5nLWEtZmlndXJlIHtcbiAgb3BhY2l0eTogMTtcblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogYXR0cihkYXRhLWxvY2F0aW9uKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBwbGFjZS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItY3Vyc29yLXRleHQpO1xuICAgIC8qIGZpbHRlcjogYnJpZ2h0bmVzcygxLjMpOyAqL1xuICAgIC8qIGZpbHRlcjogc2F0dXJhdGUoMyk7ICovXG4gICAgLyogYmFja2Ryb3AtZmlsdGVyOiBibHVyKC4ycmVtKTsgKi9cbiAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICB9XG59XG5cblxuLmhvdmVyaW5nLWEtbGluayB7XG4gIC0td2lkdGgtY3Vyc29yOiAyZW07XG4gIG9wYWNpdHk6IDAuMztcbn1cblxuXG4uY3Vyc29yaW5uZXJob3ZlciB7XG4gIHdpZHRoOiAzLjVlbTtcbiAgaGVpZ2h0OiAzLjVlbTtcbiAgb3BhY2l0eTogLjU7XG59XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8qIHRhZ3MgKi9cblxuLmhhcy1oaWRkZW4tdGFncyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcblxuICAmIC50YWdzLWFyZS1oaWRkZW4ge1xuICAgIHBhZGRpbmc6IDByZW07XG4gICAgcGFkZGluZy1sZWZ0OiAuNXJlbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgZm9udC1zaXplOiAuOGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgb3BhY2l0eTogMTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogLjJyZW07XG4gICAgcGFkZGluZzogLjVyZW07XG4gIH1cbn1cblxuXG5cbi50YWcge1xuICBhbGw6IHVuc2V0O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1qYXZhLTcwMCk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogLjNlbSAuNWVtO1xuICBib3JkZXItcmFkaXVzOiAuNHJlbTtcblxuICBtYXgtd2lkdGg6IDc1dnc7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG59XG5cblxuXG5cbkBtZWRpYSAoaG92ZXI6aG92ZXIpIHtcbiAgLnRhZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsIC0yMCUpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZSB0cmFuc2xhdGUgLjIgZWFzZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2U7XG5cbiAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuMDVzO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC4xcztcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuMTVzO1xuICAgIH1cbiAgfVxuXG5cbiAgLmhhcy1oaWRkZW4tdGFnczpob3ZlciAudGFncy1hcmUtaGlkZGVuIC50YWcsXG4gIC5wb3N0LWNsaWNrYWJsZTpob3ZlciAudGFncy1hcmUtaGlkZGVuIC50YWcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAlLCAxMCUpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuXG5cbi8qIDxzdHlsZT4gKi9cbjpyb290IHtcbiAgLS1yYWRpdXMtbGc6IDJyZW07XG4gIC0tcmFkaXVzLW1kOiAxcmVtO1xuICAtLXJhZGl1czogLjRyZW07XG5cbiAgLS1zcGFjZXItdG9wOiAycmVtO1xufVxuXG4ubGluZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgLyogYWxpZ24taXRlbXM6IGVuZDsgKi9cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAuNWNoO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBsaW5lLWhlaWdodDogMTtcblxuICAmPioge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4uaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ud2lkZSB7XG4gIGdyaWQtY29sdW1uOiAtMS8xICFpbXBvcnRhbnQ7XG59XG5cblxuLyogLmV5ZWJyb3ctc3ByaW5rbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IC4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nLWJsb2NrOiAuNmVtO1xuXG4gIGNvbG9yOiByZ2IoNjgsIDY3LCA2Nyk7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogLjI1ZW07XG4gICAgd2lkdGg6IC42ZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYnJvd247XG4gICAgYm9yZGVyLXJhZGl1czogMTAwdmg7XG4gIH1cbn0gKi9cblxuLmV5ZWJyb3ctc3ByaW5rbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IC4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nLWJsb2NrOiAuNmVtO1xuXG4gIGNvbG9yOiByZ2IoNjgsIDY3LCA2Nyk7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6IC4yNWVtO1xuICAgIHdpZHRoOiAuNmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJyb3duO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHZoO1xuICB9XG59XG5cbi5leWVicm93LXBpbGwge1xuICBmb250LXNpemU6IHZhcigtLWZzLXNtKTtcbiAgcGFkZGluZzogLjVlbSAuNWVtO1xuICBib3JkZXItcmFkaXVzOiAxMDB2aDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0OSwgMTQ1LCAxMSwgMC40KTtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDJyZW0pO1xuICBiYWNrZHJvcC1maWx0ZXI6IHNhdHVyYXRlKDIwKTtcbn1cblxuXG5cbi8qIDwvc3R5bGU+ICovXG5cblxuLyogPHN0eWxlPiAqL1xuLmludHJvLXctc3VuIHtcbiAgLS1jb2xvcjE6IHJnYigyMTksIDE4MCwgNyk7XG4gIC0tY29sb3IyOiB3aGl0ZTtcbiAgLS1jb2xvcjM6IHJnYigyNDAsIDIzOCwgMjM4KTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblxuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTFkZWcsIHZhcigtLWNvbG9yMSkgMjAuMTIlLCB2YXIoLS1jb2xvcjIpIDU1LjI3JSwgdmFyKC0tY29sb3IzKSA4Mi42MSUpO1xuXG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAmIC50aXRsZS1zdGFyIHtcblxuICAgIGZpbGw6IHZhcigtLWNvbG9yMSk7XG4gICAgY29sb3I6IHZhcigtLWFjY2VudCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIC0uM2VtKTtcbiAgfVxuXG4gICYgc3ZnIHtcbiAgICBhbGw6IHVuc2V0O1xuICAgIGZpbGw6IHJlYmVjY2FwdXJwbGU7XG4gIH1cblxufVxuXG5cbi5saWdodCB7XG4gIC0tYWNjZW50OiAjY2Q3MzAwO1xufVxuXG4uZGFyayB7XG4gIC0tYWNjZW50OiAjZmZhYTNlO1xufVxuXG5cbi5yb3cge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgyMCUsIDE1dncpIDFmcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxcmVtO1xufVxuXG4uY29sIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgLyogZ3JpZC10ZW1wbGF0ZS1yb3dzOiBtaW5tYXgoMjAlLCA1MHZoKSAxZnI7ICovXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMXJlbTtcbn1cblxuLnJvdy1hbHQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBtaW5tYXgoMjAlLCA0cmVtKTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxcmVtO1xufVxuXG4ucHJldmlldzQge1xuICAvKiAmIGFydGljbGUgeyAqL1xuICBkaXNwbGF5OiBncmlkO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG5cblxuICAmPmRpdiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIC8qIHBsYWNlLWNvbnRlbnQ6IGVuZDsgKi9cbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC13ZWlnaHQ6IDkwMCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCA4MCUsIHJnYmEoNDgsIDQ3LCA0NywgMC42NjQpKTtcbiAgfVxuXG59XG5cbi5wcmV2aWV3NSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICAvKiBcbiAgJj5kaXY6bnRoLWNoaWxkKDIpIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDAgIWltcG9ydGFudDtcbiAgfSAqL1xuXG59XG5cbi5wcmV2aWV3NiB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmPmRpdjpudGgtY2hpbGQoMikge1xuXG4gICAgcGFkZGluZy10b3A6IC41cmVtO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgLyogcGxhY2UtY29udGVudDogZW5kOyAqL1xuXG4gICAgZm9udC13ZWlnaHQ6IDkwMCAhaW1wb3J0YW50O1xuXG4gIH1cblxufVxuXG5cblxuXG5cbi5zdHlsZTEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1wdXJlKTtcbiAgY29sb3I6IHZhcigtLWphdmEtMTApO1xufVxuXG5cblxuXG5cblxuXG5cblxuXG4vKiBiaWdnZXN0IGNvbnRyYXN0LCBmb3IgYnRuICovXG4uY29sb3JzMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2VmZWY7XG4gIGNvbG9yOiAjMDQxMzFjO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmRhcmsgLmNvbG9yczAge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwNDEzMWM7XG59XG5cbi8qIGZvciBzZWN0aW9uICovXG4uY29sb3JzMSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7XG4gIGNvbG9yOiAjMDQxMzFjO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmRhcmsgLmNvbG9yczEge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWphdmEtNjAwKTtcbiAgLyogY29sb3I6IHBpbms7ICovXG59XG5cbi8qIGJpZyBjb250cmFzdCAqL1xuLmNvbG9yczIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1qYXZhLTEwKTtcbiAgY29sb3I6IHZhcigtLWphdmEtNzAwKTtcbiAgLyogZm9udC13ZWlnaHQ6IDYwMDsgKi9cbn1cblxuLmRhcmsgLmNvbG9yczIge1xuICBjb2xvcjogdmFyKC0tamF2YS0xMCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWphdmEtNzAwKTtcbn1cblxuXG5cbi8qIHNwZWNpYWwsIGkganVzdCB3YW50IHRoZW0gdG8gc3RhbmQgb3V0IGFzIGhpZ2hlciBzbyB0aGV5IG11c2ggaGF2ZSBsaWdodGVyIG9yIGNvbG91cmZ1bCBiZyB0aGFuIGFudGVyaW9yIHNlY3Rpb24gKi9cbi5jb2xvcnMzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0MywgMjQzLCAyNDMpO1xuICBjb2xvcjogdmFyKC0tamF2YS04MDApO1xufVxuXG5hLmNvbG9yczM6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tamF2YS00MDApO1xufVxuXG4uZGFyayBhLmNvbG9yczM6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tamF2YS04MDApO1xufVxuXG4uZGFyayAuY29sb3JzMyB7XG4gIGNvbG9yOiByZ2IoMjQzLCAyNDMsIDI0Myk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWphdmEtNDAwKTtcbn1cblxuLyoganVzdCBkYXJrZXIgYmcgKi9cbi5jb2xvcnM0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIxMiwgMjA5LCAyMDkpO1xufVxuXG4uZGFyayAuY29sb3JzNCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMjE0MWY7XG59XG5cbi8qIGhpZ2hlciB0aGFuIHRoZSBpbWFnZSBvbmx5ICovXG4uY29sb3JzNyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWphdmEtMjAwKTtcbiAgLyogY29sb3I6IHdoaXRlOyAqL1xufVxuXG4uZGFyayAuY29sb3JzNyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWphdmEtNzAwKTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG5cbi5yb3VuZGVkLW9uLXRvcCB7XG4gIC0tcmFkaXVzLXRvcDogdmFyKC0tcmFkaXVzLW1kKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXRvcCkgdmFyKC0tcmFkaXVzLXRvcCkgMCAwO1xufVxuXG5zZWN0aW9uLnJvdW5kZWQtb24tdG9wIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTkwJSk7XG4gICAgLyogd2lkdGg6IDEwMCU7ICovXG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgIC8qIGJhY2tncm91bmQtY29sb3I6IHBpbms7ICovXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXRvcCkgdmFyKC0tcmFkaXVzLXRvcCkgMCAwO1xuXG4gIH1cbn1cblxuLyogPC9zdHlsZT4gKi9cblxuXG4vKiA8c3R5bGU+ICovXG4ubXV0ZWQge1xuICBvcGFjaXR5OiAuODtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLmg2IHtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLmgtMTAwIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4vKiA8L3N0eWxlPiAqL1xuXG5cbi8qIDxzdHlsZT4gKi9cbi5wb3N0LWNvbnRlbnQge1xuICBmb250LXNpemU6IHZhcigtLWZzLWJhc2UpO1xuICBsaW5lLWhlaWdodDogMS41O1xuXG4gICYgdWwge1xuICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDFlbTtcbiAgfVxuXG4gICY+KiB7XG4gICAgcGFkZGluZy1ib3R0b206IC40ZW07XG4gIH1cblxuICAmIGgxLFxuICBoMixcbiAgaDMge1xuICAgIHBhZGRpbmctdG9wOiAuNWVtO1xuICB9XG5cbiAgJiBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDMwcmVtICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgfVxufVxuXG4vKiA8L3N0eWxlPiAqLyJdfQ== */