@charset "UTF-8";
/**
 * Front Styles
 * 
 * Ez a fájl importálja az összes front oldali komponenst.
 * A komponensek a /front mappában találhatók külön fájlokba szervezve
 * a jobb karbantarthatóság és fejleszthetőség érdekében.
 * 
 * Fejlesztő: László Lapos
 * Utolsó frissítés: 2025. május 8.
 */
.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  backface-visibility: hidden;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}

.splide.is-initialized, .splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
       user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__arrow {
  align-items: center;
  background: #ccc;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  height: 2em;
  justify-content: center;
  opacity: 0.7;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 2em;
  z-index: 1;
}

.splide__arrow svg {
  fill: #000;
  height: 1.2em;
  width: 1.2em;
}

.splide__arrow:hover:not(:disabled) {
  opacity: 0.9;
}

.splide__arrow:disabled {
  opacity: 0.3;
}

.splide__arrow:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__arrow--prev {
  left: 1em;
}

.splide__arrow--prev svg {
  transform: scaleX(-1);
}

.splide__arrow--next {
  right: 1em;
}

.splide.is-focus-in .splide__arrow:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__pagination {
  bottom: 0.5em;
  left: 0;
  padding: 0 1em;
  position: absolute;
  right: 0;
  z-index: 1;
}

.splide__pagination__page {
  background: #ccc;
  border: 0;
  border-radius: 50%;
  display: inline-block;
  height: 8px;
  margin: 3px;
  opacity: 0.7;
  padding: 0;
  position: relative;
  transition: transform 0.2s linear;
  width: 8px;
}

.splide__pagination__page.is-active {
  background: #fff;
  transform: scale(1.4);
  z-index: 1;
}

.splide__pagination__page:hover {
  cursor: pointer;
  opacity: 0.9;
}

.splide__pagination__page:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__pagination__page:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__progress__bar {
  background: #ccc;
  height: 3px;
}

.splide__slide {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.splide__slide:focus {
  outline: 0;
}

@supports (outline-offset: -3px) {
  .splide__slide:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide__slide:focus-visible {
    border: 3px solid #0bf;
  }
}
@supports (outline-offset: -3px) {
  .splide.is-focus-in .splide__slide:focus {
    outline: 3px solid #0bf;
    outline-offset: -3px;
  }
}
@media screen and (-ms-high-contrast: none) {
  .splide.is-focus-in .splide__slide:focus {
    border: 3px solid #0bf;
  }
  .splide.is-focus-in .splide__track > .splide__list > .splide__slide:focus {
    border-color: #0bf;
  }
}
.splide__toggle {
  cursor: pointer;
}

.splide__toggle:focus-visible {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide.is-focus-in .splide__toggle:focus {
  outline: 3px solid #0bf;
  outline-offset: 3px;
}

.splide__track--nav > .splide__list > .splide__slide {
  border: 3px solid transparent;
  cursor: pointer;
}

.splide__track--nav > .splide__list > .splide__slide.is-active {
  border: 3px solid #000;
}

.splide__arrows--rtl .splide__arrow--prev {
  left: auto;
  right: 1em;
}

.splide__arrows--rtl .splide__arrow--prev svg {
  transform: scaleX(1);
}

.splide__arrows--rtl .splide__arrow--next {
  left: 1em;
  right: auto;
}

.splide__arrows--rtl .splide__arrow--next svg {
  transform: scaleX(-1);
}

.splide__arrows--ttb .splide__arrow {
  left: 50%;
  transform: translate(-50%);
}

.splide__arrows--ttb .splide__arrow--prev {
  top: 1em;
}

.splide__arrows--ttb .splide__arrow--prev svg {
  transform: rotate(-90deg);
}

.splide__arrows--ttb .splide__arrow--next {
  bottom: 1em;
  top: auto;
}

.splide__arrows--ttb .splide__arrow--next svg {
  transform: rotate(90deg);
}

.splide__pagination--ttb {
  bottom: 0;
  display: flex;
  flex-direction: column;
  left: auto;
  padding: 1em 0;
  right: 0.5em;
  top: 0;
}

/* Front komponensek importja */
/**
 * Front Components Index File
 * 
 * Ez a fájl importálja az összes front komponenst
 * A könnyebb karbantarthatóság és fejlesztés érdekében.
 */
/* Alapvető komponensek */
/**
 * Front Header Component
 * 
 * Tartalmazza a fejléc stílusait,
 * a dentalweek-header osztály és kapcsolódó elemek
 */
.dentalweek-header {
  height: 100%;
}
.dentalweek-header .logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 26.6666666667rem;
}

/**
 * Front Rotator Component
 * 
 * A mikrosite forgó elemének stílusai,
 * owl carousel navigációk és pontok
 */
.rotator-mikrosite {
  position: relative;
  width: 100%;
  max-width: 100%;
  z-index: 1;
  margin-top: 0;
  margin-bottom: 0;
}
.rotator-mikrosite .slidernav {
  display: none;
}
@media (min-width: 1024px) {
  .rotator-mikrosite {
    overflow: hidden;
    height: 100vh;
  }
}
.rotator-mikrosite .badges {
  position: absolute;
  top: 10rem;
  right: 0;
  z-index: 4;
  display: flex;
  flex-flow: column;
}
.rotator-mikrosite .badges img {
  max-width: 17.3333333333rem;
  margin-bottom: 1rem;
}
.rotator-mikrosite .owl-item {
  display: inline-block;
  height: 100vh;
}
.rotator-mikrosite .owl-item > a {
  display: block;
  height: 100vh;
}
.rotator-mikrosite .owl-item .item {
  height: 100vh;
}
.rotator-mikrosite .header-image-container {
  height: 100%;
}
.rotator-mikrosite .header-image-container img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
  height: 100%;
}
.rotator-mikrosite .owl-nav {
  position: relative;
  z-index: 4;
  top: 30px;
  left: 50px;
}
.rotator-mikrosite .owl-nav i,
.rotator-mikrosite .owl-nav i:after,
.rotator-mikrosite .owl-nav i:before {
  margin: 0;
  padding: 0;
}
.rotator-mikrosite .owl-carousel {
  display: block;
}
.rotator-mikrosite .owl-dots {
  position: absolute;
  top: initial;
  z-index: 10;
  bottom: 1rem;
  left: 0;
  right: 0;
}
@media (min-width: 1024px) {
  .rotator-mikrosite .owl-dots {
    bottom: 10rem;
    left: 50%;
    transform: translateX(-50%);
    right: initial;
  }
}
.rotator-mikrosite .owl-dots .owl-dot.active span {
  background: #5E2246 !important;
}
.rotator-mikrosite .owl-dots .owl-dot span {
  background: #7d2659 !important;
}

/**
 * Slider & Header Components
 * 
 * A főoldali slider és header képek komponensei:
 * - Dental logó központi pozicionálással
 * - Header képek címekkel és badge-ekkel
 */
.dental-logo {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-flow: column;
  align-items: center;
  margin: 0 auto;
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) and (min-width: 1024px) {
  .dental-logo {
    top: auto;
  }
}
.dental-logo img {
  width: 70% !important;
}
@media (min-width: 640px) {
  .dental-logo img {
    width: 384px !important;
  }
}
.dental-logo .button-interested {
  position: relative;
  z-index: 9999999;
  margin-top: 1rem;
  padding: 0.5rem 1rem;
  font-family: "Roboto Slab", serif;
  text-decoration: none;
  color: #7d2659;
  border: 2px solid #7d2659;
  cursor: pointer;
}
@media (min-width: 640px) {
  .dental-logo .button-interested {
    color: #fefefe;
    border-color: #fefefe;
  }
}

.header-image-container {
  position: relative;
}
.header-image-container .title-container {
  padding: 1.5rem 1.5rem 1rem;
  position: relative;
}
.header-image-container .title-container.dental-week-title {
  display: block;
}
@media (min-width: 1024px) {
  .header-image-container .title-container.dental-week-title {
    display: none;
  }
  .header-image-container .title-container {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 2rem 2rem 6rem 6rem;
    z-index: 2;
  }
  .header-image-container .title-container::after {
    content: " ";
    position: absolute;
    display: block;
    top: -3rem;
    left: -10rem;
    right: -4rem;
    bottom: -10rem;
    z-index: -1;
    background-color: rgba(255, 255, 255, 0.85);
    border-radius: 100%;
    transform: rotate(-7deg);
  }
  .header-image-container .title-container .title-container-inner {
    width: 500px;
  }
}
.header-image-container .title-container h1,
.header-image-container .title-container h2 {
  font-size: 22px;
  line-height: 1.3;
  margin-bottom: 1rem;
}
@media (min-width: 1024px) {
  .header-image-container .title-container h1,
.header-image-container .title-container h2 {
    font-size: 32px;
  }
}
.header-image-container .title-container h2 {
  color: #5E2246;
}
.header-image-container .title-container h3 {
  font-size: 16px;
  margin-bottom: 1rem;
  color: #40444D;
}
.header-image-container .button {
  text-decoration: none;
  background-color: #5E2246;
}
.header-image-container .button:hover {
  background-color: #7d2659;
}
.header-image-container .badge {
  z-index: 100;
}
.header-image-container.number-1 .badge {
  top: 1rem;
  right: 1rem;
}
@media (min-width: 1024px) {
  .header-image-container.number-1 .badge {
    top: initial;
    right: 8%;
    bottom: 25rem;
  }
}
.header-image-container.number-2 .badge {
  top: 1rem;
  left: 1rem;
}
@media (min-width: 1024px) {
  .header-image-container.number-2 .badge {
    left: initial;
    top: initial;
    right: 8%;
    bottom: 10rem;
  }
}
.header-image-container.number-3 .badge {
  top: 1rem;
  right: 1rem;
}
@media (min-width: 1024px) {
  .header-image-container.number-3 .badge {
    top: initial;
    right: 10%;
    bottom: 14rem;
  }
}

/* Szekció komponensek */
/**
 * Front Preface és Slider Component
 * 
 * A micro-slider és preface szekciókat tartalmazza
 */
.micro-slider {
  height: 100%;
}
.micro-slider .home-slider,
.micro-slider .owl-stage-outer,
.micro-slider .owl-stage,
.micro-slider .owl-item,
.micro-slider .slide-item,
.micro-slider .slide-container {
  height: 100%;
}

.preface {
  padding: 3rem 0;
  max-width: 100%;
  position: relative;
  z-index: 1;
  background-color: rgba(109, 117, 132, 0.85);
}
.preface p {
  color: #fefefe;
}
.preface .preface-text {
  margin-bottom: 2rem;
}
.preface .preface-text p {
  line-height: 1.8;
  font-size: 16px;
}
.preface .preface-list {
  margin: 0;
}
.preface .preface-list .preface-item {
  list-style: none;
  margin-bottom: 3rem;
  position: relative;
}
@media (min-width: 640px) {
  .preface .preface-list .preface-item {
    margin-bottom: 1.5rem;
  }
}
.preface .preface-list .preface-item .text {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  padding-left: 80px;
}
.preface .preface-list .preface-item .image {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  display: block;
  float: left;
  overflow: hidden;
}
.preface .preface-list .preface-item .image img {
  width: 50px;
}

/**
 * Front About Component
 * 
 * A rólunk szekció stílusait tartalmazza
 */
.about .row:hover .image-container img {
  filter: grayscale(0%);
}
.about .row.rosa {
  margin-bottom: 3rem;
}
.about .text-container,
.about .image-container {
  position: relative;
}
.about .image-container {
  padding: 0 1rem;
  box-sizing: border-box;
}
.about .image-container h2 {
  font-size: 30px;
  line-height: 1.2;
  margin-bottom: 3rem;
  text-align: center;
}
.about .image-container img {
  display: block;
  margin: 0 auto;
  margin-bottom: 1rem;
  transition: filter 0.2s ease-in-out;
}
@media (min-width: 1024px) {
  .about .image-container img {
    filter: grayscale(100%);
  }
}
.about .image-container .title {
  text-align: center;
  margin-bottom: 2rem;
}
.about .image-container .title p:nth-child(1) {
  font-weight: 400;
  font-size: 20px;
  text-transform: uppercase;
}
.about .image-container .title p:nth-child(2),
.about .image-container .title p:nth-child(3) {
  font-weight: 600;
  margin-bottom: 0;
}
.about .image-container .title.gunnar p {
  text-align: center;
}
.about .text-container {
  padding: 0 1rem;
}

/**
 * Front Holiday Component
 * 
 * A nyaralás szekció stílusait tartalmazza
 */
.holiday .holiday-header {
  padding: 2rem 0;
}
.holiday .holiday-title {
  text-align: center;
  text-transform: uppercase;
}
.holiday .holiday-lead p {
  font-size: 16px;
  line-height: 28px;
}
.holiday .holiday-content {
  display: grid;
  padding: 0 0 2rem;
}
.holiday .holiday-content .col {
  margin-bottom: 2rem;
}
.holiday .holiday-content .header .image {
  margin-bottom: 1rem;
}
.holiday .holiday-content .header .image img {
  width: 50%;
  margin: 0 auto;
  display: block;
}
@media (min-width: 640px) {
  .holiday .holiday-content {
    grid-column-gap: 30px;
    grid-template-columns: repeat(3, 1fr);
  }
  .holiday .holiday-content:nth-child(2) {
    -ms-grid-column: 2;
  }
  .holiday .holiday-content:nth-child(3) {
    -ms-grid-column: 3;
  }
  .holiday .holiday-content .col {
    margin-bottom: initial;
  }
}

/**
 * Front Treatments Component
 * 
 * A kezelések szekció stílusait tartalmazza,
 * beleértve a csúszkákat és kártyákat
 */
.treatments {
  padding: 6rem 0;
  background-color: #6d7584;
}
.treatments .subtitle {
  text-align: center;
}
.treatments .container {
  padding: 0 1.5rem;
}
@media (min-width: 1024px) {
  .treatments .container {
    padding: 0 2rem;
  }
}
.treatments .kezelesek-title {
  margin-bottom: 3rem;
}
@media (min-width: 1024px) {
  .treatments .kezelesek-title {
    margin-bottom: 0;
  }
}
.treatments .micro-kezelesek-slider {
  margin-bottom: 2rem;
}
.treatments .slider-wrapper {
  position: relative;
}
.treatments .slider-wrapper .badge {
  position: absolute;
  right: 1rem;
  top: 0;
  z-index: 10;
  transform: translateY(-70%);
}
@media (max-width: 1023.99px) {
  .treatments .slider-wrapper .badge {
    transform: translateY(-47%);
  }
  .treatments .slider-wrapper .badge svg {
    width: 100px;
  }
}
@media (min-width: 1024px) {
  .treatments .slider-wrapper .badge {
    right: 10rem;
  }
}
.treatments .owl-stage-outer {
  width: 100%;
}
.treatments .owl-stage {
  display: flex;
}
.treatments .owl-item {
  display: flex;
  flex: 1 0 auto;
  height: initial;
}
.treatments .owl-dots {
  margin-top: 1rem;
}
.treatments .owl-nav {
  position: absolute;
  left: 4rem;
  right: 4rem;
  z-index: 10;
  top: initial;
  top: 0;
  margin-top: 0;
}
@media (min-width: 1024px) {
  .treatments .owl-nav {
    height: 50px;
    top: 30% !important;
    bottom: initial !important;
    transform: translateY(-50%);
  }
}
.treatments .owl-nav .owl-prev,
.treatments .owl-nav .owl-next {
  background: transparent !important;
  position: absolute;
  height: 60px;
}
.treatments .owl-nav .owl-prev {
  left: 1rem;
}
@media (min-width: 1024px) {
  .treatments .owl-nav .owl-prev {
    left: 1rem;
  }
}
.treatments .owl-nav .owl-next {
  right: 1rem;
}
@media (min-width: 1024px) {
  .treatments .owl-nav .owl-next {
    right: 1rem;
  }
  .treatments .owl-nav .owl-prev {
    left: -3rem;
  }
  .treatments .owl-nav .owl-next {
    right: -3rem;
  }
}
.treatments .element {
  display: flex;
  flex-flow: column;
  width: 100%;
}
.treatments .image {
  height: 240px;
  margin-bottom: 1rem;
}
.treatments .image img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: 15px;
  box-shadow: 0px 0px 10px rgba(64, 68, 77, 0.1);
}
.treatments p {
  color: #fefefe;
}
.treatments h3 {
  margin-bottom: 1rem;
}
.treatments .kezelesek-footer p {
  font-size: 12px;
}

/**
 * Front Lead Row Component
 * 
 * A főoldali lead sor stílusait tartalmazza
 */
.lead.row {
  padding: 6rem 0;
}
@media (max-width: 1023.99px) {
  .lead.row .image {
    margin-bottom: 2rem;
  }
}
.lead.row img {
  border-radius: 15px;
  box-shadow: 0px 0px 10px rgba(64, 68, 77, 0.2);
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}
.lead.row p {
  font-size: 1.0666666667rem;
}
.lead.row .text {
  display: flex;
  flex-flow: column;
  justify-content: center;
}

/**
 * Front Offers Component
 * 
 * Az ajánlatok szekció stílusait tartalmazza
 */
