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

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1;
}

p {
  text-wrap: pretty
}



picture {
  overflow: hidden;
  border-radius: .3rem
}

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
}


::selection {
  background-color: var(--accent, green);
}

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

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

figcaption {
  font-size: .8em;
  opacity: .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: var(--radius);
  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: var(--radius);
  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
}




.md-20-10 {
  display: grid
}

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

.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;
  position: fixed;

  top: 0;
  /* left: 0; */
  right: 0;
  z-index: 5;
  /* estara debajo de la seccion de rows */

  padding: 1rem;
  color: var(--accent);
  font-weight: 500;
  transition: all .4s cubic-bezier(0.455, 0.03, 0.515, 0.955);

  transform: translate(0, -100%);
  opacity: 0;

}

.scrolled-20vh .sticks-on-top {
  transform: translate(0, 0);
  opacity: 1;
}



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




header .btn-header {


  display: grid;
  text-transform: uppercase;
  /* font-weight: 600; */
  place-content: center;
  height: 3rem;
  min-width: 3rem;

  border-radius: .3rem !important;
  font-family: var(--sans);


  background-color: var(--bg-btn-header);
  backdrop-filter: blur(2rem);
  transition: all .3s cubic-bezier(0.075, 0.82, 0.165, 1);

  &>span {
    padding-inline: 1em !important;
  }

  &:hover {
    background-color: var(--bg-btn-header-hover);
    color: var(--color-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;
  }
}








.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;
    /* background-color: rebeccapurple; */
  }
}

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


  text-decoration: none;
  display: inline-grid;
  grid-auto-flow: column;
  align-items: center;
  /* align- */
  justify-content: center;
  gap: .5ch;

  width: 100%;

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

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

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


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


.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-none {
  border-radius: none
}




.grid {
  display: grid
}

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

.relative {
  position: relative
}



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

:root {
  --padding-body: max(1rem, 5vw);
}

main,
section,
footer {
  position: relative;
}


.limited,
.header-inner {
  max-width: 60rem;
  margin-inline: auto;
}

.px-body {
  padding-inline: var(--padding-body);
}

section {
  padding-top: 10rem;
  overflow-x: hidden;

  &>.limited {
    padding-inline: var(--padding-body);
  }

  & .button-wrapper {
    padding-block: 2rem;
  }
}

.py-0 {
  padding-block: 0;
}

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

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

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

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

.py-1 {
  padding-block: 1rem;
}

.pt-3 {
  padding-block-start: 3rem;
}





.gap-1 {
  gap: 0.35rem
}

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



.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)
}


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




/* 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; */
}[data-animation='bounce-in'] {
  animation: slide-in-bottom .5s cubic-bezier(0.455, 0.03, 0.515, 0.955) both;
  animation-delay: var(--delay);
}


@keyframes slide-in-bottom {
  0% {
    /* transform: translateY(-.5rem); */
    background-color: transparent;
    /* opacity: 0; */
    filter: blur(.2rem);
  }


  100% {
    filter: blur(0)
  }
}

@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.3s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
    animation-delay: var(--delay);
  }
}


.words {
  display: flex;
  flex-wrap: wrap;
  opacity: 1 !important;
  transition: none;
  /* max-width: 60vw; */
  /* max-width: 90vw; */

  & .word {
    padding-inline-end: .3ch;
    max-width: 90vw;
    /* asi no se afectara al contenedor cuando use justify content center */
  }

  & .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 */
#sobre-nosotros {
  --width-icon: 4rem;
}

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


:root {


  --bg-tag-hover: color-mix(in srgb, var(--bg-4) 60%, var(--bg-5));

  --bg-tag: white;
  --color-tag-hover: rgb(34, 34, 34);
  --color-tag: #2a2a2a;

  --bg-eyebrow: linear-gradient(123deg, rgba(76, 245, 79, 0.26), rgba(139, 247, 51, 0.267));
  --color-eyebrow: black;
}



.dark {
  --bg-tag: #2a2a2a;
  --color-tag-hover: rgb(34, 34, 34);
  --color-tag: #f7f7f7;
}



/* elements: eyebrow, .h2, btn-tag */
.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: .2em .5em;
  border-radius: .2em;
  font-weight: 500;
  color: var(--color-eyebrow);

  background: rgba(255, 255, 255, 0.486);
  background-image: var(--bg-eyebrow);

  /* backdrop-filter: blur(2rem); */
  backdrop-filter: saturate(50);
}

.h2 {
  padding-top: .5rem;
  padding-bottom: 2rem;
}



/* go back */


.caps {
  text-transform: uppercase;
}


[hidden] {
  display: none;
}

hr {


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







/* cursor on follow https://codepen.io/ntenebruso/pen/QWLzVjY */










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




:root {
  --radius-lg: 2rem;
  --radius-md: 1rem;
  --radius: .3rem;

}


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

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







.light {
  --accent: goldenrod;
  --accent-strong: #cd7300;
}

.dark {
  --accent: #c1972e;
  --accent-strong: #ffaa3e;
}




.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%;


}

.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;
  --color-link-hover: var(--color);
}

.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: .9;
  font-weight: 400;
}

.h6 {
  line-height: 1.3;
}

.h-100 {
  height: 100%;
}

/* </style> */


/* <style> */
.post-content {


  line-height: 1.5;
  padding-top: 1rem;
  font-size: 1.2rem;

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

  & ol {
    list-style: decimal;
  }

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

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

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

  & strong {
    font-weight: 700;
  }

  & .footnotes,
  .footnotes ol {
    padding-top: 1rem;
  }

}:root {






  --padding-row: 1rem;

  /* --color-text-alt: #000; */
  --image-gap: 1vw;
  --image-gap-large: 2vw;
  --img-size: 5vw;
  --img-size-large: 14vw;
  --img-size-large: 30vw;








}


/* ? */
.use-colors .changes-color {
  background-color: var(--bg);
  padding-inline: 1rem;
}

@media screen and (min-width: 600px) {
  :root {
    --img-size-large: 20vw;

  }
}


.oh {
  position: relative;
  overflow: hidden;
}

.oh__inner {
  will-change: transform;
  display: inline-block;
}


/* 
a {
  text-decoration: none;
  color: var(--color-link);
  outline: none;
  cursor: pointer;
} */

.hover-line {
  overflow: hidden;
  position: relative;
}

.hover-line::before {
  content: '';
  height: 1px;
  width: 100%;
  background: currentColor;
  position: absolute;
  top: 92%;
  transition: transform 0.3s;
  transform-origin: 0% 50%;
}

.hover-line:hover::before {
  transform: scaleX(0);
  transform-origin: 100% 50%;
}






.cover {
  background: var(--bg-row-hover);
  width: 100%;
  height: 0;
  opacity: 0;
  pointer-events: none;
  z-index: 99;
  /* mayor que todo en su seccion */
  position: fixed;
  left: 0;
  will-change: height, top;
}



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

.content {
  position: relative;
  border-bottom: 1px solid var(--color-row-border);
}



.row {
  color: var(--color-row);
  background-color: var(--bg-row);


  position: relative;
  cursor: pointer;
  border-bottom: 1px solid var(--color-row-border);
  transition: background-color 0.3s ease-out, border-color 0.3s ease-out;
  transition: all 0.3s ease-out;

  &:hover {
    border-color: var(--color-row-border-hover);
  }


}

.row:hover .revealed .char {
  color: var(--color-row-border-hover);
  transition: all .1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition-delay: var(--delay);
}




/* .intro.limited */

/* ++ */
.row>.limited {

  padding-block: 1em 2em;
  padding-inline: var(--padding-body);
  --img-size: 5rem;
  display: grid;



  grid-template-rows: var(--img-size);
  grid-template-columns: auto 1fr;
  grid-template-columns: 1fr;
  align-items: center;

}

@media screen and (min-width: 52em) {
  .row>.limited {
    grid-column-gap: 5vw;
    grid-template-columns: 1fr auto;
  }
}

.row:hover {
  background-color: var(--bg-row-hover);
}

.row--current {
  z-index: 10;
  transition: border-color 0.3s ease-out;
}

.cell {
  position: relative;
}


.cell__title,
.preview__item-title {
  /* margin: 0; */

  font-size: var(--fs-xl);
  position: relative;
  font-weight: 400;
  line-height: 1;
  white-space: nowrap;
}



.cell__title {
  /* display: grid;
  grid-template-rows: 100% 100%; */

  text-transform: uppercase;
  display: flex;
  flex-wrap: wrap;
  gap: .25em;
  padding: .5em;
  /* por la jota J */
}

.cell--text {
  display: flex;
  /* flex-wr */
  align-items: center;
}

.cell--images {
  display: grid;
  align-content: center;
  grid-auto-columns: auto;
  grid-auto-flow: column;
  grid-gap: var(--image-gap);
  justify-content: end;
  justify-content: start;
  margin-left: auto;

  min-height: var(--img-size);
}

@media screen and (min-width: 52em) {
  .cell--images {
    /* margin-left: auto; */
  }
}

.cell__img {
  width: var(--img-size);
  display: grid;
  position: relative;
  grid-template-columns: 100%;
  grid-template-rows: auto auto;
  will-change: transform, opacity;
  opacity: 0;
}

.cell__img-inner {
  background-size: cover;
  background-position: 50% 50%;
  aspect-ratio: 1;
  width: 100%;
  border-radius: calc(var(--image-gap) / 3);
}

.cell__img-title {
  max-width: 100%;
  font-size: 1rem;
  font-weight: 300;
  color: var(--color-text-alt);
  margin: 0;
  height: 0;
  opacity: 0;
  white-space: nowrap;
  will-change: opacity, transform;

  display: none;
}



.preview {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 200;
}

button.preview__close {

  --space: 1rem;
  background-color: var(--bg-button);

  position: absolute;
  top: var(--space);
  left: var(--space);
  font-size: 2rem;
  /* font-weight: 400; */
  /* line-height: 1; */
  /* padding: 2rem; */
  cursor: pointer;
  opacity: 0;
  /* font-family: sans-serif; */
  /* font-family: var(--sans); */



  border-radius: .3rem;
  width: 3rem;
  height: 3rem;
  display: grid;
  place-content: center;
}

.preview__close--show {
  pointer-events: auto;
}

.preview__item {
  width: 100%;
  height: 100%;
  display: grid;
  align-items: center;
  justify-items: center;
  align-content: center;
  grid-gap: 10vh;
  height: 0;
  opacity: 0;
  overflow: hidden;
}

.preview__item--current {
  pointer-events: auto;
  height: 100vh;
  opacity: 1;

}

.preview__item-title {
  /* font-family: lores-22-serif, sans-serif; */
  font-family: var(--sans);
  font-weight: 700;
  font-size: clamp(1.563rem, 6vw, 3.815rem);
}

.cell__img-wrapper {
  position: relative;
  display: grid;
  max-width: 1200px;
  width: 100%;
  max-width: 1000px;
  grid-gap: var(--image-gap-large);
  justify-content: center;
  justify-items: center;

  --img-size: var(--img-size-large);
  /* grid-template-columns: repeat(4, var(--img-size)); */
  grid-template-columns: repeat(3, var(--img-size));
  /* grid-template-rows: repeat(2, var(--img-size)); */
}

.cell__img-wrapper .cell__img {
  width: var(--img-size-large);
}

@media screen and (min-width: 61em) {
  .frame {
    grid-template-rows: auto;
    grid-template-areas: 'title prevdemo sponsor';
    grid-template-columns: auto auto 1fr;
    grid-column-gap: 2rem;
  }

  :root {
    --padding-sides: 4rem;
    --padding-row: 2rem;
  }
}.hero {
  overflow-x: hidden;
  padding-top: 5rem;
  /* como se va a pinnear arriba, le agregamos padding top aqui */
}

.hero-collage {
  width: 100%;
  display: flex;
  flex-flow: row nowrap;

}

.hero-collage__item {

  flex-basis: 18rem;
  flex-basis: max(25vw, 18rem);
  height: max(40vh, 18rem);
  flex-shrink: 0;
  padding: .3rem;


  & figure {
    border-radius: .3rem;
    overflow: hidden;
  }

  & figure {
    height: 100%;
    position: relative;
    display: grid;
    align-items: center;
  }

  & figure>picture {

    position: absolute;
    height: 100%;

  }

  & picture>img {
    min-height: 100%;
  }

  & figcaption {
    position: absolute;
    top: .5rem;
    left: .5rem;
    right: .5rem;
    width: fit-content;
    z-index: 1;
    font-size: 1rem;
    background-color: black;
    padding: .3em .5em;
    border-radius: .3em;
    line-height: .9;
  }

  & img,
  picture {
    border-radius: 0;
  }
}

:root {

  --bg-block: #f7f7f7;
  --color-block: rgb(31, 31, 31);
  --color-block-hover: rgb(31, 31, 31);
  --bg-block-hover: #ffffff;
}

.dark {
  --bg-block: #4b4b4b;
  --color-block: white;
  --bg-block-hover: #585858;
  --color-block-hover: white;
}

.section__block {
  background: var(--bg-block);
  color: var(--color-block);
  padding: 1.5rem 2rem;
  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);
}

a.section__block {

  --color-link: var(--color-block);
  --color-link-hover: var(--color-block-hover);
  text-decoration: none;
  line-height: 1.3;
  position: relative;
  display: inline-block;
  grid-template-rows: auto 1fr;
  height: 100%;
  display: grid;
  gap: .2em;

  & svg {
    rotate: -45deg;
    position: absolute;
    top: .5rem;
    right: .5rem;
    width: 1rem;
    height: 1rem;
    transition: all .2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
    /* position: relative; */
  }

  &:hover {
    background-color: var(--bg-block-hover);
    /* color: var(--color-block-hover); */
  }

  &:hover svg {
    transform: translate(.8rem, 0rem);
  }
}/* <style> */
/* usaba .colors0 */
.slider-button {
  display: grid;
  place-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: var(--radius);
  transition: all .2s cubic-bezier(0.445, 0.05, 0.55, 0.95);
  display: grid;
  place-content: center;


  & svg {
    width: 70%;
    height: 70%;
    margin: auto;
  }
}

.rotated {
  rotate: 180deg;
}

.rotated-45 {
  rotate: -45deg;
}

.slider__slide {

  padding-block: 2rem;
  padding-inline: 1rem;

  & a {
    color: inherit;
    text-decoration: none;
  }

  & a:hover {
    opacity: .7;
  }

  & .card {
    transition: rotate .2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  }

  &:hover .card {
    rotate: 3deg;
  }

  /* 
  &:nth-child(1):hover .card {
    background-color: rgba(211, 200, 101, 0.8);
    rotate: 3deg;
  }

  &:nth-child(2):hover .card {
    background-color: rgba(173, 218, 100, 0.8);
    rotate: 3deg;
  }

  &:nth-child(3):hover .card {
    background-color: rgba(166, 157, 231, 0.8);
    rotate: 3deg;
  }

  &:nth-child(4):hover .card {
    background-color: rgba(187, 137, 236, 0.8);
    rotate: 3deg;
  }

  &:nth-child(5):hover .card {
    background-color: rgba(75, 142, 230, 0.8);
    rotate: 3deg;
  }

  &:nth-child(6):hover .card {
    background-color: rgba(199, 133, 179, 0.8);
    rotate: 3deg;
  }

  &:nth-child(7):hover .card {
    background-color: rgba(230, 143, 62, 0.8);
    rotate: 3deg;
  } */

}

