@charset "UTF-8";
body:before {
  background-color: #FCF8E3;
  border-bottom: 1px solid #FBEED5;
  border-left: 1px solid #FBEED5;
  color: #C09853;
  font: small-caption;
  padding: 3px 6px;
  pointer-events: none;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 100;
}

@media (min-width: 20em) {
  body:before {
    content: "mobile ≥ 320px (20em)";
  }
}

@media (min-width: 30em) {
  body:before {
    content: "mobileLandscape ≥ 480px (30em)";
  }
}

@media (min-width: 46.25em) {
  body:before {
    content: "tablet ≥ 740px (46.25em)";
  }
}

@media (min-width: 61.25em) {
  body:before {
    content: "desktop ≥ 980px (61.25em)";
  }
}

@media (min-width: 81.25em) {
  body:before {
    content: "wide ≥ 1300px (81.25em)";
  }
}

@font-face {
  font-family: "webfont";
  font-style: normal;
  font-weight: 400;
  font-display: auto;
  src: url(/build/fonts/webfont.ee80fb8c.eot);
  src: url(/build/fonts/webfont.ee80fb8c.eot) format("embedded-opentype"), url(/build/fonts/webfont.820c4fe8.woff2) format("woff2"), url(/build/fonts/webfont.f5b8e4b7.woff) format("woff"), url(/build/fonts/webfont.ec16ec04.ttf) format("truetype"), url(/build/images/webfont.77780cba.svg) format("svg");
}

.webfont, #header .container .right .select-container .select:after, .block--highlight_infos p.date:before, .block--highlight_infos p.location:before {
  display: inline-block;
  font-family: "webfont";
  font-weight: 400;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
}

.webfont-lg {
  font-size: 1.33333em;
  line-height: 0.75em;
  vertical-align: -0.0667em;
}

.webfont-xs {
  font-size: 0.75em;
}

.webfont-sm {
  font-size: 0.875em;
}

.webfont-1x {
  font-size: 1em;
}

.webfont-2x {
  font-size: 2em;
}

.webfont-3x {
  font-size: 3em;
}

.webfont-4x {
  font-size: 4em;
}

.webfont-5x {
  font-size: 5em;
}

.webfont-6x {
  font-size: 6em;
}

.webfont-7x {
  font-size: 7em;
}

.webfont-8x {
  font-size: 8em;
}

.webfont-9x {
  font-size: 9em;
}

.webfont-10x {
  font-size: 10em;
}

.webfont-fw {
  text-align: center;
  width: 1.25em;
}

.webfont-border {
  border: solid 0.08em #eee;
  border-radius: 0.1em;
  padding: 0.2em 0.25em 0.15em;
}

.webfont-pull-left {
  float: left;
}

.webfont-pull-right {
  float: right;
}

.webfont.webfont-pull-left {
  margin-right: 0.3em;
}

.webfont.webfont-pull-right {
  margin-left: 0.3em;
}

.webfont-about::before {
  content: "\ea01";
}

.webfont-arrow::before {
  content: "\ea02";
}

.webfont-course::before {
  content: "\ea03";
}

.webfont-drive::before {
  content: "\ea04";
}

.webfont-facebook::before {
  content: "\ea05";
}

.webfont-festival::before {
  content: "\ea06";
}

.webfont-hours::before {
  content: "\ea07";
}

.webfont-instagram::before {
  content: "\ea08";
}

.webfont-linkedin::before {
  content: "\ea09";
}

.webfont-lock::before {
  content: "\ea0a";
}

.webfont-message::before {
  content: "\ea0b";
}

.webfont-pin::before {
  content: "\ea0c";
}

.webfont-share::before {
  content: "\ea0d";
}

.webfont-tiktok::before {
  content: "\ea0e";
}

.webfont-twitter::before {
  content: "\ea0f";
}

.webfont-website::before {
  content: "\ea10";
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* make sure to set some focus styles for accessibility */
:focus {
  outline: 0;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
  -webkit-appearance: none;
  -moz-appearance: none;
}

input[type="search"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

textarea {
  overflow: auto;
  vertical-align: top;
  resize: vertical;
}

/**
 * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
 */
audio,
canvas,
video {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  max-width: 100%;
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
 * Known issue: no IE 6 support.
 */
[hidden] {
  display: none;
}

/**
 * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
 *    `em` units.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-size: 100%;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 2 */
}

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */
a:focus {
  outline: thin dotted;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/**
 * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
 * 2. Improve image quality when scaled in IE 7.
 */
img {
  border: 0;
  /* 1 */
  -ms-interpolation-mode: bicubic;
  /* 2 */
}

/**
 * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11.
 */
figure {
  margin: 0;
}

/**
 * Correct margin displayed oddly in IE 6/7.
 */
form {
  margin: 0;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct color not being inherited in IE 6/7/8/9.
 * 2. Correct text not wrapping in Firefox 3.
 * 3. Correct alignment displayed oddly in IE 6/7.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  white-space: normal;
  /* 2 */
  *margin-left: -7px;
  /* 3 */
}

/**
 * 1. Correct font size not being inherited in all browsers.
 * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
 *    and Chrome.
 * 3. Improve appearance and consistency in all browsers.
 */
button,
input,
select,
textarea {
  font-size: 100%;
  /* 1 */
  margin: 0;
  /* 2 */
  vertical-align: baseline;
  /* 3 */
  *vertical-align: middle;
  /* 3 */
}

/**
 * Address Firefox 3+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
button,
input {
  line-height: normal;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
 *    Known issue: inner spacing remains in IE 6.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
  *overflow: visible;
  /* 4 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * 1. Address box sizing set to content-box in IE 8/9.
 * 2. Remove excess padding in IE 8/9.
 * 3. Remove excess padding in IE 7.
 *    Known issue: excess padding remains in IE 6.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
  *height: 13px;
  /* 3 */
  *width: 13px;
  /* 3 */
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Remove inner padding and border in Firefox 3+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * 1. Remove default vertical scrollbar in IE 6/7/8/9.
 * 2. Improve readability and alignment in all browsers.
 */
textarea {
  overflow: auto;
  /* 1 */
  vertical-align: top;
  /* 2 */
}

/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

::-moz-selection {
  background: none;
  text-shadow: none;
}

::selection {
  background: none;
  text-shadow: none;
}

img {
  vertical-align: middle;
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

textarea {
  resize: vertical;
}

.chromeframe {
  margin: 0.2em 0;
  background: #ccc;
  color: #000;
  padding: 0.2em 0;
}

a {
  text-decoration: none;
  outline: none !important;
}

button,
input[type="submit"] {
  padding: 0;
  border: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: none;
  outline: none;
}

body {
  box-sizing: border-box;
  background-color: var(--color-main-bg);
  font-family: "Roboto", sans-serif;
}

body * {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  box-sizing: border-box;
}

body a {
  transition: color 0.3s linear;
}

main > section {
  scroll-margin-top: 80px;
}

.container {
  position: relative;
  margin: 0px auto;
  max-width: 1204px;
  padding-left: 30px;
  padding-right: 30px;
}

@media screen and (max-width: 920px) {
  .container {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media screen and (max-width: 500px) {
  .container {
    padding-left: 15px;
    padding-right: 15px;
  }
}

.page {
  transition: all 0.5s;
}

.page-enter-active,
.page-leave-active {
  transition: opacity 0.5s;
}

.page-enter,
.page-leave-active {
  opacity: 0;
}

.fade-left-enter,
.fade-right-leave-active {
  opacity: 0;
  transform: translate(30px, 0);
}

.fade-left-leave-active,
.fade-right-enter {
  opacity: 0;
  transform: translate(-30px, 0);
}

#header {
  background-color: var(--color-main);
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 9999;
}

#header .container {
  height: 80px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#header .container .left p {
  font-size: 16px;
  font-weight: bold;
  color: var(--color-second-bg);
}

#header .container .right {
  position: relative;
}

#header .container .right .burger-trigger {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  z-index: 555;
  display: none;
}

@media screen and (max-width: 850px) {
  #header .container .right .burger-trigger {
    display: block;
  }
}

#header .container .right input:checked ~ .mobile_nav_container {
  max-height: calc(100vh - 80px);
}

@media screen and (min-width: 851px) {
  #header .container .right .mobile_nav_container .inside {
    display: flex;
    align-items: center;
  }
}

@media screen and (max-width: 850px) {
  #header .container .right .mobile_nav_container {
    position: fixed;
    top: 80px;
    left: 0;
    height: calc(100vh - 80px);
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-main);
    z-index: 999;
    transition: 0.5s all;
    overflow: hidden;
    max-height: 0px;
  }
}

@media screen and (min-width: 851px) {
  #header .container .right .nav--main > ul {
    display: flex;
    align-items: center;
    margin-right: 60px;
  }
}

@media screen and (min-width: 851px) {
  #header .container .right .nav--main > ul > li:not(:last-child) {
    margin-right: 68px;
  }
}

@media screen and (max-width: 850px) {
  #header .container .right .nav--main > ul > li:not(:last-child) {
    margin-bottom: 30px;
  }
}

#header .container .right .nav--main > ul > li a {
  font-size: 14px;
  font-weight: bold;
  color: var(--color-second-bg);
  display: block;
}

@media screen and (max-width: 850px) {
  #header .container .right .nav--main > ul > li a {
    font-size: 18px;
    text-align: center;
  }
}

#header .container .right .nav--main > ul > li a:hover {
  text-decoration: underline;
}

#header .container .right .select-container {
  display: flex;
  align-items: center;
}

@media screen and (max-width: 850px) {
  #header .container .right .select-container {
    margin-top: 50px;
  }
}

#header .container .right .select-container .select {
  position: relative;
}

#header .container .right .select-container .select:after {
  content: "";
  font-size: 7px;
  color: var(--color-second-bg);
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -4px;
  pointer-events: none;
}

#header .container .right .select-container .select select {
  -moz-appearance: none;
  -ms-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border: none;
  background: none;
  height: 16px;
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  font-weight: bold;
  color: var(--color-second-bg);
  padding-right: 16px;
}

#header .container .right .select-container .sep {
  margin-left: 30px;
  margin-right: 30px;
  width: 2px;
  height: 13px;
  border-radius: 2px;
  background-color: var(--color-second-bg);
}

main {
  padding-top: 80px;
}

#footer {
  background: var(--color-main-bg);
  padding-top: 40px;
  padding-bottom: 20px;
}

@media screen and (max-width: 500px) {
  #footer {
    padding-top: 20px;
  }
}

#footer .reassurance {
  margin-bottom: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

#footer .reassurance p {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 67px;
}

@media screen and (max-width: 550px) {
  #footer .reassurance p {
    width: 100%;
    margin-right: 0;
    margin-bottom: 20px;
  }
}

#footer .reassurance p i {
  font-size: 28px;
  margin-right: 18px;
}

#footer .reassurance p span {
  font-size: 12px;
  line-height: 20px;
  color: var(--color-main-text);
}

#footer .reassurance .list--logos {
  display: flex;
  justify-content: center;
  align-items: center;
}

