.glightbox-container{width:100%;height:100%;position:fixed;top:0;left:0;z-index:999999!important;overflow:hidden;-ms-touch-action:none;touch-action:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;outline:0}.glightbox-container.inactive{display:none}.glightbox-container .gcontainer{position:relative;width:100%;height:100%;z-index:9999;overflow:hidden}.glightbox-container .gslider{-webkit-transition:-webkit-transform .4s ease;transition:-webkit-transform .4s ease;transition:transform .4s ease;transition:transform .4s ease,-webkit-transform .4s ease;height:100%;left:0;top:0;width:100%;position:relative;overflow:hidden;display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.glightbox-container .gslide{width:100%;position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;opacity:0}.glightbox-container .gslide.current{opacity:1;z-index:99999;position:relative}.glightbox-container .gslide.prev{opacity:1;z-index:9999}.glightbox-container .gslide-inner-content{width:100%}.glightbox-container .ginner-container{position:relative;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;margin:auto;height:100vh}.glightbox-container .ginner-container.gvideo-container{width:100%}.glightbox-container .ginner-container.desc-bottom,.glightbox-container .ginner-container.desc-top{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.glightbox-container .ginner-container.desc-left,.glightbox-container .ginner-container.desc-right{max-width:100%!important}.gslide iframe,.gslide video{outline:0!important;border:none;min-height:165px;-webkit-overflow-scrolling:touch;-ms-touch-action:auto;touch-action:auto}.gslide:not(.current){pointer-events:none}.gslide-image{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.gslide-image img{max-height:100vh;display:block;padding:0;float:none;outline:0;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;max-width:100vw;width:auto;height:auto;-o-object-fit:cover;object-fit:cover;-ms-touch-action:none;touch-action:none;margin:auto;min-width:200px}.desc-bottom .gslide-image img,.desc-top .gslide-image img{width:auto}.desc-left .gslide-image img,.desc-right .gslide-image img{width:auto;max-width:100%}.gslide-image img.zoomable{position:relative}.gslide-image img.dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.gslide-video{position:relative;max-width:100vh;width:100%!important}.gslide-video .plyr__poster-enabled.plyr--loading .plyr__poster{display:none}.gslide-video .gvideo-wrapper{width:100%;margin:auto}.gslide-video::before{content:'';position:absolute;width:100%;height:100%;background:rgba(255,0,0,.34);display:none}.gslide-video.playing::before{display:none}.gslide-video.fullscreen{max-width:100%!important;min-width:100%;height:75vh}.gslide-video.fullscreen video{max-width:100%!important;width:100%!important}.gslide-inline{background:#fff;text-align:left;max-height:calc(100vh - 40px);overflow:auto;max-width:100%;margin:auto}.gslide-inline .ginlined-content{padding:20px;width:100%}.gslide-inline .dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.ginlined-content{overflow:auto;display:block!important;opacity:1}.gslide-external{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;min-width:100%;background:#fff;padding:0;overflow:auto;max-height:75vh;height:100%}.gslide-media{display:-webkit-box;display:-ms-flexbox;display:flex;width:auto}.zoomed .gslide-media{-webkit-box-shadow:none!important;box-shadow:none!important}.desc-bottom .gslide-media,.desc-top .gslide-media{margin:0 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gslide-description{position:relative;-webkit-box-flex:1;-ms-flex:1 0 100%;flex:1 0 100%}.gslide-description.description-left,.gslide-description.description-right{max-width:100%}.gslide-description.description-bottom,.gslide-description.description-top{margin:0 auto;width:100%}.gslide-description p{margin-bottom:12px}.gslide-description p:last-child{margin-bottom:0}.zoomed .gslide-description{display:none}.glightbox-button-hidden{display:none}.glightbox-mobile .glightbox-container .gslide-description{height:auto!important;width:100%;position:absolute;bottom:0;padding:19px 11px;max-width:100vw!important;-webkit-box-ordinal-group:3!important;-ms-flex-order:2!important;order:2!important;max-height:78vh;overflow:auto!important;background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(rgba(0,0,0,.75)));background:linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,.75) 100%);-webkit-transition:opacity .3s linear;transition:opacity .3s linear;padding-bottom:50px}.glightbox-mobile .glightbox-container .gslide-title{color:#fff;font-size:1em}.glightbox-mobile .glightbox-container .gslide-desc{color:#a1a1a1}.glightbox-mobile .glightbox-container .gslide-desc a{color:#fff;font-weight:700}.glightbox-mobile .glightbox-container .gslide-desc *{color:inherit}.glightbox-mobile .glightbox-container .gslide-desc .desc-more{color:#fff;opacity:.4}.gdesc-open .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:.4}.gdesc-open .gdesc-inner{padding-bottom:30px}.gdesc-closed .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:1}.greset{-webkit-transition:all .3s ease;transition:all .3s ease}.gabsolute{position:absolute}.grelative{position:relative}.glightbox-desc{display:none!important}.glightbox-open{overflow:hidden}.gloader{height:25px;width:25px;-webkit-animation:lightboxLoader .8s infinite linear;animation:lightboxLoader .8s infinite linear;border:2px solid #fff;border-right-color:transparent;border-radius:50%;position:absolute;display:block;z-index:9999;left:0;right:0;margin:0 auto;top:47%}.goverlay{width:100%;height:calc(100vh + 1px);position:fixed;top:-1px;left:0;background:#000;will-change:opacity}.glightbox-mobile .goverlay{background:#000}.gclose,.gnext,.gprev{z-index:99999;cursor:pointer;width:26px;height:44px;border:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gclose svg,.gnext svg,.gprev svg{display:block;width:25px;height:auto;margin:0;padding:0}.gclose.disabled,.gnext.disabled,.gprev.disabled{opacity:.1}.gclose .garrow,.gnext .garrow,.gprev .garrow{stroke:#fff}.gbtn.focused{outline:2px solid #0f3d81}iframe.wait-autoplay{opacity:0}.glightbox-closing .gclose,.glightbox-closing .gnext,.glightbox-closing .gprev{opacity:0!important}.glightbox-clean .gslide-description{background:#fff}.glightbox-clean .gdesc-inner{padding:22px 20px}.glightbox-clean .gslide-title{font-size:1em;font-weight:400;font-family:arial;color:#000;margin-bottom:19px;line-height:1.4em}.glightbox-clean .gslide-desc{font-size:.86em;margin-bottom:0;font-family:arial;line-height:1.4em}.glightbox-clean .gslide-video{background:#000}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.75);border-radius:4px}.glightbox-clean .gclose path,.glightbox-clean .gnext path,.glightbox-clean .gprev path{fill:#fff}.glightbox-clean .gprev{position:absolute;top:-100%;left:30px;width:40px;height:50px}.glightbox-clean .gnext{position:absolute;top:-100%;right:30px;width:40px;height:50px}.glightbox-clean .gclose{width:35px;height:35px;top:15px;right:10px;position:absolute}.glightbox-clean .gclose svg{width:18px;height:auto}.glightbox-clean .gclose:hover{opacity:1}.gfadeIn{-webkit-animation:gfadeIn .5s ease;animation:gfadeIn .5s ease}.gfadeOut{-webkit-animation:gfadeOut .5s ease;animation:gfadeOut .5s ease}.gslideOutLeft{-webkit-animation:gslideOutLeft .3s ease;animation:gslideOutLeft .3s ease}.gslideInLeft{-webkit-animation:gslideInLeft .3s ease;animation:gslideInLeft .3s ease}.gslideOutRight{-webkit-animation:gslideOutRight .3s ease;animation:gslideOutRight .3s ease}.gslideInRight{-webkit-animation:gslideInRight .3s ease;animation:gslideInRight .3s ease}.gzoomIn{-webkit-animation:gzoomIn .5s ease;animation:gzoomIn .5s ease}.gzoomOut{-webkit-animation:gzoomOut .5s ease;animation:gzoomOut .5s ease}@-webkit-keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes gfadeIn{from{opacity:0}to{opacity:1}}@keyframes gfadeIn{from{opacity:0}to{opacity:1}}@-webkit-keyframes gfadeOut{from{opacity:1}to{opacity:0}}@keyframes gfadeOut{from{opacity:1}to{opacity:0}}@-webkit-keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@-webkit-keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@-webkit-keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@-webkit-keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@media (min-width:769px){.glightbox-container .ginner-container{width:auto;height:auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.glightbox-container .ginner-container.desc-top .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-top .gslide-image,.glightbox-container .ginner-container.desc-top .gslide-image img{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.glightbox-container .ginner-container.desc-left .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-left .gslide-image{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.gslide-image img{max-height:97vh;max-width:100%}.gslide-image img.zoomable{cursor:-webkit-zoom-in;cursor:zoom-in}.zoomed .gslide-image img.zoomable{cursor:-webkit-grab;cursor:grab}.gslide-inline{max-height:95vh}.gslide-external{max-height:100vh}.gslide-description.description-left,.gslide-description.description-right{max-width:275px}.glightbox-open{height:auto}.goverlay{background:rgba(0,0,0,.92)}.glightbox-clean .gslide-media{-webkit-box-shadow:1px 2px 9px 0 rgba(0,0,0,.65);box-shadow:1px 2px 9px 0 rgba(0,0,0,.65)}.glightbox-clean .description-left .gdesc-inner,.glightbox-clean .description-right .gdesc-inner{position:absolute;height:100%;overflow-y:auto}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.32)}.glightbox-clean .gclose:hover,.glightbox-clean .gnext:hover,.glightbox-clean .gprev:hover{background-color:rgba(0,0,0,.7)}.glightbox-clean .gprev{top:45%}.glightbox-clean .gnext{top:45%}}@media (min-width:992px){.glightbox-clean .gclose{opacity:.7;right:20px}}@media screen and (max-height:420px){.goverlay{background:#000}}
/*
=========================================================
Style-CSS
Projekt: Fotos-Lange
Autor: Maren Lange
=========================================================
*/
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

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

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block; }

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

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  display: block; }

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px; }

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

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

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

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

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit; }

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

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

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic; }

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000; }

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block; }

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

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

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden; }

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

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

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

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

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

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

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

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

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

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

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

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

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

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

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

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block; }

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

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block; }

/**
 * Add the correct display in IE.
 */
template {
  display: none; }

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

/* verticaler Rhythmus Hilfslinien - Ende */
/*
--------------------------------------------------------------------------------
GENARAL/WEBFONTS
Webfonts
Hier die verwendeten lokalen Webfonts eintragen
--------------------------------------------------------------------------------
*/
@font-face {
  font-family: "Rationale";
  font-style: normal;
  font-weight: normal;
  src: url("../../files/theme_fotos_lange/font/rationale-v8-latin-regular.eot?#iefix") format("embedded-opentype"), url("../../files/theme_fotos_lange/font/rationale-v8-latin-regular.woff2") format("woff2"), url("../../files/theme_fotos_lange/font/rationale-v8-latin-regular.woff") format("woff"), url("../../files/theme_fotos_lange/font/rationale-v8-latin-regular.ttf") format("truetype"), url("../../files/theme_fotos_lange/font/rationale-v8-latin-regular.svg#Rationale") format("svg"); }

/*
--------------------------------------------------------------------------------
GENERAL/BOX-SIZING
Border-Box Empfehlung Paul Irish
css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice
paulirish.com/2012/box-sizing-border-box-ftw
 --------------------------------------------------------------------------------
 */
html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

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

/*
--------------------------------------------------------------------------------
GENERAL/CONTAO_RESET
von Contao verwendete Klassen
 --------------------------------------------------------------------------------
 */
.float_left {
  float: left; }

.float_right {
  float: right; }

.block {
  overflow: hidden; }

.clear:before, .clear:after {
  content: ' ';
  display: table; }

.clear:after {
  clear: both; }

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

/*
-------------------------------------------------
GENERAL/BASE
Basis Einstellungen
-------------------------------------------------
*/
html {
  font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  height: 100%; }
  html {
    font-size: 0.8rem; }
    @media screen and (min-width: 20rem) {
      html {
        font-size: calc(0.8rem + 0.2 * ((100vw - 20rem) / 17.5)); } }
    @media screen and (min-width: 37.5rem) {
      html {
        font-size: 1rem; } }

body {
  background: #323232;
  color: #999;
  font-family: "Lucida Sans Unicode", "Lucida Grande", "Tahoma", "Verdana", "Arial", sans-serif;
  line-height: 1.5;
  min-height: 100%; }
  @media print {
    body {
      background: transparent none;
      font-family: "Georgia", "Cambria", "Times New Roman", "Times", serif;
      font-size: 12pt;
      line-height: 1.3; } }

h1,
h2,
h3,
h4,
h5,
h6 {
  padding: 1.125rem 0 0.375rem;
  margin: 0 0 1.5rem; }

h1 {
  font-size: 2rem;
  line-height: 0.75; }

h2 {
  font-size: 1.5rem;
  line-height: 1; }

h3 {
  font-size: 1.25rem;
  line-height: 1.2; }

h4 {
  font-size: 1rem;
  line-height: 1.5; }

h5 {
  font-size: 1rem;
  line-height: 1.5; }

h6 {
  font-size: 1rem;
  line-height: 1.5; }

@media print {
  h1,
  h2,
  h3 {
    margin: 0 0 9pt;
    padding: 0; }
  h1 {
    font-size: 18pt; }
  h2 {
    font-size: 16pt; }
  h3 {
    font-size: 14pt; }
  h4,
  h5,
  h6 {
    font-size: 12pt; } }

p {
  line-height: 1.5rem; }
  @media print {
    p {
      font-size: 12pt;
      margin: 0 0 9pt; } }

p {
  margin: 0 0 1.5rem; }

ul {
  margin: 1.5rem 0; }

address {
  font-style: normal;
  margin: 0 0 1.5rem; }