.dark .slider__slide {
  color: var(--bg);
}









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


.slider__slide {
  cursor: move;

  img {
    max-width: 100%;
    height: auto;
    /* border-radius: .5rem; */
  }
}









/* tickets */
:root {
  --base-white: 250, 250, 250;
  --base-black: 40, 40, 40;

  --color-white: rgb(var(--base-white));
  --color-black: rgb(var(--base-black));

  --padding-card: 1rem;


  --bg-card: whitesmoke;
  --color-card: var(--color-black);
  --color-card-muted: rgba(var(--base-black), 0.5) --bg-card-footer: rgb(255, 255, 255);
  --color-card-footer: rgba(var(--base-black), 0.8);
}



.dark {
  --color-card: whitesmoke;
  --bg-card: var(--color-black);

  --bg-card-footer: rgb(63, 63, 63);
  --color-card-footer: white;
}


.card {
  font-family: 'Times New Roman', Times, serif;
  font-weight: 300;
  border-radius: .3rem;
  overflow: hidden;
  line-height: 1.1;
  background-color: var(--bg-card);
  color: var(--color-card);
  transition: all .2s cubic-bezier(0.455, 0.03, 0.515, 0.955);

  &>* {
    padding-inline: var(--padding-card);
    padding-block-start: var(--padding-card);
  }


  h3 {
    letter-spacing: -0.05em;
    line-height: 1.2;
  }

  .subtitle {
    padding-top: .3em;
  }

  a {
    text-decoration: underline;
  }

  /* en home es picture */
  figure,
  picture {
    width: 100%;
    height: 0;
    padding-top: 100%;
    overflow: hidden;
    position: relative;
    margin: 0;
    border-radius: .2rem;
  }

  figure>img,
  picture>img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }

  &:has(a:hover) {
    transform: translate(0, -2px);
  }

}




.date {
  display: inline-block;
  color: var(--color-card-muted);
  /* font-size: .8rem; */


}

.date,
.card-footer {
  padding-bottom: var(--padding-card);
  font-weight: 300;
  font-size: .8em;
}




.info-title {
  padding-top: .5em;
}

.info-content {
  font-weight: 600;
  list-style: none;
  padding: 0;
  text-transform: uppercase;

  & ul {
    display: flex;
    flex-wrap: wrap;
  }

  & ul>*::after {
    content: ',';
    padding-right: .3em;
  }

  & ul>*:last-child::after {
    content: none;
  }
}



.card-footer {
  position: relative;
  /* --col-width: min(15ch, 100%); */
  /* display: grid; */
  /* grid-template-columns: repeat(auto-fill, minmax(var(--col-width), 1fr)); */


  gap: 1rem;
  min-height: 4em;
  background-color: var(--bg-card-footer);
  color: var(--color-card-footer);
}



.dashed-top {
  background-image: linear-gradient(to right, rgba(var(--base-black), 0.3) 50%, var(--color-white) 0%);
  background-position: top;
  background-size: 0.5rem 1px;
  background-repeat: repeat-x;
}

/* .card-body, */
.dashed-bottom {
  background-image: linear-gradient(to right, rgba(var(--base-black), 0.3) 50%, var(--app-white) 0%);
  background-position: bottom;
  background-size: 0.5rem 1px;
  background-repeat: repeat-x;
}

.card-footer::before,
.card-footer::after {
  --size-circle: 1rem;
  --radius-circle: .3rem;
  position: absolute;

  content: ' ';
  display: block;
  width: 1.2rem;
  height: 1.2rem;


  width: var(--size-circle);
  height: var(--size-circle);

  top: 0;
  transform: translate(50%, 0);

  background: var(--bg-section);

  border-top-right-radius: var(--radius-circle);

  z-index: 10;
}

.card-footer::before {

  left: 0;
  transform: translate(-50%, -50%) rotate(45deg)
}

.card-footer::after {
  /* right: -0.6rem; */
  right: 0;
  /* left: unset; */
  transform: translate(50%, -50%) rotate(225deg)
}


.card--round .card-footer::before,
.card--round .card-footer::after {
  all: unset;

  --size-circle: 2rem;
  --radius-circle: 100vh;

  position: absolute;
  content: '';


  background: var(--app-brand);
  top: 0;
  left: 0;
  z-index: 10;
  width: var(--size-circle);
  height: var(--size-circle);
  border-radius: var(--radius-circle);

  transform: translate(-50%, -50%);
}

.card--round .card-footer::after {
  left: unset;
  right: 0;
  transform: translate(50%, -50%);
}















/* <style> */



.grid--article {
  display: grid;

}

@media only screen and (min-width: 500px) {
  .grid--article {
    /* background-color: pink; */
    grid-template-columns: minmax(25ch, .7fr) auto;
  }

}

/* https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_containment/Container_queries
*/

.cards {

  container-type: inline-size;
  container-name: cards;
  /* optional, use with  @container cards (...) {} */


}

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

  gap: var(--padding-card);
  gap: 3rem;

  /* limited width */
  max-width: 60rem;
  padding-inline: var(--padding-body);
  margin-inline: auto;


  & .card {
    max-width: 90vw;
    margin-inline: auto;
  }


}



@container (min-width: 45ch) {

  .card {

    max-width: 60ch;
    margin-inline: auto;
    /* background-color: pink; */
    /* max-width: 40ch; */

    gap: var(--padding-card);
    height: 100%;
    grid-template-rows: 1fr auto;
  }

  .card,
  .card-footer {
    display: grid;
    grid-template-columns: minmax(5rem, .5fr) minmax(15ch, 1fr);

    &>* {
      /* outline: 1px solid rgba(255, 255, 255, 0.267); */
    }
  }

  .card>* {
    /* removemos los paddings de los costados en todo */
    padding-inline: 0;
    padding-block-start: var(--padding-card);

  }

  .card-header {
    padding-inline-start: var(--padding-card);
  }

  .card-body {
    padding-inline-end: var(--padding-card);
  }

  .card picture {
    padding-top: 100%;
  }


  .card-footer {
    grid-column: -1/1;
    min-height: 5em;

    /* padding-inline: var(--padding-card); */
    &>*:first-child {
      padding-inline-start: var(--padding-card);
    }

    &>*:last-child {
      padding-inline-end: var(--padding-card);
    }
  }

}

/* </style> */.copyright {

  text-align: center;
  font-weight: 500;
  opacity: .9;
  padding-top: 1rem;

}


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

  &>img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }
}

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

.bg-inherit {
  background: inherit;
}












/* 


.has-sun::before {

  content: '';
  position: absolute;
  border-radius: 1rem 1rem 0 0;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 0;

  background: url(img/noise.png), radial-gradient(at top, var(--bg1) 0%, var(--bg2) 100%);
  background-size: 250px, 100%;
}


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

}
  .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: top;
  background-repeat: no-repeat;
  background-size: cover;

 
  margin-inline: auto;
}

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

  &: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);
  }
}



.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.] ";
  }
} */.littlefoot {
  /* --button-background-color: var(--accent);
  --button-text-color: #fff;
  --button-active-background-color: var(--accent-strong);
  --button-active-text-color: #fff; */
  --button-background-color: rgba(153, 152, 152, 0.3);
  --button-text-color: var(--accent);
  --button-active-background-color: rgba(179, 175, 175, 0.3);
  --button-active-text-color: var(--accent-strong);
  --button-border-radius: 8px;
  --button-border-radius: 0.5rem;
  --button-height: 16px;
  --button-height: 1.3em;
  /* --button-margin: 0 1.6px; */
  --button-margin: 0 0.3em;
  --button-padding: 0 0.6em;
  --button-transition: background-color 0.25s ease, color 0.25s ease;
  --popover-background-color: #f5f5f5;
  --popover-text-color: currentColor;
  /* --popover-border: 1px solid #949494; */
  --popover-border-radius: 0.3rem;
  --popover-max-height: 15em;
  --popover-max-width: 90%;
  --popover-horizontal-padding: 1em;
  --popover-vertical-padding: 9.6px;
  --popover-vertical-padding: 0.6rem;
  /* --popover-shadow: 0 0 8px rgba(0, 0, 0, .302); */
  --popover-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);
  --popover-transform-origin: 50% 0;
  --popover-transform: scale(0.1) translateZ(0);
  --popover-active-transform: scale(1) translateZ(0);
  --popover-transition: opacity 0.25s ease, transform 0.25s ease;
  --popover-width: 22em;
  --popover-scroll-indicator-color: #3f3f3f;
  --popover-tooltip-size: 8px;
  --popover-tooltip-size: 0.5rem;
  position: relative
}

.dark .littlefoot {
  /* --popover-text-color: #f5f5f5; */
  --popover-background-color: #222;
}

.littlefoot__button {
  background-color: var(--button-background-color);
  border: 0;
  border: var(--button-border, 0);
  border-radius: var(--button-border-radius);
  color: var(--button-text-color);
  cursor: pointer;
  display: inline-block;
  font-size: 12px;
  font-size: var(--button-font-size, 12px);
  font-size: .75rem;
  font-size: var(--button-font-size, .75rem);
  font-weight: 400;
  font-weight: var(--button-font-weight, initial);
  height: var(--button-height);
  margin: var(--button-margin);
  padding: var(--button-padding);
  -webkit-text-decoration: none;
  text-decoration: none;
  transition: var(--button-transition);
  vertical-align: middle
}

.littlefoot__button.is-active,
.littlefoot__button:active,
.littlefoot__button:focus,
.littlefoot__button:hover {
  background-color: var(--button-active-background-color);
  color: var(--button-active-text-color)
}

.littlefoot__button svg {
  float: left;
  height: 5px;
}

.littlefoot__popover {
  border: var(--popover-border);
  border-radius: var(--popover-border-radius);
  box-shadow: var(--popover-shadow);
  margin: calc(var(--popover-tooltip-size) + var(--button-height)) 0;
  max-width: var(--popover-max-width);
  position: absolute;
  top: 0;
  transform: var(--popover-transform);
  transform-origin: var(--popover-transform-origin);
  transition: var(--popover-transition);
  width: var(--popover-width);
  z-index: 1
}

.littlefoot__popover.is-above {
  bottom: 0;
  top: auto
}

.littlefoot__popover.is-active {
  transform: var(--popover-active-transform)
}

.littlefoot__wrapper {
  position: relative;
  z-index: 1
}

.littlefoot__content,
.littlefoot__wrapper {
  border-radius: var(--popover-border-radius)
}

.littlefoot__content {
  -webkit-overflow-scrolling: touch;
  background-color: var(--popover-background-color);
  box-sizing: border-box;
  color: var(--popover-text-color);
  font-family: serif;
  font-family: initial;
  font-family: var(--popover-font-family, initial);
  /* font-size: medium; */
  /* font-size: var(--popover-font-size, initial); */
  font-size: .9em;
  font-style: normal;
  font-style: var(--popover-font-style, initial);
  font-weight: 400;
  font-weight: var(--popover-font-weight, initial);
  line-height: normal;
  line-height: var(--popover-line-height, normal);
  max-height: var(--popover-max-height);
  overflow: auto;
  padding: var(--popover-vertical-padding) var(--popover-horizontal-padding);
  width: 100%
}

.littlefoot__content img {
  max-width: 100%
}

.littlefoot__content:focus {
  outline: none
}

.is-scrollable {
  --arrow-x: calc(var(--popover-horizontal-padding)*-1);
  --arrow-y: calc(var(--popover-vertical-padding)/2)
}

.is-scrollable .littlefoot__content:after {
  bottom: 0;
  color: var(--popover-scroll-indicator-color);
  content: "\21E3";
  display: block;
  left: 0;
  opacity: 1;
  position: sticky;
  text-align: center;
  transform: translateX(var(--arrow-x)) translateY(var(--arrow-y));
  transition: var(--popover-transition);
  width: var(--popover-horizontal-padding)
}

.is-scrollable.is-fully-scrolled .littlefoot__content:after {
  opacity: 0
}

.littlefoot__tooltip {
  --tooltip-margin: calc(var(--popover-tooltip-size)*-1);
  background-color: var(--popover-background-color);
  border: var(--popover-border);
  box-shadow: var(--popover-shadow);
  height: calc(var(--popover-tooltip-size)*2);
  margin-left: var(--tooltip-margin);
  position: absolute;
  transform: rotate(45deg);
  width: calc(var(--popover-tooltip-size)*2)
}

.is-below .littlefoot__tooltip {
  top: var(--tooltip-margin)
}

.is-above .littlefoot__tooltip {
  bottom: var(--tooltip-margin)
}

@media (max-width:768px) {
  .littlefoot__popover {
    border-radius: 0;
    border-width: 1px 0 0;
    bottom: 0 !important;
    left: 0 !important;
    margin: 0;
    max-width: 100% !important;
    position: fixed;
    right: 0 !important;
    top: auto !important;
    transform: translateY(100%);
    width: 100%
  }

  .littlefoot__popover.is-active {
    transform: translateY(0)
  }

  .littlefoot__wrapper {
    border-radius: 0;
    max-width: 100% !important;
    transform: none
  }

  .littlefoot__tooltip {
    display: none
  }
}

@media not print {
  .littlefoot--print {
    display: none
  }
}

