/*!
Theme Name: Verona Libri
Theme URI: http://www.overpx.com
Author: Overpx
Author URI: http://www.overpx.com
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: Overpx
*/
html, .font-sans-serif-regular {
  font-family: "josefin-sans-regular", sans-serif;
  font-weight: 400;
}

.font-sans-serif-light {
  font-family: "josefin-sans-light", sans-serif;
  font-weight: 300;
}

.font-sans-serif-bold {
  font-family: "josefin-sans-bold", sans-serif;
  font-weight: 700;
}

.font-serif-regular, .title-serif-big, .title-serif-medium, .title-serif-small, .title-serif-tiny {
  font-family: "dancing-script-regular", serif;
  font-weight: 400;
}

/*! Avalanche | MIT License | @colourgarden */
/**
 * SETTINGS
 */
/**
  * LOGIC aka THE MAGIC
  */
/**
  * GRID LAYOUT
  */
.grid {
  display: block;
  list-style: none;
  padding: 0;
  margin: 0;
  margin-left: 0px;
  font-size: 0;
}

.grid__cell {
  display: inline-block;
  width: 100%;
  padding: 0;
  padding-left: 0px;
  margin: 0;
  vertical-align: top;
  font-size: 1rem;
}

.grid--center {
  text-align: center;
}

.grid--center > .grid__cell {
  text-align: left;
}

.grid__cell--center {
  display: block;
  margin: 0 auto;
}

.grid--right {
  text-align: right;
}

.grid--right > .grid__cell {
  text-align: left;
}

.grid--middle > .grid__cell {
  vertical-align: middle;
}

.grid--bottom > .grid__cell {
  vertical-align: bottom;
}

.grid--rev {
  direction: rtl;
}

.grid--rev > .grid__cell {
  direction: ltr;
}

/**
  * GRID WIDTHS
  */
.\31\/6, .\32\/12 {
  width: 16.66667%;
}

.\32\/6, .\34\/12 {
  width: 33.33333%;
}

.\33\/6, .\36\/12 {
  width: 50%;
}

.\34\/6, .\38\/12 {
  width: 66.66667%;
}

.\35\/6, .\31\30\/12 {
  width: 83.33333%;
}

.\31\/12 {
  width: 8.33333%;
}

.\33\/12 {
  width: 25%;
}

.\35\/12 {
  width: 41.66667%;
}

.\37\/12 {
  width: 58.33333%;
}

.\39\/12 {
  width: 75%;
}

.\31\31\/12 {
  width: 91.66667%;
}

@media screen and (max-width: 499px) {
  .\31\/6--thumb, .\32\/12--thumb {
    width: 16.66667%;
  }
  .\32\/6--thumb, .\34\/12--thumb {
    width: 33.33333%;
  }
  .\33\/6--thumb, .\36\/12--thumb {
    width: 50%;
  }
  .\34\/6--thumb, .\38\/12--thumb {
    width: 66.66667%;
  }
  .\35\/6--thumb, .\31\30\/12--thumb {
    width: 83.33333%;
  }
  .\31\/12--thumb {
    width: 8.33333%;
  }
  .\33\/12--thumb {
    width: 25%;
  }
  .\35\/12--thumb {
    width: 41.66667%;
  }
  .\37\/12--thumb {
    width: 58.33333%;
  }
  .\39\/12--thumb {
    width: 75%;
  }
  .\31\31\/12--thumb {
    width: 91.66667%;
  }
}

@media screen and (min-width: 500px) and (max-width: 800px) {
  .\31\/6--handheld, .\32\/12--handheld {
    width: 16.66667%;
  }
  .\32\/6--handheld, .\34\/12--handheld {
    width: 33.33333%;
  }
  .\33\/6--handheld, .\36\/12--handheld {
    width: 50%;
  }
  .\34\/6--handheld, .\38\/12--handheld {
    width: 66.66667%;
  }
  .\35\/6--handheld, .\31\30\/12--handheld {
    width: 83.33333%;
  }
  .\31\/12--handheld {
    width: 8.33333%;
  }
  .\33\/12--handheld {
    width: 25%;
  }
  .\35\/12--handheld {
    width: 41.66667%;
  }
  .\37\/12--handheld {
    width: 58.33333%;
  }
  .\39\/12--handheld {
    width: 75%;
  }
  .\31\31\/12--handheld {
    width: 91.66667%;
  }
}

@media screen and (min-width: 500px) {
  .\31\/6--handheld-and-up, .\32\/12--handheld-and-up {
    width: 16.66667%;
  }
  .\32\/6--handheld-and-up, .\34\/12--handheld-and-up {
    width: 33.33333%;
  }
  .\33\/6--handheld-and-up, .\36\/12--handheld-and-up {
    width: 50%;
  }
  .\34\/6--handheld-and-up, .\38\/12--handheld-and-up {
    width: 66.66667%;
  }
  .\35\/6--handheld-and-up, .\31\30\/12--handheld-and-up {
    width: 83.33333%;
  }
  .\31\/12--handheld-and-up {
    width: 8.33333%;
  }
  .\33\/12--handheld-and-up {
    width: 25%;
  }
  .\35\/12--handheld-and-up {
    width: 41.66667%;
  }
  .\37\/12--handheld-and-up {
    width: 58.33333%;
  }
  .\39\/12--handheld-and-up {
    width: 75%;
  }
  .\31\31\/12--handheld-and-up {
    width: 91.66667%;
  }
}

@media screen and (max-width: 800px) {
  .\31\/6--pocket, .\32\/12--pocket {
    width: 16.66667%;
  }
  .\32\/6--pocket, .\34\/12--pocket {
    width: 33.33333%;
  }
  .\33\/6--pocket, .\36\/12--pocket {
    width: 50%;
  }
  .\34\/6--pocket, .\38\/12--pocket {
    width: 66.66667%;
  }
  .\35\/6--pocket, .\31\30\/12--pocket {
    width: 83.33333%;
  }
  .\31\/12--pocket {
    width: 8.33333%;
  }
  .\33\/12--pocket {
    width: 25%;
  }
  .\35\/12--pocket {
    width: 41.66667%;
  }
  .\37\/12--pocket {
    width: 58.33333%;
  }
  .\39\/12--pocket {
    width: 75%;
  }
  .\31\31\/12--pocket {
    width: 91.66667%;
  }
}

@media screen and (min-width: 801px) and (max-width: 1024px) {
  .\31\/6--lap, .\32\/12--lap {
    width: 16.66667%;
  }
  .\32\/6--lap, .\34\/12--lap {
    width: 33.33333%;
  }
  .\33\/6--lap, .\36\/12--lap {
    width: 50%;
  }
  .\34\/6--lap, .\38\/12--lap {
    width: 66.66667%;
  }
  .\35\/6--lap, .\31\30\/12--lap {
    width: 83.33333%;
  }
  .\31\/12--lap {
    width: 8.33333%;
  }
  .\33\/12--lap {
    width: 25%;
  }
  .\35\/12--lap {
    width: 41.66667%;
  }
  .\37\/12--lap {
    width: 58.33333%;
  }
  .\39\/12--lap {
    width: 75%;
  }
  .\31\31\/12--lap {
    width: 91.66667%;
  }
}

@media screen and (min-width: 768px) {
  .\31\/6--lap-and-up, .\32\/12--lap-and-up {
    width: 16.66667%;
  }
  .\32\/6--lap-and-up, .\34\/12--lap-and-up {
    width: 33.33333%;
  }
  .\33\/6--lap-and-up, .\36\/12--lap-and-up {
    width: 50%;
  }
  .\34\/6--lap-and-up, .\38\/12--lap-and-up {
    width: 66.66667%;
  }
  .\35\/6--lap-and-up, .\31\30\/12--lap-and-up {
    width: 83.33333%;
  }
  .\31\/12--lap-and-up {
    width: 8.33333%;
  }
  .\33\/12--lap-and-up {
    width: 25%;
  }
  .\35\/12--lap-and-up {
    width: 41.66667%;
  }
  .\37\/12--lap-and-up {
    width: 58.33333%;
  }
  .\39\/12--lap-and-up {
    width: 75%;
  }
  .\31\31\/12--lap-and-up {
    width: 91.66667%;
  }
}

@media screen and (max-width: 1024px) {
  .\31\/6--portable, .\32\/12--portable {
    width: 16.66667%;
  }
  .\32\/6--portable, .\34\/12--portable {
    width: 33.33333%;
  }
  .\33\/6--portable, .\36\/12--portable {
    width: 50%;
  }
  .\34\/6--portable, .\38\/12--portable {
    width: 66.66667%;
  }
  .\35\/6--portable, .\31\30\/12--portable {
    width: 83.33333%;
  }
  .\31\/12--portable {
    width: 8.33333%;
  }
  .\33\/12--portable {
    width: 25%;
  }
  .\35\/12--portable {
    width: 41.66667%;
  }
  .\37\/12--portable {
    width: 58.33333%;
  }
  .\39\/12--portable {
    width: 75%;
  }
  .\31\31\/12--portable {
    width: 91.66667%;
  }
}

@media screen and (min-width: 1024px) {
  .\31\/6--desk, .\32\/12--desk {
    width: 16.66667%;
  }
  .\32\/6--desk, .\34\/12--desk {
    width: 33.33333%;
  }
  .\33\/6--desk, .\36\/12--desk {
    width: 50%;
  }
  .\34\/6--desk, .\38\/12--desk {
    width: 66.66667%;
  }
  .\35\/6--desk, .\31\30\/12--desk {
    width: 83.33333%;
  }
  .\31\/12--desk {
    width: 8.33333%;
  }
  .\33\/12--desk {
    width: 25%;
  }
  .\35\/12--desk {
    width: 41.66667%;
  }
  .\37\/12--desk {
    width: 58.33333%;
  }
  .\39\/12--desk {
    width: 75%;
  }
  .\31\31\/12--desk {
    width: 91.66667%;
  }
}

@media screen and (min-width: 1366px) {
  .\31\/6--widescreen, .\32\/12--widescreen {
    width: 16.66667%;
  }
  .\32\/6--widescreen, .\34\/12--widescreen {
    width: 33.33333%;
  }
  .\33\/6--widescreen, .\36\/12--widescreen {
    width: 50%;
  }
  .\34\/6--widescreen, .\38\/12--widescreen {
    width: 66.66667%;
  }
  .\35\/6--widescreen, .\31\30\/12--widescreen {
    width: 83.33333%;
  }
  .\31\/12--widescreen {
    width: 8.33333%;
  }
  .\33\/12--widescreen {
    width: 25%;
  }
  .\35\/12--widescreen {
    width: 41.66667%;
  }
  .\37\/12--widescreen {
    width: 58.33333%;
  }
  .\39\/12--widescreen {
    width: 75%;
  }
  .\31\31\/12--widescreen {
    width: 91.66667%;
  }
}