.ajanlat {
  background-image: linear-gradient(149.85deg, #7e1f54 0%, #5e2246 55.21%);
  position: relative;
  z-index: 1;
}
.ajanlat .offer img {
  width: initial;
}
.ajanlat .offer small {
  margin-top: 1rem;
  display: block;
}
.ajanlat .offer hr {
  max-width: initial;
  background-image: linear-gradient(90deg, #fff, #fff 65%, transparent 0, transparent);
  background-size: 20px 1px;
  border: none;
  height: 1px;
}
@media (min-width: 1024px) {
  .ajanlat {
    padding: 6rem 0;
  }
}
.ajanlat .ajanlat-header .paragraph-title {
  margin-bottom: 4rem;
}
.ajanlat .ajanlat-items {
  display: flex;
  flex-flow: column;
}
.ajanlat header p {
  color: #fefefe;
  text-align: center;
}
.ajanlat .slide-to-menu {
  background-color: transparent;
  border: solid 1px #fefefe;
}
.ajanlat .slide-to-menu:hover {
  background-color: #fefefe;
  color: #5E2246;
}
.ajanlat hr {
  margin: 3rem 0;
  height: 1px;
  background-image: linear-gradient(90deg, #fefefe, #fefefe 65%, transparent 65%, transparent 100%);
  background-size: 20px 1px;
  border: none;
  position: relative;
}
.ajanlat .ajanlat-item {
  flex: 1 1 100%;
  margin: 0 0 3rem;
  color: #fefefe;
  display: flex;
  flex-flow: column;
}
@media (min-width: 640px) {
  .ajanlat .ajanlat-item {
    flex-flow: row;
  }
}
.ajanlat .ajanlat-item a {
  color: #B2C90A;
  font-weight: 700;
}
@media (min-width: 1024px) {
  .ajanlat .ajanlat-item:hover .ajanlat-item-image {
    transform: scale(1.15);
  }
}
@media (min-width: 640px) {
  .ajanlat .ajanlat-content {
    padding-left: 2rem;
    border-left: 1px solid #fefefe;
  }
}
.ajanlat .ajanlat-item-image {
  flex: 1 0 110px;
  transition: all 0.2s ease-in-out;
  margin-bottom: 2rem;
}
@media (min-width: 640px) {
  .ajanlat .ajanlat-item-image {
    margin-right: 2rem;
    margin-bottom: 0;
  }
}
.ajanlat .ajanlat-item-image .image-wrapper {
  border-radius: 50%;
}
.ajanlat .ajanlat-item-image img {
  display: block;
}
@media (max-width: 1199.99px) {
  .ajanlat .ajanlat-item-image img {
    width: 110px;
    margin: 0 auto;
  }
}
.ajanlat .ajanlat-item-title {
  color: #fefefe;
  width: 100%;
}
@media (min-width: 1024px) {
  .ajanlat .ajanlat-item-title {
    font-size: 1.1333333333rem;
    font-weight: 700;
  }
}

/**
 * Front Prices Component
 * 
 * Az árak szekció stílusait tartalmazza,
 * beleértve a táblázatokat és price-check osztályt
 */
.prices .price-list .container {
  max-width: 1200px;
}
.prices .price-list h2.paragraph-title {
  margin-bottom: 3rem;
}
.prices .price-list .price-group-wrapper {
  grid-column-gap: 90px;
  -ms-grid-columns: 1fr 90px 1fr;
}
.prices .price-list .text-wrapper {
  background-image: linear-gradient(320deg, #9e1c62, #ca0b72);
  border-radius: 20px;
  padding: 3rem;
}
.prices .price-list .text-wrapper h2 {
  color: #fefefe;
  font-weight: 800;
}
.prices .price-list .text-wrapper h2,
.prices .price-list .text-wrapper p {
  color: #fefefe;
}
.prices .price-list .text-wrapper p:last-child {
  margin-bottom: 0;
}
.prices table {
  table-layout: auto !important;
}
.prices .wpDataTablesWrapper table.has-columns-hidden span.responsiveExpander {
  opacity: 1 !important;
  background-image: none !important;
  border: none !important;
  box-shadow: none !important;
}
.prices table.has-columns-hidden > tbody > tr > td > span.responsiveExpander:after {
  background-image: none !important;
  content: "+" !important;
  color: #fefefe;
  border: none !important;
  box-shadow: none;
  width: 25px;
  height: 25px;
  border-radius: 100%;
  background-color: #a8bc0e;
  font-size: 40px;
  text-align: center;
  font-family: "Raleway", "Helvetica Neue", sans-serif;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  line-height: 0.65;
}
.prices table.has-columns-hidden > tbody > tr.detail-show > td span.responsiveExpander:after {
  content: "-" !important;
  line-height: 0.45;
  font-size: 40px;
  width: 25px;
  height: 25px;
  border-radius: 100%;
  background-color: #a8bc0e;
}
.prices table,
.prices tbody,
.prices thead,
.prices tfoot {
  border: none !important;
}
.prices td,
.prices th {
  border: none !important;
  padding: 15px 10px !important;
}
@media (min-width: 1024px) {
  .prices td,
.prices th {
    padding: 7px 10px !important;
  }
}
.prices th {
  text-align: center !important;
  font-weight: 800 !important;
  color: #40444d !important;
}
.prices tr {
  border-bottom: solid 1px #ffffff !important;
}
.prices td.column-1 {
  background-color: #d7d7d7 !important;
  font-weight: 600;
}
.prices td.column-2 {
  background-color: #e0e2e5 !important;
  text-align: center !important;
}
.prices td.column-3 {
  background-color: #b6cc00 !important;
  text-align: center !important;
  font-weight: 800;
  color: #fefefe;
}
.prices td.column-4 {
  background-color: #7f7f7f !important;
  text-align: center !important;
  font-weight: 800;
  color: #fefefe;
}
.prices .column-1 {
  width: 30% !important;
  position: relative;
}
@media (max-width: 639.99px) {
  .prices .column-1 {
    padding-left: 50px !important;
  }
}
.prices .column-1 .responsiveExpander {
  position: absolute;
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
}
.prices .wpDataTablesWrapper table.wpDataTable th,
.prices .wpDataTablesWrapper table.wpDataTable td {
  white-space: initial !important;
}
.prices .wpDataTablesWrapper div.dt-buttons {
  margin: 0;
}
.prices .powered_by_link {
  display: none !important;
}
.prices .row-detail td {
  padding: 5px !important;
  background-color: #97989b !important;
}
.prices .row-detail li {
  padding: 10px 15px !important;
}
.prices .row-detail li:nth-child(1) {
  background-color: #cecece;
}
.prices .row-detail li:nth-child(2) {
  font-weight: 800;
  background-color: #b7b7b7;
}
.prices .row-detail .column-2,
.prices .row-detail .column-4 {
  display: flex;
}
.prices .row-detail .column-2 .columnValue,
.prices .row-detail .column-4 .columnValue {
  margin-left: auto;
  margin-right: 0;
}

.price-check {
  position: relative;
}
.price-check:after {
  content: " ";
  top: 0;
  left: 50%;
  right: 0;
  bottom: 0;
  position: absolute;
  background-color: #fbfbfb;
  z-index: -1;
  display: block;
}
.price-check:before {
  content: " ";
  top: 0;
  left: 0;
  right: 50%;
  bottom: 0;
  position: absolute;
  background-color: #a8bc0d;
  z-index: -1;
  display: block;
}
@media (min-width: 1024px) {
  .price-check {
    background-size: cover;
    background-position: 50%;
    background-repeat: no-repeat;
  }
}
.price-check .paragraph-title {
  font-size: 1.4666666667rem;
  margin-bottom: 1rem;
}
.price-check .image-container {
  display: block;
  position: relative;
  z-index: 2;
}
@media (min-width: 1024px) {
  .price-check .image-container {
    display: none;
  }
}
.price-check .image-container img {
  width: 100%;
}
.price-check .text-container {
  display: flex;
  flex-flow: column;
  padding: 3rem 1.5rem;
  position: relative;
  z-index: 2;
}
@media (min-width: 1024px) {
  .price-check .text-container {
    width: 45%;
    padding: 4rem 2rem;
  }
}
.price-check .text-container.full-width {
  width: 100%;
  justify-content: center;
}
.price-check .text-container-inner {
  width: 100%;
}
.price-check p {
  color: #fefefe;
}
.price-check textarea,
.price-check input[type=text] {
  background-color: #fefefe;
  border: none;
  color: #40444D;
  border-radius: 100px;
  box-shadow: none;
}
.price-check textarea::-moz-placeholder, .price-check input[type=text]::-moz-placeholder {
  color: #40444d;
}
.price-check textarea::placeholder,
.price-check input[type=text]::placeholder {
  color: #40444d;
}
.price-check textarea {
  border-radius: 15px;
}
.price-check input[type=text] {
  border-radius: 100px;
}
.price-check input[type=Submit] {
  background-color: #9e1c62;
  color: #fefefe;
  padding: 0.5rem;
  width: 100%;
  cursor: pointer;
  border: none;
  transition: background-color 0.2s ease-in-out;
  text-transform: uppercase;
  border-radius: 100px;
  height: 44px;
}
.price-check input[type=Submit]:hover {
  background-color: #5E2246;
  color: #fefefe;
}
.price-check .fieldset {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  border: none;
  margin-bottom: 0;
}
.price-check .fieldset-inner {
  flex-wrap: wrap;
  width: 100%;
  flex: 1 0 calc(50% - 0.5rem);
  margin-right: 0.5rem;
  align-items: flex-start;
}
@media (max-width: 639.99px) {
  .price-check .fieldset-inner {
    flex: 1 0 100%;
  }
}
.price-check .InputBlock {
  width: 100%;
}
.price-check input,
.price-check textarea,
.price-check label {
  margin-bottom: 0.5rem;
}
.price-check label {
  font-size: 1.3333333333rem;
  padding: 0.2rem 0.5rem 0.2rem 2.5rem;
  text-align: left;
  color: #40444D;
  border: none;
  background-color: #fefefe;
  border-radius: 100px;
  height: 44px;
  line-height: 1.2;
}
.price-check label:hover {
  background-color: #5E2246;
  color: #fefefe;
}
.price-check label span {
  font-size: 0.8rem;
  display: block;
}
.price-check .inputfile:focus + label {
  background-color: #5E2246;
  border: 1px solid #5E2246;
  color: #fefefe;
}
.price-check textarea {
  height: 126px;
}
.price-check.block-item {
  background-color: #801f55;
  margin-bottom: 1rem;
  display: flex;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .price-check.block-item {
    flex-direction: row;
  }
}
.price-check.block-item .paragraph-title {
  font-size: 1.2rem;
}
.price-check.block-item .text-container {
  flex: 1 1 60%;
}
.price-check.block-item .image-container {
  flex: 1 1 40%;
  display: block !important;
}
.price-check.block-item .image-container img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.price-check.block-item label {
  font-size: 0.8rem;
  height: 51px;
  padding: 0.5rem 1rem 0.5rem 4rem;
  line-height: 120%;
}
.price-check.block-item label span {
  font-size: 0.8rem;
}

/**
 * Front Reviews Component
 * 
 * A vélemények és értékelések szekcióinak stílusait tartalmazza
 */
.section-review .text-animate-1 {
  opacity: 0;
  transform: translateX(60px);
  transition: all 1.1s 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
  display: block;
}

.section-review .text-animate-2 {
  opacity: 0;
  transform: translateX(60px);
  transition: all 1.3s 1.1s cubic-bezier(0.165, 0.84, 0.44, 1);
  display: block;
}

.section-review .wp-gr {
  opacity: 0;
  transform: translateY(60px);
  transition: all 1.3s 0.7s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
  display: block;
}

.section-review.in-view .wp-gr,
.section-review.in-view .text-animate-1,
.section-review.in-view .text-animate-2 {
  opacity: 1;
  transform: none;
}

.section-review {
  justify-content: center;
  z-index: 100;
  position: relative;
}
.section-review .google-review {
  width: 46.6666666667rem;
  border-radius: 50px;
  overflow: hidden;
  box-shadow: 0 0 20px rgba(27, 28, 29, 0.2);
  position: relative;
  z-index: 10;
}
.section-review .google-review .title {
  display: flex;
  align-items: center;
}
.section-review .google-review h2 {
  color: #fefefe;
  font-weight: 700;
  margin-bottom: 0;
  letter-spacing: 0;
  font-size: 2.1333333333rem;
}
.section-review .google-review > div {
  padding: 2rem;
}
.section-review .google-review svg {
  display: inline;
}
.section-review .google-review img {
  border-radius: 50% !important;
}
.section-review .google-review .widget-wrapper {
  background-color: #fefefe;
}

.google-reviews {
  padding: 0 0 3rem 0;
}
.google-reviews .owl-carousel .owl-stage {
  display: flex;
}
.google-reviews .owl-carousel .owl-item {
  display: flex;
  flex: 1 0 auto;
}
.google-reviews .owl-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -2rem;
  right: -2rem;
  display: flex;
  justify-content: space-between;
}
.google-reviews .owl-nav i {
  font-size: 2.6666666667rem;
}
.google-reviews .owl-stage-outer {
  padding: 1rem 0;
}
.google-reviews .owl-dots {
  text-align: center;
  padding: 1rem 0;
}
.google-reviews .owl-dots span {
  width: 10px;
  height: 10px;
  background-color: #a6abb5;
  display: block;
  margin: 0.4rem;
  border-radius: 50%;
}
.google-reviews .owl-dots .owl-dot.active span {
  background-color: #5E2246;
}
.google-reviews .slide-item {
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0px 0px 10px rgba(64, 68, 77, 0.2);
  background-color: #fefefe;
}
.google-reviews .slide-item a {
  color: #40444D;
  height: 100%;
  display: flex;
  flex-flow: column;
}
.google-reviews .slide-item .content {
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  height: 100%;
  padding: 1rem;
  flex: 1 1 auto;
}

/**
 * Reviews slider – tartalom vágása (#reviews-slider)
 * Alaphelyzetben (.is-collapsed) max 7 sor látszik. A JS csak ott jeleníti meg
 * a "Vis mer" gombot, ahol tényleg van levágott tartalom; máshol leveszi az
 * .is-collapsed osztályt, így a teljes szöveg látszik.
 */
.review-item__text {
  line-height: 1.5;
}
.review-item__text > *:first-child {
  margin-top: 0;
}
.review-item__text > *:last-child {
  margin-bottom: 0;
}
.review-item__text.is-collapsed {
  max-height: 10.5em;
  overflow: hidden;
}

.review-item__toggle {
  display: inline-block;
  margin-top: 0.5rem;
  padding: 0;
  border: 0;
  background: none;
  color: #5E2246;
  font-weight: 600;
  cursor: pointer;
}
.review-item__toggle:hover {
  text-decoration: underline;
}
.review-item__toggle[hidden] {
  display: none;
}

.package {
  padding: 1rem;
  border: 1px solid #fefefe;
  margin-top: 4rem;
  border-radius: 15px;
}
@media (min-width: 1024px) {
  .package {
    border-radius: 100px;
  }
}
.package span {
  width: 100%;
  display: block;
  color: #fefefe;
  text-align: center;
}
.package p {
  margin-bottom: 0;
}

.guarantee {
  padding: 1rem;
  margin-top: 4rem;
  border-radius: 15px;
}
@media (min-width: 1024px) {
  .guarantee {
    border-radius: 100px;
  }
}
.guarantee span {
  width: 100%;
  display: block;
  color: #fefefe;
  text-align: center;
}
.guarantee button {
  color: #fefefe;
  cursor: pointer;
  font-weight: 600;
}

/**
 * Front Doctors Component
 * 
 * Az orvosok szekcióhoz tartozó stílusok,
 * beleértve a carousel és splide elemeket
 */
.doctors .front-orvosok-carousel {
  background-color: #5E2246;
  padding: 3rem 0;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .doctors .front-orvosok-carousel {
    border-radius: 15px;
  }
}
.doctors .front-orvosok-carousel::after {
  background-image: linear-gradient(to right, #5e2246 0%, transparent 20%, transparent 80%, #5e2246 100%);
  content: " ";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  opacity: 0.95;
  pointer-events: none;
}
.doctors .doctor-title {
  opacity: 0;
}
.doctors .splide__slide.is-visible .doctor-title {
  opacity: 1;
  transition: opacity 0.3s;
}
.doctors .splide__arrow {
  background-color: transparent !important;
  top: initial;
  bottom: 1rem;
  width: 40px !important;
  height: 40px !important;
  z-index: 2;
}
.doctors .splide__arrow svg {
  width: 100%;
  position: relative;
  top: initial;
  fill: #fefefe;
  stroke: none !important;
  filter: none !important;
}
.doctors .splide__arrow--prev {
  left: 1rem;
}
.doctors .splide__arrow--next {
  right: 1rem;
}

/**
 * Front Video Component
 * 
 * A videók szekcióhoz tartozó stílusok
 */
.video {
  position: relative;
  z-index: 1;
  padding: 3rem 0;
}
@media (min-width: 1024px) {
  .video {
    padding: 6rem 0;
  }
}
.video h2.paragraph-title {
  margin-bottom: 3rem;
}
.video .lity-iframe .lity-container {
  width: 100%;
  max-width: 964px;
}
.video .video-container {
  max-width: 1200px;
  display: flex;
  flex-flow: column;
}
@media (min-width: 640px) {
  .video .video-container {
    flex-flow: row;
  }
}
.video .video-container .video-element {
  flex: 1 1 calc(50% - 2rem);
  margin: 0 1rem 2rem;
  position: relative;
}
@media (min-width: 640px) {
  .video .video-container .video-element {
    margin-bottom: 0;
  }
}
.video .video-container .video-element .content {
  overflow: hidden;
}
.video .video-container .video-element img,
.video .video-container .video-element iframe {
  border-radius: 15px;
}
.video .video-container .video-element .button-play {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  cursor: pointer;
  z-index: 2;
}
.video .video-container .video-element .button-play svg {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate3d(-50%, -50%, 0);
  transition: all 0.2s ease-in-out;
}
.video .video-container .video-element .button-play:hover svg {
  transform: translate3d(-50%, -50%, 0) scale(1.05);
}
.video .video-footer {
  display: flex;
  flex-flow: column;
  align-items: center;
  margin-top: 3rem;
}
.video .video-footer h3 {
  text-align: center;
}

/**
 * Front Videos Component
 *
 * A front_videos ACF ismétlődő mezőből épülő videó szekció.
 * Mobilon natív scroll-snap csík, >=1024px-nél Splide veszi át
 * (lásd FrontVideosHandler.js).
 */
.front-videos {
  padding: 3rem 0;
}
@media (min-width: 1024px) {
  .front-videos {
    padding: 6rem 0;
  }
}
.front-videos__title {
  margin-bottom: 3rem;
  padding: 0 1.5rem;
}
@media (min-width: 1024px) {
  .front-videos__title {
    padding: 0;
  }
}
.front-videos__track {
  position: relative;
}
.front-videos__list {
  display: flex;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
  scroll-padding: 0 1.5rem;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.front-videos__list::-webkit-scrollbar {
  display: none;
}
@media (min-width: 1024px) {
  .front-videos__list {
    overflow-x: visible;
    scroll-padding: 0;
    gap: 0;
  }
}
.front-videos__item {
  flex: 0 0 78%;
  scroll-snap-align: center;
}
.front-videos__item.splide__slide {
  display: block;
}
.front-videos__item:first-child {
  margin-left: 1.5rem;
}
.front-videos__item:last-child {
  margin-right: 1.5rem;
}
@media (min-width: 640px) {
  .front-videos__item {
    flex: 0 0 45%;
  }
}
@media (min-width: 1024px) {
  .front-videos__item {
    flex: 0 0 auto;
  }
  .front-videos__item:first-child, .front-videos__item:last-child {
    margin-left: 0;
    margin-right: 0;
  }
}
.front-videos__item .embed-container {
  border-radius: 15px;
  overflow: hidden;
}
.front-videos__caption {
  margin-top: 0.5rem;
  text-align: center;
}
.front-videos__arrows {
  display: none;
}
@media (min-width: 1024px) {
  .front-videos__arrows {
    display: block;
  }
}
.front-videos__arrow {
  background-color: transparent !important;
  border: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 40px;
  height: 40px;
  cursor: pointer;
}
.front-videos__arrow svg {
  width: 100% !important;
  height: auto !important;
  position: static !important;
  top: auto !important;
  fill: #5E2246 !important;
}
.front-videos__arrow--prev {
  left: -3.5rem;
}
.front-videos__arrow--next {
  right: -3.5rem;
}
.front-videos__arrow:disabled {
  opacity: 0.3;
  cursor: default;
  pointer-events: none;
}
.front-videos__pagination {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
  position: static;
  margin-top: 1.5rem;
  padding: 0;
  list-style: none;
}
.front-videos__page {
  background: #E0E2E5;
  border: none;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  padding: 0;
  opacity: 1;
  transition: all 0.2s ease-in-out;
}
.front-videos__page.is-active {
  background: #9e1c62;
  transform: scale(1.2);
}

/**
 * Front Hotels Component
 * 
 * A szállodák szekció stílusait tartalmazza
 */
.hotels-row {
  padding: 6rem 0;
  background-color: #d9dbdf;
}
.hotels-row__header {
  margin-bottom: 2rem;
}
.hotels-row__header + .grid {
  display: block;
}
.hotels-row .carousel-wrapper {
  display: block;
}
@media (max-width: 1023.99px) {
  .hotels-row .carousel-wrapper {
    margin: 0 !important;
  }
}
.hotels-row .hotel-link a {
  text-align: center;
  padding: 0.5rem 3rem;
  color: #fefefe;
  font-weight: 700;
  display: inline-block;
  background-color: #B2C90A;
  border-radius: 100px;
}
.hotels-row .hotel-link a:hover {
  background-color: #5E2246;
}
.hotels-row .hotels-carousel {
  position: relative;
}
.hotels-row .hotels-carousel__item {
  padding: 2rem;
  background-color: #fefefe;
  border-radius: 15px;
  box-shadow: 0px 0px 10px rgba(64, 68, 77, 0.2);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.hotels-row .hotels-carousel__header p {
  font-size: 0.9333333333rem;
}
.hotels-row .hotels-carousel__title {
  font-size: 1.0666666667rem;
  text-transform: initial;
}
.hotels-row .hotels-carousel__gallery {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 1rem;
  margin-bottom: 2rem;
}
.hotels-row .hotels-carousel__gallery a {
  height: 120px;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .hotels-row .hotels-carousel__gallery a {
    height: 220px;
  }
}
.hotels-row .hotels-carousel__gallery img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}
@media (min-width: 640px) {
  .hotels-row .hotels-carousel__gallery {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 1024px) {
  .hotels-row .hotels-carousel .owl-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    justify-content: space-between;
    display: flex;
  }
}
.hotels-row .hotels-carousel .owl-nav button:hover {
  background-color: transparent;
}
.hotels-row .hotels-carousel .owl-nav .owl-prev {
  position: relative;
  left: -2rem;
}
.hotels-row .hotels-carousel .owl-nav .owl-next {
  position: relative;
  right: -2rem;
}
.hotels-row .hotels-carousel .owl-stage {
  display: flex;
}
.hotels-row .hotels-carousel .owl-item {
  display: flex;
  flex: 1 0 auto;
}

/**
 * Front Relax Component
 * 
 * A relax/pihenés szekció stílusait tartalmazza
 */
.relax .paragraph-title {
  margin-bottom: 1rem;
}
.relax h3.paragraph-title {
  padding-left: calc(25px + 1rem);
}
.relax h3.paragraph-title span {
  width: 25px;
  min-width: 25px;
  display: inline-block;
  margin-right: 1rem;
  margin-left: calc(-25px - 1rem);
}
.relax h3.paragraph-title span svg {
  position: relative;
  top: 5px;
  width: 100%;
}
.relax .text-content {
  padding-left: calc(25px + 1rem);
}
.relax .text-content ul {
  list-style: none;
}
@media (max-width: 1023.99px) {
  .relax .image {
    margin-bottom: 2rem;
  }
}
.relax .image img {
  width: 100%;
}
@media (max-width: 1023.99px) {
  .relax .image img {
    border-radius: 15px;
    box-shadow: 0px 0px 30px rgba(64, 68, 77, 0.2);
  }
}

.helfo {
  padding: 3rem 0;
}
.helfo .grid {
  grid-column-gap: calc(30px * 2);
  -ms-grid-columns: 1fr calc(30px * 2) 1fr;
}
.helfo .image {
  display: flex;
  display: none;
}
@media (min-width: 1024px) {
  .helfo .image {
    display: block;
  }
}
.helfo img {
  width: 300px;
  height: auto;
  display: block;
  margin: auto;
}
.helfo .text-mask {
  position: relative;
  overflow: hidden;
}
.helfo h2 {
  color: #57C8F5;
  font-weight: 700;
  font-size: 4rem;
  position: relative;
}
.helfo h2 img {
  display: block;
  width: 150px;
  height: auto;
  position: absolute;
  bottom: 0;
  display: inline;
}
@media (min-width: 1024px) {
  .helfo h2 img {
    display: none;
  }
}
.helfo p {
  color: #003057;
}
.helfo a {
  color: #003057;
  font-weight: 800;
}
.helfo .text-mask:after {
  content: " ";
  top: 0;
  left: 0;
  right: 0;
  bottom: -1px;
  position: absolute;
  z-index: 1;
  background: linear-gradient(to top, #fefefe 0%, rgba(254, 254, 254, 0) 100%);
  opacity: 1;
  transition: opacity 1s ease-in-out;
  pointer-events: none;
}
.helfo .text-mask.is-open::after {
  opacity: 0;
}
.helfo .reveal-button {
  background-color: #fefefe;
  color: #40444D;
  padding: 0.3rem 0.5rem;
  border: 1px solid #40444D;
  font-size: rem-cacl(12 !important);
  margin-top: 3rem;
}
.helfo .reveal-button.is-hidden {
  display: none;
  visibility: hidden;
}

/**
 * Front Budapest Component
 * 
 * A Budapest szekció stílusait tartalmazza
 * a galériával együtt
 */
.budapest {
  padding: 6rem 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.budapest p {
  color: #fefefe;
}
.budapest img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
@media (max-width: 1023.99px) {
  .budapest .gallery {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 2rem;
  }
}
.budapest .image {
  margin-bottom: 2rem;
  border-radius: 15px;
  overflow: hidden;
}
@media (max-width: 1023.99px) {
  .budapest .image {
    margin-bottom: 1rem;
    flex: 0 1 calc(50% - 0.5rem);
    height: 100px;
  }
  .budapest .image:nth-child(odd) {
    margin-right: 1rem;
  }
}

/* Űrlapok és kapcsolat */
/**
 * Front Contact Forms Component
 * 
 * Űrlap komponensek stílusai a főoldalhoz
 */
.frontpage-form {
  padding: 2rem;
  margin-bottom: 0;
  position: relative;
  z-index: 2;
  background-color: #B6CC00;
}
@media (min-width: 640px) {
  .frontpage-form {
    padding: 1rem 0;
  }
}
@media (min-width: 1024px) {
  .frontpage-form {
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    width: 100%;
    background-color: #B6CC00;
  }
}
.frontpage-form .row {
  max-width: 62.5rem;
  margin: 0 auto;
}
.frontpage-form h2 {
  font-weight: 800;
  color: #fefefe;
  margin-bottom: 0;
  position: relative;
  top: -3px;
}
.frontpage-form h3 {
  text-transform: uppercase;
  text-align: left;
  font-size: 1.1rem;
  line-height: 1.3;
  color: #40444D;
}
@media (min-width: 640px) {
  .frontpage-form h3 {
    color: #fefefe;
  }
}
.frontpage-form .medium-8 {
  padding: 0;
}
.frontpage-form .button {
  width: 100%;
  margin-right: 0;
  padding: 0.8em 1em;
  font-weight: 800;
  color: #fefefe;
  background-color: #9e1c62;
  border: 1px solid #9e1c62;
  border-radius: 100px;
  transition: all 0.2s ease-in-out;
}
@media (min-width: 1024px) {
  .frontpage-form .button {
    width: calc(25% - 0.5rem);
    margin: initial;
  }
}
.frontpage-form .button:hover {
  background-color: #5E2246;
  border-color: #5E2246;
  color: #fefefe;
}

.front-page-contact {
  padding: 1rem 0 2rem 0;
  max-width: 100%;
  position: relative;
  background-attachment: fixed;
  background-size: cover;
}
@media (min-width: 1024px) {
  .front-page-contact {
    padding: 0;
  }
  .front-page-contact .fields-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.front-page-contact .form {
  position: relative;
  display: flex;
  flex-flow: column;
  justify-content: center;
  width: 100vw;
  margin-left: -2rem;
  padding: 2rem;
  background-color: #B6CC00;
}
@media (min-width: 1024px) {
  .front-page-contact .form {
    width: 80%;
    margin: 0 0 0 auto;
    padding: 0;
    background-color: transparent;
    z-index: 2;
  }
}
.front-page-contact .paragraph-title {
  margin-bottom: 1rem;
}
.front-page-contact textarea {
  width: 100%;
  height: 94px !important;
  padding: 0.8em 1em;
  margin-bottom: 0.5rem !important;
  border: none;
  border-radius: 15px;
  box-shadow: none;
}
@media (min-width: 1024px) {
  .front-page-contact textarea {
    margin-bottom: 1rem !important;
  }
}
.front-page-contact textarea::-moz-placeholder {
  color: #6D7584;
}
.front-page-contact textarea::placeholder {
  color: #6D7584;
}
.front-page-contact label,
.front-page-contact input[type=text],
.front-page-contact input[type=email],
.front-page-contact input[type=tel] {
  height: unset;
  padding: 0.8em 1em;
  margin-bottom: 0.5rem;
  background-color: #fefefe;
  color: #40444d;
  border: none;
  border-radius: 100px;
  box-shadow: none;
}
@media (min-width: 1024px) {
  .front-page-contact label,
.front-page-contact input[type=text],
.front-page-contact input[type=email],
.front-page-contact input[type=tel] {
    width: calc(25% - 0.5rem);
    margin-bottom: 0;
  }
}
.front-page-contact label::-moz-placeholder, .front-page-contact input[type=text]::-moz-placeholder, .front-page-contact input[type=email]::-moz-placeholder, .front-page-contact input[type=tel]::-moz-placeholder {
  color: #6D7584;
}
.front-page-contact label::placeholder,
.front-page-contact input[type=text]::placeholder,
.front-page-contact input[type=email]::placeholder,
.front-page-contact input[type=tel]::placeholder {
  color: #6D7584;
}
.front-page-contact label:focus, .front-page-contact label:hover,
.front-page-contact input[type=text]:focus,
.front-page-contact input[type=text]:hover,
.front-page-contact input[type=email]:focus,
.front-page-contact input[type=email]:hover,
.front-page-contact input[type=tel]:focus,
.front-page-contact input[type=tel]:hover {
  background-color: #fefefe;
  box-shadow: none;
}
.front-page-contact .gallery-container {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 1023.99px) {
  .front-page-contact .gallery-container {
    margin-bottom: 3rem;
  }
}
.front-page-contact .gallery-container .gallery-item {
  display: block;
  flex: 1 1 calc(33.33% - 1rem);
  margin: 0 0.5rem 1rem;
}
.front-page-contact .gallery-container .gallery-item img {
  float: left;
  border-radius: 15px;
}
.front-page-contact p {
  color: #5E2246;
}
.front-page-contact h4 {
  margin-bottom: 1rem;
  color: #9e1c62;
  text-transform: uppercase;
}

.front-page-footer-contact {
  padding: 3rem 0 0;
  max-width: 100%;
  position: relative;
  background-attachment: fixed;
  background-size: cover;
}
@media (min-width: 1024px) {
  .front-page-footer-contact {
    padding: 3rem 0;
  }
  .front-page-footer-contact .fields-wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.front-page-footer-contact .form {
  position: relative;
  display: flex;
  flex-flow: column;
  justify-content: center;
  width: 100vw;
  margin-left: -2rem;
  padding: 2rem;
  background-color: #B6CC00;
}
@media (min-width: 1024px) {
  .front-page-footer-contact .form {
    width: 80%;
    margin: 0 0 0 auto;
    padding: 0 6rem 0 0;
    background-color: transparent;
    z-index: 2;
  }
  .front-page-footer-contact .form::after {
    content: " ";
    position: absolute;
    display: block;
    top: -6rem;
    left: -8rem;
    right: -1rem;
    bottom: -7rem;
    z-index: -1;
    background-color: #B6CC00;
    border-radius: 50%;
    transform: rotate(7deg);
  }
}
.front-page-footer-contact .paragraph-title {
  margin-bottom: 1rem;
}
.front-page-footer-contact textarea {
  width: 100%;
  height: 94px !important;
  padding: 0.8em 1em;
  margin-bottom: 0.5rem !important;
  border: none;
  border-radius: 15px;
  box-shadow: none;
}
@media (min-width: 1024px) {
  .front-page-footer-contact textarea {
    margin-bottom: 1rem !important;
  }
}
.front-page-footer-contact textarea::-moz-placeholder {
  color: #6D7584;
}
.front-page-footer-contact textarea::placeholder {
  color: #6D7584;
}
.front-page-footer-contact label,
.front-page-footer-contact input[type=text],
.front-page-footer-contact input[type=email],
.front-page-footer-contact input[type=tel] {
  height: unset;
  padding: 0.8em 1em;
  margin-bottom: 0.5rem;
  background-color: #fefefe;
  color: #40444d;
  border: none;
  border-radius: 100px;
  box-shadow: none;
}
@media (min-width: 1024px) {
  .front-page-footer-contact label,
.front-page-footer-contact input[type=text],
.front-page-footer-contact input[type=email],
.front-page-footer-contact input[type=tel] {
    width: calc(50% - 0.5rem);
    margin-bottom: 1rem;
  }
}
.front-page-footer-contact label::-moz-placeholder, .front-page-footer-contact input[type=text]::-moz-placeholder, .front-page-footer-contact input[type=email]::-moz-placeholder, .front-page-footer-contact input[type=tel]::-moz-placeholder {
  color: #6D7584;
}
.front-page-footer-contact label::placeholder,
.front-page-footer-contact input[type=text]::placeholder,
.front-page-footer-contact input[type=email]::placeholder,
.front-page-footer-contact input[type=tel]::placeholder {
  color: #6D7584;
}
.front-page-footer-contact label:focus, .front-page-footer-contact label:hover,
.front-page-footer-contact input[type=text]:focus,
.front-page-footer-contact input[type=text]:hover,
.front-page-footer-contact input[type=email]:focus,
.front-page-footer-contact input[type=email]:hover,
.front-page-footer-contact input[type=tel]:focus,
.front-page-footer-contact input[type=tel]:hover {
  background-color: #fefefe;
  box-shadow: none;
}
.front-page-footer-contact .gallery-container {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 1023.99px) {
  .front-page-footer-contact .gallery-container {
    margin-bottom: 3rem;
  }
}
.front-page-footer-contact .gallery-container .gallery-item {
  display: block;
  flex: 1 1 calc(33.33% - 1rem);
  margin: 0 0.5rem 1rem;
}
.front-page-footer-contact .gallery-container .gallery-item img {
  float: left;
  border-radius: 15px;
}
.front-page-footer-contact p {
  color: #5E2246;
}
.front-page-footer-contact h4 {
  margin-bottom: 1rem;
  color: #9e1c62;
  text-transform: uppercase;
}

/* Lábléc és térkép */
/**
 * Front Footer and Map Component
 * 
 * A lábléc és térkép stílusait tartalmazza
 */
.footer {
  position: relative;
  z-index: 10;
}

#map {
  height: 30vh;
}

/* Itt következnek a globális front stílusok, ha szükségesek */
/* Minden komponens-specifikus stílust a megfelelő front/ mappa komponensfájljaiba kell átmozgatni */
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZyb250LmNzcyIsImZyb250LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQHNwbGlkZWpzL3NwbGlkZS9kaXN0L2Nzcy9zcGxpZGUubWluLmNzcyIsImZyb250L19pbmRleC5zY3NzIiwiZnJvbnQvX2hlYWRlci5zY3NzIiwiZnJvbnQvX3JvdGF0b3Iuc2NzcyIsIm1peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsImZyb250L19zbGlkZXIuc2NzcyIsImdsb2JhbC9fY29sb3JzLnNjc3MiLCJtaXhpbnMvX21peGlucy5zY3NzIiwiZnJvbnQvX3ByZWZhY2Uuc2NzcyIsImZyb250L19hYm91dC5zY3NzIiwiZnJvbnQvX2hvbGlkYXkuc2NzcyIsImZyb250L190cmVhdG1lbnRzLnNjc3MiLCJmcm9udC9fbGVhZC5zY3NzIiwiZnJvbnQvX29mZmVycy5zY3NzIiwiZnJvbnQvX3ByaWNlcy5zY3NzIiwiZ2xvYmFsL19tYWRlbnRhLXNldHRpbmdzLnNjc3MiLCJmcm9udC9fcmV2aWV3cy5zY3NzIiwiZnJvbnQvX2RvY3RvcnMuc2NzcyIsImZyb250L192aWRlby5zY3NzIiwiZnJvbnQvX2Zyb250LXZpZGVvcy5zY3NzIiwiZnJvbnQvX2hvdGVscy5zY3NzIiwiZnJvbnQvX3JlbGF4LnNjc3MiLCJmcm9udC9faGVsZm8uc2NzcyIsImZyb250L19idWRhcGVzdC5zY3NzIiwiZnJvbnQvX2NvbnRhY3Quc2NzcyIsImZyb250L19mb290ZXItbWFwLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDQWhCOzs7Ozs7Ozs7RUFBQTtBQ0FBO0VBQW1CLHNCQUFBO0VBQXNCLGtCQUFBO0FGY3pDOztBRWQyRDtFQUFjLDJCQUFBO0VBQStDLGFBQUE7RUFBYSxZQUFBO0VBQVksb0JBQUE7RUFBbUIscUJBQUE7QUZ1QnBLOztBRXZCd0w7RUFBcUQsY0FBQTtBRjJCN087O0FFM0IyUDtFQUEwQyxtQkFBQTtFQUF1QyxhQUFBO0VBQWdDLGVBQUE7RUFB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QTBCL21FSTtFQUNFLGNsQnpVTztBUjA3RWI7QTBCbG5FSTtFQUNFLGNsQnpVTztBUjA3RWI7QTBCNW1FRTs7OztFQUlFLGFBQUE7RUFDQSxrQkFsR2M7RUFtR2QscUJBbEdxQjtFQXFHckIseUJBQUE7RUFDQSxjQUFBO0VBQ0EsWUFBQTtFQUNBLG9CQTNHb0I7RUE0R3BCLGdCQUFBO0ExQjRtRUo7QU1qNEVNO0VvQndRSjs7OztJQWdCSSx5QkExR2tCO0lBMkdsQixtQkE1R29CO0UxQjR0RXhCO0FBQ0Y7QTBCOW1FSTtFQUNFLGNsQm5XTztBUnM5RWI7QTBCcG5FSTs7OztFQUNFLGNsQm5XTztBUnM5RWI7QTBCL21FSTs7Ozs7OztFQUVFLHlCQUFBO0VBQ0EsZ0JBQUE7QTFCc25FTjtBMEJqbkVFO0VBQ0UsYUFBQTtFQUNBLGVBQUE7QTFCbW5FSjtBTXI1RU07RW9CZ1NKO0lBS0ksbUJBQUE7RTFCb25FSjtBQUNGO0EwQmxuRUk7RUFDRSxjQUFBO0VBQ0EsNkJBQUE7RUFDQSxxQkFBQTtBMUJvbkVOO0EwQmxuRU07RUFDRSxXQUFBO0VBQ0EsbUJBOUltQjtBMUJrd0UzQjtBMEI5bUVFO0VBQ0UsY2xCMVlXO0FSMC9FZjtBMEI3bUVFO0VBQ0UsbUJBdEpzQjtFQXVKdEIsY2xCN1lZO0VrQjhZWix5QkFBQTtBMUIrbUVKOztBR24rRUEscUJBQUE7QXdCaENBOzs7O0VBQUE7QUFNQTtFQUNFLGtCQUFBO0VBQ0EsV0FBQTtBM0JzZ0ZGOztBMkJuZ0ZBO0VBQ0UsWUFBQTtBM0JzZ0ZGOztBQ3AvRUEsOERBQUE7QUFDQSxvR0FBQSIsImZpbGUiOiJmcm9udC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKipcbiAqIEZyb250IFN0eWxlc1xuICogXG4gKiBFeiBhIGbDoWpsIGltcG9ydMOhbGphIGF6IMO2c3N6ZXMgZnJvbnQgb2xkYWxpIGtvbXBvbmVuc3QuXG4gKiBBIGtvbXBvbmVuc2VrIGEgL2Zyb250IG1hcHDDoWJhbiB0YWzDoWxoYXTDs2sga8O8bMO2biBmw6FqbG9rYmEgc3plcnZlenZlXG4gKiBhIGpvYmIga2FyYmFudGFydGhhdMOzc8OhZyDDqXMgZmVqbGVzenRoZXTFkXPDqWcgw6lyZGVrw6liZW4uXG4gKiBcbiAqIEZlamxlc3p0xZE6IEzDoXN6bMOzIExhcG9zXG4gKiBVdG9sc8OzIGZyaXNzw610w6lzOiAyMDI1LiBtw6FqdXMgOC5cbiAqL1xuLnNwbGlkZV9fY29udGFpbmVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc3BsaWRlX19saXN0IHtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4uc3BsaWRlLmlzLWluaXRpYWxpemVkOm5vdCguaXMtYWN0aXZlKSAuc3BsaWRlX19saXN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zcGxpZGVfX3BhZ2luYXRpb24ge1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLW1zLWZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uc3BsaWRlX19wYWdpbmF0aW9uIGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4uc3BsaWRlOm5vdCguaXMtb3ZlcmZsb3cpIC5zcGxpZGVfX3BhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uc3BsaWRlX19wcm9ncmVzc19fYmFyIHtcbiAgd2lkdGg6IDA7XG59XG5cbi5zcGxpZGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnNwbGlkZS5pcy1pbml0aWFsaXplZCwgLnNwbGlkZS5pcy1yZW5kZXJlZCB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5zcGxpZGVfX3NsaWRlIHtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnNwbGlkZV9fc2xpZGUgaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cblxuLnNwbGlkZV9fc3Bpbm5lciB7XG4gIGFuaW1hdGlvbjogc3BsaWRlLWxvYWRpbmcgMXMgbGluZWFyIGluZmluaXRlO1xuICBib3JkZXI6IDJweCBzb2xpZCAjOTk5O1xuICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm90dG9tOiAwO1xuICBjb250YWluOiBzdHJpY3Q7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAyMHB4O1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDIwcHg7XG59XG5cbi5zcGxpZGVfX3NyIHtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgYm9yZGVyOiAwO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG59XG5cbi5zcGxpZGVfX3RvZ2dsZS5pcy1hY3RpdmUgLnNwbGlkZV9fdG9nZ2xlX19wbGF5LCAuc3BsaWRlX190b2dnbGVfX3BhdXNlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnNwbGlkZV9fdG9nZ2xlLmlzLWFjdGl2ZSAuc3BsaWRlX190b2dnbGVfX3BhdXNlIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4uc3BsaWRlX190cmFjayB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbn1cblxuQGtleWZyYW1lcyBzcGxpZGUtbG9hZGluZyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMXR1cm4pO1xuICB9XG59XG4uc3BsaWRlX190cmFjay0tZHJhZ2dhYmxlIHtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uc3BsaWRlX190cmFjay0tZmFkZSA+IC5zcGxpZGVfX2xpc3QgPiAuc3BsaWRlX19zbGlkZSB7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAwO1xufVxuXG4uc3BsaWRlX190cmFjay0tZmFkZSA+IC5zcGxpZGVfX2xpc3QgPiAuc3BsaWRlX19zbGlkZS5pcy1hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xuICB6LWluZGV4OiAxO1xufVxuXG4uc3BsaWRlLS1ydGwge1xuICBkaXJlY3Rpb246IHJ0bDtcbn1cblxuLnNwbGlkZV9fdHJhY2stLXR0YiA+IC5zcGxpZGVfX2xpc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNwbGlkZV9fYXJyb3cge1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjY2NjO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAyZW07XG4gIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG9wYWNpdHk6IDAuNztcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB3aWR0aDogMmVtO1xuICB6LWluZGV4OiAxO1xufVxuXG4uc3BsaWRlX19hcnJvdyBzdmcge1xuICBmaWxsOiAjMDAwO1xuICBoZWlnaHQ6IDEuMmVtO1xuICB3aWR0aDogMS4yZW07XG59XG5cbi5zcGxpZGVfX2Fycm93OmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgb3BhY2l0eTogMC45O1xufVxuXG4uc3BsaWRlX19hcnJvdzpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuMztcbn1cblxuLnNwbGlkZV9fYXJyb3c6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDNweCBzb2xpZCAjMGJmO1xuICBvdXRsaW5lLW9mZnNldDogM3B4O1xufVxuXG4uc3BsaWRlX19hcnJvdy0tcHJldiB7XG4gIGxlZnQ6IDFlbTtcbn1cblxuLnNwbGlkZV9fYXJyb3ctLXByZXYgc3ZnIHtcbiAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xufVxuXG4uc3BsaWRlX19hcnJvdy0tbmV4dCB7XG4gIHJpZ2h0OiAxZW07XG59XG5cbi5zcGxpZGUuaXMtZm9jdXMtaW4gLnNwbGlkZV9fYXJyb3c6Zm9jdXMge1xuICBvdXRsaW5lOiAzcHggc29saWQgIzBiZjtcbiAgb3V0bGluZS1vZmZzZXQ6IDNweDtcbn1cblxuLnNwbGlkZV9fcGFnaW5hdGlvbiB7XG4gIGJvdHRvbTogMC41ZW07XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDAgMWVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAxO1xufVxuXG4uc3BsaWRlX19wYWdpbmF0aW9uX19wYWdlIHtcbiAgYmFja2dyb3VuZDogI2NjYztcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiA4cHg7XG4gIG1hcmdpbjogM3B4O1xuICBvcGFjaXR5OiAwLjc7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgbGluZWFyO1xuICB3aWR0aDogOHB4O1xufVxuXG4uc3BsaWRlX19wYWdpbmF0aW9uX19wYWdlLmlzLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS40KTtcbiAgei1pbmRleDogMTtcbn1cblxuLnNwbGlkZV9fcGFnaW5hdGlvbl9fcGFnZTpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogMC45O1xufVxuXG4uc3BsaWRlX19wYWdpbmF0aW9uX19wYWdlOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiAzcHggc29saWQgIzBiZjtcbiAgb3V0bGluZS1vZmZzZXQ6IDNweDtcbn1cblxuLnNwbGlkZS5pcy1mb2N1cy1pbiAuc3BsaWRlX19wYWdpbmF0aW9uX19wYWdlOmZvY3VzIHtcbiAgb3V0bGluZTogM3B4IHNvbGlkICMwYmY7XG4gIG91dGxpbmUtb2Zmc2V0OiAzcHg7XG59XG5cbi5zcGxpZGVfX3Byb2dyZXNzX19iYXIge1xuICBiYWNrZ3JvdW5kOiAjY2NjO1xuICBoZWlnaHQ6IDNweDtcbn1cblxuLnNwbGlkZV9fc2xpZGUge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbi5zcGxpZGVfX3NsaWRlOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cblxuQHN1cHBvcnRzIChvdXRsaW5lLW9mZnNldDogLTNweCkge1xuICAuc3BsaWRlX19zbGlkZTpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAzcHggc29saWQgIzBiZjtcbiAgICBvdXRsaW5lLW9mZnNldDogLTNweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIC5zcGxpZGVfX3NsaWRlOmZvY3VzLXZpc2libGUge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICMwYmY7XG4gIH1cbn1cbkBzdXBwb3J0cyAob3V0bGluZS1vZmZzZXQ6IC0zcHgpIHtcbiAgLnNwbGlkZS5pcy1mb2N1cy1pbiAuc3BsaWRlX19zbGlkZTpmb2N1cyB7XG4gICAgb3V0bGluZTogM3B4IHNvbGlkICMwYmY7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0zcHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAuc3BsaWRlLmlzLWZvY3VzLWluIC5zcGxpZGVfX3NsaWRlOmZvY3VzIHtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjMGJmO1xuICB9XG4gIC5zcGxpZGUuaXMtZm9jdXMtaW4gLnNwbGlkZV9fdHJhY2sgPiAuc3BsaWRlX19saXN0ID4gLnNwbGlkZV9fc2xpZGU6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzBiZjtcbiAgfVxufVxuLnNwbGlkZV9fdG9nZ2xlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uc3BsaWRlX190b2dnbGU6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDNweCBzb2xpZCAjMGJmO1xuICBvdXRsaW5lLW9mZnNldDogM3B4O1xufVxuXG4uc3BsaWRlLmlzLWZvY3VzLWluIC5zcGxpZGVfX3RvZ2dsZTpmb2N1cyB7XG4gIG91dGxpbmU6IDNweCBzb2xpZCAjMGJmO1xuICBvdXRsaW5lLW9mZnNldDogM3B4O1xufVxuXG4uc3BsaWRlX190cmFjay0tbmF2ID4gLnNwbGlkZV9fbGlzdCA+IC5zcGxpZGVfX3NsaWRlIHtcbiAgYm9yZGVyOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnNwbGlkZV9fdHJhY2stLW5hdiA+IC5zcGxpZGVfX2xpc3QgPiAuc3BsaWRlX19zbGlkZS5pcy1hY3RpdmUge1xuICBib3JkZXI6IDNweCBzb2xpZCAjMDAwO1xufVxuXG4uc3BsaWRlX19hcnJvd3MtLXJ0bCAuc3BsaWRlX19hcnJvdy0tcHJldiB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxZW07XG59XG5cbi5zcGxpZGVfX2Fycm93cy0tcnRsIC5zcGxpZGVfX2Fycm93LS1wcmV2IHN2ZyB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xufVxuXG4uc3BsaWRlX19hcnJvd3MtLXJ0bCAuc3BsaWRlX19hcnJvdy0tbmV4dCB7XG4gIGxlZnQ6IDFlbTtcbiAgcmlnaHQ6IGF1dG87XG59XG5cbi5zcGxpZGVfX2Fycm93cy0tcnRsIC5zcGxpZGVfX2Fycm93LS1uZXh0IHN2ZyB7XG4gIHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbn1cblxuLnNwbGlkZV9fYXJyb3dzLS10dGIgLnNwbGlkZV9fYXJyb3cge1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xufVxuXG4uc3BsaWRlX19hcnJvd3MtLXR0YiAuc3BsaWRlX19hcnJvdy0tcHJldiB7XG4gIHRvcDogMWVtO1xufVxuXG4uc3BsaWRlX19hcnJvd3MtLXR0YiAuc3BsaWRlX19hcnJvdy0tcHJldiBzdmcge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xufVxuXG4uc3BsaWRlX19hcnJvd3MtLXR0YiAuc3BsaWRlX19hcnJvdy0tbmV4dCB7XG4gIGJvdHRvbTogMWVtO1xuICB0b3A6IGF1dG87XG59XG5cbi5zcGxpZGVfX2Fycm93cy0tdHRiIC5zcGxpZGVfX2Fycm93LS1uZXh0IHN2ZyB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cblxuLnNwbGlkZV9fcGFnaW5hdGlvbi0tdHRiIHtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgLW1zLWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGxlZnQ6IGF1dG87XG4gIHBhZGRpbmc6IDFlbSAwO1xuICByaWdodDogMC41ZW07XG4gIHRvcDogMDtcbn1cblxuLyogRnJvbnQga29tcG9uZW5zZWsgaW1wb3J0amEgKi9cbi8qKlxuICogRnJvbnQgQ29tcG9uZW50cyBJbmRleCBGaWxlXG4gKiBcbiAqIEV6IGEgZsOhamwgaW1wb3J0w6FsamEgYXogw7Zzc3plcyBmcm9udCBrb21wb25lbnN0XG4gKiBBIGvDtm5ueWViYiBrYXJiYW50YXJ0aGF0w7Nzw6FnIMOpcyBmZWpsZXN6dMOpcyDDqXJkZWvDqWJlbi5cbiAqL1xuLyogQWxhcHZldMWRIGtvbXBvbmVuc2VrICovXG4vKipcbiAqIEZyb250IEhlYWRlciBDb21wb25lbnRcbiAqIFxuICogVGFydGFsbWF6emEgYSBmZWpsw6ljIHN0w61sdXNhaXQsXG4gKiBhIGRlbnRhbHdlZWstaGVhZGVyIG9zenTDoWx5IMOpcyBrYXBjc29sw7Nkw7MgZWxlbWVrXG4gKi9cbi5kZW50YWx3ZWVrLWhlYWRlciB7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5kZW50YWx3ZWVrLWhlYWRlciAubG9nbyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHdpZHRoOiAyNi42NjY2NjY2NjY3cmVtO1xufVxuXG4vKipcbiAqIEZyb250IFJvdGF0b3IgQ29tcG9uZW50XG4gKiBcbiAqIEEgbWlrcm9zaXRlIGZvcmfDsyBlbGVtw6luZWsgc3TDrWx1c2FpLFxuICogb3dsIGNhcm91c2VsIG5hdmlnw6FjacOzayDDqXMgcG9udG9rXG4gKi9cbi5yb3RhdG9yLW1pa3Jvc2l0ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5yb3RhdG9yLW1pa3Jvc2l0ZSAuc2xpZGVybmF2IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnJvdGF0b3ItbWlrcm9zaXRlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGhlaWdodDogMTAwdmg7XG4gIH1cbn1cbi5yb3RhdG9yLW1pa3Jvc2l0ZSAuYmFkZ2VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwcmVtO1xuICByaWdodDogMDtcbiAgei1pbmRleDogNDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW47XG59XG4ucm90YXRvci1taWtyb3NpdGUgLmJhZGdlcyBpbWcge1xuICBtYXgtd2lkdGg6IDE3LjMzMzMzMzMzMzNyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG4ucm90YXRvci1taWtyb3NpdGUgLm93bC1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDEwMHZoO1xufVxuLnJvdGF0b3ItbWlrcm9zaXRlIC5vd2wtaXRlbSA+IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDB2aDtcbn1cbi5yb3RhdG9yLW1pa3Jvc2l0ZSAub3dsLWl0ZW0gLml0ZW0ge1xuICBoZWlnaHQ6IDEwMHZoO1xufVxuLnJvdGF0b3ItbWlrcm9zaXRlIC5oZWFkZXItaW1hZ2UtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLnJvdGF0b3ItbWlrcm9zaXRlIC5oZWFkZXItaW1hZ2UtY29udGFpbmVyIGltZyB7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5yb3RhdG9yLW1pa3Jvc2l0ZSAub3dsLW5hdiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNDtcbiAgdG9wOiAzMHB4O1xuICBsZWZ0OiA1MHB4O1xufVxuLnJvdGF0b3ItbWlrcm9zaXRlIC5vd2wtbmF2IGksXG4ucm90YXRvci1taWtyb3NpdGUgLm93bC1uYXYgaTphZnRlcixcbi5yb3RhdG9yLW1pa3Jvc2l0ZSAub3dsLW5hdiBpOmJlZm9yZSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cbi5yb3RhdG9yLW1pa3Jvc2l0ZSAub3dsLWNhcm91c2VsIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ucm90YXRvci1taWtyb3NpdGUgLm93bC1kb3RzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGluaXRpYWw7XG4gIHotaW5kZXg6IDEwO1xuICBib3R0b206IDFyZW07XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAucm90YXRvci1taWtyb3NpdGUgLm93bC1kb3RzIHtcbiAgICBib3R0b206IDEwcmVtO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgcmlnaHQ6IGluaXRpYWw7XG4gIH1cbn1cbi5yb3RhdG9yLW1pa3Jvc2l0ZSAub3dsLWRvdHMgLm93bC1kb3QuYWN0aXZlIHNwYW4ge1xuICBiYWNrZ3JvdW5kOiAjNUUyMjQ2ICFpbXBvcnRhbnQ7XG59XG4ucm90YXRvci1taWtyb3NpdGUgLm93bC1kb3RzIC5vd2wtZG90IHNwYW4ge1xuICBiYWNrZ3JvdW5kOiAjN2QyNjU5ICFpbXBvcnRhbnQ7XG59XG5cbi8qKlxuICogU2xpZGVyICYgSGVhZGVyIENvbXBvbmVudHNcbiAqIFxuICogQSBmxZFvbGRhbGkgc2xpZGVyIMOpcyBoZWFkZXIga8OpcGVrIGtvbXBvbmVuc2VpOlxuICogLSBEZW50YWwgbG9nw7Mga8O2enBvbnRpIHBvemljaW9uw6Fsw6Fzc2FsXG4gKiAtIEhlYWRlciBrw6lwZWsgY8OtbWVra2VsIMOpcyBiYWRnZS1la2tlbFxuICovXG4uZGVudGFsLWxvZ28ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNDAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5AbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkgYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuZGVudGFsLWxvZ28ge1xuICAgIHRvcDogYXV0bztcbiAgfVxufVxuLmRlbnRhbC1sb2dvIGltZyB7XG4gIHdpZHRoOiA3MCUgIWltcG9ydGFudDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAuZGVudGFsLWxvZ28gaW1nIHtcbiAgICB3aWR0aDogMzg0cHggIWltcG9ydGFudDtcbiAgfVxufVxuLmRlbnRhbC1sb2dvIC5idXR0b24taW50ZXJlc3RlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogOTk5OTk5OTtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90byBTbGFiXCIsIHNlcmlmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjN2QyNjU5O1xuICBib3JkZXI6IDJweCBzb2xpZCAjN2QyNjU5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmRlbnRhbC1sb2dvIC5idXR0b24taW50ZXJlc3RlZCB7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlO1xuICB9XG59XG5cbi5oZWFkZXItaW1hZ2UtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmhlYWRlci1pbWFnZS1jb250YWluZXIgLnRpdGxlLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDEuNXJlbSAxLjVyZW0gMXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmhlYWRlci1pbWFnZS1jb250YWluZXIgLnRpdGxlLWNvbnRhaW5lci5kZW50YWwtd2Vlay10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuaGVhZGVyLWltYWdlLWNvbnRhaW5lciAudGl0bGUtY29udGFpbmVyLmRlbnRhbC13ZWVrLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5oZWFkZXItaW1hZ2UtY29udGFpbmVyIC50aXRsZS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nOiAycmVtIDJyZW0gNnJlbSA2cmVtO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cbiAgLmhlYWRlci1pbWFnZS1jb250YWluZXIgLnRpdGxlLWNvbnRhaW5lcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6IC0zcmVtO1xuICAgIGxlZnQ6IC0xMHJlbTtcbiAgICByaWdodDogLTRyZW07XG4gICAgYm90dG9tOiAtMTByZW07XG4gICAgei1pbmRleDogLTE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC03ZGVnKTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuaGVhZGVyLWltYWdlLWNvbnRhaW5lciAudGl0bGUtY29udGFpbmVyIC50aXRsZS1jb250YWluZXItaW5uZXIge1xuICAgIHdpZHRoOiA1MDBweDtcbiAgfVxufVxuLmhlYWRlci1pbWFnZS1jb250YWluZXIgLnRpdGxlLWNvbnRhaW5lciBoMSxcbi5oZWFkZXItaW1hZ2UtY29udGFpbmVyIC50aXRsZS1jb250YWluZXIgaDIge1xuICBmb250LXNpemU6IDIycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5oZWFkZXItaW1hZ2UtY29udGFpbmVyIC50aXRsZS1jb250YWluZXIgaDEsXG4uaGVhZGVyLWltYWdlLWNvbnRhaW5lciAudGl0bGUtY29udGFpbmVyIGgyIHtcbiAgICBmb250LXNpemU6IDMycHg7XG4gIH1cbn1cbi5oZWFkZXItaW1hZ2UtY29udGFpbmVyIC50aXRsZS1jb250YWluZXIgaDIge1xuICBjb2xvcjogIzVFMjI0Njtcbn1cbi5oZWFkZXItaW1hZ2UtY29udGFpbmVyIC50aXRsZS1jb250YWluZXIgaDMge1xuICBmb250LXNpemU6IDE2cHg7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGNvbG9yOiAjNDA0NDREO1xufVxuLmhlYWRlci1pbWFnZS1jb250YWluZXIgLmJ1dHRvbiB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVFMjI0Njtcbn1cbi5oZWFkZXItaW1hZ2UtY29udGFpbmVyIC5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2QyNjU5O1xufVxuLmhlYWRlci1pbWFnZS1jb250YWluZXIgLmJhZGdlIHtcbiAgei1pbmRleDogMTAwO1xufVxuLmhlYWRlci1pbWFnZS1jb250YWluZXIubnVtYmVyLTEgLmJhZGdlIHtcbiAgdG9wOiAxcmVtO1xuICByaWdodDogMXJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmhlYWRlci1pbWFnZS1jb250YWluZXIubnVtYmVyLTEgLmJhZGdlIHtcbiAgICB0b3A6IGluaXRpYWw7XG4gICAgcmlnaHQ6IDglO1xuICAgIGJvdHRvbTogMjVyZW07XG4gIH1cbn1cbi5oZWFkZXItaW1hZ2UtY29udGFpbmVyLm51bWJlci0yIC5iYWRnZSB7XG4gIHRvcDogMXJlbTtcbiAgbGVmdDogMXJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmhlYWRlci1pbWFnZS1jb250YWluZXIubnVtYmVyLTIgLmJhZGdlIHtcbiAgICBsZWZ0OiBpbml0aWFsO1xuICAgIHRvcDogaW5pdGlhbDtcbiAgICByaWdodDogOCU7XG4gICAgYm90dG9tOiAxMHJlbTtcbiAgfVxufVxuLmhlYWRlci1pbWFnZS1jb250YWluZXIubnVtYmVyLTMgLmJhZGdlIHtcbiAgdG9wOiAxcmVtO1xuICByaWdodDogMXJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmhlYWRlci1pbWFnZS1jb250YWluZXIubnVtYmVyLTMgLmJhZGdlIHtcbiAgICB0b3A6IGluaXRpYWw7XG4gICAgcmlnaHQ6IDEwJTtcbiAgICBib3R0b206IDE0cmVtO1xuICB9XG59XG5cbi8qIFN6ZWtjacOzIGtvbXBvbmVuc2VrICovXG4vKipcbiAqIEZyb250IFByZWZhY2Ugw6lzIFNsaWRlciBDb21wb25lbnRcbiAqIFxuICogQSBtaWNyby1zbGlkZXIgw6lzIHByZWZhY2Ugc3pla2Npw7NrYXQgdGFydGFsbWF6emFcbiAqL1xuLm1pY3JvLXNsaWRlciB7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5taWNyby1zbGlkZXIgLmhvbWUtc2xpZGVyLFxuLm1pY3JvLXNsaWRlciAub3dsLXN0YWdlLW91dGVyLFxuLm1pY3JvLXNsaWRlciAub3dsLXN0YWdlLFxuLm1pY3JvLXNsaWRlciAub3dsLWl0ZW0sXG4ubWljcm8tc2xpZGVyIC5zbGlkZS1pdGVtLFxuLm1pY3JvLXNsaWRlciAuc2xpZGUtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ucHJlZmFjZSB7XG4gIHBhZGRpbmc6IDNyZW0gMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTA5LCAxMTcsIDEzMiwgMC44NSk7XG59XG4ucHJlZmFjZSBwIHtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG4ucHJlZmFjZSAucHJlZmFjZS10ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cbi5wcmVmYWNlIC5wcmVmYWNlLXRleHQgcCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cbi5wcmVmYWNlIC5wcmVmYWNlLWxpc3Qge1xuICBtYXJnaW46IDA7XG59XG4ucHJlZmFjZSAucHJlZmFjZS1saXN0IC5wcmVmYWNlLWl0ZW0ge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnByZWZhY2UgLnByZWZhY2UtbGlzdCAucHJlZmFjZS1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIH1cbn1cbi5wcmVmYWNlIC5wcmVmYWNlLWxpc3QgLnByZWZhY2UtaXRlbSAudGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgcGFkZGluZy1sZWZ0OiA4MHB4O1xufVxuLnByZWZhY2UgLnByZWZhY2UtbGlzdCAucHJlZmFjZS1pdGVtIC5pbWFnZSB7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnByZWZhY2UgLnByZWZhY2UtbGlzdCAucHJlZmFjZS1pdGVtIC5pbWFnZSBpbWcge1xuICB3aWR0aDogNTBweDtcbn1cblxuLyoqXG4gKiBGcm9udCBBYm91dCBDb21wb25lbnRcbiAqIFxuICogQSByw7NsdW5rIHN6ZWtjacOzIHN0w61sdXNhaXQgdGFydGFsbWF6emFcbiAqL1xuLmFib3V0IC5yb3c6aG92ZXIgLmltYWdlLWNvbnRhaW5lciBpbWcge1xuICBmaWx0ZXI6IGdyYXlzY2FsZSgwJSk7XG59XG4uYWJvdXQgLnJvdy5yb3NhIHtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbn1cbi5hYm91dCAudGV4dC1jb250YWluZXIsXG4uYWJvdXQgLmltYWdlLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5hYm91dCAuaW1hZ2UtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLmFib3V0IC5pbWFnZS1jb250YWluZXIgaDIge1xuICBmb250LXNpemU6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbi1ib3R0b206IDNyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5hYm91dCAuaW1hZ2UtY29udGFpbmVyIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgdHJhbnNpdGlvbjogZmlsdGVyIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5hYm91dCAuaW1hZ2UtY29udGFpbmVyIGltZyB7XG4gICAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7XG4gIH1cbn1cbi5hYm91dCAuaW1hZ2UtY29udGFpbmVyIC50aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cbi5hYm91dCAuaW1hZ2UtY29udGFpbmVyIC50aXRsZSBwOm50aC1jaGlsZCgxKSB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5hYm91dCAuaW1hZ2UtY29udGFpbmVyIC50aXRsZSBwOm50aC1jaGlsZCgyKSxcbi5hYm91dCAuaW1hZ2UtY29udGFpbmVyIC50aXRsZSBwOm50aC1jaGlsZCgzKSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uYWJvdXQgLmltYWdlLWNvbnRhaW5lciAudGl0bGUuZ3VubmFyIHAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uYWJvdXQgLnRleHQtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMCAxcmVtO1xufVxuXG4vKipcbiAqIEZyb250IEhvbGlkYXkgQ29tcG9uZW50XG4gKiBcbiAqIEEgbnlhcmFsw6FzIHN6ZWtjacOzIHN0w61sdXNhaXQgdGFydGFsbWF6emFcbiAqL1xuLmhvbGlkYXkgLmhvbGlkYXktaGVhZGVyIHtcbiAgcGFkZGluZzogMnJlbSAwO1xufVxuLmhvbGlkYXkgLmhvbGlkYXktdGl0bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4uaG9saWRheSAuaG9saWRheS1sZWFkIHAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xufVxuLmhvbGlkYXkgLmhvbGlkYXktY29udGVudCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBhZGRpbmc6IDAgMCAycmVtO1xufVxuLmhvbGlkYXkgLmhvbGlkYXktY29udGVudCAuY29sIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbn1cbi5ob2xpZGF5IC5ob2xpZGF5LWNvbnRlbnQgLmhlYWRlciAuaW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuLmhvbGlkYXkgLmhvbGlkYXktY29udGVudCAuaGVhZGVyIC5pbWFnZSBpbWcge1xuICB3aWR0aDogNTAlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmhvbGlkYXkgLmhvbGlkYXktY29udGVudCB7XG4gICAgZ3JpZC1jb2x1bW4tZ2FwOiAzMHB4O1xuICAgIC1tcy1ncmlkLWNvbHVtbnM6IDFmciAzMHB4IDFmciAzMHB4IDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICB9XG4gIC5ob2xpZGF5IC5ob2xpZGF5LWNvbnRlbnQ6bnRoLWNoaWxkKDIpIHtcbiAgICAtbXMtZ3JpZC1jb2x1bW46IDI7XG4gIH1cbiAgLmhvbGlkYXkgLmhvbGlkYXktY29udGVudDpudGgtY2hpbGQoMykge1xuICAgIC1tcy1ncmlkLWNvbHVtbjogMztcbiAgfVxuICAuaG9saWRheSAuaG9saWRheS1jb250ZW50IC5jb2wge1xuICAgIG1hcmdpbi1ib3R0b206IGluaXRpYWw7XG4gIH1cbn1cblxuLyoqXG4gKiBGcm9udCBUcmVhdG1lbnRzIENvbXBvbmVudFxuICogXG4gKiBBIGtlemVsw6lzZWsgc3pla2Npw7Mgc3TDrWx1c2FpdCB0YXJ0YWxtYXp6YSxcbiAqIGJlbGXDqXJ0dmUgYSBjc8O6c3prw6FrYXQgw6lzIGvDoXJ0ecOha2F0XG4gKi9cbi50cmVhdG1lbnRzIHtcbiAgcGFkZGluZzogNnJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmQ3NTg0O1xufVxuLnRyZWF0bWVudHMgLnN1YnRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnRyZWF0bWVudHMgLmNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDAgMS41cmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAudHJlYXRtZW50cyAuY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwIDJyZW07XG4gIH1cbn1cbi50cmVhdG1lbnRzIC5rZXplbGVzZWstdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAzcmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAudHJlYXRtZW50cyAua2V6ZWxlc2VrLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4udHJlYXRtZW50cyAubWljcm8ta2V6ZWxlc2VrLXNsaWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG4udHJlYXRtZW50cyAuc2xpZGVyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4udHJlYXRtZW50cyAuc2xpZGVyLXdyYXBwZXIgLmJhZGdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMXJlbTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03MCUpO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjMuOTlweCkge1xuICAudHJlYXRtZW50cyAuc2xpZGVyLXdyYXBwZXIgLmJhZGdlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQ3JSk7XG4gIH1cbiAgLnRyZWF0bWVudHMgLnNsaWRlci13cmFwcGVyIC5iYWRnZSBzdmcge1xuICAgIHdpZHRoOiAxMDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAudHJlYXRtZW50cyAuc2xpZGVyLXdyYXBwZXIgLmJhZGdlIHtcbiAgICByaWdodDogMTByZW07XG4gIH1cbn1cbi50cmVhdG1lbnRzIC5vd2wtc3RhZ2Utb3V0ZXIge1xuICB3aWR0aDogMTAwJTtcbn1cbi50cmVhdG1lbnRzIC5vd2wtc3RhZ2Uge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLnRyZWF0bWVudHMgLm93bC1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMSAwIGF1dG87XG4gIGhlaWdodDogaW5pdGlhbDtcbn1cbi50cmVhdG1lbnRzIC5vd2wtZG90cyB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG59XG4udHJlYXRtZW50cyAub3dsLW5hdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNHJlbTtcbiAgcmlnaHQ6IDRyZW07XG4gIHotaW5kZXg6IDEwO1xuICB0b3A6IGluaXRpYWw7XG4gIHRvcDogMDtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnRyZWF0bWVudHMgLm93bC1uYXYge1xuICAgIGhlaWdodDogNTBweDtcbiAgICB0b3A6IDMwJSAhaW1wb3J0YW50O1xuICAgIGJvdHRvbTogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxufVxuLnRyZWF0bWVudHMgLm93bC1uYXYgLm93bC1wcmV2LFxuLnRyZWF0bWVudHMgLm93bC1uYXYgLm93bC1uZXh0IHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDYwcHg7XG59XG4udHJlYXRtZW50cyAub3dsLW5hdiAub3dsLXByZXYge1xuICBsZWZ0OiAxcmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAudHJlYXRtZW50cyAub3dsLW5hdiAub3dsLXByZXYge1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cbn1cbi50cmVhdG1lbnRzIC5vd2wtbmF2IC5vd2wtbmV4dCB7XG4gIHJpZ2h0OiAxcmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAudHJlYXRtZW50cyAub3dsLW5hdiAub3dsLW5leHQge1xuICAgIHJpZ2h0OiAxcmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC50cmVhdG1lbnRzIC5vd2wtbmF2IC5vd2wtcHJldiB7XG4gICAgbGVmdDogLTNyZW07XG4gIH1cbiAgLnRyZWF0bWVudHMgLm93bC1uYXYgLm93bC1uZXh0IHtcbiAgICByaWdodDogLTNyZW07XG4gIH1cbn1cbi50cmVhdG1lbnRzIC5lbGVtZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlO1xufVxuLnRyZWF0bWVudHMgLmltYWdlIHtcbiAgaGVpZ2h0OiAyNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbi50cmVhdG1lbnRzIC5pbWFnZSBpbWcge1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAxMHB4IHJnYmEoNjQsIDY4LCA3NywgMC4xKTtcbn1cbi50cmVhdG1lbnRzIHAge1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cbi50cmVhdG1lbnRzIGgzIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbi50cmVhdG1lbnRzIC5rZXplbGVzZWstZm9vdGVyIHAge1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi8qKlxuICogRnJvbnQgTGVhZCBSb3cgQ29tcG9uZW50XG4gKiBcbiAqIEEgZsWRb2xkYWxpIGxlYWQgc29yIHN0w61sdXNhaXQgdGFydGFsbWF6emFcbiAqL1xuLmxlYWQucm93IHtcbiAgcGFkZGluZzogNnJlbSAwO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjMuOTlweCkge1xuICAubGVhZC5yb3cgLmltYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICB9XG59XG4ubGVhZC5yb3cgaW1nIHtcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAxMHB4IHJnYmEoNjQsIDY4LCA3NywgMC4yKTtcbiAgd2lkdGg6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ubGVhZC5yb3cgcCB7XG4gIGZvbnQtc2l6ZTogMS4wNjY2NjY2NjY3cmVtO1xufVxuLmxlYWQucm93IC50ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKipcbiAqIEZyb250IE9mZmVycyBDb21wb25lbnRcbiAqIFxuICogQXogYWrDoW5sYXRvayBzemVrY2nDsyBzdMOtbHVzYWl0IHRhcnRhbG1henphXG4gKi9cbi5hamFubGF0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDE0OS44NWRlZywgIzdlMWY1NCAwJSwgIzVlMjI0NiA1NS4yMSUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG59XG4uYWphbmxhdCAub2ZmZXIgaW1nIHtcbiAgd2lkdGg6IGluaXRpYWw7XG59XG4uYWphbmxhdCAub2ZmZXIgc21hbGwge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5hamFubGF0IC5vZmZlciBociB7XG4gIG1heC13aWR0aDogaW5pdGlhbDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjZmZmLCAjZmZmIDY1JSwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDIwcHggMXB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGhlaWdodDogMXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuYWphbmxhdCB7XG4gICAgcGFkZGluZzogNnJlbSAwO1xuICB9XG59XG4uYWphbmxhdCAuYWphbmxhdC1oZWFkZXIgLnBhcmFncmFwaC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDRyZW07XG59XG4uYWphbmxhdCAuYWphbmxhdC1pdGVtcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uO1xufVxuLmFqYW5sYXQgaGVhZGVyIHAge1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmFqYW5sYXQgLnNsaWRlLXRvLW1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBzb2xpZCAxcHggI2ZlZmVmZTtcbn1cbi5hamFubGF0IC5zbGlkZS10by1tZW51OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgY29sb3I6ICM1RTIyNDY7XG59XG4uYWphbmxhdCBociB7XG4gIG1hcmdpbjogM3JlbSAwO1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjZmVmZWZlLCAjZmVmZWZlIDY1JSwgdHJhbnNwYXJlbnQgNjUlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgYmFja2dyb3VuZC1zaXplOiAyMHB4IDFweDtcbiAgYm9yZGVyOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYWphbmxhdCAuYWphbmxhdC1pdGVtIHtcbiAgZmxleDogMSAxIDEwMCU7XG4gIG1hcmdpbjogMCAwIDNyZW07XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAuYWphbmxhdCAuYWphbmxhdC1pdGVtIHtcbiAgICBmbGV4LWZsb3c6IHJvdztcbiAgfVxufVxuLmFqYW5sYXQgLmFqYW5sYXQtaXRlbSBhIHtcbiAgY29sb3I6ICNCMkM5MEE7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5hamFubGF0IC5hamFubGF0LWl0ZW06aG92ZXIgLmFqYW5sYXQtaXRlbS1pbWFnZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjE1KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5hamFubGF0IC5hamFubGF0LWNvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNmZWZlZmU7XG4gIH1cbn1cbi5hamFubGF0IC5hamFubGF0LWl0ZW0taW1hZ2Uge1xuICBmbGV4OiAxIDAgMTEwcHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5hamFubGF0IC5hamFubGF0LWl0ZW0taW1hZ2Uge1xuICAgIG1hcmdpbi1yaWdodDogMnJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4uYWphbmxhdCAuYWphbmxhdC1pdGVtLWltYWdlIC5pbWFnZS13cmFwcGVyIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuLmFqYW5sYXQgLmFqYW5sYXQtaXRlbS1pbWFnZSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5Ljk5cHgpIHtcbiAgLmFqYW5sYXQgLmFqYW5sYXQtaXRlbS1pbWFnZSBpbWcge1xuICAgIHdpZHRoOiAxMTBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuLmFqYW5sYXQgLmFqYW5sYXQtaXRlbS10aXRsZSB7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmFqYW5sYXQgLmFqYW5sYXQtaXRlbS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjEzMzMzMzMzMzNyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxufVxuXG4vKipcbiAqIEZyb250IFByaWNlcyBDb21wb25lbnRcbiAqIFxuICogQXogw6FyYWsgc3pla2Npw7Mgc3TDrWx1c2FpdCB0YXJ0YWxtYXp6YSxcbiAqIGJlbGXDqXJ0dmUgYSB0w6FibMOhemF0b2thdCDDqXMgcHJpY2UtY2hlY2sgb3N6dMOhbHl0XG4gKi9cbi5wcmljZXMgLnByaWNlLWxpc3QgLmNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTIwMHB4O1xufVxuLnByaWNlcyAucHJpY2UtbGlzdCBoMi5wYXJhZ3JhcGgtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAzcmVtO1xufVxuLnByaWNlcyAucHJpY2UtbGlzdCAucHJpY2UtZ3JvdXAtd3JhcHBlciB7XG4gIGdyaWQtY29sdW1uLWdhcDogOTBweDtcbiAgLW1zLWdyaWQtY29sdW1uczogMWZyIDkwcHggMWZyO1xufVxuLnByaWNlcyAucHJpY2UtbGlzdCAudGV4dC13cmFwcGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDMyMGRlZywgIzllMWM2MiwgI2NhMGI3Mik7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIHBhZGRpbmc6IDNyZW07XG59XG4ucHJpY2VzIC5wcmljZS1saXN0IC50ZXh0LXdyYXBwZXIgaDIge1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbn1cbi5wcmljZXMgLnByaWNlLWxpc3QgLnRleHQtd3JhcHBlciBoMixcbi5wcmljZXMgLnByaWNlLWxpc3QgLnRleHQtd3JhcHBlciBwIHtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG4ucHJpY2VzIC5wcmljZS1saXN0IC50ZXh0LXdyYXBwZXIgcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5wcmljZXMgdGFibGUge1xuICB0YWJsZS1sYXlvdXQ6IGF1dG8gIWltcG9ydGFudDtcbn1cbi5wcmljZXMgLndwRGF0YVRhYmxlc1dyYXBwZXIgdGFibGUuaGFzLWNvbHVtbnMtaGlkZGVuIHNwYW4ucmVzcG9uc2l2ZUV4cGFuZGVyIHtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG4ucHJpY2VzIHRhYmxlLmhhcy1jb2x1bW5zLWhpZGRlbiA+IHRib2R5ID4gdHIgPiB0ZCA+IHNwYW4ucmVzcG9uc2l2ZUV4cGFuZGVyOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICBjb250ZW50OiBcIitcIiAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHdpZHRoOiAyNXB4O1xuICBoZWlnaHQ6IDI1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhOGJjMGU7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogXCJSYWxld2F5XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBsaW5lLWhlaWdodDogMC42NTtcbn1cbi5wcmljZXMgdGFibGUuaGFzLWNvbHVtbnMtaGlkZGVuID4gdGJvZHkgPiB0ci5kZXRhaWwtc2hvdyA+IHRkIHNwYW4ucmVzcG9uc2l2ZUV4cGFuZGVyOmFmdGVyIHtcbiAgY29udGVudDogXCItXCIgIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDAuNDU7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgd2lkdGg6IDI1cHg7XG4gIGhlaWdodDogMjVweDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E4YmMwZTtcbn1cbi5wcmljZXMgdGFibGUsXG4ucHJpY2VzIHRib2R5LFxuLnByaWNlcyB0aGVhZCxcbi5wcmljZXMgdGZvb3Qge1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5wcmljZXMgdGQsXG4ucHJpY2VzIHRoIHtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDE1cHggMTBweCAhaW1wb3J0YW50O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAucHJpY2VzIHRkLFxuLnByaWNlcyB0aCB7XG4gICAgcGFkZGluZzogN3B4IDEwcHggIWltcG9ydGFudDtcbiAgfVxufVxuLnByaWNlcyB0aCB7XG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogODAwICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNDA0NDRkICFpbXBvcnRhbnQ7XG59XG4ucHJpY2VzIHRyIHtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNmZmZmZmYgIWltcG9ydGFudDtcbn1cbi5wcmljZXMgdGQuY29sdW1uLTEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDdkN2Q3ICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4ucHJpY2VzIHRkLmNvbHVtbi0yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTJlNSAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cbi5wcmljZXMgdGQuY29sdW1uLTMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjZjYzAwICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogODAwO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cbi5wcmljZXMgdGQuY29sdW1uLTQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2Y3ZjdmICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogODAwO1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cbi5wcmljZXMgLmNvbHVtbi0xIHtcbiAgd2lkdGg6IDMwJSAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNjM5Ljk5cHgpIHtcbiAgLnByaWNlcyAuY29sdW1uLTEge1xuICAgIHBhZGRpbmctbGVmdDogNTBweCAhaW1wb3J0YW50O1xuICB9XG59XG4ucHJpY2VzIC5jb2x1bW4tMSAucmVzcG9uc2l2ZUV4cGFuZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuLnByaWNlcyAud3BEYXRhVGFibGVzV3JhcHBlciB0YWJsZS53cERhdGFUYWJsZSB0aCxcbi5wcmljZXMgLndwRGF0YVRhYmxlc1dyYXBwZXIgdGFibGUud3BEYXRhVGFibGUgdGQge1xuICB3aGl0ZS1zcGFjZTogaW5pdGlhbCAhaW1wb3J0YW50O1xufVxuLnByaWNlcyAud3BEYXRhVGFibGVzV3JhcHBlciBkaXYuZHQtYnV0dG9ucyB7XG4gIG1hcmdpbjogMDtcbn1cbi5wcmljZXMgLnBvd2VyZWRfYnlfbGluayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5wcmljZXMgLnJvdy1kZXRhaWwgdGQge1xuICBwYWRkaW5nOiA1cHggIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk3OTg5YiAhaW1wb3J0YW50O1xufVxuLnByaWNlcyAucm93LWRldGFpbCBsaSB7XG4gIHBhZGRpbmc6IDEwcHggMTVweCAhaW1wb3J0YW50O1xufVxuLnByaWNlcyAucm93LWRldGFpbCBsaTpudGgtY2hpbGQoMSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VjZWNlO1xufVxuLnByaWNlcyAucm93LWRldGFpbCBsaTpudGgtY2hpbGQoMikge1xuICBmb250LXdlaWdodDogODAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjdiN2I3O1xufVxuLnByaWNlcyAucm93LWRldGFpbCAuY29sdW1uLTIsXG4ucHJpY2VzIC5yb3ctZGV0YWlsIC5jb2x1bW4tNCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4ucHJpY2VzIC5yb3ctZGV0YWlsIC5jb2x1bW4tMiAuY29sdW1uVmFsdWUsXG4ucHJpY2VzIC5yb3ctZGV0YWlsIC5jb2x1bW4tNCAuY29sdW1uVmFsdWUge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4ucHJpY2UtY2hlY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucHJpY2UtY2hlY2s6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZiZmJmYjtcbiAgei1pbmRleDogLTE7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnByaWNlLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiA1MCU7XG4gIGJvdHRvbTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYThiYzBkO1xuICB6LWluZGV4OiAtMTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5wcmljZS1jaGVjayB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgfVxufVxuLnByaWNlLWNoZWNrIC5wYXJhZ3JhcGgtdGl0bGUge1xuICBmb250LXNpemU6IDEuNDY2NjY2NjY2N3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbi5wcmljZS1jaGVjayAuaW1hZ2UtY29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnByaWNlLWNoZWNrIC5pbWFnZS1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5wcmljZS1jaGVjayAuaW1hZ2UtY29udGFpbmVyIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnByaWNlLWNoZWNrIC50ZXh0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uO1xuICBwYWRkaW5nOiAzcmVtIDEuNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAucHJpY2UtY2hlY2sgLnRleHQtY29udGFpbmVyIHtcbiAgICB3aWR0aDogNDUlO1xuICAgIHBhZGRpbmc6IDRyZW0gMnJlbTtcbiAgfVxufVxuLnByaWNlLWNoZWNrIC50ZXh0LWNvbnRhaW5lci5mdWxsLXdpZHRoIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLnByaWNlLWNoZWNrIC50ZXh0LWNvbnRhaW5lci1pbm5lciB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnByaWNlLWNoZWNrIHAge1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cbi5wcmljZS1jaGVjayB0ZXh0YXJlYSxcbi5wcmljZS1jaGVjayBpbnB1dFt0eXBlPXRleHRdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogIzQwNDQ0RDtcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4ucHJpY2UtY2hlY2sgdGV4dGFyZWE6OnBsYWNlaG9sZGVyLFxuLnByaWNlLWNoZWNrIGlucHV0W3R5cGU9dGV4dF06OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM0MDQ0NGQ7XG59XG4ucHJpY2UtY2hlY2sgdGV4dGFyZWEge1xuICBib3JkZXItcmFkaXVzOiAxNXB4O1xufVxuLnByaWNlLWNoZWNrIGlucHV0W3R5cGU9dGV4dF0ge1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbn1cbi5wcmljZS1jaGVjayBpbnB1dFt0eXBlPVN1Ym1pdF0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWUxYzYyO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgcGFkZGluZzogMC41cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLW91dDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gIGhlaWdodDogNDRweDtcbn1cbi5wcmljZS1jaGVjayBpbnB1dFt0eXBlPVN1Ym1pdF06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUUyMjQ2O1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cbi5wcmljZS1jaGVjayAuZmllbGRzZXQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5wcmljZS1jaGVjayAuZmllbGRzZXQtaW5uZXIge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHdpZHRoOiAxMDAlO1xuICBmbGV4OiAxIDAgY2FsYyg1MCUgLSAwLjVyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5AbWVkaWEgKG1heC13aWR0aDogNjM5Ljk5cHgpIHtcbiAgLnByaWNlLWNoZWNrIC5maWVsZHNldC1pbm5lciB7XG4gICAgZmxleDogMSAwIDEwMCU7XG4gIH1cbn1cbi5wcmljZS1jaGVjayAuSW5wdXRCbG9jayB7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnByaWNlLWNoZWNrIGlucHV0LFxuLnByaWNlLWNoZWNrIHRleHRhcmVhLFxuLnByaWNlLWNoZWNrIGxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xufVxuLnByaWNlLWNoZWNrIGxhYmVsIHtcbiAgZm9udC1zaXplOiAxLjMzMzMzMzMzMzNyZW07XG4gIHBhZGRpbmc6IDAuMnJlbSAwLjVyZW0gMC4ycmVtIDIuNXJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6ICM0MDQ0NEQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gIGhlaWdodDogNDRweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cbi5wcmljZS1jaGVjayBsYWJlbDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1RTIyNDY7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuLnByaWNlLWNoZWNrIGxhYmVsIHNwYW4ge1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ucHJpY2UtY2hlY2sgLmlucHV0ZmlsZTpmb2N1cyArIGxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVFMjI0NjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzVFMjI0NjtcbiAgY29sb3I6ICNmZWZlZmU7XG59XG4ucHJpY2UtY2hlY2sgdGV4dGFyZWEge1xuICBoZWlnaHQ6IDEyNnB4O1xufVxuLnByaWNlLWNoZWNrLmJsb2NrLWl0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODAxZjU1O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAucHJpY2UtY2hlY2suYmxvY2staXRlbSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxufVxuLnByaWNlLWNoZWNrLmJsb2NrLWl0ZW0gLnBhcmFncmFwaC10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xufVxuLnByaWNlLWNoZWNrLmJsb2NrLWl0ZW0gLnRleHQtY29udGFpbmVyIHtcbiAgZmxleDogMSAxIDYwJTtcbn1cbi5wcmljZS1jaGVjay5ibG9jay1pdGVtIC5pbWFnZS1jb250YWluZXIge1xuICBmbGV4OiAxIDEgNDAlO1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuLnByaWNlLWNoZWNrLmJsb2NrLWl0ZW0gLmltYWdlLWNvbnRhaW5lciBpbWcge1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5wcmljZS1jaGVjay5ibG9jay1pdGVtIGxhYmVsIHtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGhlaWdodDogNTFweDtcbiAgcGFkZGluZzogMC41cmVtIDFyZW0gMC41cmVtIDRyZW07XG4gIGxpbmUtaGVpZ2h0OiAxMjAlO1xufVxuLnByaWNlLWNoZWNrLmJsb2NrLWl0ZW0gbGFiZWwgc3BhbiB7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xufVxuXG4vKipcbiAqIEZyb250IFJldmlld3MgQ29tcG9uZW50XG4gKiBcbiAqIEEgdsOpbGVtw6lueWVrIMOpcyDDqXJ0w6lrZWzDqXNlayBzemVrY2nDs2luYWsgc3TDrWx1c2FpdCB0YXJ0YWxtYXp6YVxuICovXG4uc2VjdGlvbi1yZXZpZXcgLnRleHQtYW5pbWF0ZS0xIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDYwcHgpO1xuICB0cmFuc2l0aW9uOiBhbGwgMS4xcyAwLjhzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc2VjdGlvbi1yZXZpZXcgLnRleHQtYW5pbWF0ZS0yIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDYwcHgpO1xuICB0cmFuc2l0aW9uOiBhbGwgMS4zcyAxLjFzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc2VjdGlvbi1yZXZpZXcgLndwLWdyIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDYwcHgpO1xuICB0cmFuc2l0aW9uOiBhbGwgMS4zcyAwLjdzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSkgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zZWN0aW9uLXJldmlldy5pbi12aWV3IC53cC1ncixcbi5zZWN0aW9uLXJldmlldy5pbi12aWV3IC50ZXh0LWFuaW1hdGUtMSxcbi5zZWN0aW9uLXJldmlldy5pbi12aWV3IC50ZXh0LWFuaW1hdGUtMiB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cblxuLnNlY3Rpb24tcmV2aWV3IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHotaW5kZXg6IDEwMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnNlY3Rpb24tcmV2aWV3IC5nb29nbGUtcmV2aWV3IHtcbiAgd2lkdGg6IDQ2LjY2NjY2NjY2NjdyZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJveC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoMjcsIDI4LCAyOSwgMC4yKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDtcbn1cbi5zZWN0aW9uLXJldmlldyAuZ29vZ2xlLXJldmlldyAudGl0bGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLnNlY3Rpb24tcmV2aWV3IC5nb29nbGUtcmV2aWV3IGgyIHtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBmb250LXNpemU6IDIuMTMzMzMzMzMzM3JlbTtcbn1cbi5zZWN0aW9uLXJldmlldyAuZ29vZ2xlLXJldmlldyA+IGRpdiB7XG4gIHBhZGRpbmc6IDJyZW07XG59XG4uc2VjdGlvbi1yZXZpZXcgLmdvb2dsZS1yZXZpZXcgc3ZnIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuLnNlY3Rpb24tcmV2aWV3IC5nb29nbGUtcmV2aWV3IGltZyB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xufVxuLnNlY3Rpb24tcmV2aWV3IC5nb29nbGUtcmV2aWV3IC53aWRnZXQtd3JhcHBlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG59XG5cbi5nb29nbGUtcmV2aWV3cyB7XG4gIHBhZGRpbmc6IDAgMCAzcmVtIDA7XG59XG4uZ29vZ2xlLXJldmlld3MgLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlIHtcbiAgZGlzcGxheTogZmxleDtcbn1cbi5nb29nbGUtcmV2aWV3cyAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDEgMCBhdXRvO1xufVxuLmdvb2dsZS1yZXZpZXdzIC5vd2wtbmF2IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBsZWZ0OiAtMnJlbTtcbiAgcmlnaHQ6IC0ycmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4uZ29vZ2xlLXJldmlld3MgLm93bC1uYXYgaSB7XG4gIGZvbnQtc2l6ZTogMi42NjY2NjY2NjY3cmVtO1xufVxuLmdvb2dsZS1yZXZpZXdzIC5vd2wtc3RhZ2Utb3V0ZXIge1xuICBwYWRkaW5nOiAxcmVtIDA7XG59XG4uZ29vZ2xlLXJldmlld3MgLm93bC1kb3RzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAxcmVtIDA7XG59XG4uZ29vZ2xlLXJldmlld3MgLm93bC1kb3RzIHNwYW4ge1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTZhYmI1O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwLjRyZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cbi5nb29nbGUtcmV2aWV3cyAub3dsLWRvdHMgLm93bC1kb3QuYWN0aXZlIHNwYW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUUyMjQ2O1xufVxuLmdvb2dsZS1yZXZpZXdzIC5zbGlkZS1pdGVtIHtcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm94LXNoYWRvdzogMHB4IDBweCAxMHB4IHJnYmEoNjQsIDY4LCA3NywgMC4yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbn1cbi5nb29nbGUtcmV2aWV3cyAuc2xpZGUtaXRlbSBhIHtcbiAgY29sb3I6ICM0MDQ0NEQ7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW47XG59XG4uZ29vZ2xlLXJldmlld3MgLnNsaWRlLWl0ZW0gLmNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGZsZXg6IDEgMSBhdXRvO1xufVxuXG4vKipcbiAqIFJldmlld3Mgc2xpZGVyIOKAkyB0YXJ0YWxvbSB2w6Fnw6FzYSAoI3Jldmlld3Mtc2xpZGVyKVxuICogQWxhcGhlbHl6ZXRiZW4gKC5pcy1jb2xsYXBzZWQpIG1heCA3IHNvciBsw6F0c3ppay4gQSBKUyBjc2FrIG90dCBqZWxlbsOtdGkgbWVnXG4gKiBhIFwiVmlzIG1lclwiIGdvbWJvdCwgYWhvbCB0w6lueWxlZyB2YW4gbGV2w6Fnb3R0IHRhcnRhbG9tOyBtw6FzaG9sIGxldmVzemkgYXpcbiAqIC5pcy1jb2xsYXBzZWQgb3N6dMOhbHl0LCDDrWd5IGEgdGVsamVzIHN6w7Z2ZWcgbMOhdHN6aWsuXG4gKi9cbi5yZXZpZXctaXRlbV9fdGV4dCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG4ucmV2aWV3LWl0ZW1fX3RleHQgPiAqOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5yZXZpZXctaXRlbV9fdGV4dCA+ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4ucmV2aWV3LWl0ZW1fX3RleHQuaXMtY29sbGFwc2VkIHtcbiAgbWF4LWhlaWdodDogMTAuNWVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucmV2aWV3LWl0ZW1fX3RvZ2dsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiAjNUUyMjQ2O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4ucmV2aWV3LWl0ZW1fX3RvZ2dsZTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLnJldmlldy1pdGVtX190b2dnbGVbaGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wYWNrYWdlIHtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZlZmVmZTtcbiAgbWFyZ2luLXRvcDogNHJlbTtcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnBhY2thZ2Uge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICB9XG59XG4ucGFja2FnZSBzcGFuIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnBhY2thZ2UgcCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5ndWFyYW50ZWUge1xuICBwYWRkaW5nOiAxcmVtO1xuICBtYXJnaW4tdG9wOiA0cmVtO1xuICBib3JkZXItcmFkaXVzOiAxNXB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuZ3VhcmFudGVlIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgfVxufVxuLmd1YXJhbnRlZSBzcGFuIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmd1YXJhbnRlZSBidXR0b24ge1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4vKipcbiAqIEZyb250IERvY3RvcnMgQ29tcG9uZW50XG4gKiBcbiAqIEF6IG9ydm9zb2sgc3pla2Npw7Nob3ogdGFydG96w7Mgc3TDrWx1c29rLFxuICogYmVsZcOpcnR2ZSBhIGNhcm91c2VsIMOpcyBzcGxpZGUgZWxlbWVrZXRcbiAqL1xuLmRvY3RvcnMgLmZyb250LW9ydm9zb2stY2Fyb3VzZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUUyMjQ2O1xuICBwYWRkaW5nOiAzcmVtIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5kb2N0b3JzIC5mcm9udC1vcnZvc29rLWNhcm91c2VsIHtcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICB9XG59XG4uZG9jdG9ycyAuZnJvbnQtb3J2b3Nvay1jYXJvdXNlbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICM1ZTIyNDYgMCUsIHRyYW5zcGFyZW50IDIwJSwgdHJhbnNwYXJlbnQgODAlLCAjNWUyMjQ2IDEwMCUpO1xuICBjb250ZW50OiBcIiBcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxO1xuICBvcGFjaXR5OiAwLjk1O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5kb2N0b3JzIC5kb2N0b3ItdGl0bGUge1xuICBvcGFjaXR5OiAwO1xufVxuLmRvY3RvcnMgLnNwbGlkZV9fc2xpZGUuaXMtdmlzaWJsZSAuZG9jdG9yLXRpdGxlIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xufVxuLmRvY3RvcnMgLnNwbGlkZV9fYXJyb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICB0b3A6IGluaXRpYWw7XG4gIGJvdHRvbTogMXJlbTtcbiAgd2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDI7XG59XG4uZG9jdG9ycyAuc3BsaWRlX19hcnJvdyBzdmcge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IGluaXRpYWw7XG4gIGZpbGw6ICNmZWZlZmU7XG4gIHN0cm9rZTogbm9uZSAhaW1wb3J0YW50O1xuICBmaWx0ZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5kb2N0b3JzIC5zcGxpZGVfX2Fycm93LS1wcmV2IHtcbiAgbGVmdDogMXJlbTtcbn1cbi5kb2N0b3JzIC5zcGxpZGVfX2Fycm93LS1uZXh0IHtcbiAgcmlnaHQ6IDFyZW07XG59XG5cbi8qKlxuICogRnJvbnQgVmlkZW8gQ29tcG9uZW50XG4gKiBcbiAqIEEgdmlkZcOzayBzemVrY2nDs2hveiB0YXJ0b3rDsyBzdMOtbHVzb2tcbiAqL1xuLnZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBwYWRkaW5nOiAzcmVtIDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC52aWRlbyB7XG4gICAgcGFkZGluZzogNnJlbSAwO1xuICB9XG59XG4udmlkZW8gaDIucGFyYWdyYXBoLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbn1cbi52aWRlbyAubGl0eS1pZnJhbWUgLmxpdHktY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogOTY0cHg7XG59XG4udmlkZW8gLnZpZGVvLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAudmlkZW8gLnZpZGVvLWNvbnRhaW5lciB7XG4gICAgZmxleC1mbG93OiByb3c7XG4gIH1cbn1cbi52aWRlbyAudmlkZW8tY29udGFpbmVyIC52aWRlby1lbGVtZW50IHtcbiAgZmxleDogMSAxIGNhbGMoNTAlIC0gMnJlbSk7XG4gIG1hcmdpbjogMCAxcmVtIDJyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAudmlkZW8gLnZpZGVvLWNvbnRhaW5lciAudmlkZW8tZWxlbWVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuLnZpZGVvIC52aWRlby1jb250YWluZXIgLnZpZGVvLWVsZW1lbnQgLmNvbnRlbnQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnZpZGVvIC52aWRlby1jb250YWluZXIgLnZpZGVvLWVsZW1lbnQgaW1nLFxuLnZpZGVvIC52aWRlby1jb250YWluZXIgLnZpZGVvLWVsZW1lbnQgaWZyYW1lIHtcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcbn1cbi52aWRlbyAudmlkZW8tY29udGFpbmVyIC52aWRlby1lbGVtZW50IC5idXR0b24tcGxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDI7XG59XG4udmlkZW8gLnZpZGVvLWNvbnRhaW5lciAudmlkZW8tZWxlbWVudCAuYnV0dG9uLXBsYXkgc3ZnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbn1cbi52aWRlbyAudmlkZW8tY29udGFpbmVyIC52aWRlby1lbGVtZW50IC5idXR0b24tcGxheTpob3ZlciBzdmcge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApIHNjYWxlKDEuMDUpO1xufVxuLnZpZGVvIC52aWRlby1mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogM3JlbTtcbn1cbi52aWRlbyAudmlkZW8tZm9vdGVyIGgzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKipcbiAqIEZyb250IFZpZGVvcyBDb21wb25lbnRcbiAqXG4gKiBBIGZyb250X3ZpZGVvcyBBQ0YgaXNtw6l0bMWRZMWRIG1lesWRYsWRbCDDqXDDvGzFkSB2aWRlw7Mgc3pla2Npw7MuXG4gKiBNb2JpbG9uIG5hdMOtdiBzY3JvbGwtc25hcCBjc8OtaywgPj0xMDI0cHgtbsOpbCBTcGxpZGUgdmVzemkgw6F0XG4gKiAobMOhc2QgRnJvbnRWaWRlb3NIYW5kbGVyLmpzKS5cbiAqL1xuLmZyb250LXZpZGVvcyB7XG4gIHBhZGRpbmc6IDNyZW0gMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmZyb250LXZpZGVvcyB7XG4gICAgcGFkZGluZzogNnJlbSAwO1xuICB9XG59XG4uZnJvbnQtdmlkZW9zX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDNyZW07XG4gIHBhZGRpbmc6IDAgMS41cmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuZnJvbnQtdmlkZW9zX190aXRsZSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuLmZyb250LXZpZGVvc19fdHJhY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uZnJvbnQtdmlkZW9zX19saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxcmVtO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHNjcm9sbC1wYWRkaW5nOiAwIDEuNXJlbTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgc2Nyb2xsLXNuYXAtdHlwZTogeCBwcm94aW1pdHk7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xufVxuLmZyb250LXZpZGVvc19fbGlzdDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuZnJvbnQtdmlkZW9zX19saXN0IHtcbiAgICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICAgIHNjcm9sbC1wYWRkaW5nOiAwO1xuICAgIGdhcDogMDtcbiAgfVxufVxuLmZyb250LXZpZGVvc19faXRlbSB7XG4gIGZsZXg6IDAgMCA3OCU7XG4gIHNjcm9sbC1zbmFwLWFsaWduOiBjZW50ZXI7XG59XG4uZnJvbnQtdmlkZW9zX19pdGVtLnNwbGlkZV9fc2xpZGUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5mcm9udC12aWRlb3NfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogMS41cmVtO1xufVxuLmZyb250LXZpZGVvc19faXRlbTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmZyb250LXZpZGVvc19faXRlbSB7XG4gICAgZmxleDogMCAwIDQ1JTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuZnJvbnQtdmlkZW9zX19pdGVtIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgfVxuICAuZnJvbnQtdmlkZW9zX19pdGVtOmZpcnN0LWNoaWxkLCAuZnJvbnQtdmlkZW9zX19pdGVtOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuLmZyb250LXZpZGVvc19faXRlbSAuZW1iZWQtY29udGFpbmVyIHtcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5mcm9udC12aWRlb3NfX2NhcHRpb24ge1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5mcm9udC12aWRlb3NfX2Fycm93cyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5mcm9udC12aWRlb3NfX2Fycm93cyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi5mcm9udC12aWRlb3NfX2Fycm93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm9yZGVyOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHotaW5kZXg6IDI7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5mcm9udC12aWRlb3NfX2Fycm93IHN2ZyB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICBmaWxsOiAjNUUyMjQ2ICFpbXBvcnRhbnQ7XG59XG4uZnJvbnQtdmlkZW9zX19hcnJvdy0tcHJldiB7XG4gIGxlZnQ6IC0zLjVyZW07XG59XG4uZnJvbnQtdmlkZW9zX19hcnJvdy0tbmV4dCB7XG4gIHJpZ2h0OiAtMy41cmVtO1xufVxuLmZyb250LXZpZGVvc19fYXJyb3c6ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjM7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uZnJvbnQtdmlkZW9zX19wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogMC41cmVtO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4uZnJvbnQtdmlkZW9zX19wYWdlIHtcbiAgYmFja2dyb3VuZDogI0UwRTJFNTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHdpZHRoOiA4cHg7XG4gIGhlaWdodDogOHB4O1xuICBwYWRkaW5nOiAwO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbn1cbi5mcm9udC12aWRlb3NfX3BhZ2UuaXMtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogIzllMWM2MjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xufVxuXG4vKipcbiAqIEZyb250IEhvdGVscyBDb21wb25lbnRcbiAqIFxuICogQSBzesOhbGxvZMOhayBzemVrY2nDsyBzdMOtbHVzYWl0IHRhcnRhbG1henphXG4gKi9cbi5ob3RlbHMtcm93IHtcbiAgcGFkZGluZzogNnJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDlkYmRmO1xufVxuLmhvdGVscy1yb3dfX2hlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG4uaG90ZWxzLXJvd19faGVhZGVyICsgLmdyaWQge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5ob3RlbHMtcm93IC5jYXJvdXNlbC13cmFwcGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTAyMy45OXB4KSB7XG4gIC5ob3RlbHMtcm93IC5jYXJvdXNlbC13cmFwcGVyIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgfVxufVxuLmhvdGVscy1yb3cgLmhvdGVsLWxpbmsgYSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMC41cmVtIDNyZW07XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICNCMkM5MEE7XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xufVxuLmhvdGVscy1yb3cgLmhvdGVsLWxpbmsgYTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1RTIyNDY7XG59XG4uaG90ZWxzLXJvdyAuaG90ZWxzLWNhcm91c2VsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmhvdGVscy1yb3cgLmhvdGVscy1jYXJvdXNlbF9faXRlbSB7XG4gIHBhZGRpbmc6IDJyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMTBweCByZ2JhKDY0LCA2OCwgNzcsIDAuMik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbi5ob3RlbHMtcm93IC5ob3RlbHMtY2Fyb3VzZWxfX2hlYWRlciBwIHtcbiAgZm9udC1zaXplOiAwLjkzMzMzMzMzMzNyZW07XG59XG4uaG90ZWxzLXJvdyAuaG90ZWxzLWNhcm91c2VsX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4wNjY2NjY2NjY3cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbn1cbi5ob3RlbHMtcm93IC5ob3RlbHMtY2Fyb3VzZWxfX2dhbGxlcnkge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gIGdyaWQtZ2FwOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuLmhvdGVscy1yb3cgLmhvdGVscy1jYXJvdXNlbF9fZ2FsbGVyeSBhIHtcbiAgaGVpZ2h0OiAxMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmhvdGVscy1yb3cgLmhvdGVscy1jYXJvdXNlbF9fZ2FsbGVyeSBhIHtcbiAgICBoZWlnaHQ6IDIyMHB4O1xuICB9XG59XG4uaG90ZWxzLXJvdyAuaG90ZWxzLWNhcm91c2VsX19nYWxsZXJ5IGltZyB7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmhvdGVscy1yb3cgLmhvdGVscy1jYXJvdXNlbF9fZ2FsbGVyeSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuaG90ZWxzLXJvdyAuaG90ZWxzLWNhcm91c2VsIC5vd2wtbmF2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG4uaG90ZWxzLXJvdyAuaG90ZWxzLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmhvdGVscy1yb3cgLmhvdGVscy1jYXJvdXNlbCAub3dsLW5hdiAub3dsLXByZXYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0ycmVtO1xufVxuLmhvdGVscy1yb3cgLmhvdGVscy1jYXJvdXNlbCAub3dsLW5hdiAub3dsLW5leHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiAtMnJlbTtcbn1cbi5ob3RlbHMtcm93IC5ob3RlbHMtY2Fyb3VzZWwgLm93bC1zdGFnZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uaG90ZWxzLXJvdyAuaG90ZWxzLWNhcm91c2VsIC5vd2wtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDEgMCBhdXRvO1xufVxuXG4vKipcbiAqIEZyb250IFJlbGF4IENvbXBvbmVudFxuICogXG4gKiBBIHJlbGF4L3BpaGVuw6lzIHN6ZWtjacOzIHN0w61sdXNhaXQgdGFydGFsbWF6emFcbiAqL1xuLnJlbGF4IC5wYXJhZ3JhcGgtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuLnJlbGF4IGgzLnBhcmFncmFwaC10aXRsZSB7XG4gIHBhZGRpbmctbGVmdDogY2FsYygyNXB4ICsgMXJlbSk7XG59XG4ucmVsYXggaDMucGFyYWdyYXBoLXRpdGxlIHNwYW4ge1xuICB3aWR0aDogMjVweDtcbiAgbWluLXdpZHRoOiAyNXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoLTI1cHggLSAxcmVtKTtcbn1cbi5yZWxheCBoMy5wYXJhZ3JhcGgtdGl0bGUgc3BhbiBzdmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogNXB4O1xuICB3aWR0aDogMTAwJTtcbn1cbi5yZWxheCAudGV4dC1jb250ZW50IHtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKDI1cHggKyAxcmVtKTtcbn1cbi5yZWxheCAudGV4dC1jb250ZW50IHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzLjk5cHgpIHtcbiAgLnJlbGF4IC5pbWFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgfVxufVxuLnJlbGF4IC5pbWFnZSBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzLjk5cHgpIHtcbiAgLnJlbGF4IC5pbWFnZSBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAzMHB4IHJnYmEoNjQsIDY4LCA3NywgMC4yKTtcbiAgfVxufVxuXG4uaGVsZm8ge1xuICBwYWRkaW5nOiAzcmVtIDA7XG59XG4uaGVsZm8gLmdyaWQge1xuICBncmlkLWNvbHVtbi1nYXA6IGNhbGMoMzBweCAqIDIpO1xuICAtbXMtZ3JpZC1jb2x1bW5zOiAxZnIgY2FsYygzMHB4ICogMikgMWZyO1xufVxuLmhlbGZvIC5pbWFnZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5oZWxmbyAuaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4uaGVsZm8gaW1nIHtcbiAgd2lkdGg6IDMwMHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IGF1dG87XG59XG4uaGVsZm8gLnRleHQtbWFzayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5oZWxmbyBoMiB7XG4gIGNvbG9yOiAjNTdDOEY1O1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDRyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5oZWxmbyBoMiBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDE1MHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5oZWxmbyBoMiBpbWcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5oZWxmbyBwIHtcbiAgY29sb3I6ICMwMDMwNTc7XG59XG4uaGVsZm8gYSB7XG4gIGNvbG9yOiAjMDAzMDU3O1xuICBmb250LXdlaWdodDogODAwO1xufVxuLmhlbGZvIC50ZXh0LW1hc2s6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAtMXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsICNmZWZlZmUgMCUsIHJnYmEoMjU0LCAyNTQsIDI1NCwgMCkgMTAwJSk7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZS1pbi1vdXQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmhlbGZvIC50ZXh0LW1hc2suaXMtb3Blbjo6YWZ0ZXIge1xuICBvcGFjaXR5OiAwO1xufVxuLmhlbGZvIC5yZXZlYWwtYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgY29sb3I6ICM0MDQ0NEQ7XG4gIHBhZGRpbmc6IDAuM3JlbSAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICM0MDQ0NEQ7XG4gIGZvbnQtc2l6ZTogcmVtLWNhY2woMTIgIWltcG9ydGFudCk7XG4gIG1hcmdpbi10b3A6IDNyZW07XG59XG4uaGVsZm8gLnJldmVhbC1idXR0b24uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKipcbiAqIEZyb250IEJ1ZGFwZXN0IENvbXBvbmVudFxuICogXG4gKiBBIEJ1ZGFwZXN0IHN6ZWtjacOzIHN0w61sdXNhaXQgdGFydGFsbWF6emFcbiAqIGEgZ2Fsw6lyacOhdmFsIGVnecO8dHRcbiAqL1xuLmJ1ZGFwZXN0IHtcbiAgcGFkZGluZzogNnJlbSAwO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG4uYnVkYXBlc3QgcCB7XG4gIGNvbG9yOiAjZmVmZWZlO1xufVxuLmJ1ZGFwZXN0IGltZyB7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjMuOTlweCkge1xuICAuYnVkYXBlc3QgLmdhbGxlcnkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIH1cbn1cbi5idWRhcGVzdCAuaW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjMuOTlweCkge1xuICAuYnVkYXBlc3QgLmltYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGZsZXg6IDAgMSBjYWxjKDUwJSAtIDAuNXJlbSk7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgfVxuICAuYnVkYXBlc3QgLmltYWdlOm50aC1jaGlsZChvZGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIH1cbn1cblxuLyogxbBybGFwb2sgw6lzIGthcGNzb2xhdCAqL1xuLyoqXG4gKiBGcm9udCBDb250YWN0IEZvcm1zIENvbXBvbmVudFxuICogXG4gKiDFsHJsYXAga29tcG9uZW5zZWsgc3TDrWx1c2FpIGEgZsWRb2xkYWxob3pcbiAqL1xuLmZyb250cGFnZS1mb3JtIHtcbiAgcGFkZGluZzogMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjZDQzAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5mcm9udHBhZ2UtZm9ybSB7XG4gICAgcGFkZGluZzogMXJlbSAwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5mcm9udHBhZ2UtZm9ybSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNCNkNDMDA7XG4gIH1cbn1cbi5mcm9udHBhZ2UtZm9ybSAucm93IHtcbiAgbWF4LXdpZHRoOiA2Mi41cmVtO1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi5mcm9udHBhZ2UtZm9ybSBoMiB7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTNweDtcbn1cbi5mcm9udHBhZ2UtZm9ybSBoMyB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBjb2xvcjogIzQwNDQ0RDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAuZnJvbnRwYWdlLWZvcm0gaDMge1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICB9XG59XG4uZnJvbnRwYWdlLWZvcm0gLm1lZGl1bS04IHtcbiAgcGFkZGluZzogMDtcbn1cbi5mcm9udHBhZ2UtZm9ybSAuYnV0dG9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgcGFkZGluZzogMC44ZW0gMWVtO1xuICBmb250LXdlaWdodDogODAwO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzllMWM2MjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzllMWM2MjtcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuZnJvbnRwYWdlLWZvcm0gLmJ1dHRvbiB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMC41cmVtKTtcbiAgICBtYXJnaW46IGluaXRpYWw7XG4gIH1cbn1cbi5mcm9udHBhZ2UtZm9ybSAuYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVFMjI0NjtcbiAgYm9yZGVyLWNvbG9yOiAjNUUyMjQ2O1xuICBjb2xvcjogI2ZlZmVmZTtcbn1cblxuLmZyb250LXBhZ2UtY29udGFjdCB7XG4gIHBhZGRpbmc6IDFyZW0gMCAycmVtIDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuZnJvbnQtcGFnZS1jb250YWN0IHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5mcm9udC1wYWdlLWNvbnRhY3QgLmZpZWxkcy13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbn1cbi5mcm9udC1wYWdlLWNvbnRhY3QgLmZvcm0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMHZ3O1xuICBtYXJnaW4tbGVmdDogLTJyZW07XG4gIHBhZGRpbmc6IDJyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNCNkNDMDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5mcm9udC1wYWdlLWNvbnRhY3QgLmZvcm0ge1xuICAgIHdpZHRoOiA4MCU7XG4gICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgei1pbmRleDogMjtcbiAgfVxufVxuLmZyb250LXBhZ2UtY29udGFjdCAucGFyYWdyYXBoLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cbi5mcm9udC1wYWdlLWNvbnRhY3QgdGV4dGFyZWEge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA5NHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAuOGVtIDFlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmZyb250LXBhZ2UtY29udGFjdCB0ZXh0YXJlYSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICB9XG59XG4uZnJvbnQtcGFnZS1jb250YWN0IHRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjNkQ3NTg0O1xufVxuLmZyb250LXBhZ2UtY29udGFjdCBsYWJlbCxcbi5mcm9udC1wYWdlLWNvbnRhY3QgaW5wdXRbdHlwZT10ZXh0XSxcbi5mcm9udC1wYWdlLWNvbnRhY3QgaW5wdXRbdHlwZT1lbWFpbF0sXG4uZnJvbnQtcGFnZS1jb250YWN0IGlucHV0W3R5cGU9dGVsXSB7XG4gIGhlaWdodDogdW5zZXQ7XG4gIHBhZGRpbmc6IDAuOGVtIDFlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBjb2xvcjogIzQwNDQ0ZDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmZyb250LXBhZ2UtY29udGFjdCBsYWJlbCxcbi5mcm9udC1wYWdlLWNvbnRhY3QgaW5wdXRbdHlwZT10ZXh0XSxcbi5mcm9udC1wYWdlLWNvbnRhY3QgaW5wdXRbdHlwZT1lbWFpbF0sXG4uZnJvbnQtcGFnZS1jb250YWN0IGlucHV0W3R5cGU9dGVsXSB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMC41cmVtKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4uZnJvbnQtcGFnZS1jb250YWN0IGxhYmVsOjpwbGFjZWhvbGRlcixcbi5mcm9udC1wYWdlLWNvbnRhY3QgaW5wdXRbdHlwZT10ZXh0XTo6cGxhY2Vob2xkZXIsXG4uZnJvbnQtcGFnZS1jb250YWN0IGlucHV0W3R5cGU9ZW1haWxdOjpwbGFjZWhvbGRlcixcbi5mcm9udC1wYWdlLWNvbnRhY3QgaW5wdXRbdHlwZT10ZWxdOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjNkQ3NTg0O1xufVxuLmZyb250LXBhZ2UtY29udGFjdCBsYWJlbDpmb2N1cywgLmZyb250LXBhZ2UtY29udGFjdCBsYWJlbDpob3Zlcixcbi5mcm9udC1wYWdlLWNvbnRhY3QgaW5wdXRbdHlwZT10ZXh0XTpmb2N1cyxcbi5mcm9udC1wYWdlLWNvbnRhY3QgaW5wdXRbdHlwZT10ZXh0XTpob3Zlcixcbi5mcm9udC1wYWdlLWNvbnRhY3QgaW5wdXRbdHlwZT1lbWFpbF06Zm9jdXMsXG4uZnJvbnQtcGFnZS1jb250YWN0IGlucHV0W3R5cGU9ZW1haWxdOmhvdmVyLFxuLmZyb250LXBhZ2UtY29udGFjdCBpbnB1dFt0eXBlPXRlbF06Zm9jdXMsXG4uZnJvbnQtcGFnZS1jb250YWN0IGlucHV0W3R5cGU9dGVsXTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG4uZnJvbnQtcGFnZS1jb250YWN0IC5nYWxsZXJ5LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDIzLjk5cHgpIHtcbiAgLmZyb250LXBhZ2UtY29udGFjdCAuZ2FsbGVyeS1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gIH1cbn1cbi5mcm9udC1wYWdlLWNvbnRhY3QgLmdhbGxlcnktY29udGFpbmVyIC5nYWxsZXJ5LWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleDogMSAxIGNhbGMoMzMuMzMlIC0gMXJlbSk7XG4gIG1hcmdpbjogMCAwLjVyZW0gMXJlbTtcbn1cbi5mcm9udC1wYWdlLWNvbnRhY3QgLmdhbGxlcnktY29udGFpbmVyIC5nYWxsZXJ5LWl0ZW0gaW1nIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGJvcmRlci1yYWRpdXM6IDE1cHg7XG59XG4uZnJvbnQtcGFnZS1jb250YWN0IHAge1xuICBjb2xvcjogIzVFMjI0Njtcbn1cbi5mcm9udC1wYWdlLWNvbnRhY3QgaDQge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBjb2xvcjogIzllMWM2MjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmZyb250LXBhZ2UtZm9vdGVyLWNvbnRhY3Qge1xuICBwYWRkaW5nOiAzcmVtIDAgMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5mcm9udC1wYWdlLWZvb3Rlci1jb250YWN0IHtcbiAgICBwYWRkaW5nOiAzcmVtIDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmZyb250LXBhZ2UtZm9vdGVyLWNvbnRhY3QgLmZpZWxkcy13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbn1cbi5mcm9udC1wYWdlLWZvb3Rlci1jb250YWN0IC5mb3JtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxMDB2dztcbiAgbWFyZ2luLWxlZnQ6IC0ycmVtO1xuICBwYWRkaW5nOiAycmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQjZDQzAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuZnJvbnQtcGFnZS1mb290ZXItY29udGFjdCAuZm9ybSB7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBtYXJnaW46IDAgMCAwIGF1dG87XG4gICAgcGFkZGluZzogMCA2cmVtIDAgMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB6LWluZGV4OiAyO1xuICB9XG4gIC5mcm9udC1wYWdlLWZvb3Rlci1jb250YWN0IC5mb3JtOjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRvcDogLTZyZW07XG4gICAgbGVmdDogLThyZW07XG4gICAgcmlnaHQ6IC0xcmVtO1xuICAgIGJvdHRvbTogLTdyZW07XG4gICAgei1pbmRleDogLTE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0I2Q0MwMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoN2RlZyk7XG4gIH1cbn1cbi5mcm9udC1wYWdlLWZvb3Rlci1jb250YWN0IC5wYXJhZ3JhcGgtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuLmZyb250LXBhZ2UtZm9vdGVyLWNvbnRhY3QgdGV4dGFyZWEge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA5NHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAuOGVtIDFlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmZyb250LXBhZ2UtZm9vdGVyLWNvbnRhY3QgdGV4dGFyZWEge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcbiAgfVxufVxuLmZyb250LXBhZ2UtZm9vdGVyLWNvbnRhY3QgdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM2RDc1ODQ7XG59XG4uZnJvbnQtcGFnZS1mb290ZXItY29udGFjdCBsYWJlbCxcbi5mcm9udC1wYWdlLWZvb3Rlci1jb250YWN0IGlucHV0W3R5cGU9dGV4dF0sXG4uZnJvbnQtcGFnZS1mb290ZXItY29udGFjdCBpbnB1dFt0eXBlPWVtYWlsXSxcbi5mcm9udC1wYWdlLWZvb3Rlci1jb250YWN0IGlucHV0W3R5cGU9dGVsXSB7XG4gIGhlaWdodDogdW5zZXQ7XG4gIHBhZGRpbmc6IDAuOGVtIDFlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBjb2xvcjogIzQwNDQ0ZDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmZyb250LXBhZ2UtZm9vdGVyLWNvbnRhY3QgbGFiZWwsXG4uZnJvbnQtcGFnZS1mb290ZXItY29udGFjdCBpbnB1dFt0eXBlPXRleHRdLFxuLmZyb250LXBhZ2UtZm9vdGVyLWNvbnRhY3QgaW5wdXRbdHlwZT1lbWFpbF0sXG4uZnJvbnQtcGFnZS1mb290ZXItY29udGFjdCBpbnB1dFt0eXBlPXRlbF0ge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDAuNXJlbSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgfVxufVxuLmZyb250LXBhZ2UtZm9vdGVyLWNvbnRhY3QgbGFiZWw6OnBsYWNlaG9sZGVyLFxuLmZyb250LXBhZ2UtZm9vdGVyLWNvbnRhY3QgaW5wdXRbdHlwZT10ZXh0XTo6cGxhY2Vob2xkZXIsXG4uZnJvbnQtcGFnZS1mb290ZXItY29udGFjdCBpbnB1dFt0eXBlPWVtYWlsXTo6cGxhY2Vob2xkZXIsXG4uZnJvbnQtcGFnZS1mb290ZXItY29udGFjdCBpbnB1dFt0eXBlPXRlbF06OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM2RDc1ODQ7XG59XG4uZnJvbnQtcGFnZS1mb290ZXItY29udGFjdCBsYWJlbDpmb2N1cywgLmZyb250LXBhZ2UtZm9vdGVyLWNvbnRhY3QgbGFiZWw6aG92ZXIsXG4uZnJvbnQtcGFnZS1mb290ZXItY29udGFjdCBpbnB1dFt0eXBlPXRleHRdOmZvY3VzLFxuLmZyb250LXBhZ2UtZm9vdGVyLWNvbnRhY3QgaW5wdXRbdHlwZT10ZXh0XTpob3Zlcixcbi5mcm9udC1wYWdlLWZvb3Rlci1jb250YWN0IGlucHV0W3R5cGU9ZW1haWxdOmZvY3VzLFxuLmZyb250LXBhZ2UtZm9vdGVyLWNvbnRhY3QgaW5wdXRbdHlwZT1lbWFpbF06aG92ZXIsXG4uZnJvbnQtcGFnZS1mb290ZXItY29udGFjdCBpbnB1dFt0eXBlPXRlbF06Zm9jdXMsXG4uZnJvbnQtcGFnZS1mb290ZXItY29udGFjdCBpbnB1dFt0eXBlPXRlbF06aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLmZyb250LXBhZ2UtZm9vdGVyLWNvbnRhY3QgLmdhbGxlcnktY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjMuOTlweCkge1xuICAuZnJvbnQtcGFnZS1mb290ZXItY29udGFjdCAuZ2FsbGVyeS1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gIH1cbn1cbi5mcm9udC1wYWdlLWZvb3Rlci1jb250YWN0IC5nYWxsZXJ5LWNvbnRhaW5lciAuZ2FsbGVyeS1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXg6IDEgMSBjYWxjKDMzLjMzJSAtIDFyZW0pO1xuICBtYXJnaW46IDAgMC41cmVtIDFyZW07XG59XG4uZnJvbnQtcGFnZS1mb290ZXItY29udGFjdCAuZ2FsbGVyeS1jb250YWluZXIgLmdhbGxlcnktaXRlbSBpbWcge1xuICBmbG9hdDogbGVmdDtcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcbn1cbi5mcm9udC1wYWdlLWZvb3Rlci1jb250YWN0IHAge1xuICBjb2xvcjogIzVFMjI0Njtcbn1cbi5mcm9udC1wYWdlLWZvb3Rlci1jb250YWN0IGg0IHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgY29sb3I6ICM5ZTFjNjI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8qIEzDoWJsw6ljIMOpcyB0w6lya8OpcCAqL1xuLyoqXG4gKiBGcm9udCBGb290ZXIgYW5kIE1hcCBDb21wb25lbnRcbiAqIFxuICogQSBsw6FibMOpYyDDqXMgdMOpcmvDqXAgc3TDrWx1c2FpdCB0YXJ0YWxtYXp6YVxuICovXG4uZm9vdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDtcbn1cblxuI21hcCB7XG4gIGhlaWdodDogMzB2aDtcbn1cblxuLyogSXR0IGvDtnZldGtlem5layBhIGdsb2LDoWxpcyBmcm9udCBzdMOtbHVzb2ssIGhhIHN6w7xrc8OpZ2VzZWsgKi9cbi8qIE1pbmRlbiBrb21wb25lbnMtc3BlY2lmaWt1cyBzdMOtbHVzdCBhIG1lZ2ZlbGVsxZEgZnJvbnQvIG1hcHBhIGtvbXBvbmVuc2bDoWpsamFpYmEga2VsbCDDoXRtb3pnYXRuaSAqLyIsIi8qKlxuICogRnJvbnQgU3R5bGVzXG4gKiBcbiAqIEV6IGEgZsOhamwgaW1wb3J0w6FsamEgYXogw7Zzc3plcyBmcm9udCBvbGRhbGkga29tcG9uZW5zdC5cbiAqIEEga29tcG9uZW5zZWsgYSAvZnJvbnQgbWFwcMOhYmFuIHRhbMOhbGhhdMOzayBrw7xsw7ZuIGbDoWpsb2tiYSBzemVydmV6dmVcbiAqIGEgam9iYiBrYXJiYW50YXJ0aGF0w7Nzw6FnIMOpcyBmZWpsZXN6dGhldMWRc8OpZyDDqXJkZWvDqWJlbi5cbiAqIFxuICogRmVqbGVzenTFkTogTMOhc3psw7MgTGFwb3NcbiAqIFV0b2xzw7MgZnJpc3PDrXTDqXM6IDIwMjUuIG3DoWp1cyA4LlxuICovXG5cbi8vIENTUyBGUkFNRVdPUktTXG5AaW1wb3J0IFwic3BsaWRlLm1pblwiO1xuXG5cbi8vIEJFw4FMTMONVMOBU09LIMOJUyBBTEFQIFNUw41MVVNPSyAtIFbDoWx0b3rDs2sgZWzFkWJiIHTDtmx0xZFkbmVrIGJlXG5AaW1wb3J0IFwiZ2xvYmFsL3ZhcmlhYmxlc1wiOyAvLyBBeiDDumoga8O2enBvbnRpIHbDoWx0b3rDs2sgZsOhamxcbkBpbXBvcnQgXCJnbG9iYWwvY29sb3JzXCI7XG5cbkBpbXBvcnQgXCJnbG9iYWwvbWFkZW50YS1zZXR0aW5nc1wiO1xuXG5AaW1wb3J0IFwibWl4aW5zL2JyZWFrcG9pbnRzXCI7XG5AaW1wb3J0IFwibWl4aW5zL21peGluc1wiO1xuLy8gQGltcG9ydCBcImdsb2JhbC9zZXR0aW5nc1wiO1xuLy8gQGltcG9ydCBcImdsb2JhbC9mb3VuZGF0aW9uLWNvbXBvbmVudHNcIjtcblxuXG4vKiBGcm9udCBrb21wb25lbnNlayBpbXBvcnRqYSAqL1xuQGltcG9ydCBcImZyb250L2luZGV4XCI7XG5cbi8qIEl0dCBrw7Z2ZXRrZXpuZWsgYSBnbG9iw6FsaXMgZnJvbnQgc3TDrWx1c29rLCBoYSBzesO8a3PDqWdlc2VrICovXG4vKiBNaW5kZW4ga29tcG9uZW5zLXNwZWNpZmlrdXMgc3TDrWx1c3QgYSBtZWdmZWxlbMWRIGZyb250LyBtYXBwYSBrb21wb25lbnNmw6FqbGphaWJhIGtlbGwgw6F0bW96Z2F0bmkgKi9cbiIsIi5zcGxpZGVfX2NvbnRhaW5lcntib3gtc2l6aW5nOmJvcmRlci1ib3g7cG9zaXRpb246cmVsYXRpdmV9LnNwbGlkZV9fbGlzdHtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtkaXNwbGF5Oi1tcy1mbGV4Ym94O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6MTAwJTttYXJnaW46MCFpbXBvcnRhbnQ7cGFkZGluZzowIWltcG9ydGFudH0uc3BsaWRlLmlzLWluaXRpYWxpemVkOm5vdCguaXMtYWN0aXZlKSAuc3BsaWRlX19saXN0e2Rpc3BsYXk6YmxvY2t9LnNwbGlkZV9fcGFnaW5hdGlvbnstbXMtZmxleC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6LW1zLWZsZXhib3g7ZGlzcGxheTpmbGV4Oy1tcy1mbGV4LXdyYXA6d3JhcDtmbGV4LXdyYXA6d3JhcDstbXMtZmxleC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO21hcmdpbjowO3BvaW50ZXItZXZlbnRzOm5vbmV9LnNwbGlkZV9fcGFnaW5hdGlvbiBsaXtkaXNwbGF5OmlubGluZS1ibG9jaztsaW5lLWhlaWdodDoxO2xpc3Qtc3R5bGUtdHlwZTpub25lO21hcmdpbjowO3BvaW50ZXItZXZlbnRzOmF1dG99LnNwbGlkZTpub3QoLmlzLW92ZXJmbG93KSAuc3BsaWRlX19wYWdpbmF0aW9ue2Rpc3BsYXk6bm9uZX0uc3BsaWRlX19wcm9ncmVzc19fYmFye3dpZHRoOjB9LnNwbGlkZXtwb3NpdGlvbjpyZWxhdGl2ZTt2aXNpYmlsaXR5OmhpZGRlbn0uc3BsaWRlLmlzLWluaXRpYWxpemVkLC5zcGxpZGUuaXMtcmVuZGVyZWR7dmlzaWJpbGl0eTp2aXNpYmxlfS5zcGxpZGVfX3NsaWRle2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JveC1zaXppbmc6Ym9yZGVyLWJveDstbXMtZmxleC1uZWdhdGl2ZTowO2ZsZXgtc2hyaW5rOjA7bGlzdC1zdHlsZS10eXBlOm5vbmUhaW1wb3J0YW50O21hcmdpbjowO3Bvc2l0aW9uOnJlbGF0aXZlfS5zcGxpZGVfX3NsaWRlIGltZ3t2ZXJ0aWNhbC1hbGlnbjpib3R0b219LnNwbGlkZV9fc3Bpbm5lcnthbmltYXRpb246c3BsaWRlLWxvYWRpbmcgMXMgbGluZWFyIGluZmluaXRlO2JvcmRlcjoycHggc29saWQgIzk5OTtib3JkZXItbGVmdC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjUwJTtib3R0b206MDtjb250YWluOnN0cmljdDtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6MjBweDtsZWZ0OjA7bWFyZ2luOmF1dG87cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDt3aWR0aDoyMHB4fS5zcGxpZGVfX3Nye2NsaXA6cmVjdCgwIDAgMCAwKTtib3JkZXI6MDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4fS5zcGxpZGVfX3RvZ2dsZS5pcy1hY3RpdmUgLnNwbGlkZV9fdG9nZ2xlX19wbGF5LC5zcGxpZGVfX3RvZ2dsZV9fcGF1c2V7ZGlzcGxheTpub25lfS5zcGxpZGVfX3RvZ2dsZS5pcy1hY3RpdmUgLnNwbGlkZV9fdG9nZ2xlX19wYXVzZXtkaXNwbGF5OmlubGluZX0uc3BsaWRlX190cmFja3tvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDowfUBrZXlmcmFtZXMgc3BsaWRlLWxvYWRpbmd7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwKX10b3t0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19LnNwbGlkZV9fdHJhY2stLWRyYWdnYWJsZXstd2Via2l0LXRvdWNoLWNhbGxvdXQ6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0uc3BsaWRlX190cmFjay0tZmFkZT4uc3BsaWRlX19saXN0Pi5zcGxpZGVfX3NsaWRle21hcmdpbjowIWltcG9ydGFudDtvcGFjaXR5OjA7ei1pbmRleDowfS5zcGxpZGVfX3RyYWNrLS1mYWRlPi5zcGxpZGVfX2xpc3Q+LnNwbGlkZV9fc2xpZGUuaXMtYWN0aXZle29wYWNpdHk6MTt6LWluZGV4OjF9LnNwbGlkZS0tcnRse2RpcmVjdGlvbjpydGx9LnNwbGlkZV9fdHJhY2stLXR0Yj4uc3BsaWRlX19saXN0e2Rpc3BsYXk6YmxvY2t9LnNwbGlkZV9fYXJyb3d7LW1zLWZsZXgtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtiYWNrZ3JvdW5kOiNjY2M7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czo1MCU7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7aGVpZ2h0OjJlbTstbXMtZmxleC1wYWNrOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO29wYWNpdHk6Ljc7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7d2lkdGg6MmVtO3otaW5kZXg6MX0uc3BsaWRlX19hcnJvdyBzdmd7ZmlsbDojMDAwO2hlaWdodDoxLjJlbTt3aWR0aDoxLjJlbX0uc3BsaWRlX19hcnJvdzpob3Zlcjpub3QoOmRpc2FibGVkKXtvcGFjaXR5Oi45fS5zcGxpZGVfX2Fycm93OmRpc2FibGVke29wYWNpdHk6LjN9LnNwbGlkZV9fYXJyb3c6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOjNweCBzb2xpZCAjMGJmO291dGxpbmUtb2Zmc2V0OjNweH0uc3BsaWRlX19hcnJvdy0tcHJldntsZWZ0OjFlbX0uc3BsaWRlX19hcnJvdy0tcHJldiBzdmd7dHJhbnNmb3JtOnNjYWxlWCgtMSl9LnNwbGlkZV9fYXJyb3ctLW5leHR7cmlnaHQ6MWVtfS5zcGxpZGUuaXMtZm9jdXMtaW4gLnNwbGlkZV9fYXJyb3c6Zm9jdXN7b3V0bGluZTozcHggc29saWQgIzBiZjtvdXRsaW5lLW9mZnNldDozcHh9LnNwbGlkZV9fcGFnaW5hdGlvbntib3R0b206LjVlbTtsZWZ0OjA7cGFkZGluZzowIDFlbTtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3otaW5kZXg6MX0uc3BsaWRlX19wYWdpbmF0aW9uX19wYWdle2JhY2tncm91bmQ6I2NjYztib3JkZXI6MDtib3JkZXItcmFkaXVzOjUwJTtkaXNwbGF5OmlubGluZS1ibG9jaztoZWlnaHQ6OHB4O21hcmdpbjozcHg7b3BhY2l0eTouNztwYWRkaW5nOjA7cG9zaXRpb246cmVsYXRpdmU7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjJzIGxpbmVhcjt3aWR0aDo4cHh9LnNwbGlkZV9fcGFnaW5hdGlvbl9fcGFnZS5pcy1hY3RpdmV7YmFja2dyb3VuZDojZmZmO3RyYW5zZm9ybTpzY2FsZSgxLjQpO3otaW5kZXg6MX0uc3BsaWRlX19wYWdpbmF0aW9uX19wYWdlOmhvdmVye2N1cnNvcjpwb2ludGVyO29wYWNpdHk6Ljl9LnNwbGlkZV9fcGFnaW5hdGlvbl9fcGFnZTpmb2N1cy12aXNpYmxle291dGxpbmU6M3B4IHNvbGlkICMwYmY7b3V0bGluZS1vZmZzZXQ6M3B4fS5zcGxpZGUuaXMtZm9jdXMtaW4gLnNwbGlkZV9fcGFnaW5hdGlvbl9fcGFnZTpmb2N1c3tvdXRsaW5lOjNweCBzb2xpZCAjMGJmO291dGxpbmUtb2Zmc2V0OjNweH0uc3BsaWRlX19wcm9ncmVzc19fYmFye2JhY2tncm91bmQ6I2NjYztoZWlnaHQ6M3B4fS5zcGxpZGVfX3NsaWRley13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjpyZ2JhKDAsMCwwLDApfS5zcGxpZGVfX3NsaWRlOmZvY3Vze291dGxpbmU6MH1Ac3VwcG9ydHMob3V0bGluZS1vZmZzZXQ6LTNweCl7LnNwbGlkZV9fc2xpZGU6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lOjNweCBzb2xpZCAjMGJmO291dGxpbmUtb2Zmc2V0Oi0zcHh9fUBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDpub25lKXsuc3BsaWRlX19zbGlkZTpmb2N1cy12aXNpYmxle2JvcmRlcjozcHggc29saWQgIzBiZn19QHN1cHBvcnRzKG91dGxpbmUtb2Zmc2V0Oi0zcHgpey5zcGxpZGUuaXMtZm9jdXMtaW4gLnNwbGlkZV9fc2xpZGU6Zm9jdXN7b3V0bGluZTozcHggc29saWQgIzBiZjtvdXRsaW5lLW9mZnNldDotM3B4fX1AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6bm9uZSl7LnNwbGlkZS5pcy1mb2N1cy1pbiAuc3BsaWRlX19zbGlkZTpmb2N1c3tib3JkZXI6M3B4IHNvbGlkICMwYmZ9LnNwbGlkZS5pcy1mb2N1cy1pbiAuc3BsaWRlX190cmFjaz4uc3BsaWRlX19saXN0Pi5zcGxpZGVfX3NsaWRlOmZvY3Vze2JvcmRlci1jb2xvcjojMGJmfX0uc3BsaWRlX190b2dnbGV7Y3Vyc29yOnBvaW50ZXJ9LnNwbGlkZV9fdG9nZ2xlOmZvY3VzLXZpc2libGV7b3V0bGluZTozcHggc29saWQgIzBiZjtvdXRsaW5lLW9mZnNldDozcHh9LnNwbGlkZS5pcy1mb2N1cy1pbiAuc3BsaWRlX190b2dnbGU6Zm9jdXN7b3V0bGluZTozcHggc29saWQgIzBiZjtvdXRsaW5lLW9mZnNldDozcHh9LnNwbGlkZV9fdHJhY2stLW5hdj4uc3BsaWRlX19saXN0Pi5zcGxpZGVfX3NsaWRle2JvcmRlcjozcHggc29saWQgdHJhbnNwYXJlbnQ7Y3Vyc29yOnBvaW50ZXJ9LnNwbGlkZV9fdHJhY2stLW5hdj4uc3BsaWRlX19saXN0Pi5zcGxpZGVfX3NsaWRlLmlzLWFjdGl2ZXtib3JkZXI6M3B4IHNvbGlkICMwMDB9LnNwbGlkZV9fYXJyb3dzLS1ydGwgLnNwbGlkZV9fYXJyb3ctLXByZXZ7bGVmdDphdXRvO3JpZ2h0OjFlbX0uc3BsaWRlX19hcnJvd3MtLXJ0bCAuc3BsaWRlX19hcnJvdy0tcHJldiBzdmd7dHJhbnNmb3JtOnNjYWxlWCgxKX0uc3BsaWRlX19hcnJvd3MtLXJ0bCAuc3BsaWRlX19hcnJvdy0tbmV4dHtsZWZ0OjFlbTtyaWdodDphdXRvfS5zcGxpZGVfX2Fycm93cy0tcnRsIC5zcGxpZGVfX2Fycm93LS1uZXh0IHN2Z3t0cmFuc2Zvcm06c2NhbGVYKC0xKX0uc3BsaWRlX19hcnJvd3MtLXR0YiAuc3BsaWRlX19hcnJvd3tsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUpfS5zcGxpZGVfX2Fycm93cy0tdHRiIC5zcGxpZGVfX2Fycm93LS1wcmV2e3RvcDoxZW19LnNwbGlkZV9fYXJyb3dzLS10dGIgLnNwbGlkZV9fYXJyb3ctLXByZXYgc3Zne3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKX0uc3BsaWRlX19hcnJvd3MtLXR0YiAuc3BsaWRlX19hcnJvdy0tbmV4dHtib3R0b206MWVtO3RvcDphdXRvfS5zcGxpZGVfX2Fycm93cy0tdHRiIC5zcGxpZGVfX2Fycm93LS1uZXh0IHN2Z3t0cmFuc2Zvcm06cm90YXRlKDkwZGVnKX0uc3BsaWRlX19wYWdpbmF0aW9uLS10dGJ7Ym90dG9tOjA7ZGlzcGxheTotbXMtZmxleGJveDtkaXNwbGF5OmZsZXg7LW1zLWZsZXgtZGlyZWN0aW9uOmNvbHVtbjtmbGV4LWRpcmVjdGlvbjpjb2x1bW47bGVmdDphdXRvO3BhZGRpbmc6MWVtIDA7cmlnaHQ6LjVlbTt0b3A6MH0iLCIvKipcbiAqIEZyb250IENvbXBvbmVudHMgSW5kZXggRmlsZVxuICogXG4gKiBFeiBhIGbDoWpsIGltcG9ydMOhbGphIGF6IMO2c3N6ZXMgZnJvbnQga29tcG9uZW5zdFxuICogQSBrw7ZubnllYmIga2FyYmFudGFydGhhdMOzc8OhZyDDqXMgZmVqbGVzenTDqXMgw6lyZGVrw6liZW4uXG4gKi9cblxuLyogQWxhcHZldMWRIGtvbXBvbmVuc2VrICovXG5AaW1wb3J0IFwiaGVhZGVyXCI7XG5AaW1wb3J0IFwicm90YXRvclwiO1xuQGltcG9ydCBcInNsaWRlclwiO1xuXG4vKiBTemVrY2nDsyBrb21wb25lbnNlayAqL1xuQGltcG9ydCBcInByZWZhY2VcIjtcbkBpbXBvcnQgXCJhYm91dFwiO1xuQGltcG9ydCBcImhvbGlkYXlcIjtcbkBpbXBvcnQgXCJ0cmVhdG1lbnRzXCI7XG5AaW1wb3J0IFwibGVhZFwiO1xuQGltcG9ydCBcIm9mZmVyc1wiO1xuQGltcG9ydCBcInByaWNlc1wiO1xuQGltcG9ydCBcInJldmlld3NcIjtcbkBpbXBvcnQgXCJkb2N0b3JzXCI7XG5AaW1wb3J0IFwidmlkZW9cIjtcbkBpbXBvcnQgXCJmcm9udC12aWRlb3NcIjtcbkBpbXBvcnQgXCJob3RlbHNcIjtcbkBpbXBvcnQgXCJyZWxheFwiO1xuQGltcG9ydCBcImhlbGZvXCI7XG5AaW1wb3J0IFwiYnVkYXBlc3RcIjtcblxuLyogxbBybGFwb2sgw6lzIGthcGNzb2xhdCAqL1xuQGltcG9ydCBcImNvbnRhY3RcIjtcblxuLyogTMOhYmzDqWMgw6lzIHTDqXJrw6lwICovXG5AaW1wb3J0IFwiZm9vdGVyLW1hcFwiOyIsIi8qKlxuICogRnJvbnQgSGVhZGVyIENvbXBvbmVudFxuICogXG4gKiBUYXJ0YWxtYXp6YSBhIGZlamzDqWMgc3TDrWx1c2FpdCxcbiAqIGEgZGVudGFsd2Vlay1oZWFkZXIgb3N6dMOhbHkgw6lzIGthcGNzb2zDs2TDsyBlbGVtZWtcbiAqL1xuXG4uZGVudGFsd2Vlay1oZWFkZXIge1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgLmxvZ28ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDQwMCk7XG4gIH1cbn0iLCIvKipcbiAqIEZyb250IFJvdGF0b3IgQ29tcG9uZW50XG4gKiBcbiAqIEEgbWlrcm9zaXRlIGZvcmfDsyBlbGVtw6luZWsgc3TDrWx1c2FpLFxuICogb3dsIGNhcm91c2VsIG5hdmlnw6FjacOzayDDqXMgcG9udG9rXG4gKi9cblxuLnJvdGF0b3ItbWlrcm9zaXRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gIC5zbGlkZXJuYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICB9XG5cbiAgLmJhZGdlcyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTByZW07XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogNDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uO1xuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMjYwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgfVxuICB9XG5cbiAgLm93bC1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDB2aDtcblxuICAgICYgPiBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB9XG5cbiAgICAuaXRlbSB7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXItaW1hZ2UtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICBpbWcge1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5vd2wtbmF2IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNDtcbiAgICB0b3A6IDMwcHg7XG4gICAgbGVmdDogNTBweDtcblxuICAgIGksXG4gICAgaTphZnRlcixcbiAgICBpOmJlZm9yZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuICAub3dsLWNhcm91c2VsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAub3dsLWRvdHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGluaXRpYWw7XG4gICAgei1pbmRleDogMTA7XG4gICAgYm90dG9tOiAxcmVtO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBib3R0b206IDEwcmVtO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgfVxuXG4gICAgLm93bC1kb3Qge1xuICAgICAgJi5hY3RpdmUgc3BhbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1wdXJwbGUgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1wdXJwbGUtbGlnaHQgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIvLyBGb3VuZGF0aW9uLXN6ZXLFsSBicmVha3BvaW50cyBtaXhpbiByZW5kc3plclxuXG4vLy8gRWxsZW7FkXJ6aSwgaG9neSBhIG1lZ2Fkb3R0IMOpcnTDqWsgZWd5IGJyZWFrcG9pbnRuYWsgZmVsZWwtZSBtZWdcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHZhbHVlIC0gRWxsZW7FkXJpemVuZMWRIG7DqXZcbi8vLyBAcmV0dXJucyB7Qm9vbGVhbn0gdHJ1ZSwgaGEgYSBtZWdhZG90dCDDqXJ0w6lrIGVneSBicmVha3BvaW50IG5ldmVcbkBmdW5jdGlvbiBpcy1icmVha3BvaW50KCR2YWx1ZSkge1xuICBAcmV0dXJuIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKTtcbn1cblxuLy8vIE1heGltdW0gc3rDqWxlc3PDqWcgbGVrw6lyZGV6w6lzZSBlZ3kgYWRvdHQgYnJlYWtwb2ludGhvelxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIEJyZWFrcG9pbnQgbsOpdlxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgYnJlYWtwb2ludCBtYXhpbcOhbGlzIHN6w6lsZXNzw6lnZVxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LWdldCgkbmV4dCkgLSAwLjAxcHgsIG51bGwpO1xufVxuXG4vLy8gS8O2dmV0a2V6xZEgYnJlYWtwb2ludCBuZXbDqW5layBsZWvDqXJkZXrDqXNlXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gQnJlYWtwb2ludCBuw6l2XG4vLy8gQHJldHVybnMge1N0cmluZ30gS8O2dmV0a2V6xZEgYnJlYWtwb2ludCBuZXZlXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lKSB7XG4gICRuYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKTtcbiAgJG46IGluZGV4KCRuYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuICE9IG51bGwgYW5kICRuIDwgbGVuZ3RoKCRuYW1lcyksIG50aCgkbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLy8gQnJlYWtwb2ludCDDqXJ0w6lrIGxla8OpcmRlesOpc2Vcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBCcmVha3BvaW50IG7DqXZcbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBCcmVha3BvaW50IMOpcnTDqWtcbkBmdW5jdGlvbiBicmVha3BvaW50LWdldCgkbmFtZSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbmFtZSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yICdCcmVha3BvaW50IG5hbWVkIGAjeyRuYW1lfWAgbmVtIGzDqXRlemlrLic7XG4gIH1cbn1cblxuLy8vIFVuaXZlcnrDoWxpcyBicmVha3BvaW50IG1peGluLCBhbWkgYSBwYXJhbcOpdGVyZWsgYWxhcGrDoW4ga8O8bMO2bmLDtnrFkSBtZWRpYSBxdWVyeS1rZXQgZ2VuZXLDoWxcbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbsOpdiDDqXMgb3BjaW9uw6FsaXNhbiBkb3duIHZhZ3kgb25seVxuLy8vIEBjb250ZW50IEEgbWVkaWEgcXVlcnktbiBiZWzDvGxpIHRhcnRhbG9tXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgLy8gRWxzxZEgcGFyYW3DqXRlciBtaW5kaWcgYSBicmVha3BvaW50IG5ldmVcbiAgJG5hbWU6IG50aCgkdmFsdWUsIDEpO1xuICAkZGlyZWN0aW9uOiBudWxsO1xuICBcbiAgLy8gRWxsZW7FkXJpenrDvGssIHZhbi1lIG3DoXNvZGlrIHBhcmFtw6l0ZXJcbiAgQGlmIGxlbmd0aCgkdmFsdWUpID4gMSB7XG4gICAgJGRpcmVjdGlvbjogbnRoKCR2YWx1ZSwgMik7XG4gIH1cbiAgXG4gIC8vIFNwZWNpw6FsaXMgZXNldDogaGEgYSBoYXJtYWRpayBwYXJhbcOpdGVyIGlzIGzDqXRlemlrLCBha2tvciBrw6l0IGJyZWFrcG9pbnQga8O2esO2dHRpIHRhcnRvbcOhbnlyw7NsIHZhbiBzesOzXG4gIEBpZiBsZW5ndGgoJHZhbHVlKSA+IDIgYW5kIG50aCgkdmFsdWUsIDIpID09IHRvIHtcbiAgICAvLyBLw6l0IGJyZWFrcG9pbnQga8O2esO2dHRpIHRhcnRvbcOhbnkgKGJldHdlZW4pXG4gICAgJGxvd2VyOiBudGgoJHZhbHVlLCAxKTtcbiAgICAkdXBwZXI6IG50aCgkdmFsdWUsIDMpO1xuICAgIFxuICAgICRtaW46IGJyZWFrcG9pbnQtZ2V0KCRsb3dlcik7XG4gICAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyKTtcbiAgICBcbiAgICBAaWYgJG1pbiA9PSAwIGFuZCAkbWF4IHtcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJG1heCB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBudWxsIHtcbiAgICAvLyBBbGFww6lydGVsbWV6ZXR0ZW4gZmVsZmVsw6kgKG1pbi13aWR0aClcbiAgICAkbWluOiBicmVha3BvaW50LWdldCgkbmFtZSk7XG4gICAgXG4gICAgQGlmICRtaW4gPT0gMCB7XG4gICAgICBAY29udGVudDtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgIC8vIExlZmVsw6kgKG1heC13aWR0aClcbiAgICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSk7XG4gICAgXG4gICAgQGlmICRtYXgge1xuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBvbmx5IHtcbiAgICAvLyBDc2FrIGF6IGFkb3R0IGJyZWFrcG9pbnRyYVxuICAgICRtaW46IGJyZWFrcG9pbnQtZ2V0KCRuYW1lKTtcbiAgICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSk7XG4gICAgXG4gICAgQGlmICRtaW4gPT0gMCBhbmQgJG1heCB7XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRtYXgge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFLDqWdpIG1peGluZWsgw6F0aXLDoW55w610w6FzYSBheiDDumogc3ppbnRheGlzcmEgYSB2aXNzemFmZWzDqSBrb21wYXRpYmlsaXTDoXMgw6lyZGVrw6liZW5cbkBtaXhpbiBicmVha3BvaW50LXVwKCRuYW1lKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnJlYWtwb2ludC1kb3duKCRuYW1lKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUgZG93bikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBicmVha3BvaW50LW9ubHkoJG5hbWUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSBvbmx5KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlcikge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRsb3dlciB0byAkdXBwZXIpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBSw7Z2aWTDrXTDqXNlayBhIGd5YWtyYW4gaGFzem7DoWx0IGJyZWFrcG9pbnRva25ha1xuQG1peGluIG1vYmlsZSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gdGFibGV0IHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBkZXNrdG9wIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIFDDqWxkYSBoYXN6bsOhbGF0IGF6IMO6aiBzemludGF4aXNzYWw6XG4vLyAuZXhhbXBsZSB7XG4vLyAgIGJhY2tncm91bmQ6IHJlZDtcbi8vXG4vLyAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4vLyAgICAgYmFja2dyb3VuZDogYmx1ZTsgIC8vIG1lZGl1bSDDqXMgYW5uw6FsIG5hZ3lvYmIga8OpcGVybnnFkWvDtm5cbi8vICAgfVxuLy9cbi8vICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuLy8gICAgIGJhY2tncm91bmQ6IGdyZWVuOyAgLy8gbGFyZ2Ugw6lzIGFubsOhbCBuYWd5b2JiIGvDqXBlcm55xZFrw7ZuXG4vLyAgIH1cbi8vXG4vLyAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbi8vICAgICBjb2xvcjogeWVsbG93OyAgLy8gbWVkaXVtLW7DoWwga2lzZWJiIGvDqXBlcm55xZFrw7ZuXG4vLyAgIH1cbi8vXG4vLyAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbi8vICAgICBjb2xvcjogb3JhbmdlOyAgLy8gY3NhayBtZWRpdW0gbcOpcmV0xbEga8OpcGVybnnFkWvDtm5cbi8vICAgfVxuLy9cbi8vICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdG8gbGFyZ2UpIHtcbi8vICAgICBwYWRkaW5nOiAxcmVtOyAgLy8gbWVkaXVtLXTDs2wgbGFyZ2UtaWcgdGVyamVkxZEgdGFydG9tw6FueWJhblxuLy8gICB9XG4vLyB9XG4vL1xuLy8gTW9iaWxyYSBvcHRpbWFsaXrDoWx0IG1lZ2vDtnplbMOtdMOpczpcbi8vIC5leGFtcGxlIHtcbi8vICAgLy8gQWxhcCBzdMOtbHVzIG1vYmlscmFcbi8vICAgYmFja2dyb3VuZDogcmVkO1xuLy9cbi8vICAgLy8gVGFibGV0IG3DqXJldCAoY3Nhaylcbi8vICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuLy8gICAgIGJhY2tncm91bmQ6IGJsdWU7XG4vLyAgIH1cbi8vXG4vLyAgIC8vIERlc2t0b3AgbcOpcmV0IChtZWRpdW0gZmVsZXR0KVxuLy8gICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4vLyAgICAgYmFja2dyb3VuZDogZ3JlZW47XG4vLyAgIH1cbi8vIH1cbiIsIi8qKlxuICogU2xpZGVyICYgSGVhZGVyIENvbXBvbmVudHNcbiAqIFxuICogQSBmxZFvbGRhbGkgc2xpZGVyIMOpcyBoZWFkZXIga8OpcGVrIGtvbXBvbmVuc2VpOlxuICogLSBEZW50YWwgbG9nw7Mga8O2enBvbnRpIHBvemljaW9uw6Fsw6Fzc2FsXG4gKiAtIEhlYWRlciBrw6lwZWsgY8OtbWVra2VsIMOpcyBiYWRnZS1la2tlbFxuICovXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERlbnRhbCBMb2dvIENvbXBvbmVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uZGVudGFsLWxvZ28ge1xuICAvLyBWw6FsdG96w7NrXG4gICRsb2dvLW1vYmlsZS13aWR0aDogNzAlO1xuICAkbG9nby1kZXNrdG9wLXdpZHRoOiAzODRweDtcbiAgJGJ1dHRvbi1ib3JkZXItd2lkdGg6IDJweDtcbiAgXG4gIC8vIEvDtnpwb250aSBwb3ppY2lvbsOhbMOhc1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNDAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBcbiAgLy8gTGF5b3V0XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDAgYXV0bztcblxuICAvLyBJRTExIGhhY2sgKGhhIG3DqWcgdMOhbW9nYXRvdHQpXG4gIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksXG4gICAgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICB0b3A6IGF1dG87XG4gIH1cblxuICAvLyBMb2fDsyBrw6lwXG4gIGltZyB7XG4gICAgd2lkdGg6ICRsb2dvLW1vYmlsZS13aWR0aCAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHdpZHRoOiAkbG9nby1kZXNrdG9wLXdpZHRoICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gw4lyZGVrbMWRZMO2bSBnb21iXG4gIC5idXR0b24taW50ZXJlc3RlZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDk5OTk5OTk7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICBcbiAgICAvLyBNZWdqZWxlbsOpc1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBTbGFiXCIsIHNlcmlmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogJGNvbG9yLXB1cnBsZS1saWdodDtcbiAgICBib3JkZXI6ICRidXR0b24tYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvci1wdXJwbGUtbGlnaHQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBib3JkZXItY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBIZWFkZXIgSW1hZ2UgQ29udGFpbmVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5oZWFkZXItaW1hZ2UtY29udGFpbmVyIHtcbiAgLy8gVsOhbHRvesOza1xuICAkdGl0bGUtZm9udC1tb2JpbGU6IDIycHg7XG4gICR0aXRsZS1mb250LWRlc2t0b3A6IDMycHg7XG4gICRzdWJ0aXRsZS1mb250OiAxNnB4O1xuICAkYmFkZ2UtbW9iaWxlLW9mZnNldDogMXJlbTtcbiAgJG92ZXJsYXktb3BhY2l0eTogMC44NTtcbiAgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEPDrW0ga29udMOpbmVyXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgXG4gIC50aXRsZS1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAxLjVyZW0gMXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAvLyBEZW50YWwgd2VlayBzcGVjaWFsaXTDoXNcbiAgICAmLmRlbnRhbC13ZWVrLXRpdGxlIHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKGxhcmdlKTtcbiAgICB9XG5cbiAgICAvLyBEZXNrdG9wIHbDoWx0b3phdDogcG96aWNpb27DoWzDoXMgZmVow6lyIG92ZXJsYXktdmVsXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBhZGRpbmc6IDJyZW0gMnJlbSA2cmVtIDZyZW07XG4gICAgICB6LWluZGV4OiAyO1xuXG4gICAgICAvLyBGZWjDqXIga8O2cmvDtnLDtnMgaMOhdHTDqXIgb3ZlcmxheVxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdG9wOiAtM3JlbTtcbiAgICAgICAgbGVmdDogLTEwcmVtO1xuICAgICAgICByaWdodDogLTRyZW07XG4gICAgICAgIGJvdHRvbTogLTEwcmVtO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgJG92ZXJsYXktb3BhY2l0eSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC03ZGVnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCZWxzxZEga29udMOpbmVyIHN6w6lsZXNzw6lnZVxuICAgIC50aXRsZS1jb250YWluZXItaW5uZXIge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICB3aWR0aDogNTAwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ8OtbWVrIC0gdGlwb2dyw6FmaWFcbiAgICBoMSxcbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6ICR0aXRsZS1mb250LW1vYmlsZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHRpdGxlLWZvbnQtZGVza3RvcDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICBjb2xvcjogJGNvbG9yLXB1cnBsZTtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBmb250LXNpemU6ICRzdWJ0aXRsZS1mb250O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gR29tYlxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIFxuICAuYnV0dG9uIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXB1cnBsZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXB1cnBsZS1saWdodDtcbiAgICB9XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEJhZGdlIHBvemljaW9uw6Fsw6Fzb2tcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBcbiAgLmJhZGdlIHtcbiAgICB6LWluZGV4OiAxMDA7XG4gIH1cblxuICAvLyBCYWRnZSAjMSAtIGpvYmIgZmVsc8WRXG4gICYubnVtYmVyLTEgLmJhZGdlIHtcbiAgICB0b3A6ICRiYWRnZS1tb2JpbGUtb2Zmc2V0O1xuICAgIHJpZ2h0OiAkYmFkZ2UtbW9iaWxlLW9mZnNldDtcbiAgICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICB0b3A6IGluaXRpYWw7XG4gICAgICByaWdodDogOCU7XG4gICAgICBib3R0b206IDI1cmVtO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJhZGdlICMyIC0gYmFsIGZlbHPFkSAobW9iaWxlKSwgam9iYiBhbHPDsyAoZGVza3RvcClcbiAgJi5udW1iZXItMiAuYmFkZ2Uge1xuICAgIHRvcDogJGJhZGdlLW1vYmlsZS1vZmZzZXQ7XG4gICAgbGVmdDogJGJhZGdlLW1vYmlsZS1vZmZzZXQ7XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgbGVmdDogaW5pdGlhbDtcbiAgICAgIHRvcDogaW5pdGlhbDtcbiAgICAgIHJpZ2h0OiA4JTtcbiAgICAgIGJvdHRvbTogMTByZW07XG4gICAgfVxuICB9XG5cbiAgLy8gQmFkZ2UgIzMgLSBqb2JiIGZlbHPFkVxuICAmLm51bWJlci0zIC5iYWRnZSB7XG4gICAgdG9wOiAkYmFkZ2UtbW9iaWxlLW9mZnNldDtcbiAgICByaWdodDogJGJhZGdlLW1vYmlsZS1vZmZzZXQ7XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgdG9wOiBpbml0aWFsO1xuICAgICAgcmlnaHQ6IDEwJTtcbiAgICAgIGJvdHRvbTogMTRyZW07XG4gICAgfVxuICB9XG59IiwiJHdoaXRlOiAjZmVmZWZlO1xuJGJsYWNrOiAjMWIxYzFkO1xuXG4kY29sb3ItZm9udDogIzQwNDQ0RDtcbiRjb2xvci1wdXJwbGU6ICM1RTIyNDY7XG4kY29sb3ItcHVycGxlLWxpZ2h0OiAjN2QyNjU5O1xuJGNvbG9yLW1hZ2VudGE6ICM5ZTFjNjI7XG4kY29sb3ItZ3JlZW46ICNCMkM5MEE7XG4kY29sb3ItZ3JlZW4taW50ZW5zZTogI0I2Q0MwMDtcbiRjb2xvci1ncmF5OiAjNkQ3NTg0O1xuJGNvbG9yLWdyYXktbGlnaHQ6ICNlOGU5ZWI7XG4kY29sb3ItZ3JheS1kYXJrOiAjMzIzMTMxO1xuJGNvbG9yLWdyZWVuLWJnOiAjZjRmNmU0O1xuJGNvbG9yLWdyYXktYmc6ICNmN2Y4Zjg7XG4kY29sb3ItZ3JheS1iZy1zZWNvbmQ6ICNlOGU5ZWM7XG4kY29sb3ItcHVycGxlLWJnOiAkY29sb3ItZ3JheS1saWdodDtcbi8vICRjb2xvci1wdXJwbGUtYmc6ICNmZGYwZjE7IC8vIHLDs3pzYXN6w61uXG4kY29sb3ItcHVycGxlLWJnLXNlY29uZDogI2VhZTFlNjtcbiRjb2xvci10YWJsZS1vZGQ6ICR3aGl0ZTtcbiRjb2xvci10YWJsZS1ldmVuOiAjZWFkYmUxO1xuJGNvbG9yLWFsZXJ0OiAjZDkwMDAwO1xuXG5cbiRtYWRlbnRhLWdyYXk6ICM2RDc1ODQ7XG4kY29sb3ItZXN6dGV0aWthLWZvbnQ6ICMyZjM2NDM7XG4kY29sb3ItZXN6dGV0aWthLWdyYXktYmc6ICMzMjM5NDY7XG5cbiRjb2xvci1wcmljZS1jaGVjazogIzgwMWY1NTtcblxuJGNvbG9yLXJlZC1saWdodDogI0UzNEQzNDtcbiRjb2xvci1yZWQtZmFkZTogI0JGM0UzMTtcbiRjb2xvci1yZWQ6ICNiNDE0MjE7XG5cblxuJGNvbG9yLW1hZGVudGEtZ3JlZW4tMTogI0I2Q0MwMDtcbiRjb2xvci1tYWRlbnRhLWdyZWVuLTI6ICNBOEJDMEU7XG4kY29sb3ItbWFkZW50YS1ncmVlbi0zOiAjOTBBMTI0O1xuXG4kY29sb3ItbWFkZW50YS1ncmF5LTE6ICM2RDc1ODQ7XG4kY29sb3ItbWFkZW50YS1ncmF5LTI6ICNBNkFCQjU7XG4kY29sb3ItbWFkZW50YS1ncmF5LTM6ICNFMEUyRTU7XG4kY29sb3ItbWFkZW50YS1ncmF5LTQ6ICNGNEY1Rjc7XG5cbiRjb2xvci1tYWRlbnRhLWRhcmstZ3JheS0xOiAjNDA0NDREO1xuJGNvbG9yLW1hZGVudGEtZGFyay1ncmF5LTI6ICM1NzVENjg7XG5cbiRjb2xvci1tYWRlbnRhLWxpbGEtMTogIzVFMjI0NjtcbiRjb2xvci1tYWRlbnRhLWxpbGEtMjogIzdFMUY1NDtcbiRjb2xvci1tYWRlbnRhLWxpbGEtMzogIzlFMUM2MjtcblxuJGNvbG9yLW1hZGVudGEtbWFnZW50YS0xOiAjRTUwMDdEO1xuJGNvbG9yLW1hZGVudGEtbWFnZW50YS0yOiAjQ0EwQjcyOyIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuLy8gS8O2enBvbnRpIG1peGluZWsgZ3nFsWp0ZW3DqW55ZVxuLy8gSXR0IGRlZmluacOhbGp1ayBheiDDtnNzemVzIGd5YWtyYW4gaGFzem7DoWx0IG1peGludFxuXG4vLyDDgXRtZW5ldGVrXG5AbWl4aW4gdHJhbnNpdGlvbigkYXJncy4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb246ICRhcmdzO1xuICAtbW96LXRyYW5zaXRpb246ICRhcmdzO1xuICAtbXMtdHJhbnNpdGlvbjogJGFyZ3M7XG4gIC1vLXRyYW5zaXRpb246ICRhcmdzO1xuICB0cmFuc2l0aW9uOiAkYXJncztcbn1cblxuLy8gQm9yZGVyIHJhZGl1c1xuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1cykge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgLW1zLWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAtbW96LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIC1tcy1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAtbW96LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICAtbXMtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtdG9wLXJhZGl1cygkcmFkaXVzKSB7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgLW1vei1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAtbXMtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cblxuQG1peGluIGJvcmRlci1yaWdodC10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgLXdlYmtpdC1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgLW1vei1ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgLW1zLWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbn1cblxuLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eVxuQG1peGluIHRyYW5zaXRpb24tcHJvcGVydHkoJHByb3BlcnR5Li4uKSB7XG4gIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHByb3BlcnR5O1xuICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiAkcHJvcGVydHk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHByb3BlcnR5O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiAkcHJvcGVydHk7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uKCRkdXJhdGlvbi4uLikge1xuICAtbW96LXRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgLW8tdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICAtd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJHRpbWluZy4uLikge1xuICAtbW96LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xuICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCRkZWxheS4uLikge1xuICAtbW96LXRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbiAgLW8tdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG4vLyBWZXJ0aWvDoWxpcyBrw7Z6w6lwcmUgaWdhesOtdMOhc1xuQG1peGluIHZlcnRpY2FsLWFsaWduKCRwb3NpdGlvbjogcmVsYXRpdmUpIHtcbiAgcG9zaXRpb246ICRwb3NpdGlvbjtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vIERvYm96IMOhcm55w6lrXG5AbWl4aW4gYm94LXNoYWRvdygkdG9wLCAkbGVmdCwgJGJsdXIsICRjb2xvciwgJGluc2V0OiBmYWxzZSkge1xuICBAaWYgJGluc2V0IHtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0ICR0b3AgJGxlZnQgJGJsdXIgJGNvbG9yO1xuICAgIC1tb3otYm94LXNoYWRvdzogaW5zZXQgJHRvcCAkbGVmdCAkYmx1ciAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJHRvcCAkbGVmdCAkYmx1ciAkY29sb3I7XG4gIH1cbiAgQGVsc2Uge1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogJHRvcCAkbGVmdCAkYmx1ciAkY29sb3I7XG4gICAgLW1vei1ib3gtc2hhZG93OiAkdG9wICRsZWZ0ICRibHVyICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkdG9wICRsZWZ0ICRibHVyICRjb2xvcjtcbiAgfVxufVxuXG4vLyBGb3JnYXTDoXNcbkBtaXhpbiByb3RhdGUoJGRlZ3JlZSkge1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZSk7XG4gIC8qIElFIDkgKi9cbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlKTtcbiAgLyogQ2hyb21lLCBTYWZhcmksIE9wZXJhICovXG4gIHRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWUpO1xufVxuXG4vLyBSZXNwb25zaXZpdHkgLSBGb3VuZGF0aW9uIHN0w61sdXPDuiBzaG93L2hpZGUgZm9yIHNjcmVlblxuLy8gRWxlbSBtZWdqZWxlbsOtdMOpc2UgYml6b255b3MgYnJlYWtwb2ludC10w7NsIGtlemR2ZSB2YWd5IG9ubHkgbcOzZGJhblxuQG1peGluIHNob3ctZm9yKCRicmVha3BvaW50KSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8gRWxlbSBlbHJlanTDqXNlIGJpem9ueW9zIGJyZWFrcG9pbnQtdMOzbCBrZXpkdmVcbkBtaXhpbiBoaWRlLWZvcigkYnJlYWtwb2ludCkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIEVsZW0gZWxyZWp0w6lzZSBiaXpvbnlvcyBicmVha3BvaW50IGFsYXR0XG5AbWl4aW4gc2hvdy1mb3Itb25seSgkYnJlYWtwb2ludCkge1xuICBkaXNwbGF5OiBub25lO1xuICBcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8gRWxlbSBlbHJlanTDqXNlIGNzYWsgYml6b255b3MgYnJlYWtwb2ludC1vblxuQG1peGluIGhpZGUtZm9yLW9ubHkoJGJyZWFrcG9pbnQpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50IG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIElubGluZSBlbGVtZWtyZSBoYXN6bsOhbGhhdMOzIHbDoWx0b3phdG9rXG5AbWl4aW4gc2hvdy1pbmxpbmUtZm9yKCRicmVha3BvaW50KSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICB9XG59XG5cbkBtaXhpbiBoaWRlLWlubGluZS1mb3IoJGJyZWFrcG9pbnQpIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIHNob3ctaW5saW5lLWJsb2NrLWZvcigkYnJlYWtwb2ludCkge1xuICBkaXNwbGF5OiBub25lO1xuICBcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gaGlkZS1pbmxpbmUtYmxvY2stZm9yKCRicmVha3BvaW50KSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIEZsZXggZWxlbWVrcmUgaGFzem7DoWxoYXTDsyB2w6FsdG96YXRva1xuQG1peGluIHNob3ctZmxleC1mb3IoJGJyZWFrcG9pbnQpIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG59XG5cbkBtaXhpbiBoaWRlLWZsZXgtZm9yKCRicmVha3BvaW50KSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5cbi8vIGZpbGVwYXRoOiAvVXNlcnMvbGFzemxvbGFwb3MvTG9jYWwgU2l0ZXMvbWFkZW50YS1kay9hcHAvcHVibGljL3dwLWNvbnRlbnQvdGhlbWVzL21hZGVudGEtZGsvc3JjL3Njc3MvbWl4aW5zL19taXhpbnMuc2Nzc1xuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZSkge1xuICBAcmV0dXJuIG1hdGguZGl2KCR2YWx1ZSwgMTUpICogMXJlbTtcbn0iLCIvKipcbiAqIEZyb250IFByZWZhY2Ugw6lzIFNsaWRlciBDb21wb25lbnRcbiAqIFxuICogQSBtaWNyby1zbGlkZXIgw6lzIHByZWZhY2Ugc3pla2Npw7NrYXQgdGFydGFsbWF6emFcbiAqL1xuXG4ubWljcm8tc2xpZGVyIHtcbiAgLmhvbWUtc2xpZGVyLFxuICAub3dsLXN0YWdlLW91dGVyLFxuICAub3dsLXN0YWdlLFxuICAub3dsLWl0ZW0sXG4gIC5zbGlkZS1pdGVtLFxuICAuc2xpZGUtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5wcmVmYWNlIHtcbiAgcGFkZGluZzogM3JlbSAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3ItZ3JheSwgMC44NSk7XG5cbiAgcCB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gIC5wcmVmYWNlLXRleHQge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgICBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuICB9XG5cbiAgLnByZWZhY2UtbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgLnByZWZhY2UtaXRlbSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICB9XG5cbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLnRleHQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgICAgIH1cblxuICAgICAgLmltYWdlIHtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8qKlxuICogRnJvbnQgQWJvdXQgQ29tcG9uZW50XG4gKiBcbiAqIEEgcsOzbHVuayBzemVrY2nDsyBzdMOtbHVzYWl0IHRhcnRhbG1henphXG4gKi9cblxuLmFib3V0IHtcbiAgLnJvdzpob3ZlciB7XG4gICAgLmltYWdlLWNvbnRhaW5lciBpbWcge1xuICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMCUpO1xuICAgIH1cbiAgfVxuXG4gIC5yb3cucm9zYSB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgfVxuXG4gIC50ZXh0LWNvbnRhaW5lcixcbiAgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMCAxcmVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICB0cmFuc2l0aW9uOiBmaWx0ZXIgMC4ycyBlYXNlLWluLW91dDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgICAgcDpudGgtY2hpbGQoMSkge1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG5cbiAgICAgIHA6bnRoLWNoaWxkKDIpLFxuICAgICAgcDpudGgtY2hpbGQoMykge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAmLmd1bm5hciBwIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50ZXh0LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMCAxcmVtO1xuICB9XG59IiwiLyoqXG4gKiBGcm9udCBIb2xpZGF5IENvbXBvbmVudFxuICogXG4gKiBBIG55YXJhbMOhcyBzemVrY2nDsyBzdMOtbHVzYWl0IHRhcnRhbG1henphXG4gKi9cblxuLmhvbGlkYXkge1xuICAuaG9saWRheS1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDJyZW0gMDtcbiAgfVxuICAuaG9saWRheS10aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbiAgLmhvbGlkYXktbGVhZCBwIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gIH1cbiAgLmhvbGlkYXktY29udGVudCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBwYWRkaW5nOiAwIDAgMnJlbTtcblxuICAgIC5jb2wge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB9XG4gICAgLmhlYWRlciB7XG4gICAgICAuaW1hZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBncmlkLWNvbHVtbi1nYXA6IDMwcHg7XG4gICAgICAtbXMtZ3JpZC1jb2x1bW5zOiAxZnIgMzBweCAxZnIgMzBweCAxZnI7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuXG4gICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIC1tcy1ncmlkLWNvbHVtbjogMjtcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICAtbXMtZ3JpZC1jb2x1bW46IDM7XG4gICAgICB9XG5cbiAgICAgIC5jb2wge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBpbml0aWFsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8qKlxuICogRnJvbnQgVHJlYXRtZW50cyBDb21wb25lbnRcbiAqIFxuICogQSBrZXplbMOpc2VrIHN6ZWtjacOzIHN0w61sdXNhaXQgdGFydGFsbWF6emEsXG4gKiBiZWxlw6lydHZlIGEgY3PDunN6a8Oha2F0IMOpcyBrw6FydHnDoWthdFxuICovXG5cbi50cmVhdG1lbnRzIHtcbiAgcGFkZGluZzogNnJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmQ3NTg0O1xuXG4gIC5zdWJ0aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMCAxLjVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBwYWRkaW5nOiAwIDJyZW07XG4gICAgfVxuICB9XG5cbiAgLmtlemVsZXNlay10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLm1pY3JvLWtlemVsZXNlay1zbGlkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIH1cblxuICAuc2xpZGVyLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5iYWRnZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMXJlbTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03MCUpO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDclKTtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICByaWdodDogMTByZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm93bC1zdGFnZS1vdXRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAub3dsLXN0YWdlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgLm93bC1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIGhlaWdodDogaW5pdGlhbDtcbiAgfVxuXG4gIC5vd2wtZG90cyB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgfVxuXG4gIC5vd2wtbmF2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNHJlbTtcbiAgICByaWdodDogNHJlbTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICB0b3A6IGluaXRpYWw7XG4gICAgdG9wOiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICB0b3A6IDMwJSAhaW1wb3J0YW50O1xuICAgICAgYm90dG9tOiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuXG4gICAgLm93bC1wcmV2LFxuICAgIC5vd2wtbmV4dCB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgIH1cblxuICAgIC5vd2wtcHJldiB7XG4gICAgICBsZWZ0OiAxcmVtO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGxlZnQ6IDFyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm93bC1uZXh0IHtcbiAgICAgIHJpZ2h0OiAxcmVtO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHJpZ2h0OiAxcmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIC5vd2wtcHJldiB7XG4gICAgICAgIGxlZnQ6IC0zcmVtO1xuICAgICAgfVxuXG4gICAgICAub3dsLW5leHQge1xuICAgICAgICByaWdodDogLTNyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmVsZW1lbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuaW1hZ2Uge1xuICAgIGhlaWdodDogMjQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAgIGltZyB7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMTBweCByZ2JhKDY0LCA2OCwgNzcsIDAuMSk7XG4gICAgfVxuICB9XG5cbiAgcCB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gIGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG5cbiAgLmtlemVsZXNlay1mb290ZXIgcCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG59IiwiLyoqXG4gKiBGcm9udCBMZWFkIFJvdyBDb21wb25lbnRcbiAqIFxuICogQSBmxZFvbGRhbGkgbGVhZCBzb3Igc3TDrWx1c2FpdCB0YXJ0YWxtYXp6YVxuICovXG5cbi5sZWFkLnJvdyB7XG4gIHBhZGRpbmc6IDZyZW0gMDtcblxuICAuaW1hZ2Uge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgIGJveC1zaGFkb3c6IDBweCAwcHggMTBweCByZ2JhKDY0LCA2OCwgNzcsIDAuMik7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgcCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gIH1cblxuICAudGV4dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufSIsIi8qKlxuICogRnJvbnQgT2ZmZXJzIENvbXBvbmVudFxuICogXG4gKiBBeiBhasOhbmxhdG9rIHN6ZWtjacOzIHN0w61sdXNhaXQgdGFydGFsbWF6emFcbiAqL1xuXG4uYWphbmxhdCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxNDkuODVkZWcsICM3ZTFmNTQgMCUsICM1ZTIyNDYgNTUuMjElKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuXG4gIC5vZmZlciB7XG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiBpbml0aWFsO1xuICAgIH1cblxuICAgIHNtYWxsIHtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBociB7XG4gICAgICBtYXgtd2lkdGg6IGluaXRpYWw7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDkwZGVnLFxuICAgICAgICAjZmZmLFxuICAgICAgICAjZmZmIDY1JSxcbiAgICAgICAgdHJhbnNwYXJlbnQgMCxcbiAgICAgICAgdHJhbnNwYXJlbnRcbiAgICAgICk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDIwcHggMXB4O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHBhZGRpbmc6IDZyZW0gMDtcbiAgfVxuXG4gIC5hamFubGF0LWhlYWRlciAucGFyYWdyYXBoLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICB9XG5cbiAgLmFqYW5sYXQtaXRlbXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW47XG4gIH1cblxuICBoZWFkZXIgcCB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuc2xpZGUtdG8tbWVudSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggJHdoaXRlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBjb2xvcjogJGNvbG9yLXB1cnBsZTtcbiAgICB9XG4gIH1cblxuICBociB7XG4gICAgbWFyZ2luOiAzcmVtIDA7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgICAgOTBkZWcsXG4gICAgICAkd2hpdGUsXG4gICAgICAkd2hpdGUgNjUlLFxuICAgICAgdHJhbnNwYXJlbnQgNjUlLFxuICAgICAgdHJhbnNwYXJlbnQgMTAwJVxuICAgICk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyMHB4IDFweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmFqYW5sYXQtaXRlbSB7XG4gICAgJGFqYW5sYXQtZ2FwOiAzcmVtO1xuICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDNyZW07XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZsZXgtZmxvdzogcm93O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgY29sb3I6ICRjb2xvci1ncmVlbjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIC5hamFubGF0LWl0ZW06aG92ZXIge1xuICAgICAgLmFqYW5sYXQtaXRlbS1pbWFnZSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmFqYW5sYXQtY29udGVudCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIC5hamFubGF0LWl0ZW0taW1hZ2Uge1xuICAgIGZsZXg6IDEgMCAxMTBweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMnJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmltYWdlLXdyYXBwZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgICB3aWR0aDogMTEwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5hamFubGF0LWl0ZW0tdGl0bGUge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuICB9XG59IiwiLyoqXG4gKiBGcm9udCBQcmljZXMgQ29tcG9uZW50XG4gKiBcbiAqIEF6IMOhcmFrIHN6ZWtjacOzIHN0w61sdXNhaXQgdGFydGFsbWF6emEsXG4gKiBiZWxlw6lydHZlIGEgdMOhYmzDoXphdG9rYXQgw6lzIHByaWNlLWNoZWNrIG9zenTDoWx5dFxuICovXG5cbi5wcmljZXMge1xuICAucHJpY2UtbGlzdCB7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItd2lkdGg7XG4gICAgfVxuXG4gICAgaDIucGFyYWdyYXBoLXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgfVxuXG4gICAgLnByaWNlLWdyb3VwLXdyYXBwZXIge1xuICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiA5MHB4O1xuICAgICAgLW1zLWdyaWQtY29sdW1uczogMWZyIDkwcHggMWZyO1xuICAgIH1cblxuICAgIC50ZXh0LXdyYXBwZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDMyMGRlZywgIzllMWM2MiwgI2NhMGI3Mik7XG4gICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgcGFkZGluZzogM3JlbTtcblxuICAgICAgaDIge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgfVxuXG4gICAgICBoMixcbiAgICAgIHAge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuXG4gICAgICBwOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRhYmxlIHtcbiAgICB0YWJsZS1sYXlvdXQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuXG4gIC53cERhdGFUYWJsZXNXcmFwcGVyIHRhYmxlLmhhcy1jb2x1bW5zLWhpZGRlbiBzcGFuLnJlc3BvbnNpdmVFeHBhbmRlciB7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICB0YWJsZS5oYXMtY29sdW1ucy1oaWRkZW4gPiB0Ym9keSA+IHRyID4gdGQgPiBzcGFuLnJlc3BvbnNpdmVFeHBhbmRlcjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbnRlbnQ6IFwiK1wiICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGhlaWdodDogMjVweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhOGJjMGU7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBsaW5lLWhlaWdodDogMC42NTtcbiAgfVxuXG4gIHRhYmxlLmhhcy1jb2x1bW5zLWhpZGRlblxuICAgID4gdGJvZHlcbiAgICA+IHRyLmRldGFpbC1zaG93XG4gICAgPiB0ZFxuICAgIHNwYW4ucmVzcG9uc2l2ZUV4cGFuZGVyOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIi1cIiAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAwLjQ1O1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICB3aWR0aDogMjVweDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYThiYzBlO1xuICB9XG5cbiAgdGFibGUsXG4gIHRib2R5LFxuICB0aGVhZCxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgdGQsXG4gIHRoIHtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxNXB4IDEwcHggIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHBhZGRpbmc6IDdweCAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgdGgge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzQwNDQ0ZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgdHIge1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gIH1cblxuICB0ZC5jb2x1bW4tMSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q3ZDdkNyAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cblxuICB0ZC5jb2x1bW4tMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTJlNSAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG5cbiAgdGQuY29sdW1uLTMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiNmNjMDAgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICB0ZC5jb2x1bW4tNCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzdmN2Y3ZiAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gIC5jb2x1bW4tMSB7XG4gICAgd2lkdGg6IDMwJSAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmNvbHVtbi0xIC5yZXNwb25zaXZlRXhwYW5kZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxuXG4gIC53cERhdGFUYWJsZXNXcmFwcGVyIHRhYmxlLndwRGF0YVRhYmxlIHRoLFxuICAud3BEYXRhVGFibGVzV3JhcHBlciB0YWJsZS53cERhdGFUYWJsZSB0ZCB7XG4gICAgd2hpdGUtc3BhY2U6IGluaXRpYWwgIWltcG9ydGFudDtcbiAgfVxuXG4gIC53cERhdGFUYWJsZXNXcmFwcGVyIGRpdi5kdC1idXR0b25zIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAucG93ZXJlZF9ieV9saW5rIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBsZW55w61sw7NzIHN0w61sdXNva1xuICAucm93LWRldGFpbCB7XG4gICAgdGQge1xuICAgICAgcGFkZGluZzogNXB4ICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc5ODliICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIGxpIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTVweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGxpOm50aC1jaGlsZCgxKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VjZWNlO1xuICAgIH1cbiAgICBsaTpudGgtY2hpbGQoMikge1xuICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiN2I3Yjc7XG4gICAgfVxuXG4gICAgLmNvbHVtbi0yLFxuICAgIC5jb2x1bW4tNCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAuY29sdW1uVmFsdWUge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucHJpY2UtY2hlY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYmZiZmI7XG4gICAgei1pbmRleDogLTE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiA1MCU7XG4gICAgYm90dG9tOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYThiYzBkO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIH1cblxuICAucGFyYWdyYXBoLXRpdGxlIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG5cbiAgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgaGlkZS1mb3IobGFyZ2UpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAudGV4dC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgcGFkZGluZzogM3JlbSAxLjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICB3aWR0aDogNDUlO1xuICAgICAgcGFkZGluZzogNHJlbSAycmVtO1xuICAgIH1cblxuICAgICYuZnVsbC13aWR0aCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIC50ZXh0LWNvbnRhaW5lci1pbm5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICBwIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgdGV4dGFyZWEsXG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICM0MDQ0NGQ7XG4gICAgfVxuICB9XG4gIHRleHRhcmVhIHtcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICB9XG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgfVxuICBpbnB1dFt0eXBlPVwiU3VibWl0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbWFnZW50YTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlLWluLW91dDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgIGhlaWdodDogNDRweDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXB1cnBsZTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmZpZWxkc2V0LWlubmVyIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxleDogMSAwIGNhbGMoNTAlIC0gMC41cmVtKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgZmxleDogMSAwIDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLklucHV0QmxvY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhLFxuICBsYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICB9XG5cbiAgbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgIHBhZGRpbmc6IDAuMnJlbSAwLjVyZW0gMC4ycmVtIDIuNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wdXJwbGU7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuaW5wdXRmaWxlOmZvY3VzICsgbGFiZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wdXJwbGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXB1cnBsZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogMTI2cHg7XG4gIH1cblxuICAmLmJsb2NrLWl0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmljZS1jaGVjaztcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuXG4gICAgLnBhcmFncmFwaC10aXRsZSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICB9XG5cbiAgICAudGV4dC1jb250YWluZXIge1xuICAgICAgZmxleDogMSAxIDYwJTtcbiAgICB9XG5cbiAgICAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIGZsZXg6IDEgMSA0MCU7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgICBpbWcge1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgIGhlaWdodDogNTFweDtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSA0cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gICAgICBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiXG5cbiRsYXllci1ib3R0b206IDEwMDtcbiRsYXllci1taWRkbGU6IDUwMDtcbiRsYXllci1oaWdoOiA5MDA7XG4kbGF5ZXItbWVudTogMTAwMDtcbiRsYXllci10b3A6IDExMDA7XG5cbiRnbG9iYWwtZm9udC1zaXplOiA4MiU7XG4kZ2xvYmFsLXdlaWdodC1saWdodDogMzAwO1xuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiA0MDA7XG4kZ2xvYmFsLXdlaWdodC1ib2xkOiA2MDA7XG5cbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRib2R5LWZvbnQtZmFtaWx5OiBcIlJhbGV3YXlcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuJGhlYWRlci1mb250LWZhbWlseTogXCJSYWxld2F5XCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbi8vICRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuJG1vZGVybi1mb250LWZhbWlseTogXCJDb250aW51dW0tTGlnaHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuJHNsYWItZm9udC1mYW1pbHk6IFwiUm9ib3RvIFNsYWJcIiwgR2VvcmdpYSwgc2VyaWY7XG4kYm9keS1mb250LWNvbG9yOiAkY29sb3ItZm9udDtcblxuJGFuY2hvci1jb2xvcjogJGNvbG9yLXB1cnBsZTtcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuXG4kbW9kZXJuLWxldHRlci1zcGFjaW5nOiAxcHg7XG5cbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbiAgeHh4bGFyZ2U6IDE2MDBweCxcbik7XG5cbiRoZWFkZXItc3R5bGVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiAyNCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAxOCksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAxNyksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMzQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjgpLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTYpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTQpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTIpLFxuICApLFxuKTtcblxuXG4vLyBMQVlPVVRcblxuJGdyaWQtZ2FwOiAzMHB4O1xuJGdyaWQtZ2FwLWhhbGY6IDE1cHg7XG4kY29udGFpbmVyLXdpZHRoOiAxMjAwcHg7XG4kZ2xvYmFsLXJhZGl1czogMjBweDsiLCIvKipcbiAqIEZyb250IFJldmlld3MgQ29tcG9uZW50XG4gKiBcbiAqIEEgdsOpbGVtw6lueWVrIMOpcyDDqXJ0w6lrZWzDqXNlayBzemVrY2nDs2luYWsgc3TDrWx1c2FpdCB0YXJ0YWxtYXp6YVxuICovXG5cbi5zZWN0aW9uLXJldmlldyAudGV4dC1hbmltYXRlLTEge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNjBweCk7XG4gIHRyYW5zaXRpb246IGFsbCAxLjFzIDAuOHMgY3ViaWMtYmV6aWVyKDAuMTY1LCAwLjg0LCAwLjQ0LCAxKTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uc2VjdGlvbi1yZXZpZXcgLnRleHQtYW5pbWF0ZS0yIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDYwcHgpO1xuICB0cmFuc2l0aW9uOiBhbGwgMS4zcyAxLjFzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSk7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc2VjdGlvbi1yZXZpZXcgLndwLWdyIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDYwcHgpO1xuICB0cmFuc2l0aW9uOiBhbGwgMS4zcyAwLjdzIGN1YmljLWJlemllcigwLjE2NSwgMC44NCwgMC40NCwgMSkgIWltcG9ydGFudDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zZWN0aW9uLXJldmlldy5pbi12aWV3IC53cC1ncixcbi5zZWN0aW9uLXJldmlldy5pbi12aWV3IC50ZXh0LWFuaW1hdGUtMSxcbi5zZWN0aW9uLXJldmlldy5pbi12aWV3IC50ZXh0LWFuaW1hdGUtMiB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogbm9uZTtcbn1cblxuLnNlY3Rpb24tcmV2aWV3IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHotaW5kZXg6IDEwMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5nb29nbGUtcmV2aWV3IHtcbiAgICB3aWR0aDogcmVtLWNhbGMoNzAwKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgkYmxhY2ssIDAuMik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwO1xuXG4gICAgLnRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMik7XG4gICAgfVxuXG4gICAgJiA+IGRpdiB7XG4gICAgICBwYWRkaW5nOiAycmVtO1xuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC53aWRnZXQtd3JhcHBlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbi5nb29nbGUtcmV2aWV3cyB7XG4gIHBhZGRpbmc6IDAgMCAzcmVtIDA7XG5cbiAgLm93bC1jYXJvdXNlbCB7XG4gICAgLm93bC1zdGFnZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgICAub3dsLWl0ZW0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5vd2wtbmF2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGxlZnQ6IC0ycmVtO1xuICAgIHJpZ2h0OiAtMnJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgIGkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0MCk7XG4gICAgfVxuICB9XG5cbiAgLm93bC1zdGFnZS1vdXRlciB7XG4gICAgcGFkZGluZzogMXJlbSAwO1xuICB9XG5cbiAgLm93bC1kb3RzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMXJlbSAwO1xuICAgIHNwYW4ge1xuICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTZhYmI1O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAuNHJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB9XG4gICAgLm93bC1kb3QuYWN0aXZlIHNwYW4ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXB1cnBsZTtcbiAgICB9XG4gIH1cblxuICAuc2xpZGUtaXRlbSB7XG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJveC1zaGFkb3c6IDBweCAwcHggMTBweCByZ2JhKDY0LCA2OCwgNzcsIDAuMik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJGNvbG9yLWZvbnQ7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFJldmlld3Mgc2xpZGVyIOKAkyB0YXJ0YWxvbSB2w6Fnw6FzYSAoI3Jldmlld3Mtc2xpZGVyKVxuICogQWxhcGhlbHl6ZXRiZW4gKC5pcy1jb2xsYXBzZWQpIG1heCA3IHNvciBsw6F0c3ppay4gQSBKUyBjc2FrIG90dCBqZWxlbsOtdGkgbWVnXG4gKiBhIFwiVmlzIG1lclwiIGdvbWJvdCwgYWhvbCB0w6lueWxlZyB2YW4gbGV2w6Fnb3R0IHRhcnRhbG9tOyBtw6FzaG9sIGxldmVzemkgYXpcbiAqIC5pcy1jb2xsYXBzZWQgb3N6dMOhbHl0LCDDrWd5IGEgdGVsamVzIHN6w7Z2ZWcgbMOhdHN6aWsuXG4gKi9cbi5yZXZpZXctaXRlbV9fdGV4dCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgLy8gYSBtw6lyw6lzaGV6IGEgc3rDqWxzxZEgbWFyZ8OzayBuZSBsw7NnamFuYWsga2lcbiAgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gID4gKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgJi5pcy1jb2xsYXBzZWQge1xuICAgIG1heC1oZWlnaHQ6IDEwLjVlbTsgLy8gNyBzb3IgKiAxLjUgbGluZS1oZWlnaHRcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG5cbi5yZXZpZXctaXRlbV9fdG9nZ2xlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY29sb3I6ICRjb2xvci1wdXJwbGU7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuXG4gIC8vIEEgYGhpZGRlbmAgYXR0cmliw7p0dW1vdCBuZSDDrXJqYSBmZWzDvGwgYSBmZW50aSBkaXNwbGF5OiBpbmxpbmUtYmxvY2suXG4gIC8vIChFesOpcnQgbMOhdHN6b3R0IGEgXCJWaXMgbWVyXCIgYWtrb3IgaXMsIGFtaWtvciBhIEpTIGVscmVqdGV0dGUuKVxuICAmW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnBhY2thZ2Uge1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XG4gIG1hcmdpbi10b3A6IDRyZW07XG4gIGJvcmRlci1yYWRpdXM6IDE1cHg7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICB9XG5cbiAgc3BhbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5ndWFyYW50ZWUge1xuICBwYWRkaW5nOiAxcmVtO1xuICBtYXJnaW4tdG9wOiA0cmVtO1xuICBib3JkZXItcmFkaXVzOiAxNXB4O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgfVxuXG4gIHNwYW4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIGJ1dHRvbiB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxufSIsIi8qKlxuICogRnJvbnQgRG9jdG9ycyBDb21wb25lbnRcbiAqIFxuICogQXogb3J2b3NvayBzemVrY2nDs2hveiB0YXJ0b3rDsyBzdMOtbHVzb2ssXG4gKiBiZWxlw6lydHZlIGEgY2Fyb3VzZWwgw6lzIHNwbGlkZSBlbGVtZWtldFxuICovXG5cbi5kb2N0b3JzIHtcbiAgLmZyb250LW9ydm9zb2stY2Fyb3VzZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tYWRlbnRhLWxpbGEtMTtcbiAgICBwYWRkaW5nOiAzcmVtIDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICB0byByaWdodCxcbiAgICAgICAgIzVlMjI0NiAwJSxcbiAgICAgICAgdHJhbnNwYXJlbnQgMjAlLFxuICAgICAgICB0cmFuc3BhcmVudCA4MCUsXG4gICAgICAgICM1ZTIyNDYgMTAwJVxuICAgICAgKTtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgb3BhY2l0eTogMC45NTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5kb2N0b3ItdGl0bGUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAuc3BsaWRlX19zbGlkZS5pcy12aXNpYmxlIC5kb2N0b3ItdGl0bGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xuICB9XG5cbiAgLnNwbGlkZV9fYXJyb3cge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgdG9wOiBpbml0aWFsO1xuICAgIGJvdHRvbTogMXJlbTtcbiAgICB3aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICBzdmcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IGluaXRpYWw7XG4gICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICBzdHJva2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGZpbHRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5zcGxpZGVfX2Fycm93LS1wcmV2IHtcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG4gIC5zcGxpZGVfX2Fycm93LS1uZXh0IHtcbiAgICByaWdodDogMXJlbTtcbiAgfVxufSIsIi8qKlxuICogRnJvbnQgVmlkZW8gQ29tcG9uZW50XG4gKiBcbiAqIEEgdmlkZcOzayBzemVrY2nDs2hveiB0YXJ0b3rDsyBzdMOtbHVzb2tcbiAqL1xuXG4udmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIHBhZGRpbmc6IDNyZW0gMDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgcGFkZGluZzogNnJlbSAwO1xuICB9XG5cbiAgaDIucGFyYWdyYXBoLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICB9XG5cbiAgLmxpdHktaWZyYW1lIC5saXR5LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA5NjRweDtcbiAgfVxuXG4gIC52aWRlby1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogJGNvbnRhaW5lci13aWR0aDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGZsZXgtZmxvdzogcm93O1xuICAgIH1cblxuICAgIC52aWRlby1lbGVtZW50IHtcbiAgICAgIGZsZXg6IDEgMSBjYWxjKDUwJSAtIDJyZW0pO1xuICAgICAgbWFyZ2luOiAwIDFyZW0gMnJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpZnJhbWUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgICAgfVxuXG4gICAgICAuYnV0dG9uLXBsYXkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB6LWluZGV4OiAyO1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCkgc2NhbGUoMS4wNSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnZpZGVvLWZvb3RlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDNyZW07XG5cbiAgICBoMyB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG59IiwiLyoqXG4gKiBGcm9udCBWaWRlb3MgQ29tcG9uZW50XG4gKlxuICogQSBmcm9udF92aWRlb3MgQUNGIGlzbcOpdGzFkWTFkSBtZXrFkWLFkWwgw6lww7xsxZEgdmlkZcOzIHN6ZWtjacOzLlxuICogTW9iaWxvbiBuYXTDrXYgc2Nyb2xsLXNuYXAgY3PDrWssID49MTAyNHB4LW7DqWwgU3BsaWRlIHZlc3ppIMOhdFxuICogKGzDoXNkIEZyb250VmlkZW9zSGFuZGxlci5qcykuXG4gKi9cblxuLmZyb250LXZpZGVvcyB7XG4gIHBhZGRpbmc6IDNyZW0gMDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgcGFkZGluZzogNnJlbSAwO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgLy8gRWd5c8OpZ2VzIG1vYmlsL3RhYmxldCBvbGRhbG1hcmfDsyDigJMgYSB2aWRlw7Njc8OtayBlbHPFkSBlbGVtZSBpcyAxLjVyZW0tbsOpbCBrZXpkxZFkaWtcbiAgICBwYWRkaW5nOiAwIDEuNXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG5cbiAgJl9fdHJhY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyBJdHQgbmluY3Mgb3ZlcmZsb3c6aGlkZGVuOiBhIFNwbGlkZSBzYWrDoXQgYmXDoWd5YXpvdHQgLnNwbGlkZV9fdHJhY2tcbiAgICAvLyB3cmFwcGVyZSAoY29yZSBDU1M6IC5zcGxpZGVfX3RyYWNre292ZXJmbG93OmhpZGRlbn0pIG3DoXIgbGV2w6FnamEgYVxuICAgIC8vIGRpw6FrYXQsIGVubmVrIGEga8O8bHPFkSBlbGVtbmVrIHBlZGlnIHbDoWdhdGxhbm5hayBrZWxsIG1hcmFkbmlhLCBob2d5IGFcbiAgICAvLyBkZXNrdG9wIG55aWxhayAoYSB0cmFjayBkb2JvesOhbiBrw612w7xsIGhlbHllenZlKSBsw6F0c3rDs2RqYW5hay5cbiAgfVxuXG4gICZfX2xpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAxcmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAvLyBzY3JvbGwtcGFkZGluZyAobmVtIHBhZGRpbmcpIGEgc3rDqWxpIHLDqXNla2hlejogZWd5IHbDrXpzemludGVzZW5cbiAgICAvLyBnw7ZyZ2V0aGV0xZEgZmxleCBrb250w6luZXIga2V6ZMWRIMOpbMOpbiBhIHBhZGRpbmcgYsO2bmfDqXN6xZFrIGvDtnrDtnR0IG5lbVxuICAgIC8vIG1lZ2LDrXpoYXTDsyAoY3NhayBha2tvciDDqXJ2w6lueWVzw7xsLCBoYSBhIHRhcnRhbG9tIHTDumxsw7NnLCDDrWd5IGF6IGVsc8WRXG4gICAgLy8gZWxlbSBlbGVqZSAwLW7DoWwgbGVubmUpLiBBIHLDqXMgaGVseWV0dGUgYXogZWxzxZEvdXRvbHPDsyBlbGVtIG1hcmdpbi1qw6luXG4gICAgLy8gdmFuIChsZW50ZWJiKS5cbiAgICBzY3JvbGwtcGFkZGluZzogMCAxLjVyZW07XG5cbiAgICAvLyBNb2JpbDogbmF0w612IFwiTmV0ZmxpeCBjc8Ota1wiIHN6YWJhZCBnw7ZyZ2V0w6lzc2VsLiBBIFNwbGlkZSAoYW1pdCBhXG4gICAgLy8gRnJvbnRWaWRlb3NIYW5kbGVyLmpzIG1vdW50b2wgPj0xMDI0cHgtbsOpbCkgdWd5YW5lenQgYXogZWxlbWV0IHZlc3ppXG4gICAgLy8gw6F0IGEgc2Fqw6F0IGlubGluZSB0cmFuc2Zvcm0tYWxhcMO6IHBvemljaW9uw6Fsw6Fzw6F2YWwsIGFtaSBmZWzDvGzDrXJqYSBhelxuICAgIC8vIG92ZXJmbG93IHZpc2Vsa2Vkw6lzdCwgYW1pbnQgbW91bnRvbMOzZGlrLlxuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgc2Nyb2xsLXNuYXAtdHlwZTogeCBwcm94aW1pdHk7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcblxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgb3ZlcmZsb3cteDogdmlzaWJsZTtcbiAgICAgIHNjcm9sbC1wYWRkaW5nOiAwO1xuICAgICAgLy8gQSBTcGxpZGUgTGF5b3V0IGtvbXBvbmVuc2UgZXplbiBhIGJyZWFrcG9pbnRvbiBzYWrDoXQgaW5saW5lXG4gICAgICAvLyBtYXJnaW4tcmlnaHQtZXQgw61yIG1pbmRlbiBkacOhcmE7IGVneSBlcnJlIHJha290dCBDU1MgZ2FwXG4gICAgICAvLyBkdXBsw6F6bsOhIGEgdMOpcmvDtnp0IMOpcyBraWzDtmtuw6kgYSA0LiBkacOhdCBhIHRyYWNrYsWRbC5cbiAgICAgIGdhcDogMDtcbiAgICB9XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBmbGV4OiAwIDAgNzglO1xuICAgIHNjcm9sbC1zbmFwLWFsaWduOiBjZW50ZXI7XG5cbiAgICAvLyBBIGdsb2LDoWxpcyBzcmMvY29tcG9uZW50cy9zcGxpZGUuc2NzcyBcIi5zcGxpZGVfX3NsaWRle2Rpc3BsYXk6ZmxleDtcbiAgICAvLyBmbGV4LWRpcmVjdGlvbjpjb2x1bW59XCIgc3phYsOhbHlhIChtw6FzIGthcnVzemVsZWtoZXosIHBsLiBvcnZvc29rKVxuICAgIC8vIHVneWFuZXJyZSBheiBlbGVtcmUgaXMgaWxsZXN6a2VkaWssIG1lcnQgYSBTcGxpZGUuanMgbWlhdHQgZW5uZWsgaXNcbiAgICAvLyBzcGxpZGVfX3NsaWRlIGNsYXNzYSB2YW4uIEZsZXggaXRlbS1rw6ludCBheiAuZW1iZWQtY29udGFpbmVyXG4gICAgLy8gcGFkZGluZy1ib3R0b20gdHLDvGtramUgbmVtIHR1ZGphIG1lZ2ZlbGVsxZFlbiBtw6lyZXRlem5pIGEgYmVubmUgbMOpdsWRXG4gICAgLy8gYWJzem9sw7p0IHBvemljaW9uw6FsdCBpZnJhbWUtZXQgKHZpc3N6YWVzaWsgMTY6OS1yZSkuIEF6IMO2c3N6ZXRldHRcbiAgICAvLyBzemVsZWt0b3IgKDIgY2xhc3MpIG5hZ3lvYmIgc3BlY2lmaWNpdMOhc3NhbCBmZWzDvGzDrXJqYSBlenQsIGbDvGdnZXRsZW7DvGxcbiAgICAvLyBhIHN0w61sdXNsYXBvayBiZXTDtmx0w6lzaSBzb3JyZW5kasOpdMWRbC5cbiAgICAmLnNwbGlkZV9fc2xpZGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMS41cmVtO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZmxleDogMCAwIDQ1JTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAvLyBBIG3DqXJldGV6w6lzdCBpdHQgdGVsamVzZW4gYSBTcGxpZGUgc2Fqw6F0IGlubGluZSB3aWR0aC9tYXJnaW4tcmlnaHRcbiAgICAgIC8vIMOpcnTDqWtlIGFkamE6IGVneSBmbGV4LWJhc2lzIGZlbMO8bMOtcm7DoSBhIFNwbGlkZSBpbmxpbmUgXCJ3aWR0aFwiLWrDqXRcbiAgICAgIC8vIGVneSBmbGV4IGl0ZW1lbi5cbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuXG4gICAgICAvLyBBIFNwbGlkZSDDumpyYS1zesO8bMWRemkva2zDs25venphIGEgZGnDoWthdCDDqXMgc2Fqw6F0IGlubGluZVxuICAgICAgLy8gbWFyZ2luLXJpZ2h0LWV0IGFkIG5la2lrIGV6ZW4gYSBicmVha3BvaW50b247IGEgbW9iaWwgbWFyZ2luXG4gICAgICAvLyBkdXBsw6F6bsOhIGV6dC5cbiAgICAgICY6Zmlyc3QtY2hpbGQsXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5lbWJlZC1jb250YWluZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgJl9fY2FwdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gICZfX2Fycm93cyB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gICZfX2Fycm93IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHotaW5kZXg6IDI7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIHN2ZyB7XG4gICAgICAvLyAhaW1wb3J0YW50IGtlbGw6IGEgc3JjL2NvbXBvbmVudHMvc3BsaWRlLnNjc3MgZ2xvYsOhbGlzXG4gICAgICAvLyBcIi5zcGxpZGUgLnNwbGlkZV9fYXJyb3cgc3Zne2ZpbGw6IzQwNDQ0ZDt3aWR0aDoxLjVyZW07aGVpZ2h0OjEuNXJlbX1cIlxuICAgICAgLy8gc3phYsOhbHlhIChtw6FzIGthcnVzemVsZWtoZXosIHBsLiBvcnZvc29rKSBuYWd5b2JiIHNwZWNpZmljaXTDoXPDulxuICAgICAgLy8gKC5zcGxpZGUgKyAuc3BsaWRlX19hcnJvdyArIGVsZW0pLCBtaW50IGVneSBzaW1hXG4gICAgICAvLyBcIi5mcm9udC12aWRlb3NfX2Fycm93IHN2Z1wiIHN6ZWxla3RvciwgZXrDqXJ0IGVuw6lsa8O8bCBmZWzDvGzDrXJuw6EgZXp0IGFcbiAgICAgIC8vIDQweDQwLWVzIGlrb25nb21ib3Qgcm9zc3ogc3rDrW5uZWwvbcOpcmV0dGVsLlxuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICAgICAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBmaWxsOiAkY29sb3ItcHVycGxlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJi0tcHJldiB7XG4gICAgICBsZWZ0OiAtMy41cmVtO1xuICAgIH1cblxuICAgICYtLW5leHQge1xuICAgICAgcmlnaHQ6IC0zLjVyZW07XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICBvcGFjaXR5OiAwLjM7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmX19wYWdpbmF0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogMC41cmVtO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuXG4gICZfX3BhZ2Uge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1tYWRlbnRhLWdyYXktMztcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLW1hZ2VudGE7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIEZyb250IEhvdGVscyBDb21wb25lbnRcbiAqIFxuICogQSBzesOhbGxvZMOhayBzemVrY2nDsyBzdMOtbHVzYWl0IHRhcnRhbG1henphXG4gKi9cblxuLmhvdGVscy1yb3cge1xuICBwYWRkaW5nOiA2cmVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOWRiZGY7XG5cbiAgJl9faGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICB9XG5cbiAgJl9faGVhZGVyICsgLmdyaWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLmNhcm91c2VsLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhvdGVsLWxpbmsgYSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAzcmVtO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHVycGxlO1xuICAgIH1cbiAgfVxuXG4gIC5ob3RlbHMtY2Fyb3VzZWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICZfX2l0ZW0ge1xuICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgICBib3gtc2hhZG93OiAwcHggMHB4IDEwcHggcmdiYSg2NCwgNjgsIDc3LCAwLjIpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgIH1cblxuICAgICZfX2dhbGxlcnkge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgIGdyaWQtZ2FwOiAxcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgICAgYSB7XG4gICAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIGhlaWdodDogMjIwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAub3dsLW5hdiB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cblxuICAgICAgYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG5cbiAgICAgIC5vd2wtcHJldiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbGVmdDogLTJyZW07XG4gICAgICB9XG4gICAgICAub3dsLW5leHQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHJpZ2h0OiAtMnJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAub3dsLXN0YWdlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICAgIC5vd2wtaXRlbSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgfVxuICB9XG59IiwiLyoqXG4gKiBGcm9udCBSZWxheCBDb21wb25lbnRcbiAqIFxuICogQSByZWxheC9waWhlbsOpcyBzemVrY2nDsyBzdMOtbHVzYWl0IHRhcnRhbG1henphXG4gKi9cblxuLnJlbGF4IHtcblxuICAvLyBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAvLyAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChcbiAgLy8gICAgIDEyNy41NWRlZyxcbiAgLy8gICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KSAwJSxcbiAgLy8gICAgICNlMGUyZTUgODYuNDIlXG4gIC8vICAgKTtcbiAgLy8gICBwYWRkaW5nOiA2cmVtIDA7XG4gIC8vICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLy8gfVxuXG4gIC5wYXJhZ3JhcGgtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cblxuICBoMy5wYXJhZ3JhcGgtdGl0bGUge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYygyNXB4ICsgMXJlbSk7XG5cbiAgICBzcGFuIHtcbiAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgbWluLXdpZHRoOiAyNXB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTI1cHggLSAxcmVtKTtcbiAgICB9XG5cbiAgICBzcGFuIHN2ZyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDVweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC50ZXh0LWNvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYygyNXB4ICsgMXJlbSk7XG5cbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuXG5cbiAgLmltYWdlIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAzMHB4IHJnYmEoNjQsIDY4LCA3NywgMC4yKTtcbiAgICAgIH1cblxuICAgIH1cbiAgfVxufSIsIi5oZWxmbyB7XG4gIHBhZGRpbmc6IDNyZW0gMDtcblxuICAuZ3JpZCB7XG4gICAgZ3JpZC1jb2x1bW4tZ2FwOiBjYWxjKCN7JGdyaWQtZ2FwfSAqIDIpO1xuICAgIC1tcy1ncmlkLWNvbHVtbnM6IDFmciBjYWxjKCN7JGdyaWQtZ2FwfSAqIDIpIDFmcjtcbiAgfVxuXG4gIC5pbWFnZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBAaW5jbHVkZSBzaG93LWZvcihsYXJnZSk7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG5cblxuICAudGV4dC1tYXNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIGgyIHtcbiAgICBjb2xvcjogIzU3QzhGNTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNjApO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGltZyB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvcihsYXJnZSk7XG4gICAgICB3aWR0aDogMTUwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgfVxuICB9XG5cbiAgcCB7XG4gICAgY29sb3I6ICMwMDMwNTc7XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogIzAwMzA1NztcbiAgICBmb250LXdlaWdodDogODAwO1xuICB9XG5cbiAgLnRleHQtbWFzazphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogLTFweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKCR3aGl0ZSwgMSkgMCUsIHJnYmEoJHdoaXRlLCAwKSAxMDAlKTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZS1pbi1vdXQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgLnRleHQtbWFzay5pcy1vcGVuOjphZnRlciB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIC5yZXZlYWwtYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgY29sb3I6ICRjb2xvci1mb250O1xuICAgIHBhZGRpbmc6IC4zcmVtIC41cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1mb250O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhY2woMTIhaW1wb3J0YW50KTtcbiAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICB9XG5cbiAgLnJldmVhbC1idXR0b24uaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuIiwiLyoqXG4gKiBGcm9udCBCdWRhcGVzdCBDb21wb25lbnRcbiAqIFxuICogQSBCdWRhcGVzdCBzemVrY2nDsyBzdMOtbHVzYWl0IHRhcnRhbG1henphXG4gKiBhIGdhbMOpcmnDoXZhbCBlZ3nDvHR0XG4gKi9cblxuLmJ1ZGFwZXN0IHtcbiAgcGFkZGluZzogNnJlbSAwO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cbiAgcCB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gIGltZyB7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLmdhbGxlcnkge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIH1cbiAgfVxuXG4gIC5pbWFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgZmxleDogMCAxIGNhbGMoNTAlIC0gMC41cmVtKTtcbiAgICAgIGhlaWdodDogMTAwcHg7XG5cbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLyoqXG4gKiBGcm9udCBDb250YWN0IEZvcm1zIENvbXBvbmVudFxuICogXG4gKiDFsHJsYXAga29tcG9uZW5zZWsgc3TDrWx1c2FpIGEgZsWRb2xkYWxob3pcbiAqL1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGcm9udHBhZ2UgRm9ybSBTZWN0aW9uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5mcm9udHBhZ2UtZm9ybSB7XG4gIC8vIExheW91dCBhbGFwb2tcbiAgcGFkZGluZzogMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW4taW50ZW5zZTtcblxuICAvLyBNZWRpdW0gYnJlYWtwb2ludFxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgfVxuXG4gIC8vIExhcmdlIGJyZWFrcG9pbnQgLSBBYnN6b2zDunQgcG96aWNpb27DoWzDoXNcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW4taW50ZW5zZTtcbiAgfVxuXG4gIC8vIENvbnRhaW5lclxuICAucm93IHtcbiAgICBtYXgtd2lkdGg6IDYyLjVyZW07XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICAvLyBDw61tZWtcbiAgaDIge1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0zcHg7XG4gIH1cblxuICBoMyB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgY29sb3I6ICRjb2xvci1mb250O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgLy8gR3JpZCBvc3psb3BcbiAgLm1lZGl1bS04IHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gR29tYiBzdMOtbHVzb2tcbiAgLmJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDAuOGVtIDFlbTtcbiAgICBcbiAgICAvLyBWaXp1w6FsaXMgbWVnamVsZW7DqXNcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzllMWM2MjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOWUxYzYyO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgIFxuICAgIC8vIEFuaW3DoWNpw7NcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAwLjVyZW0pO1xuICAgICAgbWFyZ2luOiBpbml0aWFsO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXB1cnBsZTtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLXB1cnBsZTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEZyb250IFBhZ2UgQ29udGFjdCBTZWN0aW9uXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5mcm9udC1wYWdlLWNvbnRhY3Qge1xuICAvLyBWw6FsdG96w7NrIChoZWx5aSBrb25zdGFuc29rIGEga8Opc8WRYmJpIGvDtm5ueWViYiBrYXJiYW50YXJ0w6FzaG96KVxuICAkaW5wdXQtYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICR0ZXh0YXJlYS1ib3JkZXItcmFkaXVzOiAxNXB4O1xuICAkaW5wdXQtcGFkZGluZzogMC44ZW0gMWVtO1xuICAkZmllbGQtc3BhY2luZy1tb2JpbGU6IDAuNXJlbTtcbiAgJGZpZWxkLXNwYWNpbmctZGVza3RvcDogMXJlbTtcbiAgJGZpZWxkLXdpZHRoLWRlc2t0b3A6IGNhbGMoMjUlIC0gMC41cmVtKTtcbiAgXG4gIC8vIFN6ZWtjacOzIGFsYXBva1xuICBwYWRkaW5nOiAxcmVtIDAgMnJlbSAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIEZpZWxkcyB3cmFwcGVyIC0gRmxleGJveCBsYXlvdXRcbiAgLmZpZWxkcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gY29udGFpbmVyXG4gIC5mb3JtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBcbiAgICAvLyBNb2JpbGU6IGZ1bGwgd2lkdGgsIHrDtmxkIGjDoXR0w6lyXG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIG1hcmdpbi1sZWZ0OiAtMnJlbTtcbiAgICBwYWRkaW5nOiAycmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmVlbi1pbnRlbnNlO1xuXG4gICAgLy8gRGVza3RvcDogw6F0bMOhdHN6w7MgaMOhdHTDqXIsIGpvYmJyYSBpZ2F6w610dmFcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICB3aWR0aDogODAlO1xuICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gIH1cblxuICAvLyBCZWtlemTDqXMgY8OtbVxuICAucGFyYWdyYXBoLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZmllbGQtc3BhY2luZy1kZXNrdG9wO1xuICB9XG5cbiAgLy8gVGV4dGFyZWEgbWV6xZFcbiAgdGV4dGFyZWEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogOTRweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRmaWVsZC1zcGFjaW5nLW1vYmlsZSAhaW1wb3J0YW50O1xuICAgIFxuICAgIC8vIFN0w61sdXNva1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkdGV4dGFyZWEtYm9yZGVyLXJhZGl1cztcbiAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGZpZWxkLXNwYWNpbmctZGVza3RvcCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItZ3JheTtcbiAgICB9XG4gIH1cblxuICAvLyBJbnB1dCBtZXrFkWsgw6lzIGxhYmVsZWtcbiAgbGFiZWwsXG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gIGlucHV0W3R5cGU9XCJ0ZWxcIl0ge1xuICAgIGhlaWdodDogdW5zZXQ7XG4gICAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZpZWxkLXNwYWNpbmctbW9iaWxlO1xuICAgIFxuICAgIC8vIE1lZ2plbGVuw6lzXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkd2hpdGUsIDEpO1xuICAgIGNvbG9yOiAjNDA0NDRkO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1cztcbiAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgd2lkdGg6ICRmaWVsZC13aWR0aC1kZXNrdG9wO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGNvbG9yLWdyYXk7XG4gICAgfVxuXG4gICAgLy8gw4FsbGFwb3Rva1xuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR3aGl0ZSwgMSk7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdhbMOpcmlhIGNvbnRhaW5lclxuICAuZ2FsbGVyeS1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICB9XG5cbiAgICAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxleDogMSAxIGNhbGMoMzMuMzMlIC0gMXJlbSk7XG4gICAgICBtYXJnaW46IDAgMC41cmVtICRmaWVsZC1zcGFjaW5nLWRlc2t0b3A7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkdGV4dGFyZWEtYm9yZGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUaXBvZ3LDoWZpYVxuICBwIHtcbiAgICBjb2xvcjogJGNvbG9yLXB1cnBsZTtcbiAgfVxuXG4gIGg0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZmllbGQtc3BhY2luZy1kZXNrdG9wO1xuICAgIGNvbG9yOiAkY29sb3ItbWFnZW50YTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEZyb250IFBhZ2UgRm9vdGVyIENvbnRhY3QgU2VjdGlvblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uZnJvbnQtcGFnZS1mb290ZXItY29udGFjdCB7XG4gIC8vIFbDoWx0b3rDs2sgKGhlbHlpIGtvbnN0YW5zb2spXG4gICRpbnB1dC1ib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgJHRleHRhcmVhLWJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICRpbnB1dC1wYWRkaW5nOiAwLjhlbSAxZW07XG4gICRmaWVsZC1zcGFjaW5nLW1vYmlsZTogMC41cmVtO1xuICAkZmllbGQtc3BhY2luZy1kZXNrdG9wOiAxcmVtO1xuICAkZmllbGQtd2lkdGgtZGVza3RvcDogY2FsYyg1MCUgLSAwLjVyZW0pOyAvLyBGb290ZXItYmVuIHN6w6lsZXNlYmIgbWV6xZFrXG4gICRvdmVybGF5LWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgJG92ZXJsYXktcm90YXRpb246IDdkZWc7XG4gIFxuICAvLyBTemVrY2nDsyBhbGFwb2tcbiAgcGFkZGluZzogM3JlbSAwIDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBwYWRkaW5nOiAzcmVtIDA7XG4gIH1cblxuICAvLyBGaWVsZHMgd3JhcHBlciAtIEZsZXhib3ggbGF5b3V0XG4gIC5maWVsZHMtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGNvbnRhaW5lclxuICAuZm9ybSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgXG4gICAgLy8gTW9iaWxlOiBmdWxsIHdpZHRoLCB6w7ZsZCBow6F0dMOpclxuICAgIHdpZHRoOiAxMDB2dztcbiAgICBtYXJnaW4tbGVmdDogLTJyZW07XG4gICAgcGFkZGluZzogMnJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW4taW50ZW5zZTtcblxuICAgIC8vIERlc2t0b3A6IMOhdGzDoXRzesOzIGjDoXR0w6lyICsga8O2cmvDtnLDtnMgb3ZlcmxheSBow6F0dMOpcnJlbFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICBtYXJnaW46IDAgMCAwIGF1dG87XG4gICAgICBwYWRkaW5nOiAwIDZyZW0gMCAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB6LWluZGV4OiAyO1xuXG4gICAgICAvLyBLw7Zya8O2csO2cyB6w7ZsZCBow6F0dMOpciBvdmVybGF5XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0b3A6IC02cmVtO1xuICAgICAgICBsZWZ0OiAtOHJlbTtcbiAgICAgICAgcmlnaHQ6IC0xcmVtO1xuICAgICAgICBib3R0b206IC03cmVtO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmVlbi1pbnRlbnNlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkb3ZlcmxheS1ib3JkZXItcmFkaXVzO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkb3ZlcmxheS1yb3RhdGlvbik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQmVrZXpkw6lzIGPDrW1cbiAgLnBhcmFncmFwaC10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZpZWxkLXNwYWNpbmctZGVza3RvcDtcbiAgfVxuXG4gIC8vIFRleHRhcmVhIG1lesWRXG4gIHRleHRhcmVhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDk0cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcbiAgICBtYXJnaW4tYm90dG9tOiAkZmllbGQtc3BhY2luZy1tb2JpbGUgIWltcG9ydGFudDtcbiAgICBcbiAgICAvLyBTdMOtbHVzb2tcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJHRleHRhcmVhLWJvcmRlci1yYWRpdXM7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRmaWVsZC1zcGFjaW5nLWRlc2t0b3AgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGNvbG9yLWdyYXk7XG4gICAgfVxuICB9XG5cbiAgLy8gSW5wdXQgbWV6xZFrIMOpcyBsYWJlbGVrXG4gIGxhYmVsLFxuICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICBpbnB1dFt0eXBlPVwidGVsXCJdIHtcbiAgICBoZWlnaHQ6IHVuc2V0O1xuICAgIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRmaWVsZC1zcGFjaW5nLW1vYmlsZTtcbiAgICBcbiAgICAvLyBNZWdqZWxlbsOpc1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHdoaXRlLCAxKTtcbiAgICBjb2xvcjogIzQwNDQ0ZDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXM7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHdpZHRoOiAkZmllbGQtd2lkdGgtZGVza3RvcDtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRmaWVsZC1zcGFjaW5nLWRlc2t0b3A7XG4gICAgfVxuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRjb2xvci1ncmF5O1xuICAgIH1cblxuICAgIC8vIMOBbGxhcG90b2tcbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkd2hpdGUsIDEpO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBHYWzDqXJpYSBjb250YWluZXJcbiAgLmdhbGxlcnktY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgfVxuXG4gICAgLmdhbGxlcnktaXRlbSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsZXg6IDEgMSBjYWxjKDMzLjMzJSAtIDFyZW0pO1xuICAgICAgbWFyZ2luOiAwIDAuNXJlbSAkZmllbGQtc3BhY2luZy1kZXNrdG9wO1xuXG4gICAgICBpbWcge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHRleHRhcmVhLWJvcmRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVGlwb2dyw6FmaWFcbiAgcCB7XG4gICAgY29sb3I6ICRjb2xvci1wdXJwbGU7XG4gIH1cblxuICBoNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZpZWxkLXNwYWNpbmctZGVza3RvcDtcbiAgICBjb2xvcjogJGNvbG9yLW1hZ2VudGE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxufVxuIiwiLyoqXG4gKiBGcm9udCBGb290ZXIgYW5kIE1hcCBDb21wb25lbnRcbiAqIFxuICogQSBsw6FibMOpYyDDqXMgdMOpcmvDqXAgc3TDrWx1c2FpdCB0YXJ0YWxtYXp6YVxuICovXG5cbi5mb290ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwO1xufVxuXG4jbWFwIHtcbiAgaGVpZ2h0OiAzMHZoO1xufSJdfQ== */
