/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

html {
  font-size: 62.5%;
  box-sizing: border-box;
  scroll-padding-top: 0rem;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

body {
  font-family: "Montserrat", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  color: #000000;
  font-size: 2rem;
}
body.overflow-hidden {
  overflow: hidden;
}

p {
  color: #000000;
  line-height: 1.5;
}

.container {
  width: 95%;
  max-width: 120rem;
  margin: 0 auto;
}

a {
  text-decoration: none;
}

h1, h2, h3 {
  margin: 0 0 5rem 0;
  font-weight: 900;
}

h1 {
  font-size: 4rem;
}

h2 {
  font-size: 4.6rem;
}

h3 {
  font-size: 6rem;
  text-align: center;
}

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

body > section {
  padding: 10rem 0;
}

.header {
  background-color: #4CB8B3;
}
@media (min-width: 768px) {
  .header.fixed {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    box-shadow: 0.1rem 0.2rem 3rem #333;
  }
}
.header .header-container {
  padding: 2rem;
}
@media (min-width: 768px) {
  .header .header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
.header h1 {
  color: #FFFFFF;
  text-align: center;
}
@media (min-width: 768px) {
  .header h1 {
    margin: 0;
    text-align: left;
  }
}

.main-nav {
  display: flex;
  gap: 2rem;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 768px) {
  .main-nav {
    flex-direction: row;
  }
}
.main-nav a {
  color: #FFFFFF;
  font-size: 2.4rem;
}
.main-nav a:hover, .main-nav a.active {
  color: #fdda00;
}

.video {
  position: relative;
  min-height: 50rem;
  max-height: 70rem;
  overflow: hidden;
}
.video .overlay {
  position: absolute;
  background: linear-gradient(270deg, rgba(117, 47, 151, 0.6), rgba(26.5909090909, 10.6818181818, 34.3181818182, 0.9));
  inset: 0;
  display: flex;
  align-items: center;
}
.video video {
  display: block;
  width: auto;
}
@media (min-width: 1200px) {
  .video video {
    width: 100%;
  }
}
.video .video-content {
  z-index: 10;
}
.video .video-content h2 {
  color: #FFFFFF;
  font-size: 7rem;
  margin: 0;
}
.video .video-content p {
  background-color: #F53756;
  display: inline-block;
  padding: 1rem 2rem;
  color: #FFFFFF;
}

.about-festival {
  width: 95%;
  max-width: 120rem;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .about-festival {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 5rem;
  }
}

.content-festival {
  margin-top: 5rem;
}
.content-festival h2 {
  margin-bottom: 2rem;
}
.content-festival .schedule {
  color: #4CB8B3;
  font-weight: 700;
}

.galery {
  width: 95%;
  max-width: 120rem;
  margin: 0 auto;
}
.galery-img {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 2rem;
}
@media (min-width: 480px) {
  .galery-img {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
}
@media (min-width: 768px) {
  .galery-img {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
  }
}
@media (min-width: 1200px) {
  .galery-img {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
  }
}
.galery-img img {
  height: 20rem;
  object-fit: cover;
}

.modal {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: grid;
  place-items: center;
  animation: fadeIn ease-in 0.5s;
}
.modal img {
  max-width: 100rem;
}
.modal.fade-out {
  animation: fadeOut ease-in 0.5s;
}

.button-kill {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background-color: #FFFFFF;
  border: none;
  display: grid;
  place-items: center;
  font-weight: 700;
  cursor: pointer;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    opacity: 0;
  }
}
.lineup {
  background-color: #F53756;
}
.lineup h3,
.lineup .day {
  text-align: center;
  color: #FFFFFF;
}
.lineup .day {
  font-size: 3rem;
  text-transform: uppercase;
}

.stages-container {
  width: 95%;
  max-width: 120rem;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .stages-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 5rem;
  }
}

.stage {
  padding-top: 2rem;
}
.stage .stage-name {
  font-size: 3rem;
  font-weight: 900;
  text-transform: uppercase;
  text-align: center;
}

.schedule {
  margin: 0;
  padding: 0;
  list-style: none;
}
.schedule li {
  padding: 2.5rem;
  font-weight: 700;
}
.schedule li span {
  font-weight: 400;
}

.bg-yellow {
  background-color: #fdda00;
}
.bg-yellow li:nth-child(odd) {
  background-color: rgb(255, 222.9743083004, 23.5);
}

.bg-green {
  background-color: #4CB8B3;
}
.bg-green li:nth-child(odd) {
  background-color: rgb(94.258, 191.242, 186.752);
}

.tickets-container {
  background-color: #4CB8B3;
}
.tickets-container h3 {
  color: #FFFFFF;
}
@media (min-width: 768px) {
  .tickets-container .tickets {
    width: 95%;
    max-width: 120rem;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 5rem;
  }
}

.pass:hover {
  transition: transform 0.3s ease-in-out;
  transform: scale(1.1);
}
.pass-pass {
  font-size: 3.6rem;
  font-weight: 900;
  text-align: center;
  color: #FFFFFF;
}
.pass-header, .pass-footer {
  padding: 0.5rem;
}
.pass-header p, .pass-footer p {
  text-align: center;
  color: #FFFFFF;
  margin: 0;
}
.pass-header {
  background-color: #F53756;
}
.pass-header p {
  text-transform: uppercase;
  font-size: 2.2rem;
  padding: 1rem 0;
}
.pass-body {
  background-color: #FFFFFF;
}
.pass-body ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.pass-body ul li {
  padding: 2rem;
  border-bottom: 1px solid #e1e1e1;
}
.pass-footer {
  background-color: #FFFFFF;
  padding: 3rem;
}
.pass-footer p {
  transition: 0.4s ease-in-out;
  font-size: 2.8rem;
  font-weight: 900;
  background-color: #752F97;
  padding: 1rem 0;
  cursor: pointer;
}
.pass-footer p:hover {
  background-color: rgb(56.7272727273, 22.7878787879, 73.2121212121);
}

.footer {
  background-color: #F53756;
  padding: 2rem 0;
}
.footer p, .footer.logo {
  margin: 0;
  color: #FFFFFF;
  text-align: center;
}
.footer .logo {
  max-width: 15rem;
}
.footer .logo:hover {
  transition: transform 0.3s ease-in-out;
  transform: scale(1.1);
}/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJiYXNlL19ub3JtYWxpemUuc2NzcyIsImJhc2UvX2dsb2JhbC5zY3NzIiwiYmFzZS9fdmFyaWFibGVzLnNjc3MiLCJsYXlvdXQvX2hlYWRlci5zY3NzIiwiYmFzZS9fbWl4aW5zLnNjc3MiLCJsYXlvdXQvX3ZpZGVvLnNjc3MiLCJsYXlvdXQvX2Zlc3RpdmFsLnNjc3MiLCJsYXlvdXQvX2dhbGVyeS5zY3NzIiwibGF5b3V0L19saW5ldXAuc2NzcyIsImxheW91dC9fdGlja2V0cy5zY3NzIiwibGF5b3V0L19mb290ZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUVBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUtDO0VBQ0M7RUFDQTs7O0FBR0Y7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUlBO0VBQ0U7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDRTtFQUNBOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtBQUFBO0FBQUE7QUFJQTtBQUFBO0VBRUU7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0VBR0U7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0FBSUE7RUFDRTs7O0FBR0Y7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNFOzs7QUFHRjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFB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RUY7SUFDRTs7RUFFRjtJQUNFOzs7QUN4Rko7RUFFRSxrQk5ISzs7QU1NTDtBQUFBO0VBR0U7RUFDQSxPTk5JOztBTVVOO0VBQ0U7RUFDQTs7O0FBS0o7RUpNRTtFQUNBO0VBQ0E7O0FBdkJBO0VJZUY7SUphRTtJQUNBO0lBQ0EsS0FINkI7Ozs7QUlEL0I7RUFDRTs7QUFHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFLSjtFSkpFO0VBQ0E7RUFDQTs7QUlLQTtFQUNFO0VBQ0E7O0FBQ0E7RUFDRTs7O0FBTU47RUFDRSxrQk4xRE87O0FNNkRQO0VBRUU7OztBQUtKO0VBRUUsa0JOeEVNOztBTTBFTjtFQUVFOzs7QUMxRUo7RUFDRSxrQlBITTs7QU9NTjtFQUNFLE9QRkk7O0FFRU47RUtJQTtJTGlCQTtJQUNBO0lBQ0E7SUFLQTtJQUNBO0lBQ0EsS0FINkI7Ozs7QUtYN0I7RUFFRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsT1A1Qkk7O0FPZ0NOO0VBRUU7O0FBRUE7RUFDRTtFQUNBLE9QdENFO0VPdUNGOztBQU1KO0VBQ0Usa0JQbERHOztBT21ESDtFQUNFO0VBQ0E7RUFDQTs7QUFLSjtFQUNFLGtCUHhESTs7QU95REo7RUxwQkY7RUFDQTtFQUNBOztBS3FCSTtFQUNFO0VBQ0E7O0FBT047RUFDRSxrQlB0RUk7RU91RUo7O0FBRUE7RUFFRTtFQUVBO0VBQ0E7RUFDQSxrQlBqRkc7RU9rRkg7RUFFQTs7QUFFQTtFQUNFOzs7QUN6RlI7RUFDRSxrQlJESztFUUVMOztBQUVBO0VBRUU7RUFDQSxPUkhJO0VRSUo7O0FBRUY7RUFDRTs7QUFFRjtFQUNFO0VBQ0EiLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cclxuXHJcbi8qIERvY3VtZW50XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cclxuICovXHJcblxyXG4gaHRtbCB7XHJcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cclxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cclxufVxyXG5cclxuLyogU2VjdGlvbnNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuYm9keSB7XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4vKipcclxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXHJcbiAqL1xyXG5cclxubWFpbiB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXHJcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuaDEge1xyXG4gIGZvbnQtc2l6ZTogMmVtO1xyXG4gIG1hcmdpbjogMC42N2VtIDA7XHJcbn1cclxuXHJcbi8qIEdyb3VwaW5nIGNvbnRlbnRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxyXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cclxuICovXHJcblxyXG5ociB7XHJcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cclxuICBoZWlnaHQ6IDA7IC8qIDEgKi9cclxuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbnByZSB7XHJcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXHJcbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cclxufVxyXG5cclxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXHJcbiAqL1xyXG5cclxuYSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxyXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxyXG4gKi9cclxuXHJcbmFiYnJbdGl0bGVdIHtcclxuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXHJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cclxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuYixcclxuc3Ryb25nIHtcclxuICBmb250LXdlaWdodDogYm9sZGVyO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbmNvZGUsXHJcbmtiZCxcclxuc2FtcCB7XHJcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXHJcbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbnNtYWxsIHtcclxuICBmb250LXNpemU6IDgwJTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxyXG4gKiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuc3ViLFxyXG5zdXAge1xyXG4gIGZvbnQtc2l6ZTogNzUlO1xyXG4gIGxpbmUtaGVpZ2h0OiAwO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbn1cclxuXHJcbnN1YiB7XHJcbiAgYm90dG9tOiAtMC4yNWVtO1xyXG59XHJcblxyXG5zdXAge1xyXG4gIHRvcDogLTAuNWVtO1xyXG59XHJcblxyXG4vKiBFbWJlZGRlZCBjb250ZW50XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cclxuICovXHJcblxyXG5pbWcge1xyXG4gIGJvcmRlci1zdHlsZTogbm9uZTtcclxufVxyXG5cclxuLyogRm9ybXNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cclxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuaW5wdXQsXHJcbm9wdGdyb3VwLFxyXG5zZWxlY3QsXHJcbnRleHRhcmVhIHtcclxuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xyXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXHJcbiAgbWFyZ2luOiAwOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cclxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cclxuICovXHJcblxyXG5idXR0b24sXHJcbmlucHV0IHsgLyogMSAqL1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXHJcbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cclxuICovXHJcblxyXG5idXR0b24sXHJcbnNlbGVjdCB7IC8qIDEgKi9cclxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5bdHlwZT1cImJ1dHRvblwiXSxcclxuW3R5cGU9XCJyZXNldFwiXSxcclxuW3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cclxuICovXHJcblxyXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXHJcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxyXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxyXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XHJcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXHJcbiAqL1xyXG5cclxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxyXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcclxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcclxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xyXG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cclxuICovXHJcblxyXG5maWVsZHNldCB7XHJcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cclxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxyXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XHJcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbmxlZ2VuZCB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xyXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXHJcbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cclxuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cclxuICBwYWRkaW5nOiAwOyAvKiAzICovXHJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cclxuICovXHJcblxyXG5wcm9ncmVzcyB7XHJcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXHJcbiAqL1xyXG5cclxudGV4dGFyZWEge1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXHJcbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cclxuICovXHJcblxyXG5bdHlwZT1cImNoZWNrYm94XCJdLFxyXG5bdHlwZT1cInJhZGlvXCJdIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXHJcbiAgcGFkZGluZzogMDsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxyXG4gKi9cclxuXHJcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxyXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXHJcbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxyXG4gKi9cclxuXHJcblt0eXBlPVwic2VhcmNoXCJdIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xyXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXHJcbiAqL1xyXG5cclxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXHJcbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cclxuICovXHJcblxyXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xyXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cclxufVxyXG5cclxuLyogSW50ZXJhY3RpdmVcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXHJcbiAqL1xyXG5cclxuZGV0YWlscyB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi8qXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5zdW1tYXJ5IHtcclxuICBkaXNwbGF5OiBsaXN0LWl0ZW07XHJcbn1cclxuXHJcbi8qIE1pc2NcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXHJcbiAqL1xyXG5cclxudGVtcGxhdGUge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cclxuICovXHJcblxyXG5baGlkZGVuXSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufSIsIi8vIFVzZSBAdXNlIHdoZW4geW91IHdhbnQgdG8gYWNjZXNzIGEgc3BlY2lmaWMgdmFyaWFibGUuIFVzZSBAZm9yd2FyZCB3aGVuIHlvdSB3YW50IHRvIGltcG9ydCBhbGwgc3R5bGVzIGZyb20gYSBtb2R1bGUgdGhhdCBkb2Vzbid0IGhhdmUgdmFyaWFibGVzLlxyXG5AdXNlICd2YXJpYWJsZXMnIGFzIHZhcjsgLy8gSW1wb3J0IHZhcmlhYmxlcyBmcm9tIHRoZSBiYXNlL3ZhcmlhYmxlcyBmaWxlXHJcblxyXG5odG1sIHtcclxuICAgIGZvbnQtc2l6ZTogNjIuNSU7Ly8xIHJlbSA9IDEwcHhcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBzY3JvbGwtcGFkZGluZy10b3A6IDByZW07XHJcbn1cclxuKiwgXHJcbio6YmVmb3JlLFxyXG4qOmFmdGVyIHtcclxuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XHJcbn1cclxuYm9keSB7XHJcbiAgZm9udC1mYW1pbHk6IHZhci4kbWFpbl9mb250OyAvLyBVc2luZyB0aGUgbWFpbiBmb250IHZhcmlhYmxlXHJcbiAgZm9udC1vcHRpY2FsLXNpemluZzogYXV0bzsgLy8gQWxsb3cgYXV0b21hdGljIGZvbnQgb3B0aWNhbCBzaXppbmdcclxuICBmb250LXN0eWxlOiBub3JtYWw7IC8vIFNldCB0aGUgZm9udCBzdHlsZSB0byBub3JtYWxcclxuICBjb2xvcjogdmFyLiRibGFjazsgLy8gVXNpbmcgdGhlIGJsYWNrIGNvbG9yIHZhcmlhYmxlXHJcbiAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgXHJcbiAgJi5vdmVyZmxvdy1oaWRkZW4ge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsvLyBQcmV2ZW50cyBzY3JvbGxpbmcgd2hlbiBtb2RhbCBpcyBvcGVuXHJcbiAgfVxyXG59XHJcbnAge1xyXG4gICAgY29sb3I6IHZhci4kYmxhY2s7XHJcbiAgICBsaW5lLWhlaWdodDogMS41O1xyXG59XHJcbi5jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDk1JTtcclxuICAgIG1heC13aWR0aDogMTIwcmVtO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuYSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuaDEsIGgyLCBoMyB7XHJcbiAgICBtYXJnaW46IDAgMCA1cmVtIDA7XHJcbiAgICBmb250LXdlaWdodDogOTAwO1xyXG59XHJcbmgxIHtcclxuICAgIGZvbnQtc2l6ZTogNHJlbTtcclxufVxyXG5oMiB7XHJcbiAgICBmb250LXNpemU6IDQuNnJlbTtcclxufVxyXG5oMyB7XHJcbiAgICBmb250LXNpemU6IDZyZW07XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuaW1nIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuYm9keSA+IHNlY3Rpb24ge1xyXG4gICAgcGFkZGluZzogMTByZW0gMFxyXG59XHJcbiIsIi8vIERlZmluaW5nIHRoZSBtYWluIGZvbnQgdG8gYmUgdXNlZCB0aHJvdWdob3V0IHRoZSBwcm9qZWN0XHJcbiRtYWluX2ZvbnQ6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xyXG5cclxuLy8gRGVmaW5pbmcgdGhlIGNvbG9yIHBhbGV0dGUgZm9yIHRoZSBwcm9qZWN0XHJcbiRncmVlbjogIzRDQjhCMzsgICAgLy8gUHJpbWFyeSBhY2NlbnQgY29sb3JcclxuJHJvc2U6ICNGNTM3NTY7ICAgIC8vIFNlY29uZGFyeSBhY2NlbnQgY29sb3JcclxuJHllbGxvdzogI2ZkZGEwMDsgICAvLyBIaWdobGlnaHQgb3IgYXR0ZW50aW9uLWdyYWJiaW5nIGNvbG9yXHJcbiRwdXJwbGU6ICM3NTJGOTc7ICAgLy8gRGVlcCBjb2xvciBmb3IgYnV0dG9ucyBvciBiYWNrZ3JvdW5kc1xyXG4kYmxhY2s6ICMwMDAwMDA7ICAgIC8vIFN0YW5kYXJkIGJsYWNrIGZvciB0ZXh0IG9yIGJhY2tncm91bmRcclxuJHdoaXRlOiAjRkZGRkZGOyAgICAvLyBXaGl0ZSwgbWFpbmx5IGZvciB0ZXh0IGNvbnRyYXN0XHJcblxyXG4vLyBCcmVha3BvaW50cyBmb3IgbWVkaWEgcXVlcmllc1xyXG4kcGhvbmU6IDQ4MHB4OyAgICAgIC8vIFBob25lIHNjcmVlbiBzaXplXHJcbiR0YWJsZXQ6IDc2OHB4OyAgICAgLy8gVGFibGV0IHNjcmVlbiBzaXplXHJcbiRkZXNrdG9wOiAxMjAwcHg7ICAgLy8gRGVza3RvcCBzY3JlZW4gc2l6ZVxyXG4kZGVza3RvcFhMOiAxNDAwcHg7IC8vIEV4dHJhLWxhcmdlIGRlc2t0b3Agc2NyZWVuIHNpemVcclxuXHJcbiIsIi8vIFVzZSBAdXNlIHdoZW4geW91IHdhbnQgdG8gYWNjZXNzIGEgc3BlY2lmaWMgdmFyaWFibGUgZnJvbSBhbm90aGVyIG1vZHVsZS5cclxuLy8gVXNlIEBmb3J3YXJkIHdoZW4geW91IHdhbnQgdG8gaW1wb3J0IGFsbCBzdHlsZXMgZnJvbSBhIG1vZHVsZSB0aGF0IGRvZXNuJ3QgaGF2ZSB2YXJpYWJsZXMuXHJcblxyXG5AdXNlICdiYXNlL3ZhcmlhYmxlcycgYXMgdmFyOyAvLyBJbXBvcnQgdmFyaWFibGVzIGZyb20gdGhlIGJhc2UvdmFyaWFibGVzIGZpbGVcclxuXHJcbkB1c2UgJ2Jhc2UvbWl4aW5zJyBhcyBtaXg7ICAvLyBJbXBvcnQgdmFyaWFibGVzIGZyb20gdGhlICdsYXlvdXQvbWl4aW5zJyBmaWxlXHJcblxyXG4uaGVhZGVyIHtcclxuICAvLyBTZXQgdGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGhlYWRlciB1c2luZyBhIHZhcmlhYmxlXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyLiRncmVlbjtcclxuXHJcbiAgQGluY2x1ZGUgbWl4LnRhYmxldCB7XHJcbiAgICAmLmZpeGVkIHtcclxuICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBib3gtc2hhZG93OiAuMXJlbSAuMnJlbSAzcmVtICMzMzM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBOZXN0aW5nIHN0eWxlcyBmb3IgdGhlIGhlYWRlciBjb250YWluZXJcclxuICAuaGVhZGVyLWNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nOiAycmVtOyAvLyBBZGQgcGFkZGluZyBhcm91bmQgdGhlIGNvbnRhaW5lclxyXG5cclxuICAgICAgLy8gSW5jbHVkZSByZXNwb25zaXZlIG1peGlucyBmb3IgZGlmZmVyZW50IGJyZWFrcG9pbnRzXHJcbiAgICBAaW5jbHVkZSBtaXgudGFibGV0IHtcclxuICAgICAgZGlzcGxheTogZmxleDsgLy8gVXNlIGZsZXhib3ggZm9yIGxheW91dFxyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IC8vIFNwYWNlIG91dCBjaGlsZHJlbiBldmVubHlcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gQWxpZ24gaXRlbXMgdmVydGljYWxseSBjZW50ZXIgICAgICBcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGgxIHtcclxuICAgIGNvbG9yOiB2YXIuJHdoaXRlOyAvLyBTZXQgdGhlIGNvbG9yIG9mIHRoZSBoZWFkaW5nIHVzaW5nIGEgdmFyaWFibGVcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIC8vIEluY2x1ZGUgcmVzcG9uc2l2ZSBtaXhpbnMgZm9yIGRpZmZlcmVudCBicmVha3BvaW50c1xyXG4gICAgQGluY2x1ZGUgbWl4LnRhYmxldHtcclxuICAgICAgbWFyZ2luOiAwOyAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW5cclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gU3R5bGVzIGZvciB0aGUgbWFpbiBuYXZpZ2F0aW9uXHJcbi5tYWluLW5hdiB7XHJcbiAgZGlzcGxheTogZmxleDsgLy8gVXNlIGZsZXhib3ggZm9yIHRoZSBuYXZpZ2F0aW9uXHJcbiAgZ2FwOiAycmVtOyAvLyBTcGFjZSBiZXR3ZWVuIG5hdmlnYXRpb24gaXRlbXNcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgXHJcbiAgQGluY2x1ZGUgbWl4LnRhYmxldHtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgfVxyXG5cclxuICBhIHtcclxuICAgIGNvbG9yOiB2YXIuJHdoaXRlOyAvLyBTZXQgdGhlIGxpbmsgY29sb3IgdXNpbmcgYSB2YXJpYWJsZVxyXG4gICAgLy90ZXh0LWRlY29yYXRpb246IG5vbmU7IC8vIFJlbW92ZSB1bmRlcmxpbmUgZnJvbSBsaW5rcyBmb3IgYmV0dGVyIGFwcGVhcmFuY2VcclxuICAgIC8vcGFkZGluZzogMC41cmVtIDFyZW07IC8vIEFkZCBwYWRkaW5nIGFyb3VuZCBsaW5rc1xyXG4gICAgLy90cmFuc2l0aW9uOiBjb2xvciAwLjNzOyAvLyBTbW9vdGggdHJhbnNpdGlvbiBmb3IgY29sb3IgY2hhbmdlcyBvbiBob3ZlclxyXG4gICAgZm9udC1zaXplOiAyLjRyZW07XHJcblxyXG4gICAgLy8gRGVmaW5lIGhvdmVyIGFuZCBhY3RpdmUgc3RhdGUgc3R5bGluZyBmb3IgbGlua3NcclxuICAgICY6aG92ZXIsIC8vIFdoZW4gdGhlIHVzZXIgaG92ZXJzIG92ZXIgdGhlIGxpbmtcclxuICAgICYuYWN0aXZlIHsgLy8gV2hlbiB0aGUgbGluayBpcyBtYXJrZWQgYXMgYWN0aXZlXHJcbiAgICBjb2xvcjogdmFyLiR5ZWxsb3c7IC8vIENoYW5nZSBjb2xvciB0byB5ZWxsb3cgZm9yIGJldHRlciBVWCBmZWVkYmFja1xyXG59XHJcbiAgfVxyXG59IiwiQHVzZSAndmFyaWFibGVzJyBhcyB2YXI7IC8vIEltcG9ydGluZyB2YXJpYWJsZXMgZm9yIHVzZSBpbiBtaXhpbnNcclxuXHJcbi8vIE1peGluIGZvciBwaG9uZSBicmVha3BvaW50IChmb3Igc2NyZWVucyBlcXVhbCB0byBvciBsYXJnZXIgdGhhbiA0ODBweClcclxuQG1peGluIHBob25lIHtcclxuICBAbWVkaWEgKG1pbi13aWR0aDogdmFyLiRwaG9uZSkge1xyXG4gICAgQGNvbnRlbnQ7IC8vIFN0eWxlcyB0aGF0IHdpbGwgYXBwbHkgZm9yIHBob25lIHZpZXdwb3J0c1xyXG4gIH1cclxufVxyXG5cclxuLy8gTWl4aW4gZm9yIHRhYmxldCBicmVha3BvaW50IChmb3Igc2NyZWVucyBlcXVhbCB0byBvciBsYXJnZXIgdGhhbiA3NjhweClcclxuQG1peGluIHRhYmxldCB7XHJcbiAgQG1lZGlhIChtaW4td2lkdGg6IHZhci4kdGFibGV0KSB7XHJcbiAgICBAY29udGVudDsgLy8gU3R5bGVzIHRoYXQgd2lsbCBhcHBseSBmb3IgdGFibGV0IHZpZXdwb3J0c1xyXG4gIH1cclxufVxyXG5cclxuLy8gTWl4aW4gZm9yIGRlc2t0b3AgYnJlYWtwb2ludCAoZm9yIHNjcmVlbnMgZXF1YWwgdG8gb3IgbGFyZ2VyIHRoYW4gMTIwMHB4KVxyXG5AbWl4aW4gZGVza3RvcCB7XHJcbiAgQG1lZGlhIChtaW4td2lkdGg6IHZhci4kZGVza3RvcCkge1xyXG4gICAgQGNvbnRlbnQ7IC8vIFN0eWxlcyB0aGF0IHdpbGwgYXBwbHkgZm9yIGRlc2t0b3Agdmlld3BvcnRzXHJcbiAgfVxyXG59XHJcblxyXG4vLyBNaXhpbiBmb3IgZXh0cmEgbGFyZ2UgZGVza3RvcCBicmVha3BvaW50IChmb3Igc2NyZWVucyBlcXVhbCB0byBvciBsYXJnZXIgdGhhbiAxNDAwcHgpXHJcbkBtaXhpbiBkZXNrdG9wWEwge1xyXG4gIEBtZWRpYSAobWluLXdpZHRoOiB2YXIuJGRlc2t0b3BYTCkge1xyXG4gICAgQGNvbnRlbnQ7IC8vIFN0eWxlcyB0aGF0IHdpbGwgYXBwbHkgZm9yIGV4dHJhIGxhcmdlIGRlc2t0b3Agdmlld3BvcnRzXHJcbiAgfVxyXG59XHJcblxyXG4vLyBHZW5lcmFsIGNvbnRhaW5lciBtaXhpbiB3aXRoIGEgbWF4IHdpZHRoIGFuZCBjZW50ZXIgYWxpZ25tZW50XHJcbkBtaXhpbiBjb250YWluZXIge1xyXG4gIHdpZHRoOiA5NSU7IC8vIFNldHMgd2lkdGggdG8gOTUlIG9mIHRoZSBjb250YWluZXJcclxuICBtYXgtd2lkdGg6IDEyMHJlbTsgLy8gTGltaXRzIG1heGltdW0gd2lkdGggdG8gMTIwcmVtXHJcbiAgbWFyZ2luOiAwIGF1dG87IC8vIENlbnRlcnMgdGhlIGNvbnRhaW5lciBob3Jpem9udGFsbHlcclxufVxyXG5cclxuLy8gR3JpZCBtaXhpbiBmb3IgZmxleGlibGUgY29sdW1ucyBhbmQgZ2FwXHJcbkBtaXhpbiBncmlkKCRjb2x1bW5zOiAxLCAkZ2FwOiA1cmVtKSB7XHJcbiAgZGlzcGxheTogZ3JpZDsvLyBTZXRzIHRoZSBkaXNwbGF5IHRvIGdyaWQgbGF5b3V0XHJcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoJGNvbHVtbnMsIDFmcik7IC8vIERlZmluZSB0aGUgbnVtYmVyIG9mIGNvbHVtbnNcclxuICBnYXA6ICRnYXA7IC8vIFNwYWNlIGJldHdlZW4gdGhlIGNvbHVtbnNcclxufVxyXG5cclxuLy8gTWl4aW4gdG8gcmVzZXQgbGlzdCBzdHlsZXNcclxuQG1peGluIHJlc2V0LWxpc3Qge1xyXG4gIG1hcmdpbjogMDsgLy8gUmVzZXRzIG1hcmdpbiB0byAwXHJcbiAgcGFkZGluZzogMDsgLy8gUmVzZXRzIHBhZGRpbmcgdG8gMFxyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7IC8vIFJlbW92ZXMgZGVmYXVsdCBsaXN0IHN0eWxpbmdcclxufSAgIiwiLy8gVXNlIEB1c2Ugd2hlbiB5b3Ugd2FudCB0byBhY2Nlc3MgYSBzcGVjaWZpYyB2YXJpYWJsZSBmcm9tIGFub3RoZXIgbW9kdWxlLlxyXG4vLyBVc2UgQGZvcndhcmQgd2hlbiB5b3Ugd2FudCB0byBpbXBvcnQgYWxsIHN0eWxlcyBmcm9tIGEgbW9kdWxlIHRoYXQgZG9lc24ndCBoYXZlIHZhcmlhYmxlcy5cclxuQHVzZSAnYmFzZS92YXJpYWJsZXMnIGFzIHZhcjsgLy8gSW1wb3J0IGNvbG9yIGFuZCBmb250IHZhcmlhYmxlcyBmcm9tIHRoZSBiYXNlIHZhcmlhYmxlcyBmaWxlXHJcbkB1c2UgJ2Jhc2UvbWl4aW5zJyBhcyBtaXg7ICAgIC8vIEltcG9ydCBtZWRpYSBxdWVyeSBtaXhpbnMgZm9yIHJlc3BvbnNpdmUgZGVzaWduXHJcbkB1c2UgJ3Nhc3M6Y29sb3InO1xyXG5cclxuLnZpZGVvIHtcclxuICAvLyBTZXQgcmVsYXRpdmUgcG9zaXRpb25pbmcgZm9yIGNvbnRhaW5pbmcgYWJzb2x1dGVseSBwb3NpdGlvbmVkIGVsZW1lbnRzIChsaWtlIG92ZXJsYXkpXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1pbi1oZWlnaHQ6IDUwcmVtO1xyXG4gIG1heC1oZWlnaHQ6IDcwcmVtO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47IC8vIEVuc3VyZSB2aWRlbyBkb2Vzbid0IG92ZXJmbG93IGl0cyBjb250YWluZXJcclxuXHJcbiAgLm92ZXJsYXkge1xyXG4gICAgLy8gQWJzb2x1dGUgcG9zaXRpb25pbmcgd2l0aCBhIHB1cnBsZSBncmFkaWVudCBiYWNrZ3JvdW5kIG92ZXJsYXkgZm9yIHZpc3VhbCBlZmZlY3RcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcclxuICAgICAgMjcwZGVnLFxyXG4gICAgICByZ2JhKHZhci4kcHVycGxlLCA2MCUpLCAvKiA2MCUgb3BhY2l0eSBwdXJwbGUgZnJvbSB2YXJpYWJsZXMqL1xyXG4gICAgICByZ2JhKGNvbG9yLmFkanVzdCh2YXIuJHB1cnBsZSwgJGxpZ2h0bmVzczotMzAlKSwgOTAlKS8qIGNvbG9yLmFkanVzdCBhbmQgcHVycGxlIGZvciBncmFkaWVudCBjb250cmFzdCovIFxyXG4gICAgKTtcclxuICAgIGluc2V0OiAwOyAvLyBDb3ZlciBlbnRpcmUgYXJlYSBvZiBwYXJlbnQgY29udGFpbmVyXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gQ2VudGVyIGNvbnRlbnQgdmVydGljYWxseVxyXG4gIH1cclxuXHJcbiAgdmlkZW8ge1xyXG4gICAgLy8gRW5zdXJlIHZpZGVvIGlzIGRpc3BsYXllZCBhcyBhIGJsb2NrLWxldmVsIGVsZW1lbnQgYW5kIHNjYWxlcyByZXNwb25zaXZlbHlcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IGF1dG87IC8vIERlZmF1bHQgdG8gYXV0byB3aWR0aCBmb3IgYmV0dGVyIHNjYWxpbmdcclxuXHJcbiAgICAvLyBGdWxsLXdpZHRoIHZpZGVvIG9uIGRlc2t0b3Agc2NyZWVuc1xyXG4gICAgQGluY2x1ZGUgbWl4LmRlc2t0b3Age1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC52aWRlby1jb250ZW50IHtcclxuICAgIC8vIE92ZXJsYXkgY29udGVudCBzdWNoIGFzIGhlYWRpbmdzIGFuZCB0ZXh0LCBsYXllcmVkIGFib3ZlIHZpZGVvXHJcbiAgICB6LWluZGV4OiAxMDsgLy8gRW5zdXJlIGNvbnRlbnQgYXBwZWFycyBhYm92ZSB0aGUgdmlkZW9cclxuXHJcbiAgICBoMiB7XHJcbiAgICAgIC8vIExhcmdlLCB3aGl0ZSBoZWFkaW5nIGluc2lkZSB0aGUgdmlkZW8gY29udGVudFxyXG4gICAgICBjb2xvcjogdmFyLiR3aGl0ZTtcclxuICAgICAgZm9udC1zaXplOiA3cmVtO1xyXG4gICAgICBtYXJnaW46IDA7IC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpblxyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICAvLyBQYXJhZ3JhcGggd2l0aCBhIHJvdXNlIChyZWQpIGJhY2tncm91bmQsIHdoaXRlIHRleHQsIGFuZCBwYWRkaW5nXHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhci4kcm9zZTtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvLyBBZGp1c3RzIHBhcmFncmFwaCB3aWR0aCB0byBpdHMgY29udGVudFxyXG4gICAgICBwYWRkaW5nOiAxcmVtIDJyZW07IC8vIFBhZGRpbmcgZm9yIHZpc3VhbCBzcGFjaW5nXHJcbiAgICAgIGNvbG9yOiB2YXIuJHdoaXRlO1xyXG4gICAgfVxyXG4gIH1cclxufSIsIi8vIFVzZSBAdXNlIHdoZW4geW91IHdhbnQgdG8gYWNjZXNzIGEgc3BlY2lmaWMgdmFyaWFibGUuIFVzZSBAZm9yd2FyZCB3aGVuIHlvdSB3YW50IHRvIGltcG9ydCBhbGwgc3R5bGVzIGZyb20gYSBtb2R1bGUgdGhhdCBkb2Vzbid0IGhhdmUgdmFyaWFibGVzLlxyXG5AdXNlICdiYXNlL3ZhcmlhYmxlcycgYXMgdmFyOyAvLyBJbXBvcnQgdmFyaWFibGVzIGZyb20gdGhlIGJhc2UvdmFyaWFibGVzIGZpbGVAdXNlICdiYXNlL3ZhcmlhYmxlcycgYXMgdmFyO1xyXG5AdXNlICdiYXNlL21peGlucycgYXMgbWl4OyAvLyBJbXBvcnQgbWl4aW5zIGZyb20gdGhlIGJhc2UvbWl4aW5zIGZpbGVAdXNlICdiYXNlL21peGlucycgYXMgbWl4O1xyXG5cclxuXHJcbi5hYm91dC1mZXN0aXZhbHtcclxuICAvLyBBcHBseWluZyB0aGUgY29udGFpbmVyIG1peGluIHRvIGNlbnRlciBhbmQgbGltaXQgdGhlIHdpZHRoXHJcbiAgQGluY2x1ZGUgbWl4LmNvbnRhaW5lcjtcclxuICBcclxuICAvLyBBcHBseWluZyBncmlkIGxheW91dCBmb3IgdGFibGV0IGFuZCBhYm92ZVxyXG4gIEBpbmNsdWRlIG1peC50YWJsZXQge1xyXG4gICAgQGluY2x1ZGUgbWl4LmdyaWQoMiwgNXJlbSk7IC8vIENyZWF0aW5nIGEgZ3JpZCB3aXRoIDIgY29sdW1ucyBhbmQgYSA1cmVtIGdhcFxyXG4gIH1cclxufVxyXG5cclxuLmNvbnRlbnQtZmVzdGl2YWwge1xyXG4gIG1hcmdpbi10b3A6IDVyZW07IC8vIEFkZGluZyBzcGFjZSBhYm92ZSB0aGUgZmVzdGl2YWwgY29udGVudFxyXG5cclxuICBoMiB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtOyAvLyBTcGFjaW5nIGJlbG93IHRoZSBmZXN0aXZhbCBoZWFkaW5nXHJcbiAgfVxyXG5cclxuICAuc2NoZWR1bGUge1xyXG4gICAgY29sb3I6IHZhci4kZ3JlZW47IC8vLyBVc2luZyB0aGUgZ3JlZW4gYWNjZW50IGNvbG9yIGZvciB0aGUgc2NoZWR1bGVcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7ICAvLyBNYWtpbmcgdGhlIHNjaGVkdWxlIHRleHQgYm9sZFxyXG4gIH1cclxufSIsIkB1c2UgJ2Jhc2UvdmFyaWFibGVzJyBhcyB2YXI7IC8vIEltcG9ydCB2YXJpYWJsZXMgZnJvbSBiYXNlIGZvciBjb25zaXN0ZW50IHN0eWxpbmdcclxuQHVzZSAnYmFzZS9taXhpbnMnIGFzIG1peDsgLy8gSW1wb3J0IG1peGlucyBmb3IgcmV1c2FibGUgc3R5bGVzXHJcblxyXG5cclxuLmdhbGVyeSB7XHJcblxyXG4gIEBpbmNsdWRlIG1peC5jb250YWluZXI7XHJcblxyXG4gICYtaW1nIHtcclxuICAgICAgICAvLyBTZXQgdXAgYSByZXNwb25zaXZlIGdyaWQgbGF5b3V0IHdpdGggZGVmaW5lZCBjb2x1bW4gbnVtYmVycyBmb3IgZGlmZmVyZW50IGJyZWFrcG9pbnRzXHJcbiAgICBAaW5jbHVkZSBtaXguZ3JpZCgxLCAycmVtKTtcclxuICAgIFxyXG4gICAgQGluY2x1ZGUgbWl4LnBob25lIHtcclxuICAgICAgQGluY2x1ZGUgbWl4LmdyaWQoMiwgMnJlbSk7IC8vIEFkanVzdCBncmlkIGZvciBwaG9uZSBzY3JlZW5zXHJcbiAgICAgIFxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBAaW5jbHVkZSBtaXgudGFibGV0e1xyXG4gICAgICBAaW5jbHVkZSBtaXguZ3JpZCgzLCAycmVtKTsvLyBBZGp1c3QgZ3JpZCBmb3IgdGFibGV0IHNjcmVlbnNcclxuICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWl4LmRlc2t0b3B7XHJcbiAgICAgIEBpbmNsdWRlIG1peC5ncmlkKDQsIDJyZW0pOy8vIEFkanVzdCBncmlkIGZvciBkZXNrdG9wIHNjcmVlbnNcclxuICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgLy8gU2V0IGhlaWdodCBhbmQgY292ZXIgaW1hZ2Ugd2l0aGluIGNvbnRhaW5lciB3aXRob3V0IGRpc3RvcnRpb25cclxuICAgICAgaGVpZ2h0OiAyMHJlbTtcclxuXHJcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyOy8vIEtlZXBzIHRoZSBhc3BlY3QgcmF0aW8gb2YgdGhlIGltYWdlLCBjcm9wcGluZyBpdCB0byBmaWxsIHRoZSBjb250YWluZXJcclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcblxyXG4vLyBNb2RhbCBTdHlsaW5nXHJcbi5tb2RhbCB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIGluc2V0OiAwO1xyXG5cclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKHZhci4kYmxhY2ssIDAuNSk7IC8vIFNlbWktdHJhbnNwYXJlbnQgYmxhY2sgYmFja2dyb3VuZFxyXG4gIGRpc3BsYXk6IGdyaWQ7XHJcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgXHJcbiAgaW1nIHtcclxuICAgIG1heC13aWR0aDogMTAwcmVtOyAvLyBTZXQgbWF4LXdpZHRoIGZvciBtb2RhbCBpbWFnZXNcclxuICB9XHJcblxyXG4gIC8vXHJcbiAgYW5pbWF0aW9uOiBmYWRlSW4gZWFzZS1pbiAwLjVzOyAgLy8gQW5pbWF0aW9uIG9uIG1vZGFsIG9wZW5cclxuXHJcbiAgLy9cclxuICAmLmZhZGUtb3V0IHtcclxuICAgIGFuaW1hdGlvbjogZmFkZU91dCBlYXNlLWluIDAuNXM7IC8vIEFuaW1hdGlvbiBvbiBtb2RhbCBjbG9zZVxyXG4gIH1cclxufVxyXG5cclxuLy8gQnV0dG9uIFN0eWxpbmcgZm9yIE1vZGFsIENsb3NlIEJ1dHRvblxyXG4uYnV0dG9uLWtpbGx7XHJcbiAgd2lkdGg6IDRyZW07XHJcbiAgaGVpZ2h0OiA0cmVtO1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIuJHdoaXRlO1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuLy8gRmFkZS1pbiBhbmltYXRpb24gZm9yIG1vZGFsIG9wZW5pbmdcclxuQGtleWZyYW1lcyBmYWRlSW4ge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7IC8vIE1vZGFsIHN0YXJ0cyBpbnZpc2libGVcclxuICB9XHJcbiAgNTAlIHtcclxuICAgIG9wYWNpdHk6IDAuNTsgLy8gU2VtaS10cmFuc3BhcmVudFxyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7IC8vIEZ1bGx5IHZpc2libGVcclxuICB9XHJcbn1cclxuXHJcbi8vIEZhZGUtb3V0IGFuaW1hdGlvbiBmb3IgbW9kYWwgY2xvc2luZ1xyXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDE7IC8vIE1vZGFsIHN0YXJ0cyBmdWxseSB2aXNpYmxlXHJcbiAgfVxyXG4gIDUwJSB7XHJcbiAgICBvcGFjaXR5OiAwLjU7IC8vIFNlbWktdHJhbnNwYXJlbnRcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAwOyAvLyBDb21wbGV0ZWx5IGludmlzaWJsZVxyXG4gIH1cclxufSIsIi8vIFVzZSBAdXNlIHdoZW4geW91IHdhbnQgdG8gYWNjZXNzIGEgc3BlY2lmaWMgdmFyaWFibGUuIFVzZSBAZm9yd2FyZCB3aGVuIHlvdSB3YW50IHRvIGltcG9ydCBhbGwgc3R5bGVzIGZyb20gYSBtb2R1bGUgdGhhdCBkb2Vzbid0IGhhdmUgdmFyaWFibGVzLlxyXG5AdXNlICdiYXNlL3ZhcmlhYmxlcycgYXMgdmFyOyAvLyBJbXBvcnQgdmFyaWFibGVzIGZyb20gYmFzZS92YXJpYWJsZXNcclxuQHVzZSAnYmFzZS9taXhpbnMnIGFzIG1peDsgICAgLy8gSW1wb3J0IG1peGlucyBmcm9tIGJhc2UvbWl4aW5zXHJcbkB1c2UgJ3Nhc3M6Y29sb3InOyAvLyBJbXBvcnRpbmcgdGhlIGNvbG9yIG1vZHVsZSBmcm9tIFNhc3MgZm9yIGNvbG9yIG1hbmlwdWxhdGlvbnNcclxuXHJcbi8vIFN0eWxpbmcgZm9yIHRoZSBsaW5ldXAgc2VjdGlvblxyXG4ubGluZXVwIHtcclxuICAvLyBCYWNrZ3JvdW5kIGNvbG9yIGZyb20gdmFyaWFibGVzXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyLiRyb3NlO1xyXG5cclxuICAvLyBIZWFkaW5ncyBhbmQgZGF5cyBzdHlsaW5nXHJcbiAgaDMsXHJcbiAgLmRheSB7XHJcbiAgICAvLyBDZW50ZXIgdGV4dCBhbGlnbm1lbnQgYW5kIHdoaXRlIGNvbG9yIGZvciBoZWFkaW5nc1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY29sb3I6IHZhci4kd2hpdGU7XHJcbiAgfVxyXG5cclxuICAvLyBTdHlsaW5nIGZvciB0aGUgZXZlbnQgZGF5IHRleHRcclxuICAuZGF5IHtcclxuICAgIGZvbnQtc2l6ZTogM3JlbTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBDb250YWluZXIgZm9yIHN0YWdlc1xyXG4uc3RhZ2VzLWNvbnRhaW5lciB7XHJcbiAgLy8gSW5jbHVkZSBhIGdlbmVyYWwgY29udGFpbmVyIG1peGluIGZvciBsYXlvdXRcclxuICBAaW5jbHVkZSBtaXguY29udGFpbmVyO1xyXG5cclxuICAvLyBBcHBseSBncmlkIGxheW91dCBmb3IgdGFibGV0IHNjcmVlbnNcclxuICBAaW5jbHVkZSBtaXgudGFibGV0IHtcclxuICAgIEBpbmNsdWRlIG1peC5ncmlkKDIpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gU3RhZ2Ugc2VjdGlvbiBzdHlsZXNcclxuLnN0YWdlIHtcclxuICBwYWRkaW5nLXRvcDogMnJlbTsgLy8gQWRkcyBzcGFjZSBhYm92ZSBlYWNoIHN0YWdlIHNlY3Rpb25cclxuXHJcbiAgLy8gU3R5bGluZyBmb3IgdGhlIG5hbWUgb2YgZWFjaCBzdGFnZVxyXG4gIC5zdGFnZS1uYW1lIHtcclxuICAgIGZvbnQtc2l6ZTogM3JlbTsgLy8gU2V0cyB0aGUgZm9udCBzaXplIGZvciBzdGFnZSBuYW1lc1xyXG4gICAgZm9udC13ZWlnaHQ6IDkwMDsgLy8gU2V0cyB0aGUgZm9udCB3ZWlnaHQgdG8gYm9sZFxyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgLy8gVHJhbnNmb3JtcyB0ZXh0IHRvIHVwcGVyY2FzZVxyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyAvLyBDZW50ZXJzIHRoZSB0ZXh0XHJcbiAgfVxyXG59XHJcblxyXG4vLyBTY2hlZHVsZSBsaXN0IHN0eWxpbmdcclxuLnNjaGVkdWxlIHtcclxuICBAaW5jbHVkZSBtaXgucmVzZXQtbGlzdDsgLy8gUmVzZXRzIGRlZmF1bHQgbGlzdCBzdHlsaW5nXHJcblxyXG4gIGxpIHtcclxuICAgIHBhZGRpbmc6IDIuNXJlbTsgLy8gQWRkcyBwYWRkaW5nIGFyb3VuZCBsaXN0IGl0ZW1zXHJcbiAgICBmb250LXdlaWdodDogNzAwOyAvLyBTZXRzIGZvbnQgd2VpZ2h0IHRvIGJvbGQgZm9yIGxpc3QgaXRlbXNcclxuICAgIHNwYW4ge1xyXG4gICAgICBmb250LXdlaWdodDogNDAwOyAvLyBTZXRzIGZvbnQgd2VpZ2h0IHRvIG5vcm1hbCBmb3Igc3BhbnMgaW5zaWRlIGxpc3QgaXRlbXNcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIEJhY2tncm91bmQgc3R5bGluZyBmb3IgeWVsbG93IHNlY3Rpb25cclxuLmJnLXllbGxvdyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyLiR5ZWxsb3c7IC8vIFNldHMgYmFja2dyb3VuZCBjb2xvciB0byB5ZWxsb3cgZnJvbSB2YXJpYWJsZXNcclxuXHJcbiAgLy8gU3R5bGluZyBmb3Igb2RkIGxpc3QgaXRlbXNcclxuICBsaTpudGgtY2hpbGQob2RkKSB7XHJcbiAgICAvL2JhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4odmFyLiR5ZWxsb3csIDUlKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLmFkanVzdCh2YXIuJHllbGxvdywgJGxpZ2h0bmVzczogNSUpOyAvLyBBZGp1c3RzIGNvbG9yIGxpZ2h0bmVzcyBieSA1JSAgXHJcbiAgfVxyXG59XHJcblxyXG4vLyBCYWNrZ3JvdW5kIHN0eWxpbmcgZm9yIGdyZWVuIHNlY3Rpb25cclxuLmJnLWdyZWVuIHtcclxuXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyLiRncmVlbjsgLy8gU2V0cyBiYWNrZ3JvdW5kIGNvbG9yIHRvIGdyZWVuIGZyb20gdmFyaWFibGVzXHJcbi8vIFN0eWxpbmcgZm9yIG9kZCBsaXN0IGl0ZW1zXHJcbiAgbGk6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKHZhci4kZ3JlZW4sIDUlKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLmFkanVzdCh2YXIuJGdyZWVuLCAkbGlnaHRuZXNzOiA1JSk7Ly8gQWRqdXN0cyBjb2xvciBsaWdodG5lc3MgYnkgNSUgICAgXHJcbiAgfVxyXG59IiwiLy8gVXNlIEB1c2Ugd2hlbiB5b3Ugd2FudCB0byBhY2Nlc3MgYSBzcGVjaWZpYyB2YXJpYWJsZS4gVXNlIEBmb3J3YXJkIHdoZW4geW91IHdhbnQgdG8gaW1wb3J0IGFsbCBzdHlsZXMgZnJvbSBhIG1vZHVsZSB0aGF0IGRvZXNuJ3QgaGF2ZSB2YXJpYWJsZXMuXHJcbkB1c2UgJ2Jhc2UvdmFyaWFibGVzJyBhcyB2YXI7IC8vIEltcG9ydCB2YXJpYWJsZXMgZnJvbSBiYXNlL3ZhcmlhYmxlc1xyXG5AdXNlICdiYXNlL21peGlucycgYXMgbWl4OyAgICAvLyBJbXBvcnQgbWl4aW5zIGZyb20gYmFzZS9taXhpbnNcclxuQHVzZSAnc2Fzczpjb2xvcic7IC8vIEltcG9ydGluZyB0aGUgY29sb3IgbW9kdWxlIGZyb20gU2FzcyBmb3IgY29sb3IgbWFuaXB1bGF0aW9uc1xyXG5cclxuLy8gTWFpbiBjb250YWluZXIgZm9yIHRoZSB0aWNrZXRzIHNlY3Rpb24gd2l0aCBhIGJhY2tncm91bmQgY29sb3JcclxuLnRpY2tldHMtY29udGFpbmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIuJGdyZWVuO1xyXG5cclxuICAvLyBTdHlsaW5nIGZvciB0aGUgc2VjdGlvbiBoZWFkaW5nXHJcbiAgaDMge1xyXG4gICAgY29sb3I6IHZhci4kd2hpdGU7XHJcbiAgfVxyXG5cclxuICAgIC8vIENvbnRhaW5lciBmb3IgdGlja2V0IG9wdGlvbnMgd2l0aCByZXNwb25zaXZlIGdyaWQgbGF5b3V0XHJcbiAgLnRpY2tldHMge1xyXG4gICAgQGluY2x1ZGUgbWl4LnRhYmxldCB7XHJcbiAgICAgIEBpbmNsdWRlIG1peC5jb250YWluZXI7XHJcbiAgICAgIEBpbmNsdWRlIG1peC5ncmlkKDIpOyAvLyAyLWNvbHVtbiBncmlkIGZvciB0YWJsZXRzIGFuZCBhYm92ZVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gSW5kaXZpZHVhbCBwYXNzICh0aWNrZXQpIHN0eWxpbmdcclxuLnBhc3Mge1xyXG5cclxuICAvLyBIb3ZlciBlZmZlY3QgdG8gc2NhbGUgdGhlIHBhc3MgZm9yIGVtcGhhc2lzXHJcbiAgJjpob3ZlciB7XHJcblxyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlLWluLW91dDtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcclxuICB9XHJcbiAgICAvLyBTdHlsZSBmb3IgdGhlIG5hbWUgb2YgZWFjaCBwYXNzXHJcbiAgJi1wYXNzIHtcclxuICAgIGZvbnQtc2l6ZTogMy42cmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGNvbG9yOiB2YXIuJHdoaXRlO1xyXG4gIH1cclxuXHJcbiAgICAvLyBDb21tb24gc3R5bGluZyBmb3IgaGVhZGVyIGFuZCBmb290ZXJcclxuICAmLWhlYWRlcixcclxuICAmLWZvb3RlciB7XHJcbiAgICBwYWRkaW5nOiAuNXJlbTtcclxuXHJcbiAgICBwIHtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBjb2xvcjogdmFyLiR3aGl0ZTtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIC8vIEhlYWRlciBzdHlsaW5nIHdpdGggYmFja2dyb3VuZCBjb2xvciBhbmQgdXBwZXJjYXNlIHRleHRcclxuICAmLWhlYWRlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIuJHJvc2U7XHJcbiAgICBwIHtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgZm9udC1zaXplOiAyLjJyZW07XHJcbiAgICAgIHBhZGRpbmc6IDFyZW0gMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEJvZHkgc2VjdGlvbiBiYWNrZ3JvdW5kIGFuZCBsaXN0IHN0eWxpbmdcclxuICAmLWJvZHkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyLiR3aGl0ZTtcclxuICAgIHVsIHtcclxuICAgICAgQGluY2x1ZGUgbWl4LnJlc2V0LWxpc3Q7XHJcblxyXG4gICAgICBsaSB7XHJcbiAgICAgICAgcGFkZGluZzogMnJlbTtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAgMXB4IHNvbGlkICNlMWUxZTEgOyAgICAgICAgXHJcbiAgXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIEZvb3RlciBzdHlsaW5nIHdpdGggcHJpY2UgZGlzcGxheSBhbmQgaG92ZXIgZWZmZWN0XHJcbiAgJi1mb290ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyLiR3aGl0ZTtcclxuICAgIHBhZGRpbmc6IDNyZW07XHJcblxyXG4gICAgcCB7ICAgICBcclxuXHJcbiAgICAgIHRyYW5zaXRpb246IC40cyBlYXNlLWluLW91dDsgICAgIFxyXG5cclxuICAgICAgZm9udC1zaXplOiAyLjhyZW07XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhci4kcHVycGxlO1xyXG4gICAgICBwYWRkaW5nOiAxcmVtIDA7XHJcblxyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci5hZGp1c3QodmFyLiRwdXJwbGUsICRsaWdodG5lc3M6IC0yMCUpOy8vIEFkanVzdHMgY29sb3IgbGlnaHRuZXNzIGJ5IDUlXHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG59IiwiQHVzZSAnYmFzZS92YXJpYWJsZXMnIGFzIHZhcjsgLy8gSW1wb3J0IHZhcmlhYmxlcyBmcm9tIGJhc2UgZm9yIGNvbnNpc3RlbnQgc3R5bGluZ1xyXG5AdXNlICdiYXNlL21peGlucycgYXMgbWl4OyAvLyBJbXBvcnQgbWl4aW5zIGZvciByZXVzYWJsZSBzdHlsZXNcclxuXHJcblxyXG4vLyBGb290ZXIgc3R5bGluZ1xyXG4uZm9vdGVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIuJHJvc2U7IC8vIFNldCBmb290ZXIgYmFja2dyb3VuZCBjb2xvclxyXG4gIHBhZGRpbmc6IDJyZW0gMDsgLy8gQWRkIHZlcnRpY2FsIHBhZGRpbmdcclxuXHJcbiAgcCxcclxuICAmLmxvZ28ge1xyXG4gICAgbWFyZ2luOiAwOyAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gZm9yIHBhcmFncmFwaCBlbGVtZW50c1xyXG4gICAgY29sb3I6IHZhci4kd2hpdGU7IC8vIFNldCB0ZXh0IGNvbG9yIHRvIHdoaXRlXHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IC8vIENlbnRlci1hbGlnbiB0ZXh0IHdpdGhpbiBwYXJhZ3JhcGhzXHJcbiAgfVxyXG4gIC5sb2dvIHtcclxuICAgIG1heC13aWR0aDogMTVyZW07ICAgICAgICBcclxuICB9XHJcbiAgLmxvZ286aG92ZXIge1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4zcyBlYXNlLWluLW91dDtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgICAgXHJcbiAgfVxyXG59XHJcblxyXG4iXX0= */