#footer .reassurance .list--logos > img:not(:last-child) {
  margin-right: 17px;
}

#footer .text {
  font-size: 14px;
  line-height: 25px;
  color: var(--color-main-text);
  text-align: center;
}

#footer .text a {
  margin-left: 5px;
  margin-right: 5px;
  color: var(--color-main);
  text-decoration: underline;
}

#footer .copyright {
  margin-top: 35px;
  font-size: 12px;
  line-height: 20px;
  color: var(--color-main-text);
  text-align: center;
}

#footer .copyright a {
  color: var(--color-main-text);
}

#footer .copyright a:hover {
  text-decoration: underline;
}

#page_error {
  padding: 30px 15px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
}

#page_error figure {
  font-size: 0;
  margin-bottom: 63px;
}

#page_error figure svg {
  max-width: 100%;
  height: auto;
}

#page_error .text {
  text-align: center;
  color: #000000;
}

#page_error .text.big {
  font-size: 20px;
  line-height: 26px;
  margin-bottom: 42px;
}

#page_error .text.small {
  font-size: 14px;
  line-height: 18px;
  margin-bottom: 43px;
}

.section--hero {
  padding-top: 165px;
  position: relative;
  background: var(--color-second-bg);
}

@media screen and (max-width: 850px) {
  .section--hero {
    padding-top: 133px;
  }
}

.section--hero .img--banner {
  position: absolute;
  top: 0px;
  width: 100%;
  height: 500px;
}

@media screen and (max-width: 850px) {
  .section--hero .img--banner {
    height: 190px;
  }
}

.section--hero .img--banner:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: var(--color-main);
  top: 0;
  left: 0;
  clip-path: polygon(0 0, 100% 0, 100% 360px, 0 230px);
}

.section--hero .img--banner img {
  position: relative;
  display: block;
  max-width: 1700px;
  object-fit: cover;
  height: 100%;
  width: 100%;
  margin: 0px auto;
}

@media screen and (min-width: 1700px) {
  .section--hero .img--banner img {
    border-radius: 5px;
  }
}

.section--hero .container {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  position: static;
}

@media screen and (max-width: 850px) {
  .section--hero .container {
    justify-content: center;
  }
}

.section--hero .container figure {
  position: relative;
}

.section--hero .container figure img {
  display: block;
  width: 370px;
  height: 370px;
  object-fit: cover;
  border-radius: 5px;
}

@media screen and (max-width: 850px) {
  .section--hero .container figure img {
    max-width: 177px;
    height: auto;
  }
}

@media screen and (max-width: 850px) {
  .section--hero .container .block--share {
    display: none;
  }
}

.section--hero .container .button-share-mobile {
  display: none;
}

@media screen and (max-width: 850px) {
  .section--hero .container .button-share-mobile {
    display: block;
    position: absolute;
    top: 10px;
    right: 10px;
  }
}

.section--top_content {
  padding-top: 30px;
  padding-bottom: 36px;
  background: var(--color-second-bg);
}

.section--top_content .block--highlight_infos {
  margin-bottom: 30px;
}

.section--top_content h1 {
  font-size: 40px;
  font-weight: bold;
  line-height: 45px;
  color: var(--color-main-text);
  margin-bottom: 23px;
}

@media screen and (max-width: 850px) {
  .section--top_content h1 {
    font-size: 30px;
    font-weight: bold;
    line-height: 35px;
    color: var(--color-main-text);
    text-align: center;
  }
}

.section--top_content .block--tags {
  margin-bottom: 22px;
}

@media screen and (max-width: 850px) {
  .section--top_content .block--tags ul {
    justify-content: center;
  }
}

.section-content {
  background: var(--color-second-bg);
  padding-top: 40px;
  padding-bottom: 40px;
}

.section-content .container {
  display: grid;
  grid-template-columns: 1fr 367px;
  grid-gap: 56px;
}

@media screen and (max-width: 1024px) {
  .section-content .container {
    display: block;
  }
}

.section-content h2 {
  display: flex;
  align-items: center;
  font-size: 30px;
  font-weight: bold;
  line-height: 35px;
  color: var(--color-main-text);
  text-transform: uppercase;
}

.section-content h2 i {
  font-size: 23px;
  margin-right: 17px;
}

.section-content .content h2 {
  margin-bottom: 28px;
}

@media screen and (max-width: 1024px) {
  .section-content .content {
    margin-bottom: 40px;
  }
}

@media screen and (max-width: 1024px) and (min-width: 600px) {
  .section-content aside {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 20px;
  }
  .section-content aside .block:first-child {
    grid-column: span 2;
  }
}

.section-content aside .block:not(:last-child) {
  margin-bottom: 25px;
}

.section-content aside .block h2 {
  margin-bottom: 15px;
}

.section-content aside .block iframe {
  width: 100%;
  height: 230px;
}

.section-content aside .block address {
  font-size: 14px;
  line-height: 25px;
  color: var(--color-main-text);
  margin-top: 8px;
}

.section-content aside .block p {
  font-size: 14px;
  line-height: 25px;
  color: var(--color-main-text);
}

.section-content aside .block p:not(:last-child) {
  margin-bottom: 15px;
}

.section-content aside .block.share .button {
  max-width: 237px;
  margin-top: 30px;
}

.section-content aside .block.share #contact {
  max-width: 237px;
  margin-top: 30px;
  text-align: center;
  vertical-align: middle;
  display: none;
}

.section-content aside .block.share ul > li {
  display: flex;
  align-items: center;
}

.section-content aside .block.share ul > li:not(:last-child) {
  margin-bottom: 10px;
}

.section-content aside .block.share ul > li a {
  font-size: 14px;
  line-height: 25px;
  color: var(--color-main-text);
  display: block;
  color: #0627d9;
  font-weight: bold;
}

.section-content aside .block.share ul > li a:hover {
  text-decoration: underline;
}

.section-content aside .block.share ul > li i {
  width: 30px;
  font-size: 17px;
}

#section-content-iframe iframe {
  width: 100%;
  height: 700px;
}

.section--instagram {
  background: var(--color-main-bg);
  position: relative;
  padding-top: 45px;
}

.section--instagram:before {
  content: "";
  width: 100%;
  height: 190px;
  position: absolute;
  bottom: -1px;
  left: 0;
  background: var(--color-main);
  clip-path: polygon(0 100%, 100% 0, 100% 100%, 0 100%);
}

.section--instagram h2 {
  display: flex;
  align-items: center;
  font-size: 30px;
  font-weight: bold;
  line-height: 35px;
  color: var(--color-main-text);
  text-transform: uppercase;
  margin-bottom: 22px;
}

.section--instagram h2 i {
  font-size: 23px;
  margin-right: 17px;
}

.section--instagram .grid-instagram {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}

@media screen and (max-width: 850px) {
  .section--instagram .grid-instagram {
    grid-template-columns: 1fr 1fr;
  }
}

.section--instagram .grid-instagram a {
  display: block;
}

.section--instagram .grid-instagram a img {
  display: block;
  width: 100%;
  height: 100%;
}

.section--other_events {
  background: var(--color-main);
  padding-top: 37px;
  padding-bottom: 82px;
}

@media screen and (max-width: 500px) {
  .section--other_events {
    padding-bottom: 15px;
  }
}

.section--other_events h2 {
  display: flex;
  align-items: center;
  font-size: 30px;
  font-weight: bold;
  line-height: 35px;
  color: var(--color-second-bg);
  text-transform: uppercase;
  margin-bottom: 22px;
  margin-bottom: 20px;
}

.section--other_events h2 i {
  font-size: 23px;
  margin-right: 17px;
}

.section--other_events .grid-events {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 20px;
}

@media screen and (max-width: 1050px) {
  .section--other_events .grid-events {
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 500px) {
  .section--other_events .grid-events {
    grid-gap: 15px;
  }
}

.block--share {
  display: flex;
  align-items: center;
}

.block--share p {
  font-size: 14px;
  line-height: 25px;
  color: var(--color-main-text);
  margin-right: 30px;
}

.block--share ul {
  display: flex;
  align-items: center;
}

.block--share ul > li:not(:last-child) {
  margin-right: 14px;
}

.block--share ul > li a {
  display: block;
  color: var(--color-main-text);
  font-size: 14px;
}

.block--share ul > li a:hover {
  color: var(--color-main);
}

.button-share-mobile {
  width: 118px;
  height: 40px;
  border-radius: 5px;
  background-color: rgba(0, 0, 0, 0.8);
  line-height: 40px;
  font-size: 12px;
  font-weight: bold;
  line-height: 40px;
  color: #fff;
  transition: all 0.3s;
}

.button-share-mobile:hover, .button-share-mobile:focus {
  background-color: var(--color-main);
}

.block--highlight_infos {
  display: flex;
  align-items: center;
}

@media screen and (max-width: 850px) {
  .block--highlight_infos {
    justify-content: center;
    flex-wrap: wrap;
  }
}

.block--highlight_infos .sep {
  width: 3px;
  height: 14px;
  border-radius: 1.5px;
  background-color: var(--color-main);
  margin-left: 15px;
  margin-right: 15px;
}

@media screen and (max-width: 850px) {
  .block--highlight_infos .sep.last {
    display: none;
  }
}

.block--highlight_infos p {
  font-size: 18px;
  font-weight: bold;
  color: var(--color-main);
  display: flex;
  align-items: center;
}

.block--highlight_infos p.date:before {
  content: "";
  font-size: 15px;
  margin-right: 15px;
}

@media screen and (max-width: 850px) {
  .block--highlight_infos p.location {
    flex: 0 0 100%;
    justify-content: center;
    margin-top: 20px;
  }
}

.block--highlight_infos p.location:before {
  content: "";
  font-size: 16px;
  margin-right: 11px;
}

.block--tags ul {
  display: flex;
  align-items: center;
}

.block--tags ul > li:not(:last-child) {
  margin-right: 10px;
}

.block--tags ul > li p {
  height: 30px;
  border-radius: 5px;
  border: solid 1px #dde0eb;
  background-color: var(--color-second-bg);
  padding-left: 15px;
  padding-right: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: bold;
  color: var(--color-main);
}

.block--tags ul > li p.category {
  background-color: rgba(6, 39, 217, 0.1);
}

.block--tags ul > li p.category i {
  margin-right: 10px;
  font-size: 15px;
}

.rte {
  font-size: 16px;
  line-height: 25px;
  color: var(--color-main-text);
}

.rte em {
  font-style: italic;
}

.rte strong, .rte b {
  font-weight: bold;
}

.rte u {
  text-decoration: underline;
}

.rte p {
  font-size: 16px;
  line-height: 25px;
  color: var(--color-main-text);
  overflow-wrap: break-word;
}

.rte p:not(:last-child) {
  margin-bottom: 25px;
}

.rte p em {
  font-style: italic;
}

.rte p strong {
  font-weight: bold;
}

.rte h3 {
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 30px;
  color: var(--color-main-text);
}

.rte ul {
  margin-bottom: 25px;
}

.rte ul > li {
  font-size: 16px;
  color: var(--color-main-text);
  padding-left: 30px;
  position: relative;
  line-height: 20px;
}

.rte ul > li:before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--color-main);
  position: absolute;
  left: 0;
  top: 5px;
}