@media print {

  .littlefoot__button,
  .littlefoot__popover {
    display: none
  }
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0ZGluIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6InN0ZGluIiwic291cmNlc0NvbnRlbnQiOlsicCxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmRcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbnAge1xuICB0ZXh0LXdyYXA6IHByZXR0eVxufVxuXG5cblxucGljdHVyZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IC4zcmVtXG59XG5cbnVsLFxub2wge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmVcbn1cblxudGFibGUge1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAycmVtIDBcbn1cblxudGFibGUsXG50aCxcbnRkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgY3VycmVudENvbG9yO1xuICBwYWRkaW5nOiAuNXJlbVxufVxuXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYmctbWFyaywgdmlvbGV0KVxufVxuXG5hYmJyIHtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAuMnJlbVxufVxuXG5cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LCBncmVlbik7XG59XG5cbmltZyxcbnBpY3R1cmUsXG52aWRlbyxcbmNhbnZhcyxcbnN2ZyxcbmZpZ3VyZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0b1xufVxuXG5pbWcge1xuICAtby1vYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LWZpdDogY292ZXJcbn1cblxuZmlnY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogLjhlbTtcbiAgb3BhY2l0eTogLjg7XG4gIGRpc3BsYXk6IGJsb2NrXG59XG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxudGV4dGFyZWEsXG5zZWxlY3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMCk7XG4gIGN1cnNvcjogcG9pbnRlclxufVxuXG5zdmcge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2tcbn1cblxuXG5cblxuXG5cblxuXG4uYmxvY2sge1xuICBkaXNwbGF5OiBibG9ja1xufVxuXG4uYWxpZ24taXRlbXMtY2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlclxufVxuXG5cblxuXG5cblxuOnJvb3Qge1xuICAtLWlucHV0LWJvcmRlcjogIzhiOGE4YjtcbiAgLS1pbnB1dC1mb2N1cy1oOiAyNDU7XG4gIC0taW5wdXQtZm9jdXMtczogMTAwJTtcbiAgLS1pbnB1dC1mb2N1cy1sOiA0MiU7XG59XG5cbi5pbnB1dCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiBtYXgoMTZweCwgMWVtKTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IC40ZW0gLjdlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmcpO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1pbnB1dC1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICB0cmFuc2l0aW9uOiAuMXMgYm94LXNoYWRvdyBlYXNlLWluLW91dDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGhlaWdodDogM3JlbTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5pbnB1dDpmb2N1cy12aXNpYmxlIHtcbiAgYm9yZGVyLWNvbG9yOiBoc2wodmFyKC0taW5wdXQtZm9jdXMtaCksIHZhcigtLWlucHV0LWZvY3VzLXMpLCB2YXIoLS1pbnB1dC1mb2N1cy1sKSk7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDNweCBoc2xhKHZhcigtLWlucHV0LWZvY3VzLWgpLCB2YXIoLS1pbnB1dC1mb2N1cy1zKSwgY2FsYyh2YXIoLS1pbnB1dC1mb2N1cy1sKSArIDQwJSksIDAuOCk7XG4gIG91dGxpbmU6IDNweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDApXG59XG5cbnRleHRhcmVhLmlucHV0IHtcbiAgaGVpZ2h0OiB1bnNldDtcbiAgcmVzaXplOiB2ZXJ0aWNhbFxufVxuXG4uaW5wdXRbdHlwZT1maWxlXSB7XG4gIGZvbnQtc2l6ZTogLjllbTtcbiAgcGFkZGluZy10b3A6IC4zNXJlbTtcbiAgaGVpZ2h0OiB1bnNldDtcbiAgYm9yZGVyOiBub25lXG59XG5cbi5pbnB1dDo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjNjM5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDNlbTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0taW5wdXQtYm9yZGVyKVxufVxuXG4uaW5wdXRbcmVhZG9ubHldIHtcbiAgYm9yZGVyLXN0eWxlOiBkb3R0ZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIGNvbG9yOiAjNzc3XG59XG5cbi5pbnB1dFtkaXNhYmxlZF0ge1xuICAtLWlucHV0LWJvcmRlcjogI2NjYztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmVcbn1cblxuLmZpZWxkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlXG59XG5cbi5maWVsZCBsYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxcmVtO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwJSwgLTUwJSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnKTtcbiAgZm9udC1zaXplOiAuOGVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICB6LWluZGV4OiAzXG59XG5cbi5maWVsZCAuaW5wdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnKVxufVxuXG4uZmllbGQgLmlucHV0IGlucHV0IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMnJlbSk7XG4gIHBhZGRpbmctaW5saW5lOiAuNWVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZykgIWltcG9ydGFudFxufVxuXG4uZmllbGQgYnV0dG9uIHtcbiAgLS1zcGFjaW5nOiAwcHg7XG4gIHdpZHRoOiAycmVtO1xuICByaWdodDogdmFyKC0tc3BhY2luZyk7XG4gIHRvcDogdmFyKC0tc3BhY2luZyk7XG4gIHotaW5kZXg6IDI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSB2YXIoLS1zcGFjaW5nKSoyKTtcbiAgYmFja2dyb3VuZDogcGluaztcbiAgcGFkZGluZzogLjVyZW1cbn1cblxuXG5cblxuLm1kLTIwLTEwIHtcbiAgZGlzcGxheTogZ3JpZFxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tZC0yMC0xMCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyZnIgMWZyO1xuICB9XG59XG5cbi5tZC0xMC0xNSB7XG4gIGRpc3BsYXk6IGdyaWRcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWQtMTAtMTUge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDEuNWZyXG4gIH1cbn1cblxuLm1kLTEwLTEwIHtcbiAgZGlzcGxheTogZ3JpZFxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tZC0xMC0xMCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyXG4gIH1cbn1cblxuXG5cbi5zdGlja3Mtb24tdG9wIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgcG9zaXRpb246IGZpeGVkO1xuXG4gIHRvcDogMDtcbiAgLyogbGVmdDogMDsgKi9cbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDU7XG4gIC8qIGVzdGFyYSBkZWJham8gZGUgbGEgc2VjY2lvbiBkZSByb3dzICovXG5cbiAgcGFkZGluZzogMXJlbTtcbiAgY29sb3I6IHZhcigtLWFjY2VudCk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRyYW5zaXRpb246IGFsbCAuNHMgY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzLCAwLjUxNSwgMC45NTUpO1xuXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0xMDAlKTtcbiAgb3BhY2l0eTogMDtcblxufVxuXG4uc2Nyb2xsZWQtMjB2aCAuc3RpY2tzLW9uLXRvcCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICBvcGFjaXR5OiAxO1xufVxuXG5cblxuLmxpZ2h0IHtcbiAgLS1iZy1idG4taGVhZGVyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gIC0tYmctYnRuLWhlYWRlci1ob3Zlcjogd2hpdGU7XG59XG5cbi5kYXJrIHtcbiAgLS1iZy1idG4taGVhZGVyOiByZ2JhKDIwLCAyMCwgMjAsIDAuOCk7XG4gIC0tYmctYnRuLWhlYWRlci1ob3ZlcjogcmdiKDI5LCAyOSwgMjkpO1xufVxuXG5cblxuLmJ0bi1nbGFzcyB7XG4gIC0tY29sb3ItYnRuOiBwaW5rO1xuICAtLWJnLWJ0bjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLWJ0bik7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1idG4pO1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigydncpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMnZ3KTtcbiAgdHJhbnNpdGlvbjogLjM1cztcbiAgcGFkZGluZzogLjdlbSAxLjNlbTtcbiAgYm9yZGVyLXJhZGl1czogMTAwdmhcbn1cblxuXG5cblxuaGVhZGVyIC5idG4taGVhZGVyIHtcblxuXG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIC8qIGZvbnQtd2VpZ2h0OiA2MDA7ICovXG4gIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcbiAgaGVpZ2h0OiAzcmVtO1xuICBtaW4td2lkdGg6IDNyZW07XG5cbiAgYm9yZGVyLXJhZGl1czogLjNyZW0gIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLXNhbnMpO1xuXG5cbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctYnRuLWhlYWRlcik7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigycmVtKTtcbiAgdHJhbnNpdGlvbjogYWxsIC4zcyBjdWJpYy1iZXppZXIoMC4wNzUsIDAuODIsIDAuMTY1LCAxKTtcblxuICAmPnNwYW4ge1xuICAgIHBhZGRpbmctaW5saW5lOiAxZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWJ0bi1oZWFkZXItaG92ZXIpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1idG4taGVhZGVyLWhvdmVyKTtcbiAgfVxuXG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvcik7XG4gIH1cblxuICAmIHN2ZyB7XG4gICAgaGVpZ2h0OiAxLjJlbTtcbiAgICB3aWR0aDogMS4yZW07XG4gIH1cblxuICAmLmxvZ28ge1xuICAgIHBhZGRpbmctaW5saW5lOiAwO1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgcGxhY2UtY29udGVudDogY2VudGVyO1xuICB9XG59XG5cblxuXG5cblxuXG5cblxuLm1kLXN0aWNrcy1vbi10b3Age1xuICAvKiBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2VyLXRvcCwgMCkgKi9cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWQtc3RpY2tzLW9uLXRvcCB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IHZhcigtLXNwYWNlci10b3AsIDApO1xuICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgIG1heC1oZWlnaHQ6IDk1dmg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAvKiBiYWNrZ3JvdW5kLWNvbG9yOiByZWJlY2NhcHVycGxlOyAqL1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1kLXBiLTIwIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTByZW07XG4gIH1cbn1cblxuXG5cblxuXG5hW2RhdGEtcmVwbGFjZV0ge1xuICAtLWJvcmRlci13aWR0aDogMnB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgcGFkZGluZy1pbmxpbmUtZW5kOiAyZW1cbn1cblxuYVtkYXRhLXJlcGxhY2VdOjpiZWZvcmUsXG5hW2RhdGEtcmVwbGFjZV06OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgbGVmdDogMFxufVxuXG5hW2RhdGEtcmVwbGFjZV06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NGIzZDY7XG4gIGhlaWdodDogdmFyKC0tYm9yZGVyLXdpZHRoKTtcbiAgYm90dG9tOiAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgY3ViaWMtYmV6aWVyKDAuNzYsIDAsIDAuMjQsIDEpXG59XG5cbmFbZGF0YS1yZXBsYWNlXTo6YWZ0ZXIge1xuICBjb250ZW50OiBhdHRyKGRhdGEtcmVwbGFjZSk7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAlLCAwLCAwKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoMC43NiwgMCwgMC4yNCwgMSk7XG4gIGNvbG9yOiAjNTRiM2Q2XG59XG5cbmFbZGF0YS1yZXBsYWNlXTpob3Zlcjo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlO1xuICB0cmFuc2Zvcm06IHNjYWxlWCgxKVxufVxuXG5hW2RhdGEtcmVwbGFjZV06aG92ZXI6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKVxufVxuXG5hW2RhdGEtcmVwbGFjZV0gc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBjdWJpYy1iZXppZXIoMC43NiwgMCwgMC4yNCwgMSlcbn1cblxuYVtkYXRhLXJlcGxhY2VdOmhvdmVyIHNwYW4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAlLCAwLCAwKVxufVxuXG5cblxuXG4ubGluay1ob3Zlci1nZXRzLWJnLFxuLmxpbmstaG92ZXItZ2V0cy11bmRlcmxpbmUge1xuICAtLWJvcmRlci13aWR0aDogMTAwJTtcbiAgLS1ib3JkZXItYmc6IGdyZWVuO1xuXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCB2YXIoLS1ib3JkZXItYmcpLCB2YXIoLS1ib3JkZXItYmcpKSBuby1yZXBlYXQgcmlnaHQgYm90dG9tLzAgdmFyKC0tYm9yZGVyLXdpZHRoKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1zaXplIDM1MG1zO1xuICBwYWRkaW5nOiAuMmVtIC40ZW07XG4gIGJvcmRlci1yYWRpdXM6IC4yZW07XG5cblxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAvKiBhbGlnbi0gKi9cbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogLjVjaDtcblxuICB3aWR0aDogMTAwJTtcblxuICBwYWRkaW5nOiB2YXIoLS1saW5rLXBhZGRpbmcsIC41cmVtKTtcbiAgbWluLWhlaWdodDogMi41cmVtO1xuICBib3JkZXItcmFkaXVzOiAuNXJlbTtcblxuICAmIHN2ZyB7XG4gICAgLyogcm90YXRlOiAtMTgwZGVnOyAqL1xuICAgIHdpZHRoOiAuOHJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4ubGluay1ob3Zlci1nZXRzLWJnOndoZXJlKDpob3ZlciwgOmZvY3VzLXZpc2libGUpLFxuLmxpbmstaG92ZXItZ2V0cy11bmRlcmxpbmU6d2hlcmUoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSkge1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgdmFyKC0tYm9yZGVyLXdpZHRoKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiBsZWZ0XG59XG5cbi5saW5rLWhvdmVyLWdldHMtdW5kZXJsaW5lIHtcbiAgcGFkZGluZzogdmFyKC0tbGluay1wYWRkaW5nLCAuMmVtIC4xZW0pO1xuICAtLWJvcmRlci13aWR0aDogMnB4O1xuXG5cbn1cblxuXG5Aa2V5ZnJhbWVzIG1vdmUge1xuICBmcm9tIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAycHggMTlweFxuICB9XG5cbiAgdG8ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwMHB4IDE5cHhcbiAgfVxufVxuXG5cbi5mb250LXRoaW5lc3Qge1xuICBmb250LXdlaWdodDogMTAwXG59XG5cbi5mb250LXRoaW5lciB7XG4gIGZvbnQtd2VpZ2h0OiAyMDBcbn1cblxuLmZvbnQtdGhpbiB7XG4gIGZvbnQtd2VpZ2h0OiAzMDBcbn1cblxuLmZvbnQtbm9ybWFsIHtcbiAgZm9udC13ZWlnaHQ6IDQwMFxufVxuXG4uZm9udC1zZW1pYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA1MDBcbn1cblxuLmZvbnQtYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDBcbn1cblxuLmZvbnQtYm9sZGVyIHtcbiAgZm9udC13ZWlnaHQ6IDcwMFxufVxuXG4uZm9udC1ib2xkZXN0IHtcbiAgZm9udC13ZWlnaHQ6IDgwMFxufVxuXG5cbi5yb3VuZGVkLWxnIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKVxufVxuXG4ucm91bmRlZC1tZCB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1tZClcbn1cblxuLnJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpXG59XG5cbi5yb3VuZGVkLXNtIHtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLXNtKVxufVxuXG5cbi5yb3VuZGVkLW5vbmUge1xuICBib3JkZXItcmFkaXVzOiBub25lXG59XG5cblxuXG5cbi5ncmlkIHtcbiAgZGlzcGxheTogZ3JpZFxufVxuXG4uZ3JpZC1jZW50ZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZVxufVxuXG5cblxuLmFsaWduLXN0YXJ0LFxuLmFsaWduLWFsbC1zdGFydCB7XG4gIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgYWxpZ24tY29udGVudDogc3RhcnRcbn1cblxuLmFsaWduLWl0ZW1zLXN0YXJ0IHtcbiAgYWxpZ24taXRlbXM6IHN0YXJ0XG59XG5cbi5hbGlnbi1jb250ZW50LXN0YXJ0IHtcbiAgYWxpZ24tY29udGVudDogc3RhcnRcbn1cblxuLmFsaWduLXNlbGYtZW5kIHtcbiAgYWxpZ24tc2VsZjogZW5kXG59XG5cbi5hbGlnbi1zZWxmLWNlbnRlciB7XG4gIGFsaWduLXNlbGY6IGNlbnRlclxufVxuXG4uYWxpZ24tc2VsZi1zdGFydCB7XG4gIGFsaWduLXNlbGY6IHN0YXJ0XG59XG5cbi5hbGlnbi1jb250ZW50LXNwYWNlZCB7XG4gIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW5cbn1cblxuOnJvb3Qge1xuICAtLXBhZGRpbmctYm9keTogbWF4KDFyZW0sIDV2dyk7XG59XG5cbm1haW4sXG5zZWN0aW9uLFxuZm9vdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi5saW1pdGVkLFxuLmhlYWRlci1pbm5lciB7XG4gIG1heC13aWR0aDogNjByZW07XG4gIG1hcmdpbi1pbmxpbmU6IGF1dG87XG59XG5cbi5weC1ib2R5IHtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXBhZGRpbmctYm9keSk7XG59XG5cbnNlY3Rpb24ge1xuICBwYWRkaW5nLXRvcDogMTByZW07XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcblxuICAmPi5saW1pdGVkIHtcbiAgICBwYWRkaW5nLWlubGluZTogdmFyKC0tcGFkZGluZy1ib2R5KTtcbiAgfVxuXG4gICYgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICBwYWRkaW5nLWJsb2NrOiAycmVtO1xuICB9XG59XG5cbi5weS0wIHtcbiAgcGFkZGluZy1ibG9jazogMDtcbn1cblxuLnB5LTUge1xuICBwYWRkaW5nLWJsb2NrOiA1cmVtO1xufVxuXG4ucHktNCB7XG4gIHBhZGRpbmctYmxvY2s6IDRyZW07XG59XG5cbi5weS0zIHtcbiAgcGFkZGluZy1ibG9jazogM3JlbTtcbn1cblxuLnB5LTIge1xuICBwYWRkaW5nLWJsb2NrOiAycmVtO1xufVxuXG4ucHktMSB7XG4gIHBhZGRpbmctYmxvY2s6IDFyZW07XG59XG5cbi5wdC0zIHtcbiAgcGFkZGluZy1ibG9jay1zdGFydDogM3JlbTtcbn1cblxuXG5cblxuXG4uZ2FwLTEge1xuICBnYXA6IDAuMzVyZW1cbn1cblxuLmdhcC0yIHtcbiAgZ2FwOiAwLjVyZW1cbn1cblxuLmdhcC0zIHtcbiAgZ2FwOiAwLjhyZW1cbn1cblxuLmdhcC00IHtcbiAgZ2FwOiAxLjFyZW1cbn1cblxuLmdhcC01IHtcbiAgZ2FwOiAxLjRyZW1cbn1cblxuLmdhcC02IHtcbiAgZ2FwOiAxLjdyZW1cbn1cblxuLmdhcC03IHtcbiAgZ2FwOiAycmVtXG59XG5cbi5nYXAtOCB7XG4gIGdhcDogMi4zcmVtXG59XG5cbi5nYXAtOSB7XG4gIGdhcDogMi42cmVtXG59XG5cbi5nYXAtMTAge1xuICBnYXA6IDIuOXJlbVxufVxuXG4uZ2FwLTExIHtcbiAgZ2FwOiAzLjJyZW1cbn1cblxuLmdhcC0xMiB7XG4gIGdhcDogMy41cmVtXG59XG5cbi5nYXAtMTMge1xuICBnYXA6IDMuOHJlbVxufVxuXG4uZ2FwLTE0IHtcbiAgZ2FwOiA0LjFyZW1cbn1cblxuLmdhcC0xNSB7XG4gIGdhcDogNC40cmVtXG59XG5cbi5nYXAtMTYge1xuICBnYXA6IDQuN3JlbVxufVxuXG4uZ2FwLTE3IHtcbiAgZ2FwOiA1cmVtXG59XG5cbi5nYXAtMTgge1xuICBnYXA6IDUuM3JlbVxufVxuXG4uZ2FwLTE5IHtcbiAgZ2FwOiA1LjZyZW1cbn1cblxuLmdhcC0yMCB7XG4gIGdhcDogNS45cmVtXG59XG5cbi5teC1hdXRvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIHdpZHRoOiAtbW96LWZpdC1jb250ZW50O1xuICB3aWR0aDogZml0LWNvbnRlbnRcbn1cblxuLm1zLWF1dG8ge1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiBhdXRvXG59XG5cbi5tZS1hdXRvIHtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IGF1dG9cbn1cblxuLnctZml0LFxuLnctZml0LWNvbnRlbnQge1xuICB3aWR0aDogLW1vei1maXQtY29udGVudDtcbiAgd2lkdGg6IGZpdC1jb250ZW50XG59XG5cbi5zci1vbmx5IHtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoNTAlKSAhaW1wb3J0YW50O1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSkgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnRcbn1cblxuLnNyLW9ubHktZm9jdXNhYmxlOmZvY3VzLFxuLnNyLW9ubHktZm9jdXNhYmxlOmFjdGl2ZSB7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgLXdlYmtpdC1jbGlwLXBhdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgY2xpcC1wYXRoOiBub25lICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50XG59XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlclxufVxuXG4udGV4dC1zdGFydCB7XG4gIHRleHQtYWxpZ246IHN0YXJ0XG59XG5cbi50ZXh0LWVuZCB7XG4gIHRleHQtYWxpZ246IGVuZFxufVxuXG4uZmxvdz4qKyoge1xuICBtYXJnaW4tdG9wOiAuNWVtXG59XG5cbi5vdmVyZmxvdy1oaWRkZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuXG59XG5cblxuXG4uc2hhZG93LWZ1bm55IHtcbiAgYm94LXNoYWRvdzogLTEwcHggLThweCAwcHggI2E3ZjNkMFxufVxuXG5cblxuXG4udHdpbmtseS1sb2dvIHtcbiAgbWFyZ2luOiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcmVtKTsgKi9cbiAgbWF4LXdpZHRoOiA5MHZ3O1xuXG4gICYgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAmIC5nbG93LFxuICAmIC5uby1nbG93IHtcbiAgICBwYWRkaW5nOiAycmVtO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gIH1cblxuXG4gICYgLmdsb3cge1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwcmVtO1xuICAgIGJvdHRvbTogdW5zZXQ7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50LCAjZmZmLCB0cmFuc3BhcmVudCk7XG4gICAgbWFzay1zaXplOiAzMCUgMTAwJTtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1hc2stcG9zaXRpb246IC0xMDAlO1xuICAgIC8qIG1hc2stcG9zaXRpb246IC0zM3JlbTsgKi9cblxuICAgIC8qIGFuaW1hdGlvbjogdHdpbmtsZSA3cyBpbmZpbml0ZSBlYXNlLWluOyAqL1xuXG4gIH1cblxuICAmIC5nbG93IGltZyB7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMTBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCkpO1xuICB9XG5cbn1cblxuLnJldmVhbGVkIC5nbG93IHtcbiAgYW5pbWF0aW9uOiB0d2lua2xlIDVzIGluZmluaXRlIGVhc2UtaW47XG59XG5cbkBrZXlmcmFtZXMgdHdpbmtsZSB7XG4gIDUwJSB7XG4gICAgbWFzay1wb3NpdGlvbjogMzNyZW07XG4gICAgbWFzay1wb3NpdGlvbjogMTMwJTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG1hc2stcG9zaXRpb246IDMzcmVtO1xuICAgIG1hc2stcG9zaXRpb246IDEzMCU7XG4gIH1cbn1cblxuXG4uY29sdW1ucy0zMCB7XG4gIC1tb3otY29sdW1uczogdmFyKC0tY29sLXdpZHRoLCAzMGNoKTtcbiAgY29sdW1uczogdmFyKC0tY29sLXdpZHRoLCAzMGNoKVxufVxuXG4uY29sdW1ucy0zMD4qIHtcbiAgLW1vei1jb2x1bW4tYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwLCAxcmVtKVxufVxuXG4uY29sdW1ucyB7XG4gIC1tb3otY29sdW1uczogMjVjaDtcbiAgY29sdW1uczogMjVjaDtcbiAgLW1vei1jb2x1bW5zOiAzM2NoO1xuICBjb2x1bW5zOiAzM2NoO1xuICAtbW96LWNvbHVtbi1nYXA6IHZhcigtLWdhcCk7XG4gIGNvbHVtbi1nYXA6IHZhcigtLWdhcClcbn1cblxuLmNvbHVtbnM+KiB7XG4gIC1tb3otY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIGJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWdhcClcbn1cblxuXG4uZmxleC1jb2wtd2lkdGgsXG4uZmxleC1taW4tbWF4IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlclxufVxuXG4uZmxleC1jb2wtd2lkdGg+Kixcbi5mbGV4LW1pbi1tYXg+KiB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgbWF4LXdpZHRoOiB2YXIoLS1jb2wtd2lkdGgpO1xuICBtYXgtd2lkdGg6IDMwcmVtO1xuICBtaW4td2lkdGg6IDI1Y2g7XG4gIG1heC13aWR0aDogdmFyKC0tbWluLCAzMHJlbSk7XG4gIG1pbi13aWR0aDogdmFyKC0tbWF4LCAyNWNoKTtcbiAgbWFyZ2luLWlubGluZTogYXV0b1xufVxuXG4uZmxleC1iYXNpYyB7XG4gIC0tY29sLXdpZHRoOiBtYXgoMzByZW0sIDMwdncpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyXG59XG5cbi5mbGV4LWJhc2ljPioge1xuICBmbGV4LWdyb3c6IDE7XG4gIGZsZXgtYmFzaXM6IDMwJTtcbiAgbWluLXdpZHRoOiAyNWNoO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1pbmxpbmU6IGF1dG9cbn1cblxuLmRlc2t0b3Atb25seSB7XG4gIGRpc3BsYXk6IG5vbmVcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZGVza3RvcC1vbmx5IHtcbiAgICBkaXNwbGF5OiBibG9ja1xuICB9XG59XG5cbi5tb2JpbGUtb25seSB7XG4gIGRpc3BsYXk6IGJsb2NrXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1vYmlsZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lXG4gIH1cbn1cblxuI21lbnUtY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMFxufVxuXG4jbWVudS1jb250ZW50IGEge1xuICBwYWRkaW5nOiAxcmVtXG59XG5cbmhlYWRlcj4qIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlXG59XG5cbiNtZW51LXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMVxufVxuXG4jbWVudVthcmlhLWhpZGRlbj1mYWxzZV0gI21lbnUtY29udGVudCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiB2YXIoLS1zcGFjZXItbWVudSk7XG4gIGxlZnQ6IHZhcigtLXNwYWNlci1tZW51KTtcbiAgcmlnaHQ6IHZhcigtLXNwYWNlci1tZW51KVxufVxuXG4uYmxvY2sge1xuICBkaXNwbGF5OiBibG9ja1xufVxuXG4ubm9uZSB7XG4gIGRpc3BsYXk6IG5vbmVcbn1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnlcbn1cblxuLnctZml0IHtcbiAgd2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgZmxleC1ncm93OiAwXG59XG5cbi5mbGV4LWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICB3aWR0aDogLW1vei1maXQtY29udGVudDtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBhbGlnbi1pdGVtczogY2VudGVyXG59XG5cbi5mbGV4LWdyb3VwPioge1xuICBtaW4td2lkdGg6IC1tb3otZml0LWNvbnRlbnQ7XG4gIG1pbi13aWR0aDogZml0LWNvbnRlbnQ7XG4gIGZsZXg6IDFcbn1cblxuLmZsZXgtZ3JvdXAgc3ZnIHtcbiAgaGVpZ2h0OiAuOWVtXG59XG5cbi5qdXN0aWZ5LWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyXG59XG5cbi5qdXN0aWZ5LXNwYWNlZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlblxufVxuXG4uanVzdGlmeS1lbmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZFxufVxuXG4uZmxleCB7XG4gIGRpc3BsYXk6IGZsZXhcbn1cblxuLmZsZXgtY29sIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtblxufVxuXG4uZmxleC1lbmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgcGFkZGluZy10b3A6IDFyZW1cbn1cblxuLmZsZXgtc3BhY2VkIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuXG59XG5cbi5mbGV4LXdyYXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXBcbn1cblxuXG5cblxuLyogc2xpZGVycyAqL1xuLyogPHN0eWxlPiAqL1xuLnNsaWRlcjpub3QoW2RhdGEta2Vlbi1zbGlkZXItZGlzYWJsZWRdKSB7XG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiBjYWxjKHZhcigtLXBhZ2Utd2lkdGgpIC0gNjBweCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc2xpZGVyOm5vdChbZGF0YS1rZWVuLXNsaWRlci1kaXNhYmxlZF0pIC5zbGlkZXJfX3NsaWRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbn1cblxuLnNsaWRlcjpub3QoW2RhdGEta2Vlbi1zbGlkZXItZGlzYWJsZWRdKVtkYXRhLWtlZW4tc2xpZGVyLXJldmVyc2VdIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xufVxuXG4uc2xpZGVyOm5vdChbZGF0YS1rZWVuLXNsaWRlci1kaXNhYmxlZF0pW2RhdGEta2Vlbi1zbGlkZXItdl0ge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLnNsaWRlci5zbGlkZXItLWZ1bGwtd2lkdGgge1xuICAgIG92ZXJmbG93OiBpbml0aWFsO1xuICB9XG59XG5cblxuXG5cbjpyb290IHtcbiAgLS1kb3QtcmFkaXVzOiAwLjNyZW07XG59XG5cbmtlZW4tc2xpZGVyLWNvbXBvbmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMTAwdnc7XG4gIC8qIG92ZXJmbG93OiBoaWRkZW47ICovXG59W2RhdGEtYW5pbWF0aW9uPSdib3VuY2UtaW4nXSB7XG4gIGFuaW1hdGlvbjogc2xpZGUtaW4tYm90dG9tIC41cyBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMsIDAuNTE1LCAwLjk1NSkgYm90aDtcbiAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1kZWxheSk7XG59XG5cblxuQGtleWZyYW1lcyBzbGlkZS1pbi1ib3R0b20ge1xuICAwJSB7XG4gICAgLyogdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0uNXJlbSk7ICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLyogb3BhY2l0eTogMDsgKi9cbiAgICBmaWx0ZXI6IGJsdXIoLjJyZW0pO1xuICB9XG5cblxuICAxMDAlIHtcbiAgICBmaWx0ZXI6IGJsdXIoMClcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNpbXBsZS1yZXZlYWwge1xuICAwJSB7XG4gICAgLyogdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJyZW0pOyAqL1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICAvKiB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7ICovXG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5cbi5yZXZlYWwge1xuICBvcGFjaXR5OiAwO1xuXG4gICYucmV2ZWFsZWQge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgYW5pbWF0aW9uOiBzaW1wbGUtcmV2ZWFsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjQ2MCwgMC40NTAsIDAuOTQwKSBib3RoO1xuICAgIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tZGVsYXkpO1xuICB9XG59XG5cblxuLndvcmRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IG5vbmU7XG4gIC8qIG1heC13aWR0aDogNjB2dzsgKi9cbiAgLyogbWF4LXdpZHRoOiA5MHZ3OyAqL1xuXG4gICYgLndvcmQge1xuICAgIHBhZGRpbmctaW5saW5lLWVuZDogLjNjaDtcbiAgICBtYXgtd2lkdGg6IDkwdnc7XG4gICAgLyogYXNpIG5vIHNlIGFmZWN0YXJhIGFsIGNvbnRlbmVkb3IgY3VhbmRvIHVzZSBqdXN0aWZ5IGNvbnRlbnQgY2VudGVyICovXG4gIH1cblxuICAmIC5jaGFyIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgJi5yZXZlYWxlZCAuY2hhciB7XG4gICAgYW5pbWF0aW9uOiBmbGlwLWluLWRpYWctMS1ibCAwLjVzIGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCkgYm90aDtcbiAgICBhbmltYXRpb24tZGVsYXk6IHZhcigtLWRlbGF5KTtcbiAgfVxuXG5cbn1cblxuXG5cbi5oZXJvNyAucmV2ZWFsW2RhdGEtc3BsaXQ9XCJ0cnVlXCJdIHtcbiAgJiAud29yZCB7XG4gICAgcGFkZGluZy1pbmxpbmU6IC4zY2g7XG4gICAgLyogYmFja2dyb3VuZC1jb2xvcjogYnJvd247ICovXG4gIH1cbn1cblxuXG5cblxuXG5cblxuXG4ud2FpdCB7XG4gIG9wYWNpdHk6IDA7XG4gIC8qIHRyYW5zaXRpb246IGFsbCAuNXMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTsgKi9cbiAgYW5pbWF0aW9uOiBmIDJzIGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCkgYm90aDtcbiAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1kZWxheSk7XG5cbiAgJisud2FpdCB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWRlbGF5KSAqIDEuMik7XG5cbiAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBHZW5lcmF0ZWQgYnkgQW5pbWlzdGEgb24gMjAyNC02LTE4IDExOjM6NVxuICogTGljZW5zZWQgdW5kZXIgRnJlZUJTRCBMaWNlbnNlLlxuICogU2VlIGh0dHA6Ly9hbmltaXN0YS5uZXQvbGljZW5zZSBmb3IgbW9yZSBpbmZvLiBcbiAqIHc6IGh0dHA6Ly9hbmltaXN0YS5uZXQsIHQ6IEBjc3NhbmltaXN0YVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cbkBrZXlmcmFtZXMgZmxpcC1pbi1kaWFnLTEtYmwge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDEsIDEsIDAsIDgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDEsIDEsIDAsIDgwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDEsIDEsIDAsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMSwgMSwgMCwgMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5cblxuXG5Aa2V5ZnJhbWVzIGYge1xuICAwJSB7XG5cbiAgICAvKiBvcGFjaXR5OiAwOyAqL1xuICB9XG5cbiAgMTAwJSB7XG5cbiAgICBvcGFjaXR5OiAxO1xuICAgIC8qIGJhY2tncm91bmQtY29sb3I6IHBpbms7ICovXG4gIH1cbn1cblxuXG5cblxuLyogQnRuIFRhZyAqL1xuI3NvYnJlLW5vc290cm9zIHtcbiAgLS13aWR0aC1pY29uOiA0cmVtO1xufVxuXG4uYnRuLXRhZyxcbi5idG4taGVhZGVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuXG46cm9vdCB7XG5cblxuICAtLWJnLXRhZy1ob3ZlcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJnLTQpIDYwJSwgdmFyKC0tYmctNSkpO1xuXG4gIC0tYmctdGFnOiB3aGl0ZTtcbiAgLS1jb2xvci10YWctaG92ZXI6IHJnYigzNCwgMzQsIDM0KTtcbiAgLS1jb2xvci10YWc6ICMyYTJhMmE7XG5cbiAgLS1iZy1leWVicm93OiBsaW5lYXItZ3JhZGllbnQoMTIzZGVnLCByZ2JhKDc2LCAyNDUsIDc5LCAwLjI2KSwgcmdiYSgxMzksIDI0NywgNTEsIDAuMjY3KSk7XG4gIC0tY29sb3ItZXllYnJvdzogYmxhY2s7XG59XG5cblxuXG4uZGFyayB7XG4gIC0tYmctdGFnOiAjMmEyYTJhO1xuICAtLWNvbG9yLXRhZy1ob3ZlcjogcmdiKDM0LCAzNCwgMzQpO1xuICAtLWNvbG9yLXRhZzogI2Y3ZjdmNztcbn1cblxuXG5cbi8qIGVsZW1lbnRzOiBleWVicm93LCAuaDIsIGJ0bi10YWcgKi9cbi5leWVicm93LXNwcmlua2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAuMmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZy1ibG9jazogLjZlbTtcblxuICBjb2xvcjogcmdiKDY4LCA2NywgNjcpO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiAuMjVlbTtcbiAgICB3aWR0aDogLjZlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBicm93bjtcbiAgICBib3JkZXItcmFkaXVzOiAxMDB2aDtcbiAgfVxufVxuXG4uZXllYnJvdy1waWxsIHtcblxuXG4gIGZvbnQtc2l6ZTogdmFyKC0tZnMtc20pO1xuXG4gIHBhZGRpbmc6IC4yZW0gLjVlbTtcbiAgYm9yZGVyLXJhZGl1czogLjJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWV5ZWJyb3cpO1xuXG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40ODYpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1iZy1leWVicm93KTtcblxuICAvKiBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMnJlbSk7ICovXG4gIGJhY2tkcm9wLWZpbHRlcjogc2F0dXJhdGUoNTApO1xufVxuXG4uaDIge1xuICBwYWRkaW5nLXRvcDogLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xufVxuXG5cblxuLyogZ28gYmFjayAqL1xuXG5cbi5jYXBzIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmhyIHtcblxuXG4gIGhlaWdodDogLjA1ZW07XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLXRvcDogMHB4O1xuICBwYWRkaW5nLWJsb2NrOiAwICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyOiBub25lO1xufVxuXG5cblxuXG5cblxuXG4vKiBjdXJzb3Igb24gZm9sbG93IGh0dHBzOi8vY29kZXBlbi5pby9udGVuZWJydXNvL3Blbi9RV0x6VmpZICovXG5cblxuXG5cblxuXG5cblxuXG5cbi8qIHRhZ3MgKi9cblxuLmhhcy1oaWRkZW4tdGFncyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzKTtcblxuICAmIC50YWdzLWFyZS1oaWRkZW4ge1xuICAgIHBhZGRpbmc6IDByZW07XG4gICAgcGFkZGluZy1sZWZ0OiAuNXJlbTtcblxuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gICAgZm9udC1zaXplOiAuOGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgb3BhY2l0eTogMTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogLjJyZW07XG4gICAgcGFkZGluZzogLjVyZW07XG4gIH1cbn1cblxuXG5cbi50YWcge1xuICBhbGw6IHVuc2V0O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1qYXZhLTcwMCk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogLjNlbSAuNWVtO1xuICBib3JkZXItcmFkaXVzOiAuNHJlbTtcblxuICBtYXgtd2lkdGg6IDc1dnc7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG59XG5cblxuXG5cbkBtZWRpYSAoaG92ZXI6aG92ZXIpIHtcbiAgLnRhZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCUsIC0yMCUpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZSB0cmFuc2xhdGUgLjIgZWFzZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2U7XG5cbiAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuMDVzO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC4xcztcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuMTVzO1xuICAgIH1cbiAgfVxuXG5cbiAgLmhhcy1oaWRkZW4tdGFnczpob3ZlciAudGFncy1hcmUtaGlkZGVuIC50YWcsXG4gIC5wb3N0LWNsaWNrYWJsZTpob3ZlciAudGFncy1hcmUtaGlkZGVuIC50YWcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAlLCAxMCUpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuXG5cblxuOnJvb3Qge1xuICAtLXJhZGl1cy1sZzogMnJlbTtcbiAgLS1yYWRpdXMtbWQ6IDFyZW07XG4gIC0tcmFkaXVzOiAuM3JlbTtcblxufVxuXG5cbi5pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi53aWRlIHtcbiAgZ3JpZC1jb2x1bW46IC0xLzEgIWltcG9ydGFudDtcbn1cblxuXG5cblxuXG5cblxuLmxpZ2h0IHtcbiAgLS1hY2NlbnQ6IGdvbGRlbnJvZDtcbiAgLS1hY2NlbnQtc3Ryb25nOiAjY2Q3MzAwO1xufVxuXG4uZGFyayB7XG4gIC0tYWNjZW50OiAjYzE5NzJlO1xuICAtLWFjY2VudC1zdHJvbmc6ICNmZmFhM2U7XG59XG5cblxuXG5cbi5jb2wge1xuICBkaXNwbGF5OiBncmlkO1xuICAvKiBncmlkLXRlbXBsYXRlLXJvd3M6IG1pbm1heCgyMCUsIDUwdmgpIDFmcjsgKi9cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxcmVtO1xufVxuXG4ucm93LWFsdCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIG1pbm1heCgyMCUsIDRyZW0pO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDFyZW07XG59XG5cbi5wcmV2aWV3NCB7XG4gIC8qICYgYXJ0aWNsZSB7ICovXG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcmFkaXVzLWxnKTtcblxuXG4gICY+ZGl2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgcGFkZGluZzogMS41cmVtO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgLyogcGxhY2UtY29udGVudDogZW5kOyAqL1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXdlaWdodDogOTAwICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50IDgwJSwgcmdiYSg0OCwgNDcsIDQ3LCAwLjY2NCkpO1xuICB9XG5cbn1cblxuLnByZXZpZXc1IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMWZyO1xuICBoZWlnaHQ6IDEwMCU7XG5cblxufVxuXG4ucHJldmlldzYge1xuICBkaXNwbGF5OiBncmlkO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJj5kaXY6bnRoLWNoaWxkKDIpIHtcblxuICAgIHBhZGRpbmctdG9wOiAuNXJlbTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIC8qIHBsYWNlLWNvbnRlbnQ6IGVuZDsgKi9cblxuICAgIGZvbnQtd2VpZ2h0OiA5MDAgIWltcG9ydGFudDtcblxuICB9XG5cbn1cblxuXG5cblxuXG4uc3R5bGUxIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctcHVyZSk7XG4gIGNvbG9yOiB2YXIoLS1qYXZhLTEwKTtcbn1cblxuXG5cblxuXG5cblxuXG5cblxuLyogYmlnZ2VzdCBjb250cmFzdCwgZm9yIGJ0biAqL1xuLmNvbG9yczAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNlZmVmO1xuICBjb2xvcjogIzA0MTMxYztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC0tY29sb3ItbGluay1ob3ZlcjogdmFyKC0tY29sb3IpO1xufVxuXG4uZGFyayAuY29sb3JzMCB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA0MTMxYztcbn1cblxuLyogZm9yIHNlY3Rpb24gKi9cbi5jb2xvcnMxIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDtcbiAgY29sb3I6ICMwNDEzMWM7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZGFyayAuY29sb3JzMSB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tamF2YS02MDApO1xuICAvKiBjb2xvcjogcGluazsgKi9cbn1cblxuLyogYmlnIGNvbnRyYXN0ICovXG4uY29sb3JzMiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWphdmEtMTApO1xuICBjb2xvcjogdmFyKC0tamF2YS03MDApO1xuICAvKiBmb250LXdlaWdodDogNjAwOyAqL1xufVxuXG4uZGFyayAuY29sb3JzMiB7XG4gIGNvbG9yOiB2YXIoLS1qYXZhLTEwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tamF2YS03MDApO1xufVxuXG5cblxuLyogc3BlY2lhbCwgaSBqdXN0IHdhbnQgdGhlbSB0byBzdGFuZCBvdXQgYXMgaGlnaGVyIHNvIHRoZXkgbXVzaCBoYXZlIGxpZ2h0ZXIgb3IgY29sb3VyZnVsIGJnIHRoYW4gYW50ZXJpb3Igc2VjdGlvbiAqL1xuLmNvbG9yczMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQzLCAyNDMsIDI0Myk7XG4gIGNvbG9yOiB2YXIoLS1qYXZhLTgwMCk7XG59XG5cbmEuY29sb3JzMzpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1qYXZhLTQwMCk7XG59XG5cbi5kYXJrIGEuY29sb3JzMzpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1qYXZhLTgwMCk7XG59XG5cbi5kYXJrIC5jb2xvcnMzIHtcbiAgY29sb3I6IHJnYigyNDMsIDI0MywgMjQzKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tamF2YS00MDApO1xufVxuXG4vKiBqdXN0IGRhcmtlciBiZyAqL1xuLmNvbG9yczQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjEyLCAyMDksIDIwOSk7XG59XG5cbi5kYXJrIC5jb2xvcnM0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAyMTQxZjtcbn1cblxuLyogaGlnaGVyIHRoYW4gdGhlIGltYWdlIG9ubHkgKi9cbi5jb2xvcnM3IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tamF2YS0yMDApO1xuICAvKiBjb2xvcjogd2hpdGU7ICovXG59XG5cbi5kYXJrIC5jb2xvcnM3IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tamF2YS03MDApO1xuICBjb2xvcjogd2hpdGU7XG59XG5cblxuLnJvdW5kZWQtb24tdG9wIHtcbiAgLS1yYWRpdXMtdG9wOiB2YXIoLS1yYWRpdXMtbWQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtdG9wKSB2YXIoLS1yYWRpdXMtdG9wKSAwIDA7XG59XG5cbnNlY3Rpb24ucm91bmRlZC1vbi10b3Age1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtOTAlKTtcbiAgICAvKiB3aWR0aDogMTAwJTsgKi9cbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgLyogYmFja2dyb3VuZC1jb2xvcjogcGluazsgKi9cbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtdG9wKSB2YXIoLS1yYWRpdXMtdG9wKSAwIDA7XG5cbiAgfVxufVxuXG4vKiA8L3N0eWxlPiAqL1xuXG5cbi8qIDxzdHlsZT4gKi9cbi5tdXRlZCB7XG4gIG9wYWNpdHk6IC45O1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uaDYge1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuXG4uaC0xMDAge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi8qIDwvc3R5bGU+ICovXG5cblxuLyogPHN0eWxlPiAqL1xuLnBvc3QtY29udGVudCB7XG5cblxuICBsaW5lLWhlaWdodDogMS41O1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgZm9udC1zaXplOiAxLjJyZW07XG5cbiAgJiB1bCxcbiAgJiBvbCB7XG4gICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMWVtO1xuICB9XG5cbiAgJiBvbCB7XG4gICAgbGlzdC1zdHlsZTogZGVjaW1hbDtcbiAgfVxuXG4gICY+KiB7XG4gICAgcGFkZGluZy1ib3R0b206IC40ZW07XG4gIH1cblxuICAmIGgxLFxuICBoMixcbiAgaDMge1xuICAgIHBhZGRpbmctdG9wOiAuNWVtO1xuICB9XG5cbiAgJiBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDMwcmVtICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogLjRyZW07XG4gIH1cblxuICAmIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuXG4gICYgLmZvb3Rub3RlcyxcbiAgLmZvb3Rub3RlcyBvbCB7XG4gICAgcGFkZGluZy10b3A6IDFyZW07XG4gIH1cblxufTpyb290IHtcblxuXG5cblxuXG5cbiAgLS1wYWRkaW5nLXJvdzogMXJlbTtcblxuICAvKiAtLWNvbG9yLXRleHQtYWx0OiAjMDAwOyAqL1xuICAtLWltYWdlLWdhcDogMXZ3O1xuICAtLWltYWdlLWdhcC1sYXJnZTogMnZ3O1xuICAtLWltZy1zaXplOiA1dnc7XG4gIC0taW1nLXNpemUtbGFyZ2U6IDE0dnc7XG4gIC0taW1nLXNpemUtbGFyZ2U6IDMwdnc7XG5cblxuXG5cblxuXG5cblxufVxuXG5cbi8qID8gKi9cbi51c2UtY29sb3JzIC5jaGFuZ2VzLWNvbG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmcpO1xuICBwYWRkaW5nLWlubGluZTogMXJlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgOnJvb3Qge1xuICAgIC0taW1nLXNpemUtbGFyZ2U6IDIwdnc7XG5cbiAgfVxufVxuXG5cbi5vaCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm9oX19pbm5lciB7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuXG4vKiBcbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1saW5rKTtcbiAgb3V0bGluZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufSAqL1xuXG4uaG92ZXItbGluZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmhvdmVyLWxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDkyJTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAlIDUwJTtcbn1cblxuLmhvdmVyLWxpbmU6aG92ZXI6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTtcbn1cblxuXG5cblxuXG5cbi5jb3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLXJvdy1ob3Zlcik7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiA5OTtcbiAgLyogbWF5b3IgcXVlIHRvZG8gZW4gc3Ugc2VjY2lvbiAqL1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHdpbGwtY2hhbmdlOiBoZWlnaHQsIHRvcDtcbn1cblxuXG5cbi5wdC0xMCB7XG4gIHBhZGRpbmctdG9wOiAxMHJlbTtcbn1cblxuLmNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1yb3ctYm9yZGVyKTtcbn1cblxuXG5cbi5yb3cge1xuICBjb2xvcjogdmFyKC0tY29sb3Itcm93KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctcm93KTtcblxuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3Itcm93LWJvcmRlcik7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlLW91dCwgYm9yZGVyLWNvbG9yIDAuM3MgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0O1xuXG4gICY6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itcm93LWJvcmRlci1ob3Zlcik7XG4gIH1cblxuXG59XG5cbi5yb3c6aG92ZXIgLnJldmVhbGVkIC5jaGFyIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXJvdy1ib3JkZXItaG92ZXIpO1xuICB0cmFuc2l0aW9uOiBhbGwgLjFzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgdHJhbnNpdGlvbi1kZWxheTogdmFyKC0tZGVsYXkpO1xufVxuXG5cblxuXG4vKiAuaW50cm8ubGltaXRlZCAqL1xuXG4vKiArKyAqL1xuLnJvdz4ubGltaXRlZCB7XG5cbiAgcGFkZGluZy1ibG9jazogMWVtIDJlbTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXBhZGRpbmctYm9keSk7XG4gIC0taW1nLXNpemU6IDVyZW07XG4gIGRpc3BsYXk6IGdyaWQ7XG5cblxuXG4gIGdyaWQtdGVtcGxhdGUtcm93czogdmFyKC0taW1nLXNpemUpO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MmVtKSB7XG4gIC5yb3c+LmxpbWl0ZWQge1xuICAgIGdyaWQtY29sdW1uLWdhcDogNXZ3O1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gIH1cbn1cblxuLnJvdzpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLXJvdy1ob3Zlcik7XG59XG5cbi5yb3ctLWN1cnJlbnQge1xuICB6LWluZGV4OiAxMDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuM3MgZWFzZS1vdXQ7XG59XG5cbi5jZWxsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi5jZWxsX190aXRsZSxcbi5wcmV2aWV3X19pdGVtLXRpdGxlIHtcbiAgLyogbWFyZ2luOiAwOyAqL1xuXG4gIGZvbnQtc2l6ZTogdmFyKC0tZnMteGwpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5cblxuLmNlbGxfX3RpdGxlIHtcbiAgLyogZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxMDAlIDEwMCU7ICovXG5cbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IC4yNWVtO1xuICBwYWRkaW5nOiAuNWVtO1xuICAvKiBwb3IgbGEgam90YSBKICovXG59XG5cbi5jZWxsLS10ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgLyogZmxleC13ciAqL1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uY2VsbC0taW1hZ2VzIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICBncmlkLWF1dG8tY29sdW1uczogYXV0bztcbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgZ3JpZC1nYXA6IHZhcigtLWltYWdlLWdhcCk7XG4gIGp1c3RpZnktY29udGVudDogZW5kO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICBtYXJnaW4tbGVmdDogYXV0bztcblxuICBtaW4taGVpZ2h0OiB2YXIoLS1pbWctc2l6ZSk7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUyZW0pIHtcbiAgLmNlbGwtLWltYWdlcyB7XG4gICAgLyogbWFyZ2luLWxlZnQ6IGF1dG87ICovXG4gIH1cbn1cblxuLmNlbGxfX2ltZyB7XG4gIHdpZHRoOiB2YXIoLS1pbWctc2l6ZSk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDAlO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmNlbGxfX2ltZy1pbm5lciB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIGFzcGVjdC1yYXRpbzogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0taW1hZ2UtZ2FwKSAvIDMpO1xufVxuXG4uY2VsbF9faW1nLXRpdGxlIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWFsdCk7XG4gIG1hcmdpbjogMDtcbiAgaGVpZ2h0OiAwO1xuICBvcGFjaXR5OiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cblxuXG4ucHJldmlldyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMjAwO1xufVxuXG5idXR0b24ucHJldmlld19fY2xvc2Uge1xuXG4gIC0tc3BhY2U6IDFyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWJ1dHRvbik7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IHZhcigtLXNwYWNlKTtcbiAgbGVmdDogdmFyKC0tc3BhY2UpO1xuICBmb250LXNpemU6IDJyZW07XG4gIC8qIGZvbnQtd2VpZ2h0OiA0MDA7ICovXG4gIC8qIGxpbmUtaGVpZ2h0OiAxOyAqL1xuICAvKiBwYWRkaW5nOiAycmVtOyAqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG9wYWNpdHk6IDA7XG4gIC8qIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAqL1xuICAvKiBmb250LWZhbWlseTogdmFyKC0tc2Fucyk7ICovXG5cblxuXG4gIGJvcmRlci1yYWRpdXM6IC4zcmVtO1xuICB3aWR0aDogM3JlbTtcbiAgaGVpZ2h0OiAzcmVtO1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5wcmV2aWV3X19jbG9zZS0tc2hvdyB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4ucHJldmlld19faXRlbSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICBncmlkLWdhcDogMTB2aDtcbiAgaGVpZ2h0OiAwO1xuICBvcGFjaXR5OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucHJldmlld19faXRlbS0tY3VycmVudCB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBvcGFjaXR5OiAxO1xuXG59XG5cbi5wcmV2aWV3X19pdGVtLXRpdGxlIHtcbiAgLyogZm9udC1mYW1pbHk6IGxvcmVzLTIyLXNlcmlmLCBzYW5zLXNlcmlmOyAqL1xuICBmb250LWZhbWlseTogdmFyKC0tc2Fucyk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMS41NjNyZW0sIDZ2dywgMy44MTVyZW0pO1xufVxuXG4uY2VsbF9faW1nLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gIGdyaWQtZ2FwOiB2YXIoLS1pbWFnZS1nYXAtbGFyZ2UpO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAganVzdGlmeS1pdGVtczogY2VudGVyO1xuXG4gIC0taW1nLXNpemU6IHZhcigtLWltZy1zaXplLWxhcmdlKTtcbiAgLyogZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgdmFyKC0taW1nLXNpemUpKTsgKi9cbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgdmFyKC0taW1nLXNpemUpKTtcbiAgLyogZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMiwgdmFyKC0taW1nLXNpemUpKTsgKi9cbn1cblxuLmNlbGxfX2ltZy13cmFwcGVyIC5jZWxsX19pbWcge1xuICB3aWR0aDogdmFyKC0taW1nLXNpemUtbGFyZ2UpO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MWVtKSB7XG4gIC5mcmFtZSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6ICd0aXRsZSBwcmV2ZGVtbyBzcG9uc29yJztcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0byAxZnI7XG4gICAgZ3JpZC1jb2x1bW4tZ2FwOiAycmVtO1xuICB9XG5cbiAgOnJvb3Qge1xuICAgIC0tcGFkZGluZy1zaWRlczogNHJlbTtcbiAgICAtLXBhZGRpbmctcm93OiAycmVtO1xuICB9XG59Lmhlcm8ge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIHBhZGRpbmctdG9wOiA1cmVtO1xuICAvKiBjb21vIHNlIHZhIGEgcGlubmVhciBhcnJpYmEsIGxlIGFncmVnYW1vcyBwYWRkaW5nIHRvcCBhcXVpICovXG59XG5cbi5oZXJvLWNvbGxhZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuXG59XG5cbi5oZXJvLWNvbGxhZ2VfX2l0ZW0ge1xuXG4gIGZsZXgtYmFzaXM6IDE4cmVtO1xuICBmbGV4LWJhc2lzOiBtYXgoMjV2dywgMThyZW0pO1xuICBoZWlnaHQ6IG1heCg0MHZoLCAxOHJlbSk7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBwYWRkaW5nOiAuM3JlbTtcblxuXG4gICYgZmlndXJlIHtcbiAgICBib3JkZXItcmFkaXVzOiAuM3JlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgJiBmaWd1cmUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgJiBmaWd1cmU+cGljdHVyZSB7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gIH1cblxuICAmIHBpY3R1cmU+aW1nIHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgJiBmaWdjYXB0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAuNXJlbTtcbiAgICBsZWZ0OiAuNXJlbTtcbiAgICByaWdodDogLjVyZW07XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIHotaW5kZXg6IDE7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgIHBhZGRpbmc6IC4zZW0gLjVlbTtcbiAgICBib3JkZXItcmFkaXVzOiAuM2VtO1xuICAgIGxpbmUtaGVpZ2h0OiAuOTtcbiAgfVxuXG4gICYgaW1nLFxuICBwaWN0dXJlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG5cbjpyb290IHtcblxuICAtLWJnLWJsb2NrOiAjZjdmN2Y3O1xuICAtLWNvbG9yLWJsb2NrOiByZ2IoMzEsIDMxLCAzMSk7XG4gIC0tY29sb3ItYmxvY2staG92ZXI6IHJnYigzMSwgMzEsIDMxKTtcbiAgLS1iZy1ibG9jay1ob3ZlcjogI2ZmZmZmZjtcbn1cblxuLmRhcmsge1xuICAtLWJnLWJsb2NrOiAjNGI0YjRiO1xuICAtLWNvbG9yLWJsb2NrOiB3aGl0ZTtcbiAgLS1iZy1ibG9jay1ob3ZlcjogIzU4NTg1ODtcbiAgLS1jb2xvci1ibG9jay1ob3Zlcjogd2hpdGU7XG59XG5cbi5zZWN0aW9uX19ibG9jayB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJnLWJsb2NrKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsb2NrKTtcbiAgcGFkZGluZzogMS41cmVtIDJyZW07XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAuNXB4IDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4wNzUpLCAwIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAuMDUpLCAwIC4zcHggLjRweCByZ2JhKDAsIDAsIDAsIC4wMiksIDAgLjlweCAxLjVweCByZ2JhKDAsIDAsIDAsIC4wNDUpLCAwIDMuNXB4IDZweCByZ2JhKDAsIDAsIDAsIC4wOSk7XG59XG5cbmEuc2VjdGlvbl9fYmxvY2sge1xuXG4gIC0tY29sb3ItbGluazogdmFyKC0tY29sb3ItYmxvY2spO1xuICAtLWNvbG9yLWxpbmstaG92ZXI6IHZhcigtLWNvbG9yLWJsb2NrLWhvdmVyKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IC4yZW07XG5cbiAgJiBzdmcge1xuICAgIHJvdGF0ZTogLTQ1ZGVnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC41cmVtO1xuICAgIHJpZ2h0OiAuNXJlbTtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMsIDAuNTE1LCAwLjk1NSk7XG4gICAgLyogcG9zaXRpb246IHJlbGF0aXZlOyAqL1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctYmxvY2staG92ZXIpO1xuICAgIC8qIGNvbG9yOiB2YXIoLS1jb2xvci1ibG9jay1ob3Zlcik7ICovXG4gIH1cblxuICAmOmhvdmVyIHN2ZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLjhyZW0sIDByZW0pO1xuICB9XG59LyogPHN0eWxlPiAqL1xuLyogdXNhYmEgLmNvbG9yczAgKi9cbi5zbGlkZXItYnV0dG9uIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtY29udGVudDogY2VudGVyO1xuICB3aWR0aDogM3JlbTtcbiAgaGVpZ2h0OiAzcmVtO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzIGN1YmljLWJlemllcigwLjQ0NSwgMC4wNSwgMC41NSwgMC45NSk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcblxuXG4gICYgc3ZnIHtcbiAgICB3aWR0aDogNzAlO1xuICAgIGhlaWdodDogNzAlO1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxufVxuXG4ucm90YXRlZCB7XG4gIHJvdGF0ZTogMTgwZGVnO1xufVxuXG4ucm90YXRlZC00NSB7XG4gIHJvdGF0ZTogLTQ1ZGVnO1xufVxuXG4uc2xpZGVyX19zbGlkZSB7XG5cbiAgcGFkZGluZy1ibG9jazogMnJlbTtcbiAgcGFkZGluZy1pbmxpbmU6IDFyZW07XG5cbiAgJiBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmIGE6aG92ZXIge1xuICAgIG9wYWNpdHk6IC43O1xuICB9XG5cbiAgJiAuY2FyZCB7XG4gICAgdHJhbnNpdGlvbjogcm90YXRlIC4ycyBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMsIDAuNTE1LCAwLjk1NSk7XG4gIH1cblxuICAmOmhvdmVyIC5jYXJkIHtcbiAgICByb3RhdGU6IDNkZWc7XG4gIH1cblxuICAvKiBcbiAgJjpudGgtY2hpbGQoMSk6aG92ZXIgLmNhcmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjExLCAyMDAsIDEwMSwgMC44KTtcbiAgICByb3RhdGU6IDNkZWc7XG4gIH1cblxuICAmOm50aC1jaGlsZCgyKTpob3ZlciAuY2FyZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNzMsIDIxOCwgMTAwLCAwLjgpO1xuICAgIHJvdGF0ZTogM2RlZztcbiAgfVxuXG4gICY6bnRoLWNoaWxkKDMpOmhvdmVyIC5jYXJkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE2NiwgMTU3LCAyMzEsIDAuOCk7XG4gICAgcm90YXRlOiAzZGVnO1xuICB9XG5cbiAgJjpudGgtY2hpbGQoNCk6aG92ZXIgLmNhcmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTg3LCAxMzcsIDIzNiwgMC44KTtcbiAgICByb3RhdGU6IDNkZWc7XG4gIH1cblxuICAmOm50aC1jaGlsZCg1KTpob3ZlciAuY2FyZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg3NSwgMTQyLCAyMzAsIDAuOCk7XG4gICAgcm90YXRlOiAzZGVnO1xuICB9XG5cbiAgJjpudGgtY2hpbGQoNik6aG92ZXIgLmNhcmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTk5LCAxMzMsIDE3OSwgMC44KTtcbiAgICByb3RhdGU6IDNkZWc7XG4gIH1cblxuICAmOm50aC1jaGlsZCg3KTpob3ZlciAuY2FyZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzAsIDE0MywgNjIsIDAuOCk7XG4gICAgcm90YXRlOiAzZGVnO1xuICB9ICovXG5cbn1cblxuLmRhcmsgLnNsaWRlcl9fc2xpZGUge1xuICBjb2xvcjogdmFyKC0tYmcpO1xufVxuXG5cblxuXG5cblxuXG5cblxuLyogc2xpZGVycyAqL1xuLyogPHN0eWxlPiAqL1xuLnNsaWRlcjpub3QoW2RhdGEta2Vlbi1zbGlkZXItZGlzYWJsZWRdKSB7XG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiBjYWxjKHZhcigtLXBhZ2Utd2lkdGgpIC0gNjBweCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc2xpZGVyOm5vdChbZGF0YS1rZWVuLXNsaWRlci1kaXNhYmxlZF0pIC5zbGlkZXJfX3NsaWRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbn1cblxuLnNsaWRlcjpub3QoW2RhdGEta2Vlbi1zbGlkZXItZGlzYWJsZWRdKVtkYXRhLWtlZW4tc2xpZGVyLXJldmVyc2VdIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xufVxuXG4uc2xpZGVyOm5vdChbZGF0YS1rZWVuLXNsaWRlci1kaXNhYmxlZF0pW2RhdGEta2Vlbi1zbGlkZXItdl0ge1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzUwcHgpIHtcbiAgLnNsaWRlci5zbGlkZXItLWZ1bGwtd2lkdGgge1xuICAgIG92ZXJmbG93OiBpbml0aWFsO1xuICB9XG59XG5cblxuXG5cbjpyb290IHtcbiAgLS1kb3QtcmFkaXVzOiAwLjNyZW07XG59XG5cbmtlZW4tc2xpZGVyLWNvbXBvbmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMTAwdnc7XG4gIC8qIG92ZXJmbG93OiBoaWRkZW47ICovXG59XG5cblxuLnNsaWRlcl9fc2xpZGUge1xuICBjdXJzb3I6IG1vdmU7XG5cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC8qIGJvcmRlci1yYWRpdXM6IC41cmVtOyAqL1xuICB9XG59XG5cblxuXG5cblxuXG5cblxuXG4vKiB0aWNrZXRzICovXG46cm9vdCB7XG4gIC0tYmFzZS13aGl0ZTogMjUwLCAyNTAsIDI1MDtcbiAgLS1iYXNlLWJsYWNrOiA0MCwgNDAsIDQwO1xuXG4gIC0tY29sb3Itd2hpdGU6IHJnYih2YXIoLS1iYXNlLXdoaXRlKSk7XG4gIC0tY29sb3ItYmxhY2s6IHJnYih2YXIoLS1iYXNlLWJsYWNrKSk7XG5cbiAgLS1wYWRkaW5nLWNhcmQ6IDFyZW07XG5cblxuICAtLWJnLWNhcmQ6IHdoaXRlc21va2U7XG4gIC0tY29sb3ItY2FyZDogdmFyKC0tY29sb3ItYmxhY2spO1xuICAtLWNvbG9yLWNhcmQtbXV0ZWQ6IHJnYmEodmFyKC0tYmFzZS1ibGFjayksIDAuNSkgLS1iZy1jYXJkLWZvb3RlcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xuICAtLWNvbG9yLWNhcmQtZm9vdGVyOiByZ2JhKHZhcigtLWJhc2UtYmxhY2spLCAwLjgpO1xufVxuXG5cblxuLmRhcmsge1xuICAtLWNvbG9yLWNhcmQ6IHdoaXRlc21va2U7XG4gIC0tYmctY2FyZDogdmFyKC0tY29sb3ItYmxhY2spO1xuXG4gIC0tYmctY2FyZC1mb290ZXI6IHJnYig2MywgNjMsIDYzKTtcbiAgLS1jb2xvci1jYXJkLWZvb3Rlcjogd2hpdGU7XG59XG5cblxuLmNhcmQge1xuICBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbicsIFRpbWVzLCBzZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgYm9yZGVyLXJhZGl1czogLjNyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNhcmQpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItY2FyZCk7XG4gIHRyYW5zaXRpb246IGFsbCAuMnMgY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzLCAwLjUxNSwgMC45NTUpO1xuXG4gICY+KiB7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXBhZGRpbmctY2FyZCk7XG4gICAgcGFkZGluZy1ibG9jay1zdGFydDogdmFyKC0tcGFkZGluZy1jYXJkKTtcbiAgfVxuXG5cbiAgaDMge1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIH1cblxuICAuc3VidGl0bGUge1xuICAgIHBhZGRpbmctdG9wOiAuM2VtO1xuICB9XG5cbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cblxuICAvKiBlbiBob21lIGVzIHBpY3R1cmUgKi9cbiAgZmlndXJlLFxuICBwaWN0dXJlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IC4ycmVtO1xuICB9XG5cbiAgZmlndXJlPmltZyxcbiAgcGljdHVyZT5pbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAmOmhhcyhhOmhvdmVyKSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTJweCk7XG4gIH1cblxufVxuXG5cblxuXG4uZGF0ZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6IHZhcigtLWNvbG9yLWNhcmQtbXV0ZWQpO1xuICAvKiBmb250LXNpemU6IC44cmVtOyAqL1xuXG5cbn1cblxuLmRhdGUsXG4uY2FyZC1mb290ZXIge1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tcGFkZGluZy1jYXJkKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiAuOGVtO1xufVxuXG5cblxuXG4uaW5mby10aXRsZSB7XG4gIHBhZGRpbmctdG9wOiAuNWVtO1xufVxuXG4uaW5mby1jb250ZW50IHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAmIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gICYgdWw+Kjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcsJztcbiAgICBwYWRkaW5nLXJpZ2h0OiAuM2VtO1xuICB9XG5cbiAgJiB1bD4qOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lO1xuICB9XG59XG5cblxuXG4uY2FyZC1mb290ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qIC0tY29sLXdpZHRoOiBtaW4oMTVjaCwgMTAwJSk7ICovXG4gIC8qIGRpc3BsYXk6IGdyaWQ7ICovXG4gIC8qIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KHZhcigtLWNvbC13aWR0aCksIDFmcikpOyAqL1xuXG5cbiAgZ2FwOiAxcmVtO1xuICBtaW4taGVpZ2h0OiA0ZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWNhcmQtZm9vdGVyKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWNhcmQtZm9vdGVyKTtcbn1cblxuXG5cbi5kYXNoZWQtdG9wIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKHZhcigtLWJhc2UtYmxhY2spLCAwLjMpIDUwJSwgdmFyKC0tY29sb3Itd2hpdGUpIDAlKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wO1xuICBiYWNrZ3JvdW5kLXNpemU6IDAuNXJlbSAxcHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuLyogLmNhcmQtYm9keSwgKi9cbi5kYXNoZWQtYm90dG9tIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKHZhcigtLWJhc2UtYmxhY2spLCAwLjMpIDUwJSwgdmFyKC0tYXBwLXdoaXRlKSAwJSk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbTtcbiAgYmFja2dyb3VuZC1zaXplOiAwLjVyZW0gMXB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbi5jYXJkLWZvb3Rlcjo6YmVmb3JlLFxuLmNhcmQtZm9vdGVyOjphZnRlciB7XG4gIC0tc2l6ZS1jaXJjbGU6IDFyZW07XG4gIC0tcmFkaXVzLWNpcmNsZTogLjNyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICBjb250ZW50OiAnICc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMS4ycmVtO1xuICBoZWlnaHQ6IDEuMnJlbTtcblxuXG4gIHdpZHRoOiB2YXIoLS1zaXplLWNpcmNsZSk7XG4gIGhlaWdodDogdmFyKC0tc2l6ZS1jaXJjbGUpO1xuXG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAwKTtcblxuICBiYWNrZ3JvdW5kOiB2YXIoLS1iZy1zZWN0aW9uKTtcblxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tcmFkaXVzLWNpcmNsZSk7XG5cbiAgei1pbmRleDogMTA7XG59XG5cbi5jYXJkLWZvb3Rlcjo6YmVmb3JlIHtcblxuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoNDVkZWcpXG59XG5cbi5jYXJkLWZvb3Rlcjo6YWZ0ZXIge1xuICAvKiByaWdodDogLTAuNnJlbTsgKi9cbiAgcmlnaHQ6IDA7XG4gIC8qIGxlZnQ6IHVuc2V0OyAqL1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIC01MCUpIHJvdGF0ZSgyMjVkZWcpXG59XG5cblxuLmNhcmQtLXJvdW5kIC5jYXJkLWZvb3Rlcjo6YmVmb3JlLFxuLmNhcmQtLXJvdW5kIC5jYXJkLWZvb3Rlcjo6YWZ0ZXIge1xuICBhbGw6IHVuc2V0O1xuXG4gIC0tc2l6ZS1jaXJjbGU6IDJyZW07XG4gIC0tcmFkaXVzLWNpcmNsZTogMTAwdmg7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcblxuXG4gIGJhY2tncm91bmQ6IHZhcigtLWFwcC1icmFuZCk7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTA7XG4gIHdpZHRoOiB2YXIoLS1zaXplLWNpcmNsZSk7XG4gIGhlaWdodDogdmFyKC0tc2l6ZS1jaXJjbGUpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtY2lyY2xlKTtcblxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLmNhcmQtLXJvdW5kIC5jYXJkLWZvb3Rlcjo6YWZ0ZXIge1xuICBsZWZ0OiB1bnNldDtcbiAgcmlnaHQ6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7XG59XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4vKiA8c3R5bGU+ICovXG5cblxuXG4uZ3JpZC0tYXJ0aWNsZSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG5cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkge1xuICAuZ3JpZC0tYXJ0aWNsZSB7XG4gICAgLyogYmFja2dyb3VuZC1jb2xvcjogcGluazsgKi9cbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgyNWNoLCAuN2ZyKSBhdXRvO1xuICB9XG5cbn1cblxuLyogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL0NTU19jb250YWlubWVudC9Db250YWluZXJfcXVlcmllc1xuKi9cblxuLmNhcmRzIHtcblxuICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG4gIGNvbnRhaW5lci1uYW1lOiBjYXJkcztcbiAgLyogb3B0aW9uYWwsIHVzZSB3aXRoICBAY29udGFpbmVyIGNhcmRzICguLi4pIHt9ICovXG5cblxufVxuXG4uY2FyZHMtZ3JpZCB7XG4gIC0tY29sLXdpZHRoOiBtaW4oNDBjaCwgMTAwJSk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KHZhcigtLWNvbC13aWR0aCksIDFmcikpO1xuXG4gIGdhcDogdmFyKC0tcGFkZGluZy1jYXJkKTtcbiAgZ2FwOiAzcmVtO1xuXG4gIC8qIGxpbWl0ZWQgd2lkdGggKi9cbiAgbWF4LXdpZHRoOiA2MHJlbTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXBhZGRpbmctYm9keSk7XG4gIG1hcmdpbi1pbmxpbmU6IGF1dG87XG5cblxuICAmIC5jYXJkIHtcbiAgICBtYXgtd2lkdGg6IDkwdnc7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgfVxuXG5cbn1cblxuXG5cbkBjb250YWluZXIgKG1pbi13aWR0aDogNDVjaCkge1xuXG4gIC5jYXJkIHtcblxuICAgIG1heC13aWR0aDogNjBjaDtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgIC8qIGJhY2tncm91bmQtY29sb3I6IHBpbms7ICovXG4gICAgLyogbWF4LXdpZHRoOiA0MGNoOyAqL1xuXG4gICAgZ2FwOiB2YXIoLS1wYWRkaW5nLWNhcmQpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmciBhdXRvO1xuICB9XG5cbiAgLmNhcmQsXG4gIC5jYXJkLWZvb3RlciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCg1cmVtLCAuNWZyKSBtaW5tYXgoMTVjaCwgMWZyKTtcblxuICAgICY+KiB7XG4gICAgICAvKiBvdXRsaW5lOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI2Nyk7ICovXG4gICAgfVxuICB9XG5cbiAgLmNhcmQ+KiB7XG4gICAgLyogcmVtb3ZlbW9zIGxvcyBwYWRkaW5ncyBkZSBsb3MgY29zdGFkb3MgZW4gdG9kbyAqL1xuICAgIHBhZGRpbmctaW5saW5lOiAwO1xuICAgIHBhZGRpbmctYmxvY2stc3RhcnQ6IHZhcigtLXBhZGRpbmctY2FyZCk7XG5cbiAgfVxuXG4gIC5jYXJkLWhlYWRlciB7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLXBhZGRpbmctY2FyZCk7XG4gIH1cblxuICAuY2FyZC1ib2R5IHtcbiAgICBwYWRkaW5nLWlubGluZS1lbmQ6IHZhcigtLXBhZGRpbmctY2FyZCk7XG4gIH1cblxuICAuY2FyZCBwaWN0dXJlIHtcbiAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgfVxuXG5cbiAgLmNhcmQtZm9vdGVyIHtcbiAgICBncmlkLWNvbHVtbjogLTEvMTtcbiAgICBtaW4taGVpZ2h0OiA1ZW07XG5cbiAgICAvKiBwYWRkaW5nLWlubGluZTogdmFyKC0tcGFkZGluZy1jYXJkKTsgKi9cbiAgICAmPio6Zmlyc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLXBhZGRpbmctY2FyZCk7XG4gICAgfVxuXG4gICAgJj4qOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiB2YXIoLS1wYWRkaW5nLWNhcmQpO1xuICAgIH1cbiAgfVxuXG59XG5cbi8qIDwvc3R5bGU+ICovLmNvcHlyaWdodCB7XG5cbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogNTAwO1xuICBvcGFjaXR5OiAuOTtcbiAgcGFkZGluZy10b3A6IDFyZW07XG5cbn1cblxuXG5bY2xhc3MqPVwicmF0aW9cIl0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcblxuICAmPmltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG4ucmF0aW8tNC0zIHtcbiAgcGFkZGluZy10b3A6IDc1JTtcbn1cblxuLmJnLWluaGVyaXQge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xufVxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLyogXG5cblxuLmhhcy1zdW46OmJlZm9yZSB7XG5cbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogMXJlbSAxcmVtIDAgMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAwO1xuXG4gIGJhY2tncm91bmQ6IHVybChpbWcvbm9pc2UucG5nKSwgcmFkaWFsLWdyYWRpZW50KGF0IHRvcCwgdmFyKC0tYmcxKSAwJSwgdmFyKC0tYmcyKSAxMDAlKTtcbiAgYmFja2dyb3VuZC1zaXplOiAyNTBweCwgMTAwJTtcbn1cblxuXG4uaW50cm8tdy1zdW4ge1xuICAtLWNvbG9yMTogcmdiKDIxOSwgMTgwLCA3KTtcbiAgLS1jb2xvcjI6IHdoaXRlO1xuICAtLWNvbG9yMzogcmdiKDI0MCwgMjM4LCAyMzgpO1xuICBtYXJnaW46IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuXG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MWRlZywgdmFyKC0tY29sb3IxKSAyMC4xMiUsIHZhcigtLWNvbG9yMikgNTUuMjclLCB2YXIoLS1jb2xvcjMpIDgyLjYxJSk7XG5cbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICYgLnRpdGxlLXN0YXIge1xuXG4gICAgZmlsbDogdmFyKC0tY29sb3IxKTtcbiAgICBjb2xvcjogdmFyKC0tYWNjZW50KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAwJSwgLS4zZW0pO1xuICB9XG5cbiAgJiBzdmcge1xuICAgIGFsbDogdW5zZXQ7XG4gICAgZmlsbDogcmViZWNjYXB1cnBsZTtcbiAgfVxuXG59XG4gIC5oYXMtaW1hZ2UtYmcge1xuXG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvdXBsb2Fkcy9JTUctMjAyNDA1MTgtV0EwMDg0LmpwZycpO1xuICBpbnNldDogMDtcbiAgaW5zZXQ6IHZhcigtLWNhbGN1bGF0ZWQtaW5zZXQpO1xuICBpbnNldC1ibG9jazogLjVyZW07XG4gIGluc2V0LWlubGluZTogY2xhbXAoLjVyZW0sIDEuNXZ3ICsgMTBweCwgN3JlbSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy1sZyk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3A7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiBcbiAgbWFyZ2luLWlubGluZTogYXV0bztcbn1cblxuLml0ZW1zLXN0eWxlMT4qIHtcbiAgLS1iZy1pY29uOiB3aGl0ZTtcbiAgLS1iZy1pY29uLWhvdmVyOiB2YXIoLS1qYXZhLTIwKTtcblxuICAtLXdpZHRoLWljb246IDNyZW07XG4gIC0td2lkdGgtc3ZnOiAxLjJyZW07XG5cbiAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWJnLWljb24pO1xuICBwYWRkaW5nOiAycmVtIDFyZW07XG5cbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwOSwgMjA0LCAyMDQsIDAuODUpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoLjFyZW0pO1xuICBmb250LXNpemU6IHZhcigtLWZzLWJhc2UpO1xuICBsaW5lLWhlaWdodDogMTtcblxuICAmIC50ZXh0IHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzIGN1YmljLWJlemllcigwLjQsIDAuNCwgMCwgMSk7XG4gIH1cblxuICAmIC5pY29uIHtcbiAgICB3aWR0aDogdmFyKC0td2lkdGgtaWNvbiwgMi41cmVtKTtcbiAgICBoZWlnaHQ6IHZhcigtLXdpZHRoLWljb24sIDIuNXJlbSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctaWNvbik7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBwbGFjZS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwdmg7XG4gICAgdHJhbnNpdGlvbjogYWxsIC42cyBjdWJpYy1iZXppZXIoMC40LCAwLjQsIDAsIDEpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIgLnRleHQge1xuICAgIG9wYWNpdHk6IC43O1xuICB9XG5cbiAgJjpob3ZlciAuaWNvbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLjRyZW0sIDApO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJnLWljb24taG92ZXIpO1xuICB9XG5cbiAgJiBzdmcge1xuICAgIHdpZHRoOiB2YXIoLS13aWR0aC1zdmcsIDFyZW0pO1xuICAgIGhlaWdodDogdmFyKC0td2lkdGgtc3ZnLCAxcmVtKTtcbiAgfVxufVxuXG5cblxuLnRleHQtaGlnaGxpZ2h0IHtcbiAgLS1kdXJhdGlvbjogMS4ycztcbiAgLS1lYXNlOiBjdWJpYy1iZXppZXIoMC4yNSwgMSwgMC41LCAxKTtcblxuICBib3JkZXItcmFkaXVzOiAuMmVtO1xuICBwYWRkaW5nLWlubGluZTogLjFlbTtcbiAgZm9udC1zaXplOiAuOTVlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAwJSAxMDAlO1xuICB0cmFuc2l0aW9uOiBjb2xvciBjYWxjKHZhcigtLWR1cmF0aW9uKSAvIDMpIHZhcigtLWVhc2UpLFxuICAgIGJhY2tncm91bmQtY29sb3IgY2FsYyh2YXIoLS1kdXJhdGlvbikgLyAzKSB2YXIoLS1lYXNlKSxcbiAgICBiYWNrZ3JvdW5kLXNpemUgdmFyKC0tZHVyYXRpb24pIHZhcigtLWVhc2UpO1xuXG4gICYucmV2ZWFsZWQge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1iZy1oaWdobGlnaHQpLFxuICAgICAgICB2YXIoLS1iZy1oaWdobGlnaHQpKTtcbiAgfVxuXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjbGlwLXBhdGg6IGluc2V0KDEwMCUpO1xuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCIgW2luaWNpbyBkZSB0ZXh0byByZXNhbHRhZG86IF0gXCI7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCIgWywgZmluIGRlIHRleHRvIHJlc2FsdGFkby5dIFwiO1xuICB9XG59ICovLmxpdHRsZWZvb3Qge1xuICAvKiAtLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQpO1xuICAtLWJ1dHRvbi10ZXh0LWNvbG9yOiAjZmZmO1xuICAtLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LXN0cm9uZyk7XG4gIC0tYnV0dG9uLWFjdGl2ZS10ZXh0LWNvbG9yOiAjZmZmOyAqL1xuICAtLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1MywgMTUyLCAxNTIsIDAuMyk7XG4gIC0tYnV0dG9uLXRleHQtY29sb3I6IHZhcigtLWFjY2VudCk7XG4gIC0tYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE3OSwgMTc1LCAxNzUsIDAuMyk7XG4gIC0tYnV0dG9uLWFjdGl2ZS10ZXh0LWNvbG9yOiB2YXIoLS1hY2NlbnQtc3Ryb25nKTtcbiAgLS1idXR0b24tYm9yZGVyLXJhZGl1czogOHB4O1xuICAtLWJ1dHRvbi1ib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gIC0tYnV0dG9uLWhlaWdodDogMTZweDtcbiAgLS1idXR0b24taGVpZ2h0OiAxLjNlbTtcbiAgLyogLS1idXR0b24tbWFyZ2luOiAwIDEuNnB4OyAqL1xuICAtLWJ1dHRvbi1tYXJnaW46IDAgMC4zZW07XG4gIC0tYnV0dG9uLXBhZGRpbmc6IDAgMC42ZW07XG4gIC0tYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZSwgY29sb3IgMC4yNXMgZWFzZTtcbiAgLS1wb3BvdmVyLWJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gIC0tcG9wb3Zlci10ZXh0LWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIC8qIC0tcG9wb3Zlci1ib3JkZXI6IDFweCBzb2xpZCAjOTQ5NDk0OyAqL1xuICAtLXBvcG92ZXItYm9yZGVyLXJhZGl1czogMC4zcmVtO1xuICAtLXBvcG92ZXItbWF4LWhlaWdodDogMTVlbTtcbiAgLS1wb3BvdmVyLW1heC13aWR0aDogOTAlO1xuICAtLXBvcG92ZXItaG9yaXpvbnRhbC1wYWRkaW5nOiAxZW07XG4gIC0tcG9wb3Zlci12ZXJ0aWNhbC1wYWRkaW5nOiA5LjZweDtcbiAgLS1wb3BvdmVyLXZlcnRpY2FsLXBhZGRpbmc6IDAuNnJlbTtcbiAgLyogLS1wb3BvdmVyLXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIC4zMDIpOyAqL1xuICAtLXBvcG92ZXItc2hhZG93OiBpbnNldCAwIDAgLjVweCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAuMDc1KSwgMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgLjA1KSwgMCAuM3B4IC40cHggcmdiYSgwLCAwLCAwLCAuMDIpLCAwIC45cHggMS41cHggcmdiYSgwLCAwLCAwLCAuMDQ1KSwgMCAzLjVweCA2cHggcmdiYSgwLCAwLCAwLCAuMDkpO1xuICAtLXBvcG92ZXItdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7XG4gIC0tcG9wb3Zlci10cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlWigwKTtcbiAgLS1wb3BvdmVyLWFjdGl2ZS10cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVooMCk7XG4gIC0tcG9wb3Zlci10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2UsIHRyYW5zZm9ybSAwLjI1cyBlYXNlO1xuICAtLXBvcG92ZXItd2lkdGg6IDIyZW07XG4gIC0tcG9wb3Zlci1zY3JvbGwtaW5kaWNhdG9yLWNvbG9yOiAjM2YzZjNmO1xuICAtLXBvcG92ZXItdG9vbHRpcC1zaXplOiA4cHg7XG4gIC0tcG9wb3Zlci10b29sdGlwLXNpemU6IDAuNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlXG59XG5cbi5kYXJrIC5saXR0bGVmb290IHtcbiAgLyogLS1wb3BvdmVyLXRleHQtY29sb3I6ICNmNWY1ZjU7ICovXG4gIC0tcG9wb3Zlci1iYWNrZ3JvdW5kLWNvbG9yOiAjMjIyO1xufVxuXG4ubGl0dGxlZm9vdF9fYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWJhY2tncm91bmQtY29sb3IpO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlcjogdmFyKC0tYnV0dG9uLWJvcmRlciwgMCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJ1dHRvbi1ib3JkZXItcmFkaXVzKTtcbiAgY29sb3I6IHZhcigtLWJ1dHRvbi10ZXh0LWNvbG9yKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC1zaXplOiB2YXIoLS1idXR0b24tZm9udC1zaXplLCAxMnB4KTtcbiAgZm9udC1zaXplOiAuNzVyZW07XG4gIGZvbnQtc2l6ZTogdmFyKC0tYnV0dG9uLWZvbnQtc2l6ZSwgLjc1cmVtKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWJ1dHRvbi1mb250LXdlaWdodCwgaW5pdGlhbCk7XG4gIGhlaWdodDogdmFyKC0tYnV0dG9uLWhlaWdodCk7XG4gIG1hcmdpbjogdmFyKC0tYnV0dG9uLW1hcmdpbik7XG4gIHBhZGRpbmc6IHZhcigtLWJ1dHRvbi1wYWRkaW5nKTtcbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogdmFyKC0tYnV0dG9uLXRyYW5zaXRpb24pO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlXG59XG5cbi5saXR0bGVmb290X19idXR0b24uaXMtYWN0aXZlLFxuLmxpdHRsZWZvb3RfX2J1dHRvbjphY3RpdmUsXG4ubGl0dGxlZm9vdF9fYnV0dG9uOmZvY3VzLFxuLmxpdHRsZWZvb3RfX2J1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcik7XG4gIGNvbG9yOiB2YXIoLS1idXR0b24tYWN0aXZlLXRleHQtY29sb3IpXG59XG5cbi5saXR0bGVmb290X19idXR0b24gc3ZnIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGhlaWdodDogNXB4O1xufVxuXG4ubGl0dGxlZm9vdF9fcG9wb3ZlciB7XG4gIGJvcmRlcjogdmFyKC0tcG9wb3Zlci1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1wb3BvdmVyLWJvcmRlci1yYWRpdXMpO1xuICBib3gtc2hhZG93OiB2YXIoLS1wb3BvdmVyLXNoYWRvdyk7XG4gIG1hcmdpbjogY2FsYyh2YXIoLS1wb3BvdmVyLXRvb2x0aXAtc2l6ZSkgKyB2YXIoLS1idXR0b24taGVpZ2h0KSkgMDtcbiAgbWF4LXdpZHRoOiB2YXIoLS1wb3BvdmVyLW1heC13aWR0aCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm06IHZhcigtLXBvcG92ZXItdHJhbnNmb3JtKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdmFyKC0tcG9wb3Zlci10cmFuc2Zvcm0tb3JpZ2luKTtcbiAgdHJhbnNpdGlvbjogdmFyKC0tcG9wb3Zlci10cmFuc2l0aW9uKTtcbiAgd2lkdGg6IHZhcigtLXBvcG92ZXItd2lkdGgpO1xuICB6LWluZGV4OiAxXG59XG5cbi5saXR0bGVmb290X19wb3BvdmVyLmlzLWFib3ZlIHtcbiAgYm90dG9tOiAwO1xuICB0b3A6IGF1dG9cbn1cblxuLmxpdHRsZWZvb3RfX3BvcG92ZXIuaXMtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB2YXIoLS1wb3BvdmVyLWFjdGl2ZS10cmFuc2Zvcm0pXG59XG5cbi5saXR0bGVmb290X193cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxXG59XG5cbi5saXR0bGVmb290X19jb250ZW50LFxuLmxpdHRsZWZvb3RfX3dyYXBwZXIge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1wb3BvdmVyLWJvcmRlci1yYWRpdXMpXG59XG5cbi5saXR0bGVmb290X19jb250ZW50IHtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wb3BvdmVyLWJhY2tncm91bmQtY29sb3IpO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogdmFyKC0tcG9wb3Zlci10ZXh0LWNvbG9yKTtcbiAgZm9udC1mYW1pbHk6IHNlcmlmO1xuICBmb250LWZhbWlseTogaW5pdGlhbDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLXBvcG92ZXItZm9udC1mYW1pbHksIGluaXRpYWwpO1xuICAvKiBmb250LXNpemU6IG1lZGl1bTsgKi9cbiAgLyogZm9udC1zaXplOiB2YXIoLS1wb3BvdmVyLWZvbnQtc2l6ZSwgaW5pdGlhbCk7ICovXG4gIGZvbnQtc2l6ZTogLjllbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXN0eWxlOiB2YXIoLS1wb3BvdmVyLWZvbnQtc3R5bGUsIGluaXRpYWwpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXdlaWdodDogdmFyKC0tcG9wb3Zlci1mb250LXdlaWdodCwgaW5pdGlhbCk7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1wb3BvdmVyLWxpbmUtaGVpZ2h0LCBub3JtYWwpO1xuICBtYXgtaGVpZ2h0OiB2YXIoLS1wb3BvdmVyLW1heC1oZWlnaHQpO1xuICBvdmVyZmxvdzogYXV0bztcbiAgcGFkZGluZzogdmFyKC0tcG9wb3Zlci12ZXJ0aWNhbC1wYWRkaW5nKSB2YXIoLS1wb3BvdmVyLWhvcml6b250YWwtcGFkZGluZyk7XG4gIHdpZHRoOiAxMDAlXG59XG5cbi5saXR0bGVmb290X19jb250ZW50IGltZyB7XG4gIG1heC13aWR0aDogMTAwJVxufVxuXG4ubGl0dGxlZm9vdF9fY29udGVudDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmVcbn1cblxuLmlzLXNjcm9sbGFibGUge1xuICAtLWFycm93LXg6IGNhbGModmFyKC0tcG9wb3Zlci1ob3Jpem9udGFsLXBhZGRpbmcpKi0xKTtcbiAgLS1hcnJvdy15OiBjYWxjKHZhcigtLXBvcG92ZXItdmVydGljYWwtcGFkZGluZykvMilcbn1cblxuLmlzLXNjcm9sbGFibGUgLmxpdHRsZWZvb3RfX2NvbnRlbnQ6YWZ0ZXIge1xuICBib3R0b206IDA7XG4gIGNvbG9yOiB2YXIoLS1wb3BvdmVyLXNjcm9sbC1pbmRpY2F0b3ItY29sb3IpO1xuICBjb250ZW50OiBcIlxcMjFFM1wiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMTtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgodmFyKC0tYXJyb3cteCkpIHRyYW5zbGF0ZVkodmFyKC0tYXJyb3cteSkpO1xuICB0cmFuc2l0aW9uOiB2YXIoLS1wb3BvdmVyLXRyYW5zaXRpb24pO1xuICB3aWR0aDogdmFyKC0tcG9wb3Zlci1ob3Jpem9udGFsLXBhZGRpbmcpXG59XG5cbi5pcy1zY3JvbGxhYmxlLmlzLWZ1bGx5LXNjcm9sbGVkIC5saXR0bGVmb290X19jb250ZW50OmFmdGVyIHtcbiAgb3BhY2l0eTogMFxufVxuXG4ubGl0dGxlZm9vdF9fdG9vbHRpcCB7XG4gIC0tdG9vbHRpcC1tYXJnaW46IGNhbGModmFyKC0tcG9wb3Zlci10b29sdGlwLXNpemUpKi0xKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcG9wb3Zlci1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgYm9yZGVyOiB2YXIoLS1wb3BvdmVyLWJvcmRlcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLXBvcG92ZXItc2hhZG93KTtcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLXBvcG92ZXItdG9vbHRpcC1zaXplKSoyKTtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXRvb2x0aXAtbWFyZ2luKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHdpZHRoOiBjYWxjKHZhcigtLXBvcG92ZXItdG9vbHRpcC1zaXplKSoyKVxufVxuXG4uaXMtYmVsb3cgLmxpdHRsZWZvb3RfX3Rvb2x0aXAge1xuICB0b3A6IHZhcigtLXRvb2x0aXAtbWFyZ2luKVxufVxuXG4uaXMtYWJvdmUgLmxpdHRsZWZvb3RfX3Rvb2x0aXAge1xuICBib3R0b206IHZhcigtLXRvb2x0aXAtbWFyZ2luKVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDo3NjhweCkge1xuICAubGl0dGxlZm9vdF9fcG9wb3ZlciB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXItd2lkdGg6IDFweCAwIDA7XG4gICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgd2lkdGg6IDEwMCVcbiAgfVxuXG4gIC5saXR0bGVmb290X19wb3BvdmVyLmlzLWFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApXG4gIH1cblxuICAubGl0dGxlZm9vdF9fd3JhcHBlciB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IG5vbmVcbiAgfVxuXG4gIC5saXR0bGVmb290X190b29sdGlwIHtcbiAgICBkaXNwbGF5OiBub25lXG4gIH1cbn1cblxuQG1lZGlhIG5vdCBwcmludCB7XG4gIC5saXR0bGVmb290LS1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZVxuICB9XG59XG5cbkBtZWRpYSBwcmludCB7XG5cbiAgLmxpdHRsZWZvb3RfX2J1dHRvbixcbiAgLmxpdHRsZWZvb3RfX3BvcG92ZXIge1xuICAgIGRpc3BsYXk6IG5vbmVcbiAgfVxufSJdfQ== */