@media screen and (min-width: 1600px) {
  .\31\/6--dvl, .\32\/12--dvl {
    width: 16.66667%;
  }
  .\32\/6--dvl, .\34\/12--dvl {
    width: 33.33333%;
  }
  .\33\/6--dvl, .\36\/12--dvl {
    width: 50%;
  }
  .\34\/6--dvl, .\38\/12--dvl {
    width: 66.66667%;
  }
  .\35\/6--dvl, .\31\30\/12--dvl {
    width: 83.33333%;
  }
  .\31\/12--dvl {
    width: 8.33333%;
  }
  .\33\/12--dvl {
    width: 25%;
  }
  .\35\/12--dvl {
    width: 41.66667%;
  }
  .\37\/12--dvl {
    width: 58.33333%;
  }
  .\39\/12--dvl {
    width: 75%;
  }
  .\31\31\/12--dvl {
    width: 91.66667%;
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 2), screen and (min-resolution: 192dpi), screen and (min-resolution: 2dppx) {
  .\31\/6--retina, .\32\/12--retina {
    width: 16.66667%;
  }
  .\32\/6--retina, .\34\/12--retina {
    width: 33.33333%;
  }
  .\33\/6--retina, .\36\/12--retina {
    width: 50%;
  }
  .\34\/6--retina, .\38\/12--retina {
    width: 66.66667%;
  }
  .\35\/6--retina, .\31\30\/12--retina {
    width: 83.33333%;
  }
  .\31\/12--retina {
    width: 8.33333%;
  }
  .\33\/12--retina {
    width: 25%;
  }
  .\35\/12--retina {
    width: 41.66667%;
  }
  .\37\/12--retina {
    width: 58.33333%;
  }
  .\39\/12--retina {
    width: 75%;
  }
  .\31\31\/12--retina {
    width: 91.66667%;
  }
}

/**
  * GRID OFFSETS
  */
.offset-1\/12 {
  padding-left: 8.33333%;
}

.offset-2\/12 {
  padding-left: 16.66667%;
}

.offset-3\/12 {
  padding-left: 25%;
}

.offset-4\/12 {
  padding-left: 33.33333%;
}

.offset-5\/12 {
  padding-left: 41.66667%;
}

.offset-6\/12 {
  padding-left: 50%;
}

.offset-7\/12 {
  padding-left: 58.33333%;
}

.offset-8\/12 {
  padding-left: 66.66667%;
}

.offset-9\/12 {
  padding-left: 75%;
}

.offset-10\/12 {
  padding-left: 83.33333%;
}

.offset-11\/12 {
  padding-left: 91.66667%;
}

@media screen and (max-width: 499px) {
  .offset-1\/12--thumb {
    padding-left: 8.33333%;
  }
  .offset-2\/12--thumb {
    padding-left: 16.66667%;
  }
  .offset-3\/12--thumb {
    padding-left: 25%;
  }
  .offset-4\/12--thumb {
    padding-left: 33.33333%;
  }
  .offset-5\/12--thumb {
    padding-left: 41.66667%;
  }
  .offset-6\/12--thumb {
    padding-left: 50%;
  }
  .offset-7\/12--thumb {
    padding-left: 58.33333%;
  }
  .offset-8\/12--thumb {
    padding-left: 66.66667%;
  }
  .offset-9\/12--thumb {
    padding-left: 75%;
  }
  .offset-10\/12--thumb {
    padding-left: 83.33333%;
  }
  .offset-11\/12--thumb {
    padding-left: 91.66667%;
  }
}

@media screen and (min-width: 500px) and (max-width: 800px) {
  .offset-1\/12--handheld {
    padding-left: 8.33333%;
  }
  .offset-2\/12--handheld {
    padding-left: 16.66667%;
  }
  .offset-3\/12--handheld {
    padding-left: 25%;
  }
  .offset-4\/12--handheld {
    padding-left: 33.33333%;
  }
  .offset-5\/12--handheld {
    padding-left: 41.66667%;
  }
  .offset-6\/12--handheld {
    padding-left: 50%;
  }
  .offset-7\/12--handheld {
    padding-left: 58.33333%;
  }
  .offset-8\/12--handheld {
    padding-left: 66.66667%;
  }
  .offset-9\/12--handheld {
    padding-left: 75%;
  }
  .offset-10\/12--handheld {
    padding-left: 83.33333%;
  }
  .offset-11\/12--handheld {
    padding-left: 91.66667%;
  }
}

@media screen and (min-width: 500px) {
  .offset-1\/12--handheld-and-up {
    padding-left: 8.33333%;
  }
  .offset-2\/12--handheld-and-up {
    padding-left: 16.66667%;
  }
  .offset-3\/12--handheld-and-up {
    padding-left: 25%;
  }
  .offset-4\/12--handheld-and-up {
    padding-left: 33.33333%;
  }
  .offset-5\/12--handheld-and-up {
    padding-left: 41.66667%;
  }
  .offset-6\/12--handheld-and-up {
    padding-left: 50%;
  }
  .offset-7\/12--handheld-and-up {
    padding-left: 58.33333%;
  }
  .offset-8\/12--handheld-and-up {
    padding-left: 66.66667%;
  }
  .offset-9\/12--handheld-and-up {
    padding-left: 75%;
  }
  .offset-10\/12--handheld-and-up {
    padding-left: 83.33333%;
  }
  .offset-11\/12--handheld-and-up {
    padding-left: 91.66667%;
  }
}

@media screen and (max-width: 800px) {
  .offset-1\/12--pocket {
    padding-left: 8.33333%;
  }
  .offset-2\/12--pocket {
    padding-left: 16.66667%;
  }
  .offset-3\/12--pocket {
    padding-left: 25%;
  }
  .offset-4\/12--pocket {
    padding-left: 33.33333%;
  }
  .offset-5\/12--pocket {
    padding-left: 41.66667%;
  }
  .offset-6\/12--pocket {
    padding-left: 50%;
  }
  .offset-7\/12--pocket {
    padding-left: 58.33333%;
  }
  .offset-8\/12--pocket {
    padding-left: 66.66667%;
  }
  .offset-9\/12--pocket {
    padding-left: 75%;
  }
  .offset-10\/12--pocket {
    padding-left: 83.33333%;
  }
  .offset-11\/12--pocket {
    padding-left: 91.66667%;
  }
}

@media screen and (min-width: 801px) and (max-width: 1024px) {
  .offset-1\/12--lap {
    padding-left: 8.33333%;
  }
  .offset-2\/12--lap {
    padding-left: 16.66667%;
  }
  .offset-3\/12--lap {
    padding-left: 25%;
  }
  .offset-4\/12--lap {
    padding-left: 33.33333%;
  }
  .offset-5\/12--lap {
    padding-left: 41.66667%;
  }
  .offset-6\/12--lap {
    padding-left: 50%;
  }
  .offset-7\/12--lap {
    padding-left: 58.33333%;
  }
  .offset-8\/12--lap {
    padding-left: 66.66667%;
  }
  .offset-9\/12--lap {
    padding-left: 75%;
  }
  .offset-10\/12--lap {
    padding-left: 83.33333%;
  }
  .offset-11\/12--lap {
    padding-left: 91.66667%;
  }
}

@media screen and (min-width: 768px) {
  .offset-1\/12--lap-and-up {
    padding-left: 8.33333%;
  }
  .offset-2\/12--lap-and-up {
    padding-left: 16.66667%;
  }
  .offset-3\/12--lap-and-up {
    padding-left: 25%;
  }
  .offset-4\/12--lap-and-up {
    padding-left: 33.33333%;
  }
  .offset-5\/12--lap-and-up {
    padding-left: 41.66667%;
  }
  .offset-6\/12--lap-and-up {
    padding-left: 50%;
  }
  .offset-7\/12--lap-and-up {
    padding-left: 58.33333%;
  }
  .offset-8\/12--lap-and-up {
    padding-left: 66.66667%;
  }
  .offset-9\/12--lap-and-up {
    padding-left: 75%;
  }
  .offset-10\/12--lap-and-up {
    padding-left: 83.33333%;
  }
  .offset-11\/12--lap-and-up {
    padding-left: 91.66667%;
  }
}

@media screen and (max-width: 1024px) {
  .offset-1\/12--portable {
    padding-left: 8.33333%;
  }
  .offset-2\/12--portable {
    padding-left: 16.66667%;
  }
  .offset-3\/12--portable {
    padding-left: 25%;
  }
  .offset-4\/12--portable {
    padding-left: 33.33333%;
  }
  .offset-5\/12--portable {
    padding-left: 41.66667%;
  }
  .offset-6\/12--portable {
    padding-left: 50%;
  }
  .offset-7\/12--portable {
    padding-left: 58.33333%;
  }
  .offset-8\/12--portable {
    padding-left: 66.66667%;
  }
  .offset-9\/12--portable {
    padding-left: 75%;
  }
  .offset-10\/12--portable {
    padding-left: 83.33333%;
  }
  .offset-11\/12--portable {
    padding-left: 91.66667%;
  }
}

@media screen and (min-width: 1024px) {
  .offset-1\/12--desk {
    padding-left: 8.33333%;
  }
  .offset-2\/12--desk {
    padding-left: 16.66667%;
  }
  .offset-3\/12--desk {
    padding-left: 25%;
  }
  .offset-4\/12--desk {
    padding-left: 33.33333%;
  }
  .offset-5\/12--desk {
    padding-left: 41.66667%;
  }
  .offset-6\/12--desk {
    padding-left: 50%;
  }
  .offset-7\/12--desk {
    padding-left: 58.33333%;
  }
  .offset-8\/12--desk {
    padding-left: 66.66667%;
  }
  .offset-9\/12--desk {
    padding-left: 75%;
  }
  .offset-10\/12--desk {
    padding-left: 83.33333%;
  }
  .offset-11\/12--desk {
    padding-left: 91.66667%;
  }
}

@media screen and (min-width: 1366px) {
  .offset-1\/12--widescreen {
    padding-left: 8.33333%;
  }
  .offset-2\/12--widescreen {
    padding-left: 16.66667%;
  }
  .offset-3\/12--widescreen {
    padding-left: 25%;
  }
  .offset-4\/12--widescreen {
    padding-left: 33.33333%;
  }
  .offset-5\/12--widescreen {
    padding-left: 41.66667%;
  }
  .offset-6\/12--widescreen {
    padding-left: 50%;
  }
  .offset-7\/12--widescreen {
    padding-left: 58.33333%;
  }
  .offset-8\/12--widescreen {
    padding-left: 66.66667%;
  }
  .offset-9\/12--widescreen {
    padding-left: 75%;
  }
  .offset-10\/12--widescreen {
    padding-left: 83.33333%;
  }
  .offset-11\/12--widescreen {
    padding-left: 91.66667%;
  }
}

@media screen and (min-width: 1600px) {
  .offset-1\/12--dvl {
    padding-left: 8.33333%;
  }
  .offset-2\/12--dvl {
    padding-left: 16.66667%;
  }
  .offset-3\/12--dvl {
    padding-left: 25%;
  }
  .offset-4\/12--dvl {
    padding-left: 33.33333%;
  }
  .offset-5\/12--dvl {
    padding-left: 41.66667%;
  }
  .offset-6\/12--dvl {
    padding-left: 50%;
  }
  .offset-7\/12--dvl {
    padding-left: 58.33333%;
  }
  .offset-8\/12--dvl {
    padding-left: 66.66667%;
  }
  .offset-9\/12--dvl {
    padding-left: 75%;
  }
  .offset-10\/12--dvl {
    padding-left: 83.33333%;
  }
  .offset-11\/12--dvl {
    padding-left: 91.66667%;
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 2), screen and (min-resolution: 192dpi), screen and (min-resolution: 2dppx) {
  .offset-1\/12--retina {
    padding-left: 8.33333%;
  }
  .offset-2\/12--retina {
    padding-left: 16.66667%;
  }
  .offset-3\/12--retina {
    padding-left: 25%;
  }
  .offset-4\/12--retina {
    padding-left: 33.33333%;
  }
  .offset-5\/12--retina {
    padding-left: 41.66667%;
  }
  .offset-6\/12--retina {
    padding-left: 50%;
  }
  .offset-7\/12--retina {
    padding-left: 58.33333%;
  }
  .offset-8\/12--retina {
    padding-left: 66.66667%;
  }
  .offset-9\/12--retina {
    padding-left: 75%;
  }
  .offset-10\/12--retina {
    padding-left: 83.33333%;
  }
  .offset-11\/12--retina {
    padding-left: 91.66667%;
  }
}

html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  color: #000;
}

body {
  margin: 0;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
p,
blockquote,
figure,
ol,
ul {
  margin: 0;
  padding: 0;
}

main,
li {
  display: block;
}

h1,
h2,
h3,
h4 {
  font-size: inherit;
}

strong {
  font-weight: bold;
}

a,
button {
  color: inherit;
  -webkit-transition: .3s;
  transition: .3s;
}

a {
  text-decoration: none;
}

button {
  overflow: visible;
  border: 0;
  font: inherit;
  -webkit-font-smoothing: inherit;
  letter-spacing: inherit;
  background: none;
  cursor: pointer;
}

::-moz-focus-inner {
  padding: 0;
  border: 0;
}

:focus {
  outline: 0;
}

img {
  max-width: 100%;
  height: auto;
  border: 0;
}

/* Common */
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@font-face {
  font-family: "josefin-sans-regular";
  font-weight: normal;
  font-style: normal;
  font-display: block;
  src: url("assets/fonts/josefin-sans-regular/josefin-sans-regular.woff2") format("woff2"), url("assets/fonts/josefin-sans-regular/josefin-sans-regular.woff") format("woff");
}

@font-face {
  font-family: "josefin-sans-light";
  font-weight: normal;
  font-style: normal;
  font-display: block;
  src: url("assets/fonts/josefin-sans-light/josefin-sans-light.woff2") format("woff2"), url("assets/fonts/josefin-sans-light/josefin-sans-light.woff") format("woff");
}

@font-face {
  font-family: "josefin-sans-bold";
  font-weight: normal;
  font-style: normal;
  font-display: block;
  src: url("assets/fonts/josefin-sans-bold/josefin-sans-bold.woff2") format("woff2"), url("assets/fonts/josefin-sans-bold/josefin-sans-bold.woff") format("woff");
}

@font-face {
  font-family: "dancing-script-regular";
  font-weight: normal;
  font-style: normal;
  font-display: block;
  src: url("assets/fonts/dancing-script-regular/dancing-script-regular.woff2") format("woff2"), url("assets/fonts/dancing-script-regular/dancing-script-regular.woff") format("woff");
}

html {
  font-size: 16px;
  color: #4A4A4A;
}

body {
  max-width: 1920px;
  margin: 0 auto;
}

/* Typography Family */
/* Typography Size */
.title-serif-big {
  font-size: 28px;
}

@media only screen and (min-width: 768px) {
  .title-serif-big {
    font-size: 34px;
  }
}

@media only screen and (min-width: 1024px) {
  .title-serif-big {
    font-size: -webkit-calc(50px + (90 - 50) * (100vw - 1024px) / (1920 - 1024));
    font-size: calc(50px + (90 - 50) * (100vw - 1024px) / (1920 - 1024));
  }
}

@media only screen and (min-width: 1920px) {
  .title-serif-big {
    font-size: 90px;
  }
}

.title-serif-medium {
  font-size: 24px;
}

@media only screen and (min-width: 768px) {
  .title-serif-medium {
    font-size: 30px;
  }
}

@media only screen and (min-width: 1024px) {
  .title-serif-medium {
    font-size: -webkit-calc(40px + (60 - 40) * (100vw - 1024px) / (1920 - 1024));
    font-size: calc(40px + (60 - 40) * (100vw - 1024px) / (1920 - 1024));
  }
}

@media only screen and (min-width: 1920px) {
  .title-serif-medium {
    font-size: 60px;
  }
}

.title-serif-small {
  font-size: 18px;
}

@media only screen and (min-width: 768px) {
  .title-serif-small {
    font-size: 24px;
  }
}

@media only screen and (min-width: 1024px) {
  .title-serif-small {
    font-size: -webkit-calc(30px + (40 - 30) * (100vw - 1024px) / (1920 - 1024));
    font-size: calc(30px + (40 - 30) * (100vw - 1024px) / (1920 - 1024));
  }
}

@media only screen and (min-width: 1920px) {
  .title-serif-small {
    font-size: 40px;
  }
}

.title-serif-tiny {
  font-size: 12px;
}

@media only screen and (min-width: 768px) {
  .title-serif-tiny {
    font-size: 14px;
  }
}

@media only screen and (min-width: 1024px) {
  .title-serif-tiny {
    font-size: -webkit-calc(16px + (20 - 16) * (100vw - 1024px) / (1920 - 1024));
    font-size: calc(16px + (20 - 16) * (100vw - 1024px) / (1920 - 1024));
  }
}

@media only screen and (min-width: 1920px) {
  .title-serif-tiny {
    font-size: 20px;
  }
}

.title-sans-serif-big {
  font-size: 18px;
}

@media only screen and (min-width: 768px) {
  .title-sans-serif-big {
    font-size: 24px;
  }
}

@media only screen and (min-width: 1024px) {
  .title-sans-serif-big {
    font-size: -webkit-calc(30px + (40 - 30) * (100vw - 1024px) / (1920 - 1024));
    font-size: calc(30px + (40 - 30) * (100vw - 1024px) / (1920 - 1024));
  }
}

@media only screen and (min-width: 1920px) {
  .title-sans-serif-big {
    font-size: 40px;
  }
}

.title-sans-serif-medium {
  font-size: 16px;
}

@media only screen and (min-width: 768px) {
  .title-sans-serif-medium {
    font-size: 18px;
  }
}

@media only screen and (min-width: 1024px) {
  .title-sans-serif-medium {
    font-size: -webkit-calc(20px + (26 - 20) * (100vw - 1024px) / (1920 - 1024));
    font-size: calc(20px + (26 - 20) * (100vw - 1024px) / (1920 - 1024));
  }
}

@media only screen and (min-width: 1920px) {
  .title-sans-serif-medium {
    font-size: 26px;
  }
}

.bodycopy-big {
  font-size: 15px;
}

@media only screen and (min-width: 768px) {
  .bodycopy-big {
    font-size: 16px;
  }
}

@media only screen and (min-width: 1024px) {
  .bodycopy-big {
    font-size: -webkit-calc(18px + (20 - 18) * (100vw - 1024px) / (1920 - 1024));
    font-size: calc(18px + (20 - 18) * (100vw - 1024px) / (1920 - 1024));
  }
}

@media only screen and (min-width: 1920px) {
  .bodycopy-big {
    font-size: 20px;
  }
}

.bodycopy-medium {
  font-size: 14px;
}

@media only screen and (min-width: 768px) {
  .bodycopy-medium {
    font-size: 15px;
  }
}

@media only screen and (min-width: 1024px) {
  .bodycopy-medium {
    font-size: -webkit-calc(16px + (18 - 16) * (100vw - 1024px) / (1920 - 1024));
    font-size: calc(16px + (18 - 16) * (100vw - 1024px) / (1920 - 1024));
  }
}

@media only screen and (min-width: 1920px) {
  .bodycopy-medium {
    font-size: 18px;
  }
}

.bodycopy-small {
  font-size: 12px;
}

@media only screen and (min-width: 768px) {
  .bodycopy-small {
    font-size: 14px;
  }
}

@media only screen and (min-width: 1024px) {
  .bodycopy-small {
    font-size: -webkit-calc(14px + (16 - 14) * (100vw - 1024px) / (1920 - 1024));
    font-size: calc(14px + (16 - 14) * (100vw - 1024px) / (1920 - 1024));
  }
}

@media only screen and (min-width: 1920px) {
  .bodycopy-small {
    font-size: 16px;
  }
}

/* Sizes */
main {
  max-width: 1920px;
  margin: auto;
}

.image {
  display: block;
}

select, button, input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* footer */

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCJ1dGlsaXRpZXMvX2ZvbnQtZmFtaWx5LnNjc3MiLCJoZWxwZXJzL19taXhpbnMuc2NzcyIsImhlbHBlcnMvX3ZhcmlhYmxlcy5zY3NzIiwidmVuZG9yL19hdmFsYW5jaGUuc2NzcyIsInN0eWxlLmNzcyIsImJhc2UvX3Jlc2V0LnNjc3MiLCJsYXlvdXQvX2NvbW1vbi5zY3NzIiwibGF5b3V0L19mb290ZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7O0VBU0U7QUNMRDtFQ2lCQyxnRENYZ0Q7RURXaEQsaUJDVmdCO0NGTGhCOztBQUZEO0VDaUJDLDhDQ1A4QztFRE85QyxpQkNOZ0I7Q0ZUaEI7O0FBRkQ7RUNpQkMsNkNDSDZDO0VERzdDLGlCQ0ZnQjtDRmJoQjs7QUFGRDtFQ2lCQyw2Q0NDNkM7RUREN0MsaUJDRWdCO0NGakJoQjs7QUdORiw4Q0FBOEM7QUFFOUM7O0dBRUc7QUFrREY7O0lBRUc7QUE4TUg7O0lBRUc7QUFDSDtFQUNFLGVBQWM7RUFDZCxpQkFBZ0I7RUFDaEIsV0FBVTtFQUNWLFVBQVM7RUFDVCxpQkFsUTZCO0VBbVE3QixhQUFZO0NBQ2I7O0FBRUQ7RUFDRSxzQkFBcUI7RUFDckIsWUFBVztFQUNYLFdBQVU7RUFDVixrQkExUTZCO0VBMlE3QixVQUFTO0VBQ1Qsb0JBQW1CO0VBQ25CLGdCQUFlO0NBQ2hCOztBQUlDO0VBQ0UsbUJBQWtCO0NBS25COztBQU5EO0VBSUksaUJBQWdCO0NBQ2pCOztBQUtIO0VBQ0UsZUFBYztFQUNkLGVBQWM7Q0FDZjs7QUFJRDtFQUNFLGtCQUFpQjtDQUtsQjs7QUFORDtFQUlJLGlCQUFnQjtDQUNqQjs7QUFLSDtFQUVJLHVCQUFzQjtDQUN2Qjs7QUFLSDtFQUVJLHVCQUFzQjtDQUN2Qjs7QUErREg7RUFDRSxlQUFjO0NBS2Y7O0FBTkQ7RUFJSSxlQUFjO0NBQ2Y7O0FBSUw7O0lBRUc7QUFoT0s7RUFRSSxpQkFkK0M7Q0FnQmxEOztBQVZEO0VBUUksaUJBZCtDO0NBZ0JsRDs7QUFWRDtFQVFJLFdBZCtDO0NBZ0JsRDs7QUFWRDtFQVFJLGlCQWQrQztDQWdCbEQ7O0FBVkQ7RUFRSSxpQkFkK0M7Q0FnQmxEOztBQVZEO0VBUUksZ0JBZCtDO0NBZ0JsRDs7QUFWRDtFQVFJLFdBZCtDO0NBZ0JsRDs7QUFWRDtFQVFJLGlCQWQrQztDQWdCbEQ7O0FBVkQ7RUFRSSxpQkFkK0M7Q0FnQmxEOztBQVZEO0VBUUksV0FkK0M7Q0FnQmxEOztBQVZEO0VBUUksaUJBZCtDO0NBZ0JsRDs7QUFnT0w7RUExT0k7SUFRSSxpQkFkK0M7R0FnQmxEO0VBVkQ7SUFRSSxpQkFkK0M7R0FnQmxEO0VBVkQ7SUFRSSxXQWQrQztHQWdCbEQ7RUFWRDtJQVFJLGlCQWQrQztHQWdCbEQ7RUFWRDtJQVFJLGlCQWQrQztHQWdCbEQ7RUFWRDtJQVFJLGdCQWQrQztHQWdCbEQ7RUFWRDtJQVFJLFdBZCtDO0dBZ0JsRDtFQVZEO0lBUUksaUJBZCtDO0dBZ0JsRDtFQVZEO0lBUUksaUJBZCtDO0dBZ0JsRDtFQVZEO0lBUUksV0FkK0M7R0FnQmxEO0VBVkQ7SUFRSSxpQkFkK0M7R0FnQmxEO0NDUFQ7O0FEdU9JO0VBMU9JO0lBUUksaUJBZCtDO0dBZ0JsRDtFQVZEO0lBUUksaUJBZCtDO0dBZ0JsRDtFQVZEO0lBUUksV0FkK0M7R0FnQmxEO0VBVkQ7SUFRSSxpQkFkK0M7R0FnQmxEO0VBVkQ7SUFRSSxpQkFkK0M7R0FnQmxEO0VBVkQ7SUFRSSxnQkFkK0M7R0FnQmxEO0VBVkQ7SUFRSSxXQWQrQztHQWdCbEQ7RUFWRDtJQVFJLGlCQWQrQztHQWdCbEQ7RUFWRDtJQVFJLGlCQWQrQztHQWdCbEQ7RUFWRDtJQVFJLFdBZCtDO0dBZ0JsRDtFQVZEO0lBUUksaUJBZCtDO0dBZ0JsRDtDQzZCVDs7QURtTUk7RUExT0k7SUFRSSxpQkFkK0M7R0FnQmxEO0VBVkQ7SUFRSSxpQkFkK0M7R0FnQmxEO0VBVkQ7SUFRSSxXQWQrQztHQWdCbEQ7RUFWRDtJQVFJLGlCQWQrQztHQWdCbEQ7RUFWRDtJQVFJLGlCQWQrQztHQWdCbEQ7RUFWRDtJQVFJLGdCQWQrQztHQWdCbEQ7RUFWRDtJQVFJLFdBZCtDO0dBZ0JsRDtFQVZEO0lBUUksaUJBZCtDO0dBZ0JsRDtFQVZEO0lBUUksaUJBZCtDO0dBZ0JsRDtFQVZEO0lBUUksV0FkK0M7R0FnQmxEO0VBVkQ7SUFRSSxpQkFkK0M7R0FnQmxEO0NDaUVUOztBRCtKSTtFQTFPSTtJQVFJLGlCQWQrQztHQWdCbEQ7RUFWRDtJQVFJLGlCQWQrQztHQWdCbEQ7RUFWRDtJQVFJLFdBZCtDO0dBZ0JsRDtFQVZEO0lBUUksaUJBZCtDO0dBZ0JsRDtFQVZEO0lBUUksaUJBZCtDO0dBZ0JsRDtFQVZEO0lBUUksZ0JBZCtDO0dBZ0JsRDtFQVZEO0lBUUksV0FkK0M7R0FnQmxEO0VBVkQ7SUFRSSxpQkFkK0M7R0FnQmxEO0VBVkQ7SUFRSSxpQkFkK0M7R0FnQmxEO0VBVkQ7SUFRSSxXQWQrQztHQWdCbEQ7RUFWRDtJQVFJLGlCQWQrQztHQWdCbEQ7Q0NxR1Q7O0FEMkhJO0VBMU9JO0lBUUksaUJBZCtDO0dBZ0JsRDtFQVZEO0lBUUksaUJBZCtDO0dBZ0JsRDtFQVZEO0lBUUksV0FkK0M7R0FnQmxEO0VBVkQ7SUFRSSxpQkFkK0M7R0FnQmxEO0VBVkQ7SUFRSSxpQkFkK0M7R0FnQmxEO0VBVkQ7SUFRSSxnQkFkK0M7R0FnQmxEO0VBVkQ7SUFRSSxXQWQrQztHQWdCbEQ7RUFWRDtJQVFJLGlCQWQrQztHQWdCbEQ7RUFWRDtJQVFJLGlCQWQrQztHQWdCbEQ7RUFWRDtJQVFJLFdBZCtDO0dBZ0JsRDtFQVZEO0lBUUksaUJBZCtDO0dBZ0JsRDtDQ3lJVDs7QUR1Rkk7RUExT0k7SUFRSSxpQkFkK0M7R0FnQmxEO0VBVkQ7SUFRSSxpQkFkK0M7R0FnQmxEO0VBVkQ7SUFRSSxXQWQrQztHQWdCbEQ7RUFWRDtJQVFJLGlCQWQrQztHQWdCbEQ7RUFWRDtJQVFJLGlCQWQrQztHQWdCbEQ7RUFWRDtJQVFJLGdCQWQrQztHQWdCbEQ7RUFWRDtJQVFJLFdBZCtDO0dBZ0JsRDtFQVZEO0lBUUksaUJBZCtDO0dBZ0JsRDtFQVZEO0lBUUksaUJBZCtDO0dBZ0JsRDtFQVZEO0lBUUksV0FkK0M7R0FnQmxEO0VBVkQ7SUFRSSxpQkFkK0M7R0FnQmxEO0NDNktUOztBRG1ESTtFQTFPSTtJQVFJLGlCQWQrQztHQWdCbEQ7RUFWRDtJQVFJLGlCQWQrQztHQWdCbEQ7RUFWRDtJQVFJLFdBZCtDO0dBZ0JsRDtFQVZEO0lBUUksaUJBZCtDO0dBZ0JsRDtFQVZEO0lBUUksaUJBZCtDO0dBZ0JsRDtFQVZEO0lBUUksZ0JBZCtDO0dBZ0JsRDtFQVZEO0lBUUksV0FkK0M7R0FnQmxEO0VBVkQ7SUFRSSxpQkFkK0M7R0FnQmxEO0VBVkQ7SUFRSSxpQkFkK0M7R0FnQmxEO0VBVkQ7SUFRSSxXQWQrQztHQWdCbEQ7RUFWRDtJQVFJLGlCQWQrQztHQWdCbEQ7Q0NpTlQ7O0FEZUk7RUExT0k7SUFRSSxpQkFkK0M7R0FnQmxEO0VBVkQ7SUFRSSxpQkFkK0M7R0FnQmxEO0VBVkQ7SUFRSSxXQWQrQztHQWdCbEQ7RUFWRDtJQVFJLGlCQWQrQztHQWdCbEQ7RUFWRDtJQVFJLGlCQWQrQztHQWdCbEQ7RUFWRDtJQVFJLGdCQWQrQztHQWdCbEQ7RUFWRDtJQVFJLFdBZCtDO0dBZ0JsRDtFQVZEO0lBUUksaUJBZCtDO0dBZ0JsRDtFQVZEO0lBUUksaUJBZCtDO0dBZ0JsRDtFQVZEO0lBUUksV0FkK0M7R0FnQmxEO0VBVkQ7SUFRSSxpQkFkK0M7R0FnQmxEO0NDcVBUOztBRHJCSTtFQTFPSTtJQVFJLGlCQWQrQztHQWdCbEQ7RUFWRDtJQVFJLGlCQWQrQztHQWdCbEQ7RUFWRDtJQVFJLFdBZCtDO0dBZ0JsRDtFQVZEO0lBUUksaUJBZCtDO0dBZ0JsRDtFQVZEO0lBUUksaUJBZCtDO0dBZ0JsRDtFQVZEO0lBUUksZ0JBZCtDO0dBZ0JsRDtFQVZEO0lBUUksV0FkK0M7R0FnQmxEO0VBVkQ7SUFRSSxpQkFkK0M7R0FnQmxEO0VBVkQ7SUFRSSxpQkFkK0M7R0FnQmxEO0VBVkQ7SUFRSSxXQWQrQztHQWdCbEQ7RUFWRDtJQVFJLGlCQWQrQztHQWdCbEQ7Q0N5UlQ7O0FEekRJO0VBMU9JO0lBUUksaUJBZCtDO0dBZ0JsRDtFQVZEO0lBUUksaUJBZCtDO0dBZ0JsRDtFQVZEO0lBUUksV0FkK0M7R0FnQmxEO0VBVkQ7SUFRSSxpQkFkK0M7R0FnQmxEO0VBVkQ7SUFRSSxpQkFkK0M7R0FnQmxEO0VBVkQ7SUFRSSxnQkFkK0M7R0FnQmxEO0VBVkQ7SUFRSSxXQWQrQztHQWdCbEQ7RUFWRDtJQVFJLGlCQWQrQztHQWdCbEQ7RUFWRDtJQVFJLGlCQWQrQztHQWdCbEQ7RUFWRDtJQVFJLFdBZCtDO0dBZ0JsRDtFQVZEO0lBUUksaUJBZCtDO0dBZ0JsRDtDQzZUVDs7QUQ3Rkk7RUExT0k7SUFRSSxpQkFkK0M7R0FnQmxEO0VBVkQ7SUFRSSxpQkFkK0M7R0FnQmxEO0VBVkQ7SUFRSSxXQWQrQztHQWdCbEQ7RUFWRDtJQVFJLGlCQWQrQztHQWdCbEQ7RUFWRDtJQVFJLGlCQWQrQztHQWdCbEQ7RUFWRDtJQVFJLGdCQWQrQztHQWdCbEQ7RUFWRDtJQVFJLFdBZCtDO0dBZ0JsRDtFQVZEO0lBUUksaUJBZCtDO0dBZ0JsRDtFQVZEO0lBUUksaUJBZCtDO0dBZ0JsRDtFQVZEO0lBUUksV0FkK0M7R0FnQmxEO0VBVkQ7SUFRSSxpQkFkK0M7R0FnQmxEO0NDaVdUOztBRDNIQzs7SUFFRTtBQTlMSTtFQVFJLHVCQWRpRDtDQWdCcEQ7O0FBVkQ7RUFRSSx3QkFkaUQ7Q0FnQnBEOztBQVZEO0VBUUksa0JBZGlEO0NBZ0JwRDs7QUFWRDtFQVFJLHdCQWRpRDtDQWdCcEQ7O0FBVkQ7RUFRSSx3QkFkaUQ7Q0FnQnBEOztBQVZEO0VBUUksa0JBZGlEO0NBZ0JwRDs7QUFWRDtFQVFJLHdCQWRpRDtDQWdCcEQ7O0FBVkQ7RUFRSSx3QkFkaUQ7Q0FnQnBEOztBQVZEO0VBUUksa0JBZGlEO0NBZ0JwRDs7QUFWRDtFQVFJLHdCQWRpRDtDQWdCcEQ7O0FBVkQ7RUFRSSx3QkFkaUQ7Q0FnQnBEOztBQThMSjtFQXhNRztJQVFJLHVCQWRpRDtHQWdCcEQ7RUFWRDtJQVFJLHdCQWRpRDtHQWdCcEQ7RUFWRDtJQVFJLGtCQWRpRDtHQWdCcEQ7RUFWRDtJQVFJLHdCQWRpRDtHQWdCcEQ7RUFWRDtJQVFJLHdCQWRpRDtHQWdCcEQ7RUFWRDtJQVFJLGtCQWRpRDtHQWdCcEQ7RUFWRDtJQVFJLHdCQWRpRDtHQWdCcEQ7RUFWRDtJQVFJLHdCQWRpRDtHQWdCcEQ7RUFWRDtJQVFJLGtCQWRpRDtHQWdCcEQ7RUFWRDtJQVFJLHdCQWRpRDtHQWdCcEQ7RUFWRDtJQVFJLHdCQWRpRDtHQWdCcEQ7Q0NnWVI7O0FEbE1JO0VBeE1HO0lBUUksdUJBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksa0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksa0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksa0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtDQ29hUjs7QUR0T0k7RUF4TUc7SUFRSSx1QkFkaUQ7R0FnQnBEO0VBVkQ7SUFRSSx3QkFkaUQ7R0FnQnBEO0VBVkQ7SUFRSSxrQkFkaUQ7R0FnQnBEO0VBVkQ7SUFRSSx3QkFkaUQ7R0FnQnBEO0VBVkQ7SUFRSSx3QkFkaUQ7R0FnQnBEO0VBVkQ7SUFRSSxrQkFkaUQ7R0FnQnBEO0VBVkQ7SUFRSSx3QkFkaUQ7R0FnQnBEO0VBVkQ7SUFRSSx3QkFkaUQ7R0FnQnBEO0VBVkQ7SUFRSSxrQkFkaUQ7R0FnQnBEO0VBVkQ7SUFRSSx3QkFkaUQ7R0FnQnBEO0VBVkQ7SUFRSSx3QkFkaUQ7R0FnQnBEO0NDd2NSOztBRDFRSTtFQXhNRztJQVFJLHVCQWRpRDtHQWdCcEQ7RUFWRDtJQVFJLHdCQWRpRDtHQWdCcEQ7RUFWRDtJQVFJLGtCQWRpRDtHQWdCcEQ7RUFWRDtJQVFJLHdCQWRpRDtHQWdCcEQ7RUFWRDtJQVFJLHdCQWRpRDtHQWdCcEQ7RUFWRDtJQVFJLGtCQWRpRDtHQWdCcEQ7RUFWRDtJQVFJLHdCQWRpRDtHQWdCcEQ7RUFWRDtJQVFJLHdCQWRpRDtHQWdCcEQ7RUFWRDtJQVFJLGtCQWRpRDtHQWdCcEQ7RUFWRDtJQVFJLHdCQWRpRDtHQWdCcEQ7RUFWRDtJQVFJLHdCQWRpRDtHQWdCcEQ7Q0M0ZVI7O0FEOVNJO0VBeE1HO0lBUUksdUJBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksa0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksa0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksa0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtDQ2doQlI7O0FEbFZJO0VBeE1HO0lBUUksdUJBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksa0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksa0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksa0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtDQ29qQlI7O0FEdFhJO0VBeE1HO0lBUUksdUJBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksa0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksa0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksa0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtDQ3dsQlI7O0FEMVpJO0VBeE1HO0lBUUksdUJBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksa0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksa0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksa0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtDQzRuQlI7O0FEOWJJO0VBeE1HO0lBUUksdUJBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksa0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksa0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksa0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtDQ2dxQlI7O0FEbGVJO0VBeE1HO0lBUUksdUJBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksa0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksa0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksa0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtFQVZEO0lBUUksd0JBZGlEO0dBZ0JwRDtDQ29zQlI7O0FEdGdCSTtFQXhNRztJQVFJLHVCQWRpRDtHQWdCcEQ7RUFWRDtJQVFJLHdCQWRpRDtHQWdCcEQ7RUFWRDtJQVFJLGtCQWRpRDtHQWdCcEQ7RUFWRDtJQVFJLHdCQWRpRDtHQWdCcEQ7RUFWRDtJQVFJLHdCQWRpRDtHQWdCcEQ7RUFWRDtJQVFJLGtCQWRpRDtHQWdCcEQ7RUFWRDtJQVFJLHdCQWRpRDtHQWdCcEQ7RUFWRDtJQVFJLHdCQWRpRDtHQWdCcEQ7RUFWRDtJQVFJLGtCQWRpRDtHQWdCcEQ7RUFWRDtJQVFJLHdCQWRpRDtHQWdCcEQ7RUFWRDtJQVFJLHdCQWRpRDtHQWdCcEQ7Q0N3dUJSOztBQ3A5QkQ7RUFDSSwyQkFBMEI7RUFDMUIsK0JBQThCO0VBQzlCLFlBQVc7Q0FDZDs7QUFDRDtFQUNJLFVBQVM7RUFDVCxtQ0FBa0M7RUFDbEMsb0NBQW1DO0NBQ3RDOztBQUNEOzs7Ozs7Ozs7RUFTSSxVQUFTO0VBQ1QsV0FBVTtDQUNiOztBQUNEOztFQUVJLGVBQWM7Q0FDakI7O0FBQ0Q7Ozs7RUFJSSxtQkFBa0I7Q0FDckI7O0FBQ0Q7RUFDSSxrQkFBaUI7Q0FDcEI7O0FBQ0Q7O0VBRUksZUFBYztFQUNkLHdCQUFlO0VBQWYsZ0JBQWU7Q0FDbEI7O0FBQ0Q7RUFDSSxzQkFBcUI7Q0FDeEI7O0FBQ0Q7RUFDSSxrQkFBaUI7RUFDakIsVUFBUztFQUNULGNBQWE7RUFDYixnQ0FBK0I7RUFDL0Isd0JBQXVCO0VBQ3ZCLGlCQUFnQjtFQUNoQixnQkFBZTtDQUNsQjs7QUFDRDtFQUNJLFdBQVU7RUFDVixVQUFTO0NBQ1o7O0FBQ0Q7RUFDSSxXQUFVO0NBQ2I7O0FBQ0Q7RUFDSSxnQkFBZTtFQUNmLGFBQVk7RUFDWixVQUFTO0NBQ1o7O0FDL0RELFlBQVk7QUFFWjtFQUFHLCtCQUFzQjtVQUF0Qix1QkFBc0I7Q0FBRzs7QUxEM0I7RUFDQyxvQ0tFdUM7RUxEdkMsb0JBSDhEO0VBSTlELG1CQUo4RTtFQUs5RSxvQkFBbUI7RUFDbkIsNEtBRThEO0NHcWlDL0Q7O0FINWlDQTtFQUNDLGtDS0dxQztFTEZyQyxvQkFIOEQ7RUFJOUQsbUJBSjhFO0VBSzlFLG9CQUFtQjtFQUNuQixvS0FFOEQ7Q0c2aUMvRDs7QUhwakNBO0VBQ0MsaUNLSW9DO0VMSHBDLG9CQUg4RDtFQUk5RCxtQkFKOEU7RUFLOUUsb0JBQW1CO0VBQ25CLGdLQUU4RDtDR3FqQy9EOztBSDVqQ0E7RUFDQyxzQ0tLeUM7RUxKekMsb0JBSDhEO0VBSTlELG1CQUo4RTtFQUs5RSxvQkFBbUI7RUFDbkIsb0xBRThEO0NHNmpDL0Q7O0FDcmtDRDtFQ1dDLGdCQUFlO0VBQ2YsZUpQYTtDSVFiOztBRFJEO0VDV0Msa0JKd0J5QjtFSXZCekIsZUFBYztDQUNkOztBQUVELHVCQUF1QjtBQW1CdkIscUJBQXFCO0FBRXJCO0VBQ0MsZ0JBQWU7Q0FVZjs7QUxiQztFS0VGO0lBR0UsZ0JBQWU7R0FRaEI7Q0Z1aUNBOztBSHBqQ0M7RUtFRjtJQU1FLDZFQUFvRTtJQUFwRSxxRUFBb0U7R0FLckU7Q0Y2aUNBOztBSDFqQ0M7RUtFRjtJQVNFLGdCQUFlO0dBRWhCO0NGbWpDQTs7QUU3aUNEO0VBQ0MsZ0JBQWU7Q0FVZjs7QUw5QkM7RUttQkY7SUFHRSxnQkFBZTtHQVFoQjtDRjRpQ0E7O0FIMWtDQztFS21CRjtJQU1FLDZFQUFvRTtJQUFwRSxxRUFBb0U7R0FLckU7Q0ZrakNBOztBSGhsQ0M7RUttQkY7SUFTRSxnQkFBZTtHQUVoQjtDRndqQ0E7O0FFbGpDRDtFQUNDLGdCQUFlO0NBVWY7O0FML0NDO0VLb0NGO0lBR0UsZ0JBQWU7R0FRaEI7Q0ZpakNBOztBSGhtQ0M7RUtvQ0Y7SUFNRSw2RUFBb0U7SUFBcEUscUVBQW9FO0dBS3JFO0NGdWpDQTs7QUh0bUNDO0VLb0NGO0lBU0UsZ0JBQWU7R0FFaEI7Q0Y2akNBOztBRXZqQ0Q7RUFDQyxnQkFBZTtDQVVmOztBTGhFQztFS3FERjtJQUdFLGdCQUFlO0dBUWhCO0NGc2pDQTs7QUh0bkNDO0VLcURGO0lBTUUsNkVBQW9FO0lBQXBFLHFFQUFvRTtHQUtyRTtDRjRqQ0E7O0FINW5DQztFS3FERjtJQVNFLGdCQUFlO0dBRWhCO0NGa2tDQTs7QUU1akNEO0VBQ0MsZ0JBQWU7Q0FVZjs7QUxqRkM7RUtzRUY7SUFHRSxnQkFBZTtHQVFoQjtDRjJqQ0E7O0FINW9DQztFS3NFRjtJQU1FLDZFQUFvRTtJQUFwRSxxRUFBb0U7R0FLckU7Q0Zpa0NBOztBSGxwQ0M7RUtzRUY7SUFTRSxnQkFBZTtHQUVoQjtDRnVrQ0E7O0FFbGtDRDtFQUNDLGdCQUFlO0NBVWY7O0FMakdDO0VLc0ZGO0lBR0UsZ0JBQWU7R0FRaEI7Q0Zpa0NBOztBSGxxQ0M7RUtzRkY7SUFNRSw2RUFBb0U7SUFBcEUscUVBQW9FO0dBS3JFO0NGdWtDQTs7QUh4cUNDO0VLc0ZGO0lBU0UsZ0JBQWU7R0FFaEI7Q0Y2a0NBOztBRXhrQ0Q7RUFDQyxnQkFBZTtDQVVmOztBTGpIQztFS3NHRjtJQUdFLGdCQUFlO0dBUWhCO0NGdWtDQTs7QUh4ckNDO0VLc0dGO0lBTUUsNkVBQW9FO0lBQXBFLHFFQUFvRTtHQUtyRTtDRjZrQ0E7O0FIOXJDQztFS3NHRjtJQVNFLGdCQUFlO0dBRWhCO0NGbWxDQTs7QUU5a0NEO0VBQ0MsZ0JBQWU7Q0FVZjs7QUxqSUM7RUtzSEY7SUFHRSxnQkFBZTtHQVFoQjtDRjZrQ0E7O0FIOXNDQztFS3NIRjtJQU1FLDZFQUFvRTtJQUFwRSxxRUFBb0U7R0FLckU7Q0ZtbENBOztBSHB0Q0M7RUtzSEY7SUFTRSxnQkFBZTtHQUVoQjtDRnlsQ0E7O0FFcGxDRDtFQUNDLGdCQUFlO0NBVWY7O0FMakpDO0VLc0lGO0lBR0UsZ0JBQWU7R0FRaEI7Q0ZtbENBOztBSHB1Q0M7RUtzSUY7SUFNRSw2RUFBb0U7SUFBcEUscUVBQW9FO0dBS3JFO0NGeWxDQTs7QUgxdUNDO0VLc0lGO0lBU0UsZ0JBQWU7R0FFaEI7Q0YrbENBOztBRXpsQ0QsV0FBVztBQUVYO0VBQ0Msa0JKekp5QjtFSTBKekIsYUFBWTtDQUVaOztBQUVEO0VBQ0MsZUFBYztDQUNkOztBQUdEO0VBQ0MseUJBQXdCO0VBQ3hCLHNCQUF3QjtFQUN4QixpQkFBd0I7Q0FDeEI7O0FDL01ELFlBQVkiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohXHJcblRoZW1lIE5hbWU6IFZlcm9uYSBMaWJyaVxyXG5UaGVtZSBVUkk6IGh0dHA6Ly93d3cub3ZlcnB4LmNvbVxyXG5BdXRob3I6IE92ZXJweFxyXG5BdXRob3IgVVJJOiBodHRwOi8vd3d3Lm92ZXJweC5jb21cclxuVmVyc2lvbjogMS4wLjBcclxuTGljZW5zZTogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjIgb3IgbGF0ZXJcclxuTGljZW5zZSBVUkk6IExJQ0VOU0VcclxuVGV4dCBEb21haW46IE92ZXJweFxyXG4qL1xyXG5cclxuXHJcbkBpbXBvcnQgJ2hlbHBlcnMvdmFyaWFibGVzJztcclxuQGltcG9ydCAnaGVscGVycy9taXhpbnMnO1xyXG5AaW1wb3J0ICd1dGlsaXRpZXMvZm9udC1zaXplJztcclxuQGltcG9ydCAndXRpbGl0aWVzL2ZvbnQtZmFtaWx5JztcclxuXHJcbkBpbXBvcnQgJ3ZlbmRvci9hdmFsYW5jaGUnO1xyXG5cclxuQGltcG9ydCAnYmFzZS9yZXNldCc7XHJcbkBpbXBvcnQgJ2Jhc2UvdHlwb2dyYXBoeSc7XHJcblxyXG5AaW1wb3J0ICdsYXlvdXQvYW5pbWF0aW9ucyc7XHJcbkBpbXBvcnQgJ2xheW91dC9jb21tb24nO1xyXG5AaW1wb3J0ICdsYXlvdXQvZm9vdGVyJztcclxuXHJcbi8vIEBpbXBvcnQgJy4uLy4uL2NvbXBvbmVudHMvY29tcG9uZW50L3N0eWxlJztcclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4iLCJAaW1wb3J0ICcuLi9oZWxwZXJzL3ZhcmlhYmxlcyc7XHJcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWl4aW5zJztcclxuXHJcbkBlYWNoICRsYWJlbCwgJHZhbHVlIGluICRmb250LWZhbWlseSB7XHJcblx0JXUtZm9udC1mYW1pbHktI3skbGFiZWx9IHtcclxuXHRcdEBpbmNsdWRlIG1hcC10by1zdHlsZShtYXAtZ2V0KCRmb250LWZhbWlseSwgJGxhYmVsKSk7XHJcblx0fVxyXG59XHJcblxyXG5AbWl4aW4gZm9udC1mYW1pbHkoJGZhbWlseSkge1xyXG5cdEBpbmNsdWRlIG1hcC10by1zdHlsZShtYXAtZ2V0KCRmb250LWZhbWlseSwgJGZhbWlseSkpO1xyXG59XHJcbiIsIkBtaXhpbiBmb250LWZhY2UoJG5hbWUsICRwYXRoLCAkZmlsZW5hbWU6ICRuYW1lLCAkd2VpZ2h0OiBub3JtYWwsICRzdHlsZTogbm9ybWFsKSB7XHJcblx0QGZvbnQtZmFjZSB7XHJcblx0XHRmb250LWZhbWlseTogJG5hbWU7XHJcblx0XHRmb250LXdlaWdodDogJHdlaWdodDtcclxuXHRcdGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuXHRcdGZvbnQtZGlzcGxheTogYmxvY2s7XHJcblx0XHRzcmM6XHJcblx0XHRcdHVybCgnI3skcGF0aH0vI3skZmlsZW5hbWV9LyN7JGZpbGVuYW1lfS53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcclxuXHRcdFx0dXJsKCcjeyRwYXRofS8jeyRmaWxlbmFtZX0vI3skZmlsZW5hbWV9LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcclxuXHR9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBtYXAtZGVlcC1nZXQoJG1hcCwgJGtleXMuLi4pIHtcclxuXHRAZWFjaCAka2V5IGluICRrZXlzIHtcclxuXHRcdCRtYXA6IG1hcC1nZXQoJG1hcCwgJGtleSk7XHJcblx0fVxyXG5cdEByZXR1cm4gJG1hcDtcclxufVxyXG5cclxuQG1peGluIG1hcC10by1zdHlsZSgkb2JqZWN0KSB7XHJcblx0QGVhY2ggJHByb3BlcnR5LCAkdmFsdWUgaW4gJG9iamVjdCB7XHJcblx0XHQjeyRwcm9wZXJ0eX06ICR2YWx1ZTtcclxuXHR9XHJcbn1cclxuXHJcbi8vIE1lZGlhIFF1ZXJ5IE1peGluc1xyXG5AbWl4aW4gbXEoJG1pbldpZHRoLCAkbWF4V2lkdGgpIHtcclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtaW5XaWR0aCkgYW5kIChtYXgtd2lkdGg6ICRtYXhXaWR0aCkge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbXEtbWF4KCRtYXhXaWR0aCkge1xyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1heFdpZHRoKSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtcS1taW4oJG1pbldpZHRoKSB7XHJcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWluV2lkdGgpIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG1xLXByb3AoJHByb3AsICRmcy1tYXAsICRmdW5jdGlvbjogaWRlbnRpdHkpIHtcclxuXHJcbiAgICBAZWFjaCAkZnMtYnJlYWtwb2ludCwgJHByb3AtdmFsdWUgaW4gJGZzLW1hcCB7XHJcblxyXG4gICAgICAgIEBpZiAoZnVuY3Rpb24tZXhpc3RzKCRmdW5jdGlvbikpIHtcclxuICAgICAgICAgICAgJHByb3AtdmFsdWU6IGNhbGwoJGZ1bmN0aW9uLCAkcHJvcC12YWx1ZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaWYgJGZzLWJyZWFrcG9pbnQgPT0gbnVsbCB7XHJcblxyXG4gICAgICAgICAgICAjeyRwcm9wfTogJHByb3AtdmFsdWU7XHJcblxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJGZzLWJyZWFrcG9pbnQpIHtcclxuICAgICAgICAgICAgICAgICN7JHByb3B9OiAkcHJvcC12YWx1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGFsaWduKCR3aWR0aDogbnVsbCwgJGhlaWdodDogbnVsbCkge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgQGlmIG5vdCAkd2lkdGggYW5kIG5vdCAkaGVpZ2h0IHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gIH0gQGVsc2UgaWYgJHdpZHRoIGFuZCAkaGVpZ2h0IHtcclxuICAgIHdpZHRoOiAkd2lkdGg7XHJcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XHJcbiAgICBtYXJnaW46IC0oJHdpZHRoIC8gMikgI3swIDB9IC0oJGhlaWdodCAvIDIpO1xyXG4gIH0gQGVsc2UgaWYgbm90ICRoZWlnaHQge1xyXG4gICAgd2lkdGg6ICR3aWR0aDtcclxuICAgIG1hcmdpbi1sZWZ0OiAtKCR3aWR0aCAvIDIpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xyXG4gICAgbWFyZ2luLXRvcDogLSgkaGVpZ2h0IC8gMik7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgfVxyXG59XHJcblxyXG4vLy8gQmxvY2sgRWxlbWVudFxyXG4vLy8gQGFjY2VzcyBwdWJsaWNcclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZWxlbWVudCAtIEVsZW1lbnQncyBuYW1lXHJcbkBtaXhpbiBlbGVtZW50KCRlbGVtZW50KSB7XHJcbiAgICAmX18jeyRlbGVtZW50fSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vLyBCbG9jayBNb2RpZmllclxyXG4vLy8gQGFjY2VzcyBwdWJsaWNcclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbW9kaWZpZXIgLSBNb2RpZmllcidzIG5hbWVcclxuQG1peGluIG1vZGlmaWVyKCRtb2RpZmllcikge1xyXG4gICAgJi0tI3skbW9kaWZpZXJ9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuLy8vIEBhbGlhcyBlbGVtZW50XHJcbkBtaXhpbiBlKCRlbGVtZW50KSB7XHJcbiAgICBAaW5jbHVkZSBlbGVtZW50KCRlbGVtZW50KSAge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLy8gQGFsaWFzIG1vZGlmaWVyXHJcbkBtaXhpbiBtKCRtb2RpZmllcikge1xyXG4gICAgQGluY2x1ZGUgbW9kaWZpZXIoJG1vZGlmaWVyKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLy9weCB0byB2d1xyXG5AZnVuY3Rpb24gc3RyaXAtdW5pdHMoJHZhbHVlKSB7XHJcbiAgICBAcmV0dXJuICR2YWx1ZSAvICgkdmFsdWUgKiAwICsgMSk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiB2dygkd2lkdGgsICR2aWV3cG9ydC1yZWZlcmVuY2Utd2lkdGg6ICR2aWV3cG9ydC13aWR0aCkge1xyXG4gICAgQHJldHVybiAoc3RyaXAtdW5pdHMoJHdpZHRoKSAvIHN0cmlwLXVuaXRzKCR2aWV3cG9ydC1yZWZlcmVuY2Utd2lkdGgpKSAqIDEwMCArIHZ3O1xyXG59XHJcblxyXG5AZnVuY3Rpb24gdmgoJGhlaWdodCwgJHZpZXdwb3J0LXJlZmVyZW5jZS1oZWlnaHQ6ICR2aWV3cG9ydC1oZWlnaHQpIHtcclxuICAgIEByZXR1cm4gKHN0cmlwLXVuaXRzKCRoZWlnaHQpIC8gc3RyaXAtdW5pdHMoJHZpZXdwb3J0LXJlZmVyZW5jZS1oZWlnaHQpKSAqIDEwMCArIHZoO1xyXG59XHJcblxyXG5AbWl4aW4ga2V5ZnJhbWVzKCRhbmltYXRpb24tbmFtZSkge1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JGFuaW1hdGlvbi1uYW1lfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgICBALW1vei1rZXlmcmFtZXMgI3skYW5pbWF0aW9uLW5hbWV9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxuICAgIEBrZXlmcmFtZXMgI3skYW5pbWF0aW9uLW5hbWV9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHNwcml0ZSgkd2lkdGg6IDAsICRoZWlnaHQ6IDAsICRsZWZ0OiAwLCAkdG9wOiAwLCAkcjogMSkge1xyXG4gICRyZXNpemVEZXNrdG9wOiAxLjM7XHJcbiAgJHJlc2l6ZU1vYmlsZTogMS43O1xyXG4gIHdpZHRoOiAkd2lkdGgvKCRyKiRyZXNpemVNb2JpbGUpO1xyXG4gIGhlaWdodDogJGhlaWdodC8oJHIqJHJlc2l6ZU1vYmlsZSk7XHJcbiAgYmFja2dyb3VuZDogdXJsKCdhc3NldHMvaW1nL2Nzc19zcHJpdGVzLnBuZycpICRsZWZ0LygkciokcmVzaXplTW9iaWxlKSAkdG9wLygkciokcmVzaXplTW9iaWxlKTtcclxuICBiYWNrZ3JvdW5kLXNpemU6IDMwODJweCAvICgkciokcmVzaXplTW9iaWxlKTtcclxuXHJcbiAgQGluY2x1ZGUgbXEtbWluKCR0Yikge1xyXG4gICAgd2lkdGg6ICR3aWR0aC8oJHIqJHJlc2l6ZURlc2t0b3ApO1xyXG4gICAgaGVpZ2h0OiAkaGVpZ2h0LygkciokcmVzaXplRGVza3RvcCk7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ2Fzc2V0cy9pbWcvY3NzX3Nwcml0ZXMucG5nJykgJGxlZnQvKCRyKiRyZXNpemVEZXNrdG9wKSAkdG9wLygkciokcmVzaXplRGVza3RvcCk7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDMwODJweCAvICgkciokcmVzaXplRGVza3RvcCk7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1xLW1pbigkZHZsKSB7XHJcbiAgICB3aWR0aDogJHdpZHRoLyRyO1xyXG4gICAgaGVpZ2h0OiAkaGVpZ2h0LyRyO1xyXG4gICAgYmFja2dyb3VuZDogdXJsKCdhc3NldHMvaW1nL2Nzc19zcHJpdGVzLnBuZycpICRsZWZ0LyRyICR0b3AvJHI7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDMwODJweCAvICRyOyBcclxuICB9XHJcbiAgXHJcbn0iLCIkbGlnaHQtcGluazogI0ZGRjlFRTtcclxuJGxpZ2h0LXllbGxvdzogI0ZGRjdFNjtcclxuJGdvbGQ6ICNDRUE0NDY7XHJcbiRibHVlOiAjQTlCQ0MxO1xyXG4kYnJvd246ICNENTlBODQ7XHJcbiRncmF5OiAjNEE0QTRBO1xyXG4kZGFyay1ncmF5OiAjM0IzQjNCO1xyXG5cclxuJGZvbnQtZmFtaWx5OiAoXHRcclxuXHRzYW5zLXNlcmlmLXJlZ3VsYXI6IChcclxuXHRcdGZvbnQtZmFtaWx5OiAoJ2pvc2VmaW4tc2Fucy1yZWd1bGFyJywgc2Fucy1zZXJpZiksXHJcblx0XHRmb250LXdlaWdodDogNDAwLFxyXG5cdCksXHJcblx0c2Fucy1zZXJpZi1saWdodDogKFxyXG5cdFx0Zm9udC1mYW1pbHk6ICgnam9zZWZpbi1zYW5zLWxpZ2h0Jywgc2Fucy1zZXJpZiksXHJcblx0XHRmb250LXdlaWdodDogMzAwLFxyXG5cdCksXHJcblx0c2Fucy1zZXJpZi1ib2xkOiAoXHJcblx0XHRmb250LWZhbWlseTogKCdqb3NlZmluLXNhbnMtYm9sZCcsIHNhbnMtc2VyaWYpLFxyXG5cdFx0Zm9udC13ZWlnaHQ6IDcwMCxcclxuXHQpLFxyXG5cdHNlcmlmLXJlZ3VsYXI6IChcclxuXHRcdGZvbnQtZmFtaWx5OiAoJ2RhbmNpbmctc2NyaXB0LXJlZ3VsYXInLCBzZXJpZiksXHJcblx0XHRmb250LXdlaWdodDogNDAwLFxyXG5cdClcclxuKTtcclxuXHJcbiRmb250LXNpemU6IChcclxuXHR4czogMTBweCxcclxuXHRzbTogMTFweCxcclxuXHRtZDogMTRweCxcclxuXHRtZC0wOiAxN3B4LFxyXG5cdG1kLTE6IDIwcHgsXHJcblx0bWQtMjogMjJweCxcclxuXHRsZzogMjhweCxcclxuXHRsZy0yOiA2OHB4LFxyXG5cdHhsOiA5MnB4LFxyXG4pO1xyXG5cclxuLy8gU2l6ZXNcclxuJG1heC13aWR0aC1jb250ZW50OiAxOTIwcHg7XHJcbiRtYXgtd2lkdGgtZ3JpZDogMTcyMHB4O1xyXG5cclxuLy8gQnJlYWtwb2ludHNcclxuJHBoOiA2MDBweDtcclxuJHRiOiA3NjhweDtcclxuJGRzOiAxMDI0cHg7XHJcbiRkbDogMTM2NnB4O1xyXG4kZHZsOiAxNjAwcHg7XHJcbiRoZDogMTkyMHB4O1xyXG4kc2hkOiAyNTYwcHg7XHJcblxyXG5cclxuXHJcbiIsIi8qISBBdmFsYW5jaGUgfCBNSVQgTGljZW5zZSB8IEBjb2xvdXJnYXJkZW4gKi9cclxuXHJcbi8qKlxyXG4gKiBTRVRUSU5HU1xyXG4gKi9cclxuICRhdi1uYW1lc3BhY2U6ICAgICAgICAgICAgICAnZ3JpZCcgIWRlZmF1bHQ7ICAgICAgLy8gUHJlZml4IG5hbWVzcGFjZSBmb3IgZ3JpZCBsYXlvdXQgYW5kIGNlbGxzXHJcbiAkYXYtZWxlbWVudC1uYW1lOiAgICAgICAgICAgJ2NlbGwnICFkZWZhdWx0OyAgICAgIC8vIEVsZW1lbnQvY2VsbCBuYW1lXHJcbiAkYXYtZWxlbWVudC1jbGFzcy1jaGFpbjogICAgJ19fJyAhZGVmYXVsdDsgICAgICAgIC8vIENoYWluIGNoYXJhY3RlcnMgYmV0d2VlbiBibG9jayBhbmQgZWxlbWVudFxyXG4gJGF2LW1vZGlmaWVyLWNsYXNzLWNoYWluOiAgICctLScgIWRlZmF1bHQ7ICAgICAgICAvLyBDaGFpbiBjaGFyYWN0ZXJzIGJldHdlZW4gYmxvY2sgYW5kIG1vZGlmaWVyXHJcbiAkYXYtYnJlYWtwb2ludC1jbGFzcy1jaGFpbjogJy0tJyAhZGVmYXVsdDsgICAgICAgIC8vIENoYWluIGNoYXJhY3RlcnMgYmV0d2VlbiB3aWR0aCBhbmQgYnJlYWtwb2ludFxyXG4gJGF2LWVsZW1lbnQtb2Zmc2V0OiAnb2Zmc2V0JyAhZGVmYXVsdDsgICAgICAgIC8vIENoYWluIGNoYXJhY3RlcnMgYmV0d2VlbiB3aWR0aCBhbmQgYnJlYWtwb2ludFxyXG4gXHJcbiAkYXYtZ3V0dGVyOiAgICAgICAgICAgICAgICAgMHB4ICFkZWZhdWx0OyAgICAgICAgLy8gR3V0dGVyIGJldHdlZW4gZ3JpZCBjZWxsc1xyXG4gXHJcbiAkYXYtd2lkdGgtY2xhc3MtbmFtZXNwYWNlOiAgJycgIWRlZmF1bHQ7ICAgICAgICAgIC8vIFByZWZpeCBuYW1lc3BhY2UgZm9yIHdpZHRoIGNsYXNzZXMuIEZvciBleGFtcGxlOyAnY29sLSdcclxuICRhdi1vZmZzZXQtY2xhc3MtbmFtZXNwYWNlOiAgJ29mZnNldCcgIWRlZmF1bHQ7ICAgICAgICAgIC8vIFByZWZpeCBuYW1lc3BhY2UgZm9yIHdpZHRoIGNsYXNzZXMuIEZvciBleGFtcGxlOyAnY29sLSdcclxuICRhdi13aWR0aC1jbGFzcy1zdHlsZTogICAgICAnZnJhY3Rpb24nICFkZWZhdWx0OyAgLy8gV2lkdGggY2xhc3MgbmFtaW5nIHN0eWxlLiBDYW4gYmUgJ2ZyYWN0aW9uJywgJ3BlcmNlbnRhZ2UnIG9yICdmcmFnbWVudCdcclxuICRhdi13aWR0aHM6IChcclxuICAgNixcclxuICAgMTJcclxuICkgIWRlZmF1bHQ7IC8vIFdpZHRoIGRlbm9taW5hdG9yIHZhbHVlcy4gMiA9IDEvMiwgMyA9IDEvMyBldGMuIEFkZC9yZW1vdmUgYXMgYXBwcm9wcmlhdGVcclxuICRhdi1vZmZzZXRzOiAoXHJcbiAgIDEyXHJcbiApICFkZWZhdWx0OyAvLyBXaWR0aCBkZW5vbWluYXRvciB2YWx1ZXMuIDIgPSAxLzIsIDMgPSAxLzMgZXRjLiBBZGQvcmVtb3ZlIGFzIGFwcHJvcHJpYXRlXHJcbiBcclxuICRhdi1lbmFibGUtcmVzcG9uc2l2ZTogIHRydWUgIWRlZmF1bHQ7XHJcbiAkYXYtYnJlYWtwb2ludHM6ICAoXHJcbiAgIFwidGh1bWJcIjogICAgICAgICAgICBcInNjcmVlbiBhbmQgKG1heC13aWR0aDogNDk5cHgpXCIsXHJcbiAgIFwiaGFuZGhlbGRcIjogICAgICAgICBcInNjcmVlbiBhbmQgKG1pbi13aWR0aDogNTAwcHgpIGFuZCAobWF4LXdpZHRoOiA4MDBweClcIixcclxuICAgXCJoYW5kaGVsZC1hbmQtdXBcIjogIFwic2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweClcIixcclxuICAgXCJwb2NrZXRcIjogICAgICAgICAgIFwic2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweClcIixcclxuICAgXCJsYXBcIjogICAgICAgICAgICAgIFwic2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDFweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweClcIixcclxuICAgXCJsYXAtYW5kLXVwXCI6ICAgICAgIFwic2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweClcIixcclxuICAgXCJwb3J0YWJsZVwiOiAgICAgICAgIFwic2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpXCIsXHJcbiAgIFwiZGVza1wiOiAgICAgICAgICAgICBcInNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KVwiLFxyXG5cdCBcIndpZGVzY3JlZW5cIjogICAgICAgXCJzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNjZweClcIixcclxuXHQgXCJkdmxcIjogICAgICAgXHRcdFx0IFwic2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjAwcHgpXCIsXHJcbiAgIFwicmV0aW5hXCI6ICAgICAgICAgICBcInNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpXCJcclxuICkgIWRlZmF1bHQ7IC8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMuIEFkZC9yZW1vdmUgYXMgYXBwcm9wcmlhdGVcclxuIFxyXG4gLy8gRW5hYmxlL2Rpc2FibGUgZ3JpZCBsYXlvdXRzXHJcbiAkYXYtZW5hYmxlLWdyaWQtY2VudGVyOiAgICAgICB0cnVlICFkZWZhdWx0O1xyXG4gJGF2LWVuYWJsZS1ncmlkLWNlbGwtY2VudGVyOiAgdHJ1ZSAhZGVmYXVsdDtcclxuICRhdi1lbmFibGUtZ3JpZC1yaWdodDogICAgICAgIHRydWUgIWRlZmF1bHQ7XHJcbiAkYXYtZW5hYmxlLWdyaWQtbWlkZGxlOiAgICAgICB0cnVlICFkZWZhdWx0O1xyXG4gJGF2LWVuYWJsZS1ncmlkLWJvdHRvbTogICAgICAgdHJ1ZSAhZGVmYXVsdDtcclxuICRhdi1lbmFibGUtZ3JpZC1mbHVzaDogICAgICAgIGZhbHNlICFkZWZhdWx0O1xyXG4gJGF2LWVuYWJsZS1ncmlkLXRpbnk6ICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XHJcbiAkYXYtZW5hYmxlLWdyaWQtc21hbGw6ICAgICAgICBmYWxzZSAhZGVmYXVsdDtcclxuICRhdi1lbmFibGUtZ3JpZC1sYXJnZTogICAgICAgIGZhbHNlICFkZWZhdWx0O1xyXG4gJGF2LWVuYWJsZS1ncmlkLWh1Z2U6ICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XHJcbiAkYXYtZW5hYmxlLWdyaWQtYXV0bzogICAgICAgICBmYWxzZSAhZGVmYXVsdDtcclxuICRhdi1lbmFibGUtZ3JpZC1yZXY6ICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XHJcbiBcclxuIC8qKlxyXG4gICogTE9HSUMgYWthIFRIRSBNQUdJQ1xyXG4gICovXHJcbiBAZnVuY3Rpb24gZXNjYXBlLW51bWVyYXRvcigkbnVtZXJhdG9yLCAkbmFtZXNwYWNlOiAnJykge1xyXG4gICBAaWYgKCRuYW1lc3BhY2UgPT0gJycpIHtcclxuICAgICAkbnVtZXJhdG9yLWFzLXN0cmluZzogaW5zcGVjdCgkbnVtZXJhdG9yKTtcclxuICAgICAkZXNjYXBlZC1udW1lcmF0b3I6ICcnO1xyXG4gXHJcbiAgICAgLy8gTG9vcCB0aHJvdWdoIGFsbCBkaWdpdHMgaW4gdGhlIG51bWVyYXRvciBhbmQgZXNjYXBlIGluZGl2aWR1YWxseVxyXG4gICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkbnVtZXJhdG9yLWFzLXN0cmluZykge1xyXG4gICAgICAgJGRpZ2l0OiBzdHItc2xpY2UoJG51bWVyYXRvci1hcy1zdHJpbmcsICRpLCAkaSk7XHJcbiAgICAgICAkZXNjYXBlZC1udW1lcmF0b3I6ICRlc2NhcGVkLW51bWVyYXRvcitcXDMrJGRpZ2l0O1xyXG4gICAgIH1cclxuIFxyXG4gICAgIEByZXR1cm4gJGVzY2FwZWQtbnVtZXJhdG9yO1xyXG4gICB9XHJcbiBcclxuICAgQGVsc2Uge1xyXG4gICAgIEByZXR1cm4gJG51bWVyYXRvcjtcclxuICAgfVxyXG4gfVxyXG4gXHJcbiBAZnVuY3Rpb24gYXYtY3JlYXRlLXdpZHRoLWNsYXNzLW5hbWUoJHN0eWxlLCAkbnVtZXJhdG9yLCAkZGVub21pbmF0b3IsICRicmVha3BvaW50LWFsaWFzKSB7XHJcbiBcclxuICAgJGNsYXNzLW5hbWU6IG51bGw7XHJcbiBcclxuICAgQGlmICRzdHlsZSA9PSAnZnJhY3Rpb24nIG9yICRzdHlsZSA9PSAnZnJhZ21lbnQnIHtcclxuICAgICAvLyBTZXQgZGVsaW1pdGVyIGFzIHNsYXNoIG9yIHRleHRcclxuICAgICAkZGVsaW1pdGVyOiBpZigkc3R5bGUgPT0gJ2ZyYWN0aW9uJywgXFwvLCAtb2YtKTtcclxuICAgICAkY2xhc3MtbmFtZTogI3skYXYtd2lkdGgtY2xhc3MtbmFtZXNwYWNlfSN7ZXNjYXBlLW51bWVyYXRvcigkbnVtZXJhdG9yLCAkYXYtd2lkdGgtY2xhc3MtbmFtZXNwYWNlKX0jeyRkZWxpbWl0ZXJ9I3skZGVub21pbmF0b3J9I3skYnJlYWtwb2ludC1hbGlhc307XHJcbiAgIH1cclxuIFxyXG4gICBAZWxzZSB7XHJcbiAgICAgQGlmICRhdi13aWR0aC1jbGFzcy1uYW1lc3BhY2UgPT0gJycge1xyXG4gICAgICAgQGVycm9yIFwiUGVyY2VudGFnZSB2YWx1ZSBjbGFzcyBuYW1lcyByZXF1aXJlIGEgbmFtZXNwYWNlIHRvIGJlIHNldCAoc2VlICRhdi13aWR0aC1jbGFzcy1uYW1lc3BhY2UpLiBTZWxlY3RpdmUgZXNjYXBpbmcgKGUuZy4gdGhlIDUgb2YgNTApIGNhbm5vdCBiZSBkb25lLlwiO1xyXG4gICAgIH1cclxuICAgICAkY2xhc3Mtd2lkdGg6IGZsb29yKCgkbnVtZXJhdG9yIC8gJGRlbm9taW5hdG9yKSAqIDEwMCk7XHJcbiAgICAgJGNsYXNzLW5hbWU6ICN7JGF2LXdpZHRoLWNsYXNzLW5hbWVzcGFjZX0jeyRjbGFzcy13aWR0aH0jeyRicmVha3BvaW50LWFsaWFzfTtcclxuICAgfVxyXG4gXHJcbiAgIEByZXR1cm4gJGNsYXNzLW5hbWU7XHJcbiB9XHJcblxyXG4gQGZ1bmN0aW9uIGF2LWNyZWF0ZS1vZmZzZXQtY2xhc3MtbmFtZSgkc3R5bGUsICRudW1lcmF0b3IsICRkZW5vbWluYXRvciwgJGJyZWFrcG9pbnQtYWxpYXMpIHtcclxuIFxyXG4gICRjbGFzcy1uYW1lOiBudWxsO1xyXG5cclxuICBAaWYgJHN0eWxlID09ICdmcmFjdGlvbicgb3IgJHN0eWxlID09ICdmcmFnbWVudCcge1xyXG4gICAgLy8gU2V0IGRlbGltaXRlciBhcyBzbGFzaCBvciB0ZXh0XHJcbiAgICAkZGVsaW1pdGVyOiBpZigkc3R5bGUgPT0gJ2ZyYWN0aW9uJywgXFwvLCAtb2YtKTtcclxuICAgICRjbGFzcy1uYW1lOiAjeyRhdi1vZmZzZXQtY2xhc3MtbmFtZXNwYWNlfS0je2VzY2FwZS1udW1lcmF0b3IoJG51bWVyYXRvciwgJGF2LW9mZnNldC1jbGFzcy1uYW1lc3BhY2UpfSN7JGRlbGltaXRlcn0jeyRkZW5vbWluYXRvcn0jeyRicmVha3BvaW50LWFsaWFzfTtcclxuICB9XHJcblxyXG4gIEBlbHNlIHtcclxuICAgIEBpZiAkYXYtb2Zmc2V0LWNsYXNzLW5hbWVzcGFjZSA9PSAnJyB7XHJcbiAgICAgIEBlcnJvciBcIlBlcmNlbnRhZ2UgdmFsdWUgY2xhc3MgbmFtZXMgcmVxdWlyZSBhIG5hbWVzcGFjZSB0byBiZSBzZXQgKHNlZSAkYXYtd2lkdGgtY2xhc3MtbmFtZXNwYWNlKS4gU2VsZWN0aXZlIGVzY2FwaW5nIChlLmcuIHRoZSA1IG9mIDUwKSBjYW5ub3QgYmUgZG9uZS5cIjtcclxuICAgIH1cclxuICAgICRjbGFzcy13aWR0aDogZmxvb3IoKCRudW1lcmF0b3IgLyAkZGVub21pbmF0b3IpICogMTAwKTtcclxuICAgICRjbGFzcy1uYW1lOiAjeyRhdi1vZmZzZXQtY2xhc3MtbmFtZXNwYWNlfSN7JGNsYXNzLXdpZHRofSN7JGJyZWFrcG9pbnQtYWxpYXN9O1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkY2xhc3MtbmFtZTtcclxufVxyXG4gXHJcbiBAZnVuY3Rpb24gYXZDcmVhdGVCbG9ja0NsYXNzTmFtZSgkbW9kaWZpZXI6ICcnKSB7XHJcbiAgIEBpZiAkbW9kaWZpZXIgPT0gJycge1xyXG4gICAgIEByZXR1cm4gI3skYXYtbmFtZXNwYWNlfTtcclxuICAgfVxyXG4gXHJcbiAgIEByZXR1cm4gI3skYXYtbmFtZXNwYWNlfSN7JGF2LW1vZGlmaWVyLWNsYXNzLWNoYWlufSN7JG1vZGlmaWVyfTtcclxuIH1cclxuIFxyXG4gQGZ1bmN0aW9uIGF2Q3JlYXRlRWxlbWVudENsYXNzTmFtZSgkbW9kaWZpZXI6ICcnKSB7XHJcbiAgIEBpZiAkbW9kaWZpZXIgPT0gJycge1xyXG4gICAgIEByZXR1cm4gI3skYXYtbmFtZXNwYWNlfSN7JGF2LWVsZW1lbnQtY2xhc3MtY2hhaW59I3skYXYtZWxlbWVudC1uYW1lfTtcclxuICAgfVxyXG4gXHJcbiAgIEByZXR1cm4gI3skYXYtbmFtZXNwYWNlfSN7JGF2LWVsZW1lbnQtY2xhc3MtY2hhaW59I3skYXYtZWxlbWVudC1uYW1lfSN7JGF2LW1vZGlmaWVyLWNsYXNzLWNoYWlufSN7JG1vZGlmaWVyfTtcclxuIH1cclxuIFxyXG4gQGZ1bmN0aW9uIGF2Q3JlYXRlT2Zmc2V0Q2xhc3NOYW1lKCRtb2RpZmllcjogJycpIHtcclxuICBAaWYgJG1vZGlmaWVyID09ICcnIHtcclxuICAgIEByZXR1cm4gI3skYXYtbmFtZXNwYWNlfSN7JGF2LWVsZW1lbnQtY2xhc3MtY2hhaW59I3skYXYtZWxlbWVudC1vZmZzZXR9O1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAjeyRhdi1uYW1lc3BhY2V9I3skYXYtZWxlbWVudC1jbGFzcy1jaGFpbn0jeyRhdi1lbGVtZW50LW9mZnNldH0jeyRhdi1tb2RpZmllci1jbGFzcy1jaGFpbn0jeyRtb2RpZmllcn07XHJcbn1cclxuXHJcbiBAbWl4aW4gYXYtY3JlYXRlLXdpZHRocygkd2lkdGhzLCAkYnJlYWtwb2ludC1hbGlhczogbnVsbCkge1xyXG4gXHJcbiAgIC8vIEluaXRpYWxpc2UgYW4gZW1wdHkgdXRpbGl0eSBtYXAgdGhhdCB3aWxsIGV2ZW50dWFsbHkgY29udGFpbiBhbGwgb3VyIGNsYXNzZXNcclxuICAgJHBzZXVkby1jbGFzcy1tYXA6ICgpO1xyXG4gXHJcbiAgIC8vIExvb3Agd2lkdGhzXHJcbiAgIEBlYWNoICRkZW5vbWluYXRvciBpbiAkd2lkdGhzIHtcclxuIFxyXG4gICAgIC8vIElmIDE9MSwgMj0yLCAzPTM7IEBmb3Igd2lsbCBza2lwIG92ZXIgc28gY3JlYXRlIDEvMSBjbGFzcyBtYW51YWxseVxyXG4gICAgIEBpZiAoJGRlbm9taW5hdG9yID09IDEpIHtcclxuIFxyXG4gICAgICAgLy8gQ3JlYXRlIDEvMSBjbGFzc1xyXG4gICAgICAgJGNsYXNzLW5hbWU6IGF2LWNyZWF0ZS13aWR0aC1jbGFzcy1uYW1lKCRhdi13aWR0aC1jbGFzcy1zdHlsZSwgMSwgMSwgJGJyZWFrcG9pbnQtYWxpYXMpO1xyXG4gXHJcbiAgICAgICAuI3skY2xhc3MtbmFtZX0ge1xyXG4gICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgIH1cclxuICAgICB9XHJcbiBcclxuICAgICBAZWxzZSB7XHJcbiBcclxuICAgICAgIC8vIExvb3Agd2lkdGhzIGFzIGZyYWN0aW9uc1xyXG4gICAgICAgQGZvciAkbnVtZXJhdG9yIGZyb20gMSB0byAkZGVub21pbmF0b3Ige1xyXG4gXHJcbiAgICAgICAgIC8vIENyZWF0ZSBjbGFzcyBuYW1lIGFuZCBzZXQgd2lkdGggdmFsdWVcclxuICAgICAgICAgJGNsYXNzLW5hbWU6IGF2LWNyZWF0ZS13aWR0aC1jbGFzcy1uYW1lKCRhdi13aWR0aC1jbGFzcy1zdHlsZSwgJG51bWVyYXRvciwgJGRlbm9taW5hdG9yLCAkYnJlYWtwb2ludC1hbGlhcyk7XHJcbiAgICAgICAgICR3aWR0aC12YWx1ZTogcGVyY2VudGFnZSgkbnVtZXJhdG9yIC8gJGRlbm9taW5hdG9yKTtcclxuIFxyXG4gICAgICAgICAvLyBJcyB0aGlzIHdpZHRoIGFscmVhZHkgaW4gb3VyIHV0aWxpdHkgbWFwP1xyXG4gICAgICAgICAkZHVwbGljYXRlOiBtYXAtZ2V0KCRwc2V1ZG8tY2xhc3MtbWFwLCAkd2lkdGgtdmFsdWUpO1xyXG4gXHJcbiAgICAgICAgIC8vIENyZWF0ZSB3aWR0aCBjbGFzc1xyXG4gICAgICAgICAuI3skY2xhc3MtbmFtZX0ge1xyXG4gXHJcbiAgICAgICAgICAgLy8gSWYgdGhpcyB3aWR0aCBpcyBpbiB1dGlsaXR5IG1hcCwgQGV4dGVuZCB0aGUgZHVwbGljYXRlLCBlbHNlIGNyZWF0ZSBhIG5ldyBvbmVcclxuICAgICAgICAgICBAaWYgJGR1cGxpY2F0ZSB7XHJcbiAgICAgICAgICAgICBAZXh0ZW5kIC4jeyRkdXBsaWNhdGV9O1xyXG4gICAgICAgICAgIH1cclxuIFxyXG4gICAgICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgICAgIHdpZHRoOiAkd2lkdGgtdmFsdWU7XHJcbiAgICAgICAgICAgfVxyXG4gICAgICAgICB9XHJcbiBcclxuICAgICAgICAgLy8gQWRkIHRoaXMgY2xhc3MgdG8gdXRpbGl0eSBtYXBcclxuICAgICAgICAgJGFkZC1jbGFzczogKCR3aWR0aC12YWx1ZTogJGNsYXNzLW5hbWUpO1xyXG4gICAgICAgICAkcHNldWRvLWNsYXNzLW1hcDogbWFwLW1lcmdlKCRwc2V1ZG8tY2xhc3MtbWFwLCAkYWRkLWNsYXNzKTtcclxuICAgICAgIH1cclxuICAgICB9XHJcbiAgIH1cclxuIH1cclxuIFxyXG4gQG1peGluIGF2LWNyZWF0ZS1vZmZzZXRzKCRvZmZzZXRzLCAkYnJlYWtwb2ludC1hbGlhczogbnVsbCkge1xyXG4gXHJcbiAgLy8gSW5pdGlhbGlzZSBhbiBlbXB0eSB1dGlsaXR5IG1hcCB0aGF0IHdpbGwgZXZlbnR1YWxseSBjb250YWluIGFsbCBvdXIgY2xhc3Nlc1xyXG4gICRwc2V1ZG8tY2xhc3MtbWFwOiAoKTtcclxuXHJcbiAgLy8gTG9vcCB3aWR0aHNcclxuICBAZWFjaCAkZGVub21pbmF0b3IgaW4gJG9mZnNldHMge1xyXG5cclxuICAgIC8vIElmIDE9MSwgMj0yLCAzPTM7IEBmb3Igd2lsbCBza2lwIG92ZXIgc28gY3JlYXRlIDEvMSBjbGFzcyBtYW51YWxseVxyXG4gICAgQGlmICgkZGVub21pbmF0b3IgPT0gMSkge1xyXG5cclxuICAgICAgLy8gQ3JlYXRlIDEvMSBjbGFzc1xyXG4gICAgICAkY2xhc3MtbmFtZTogYXYtY3JlYXRlLW9mZnNldC1jbGFzcy1uYW1lKCRhdi13aWR0aC1jbGFzcy1zdHlsZSwgMSwgMSwgJGJyZWFrcG9pbnQtYWxpYXMpO1xyXG5cclxuICAgICAgLiN7JGNsYXNzLW5hbWV9IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBlbHNlIHtcclxuXHJcbiAgICAgIC8vIExvb3Agd2lkdGhzIGFzIGZyYWN0aW9uc1xyXG4gICAgICBAZm9yICRudW1lcmF0b3IgZnJvbSAxIHRvICRkZW5vbWluYXRvciB7XHJcblxyXG4gICAgICAgIC8vIENyZWF0ZSBjbGFzcyBuYW1lIGFuZCBzZXQgd2lkdGggdmFsdWVcclxuICAgICAgICAkY2xhc3MtbmFtZTogYXYtY3JlYXRlLW9mZnNldC1jbGFzcy1uYW1lKCRhdi13aWR0aC1jbGFzcy1zdHlsZSwgJG51bWVyYXRvciwgJGRlbm9taW5hdG9yLCAkYnJlYWtwb2ludC1hbGlhcyk7XHJcbiAgICAgICAgJHBhZGRpbmctdmFsdWU6IHBlcmNlbnRhZ2UoJG51bWVyYXRvciAvICRkZW5vbWluYXRvcik7XHJcblxyXG4gICAgICAgIC8vIElzIHRoaXMgd2lkdGggYWxyZWFkeSBpbiBvdXIgdXRpbGl0eSBtYXA/XHJcbiAgICAgICAgJGR1cGxpY2F0ZTogbWFwLWdldCgkcHNldWRvLWNsYXNzLW1hcCwgJHBhZGRpbmctdmFsdWUpO1xyXG5cclxuICAgICAgICAvLyBDcmVhdGUgd2lkdGggY2xhc3NcclxuICAgICAgICAuI3skY2xhc3MtbmFtZX0ge1xyXG5cclxuICAgICAgICAgIC8vIElmIHRoaXMgd2lkdGggaXMgaW4gdXRpbGl0eSBtYXAsIEBleHRlbmQgdGhlIGR1cGxpY2F0ZSwgZWxzZSBjcmVhdGUgYSBuZXcgb25lXHJcbiAgICAgICAgICBAaWYgJGR1cGxpY2F0ZSB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgLiN7JGR1cGxpY2F0ZX07XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nLXZhbHVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQWRkIHRoaXMgY2xhc3MgdG8gdXRpbGl0eSBtYXBcclxuICAgICAgICAkYWRkLWNsYXNzOiAoJHBhZGRpbmctdmFsdWU6ICRjbGFzcy1uYW1lKTtcclxuICAgICAgICAkcHNldWRvLWNsYXNzLW1hcDogbWFwLW1lcmdlKCRwc2V1ZG8tY2xhc3MtbWFwLCAkYWRkLWNsYXNzKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4gQG1peGluIGF2LW1xKCRhbGlhcykge1xyXG4gXHJcbiAgIC8vIFNlYXJjaCBicmVha3BvaW50IG1hcCBmb3IgYWxpYXNcclxuICAgJHF1ZXJ5OiBtYXAtZ2V0KCRhdi1icmVha3BvaW50cywgJGFsaWFzKTtcclxuIFxyXG4gICAvLyBJZiBhbGlhcyBleGlzdHMsIHByaW50IG91dCBtZWRpYSBxdWVyeVxyXG4gICBAaWYgJHF1ZXJ5IHtcclxuICAgICBAbWVkaWEgI3skcXVlcnl9IHtcclxuICAgICAgIEBjb250ZW50O1xyXG4gICAgIH1cclxuICAgfVxyXG4gXHJcbiAgIEBlbHNlIHtcclxuICAgICBAZXJyb3IgXCJObyBicmVha3BvaW50IGZvdW5kIGZvciAjeyRhbGlhc31cIjtcclxuICAgfVxyXG4gfVxyXG4gXHJcbiAvKipcclxuICAqIEdSSUQgTEFZT1VUXHJcbiAgKi9cclxuIC4je2F2Q3JlYXRlQmxvY2tDbGFzc05hbWUoKX0ge1xyXG4gICBkaXNwbGF5OiBibG9jaztcclxuICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgcGFkZGluZzogMDtcclxuICAgbWFyZ2luOiAwO1xyXG4gICBtYXJnaW4tbGVmdDogLSgkYXYtZ3V0dGVyKTtcclxuICAgZm9udC1zaXplOiAwO1xyXG4gfVxyXG4gXHJcbiAuI3thdkNyZWF0ZUVsZW1lbnRDbGFzc05hbWUoKX0ge1xyXG4gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgIHdpZHRoOiAxMDAlO1xyXG4gICBwYWRkaW5nOiAwO1xyXG4gICBwYWRkaW5nLWxlZnQ6ICRhdi1ndXR0ZXI7XHJcbiAgIG1hcmdpbjogMDtcclxuICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgZm9udC1zaXplOiAxcmVtO1xyXG4gfVxyXG5cclxuIFxyXG4gQGlmICRhdi1lbmFibGUtZ3JpZC1jZW50ZXIge1xyXG4gICAuI3thdkNyZWF0ZUJsb2NrQ2xhc3NOYW1lKCdjZW50ZXInKX0ge1xyXG4gICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuIFxyXG4gICAgID4gLiN7YXZDcmVhdGVFbGVtZW50Q2xhc3NOYW1lKCl9IHtcclxuICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgfVxyXG4gICB9XHJcbiB9XHJcbiBcclxuIEBpZiAkYXYtZW5hYmxlLWdyaWQtY2VsbC1jZW50ZXIge1xyXG4gICAuI3thdkNyZWF0ZUVsZW1lbnRDbGFzc05hbWUoJ2NlbnRlcicpfSB7XHJcbiAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgIH1cclxuIH1cclxuIFxyXG4gQGlmICRhdi1lbmFibGUtZ3JpZC1yaWdodCB7XHJcbiAgIC4je2F2Q3JlYXRlQmxvY2tDbGFzc05hbWUoJ3JpZ2h0Jyl9IHtcclxuICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuIFxyXG4gICAgID4gLiN7YXZDcmVhdGVFbGVtZW50Q2xhc3NOYW1lKCl9IHtcclxuICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgfVxyXG4gICB9XHJcbiB9XHJcbiBcclxuIEBpZiAkYXYtZW5hYmxlLWdyaWQtbWlkZGxlIHtcclxuICAgLiN7YXZDcmVhdGVCbG9ja0NsYXNzTmFtZSgnbWlkZGxlJyl9IHtcclxuICAgICA+IC4je2F2Q3JlYXRlRWxlbWVudENsYXNzTmFtZSgpfSB7XHJcbiAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgIH1cclxuICAgfVxyXG4gfVxyXG4gXHJcbiBAaWYgJGF2LWVuYWJsZS1ncmlkLWJvdHRvbSB7XHJcbiAgIC4je2F2Q3JlYXRlQmxvY2tDbGFzc05hbWUoJ2JvdHRvbScpfSB7XHJcbiAgICAgPiAuI3thdkNyZWF0ZUVsZW1lbnRDbGFzc05hbWUoKX0ge1xyXG4gICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcclxuICAgICB9XHJcbiAgIH1cclxuIH1cclxuIFxyXG4gQGlmICRhdi1lbmFibGUtZ3JpZC1mbHVzaCB7XHJcbiAgIC4je2F2Q3JlYXRlQmxvY2tDbGFzc05hbWUoJ2ZsdXNoJyl9IHtcclxuICAgICBtYXJnaW4tbGVmdDogMDtcclxuIFxyXG4gICAgID4gLiN7YXZDcmVhdGVFbGVtZW50Q2xhc3NOYW1lKCl9IHtcclxuICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICB9XHJcbiAgIH1cclxuIH1cclxuIFxyXG4gQGlmICRhdi1lbmFibGUtZ3JpZC10aW55IHtcclxuICAgLiN7YXZDcmVhdGVCbG9ja0NsYXNzTmFtZSgndGlueScpfSB7XHJcbiAgICAgbWFyZ2luLWxlZnQ6IC0oJGF2LWd1dHRlciAvIDQpO1xyXG4gXHJcbiAgICAgPiAuI3thdkNyZWF0ZUVsZW1lbnRDbGFzc05hbWUoKX0ge1xyXG4gICAgICAgcGFkZGluZy1sZWZ0OiAoJGF2LWd1dHRlciAvIDQpO1xyXG4gICAgIH1cclxuICAgfVxyXG4gfVxyXG4gXHJcbiBAaWYgJGF2LWVuYWJsZS1ncmlkLXNtYWxsIHtcclxuICAgLiN7YXZDcmVhdGVCbG9ja0NsYXNzTmFtZSgnc21hbGwnKX0ge1xyXG4gICAgIG1hcmdpbi1sZWZ0OiAtKCRhdi1ndXR0ZXIgLyAyKTtcclxuIFxyXG4gICAgID4gLiN7YXZDcmVhdGVFbGVtZW50Q2xhc3NOYW1lKCl9IHtcclxuICAgICAgIHBhZGRpbmctbGVmdDogKCRhdi1ndXR0ZXIgLyAyKTtcclxuICAgICB9XHJcbiAgIH1cclxuIH1cclxuIFxyXG4gQGlmICRhdi1lbmFibGUtZ3JpZC1sYXJnZSB7XHJcbiAgIC4je2F2Q3JlYXRlQmxvY2tDbGFzc05hbWUoJ2xhcmdlJyl9IHtcclxuICAgICBtYXJnaW4tbGVmdDogLSgkYXYtZ3V0dGVyICogMik7XHJcbiBcclxuICAgICA+IC4je2F2Q3JlYXRlRWxlbWVudENsYXNzTmFtZSgpfSB7XHJcbiAgICAgICBwYWRkaW5nLWxlZnQ6ICgkYXYtZ3V0dGVyICogMik7XHJcbiAgICAgfVxyXG4gICB9XHJcbiB9XHJcbiBcclxuIEBpZiAkYXYtZW5hYmxlLWdyaWQtaHVnZSB7XHJcbiAgIC4je2F2Q3JlYXRlQmxvY2tDbGFzc05hbWUoJ2h1Z2UnKX0ge1xyXG4gICAgIG1hcmdpbi1sZWZ0OiAtKCRhdi1ndXR0ZXIgKiA0KTtcclxuIFxyXG4gICAgID4gLiN7YXZDcmVhdGVFbGVtZW50Q2xhc3NOYW1lKCl9IHtcclxuICAgICAgIHBhZGRpbmctbGVmdDogKCRhdi1ndXR0ZXIgKiA0KTtcclxuICAgICB9XHJcbiAgIH1cclxuIH1cclxuIFxyXG4gQGlmICRhdi1lbmFibGUtZ3JpZC1hdXRvIHtcclxuICAgLiN7YXZDcmVhdGVCbG9ja0NsYXNzTmFtZSgnYXV0bycpfSB7XHJcbiAgICAgPiAuI3thdkNyZWF0ZUVsZW1lbnRDbGFzc05hbWUoKX0ge1xyXG4gICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgfVxyXG4gICB9XHJcbiB9XHJcbiBcclxuIEBpZiAkYXYtZW5hYmxlLWdyaWQtcmV2IHtcclxuICAgLiN7YXZDcmVhdGVCbG9ja0NsYXNzTmFtZSgncmV2Jyl9IHtcclxuICAgICBkaXJlY3Rpb246IHJ0bDtcclxuIFxyXG4gICAgID4gLiN7YXZDcmVhdGVFbGVtZW50Q2xhc3NOYW1lKCl9IHtcclxuICAgICAgIGRpcmVjdGlvbjogbHRyO1xyXG4gICAgIH1cclxuICAgfVxyXG4gfVxyXG4gXHJcbiAvKipcclxuICAqIEdSSUQgV0lEVEhTXHJcbiAgKi9cclxuIFxyXG4gLy8gTG9vcCBkZWZhdWx0IHdpZHRoc1xyXG4gQGluY2x1ZGUgYXYtY3JlYXRlLXdpZHRocygkYXYtd2lkdGhzKTtcclxuIFxyXG4gLy8gSWYgcmVzcG9uc2l2ZSBmbGFnIGVuYWJsZWQsIGxvb3AgYnJlYWtwb2ludCB3aWR0aHNcclxuIEBpZiAkYXYtZW5hYmxlLXJlc3BvbnNpdmUge1xyXG4gICBAZWFjaCAkYWxpYXMsICRxdWVyeSBpbiAkYXYtYnJlYWtwb2ludHMge1xyXG4gXHJcbiAgICAgLy8gQ3JlYXRlIGVhY2ggbWVkaWEgcXVlcnlcclxuICAgICBAbWVkaWEgI3skcXVlcnl9IHtcclxuICAgICAgIEBpbmNsdWRlIGF2LWNyZWF0ZS13aWR0aHMoJGF2LXdpZHRocywgI3skYXYtYnJlYWtwb2ludC1jbGFzcy1jaGFpbn0jeyRhbGlhc30pO1xyXG4gICAgIH1cclxuICAgfVxyXG4gfVxyXG4gXHJcbiAgLyoqXHJcbiAgKiBHUklEIE9GRlNFVFNcclxuICAqL1xyXG4gXHJcbiAvLyBMb29wIGRlZmF1bHQgd2lkdGhzXHJcbiBAaW5jbHVkZSBhdi1jcmVhdGUtb2Zmc2V0cygkYXYtb2Zmc2V0cyk7XHJcbiBcclxuIC8vIElmIHJlc3BvbnNpdmUgZmxhZyBlbmFibGVkLCBsb29wIGJyZWFrcG9pbnQgd2lkdGhzXHJcbiBAaWYgJGF2LWVuYWJsZS1yZXNwb25zaXZlIHtcclxuICAgQGVhY2ggJGFsaWFzLCAkcXVlcnkgaW4gJGF2LWJyZWFrcG9pbnRzIHtcclxuIFxyXG4gICAgIC8vIENyZWF0ZSBlYWNoIG1lZGlhIHF1ZXJ5XHJcbiAgICAgQG1lZGlhICN7JHF1ZXJ5fSB7XHJcbiAgICAgICBAaW5jbHVkZSBhdi1jcmVhdGUtb2Zmc2V0cygkYXYtb2Zmc2V0cywgI3skYXYtYnJlYWtwb2ludC1jbGFzcy1jaGFpbn0jeyRhbGlhc30pO1xyXG4gICAgIH1cclxuICAgfVxyXG4gfSIsIi8qIVxyXG5UaGVtZSBOYW1lOiBWZXJvbmEgTGlicmlcclxuVGhlbWUgVVJJOiBodHRwOi8vd3d3Lm92ZXJweC5jb21cclxuQXV0aG9yOiBPdmVycHhcclxuQXV0aG9yIFVSSTogaHR0cDovL3d3dy5vdmVycHguY29tXHJcblZlcnNpb246IDEuMC4wXHJcbkxpY2Vuc2U6IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHYyIG9yIGxhdGVyXHJcbkxpY2Vuc2UgVVJJOiBMSUNFTlNFXHJcblRleHQgRG9tYWluOiBPdmVycHhcclxuKi9cbmh0bWwsIC5mb250LXNhbnMtc2VyaWYtcmVndWxhciB7XG4gIGZvbnQtZmFtaWx5OiBcImpvc2VmaW4tc2Fucy1yZWd1bGFyXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5mb250LXNhbnMtc2VyaWYtbGlnaHQge1xuICBmb250LWZhbWlseTogXCJqb3NlZmluLXNhbnMtbGlnaHRcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLmZvbnQtc2Fucy1zZXJpZi1ib2xkIHtcbiAgZm9udC1mYW1pbHk6IFwiam9zZWZpbi1zYW5zLWJvbGRcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmZvbnQtc2VyaWYtcmVndWxhciwgLnRpdGxlLXNlcmlmLWJpZywgLnRpdGxlLXNlcmlmLW1lZGl1bSwgLnRpdGxlLXNlcmlmLXNtYWxsLCAudGl0bGUtc2VyaWYtdGlueSB7XG4gIGZvbnQtZmFtaWx5OiBcImRhbmNpbmctc2NyaXB0LXJlZ3VsYXJcIiwgc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi8qISBBdmFsYW5jaGUgfCBNSVQgTGljZW5zZSB8IEBjb2xvdXJnYXJkZW4gKi9cbi8qKlxyXG4gKiBTRVRUSU5HU1xyXG4gKi9cbi8qKlxyXG4gICogTE9HSUMgYWthIFRIRSBNQUdJQ1xyXG4gICovXG4vKipcclxuICAqIEdSSUQgTEFZT1VUXHJcbiAgKi9cbi5ncmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgZm9udC1zaXplOiAwO1xufVxuXG4uZ3JpZF9fY2VsbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctbGVmdDogMHB4O1xuICBtYXJnaW46IDA7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLmdyaWQtLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmdyaWQtLWNlbnRlciA+IC5ncmlkX19jZWxsIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmdyaWRfX2NlbGwtLWNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmdyaWQtLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5ncmlkLS1yaWdodCA+IC5ncmlkX19jZWxsIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmdyaWQtLW1pZGRsZSA+IC5ncmlkX19jZWxsIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmdyaWQtLWJvdHRvbSA+IC5ncmlkX19jZWxsIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cblxuLmdyaWQtLXJldiB7XG4gIGRpcmVjdGlvbjogcnRsO1xufVxuXG4uZ3JpZC0tcmV2ID4gLmdyaWRfX2NlbGwge1xuICBkaXJlY3Rpb246IGx0cjtcbn1cblxuLyoqXHJcbiAgKiBHUklEIFdJRFRIU1xyXG4gICovXG4uXFwzMVxcLzYsIC5cXDMyXFwvMTIge1xuICB3aWR0aDogMTYuNjY2NjclO1xufVxuXG4uXFwzMlxcLzYsIC5cXDM0XFwvMTIge1xuICB3aWR0aDogMzMuMzMzMzMlO1xufVxuXG4uXFwzM1xcLzYsIC5cXDM2XFwvMTIge1xuICB3aWR0aDogNTAlO1xufVxuXG4uXFwzNFxcLzYsIC5cXDM4XFwvMTIge1xuICB3aWR0aDogNjYuNjY2NjclO1xufVxuXG4uXFwzNVxcLzYsIC5cXDMxXFwzMFxcLzEyIHtcbiAgd2lkdGg6IDgzLjMzMzMzJTtcbn1cblxuLlxcMzFcXC8xMiB7XG4gIHdpZHRoOiA4LjMzMzMzJTtcbn1cblxuLlxcMzNcXC8xMiB7XG4gIHdpZHRoOiAyNSU7XG59XG5cbi5cXDM1XFwvMTIge1xuICB3aWR0aDogNDEuNjY2NjclO1xufVxuXG4uXFwzN1xcLzEyIHtcbiAgd2lkdGg6IDU4LjMzMzMzJTtcbn1cblxuLlxcMzlcXC8xMiB7XG4gIHdpZHRoOiA3NSU7XG59XG5cbi5cXDMxXFwzMVxcLzEyIHtcbiAgd2lkdGg6IDkxLjY2NjY3JTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDk5cHgpIHtcbiAgLlxcMzFcXC82LS10aHVtYiwgLlxcMzJcXC8xMi0tdGh1bWIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gIH1cbiAgLlxcMzJcXC82LS10aHVtYiwgLlxcMzRcXC8xMi0tdGh1bWIge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLlxcMzNcXC82LS10aHVtYiwgLlxcMzZcXC8xMi0tdGh1bWIge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLlxcMzRcXC82LS10aHVtYiwgLlxcMzhcXC8xMi0tdGh1bWIge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gIH1cbiAgLlxcMzVcXC82LS10aHVtYiwgLlxcMzFcXDMwXFwvMTItLXRodW1iIHtcbiAgICB3aWR0aDogODMuMzMzMzMlO1xuICB9XG4gIC5cXDMxXFwvMTItLXRodW1iIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7XG4gIH1cbiAgLlxcMzNcXC8xMi0tdGh1bWIge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLlxcMzVcXC8xMi0tdGh1bWIge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7XG4gIH1cbiAgLlxcMzdcXC8xMi0tdGh1bWIge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gIH1cbiAgLlxcMzlcXC8xMi0tdGh1bWIge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLlxcMzFcXDMxXFwvMTItLXRodW1iIHtcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLlxcMzFcXC82LS1oYW5kaGVsZCwgLlxcMzJcXC8xMi0taGFuZGhlbGQge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gIH1cbiAgLlxcMzJcXC82LS1oYW5kaGVsZCwgLlxcMzRcXC8xMi0taGFuZGhlbGQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLlxcMzNcXC82LS1oYW5kaGVsZCwgLlxcMzZcXC8xMi0taGFuZGhlbGQge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLlxcMzRcXC82LS1oYW5kaGVsZCwgLlxcMzhcXC8xMi0taGFuZGhlbGQge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gIH1cbiAgLlxcMzVcXC82LS1oYW5kaGVsZCwgLlxcMzFcXDMwXFwvMTItLWhhbmRoZWxkIHtcbiAgICB3aWR0aDogODMuMzMzMzMlO1xuICB9XG4gIC5cXDMxXFwvMTItLWhhbmRoZWxkIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7XG4gIH1cbiAgLlxcMzNcXC8xMi0taGFuZGhlbGQge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLlxcMzVcXC8xMi0taGFuZGhlbGQge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7XG4gIH1cbiAgLlxcMzdcXC8xMi0taGFuZGhlbGQge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gIH1cbiAgLlxcMzlcXC8xMi0taGFuZGhlbGQge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLlxcMzFcXDMxXFwvMTItLWhhbmRoZWxkIHtcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gIC5cXDMxXFwvNi0taGFuZGhlbGQtYW5kLXVwLCAuXFwzMlxcLzEyLS1oYW5kaGVsZC1hbmQtdXAge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gIH1cbiAgLlxcMzJcXC82LS1oYW5kaGVsZC1hbmQtdXAsIC5cXDM0XFwvMTItLWhhbmRoZWxkLWFuZC11cCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgfVxuICAuXFwzM1xcLzYtLWhhbmRoZWxkLWFuZC11cCwgLlxcMzZcXC8xMi0taGFuZGhlbGQtYW5kLXVwIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5cXDM0XFwvNi0taGFuZGhlbGQtYW5kLXVwLCAuXFwzOFxcLzEyLS1oYW5kaGVsZC1hbmQtdXAge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gIH1cbiAgLlxcMzVcXC82LS1oYW5kaGVsZC1hbmQtdXAsIC5cXDMxXFwzMFxcLzEyLS1oYW5kaGVsZC1hbmQtdXAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7XG4gIH1cbiAgLlxcMzFcXC8xMi0taGFuZGhlbGQtYW5kLXVwIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7XG4gIH1cbiAgLlxcMzNcXC8xMi0taGFuZGhlbGQtYW5kLXVwIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5cXDM1XFwvMTItLWhhbmRoZWxkLWFuZC11cCB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgfVxuICAuXFwzN1xcLzEyLS1oYW5kaGVsZC1hbmQtdXAge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gIH1cbiAgLlxcMzlcXC8xMi0taGFuZGhlbGQtYW5kLXVwIHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5cXDMxXFwzMVxcLzEyLS1oYW5kaGVsZC1hbmQtdXAge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLlxcMzFcXC82LS1wb2NrZXQsIC5cXDMyXFwvMTItLXBvY2tldCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAuXFwzMlxcLzYtLXBvY2tldCwgLlxcMzRcXC8xMi0tcG9ja2V0IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC5cXDMzXFwvNi0tcG9ja2V0LCAuXFwzNlxcLzEyLS1wb2NrZXQge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLlxcMzRcXC82LS1wb2NrZXQsIC5cXDM4XFwvMTItLXBvY2tldCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAuXFwzNVxcLzYtLXBvY2tldCwgLlxcMzFcXDMwXFwvMTItLXBvY2tldCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAuXFwzMVxcLzEyLS1wb2NrZXQge1xuICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgfVxuICAuXFwzM1xcLzEyLS1wb2NrZXQge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLlxcMzVcXC8xMi0tcG9ja2V0IHtcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC5cXDM3XFwvMTItLXBvY2tldCB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgfVxuICAuXFwzOVxcLzEyLS1wb2NrZXQge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLlxcMzFcXDMxXFwvMTItLXBvY2tldCB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDFweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAuXFwzMVxcLzYtLWxhcCwgLlxcMzJcXC8xMi0tbGFwIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC5cXDMyXFwvNi0tbGFwLCAuXFwzNFxcLzEyLS1sYXAge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLlxcMzNcXC82LS1sYXAsIC5cXDM2XFwvMTItLWxhcCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuXFwzNFxcLzYtLWxhcCwgLlxcMzhcXC8xMi0tbGFwIHtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICB9XG4gIC5cXDM1XFwvNi0tbGFwLCAuXFwzMVxcMzBcXC8xMi0tbGFwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlO1xuICB9XG4gIC5cXDMxXFwvMTItLWxhcCB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICB9XG4gIC5cXDMzXFwvMTItLWxhcCB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuXFwzNVxcLzEyLS1sYXAge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7XG4gIH1cbiAgLlxcMzdcXC8xMi0tbGFwIHtcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC5cXDM5XFwvMTItLWxhcCB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuXFwzMVxcMzFcXC8xMi0tbGFwIHtcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5cXDMxXFwvNi0tbGFwLWFuZC11cCwgLlxcMzJcXC8xMi0tbGFwLWFuZC11cCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAuXFwzMlxcLzYtLWxhcC1hbmQtdXAsIC5cXDM0XFwvMTItLWxhcC1hbmQtdXAge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLlxcMzNcXC82LS1sYXAtYW5kLXVwLCAuXFwzNlxcLzEyLS1sYXAtYW5kLXVwIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5cXDM0XFwvNi0tbGFwLWFuZC11cCwgLlxcMzhcXC8xMi0tbGFwLWFuZC11cCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAuXFwzNVxcLzYtLWxhcC1hbmQtdXAsIC5cXDMxXFwzMFxcLzEyLS1sYXAtYW5kLXVwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlO1xuICB9XG4gIC5cXDMxXFwvMTItLWxhcC1hbmQtdXAge1xuICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgfVxuICAuXFwzM1xcLzEyLS1sYXAtYW5kLXVwIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5cXDM1XFwvMTItLWxhcC1hbmQtdXAge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7XG4gIH1cbiAgLlxcMzdcXC8xMi0tbGFwLWFuZC11cCB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgfVxuICAuXFwzOVxcLzEyLS1sYXAtYW5kLXVwIHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5cXDMxXFwzMVxcLzEyLS1sYXAtYW5kLXVwIHtcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAuXFwzMVxcLzYtLXBvcnRhYmxlLCAuXFwzMlxcLzEyLS1wb3J0YWJsZSB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAuXFwzMlxcLzYtLXBvcnRhYmxlLCAuXFwzNFxcLzEyLS1wb3J0YWJsZSB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgfVxuICAuXFwzM1xcLzYtLXBvcnRhYmxlLCAuXFwzNlxcLzEyLS1wb3J0YWJsZSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuXFwzNFxcLzYtLXBvcnRhYmxlLCAuXFwzOFxcLzEyLS1wb3J0YWJsZSB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAuXFwzNVxcLzYtLXBvcnRhYmxlLCAuXFwzMVxcMzBcXC8xMi0tcG9ydGFibGUge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7XG4gIH1cbiAgLlxcMzFcXC8xMi0tcG9ydGFibGUge1xuICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgfVxuICAuXFwzM1xcLzEyLS1wb3J0YWJsZSB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuXFwzNVxcLzEyLS1wb3J0YWJsZSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgfVxuICAuXFwzN1xcLzEyLS1wb3J0YWJsZSB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgfVxuICAuXFwzOVxcLzEyLS1wb3J0YWJsZSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuXFwzMVxcMzFcXC8xMi0tcG9ydGFibGUge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5cXDMxXFwvNi0tZGVzaywgLlxcMzJcXC8xMi0tZGVzayB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAuXFwzMlxcLzYtLWRlc2ssIC5cXDM0XFwvMTItLWRlc2sge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLlxcMzNcXC82LS1kZXNrLCAuXFwzNlxcLzEyLS1kZXNrIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5cXDM0XFwvNi0tZGVzaywgLlxcMzhcXC8xMi0tZGVzayB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAuXFwzNVxcLzYtLWRlc2ssIC5cXDMxXFwzMFxcLzEyLS1kZXNrIHtcbiAgICB3aWR0aDogODMuMzMzMzMlO1xuICB9XG4gIC5cXDMxXFwvMTItLWRlc2sge1xuICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgfVxuICAuXFwzM1xcLzEyLS1kZXNrIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5cXDM1XFwvMTItLWRlc2sge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7XG4gIH1cbiAgLlxcMzdcXC8xMi0tZGVzayB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgfVxuICAuXFwzOVxcLzEyLS1kZXNrIHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5cXDMxXFwzMVxcLzEyLS1kZXNrIHtcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzNjZweCkge1xuICAuXFwzMVxcLzYtLXdpZGVzY3JlZW4sIC5cXDMyXFwvMTItLXdpZGVzY3JlZW4ge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gIH1cbiAgLlxcMzJcXC82LS13aWRlc2NyZWVuLCAuXFwzNFxcLzEyLS13aWRlc2NyZWVuIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC5cXDMzXFwvNi0td2lkZXNjcmVlbiwgLlxcMzZcXC8xMi0td2lkZXNjcmVlbiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuXFwzNFxcLzYtLXdpZGVzY3JlZW4sIC5cXDM4XFwvMTItLXdpZGVzY3JlZW4ge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7XG4gIH1cbiAgLlxcMzVcXC82LS13aWRlc2NyZWVuLCAuXFwzMVxcMzBcXC8xMi0td2lkZXNjcmVlbiB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAuXFwzMVxcLzEyLS13aWRlc2NyZWVuIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7XG4gIH1cbiAgLlxcMzNcXC8xMi0td2lkZXNjcmVlbiB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuXFwzNVxcLzEyLS13aWRlc2NyZWVuIHtcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC5cXDM3XFwvMTItLXdpZGVzY3JlZW4ge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gIH1cbiAgLlxcMzlcXC8xMi0td2lkZXNjcmVlbiB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuXFwzMVxcMzFcXC8xMi0td2lkZXNjcmVlbiB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgLlxcMzFcXC82LS1kdmwsIC5cXDMyXFwvMTItLWR2bCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgfVxuICAuXFwzMlxcLzYtLWR2bCwgLlxcMzRcXC8xMi0tZHZsIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG4gIC5cXDMzXFwvNi0tZHZsLCAuXFwzNlxcLzEyLS1kdmwge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLlxcMzRcXC82LS1kdmwsIC5cXDM4XFwvMTItLWR2bCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxuICAuXFwzNVxcLzYtLWR2bCwgLlxcMzFcXDMwXFwvMTItLWR2bCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgfVxuICAuXFwzMVxcLzEyLS1kdmwge1xuICAgIHdpZHRoOiA4LjMzMzMzJTtcbiAgfVxuICAuXFwzM1xcLzEyLS1kdmwge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLlxcMzVcXC8xMi0tZHZsIHtcbiAgICB3aWR0aDogNDEuNjY2NjclO1xuICB9XG4gIC5cXDM3XFwvMTItLWR2bCB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgfVxuICAuXFwzOVxcLzEyLS1kdmwge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLlxcMzFcXDMxXFwvMTItLWR2bCB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkge1xuICAuXFwzMVxcLzYtLXJldGluYSwgLlxcMzJcXC8xMi0tcmV0aW5hIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICB9XG4gIC5cXDMyXFwvNi0tcmV0aW5hLCAuXFwzNFxcLzEyLS1yZXRpbmEge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gIH1cbiAgLlxcMzNcXC82LS1yZXRpbmEsIC5cXDM2XFwvMTItLXJldGluYSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuXFwzNFxcLzYtLXJldGluYSwgLlxcMzhcXC8xMi0tcmV0aW5hIHtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICB9XG4gIC5cXDM1XFwvNi0tcmV0aW5hLCAuXFwzMVxcMzBcXC8xMi0tcmV0aW5hIHtcbiAgICB3aWR0aDogODMuMzMzMzMlO1xuICB9XG4gIC5cXDMxXFwvMTItLXJldGluYSB7XG4gICAgd2lkdGg6IDguMzMzMzMlO1xuICB9XG4gIC5cXDMzXFwvMTItLXJldGluYSB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuXFwzNVxcLzEyLS1yZXRpbmEge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7XG4gIH1cbiAgLlxcMzdcXC8xMi0tcmV0aW5hIHtcbiAgICB3aWR0aDogNTguMzMzMzMlO1xuICB9XG4gIC5cXDM5XFwvMTItLXJldGluYSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuXFwzMVxcMzFcXC8xMi0tcmV0aW5hIHtcbiAgICB3aWR0aDogOTEuNjY2NjclO1xuICB9XG59XG5cbi8qKlxyXG4gICogR1JJRCBPRkZTRVRTXHJcbiAgKi9cbi5vZmZzZXQtMVxcLzEyIHtcbiAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzJTtcbn1cblxuLm9mZnNldC0yXFwvMTIge1xuICBwYWRkaW5nLWxlZnQ6IDE2LjY2NjY3JTtcbn1cblxuLm9mZnNldC0zXFwvMTIge1xuICBwYWRkaW5nLWxlZnQ6IDI1JTtcbn1cblxuLm9mZnNldC00XFwvMTIge1xuICBwYWRkaW5nLWxlZnQ6IDMzLjMzMzMzJTtcbn1cblxuLm9mZnNldC01XFwvMTIge1xuICBwYWRkaW5nLWxlZnQ6IDQxLjY2NjY3JTtcbn1cblxuLm9mZnNldC02XFwvMTIge1xuICBwYWRkaW5nLWxlZnQ6IDUwJTtcbn1cblxuLm9mZnNldC03XFwvMTIge1xuICBwYWRkaW5nLWxlZnQ6IDU4LjMzMzMzJTtcbn1cblxuLm9mZnNldC04XFwvMTIge1xuICBwYWRkaW5nLWxlZnQ6IDY2LjY2NjY3JTtcbn1cblxuLm9mZnNldC05XFwvMTIge1xuICBwYWRkaW5nLWxlZnQ6IDc1JTtcbn1cblxuLm9mZnNldC0xMFxcLzEyIHtcbiAgcGFkZGluZy1sZWZ0OiA4My4zMzMzMyU7XG59XG5cbi5vZmZzZXQtMTFcXC8xMiB7XG4gIHBhZGRpbmctbGVmdDogOTEuNjY2NjclO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OTlweCkge1xuICAub2Zmc2V0LTFcXC8xMi0tdGh1bWIge1xuICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMyU7XG4gIH1cbiAgLm9mZnNldC0yXFwvMTItLXRodW1iIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2LjY2NjY3JTtcbiAgfVxuICAub2Zmc2V0LTNcXC8xMi0tdGh1bWIge1xuICAgIHBhZGRpbmctbGVmdDogMjUlO1xuICB9XG4gIC5vZmZzZXQtNFxcLzEyLS10aHVtYiB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMy4zMzMzMyU7XG4gIH1cbiAgLm9mZnNldC01XFwvMTItLXRodW1iIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQxLjY2NjY3JTtcbiAgfVxuICAub2Zmc2V0LTZcXC8xMi0tdGh1bWIge1xuICAgIHBhZGRpbmctbGVmdDogNTAlO1xuICB9XG4gIC5vZmZzZXQtN1xcLzEyLS10aHVtYiB7XG4gICAgcGFkZGluZy1sZWZ0OiA1OC4zMzMzMyU7XG4gIH1cbiAgLm9mZnNldC04XFwvMTItLXRodW1iIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDY2LjY2NjY3JTtcbiAgfVxuICAub2Zmc2V0LTlcXC8xMi0tdGh1bWIge1xuICAgIHBhZGRpbmctbGVmdDogNzUlO1xuICB9XG4gIC5vZmZzZXQtMTBcXC8xMi0tdGh1bWIge1xuICAgIHBhZGRpbmctbGVmdDogODMuMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtMTFcXC8xMi0tdGh1bWIge1xuICAgIHBhZGRpbmctbGVmdDogOTEuNjY2NjclO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDUwMHB4KSBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLm9mZnNldC0xXFwvMTItLWhhbmRoZWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtMlxcLzEyLS1oYW5kaGVsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNi42NjY2NyU7XG4gIH1cbiAgLm9mZnNldC0zXFwvMTItLWhhbmRoZWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1JTtcbiAgfVxuICAub2Zmc2V0LTRcXC8xMi0taGFuZGhlbGQge1xuICAgIHBhZGRpbmctbGVmdDogMzMuMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtNVxcLzEyLS1oYW5kaGVsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MS42NjY2NyU7XG4gIH1cbiAgLm9mZnNldC02XFwvMTItLWhhbmRoZWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDUwJTtcbiAgfVxuICAub2Zmc2V0LTdcXC8xMi0taGFuZGhlbGQge1xuICAgIHBhZGRpbmctbGVmdDogNTguMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtOFxcLzEyLS1oYW5kaGVsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiA2Ni42NjY2NyU7XG4gIH1cbiAgLm9mZnNldC05XFwvMTItLWhhbmRoZWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDc1JTtcbiAgfVxuICAub2Zmc2V0LTEwXFwvMTItLWhhbmRoZWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgzLjMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LTExXFwvMTItLWhhbmRoZWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDkxLjY2NjY3JTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDBweCkge1xuICAub2Zmc2V0LTFcXC8xMi0taGFuZGhlbGQtYW5kLXVwIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtMlxcLzEyLS1oYW5kaGVsZC1hbmQtdXAge1xuICAgIHBhZGRpbmctbGVmdDogMTYuNjY2NjclO1xuICB9XG4gIC5vZmZzZXQtM1xcLzEyLS1oYW5kaGVsZC1hbmQtdXAge1xuICAgIHBhZGRpbmctbGVmdDogMjUlO1xuICB9XG4gIC5vZmZzZXQtNFxcLzEyLS1oYW5kaGVsZC1hbmQtdXAge1xuICAgIHBhZGRpbmctbGVmdDogMzMuMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtNVxcLzEyLS1oYW5kaGVsZC1hbmQtdXAge1xuICAgIHBhZGRpbmctbGVmdDogNDEuNjY2NjclO1xuICB9XG4gIC5vZmZzZXQtNlxcLzEyLS1oYW5kaGVsZC1hbmQtdXAge1xuICAgIHBhZGRpbmctbGVmdDogNTAlO1xuICB9XG4gIC5vZmZzZXQtN1xcLzEyLS1oYW5kaGVsZC1hbmQtdXAge1xuICAgIHBhZGRpbmctbGVmdDogNTguMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtOFxcLzEyLS1oYW5kaGVsZC1hbmQtdXAge1xuICAgIHBhZGRpbmctbGVmdDogNjYuNjY2NjclO1xuICB9XG4gIC5vZmZzZXQtOVxcLzEyLS1oYW5kaGVsZC1hbmQtdXAge1xuICAgIHBhZGRpbmctbGVmdDogNzUlO1xuICB9XG4gIC5vZmZzZXQtMTBcXC8xMi0taGFuZGhlbGQtYW5kLXVwIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgzLjMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LTExXFwvMTItLWhhbmRoZWxkLWFuZC11cCB7XG4gICAgcGFkZGluZy1sZWZ0OiA5MS42NjY2NyU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLm9mZnNldC0xXFwvMTItLXBvY2tldCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LTJcXC8xMi0tcG9ja2V0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2LjY2NjY3JTtcbiAgfVxuICAub2Zmc2V0LTNcXC8xMi0tcG9ja2V0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1JTtcbiAgfVxuICAub2Zmc2V0LTRcXC8xMi0tcG9ja2V0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMzLjMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LTVcXC8xMi0tcG9ja2V0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQxLjY2NjY3JTtcbiAgfVxuICAub2Zmc2V0LTZcXC8xMi0tcG9ja2V0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDUwJTtcbiAgfVxuICAub2Zmc2V0LTdcXC8xMi0tcG9ja2V0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDU4LjMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LThcXC8xMi0tcG9ja2V0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDY2LjY2NjY3JTtcbiAgfVxuICAub2Zmc2V0LTlcXC8xMi0tcG9ja2V0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDc1JTtcbiAgfVxuICAub2Zmc2V0LTEwXFwvMTItLXBvY2tldCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4My4zMzMzMyU7XG4gIH1cbiAgLm9mZnNldC0xMVxcLzEyLS1wb2NrZXQge1xuICAgIHBhZGRpbmctbGVmdDogOTEuNjY2NjclO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMXB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gIC5vZmZzZXQtMVxcLzEyLS1sYXAge1xuICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMyU7XG4gIH1cbiAgLm9mZnNldC0yXFwvMTItLWxhcCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNi42NjY2NyU7XG4gIH1cbiAgLm9mZnNldC0zXFwvMTItLWxhcCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNSU7XG4gIH1cbiAgLm9mZnNldC00XFwvMTItLWxhcCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMy4zMzMzMyU7XG4gIH1cbiAgLm9mZnNldC01XFwvMTItLWxhcCB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MS42NjY2NyU7XG4gIH1cbiAgLm9mZnNldC02XFwvMTItLWxhcCB7XG4gICAgcGFkZGluZy1sZWZ0OiA1MCU7XG4gIH1cbiAgLm9mZnNldC03XFwvMTItLWxhcCB7XG4gICAgcGFkZGluZy1sZWZ0OiA1OC4zMzMzMyU7XG4gIH1cbiAgLm9mZnNldC04XFwvMTItLWxhcCB7XG4gICAgcGFkZGluZy1sZWZ0OiA2Ni42NjY2NyU7XG4gIH1cbiAgLm9mZnNldC05XFwvMTItLWxhcCB7XG4gICAgcGFkZGluZy1sZWZ0OiA3NSU7XG4gIH1cbiAgLm9mZnNldC0xMFxcLzEyLS1sYXAge1xuICAgIHBhZGRpbmctbGVmdDogODMuMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtMTFcXC8xMi0tbGFwIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDkxLjY2NjY3JTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAub2Zmc2V0LTFcXC8xMi0tbGFwLWFuZC11cCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LTJcXC8xMi0tbGFwLWFuZC11cCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNi42NjY2NyU7XG4gIH1cbiAgLm9mZnNldC0zXFwvMTItLWxhcC1hbmQtdXAge1xuICAgIHBhZGRpbmctbGVmdDogMjUlO1xuICB9XG4gIC5vZmZzZXQtNFxcLzEyLS1sYXAtYW5kLXVwIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMzLjMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LTVcXC8xMi0tbGFwLWFuZC11cCB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MS42NjY2NyU7XG4gIH1cbiAgLm9mZnNldC02XFwvMTItLWxhcC1hbmQtdXAge1xuICAgIHBhZGRpbmctbGVmdDogNTAlO1xuICB9XG4gIC5vZmZzZXQtN1xcLzEyLS1sYXAtYW5kLXVwIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDU4LjMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LThcXC8xMi0tbGFwLWFuZC11cCB7XG4gICAgcGFkZGluZy1sZWZ0OiA2Ni42NjY2NyU7XG4gIH1cbiAgLm9mZnNldC05XFwvMTItLWxhcC1hbmQtdXAge1xuICAgIHBhZGRpbmctbGVmdDogNzUlO1xuICB9XG4gIC5vZmZzZXQtMTBcXC8xMi0tbGFwLWFuZC11cCB7XG4gICAgcGFkZGluZy1sZWZ0OiA4My4zMzMzMyU7XG4gIH1cbiAgLm9mZnNldC0xMVxcLzEyLS1sYXAtYW5kLXVwIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDkxLjY2NjY3JTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgLm9mZnNldC0xXFwvMTItLXBvcnRhYmxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtMlxcLzEyLS1wb3J0YWJsZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNi42NjY2NyU7XG4gIH1cbiAgLm9mZnNldC0zXFwvMTItLXBvcnRhYmxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1JTtcbiAgfVxuICAub2Zmc2V0LTRcXC8xMi0tcG9ydGFibGUge1xuICAgIHBhZGRpbmctbGVmdDogMzMuMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtNVxcLzEyLS1wb3J0YWJsZSB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MS42NjY2NyU7XG4gIH1cbiAgLm9mZnNldC02XFwvMTItLXBvcnRhYmxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDUwJTtcbiAgfVxuICAub2Zmc2V0LTdcXC8xMi0tcG9ydGFibGUge1xuICAgIHBhZGRpbmctbGVmdDogNTguMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtOFxcLzEyLS1wb3J0YWJsZSB7XG4gICAgcGFkZGluZy1sZWZ0OiA2Ni42NjY2NyU7XG4gIH1cbiAgLm9mZnNldC05XFwvMTItLXBvcnRhYmxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDc1JTtcbiAgfVxuICAub2Zmc2V0LTEwXFwvMTItLXBvcnRhYmxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgzLjMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LTExXFwvMTItLXBvcnRhYmxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDkxLjY2NjY3JTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLm9mZnNldC0xXFwvMTItLWRlc2sge1xuICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMyU7XG4gIH1cbiAgLm9mZnNldC0yXFwvMTItLWRlc2sge1xuICAgIHBhZGRpbmctbGVmdDogMTYuNjY2NjclO1xuICB9XG4gIC5vZmZzZXQtM1xcLzEyLS1kZXNrIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1JTtcbiAgfVxuICAub2Zmc2V0LTRcXC8xMi0tZGVzayB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMy4zMzMzMyU7XG4gIH1cbiAgLm9mZnNldC01XFwvMTItLWRlc2sge1xuICAgIHBhZGRpbmctbGVmdDogNDEuNjY2NjclO1xuICB9XG4gIC5vZmZzZXQtNlxcLzEyLS1kZXNrIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDUwJTtcbiAgfVxuICAub2Zmc2V0LTdcXC8xMi0tZGVzayB7XG4gICAgcGFkZGluZy1sZWZ0OiA1OC4zMzMzMyU7XG4gIH1cbiAgLm9mZnNldC04XFwvMTItLWRlc2sge1xuICAgIHBhZGRpbmctbGVmdDogNjYuNjY2NjclO1xuICB9XG4gIC5vZmZzZXQtOVxcLzEyLS1kZXNrIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDc1JTtcbiAgfVxuICAub2Zmc2V0LTEwXFwvMTItLWRlc2sge1xuICAgIHBhZGRpbmctbGVmdDogODMuMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtMTFcXC8xMi0tZGVzayB7XG4gICAgcGFkZGluZy1sZWZ0OiA5MS42NjY2NyU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTM2NnB4KSB7XG4gIC5vZmZzZXQtMVxcLzEyLS13aWRlc2NyZWVuIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtMlxcLzEyLS13aWRlc2NyZWVuIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2LjY2NjY3JTtcbiAgfVxuICAub2Zmc2V0LTNcXC8xMi0td2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNSU7XG4gIH1cbiAgLm9mZnNldC00XFwvMTItLXdpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctbGVmdDogMzMuMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtNVxcLzEyLS13aWRlc2NyZWVuIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQxLjY2NjY3JTtcbiAgfVxuICAub2Zmc2V0LTZcXC8xMi0td2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1sZWZ0OiA1MCU7XG4gIH1cbiAgLm9mZnNldC03XFwvMTItLXdpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctbGVmdDogNTguMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtOFxcLzEyLS13aWRlc2NyZWVuIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDY2LjY2NjY3JTtcbiAgfVxuICAub2Zmc2V0LTlcXC8xMi0td2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1sZWZ0OiA3NSU7XG4gIH1cbiAgLm9mZnNldC0xMFxcLzEyLS13aWRlc2NyZWVuIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgzLjMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LTExXFwvMTItLXdpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctbGVmdDogOTEuNjY2NjclO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAub2Zmc2V0LTFcXC8xMi0tZHZsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtMlxcLzEyLS1kdmwge1xuICAgIHBhZGRpbmctbGVmdDogMTYuNjY2NjclO1xuICB9XG4gIC5vZmZzZXQtM1xcLzEyLS1kdmwge1xuICAgIHBhZGRpbmctbGVmdDogMjUlO1xuICB9XG4gIC5vZmZzZXQtNFxcLzEyLS1kdmwge1xuICAgIHBhZGRpbmctbGVmdDogMzMuMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtNVxcLzEyLS1kdmwge1xuICAgIHBhZGRpbmctbGVmdDogNDEuNjY2NjclO1xuICB9XG4gIC5vZmZzZXQtNlxcLzEyLS1kdmwge1xuICAgIHBhZGRpbmctbGVmdDogNTAlO1xuICB9XG4gIC5vZmZzZXQtN1xcLzEyLS1kdmwge1xuICAgIHBhZGRpbmctbGVmdDogNTguMzMzMzMlO1xuICB9XG4gIC5vZmZzZXQtOFxcLzEyLS1kdmwge1xuICAgIHBhZGRpbmctbGVmdDogNjYuNjY2NjclO1xuICB9XG4gIC5vZmZzZXQtOVxcLzEyLS1kdmwge1xuICAgIHBhZGRpbmctbGVmdDogNzUlO1xuICB9XG4gIC5vZmZzZXQtMTBcXC8xMi0tZHZsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgzLjMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LTExXFwvMTItLWR2bCB7XG4gICAgcGFkZGluZy1sZWZ0OiA5MS42NjY2NyU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHtcbiAgLm9mZnNldC0xXFwvMTItLXJldGluYSB7XG4gICAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LTJcXC8xMi0tcmV0aW5hIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2LjY2NjY3JTtcbiAgfVxuICAub2Zmc2V0LTNcXC8xMi0tcmV0aW5hIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1JTtcbiAgfVxuICAub2Zmc2V0LTRcXC8xMi0tcmV0aW5hIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMzLjMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LTVcXC8xMi0tcmV0aW5hIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQxLjY2NjY3JTtcbiAgfVxuICAub2Zmc2V0LTZcXC8xMi0tcmV0aW5hIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDUwJTtcbiAgfVxuICAub2Zmc2V0LTdcXC8xMi0tcmV0aW5hIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDU4LjMzMzMzJTtcbiAgfVxuICAub2Zmc2V0LThcXC8xMi0tcmV0aW5hIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDY2LjY2NjY3JTtcbiAgfVxuICAub2Zmc2V0LTlcXC8xMi0tcmV0aW5hIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDc1JTtcbiAgfVxuICAub2Zmc2V0LTEwXFwvMTItLXJldGluYSB7XG4gICAgcGFkZGluZy1sZWZ0OiA4My4zMzMzMyU7XG4gIH1cbiAgLm9mZnNldC0xMVxcLzEyLS1yZXRpbmEge1xuICAgIHBhZGRpbmctbGVmdDogOTEuNjY2NjclO1xuICB9XG59XG5cbmh0bWwge1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICBjb2xvcjogIzAwMDtcbn1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxucCxcbmJsb2NrcXVvdGUsXG5maWd1cmUsXG5vbCxcbnVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG5tYWluLFxubGkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG59XG5cbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5hLFxuYnV0dG9uIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRyYW5zaXRpb246IC4zcztcbn1cblxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGJvcmRlcjogMDtcbiAgZm9udDogaW5oZXJpdDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogaW5oZXJpdDtcbiAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG46Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgYm9yZGVyOiAwO1xufVxuXG4vKiBDb21tb24gKi9cbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiam9zZWZpbi1zYW5zLXJlZ3VsYXJcIjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IGJsb2NrO1xuICBzcmM6IHVybChcImFzc2V0cy9mb250cy9qb3NlZmluLXNhbnMtcmVndWxhci9qb3NlZmluLXNhbnMtcmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiYXNzZXRzL2ZvbnRzL2pvc2VmaW4tc2Fucy1yZWd1bGFyL2pvc2VmaW4tc2Fucy1yZWd1bGFyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImpvc2VmaW4tc2Fucy1saWdodFwiO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogYmxvY2s7XG4gIHNyYzogdXJsKFwiYXNzZXRzL2ZvbnRzL2pvc2VmaW4tc2Fucy1saWdodC9qb3NlZmluLXNhbnMtbGlnaHQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcImFzc2V0cy9mb250cy9qb3NlZmluLXNhbnMtbGlnaHQvam9zZWZpbi1zYW5zLWxpZ2h0LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImpvc2VmaW4tc2Fucy1ib2xkXCI7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBibG9jaztcbiAgc3JjOiB1cmwoXCJhc3NldHMvZm9udHMvam9zZWZpbi1zYW5zLWJvbGQvam9zZWZpbi1zYW5zLWJvbGQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcImFzc2V0cy9mb250cy9qb3NlZmluLXNhbnMtYm9sZC9qb3NlZmluLXNhbnMtYm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJkYW5jaW5nLXNjcmlwdC1yZWd1bGFyXCI7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBibG9jaztcbiAgc3JjOiB1cmwoXCJhc3NldHMvZm9udHMvZGFuY2luZy1zY3JpcHQtcmVndWxhci9kYW5jaW5nLXNjcmlwdC1yZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCJhc3NldHMvZm9udHMvZGFuY2luZy1zY3JpcHQtcmVndWxhci9kYW5jaW5nLXNjcmlwdC1yZWd1bGFyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbn1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6ICM0QTRBNEE7XG59XG5cbmJvZHkge1xuICBtYXgtd2lkdGg6IDE5MjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8qIFR5cG9ncmFwaHkgRmFtaWx5ICovXG4vKiBUeXBvZ3JhcGh5IFNpemUgKi9cbi50aXRsZS1zZXJpZi1iaWcge1xuICBmb250LXNpemU6IDI4cHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRpdGxlLXNlcmlmLWJpZyB7XG4gICAgZm9udC1zaXplOiAzNHB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC50aXRsZS1zZXJpZi1iaWcge1xuICAgIGZvbnQtc2l6ZTogY2FsYyg1MHB4ICsgKDkwIC0gNTApICogKDEwMHZ3IC0gMTAyNHB4KSAvICgxOTIwIC0gMTAyNCkpO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gIC50aXRsZS1zZXJpZi1iaWcge1xuICAgIGZvbnQtc2l6ZTogOTBweDtcbiAgfVxufVxuXG4udGl0bGUtc2VyaWYtbWVkaXVtIHtcbiAgZm9udC1zaXplOiAyNHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50aXRsZS1zZXJpZi1tZWRpdW0ge1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAudGl0bGUtc2VyaWYtbWVkaXVtIHtcbiAgICBmb250LXNpemU6IGNhbGMoNDBweCArICg2MCAtIDQwKSAqICgxMDB2dyAtIDEwMjRweCkgLyAoMTkyMCAtIDEwMjQpKTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAudGl0bGUtc2VyaWYtbWVkaXVtIHtcbiAgICBmb250LXNpemU6IDYwcHg7XG4gIH1cbn1cblxuLnRpdGxlLXNlcmlmLXNtYWxsIHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50aXRsZS1zZXJpZi1zbWFsbCB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC50aXRsZS1zZXJpZi1zbWFsbCB7XG4gICAgZm9udC1zaXplOiBjYWxjKDMwcHggKyAoNDAgLSAzMCkgKiAoMTAwdncgLSAxMDI0cHgpIC8gKDE5MjAgLSAxMDI0KSk7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgLnRpdGxlLXNlcmlmLXNtYWxsIHtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gIH1cbn1cblxuLnRpdGxlLXNlcmlmLXRpbnkge1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRpdGxlLXNlcmlmLXRpbnkge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAudGl0bGUtc2VyaWYtdGlueSB7XG4gICAgZm9udC1zaXplOiBjYWxjKDE2cHggKyAoMjAgLSAxNikgKiAoMTAwdncgLSAxMDI0cHgpIC8gKDE5MjAgLSAxMDI0KSk7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgLnRpdGxlLXNlcmlmLXRpbnkge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgfVxufVxuXG4udGl0bGUtc2Fucy1zZXJpZi1iaWcge1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRpdGxlLXNhbnMtc2VyaWYtYmlnIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnRpdGxlLXNhbnMtc2VyaWYtYmlnIHtcbiAgICBmb250LXNpemU6IGNhbGMoMzBweCArICg0MCAtIDMwKSAqICgxMDB2dyAtIDEwMjRweCkgLyAoMTkyMCAtIDEwMjQpKTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAudGl0bGUtc2Fucy1zZXJpZi1iaWcge1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgfVxufVxuXG4udGl0bGUtc2Fucy1zZXJpZi1tZWRpdW0ge1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRpdGxlLXNhbnMtc2VyaWYtbWVkaXVtIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnRpdGxlLXNhbnMtc2VyaWYtbWVkaXVtIHtcbiAgICBmb250LXNpemU6IGNhbGMoMjBweCArICgyNiAtIDIwKSAqICgxMDB2dyAtIDEwMjRweCkgLyAoMTkyMCAtIDEwMjQpKTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAudGl0bGUtc2Fucy1zZXJpZi1tZWRpdW0ge1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgfVxufVxuXG4uYm9keWNvcHktYmlnIHtcbiAgZm9udC1zaXplOiAxNXB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5ib2R5Y29weS1iaWcge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuYm9keWNvcHktYmlnIHtcbiAgICBmb250LXNpemU6IGNhbGMoMThweCArICgyMCAtIDE4KSAqICgxMDB2dyAtIDEwMjRweCkgLyAoMTkyMCAtIDEwMjQpKTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAuYm9keWNvcHktYmlnIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cbn1cblxuLmJvZHljb3B5LW1lZGl1bSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYm9keWNvcHktbWVkaXVtIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmJvZHljb3B5LW1lZGl1bSB7XG4gICAgZm9udC1zaXplOiBjYWxjKDE2cHggKyAoMTggLSAxNikgKiAoMTAwdncgLSAxMDI0cHgpIC8gKDE5MjAgLSAxMDI0KSk7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgLmJvZHljb3B5LW1lZGl1bSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG59XG5cbi5ib2R5Y29weS1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYm9keWNvcHktc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuYm9keWNvcHktc21hbGwge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxNHB4ICsgKDE2IC0gMTQpICogKDEwMHZ3IC0gMTAyNHB4KSAvICgxOTIwIC0gMTAyNCkpO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gIC5ib2R5Y29weS1zbWFsbCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG5cbi8qIFNpemVzICovXG5tYWluIHtcbiAgbWF4LXdpZHRoOiAxOTIwcHg7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuLmltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbnNlbGVjdCwgYnV0dG9uLCBpbnB1dCB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKiBmb290ZXIgKi9cbiIsImh0bWwge1xyXG4gICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XHJcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XHJcbiAgICBjb2xvcjogIzAwMDtcclxufVxyXG5ib2R5IHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxufVxyXG5oMSxcclxuaDIsXHJcbmgzLFxyXG5oNCxcclxucCxcclxuYmxvY2txdW90ZSxcclxuZmlndXJlLFxyXG5vbCxcclxudWwge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5tYWluLFxyXG5saSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5oMSxcclxuaDIsXHJcbmgzLFxyXG5oNCB7XHJcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XHJcbn1cclxuc3Ryb25nIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcbmEsXHJcbmJ1dHRvbiB7XHJcbiAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgIHRyYW5zaXRpb246IC4zcztcclxufVxyXG5hIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5idXR0b24ge1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBmb250OiBpbmhlcml0O1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogaW5oZXJpdDtcclxuICAgIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG46Oi1tb3otZm9jdXMtaW5uZXIge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGJvcmRlcjogMDtcclxufVxyXG46Zm9jdXMge1xyXG4gICAgb3V0bGluZTogMDtcclxufVxyXG5pbWcge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgYm9yZGVyOiAwO1xyXG59IiwiLyogQ29tbW9uICovXHJcblxyXG4qIHtib3gtc2l6aW5nOiBib3JkZXItYm94O31cclxuXHJcbkBpbmNsdWRlIGZvbnQtZmFjZSgnam9zZWZpbi1zYW5zLXJlZ3VsYXInLCAnYXNzZXRzL2ZvbnRzJyk7XHJcbkBpbmNsdWRlIGZvbnQtZmFjZSgnam9zZWZpbi1zYW5zLWxpZ2h0JywgJ2Fzc2V0cy9mb250cycpO1xyXG5AaW5jbHVkZSBmb250LWZhY2UoJ2pvc2VmaW4tc2Fucy1ib2xkJywgJ2Fzc2V0cy9mb250cycpO1xyXG5AaW5jbHVkZSBmb250LWZhY2UoJ2RhbmNpbmctc2NyaXB0LXJlZ3VsYXInLCAnYXNzZXRzL2ZvbnRzJyk7XHJcblxyXG5odG1sIHtcclxuXHRAZXh0ZW5kICV1LWZvbnQtZmFtaWx5LXNhbnMtc2VyaWYtcmVndWxhcjtcclxuXHRmb250LXNpemU6IDE2cHg7XHJcblx0Y29sb3I6ICRncmF5O1xyXG59XHJcblxyXG5ib2R5IHtcclxuXHRtYXgtd2lkdGg6ICRtYXgtd2lkdGgtY29udGVudDtcclxuXHRtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLyogVHlwb2dyYXBoeSBGYW1pbHkgKi9cclxuXHJcbi5mb250LXNhbnMtc2VyaWYtcmVndWxhciAge1xyXG5cdEBleHRlbmQgJXUtZm9udC1mYW1pbHktc2Fucy1zZXJpZi1yZWd1bGFyO1xyXG59XHJcblxyXG4uZm9udC1zYW5zLXNlcmlmLWxpZ2h0IHtcclxuXHRAZXh0ZW5kICV1LWZvbnQtZmFtaWx5LXNhbnMtc2VyaWYtbGlnaHQ7XHJcbn1cclxuXHJcbi5mb250LXNhbnMtc2VyaWYtYm9sZCB7XHJcblx0QGV4dGVuZCAldS1mb250LWZhbWlseS1zYW5zLXNlcmlmLWJvbGQ7XHJcbn1cclxuXHJcbi5mb250LXNlcmlmLXJlZ3VsYXIge1xyXG5cdEBleHRlbmQgJXUtZm9udC1mYW1pbHktc2VyaWYtcmVndWxhcjtcclxufVxyXG5cclxuXHJcbi8qIFR5cG9ncmFwaHkgU2l6ZSAqL1xyXG5cclxuJXUtdGl0bGUtc2VyaWYtYmlnIHtcclxuXHRmb250LXNpemU6IDI4cHg7XHJcblx0QGluY2x1ZGUgbXEtbWluKCR0Yikge1xyXG5cdFx0Zm9udC1zaXplOiAzNHB4O1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtcS1taW4oJGRzKSB7XHJcblx0XHRmb250LXNpemU6IGNhbGMoNTBweCArICg5MCAtIDUwKSAqICgxMDB2dyAtIDEwMjRweCkgLyAoMTkyMCAtIDEwMjQpKTtcclxuXHR9XHJcblx0QGluY2x1ZGUgbXEtbWluKCRoZCkge1xyXG5cdFx0Zm9udC1zaXplOiA5MHB4O1xyXG5cdH1cclxufVxyXG4udGl0bGUtc2VyaWYtYmlnIHtcclxuXHRAZXh0ZW5kICV1LXRpdGxlLXNlcmlmLWJpZztcclxuXHRAZXh0ZW5kICV1LWZvbnQtZmFtaWx5LXNlcmlmLXJlZ3VsYXI7XHJcbn1cclxuXHJcbiV1LXRpdGxlLXNlcmlmLW1lZGl1bSB7XHJcblx0Zm9udC1zaXplOiAyNHB4O1xyXG5cdEBpbmNsdWRlIG1xLW1pbigkdGIpIHtcclxuXHRcdGZvbnQtc2l6ZTogMzBweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgbXEtbWluKCRkcykge1xyXG5cdFx0Zm9udC1zaXplOiBjYWxjKDQwcHggKyAoNjAgLSA0MCkgKiAoMTAwdncgLSAxMDI0cHgpIC8gKDE5MjAgLSAxMDI0KSk7XHJcblx0fVxyXG5cdEBpbmNsdWRlIG1xLW1pbigkaGQpIHtcclxuXHRcdGZvbnQtc2l6ZTogNjBweDtcclxuXHR9XHJcbn1cclxuLnRpdGxlLXNlcmlmLW1lZGl1bSB7XHJcblx0QGV4dGVuZCAldS10aXRsZS1zZXJpZi1tZWRpdW07XHJcblx0QGV4dGVuZCAldS1mb250LWZhbWlseS1zZXJpZi1yZWd1bGFyO1xyXG59XHJcblxyXG4ldS10aXRsZS1zZXJpZi1zbWFsbCB7XHJcblx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdEBpbmNsdWRlIG1xLW1pbigkdGIpIHtcclxuXHRcdGZvbnQtc2l6ZTogMjRweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgbXEtbWluKCRkcykge1xyXG5cdFx0Zm9udC1zaXplOiBjYWxjKDMwcHggKyAoNDAgLSAzMCkgKiAoMTAwdncgLSAxMDI0cHgpIC8gKDE5MjAgLSAxMDI0KSk7XHJcblx0fVxyXG5cdEBpbmNsdWRlIG1xLW1pbigkaGQpIHtcclxuXHRcdGZvbnQtc2l6ZTogNDBweDtcclxuXHR9XHJcbn1cclxuLnRpdGxlLXNlcmlmLXNtYWxsIHtcclxuXHRAZXh0ZW5kICV1LXRpdGxlLXNlcmlmLXNtYWxsO1xyXG5cdEBleHRlbmQgJXUtZm9udC1mYW1pbHktc2VyaWYtcmVndWxhcjtcclxufVxyXG5cclxuJXUtdGl0bGUtc2VyaWYtdGlueSB7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdEBpbmNsdWRlIG1xLW1pbigkdGIpIHtcclxuXHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgbXEtbWluKCRkcykge1xyXG5cdFx0Zm9udC1zaXplOiBjYWxjKDE2cHggKyAoMjAgLSAxNikgKiAoMTAwdncgLSAxMDI0cHgpIC8gKDE5MjAgLSAxMDI0KSk7XHJcblx0fVxyXG5cdEBpbmNsdWRlIG1xLW1pbigkaGQpIHtcclxuXHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHR9XHJcbn1cclxuLnRpdGxlLXNlcmlmLXRpbnkge1xyXG5cdEBleHRlbmQgJXUtdGl0bGUtc2VyaWYtdGlueTtcclxuXHRAZXh0ZW5kICV1LWZvbnQtZmFtaWx5LXNlcmlmLXJlZ3VsYXI7XHJcbn1cclxuXHJcbiV1LXRpdGxlLXNhbnMtc2VyaWYtYmlnIHtcclxuXHRmb250LXNpemU6IDE4cHg7XHJcblx0QGluY2x1ZGUgbXEtbWluKCR0Yikge1xyXG5cdFx0Zm9udC1zaXplOiAyNHB4O1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtcS1taW4oJGRzKSB7XHJcblx0XHRmb250LXNpemU6IGNhbGMoMzBweCArICg0MCAtIDMwKSAqICgxMDB2dyAtIDEwMjRweCkgLyAoMTkyMCAtIDEwMjQpKTtcclxuXHR9XHJcblx0QGluY2x1ZGUgbXEtbWluKCRoZCkge1xyXG5cdFx0Zm9udC1zaXplOiA0MHB4O1xyXG5cdH1cclxufVxyXG4udGl0bGUtc2Fucy1zZXJpZi1iaWcge1xyXG5cdEBleHRlbmQgJXUtdGl0bGUtc2Fucy1zZXJpZi1iaWc7XHJcbn1cclxuXHJcbiV1LXRpdGxlLXNhbnMtc2VyaWYtbWVkaXVtIHtcclxuXHRmb250LXNpemU6IDE2cHg7XHJcblx0QGluY2x1ZGUgbXEtbWluKCR0Yikge1xyXG5cdFx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtcS1taW4oJGRzKSB7XHJcblx0XHRmb250LXNpemU6IGNhbGMoMjBweCArICgyNiAtIDIwKSAqICgxMDB2dyAtIDEwMjRweCkgLyAoMTkyMCAtIDEwMjQpKTtcclxuXHR9XHJcblx0QGluY2x1ZGUgbXEtbWluKCRoZCkge1xyXG5cdFx0Zm9udC1zaXplOiAyNnB4O1xyXG5cdH1cclxufVxyXG4udGl0bGUtc2Fucy1zZXJpZi1tZWRpdW0ge1xyXG5cdEBleHRlbmQgJXUtdGl0bGUtc2Fucy1zZXJpZi1tZWRpdW07XHJcbn1cclxuXHJcbiV1LWJvZHljb3B5LWJpZyB7XHJcblx0Zm9udC1zaXplOiAxNXB4O1xyXG5cdEBpbmNsdWRlIG1xLW1pbigkdGIpIHtcclxuXHRcdGZvbnQtc2l6ZTogMTZweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgbXEtbWluKCRkcykge1xyXG5cdFx0Zm9udC1zaXplOiBjYWxjKDE4cHggKyAoMjAgLSAxOCkgKiAoMTAwdncgLSAxMDI0cHgpIC8gKDE5MjAgLSAxMDI0KSk7XHJcblx0fVxyXG5cdEBpbmNsdWRlIG1xLW1pbigkaGQpIHtcclxuXHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHR9XHJcbn1cclxuLmJvZHljb3B5LWJpZyB7XHJcblx0QGV4dGVuZCAldS1ib2R5Y29weS1iaWc7XHJcbn1cclxuXHJcbiV1LWJvZHljb3B5LW1lZGl1bSB7XHJcblx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdEBpbmNsdWRlIG1xLW1pbigkdGIpIHtcclxuXHRcdGZvbnQtc2l6ZTogMTVweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgbXEtbWluKCRkcykge1xyXG5cdFx0Zm9udC1zaXplOiBjYWxjKDE2cHggKyAoMTggLSAxNikgKiAoMTAwdncgLSAxMDI0cHgpIC8gKDE5MjAgLSAxMDI0KSk7XHJcblx0fVxyXG5cdEBpbmNsdWRlIG1xLW1pbigkaGQpIHtcclxuXHRcdGZvbnQtc2l6ZTogMThweDtcclxuXHR9XHJcbn1cclxuLmJvZHljb3B5LW1lZGl1bSB7XHJcblx0QGV4dGVuZCAldS1ib2R5Y29weS1tZWRpdW07XHJcbn1cclxuXHJcbiV1LWJvZHljb3B5LXNtYWxsIHtcclxuXHRmb250LXNpemU6IDEycHg7XHJcblx0QGluY2x1ZGUgbXEtbWluKCR0Yikge1xyXG5cdFx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtcS1taW4oJGRzKSB7XHJcblx0XHRmb250LXNpemU6IGNhbGMoMTRweCArICgxNiAtIDE0KSAqICgxMDB2dyAtIDEwMjRweCkgLyAoMTkyMCAtIDEwMjQpKTtcclxuXHR9XHJcblx0QGluY2x1ZGUgbXEtbWluKCRoZCkge1xyXG5cdFx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdH1cclxufVxyXG4uYm9keWNvcHktc21hbGwge1xyXG5cdEBleHRlbmQgJXUtYm9keWNvcHktc21hbGw7XHJcbn1cclxuXHJcblxyXG4vKiBTaXplcyAqL1xyXG5cclxubWFpbiB7XHJcblx0bWF4LXdpZHRoOiAkbWF4LXdpZHRoLWNvbnRlbnQ7XHJcblx0bWFyZ2luOiBhdXRvO1xyXG5cdFxyXG59XHJcblxyXG4uaW1hZ2Uge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG5cclxuc2VsZWN0LCBidXR0b24sIGlucHV0IHtcclxuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcblx0LW1vei1hcHBlYXJhbmNlOiAgICBub25lO1xyXG5cdGFwcGVhcmFuY2U6ICAgICAgICAgbm9uZTtcclxufVxyXG5cclxuIiwiLyogZm9vdGVyICovIl19 */