.rte ul > li:not(:last-child) {
  margin-bottom: 15px;
}

.button {
  height: 50px;
  border-radius: 5px;
  background-color: var(--color-main);
  border: solid 1px var(--color-main);
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  color: var(--color-second-bg);
  transition: 0.3s all;
  display: block;
  line-height: 48px;
}

.button:hover {
  background: var(--color-second-bg);
  color: var(--color-main);
}

.burger {
  width: 20px;
  height: 19px;
  z-index: 5;
  display: none;
  position: relative;
  display: none;
}

@media screen and (max-width: 850px) {
  .burger {
    display: block;
  }
}

.burger span {
  position: absolute;
  width: 100%;
  height: 3px;
  left: 0;
  display: block;
  background: var(--color-second-bg);
  transition: 0.5s;
  border-radius: 1px;
}

.burger span:nth-child(2) {
  top: 50%;
  margin-top: -1px;
}

.burger span:first-child {
  top: 0px;
}

.burger span:last-child {
  top: 16px;
}

.burger:hover {
  cursor: pointer;
}

input:checked + .burger span {
  opacity: 0;
  top: 50%;
}

input:checked + .burger span:first-child {
  opacity: 1;
  transform: rotate(405deg);
}

input:checked + .burger span:last-child {
  opacity: 1;
  transform: rotate(-405deg);
}

.teaser--event_othter {
  display: grid;
  grid-template-columns: 184px 1fr;
  border-radius: 10px;
  box-shadow: 0 0 20px 0 rgba(172, 183, 213, 0.2);
  background-color: var(--color-second-bg);
  overflow: hidden;
}

@media screen and (max-width: 600px) {
  .teaser--event_othter {
    grid-template-columns: 120px 1fr;
  }
}

@media screen and (max-width: 600px) {
  .teaser--event_othter figure {
    padding: 10px;
  }
}

.teaser--event_othter figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media screen and (max-width: 600px) {
  .teaser--event_othter figure img {
    border-radius: 5px;
  }
}

.teaser--event_othter .content {
  padding: 25px 23px;
}

@media screen and (max-width: 600px) {
  .teaser--event_othter .content {
    padding-left: 10px;
    padding-top: 12px;
    padding-bottom: 12px;
  }
}

.teaser--event_othter .content .date {
  font-size: 14px;
  font-weight: bold;
  color: var(--color-main);
  margin-bottom: 10px;
}

.teaser--event_othter .content .location {
  font-size: 14px;
  font-weight: bold;
  color: var(--color-main);
  margin-bottom: 15px;
}

.teaser--event_othter .content .title {
  font-size: 16px;
  font-weight: bold;
  color: var(--color-main-text);
}

.teaser--event_othter .content .categories {
  display: flex;
  flex-wrap: wrap;
  margin-top: 30px;
  margin-bottom: -10px;
}

@media screen and (max-width: 500px) {
  .teaser--event_othter .content .categories {
    margin-top: 20px;
  }
}

.teaser--event_othter .content .categories .category {
  display: inline-flex;
  align-items: center;
  height: 30px;
  border-radius: 5px;
  background-color: rgba(6, 39, 217, 0.1);
  padding-left: 12px;
  padding-right: 15px;
  font-size: 12px;
  font-weight: bold;
  line-height: 25px;
  color: var(--color-main);
  margin-bottom: 10px;
}

.teaser--event_othter .content .categories .category:not(:last-child) {
  margin-right: 10px;
}