p a {
  text-decoration: none; }
  p a:link {
    color: #5a7a5a; }
  p a:visited {
    color: #bebebe; }
  p a:focus, p a:hover {
    color: #445d44; }
  p a:active {
    color: #445d44; }
  p a:hover {
    text-decoration: underline; }

img,
picture {
  height: auto;
  max-width: 100%; }

figure {
  position: relative; }

/*
-------------------------------------------------
HEADLINES
HTML-Element h1 bis h6
-------------------------------------------------
*/
.headline--centered {
  text-align: center; }

/*
-------------------------------------------------
LINKs
HTML-Element a
-------------------------------------------------
*/
.backlink {
  text-align: right; }
  .backlink a {
    display: block;
    padding: 1.5rem 1rem; }
    .backlink a:link {
      color: #5a7a5a; }
    .backlink a:visited {
      color: #5a7a5a; }
    .backlink a:focus, .backlink a:hover {
      color: #445d44; }
    .backlink a:active {
      color: #445d44; }

/*
-------------------------------------------------
FIGURE
HTML-Element figure
-------------------------------------------------
*/
.list_albums__item, .album_preview__item {
  background-color: #4f4f4f;
  border-right: 1px solid #3f3f3f;
  border-bottom: 1px solid #3f3f3f;
  width: 250px;
  height: 250px;
  line-height: 248px;
  text-align: center; }
  .list_albums__item img, .album_preview__item img {
    vertical-align: middle;
    background-color: transparent;
    padding: 0;
    border: solid 1px #323232;
    -webkit-box-shadow: 4px 4px 4px #333;
    box-shadow: 4px 4px 4px #333; }

.list_albums__item {
  height: 270px; }
  .list_albums__item figcaption h2 {
    font-size: 0.75rem;
    font-weight: normal;
    line-height: 1;
    padding: 0;
    margin: 0; }

/*
--------------------------------------------------------------------------------
NAVIGATIONEN

--------------------------------------------------------------------------------
*/
.nav-main ul {
  list-style: none;
  list-style-image: none;
  padding: 0;
  margin: 0; }

.nav-main a {
  text-decoration: none; }

.nav-main a,
.nav-main strong {
  display: block; }

.nav-main {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  width: 1px;
  height: 1px;
  padding: 0;
  border: 0;
  margin: -1px;
  overflow: hidden; }
  @media only screen and (min-width: 37.5rem) {
    .nav-main {
      position: static;
      clip: auto;
      width: auto;
      height: auto;
      padding: 0;
      border: 0;
      margin: 0;
      overflow: visible; } }
  .nav-main .level_1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column; }
    @media only screen and (min-width: 37.5rem) {
      .nav-main .level_1 {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-flow: row;
        flex-flow: row;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between; } }
    @media only screen and (min-width: 64rem) {
      .nav-main .level_1 {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end; } }
    .nav-main .level_1 > li > a,
    .nav-main .level_1 > li > strong {
      text-align: center;
      padding: 1.5rem 1rem; }
      @media only screen and (min-width: 37.5rem) {
        .nav-main .level_1 > li > a,
        .nav-main .level_1 > li > strong {
          text-align: right; } }
    .nav-main .level_1 > li > a {
      color: #999; }
    .nav-main .level_1 > li > a:hover,
    .nav-main .level_1 > li > .trail,
    .nav-main .level_1 > li > strong {
      color: #5a7a5a; }
  .nav-main.nav_show {
    position: static;
    clip: auto;
    width: auto;
    height: auto;
    padding: 0;
    border: 0;
    margin: 0;
    overflow: visible;
    margin-top: 2rem; }
  .no-js .nav-main {
    position: static;
    clip: auto;
    width: auto;
    height: auto;
    padding: 0;
    border: 0;
    margin: 0;
    overflow: visible;
    margin-top: 2rem; }

.btn_nav_mobile {
  text-align: right;
  margin-bottom: 2rem; }
  @media only screen and (min-width: 37.5rem) {
    .btn_nav_mobile {
      position: absolute;
      clip: rect(1px, 1px, 1px, 1px);
      width: 1px;
      height: 1px;
      padding: 0;
      border: 0;
      margin: -1px;
      overflow: hidden; } }
  .btn_nav_mobile .icon_btn_menu {
    fill: #999;
    position: static;
    clip: auto;
    width: auto;
    height: auto;
    padding: 0;
    border: 0;
    margin: 0;
    overflow: visible;
    width: 2rem;
    height: 2rem; }
  .btn_nav_mobile .icon_btn_close {
    fill: #999;
    position: absolute;
    clip: rect(1px, 1px, 1px, 1px);
    width: 1px;
    height: 1px;
    padding: 0;
    border: 0;
    margin: -1px;
    overflow: hidden; }
  .btn_nav_mobile a {
    display: block; }
  .btn_nav_mobile.btn_active .icon_btn_menu {
    position: absolute;
    clip: rect(1px, 1px, 1px, 1px);
    width: 1px;
    height: 1px;
    padding: 0;
    border: 0;
    margin: -1px;
    overflow: hidden; }
  .btn_nav_mobile.btn_active .icon_btn_close {
    position: static;
    clip: auto;
    width: auto;
    height: auto;
    padding: 0;
    border: 0;
    margin: 0;
    overflow: visible;
    width: 2rem;
    height: 2rem; }
  .no-js .btn_nav_mobile {
    position: absolute;
    clip: rect(1px, 1px, 1px, 1px);
    width: 1px;
    height: 1px;
    padding: 0;
    border: 0;
    margin: -1px;
    overflow: hidden; }

/*
-------------------------------------------------
MODUL/PRIVATE MOD-LOGO
Gestaltung Logo-Modul und Logo
-------------------------------------------------
*/
.logo {
  font-family: 'Rationale', sans-serif;
  line-height: 1.2;
  text-align: center;
  text-shadow: 1px 1px 1px #000; }
  .logo {
    font-size: 1.53191rem; }
    @media screen and (min-width: 20rem) {
      .logo {
        font-size: calc(1.53191rem + 0.59574 * ((100vw - 20rem) / 17.5)); } }
    @media screen and (min-width: 37.5rem) {
      .logo {
        font-size: 2.12766rem; } }
  @media only screen and (min-width: 37.5rem) {
    .logo {
      text-align: left;
      margin-right: 2rem; } }
  .logo span {
    display: block; }
    .logo span {
      font-size: 3.6rem; }
      @media screen and (min-width: 20rem) {
        .logo span {
          font-size: calc(3.6rem + 1.4 * ((100vw - 20rem) / 17.5)); } }
      @media screen and (min-width: 37.5rem) {
        .logo span {
          font-size: 5rem; } }
  .logo a {
    color: rgba(255, 255, 255, 0.5);
    text-decoration: none; }
  .logo.logo_hide {
    position: absolute;
    clip: rect(1px, 1px, 1px, 1px);
    width: 1px;
    height: 1px;
    padding: 0;
    border: 0;
    margin: -1px;
    overflow: hidden; }

/*
-------------------------------------------------
MODUL/MOD-ARTICLE
globale Einstellungen Artikel-Modul
-------------------------------------------------
*/
/*
-------------------------------------------------
GALLERY
Contentelement ce_gallery
-------------------------------------------------
*/
.list_albums,
.album_preview {
  list-style: none;
  list-style-image: none;
  padding: 0;
  margin: 1rem 0 0; }
  .list_albums figure, .album_preview figure {
    margin: 0; }
  .list_albums li, .album_preview li {
    margin: 0;
    padding: 0; }

.list_albums,
.album_preview {
  display: grid;
  grid-template-columns: repeat(auto-fill, 250px);
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }
  @supports not (display: grid) {
    .list_albums,
    .album_preview {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-flow: wrap;
      flex-flow: wrap;
      -webkit-box-pack: start;
      -ms-flex-pack: start;
      justify-content: flex-start; } }

.ie .list_albums,
.edge .list_albums {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
  flex-flow: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start; }

/*
--------------------------------------------------------------------------------
LAYOUT/WRAPPER
Gestaltung des Gesamt Layouts

--------------------------------------------------------------------------------
*/
#wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  min-width: 20rem;
  max-width: 120rem;
  min-height: 100vh;
  padding: 1.5rem;
  margin: 0 auto; }
  #wrapper > #container {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1; }

/*
--------------------------------------------------------------------------------
LAYOUT/HEADER-THEME
Gestaltung der Layout Header
--------------------------------------------------------------------------------
*/
#header {
  margin-bottom: 1.5rem; }
  @media only screen and (min-width: 37.5rem) {
    #header .inside {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-flow: wrap;
      flex-flow: wrap; } }
  @media only screen and (min-width: 37.5rem) {
    #header .nav-main {
      -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
      flex: 1 0 auto; } }

/*
-------------------------------------------------
CONTAINER
-------------------------------------------------
*/
/*
-------------------------------------------------
LAYOUT/LAYOUT_EINSPALTIG
einspaltiges Layout
Aufbau mit Flexbox
sticky-footer
-------------------------------------------------
*/
#main .inside {
  margin: 3rem 0; }

/*
--------------------------------------------------------------------------------
LAYOUT/HEADER-THEME
Gestaltung der Layout Header
--------------------------------------------------------------------------------
*/
#footer {
  text-align: right;
  margin-top: 1.5rem; }
  #footer p {
    margin: 0; }
  #footer a:link {
    color: #bebebe; }
  #footer a:visited {
    color: #999; }
  #footer a:focus {
    color: #bebebe; }
  #footer a:hover {
    color: #d8d8d8; }
  #footer a:active {
    color: #bebebe; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbm9kZS1ub3JtYWxpemUtc2Nzcy9fbm9ybWFsaXplLnNjc3MiLCJzdHlsZS5jc3MiLCJ0b29scy9taXhpbnMvX3ZlcnRpY2FsX3JoeXRobS5zY3NzIiwiZ2VuZXJhbC9fd2ViZm9udC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19mb250LWZhY2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib3VyYm9uL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvaGVscGVycy9fZm9udC1zb3VyY2UtZGVjbGFyYXRpb24uc2NzcyIsImdlbmVyYWwvX2JveF9zaXppbmcuc2NzcyIsImdlbmVyYWwvX2NvbnRhb19yZXNldC5zY3NzIiwiZ2VuZXJhbC9fYmFzZS5zY3NzIiwidG9vbHMvbWl4aW5zL19mbHVpZF90eXBvLnNjc3MiLCJfc2V0dGluZy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9hZGRvbnMvX2ZvbnQtc3RhY2tzLnNjc3MiLCJ0b29scy9mdW5jdGlvbnMvX3N0cmlwLXVuaXQuc2NzcyIsInRvb2xzL21peGlucy9fbGlua19jb2xvci5zY3NzIiwiY29tcG9uZW50cy9faGVhZGxpbmUuc2NzcyIsImNvbXBvbmVudHMvX2xpbmsuc2NzcyIsImNvbXBvbmVudHMvX2ZpZ3VyZS5zY3NzIiwiY29tcG9uZW50cy9fbmF2LnNjc3MiLCJ0b29scy9taXhpbnMvX2hpZGUuc2NzcyIsInRvb2xzL21peGlucy9fbWVkaWFfcXVlcmllcy5zY3NzIiwiY29tcG9uZW50cy9fbG9nby5zY3NzIiwiY29tcG9uZW50cy9fbW9kX2FydGljbGUuc2NzcyIsImNvbXBvbmVudHMvX2NlX2dhbGxlcnkuc2NzcyIsImxheW91dC9fd3JhcHBlci5zY3NzIiwibGF5b3V0L19oZWFkZXIuc2NzcyIsImxheW91dC9fY29udGFpbmVyLnNjc3MiLCJsYXlvdXQvX21haW4uc2NzcyIsImxheW91dC9fZm9vdGVyLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7Ozs7OztFQU1FO0FDUkYsNEVBQTRFO0FBRTVFO2dGQUNnRjtBQUVoRjs7OztHQUlHO0FBRUg7RUFDRSxrQkFBaUI7RUFBRSxPQUFPO0VBQzFCLDJCQUEwQjtFQUFFLE9BQU87RUFDbkMsK0JBQThCO0VBQUUsT0FBTyxFQUN4Qzs7QUFFRDtnRkFDZ0Y7QUFFaEY7O0dBRUc7QUFFSDtFQUNFLFVBQVMsRUFDVjs7QUFFRDs7R0FFRztBQUVIOzs7Ozs7RUFNRSxlQUFjLEVBQ2Y7O0FBRUQ7OztHQUdHO0FBRUg7RUFDRSxlQUFjO0VBQ2QsaUJBQWdCLEVBQ2pCOztBQUVEO2dGQUNnRjtBQUVoRjs7O0dBR0c7QUFFSDs7O0VBRU8sT0FBTztFQUNaLGVBQWMsRUFDZjs7QUFFRDs7R0FFRztBQUVIO0VBQ0UsaUJBQWdCLEVBQ2pCOztBQUVEOzs7R0FHRztBQUVIO0VBQ0UsZ0NBQXVCO0VBQXZCLHdCQUF1QjtFQUFFLE9BQU87RUFDaEMsVUFBUztFQUFFLE9BQU87RUFDbEIsa0JBQWlCO0VBQUUsT0FBTyxFQUMzQjs7QUFFRDs7O0dBR0c7QUFFSDtFQUNFLGtDQUFpQztFQUFFLE9BQU87RUFDMUMsZUFBYztFQUFFLE9BQU8sRUFDeEI7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQUVIO0VBQ0UsOEJBQTZCO0VBQUUsT0FBTztFQUN0QyxzQ0FBcUM7RUFBRSxPQUFPLEVBQy9DOztBQUVEOzs7R0FHRztBQUVIO0VBQ0Usb0JBQW1CO0VBQUUsT0FBTztFQUM1QiwyQkFBMEI7RUFBRSxPQUFPO0VBQ25DLDBDQUFpQztFQUFqQyxrQ0FBaUM7RUFBRSxPQUFPLEVBQzNDOztBQUVEOztHQUVHO0FBRUg7O0VBRUUscUJBQW9CLEVBQ3JCOztBQUVEOztHQUVHO0FBUEg7O0VBV0Usb0JBQW1CLEVBQ3BCOztBQUVEOzs7R0FHRztBQUVIOzs7RUFH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QUFpQjtFQUNqQixnQmZEZTtFZUVmLGVBQWMsRUFJZjtFQVpEO0lBVUksb0JBQU87SUFBUCxZQUFPO0lBQVAsUUFBTyxFQUNSOztBQ3RCSDs7Ozs7RUFLRTtBQUVGO0VBQ0Usc0JoQlNlLEVnQkdoQjtFTGlDQztJSzlDRjtNQUlNLHFCQUFhO01BQWIscUJBQWE7TUFBYixjQUFhO01BQ2Isb0JBQWU7TUFBZixnQkFBZSxFQUVsQixFQUFBO0VMdUNEO0lLOUNGO01BVU0sb0JBQWM7TUFBZCxtQkFBYztNQUFkLGVBQWMsRUFFakIsRUFBQTs7QUNuQkg7Ozs7RUFJRTtBQ0pGOzs7Ozs7O0VBT0U7QUFDRjtFQUVJLGVBQXVCLEVBQ3hCOztBQ1hIOzs7OztFQUtFO0FBRUY7RUFDRSxrQkFBaUI7RUFDakIsbUJuQlFlLEVtQk1oQjtFQWhCRDtJQUtJLFVBQVMsRUFDVjtFZEpEO0lBQ0UsZUhZZSxFR1hoQjtFQUVEO0lBQ0UsWUhPWSxFR05iO0VBVUc7SUFDRSxlSEpXLEVHS1o7RUFFRDtJQUNFLGVjWmlELEVkYWxEO0VBSUw7SUFDRSxlSGRlLEVHZWhCIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0ICdVVEYtOCc7XHJcbi8vIG11c3MgaW4gZGVyIGVyc3RlbiBaZWlsZSBkZXMgenUgY29tcGlsaWVyZW5kZW4gc2Nzcy1EYXRlaSBzdGVoZW5cclxuLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblN0eWxlLUNTU1xyXG5Qcm9qZWt0OiBGb3Rvcy1MYW5nZVxyXG5BdXRvcjogTWFyZW4gTGFuZ2VcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXHJcblxyXG4vLyBMaWJyYXJpZXMgdW5kIE5vcm1hbGlzaWVydW5nXHJcbkBpbXBvcnQgJ2JvdXJib24nO1xyXG5AaW1wb3J0ICdub3JtYWxpemUnO1xyXG5cclxuLy8gVE9PTFMgLSBIZWxmZXJjaGVuXHJcbkBpbXBvcnQgJ3Rvb2xzL2Z1bmN0aW9ucy9zdHJpcC11bml0JztcclxuQGltcG9ydCAndG9vbHMvbWl4aW5zL21lZGlhX3F1ZXJpZXMnO1xyXG5AaW1wb3J0ICd0b29scy9taXhpbnMvZmx1aWRfdHlwbyc7XHJcbkBpbXBvcnQgJ3Rvb2xzL21peGlucy9saW5rX2NvbG9yJztcclxuQGltcG9ydCAndG9vbHMvbWl4aW5zL2hpZGUnO1xyXG5AaW1wb3J0ICd0b29scy9taXhpbnMvdmVydGljYWxfcmh5dGhtJztcclxuXHJcbi8vIFZBUklBQkxFXHJcbkBpbXBvcnQgJ3NldHRpbmcnO1xyXG5cclxuLy8gR0VORVJBTFMgLSBCYXNpc2VpbnN0ZWxsdW5nZW5cclxuQGltcG9ydCAnZ2VuZXJhbC93ZWJmb250JztcclxuLy8gQGltcG9ydCAnZ2VuZXJhbC9ub3JtYWxpemUnO1xyXG5AaW1wb3J0ICdnZW5lcmFsL2JveF9zaXppbmcnO1xyXG5AaW1wb3J0ICdnZW5lcmFsL2NvbnRhb19yZXNldCc7XHJcblxyXG5AaW1wb3J0ICdnZW5lcmFsL2Jhc2UnO1xyXG5cclxuLy8gQ09NUE9ORU5UUyAtIEtvbXBvbmVudGVuIGRlciBXZWJzaXRlXHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaGVhZGxpbmUnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2xpbmsnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2ZpZ3VyZSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbmF2JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9fbG9nbyc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbW9kX2FydGljbGUnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2NlX2dhbGxlcnknO1xyXG5cclxuLy8gVkVORE9SIC0gU3R5bGVzIGZ1ZXIgUGx1Z2luc1xyXG4vLyBAaW1wb3J0ICd2ZW5kb3Ivbml2b19saWdodGJveCc7XHJcblxyXG4vLyBMQVlPVVRcclxuQGltcG9ydCAnbGF5b3V0L3dyYXBwZXInO1xyXG5AaW1wb3J0ICdsYXlvdXQvaGVhZGVyJztcclxuQGltcG9ydCAnbGF5b3V0L2NvbnRhaW5lcic7XHJcbkBpbXBvcnQgJ2xheW91dC9tYWluJztcclxuQGltcG9ydCAnbGF5b3V0L2Zvb3Rlcic7XHJcbiIsIi8qISBub3JtYWxpemUuY3NzIHY3LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbm1haW4geyAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctIGFuZCBGaXJlZm94IDM5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzLCAvKiAxICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogU2NyaXB0aW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEhpZGRlblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLypcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblN0eWxlLUNTU1xyXG5Qcm9qZWt0OiBGb3Rvcy1MYW5nZVxyXG5BdXRvcjogTWFyZW4gTGFuZ2VcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiovXG4vKiEgbm9ybWFsaXplLmNzcyB2Ny4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICovXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbm1haW4ge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctIGFuZCBGaXJlZm94IDM5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAqL1xubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5idXR0b24sXG5pbnB1dCB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcbiAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzLFxubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLyogU2NyaXB0aW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBIaWRkZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIHZlcnRpY2FsZXIgUmh5dGhtdXMgSGlsZnNsaW5pZW4gLSBFbmRlICovXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdFTkFSQUwvV0VCRk9OVFNcbldlYmZvbnRzXG5IaWVyIGRpZSB2ZXJ3ZW5kZXRlbiBsb2thbGVuIFdlYmZvbnRzIGVpbnRyYWdlblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiUmF0aW9uYWxlXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIuLi9mb250L3JhdGlvbmFsZS12OC1sYXRpbi1yZWd1bGFyLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnQvcmF0aW9uYWxlLXY4LWxhdGluLXJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnQvcmF0aW9uYWxlLXY4LWxhdGluLXJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250L3JhdGlvbmFsZS12OC1sYXRpbi1yZWd1bGFyLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udC9yYXRpb25hbGUtdjgtbGF0aW4tcmVndWxhci5zdmcjUmF0aW9uYWxlXCIpIGZvcm1hdChcInN2Z1wiKTsgfVxuXG4vKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdFTkVSQUwvQk9YLVNJWklOR1xuQm9yZGVyLUJveCBFbXBmZWhsdW5nIFBhdWwgSXJpc2hcbmNzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZVxucGF1bGlyaXNoLmNvbS8yMDEyL2JveC1zaXppbmctYm9yZGVyLWJveC1mdHdcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4qLCAqOmJlZm9yZSwgKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5HRU5FUkFML0NPTlRBT19SRVNFVFxudm9uIENvbnRhbyB2ZXJ3ZW5kZXRlIEtsYXNzZW5cbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG4uZmxvYXRfbGVmdCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5mbG9hdF9yaWdodCB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uYmxvY2sge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5jbGVhcjpiZWZvcmUsIC5jbGVhcjphZnRlciB7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZGlzcGxheTogdGFibGU7IH1cblxuLmNsZWFyOmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLypcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5HRU5FUkFML0JBU0VcclxuQmFzaXMgRWluc3RlbGx1bmdlblxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiovXG5odG1sIHtcbiAgZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgaHRtbCB7XG4gICAgZm9udC1zaXplOiAwLjhyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMHJlbSkge1xuICAgICAgaHRtbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogY2FsYygwLjhyZW0gKyAwLjIgKiAoKDEwMHZ3IC0gMjByZW0pIC8gMTcuNSkpOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41cmVtKSB7XG4gICAgICBodG1sIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuYm9keSB7XG4gIGJhY2tncm91bmQ6ICMzMjMyMzI7XG4gIGNvbG9yOiAjOTk5O1xuICBmb250LWZhbWlseTogXCJMdWNpZGEgU2FucyBVbmljb2RlXCIsIFwiTHVjaWRhIEdyYW5kZVwiLCBcIlRhaG9tYVwiLCBcIlZlcmRhbmFcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBtaW4taGVpZ2h0OiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCB7XG4gICAgYm9keSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCBub25lO1xuICAgICAgZm9udC1mYW1pbHk6IFwiR2VvcmdpYVwiLCBcIkNhbWJyaWFcIiwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgXCJUaW1lc1wiLCBzZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMTJwdDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH0gfVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBwYWRkaW5nOiAxLjEyNXJlbSAwIDAuMzc1cmVtO1xuICBtYXJnaW46IDAgMCAxLjVyZW07IH1cblxuaDEge1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjc1OyB9XG5cbmgyIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG5cbmg0IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbmg1IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbmg2IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gIGgxLFxuICBoMixcbiAgaDMge1xuICAgIG1hcmdpbjogMCAwIDlwdDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDE4cHQ7IH1cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMTZwdDsgfVxuICBoMyB7XG4gICAgZm9udC1zaXplOiAxNHB0OyB9XG4gIGg0LFxuICBoNSxcbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogMTJwdDsgfSB9XG5cbnAge1xuICBsaW5lLWhlaWdodDogMS41cmVtOyB9XG4gIEBtZWRpYSBwcmludCB7XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDEycHQ7XG4gICAgICBtYXJnaW46IDAgMCA5cHQ7IH0gfVxuXG5wIHtcbiAgbWFyZ2luOiAwIDAgMS41cmVtOyB9XG5cbnVsIHtcbiAgbWFyZ2luOiAxLjVyZW0gMDsgfVxuXG5hZGRyZXNzIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBtYXJnaW46IDAgMCAxLjVyZW07IH1cblxucCBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIHAgYTpsaW5rIHtcbiAgICBjb2xvcjogIzVhN2E1YTsgfVxuICBwIGE6dmlzaXRlZCB7XG4gICAgY29sb3I6ICNiZWJlYmU7IH1cbiAgcCBhOmZvY3VzLCBwIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjNDQ1ZDQ0OyB9XG4gIHAgYTphY3RpdmUge1xuICAgIGNvbG9yOiAjNDQ1ZDQ0OyB9XG4gIHAgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuaW1nLFxucGljdHVyZSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbmZpZ3VyZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4vKlxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkhFQURMSU5FU1xyXG5IVE1MLUVsZW1lbnQgaDEgYmlzIGg2XHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuKi9cbi5oZWFkbGluZS0tY2VudGVyZWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLypcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5MSU5Lc1xyXG5IVE1MLUVsZW1lbnQgYVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiovXG4uYmFja2xpbmsge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAuYmFja2xpbmsgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMS41cmVtIDFyZW07IH1cbiAgICAuYmFja2xpbmsgYTpsaW5rIHtcbiAgICAgIGNvbG9yOiAjNWE3YTVhOyB9XG4gICAgLmJhY2tsaW5rIGE6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogIzVhN2E1YTsgfVxuICAgIC5iYWNrbGluayBhOmZvY3VzLCAuYmFja2xpbmsgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzQ0NWQ0NDsgfVxuICAgIC5iYWNrbGluayBhOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogIzQ0NWQ0NDsgfVxuXG4vKlxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkZJR1VSRVxyXG5IVE1MLUVsZW1lbnQgZmlndXJlXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuKi9cbi5saXN0X2FsYnVtc19faXRlbSwgLmFsYnVtX3ByZXZpZXdfX2l0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGY0ZjRmO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjM2YzZjNmO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzNmM2YzZjtcbiAgd2lkdGg6IDI1MHB4O1xuICBoZWlnaHQ6IDI1MHB4O1xuICBsaW5lLWhlaWdodDogMjQ4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGlzdF9hbGJ1bXNfX2l0ZW0gaW1nLCAuYWxidW1fcHJldmlld19faXRlbSBpbWcge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjMzIzMjMyO1xuICAgIGJveC1zaGFkb3c6IDRweCA0cHggNHB4ICMzMzM7IH1cblxuLmxpc3RfYWxidW1zX19pdGVtIHtcbiAgaGVpZ2h0OiAyNzBweDsgfVxuICAubGlzdF9hbGJ1bXNfX2l0ZW0gZmlnY2FwdGlvbiBoMiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cblxuLypcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5OQVZJR0FUSU9ORU5cblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG4ubmF2LW1haW4gdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBsaXN0LXN0eWxlLWltYWdlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cblxuLm5hdi1tYWluIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLm5hdi1tYWluIGEsXG4ubmF2LW1haW4gc3Ryb25nIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLm5hdi1tYWluIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM3LjVyZW0pIHtcbiAgICAubmF2LW1haW4ge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIGNsaXA6IGF1dG87XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfSB9XG4gIC5uYXYtbWFpbiAubGV2ZWxfMSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzcuNXJlbSkge1xuICAgICAgLm5hdi1tYWluIC5sZXZlbF8xIHtcbiAgICAgICAgZmxleC1mbG93OiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NHJlbSkge1xuICAgICAgLm5hdi1tYWluIC5sZXZlbF8xIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfSB9XG4gICAgLm5hdi1tYWluIC5sZXZlbF8xID4gbGkgPiBhLFxuICAgIC5uYXYtbWFpbiAubGV2ZWxfMSA+IGxpID4gc3Ryb25nIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDEuNXJlbSAxcmVtOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM3LjVyZW0pIHtcbiAgICAgICAgLm5hdi1tYWluIC5sZXZlbF8xID4gbGkgPiBhLFxuICAgICAgICAubmF2LW1haW4gLmxldmVsXzEgPiBsaSA+IHN0cm9uZyB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAgIC5uYXYtbWFpbiAubGV2ZWxfMSA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogIzk5OTsgfVxuICAgIC5uYXYtbWFpbiAubGV2ZWxfMSA+IGxpID4gYTpob3ZlcixcbiAgICAubmF2LW1haW4gLmxldmVsXzEgPiBsaSA+IC50cmFpbCxcbiAgICAubmF2LW1haW4gLmxldmVsXzEgPiBsaSA+IHN0cm9uZyB7XG4gICAgICBjb2xvcjogIzVhN2E1YTsgfVxuICAubmF2LW1haW4ubmF2X3Nob3cge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgY2xpcDogYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIG1hcmdpbi10b3A6IDJyZW07IH1cbiAgLm5vLWpzIC5uYXYtbWFpbiB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBjbGlwOiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgbWFyZ2luLXRvcDogMnJlbTsgfVxuXG4uYnRuX25hdl9tb2JpbGUge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM3LjVyZW0pIHtcbiAgICAuYnRuX25hdl9tb2JpbGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuICAuYnRuX25hdl9tb2JpbGUgLmljb25fYnRuX21lbnUge1xuICAgIGZpbGw6ICM5OTk7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBjbGlwOiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtOyB9XG4gIC5idG5fbmF2X21vYmlsZSAuaWNvbl9idG5fY2xvc2Uge1xuICAgIGZpbGw6ICM5OTk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5idG5fbmF2X21vYmlsZSBhIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuYnRuX25hdl9tb2JpbGUuYnRuX2FjdGl2ZSAuaWNvbl9idG5fbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5idG5fbmF2X21vYmlsZS5idG5fYWN0aXZlIC5pY29uX2J0bl9jbG9zZSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBjbGlwOiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtOyB9XG4gIC5uby1qcyAuYnRuX25hdl9tb2JpbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKlxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbk1PRFVML1BSSVZBVEUgTU9ELUxPR09cclxuR2VzdGFsdHVuZyBMb2dvLU1vZHVsIHVuZCBMb2dvXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuKi9cbi5sb2dvIHtcbiAgZm9udC1mYW1pbHk6ICdSYXRpb25hbGUnLCBzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiAxcHggMXB4IDFweCAjMDAwOyB9XG4gIC5sb2dvIHtcbiAgICBmb250LXNpemU6IDEuNTMxOTFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAyMHJlbSkge1xuICAgICAgLmxvZ28ge1xuICAgICAgICBmb250LXNpemU6IGNhbGMoMS41MzE5MXJlbSArIDAuNTk1NzQgKiAoKDEwMHZ3IC0gMjByZW0pIC8gMTcuNSkpOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41cmVtKSB7XG4gICAgICAubG9nbyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4xMjc2NnJlbTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzcuNXJlbSkge1xuICAgIC5sb2dvIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDJyZW07IH0gfVxuICAubG9nbyBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5sb2dvIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAzLjZyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDIwcmVtKSB7XG4gICAgICAgIC5sb2dvIHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogY2FsYygzLjZyZW0gKyAxLjQgKiAoKDEwMHZ3IC0gMjByZW0pIC8gMTcuNSkpOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM3LjVyZW0pIHtcbiAgICAgICAgLmxvZ28gc3BhbiB7XG4gICAgICAgICAgZm9udC1zaXplOiA1cmVtOyB9IH1cbiAgLmxvZ28gYSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmxvZ28ubG9nb19oaWRlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLypcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5NT0RVTC9NT0QtQVJUSUNMRVxyXG5nbG9iYWxlIEVpbnN0ZWxsdW5nZW4gQXJ0aWtlbC1Nb2R1bFxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiovXG4vKlxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkdBTExFUllcclxuQ29udGVudGVsZW1lbnQgY2VfZ2FsbGVyeVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiovXG4ubGlzdF9hbGJ1bXMsXG4uYWxidW1fcHJldmlldyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMXJlbSAwIDA7IH1cbiAgLmxpc3RfYWxidW1zIGZpZ3VyZSwgLmFsYnVtX3ByZXZpZXcgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmxpc3RfYWxidW1zIGxpLCAuYWxidW1fcHJldmlldyBsaSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cblxuLmxpc3RfYWxidW1zLFxuLmFsYnVtX3ByZXZpZXcge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIDI1MHB4KTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgQHN1cHBvcnRzIG5vdCAoZGlzcGxheTogZ3JpZCkge1xuICAgIC5saXN0X2FsYnVtcyxcbiAgICAuYWxidW1fcHJldmlldyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cblxuLmllIC5saXN0X2FsYnVtcyxcbi5lZGdlIC5saXN0X2FsYnVtcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi8qXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkxBWU9VVC9XUkFQUEVSXHJcbkdlc3RhbHR1bmcgZGVzIEdlc2FtdCBMYXlvdXRzXHJcblxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4qL1xuI3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgbWluLXdpZHRoOiAyMHJlbTtcbiAgbWF4LXdpZHRoOiAxMjByZW07XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBwYWRkaW5nOiAxLjVyZW07XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gICN3cmFwcGVyID4gI2NvbnRhaW5lciB7XG4gICAgZmxleDogMTsgfVxuXG4vKlxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5MQVlPVVQvSEVBREVSLVRIRU1FXHJcbkdlc3RhbHR1bmcgZGVyIExheW91dCBIZWFkZXJcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuKi9cbiNoZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNy41cmVtKSB7XG4gICAgI2hlYWRlciAuaW5zaWRlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWZsb3c6IHdyYXA7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM3LjVyZW0pIHtcbiAgICAjaGVhZGVyIC5uYXYtbWFpbiB7XG4gICAgICBmbGV4OiAxIDAgYXV0bzsgfSB9XG5cbi8qXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuQ09OVEFJTkVSXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuKi9cbi8qXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuTEFZT1VUL0xBWU9VVF9FSU5TUEFMVElHXHJcbmVpbnNwYWx0aWdlcyBMYXlvdXRcclxuQXVmYmF1IG1pdCBGbGV4Ym94XHJcbnN0aWNreS1mb290ZXJcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4qL1xuI21haW4gLmluc2lkZSB7XG4gIG1hcmdpbjogM3JlbSAwOyB9XG5cbi8qXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkxBWU9VVC9IRUFERVItVEhFTUVcclxuR2VzdGFsdHVuZyBkZXIgTGF5b3V0IEhlYWRlclxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4qL1xuI2Zvb3RlciB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cbiAgI2Zvb3RlciBwIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgI2Zvb3RlciBhOmxpbmsge1xuICAgIGNvbG9yOiAjYmViZWJlOyB9XG4gICNmb290ZXIgYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogIzk5OTsgfVxuICAjZm9vdGVyIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjYmViZWJlOyB9XG4gICNmb290ZXIgYTpob3ZlciB7XG4gICAgY29sb3I6ICNkOGQ4ZDg7IH1cbiAgI2Zvb3RlciBhOmFjdGl2ZSB7XG4gICAgY29sb3I6ICNiZWJlYmU7IH1cbiIsIi8qIHZlcnRpY2FsZXIgUmh5dGhtdXMgSGlsZnNsaW5pZW4gLSBFbmRlICovXHJcbkBtaXhpbiB2ZXJ0aWNhbF9yaHl0aG0ge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2JhKDIwMCwgNTAsIDUwLCAuMjUpIDFweCwgdHJhbnNwYXJlbnQgMXB4KTtcclxuICBiYWNrZ3JvdW5kLXNpemU6IDFweCAkYmFzZWxpbmU7XHJcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogIDAgMDtcclxufVxyXG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkdFTkFSQUwvV0VCRk9OVFNcbldlYmZvbnRzXG5IaWVyIGRpZSB2ZXJ3ZW5kZXRlbiBsb2thbGVuIFdlYmZvbnRzIGVpbnRyYWdlblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cbiAgLy8gUmF0aW9uYWxlXG5AaW5jbHVkZSBmb250LWZhY2UoXCJSYXRpb25hbGVcIiwgXCIuLi9mb250L3JhdGlvbmFsZS12OC1sYXRpbi1yZWd1bGFyXCIsIG5vcm1hbCwgbm9ybWFsKTtcbiIsIkBtaXhpbiBmb250LWZhY2UoXG4gICRmb250LWZhbWlseSxcbiAgJGZpbGUtcGF0aCxcbiAgJHdlaWdodDogbm9ybWFsLFxuICAkc3R5bGU6IG5vcm1hbCxcbiAgJGFzc2V0LXBpcGVsaW5lOiAkYXNzZXQtcGlwZWxpbmUsXG4gICRmaWxlLWZvcm1hdHM6IGVvdCB3b2ZmMiB3b2ZmIHR0ZiBzdmcpIHtcblxuICAkdXNlci1kZXByZWNhdGlvbi13YXJuaW5ncy1zZXR0aW5nOiAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M7XG4gICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5nczogZmFsc2UgIWdsb2JhbDtcblxuICAkZm9udC11cmwtcHJlZml4OiBmb250LXVybC1wcmVmaXhlcigkYXNzZXQtcGlwZWxpbmUpO1xuXG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgc3JjOiBmb250LXNvdXJjZS1kZWNsYXJhdGlvbihcbiAgICAgICRmb250LWZhbWlseSxcbiAgICAgICRmaWxlLXBhdGgsXG4gICAgICAkYXNzZXQtcGlwZWxpbmUsXG4gICAgICAkZmlsZS1mb3JtYXRzLFxuICAgICAgJGZvbnQtdXJsLXByZWZpeFxuICAgICk7XG4gIH1cblxuICAkb3V0cHV0LWJvdXJib24tZGVwcmVjYXRpb24td2FybmluZ3M6ICR1c2VyLWRlcHJlY2F0aW9uLXdhcm5pbmdzLXNldHRpbmcgIWdsb2JhbDtcbn1cbiIsIi8vIFVzZWQgZm9yIGNyZWF0aW5nIHRoZSBzb3VyY2Ugc3RyaW5nIGZvciBmb250cyB1c2luZyBAZm9udC1mYWNlXG4vLyBSZWZlcmVuY2U6IGh0dHA6Ly9nb28uZ2wvUnUxYktQXG5cbkBmdW5jdGlvbiBmb250LXVybC1wcmVmaXhlcigkYXNzZXQtcGlwZWxpbmUpIHtcbiAgQGlmICRvdXRwdXQtYm91cmJvbi1kZXByZWNhdGlvbi13YXJuaW5ncyA9PSB0cnVlIHtcbiAgICBAd2FybiBcIltCb3VyYm9uXSBbRGVwcmVjYXRpb25dIGBmb250LXVybC1wcmVmaXhlcmAgaXMgZGVwcmVjYXRlZCBhbmQgXCIgK1xuICAgIFwid2lsbCBiZSByZW1vdmVkIGluIDUuMC4wLlwiO1xuICB9XG5cbiAgQGlmICRhc3NldC1waXBlbGluZSA9PSB0cnVlIHtcbiAgICBAcmV0dXJuIGZvbnQtdXJsO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIHVybDtcbiAgfVxufVxuXG5AZnVuY3Rpb24gZm9udC1zb3VyY2UtZGVjbGFyYXRpb24oXG4gICRmb250LWZhbWlseSxcbiAgJGZpbGUtcGF0aCxcbiAgJGFzc2V0LXBpcGVsaW5lLFxuICAkZmlsZS1mb3JtYXRzLFxuICAkZm9udC11cmwpIHtcblxuICBAaWYgJG91dHB1dC1ib3VyYm9uLWRlcHJlY2F0aW9uLXdhcm5pbmdzID09IHRydWUge1xuICAgIEB3YXJuIFwiW0JvdXJib25dIFtEZXByZWNhdGlvbl0gYGZvbnQtc291cmNlLWRlY2xhcmF0aW9uYCBpcyBkZXByZWNhdGVkIFwiICtcbiAgICBcImFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gNS4wLjAuXCI7XG4gIH1cblxuICAkc3JjOiAoKTtcblxuICAkZm9ybWF0cy1tYXA6IChcbiAgICBlb3Q6ICAgXCIjeyRmaWxlLXBhdGh9LmVvdD8jaWVmaXhcIiBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcbiAgICB3b2ZmMjogXCIjeyRmaWxlLXBhdGh9LndvZmYyXCIgZm9ybWF0KFwid29mZjJcIiksXG4gICAgd29mZjogIFwiI3skZmlsZS1wYXRofS53b2ZmXCIgZm9ybWF0KFwid29mZlwiKSxcbiAgICB0dGY6ICAgXCIjeyRmaWxlLXBhdGh9LnR0ZlwiIGZvcm1hdChcInRydWV0eXBlXCIpLFxuICAgIHN2ZzogICBcIiN7JGZpbGUtcGF0aH0uc3ZnIyN7JGZvbnQtZmFtaWx5fVwiIGZvcm1hdChcInN2Z1wiKVxuICApO1xuXG4gIEBlYWNoICRrZXksICR2YWx1ZXMgaW4gJGZvcm1hdHMtbWFwIHtcbiAgICBAaWYgY29udGFpbnMoJGZpbGUtZm9ybWF0cywgJGtleSkge1xuICAgICAgJGZpbGUtcGF0aDogbnRoKCR2YWx1ZXMsIDEpO1xuICAgICAgJGZvbnQtZm9ybWF0OiBudGgoJHZhbHVlcywgMik7XG5cbiAgICAgIEBpZiAkYXNzZXQtcGlwZWxpbmUgPT0gdHJ1ZSB7XG4gICAgICAgICRzcmM6IGFwcGVuZCgkc3JjLCBmb250LXVybCgkZmlsZS1wYXRoKSAkZm9udC1mb3JtYXQsIGNvbW1hKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkc3JjOiBhcHBlbmQoJHNyYywgdXJsKCRmaWxlLXBhdGgpICRmb250LWZvcm1hdCwgY29tbWEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHNyYztcbn1cbiIsIi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR0VORVJBTC9CT1gtU0laSU5HXG5Cb3JkZXItQm94IEVtcGZlaGx1bmcgUGF1bCBJcmlzaFxuY3NzLXRyaWNrcy5jb20vaW5oZXJpdGluZy1ib3gtc2l6aW5nLXByb2JhYmx5LXNsaWdodGx5LWJldHRlci1iZXN0LXByYWN0aWNlXG5wYXVsaXJpc2guY29tLzIwMTIvYm94LXNpemluZy1ib3JkZXItYm94LWZ0d1xuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuKiB7XG4gICYsXG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cbn1cbiIsIi8qXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuR0VORVJBTC9DT05UQU9fUkVTRVRcbnZvbiBDb250YW8gdmVyd2VuZGV0ZSBLbGFzc2VuXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuLy8gRmxvYXQgS2xhc3NlblxuLmZsb2F0X2xlZnQge1xuXHRmbG9hdDogbGVmdDtcbn1cblxuLmZsb2F0X3JpZ2h0IHtcblx0ZmxvYXQ6IHJpZ2h0O1xufVxuXG4vLyBDbGVhciBGbG9hdHNcbi5ibG9jayB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vIE1pY3JvIGNsZWFyZml4OiBbTmljb2xhcyBHYWxsYWdoZXJdXG4vLyAoaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svKVxuLy8gRm9yIG1vZGVybiBicm93c2Vyc1xuIC8vIDEuIFRoZSBzcGFjZSBjb250ZW50IGlzIG9uZSB3YXkgdG8gYXZvaWQgYW4gT3BlcmEgYnVnIHdoZW4gdGhlXG4gLy8gICAgY29udGVudGVkaXRhYmxlIGF0dHJpYnV0ZSBpcyBpbmNsdWRlZCBhbnl3aGVyZSBlbHNlIGluIHRoZSBkb2N1bWVudC5cbiAvLyAgICBPdGhlcndpc2UgaXQgY2F1c2VzIHNwYWNlIHRvIGFwcGVhciBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgZWxlbWVudHNcbiAvLyAgICB0aGF0IGFyZSBjbGVhcmZpeGVkLlxuIC8vIDIuIFRoZSB1c2Ugb2YgYHRhYmxlYCByYXRoZXIgdGhhbiBgYmxvY2tgIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIHVzaW5nXG4gLy8gICAgYDpiZWZvcmVgIHRvIGNvbnRhaW4gdGhlIHRvcC1tYXJnaW5zIG9mIGNoaWxkIGVsZW1lbnRzLlxuLmNsZWFyIHtcblx0JjpiZWZvcmUsXG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcgJzsgLy8xXG5cdFx0ZGlzcGxheTogdGFibGU7IC8vMlxuXHR9XG5cdCY6YWZ0ZXIge1xuXHRcdGNsZWFyOiBib3RoO1xuXHR9XG59XG5cbi8vIG51ciBmdWVyIFNjcmVlbnJlYWRlciBsZXNiYXJcbi8vIGJhc2VkIG9uIEhUTUw1IEJvaWxlcnBsYXRlOlxuLy8gZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2lzc3Vlcy8xOTQjaXNzdWVjb21tZW50LTU2NDc0NVxuLmludmlzaWJsZSB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Y2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuXHR3aWR0aDogMXB4O1xuXHRoZWlnaHQ6IDFweDtcblx0cGFkZGluZzogMDtcblx0Ym9yZGVyOiAwO1xuXHRtYXJnaW46IC0xcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG4iLCIvKlxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkdFTkVSQUwvQkFTRVxyXG5CYXNpcyBFaW5zdGVsbHVuZ2VuXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuKi9cclxuXHJcbi8vVHlwb2dyYXBoeSBkZWZhdWx0XHJcbiRzYW5zLXNlcmlmOiAgICAgICAgICAgJHZlcmRhbmEgIWRlZmF1bHQ7XHJcbiRzZXJpZjogICAgICAgICAgICAgICAgJGdlb3JnaWEgIWRlZmF1bHQ7XHJcbiRmb250LWZhbWlseTogICAgICAgICAgJHNhbnMtc2VyaWYgIWRlZmF1bHQ7XHJcbiRmb250LWZhbWlseS1oZWFkbGluZTogJGZvbnQtZmFtaWx5ICFkZWZhdWx0O1xyXG4kZm9udC1mYW1pbHktcHJpbnQ6ICAgICRzZXJpZiAhZGVmYXVsdDtcclxuXHJcbiRmb250LXdlaWdodDogICAgICAgICAgNDAwICFkZWZhdWx0O1xyXG4kZm9udC13ZWlnaHQtaGVhZGxpbmU6IDcwMCAhZGVmYXVsdDtcclxuXHJcbiRiYXNlbGluZTogMS41cmVtICFkZWZhdWx0OyAvL1RPRE8gJGJhc2VsaW5lIGluIEFiaGFlbmdpZ2tlaXQgdm9uIEJpbGRzY2hpcm1icmVpdGVcclxuXHJcbiRzY3JlZW4tbWluOiAyMHJlbSAhZGVmYXVsdDtcclxuJHNjcmVlbi1tYXg6IDY0cmVtICFkZWZhdWx0OyAvLyBUT0RPIFVudGVyc2NoaWVkZSBtaXQgdncgdW5kIHZ3bWluIHVudGVyc3VjaGVuXHJcbiRiYXNlZm9udC1taW46IDAuOHJlbSAhZGVmYXVsdDtcclxuJGJhc2Vmb250LW1heDogMnJlbSAhZGVmYXVsdDtcclxuXHJcbiRoMTogMnJlbSAhZGVmYXVsdDtcclxuJGgyOiAxLjVyZW0gIWRlZmF1bHQ7XHJcbiRoMzogMS4yNXJlbSAhZGVmYXVsdDtcclxuJGg0OiAxcmVtICFkZWZhdWx0O1xyXG4kaDU6IDFyZW0gIWRlZmF1bHQ7XHJcbiRoNjogMXJlbSAhZGVmYXVsdDtcclxuXHJcbi8vIENvbG9yLVNjaGVtYSBkZWZhdWx0XHJcbiRuZWFybHktd2hpdGU6ICNlNmU2ZTYgIWRlZmF1bHQ7XHJcbiRncmF5OiAjMzMzICFkZWZhdWx0O1xyXG4kcmVkOiAgI2ZmMDAwMCAhZGVmYXVsdDtcclxuJGJsdWU6ICM0NzdkY2EgIWRlZmF1bHQ7XHJcbi8vIFRyYW5zcGFyZW56ZW4gZGVmYXVsdFxyXG4kdHJhbnNwYXJlbmN5OiAgIDAuOCAhZGVmYXVsdDtcclxuJHRyYW5zcGFyZW5jeS1tZWRpdW06IDAuNSAhZGVmYXVsdDtcclxuLy8gQmFja2dyb3VuZCBnbG9iYWwgZGVmYXVsdFxyXG4kYmctY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xyXG4kYmctY29sb3ItYWx0ZXJuYXRpdmU6ICAgICAkbmVhcmx5LXdoaXRlICFkZWZhdWx0O1xyXG4kYmctY29sb3ItaW52ZXJzOiAgICAgICAgICAkZ3JheSAhZGVmYXVsdDtcclxuJGJnLWNvbG9yLWFjY2VudDogICAgICAgICAgJGJsdWUgIWRlZmF1bHQ7XHJcbiRiZzogICAgICAgICAgICAgICAgICAgICAgICRiZy1jb2xvciAhZGVmYXVsdDtcclxuJGJnLWludmVyczogICAgICAgICAgICAgICAgJGJnLWNvbG9yLWludmVycyAhZGVmYXVsdDtcclxuJGJnLWFsdGVybmF0aXZlOiAgICAgICAgICAgJGJnLWNvbG9yLWFsdGVybmF0aXZlICFkZWZhdWx0O1xyXG4kYmctYWNjZW50OiAgICAgICAgICAgICAgICAkYmctY29sb3ItYWNjZW50ICFkZWZhdWx0O1xyXG4vLyBDb2xvcnMgZ2xvYmFsIGRlZmF1bHRcclxuJGNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXkgIWRlZmF1bHQ7XHJcbiRjb2xvci1hbHRlcm5hdGl2ZTogICAgICAgICMwMDAgIWRlZmF1bHQ7XHJcbiRjb2xvci1pbnZlcnM6ICAgICAgICAgICAgICRuZWFybHktd2hpdGUgIWRlZmF1bHQ7XHJcbiRjb2xvci1hY2NlbnQ6ICAgICAgICAgICAgICRibHVlICFkZWZhdWx0O1xyXG4vLyBMaW5rIENvbG9ycyBnbG9iYWwgZGVmYXVsdFxyXG4kY29sb3ItbGluazogICAgICAgICAkY29sb3ItYWNjZW50ICFkZWZhdWx0O1xyXG4kY29sb3ItbGluay1saW5rOiAgICAkY29sb3ItbGluayAhZGVmYXVsdDtcclxuJGNvbG9yLWxpbmstdmlzaXRlZDogbGlnaHRlbigkY29sb3IsIDQwJSkgIWRlZmF1bHQ7XHJcbiRjb2xvci1saW5rLWhvdmVyOiAgIGRhcmtlbigkY29sb3ItYWNjZW50LCAxNSUpICFkZWZhdWx0O1xyXG4kY29sb3ItbGluay1mb2N1czogICAkY29sb3ItbGluay1ob3ZlciAhZGVmYXVsdDtcclxuJGNvbG9yLWxpbmstYWN0aXZlOiAgJGNvbG9yLWxpbmstaG92ZXIgIWRlZmF1bHQ7XHJcbi8vIEJvcmRlcyBnbG9iYWwgZGVmYXVsdFxyXG4kYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XHJcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICRjb2xvciAhZGVmYXVsdDtcclxuLy8gJGJvcmRlcjogICAgICAgICAgICAgICAgICAgcmVtKCRib3JkZXItd2lkdGgpIHNvbGlkICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XHJcbiRib3JkZXItY29sb3ItYWx0ZXJuYXRpdmU6ICRjb2xvci1hbHRlcm5hdGl2ZSAhZGVmYXVsdDtcclxuLy8gJGJvcmRlci1hbHRlcm5hdGl2ZTogICAgICAgcmVtKCRib3JkZXItd2lkdGgpIHNvbGlkICRib3JkZXItY29sb3ItYWx0ZXJuYXRpdmUgIWRlZmF1bHQ7XHJcbiRib3JkZXItY29sb3ItaW52ZXJzOiAgICAgICRjb2xvci1pbnZlcnMgIWRlZmF1bHQ7XHJcbi8vICRib3JkZXItaW52ZXJzOiAgICAgICAgICAgIHJlbSgkYm9yZGVyLXdpZHRoKSBzb2xpZCAkYm9yZGVyLWNvbG9yLWludmVycyAhZGVmYXVsdDtcclxuJGJvcmRlci1jb2xvci1hY2NlbnQ6ICAgICAgJGNvbG9yLWFjY2VudCAhZGVmYXVsdDtcclxuLy8gJGJvcmRlci1hY2NlbnQ6ICAgICAgICAgICAgcmVtKCRib3JkZXItd2lkdGgpIHNvbGlkICRib3JkZXItY29sb3ItYWNjZW50ICFkZWZhdWx0O1xyXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICA1cHggIWRlZmF1bHQ7XHJcbi8vIFNoYWRvd3MgZ2xvYmFsIGRlZmF1bHRcclxuJGJveC1zaGFkb3c6IDBweCAwcHggOHB4IHJnYmEoMzAsMzEsNzAsMC41KSAhZGVmYXVsdDtcclxuJGJveC1zaGFkb3ctbGlnaHQ6IDBweCAzcHggMnB4IC0ycHggcmdiYSg1MSw1MSwzLDAuMDUpICFkZWZhdWx0O1xyXG4vL1NjaGF0dGVuXHJcbiRib3gtc2hhZG93OiAwIDAgNXB4ICRncmF5ICFkZWZhdWx0O1xyXG5cclxuLy9IVE1MXHJcbmh0bWwge1xyXG4gIEBpbmNsdWRlIGZsdWlkLXR5cG8oZm9udC1zaXplLCAkc2NyZWVuLW1pbiwgJHNjcmVlbi1tYXgsICRiYXNlZm9udC1taW4sICRiYXNlZm9udC1tYXgpO1xyXG4gIGZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4gIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLy9CT0RZXHJcbmJvZHkge1xyXG4gIGJhY2tncm91bmQ6ICRiZztcclxuICBjb2xvcjogJGNvbG9yO1xyXG4gIGZvbnQtZmFtaWx5OiAkc2Fucy1zZXJpZjtcclxuICBsaW5lLWhlaWdodDogc3RyaXAtdW5pdCgkYmFzZWxpbmUpO1xyXG4gIG1pbi1oZWlnaHQ6IDEwMCU7XHJcblxyXG4gIEBtZWRpYSBwcmludCB7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCBub25lO1xyXG4gICAgZm9udC1mYW1pbHk6ICRzZXJpZjtcclxuICAgIGZvbnQtc2l6ZTogMTJwdDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgfVxyXG59XHJcblxyXG4vL1RZUE9HUkFQSFlcclxuLy8gVWViZXJzY2hyaWZ0ZW5cclxuaDEsXHJcbmgyLFxyXG5oMyxcclxuaDQsXHJcbmg1LFxyXG5oNiAge1xyXG4gIEBpZiBub3QgKCRmb250LWZhbWlseSA9PSAkZm9udC1mYW1pbHktaGVhZGxpbmUpIHtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktaGVhZGxpbmU7XHJcbiAgfVxyXG4gIEBpZiBub3QgKCRmb250LXdlaWdodC1oZWFkbGluZSA9PSA0MDApIHtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtaGVhZGxpbmU7XHJcbiAgfVxyXG4gIHBhZGRpbmc6ICgkYmFzZWxpbmUgKiAzIC8gNCkgMCAoJGJhc2VsaW5lIC8gNCk7XHJcbiAgbWFyZ2luOiAwIDAgJGJhc2VsaW5lO1xyXG59XHJcbmgxIHtcclxuICBmb250LXNpemU6ICRoMTtcclxuICBsaW5lLWhlaWdodDogJGJhc2VsaW5lIC8gJGgxO1xyXG59XHJcbmgyIHtcclxuICBmb250LXNpemU6ICRoMjtcclxuICBsaW5lLWhlaWdodDogJGJhc2VsaW5lIC8gJGgyO1xyXG59XHJcbmgzIHtcclxuICBmb250LXNpemU6ICRoMztcclxuICBsaW5lLWhlaWdodDogJGJhc2VsaW5lIC8gJGgzO1xyXG59XHJcbmg0IHtcclxuICBmb250LXNpemU6ICRoNDtcclxuICBsaW5lLWhlaWdodDogJGJhc2VsaW5lIC8gJGg0O1xyXG59XHJcbmg1IHtcclxuICBmb250LXNpemU6ICRoNTtcclxuICBsaW5lLWhlaWdodDogJGJhc2VsaW5lIC8gJGg1O1xyXG59XHJcbmg2IHtcclxuICBmb250LXNpemU6ICRoNjtcclxuICBsaW5lLWhlaWdodDogJGJhc2VsaW5lIC8gJGg2O1xyXG59XHJcbkBtZWRpYSBwcmludCB7XHJcbiAgaDEsXHJcbiAgaDIsXHJcbiAgaDMge1xyXG4gICAgbWFyZ2luOiAwIDAgOXB0O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIC8vIEBpbmNsdWRlIG1sLWJyZWFrLWFmdGVyO1xyXG4gIH1cclxuICBoMSB7XHJcbiAgICBmb250LXNpemU6IDE4cHQ7XHJcbiAgfVxyXG4gIGgyIHtcclxuICAgIGZvbnQtc2l6ZTogMTZwdDtcclxuICB9XHJcbiAgaDMge1xyXG4gICAgZm9udC1zaXplOiAxNHB0O1xyXG4gIH1cclxuICBoNCxcclxuICBoNSxcclxuICBoNiB7XHJcbiAgICBmb250LXNpemU6IDEycHQ7XHJcbiAgfVxyXG59XHJcbi8vRmxpZXNzdGV4dFxyXG4lZm9udCB7XHJcbiAgQGlmIG5vdCgkZm9udC13ZWlnaHQgPT0gNDAwKSB7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGJhc2VsaW5lO1xyXG4gIH1cclxuICBsaW5lLWhlaWdodDogJGJhc2VsaW5lO1xyXG4gIEBtZWRpYSBwcmludCB7XHJcbiAgICBmb250LXNpemU6IDEycHQ7XHJcbiAgICBtYXJnaW46IDAgMCA5cHQ7XHJcbiAgfVxyXG59XHJcbnAge1xyXG4gIEBleHRlbmQgJWZvbnQ7XHJcbiAgbWFyZ2luOiAwIDAgJGJhc2VsaW5lO1xyXG4vLyAgIEBpbmNsdWRlIHhzbWFsbCB7XHJcbi8vICAgICBtYXJnaW46IDAgMCAkYmFzZWxpbmUtbW9iaWxlO1xyXG4vLyAgIH1cclxufVxyXG51bCB7XHJcbiAgbWFyZ2luOiAkYmFzZWxpbmUgMDtcclxuICAvLyBAaW5jbHVkZSB4c21hbGwge1xyXG4gIC8vICAgbWFyZ2luOiAkYmFzZWxpbmUtbW9iaWxlIDA7XHJcbiAgLy8gfVxyXG59XHJcbmFkZHJlc3Mge1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBtYXJnaW46IDAgMCAkYmFzZWxpbmU7XHJcbiAgLy8gQGluY2x1ZGUgeHNtYWxsIHtcclxuICAvLyAgIG1hcmdpbjogMCAwICRiYXNlbGluZS1tb2JpbGU7XHJcbiAgLy8gfVxyXG59XHJcbi8vVGV4dC1MaW5rc1xyXG5wIHtcclxuICBhIHtcclxuICAgIEBpbmNsdWRlIGxpbmstY29sb3I7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vL0JJTERFUlxyXG5pbWcsXHJcbnBpY3R1cmUge1xyXG4gIGhlaWdodDogYXV0bztcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgLy8gQG1lZGlhIHByaW50IHtcclxuICAvLyAgIEBpbmNsdWRlIG1sLWJyZWFrLWluc2lkZTtcclxuICAvLyB9XHJcbn1cclxuZmlndXJlIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgLy8gbWFyZ2luOiAwIDAgKCRiYXNlbGluZSAvIDIpO1xyXG4gIC8vIEBpbmNsdWRlIHNtYWxsIHtcclxuICAvLyAgIG1hcmdpbjogMCAwICgkYmFzZWZvbnQtbW9iaWxlIC8gMik7XHJcbiAgLy8gfVxyXG59XHJcbmZpZ2NhcHRpb24ge1xyXG4gIC8vIGZvbnQtc2l6ZTogJHNtYWxsO1xyXG4gIC8vIGxpbmUtaGVpZ2h0OiAkYmFzZWxpbmUgLyAkc21hbGw7XHJcbiAgLy8gQGluY2x1ZGUgc21hbGwge1xyXG4gIC8vICAgZm9udC1zaXplOiAkc21hbGw7XHJcbiAgLy8gICBsaW5lLWhlaWdodDogJGJhc2VsaW5lIC8gJHNtYWxsO1xyXG4gIC8vIH1cclxufVxyXG4iLCIvLyBRdWVsbGU6IEdlb2ZmIEdyYWhhbSBodHRwczovL2Nzcy10cmlja3MuY29tL3NuaXBwZXRzL2Nzcy9mbHVpZC10eXBvZ3JhcGh5L1xyXG5cclxuLy8gQG1peGluIGZsdWlkLXR5cG8oJG1pbi12dywgJG1heC12dywgJG1pbi1mb250LXNpemUsICRtYXgtZm9udC1zaXplKSB7XHJcbi8vICAgJHUxOiB1bml0KCRtaW4tdncpO1xyXG4vLyAgICR1MjogdW5pdCgkbWF4LXZ3KTtcclxuLy8gICAkdTM6IHVuaXQoJG1pbi1mb250LXNpemUpO1xyXG4vLyAgICR1NDogdW5pdCgkbWF4LWZvbnQtc2l6ZSk7XHJcbi8vXHJcbi8vICAgQGlmICR1MSA9PSAkdTIgYW5kICR1MSA9PSAkdTMgYW5kICR1MSA9PSAkdTQge1xyXG4vLyAgICAgJiB7XHJcbi8vICAgICAgIGZvbnQtc2l6ZTogJG1pbi1mb250LXNpemU7XHJcbi8vICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtaW4tdncpIHtcclxuLy8gICAgICAgICBmb250LXNpemU6IGNhbGMoI3skbWluLWZvbnQtc2l6ZX0gKyAje3N0cmlwLXVuaXQoJG1heC1mb250LXNpemUgLSAkbWluLWZvbnQtc2l6ZSl9ICogKCgxMDB2dyAtICN7JG1pbi12d30pIC8gI3tzdHJpcC11bml0KCRtYXgtdncgLSAkbWluLXZ3KX0pKTtcclxuLy8gICAgICAgfVxyXG4vLyAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWF4LXZ3KSB7XHJcbi8vICAgICAgICAgZm9udC1zaXplOiAkbWF4LWZvbnQtc2l6ZTtcclxuLy8gICAgICAgfVxyXG4vLyAgICAgfVxyXG4vLyAgIH1cclxuLy8gfVxyXG5cclxuLy8gUXVlbGxlOiBodHRwOi8vY29kZXBlbi5pby9NYWRlQnlNaWtlL3Blbi9iRUVHdnZcclxuQG1peGluIGZsdWlkLXR5cG8oJHByb3BlcnRpZXMsICRtaW4tdncsICRtYXgtdncsICRtaW4tdmFsdWUsICRtYXgtdmFsdWUpIHtcclxuXHQmIHtcclxuXHRcdEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XHJcblx0XHRcdCN7JHByb3BlcnR5fTogJG1pbi12YWx1ZTtcclxuXHRcdH1cclxuXHJcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWluLXZ3KSB7XHJcblx0XHRcdEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XHJcblx0XHRcdFx0I3skcHJvcGVydHl9OiBjYWxjKCN7JG1pbi12YWx1ZX0gKyAje3N0cmlwLXVuaXQoJG1heC12YWx1ZSAtICRtaW4tdmFsdWUpfSAqICgoMTAwdncgLSAjeyRtaW4tdnd9KSAvICN7c3RyaXAtdW5pdCgkbWF4LXZ3IC0gJG1pbi12dyl9KSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWF4LXZ3KSB7XHJcblx0XHRcdEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XHJcblx0XHRcdFx0I3skcHJvcGVydHl9OiAkbWF4LXZhbHVlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi8vIFNldHRpbmdzIFByb2plY3RcclxuLy8gcHJvamVrdGJlem9nZW5lIFZhcmlhYmxlXHJcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vL0dFTkVSQUwvQkFTRVxyXG4vLyBUeXBvZ3JhcGh5IGdsb2JhbFxyXG4kc2Fucy1zZXJpZjogYXBwZW5kKCdMdWNpZGEgU2FucyBVbmljb2RlJywgJGx1Y2lkYS1ncmFuZGUsIGNvbW1hKTtcclxuLy8gJHNhbnMtc2VyaWY6ICRoZWx2ZXRpY2E7XHJcbi8vICRzYW5zLXNlcmlmOiAkdmVyZGFuYTtcclxuLy8gJHNhbnMtc2VyaWY6IGFwcGVuZCgnUm9ib3RvJywgJHZlcmRhbmEsIGNvbW1hKTsgLy8gZXJzdGVuIFdlcnQgd2lyZCBhbmdlaGFlbmd0XHJcblxyXG4kZm9udC13ZWlnaHQ6IDQwMDtcclxuJGZvbnQtd2VpZ2h0LWhlYWRsaW5lOiA0MDA7XHJcblxyXG4kc2NyZWVuLW1pbjogMjByZW07XHJcbiRzY3JlZW4tbWF4OiAzNy41cmVtO1xyXG4kYmFzZWZvbnQtbWluOiAwLjhyZW07XHJcbiRiYXNlZm9udC1tYXg6IDFyZW07XHJcblxyXG4vLyBDb2xvci1TY2hlbWFcclxuJGRhcmstZ3JheTogIzMyMzIzMjtcclxuJGdyYXkgICAgIDogIzk5OTtcclxuJHNpbHZlciAgIDogI2JlYmViZTtcclxuJGNhY3R1cyAgIDogIzVhN2E1YTtcclxuXHJcbi8vIEJhY2tncm91bmQgZ2xvYmFsXHJcbiRiZy1jb2xvciAgICAgICAgICAgIDogJGRhcmstZ3JheTtcclxuXHJcbi8vIENvbG9ycyBnbG9iYWxcclxuJGNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheTtcclxuJGNvbG9yLWFsdGVybmF0aXZlOiAgICAgICAkc2lsdmVyO1xyXG4vLyAkY29sb3ItaW52ZXJzOiAgICAgICAgICAgICNmZmY7XHJcbiRjb2xvci1hY2NlbnQ6ICAgICAgICAgICAgJGNhY3R1cztcblxyXG4vLyBMaW5rIENvbG9ycyBnbG9iYWwgKGVpbmtvbW1lbnRpZXJlbiBudXIgd2VubiBhbmRlcmUgWnVvcmRudWcgYWxzIGRlZmF1bHQpXHJcbi8vICRjb2xvci1saW5rOiAgICAgICAgICAkY29sb3ItYWNjZW50O1xyXG4vLyAkY29sb3ItbGluay1saW5rOiAgICAgJGNvbG9yLWxpbms7XHJcbi8vICRjb2xvci1saW5rLXZpc2l0ZWQ6ICBncmF5O1xyXG4vLyAkY29sb3ItbGluay1ob3ZlcjogICAgZGFya2VuKCRjb2xvci1hY2NlbnQsIDMwJSk7XHJcbi8vICRjb2xvci1saW5rLWZvY3VzOiAgICAkY29sb3ItbGluay1ob3ZlcjtcclxuLy8gJGNvbG9yLWxpbmstYWN0aXZlOiAgICRjb2xvci1saW5rLWhvdmVyO1xyXG5cclxuLy9Cb3JkZXMgZ2xvYmFsXHJcbi8vICRib3JkZXItd2lkdGg6ICAgICAgICAgICAgIDFweDtcclxuLy8gJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktc3RhbmRhcmQ7XHJcbi8vICRib3JkZXI6ICAgICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcclxuLy8gJGJvcmRlci1jb2xvci1hbHRlcm5hdGl2ZTogJGNvbG9yLWFsdGVybmF0aXZlO1xyXG4vLyAkYm9yZGVyLWFsdGVybmF0aXZlOiAgICAgICByZW0oJGJvcmRlci13aWR0aCkgc29saWQgJGJvcmRlci1jb2xvci1hbHRlcm5hdGl2ZTtcclxuLy8gJGJvcmRlci1jb2xvci1pbnZlcnM6ICAgICAgJGNvbG9yLWludmVycztcclxuLy8gJGJvcmRlci1pbnZlcnM6ICAgICAgICAgICAgcmVtKCRib3JkZXItd2lkdGgpIHNvbGlkICRib3JkZXItY29sb3ItaW52ZXJzO1xyXG4vLyAkYm9yZGVyLWNvbG9yLWFjY2VudDogICAgICAkY29sb3ItYWNjZW50O1xyXG4vLyAkYm9yZGVyLWFjY2VudDogICAgICAgICAgICByZW0oJGJvcmRlci13aWR0aCkgc29saWQgJGJvcmRlci1jb2xvci1hY2NlbnQ7XHJcbi8vICRib3JkZXItcmFkaXVzOiAgICAgICAgICAgIDVweDtcclxuXHJcbi8vIFNoYWRvd3NcclxuLy8gJGJveC1zaGFkb3c6IDBweCAwcHggOHB4IHJnYmEoMzAsMzEsNzAsMC41KTtcclxuLy8gJGJveC1zaGFkb3ctbGlnaHQ6IDBweCAzcHggMnB4IC0ycHggcmdiYSg1MSw1MSwzLDAuMDUpO1xyXG4vLyAkYm94LXNoYWRvdy1saWdodDogMHB4IDNweCAycHggLTJweCByZ2JhKDUxLDUxLDMsMC4wNSk7XHJcbi8vICRib3gtc2hhZG93OiAwIDAgNXB4ICRncmF5ICFkZWZhdWx0O1xyXG5cclxuLy8gQ09NUE9ORU5UUy9OQVZJR0FUSU9OXHJcbi8vICRjb2xvci1saW5rLW5hdjogJGNvbG9yLWFsdGVybmF0aXZlO1xyXG4kY29sb3ItbGluay1uYXYtY3VycmVudDogJGNvbG9yLWFsdGVybmF0aXZlO1xyXG4kY29sb3ItbGluay1uYXYtY3VycmVudDogJGNvbG9yLWFjY2VudDtcclxuJGJnLW5hdjogdHJhbnNwYXJlbnQ7IC8vIHZlcndlbmRldCBlbnR3ZWRlciBmdWVyIHVtZ2ViZW5kZXMgbW9kX25hdmlnYXRpb24gb2RlciBmdWVyIHVsXHJcblxyXG4vLyBMQVlPVVRcclxuJG1pbi13aWR0aDogIDIwcmVtOyAvLzMyMHB4XHJcbi8vICRtYXgtd2lkdGg6ICAxNjAwcHg7XHJcbi8vICRtaW4taGVpZ2h0OiAxMDB2aDtcclxuLy8gJGNvbnRlbnQtd2lkdGg6IDc1MHB4O1xyXG4vLyBMQVlPVVQvSEVBREVSXHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEdlb3JnaWEgZm9udCBzdGFjay5cbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJGdlb3JnaWE6IFwiR2VvcmdpYVwiLCBcIkNhbWJyaWFcIiwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgXCJUaW1lc1wiLCBzZXJpZjtcblxuLy8vIEhlbHZldGljYSBmb250IHN0YWNrLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuXG4kaGVsdmV0aWNhOiBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiUm9ib3RvXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcblxuLy8vIEx1Y2lkYSBHcmFuZGUgZm9udCBzdGFjay5cbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJGx1Y2lkYS1ncmFuZGU6IFwiTHVjaWRhIEdyYW5kZVwiLCBcIlRhaG9tYVwiLCBcIlZlcmRhbmFcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuXG4vLy8gTW9ub3NwYWNlIGZvbnQgc3RhY2suXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG5cbiRtb25vc3BhY2U6IFwiQml0c3RyZWFtIFZlcmEgU2FucyBNb25vXCIsIFwiQ29uc29sYXNcIiwgXCJDb3VyaWVyXCIsIG1vbm9zcGFjZTtcblxuLy8vIFZlcmRhbmEgZm9udCBzdGFjay5cbi8vL1xuLy8vIEB0eXBlIExpc3RcblxuJHZlcmRhbmE6IFwiVmVyZGFuYVwiLCBcIkdlbmV2YVwiLCBzYW5zLXNlcmlmO1xuIiwiLy8gUXVlbGxlOiBCb3VyYm9uICBkZXJ6ZWl0IHN0cmlwLXVuaXRzXHJcbi8vIG5vY2ggaW4gQk9VUkJPTiB2b3JoYW5kZW4gYWJlciBtaXQgZGVwcmFjZXRlZCBmdWVyIGJvdXJib24gNSxcclxuLy8gRXJzYXR6IGRhbm4gc3RyaXAtdW5pdFxyXG4vLyB3ZWl0ZXJlIFF1ZWxsZTogR2VvZmYgR3JhaGFtIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc25pcHBldHMvY3NzL2ZsdWlkLXR5cG9ncmFwaHkvXHJcblxyXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkdmFsdWUpIHtcclxuICBAcmV0dXJuICR2YWx1ZSAvICgkdmFsdWUgKiAwICsgMSk7XHJcbn1cclxuIiwiXHJcbkBtaXhpbiBsaW5rLWNvbG9yKFxyXG4gICRjb2xvci1saW5rLWxpbms6ICRjb2xvci1hY2NlbnQsXHJcbiAgJGNvbG9yLWxpbmstdmlzaXRlZDogJGNvbG9yLWFsdGVybmF0aXZlLFxyXG4gICRjb2xvci1saW5rLWhvdmVyOiBkYXJrZW4oJGNvbG9yLWFjY2VudCwgMTAlKSxcclxuICAkY29sb3ItbGluay1mb2N1czogJGNvbG9yLWxpbmstaG92ZXIsXHJcbiAgJGNvbG9yLWxpbmstYWN0aXZlOiAkY29sb3ItbGluay1ob3ZlclxyXG4gIClcclxuICB7XHJcbiAgJjpsaW5rIHtcclxuICAgIGNvbG9yOiAkY29sb3ItbGluay1saW5rO1xyXG4gIH1cclxuXHJcbiAgJjp2aXNpdGVkIHtcclxuICAgIGNvbG9yOiAkY29sb3ItbGluay12aXNpdGVkO1xyXG4gIH1cclxuXHJcbiAgQGlmICgkY29sb3ItbGluay1mb2N1cyBvciAkY29sb3ItbGluay1ob3Zlcikge1xyXG4gICAgQGlmICgkY29sb3ItbGluay1mb2N1cyA9PSAkY29sb3ItbGluay1ob3Zlcikge1xyXG4gICAgICAmOmZvY3VzLFxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWxpbmstaG92ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1saW5rLWZvY3VzO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWxpbmstaG92ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6YWN0aXZlIHtcclxuICAgIGNvbG9yOiAkY29sb3ItbGluay1hY3RpdmU7XHJcbiAgfVxyXG59XHJcbiIsIi8qXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuSEVBRExJTkVTXHJcbkhUTUwtRWxlbWVudCBoMSBiaXMgaDZcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4qL1xyXG5cclxuXHJcblxyXG4uaGVhZGxpbmUtLWNlbnRlcmVkIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuIiwiLypcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5MSU5Lc1xyXG5IVE1MLUVsZW1lbnQgYVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiovXHJcblxyXG4kY29sb3ItYWx0ZXJuYXRpdmU6ICMwMDAgIWRlZmF1bHQ7XHJcblxyXG4uYmFja2xpbmsge1xyXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gIGEge1xyXG4gICAgQGluY2x1ZGUgbGluay1jb2xvcigkY29sb3ItbGluay12aXNpdGVkOiAkY29sb3ItYWNjZW50KTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZzogJGJhc2VsaW5lIDFyZW07XHJcbiAgfVxyXG59XHJcbiIsIi8qXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuRklHVVJFXHJcbkhUTUwtRWxlbWVudCBmaWd1cmVcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4qL1xyXG5cclxuJGJnLWNvbG9yLXBpY3R1cmUtZnJhbWU6ICM0ZjRmNGYgIWRlZmF1bHQ7XHJcbi8vIFRPRE8gVmFyaWFibGVuIHZlcndlbmRlbiB1bmQgZWluc2V0emVuXHJcbi8vIEJpbGRlciB2ZXJ0aWthbCB1bmQgaG9yaXpvbnRhbCB6ZW50cmllcmVuLCBvaG5lIHNpZSB6dXp1c2NobmVpZGVuLCBSYWhtZW4gdW5kIFNjaGF0dGVuIFRPRE86IG1vZGVybmVyIGdlc3RhbHRlblxyXG4vLyBMb29rIEJpbGRlcnJhaG1lbiB3aWUgdm9uIExSIGdlbmVyaWVydFxyXG4lcGljdHVyZV9mcmFtZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjojNGY0ZjRmO1xyXG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMzZjNmM2Y7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzZjNmM2Y7XHJcbiAgd2lkdGg6IDI1MHB4O1xyXG4gIGhlaWdodDogMjUwcHg7XHJcbiAgbGluZS1oZWlnaHQ6IDI0OHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBpbWcge1xyXG4gICAgdmVydGljYWwtYWxpZ246bWlkZGxlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYm9yZGVyOiBzb2xpZCAxcHggIzMyMzIzMjtcclxuICAgIGJveC1zaGFkb3c6ICA0cHggNHB4IDRweCAjMzMzO1xyXG4gIH1cclxufVxyXG5cclxuLy8gTG9vayBCaWxkZXJyYWhtZW4gd2llIHZvbiBMUiBnZW5lcmllcnQgbWl0IEJpbGR1bnRlcnNjaHJpZnRcclxuJXBpY3R1cmVfZnJhbWUtLWNhcHRpb24ge1xyXG4gIEBleHRlbmQgJXBpY3R1cmVfZnJhbWU7XHJcbiAgaGVpZ2h0OiAyNzBweDtcclxuICBmaWdjYXB0aW9uIHtcclxuICAgIGgyIHtcclxuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xyXG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgXHRsaW5lLWhlaWdodDogMTtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvKlxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbk5BVklHQVRJT05FTlxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cbiRjb2xvciAgICAgICAgICAgICAgICAgOiAkZ3JheSAhZGVmYXVsdDtcbiRjb2xvci1saW5rLW5hdiAgICAgICAgOiAkY29sb3IgIWRlZmF1bHQ7XG4kY29sb3ItbGluay1uYXYtY3VycmVudDogJGNvbG9yLWFjY2VudCAhZGVmYXVsdDtcbiRiYXNlbGluZSAgICAgICAgICAgICAgOiAxLjUgIWRlZmF1bHQ7XG5cbiVuYXYge1xuICB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaXN0LXN0eWxlLWltYWdlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICBhLFxuICBzdHJvbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vIEhhdXB0bmF2aWdhdGlvblxuLm5hdi1tYWluIHtcbiAgQGluY2x1ZGUgaGlkZTtcbiAgQGV4dGVuZCAlbmF2O1xuICBAaW5jbHVkZSBzbWFsbCB7XG4gICAgQGluY2x1ZGUgaGlkZShmYWxzZSk7XG4gIH1cbiAgLmxldmVsXzEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgQGluY2x1ZGUgc21hbGwge1xuICAgICAgZmxleC1mbG93OiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuICAgIEBpbmNsdWRlIGxhcmdlIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuICAgID4gbGkge1xuICAgICAgPiBhLFxuICAgICAgPiBzdHJvbmcge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6ICRiYXNlbGluZSAxcmVtO1xuICAgICAgICBAaW5jbHVkZSBzbWFsbCB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgID4gYSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItbGluay1uYXY7XG4gICAgICB9XG4gICAgICA+IGE6aG92ZXIsXG4gICAgICA+IC50cmFpbCxcbiAgICAgID4gc3Ryb25nIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1saW5rLW5hdi1jdXJyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBtb2JpbGUgVmVyc2lvblxuICAmLm5hdl9zaG93IHtcbiAgICBAaW5jbHVkZSBoaWRlKGZhbHNlKTtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICB9XG4gIC5uby1qcyAmIHtcbiAgICBAaW5jbHVkZSBoaWRlKGZhbHNlKTtcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICB9XG59XG5cbi8vIGJ1dHRvbiBtb2JpbGUgTmF2aWdhdGlvblxuLmJ0bl9uYXZfbW9iaWxlIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIEBpbmNsdWRlIHNtYWxsIHtcbiAgICBAaW5jbHVkZSBoaWRlOyAvLyBhdWYgZ3Jvw59lbiBCaWxkc2NoaXJtZW4gYXVzYmxlbmRlblxuICB9XG4gIC5pY29uX2J0bl9tZW51IHtcbiAgICBmaWxsOiAkY29sb3I7XG4gICAgQGluY2x1ZGUgaGlkZShmYWxzZSk7XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtO1xuICB9XG4gIC5pY29uX2J0bl9jbG9zZSB7XG4gICAgZmlsbDogJGNvbG9yO1xuICAgIEBpbmNsdWRlIGhpZGU7XG4gIH1cbiAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgJi5idG5fYWN0aXZlIHtcbiAgICAuaWNvbl9idG5fbWVudSB7XG4gICAgICBAaW5jbHVkZSBoaWRlO1xuICAgIH1cbiAgICAuaWNvbl9idG5fY2xvc2Uge1xuICAgICAgQGluY2x1ZGUgaGlkZShmYWxzZSk7XG4gICAgICB3aWR0aDogMnJlbTtcbiAgICAgIGhlaWdodDogMnJlbTtcbiAgICB9XG4gIH1cbiAgLm5vLWpzICYge1xuICAgIEBpbmNsdWRlIGhpZGU7IC8vIGJlaSBqYXZhc2NyaXB0IGF1cyBhdXNibGVuZGVuXG4gIH1cbn1cbiIsIi8vdW5zaWNodGJhcmUgRWxlbWVudCwgYWJlciBmw7xyIFNjcmVlbnJlYWRlciBzaWNodGJhciAow5xiZXJuYWhtZSBhdXMgQ29udGFvIEZyYW1ld29yayBiencuIHZvbiBodG1sNS1ib2lsZXJwbGF0ZSlcclxuXHJcblxyXG5AbWl4aW4gaGlkZSAoJGhpZGU6IHRydWUpIHtcclxuICBAaWYgJGhpZGUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xyXG4gICAgd2lkdGg6IDFweDtcclxuICAgIGhlaWdodDogMXB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIG1hcmdpbjogLTFweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgfVxyXG4gIEBlbHNlIHtcclxuICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICBjbGlwOiBhdXRvO1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEJyZWFrcG9pbnRzXHJcbiRiLXh4c21hbGwgOiAyMHJlbSAhZGVmYXVsdDsgIC8vIDMyMHB4IHNtYXJ0cGhvbmUgKHBvcnRyYWl0KVxyXG4kYi14eHNtYWxsLW1heCA6IGNhbGMoMzByZW0gLSAxcHgpICFkZWZhdWx0OyAgLy8gNDc5cHggc21hcnRwaG9uZSAocG9ydHJhaXQpXHJcbiRiLXhzbWFsbCAgOiAzMHJlbSFkZWZhdWx0OyAvLyA0ODBweCBzbWFydHBob25lIChsYW5kc2NhcGUpXHJcbiRiLXhzbWFsbC1tYXggIDogY2FsYygzNy41cmVtIC0gMXB4KSAhZGVmYXVsdDsgLy8gNTk5cHggc21hcnRwaG9uZSAobGFuZHNjYXBlKVxyXG4kYi1zbWFsbCAgIDogMzcuNXJlbSAhZGVmYXVsdDsgLy8gNjAwcHggc21hbGwgdGFibGV0XHJcbiRiLXNtYWxsLW1heCAgIDogY2FsYyg0OHJlbSAtIDFweCkgIWRlZmF1bHQ7IC8vIDc2N3B4IHNtYWxsIHRhYmxldFxyXG4kYi1tZWRpdW0gIDogNDhyZW0gIWRlZmF1bHQ7IC8vIDc2OHB4IHRhYmxldCAocG9ydHJhaXQpXHJcbiRiLW1lZGl1bS1tYXggIDogY2FsYyg2NHJlbSAtIDFweCkgIWRlZmF1bHQ7IC8vIDEwMjNweCB0YWJsZXQgKHBvcnRyYWl0KVxyXG4kYi1sYXJnZSAgIDogNjRyZW0gIWRlZmF1bHQ7IC8vIDEwMjRweCB0YWJsZXQgKGxhbmRzY2FwZSlcclxuJGItbGFyZ2UtbWF4ICAgOiBjYWxjKDkwcmVtIC0gMXB4KSAhZGVmYXVsdDsgLy8gMTQ5M3B4IHRhYmxldCAobGFuZHNjYXBlKVxyXG4kYi14bGFyZ2UgIDogOTByZW0gIWRlZmF1bHQ7Ly8gMTQ0MHB4IGRlc2t0b3BcclxuJGIteGxhcmdlLW1heCAgOiBjYWxjKDEwMHJlbSAtIDFweCkgIWRlZmF1bHQ7Ly8gMTU5OSBkZXNrdG9wXHJcbiRiLXhsYXJnZS1wbHVzICA6IDEwMHJlbSAhZGVmYXVsdDsvLyAxNjAwcHggZGVza3RvcFxyXG4kYi14eGxhcmdlIDogMTIwcmVtICFkZWZhdWx0OyAvLyAxOTIwcHhcclxuXHJcbi8vIEhpZ2h0cmVzb2x1dGlvblxyXG4kcmV0aW5hICAgICAgICA6IFwiKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKVwiICFkZWZhdWx0O1xyXG5cclxuLy8gYWIgZWluZXIgQnJlaXRlXHJcbkBtaXhpbiB4eHNtYWxsIHtcclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGIteHhzbWFsbH0pIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHh4c21hbGwtaGlkcGkoJHJhdGlvOiAxLjMpIHtcclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGIteHhzbWFsbH0pIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAkcmF0aW8pLFxyXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRiLXh4c21hbGx9KSBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcclxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skYi14eHNtYWxsfSkgYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyRyYXRpb30vMSksXHJcbiAgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGIteHhzbWFsbH0pIGFuZCAobWluLXJlc29sdXRpb246IHJvdW5kKCRyYXRpbyAqIDk2ZHBpKSksXHJcbiAgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGIteHhzbWFsbH0pIGFuZCAobWluLXJlc29sdXRpb246ICRyYXRpbyAqIDFkcHB4KSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiB4c21hbGwge1xyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skYi14c21hbGx9KSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiB4c21hbGwtaGlkcGkoJHJhdGlvOiAxLjMpIHtcclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGIteHNtYWxsfSkgYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXHJcbiAgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGIteHNtYWxsfSkgYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXHJcbiAgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGIteHNtYWxsfSkgYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyRyYXRpb30vMSksXHJcbiAgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGIteHNtYWxsfSkgYW5kIChtaW4tcmVzb2x1dGlvbjogcm91bmQoJHJhdGlvICogOTZkcGkpKSxcclxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skYi14c21hbGx9KSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAkcmF0aW8gKiAxZHBweCkge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gc21hbGwge1xyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skYi1zbWFsbH0pIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHNtYWxsLWhpZHBpKCRyYXRpbzogMS4zKSB7XHJcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRiLXNtYWxsfSkgYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXHJcbiAgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGItc21hbGx9KSBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcclxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skYi1zbWFsbH0pIGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogI3skcmF0aW99LzEpLFxyXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRiLXNtYWxsfSkgYW5kIChtaW4tcmVzb2x1dGlvbjogcm91bmQoJHJhdGlvICogOTZkcGkpKSxcclxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skYi1zbWFsbH0pIGFuZCAobWluLXJlc29sdXRpb246ICRyYXRpbyAqIDFkcHB4KSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZWRpdW0ge1xyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skYi1tZWRpdW19KSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZWRpdW0taGlkcGkoJHJhdGlvOiAxLjMpIHtcclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGItbWVkaXVtfSkgYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXHJcbiAgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGItbWVkaXVtfSkgYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXHJcbiAgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGItbWVkaXVtfSkgYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyRyYXRpb30vMSksXHJcbiAgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGItbWVkaXVtfSkgYW5kIChtaW4tcmVzb2x1dGlvbjogcm91bmQoJHJhdGlvICogOTZkcGkpKSxcclxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skYi1tZWRpdW19KSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAkcmF0aW8gKiAxZHBweCkge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbGFyZ2Uge1xyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skYi1sYXJnZX0pIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGxhcmdlLWhpZHBpKCRyYXRpbzogMS4zKSB7XHJcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRiLWxhcmdlfSkgYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXHJcbiAgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGItbGFyZ2V9KSBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcclxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skYi1sYXJnZX0pIGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogI3skcmF0aW99LzEpLFxyXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRiLWxhcmdlfSkgYW5kIChtaW4tcmVzb2x1dGlvbjogcm91bmQoJHJhdGlvICogOTZkcGkpKSxcclxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skYi1sYXJnZX0pIGFuZCAobWluLXJlc29sdXRpb246ICRyYXRpbyAqIDFkcHB4KSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiB4bGFyZ2Uge1xyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skYi14bGFyZ2V9KSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiB4bGFyZ2UtaGlkcGkoJHJhdGlvOiAxLjMpIHtcclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGIteGxhcmdlfSkgYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXHJcbiAgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGIteGxhcmdlfSkgYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXHJcbiAgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGIteGxhcmdlfSkgYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyRyYXRpb30vMSksXHJcbiAgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGIteGxhcmdlfSkgYW5kIChtaW4tcmVzb2x1dGlvbjogcm91bmQoJHJhdGlvICogOTZkcGkpKSxcclxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skYi14bGFyZ2V9KSBhbmQgKG1pbi1yZXNvbHV0aW9uOiAkcmF0aW8gKiAxZHBweCkge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4geGxhcmdlLXBsdXMge1xyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skYi14bGFyZ2UtcGx1c30pIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHhsYXJnZS1wbHVzLWhpZHBpKCRyYXRpbzogMS4zKSB7XHJcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRiLXhsYXJnZS1wbHVzfSkgYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXHJcbiAgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGIteGxhcmdlLXBsdXN9KSBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcclxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skYi14bGFyZ2UtcGx1c30pIGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogI3skcmF0aW99LzEpLFxyXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRiLXhsYXJnZS1wbHVzfSkgYW5kIChtaW4tcmVzb2x1dGlvbjogcm91bmQoJHJhdGlvICogOTZkcGkpKSxcclxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skYi14bGFyZ2UtcGx1c30pIGFuZCAobWluLXJlc29sdXRpb246ICRyYXRpbyAqIDFkcHB4KSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiB4eGxhcmdlIHtcclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGIteHhsYXJnZX0pIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHh4bGFyZ2UtaGlkcGkoJHJhdGlvOiAxLjMpIHtcclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGIteHhsYXJnZX0pIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAkcmF0aW8pLFxyXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRiLXh4bGFyZ2V9KSBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcclxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skYi14eGxhcmdlfSkgYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyRyYXRpb30vMSksXHJcbiAgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGIteHhsYXJnZX0pIGFuZCAobWluLXJlc29sdXRpb246IHJvdW5kKCRyYXRpbyAqIDk2ZHBpKSksXHJcbiAgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGIteHhsYXJnZX0pIGFuZCAobWluLXJlc29sdXRpb246ICRyYXRpbyAqIDFkcHB4KSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbi8vYXVzY2hsaWVzc2xpY2ggZWluIEJlcmVpY2hcclxuQG1peGluIG9ubHkteHhzbWFsbCB7XHJcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRiLXh4c21hbGx9KSBhbmQgKG1heC13aWR0aDogI3skYi14eHNtYWxsLW1heH0pIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG9ubHkteHNtYWxsIHtcclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGIteHNtYWxsfSkgYW5kIChtYXgtd2lkdGg6ICN7JGIteHNtYWxsLW1heH0pIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG9ubHktc21hbGwge1xyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skYi1zbWFsbH0pIGFuZCAobWF4LXdpZHRoOiAjeyRiLXNtYWxsLW1heH0pIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIG9ubHktbWVkaXVtIHtcclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGItbWVkaXVtfSkgYW5kIChtYXgtd2lkdGg6ICN7JGItbWVkaXVtLW1heH0pIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG5AbWl4aW4gb25seS1tZWRpdW0taGlkcGkoJHJhdGlvOiAxLjMpIHtcclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGItbWVkaXVtfSkgYW5kIChtYXgtd2lkdGg6ICN7JGItbWVkaXVtLW1heH0pIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAkcmF0aW8pLFxyXG4gIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRiLW1lZGl1bX0pIGFuZCAobWF4LXdpZHRoOiAjeyRiLW1lZGl1bS1tYXh9KSBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcclxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skYi1tZWRpdW19KSBhbmQgKG1heC13aWR0aDogI3skYi1tZWRpdW0tbWF4fSkgYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyRyYXRpb30vMSksXHJcbiAgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGItbWVkaXVtfSkgYW5kIChtYXgtd2lkdGg6ICN7JGItbWVkaXVtLW1heH0pIGFuZCAobWluLXJlc29sdXRpb246IHJvdW5kKCRyYXRpbyAqIDk2ZHBpKSksXHJcbiAgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGItbWVkaXVtfSkgYW5kIChtYXgtd2lkdGg6ICN7JGItbWVkaXVtLW1heH0pIGFuZCAobWluLXJlc29sdXRpb246ICRyYXRpbyAqIDFkcHB4KSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBvbmx5LWxhcmdlIHtcclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7JGItbGFyZ2V9KSBhbmQgKG1heC13aWR0aDogI3skYi1sYXJnZS1tYXh9KSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBvbmx5LXhsYXJnZSB7XHJcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRiLXhsYXJnZX0pIGFuZCAobWF4LXdpZHRoOiAjeyRiLXhsYXJnZS1tYXh9KSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuIiwiLypcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5NT0RVTC9QUklWQVRFIE1PRC1MT0dPXHJcbkdlc3RhbHR1bmcgTG9nby1Nb2R1bCB1bmQgTG9nb1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiovXHJcblxyXG4kc2NyZWVuLW1pbjogMjByZW0gIWRlZmF1bHQ7XHJcbiRzY3JlZW4tbWF4OiA2NHJlbSAhZGVmYXVsdDsgLy8gVE9ETyBVbnRlcnNjaGllZGUgbWl0IHZ3IHVuZCB2d21pblxyXG4kbG9nb2ZvbnQtbWluOiAzLjZyZW0gIWRlZmF1bHQ7XHJcbiRsb2dvZm9udC1tYXg6IDVyZW0gIWRlZmF1bHQ7XHJcblxyXG4ubG9nbyB7XHJcbiAgZm9udC1mYW1pbHk6J1JhdGlvbmFsZScsIHNhbnMtc2VyaWY7XHJcbiAgQGluY2x1ZGUgZmx1aWQtdHlwbyhmb250LXNpemUsICRzY3JlZW4tbWluLCAkc2NyZWVuLW1heCwgJGxvZ29mb250LW1pbiAvIDIuMzUsICRsb2dvZm9udC1tYXggLyAyLjM1KTtcclxuICBsaW5lLWhlaWdodDogMS4yO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR0ZXh0LXNoYWRvdzogMXB4IDFweCAxcHggIzAwMDtcclxuICBAaW5jbHVkZSBzbWFsbCB7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xyXG4gIH1cclxuICBzcGFuIHtcclxuICAgIEBpbmNsdWRlIGZsdWlkLXR5cG8oZm9udC1zaXplLCAkc2NyZWVuLW1pbiwgJHNjcmVlbi1tYXgsICRsb2dvZm9udC1taW4sICRsb2dvZm9udC1tYXgpO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG4gIGEge1xyXG4gICAgY29sb3I6cmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxuICAmLmxvZ29faGlkZSB7XHJcbiAgICBAaW5jbHVkZSBoaWRlO1xyXG4gIH1cclxufVxyXG4iLCIvKlxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbk1PRFVML01PRC1BUlRJQ0xFXHJcbmdsb2JhbGUgRWluc3RlbGx1bmdlbiBBcnRpa2VsLU1vZHVsXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuKi9cclxuIiwiLypcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5HQUxMRVJZXHJcbkNvbnRlbnRlbGVtZW50IGNlX2dhbGxlcnlcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4qL1xyXG5cclxuXHJcbiVnYWxsZXJ5IHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBsaXN0LXN0eWxlLWltYWdlOiBub25lO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMXJlbSAwIDA7XHJcbiAgICBmaWd1cmUge1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgICBsaSB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxufVxyXG4ubGlzdF9hbGJ1bXMsXHJcbi5hbGJ1bV9wcmV2aWV3IHtcclxuICBAZXh0ZW5kICVnYWxsZXJ5O1xyXG4gIGRpc3BsYXk6IGdyaWQ7XHJcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCAyNTBweCk7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgQHN1cHBvcnRzIG5vdCAoZGlzcGxheTogZ3JpZCkge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZmxvdzogd3JhcDtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICB9XHJcbn1cclxuLmFsYnVtX3ByZXZpZXdfX2l0ZW0ge1xyXG4gIEBleHRlbmQgJXBpY3R1cmVfZnJhbWU7XHJcbn1cclxuLmxpc3RfYWxidW1zX19pdGVtIHtcclxuICBAZXh0ZW5kICVwaWN0dXJlX2ZyYW1lLS1jYXB0aW9uO1xyXG59XHJcbi8vIGdyaWQgaW0gSUUgdW5kIGVkZ2UgZnVua3Rpb25pZXJ0IG5pY2h0XHJcbi5pZSxcclxuLmVkZ2Uge1xyXG4gIC5saXN0X2FsYnVtcyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1mbG93OiB3cmFwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gIH1cclxufVxyXG4iLCIvKlxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5MQVlPVVQvV1JBUFBFUlxyXG5HZXN0YWx0dW5nIGRlcyBHZXNhbXQgTGF5b3V0c1xyXG5cclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuKi9cclxuXHJcbiRtaW4td2lkdGg6IDIwcmVtICFkZWZhdWx0O1xyXG4kbWF4LXdpZHRoOiAxMjByZW0gIWRlZmF1bHQ7XHJcblxyXG4jd3JhcHBlciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWZsb3c6IGNvbHVtbjtcclxuICAvLyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIG1pbi13aWR0aDogJG1pbi13aWR0aDtcclxuICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XHJcbiAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgcGFkZGluZzogJGJhc2VsaW5lO1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG4gID4gI2NvbnRhaW5lciB7XHJcbiAgICBmbGV4OiAxO1xyXG4gIH1cclxufVxyXG4iLCIvKlxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5MQVlPVVQvSEVBREVSLVRIRU1FXHJcbkdlc3RhbHR1bmcgZGVyIExheW91dCBIZWFkZXJcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuKi9cclxuXHJcbiNoZWFkZXIge1xyXG4gIG1hcmdpbi1ib3R0b206ICRiYXNlbGluZTtcclxuICAuaW5zaWRlIHtcclxuICAgIEBpbmNsdWRlIHNtYWxsIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC1mbG93OiB3cmFwO1xyXG4gICAgfVxyXG4gIH1cclxuICAubmF2LW1haW4ge1xyXG4gICAgQGluY2x1ZGUgc21hbGwge1xyXG4gICAgICBmbGV4OiAxIDAgYXV0bztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLypcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5DT05UQUlORVJcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4qL1xyXG4jY29udGFpbmVyIHtcclxuICAvLyBAaW5jbHVkZSB2ZXJ0aWNhbF9yaHl0aG07XHJcbn1cclxuIiwiLypcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5MQVlPVVQvTEFZT1VUX0VJTlNQQUxUSUdcclxuZWluc3BhbHRpZ2VzIExheW91dFxyXG5BdWZiYXUgbWl0IEZsZXhib3hcclxuc3RpY2t5LWZvb3RlclxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiovXHJcbiNtYWluIHtcclxuICAuaW5zaWRlIHtcclxuICAgIG1hcmdpbjogMiAqICRiYXNlbGluZSAwO1xyXG4gIH1cclxufVxyXG4iLCIvKlxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5MQVlPVVQvSEVBREVSLVRIRU1FXHJcbkdlc3RhbHR1bmcgZGVyIExheW91dCBIZWFkZXJcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuKi9cclxuXHJcbiNmb290ZXIge1xyXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gIG1hcmdpbi10b3A6ICRiYXNlbGluZTtcclxuICAvLyBhbGlnbi1zZWxmOiBlbmQ7XHJcbiAgcCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgfVxyXG4gIGEge1xyXG4gICAgQGluY2x1ZGUgbGluay1jb2xvcihcclxuICAgICAgJGNvbG9yLWxpbmstbGluazogJGNvbG9yLWFsdGVybmF0aXZlLFxyXG4gICAgICAkY29sb3ItbGluay12aXNpdGVkOiAkY29sb3IsXHJcbiAgICAgICRjb2xvci1saW5rLWhvdmVyOiBsaWdodGVuKCRjb2xvci1hbHRlcm5hdGl2ZSwgMTAlKSxcclxuICAgICAgJGNvbG9yLWxpbmstZm9jdXM6ICRjb2xvci1hbHRlcm5hdGl2ZSxcclxuICAgICAgJGNvbG9yLWxpbmstYWN0aXZlOiAkY29sb3ItYWx0ZXJuYXRpdmVcclxuICAgIClcclxuICB9XHJcbn1cclxuIl19 */

/* for quick and dirty fixes */