.teaser--event_othter .content .categories .category i {
  font-size: 15px;
  margin-right: 11px;
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbWFpbi5zY3NzIiwid2VicGFjazovLy8uLi8uLi8uLi9ub2RlX21vZHVsZXMvc2Fzcy1tcS9fbXEuc2NzcyIsIndlYnBhY2s6Ly8vLi4vcmVzb3VyY2VzL3ZlbmRvcnMvd2ViZm9udC5zY3NzIiwid2VicGFjazovLy9iYXNlL19yZXNldC5zY3NzIiwid2VicGFjazovLy9iYXNlL19ib2R5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4uL3Jlc291cmNlcy92YXJpYWJsZXMvX2ZvbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vL2Jhc2UvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly8vYmFzZS9fdHJhbnNpdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly8vbGF5b3V0L2hlYWRlci5zY3NzIiwid2VicGFjazovLy9sYXlvdXQvZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vL2xheW91dC9lcnJvci1wYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uL3Jlc291cmNlcy92YXJpYWJsZXMvX2NvbG9ycy5zY3NzIiwid2VicGFjazovLy9zZWN0aW9ucy9zZWN0aW9uLWhlcm8uc2NzcyIsIndlYnBhY2s6Ly8vc2VjdGlvbnMvc2VjdGlvbi10b3BfY29udGVudC5zY3NzIiwid2VicGFjazovLy9zZWN0aW9ucy9zZWN0aW9uLWNvbnRlbnQuc2NzcyIsIndlYnBhY2s6Ly8vc2VjdGlvbnMvc2VjdGlvbi1pbnN0YWdyYW0uc2NzcyIsIndlYnBhY2s6Ly8vc2VjdGlvbnMvc2VjdGlvbi1vdGhlcl9ldmVudHMuc2NzcyIsIndlYnBhY2s6Ly8vZWxlbWVudHMvYmxvY2stc2hhcmUuc2NzcyIsIndlYnBhY2s6Ly8vZWxlbWVudHMvYmxvY2staGlnaGxpZ2h0X2luZm9zLnNjc3MiLCJ3ZWJwYWNrOi8vL2VsZW1lbnRzL2Jsb2NrLXRhZ3Muc2NzcyIsIndlYnBhY2s6Ly8vZWxlbWVudHMvcnRlLnNjc3MiLCJ3ZWJwYWNrOi8vL2VsZW1lbnRzL2J1dHRvbnMuc2NzcyIsIndlYnBhY2s6Ly8vZWxlbWVudHMvYnVyZ2VyLnNjc3MiLCJ3ZWJwYWNrOi8vL3RlYXNlcnMvdGVhc2VyLWV2ZW50cy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQzhVWjtFQUNJLHlCQUF5QjtFQUN6QixnQ0FBZ0M7RUFDaEMsOEJBQThCO0VBQzlCLGNBQWM7RUFDZCxtQkFBbUI7RUFDbkIsZ0JBQWdCO0VBQ2hCLG9CQUFvQjtFQUNwQixlQUFlO0VBQ2YsUUFBUTtFQUNSLE1BQU07RUFDTixZQUFZO0FENVVwQjs7QUNvT1E7RUE2Rko7SUFpQlksZ0NBQVM7RUQ3VXZCO0FBQ0Y7O0FDOE5RO0VBNkZKO0lBaUJZLHlDQUFTO0VEdlV2QjtBQUNGOztBQ3dOUTtFQTZGSjtJQWlCWSxtQ0FBUztFRGpVdkI7QUFDRjs7QUNrTlE7RUE2Rko7SUFpQlksb0NBQVM7RUQzVHZCO0FBQ0Y7O0FDNE1RO0VBNkZKO0lBaUJZLGtDQUFTO0VEclR2QjtBQUNGOztBRVRBO0VBQ0Usc0JBQXNCO0VBQ3RCLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLDRDQUF5QztFQUN6Qyw0U0FBK1M7QUZZalQ7O0FFVEE7RUFDQSxxQkFBcUI7RUFDbkIsc0JBQXNCO0VBQ3RCLGdCQUFnQjtFQUNoQixrQkFBa0I7RUFDbEIsb0JBQW9CO0VBQ3BCLG9CQUFvQjtFQUNwQixjQUFjO0VBQ2Qsa0NBQWtDO0VBQ2xDLG1DQUFtQztBRllyQzs7QUVMQTtFQUNFLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIseUJBQXlCO0FGUTNCOztBRUxBO0VBQ0UsaUJBQWlCO0FGUW5COztBRUxBO0VBQ0Usa0JBQWtCO0FGUXBCOztBRUxBO0VBQ0UsY0FBYztBRlFoQjs7QUVMQTtFQUNFLGNBQWM7QUZRaEI7O0FFTEE7RUFDRSxjQUFjO0FGUWhCOztBRUxBO0VBQ0UsY0FBYztBRlFoQjs7QUVMQTtFQUNFLGNBQWM7QUZRaEI7O0FFTEE7RUFDRSxjQUFjO0FGUWhCOztBRUxBO0VBQ0UsY0FBYztBRlFoQjs7QUVMQTtFQUNFLGNBQWM7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QUNGOztBdUJ2cURBO0VBNEJJLGtCQUFrQjtBdkIrb0R0Qjs7QXVCN29ESTtFQTlCSjtJQStCTSxrQkFBa0I7SUFDbEIsaUJBQWlCO0lBQ2pCLG9CQUFvQjtFdkJpcER4QjtBQUNGOztBdUJuckRBO0VBcUNNLGVBQWU7RUFDZixpQkFBaUI7RUFDakIsd0JBQXdCO0VBQ3hCLG1CQUFtQjtBdkJrcER6Qjs7QXVCMXJEQTtFQTJDTSxlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLHdCQUF3QjtFQUN4QixtQkFBbUI7QXZCbXBEekI7O0F1QmpzREE7RUFpRE0sZUFBZTtFQUNmLGlCQUFpQjtFQUNqQiw2QkFBNkI7QXZCb3BEbkM7O0F1QnZzREE7RUF1RE0sYUFBYTtFQUNiLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsb0JBQW9CO0F2Qm9wRDFCOztBdUJucERNO0VBM0ROO0lBNERRLGdCQUFnQjtFdkJ1cER0QjtBQUNGOztBdUJwdERBO0VBK0RRLG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsWUFBWTtFQUNaLGtCQUFrQjtFQUNsQix1Q0FBdUM7RUFDdkMsa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLGlCQUFpQjtFQUNqQix3QkFBd0I7RUFDeEIsbUJBQW1CO0F2QnlwRDNCOztBdUJudURBO0VBNEVVLGtCQUFrQjtBdkIycEQ1Qjs7QXVCdnVEQTtFQWdGVSxlQUFlO0VBQ2Ysa0JBQWtCO0F2QjJwRDVCIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwiLi4vcmVzb3VyY2VzL3Jlc291cmNlc1wiO1xuXG5AaW1wb3J0IFwiLi4vcmVzb3VyY2VzL3ZlbmRvcnMvd2ViZm9udC5zY3NzXCI7XG5AaW1wb3J0IFwiYmFzZS9yZXNldFwiO1xuQGltcG9ydCBcImJhc2UvYm9keVwiO1xuQGltcG9ydCBcImJhc2UvZ3JpZFwiO1xuQGltcG9ydCBcImJhc2UvdHJhbnNpdGlvbnNcIjtcblxuQGltcG9ydCBcImxheW91dC9oZWFkZXIuc2Nzc1wiO1xuQGltcG9ydCBcImxheW91dC9mb290ZXIuc2Nzc1wiO1xuQGltcG9ydCBcImxheW91dC9lcnJvci1wYWdlLnNjc3NcIjtcblxuQGltcG9ydCBcInNlY3Rpb25zL3NlY3Rpb24taGVyby5zY3NzXCI7XG5AaW1wb3J0IFwic2VjdGlvbnMvc2VjdGlvbi10b3BfY29udGVudC5zY3NzXCI7XG5AaW1wb3J0IFwic2VjdGlvbnMvc2VjdGlvbi1jb250ZW50LnNjc3NcIjtcbkBpbXBvcnQgXCJzZWN0aW9ucy9zZWN0aW9uLWluc3RhZ3JhbS5zY3NzXCI7XG5AaW1wb3J0IFwic2VjdGlvbnMvc2VjdGlvbi1vdGhlcl9ldmVudHMuc2Nzc1wiO1xuXG5AaW1wb3J0IFwiZWxlbWVudHMvYmxvY2stc2hhcmUuc2Nzc1wiO1xuQGltcG9ydCBcImVsZW1lbnRzL2Jsb2NrLWhpZ2hsaWdodF9pbmZvcy5zY3NzXCI7XG5AaW1wb3J0IFwiZWxlbWVudHMvYmxvY2stdGFncy5zY3NzXCI7XG5AaW1wb3J0IFwiZWxlbWVudHMvcnRlLnNjc3NcIjtcbkBpbXBvcnQgXCJlbGVtZW50cy9idXR0b25zLnNjc3NcIjtcbkBpbXBvcnQgXCJlbGVtZW50cy9idXJnZXIuc2Nzc1wiO1xuXG5AaW1wb3J0IFwidGVhc2Vycy90ZWFzZXItZXZlbnRzLnNjc3NcIjtcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjsgLy8gRml4ZXMgYW4gaXNzdWUgd2hlcmUgUnVieSBsb2NhbGUgaXMgbm90IHNldCBwcm9wZXJseVxuICAgICAgICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEvcHVsbC8xMFxuXG4vLy8gQmFzZSBmb250IHNpemUgb24gdGhlIGA8Ym9keT5gIGVsZW1lbnRcbi8vL1xuLy8vIERvIG5vdCBvdmVycmlkZSB0aGlzIHZhbHVlLCBvciB0aGluZ3Mgd2lsbCBicmVha1xuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcS9pc3N1ZXMvMTIyXG4vLy8gQGRlcHJlY2F0ZWQgVGhpcyBzZXR0aW5nIHdpbGwgYmUgcmVtb3ZlZCBpbiBzYXNzLW1xIHY2LjAuMFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEB0eXBlIE51bWJlciAodW5pdClcbiRtcS1iYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8vIFJlc3BvbnNpdmUgbW9kZVxuLy8vXG4vLy8gU2V0IHRvIGBmYWxzZWAgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgQG1lZGlhIHF1ZXJpZXMsXG4vLy8gKElFIDw9IDgsIEZpcmVmb3ggPD0gMywgT3BlcmEgPD0gOSlcbi8vL1xuLy8vIFlvdSBjb3VsZCBjcmVhdGUgYSBzdHlsZXNoZWV0IHNlcnZlZCBleGNsdXNpdmVseSB0byBvbGRlciBicm93c2Vycyxcbi8vLyB3aGVyZSBAbWVkaWEgcXVlcmllcyBhcmUgcmFzdGVyaXplZFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyBvbGQtaWUuc2Nzc1xuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vZmYgRGlzYWJsZWQgcmVzcG9uc2l2ZSBtb2RlIGRvY3VtZW50YXRpb25cbiRtcS1yZXNwb25zaXZlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBsaXN0XG4vLy9cbi8vLyBOYW1lIHlvdXIgYnJlYWtwb2ludHMgaW4gYSB3YXkgdGhhdCBjcmVhdGVzIGEgdWJpcXVpdG91cyBsYW5ndWFnZVxuLy8vIGFjcm9zcyB0ZWFtIG1lbWJlcnMuIEl0IHdpbGwgaW1wcm92ZSBjb21tdW5pY2F0aW9uIGJldHdlZW5cbi8vLyBzdGFrZWhvbGRlcnMsIGRlc2lnbmVycywgZGV2ZWxvcGVycywgYW5kIHRlc3RlcnMuXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRtcS1icmVha3BvaW50czogKFxuICAgIG1vYmlsZTogIDMyMHB4LFxuICAgIHRhYmxldDogIDc0MHB4LFxuICAgIGRlc2t0b3A6IDk4MHB4LFxuICAgIHdpZGU6ICAgIDEzMDBweFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRpYyBicmVha3BvaW50IChmb3IgZml4ZWQtd2lkdGggbGF5b3V0cylcbi8vL1xuLy8vIERlZmluZSB0aGUgYnJlYWtwb2ludCBmcm9tICRtcS1icmVha3BvaW50cyB0aGF0IHNob3VsZFxuLy8vIGJlIHVzZWQgYXMgdGhlIHRhcmdldCB3aWR0aCBmb3IgdGhlIGZpeGVkLXdpZHRoIGxheW91dFxuLy8vIChpLmUuIHdoZW4gJG1xLXJlc3BvbnNpdmUgaXMgc2V0IHRvICdmYWxzZScpIGluIGEgb2xkLWllLnNjc3Ncbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gdGFibGV0LW9ubHkuc2Nzc1xuLy8vICAvL1xuLy8vICAvLyBJZ25vcmUgYWxsIHN0eWxlcyBhYm92ZSB0YWJsZXQgYnJlYWtwb2ludCxcbi8vLyAgLy8gYW5kIGZpeCB0aGUgc3R5bGVzIChzdWNoIGFzIHRoZSBsYXlvdXQpIGF0IHRhYmxldCB3aWR0aFxuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XG4vLy8gICRtcS1zdGF0aWMtYnJlYWtwb2ludDogdGFibGV0O1xuLy8vICBAaW1wb3J0ICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byB0YWJsZXRcbi8vLyAgICAgICAgICAgICAgICAgICAvLyBsYXJnZXIgYnJlYWtwb2ludHMgd2lsbCBiZSBpZ25vcmVkXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2FkZGluZy1jdXN0b20tYnJlYWtwb2ludHMgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLXN0YXRpYy1icmVha3BvaW50OiBkZXNrdG9wICFkZWZhdWx0O1xuXG4vLy8gU2hvdyBicmVha3BvaW50cyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lclxuLy8vXG4vLy8gSWYgeW91IHdhbnQgdG8gZGlzcGxheSB0aGUgY3VycmVudGx5IGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3Bcbi8vLyByaWdodCBjb3JuZXIgb2YgeW91ciBzaXRlIGR1cmluZyBkZXZlbG9wbWVudCwgYWRkIHRoZSBicmVha3BvaW50c1xuLy8vIHRvIHRoaXMgbGlzdCwgb3JkZXJlZCBieSB3aWR0aC4gRm9yIGV4YW1wbGU6IChtb2JpbGUsIHRhYmxldCwgZGVza3RvcCkuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAkbXEtc2hvdy1icmVha3BvaW50czogKG1vYmlsZSwgdGFibGV0LCBkZXNrdG9wKTtcbi8vLyAgIEBpbXBvcnQgJ3BhdGgvdG8vbXEnO1xuLy8vXG4vLy8gQHR5cGUgbWFwXG4kbXEtc2hvdy1icmVha3BvaW50czogKCkgIWRlZmF1bHQ7XG5cbi8vLyBDdXN0b21pemUgdGhlIG1lZGlhIHR5cGUgKGZvciBleGFtcGxlOiBgQG1lZGlhIHNjcmVlbmAgb3IgYEBtZWRpYSBwcmludGApXG4vLy8gQnkgZGVmYXVsdCBzYXNzLW1xIHVzZXMgYW4gXCJhbGxcIiBtZWRpYSB0eXBlIChgQG1lZGlhIGFsbCBhbmQg4oCmYClcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjY2hhbmdpbmctbWVkaWEtdHlwZSBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtbWVkaWEtdHlwZTogYWxsICFkZWZhdWx0O1xuXG4vLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHB4IC0gdmFsdWUgdG8gY29udmVydFxuLy8vIEBpZ25vcmUgQHBhcmFtIHtOdW1iZXJ9ICRiYXNlLWZvbnQtc2l6ZSBbJG1xLWJhc2UtZm9udC1zaXplXSAtIGA8Ym9keT5gIGZvbnQgc2l6ZSAoZGVwcmVjYXRlZClcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgJGZvbnQtc2l6ZS1pbi1lbXM6IG1xLXB4MmVtKDE2cHgpO1xuLy8vICBwIHsgZm9udC1zaXplOiBtcS1weDJlbSgxNnB4KTsgfVxuLy8vXG4vLy8gQHJlcXVpcmVzICRtcS1iYXNlLWZvbnQtc2l6ZVxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9XG5AZnVuY3Rpb24gbXEtcHgyZW0oJHB4LCAkYmFzZS1mb250LXNpemU6ICRtcS1iYXNlLWZvbnQtc2l6ZSkge1xuICAgIEBpZiAoJG1xLWJhc2UtZm9udC1zaXplICE9IDE2cHgpIHtcbiAgICAgICAgQHdhcm4gXCJPdmVycmlkaW5nICRtcS1iYXNlLWZvbnQtc2l6ZSB3aWxsIGJyZWFrIHRoaW5ncywgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEvaXNzdWVzLzEyMi5cIjtcbiAgICB9XG4gICAgQGlmICgkYmFzZS1mb250LXNpemUgIT0gMTZweCkge1xuICAgICAgICBAd2FybiBcIlRoZSAkYmFzZS1mb250LXNpemUgYXJndW1lbnQgd2lsbCBiZSByZW1vdmVkIGluIHNhc3MtbXEgdjYuMC4wLCBhcyBvdmVycmlkaW5nIGl0IGJyZWFrcyB0aGluZ3MsIHNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xL2lzc3Vlcy8xMjIuXCI7XG4gICAgfVxuICAgIEBpZiB1bml0bGVzcygkcHgpIHtcbiAgICAgICAgQHdhcm4gXCJBc3N1bWluZyAjeyRweH0gdG8gYmUgaW4gcGl4ZWxzLCBhdHRlbXB0aW5nIHRvIGNvbnZlcnQgaXQgaW50byBwaXhlbHMuXCI7XG4gICAgICAgIEByZXR1cm4gbXEtcHgyZW0oJHB4ICogMXB4LCAkYmFzZS1mb250LXNpemUpO1xuICAgIH0gQGVsc2UgaWYgdW5pdCgkcHgpID09IGVtIHtcbiAgICAgICAgQHJldHVybiAkcHg7XG4gICAgfVxuICAgIEByZXR1cm4gKCRweCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07XG59XG5cbi8vLyBHZXQgYSBicmVha3BvaW50J3Mgd2lkdGhcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnQuIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgJHRhYmxldC13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgodGFibGV0KTtcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKGRlc2t0b3ApKSB7fVxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBWYWx1ZSBpbiBwaXhlbHNcbkBmdW5jdGlvbiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMpIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbmFtZSkge1xuICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEB3YXJuIFwiQnJlYWtwb2ludCAjeyRuYW1lfSB3YXNuJ3QgZm91bmQgaW4gJGJyZWFrcG9pbnRzLlwiO1xuICAgIH1cbn1cblxuLy8vIE1lZGlhIFF1ZXJ5IG1peGluXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRmcm9tIFtmYWxzZV0gLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkdW50aWwgW2ZhbHNlXSAtIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRhbmQgW2ZhbHNlXSAtIEFkZGl0aW9uYWwgbWVkaWEgcXVlcnkgcGFyYW1ldGVyc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVkaWEtdHlwZSBbJG1xLW1lZGlhLXR5cGVdIC0gTWVkaWEgdHlwZTogc2NyZWVuLCBwcmludOKAplxuLy8vXG4vLy8gQGlnbm9yZSBVbmRvY3VtZW50ZWQgQVBJLCBmb3IgYWR2YW5jZWQgdXNlIG9ubHk6XG4vLy8gQGlnbm9yZSBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzIFskbXEtYnJlYWtwb2ludHNdXG4vLy8gQGlnbm9yZSBAcGFyYW0ge1N0cmluZ30gJHN0YXRpYy1icmVha3BvaW50IFskbXEtc3RhdGljLWJyZWFrcG9pbnRdXG4vLy9cbi8vLyBAY29udGVudCBzdHlsaW5nIHJ1bGVzLCB3cmFwcGVkIGludG8gYSBAbWVkaWEgcXVlcnkgd2hlbiAkcmVzcG9uc2l2ZSBpcyB0cnVlXG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtbWVkaWEtdHlwZVxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLXB4MmVtXG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGhcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjcmVzcG9uc2l2ZS1tb2RlLW9uLWRlZmF1bHQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAuZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IG1vYmlsZSkge1xuLy8vICAgICAgY29sb3I6IHJlZDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBibHVlO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcShtb2JpbGUsIHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGdyZWVuO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0LCAkYW5kOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJykge1xuLy8vICAgICAgY29sb3I6IHRlYWw7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKDk1MHB4KSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEodGFibGV0LCAkbWVkaWEtdHlwZTogc2NyZWVuKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgLy8gQWR2YW5jZWQgdXNlOlxuLy8vICAgICRteS1icmVha3BvaW50czogKEw6IDkwMHB4LCBYTDogMTIwMHB4KTtcbi8vLyAgICBAaW5jbHVkZSBtcShMLCAkYnJlYWtwb2ludHM6ICRteS1icmVha3BvaW50cywgJHN0YXRpYy1icmVha3BvaW50OiBMKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gIH1cbkBtaXhpbiBtcShcbiAgICAkZnJvbTogZmFsc2UsXG4gICAgJHVudGlsOiBmYWxzZSxcbiAgICAkYW5kOiBmYWxzZSxcbiAgICAkbWVkaWEtdHlwZTogJG1xLW1lZGlhLXR5cGUsXG4gICAgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMsXG4gICAgJHJlc3BvbnNpdmU6ICRtcS1yZXNwb25zaXZlLFxuICAgICRzdGF0aWMtYnJlYWtwb2ludDogJG1xLXN0YXRpYy1icmVha3BvaW50XG4pIHtcbiAgICAkbWluLXdpZHRoOiAwO1xuICAgICRtYXgtd2lkdGg6IDA7XG4gICAgJG1lZGlhLXF1ZXJ5OiAnJztcblxuICAgIC8vIEZyb206IHRoaXMgYnJlYWtwb2ludCAoaW5jbHVzaXZlKVxuICAgIEBpZiAkZnJvbSB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCRmcm9tKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1pbi13aWR0aDogbXEtcHgyZW0oJGZyb20pO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRtaW4td2lkdGg6IG1xLXB4MmVtKG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRmcm9tLCAkYnJlYWtwb2ludHMpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVudGlsOiB0aGF0IGJyZWFrcG9pbnQgKGV4Y2x1c2l2ZSlcbiAgICBAaWYgJHVudGlsIHtcbiAgICAgICAgQGlmIHR5cGUtb2YoJHVudGlsKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1heC13aWR0aDogbXEtcHgyZW0oJHVudGlsKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkbWF4LXdpZHRoOiBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkdW50aWwsICRicmVha3BvaW50cykpIC0gLjAxZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZGlzYWJsZWQsIHJhc3Rlcml6ZSB0aGUgb3V0cHV0IG91dHNpZGUgQG1lZGlhIGJsb2Nrc1xuICAgIC8vIFRoZSBicm93c2VyIHdpbGwgcmVseSBvbiB0aGUgY2FzY2FkZSBpdHNlbGYuXG4gICAgQGlmICRyZXNwb25zaXZlID09IGZhbHNlIHtcbiAgICAgICAgJHN0YXRpYy1icmVha3BvaW50LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkc3RhdGljLWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICR0YXJnZXQtd2lkdGg6IG1xLXB4MmVtKCRzdGF0aWMtYnJlYWtwb2ludC13aWR0aCk7XG5cbiAgICAgICAgLy8gT3V0cHV0IG9ubHkgcnVsZXMgdGhhdCBzdGFydCBhdCBvciBzcGFuIG91ciB0YXJnZXQgd2lkdGhcbiAgICAgICAgQGlmIChcbiAgICAgICAgICAgICRhbmQgPT0gZmFsc2VcbiAgICAgICAgICAgIGFuZCAkbWluLXdpZHRoIDw9ICR0YXJnZXQtd2lkdGhcbiAgICAgICAgICAgIGFuZCAoXG4gICAgICAgICAgICAgICAgJHVudGlsID09IGZhbHNlIG9yICRtYXgtd2lkdGggPj0gJHRhcmdldC13aWR0aFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgYW5kICRtZWRpYS10eXBlICE9ICdwcmludCdcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgc3VwcG9ydCBpcyBlbmFibGVkLCBvdXRwdXQgcnVsZXMgaW5zaWRlIEBtZWRpYSBxdWVyaWVzXG4gICAgQGVsc2Uge1xuICAgICAgICBAaWYgJG1pbi13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWluLXdpZHRoOiAjeyRtaW4td2lkdGh9KSc7IH1cbiAgICAgICAgQGlmICRtYXgtd2lkdGggIT0gMCB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgKG1heC13aWR0aDogI3skbWF4LXdpZHRofSknOyB9XG4gICAgICAgIEBpZiAkYW5kICAgICAgICAgICAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kICN7JGFuZH0nOyB9XG5cbiAgICAgICAgLy8gUmVtb3ZlIHVubmVjZXNzYXJ5IG1lZGlhIHF1ZXJ5IHByZWZpeCAnYWxsIGFuZCAnXG4gICAgICAgIEBpZiAoJG1lZGlhLXR5cGUgPT0gJ2FsbCcgYW5kICRtZWRpYS1xdWVyeSAhPSAnJykge1xuICAgICAgICAgICAgJG1lZGlhLXR5cGU6ICcnO1xuICAgICAgICAgICAgJG1lZGlhLXF1ZXJ5OiBzdHItc2xpY2UodW5xdW90ZSgkbWVkaWEtcXVlcnkpLCA2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAjeyRtZWRpYS10eXBlICsgJG1lZGlhLXF1ZXJ5fSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8vIFF1aWNrIHNvcnRcbi8vL1xuLy8vIEBhdXRob3IgU2FtIFJpY2hhcmRzXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc29ydFxuLy8vIEByZXR1cm5zIHtMaXN0fSBTb3J0ZWQgTGlzdFxuQGZ1bmN0aW9uIF9tcS1xdWljay1zb3J0KCRsaXN0KSB7XG4gICAgJGxlc3M6ICAoKTtcbiAgICAkZXF1YWw6ICgpO1xuICAgICRsYXJnZTogKCk7XG5cbiAgICBAaWYgbGVuZ3RoKCRsaXN0KSA+IDEge1xuICAgICAgICAkc2VlZDogbnRoKCRsaXN0LCBjZWlsKGxlbmd0aCgkbGlzdCkgLyAyKSk7XG5cbiAgICAgICAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgICAgICAgICAgQGlmICgkaXRlbSA9PSAkc2VlZCkge1xuICAgICAgICAgICAgICAgICRlcXVhbDogYXBwZW5kKCRlcXVhbCwgJGl0ZW0pO1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGl0ZW0gPCAkc2VlZCkge1xuICAgICAgICAgICAgICAgICRsZXNzOiBhcHBlbmQoJGxlc3MsICRpdGVtKTtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRpdGVtID4gJHNlZWQpIHtcbiAgICAgICAgICAgICAgICAkbGFyZ2U6IGFwcGVuZCgkbGFyZ2UsICRpdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEByZXR1cm4gam9pbihqb2luKF9tcS1xdWljay1zb3J0KCRsZXNzKSwgJGVxdWFsKSwgX21xLXF1aWNrLXNvcnQoJGxhcmdlKSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFNvcnQgYSBtYXAgYnkgdmFsdWVzICh3b3JrcyB3aXRoIG51bWJlcnMgb25seSlcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNvcnRcbi8vLyBAcmV0dXJucyB7TWFwfSBNYXAgc29ydGVkIGJ5IHZhbHVlXG5AZnVuY3Rpb24gX21xLW1hcC1zb3J0LWJ5LXZhbHVlKCRtYXApIHtcbiAgICAkbWFwLXNvcnRlZDogKCk7XG4gICAgJG1hcC1rZXlzOiBtYXAta2V5cygkbWFwKTtcbiAgICAkbWFwLXZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcbiAgICAkbWFwLXZhbHVlcy1zb3J0ZWQ6IF9tcS1xdWljay1zb3J0KCRtYXAtdmFsdWVzKTtcblxuICAgIC8vIFJlb3JkZXIga2V5L3ZhbHVlIHBhaXJzIGJhc2VkIG9uIGtleSB2YWx1ZXNcbiAgICBAZWFjaCAkdmFsdWUgaW4gJG1hcC12YWx1ZXMtc29ydGVkIHtcbiAgICAgICAgJGluZGV4OiBpbmRleCgkbWFwLXZhbHVlcywgJHZhbHVlKTtcbiAgICAgICAgJGtleTogbnRoKCRtYXAta2V5cywgJGluZGV4KTtcbiAgICAgICAgJG1hcC1zb3J0ZWQ6IG1hcC1tZXJnZSgkbWFwLXNvcnRlZCwgKCRrZXk6ICR2YWx1ZSkpO1xuXG4gICAgICAgIC8vIFVuc2V0IHRoZSB2YWx1ZSBpbiAkbWFwLXZhbHVlcyB0byBwcmV2ZW50IHRoZSBsb29wXG4gICAgICAgIC8vIGZyb20gZmluZGluZyB0aGUgc2FtZSBpbmRleCB0d2ljZVxuICAgICAgICAkbWFwLXZhbHVlczogc2V0LW50aCgkbWFwLXZhbHVlcywgJGluZGV4LCAwKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRtYXAtc29ydGVkO1xufVxuXG4vLy8gQWRkIGEgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIEBpbmNsdWRlIG1xLWFkZC1icmVha3BvaW50KHR2c2NyZWVuLCAxOTIwcHgpO1xuLy8vICBAaW5jbHVkZSBtcSh0dnNjcmVlbikge31cbkBtaXhpbiBtcS1hZGQtYnJlYWtwb2ludCgkbmFtZSwgJHdpZHRoKSB7XG4gICAgJG5ldy1icmVha3BvaW50OiAoJG5hbWU6ICR3aWR0aCk7XG4gICAgJG1xLWJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJG1xLWJyZWFrcG9pbnRzLCAkbmV3LWJyZWFrcG9pbnQpICFnbG9iYWw7XG4gICAgJG1xLWJyZWFrcG9pbnRzOiBfbXEtbWFwLXNvcnQtYnktdmFsdWUoJG1xLWJyZWFrcG9pbnRzKSAhZ2xvYmFsO1xufVxuXG4vLy8gU2hvdyB0aGUgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcCByaWdodCBjb3JuZXIgb2YgdGhlIHZpZXdwb3J0XG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNzZWVpbmctdGhlLWN1cnJlbnRseS1hY3RpdmUtYnJlYWtwb2ludFxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hvdy1icmVha3BvaW50cyBbJG1xLXNob3ctYnJlYWtwb2ludHNdIC0gTGlzdCBvZiBicmVha3BvaW50cyB0byBzaG93IGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXG4vLy8gQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyBbJG1xLWJyZWFrcG9pbnRzXSAtIEJyZWFrcG9pbnQgbmFtZXMgYW5kIHNpemVzXG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtc2hvdy1icmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyBTaG93IGJyZWFrcG9pbnRzIHVzaW5nIGdsb2JhbCBzZXR0aW5nc1xuLy8vICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzO1xuLy8vXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgY3VzdG9tIHNldHRpbmdzXG4vLy8gIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHMoKEwsIFhMKSwgKFM6IDMwMHB4LCBMOiA4MDBweCwgWEw6IDEyMDBweCkpO1xuQG1peGluIG1xLXNob3ctYnJlYWtwb2ludHMoJHNob3ctYnJlYWtwb2ludHM6ICRtcS1zaG93LWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cykge1xuICAgIGJvZHk6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZDRjhFMztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGQkVFRDU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0ZCRUVENTtcbiAgICAgICAgY29sb3I6ICNDMDk4NTM7XG4gICAgICAgIGZvbnQ6IHNtYWxsLWNhcHRpb247XG4gICAgICAgIHBhZGRpbmc6IDNweCA2cHg7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IDEwMDtcblxuICAgICAgICAvLyBMb29wIHRocm91Z2ggdGhlIGJyZWFrcG9pbnRzIHRoYXQgc2hvdWxkIGJlIHNob3duXG4gICAgICAgIEBlYWNoICRzaG93LWJyZWFrcG9pbnQgaW4gJHNob3ctYnJlYWtwb2ludHMge1xuICAgICAgICAgICAgJHdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkc2hvdy1icmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJHNob3ctYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMpIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIiN7JHNob3ctYnJlYWtwb2ludH0g4omlICN7JHdpZHRofSAoI3ttcS1weDJlbSgkd2lkdGgpfSlcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGlmIGxlbmd0aCgkbXEtc2hvdy1icmVha3BvaW50cykgPiAwIHtcbiAgICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzO1xufVxuIiwiXG4gICR3ZWJmb250LWFib3V0OiBcIlxcZWEwMVwiO1xuXG4gICR3ZWJmb250LWFycm93OiBcIlxcZWEwMlwiO1xuXG4gICR3ZWJmb250LWNvdXJzZTogXCJcXGVhMDNcIjtcblxuICAkd2ViZm9udC1kcml2ZTogXCJcXGVhMDRcIjtcblxuICAkd2ViZm9udC1mYWNlYm9vazogXCJcXGVhMDVcIjtcblxuICAkd2ViZm9udC1mZXN0aXZhbDogXCJcXGVhMDZcIjtcblxuICAkd2ViZm9udC1ob3VyczogXCJcXGVhMDdcIjtcblxuICAkd2ViZm9udC1pbnN0YWdyYW06IFwiXFxlYTA4XCI7XG5cbiAgJHdlYmZvbnQtbGlua2VkaW46IFwiXFxlYTA5XCI7XG5cbiAgJHdlYmZvbnQtbG9jazogXCJcXGVhMGFcIjtcblxuICAkd2ViZm9udC1tZXNzYWdlOiBcIlxcZWEwYlwiO1xuXG4gICR3ZWJmb250LXBpbjogXCJcXGVhMGNcIjtcblxuICAkd2ViZm9udC1zaGFyZTogXCJcXGVhMGRcIjtcblxuICAkd2ViZm9udC10aWt0b2s6IFwiXFxlYTBlXCI7XG5cbiAgJHdlYmZvbnQtdHdpdHRlcjogXCJcXGVhMGZcIjtcblxuICAkd2ViZm9udC13ZWJzaXRlOiBcIlxcZWExMFwiO1xuXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJ3ZWJmb250XCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBhdXRvO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2ZvbnRpY29uL3dlYmZvbnQuZW90XCIpO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2ZvbnRpY29uL3dlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vLi4vLi4vZm9udGljb24vd2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vLi4vLi4vZm9udGljb24vd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uLy4uLy4uL2ZvbnRpY29uL3dlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi8uLi8uLi9mb250aWNvbi93ZWJmb250LnN2ZyN3ZWJmb250XCIpIGZvcm1hdChcInN2Z1wiKTtcbn1cblxuJXdlYmZvbnQge1xuZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogXCJ3ZWJmb250XCI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG5cbi53ZWJmb250IHtcbiAgQGV4dGVuZCAld2ViZm9udDtcbn1cblxuLndlYmZvbnQtbGcge1xuICBmb250LXNpemU6IDEuMzMzMzNlbTtcbiAgbGluZS1oZWlnaHQ6IDAuNzVlbTtcbiAgdmVydGljYWwtYWxpZ246IC0wLjA2NjdlbTtcbn1cblxuLndlYmZvbnQteHMge1xuICBmb250LXNpemU6IDAuNzVlbTtcbn1cblxuLndlYmZvbnQtc20ge1xuICBmb250LXNpemU6IDAuODc1ZW07XG59XG5cbi53ZWJmb250LTF4IHtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi53ZWJmb250LTJ4IHtcbiAgZm9udC1zaXplOiAyZW07XG59XG5cbi53ZWJmb250LTN4IHtcbiAgZm9udC1zaXplOiAzZW07XG59XG5cbi53ZWJmb250LTR4IHtcbiAgZm9udC1zaXplOiA0ZW07XG59XG5cbi53ZWJmb250LTV4IHtcbiAgZm9udC1zaXplOiA1ZW07XG59XG5cbi53ZWJmb250LTZ4IHtcbiAgZm9udC1zaXplOiA2ZW07XG59XG5cbi53ZWJmb250LTd4IHtcbiAgZm9udC1zaXplOiA3ZW07XG59XG5cbi53ZWJmb250LTh4IHtcbiAgZm9udC1zaXplOiA4ZW07XG59XG5cbi53ZWJmb250LTl4IHtcbiAgZm9udC1zaXplOiA5ZW07XG59XG5cbi53ZWJmb250LTEweCB7XG4gIGZvbnQtc2l6ZTogMTBlbTtcbn1cblxuLndlYmZvbnQtZncge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxLjI1ZW07XG59XG5cbi53ZWJmb250LWJvcmRlciB7XG4gIGJvcmRlcjogc29saWQgMC4wOGVtICNlZWU7XG4gIGJvcmRlci1yYWRpdXM6IDAuMWVtO1xuICBwYWRkaW5nOiAwLjJlbSAwLjI1ZW0gMC4xNWVtO1xufVxuXG4ud2ViZm9udC1wdWxsLWxlZnQge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLndlYmZvbnQtcHVsbC1yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLndlYmZvbnQud2ViZm9udC1wdWxsLWxlZnQge1xuICBtYXJnaW4tcmlnaHQ6IDAuM2VtO1xufVxuXG4ud2ViZm9udC53ZWJmb250LXB1bGwtcmlnaHQge1xuICBtYXJnaW4tbGVmdDogMC4zZW07XG59XG5cblxuLndlYmZvbnQtYWJvdXQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGVhMDFcIjtcbn1cblxuLndlYmZvbnQtYXJyb3c6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGVhMDJcIjtcbn1cblxuLndlYmZvbnQtY291cnNlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlYTAzXCI7XG59XG5cbi53ZWJmb250LWRyaXZlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlYTA0XCI7XG59XG5cbi53ZWJmb250LWZhY2Vib29rOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlYTA1XCI7XG59XG5cbi53ZWJmb250LWZlc3RpdmFsOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlYTA2XCI7XG59XG5cbi53ZWJmb250LWhvdXJzOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlYTA3XCI7XG59XG5cbi53ZWJmb250LWluc3RhZ3JhbTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZWEwOFwiO1xufVxuXG4ud2ViZm9udC1saW5rZWRpbjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZWEwOVwiO1xufVxuXG4ud2ViZm9udC1sb2NrOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlYTBhXCI7XG59XG5cbi53ZWJmb250LW1lc3NhZ2U6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGVhMGJcIjtcbn1cblxuLndlYmZvbnQtcGluOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlYTBjXCI7XG59XG5cbi53ZWJmb250LXNoYXJlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlYTBkXCI7XG59XG5cbi53ZWJmb250LXRpa3Rvazo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZWEwZVwiO1xufVxuXG4ud2ViZm9udC10d2l0dGVyOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlYTBmXCI7XG59XG5cbi53ZWJmb250LXdlYnNpdGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGVhMTBcIjtcbn1cblxuIiwiaHRtbCxcbmJvZHksXG5kaXYsXG5zcGFuLFxuYXBwbGV0LFxub2JqZWN0LFxuaWZyYW1lLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucCxcbmJsb2NrcXVvdGUsXG5wcmUsXG5hLFxuYWJicixcbmFjcm9ueW0sXG5hZGRyZXNzLFxuYmlnLFxuY2l0ZSxcbmNvZGUsXG5kZWwsXG5kZm4sXG5lbSxcbmltZyxcbmlucyxcbmtiZCxcbnEsXG5zLFxuc2FtcCxcbnNtYWxsLFxuc3RyaWtlLFxuc3Ryb25nLFxuc3ViLFxuc3VwLFxudHQsXG52YXIsXG5iLFxudSxcbmksXG5jZW50ZXIsXG5kbCxcbmR0LFxuZGQsXG5vbCxcbnVsLFxubGksXG5maWVsZHNldCxcbmZvcm0sXG5sYWJlbCxcbmxlZ2VuZCxcbnRhYmxlLFxuY2FwdGlvbixcbnRib2R5LFxudGZvb3QsXG50aGVhZCxcbnRyLFxudGgsXG50ZCxcbmFydGljbGUsXG5hc2lkZSxcbmNhbnZhcyxcbmRldGFpbHMsXG5lbWJlZCxcbmZpZ3VyZSxcbmZpZ2NhcHRpb24sXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tZW51LFxubmF2LFxub3V0cHV0LFxucnVieSxcbnNlY3Rpb24sXG5zdW1tYXJ5LFxudGltZSxcbm1hcmssXG5hdWRpbyxcbnZpZGVvIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgZm9udDogaW5oZXJpdDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKiBtYWtlIHN1cmUgdG8gc2V0IHNvbWUgZm9jdXMgc3R5bGVzIGZvciBhY2Nlc3NpYmlsaXR5ICovXG46Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5LXJvbGUgcmVzZXQgZm9yIG9sZGVyIGJyb3dzZXJzICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1lbnUsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmJvZHkge1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxub2wsXG51bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbmJsb2NrcXVvdGUsXG5xIHtcbiAgcXVvdGVzOiBub25lO1xufVxuXG5ibG9ja3F1b3RlOmJlZm9yZSxcbmJsb2NrcXVvdGU6YWZ0ZXIsXG5xOmJlZm9yZSxcbnE6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBjb250ZW50OiBub25lO1xufVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi8qKlxuICogQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDYvNy84LzkgYW5kIEZpcmVmb3ggMy5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAqZGlzcGxheTogaW5saW5lO1xuICAqem9vbTogMTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgNy84LzksIEZpcmVmb3ggMywgYW5kIFNhZmFyaSA0LlxuICogS25vd24gaXNzdWU6IG5vIElFIDYgc3VwcG9ydC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0ZXh0IHJlc2l6aW5nIG9kZGx5IGluIElFIDYvNyB3aGVuIGJvZHkgYGZvbnQtc2l6ZWAgaXMgc2V0IHVzaW5nXG4gKiAgICBgZW1gIHVuaXRzLlxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdXRsaW5lYCBpbmNvbnNpc3RlbmN5IGJldHdlZW4gQ2hyb21lIGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5hOmZvY3VzIHtcbiAgb3V0bGluZTogdGhpbiBkb3R0ZWQ7XG59XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDYvNy84LzkgYW5kIEZpcmVmb3ggMy5cbiAqIDIuIEltcHJvdmUgaW1hZ2UgcXVhbGl0eSB3aGVuIHNjYWxlZCBpbiBJRSA3LlxuICovXG5cbmltZyB7XG4gIGJvcmRlcjogMDsgLyogMSAqL1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgNi83LzgvOSwgU2FmYXJpIDUsIGFuZCBPcGVyYSAxMS5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCBtYXJnaW4gZGlzcGxheWVkIG9kZGx5IGluIElFIDYvNy5cbiAqL1xuXG5mb3JtIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgNi83LzgvOS5cbiAqIDIuIENvcnJlY3QgdGV4dCBub3Qgd3JhcHBpbmcgaW4gRmlyZWZveCAzLlxuICogMy4gQ29ycmVjdCBhbGlnbm1lbnQgZGlzcGxheWVkIG9kZGx5IGluIElFIDYvNy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMiAqL1xuICAqbWFyZ2luLWxlZnQ6IC03cHg7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGZvbnQgc2l6ZSBub3QgYmVpbmcgaW5oZXJpdGVkIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LCBGaXJlZm94IDMrLCBTYWZhcmkgNSxcbiAqICAgIGFuZCBDaHJvbWUuXG4gKiAzLiBJbXByb3ZlIGFwcGVhcmFuY2UgYW5kIGNvbnNpc3RlbmN5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDMgKi9cbiAgKnZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggMysgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gQ2hyb21lLCBTYWZhcmkgNSssIGFuZCBJRSA2Ky5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCA0KyBhbmQgT3BlcmEuXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqIDQuIFJlbW92ZSBpbm5lciBzcGFjaW5nIGluIElFIDcgd2l0aG91dCBhZmZlY3Rpbmcgbm9ybWFsIHRleHQgaW5wdXRzLlxuICogICAgS25vd24gaXNzdWU6IGlubmVyIHNwYWNpbmcgcmVtYWlucyBpbiBJRSA2LlxuICovXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xuICAqb3ZlcmZsb3c6IHZpc2libGU7IC8qIDQgKi9cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGNvbnRlbnQtYm94IGluIElFIDgvOS5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkuXG4gKiAzLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgNy5cbiAqICAgIEtub3duIGlzc3VlOiBleGNlc3MgcGFkZGluZyByZW1haW5zIGluIElFIDYuXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG4gICpoZWlnaHQ6IDEzcHg7IC8qIDMgKi9cbiAgKndpZHRoOiAxM3B4OyAvKiAzICovXG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSA1IGFuZCBDaHJvbWVcbiAqIG9uIE9TIFguXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDMrLlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA2LzcvOC85LlxuICogMi4gSW1wcm92ZSByZWFkYWJpbGl0eSBhbmQgYWxpZ25tZW50IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxuOjotbW96LXNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG5pbWcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi5jaHJvbWVmcmFtZSB7XG4gIG1hcmdpbjogMC4yZW0gMDtcbiAgYmFja2dyb3VuZDogI2NjYztcbiAgY29sb3I6ICMwMDA7XG4gIHBhZGRpbmc6IDAuMmVtIDA7XG59XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuYnV0dG9uLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4iLCJib2R5IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbWFpbi1iZyk7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1tYWluO1xuXG4gICoge1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIGEge1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgbGluZWFyO1xuICB9XG59XG5cbm1haW4gPiBzZWN0aW9uIHtcbiAgc2Nyb2xsLW1hcmdpbi10b3A6IDgwcHg7XG59XG4iLCIkZm9udC1tYWluOiBcIlJvYm90b1wiLCBzYW5zLXNlcmlmO1xuJGZvbnQtc2Vjb25kOiBcIlJvYm90b1wiLCBzYW5zLXNlcmlmO1xuIiwiJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwcHgsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pO1xuXG4uY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDBweCBhdXRvO1xuXG5cbiAgbWF4LXdpZHRoOiAxMjA0cHg7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MjBweCl7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCl7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIH1cblxuXG59XG4iLCIucGFnZSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzO1xufVxuXG4ucGFnZS1lbnRlci1hY3RpdmUsXG4ucGFnZS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG59XG4ucGFnZS1lbnRlcixcbi5wYWdlLWxlYXZlLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5mYWRlLWxlZnQtZW50ZXIsXG4uZmFkZS1yaWdodC1sZWF2ZS1hY3RpdmUge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgzMHB4LCAwKTtcbn1cbi5mYWRlLWxlZnQtbGVhdmUtYWN0aXZlLFxuLmZhZGUtcmlnaHQtZW50ZXIge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMzBweCwgMCk7XG59XG4iLCIjaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1tYWluKTtcbiAgICBwb3NpdGlvbiAgICAgICAgOiBmaXhlZDtcbiAgICB3aWR0aCAgICAgICAgICAgOiAxMDAlO1xuICAgIHRvcCAgICAgICAgICAgICA6IDA7XG4gICAgbGVmdCAgICAgICAgICAgIDogMDtcbiAgICB6LWluZGV4ICAgICAgICAgOiA5OTk5O1xuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIGhlaWdodCAgICAgICAgIDogODBweDtcbiAgICAgICAgZGlzcGxheSAgICAgICAgOiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zICAgIDogY2VudGVyO1xuXG4gICAgICAgIC5sZWZ0IHtcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZSAgOiAxNnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGNvbG9yICAgICAgOiB2YXIoLS1jb2xvci1zZWNvbmQtYmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJpZ2h0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgLmJ1cmdlci10cmlnZ2VyIHtcblxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3AgICAgIDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0ICAgIDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aCAgIDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQgIDogMTAwJTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5IDogMDtcbiAgICAgICAgICAgICAgICB6LWluZGV4IDogNTU1O1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg1MHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnB1dDpjaGVja2Vkfi5tb2JpbGVfbmF2X2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDgwcHgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubW9iaWxlX25hdl9jb250YWluZXIge1xuICAgICAgICAgICAgICAgIC5pbnNpZGUge1xuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NTFweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSAgICA6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODUwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb24gICAgICAgOiBmaXhlZDtcbiAgICAgICAgICAgICAgICAgICAgdG9wICAgICAgICAgICAgOiA4MHB4O1xuICAgICAgICAgICAgICAgICAgICBsZWZ0ICAgICAgICAgICA6IDA7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodCAgICAgICAgIDogY2FsYygxMDB2aCAtIDgwcHgpO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aCAgICAgICAgICA6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgICAgICAgIDogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXMgICAgOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kICAgICA6IHZhcigtLWNvbG9yLW1haW4pO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4ICAgICAgICA6IDk5OTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbiAgICAgOiAwLjVzIGFsbDtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3cgICAgICAgOiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQgICAgIDogMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm5hdi0tbWFpbiB7XG4gICAgICAgICAgICAgICAgPnVsIHtcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUxcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgICAgIDogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zIDogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgPmxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODUxcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2OHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg1MHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemUgIDogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvciAgICAgIDogdmFyKC0tY29sb3Itc2Vjb25kLWJnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5ICAgIDogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4NTBweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemUgOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNlbGVjdC1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXkgICAgOiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4NTBweCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zZWxlY3Qge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kICV3ZWJmb250O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudCAgICAgICA6ICR3ZWJmb250LWFycm93O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplICAgICA6IDdweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yICAgICAgICAgOiB2YXIoLS1jb2xvci1zZWNvbmQtYmcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb24gICAgICA6IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQgICAgICAgICA6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3AgICAgICAgICAgIDogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcCAgICA6IC00cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAtbW96LWFwcGVhcmFuY2UgICA6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAtbXMtYXBwZWFyYW5jZSAgICA6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlICAgICAgICA6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXIgICAgICAgICAgICA6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kICAgICAgICA6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCAgICAgICA6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseSAgOiAkZm9udC1tYWluO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplICAgIDogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0ICA6IGJvbGQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvciAgICAgICAgOiB2YXIoLS1jb2xvci1zZWNvbmQtYmcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zZXAge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdCAgICAgOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQgICAgOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aCAgICAgICAgICAgOiAycHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodCAgICAgICAgICA6IDEzcHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXMgICA6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kLWJnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbm1haW4ge1xuICAgIHBhZGRpbmctdG9wOiA4MHB4O1xufSIsIiNmb290ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1tYWluLWJnKTtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gIH1cblxuICAucmVhc3N1cmFuY2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1yaWdodDogNjdweDtcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTUwcHgpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cbiAgICAgIGkge1xuICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMThweDtcbiAgICAgIH1cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmxpc3QtLWxvZ29zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICA+IGltZyB7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxN3B4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRleHQge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGEge1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLW1haW4pO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG5cbiAgLmNvcHlyaWdodCB7XG4gICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIiNwYWdlX2Vycm9yIHtcbiAgcGFkZGluZzogMzBweCAxNXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogMTAwdmg7XG5cbiAgZmlndXJlIHtcbiAgICBmb250LXNpemU6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNjNweDtcblxuICAgIHN2ZyB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLnRleHQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogJGNvbG9yLW1haW4tdGV4dDtcblxuICAgICYuYmlnIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDJweDtcbiAgICB9XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDNweDtcbiAgICB9XG4gIH1cbn1cbiIsIiRicm93bmlzaC1ncmV5OiAjNzU3NTc1O1xuJHBhbGUtZ3JleTogI2Y2ZjdmYTtcbiRwYWxlLWxpbGFjOiAjZGVlNGY3O1xuXG4kYnJvd24tZ3JleTogI2IwYjBiMDtcbiRsaWdodC1wZXJpd2lua2xlOiAjZGRlMGViO1xuJGJyb3duLWdyZXktdHdvOiAjYTZhNmE2O1xuJHllbGxvdy1vcmFuZ2U6ICNmZmIxMDM7XG4kYnViYmxlZ3VtLXBpbms6ICNmZjgwZGY7XG4kdmVyeS1saWdodC1waW5rOiAjZGRkZGRkO1xuJHJlZC1waW5rOiAjZTYyZTUxO1xuJHRlYWxpc2g6ICMyMGRkYWU7XG5cbiRjb2xvci1tYWluOiAjMDYyN2Q5O1xuJGNvbG9yLW1haW4tdGV4dDogIzAwMDAwMDtcbiRjb2xvci1tYWluLWJnOiAjZjZmN2ZhO1xuJGNvbG9yLXNlY29uZC1iZzogI2ZmZjtcblxuJGNvbG9yLWZhY2Vib29rOiAjM2I1OTk4O1xuJGNvbG9yLXR3aXR0ZXI6ICM1NWFjZWU7XG4kY29sb3ItbGlua2VkaW46ICMwMDdiYjU7XG4kY29sb3ItZ29vZ2xlOiAjZGQ0YjM5O1xuJGNvbG9yLXlvdXR1YmU6ICNmZjAwMDA7XG4kY29sb3ItcGludGVyZXN0OiAjY2IyMDI3O1xuJGNvbG9yLWluc3RhZ3JhbTogIzhhM2FiOTtcbiRjb2xvci13aGF0c2FwcDogIzRkYzI0NztcbiIsIi5zZWN0aW9uLS1oZXJvIHtcbiAgcGFkZGluZy10b3A6IDE2NXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZC1iZyk7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODUwcHgpIHtcbiAgICBwYWRkaW5nLXRvcDogMTMzcHg7XG4gIH1cbiAgLmltZy0tYmFubmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA1MDBweDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg1MHB4KSB7XG4gICAgICBoZWlnaHQ6IDE5MHB4O1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLW1haW4pO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCwgMTAwJSAzNjBweCwgMCAyMzBweCk7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWF4LXdpZHRoOiAxNzAwcHg7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICBtYXJnaW46IDBweCBhdXRvO1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNzAwcHgpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODUwcHgpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICBmaWd1cmUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgXG4gICAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDM3MHB4O1xuICAgICAgICBoZWlnaHQ6IDM3MHB4O1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcblxuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg1MHB4KSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxNzdweDtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYmxvY2stLXNoYXJlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg1MHB4KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbi1zaGFyZS1tb2JpbGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg1MHB4KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuc2VjdGlvbi0tdG9wX2NvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAzNnB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZC1iZyk7XG5cbiAgICAuYmxvY2stLWhpZ2hsaWdodF9pbmZvcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIzcHg7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODUwcHgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ibG9jay0tdGFncyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIycHg7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODUwcHgpIHtcbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5zZWN0aW9uLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmQtYmcpO1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAzNjdweDtcbiAgICBncmlkLWdhcDogNTZweDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgaDIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIGkge1xuICAgICAgZm9udC1zaXplOiAyM3B4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxN3B4O1xuICAgIH1cbiAgfVxuXG4gIC5jb250ZW50IHtcbiAgICBoMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB9XG4gIH1cblxuICBhc2lkZSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICBncmlkLWdhcDogMjBweDtcblxuICAgICAgLmJsb2NrOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgICAgIH1cbiAgICB9XG4gICAgLmJsb2NrIHtcbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICB9XG4gICAgICBoMiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICB9XG5cbiAgICAgIGlmcmFtZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDIzMHB4O1xuICAgICAgfVxuICAgICAgYWRkcmVzcyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLXRleHQpO1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbWFpbi10ZXh0KTtcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuc2hhcmUge1xuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDIzN3B4O1xuICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgIH1cbiAgICAgICAgI2NvbnRhY3Qge1xuICAgICAgICAgIG1heC13aWR0aDogMjM3cHg7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIHVsIHtcbiAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyBcbiAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1tYWluO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiNzZWN0aW9uLWNvbnRlbnQtaWZyYW1lIHtcblxuICBpZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNzAwcHg7XG4gIH1cbn1cblxuXG4iLCIuc2VjdGlvbi0taW5zdGFncmFtIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1tYWluLWJnKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDQ1cHg7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDE5MHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItbWFpbik7XG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDEwMCUsIDEwMCUgMCwgMTAwJSAxMDAlLCAwIDEwMCUpO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLXRleHQpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMnB4O1xuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyM3B4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxN3B4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdyaWQtaW5zdGFncmFtIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4NTBweCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuc2VjdGlvbi0tb3RoZXJfZXZlbnRzIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItbWFpbik7XG4gIHBhZGRpbmctdG9wOiAzN3B4O1xuICBwYWRkaW5nLWJvdHRvbTogODJweDtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICB9XG5cbiAgaDIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZC1iZyk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICBpIHtcbiAgICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTdweDtcbiAgICB9XG4gIH1cblxuICAuZ3JpZC1ldmVudHMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIGdyaWQtZ2FwOiAyMHB4O1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNTBweCkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgICBncmlkLWdhcDogMTVweDtcbiAgICB9XG4gIH1cbn1cbiIsIi5ibG9jay0tc2hhcmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTRweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbWFpbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uYnV0dG9uLXNoYXJlLW1vYmlsZSB7XG4gICAgd2lkdGg6IDExOHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuXG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIGNvbG9yOiAkY29sb3Itc2Vjb25kLWJnO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbWFpbik7XG4gICAgfVxufVxuIiwiLmJsb2NrLS1oaWdobGlnaHRfaW5mb3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4NTBweCkge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxuICAgIC5zZXAge1xuICAgICAgICB3aWR0aDogM3B4O1xuICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEuNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1tYWluKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcblxuICAgICAgICAmLmxhc3Qge1xuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODUwcHgpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1tYWluKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAmLmRhdGUge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICR3ZWJmb250LWhvdXJzO1xuICAgICAgICAgICAgICAgIEBleHRlbmQgJXdlYmZvbnQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYubG9jYXRpb24ge1xuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODUwcHgpIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICR3ZWJmb250LXBpbjtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kICV3ZWJmb250O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDExcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuYmxvY2stLXRhZ3Mge1xuICAgIHVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogc29saWQgMXB4ICRsaWdodC1wZXJpd2lua2xlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZC1iZyk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1tYWluKTtcblxuICAgICAgICAgICAgICAgICYuY2F0ZWdvcnkge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYsIDM5LCAyMTcsIDAuMSk7XG5cbiAgICAgICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIucnRlIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjVweDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XG4gIGVtIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIH1cbiAgc3Ryb25nLCBiIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuICB1IHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICBwIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICB9XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICBlbSB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gIH1cblxuICBoMyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XG4gIH1cblxuICB1bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICA+IGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1tYWluLXRleHQpO1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDdweDtcbiAgICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItbWFpbik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiA1cHg7XG4gICAgICB9XG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmJ1dHRvbiB7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1tYWluKTtcbiAgICBib3JkZXI6IHNvbGlkIDFweCB2YXIoLS1jb2xvci1tYWluKTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmQtYmcpO1xuICAgIHRyYW5zaXRpb246IDAuM3MgYWxsO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiA0OHB4O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXNlY29uZC1iZyk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1tYWluKTtcbiAgICB9XG59XG4iLCJcblxuLmJ1cmdlciB7XG4gICAgd2lkdGggICA6IDIwcHg7XG4gICAgaGVpZ2h0ICA6IDE5cHg7XG4gICAgei1pbmRleCA6IDU7XG4gICAgZGlzcGxheSA6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXkgOiBub25lO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODUwcHgpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGggICA6IDEwMCU7XG4gICAgICAgIGhlaWdodCAgOiAzcHg7XG5cbiAgICAgICAgbGVmdCAgICAgICAgIDogMDtcbiAgICAgICAgZGlzcGxheSAgICAgIDogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQgICA6IHZhcigtLWNvbG9yLXNlY29uZC1iZyk7XG4gICAgICAgIHRyYW5zaXRpb24gICA6IDAuNXM7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgICB9XG5cbiAgICBzcGFuOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIHRvcCAgICAgICA6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICB9XG5cbiAgICBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgdG9wOiAwcHg7XG4gICAgfVxuXG4gICAgc3BhbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgdG9wOiAxNnB4O1xuICAgIH1cbn1cblxuLmJ1cmdlcjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5pbnB1dDpjaGVja2VkKy5idXJnZXIge1xuICAgIHNwYW4ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0b3AgICAgOiA1MCU7XG4gICAgfVxuXG4gICAgc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG9wYWNpdHkgIDogMTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDA1ZGVnKTtcbiAgICB9XG5cbiAgICBzcGFuOmxhc3QtY2hpbGQge1xuICAgICAgICBvcGFjaXR5ICA6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00MDVkZWcpO1xuICAgIH1cbn0iLCIudGVhc2VyLS1ldmVudF9vdGh0ZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDE4NHB4IDFmcjtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYm94LXNoYWRvdzogMCAwIDIwcHggMCByZ2JhKDE3MiwgMTgzLCAyMTMsIDAuMik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZC1iZyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEyMHB4IDFmcjtcbiAgfVxuXG4gIGZpZ3VyZSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDI1cHggMjNweDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xuICAgIH1cblxuICAgIC5kYXRlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLW1haW4pO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG4gICAgLmxvY2F0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLW1haW4pO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLW1haW4tdGV4dCk7XG4gICAgfVxuXG4gICAgLmNhdGVnb3JpZXMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMTBweDtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICB9XG4gICAgICAuY2F0ZWdvcnkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNiwgMzksIDIxNywgMC4xKTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLW1haW4pO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDExcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=*/