/* box-sizing */
.fr-window, .fr-window [class^="fr-"],
.fr-overlay, .fr-overlay [class^="fr-"],
.fr-spinner, .fr-spinner [class^="fr-"] {
  box-sizing: border-box;
}
.fr-window {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  font: 13px/20px "Lucida Sans", "Lucida Sans Unicode", "Lucida Grande", Verdana, Arial, sans-serif;
  /* Chrome hack, this fixes a visual glitch when quickly toggling a video */
  -webkit-transform: translateZ(0px);
          transform: translateZ(0px);
}
/* z-index */
.fr-overlay { z-index:  99998; }
.fr-window {  z-index:  99999; }
.fr-spinner { z-index: 100000; }
/* overlay */
.fr-overlay {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.fr-overlay-background {
  float: left;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .9;
  filter: alpha(opacity=90);
}
.fr-overlay-ui-fullclick .fr-overlay-background {
  background: #292929;
  opacity: 1;
  filter: alpha(opacity=100);
}
/* mobile touch has position:absolute to allow zooming */
.fr-window.fr-mobile-touch,
.fr-overlay.fr-mobile-touch {
  position: absolute;
  overflow: visible;
}
/* some properties on the window are used to toggle things
 * like margin and the fullclick mode,
 * we reset those properties after measuring them
 */
.fr-measured {
  margin: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
}
.fr-box {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.fr-pages {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.fr-page {
  position: absolute;
  width: 100%;
  height: 100%;
}
.fr-container {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 0;
  text-align: center;
}
.fr-hovering-clickable .fr-container { cursor: pointer; }
/*
   padding:
   youtube & vimeo always have buttons on the outside
   side button = 72 = 54 + (2 * 9 margin)
   close button = 48
*/
/* padding ui:inside */
.fr-ui-inside .fr-container { padding: 20px 20px; }
.fr-ui-inside.fr-no-sides .fr-container { padding: 20px; }
/* padding ui:outside */
.fr-ui-outside .fr-container { padding: 20px 82px; }
.fr-ui-outside.fr-no-sides .fr-container { padding: 20px 48px; }
/* reduce padding on smaller screens */
@media all and (max-width: 700px) and (orientation: portrait), all and (orientation: landscape) and (max-height: 700px) {
  /* padding ui:inside */
  .fr-ui-inside .fr-container { padding: 12px 12px; }
  .fr-ui-inside.fr-no-sides .fr-container { padding: 12px; }

  /* padding ui:outside */
  .fr-ui-outside .fr-container { padding: 12px 72px; }
  .fr-ui-outside.fr-no-sides .fr-container { padding: 12px 48px; }
}
@media all and (max-width: 500px) and (orientation: portrait), all and (orientation: landscape) and (max-height: 500px) {
  /* padding ui:inside */
  .fr-ui-inside .fr-container { padding: 0px 0px; }
  .fr-ui-inside.fr-no-sides .fr-container { padding: 0px; }

  /* padding ui:outside */
  .fr-ui-outside .fr-container { padding: 0px 72px; }
  .fr-ui-outside.fr-no-sides .fr-container { padding: 0px 48px; }
}
/* padding ui:fullclick */
.fr-ui-fullclick .fr-container { padding: 0; }
.fr-ui-fullclick.fr-no-sides .fr-container { padding: 0; }
/* video fullclick */
.fr-ui-fullclick.fr-type-video .fr-container { padding: 0px 62px; }
.fr-ui-fullclick.fr-no-sides.fr-type-video .fr-container { padding: 48px 0px; }
/* overflow-y should always have 0 padding top and bottom */
.fr-overflow-y .fr-container {
  padding-top: 0 !important;
  padding-bottom: 0!important;
}
.fr-content,
.fr-content-background {
  position: absolute;
  top: 50%;
  left: 50%;
  /* IE11 has a 1px blur bug on the edges of the caption (ui:inside)
     during animation with overflow:hidden */
  overflow: visible;
}
/* img/iframe/error */
.fr-content-element {
  float: left;
  width: 100%;
  height: 100%;
}
.fr-content-background {
  background: #101010;
}
.fr-info {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  color: #efefef;
  font-size: 13px;
  line-height: 20px;
  text-align: left;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
   -ms-text-size-adjust: none;
       text-size-adjust: none;
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
}
.fr-info-background {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: #000;
  line-height: 1%;
  -webkit-filter: none;
          filter: none;
  opacity: 1;
}
.fr-ui-inside .fr-info-background {
  filter: alpha(opacity=80);
  opacity: .8;
  zoom: 1;
}
/* ui:outside has a slightly lighter info background to break up from black page backgrounds */
.fr-ui-outside .fr-info-background { background: #0d0d0d; }
/* info at the bottom for ui:inside */
.fr-content .fr-info {
  top: auto;
  bottom: 0;
}
.fr-info-padder {
  display: block;
  overflow: hidden;
  padding: 12px;
  position: relative;
  width: auto;
}
.fr-caption {
  width: auto;
  display: inline;
}
.fr-position {
  color: #b3b3b3;
  float: right;
  line-height: 21px;
  opacity: 0.99;
  position: relative;
  text-align: right;
  margin-left: 15px;
  white-space: nowrap;
}
/* positions not within the info bar
   for ui:outside/inside */
.fr-position-outside,
.fr-position-inside {
  position: absolute;
  bottom: 0;
  right: 0;
  margin: 12px;
  width: auto;
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 11px;
  line-height: 20px;
  text-shadow: 0 1px 0 rgba(0,0,0,.4);
  display: none;
  overflow: hidden;
  white-space: nowrap;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
   -ms-text-size-adjust: none;
       text-size-adjust: none;
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
}
.fr-position-inside {
  border: 0;
}
.fr-position-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #0d0d0d;
  filter: alpha(opacity=80);
  opacity: .8;
  zoom: 1; /* oldIE */
}
.fr-position-text { color: #b3b3b3; }
.fr-position-outside .fr-position-text,
.fr-position-inside .fr-position-text {
  float: left;
  position: relative;
  text-shadow: 0 1px 1px rgba(0,0,0,.3);
  opacity: 1;
}
/* display it for the outside ui, hide the caption inside */
.fr-ui-outside .fr-position-outside { display: block; }
.fr-ui-outside .fr-info .fr-position { display: none; }
.fr-ui-inside.fr-no-caption .fr-position-inside { display: block; }
/* links */
.fr-info a,
.fr-info a:hover {
  color: #ccc;
  border: 0;
  background: none;
  text-decoration: underline;
}
.fr-info a:hover { color: #eee; }
/* no-caption */
.fr-ui-outside.fr-no-caption .fr-info { display: none; }
.fr-ui-inside.fr-no-caption .fr-caption { display: none; }
/* --- stroke */
.fr-stroke {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
}
.fr-stroke-vertical { width: 1px; height: 100%; }
.fr-stroke-horizontal { padding: 0 1px; }
.fr-stroke-right { left: auto; right: 0; }
.fr-stroke-bottom { top: auto; bottom: 0; }
.fr-stroke-color {
  float: left;
  width: 100%;
  height: 100%;
  background: rgba(255,255,255,.08);
}
/* the stroke is brighter inside the info box */
.fr-info .fr-stroke-color { background: rgba(80,80,80,.3); }
/* remove the stroke when outside ui has a caption */
.fr-ui-outside.fr-has-caption .fr-content .fr-stroke-bottom { display: none; }
/* remove stroke and shadow when ui:fullclick */
.fr-ui-fullclick .fr-stroke { display: none; }
.fr-ui-fullclick .fr-content-background { box-shadow: none; }
/* the info box never bas a top stroke */
.fr-info .fr-stroke-top { display: none; }
/* < > */
.fr-side {
  position: absolute;
  top: 50%;
  width: 54px;
  height: 72px;
  margin: 0 9px;
  margin-top: -36px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
      user-select: none;
  zoom: 1;
}
.fr-side-previous { left: 0; }
.fr-side-next { right: 0; left: auto; }
.fr-side-disabled { cursor: default; }
.fr-side-hidden { display: none !important; }
.fr-side-button {
  float: left;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}
.fr-side-button-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #101010;
}
.fr-side-button-icon {
  float: left;
  position: relative;
  height: 100%;
  width: 100%;
  zoom: 1;
  background-position: 50% 50%;
  background-repeat: no-repeat;
}
/* smaller side buttons */
@media all and (max-width: 500px) and (orientation: portrait), all and (orientation: landscape) and (max-height: 414px) {
  .fr-side {
    width: 54px;
    height: 60px;
    margin: 0;
    margin-top: -30px;
  }
  .fr-side-button {
    width: 48px;
    height: 60px;
    margin: 0 3px;
  }
}
/* X */
.fr-close {
  position: absolute;
  width: 48px;
  height: 48px;
  top: 0;
  right: 0;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
      user-select: none;
}
.fr-close-background,
.fr-close-icon {
  position: absolute;
  top: 12px;
  left: 12px;
  height: 26px;
  width: 26px;
  background-position: 50% 50%;
  background-repeat: no-repeat;
}
.fr-close-background { background-color: #000; }
/* Thumbnails */
.fr-thumbnails {
  position: absolute;
  overflow: hidden;
}
.fr-thumbnails-disabled .fr-thumbnails { display: none !important; }
.fr-thumbnails-horizontal .fr-thumbnails {
  width: 100%;
  height: 12%;
  min-height: 74px;
  max-height: 160px;
  bottom: 0;
}
.fr-thumbnails-vertical .fr-thumbnails {
  height: 100%;
  width: 10%;
  min-width: 74px;
  max-width: 160px;
  left: 0;
}
.fr-thumbnails,
.fr-thumbnails * {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.fr-thumbnails-wrapper {
  position: absolute;
  top: 0;
  left: 50%;
  height: 100%;
}
.fr-thumbnails-vertical .fr-thumbnails-wrapper {
  top: 50%;
  left: 0;
}
.fr-thumbnails-slider {
  position: relative;
  width: 100%;
  height: 100%;
  float: left;
  zoom: 1;
}
.fr-thumbnails-slider-slide {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
}
.fr-thumbnails-thumbs {
  float: left;
  height: 100%;
  overflow: hidden;
  position: relative;
  top: 0;
  left: 0;
}
.fr-thumbnails-slide {
  position: absolute;
  top: 0;
  height: 100%;
  width: 100%;
}
.fr-thumbnail-frame {
  position: absolute;
  zoom: 1;
  overflow: hidden;
}
.fr-thumbnail {
  position: absolute;
  width: 30px;
  height: 100%;
  left: 50%;
  top: 50%;
  zoom: 1;
  cursor: pointer;
  margin: 0 10px;
}
.fr-ltIE9 .fr-thumbnail * {
  overflow: hidden; /* IE6(7) */
  z-index: 1;
  zoom: 1;
}
.fr-thumbnail-wrapper {
  position: relative;
  background: #161616;
  width: 100%;
  height: 100%;
  float: left;
  overflow: hidden;
  display: inline; /* IE6(7) */
  z-index: 0; /* IE8 */
}
.fr-thumbnail-overlay { cursor: pointer; }
.fr-thumbnail-active .fr-thumbnail-overlay { cursor: default; }
.fr-thumbnail-overlay,
.fr-thumbnail-overlay-background,
.fr-thumbnail-overlay-border {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-width: 0;
  overflow: hidden;
  border-style: solid;
  border-color: transparent;
}
.fr-ltIE9 .fr-thumbnail-overlay-border { border-width: 0 !important; }
.fr-thumbnail .fr-thumbnail-image {
  position: absolute;
  filter: alpha(opacity=85);
  opacity: .85;
  max-width: none;
}
.fr-thumbnail:hover .fr-thumbnail-image,
.fr-thumbnail-active:hover .fr-thumbnail-image {
  filter: alpha(opacity=99);
  opacity: .99;
}
.fr-thumbnail-active .fr-thumbnail-image,
.fr-thumbnail-active:hover .fr-thumbnail-image {
  filter: alpha(opacity=35);
  opacity: .35;
}
.fr-thumbnail-active { cursor: default;  }
/* Thumbnails loading */
.fr-thumbnail-loading,
.fr-thumbnail-loading-background,
.fr-thumbnail-loading-icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.fr-thumbnail-loading-background {
  background-color: #161616;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  opacity: .8;
  position: relative;
  float: left;
}
/* this element is there as an alternative to putting the loading image on the background */
.fr-thumbnail-loading-icon { display: none; }
/* error on thumbnail */
.fr-thumbnail-error .fr-thumbnail-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #202020;
}
/* Thumbnail < > */
.fr-thumbnails-side {
  float: left;
  height: 100%;
  width: 28px;
  margin: 0 5px;
  position: relative;
  overflow: hidden;
}
.fr-thumbnails-side-previous { margin-left: 12px; }
.fr-thumbnails-side-next { margin-right: 12px; }
.fr-thumbnails-vertical .fr-thumbnails-side {
  height: 28px;
  width: 100%;
  margin: 10px 0;
}
.fr-thumbnails-vertical .fr-thumbnails-side-previous { margin-top: 20px; }
.fr-thumbnails-vertical .fr-thumbnails-side-next { margin-bottom: 20px; }
.fr-thumbnails-side-button {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -14px;
  margin-left: -14px;
  width: 28px;
  height: 28px;
  cursor: pointer;
}
.fr-thumbnails-side-button-background {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  filter: alpha(opacity=80);
  opacity: .8;
  transition: background-color .2s ease-in;
  background-color: #333;
  cursor: pointer;
  border-radius: 4px;
}
.fr-thumbnails-side-button:hover .fr-thumbnails-side-button-background { background-color: #3b3b3b; }
.fr-thumbnails-side-button-disabled * { cursor: default; }
.fr-thumbnails-side-button-disabled:hover .fr-thumbnails-side-button-background { background-color: #333; }
.fr-thumbnails-side-button-icon {
  height: 42px;
  width: 42px;
  position: absolute;
  /*top: -7px;
  left: -7px;*/
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/* vertical thumbnails */
.fr-thumbnails-vertical .fr-thumbnails-side,
.fr-thumbnails-vertical .fr-thumbnails-thumbs,
.fr-thumbnails-vertical .fr-thumbnail-frame { clear: both; }
/* ui:fullclick has a dark thumbnail background */
.fr-window-ui-fullclick .fr-thumbnails { background: #090909; }
/* put a stroke on the connecting caption*/
.fr-window-ui-fullclick.fr-thumbnails-enabled.fr-thumbnails-horizontal .fr-info .fr-stroke-bottom { display: block !important; }
/*({ box-shadow: inset 0 -1px 0 rgba(255,255,255,.1); } */
.fr-window-ui-fullclick.fr-thumbnails-enabled.fr-thumbnails-vertical .fr-info .fr-stroke-left { display: block !important; }
/* thumbnail spacing  */
.fr-thumbnails-horizontal .fr-thumbnails-thumbs { padding: 12px 5px; }
.fr-thumbnails-vertical .fr-thumbnails-thumbs { padding: 5px 12px; }
.fr-thumbnails-measured .fr-thumbnails-thumbs { padding: 0 !important; }
/* horizontal */
@media all and (min-height: 700px) {
  .fr-thumbnails-horizontal .fr-thumbnails-thumbs { padding: 16px 8px; }
  .fr-thumbnails-horizontal .fr-thumbnails-side { margin: 0 8px; }
  .fr-thumbnails-horizontal .fr-thumbnails-side-previous { margin-left: 16px; }
  .fr-thumbnails-horizontal .fr-thumbnails-side-next { margin-right: 16px; }
}
@media all and (min-height: 980px) {
  .fr-thumbnails-horizontal .fr-thumbnails-thumbs { padding: 20px 10px; }
  .fr-thumbnails-horizontal .fr-thumbnails-side { margin: 0 10px; }
  .fr-thumbnails-horizontal .fr-thumbnails-side-previous { margin-left: 20px; }
  .fr-thumbnails-horizontal .fr-thumbnails-side-next { margin-right: 20px; }
}
/* vertical */
@media all and (min-width: 1200px) {
  .fr-thumbnails-vertical .fr-thumbnails-thumbs { padding: 8px 16px; }
  .fr-thumbnails-vertical .fr-thumbnails-side { margin: 0 8px; }
  .fr-thumbnails-vertical .fr-thumbnails-side-previous { margin-top: 16px; }
  .fr-thumbnails-vertical .fr-thumbnails-side-next { margin-bottom: 16px; }
}
@media all and (min-width: 1800px) {
  .fr-thumbnails-vertical .fr-thumbnails-thumbs { padding: 10px 20px; }
  .fr-thumbnails-vertical .fr-thumbnails-side { margin: 10px 0; }
  .fr-thumbnails-vertical .fr-thumbnails-side-previous { margin-top: 20px; }
  .fr-thumbnails-vertical .fr-thumbnails-side-next { margin-bottom: 20px; }
}
/* hide thumbnails on smaller screens
   the js always hides them on touch based devices
*/
@media all and (max-width: 500px) and (orientation: portrait), all and (orientation: landscape) and (max-height: 500px) {
  .fr-thumbnails-horizontal .fr-thumbnails { display: none !important; }
}
@media all and (max-width: 700px) and (orientation: portrait), all and (orientation: landscape) and (max-height: 414px) {
  .fr-thumbnails-vertical .fr-thumbnails { display: none !important; }
}
/* force fullClick: true
   and force overflow: false */
@media all and (max-width: 500px) and (orientation: portrait), all and (orientation: landscape) and (max-height: 414px) {
  .fr-page { min-width: 100%; } /* fullclick */
  .fr-page { min-height: 100%; } /* overflow: false */
}
/* switch between ui modes
   we force everything not in the current UI mode to hide
*/
.fr-window-ui-fullclick .fr-side-next-outside,
.fr-window-ui-fullclick .fr-side-previous-outside,
.fr-window-ui-fullclick .fr-close-outside,
.fr-window-ui-fullclick .fr-content .fr-side-next,
.fr-window-ui-fullclick .fr-content .fr-side-previous,
.fr-window-ui-fullclick .fr-content .fr-close,
.fr-window-ui-fullclick .fr-content .fr-info,

.fr-window-ui-outside .fr-side-next-fullclick,
.fr-window-ui-outside .fr-side-previous-fullclick,
.fr-window-ui-outside .fr-close-fullclick,
.fr-window-ui-outside .fr-content .fr-side-next,
.fr-window-ui-outside .fr-content .fr-side-previous,
.fr-window-ui-outside .fr-content .fr-close,
.fr-window-ui-outside .fr-content .fr-info,

.fr-window-ui-inside .fr-page > .fr-info,
.fr-window-ui-inside .fr-side-next-fullclick,
.fr-window-ui-inside .fr-side-previous-fullclick,
.fr-window-ui-inside .fr-close-fullclick,
.fr-window-ui-inside .fr-side-next-outside,
.fr-window-ui-inside .fr-side-previous-outside,
.fr-window-ui-inside .fr-close-outside {
  display: none !important;
}
/* some ui elements can be toggled on mousemove.
   filter:alpha(opacity) is bugged so we use display in oldIE
*/
.fr-toggle-ui {
  opacity: 0;
  transition: opacity .3s;
}
.fr-visible-fullclick-ui .fr-box > .fr-toggle-ui,
.fr-visible-inside-ui .fr-ui-inside .fr-toggle-ui { opacity: 1; }
.fr-hidden-fullclick-ui .fr-box > .fr-toggle-ui,
.fr-hidden-inside-ui .fr-ui-inside .fr-toggle-ui {
  transition: opacity .3s;
}
.fr-ltIE9.fr-hidden-fullclick-ui .fr-box > .fr-toggle-ui,
.fr-ltIE9.fr-hidden-inside-ui .fr-ui-inside .fr-toggle-ui { display: none; }
/* Spinner */
.fr-spinner {
  position: fixed;
  width: 52px;
  height: 52px;
  background: #101010;
  background: rgba(16,16,16,.85);
  border-radius: 5px;
}
.fr-spinner div {
  position: absolute;
  top: 0;
  left: 0;
  height: 64%;
  width: 64%;
  margin-left: 18%;
  margin-top: 18%;
  opacity: 1;
  -webkit-animation: fresco-12 1.2s infinite ease-in-out;
  animation:         fresco-12 1.2s infinite ease-in-out;
}
.fr-spinner div:after {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  width: 2px;
  height: 8px;
  margin-left: -1px;
  background: #fff;
  box-shadow: 0 0 1px rgba(0,0,0,0); /* fixes rendering in Firefox */
}
.fr-spinner div.fr-spin-1 { -webkit-transform: rotate(30deg); transform: rotate(30deg); -webkit-animation-delay: -1.1s; animation-delay: -1.1s; }
.fr-spinner div.fr-spin-2 { -webkit-transform: rotate(60deg); transform: rotate(60deg); -webkit-animation-delay: -1.0s; animation-delay: -1.0s; }
.fr-spinner div.fr-spin-3 { -webkit-transform: rotate(90deg); transform: rotate(90deg); -webkit-animation-delay: -0.9s; animation-delay: -0.9s; }
.fr-spinner div.fr-spin-4 { -webkit-transform: rotate(120deg); transform: rotate(120deg); -webkit-animation-delay: -0.8s; animation-delay: -0.8s; }
.fr-spinner div.fr-spin-5 { -webkit-transform: rotate(150deg); transform: rotate(150deg); -webkit-animation-delay: -0.7s; animation-delay: -0.7s; }
.fr-spinner div.fr-spin-6 { -webkit-transform: rotate(180deg); transform: rotate(180deg); -webkit-animation-delay: -0.6s; animation-delay: -0.6s; }
.fr-spinner div.fr-spin-6 { -webkit-transform: rotate(180deg); transform: rotate(180deg); -webkit-animation-delay: -0.6s; animation-delay: -0.6s; }
.fr-spinner div.fr-spin-7 { -webkit-transform: rotate(210deg); transform: rotate(210deg); -webkit-animation-delay: -0.5s; animation-delay: -0.5s; }
.fr-spinner div.fr-spin-8 { -webkit-transform: rotate(240deg); transform: rotate(240deg); -webkit-animation-delay: -0.4s; animation-delay: -0.4s; }
.fr-spinner div.fr-spin-9 { -webkit-transform: rotate(270deg); transform: rotate(270deg); -webkit-animation-delay: -0.3s; animation-delay: -0.3s; }
.fr-spinner div.fr-spin-10 { -webkit-transform: rotate(300deg); transform: rotate(300deg); -webkit-animation-delay: -0.2s; animation-delay: -0.2s; }
.fr-spinner div.fr-spin-11 { -webkit-transform: rotate(330deg); transform: rotate(330deg); -webkit-animation-delay: -0.1s; animation-delay: -0.1s; }
.fr-spinner div.fr-spin-12 { -webkit-transform: rotate(360deg); transform: rotate(360deg); -webkit-animation-delay: 0s; animation-delay: 0s; }
@-webkit-keyframes fresco-12 {
  0%   { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes fresco-12 {
  0%   { opacity: 1; }
  100% { opacity: 0; }
}
/* Thumbnail spinner */
.fr-thumbnail-spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -20px;
  margin-left: -20px;
  width: 40px;
  height: 40px;
}
.fr-thumbnail-spinner-spin {
  position: relative;
  float: left;
  margin: 8px 0 0 8px;
  text-indent: -9999em;
  border-top: 2px solid rgba(255, 255, 255, 0.2);
  border-right: 2px solid rgba(255, 255, 255, 0.2);
  border-bottom: 2px solid rgba(255, 255, 255, 0.2);
  border-left: 2px solid #fff;
  -webkit-animation: fr-thumbnail-spin 1.1s infinite linear;
  animation: fr-thumbnail-spin 1.1s infinite linear;

}
.fr-thumbnail-spinner-spin,
.fr-thumbnail-spinner-spin:after {
  border-radius: 50%;
  width: 24px;
  height: 24px;
}
@-webkit-keyframes fr-thumbnail-spin {
  0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}
@keyframes fr-thumbnail-spin {
  0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}
/* Error */
.fr-error {
  float: left;
  position: relative;
  background-color: #ca3434;
  width: 160px;
  height: 160px;
}
.fr-error-icon {
  position: absolute;
  width: 42px;
  height: 42px;
  top: 50%;
  left: 50%;
  margin-left: -21px;
  margin-top: -21px;
}
/* skin: 'fresco' */
/* Sprite */
.fr-window-skin-fresco .fr-side-button-icon,
.fr-window-skin-fresco .fr-close-icon,
.fr-window-skin-fresco .fr-thumbnails-side-button-icon,
.fr-window-skin-fresco .fr-error-icon {
  background-image: url(/build/images/sprite.945ddfcb.svg);
}
/* fallback png sprite */
.fr-window-skin-fresco.fr-no-svg .fr-side-button-icon,
.fr-window-skin-fresco.fr-no-svg .fr-close-icon,
.fr-window-skin-fresco.fr-no-svg .fr-thumbnails-side-button-icon,
.fr-window-skin-fresco .fr-error-icon {
  background-image: url(/build/images/sprite.40bc2eba.png);
}
.fr-window-skin-fresco .fr-error-icon { background-position: -160px -126px; }
.fr-window-skin-fresco .fr-content-background {
  background: #101010;
  box-shadow: 0 0 5px rgba(0,0,0,.4);
}
.fr-window-skin-fresco.fr-window-ui-fullclick .fr-content-background { box-shadow: none; }
/* thumbnail shadow */
.fr-window-skin-fresco .fr-thumbnail-wrapper { box-shadow: 0 0 3px rgba(0, 0, 0, .3); }
.fr-window-skin-fresco .fr-thumbnail-active .fr-thumbnail-wrapper { box-shadow: 0 0 1px rgba(0, 0, 0, .1); }
/* < > */
.fr-window-skin-fresco .fr-side-button-background { background-color: transparent; }
.fr-window-skin-fresco .fr-side-previous .fr-side-button-icon { background-position: -13px -14px; }
.fr-window-skin-fresco .fr-side-next .fr-side-button-icon { background-position: -93px -14px; }
.fr-window-skin-fresco .fr-side-previous:hover .fr-side-button-icon { background-position: -13px -114px; }
.fr-window-skin-fresco .fr-side-next:hover .fr-side-button-icon { background-position: -93px -114px; }
/* transition (png) */
.fr-window-skin-fresco.fr-no-svg .fr-hovering-previous .fr-side-previous .fr-side-button-icon,
.fr-window-skin-fresco.fr-no-svg.fr-mobile-touch .fr-side-previous .fr-side-button-icon { background-position: -13px -114px; }
.fr-window-skin-fresco.fr-no-svg .fr-hovering-next .fr-side-next .fr-side-button-icon,
.fr-window-skin-fresco.fr-no-svg.fr-mobile-touch .fr-side-next .fr-side-button-icon { background-position: -93px -114px; }
/* disabled state (png) */
.fr-window-skin-fresco.fr-no-svg .fr-side-previous.fr-side-disabled .fr-side-button-icon,
.fr-window-skin-fresco.fr-no-svg .fr-hovering-previous .fr-side-previous.fr-side-disabled .fr-side-button-icon,
.fr-window-skin-fresco.fr-no-svg .fr-side-previous.fr-side-disabled:hover .fr-side-button-icon { background-position: -13px -214px; }
.fr-window-skin-fresco.fr-no-svg .fr-side-next.fr-side-disabled .fr-side-button-icon,
.fr-window-skin-fresco.fr-no-svg .fr-hovering-next .fr-side-next.fr-side-disabled .fr-side-button-icon,
.fr-window-skin-fresco.fr-no-svg .fr-side-next.fr-side-disabled:hover .fr-side-button-icon { background-position: -93px -214px; }
/* transition (svg) */
.fr-window-skin-fresco.fr-svg .fr-side-previous .fr-side-button-icon { background-position: -13px -114px; }
.fr-window-skin-fresco.fr-svg .fr-side-next .fr-side-button-icon { background-position: -93px -114px; }
.fr-window-skin-fresco.fr-svg .fr-side-button-icon { opacity: .5; }
.fr-window-skin-fresco.fr-svg .fr-side:hover .fr-side-button-icon,
.fr-window-skin-fresco.fr-svg .fr-hovering-previous .fr-side-previous .fr-side-button-icon,
.fr-window-skin-fresco.fr-svg .fr-hovering-next .fr-side-next .fr-side-button-icon { opacity: 1; }
.fr-window-skin-fresco.fr-svg.fr-mobile-touch .fr-side .fr-side-button-icon { opacity: .8; }
/* touch always active but at lower opacity */
/* disabled (svg) */
.fr-window-skin-fresco.fr-svg .fr-side-disabled .fr-side-button-icon,
.fr-window-skin-fresco.fr-svg .fr-hovering-previous .fr-side-disabled .fr-side-button-icon,
.fr-window-skin-fresco.fr-svg .fr-hovering-next .fr-side-disabled .fr-side-button-icon,
.fr-window-skin-fresco.fr-svg .fr-side-disabled:hover .fr-side-button-icon,
.fr-window-skin-fresco.fr-svg.fr-mobile-touch .fr-side-disabled .fr-side-button-icon { opacity: .2; }
/* TODO: make sure this works */
/* hide for ui:inside/fullclick, only for the image type */
.fr-window-skin-fresco.fr-window-ui-inside .fr-type-image .fr-side-disabled .fr-side-button-icon,
.fr-window-skin-fresco.fr-window-ui-fullclick.fr-showing-type-image .fr-side-disabled .fr-side-button-icon { background-image: none; }
/* < > responsive */
@media all and (max-width: 500px) and (orientation: portrait), all and (orientation: landscape) and (max-height: 414px) {
  .fr-window-skin-fresco .fr-side-previous .fr-side-button-icon { background-position: 0px -300px; }
  .fr-window-skin-fresco .fr-side-next .fr-side-button-icon { background-position: -48px -300px; }

  .fr-window-skin-fresco .fr-side-previous:hover .fr-side-button-icon { background-position: 0px -360px; }
  .fr-window-skin-fresco .fr-side-next:hover .fr-side-button-icon { background-position: -48px -360px; }

  /* transition (png) */
  .fr-window-skin-fresco.fr-no-svg .fr-hovering-previous .fr-side-previous .fr-side-button-icon,
  .fr-window-skin-fresco.fr-no-svg.fr-mobile-touch .fr-side-previous .fr-side-button-icon { background-position: 0px -360px; }
  .fr-window-skin-fresco.fr-no-svg .fr-hovering-next .fr-side-next .fr-side-button-icon,
  .fr-window-skin-fresco.fr-no-svg.fr-mobile-touch .fr-side-next .fr-side-button-icon { background-position: -48px -360px; }

  /* transition (svg) */
  .fr-window-skin-fresco.fr-svg .fr-side-previous .fr-side-button-icon { background-position: 0px -360px; }
  .fr-window-skin-fresco.fr-svg .fr-side-next .fr-side-button-icon { background-position: -48px -360px; }

  /* disabled state (png) */
  .fr-window-skin-fresco.fr-no-svg .fr-side-previous.fr-side-disabled .fr-side-button-icon,
  .fr-window-skin-fresco.fr-no-svg .fr-hovering-previous .fr-side-previous.fr-side-disabled .fr-side-button-icon,
  .fr-window-skin-fresco.fr-no-svg .fr-side-previous.fr-side-disabled:hover .fr-side-button-icon { background-position: 0px -420px; }

  .fr-window-skin-fresco.fr-no-svg .fr-side-next.fr-side-disabled .fr-side-button-icon,
  .fr-window-skin-fresco.fr-no-svg .fr-hovering-next .fr-side-next.fr-side-disabled .fr-side-button-icon,
  .fr-window-skin-fresco.fr-no-svg .fr-side-next.fr-side-disabled:hover .fr-side-button-icon { background-position: -48px -420px; }
}
/* X */
/* colors */
.fr-window-skin-fresco.fr-window-ui-outside .fr-close-background { background-color: #363636; }
.fr-window-skin-fresco.fr-window-ui-outside .fr-close:hover .fr-close-background { background-color: #434343; }
.fr-window-skin-fresco.fr-window-ui-inside .fr-close-background,
.fr-window-skin-fresco.fr-window-ui-fullclick .fr-close-background { background-color: #131313; filter: alpha(opacity=80); opacity: .8; }
.fr-window-skin-fresco.fr-window-ui-inside .fr-close:hover .fr-close-background,
.fr-window-skin-fresco.fr-window-ui-fullclick .fr-close:hover .fr-close-background { background-color: #191919; }
/* - image */
.fr-window-skin-fresco .fr-close .fr-close-icon { background-position: -168px -8px;}
.fr-window-skin-fresco .fr-close:hover .fr-close-icon { background-position: -210px -8px; }
/* - transition */
.fr-window-skin-fresco.fr-svg .fr-close .fr-close-icon {
  background-position: -210px -8px;
  opacity: .8;
}
.fr-window-skin-fresco .fr-close:hover .fr-close-icon { opacity: 1; }
/* iOS 8.4.1 bug: when opacity changes it'll require 2 taps
   force a single opacity to fix this
*/
.fr-window-skin-fresco.fr-svg.fr-mobile-touch .fr-close .fr-close-icon,
.fr-window-skin-fresco.fr-mobile-touch .fr-close:hover .fr-close-icon { opacity: 1; }
/* Thumbnails */
.fr-window-skin-fresco .fr-thumbnail-wrapper {
  border-color: transparent;
  border-style: solid;
  border-width: 0;
}
.fr-window-skin-fresco .fr-thumbnail-wrapper { box-shadow: 0 0 3px rgba(0, 0, 0, .3); }
.fr-window-skin-fresco .fr-thumbnail-active .fr-thumbnail-wrapper { box-shadow: 0 0 1px rgba(0, 0, 0, .1); }
.fr-window-skin-fresco .fr-thumbnail-wrapper {
  box-shadow: 0 -1px 4px rgba(0, 0, 0, .3);
}
.fr-window-skin-fresco .fr-thumbnail-overlay-border {
  border-width: 1px;
  border-color: rgba(255, 255, 255, .08); /* should remain rgba */
}
/* no inner border on active thumbnail */
.fr-window-skin-fresco .fr-thumbnail-active .fr-thumbnail-overlay-border,
.fr-window-skin-fresco .fr-thumbnail-active:hover .fr-thumbnail-overlay-border { border: 0px; }
/* Thumbnails < > */
.fr-window-skin-fresco .fr-thumbnails-side-previous .fr-thumbnails-side-button-icon { background-position: -167px -49px;}
.fr-window-skin-fresco .fr-thumbnails-side-previous:hover .fr-thumbnails-side-button-icon { background-position: -209px -49px; }
.fr-window-skin-fresco .fr-thumbnails-side-next .fr-thumbnails-side-button-icon { background-position: -167px -91px;}
.fr-window-skin-fresco .fr-thumbnails-side-next:hover .fr-thumbnails-side-button-icon { background-position: -209px -91px; }
/* vertical ^ (up/down) adjustments */
.fr-window-skin-fresco.fr-thumbnails-vertical .fr-thumbnails-side-previous .fr-thumbnails-side-button-icon { background-position: -293px -49px;}
.fr-window-skin-fresco.fr-thumbnails-vertical .fr-thumbnails-side-previous:hover .fr-thumbnails-side-button-icon { background-position: -335px -49px; }
.fr-window-skin-fresco.fr-thumbnails-vertical .fr-thumbnails-side-next .fr-thumbnails-side-button-icon { background-position: -293px -91px;}
.fr-window-skin-fresco.fr-thumbnails-vertical .fr-thumbnails-side-next:hover .fr-thumbnails-side-button-icon { background-position: -335px -91px; }
/* Thumbnails < > transition */
.fr-window-skin-fresco.fr-svg .fr-thumbnails-side .fr-thumbnails-side-button-icon {
  transition: opacity .2s ease-in;
  opacity: .8;
}
.fr-window-skin-fresco.fr-svg .fr-thumbnails-side-previous .fr-thumbnails-side-button-icon,
.fr-window-skin-fresco.fr-svg .fr-thumbnails-side-previous .fr-thumbnails-side-button-disabled { background-position: -167px -49px; }
.fr-window-skin-fresco.fr-svg .fr-thumbnails-side-next .fr-thumbnails-side-button-icon,
.fr-window-skin-fresco.fr-svg .fr-thumbnails-side-next .fr-thumbnails-side-button-disabled { background-position: -209px -91px; }
.fr-window-skin-fresco.fr-svg .fr-thumbnails-side:hover .fr-thumbnails-side-button-icon { opacity: 1; }
/* vertical ^ (up/down) adjustments */
.fr-window-skin-fresco.fr-svg.fr-thumbnails-vertical .fr-thumbnails-side-previous .fr-thumbnails-side-button-icon,
.fr-window-skin-fresco.fr-svg.fr-thumbnails-vertical .fr-thumbnails-side-previous .fr-thumbnails-side-button-disabled { background-position: -293px -49px; }
.fr-window-skin-fresco.fr-svg.fr-thumbnails-vertical .fr-thumbnails-side-next .fr-thumbnails-side-button-icon,
.fr-window-skin-fresco.fr-svg.fr-thumbnails-vertical .fr-thumbnails-side-next .fr-thumbnails-side-button-disabled { background-position: -335px -91px; }
/* lower opacity on disabled states */
.fr-window-skin-fresco.fr-svg .fr-thumbnails-side .fr-thumbnails-side-button-disabled,
.fr-window-skin-fresco.fr-svg .fr-thumbnails-side:hover .fr-thumbnails-side-button-disabled { opacity: .5; }
/* lower opacity IE < 9 using images */
.fr-window-skin-fresco.fr-no-svg .fr-thumbnails-side-previous .fr-thumbnails-side-button-disabled .fr-thumbnails-side-button-icon,
.fr-window-skin-fresco.fr-no-svg .fr-thumbnails-side-previous:hover .fr-thumbnails-side-button-disabled .fr-thumbnails-side-button-icon {
  background-position: -251px -49px;
}
.fr-window-skin-fresco.fr-no-svg .fr-thumbnails-side-next .fr-thumbnails-side-button-disabled .fr-thumbnails-side-button-icon,
.fr-window-skin-fresco.fr-no-svg .fr-thumbnails-side-next:hover .fr-thumbnails-side-button-disabled .fr-thumbnails-side-button-icon {
  background-position: -251px -91px;
}
.fr-window-skin-fresco.fr-no-svg .fr-thumbnails-side .fr-thumbnails-side-button-disabled .fr-thumbnails-side-button-background,
.fr-window-skin-fresco.fr-no-svg .fr-thumbnails-side:hover .fr-thumbnails-side-button-disabled .fr-thumbnails-side-button-background {
  filter: alpha(opacity=50);
}
/* vertical ^ (up/down) adjustments */
.fr-window-skin-fresco.fr-no-svg.fr-thumbnails-vertical .fr-thumbnails-side-previous .fr-thumbnails-side-button-disabled .fr-thumbnails-side-button-icon,
.fr-window-skin-fresco.fr-no-svg.fr-thumbnails-vertical .fr-thumbnails-side-previous:hover .fr-thumbnails-side-button-disabled .fr-thumbnails-side-button-icon {
  background-position: -377px -49px;
}
.fr-window-skin-fresco.fr-no-svg.fr-thumbnails-vertical .fr-thumbnails-side-next .fr-thumbnails-side-button-disabled .fr-thumbnails-side-button-icon,
.fr-window-skin-fresco.fr-no-svg.fr-thumbnails-vertical .fr-thumbnails-side-next:hover .fr-thumbnails-side-button-disabled .fr-thumbnails-side-button-icon {
  background-position: -377px -91px;
}

@charset "utf-8";

/* CSS SOUBOR PRO ZÁKLADNÍ ČÁSTI PROJEKTU */

/* general */

*, *:after, *:before {
  box-sizing: border-box;
  outline: none;
}

html {
}

body {
  min-width: 22.5rem;
  padding: 0rem;
  margin: 0rem;
  font-size: 100%;
  font-family: Montserrat, arial, helvetica, sans-serif;
  color: #000;
  color: var(--base-color);
  background: #fff;
}

a {
  color: #000;
  color: var(--base-color)
}

a:hover {
    text-decoration: none;
  }

a img {
    border: none;
  }

b, strong {
  font-weight: bold;
}

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

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0rem 0rem 1.25rem 0rem;
  line-height: 1.25;
}

h1 {font-size: 2rem;}

h2 {font-size: 1.75rem;}

h3 {font-size: 1.5rem;}

h4 {font-size: 1.25rem;}

h5 {font-size: 1rem;}

h6 {font-size: 0.875rem;}

p {
  font-size: 0.875rem;
  font-size: var(--font-size);
  margin: 0rem 0rem 1.5rem 0rem;
  line-height: 1.5;
  line-height: var(--line-height);
}

table {
  margin: 0rem 0rem 1.5rem 0rem;
  border-spacing: 0rem;
  border-collapse: collapse;
  border: 0rem;
}

th {
  padding: 1rem 0.75rem;
  text-align: left;
  font-size: 0.875rem;
  font-size: var(--font-size);
  line-height: 1.5;
  line-height: var(--line-height);
  border: 0rem solid #0079ba;
  border: 0rem solid var(--border-color);
  border-top-width: 1px;
}

td {
  padding: 1rem 0.75rem;
  font-size: 0.875rem;
  font-size: var(--font-size);
  line-height: 1.5;
  line-height: var(--line-height);
  border: 0rem solid #0079ba;
  border: 0rem solid var(--border-color);
  border-top-width: 1px;
}

tr:last-of-type > * {
  border-bottom-width: 1px;
}

ul, ol {
  font-size: 0.875rem;
  font-size: var(--font-size);
  margin: 0rem 0rem 1.5rem 0rem;
  padding: 0rem;
  list-style-position: inside;
  line-height: 1.5;
  line-height: var(--line-height);
}

li ul, li ol {
  font-size: 1rem;
  padding-left: 1.75rem;
  margin-bottom: 0rem;
}

li {
  margin: 0rem;
  padding: 0.25rem 0rem;
}

iframe {
  border: 0rem;
  display: block;
  width: 100%;
  margin: 0rem;
  padding: 0rem;
}

@media (min-width: 40rem) {
  h1 {}
  h2 {}
  h3 {}
  h4 {}
  h5 {}
  h6 {}
}

@media (min-width: 60rem) {
  
  h1 {font-size: 2.25rem;}
  h2 {font-size: 2rem;}
  h3 {font-size: 1.75rem;}
  h4 {font-size: 1.5rem;}
  h5 {font-size: 1.25rem;}
  h6 {font-size: 1rem;}
}

@media (min-width: 80rem) {
  
  h1 {font-size: 2.5rem;}
  h2 {font-size: 2.25rem;}
  h3 {font-size: 2rem;}
  h4 {font-size: 1.75rem;}
  h5 {font-size: 1.5rem;}
  h6 {font-size: 1.25rem;}
}

/* general end */

/* disabled elements */

.disabled,
:disabled,
.disabled ~ .desc,
:disabled ~ .desc {
  opacity: 0.4;
  pointer-events: none;
}

.disabled :disabled {
  opacity: 1;
}

/* disabled elements end */

/* forms generally */

form {
  width: 100%;
  margin: 0rem;
  padding: 0rem;
}

label {
  margin: 0rem 0rem 0rem 0rem;
  padding: 0rem 0rem 0rem 0rem;
  font-size: 1rem;
  line-height: 1.5;
  line-height: var(--line-height);
  display: block;
}

input[type="text"],
input[type="password"],
input[type="tel"],
input[type="email"],
input[type="url"],
input[type="number"],
select,
textarea,
.button.dropdown {
  flex: none;
  width: 100%;
  min-width: 0;
  height: 3.5rem;
  line-height: normal;
  font-size: 0.875rem;
  font-size: var(--font-size);
  border-radius: 0rem;
  margin: 0rem 0rem 0rem 0rem;
  padding: 0rem 0.75rem;
  border: 0.125rem solid #343434;
  border-radius: 0.375rem;
  background: url(/build/images/loader.1d869076.svg) left -100rem / 6.25rem auto no-repeat #fff;
  font-family: inherit;
  color: inherit;
  box-shadow: none;
  display: block;
  -webkit-animation: 5s infinite linear paused;
          animation: 5s infinite linear paused
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="number"]:focus,
select:focus,
textarea:focus,
.button.dropdown:focus {
    box-shadow:0 0 0.25rem rgba(0, 0, 0, 0.2);
  }

input[type="text"].valid,
input[type="password"].valid,
input[type="tel"].valid,
input[type="email"].valid,
input[type="url"].valid,
input[type="number"].valid,
select.valid,
textarea.valid,
.button.dropdown.valid {
    border-color: #A8DEA6;
  }

input[type="text"].invalid,
input[type="password"].invalid,
input[type="tel"].invalid,
input[type="email"].invalid,
input[type="url"].invalid,
input[type="number"].invalid,
select.invalid,
textarea.invalid,
.button.dropdown.invalid{
    border-color: #b71616;
  }

input[type="text"]::-ms-clear,
input[type="password"]::-ms-clear,
input[type="tel"]::-ms-clear,
input[type="email"]::-ms-clear,
input[type="url"]::-ms-clear,
input[type="number"]::-ms-clear,
select::-ms-clear,
textarea::-ms-clear,
.button.dropdown::-ms-clear {
    display: none;
  }

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.5;
}

input::-moz-placeholder,
textarea::-moz-placeholder {
  color: inherit;
  opacity: 0.5;
}

input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
  color: inherit;
  opacity: 0.5;
}

input::placeholder,
textarea::placeholder {
  color: inherit;
  opacity: 0.5;
}

button,
input[type=submit]{
  border: 0;
  cursor: pointer;
  font-family: inherit;
  background: none;
  font-size: 1rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin: 0;
  padding: 0;
}

@media (min-width: 40rem) {
  
  input[type="text"],
  input[type="password"],
  input[type="tel"],
  input[type="email"],
  input[type="url"],
  input[type="number"],
  select,
  textarea {
  }
}

@media (min-width: 60rem) {
  
  input[type="text"],
  input[type="password"],
  input[type="tel"],
  input[type="email"],
  input[type="url"],
  input[type="number"],
  select,
  textarea {
  }
}

@media (min-width: 80rem) {
  
  input[type="text"],
  input[type="password"],
  input[type="tel"],
  input[type="email"],
  input[type="url"],
  input[type="number"],
  select,
  textarea {
  }
}

/* forms generally end */

/* forms select, textarea */

select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding-right: 2.5rem;
  background-image:
    url(/build/images/selectbox.35868d55.svg),
    url(/build/images/loader.1d869076.svg);
  background-position: calc(100% - 1.063rem) center, left -100rem;
  background-size: 0.875rem auto, 6.25rem auto;
  border-radius: 0.375rem;
  border: 0.125rem solid #343434;
  font-weight: 700
}

select .disabled {
    opacity: 1;
    color: #bbb;
  }

select::-ms-expand {
    display: none;
  }

select.blue-theme {
    border-color: #0079ba;
    border-color: var(--darker-blue);
    color: #0079ba;
    color: var(--darker-blue);
  }

textarea{
  width: 100%;
  height: 8rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

@media (min-width: 40rem) {
  
  select {
  }
  
  textarea {
  }
}

@media (min-width: 60rem) {
  
  select {
  }
  
  textarea {
  }
}

@media (min-width: 80rem) {
  
  select {
  }
  
  textarea {
  }
}

/* forms select, textarea end */

/* forms checkbox, radio */

input[type="checkbox"],
input[type="radio"] {
  flex: none;
  width: 1.6rem;
  height: 1.6rem;
  border: 0.125rem solid #000;
  border-radius: 0.25rem;
  margin: 0rem 0rem 0rem 0rem;
  padding: 0rem;
  box-shadow: none;
  display: inline-block;
  vertical-align: middle;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: center -10rem / 0.875rem auto no-repeat #fff;
  cursor: pointer;
}

input[type="checkbox"] {
  background-image: url(/build/images/checkbox.e4906a6a.svg);
}

input[type="radio"] {
  background-image: url(/build/images/radio.57731025.svg);
  border-radius: 50%;
}

input[type="radio"]:checked,
input[type="checkbox"]:checked{
  background-position: center center;
  background-color: #0079ba;
  background-color: var(--darker-blue);
}

/* forms checkbox, radio end */

/* forms validate */

@-webkit-keyframes loader {
  0% {background-position: 0rem top;}
  50% {background-position: 10rem top;}
  100% {background-position: 20rem top;}
}

@keyframes loader {
  0% {background-position: 0rem top;}
  50% {background-position: 10rem top;}
  100% {background-position: 20rem top;}
}

@-webkit-keyframes loader-select {
  0% {background-position: calc(100% - 1.063rem) center, 0rem top;}
  50% {background-position: calc(100% - 1.063rem) center, 10rem top;}
  100% {background-position: calc(100% - 1.063rem) center, 20rem top;}
}

@keyframes loader-select {
  0% {background-position: calc(100% - 1.063rem) center, 0rem top;}
  50% {background-position: calc(100% - 1.063rem) center, 10rem top;}
  100% {background-position: calc(100% - 1.063rem) center, 20rem top;}
}

input[type="text"].validate,
input[type="password"].validate,
input[type="tel"].validate,
input[type="email"].validate,
input[type="url"].validate,
input[type="number"].validate,
select.validate,
textarea.validate {
  -webkit-animation-play-state: running;
          animation-play-state: running;
  pointer-events: none;
}

input[type="text"]:not(select).validate,
input[type="password"]:not(select).validate,
input[type="tel"]:not(select).validate,
input[type="email"]:not(select).validate,
input[type="url"]:not(select).validate,
input[type="number"]:not(select).validate,
select:not(select).validate,
textarea:not(select).validate {
  -webkit-animation-name: loader;
          animation-name: loader;
  background-repeat: repeat;
}

select.validate {
  -webkit-animation-name: loader-select;
          animation-name: loader-select;
  background-repeat: no-repeat, repeat;
}

/* forms validate end */

/* forms item generally */

.form-item,
.form-item-radio,
.form-item-checkbox {
  display: flex;
  margin: 0rem 0rem 1rem 0rem;
  cursor: pointer;
  flex-wrap: wrap
}

.form-item .stable, .form-item-radio .stable, .form-item-checkbox .stable {
    width: 100%;
  }

.form-item .vars, .form-item-radio .vars, .form-item-checkbox .vars {
    width: 100%
  }

.form-item .vars > *, .form-item-radio .vars > *, .form-item-checkbox .vars > * {
      display: block;
      font-size: 0.75rem;
      line-height: 1.5;
      line-height: var(--line-height)
    }

.form-item .vars > *:empty, .form-item-radio .vars > *:empty, .form-item-checkbox .vars > *:empty {
        display: none;
      }

.form-item .desc, .form-item-radio .desc, .form-item-checkbox .desc {
  }

.form-item .additional, .form-item-radio .additional, .form-item-checkbox .additional {
    color: #777;
  }

.form-item .errors, .form-item-radio .errors, .form-item-checkbox .errors {
  }

.form-item .error, .form-item-radio .error, .form-item-checkbox .error {
    display: block;
    color: #b71616;
    margin-bottom: 0.25rem
  }

.form-item .error:last-child,.form-item-radio .error:last-child,.form-item-checkbox .error:last-child{
      margin-bottom: 0rem;
    }

@media (min-width: 40rem) {
  
  .form-item,
  .form-item-radio,
  .form-item-checkbox {
  }
}

@media (min-width: 60rem) {
  
  .form-item,
  .form-item-radio,
  .form-item-checkbox {
  }
}

@media (min-width: 80rem) {
  
  .form-item,
  .form-item-radio,
  .form-item-checkbox {
  }
}

/* forms item generally end */

/* forms item input, select, textarea */

.form-item .stable {
    position: relative;
  }

.form-item .vars {
    padding: 0rem 0.875rem
  }

.form-item .vars > * {
      padding: 0.25rem 0rem 0rem 0rem;
    }

.form-item .vars:empty {
      display: none;
    }

.form-item .desc {
    position: absolute;
    top: 1.063rem;
    left: 0.438rem;
    background: #fff;
    padding: 0 0.375rem;
    border-radius: 0.188rem;
    transition: 0.2s;
    font-weight: 700;
    opacity: 0.4;
  }

.form-item.filled .desc,
.form-item input[type="text"]:focus ~ .desc,
.form-item input[type="password"]:focus ~ .desc,
.form-item input[type="tel"]:focus ~ .desc,
.form-item input[type="email"]:focus ~ .desc,
.form-item input[type="url"]:focus ~ .desc,
.form-item input[type="number"]:focus ~ .desc,
.form-item select:focus ~ .desc,
.form-item textarea:focus ~ .desc {
    font-size: 0.75rem;
    top: -0.5rem;
    opacity: 1;
  }

.form-item input[type="text"]:required ~ .desc:after,
.form-item input[type="password"]:required ~ .desc:after,
.form-item input[type="tel"]:required ~ .desc:after,
.form-item input[type="email"]:required ~ .desc:after,
.form-item input[type="url"]:required ~ .desc:after,
.form-item input[type="number"]:required ~ .desc:after,
.form-item select:required ~ .desc:after,
.form-item textarea:required ~ .desc:after {
    content: '*';
  }

@media (min-width: 40rem) {
  
  .form-item {
  }
}

@media (min-width: 60rem) {
  
  .form-item {
  }
}

@media (min-width: 80rem) {
  
  .form-item {
  }
}

/* forms item input, select, textarea end */

/* forms item radio, checkbox */

.form-item-radio,
.form-item-checkbox {
  flex-wrap: unset
}

.form-item-radio .stable, .form-item-checkbox .stable {
  }

.form-item-radio .row, .form-item-checkbox .row {
    display: flex;
    width: 100%;
    margin-bottom: 0.5rem;
    align-items: center;
  }

.form-item-radio .desc, .form-item-checkbox .desc {
    font-size: 0.875rem;
    font-weight: 700;
    padding-left: 1.25rem;
  }

.form-item-radio input:disabled + .vars, .form-item-checkbox input:disabled + .vars {
    opacity: 0.4;
  }

.form-item-radio .vars, .form-item-checkbox .vars {
    width: auto;
    display: flex;
    align-items: center;
    padding: 0;
  }

@media (min-width: 40rem) {
  
  .form-item-radio,
  .form-item-checkbox {
  }
}

@media (min-width: 60rem) {
  
  .form-item-radio,
  .form-item-checkbox {
  }
}

@media (min-width: 80rem) {
  
  .form-item-radio,
  .form-item-checkbox {
  }
}

/* forms item radio, checkbox end */

/* buttons */

.button {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: top;
  min-width: 6.25rem;
  text-align: center;
  text-decoration: none;
  line-height: 1.5;
  color: #fff;
  margin: 0rem 0rem 1rem 0rem;
  cursor: pointer;
  font-weight: bold;
  transition: background 0.3s, border 0.3s, opacity 0.3s;
  border-radius: 1.563rem;
  background: url(/build/images/loader.1d869076.svg) left -100rem / 6.25rem auto no-repeat;
  -webkit-animation: 5s infinite linear paused;
          animation: 5s infinite linear paused
}

.button.small {
    padding: 0.688rem 1rem;
    font-size: 0.875rem;
  }

.button.medium {
    padding: 0.7rem 1.5rem;
    font-size: 1rem
  }

.button.medium .icon {
      height: 1.5625rem;
    }

.button.large {
    padding: 0.813rem 1.75rem;
    font-size: 1.25rem;
  }

.button.outline {
    border: #fff solid 0.125rem;
  }

.button.primary, .button.proceed {
    background-color: #ff9320;
    background-color: var(--orange)
  }

.button.primary.outline, .button.proceed.outline {
      color: #ff9320;
      color: var(--orange);
      background-color: transparent;
      border: #ff9320 solid 0.125rem;
      border: var(--orange) solid 0.125rem;
    }

.button.primary:hover, .button.proceed:hover {
      background-color: #c77116;
    }

.button.secondary {
    color: #fff;
    background-color: #0079ba;
    background-color: var(--border-color)
  }

.button.secondary.outline {
      color: #0079ba;
      color: var(--border-color);
      background-color: transparent;
      border: #0079ba solid 0.125rem;
      border: var(--border-color) solid 0.125rem;
    }

.button.secondary:hover {
    }

.button.dropdown {
    background: #fff;
    color: #0079ba;
    color: var(--darker-blue);
    text-align: left;
    border-radius: 0.375rem;
    border-width: 0.125rem;
    border-color: #0079ba;
    border-color: var(--darker-blue);
    position: relative
  }

.button.dropdown:after {
      position: absolute;
      content: '';
      width: .875rem;
      height: 100%;
      right: 1.063rem;
      top: 0;
      background: url(/build/images/selectbox.35868d55.svg) no-repeat center / 100% auto;
      transition: -webkit-transform .4s ease-in-out;
      transition: transform .4s ease-in-out;
      transition: transform .4s ease-in-out, -webkit-transform .4s ease-in-out;
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg);
    }

.button.dropdown.hide:after {
      -webkit-transform: rotate(0deg);
              transform: rotate(0deg);
    }

.button.dropdown.hide span.show, .button.dropdown:not(.hide) span.hide {
      display: block;
    }

.button.dropdown.hide span.hide, .button.dropdown:not(.hide) span.show {
      display: none;
    }

.button.back {
    background-color: #555
  }

.button.back:hover {
      background-color: #777;
    }

.button.validate {
    -webkit-animation-name: loader;
            animation-name: loader;
    -webkit-animation-play-state: running;
            animation-play-state: running;
    pointer-events: none;
    background-repeat: repeat;
  }

.button .icon {
    width: auto;
    margin: 0 1rem 0 -0.25rem;
  }

@media (min-width: 40rem) {
    
    .button.small {
    }
    
    .button.medium {
    }
    
    .button.large {
    }
}

@media (min-width: 60rem) {
  
    .button.small {
      font-size: 1rem;
    }
  
    .button.medium {
      font-size: 1rem;
    }
  
    .button.large {
      font-size: 1.375rem;
    }
}

@media (min-width: 80rem) {
    
    .button.small {
      font-size: 1.125rem;
    }
    
    .button.large {
      font-size: 1.5rem;
    }
}

/* buttons end */

/* status messages */

@-webkit-keyframes status-message-show {
  0% {opacity:0; left:3em;}
  100% {opacity:1; left:0;}
}

@keyframes status-message-show {
  0% {opacity:0; left:3em;}
  100% {opacity:1; left:0;}
}

.status-messages-container {
  overflow: hidden;
}

.status-message {
  display: flex;
  align-items: center;
  flex: none;
  width: 100%;
  margin-bottom: 1rem;
  color: #343434;
  color: var(--dark-grey);
  padding: 1.375rem 1.25rem;
  line-height: 1.5;
  line-height: var(--line-height);
  font-size: 1.125rem;
  border-radius: 0.375rem;
  opacity: 0;
  left: 3rem;
  position: relative;
  -webkit-animation: status-message-show 0.5s 1.5s 1 alternate forwards;
          animation: status-message-show 0.5s 1.5s 1 alternate forwards
}

.status-message:before {
    content: '';
    background: none no-repeat center / contain;
    margin-right: 1.25rem;
    width: 3.75rem;
    height: 3.75rem;
    font-size: 3rem;
    line-height: 3.75rem;
    font-weight: 700;
    text-align: center;
    background: #fff;
    border-radius: 50%;
    flex-shrink: 0;
  }

.status-message.success {
    background-color: rgba(45, 165, 28, 0.31373)
  }

.status-message.success:before {
      content: '✓';
      color: rgba(45, 165, 28, 0.31373);
    }

.status-message.error {
    background-color: rgba(183, 22, 22, 0.31373)
  }

.status-message.error:before {
      content: '!';
      color: rgba(183, 22, 22, 0.31373);
    }

.status-message.important {
    background-color: rgba(183, 22, 22, 0.31373)
  }

.status-message.important:before {
      content: '!';
      color: rgba(183, 22, 22, 0.31373);
    }

.status-message.notice {
    background-color: #cbe3f1;
    background-color: var(--light-blue)
  }

.status-message.notice:before {
      content: '!';
      color: #cbe3f1;
      color: var(--light-blue);
    }

.status-message.question {
    background-color: #cbe3f1;
    background-color: var(--light-blue)
  }

.status-message.question:before {
      content: '?';
      color: #cbe3f1;
      color: var(--light-blue);
    }

.status-message > * {
    color: inherit;
    font-size: 1rem;
    width: 100%;
    line-height: inherit
  }

.status-message > *:first-child {
      margin-top: 0;
      padding-top: 0;
    }

.status-message > *:last-child {
      margin-bottom: 0;
      padding-bottom: 0;
    }

.status-message a {
    opacity: 0.7;
    color: inherit;
  }

.status-message:nth-child(1) {-webkit-animation-delay: 0.5s;animation-delay: 0.5s;}

.status-message:nth-child(2) {-webkit-animation-delay: 0.75s;animation-delay: 0.75s;}

.status-message:nth-child(3) {-webkit-animation-delay: 1s;animation-delay: 1s;}

.status-message:nth-child(4) {-webkit-animation-delay: 1.25s;animation-delay: 1.25s;}

@media (min-width: 40rem) {
  
  .status-messages-container {
  }
  
  .status-message {
  }
}

@media (min-width: 60rem) {
  
  .status-messages-container {
  }
  
  .status-message {
    padding: 1.25rem 2.5rem;
  }
}

@media (min-width: 80rem) {

  .status-messages-container {
  }

  .status-message {
    font-size: 1.375rem;
  }
}

/* status messages end */

/* flash messages */

.flash-messages-container {
  position: fixed;
  left: 0;
  top: 7.75rem;
  width: 100%;
  background: rgba(255, 255, 255, 0.89804);
  box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.33333);
  z-index: 1000
}

.flash-messages-container .status-message {
    margin: 0rem 0rem 0.5rem 0rem
  }

.flash-messages-container .status-message:first-child {
      margin-top: 1rem;
    }

.flash-messages-container .status-message:last-child {
      margin-bottom: 1rem;
    }

@media (min-width: 40rem) {
  
  .flash-messages-container {
  }
}

@media (min-width: 60rem) {
  
  .flash-messages-container {
    top: 11.5rem;
  }
}

@media (min-width: 80rem) {
  
  .flash-messages-container {
  }
}

/* flash messages end */

/* fullsize loader */

@-webkit-keyframes fullsize-loader {
  from {-webkit-transform:rotate(0);transform:rotate(0)}
  to {-webkit-transform: rotate(360deg);transform: rotate(360deg)}
}

@keyframes fullsize-loader {
  from {-webkit-transform:rotate(0);transform:rotate(0)}
  to {-webkit-transform: rotate(360deg);transform: rotate(360deg)}
}

.fullsize-loader {
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 1010;
  left: 0rem;
  top: 0rem;
  background: rgba(248, 248, 248, 0.9);
  display: none;
  justify-content: center;
  align-items: center
}

.fullsize-loader .animation {
    width: 5.25rem;
    height: 5.25rem;
    display: block;
    background: url(/build/images/loader-2.6ac4774c.svg) center center / 100% auto no-repeat;
    -webkit-animation: fullsize-loader 2s infinite linear paused;
            animation: fullsize-loader 2s infinite linear paused;
  }

.fullsize-loader.visible {
    display: flex
  }

.fullsize-loader.visible .animation {
      -webkit-animation-name: fullsize-loader;
              animation-name: fullsize-loader;
      -webkit-animation-play-state: running;
              animation-play-state: running;
    }

@media (min-width: 40rem) {
  
  .fullsize-loader {
  }
}

@media (min-width: 60rem) {
    
    .fullsize-loader .animation {
      width: 7.25rem;
      height: 7.25rem;
    }
}

@media (min-width: 80rem) {
  
  .fullsize-loader {
  }
}

/* fullsize loader end */

/* table container - ošetřuje skrolování širokých tabulek */

.info-site .text .table-container, .category-intro .info .table-container, .product-detail .description .table-container {
    width: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: smooth;
  }

/* table container end */

/* breadcrumbs generally */

.breadcrumbs {
  font-size: 0.75rem
}

.breadcrumbs .item {
    display: inline-block;
    vertical-align: top;
    text-decoration: none;
  }

.breadcrumbs a {
    color: #0079ba;
    color: var(--darker-blue);
  }

.breadcrumbs .separator {
    display: inline-block;
    vertical-align: top
  }

.breadcrumbs .separator:after {
      content: '→';
    }

.breadcrumbs .inner {
    border-bottom: 0.125rem solid #ebebeb;
    padding-bottom: 1.25rem;
  }

@media (min-width: 40rem) {
  
  .breadcrumbs {
  }
}

@media (min-width: 60rem) {
  
  .breadcrumbs {
    font-size: 1rem;
    border-bottom: 0.125rem solid #ebebeb
  }

    .breadcrumbs .inner {
      padding-bottom: 1.875rem;
      border: none;
    }
}

@media (min-width: 80rem) {
  
  .breadcrumbs {
  }
}

/* breadcrumbs generally end */

/* pagination generally */

.pagination {
  text-align: center
}

.pagination .inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 1rem;
    gap: 1rem
  }

.pagination .inner > *:last-child{
      margin-bottom: 0rem;
    }

.pagination .button {
    justify-content: center;
    margin: 0 auto 1rem auto;
  }

.pagination .listing {
    display: flex;
    align-items: center;
    justify-content: center;
  }

.pagination .item {
    display: inline-block;
    width: 2.25rem;
    height: 2.25rem;
    line-height: 2.25rem;
    margin:0rem 0.1rem;
    transition: 0.3s;
    cursor: pointer;
    position: relative;
    border-radius: 50%;
    color: #0079ba;
    color: var(--darker-blue);
    font-size: 0.875rem;
    font-weight: 700;
    flex: none
  }

.pagination .item.shift.next {
      -webkit-transform:rotateY(180deg);
              transform:rotateY(180deg);
    }

.pagination .item.shift:after {
      border-left:0.125rem solid #0079ba;
      border-left:0.125rem solid var(--darker-blue);
      border-bottom:0.125rem solid #0079ba;
      border-bottom:0.125rem solid var(--darker-blue);
      width:0.625rem;
      height:0.625rem;
      content:'';
      display:block;
      -webkit-transform:rotate(0deg);
              transform:rotate(0deg);
      position:absolute;
      left:1.05rem;
      -webkit-transform:rotate(45deg);
              transform:rotate(45deg);
      top:calc(50% - 0.313rem);
    }

.pagination .item:hover,
    .pagination .item.active {
      background: #0079ba;
      background: var(--darker-blue);
      color: #fff
    }

.pagination .item:hover.shift:after, .pagination .item.active.shift:after {
        border-color: #fff;
      }

.pagination .dots {
    cursor: default
  }

.pagination .dots.left { 
    }

.pagination .dots.right { 
    }

@media (min-width: 40rem) {
  
  .pagination {
  }
}

@media (min-width: 60rem) {
    
    .pagination .item {
      width: 2.375rem;
      height: 2.375rem;
      line-height: 2.375rem;
    }

    .pagination .button {
      margin-bottom: 0;
      width: 100vw;
      max-width: 19.5rem;
    }
}

@media (min-width: 80rem) {
  
    .pagination .item {
      width: 2.5rem;
      height: 2.5rem;
      line-height: 2.5rem;
    }
}

@media (max-width: 59.938rem) {
    
    .pagination .dots.left + .item,
    .pagination:not([data-current="1"]) .item.active + .item + .item {
      display: none;
    }
    
    .pagination[data-current="4"] .item:nth-child(3) {
      font-size: 0;
      pointer-events: none
    }
      
      .pagination[data-current="4"] .item:nth-child(3):after {
        font-size: 1rem;
        content: '...';
        font-weight: normal;
        color: inherit;
        color: #000;
        color: var(--base-color);
      }
}

/* pagination generally end */

/* register cta generally,
   terms agreement generally,
   gdpr regulation generally
*/

.register-cta,
.terms-agreement,
.gdpr-regulation {
  margin: 0rem 0rem 1.25rem 0rem
}

.register-cta .form-item-checkbox, .terms-agreement .form-item-checkbox, .gdpr-regulation .form-item-checkbox {
    margin: 0rem 0rem 0rem 0rem;
    flex-flow: column;
  }

.register-cta .link, .terms-agreement .link, .gdpr-regulation .link {
    color: inherit;
    text-decoration: underline;
    font-weight: 400
  }

.register-cta .link:hover, .terms-agreement .link:hover, .gdpr-regulation .link:hover {
      text-decoration: none;
    }

@media (min-width: 40rem) {
  
  .register-cta,
  .terms-agreement,
  .gdpr-regulation {
  }
}

@media (min-width: 60rem) {
  
  .register-cta,
  .terms-agreement,
  .gdpr-regulation {
  }
}

@media (min-width: 80rem) {
  
  .register-cta,
  .terms-agreement,
  .gdpr-regulation {
  }
}

/* register cta generally end,
   terms agreement generally end,
   gdpr regulation generally end
*/

/* page wrapper */

.page-wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto 1fr auto;
  grid-template-areas:
    "header"
    "content"
    "footer";
  width: 100%;
  min-height: 100%;
}

.inner {
  width: 100%;
  max-width: calc(87.5rem + (2 * .75rem));
  max-width: var(--page-width);
  padding: 0rem  .75rem;
  padding: 0rem  var(--page-padding);
  margin: 0rem auto
}

.inner .inner {
    padding-left: 0rem;
    padding-right: 0rem;
  }

.inner-padding {
  width: 100%;
  padding: 0rem  .75rem;
  padding: 0rem  var(--page-padding);
  margin: 0;
}

@media (min-width: calc(87.5rem + (6 * 0.75rem))) {
  .inner-padding {
    /* sirka jedne bocni mezery, kdyz obrazovka je sirsi, nez pevna sirka webu = (sirka obrazovky - default max-width inneru) / 2 */
    padding: 0 calc((100vw - calc(87.5rem + (2 * .75rem))) / 2 + .75rem);
    padding: 0 calc((100vw - var(--page-width)) / 2 + var(--page-padding));
  }
}

@media (min-width: 40rem) {
  
  .page-wrapper {
  }
}

@media (min-width: 60rem) {
  
  .page-wrapper {
  }
}

@media (min-width: 80rem) {
  
  .page-wrapper {
  }
}

/* page wrapper end */

/* page header generally */

.page-header {
  width: 100%;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 200;
  background: #48c3f4;
  background: var(--theme-color);
  padding: .75rem 0rem;
  margin-bottom: 1.25rem
}

.page-header .inner {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
  }

.page-header .logo {
    width: 4.75rem;
    flex: none
  }

.page-header .logo .image {
      width: 100%;
    }

.page-header .slogan {
    color: #fff;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 0.7rem;
    line-height: 1.1;
    font-size: 0.625rem;
    max-width: 6.3em;
    margin: 0 0 0 0.5rem;
  }

@media (min-width: 30rem) {
    
    .page-header .slogan {
      font-size: 0.875rem;
      margin-left: 1.5rem;
    }
}

@media (min-width: 60rem) {
  
  .page-header {
    --header-padding: 1.4rem;
    padding: var(--header-padding) 0 0 0;
    padding: var(--header-padding) 0 0 0;
    margin-bottom: 1.875rem;
    position: relative
  }

    .page-header .inner {
      align-items: stretch;
    }
    
    .page-header .logo {
      width: 8.5rem;
      margin-top: -0.75rem;
    }

    .page-header .slogan {
      font-size: 1rem;
    }

    .page-header .category-menu-horizontal {
      width: 100%;
      order: 1;
      margin: 1rem auto 0 0;
    }
    .page-header .dashboard {
      margin-left: auto;
      padding-bottom: var(--header-padding);
      padding-bottom: var(--header-padding);
    }
}

@media (min-width: 80rem) {
    .page-header .category-menu-horizontal {
      width: auto;
      order: unset;
      margin: 0 auto;
    }
    .page-header .dashboard {
      margin-left: 0;
    }
}

/* page header generally end */

/* page content */

.page-content .headline {
    color: #0079ba;
    color: var(--darker-blue);
    text-align: center;
    font-size: 1.75rem;
    font-weight: 700;
    padding-bottom: 1.25rem;
    margin-bottom: 1.75rem;
    border-bottom: .125rem solid #cbe3f1;
    border-bottom: .125rem solid var(--light-blue)
  }

.page-content .headline.border-top {
      border-top: .125rem solid #cbe3f1;
      border-top: .125rem solid var(--light-blue);
      border-bottom: 0;
      padding-bottom: 0;
      padding-top: 1.25rem;
    }

.page-content-in.part-size {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0, 1fr);
    max-width: calc(87.5rem + (2 * .75rem));
    max-width: var(--page-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: .75rem;
    padding-left: var(--page-padding);
    padding-right: .75rem;
    padding-right: var(--page-padding)
  }

.page-content-in.part-size .inner {
      padding-left: 0;
      padding-right: 0;
    }

@media (min-width: 40rem) {
  
  .page-content {
  }
  
  .page-content-in {
  }
}

@media (min-width: 60rem) {
  
  .page-content {
  }
  
  .page-content-in {
  }
}

@media (min-width: 80rem) {
  
  .page-content {
  }
  
    .page-content-in.part-size {
      grid-gap: 2rem;
      gap: 2rem;
      grid-template-columns: minmax(0, 0.4fr) minmax(0, 1.6fr);
    }
}

/* page content end */

/* page main */

.page-main {
}

@media (min-width: 40rem) {
  
  .page-main {
  }
}

@media (min-width: 60rem) {
  
  .page-main {
  }
}

@media (min-width: 80rem) {
  
  .page-main {
  }
    
    .part-size .page-main {
    }
}

/* page main end */

/* page complement */

.page-complement {
}

.part-size .page-complement {
    display: none;
  }

@media (min-width: 40rem) {
  
  .page-complement {
  }
}

@media (min-width: 60rem) {
  
  .page-complement {
  }
}

@media (min-width: 80rem) {
  
  .page-complement {
  }
    
    .part-size .page-complement {
      display: block;
    }
}

/* page complement end */

/* page block generally */

.page-block {
  margin-bottom: 2rem
}

.page-block.attachments .content {
      display: grid;
      grid-gap: 1rem;
      gap: 1rem;
      width: 100%;
    }

@media (min-width: 40rem) {
  
  .page-block {
  }
}

@media (min-width: 60rem) {
  
  .page-block {
    margin-bottom: 3rem;
  }
}

@media (min-width: 80rem) {
  
  .page-block {
  }
}

/* page block generally end */

/* info site */

.info-site .headline {
  }

.info-site .perex {
    font-weight: bold;
  }

.info-site .text > :last-child {
      margin-bottom: 0rem;
      padding-bottom: 0rem;
    }

@media (min-width: 40rem) {
  
  .info-site {
  }
}

@media (min-width: 60rem) {
  
  .info-site {
  }
}

@media (min-width: 80rem) {
  
  .info-site {
  }
}

/* info site */

/* info site complement */

.info-site-complement {
}

@media (min-width: 40rem) {
  
  .info-site-complement {
  }
}

@media (min-width: 60rem) {
  
  .info-site-complement {
  }
}

@media (min-width: 80rem) {
  
  .info-site-complement {
  }
}

/* info site complement end */

/* photogallery */

.photogallery .content {
    grid-template-columns: repeat(2, 1fr);
  }

.photogallery .item:hover {
    }

.photogallery .picture {
    position: relative;
    padding-top: 75%;
  }

.photogallery .image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    position: absolute;
    left: 0rem;
    top: 0rem;
  }

@media (min-width: 40rem) {
  
    .photogallery .content {
      grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 60rem) {
    
    .photogallery .content {
      grid-template-columns: repeat(4, 1fr);
    }
}

@media (min-width: 80rem) {
  
  .photogallery {
  }
}

/* photogallery end */

/* filegallery */

.filegallery .content {
  }

.filegallery .item {
    border: 1px solid rgba(0, 0, 0, 0.2);
    padding: 0.75rem 0.75rem 0.75rem 2.75rem;
    text-decoration: none;
    background: url(/build/images/filegallery.7ba91f26.svg) no-repeat 0.75rem center / 1.25rem auto
  }

.filegallery .item .title {
      font-weight: normal;
    }

.filegallery .item .desc {
      font-size: 0.75rem;
      padding: 0.25rem 0rem 0rem 0rem;
    }

.filegallery .item .size {
    }

.filegallery .item .extension {
      display: none;
    }

.filegallery .item:hover {
      text-decoration: underline;
    }

@media (min-width: 40rem) {
  
  .filegallery {
  }
}

@media (min-width: 60rem) {
    
    .filegallery .content {
      grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 80rem) {
  
  .filegallery {
  }
}

/* filegallery end */

/* videogallery */

.videogallery .item {
    display: flex;
    flex-direction: column;
    width: 100%;
  }

.videogallery .video {
    position: relative;
    padding-top: 56.25%;
    margin-top: auto;
  }

.videogallery .title {
    margin-bottom: 0.5rem;
  }

.videogallery .desc {
    margin: 0rem 0rem 0.75rem 0rem;
  }

.videogallery .iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0rem;
    top: 0rem;
  }

@media (min-width: 40rem) {
  
  .videogallery {
  }
}

@media (min-width: 60rem) {
    
    .videogallery .content {
      grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 80rem) {
  
  .videogallery {
  }
}

/* videogallery end */

/* contact form */

.contact-form .button {
    margin: 0;
  }

@media (min-width: 40rem) {
  
  .contact-form {
  }
}

@media (min-width: 60rem) {
    
    .contact-form .active-box {
      display: flex;
      align-items: center;
      width: 100%;
    }
  
    .contact-form .main {
      flex: 1 1 auto;
      padding-right: 2rem;
    }
}

@media (min-width: 80rem) {
  
  .contact-form {
  }
}

/* contact form end */

/* socials generally */

.socials {
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  text-align: center
}

.socials .item {
    display: inline-block;
    vertical-align: top;
    width: 3.188rem;
    height: 3.188rem;
    border-radius: 50%;
    margin: 0rem 0.5625rem 0rem 0.5625rem
  }

.socials .item:hover{
      -webkit-filter: brightness(125%);
              filter: brightness(125%);
    }

.socials .email {
    background: url(/build/images/email.9deec768.svg) center center / 1.25rem auto no-repeat #fff;
  }

.socials .facebook {
    background: url(/build/images/facebook.ee001fa6.svg) center center / 0.725rem auto no-repeat #fff;
  }

.socials .twitter {
    background: url(/build/images/twitter.19456f44.svg) center center / 2rem auto no-repeat #fff;
  }

.socials .instagram {
    background: url(/build/images/instagram.e48b9561.svg) center center / 1.575rem auto no-repeat #fff;
  }

.socials .youtube {
    background: url(/build/images/youtube.2bbc11f4.svg) calc(50% + 0.125rem) center / 0.938rem auto no-repeat #fff;
  }

.socials .linkedin {
    background: url(/build/images/linkedin.a8bff73c.svg) center calc(50% - 0.125rem) / 1.25rem auto no-repeat #fff;
  }

.socials .text {
    display: none;
  }

.socials.grey .email {
      background: url(/build/images/email-white.51cd0e74.svg) center center / 1.25rem auto no-repeat #999;
      background: url(/build/images/email-white.51cd0e74.svg) center center / 1.25rem auto no-repeat var(--grey);
    }

.socials.grey .facebook {
      background: url(/build/images/facebook-white.78ba9456.svg) center center / 0.725rem auto no-repeat #999;
      background: url(/build/images/facebook-white.78ba9456.svg) center center / 0.725rem auto no-repeat var(--grey);
    }

.socials.grey .twitter {
      background: url(/build/images/twitter-white.87504987.svg) center center / 2rem auto no-repeat #999;
      background: url(/build/images/twitter-white.87504987.svg) center center / 2rem auto no-repeat var(--grey);
    }

.socials.grey .instagram {
      background: url(/build/images/instagram-white.8ece320e.svg) center center / 1.575rem auto no-repeat #999;
      background: url(/build/images/instagram-white.8ece320e.svg) center center / 1.575rem auto no-repeat var(--grey);
    }

.socials.grey .youtube {
      background: url(/build/images/youtube-white.0ab8d3b3.svg) calc(50% + 0.125rem) center / 0.938rem auto no-repeat #999;
      background: url(/build/images/youtube-white.0ab8d3b3.svg) calc(50% + 0.125rem) center / 0.938rem auto no-repeat var(--grey);
    }

.socials.grey .linkedin {
      background: url(/build/images/linkedin-white.7ecf71e8.svg) center calc(50% - 0.125rem) / 1.25rem auto no-repeat #999;
      background: url(/build/images/linkedin-white.7ecf71e8.svg) center calc(50% - 0.125rem) / 1.25rem auto no-repeat var(--grey);
    }

@media (min-width: 40rem) {
  
  .socials {
  }
}

@media (min-width: 60rem) {
  
  .socials {
  }
}

@media (min-width: 80rem) {
  
  .socials {
  }
}

/* socials generally end */

/* slideshow */

.slideshow.desktop {
    display: none;
  }

.slideshow .slick-content {
    background: #fff;
    border: 0.125rem solid #ebebeb;
    border: 0.125rem solid var(--light-grey);
    border-radius: 0.375rem;
    overflow: hidden;
  }

.slideshow .item {
    display: flex;
    flex-flow: column;
  }

.slideshow .info {
    padding: 1.375rem .875rem;
    color: #0079ba;
    color: var(--darker-blue);
    order: 1;
  }

.slideshow .title {
    margin: 0rem 0rem 0.5rem 0rem;
    font-size: 1.875rem;
    color: inherit;
  }

.slideshow .desc {
    font-size: 1rem;
    margin: 0rem 0rem 1rem 0rem;
    color: inherit;
  }

.slideshow .button {
    margin: 0;
    width: 100%;
    justify-content: center;
  }

.slideshow .image-box {
    width: 100%;
    min-height: 19.375rem;
    position: relative;
    border-radius: 0.375rem;
    overflow: hidden;
    box-sizing: content-box;
    border-top: 0.125rem solid #ebebeb
  }

.slideshow .image-box .image {
      width: 100%;
      height: 100%;
      position: absolute;
      -o-object-fit: cover;
         object-fit: cover;
      border-radius: 0.375rem;
    }

.slideshow.mobile .image-box {
    min-height: 0
  }

.slideshow.mobile .image-box .image {
      height: auto;
      position: relative;
    }

.slideshow .slick-arrows-wrapper {
    position: absolute;
    left: 0;
    top: 38%;
    width: 100%;
  }

.slideshow .slick-arrows {
    display: block;
    position: relative
  }

.slideshow .slick-arrows .slick-arrow {
      background: #ebebeb;
      background: var(--light-grey);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center
    }

.slideshow .slick-arrows .slick-arrow:after {
        width: 1rem;
        height: 1rem;
        background: url(/build/images/banner-arrow.00e77b2f.svg) no-repeat center / contain;
        -webkit-transform: rotate(180deg);
                transform: rotate(180deg);
        content: '';
        border: none;
        color: #999;
        font-size: 1.75rem;
        line-height: 1.4em;
        font-weight: 700;
        top: calc(50% - 0.5rem);
        left: calc(50% - 0.5rem);
      }

.slideshow .slick-dots {
    position: static
  }

.slideshow .slick-dots ul {
      display: flex;
      justify-content: center;
      margin: 1.25rem 0 0 0;
    }

.slideshow .slick-dots li {
      display: block;
      width: .75rem;
      height: .75rem;
      border-radius: 50%;
      background: #000;
      opacity: 0.2;
      margin: 0 .3125rem
    }

.slideshow .slick-dots li.slick-active {
        background: #0079ba;
        background: var(--darker-blue);
        opacity: 1;
      }

.slideshow .slick-dots .text {
      display: none;
    }

@media (min-width: 40rem) {
    
    .slideshow.desktop {
      display: block;
    }
    
    .slideshow.mobile {
      display: none;
    }
}

@media (min-width: 52.5rem) {
    .slideshow .button {
      width: auto;
    }
}

@media (min-width: 60rem) {
    .slideshow .item {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      grid-column-gap: 1.8rem;
    }

    .slideshow .info {
      padding: 1.375rem;
      border-radius: 0.375rem;
      order: unset;
    }

    .slideshow .image-box {
      grid-column: 2 / span 3;
      border: none;
      border-radius: 0;
      height: 100%;
      min-height: 19.375rem
    }

      .slideshow .image-box .image {
        border-radius: 0;
      }
  
  .slideshow {

    /* nasimuluje 4 sloupce a zarovna sipky do poslednich 3 */
  }
    .slideshow .slick-arrows-wrapper {
      top: 50%;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
    }
    .slideshow .slick-arrows {
      grid-column: 2 / span 4;
    }
}

@media (min-width: 80rem) {

    .slideshow .info {
      padding: 2.125rem 3rem;
    }
}

@media (min-width: 90rem) {
    .slideshow .title {
      font-size: 2.25rem;
    }
}

/* slideshow end */

/* error pages */

.error-page {
  text-align: center
}

.error-page.server-error {
    padding-top: 2rem;
  }

.error-page .inner {
    max-width: 40rem
  }

.error-page .inner > *:last-child {
      margin-bottom: 0rem;
    }

.error-page .headline {
    font-weight: bold;
    font-size: 4rem;
  }

.error-page .desc {
  }

.error-page .button {
    margin: 0rem 0rem 0rem 0rem;
    width: auto;
  }

@media (min-width: 40rem) {
  
  .error-page {
  }
}

@media (min-width: 60rem) {
    
    .error-page.server-error {
      padding-top: 3rem;
    }
    
    .error-page .headline {
      font-size: 5rem;
    }
}

@media (min-width: 80rem) {
  
    .error-page .headline {
      font-size: 6rem;
    }
}

/* error pages end */

/* homepage */

@media (min-width: 60rem) {
    .homepage .arguments {
      margin-bottom: 4rem;
    }
}

/* homepage end */

/* hero generally */

.hero {
  position: relative;
  overflow: hidden
}

.hero .hero-title {
    max-width: 14rem;
    overflow: visible;
    color: #48c3f4;
    color: var(--theme-color);
    font-size: 1.875rem;
    font-weight: 700;
    text-align: center;
    margin: 0 auto;
  }

.hero .slideshow {
    margin-top: 1.25rem;
  }

.hero .background {
    width: 100%;
    height: auto;
    position: absolute;
    z-index: -1;
    min-width: 80rem;
    overflow: visible
  }

.hero .background .cloud {
      -webkit-animation: cloud-float 1.75s linear infinite;
              animation: cloud-float 1.75s linear infinite;
      -webkit-animation-direction: alternate;
              animation-direction: alternate;
      -webkit-animation-timing-function: ease-in-out;
              animation-timing-function: ease-in-out
    }

.hero .background .cloud:nth-child(2n) {
        -webkit-animation-delay: 0.3s;
                animation-delay: 0.3s;
      }

.hero .background .cloud:nth-child(3n) {
        -webkit-animation-name: cloud-float-2;
                animation-name: cloud-float-2;
      }

@-webkit-keyframes cloud-float {
  from {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  to {
    -webkit-transform: translate(0, 1rem);
    transform: translate(0, 1rem);
  }
}

@keyframes cloud-float {
  from {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  to {
    -webkit-transform: translate(0, 1rem);
    transform: translate(0, 1rem);
  }
}

@-webkit-keyframes cloud-float-2 {
  from {
    -webkit-transform: translate(0, 0.25rem);
    transform: translate(0, 0.25rem);
  }
  to {
    -webkit-transform: translate(0, -0.5rem);
    transform: translate(0, -0.5rem);
  }
}

@keyframes cloud-float-2 {
  from {
    -webkit-transform: translate(0, 0.25rem);
    transform: translate(0, 0.25rem);
  }
  to {
    -webkit-transform: translate(0, -0.5rem);
    transform: translate(0, -0.5rem);
  }
}

@media (min-width: 40rem) {
  
    .hero .hero-title {
      font-size: 2rem;
    }
}

@media (min-width: 52.5rem) {
  
    .hero .hero-title {
      font-size: 2.25rem;
    }
}

@media (min-width: 60rem) {
  
  .hero {
    display: flex;
    justify-content: center
  }

    .hero .hero-title {
      font-size: 2.5rem;
      text-align: left;
      margin: 1.5rem 0 0 0;
      max-width: unset;
      text-align: center;
    }

    .hero .slideshow {
      margin-top: 3rem;
    }

    .hero .background {
      width: auto;
      height: calc(100% - 1rem);
    }
}

@media (min-width: 80rem) {
    .hero .hero-title {
      font-size: 3rem;
    }
}

@media (min-width: 90rem) {
    .hero .hero-title {
      font-size: 3.125rem;
    }
}

/* hero generally end */

/* arguments generally */

.arguments {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 0.625rem
}

.arguments .argument-item {
    display: flex;
    align-items: center;
    min-height: 4.375rem;
    padding: 0.625rem 1.25rem;
    color: #0079ba;
    background-color: #ffffff;
    border-radius: 0.375rem;
    border: 0.125rem solid #0079ba
  }

.arguments .argument-item .title {
      text-transform: uppercase;
      font-size: 0.875rem;
      font-weight: 700;
      margin: 0;
      color: inherit;
    }

.arguments .argument-item .text {
      margin: .5rem 0 0 0;
    }

.arguments .argument-item .image-box {
      width: 3.875rem;
      height: 3.125rem;
      margin-right: 1.25rem
    }

.arguments .argument-item .image-box .image {
        width: 100%;
        height: 100%;
        -o-object-fit: contain;
           object-fit: contain;
      }

@media (min-width: 40rem) {
  .arguments {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 64rem) {
  .arguments {
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 1.8rem;
  }
}

/* arguments generally end */

/* info bar */

.info-bar {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  padding: 0.75rem 0;
  background: #0079ba;
  background: var(--darker-blue);
  color: #fff;
  z-index: 225;
  overflow: hidden
}

.info-bar .inner { 
    max-width: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    grid-gap: 0.625rem;
    gap: 0.625rem;
  }

.info-bar .content {
    font-weight: bold;
    font-size: 0.75rem;
    position: relative;
    opacity: 0;
    margin: 0 auto;
  }

.info-bar.visible .content {
    opacity: 1;
  }

.info-bar.marquee-active .content:before,
    .info-bar.marquee-active .content:after {
      width: 1rem;
      position: absolute;
      top: 0;
      height: 100%;
      content: '';
      z-index: 1;
      background: linear-gradient(to right, #0079ba, rgba(0, 121, 186, 0));
      background: linear-gradient(to right, var(--darker-blue), rgba(0, 121, 186, 0));
    }

.info-bar.marquee-active .content:before {
      left: 0;
    }

.info-bar.marquee-active .content:after {
      right: 0;
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg);
    }

.info-bar .text {
    white-space: nowrap;
    position: absolute;
    left: 0;
    top: 0;
  }

.info-bar.marquee-active .text {
    opacity: 0;
  }

.info-bar .running-text {
    vertical-align: top;
    opacity: 0;
  }

.info-bar.marquee-active .running-text {
    opacity: 1;
    order: -1;
  }

.info-bar .marquee {
    font-size: inherit;
    display: inline-block;
    vertical-align: top;
  }

.info-bar .close {
    width: 1.75rem;
    padding: 0.188rem;
    aspect-ratio: 1/1;
    flex: none;
    position: relative;
    z-index: 1;
    background: url(/build/images/close.446bfa1c.svg) center center / contain content-box no-repeat;
  }

@media (min-width: 40rem) {
  
  .info-bar {
  }
}

@media (min-width: 60rem) {
  
  .info-bar {
    padding-top: 0.688rem;
    padding-bottom: 0.688rem
  }
  
    .info-bar .content {
      font-size: 0.813rem;
    }
    
      .info-bar.marquee-active .content:before,
      .info-bar.marquee-active .content:after {
        width: 3rem;
      }
}

@media (min-width: 80rem) {
  
    .info-bar .content {
      font-size: 0.875rem;
    }
    
      .info-bar.marquee-active .content:before,
      .info-bar.marquee-active .content:after {
        width: 5rem;
      }
}

/* info bar end */

/* newsletter generally */

.newsletter-reg {
  background: #48c3f4;
  background: var(--theme-color);
  margin-top: 2rem;
  color: #fff;
  padding: 2.8125rem 0;
  border-bottom: 0.063rem solid #ffffff
}

.newsletter-reg .title {
    font-size: 1.25rem;
    padding-right: 2rem;
  }

.newsletter-reg .form-item {
    margin-bottom: 1.25rem;
    color: #000
  }

.newsletter-reg .form-item input {
      height: 3.125rem;
      border-radius: 1.563rem;
      border: none;
      color: #000;
    }

.newsletter-reg .form-item .desc {
      left: 1.25rem;
    }

.newsletter-reg .form-item.empty .desc {
      top: 0.8rem;
    }

.newsletter-reg .gdpr-regulation {
    margin: 0
  }

.newsletter-reg .gdpr-regulation .row {
      margin: 0;
    }

.newsletter-reg .gdpr-regulation .desc {
      font-size: 0.625rem;
    }

.newsletter-reg .gdpr-regulation input {
      border-color: transparent;
    }

.newsletter-reg .button {
    width: 100%;
    height: 3.125rem;
    justify-content: center;
    flex-shrink: 1;
    margin-bottom: 1.25rem;
    box-sizing: border-box;
  }

.newsletter-reg .status-messages-container:not(:empty) {
    margin-top: 1.5rem;
  }

.newsletter-reg .status-message.success {
      background-color: rgba(45, 165, 28, 0.45882);
      color: #fff;
    }

.newsletter-reg .status-message.error {
      background-color: rgba(183, 22, 22, 0.45882);
      color: #fff;
    }

.newsletter-reg .status-message:before {
      display: none;
    }

.newsletter-reg + .page-footer {
    margin-top: 0;
  }

@media (min-width: 40rem) {
    
    .newsletter-reg .form-item {
      width: calc(100% - 18rem);
      flex-shrink: 0;
      margin-right: 1.25rem;
    }
    
    .newsletter-reg .handle {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
    }

    .newsletter-reg .gdpr-regulation {
      order: 1;
      width: 100%;
    }

    .newsletter-reg .button {
      width: 12.5rem;
    }
}

@media (min-width: 40rem) {
  
  .newsletter-reg {
    margin-top: 2.5rem;
  }
}

@media (min-width: 64rem) {
  
  .newsletter-reg {
    padding: 4.6875rem 0
  }

    .newsletter-reg .title {
      max-width: 20rem;
    }

    .newsletter-reg .form {
      display: flex;
    }
}

@media (min-width: 80rem) {
  
  .newsletter-reg {
    margin-top: 3rem;
  }
}

/* newsletter generally end */

/* themes list */

.themes {
  --themes-gap: 0.875rem;
  --themes-cols: 2
}

.themes .themes-list {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start
  }

.themes .themes-list .theme-item {
      /* sirka sloupce = 100% / pocet sloupcu - celkova sirka vsech mezer / pocet sloupcu */
      /* celkova sirka vsech mezer = (pocet sloupcu - 1) * sirka jedne mezery */
      width: calc(100% / var(--themes-cols) - var(--themes-gap) * (var(--themes-cols) - 1) / var(--themes-cols));
      width: calc(100% / var(--themes-cols) - var(--themes-gap) * (var(--themes-cols) - 1) / var(--themes-cols));
      height: 0;
      padding-bottom: calc(100% / var(--themes-cols) - var(--themes-gap) * (var(--themes-cols) - 1) / var(--themes-cols));
      padding-bottom: calc(100% / var(--themes-cols) - var(--themes-gap) * (var(--themes-cols) - 1) / var(--themes-cols));
      margin: 0 var(--themes-gap) 1.25rem 0;
      margin: 0 var(--themes-gap) 1.25rem 0;
      border-radius: 50%;
      position: relative;
      overflow: hidden;
      background: #000
    }

.themes .themes-list .theme-item .image {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
        position: absolute;
        top: 0;
        left: 0;
      }

.themes .themes-list .theme-item .info {
        display: flex;
        flex-flow: column;
        align-items: center;
        justify-content: center;
        color: #0079ba;
        color: var(--darker-blue);
        text-align: center;
        border: 0.1rem solid #0079ba;
        border: 0.1rem solid var(--darker-blue);
        padding: 0 0.25rem;
        font-weight: 700;
        border-radius: 50%;
        width: 100%;
        height: 100%;
        position: absolute;
        opacity: 0;
        visibility: hidden;
        background: rgba(243, 243, 243, 0.93);
        transition: visibility 0s linear 300ms, opacity 300ms
      }

.themes .themes-list .theme-item .info .title {
          font-size: 0.75rem;
          margin-bottom: 0.625rem;
        }

.themes .themes-list .theme-item .info .perex {
          font-size: 0.625rem;
          margin-bottom: 0.625rem;
        }

.themes .themes-list .theme-item .info .button {
          padding: 0.1rem;
          justify-content: center;
          margin: 0;
          font-size: 0.75rem;
        }

.themes .themes-list .theme-item:hover .info {
          visibility: visible;
          opacity: 1;
          transition: visibility 0s linear 0s, opacity 300ms;
        }

.themes .themes-list .theme-item:nth-child(2n) {
        margin-right: 0;
      }

@media (min-width: 35rem) { /* 560px */
  .themes {
    --themes-cols: 3
  }

    .themes .themes-list {
      justify-content: center
    }
        .themes .themes-list .theme-item:nth-child(2n) {
          margin-right: var(--themes-gap);
          margin-right: var(--themes-gap);
        }
        .themes .themes-list .theme-item:nth-child(3n) {
          margin-right: 0;
        }
          .themes .themes-list .theme-item .info .title {
            font-size: 1rem;
          }
          .themes .themes-list .theme-item .info .perex {
            font-size: 0.75rem;
          }
}

@media (min-width: 30rem) {
        .themes .themes-list .theme-item .info {
          padding: 0 0.5rem;
        }
}

@media (min-width: 40rem) {
        .themes .themes-list .theme-item .info {
          padding: 0 1rem
        }

          .themes .themes-list .theme-item .info .button {
            padding: 0.3rem;
          }
}

@media (min-width: 52.5rem) {
        .themes .themes-list .theme-item .info {
          padding: 0 2rem
        }

          .themes .themes-list .theme-item .info .title, .themes .themes-list .theme-item .info .perex {
            margin-bottom: 1rem;
          }
          .themes .themes-list .theme-item .info .button {
            padding: 0.5rem 1rem;
          }
}

@media (min-width: 60rem) {
  .themes {
    --themes-cols: 4
  }
        .themes .themes-list .theme-item:nth-child(3n) {
          margin-right: var(--themes-gap);
          margin-right: var(--themes-gap);
        }
        .themes .themes-list .theme-item:nth-child(4n) {
          margin-right: 0;
        }
}

@media (min-width: 64rem) {
  .themes {
    --themes-gap: 1.875rem
  }
          .themes .themes-list .theme-item .info .title {
            font-size: 1.15rem;
          }
          .themes .themes-list .theme-item .info .perex {
            font-size: 0.85rem;
          }
}

@media (min-width: 80rem) {
          .themes .themes-list .theme-item .info .title {
            font-size: 1.5rem;
            margin-bottom: 1.25rem;
          }
          .themes .themes-list .theme-item .info .perex {
            font-size: 1.125rem;
            margin-bottom: 1.25rem;
          }
          .themes .themes-list .theme-item .info .button {
            padding: 0.5em 1.5rem;
            font-size: 1rem;
          }
}

/* themes list end */

/* page footer generally */

.page-footer {
  padding: 2rem 0 0 0;
  margin-top: 4rem;
  background: #48c3f4;
  background: var(--theme-color);
  color: #fff
}

.page-footer .footer-main {
    display: flex;
    flex-flow: column;
    align-items: center;
  }

.page-footer .logo {
    margin: 0 0 1.8125rem 0
  }

.page-footer .logo img {
      width: 9rem;
    }

.page-footer .completive-menus {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin: 0 0 3rem 0
  }

.page-footer .completive-menus .link {
      color: #fff;
      text-align: left;
      font-size: 0.875rem;
      line-height: 1.5rem;
    }

.page-footer .completive-menus .completive-menu:first-child {
      font-weight: 700;
      margin-right: 1rem;
    }

.page-footer .contact h3 {
      font-size: 0.875rem;
      margin: 0 0 1.68rem 0;
      text-align: center;
      line-height: 1.5rem;
    }

.page-footer .contact p {
      text-align: center;
    }

.page-footer .contact .button {
      display: flex;
      margin: 0 auto 1.18rem auto;
      width: 18.75rem
    }

.page-footer .contact .button:last-child {
        margin-bottom: 0;
      }

.page-footer .socials {
    margin-top: 4.375rem;
  }

.page-footer .card-logos {
    margin-top: 1.5rem;
  }

@media (min-width: 40rem) {
  
  .page-footer {
  }
}

@media (min-width: 64rem) {
  
  .page-footer {
    margin-top: 5.5rem
  }

    .page-footer .footer-main {
      flex-flow: row;
      justify-content: space-between;
      align-items: flex-start;
    }

    .page-footer .logo {
      flex-shrink: 0
    }

      .page-footer .logo img {
        width: 6rem;
      }

    .page-footer .completive-menus {
      width: auto;
      flex-shrink: 0;
      margin: 0 1rem;
      justify-content: flex-start
    }

      .page-footer .completive-menus .item {
        display: block;
      }
      
      .page-footer .completive-menus .link {
        font-size: 1rem;
      }

    .page-footer .socials {
      width: auto;
      margin-top: 0;
    }

    .page-footer .contact {
      margin-right: 1rem
    }
      
      .page-footer .contact h3 {
        text-align: left;
      }
      
      .page-footer .contact p {
        text-align: left;
      }
      
      .page-footer .contact .button {
        width: 16rem;
      }
}

@media (min-width: 80rem) {
  
  .page-footer {
    margin-top: 6rem
  }

    .page-footer .logo img {
      width: 9rem;
    }

    .page-footer .contact .button {
      width: 18.75rem;
    }
}

@media (min-width: 90rem) {
    .page-footer .completive-menus .completive-menu:first-child {
      margin-right: 3.25rem;
    }
}

/* page footer generally end */

/* sites info */

.sites-info {
  text-align: center;
  margin: 0rem 0rem 0.75rem 0rem
}

.sites-info p {
    font-size: 0.875rem;
  }

.sites-info * {
    margin-bottom: 0rem;
    padding-bottom: 0rem;
  }

@media (min-width: 40rem) {
  
  .sites-info {
  }
}

@media (min-width: 60rem) {
  
  .sites-info {
    text-align: left;
  }
}

@media (min-width: 80rem) {
  
  .sites-info {
  }
}

/* sites info end */

/* copyright */

.copyright {
  padding: 0 0 0.75rem 0;
  text-align: center;
  margin-top: 4.25rem
}

.copyright .desc {
    margin: 0rem 0rem 0rem 0rem;
    font-size: 0.75rem;
  }

.copyright .link {
    color: inherit;
    text-decoration: none;
  }

@media (min-width: 40rem) {
  
  .copyright {
  }
}

@media (min-width: 60rem) {
  
  .copyright {
    padding: 1.25rem;
    margin-top: 2.5rem;
  }
}

@media (min-width: 80rem) {
  
  .copyright {
  }
}

/* copyright end */

/* cookies warning */

.cookies-warning {
  position: fixed;
  width: 100%;
  left: 0;
  bottom: 0;
  z-index: 1100;
  padding: 0.875rem 0rem;
  background: #fff;
  min-width: 20rem;
  box-shadow: 0 0 0.375rem rgba(0, 0, 0, 0.26667)
}

.cookies-warning .inner {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
  }

.cookies-warning .desc {
    flex: none;
    width: 100%;
    font-size: 0.75rem;
    margin: 0rem 0rem 0.75rem 0rem;
  }

.cookies-warning .button {
    flex: none;
    font-size: 0.875rem;
    margin: 0rem 0rem 0.25rem 0rem;
  }

@media (min-width: 40rem) {
    
    .cookies-warning .inner {
      flex-wrap: nowrap;
    }
    
    .cookies-warning .desc {
      flex-shrink: 1;
      width: auto;
      margin: 0rem 1.5rem 0rem 0rem;
    }
  
    .cookies-warning .button {
      margin: 0rem 0rem 0rem 0rem;
    }
}

@media (min-width: 60rem) {
  
  .cookies-warning {
  }
}

@media (min-width: 80rem) {
  
  .cookies-warning {
  }
}

/* cookies warning end */

/* divider */

.divider {
  width: 100%;
  height: 0.125rem;
  background: #ebebeb;
  background: var(--light-grey);
  margin: 1.25rem 0 1.875rem 0;
}

/* divider end */

/* seo text */

.seo-text {
  font-size: 1rem;
}

.homepage .seo-text {
    color: #0079ba;
    color: var(--darker-blue);
  }

.seo-text p {
    font-size: 1em;
  }

.seo-text > :last-child {
    margin-bottom: 0;
  }

@media (min-width: 40rem) {

  .seo-text {
  }
}

@media (min-width: 60rem) {

  .seo-text {
    font-size: 1.1rem;
  }
}

@media (min-width: 80rem) {

  .seo-text {
  }
}

/* seo text end */

@charset "utf-8";

/* CSS SOUBOR PRO VŠECHNA MENU PROJEKTU */

/* mobile menu */

.mobile-menu {
  position: absolute;
  width: 100%;
  overflow: auto;
  left: 0;
  top: 100%;
  display: none;
  background: #48c3f4;
  background: var(--theme-color)
}

.mobile-menu.open{
    display: block;
  }

.mobile-menu .categories {
    padding-bottom: 0.75rem;
  }

.mobile-menu .pages {
    padding-bottom: 0.75rem;
  }

.mobile-menu .list {
    margin: 0rem;
    padding: 0rem;
    list-style: none;
    display: none;
    font-size: 1rem;
    line-height: 1.5;
    grid-column: 1/-1;
  }

.mobile-menu .item {
    margin: 0rem;
    padding: 0rem;
    position: relative;
    display: grid;
    grid-gap: 0rem 0.25rem;
    gap: 0rem 0.25rem;
    grid-template-columns: auto minmax(0, 1fr);
  }

.mobile-menu .link {
    font-size: 0.875rem;
    text-transform: uppercase;
    display: block;
    text-decoration: none;
    padding: 0.25rem 0 0.25rem .75rem;
    padding: 0.25rem 0 0.25rem var(--page-padding);
    color: #fff;
  }

.mobile-menu .image {
    display: none;
  }

.mobile-menu {

  /* 1.level */
}

.mobile-menu .list-1 {
    display: block;
    margin-top: 2.875rem
  }

.mobile-menu .list-1:first-child {
      margin-top: 0;
    }

.mobile-menu .opener-1 {
    margin-top: 0.125rem;
  }

.mobile-menu .link-1 {
    font-size: 0.875rem;
    font-weight: 700;
  }

.mobile-menu .item-1:first-of-type > .link-1 {
    border: 0;
  }

/* 2.level */

.mobile-menu .list-2 {
    padding-left: 1.25rem;
  }

.mobile-menu .link-2 {
    font-size: 0.75rem;
    font-weight: 600;
  }

/* 3.level */

.mobile-menu .list-3 {
    padding-left: 1.25rem;
  }

.mobile-menu .link-3 {
    font-size: 0.75rem;
  }

.mobile-menu {
  
  /* opener */
}

.mobile-menu .opener {
    display: none;
    width: 1.5rem;
    display: block;
    aspect-ratio: 1/1;
    cursor: pointer;
    position: relative
  }

.mobile-menu .opener:after,
    .mobile-menu .opener:before {
      width: 0.625rem;
      height: 0.125rem;
      background: #0079ba;
      background: var(--darker-blue);
      content: '';
      display: block;
      position: absolute;
      left: calc(50% - 0.313rem);
      top: calc(50% - 0.063rem);
      transition: 0.3s;
    }

.mobile-menu .opener:after {
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
    }

.mobile-menu .item.open > .opener:after,
  .mobile-menu .item.open > .block > .opener:after {
    display: none;
  }

@media (min-width: 40rem) {
  
  .mobile-menu {
  }
}

@media (min-width: 60rem) {
  
  .mobile-menu,
  .mobile-menu.open{
    display: none;
  }
}

@media (min-width: 80rem) {
  
  .mobile-menu {
  }
}

/* mobile menu end */

/* info menu */

.info-menu {
  display: none;
}

@media (min-width: 40rem) {
  
  .info-menu {
  }
}

@media (min-width: 60rem) {
  
  .info-menu {
    display: block;
    width: 100%;
    margin-top: 0.5rem
  }
    
    .info-menu .list {
      margin: 0rem;
      padding: 0rem;
      list-style: none;
      display: none;
      font-size: 1rem;
      line-height: 1.5;
    }
  
    .info-menu .item {
      margin: 0rem;
      padding: 0rem;
      position: relative;
    }
  
    .info-menu .item:hover > .list {
      display: block;
    }
  
    .info-menu .link {
      display: block;
      text-decoration: none;
      padding: 0.5rem 3rem 0.5rem 0.75rem;
    }
  
  .info-menu {
  
    /* 1.level */
  }
    
    .info-menu .list-1 {
      display: block;
    }
  
    .info-menu .item-1 {
      display: inline-block;
      vertical-align: top;
      margin-right: 1rem
    }
    
      .info-menu .item-1:last-of-type {
        margin-right: 0;
      }
  
    .info-menu .link-1 {
      padding: 0.25rem 0;
      font-size: 1rem;
    }
  
    .info-menu .item:hover .link-1,
    .info-menu .item.active .link-1 {
      color: #888;
    }
  
  .info-menu {
  
    /* 2.level */
  }
    
    .info-menu .list-2 {
      position: absolute;
      left: -0.75rem;
      width: 13.5rem;
      z-index: 200;
    }
    
    .info-menu .link-2 {
      background: #E0E0E0;
      font-size: 1rem;
    }
  
  .info-menu {
  
    /* 3.level */
  }
    
    .info-menu .link-3 {
      background: #C3C3C3;
      font-size: 1rem;
    }
  
  .info-menu {
  
    /* opener */
  }
  
    .info-menu .opener {
      display: block;
      position: absolute;
      right: 0;
      top: 0;
      width: 2.438rem;
      height: 2.438rem;
      background: rgba(0, 0, 0, 0.06667);
      cursor: pointer
    }
    
      .info-menu .opener:after {
        border-right: 0.125rem solid #000;
        border-right: 0.125rem solid var(--base-color);
        border-bottom: 0.125rem solid #000;
        border-bottom: 0.125rem solid var(--base-color);
        width: 0.5rem;
        height: 0.5rem;
        content: '';
        display: block;
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg);
        position: absolute;
        left: calc(50% - 0.25rem);
        top: calc(50% - 0.313rem);
        transition: 0.3s;
      }
  
    .info-menu .item.open > .opener:after {
      -webkit-transform: rotate(-135deg);
              transform: rotate(-135deg);
      top: calc(50% - 0.125rem);
    }
  
    .info-menu .opener-1 {
      display: none;
    }
}

@media (min-width: 80rem) {
  
  .info-menu {
  }
}

/* info menu end */

/* completive menu */

.completive-menu {
  margin: 0rem 0rem 0.75rem 0rem
}

.completive-menu .inner {
    padding-left: 0rem;
    padding-right: 0rem;
  }

.completive-menu .list {
    margin: 0rem;
    padding: 0rem;
    list-style: none;
    font-size: 1rem;
    line-height: 1.5;
  }

.completive-menu .list-2 {
    display: none;
  }

.completive-menu .item {
    margin: 0rem;
    padding: 0rem;
  }

.completive-menu .link {
    display: block;
    text-decoration: none;
    padding: 0;
    text-align: center;
    font-size: 1rem;
  }

@media (min-width: 40rem) {
  
  .completive-menu {
  }
}

@media (min-width: 60rem) {
  
  .completive-menu {
    border: 0rem
  }
    
    .completive-menu .inner {
      padding-left: .75rem;
      padding-left: var(--page-padding);
      padding-right: .75rem;
      padding-right: var(--page-padding);
    }
    
    .completive-menu .list {
    }
    
    .completive-menu .item {
      display: inline-block;
      vertical-align: top;
      margin: 0rem 1rem 0rem 0rem
    }
      
      .completive-menu .item:last-of-type {
        margin-right: 0;
      }
    
    .completive-menu .link {
      background: none;
      border: 0rem
    }
      
      .completive-menu .link:hover {
        text-decoration: underline;
      }
}

@media (min-width: 80rem) {
  
  .completive-menu {
  }
}

/* completive menu end */

/* category menu horizontal */

.category-menu-horizontal {
  display: none;
}

@media (min-width: 40rem) {
  
  .category-menu-horizontal {
  }
}

@media (min-width: 60rem) {

  .category-menu-horizontal {
    display: block;
    z-index: 175;
    margin: 0 auto
  }
    
    .category-menu-horizontal .inner {
      position: relative;
    }
    
    .category-menu-horizontal .list {
      margin: 0rem;
      list-style: none;
      font-size: 1rem;
      line-height: 1.5
    }

      .category-menu-horizontal .list:not(.list-2) {
        padding: 0rem;
      }
  
    .category-menu-horizontal .item {
      display: inline-block;
      vertical-align: top;
      margin: 0rem;
      padding: 0rem
    }

      .category-menu-horizontal .item.title {
        width: 100%;
      }
  
    .category-menu-horizontal .link {
      display: block;
      text-decoration: none;
      color: #fff
    }

      .category-menu-horizontal .link:not(a) {
        text-transform: none;
        text-transform: initial
      }

        .category-menu-horizontal .link:not(a):hover {
          text-decoration: none;
        }

    .category-menu-horizontal .title > .link {
      color: #000;
      opacity: 0.5;
      font-size: 1rem;
    }

    .category-menu-horizontal .picture {
      flex: none;
      width: 4.5rem;
      margin: 0rem 6% 0rem 0rem;
    }
  
    .category-menu-horizontal .image {
      width: 100%;
    }
  
    .category-menu-horizontal .block {
      flex-grow: 1;
      padding: 0rem 0rem 0rem 0rem;
    }

  .category-menu-horizontal {
  
    /* 1.level */
  }
  
    .category-menu-horizontal .list-1 {
      display: flex;
      height: 100%;
    }
  
    .category-menu-horizontal .item-1 {
      margin: 0rem 0rem 0rem 0rem;
      padding: 0rem 0rem var(--header-padding) 0rem;
      padding: 0rem 0rem var(--header-padding) 0rem;
      display: flex;
      align-items: center
    }
        .category-menu-horizontal .item-1.active .link-1 {
          text-decoration: underline;
          text-underline-offset: 0.4rem;
        }

      .category-menu-horizontal .item-1.parent .link-1 {
        display: flex;
        align-items: center;
        position: relative;
        margin-right: 1.375rem;
        padding-right: 1.25rem
      }

        .category-menu-horizontal .item-1.parent .link-1:after {
          content: '';
          width: 0.7rem;
          height: 0.7rem;
          background: url(/build/images/menu-arrow.f0f77c28.svg) no-repeat center / 0.688rem auto;
          position: absolute;
          right: 0;
          -webkit-transform: rotate(180deg);
                  transform: rotate(180deg);
          transition: -webkit-transform 0.2s ease;
          transition: transform 0.2s ease;
          transition: transform 0.2s ease, -webkit-transform 0.2s ease;
        }
  
    .category-menu-horizontal .link-1 {
      padding: 0.75rem 1.75rem 0.75rem 0rem;
      font-weight: bold;
      font-size: 1rem
    }

      .category-menu-horizontal .link-1:hover {
        text-decoration: underline;
        text-underline-offset: 0.4rem;
      }

  .category-menu-horizontal {
  
    /* 2.level */
  }
    
    .category-menu-horizontal .list-2 {
      display: none;
      width: 100%;
      max-width: calc(87.5rem + (2 * .75rem));
      max-width: var(--page-width);
      padding-top: 3.5rem;
      padding-bottom: 6.25rem;
      padding-left: .75rem;
      padding-left: var(--page-padding);
      padding-right: .75rem;
      padding-right: var(--page-padding);
      background: #48c3f4;
      background: var(--theme-color);
      -o-border-image: linear-gradient(#48c3f4, #48c3f4) 0 / auto / 0 100vw;
         border-image: linear-gradient(#48c3f4, #48c3f4) fill 0 / auto / 0 100vw;
      -o-border-image: linear-gradient(var(--theme-color), var(--theme-color)) 0 / auto / 0 100vw;
         border-image: linear-gradient(var(--theme-color), var(--theme-color)) fill 0 / auto / 0 100vw;
      position: absolute;
      top: 100%;
      left: 50%;
      -webkit-transform: translateX(-50%);
              transform: translateX(-50%)
    }
      
      .category-menu-horizontal .list-2:before {
        width: 100%;
        height: 1px;
        background: white;
        content: '';
        left: 0;
        top: 0;
        position: absolute;
        -o-border-image: linear-gradient(white, white) 0 / auto / 0 100vw;
           border-image: linear-gradient(white, white) fill 0 / auto / 0 100vw;
      }

      .category-menu-horizontal .list-2 > .list {
        display: flex;
        flex-flow: row wrap
      }

        .category-menu-horizontal .list-2 > .list > .list {
          display: flex;
          flex-flow: column;
          padding: 0;
        }
      
      .category-menu-horizontal .item:hover > .link:after {
        -webkit-transform: rotate(0);
                transform: rotate(0);
      }

      .category-menu-horizontal .item:hover .list-2 {
        display: grid;
      }
    
    .category-menu-horizontal .list-2 {
      grid-template-columns: repeat(5, minmax(0, 1fr));
      grid-gap: 2.5rem 1rem;
      gap: 2.5rem 1rem;
    }
  
    .category-menu-horizontal .item-2 {
      padding: 0;
      text-transform: uppercase;
    }
  
    .category-menu-horizontal .link-2 {
      display: inline-block;
      vertical-align: top;
      font-weight: bold;
      font-size: 0.875rem;
    }
  
    .category-menu-horizontal .link-2:hover,
    .category-menu-horizontal .item.active > .link-2,
    .category-menu-horizontal .item.active > .block > .link-2 {
      text-decoration: underline;
    }

  .category-menu-horizontal {
  
    /* 3.level */
  }
  
    .category-menu-horizontal .item-3 {
      padding: 0 0.25rem 0 0;
    }
    
    .category-menu-horizontal .list-3-special .item-3 {
      width: 100%;
    }
    
    .category-menu-horizontal .link-3 {
      font-size: 0.875rem;
    }
    
    .category-menu-horizontal .list-3-special .link-3 {
      font-weight: bold;
    }
  
    .category-menu-horizontal .link-3:hover,
    .category-menu-horizontal .item.active > .link-3 {
      text-decoration: underline;
    }

  .category-menu-horizontal {
  
    /* opener */
  }
    
    .category-menu-horizontal .opener {
      display: none;
    }
}

@media (min-width: 80rem) {
    
    .category-menu-horizontal .list-2 {
      grid-template-columns: repeat(7, minmax(0, 1fr));
    }
}

/* category menu horizontal end */

/* category menu vertical */

.category-menu-vertical {
}

@media (min-width: 40rem) {
  
  .category-menu-vertical {
  }
}

@media (min-width: 60rem) {
  
  .category-menu-vertical {
  }
}

@media (min-width: 80rem) {
  
  .category-menu-vertical {
    margin-top: -1.125rem
  }
    
    .category-menu-vertical .list {
      margin: 0rem 0rem 0rem 0rem;
      padding: 0rem 0rem 0rem 1.25rem;
      list-style: none;
      font-size: 1rem;
      line-height: 1.5;
    }
  
    .category-menu-vertical .item {
      margin: 0rem;
      padding: 0rem;
    }
  
    .category-menu-vertical .link {
      display: inline-block;
      text-decoration: none;
      padding: 0.5rem 0rem 0.5rem 0rem;
      position: relative;
      vertical-align: top;
      font-size: 0.875rem;
    }
  
    .category-menu-vertical .item.with-children > .link:after {
      border-right: 0.125rem solid #000;
      border-right: 0.125rem solid var(--base-color);
      border-bottom: 0.125rem solid #000;
      border-bottom: 0.125rem solid var(--base-color);
      width: 0.5em;
      height: 0.5em;
      content: '';
      display: none;
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg);
      position: absolute;
      left: -0.125em;
      top: calc(50% - 0.25em);
    }
  
    .category-menu-vertical .item.with-children.open > .link:after {
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      left: 0.125em;
      top: calc(50% - 0.375em);
    }
  
    .category-menu-vertical .link:hover,
    .category-menu-vertical .item.active > .link{
      text-decoration: underline;
    }
  
  .category-menu-vertical {
  
    /* 1.level */
  }
  
    .category-menu-vertical .list-1 {
      padding-left: 0rem;
      margin: 0;
    }
  
    .category-menu-vertical .item-1 {
      border-top: 1px solid rgba(0, 0, 0, 0.2)
    }
    
      .category-menu-vertical .item-1:first-of-type {
        border: 0rem;
      }
    
    .category-menu-vertical .link-1 {
      font-weight: bold;
      font-size: 1rem;
      padding-top: 0.75rem;
      padding-bottom: 0.75rem;
    }
  
  .category-menu-vertical {
  
    /* 2.level */
  }
    
    .category-menu-vertical .list-2 {
      margin: -0.5rem 0rem 0.5rem 0rem;
    }
}

/* category menu vertical end */

@charset "utf-8";

/* CSS SOUBOR PRO DASHBOARD PROJEKTU */

/* dashboard generally */

.dashboard {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  line-height: 1.4;
  margin: 0 0 0 auto;
  font-size: 0.875rem;
}

.searchbox-opener, .login-preview .item, .basket-preview {
  transition: box-shadow 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  transition: transform 0.3s ease, box-shadow 0.3s ease, -webkit-transform 0.3s ease
}

.searchbox-opener:hover, .login-preview .item:hover, .basket-preview:hover {
    -webkit-transform: translate3d(0, -0.3rem, 0);
            transform: translate3d(0, -0.3rem, 0);
    box-shadow: 0 0.125rem 0.375rem rgba(155, 155, 155, 0.5);
  }

@media (min-width: 40rem) {
  
  .dashboard {
  }
}

@media (min-width: 60rem) {
  
  .dashboard {
    width: auto;
    margin-left: 0;
    font-size: 1rem;
  }
}

@media (min-width: 80rem) {
  
  .dashboard {
  }
}

/* dashboard generally end */

/* mobile menu opener */

.mobile-menu-opener {
  width: 1.875rem;
  height: 1.875rem;
  margin: 0rem 0rem 0rem .625rem;
  cursor: pointer;
  border-radius: 50%;
  background: url(/build/images/menu.99c5b402.svg) no-repeat center center / 1rem auto #fff
}

.mobile-menu-opener.open {
    background-image: url(/build/images/menu-close.2f5bcc25.svg);
    background-size: 0.875rem auto;
  }

@media (min-width: 40rem) {
  
  .mobile-menu-opener {
  }
}

@media (min-width: 60rem) {
  
  .mobile-menu-opener {
    display: none;
  }
}

@media (min-width: 80rem) {
  
  .mobile-menu-opener {
  }
}

/* mobile menu opener */

/* language select */

.language-select {
  margin: 0rem 0rem 0rem 0.5rem
}

.language-select .item {
    display: inline-block;
    vertical-align: middle;
    font-weight: bold;
    text-transform: uppercase;
    padding: 0.5rem 0.313rem;
    text-decoration: none;
    background: #E0E0E0;
    margin: 0rem 0rem 0rem 0rem
  }

.language-select .item:hover,
    .language-select .item.active {
      background-color: #CFCFCF;
    }

@media (min-width: 40rem) {
  
  .language-select {
  }
}

@media (min-width: 60rem) {
    
    .language-select .item {
      padding: 0.75rem 1rem;
    }
}

@media (min-width: 80rem) {
  
  .language-select {
  }
}

/* language select end */

/* currency select */

.currency-select {
  display: flex;
  grid-gap: 0.313rem;
  gap: 0.313rem;
  align-items: center;
  margin-left: 0.313rem;
  display: none
}

.mobile-menu .currency-select {
    display: block;
    margin: 0;
    padding: 0 0.625rem 1.75rem 0.625rem
}

.currency-select .item {
    flex: none;
    width: 1.875rem;
    height: 1.875rem;
    line-height: 1.875rem;
    border-radius: 50%;
    display: inline-block;
    vertical-align: top;
    text-decoration: none;
    background: #fff;
    font-weight: bold;
    color: #0079ba;
    color: var(--darker-blue);
    font-size: 0.688rem;
    text-align: center;
    cursor: pointer;
    transition: 0.3s
  }

.currency-select .item:hover {
      -webkit-transform: translate3d(0, -0.3rem, 0);
              transform: translate3d(0, -0.3rem, 0);
      box-shadow: 0 0.125rem 0.375rem rgba(155, 155, 155, 0.5);
    }

.currency-select .form {
    display: none;
  }

.currency-select .symbol {
    display:none;
  }

@media (min-width: 30rem) {
  
  .currency-select {
  }
}

@media (min-width: 40rem) {
  
  .currency-select {
  }
}

@media (min-width: 60rem) {
  
  .currency-select {
    margin-left: 0.625rem;
    grid-gap: 0.625rem;
    gap: 0.625rem;
    display: block
  }
    
    .currency-select .item {
      width: 3.125rem;
      height: 3.125rem;
      line-height: 3.125rem;
      font-size: 1rem;
    }
}

@media (min-width: 80rem) {
  
  .currency-select {
  }
}

/* currency select end */

/* basket preview */

.basket-preview {
  border-radius: 1.563rem;
  font-weight: bold;
  padding: 0.338rem 0rem;
  min-width: 1.875rem;
  background: url(/build/images/basket.003aef4d.svg) no-repeat center center / 1.4375rem auto #fff;
  margin: 0rem 0rem 0rem 0.313rem;
  text-decoration: none;
  position: relative
}

.basket-preview:after {
    content:'\00a0';
  }

.basket-preview .items-count {
    width: 2.063rem;
    text-align: center;
    color: #fff;
    position: absolute;
    line-height: 1;
    left: 50%;
    top: 49%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    font-size: 0.625rem;
  }

.basket-preview .text {
    color: #ff9320;
    color: var(--orange);
    display: none;
  }

@media (min-width: 40rem) {
  
  .basket-preview {
  }
}

@media (min-width: 60rem) {
  
  .basket-preview {
    width: 3.125rem;
    overflow: hidden;
    margin-left: 0.625rem;
    padding: 0.863rem 0;
    background-size: 2.063rem auto
  }

    .basket-preview .items-count {
      font-size: 0.75rem;
    }
}

@media (min-width: 80rem) {
  
  .basket-preview {
  }
}

@media (min-width: 90rem) {
  
  .basket-preview {
    width: auto;
    background-position: right 1.25rem center;
    padding-right: 3.313rem;
    padding-left: 1.25rem
  }
  
    .basket-preview:after {
      content:'';
    }
  
    .basket-preview .text {
      display: block;
      white-space: nowrap;
      margin-right: 1rem;
    }
  
    .basket-preview .items-count {
      top: 48%;
      right: .22rem;
      left: auto;
    }
}

/* basket preview end */

/* login preview */

.login-preview {
  margin: 0rem 0rem 0rem 0.313rem
}

.login-preview .item {
    width: 1.875rem;
    height: 1.875rem;
    border-radius: 50%;
    display: block;
    font-weight: bold;
    text-decoration: none;
    cursor: pointer;
    background: url(/build/images/user.18271068.svg) no-repeat center center / 1rem auto #fff
  }

.login-preview .item.logout {
      display: none;
    }

.login-preview .item:after {
      content:'\00a0';
    }

.login-preview .item .text {
      display:none;
    }

@media (min-width: 40rem) {
  
  .login-preview {
  }
}

@media (min-width: 60rem) {
  
  .login-preview {
    margin-left: 0.625rem
  }
    
    .login-preview .item {
      width: 3.125rem;
      height: 3.125rem;
      background-size: 1.625rem auto
    }
      
      .login-preview .item:after {
        content: '';
      }
}

@media (min-width: 80rem) {
  
  .login-preview {
  }
}

/* login preview end */

/* searchbox opener */

.searchbox-opener {
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 50%;
  cursor: pointer;
  background: url(/build/images/search.47ce115f.svg) no-repeat center center / 1rem auto #fff;
  margin: 0
}

.searchbox-opener:after {
    content:'\00a0';
  }

@media (min-width: 40rem) {
  
  .searchbox-opener {
  }
}

@media (min-width: 60rem) {
  
  .searchbox-opener {
    width: 3.125rem;
    height: 3.125rem;
    background-size: 1.625rem auto;
    transition: 0.3s;
  }
}

@media (min-width: 80rem) {
  
  .searchbox-opener {
  }
}

/* searchbox opener */

/* searchbox generally */

.searchbox {
  position: absolute;
  left: 0;
  width: 100%;
  background: #48c3f4;
  background: var(--theme-color);
  z-index: 175;
  padding: 0.75rem 0rem;
  top: 100%;
  display: none
}

.searchbox .inner {
    max-width: 28.125rem;
  }

.searchbox .form {
    position: relative;
  }

.searchbox input {
    font-size: 0.75rem;
    margin: 0rem auto;
    height: 2.75rem;
    padding-right: 5.125rem;
    background-image: url(/build/images/loader-3.dbe88757.gif);
    background-position: -10rem center;
    background-size: 1.313rem auto;
    border: 0
  }

.searchbox input.searching {
      background-position: calc(100% - 3.313rem) center;
    }

.searchbox .submit {
    width: 2.75rem;
    height: 100%;
    position: absolute;
    right: 0rem;
    top: 0rem;
    z-index: 10;
    background:
      linear-gradient(#0079ba, #0079ba) left center / 1px 75% no-repeat,
      url(/build/images/search.47ce115f.svg) center center / 1.25rem auto no-repeat;
    background:
      linear-gradient(var(--border-color), var(--border-color)) left center / 1px 75% no-repeat,
      url(/build/images/search.47ce115f.svg) center center / 1.25rem auto no-repeat
  }

.searchbox .submit .text {
      display: none;
    }

@media (min-width: 40rem) {
  
  .searchbox {
  }
}

@media (min-width: 60rem) {
  
  .searchbox {
  }
}

@media (min-width: 80rem) {
  
  .searchbox {
  }
}

/* searchbox generally end */

/* searchbox suggestions */

.searchbox-suggestions {
  width: calc(100% - 2px);
  position: absolute;
  left: 1px;
  background: #fff;
  max-height: 18.75rem;
  overflow: auto;
  box-shadow: 0 0 0.188rem rgba(0,0,0,0.4)
}

.searchbox-suggestions .item {
  }

.searchbox-suggestions .no-suggestions {
    margin: 0.5rem 0.75rem;
    font-weight: bold;
    font-size: 0.75rem;
  }

.searchbox-suggestions .link {
    display: flex;
    align-items: flex-start;
    width: 100%;
    padding: 0.5rem;
    text-decoration: none;
    line-height: 1.5;
    line-height: var(--line-height)
  }

.searchbox-suggestions .link:hover {
      background: #f2f2f2;
    }

.searchbox-suggestions .link .image {
      flex: none;
      width: 1.875rem;
      margin: 0.25rem 0.75rem 0rem 0rem;
    }

.searchbox-suggestions .link .text {
      font-size: 0.875rem;
      color: #444;
      line-height: 1.3
    }

.searchbox-suggestions .link .text .desc {
        display: block;
        font-size: 0.875rem;
        opacity: 0.7;
      }

@media (min-width: 40rem) {
  
  .searchbox-suggestions {
  }
}

@media (min-width: 60rem) {
  
  .searchbox-suggestions {
  }
}

@media (min-width: 80rem) {
  
  .searchbox-suggestions {
  }
}

/* searchbox suggestion end */

@charset "utf-8";

/* CSS SOUBOR PRO ESHOPOVÉ ČÁSTI PROJEKTU */

/* products page layout */

.products-page .breadcrumbs {
    margin-bottom: 1.5rem;
  }

/* products page layout end */

/* pieces box generally */

.pieces-box {
  display: flex;
  height: 3rem;
  align-items: center
}

.pieces-box input {
    flex: 0 1 auto;
    width: 3.5rem;
    height: auto;
    text-align: center;
    display: inline-block;
    padding: 0rem 0.25rem;
    margin: 0;
    border: 0;
    font-weight: 500;
    font-size: 1.625rem;
  }

.add-to-basket-popup-active-box .pieces-box input {
      background: none;
      font-size: 1.313rem;
      width: 2.875rem;
      flex: none
    }

.add-to-basket-popup-active-box .pieces-box input:focus {
        box-shadow: none;
      }

.pieces-box .handle {
    flex: none;
    width: 3.125rem;
    height: 3.125rem;
    position: relative;
    background: #0079ba;
    background: var(--darker-blue);
    cursor: pointer;
    transition: 0.3s;
    border-radius: 50%;
  }

.add-to-basket-popup-active-box .pieces-box .handle {
      width: 2.5rem;
      height: 2.5rem;
    }

.pieces-box .handle:before,
    .pieces-box .handle:after{
      width: 0.75rem;
      height: 0.125rem;
      display: block;
      content: '';
      background: #fff;
      position: absolute;
      left: calc(50% - 0.375rem);
      top: calc(50% - 1px);
    }

.pieces-box .handle.add:after {
      -webkit-transform:rotate(90deg);
              transform:rotate(90deg);
    }

.pieces-box .handle:hover {
      background: #005f92;
    }

@media (min-width: 40rem) {
  
  .pieces-box {
  }
}

@media (min-width: 60rem) {
  
  .pieces-box {
  }
}

@media (min-width: 80rem) {
  
  .pieces-box {
  }
}

/* pieces box generally end */

/* product tags generally */

.product-tags {
  display: flex;
  flex-flow: column;
  justify-content: flex-end;
  position: absolute;
  left: .625rem;
  top: 0rem;
  width: 100%;
  height: 100%
}

.product-tags .tag {
    display: block;
    height: 1.625rem;
    line-height: 1.625rem;
    padding: 0 .75rem;
    text-align: center;
    font-weight: 700;
    color: #fff;
    font-size: 0.625rem;
    margin: 0 auto .25rem 0
  }

.product-tags .tag.sale {
      background: #e74141;
      background: var(--red);
    }

.product-tags .tag.action {
      background: #2da51c;
    }

.product-tags .tag.new {
      background: #0079ba;
      background: var(--darker-blue);
    }

.product-tags .tag.top {
      background: #4fb3d4;
    }

@media (min-width: 40rem) {
  
  .product-tags {
    left: .75rem;
  }
}

@media (min-width: 60rem) {
  
  .product-tags {
    left: 1rem;
  }
}

@media (min-width: 80rem) {
  
  .product-tags {
    left: 1.25rem;
  }
}

/* product tags generally end */

/* category intro */

.category-intro {
  margin-bottom: 1.25rem
}

.category-intro .breadcrumbs {
  }

.category-intro .info{
    padding-top: 1.25rem;
  }

.category-intro :last-child {
    margin-bottom: 0rem;
    padding-bottom: 0rem;
  }

.category-intro .headline {
    color: #0079ba;
    color: var(--darker-blue);
    font-size: 1.625rem;
    font-weight: 700;
    padding-bottom: 1.25rem;
    margin-bottom: 0;
    border-bottom: .125rem solid #cbe3f1;
    border-bottom: .125rem solid var(--light-blue);
  }

@media (min-width: 40rem) {
  
  .category-intro {
  }
}

@media (min-width: 60rem) {
  
  .category-intro {
  }
}

@media (min-width: 80rem) {
  
  .category-intro {
  }
}

/* category intro end */

/* subcategories */

.subcategories .content {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 0.5rem;
    gap: 0.5rem;
    width: 100%;
  }

.subcategories .item {
    display: flex;
    align-items: center;
    width: 100%;
    text-decoration: none;
    padding: 0.5rem;
    border: 0.125rem solid rgba(0, 0, 0, 0.2)
  }

.subcategories .item:hover {
      border-color:rgba(0, 0, 0, 0.46667);
    }

.subcategories .image {
    flex: none;
    width: 2.5rem;
    margin-right: 0.5rem;
  }

.subcategories .title {
    flex-grow: 1;
    margin: 0rem 0rem 0rem auto;
    line-height: 1.4;
    max-height: 2.8em;
    overflow: hidden;
    font-size: 0.875rem;
  }

@media (min-width: 40rem) {

    .subcategories .content {
    }
}

@media (min-width: 60rem) {
    
    .subcategories .content {
      grid-gap: 1rem;
      gap: 1rem;
    }
}

@media (min-width: 80rem) {
    
    .subcategories .content {
      grid-template-columns: repeat(5, 1fr);
    }
}

/* subcategories end */

/* products info */

.products-info {
  padding: 0.5rem 0rem 0.875rem 0rem
}

.products-info .inner :last-child {
    margin-bottom: 0rem;
    padding-bottom: 0rem;
  }

.products-info .headline {
  }

.products-info .perex {
    margin: 0rem 0rem 0rem 0rem;
  }

@media (min-width: 40rem) {
  
  .products-info {
  }
}

@media (min-width: 60rem) {
  
  .products-info {
    padding: 1.5rem 0rem 2.875rem 0rem;
  }
}

@media (min-width: 80rem) {
  
  .products-info {
  }
}

/* products info end */

/* products generally */

.products.part-size {
    
    display: flex;
    flex-flow: column
  }

.products.part-size .sort-wrapper {
      order: 1
    }

.products.part-size .sort-wrapper.mobile {
        order: 15;
      }

.products.part-size .sort-wrapper.desktop {
        display: none;
      }

.products.part-size .overview {
      order: 2;
    }

.products.part-size .filters-toggle.mobile:nth-child(1) {
          order: 5;
        }

.products.part-size .filters-toggle.mobile:nth-child(2) {
          order: 10;
        }

.products.part-size .filters-toggle.desktop {
        display: none;
      }

.products.part-size .filters-toggle .divider {
        display: none;
      }

.products.part-size .filters-toggle .button {
        margin-bottom: 0.5rem;
      }

@media (min-width: 52.5rem) {
    
    .products.part-size {
    }
}

@media (min-width: 60rem) {
  
  .products {
  }
}

@media (min-width: 80rem) {
    
    .products.part-size {
      overflow: hidden;
      flex-flow: row wrap
    }

      .products.part-size > *:nth-child(2n - 1) {
        width: 20rem;
        margin-right: 2rem;
      }
      
      .products.part-size > *:nth-child(2n) {
        width: calc(100% - 22rem);
      }
        
        .products.part-size .filters-toggle.mobile {
          display: none;
        }
        
        .products.part-size .filters-toggle.desktop {
          display: block;
        }
        
        .products.part-size .filters-toggle .button {
          margin-bottom: 0
        }
            
            .products.part-size .filters-toggle .button .hide + .divider {
              display: none;
            }
        
        .products.part-size .arrangement.hide + * {
          width: 100%;
        }

      .products.part-size .sort-wrapper, .products.part-size .overview {
        order: unset;
      }
        
        .products.part-size .sort-wrapper.mobile {
          display: none;
        }
        
        .products.part-size .sort-wrapper.desktop {
          display: block;
        }
      
      .products.part-size .sort {
        margin-left: auto;
        max-width: 20rem;
      }
}

/* products generally end */

/* products arrangement */

.products .arrangement {
  margin-bottom: 0rem
}

.products .arrangement .content {
    width: 100%;
  }

.products .arrangement .divider:first-child {
  }

.products .arrangement .active-filters {
    margin-top: 1.25rem
  }

.products .arrangement .active-filters .items {
      display: flex;
      padding: 1.25rem 0;
      flex-flow: row wrap;
      grid-gap: 0.75rem;
      gap: 0.75rem;
    }

.products .arrangement .active-filters .item {
      height: 2.563rem;
      line-height: 2.563rem;
      border-radius: 1.563rem;
      cursor: pointer;
      text-align: left;
      font-weight: 700;
      font-size: 0.875rem;
      color: #999999;
      margin: 0;
      padding: 0 3rem 0 1.875rem;
      background: url(/build/images/filter-close.bc5f88c7.svg) no-repeat center right 1.25rem / 0.9375rem auto #ebebeb
    }

.products .arrangement .active-filters .item:hover {
        text-decoration: none;
      }

.products .arrangement .active-filters .item:not(:last-child) {
      }

.products .arrangement .list {
    display: none
  }

.products .arrangement .list.open {
      display: block;
    }

.products .arrangement .filters-form .divider {
      margin: 1.25rem 0 0 0;
    }

.products .arrangement .filters-block {
    display: flex;
    flex-direction: column;
  }

.products .arrangement .divider {
    margin-bottom: 0;
  }

.products .arrangement .opener .switch {
      display: block;
      width: 100%;
      font-weight: 700;
      padding-top: 1.25rem;
      color: #0079ba;
      color: var(--darker-blue);
      position: relative;
      cursor: pointer
    }

.products .arrangement .opener .switch:after {
        position: absolute;
        content: '';
        width: .875rem;
        height: 1.2rem;
        right: 1.063rem;
        bottom: 0;
        background: url(/build/images/selectbox.35868d55.svg) no-repeat right bottom .3rem / 100% auto;
        transition: -webkit-transform .4s ease-in-out;
        transition: transform .4s ease-in-out;
        transition: transform .4s ease-in-out, -webkit-transform .4s ease-in-out;
        -webkit-transform: rotate(180deg);
                transform: rotate(180deg);
      }

.products .arrangement .opener .switch.hide:after {
        -webkit-transform: rotate(0deg);
                transform: rotate(0deg);
      }

.products .arrangement .opener .param-filter {
      padding-top: 1.75rem;
      padding-bottom: 0.5rem
    }

.products .arrangement .opener .param-filter .form-item-checkbox {
        margin-bottom: 1rem
      }

.products .arrangement .opener .param-filter .form-item-checkbox:last-child {
          margin-bottom: 0;
        }

.products .arrangement .opener.theme {
    }

.products .arrangement .opener.theme .param-filter {
    max-height: 40rem;
    overflow: auto
  }

.products .arrangement .opener.theme .param-filter::-webkit-scrollbar {
      height: 0.625rem;
      width: 0.625rem;
    }

.products .arrangement .opener.theme .param-filter::-webkit-scrollbar-track {
      background: #cbe3f1;
      background: var(--light-blue);
      border-radius: 0.313rem;
    }

.products .arrangement .opener.theme .param-filter::-webkit-scrollbar-thumb {
      background: #0079ba;
      background: var(--darker-blue);
      border-radius: 0.313rem;
    }

.products .arrangement .opener.theme .param-filter::-webkit-scrollbar-thumb:hover {
      background: #0079ba;
      background: var(--darker-blue);
    }

@media (min-width: 40rem) {
        .products .arrangement .active-filters .items .item {
          font-size: 1rem;
        }
}

@media (min-width: 60rem) {
    
    .products .arrangement .openers {
      display: none;
    }
    
    .products .arrangement .list {
      margin: 0rem 0rem 0rem 0rem;
      display: block
    }
      
      .products .arrangement .list.sort {
        text-align: right;
      }
}

@media (min-width: 80rem) {
    
    .products .arrangement.hide {
      display: none;
    }

    .products .arrangement .divider:first-child {
      display: block;
    }
      
      .products .arrangement .active-filters .items {
        padding-bottom: 0;
      }
}

@media(max-width: 79.938rem) {
    
    .products .arrangement .filters-block .opener {
      order: 12
    }
      
      .products .arrangement .filters-block .opener:last-child {
        padding-bottom: 1.25rem;
      }
      
      .products .arrangement .filters-block .opener.theme {
        order: 7;
        padding-bottom: 1.25rem;
      }
    
    .products .arrangement .filters-block .opener.theme .switch {
      display: none;
    }
    
    .products .arrangement .filters-block  .opener.theme .param-filter {
      display: block !important;
    }
    
    .products .arrangement .filters-block.hide-mobile-theme .opener.theme {
      display: none;
    }
    
    .products .arrangement .filters-block.hide-mobile-filter .opener:not(.theme) {
      display: none;
    }
      
      .products .arrangement .filters-form .divider {
      }
}

/* products arrangement end */

/* products overview */

.products .overview .list {
    display: grid;
    grid-gap: 2.375rem .625rem;
    gap: 2.375rem .625rem;
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr))
  }

.products .overview .list .item {
      display: flex;
      flex-flow: column
    }

.products .overview .list .item:hover .image.secondary {
        display: block;
      }

.products .overview .list .picture {
      position: relative;
      display: block;
      width: 100%;
      padding-top: 100%;
      margin-bottom: 0.625rem;
    }

.products .overview .list .image {
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0rem;
      top: 0rem;
      -o-object-fit: contain;
         object-fit: contain
    }

.products .overview .list .image.secondary {
        display: none;
      }

.products .overview .list .title {
      font-size: 0.875rem;
      font-size: var(--font-size);
      margin: 0rem 0rem 1.125rem 0rem;
      overflow: hidden;
      color: #0079ba;
      color: var(--darker-blue);
      font-weight: 700
    }

.products .overview .list .title .link {
        text-decoration: none;
        color: inherit;
        text-overflow: ellipsis;
        word-wrap: break-word;
        overflow: hidden;
        line-height: 1.43em;
        display: -webkit-box;
        /* autoprefixer: off */
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        -moz-box-orient: vertical;
        /* autoprefixer: on */
      }

.products .overview .list .block {
      margin-top: auto;
    }

.products .overview .list .availability {
      font-size: 0.75rem;
      display: block;
      margin-bottom: 0.5rem;
      text-align: center;
      color: #888;
    }

.products .overview .list .prices {
      display: flex;
      justify-content: center;
      flex-flow: column;
      margin: 0 0rem 0rem 0rem;
    }

.products .overview .list .old-price {
      font-size: 0.75rem;
      text-decoration: line-through;
      opacity: 0.4;
      display: block;
      margin-top: 0.25rem;
    }

.products .overview .list .price {
      font-size: 1.25rem;
      margin: 0;
      font-weight: 700;
      color: #ff9320;
      color: var(--orange);
      white-space: nowrap;
    }

.products .overview .list .active-box {
      width: 100%;
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      margin-top: auto;
      grid-gap: 0.625rem 0.313rem;
      gap: 0.625rem 0.313rem;
      align-items: center
    }

.products .overview .list .active-box input {
        display: none;
      }

.products .overview .list .variants {
      width: auto;
      max-width: 100%;
      margin-left: auto;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      font-size: 0.875rem;
      padding-right: 1.625rem;
      background-position: calc(100% - 0.5rem) center, left -100rem;
    }

.products .overview .list .button {
      flex: none;
      margin: 0rem 0 0rem 0;
      font-weight: bold;
      color: #fff;
      padding: 0.375rem 0.625rem;
      text-decoration: none;
      font-size: 0.813rem;
      line-height: 1.5;
      text-align: center;
      transition: 0.3s;
      justify-content: center;
      min-width: 0
    }

.products .overview .list .button.buy {
      }

.products .overview .list .button.select {
        width: 100%;
        display: flex;
        align-items: center;
        background: #fff;
        text-align: left;
        color: #ff9320;
        color: var(--orange);
        font-size: 0.75rem;
        padding: 0.625rem 3rem .625rem 1rem;
        border: 0.063rem solid #ff9320;
        border: 0.063rem solid var(--orange);
        position: relative;
        margin: 0
      }

.products .overview .list .button.select:after {
          width: 1rem;
          height: .75rem;
          content: '';
          position: absolute;
          right: 1rem;
          background: url(/build/images/selectbox-orange.d7c15ff0.svg) no-repeat center center / contain;
        }

.products .overview .list .button.select:hover {
          background: #fff;
        }

.products .overview .list .item.appearance-2 .button {
      grid-column: 1/-1;
      width: 100%;
    }

.products .overview .list .status-message {
      grid-column: 1/-1;
    }

.products .overview .more {
    margin-top: 3rem;
    text-align: center
  }

.products .overview .more .button {
      margin: 0;
    }

.products:not(.part-size) .overview .divider:first-child {
    display: none;
  }

@media (min-width: 30rem) {
    
    .products .overview .list {
      grid-gap: 2.75rem 1.25rem;
      gap: 2.75rem 1.25rem
    }

      .products .overview .list .price {
        font-size: 1.25rem;
      }
}

@media (min-width: 40rem) {
  
      .products .overview .list .block {
      }
  
      .products .overview .list .prices {
        margin-bottom: 0;
      }
      
      .products .overview .list .price {
        font-size: 1.5rem;
      }
    
        .products .overview .list .old-price:after {
          display: none;
        }
  
      .products .overview .list .active-box {
      }

      .products .overview .list .button {
        width: auto;
        font-size: 1rem;
        margin-left: auto;
        padding: 0.625rem 1.125rem;
      }
}

@media (min-width: 52.5rem) {
    
    .products .overview .list {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      grid-gap: 3rem 1.75rem;
      gap: 3rem 1.75rem
    }
      
      .products .overview .list .picture {
        margin-bottom: 1rem;
      }
}

@media (min-width: 60rem) {
    
    .products .overview .list {
      grid-template-columns: repeat(4, minmax(0, 1fr));
      grid-gap: 3.25rem 2.25rem;
      gap: 3.25rem 2.25rem
    }

      .products .overview .list .price {
        font-size: 1.15rem;
      }

      .products .overview .list .picture {
        margin-bottom: 1.25rem;
      }
}

@media (min-width: 80rem) {
    
    .products .overview .list {
      grid-template-columns: repeat(4, minmax(0, 1fr));
      grid-gap: 3.5rem 2.5rem;
      gap: 3.5rem 2.5rem
    }
      
      .products .overview .list .old-price {
        font-size: 1rem;
      }

  .products.part-size .overview {
  }
}

@media (min-width: 90rem) {
    
    .products .overview .price {
      font-size: 1.375rem;
    }

    .products .overview .list {
      grid-gap: 3.75rem 3rem;
      gap: 3.75rem 3rem;
    }
}

/* products overview end */

/* products overview scrollable */

.products.scrollable .overview .list, .products.scrollable-always .overview .list {
      position: relative;
      display: flex;
      overflow: auto;
      padding-bottom: 0.75rem;
      margin-bottom: -0.75rem
    }

.products.scrollable .overview .list .prices, .products.scrollable-always .overview .list .prices {
        height: 3.5rem;
      }

.products.scrollable .overview .list::-webkit-scrollbar, .products.scrollable-always .overview .list::-webkit-scrollbar {
      height: 0.5rem;
    }

.products.scrollable .overview .list::-webkit-scrollbar-track, .products.scrollable-always .overview .list::-webkit-scrollbar-track {
      background: #cbe3f1;
      background: var(--light-blue);
      border-radius: 0.313rem;
    }

.products.scrollable .overview .list::-webkit-scrollbar-thumb, .products.scrollable-always .overview .list::-webkit-scrollbar-thumb {
      background: #0079ba;
      background: var(--darker-blue);
      border-radius: 0.313rem;
    }

.products.scrollable .overview .list::-webkit-scrollbar-thumb:hover, .products.scrollable-always .overview .list::-webkit-scrollbar-thumb:hover {
      background: #0079ba;
      background: var(--darker-blue);
    }

.products.scrollable .overview .item, .products.scrollable-always .overview .item {
      flex: 0 0 43%;
    }

.products.scrollable .overview .title, .products.scrollable-always .overview .title {
    }

@media (min-width: 40rem) {
  
  .products.scrollable,
  .products.scrollable-always {
  }
}

@media (min-width: 52.5rem) {
      
      .products.scrollable .overview .item, .products.scrollable-always .overview .item {
        flex-basis: 28.8%;
      }
}

@media (min-width: 60rem) {
  
  .products.scrollable,
  .products.scrollable-always {
  }
      
      .products.scrollable .overview .list {
        margin-bottom: 0;
        padding-bottom: 0;
        display: grid;
        overflow: visible;
      }
}

@media (min-width: 80rem) {
  
  .products.scrollable,
  .products.scrollable-always {
  }
      
      .products.scrollable-always .overview .item {
        flex-basis: 20.8%;
      }
}

@media (min-width: 90rem) {
  
  .products.scrollable,
  .products.scrollable-always {
  }
      
      .products.scrollable-always .overview .item {
        flex-basis: 15.8%;
      }
}

/* products overview scrollable end  */

/* products related */

.products.related .overview .headline {
      margin-bottom: 1rem;
      margin-top: 0rem;
    }

@media (min-width: 40rem) {
  
  .products.related {
  }
}

@media (min-width: 52.5rem) {
  
  .products.related {
  }
}

@media (min-width: 60rem) {
    
    .products.related .headline {
      font-size: 2.25rem;
    }
}

@media (min-width: 80rem) {
  
  .products.related {
  }
}

/* products related end */

/* product detail generally */

.product-detail .content {
    display: grid;
    grid-column-gap: 2rem;
    width: 100%;
  }

.product-detail .base {
    margin-bottom: 0;
  }

.product-detail .complementary {
  }

.product-detail .title {
    font-size: 1.625rem;
    color: #0079ba;
    color: var(--darker-blue);
    margin-bottom: 2rem;
  }

.product-detail .perex {
    font-size: 1rem;
    margin-bottom: 0;
  }

.product-detail .description {
    margin-bottom: auto
  }

.product-detail .description > *:first-child {
      padding-top: 0;
      margin-top: 0;
    }

.product-detail .description > *:last-child {
      padding-bottom: 0;
      margin-bottom: 0;
    }

.product-detail .desktop {
    display: none;
  }

@media (min-width: 40rem) {
    .product-detail .title {
      font-size: 1.9375rem;
    }
}

@media (min-width: 60rem) {
    
    .product-detail .content {
      grid-template-columns: repeat(2, 1fr);
    }
    
    .product-detail .complementary{
      margin-top: 0.125rem;
    }
  
    .product-detail .title {
      font-size: 2.25rem;
      margin: 0rem 0rem 0.75rem 0rem;
    }
  
    .product-detail .perex {
      font-size: 1.1rem;
      margin-bottom: 1.25rem;
    }
  
    .product-detail .responsive {
      display: none;
    }
    
    .product-detail .desktop {
      display: block;
    }
}

@media (min-width: 80rem) {
  
  .product-detail {
  }
}

/* product detail generally end */

/* product detail images */

.product-detail .images {
  margin-bottom: 3rem
}

.product-detail .images .main {
    cursor: pointer;
  }

.product-detail .images .others {
    display: grid;
    grid-gap: 0.75rem;
    gap: 0.75rem;
    grid-template-columns: repeat(4, 1fr);
    width: 100%;
    padding-top: 0.75rem;
  }

.product-detail .images .picture {
    transition: 0.3s box-shadow;
    position: relative;
    padding-top: 100%;
    display: block;
  }

.product-detail .images .others .picture.is-active,
    .product-detail .images .others .picture:hover {
      box-shadow: 0 0 0.375rem rgba(0, 0, 0, 0.53333);
    }

.product-detail .images .image {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0rem;
    top: 0rem;
    -o-object-fit: cover;
       object-fit: cover;
  }

@media (min-width: 40rem) {
  
  .product-detail .images {
  }
}

@media (min-width: 60rem) {
  
  .product-detail .images {
  }
}

@media (min-width: 80rem) {
  
  .product-detail .images {
  }
}

/* product detail images end */

/* product detail info */

.product-detail .info {
  display: contents;
  margin-bottom: 1.75rem
}

.product-detail .info .rowek {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0.188rem 0rem;
  }

.product-detail .info .desc {
    flex: 46;
    padding-right: 0.75rem;
  }

.product-detail .info .value {
    flex: 54;
    text-align: right;
  }

.product-detail .info .price-info {
    display: flex;
    flex-flow: row wrap;
  }

.product-detail .info .old-price {
    flex: unset;
    text-decoration: line-through;
    opacity: 0.4;
    font-size: 1.625rem;
    margin: 0 auto 0 0;
  }

.product-detail .info .sale-price {
    margin-bottom: 1.5rem;
  }

.product-detail .info .sale {
    font-weight: 700;
    color: #fff;
    font-size: 0.625rem;
    padding: 0.4rem 0.75rem;
    background: #e74141;
    background: var(--red);
    margin-right: .625rem;
  }

.product-detail .info .save {
    font-size: 0.75rem;
    font-weight: 700;
    color: #e74141;
    color: var(--red);
  }

.product-detail .info .price-row {
    width: 100%;
    order: -1;
  }

.product-detail .info .price {
    font-size: 1.875rem;
    font-weight: 700;
    color: #ff9320;
    color: var(--orange);
    margin: 0;
  }

.product-detail .info .no-vat-price {
    font-size: 0.75rem;
  }

.product-detail .info .availability {
    color: #0079ba;
    color: var(--darker-blue);
    font-size: 1.15rem;
    margin: 0 0 0.5rem 0;
  }

@media (min-width: 40rem) {
  
  .product-detail .info {
  }

}

@media (min-width: 80rem) {
  
  .product-detail .info {
  }
}

@media (min-width: 80rem) {
    .product-detail .info .price-info {
      justify-content: space-between;
    }

    .product-detail .info .old-price {
      margin: 0;
    }
    .product-detail .info .price-row {
      margin: 0;
    }

    .product-detail .info .value {
      flex: unset;
    }
}

/* product detail info end */

/* product detail active box */

.product-detail .active-box {
  display: contents;
  margin-bottom: 2.125rem
}

.product-detail .active-box .form {
    display: contents;
  }

.product-detail .active-box .rowek {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0.188rem 0rem;
  }

.product-detail .active-box .desc {
    flex: 46;
    padding-right: 0.75rem
  }

.product-detail .active-box .desc:after {
      content: ':';
    }

.product-detail .active-box .value {
  }

.product-detail .active-box .pieces-box {
    margin: 0rem 0rem 0rem auto;
  }

.product-detail .active-box .quantity {
    clear: left;
    width: auto;
    margin: 1rem 0 2rem 0;
  }

.product-detail .active-box .button {
    width: 100%;
    justify-content: center;
    flex: none;
    margin: 0 0 1.5rem 0;
  }

@media (min-width: 22.5rem) {
      .product-detail .info .price {
        font-size: 1.75rem;
      }

      .product-detail .info .price-info {
        float: right;
      }
      .product-detail .active-box .quantity {
        float: left;
      }
}

@media (min-width: 26rem) {
      .product-detail .info .sale-price {
        float: left;
      }
}

@media (min-width: 40rem) {
    .product-detail .active-box {
      margin-bottom: 9.125rem
    }

      .product-detail .active-box form {
        display: flex;
      }

      .product-detail .active-box .quantity {
      }
}

@media (min-width: 60rem) {
    .product-detail .info {
      display: block
    }

      .product-detail .info .price-info, .product-detail .info .sale-price {
        float: none;
      }

    .product-detail .active-box {
      display: block
    }

      .product-detail .active-box .form {
        display: flex;
      }
      
      .product-detail .active-box .quantity {
        float: none;
        width: 100%;
        margin: 0;
      }
      
      .product-detail .active-box .button {
        margin: 0;
      }
}

@media (min-width: 80rem) {
}

/* product detail active box end */

/* product detail variants */

.product-detail .variants {
  margin-bottom: 1.125rem
}

.product-detail .variants .rowek {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0.188rem 0rem;
  }

.product-detail .variants .desc {
    flex: 46;
    padding-right: 0.75rem
  }

.product-detail .variants .desc:after {
      content: ':';
    }

.product-detail .variants .value {
    flex: 54;
    text-align: right;
  }

.product-detail .variants .select {
    margin: 0rem 0rem 0rem 0rem;
  }

.product-detail .variants .ui-disabled {
    opacity: 0.4;
  }

@media (min-width: 52.5rem) {
  .product-detail .variants {
    max-width: 17.5rem;
  }
}

@media (min-width: 60rem) {
  .product-detail .variants {
    margin-bottom: 3.125rem;
  }
}

@media (min-width: 80rem) {
}

/* product detail variants end */

/* product detail parameters */

.product-detail .parameters {
  border-bottom: 0.125rem solid #cbe3f1;
  border-bottom: 0.125rem solid var(--light-blue);
  margin-bottom: 0
}

.product-detail .parameters .rowek {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0 0rem 0.75rem 0;
    border-top: 0.125rem solid #cbe3f1;
    border-top: 0.125rem solid var(--light-blue)
  }

.product-detail .parameters .rowek.collapse {
      display: block
    }

.product-detail .parameters .rowek.collapse .desc {
        width: 100%;
        max-width: unset;
        cursor: pointer;
        display: flex;
        grid-gap: 0.75rem;
        gap: 0.75rem;
        justify-content: space-between
      }

.product-detail .parameters .rowek.collapse .desc .opener {
          display: flex;
          flex: none;
          grid-gap: 0.5rem;
          gap: 0.5rem;
          font-size: 0.875rem
        }

.product-detail .parameters .rowek.collapse .desc .opener:after {
            flex: none;
            width: 1rem;
            aspect-ratio: 1/1;
            content: '';
            background: url(/build/images/selectbox.35868d55.svg) no-repeat right center / 1rem auto;
          }

.product-detail .parameters .rowek.collapse .desc .opener .show {
          }

.product-detail .parameters .rowek.collapse .desc .opener .hide {
            display: none;
          }

.product-detail .parameters .rowek.collapse .desc:not(.hidden) .show {
            display: none;
          }

.product-detail .parameters .rowek.collapse .desc:not(.hidden) .hide {
            display: block;
          }

.product-detail .parameters .rowek.collapse .desc:not(.hidden) + .value {
            display: block; 
          }

.product-detail .parameters .rowek.collapse .value {
        display: block;
        margin-top: 2rem;
        text-align: left;
      }

.product-detail .parameters .desc {
    flex: 45;
    display: block;
    color: #0079ba;
    color: var(--darker-blue);
    max-width: 15.625rem;
    padding: 0.75rem 0rem 0rem 0rem;
    font-weight: bold;
  }

.product-detail .parameters .value {
    flex: 55;
    text-align: right;
    font-weight: 700;
    padding-top: 0.75rem;
  }

@media (min-width: 40rem) {
  
  .product-detail .parameters {
  }
}

@media (min-width: 60rem) {
  
  .product-detail .parameters {
  }
}

@media (min-width: 80rem) {
  
  .product-detail .parameters {
  }
}

/* product detail parameters end */

/* product detail description */

.product-detail .description .parameters {
    border-bottom: 0
  }

.product-detail .description .parameters .value {
      font-weight: 400;
    }

@media (min-width: 60rem) {
      .product-detail .description .rowek.collapse .desc {
        display: none;
      }
      .product-detail .description .rowek.collapse .value {
        display: block !important;
        margin-top: 0;
      }
}

/* product detail description end */

/* product detail filegallery and videogallery */

.product-detail .filegallery,
.product-detail .videogallery {
  padding-bottom: 2rem;
}

@media (min-width: 40rem) {
  
  .product-detail .filegallery,
  .product-detail .videogallery {
  }
}

@media (min-width: 60rem) {
  
  .product-detail .filegallery,
  .product-detail .videogallery {
    padding-bottom: 5rem;
  }
}

@media (min-width: 80rem) {
  
  .product-detail .filegallery,
  .product-detail .videogallery {
  }
}

/* product detail filegallery and videogallery  end */

/* product detail socials */

.product-detail .socials-row {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  padding: 1.75rem 0;
  border-top: 0.125rem solid #cbe3f1;
  border-top: 0.125rem solid var(--light-blue);
  clear: both
}

.product-detail .socials-row .desc {
    display: flex;
    align-items: center;
  }

.product-detail .socials-row p {
    margin: 0;
    font-size: 0.75rem;
    font-weight: 700;
    color: #999;
    color: var(--grey);
  }

.product-detail .socials {
  text-align: left;
}

@media (min-width: 40rem) {
  
  .product-detail .socials-row {
  }
}

@media (min-width: 60rem) {
  
  .product-detail .socials-row {
    border-top: none;
    padding: 0;
    margin-bottom: 6.25rem;
    grid-template-columns: auto auto 1fr
  }

    .product-detail .socials-row .desc {
      margin-right: 1.75rem;
    }
}

@media (min-width: 80rem) {
  
  .product-detail .socials-row {
  }
}

/* product detail socials end */

/* product detail complement */

.product-detail-complement {
}

@media (min-width: 40rem) {
  
  .product-detail-complement {
  }
}

@media (min-width: 60rem) {
  
  .product-detail-complement {
  }
}

@media (min-width: 80rem) {
  
  .product-detail-complement {
  }
}

/* product detail complement end */

/* product detail arguments */

.product-detail .arguments {
  margin-top: 3.125rem;
}

@media (min-width: 60rem) {
  .product-detail .arguments {
    grid-column: 1 / span 2;
    margin: 2.5rem 0 5.25rem 0;
  }
}

/* product detail arguments end */

/* upsell popup generally */

.upsell-popup {
}

@media (min-width: 40rem) {
  
  .upsell-popup {
  }
}

@media (min-width: 60rem) {
  
  .upsell-popup {
  }
}

@media (min-width: 80rem) {
  
  .upsell-popup {
  }
}

/* upsell popup generally end */

/* upsell popup buyed product */

.upsell-popup-buyed-product {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  width: 100%;
  padding: 0rem 0rem 1.5rem 0rem;
  border-bottom: 0.125rem solid #0079ba;
  border-bottom: 0.125rem solid var(--border-color)
}

.upsell-popup-buyed-product .image {
    flex: none;
    width: 5rem;
    margin: 0.313rem 1rem 0 0;
  }

.upsell-popup-buyed-product .title {
    flex-grow: 1;
    margin: 0rem 0rem 0rem 0rem;
  }

.upsell-popup-buyed-product .pieces {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    flex: none;
    width: 100%;
    padding: 0.625rem 0rem 0.875rem 0rem;
  }

.upsell-popup-buyed-product .part-1 {
    flex-grow: 1;
  }

.upsell-popup-buyed-product .part-2 {
    flex: none;
  }

.upsell-popup-buyed-product .pieces-title {
    display: block;
  }

.upsell-popup-buyed-product .edit {
    font-size: 0.875em;
    display: inline-block;
    padding: 0;
    text-decoration: underline
  }

.upsell-popup-buyed-product .edit:hover {
      text-decoration: none;
    }

.upsell-popup-buyed-product .pieces-box {
  }

.upsell-popup-buyed-product .prices {
    display: flex;
    flex: none;
    align-items: center;
    justify-content: space-between;
    width: 100%
  }

.upsell-popup-buyed-product .prices .desc {
    }

.upsell-popup-buyed-product .prices .value {
      flex: none;
      font-size: 1.375em;
    }

@media (min-width: 40rem) {
  
  .upsell-popup-buyed-product {
  }
}

@media (min-width: 60rem) {
  
    .upsell-popup-buyed-product .image {
      width: 6.5rem;
    }
}

@media (min-width: 80rem) {
  
    .upsell-popup-buyed-product .image {
      width: 8rem;
    }
}

/* upsell popup buyed product end */

/* upsell popup products */

.upsell-popup-products .info {
    margin-bottom: 0rem
  }

.upsell-popup-products .info .title {
    }

.upsell-popup-products .slick-list {
    margin: 0rem -0.5rem;
  }

.upsell-popup-products .slick-slide {
    margin: 0 0.5rem;
  }

.upsell-popup-products .slick-arrows {
    display: flex;
    justify-content: space-between;
    width: 100%;
    position: relative;
    top: 0;
    margin-bottom: 1rem
  }

.upsell-popup-products .slick-arrows .slick-arrow {
      top: auto;
      position: relative;
    }

.upsell-popup-products .slick-arrows .slick-prev {
      left: auto;
    }

.upsell-popup-products .slick-arrows .slick-next {
      right: auto;
    }

.upsell-popup-products .products .overview .list {
        display: block;
      }

.upsell-popup-products .products .overview .item:nth-of-type(n) {
          width: 100%;
          margin: 0rem 0rem 0rem 0rem;
        }

.upsell-popup-products .products .overview .item .pieces-box {
          width: 7.5rem;
        }

.upsell-popup-products .products .overview .item .picture .image {
          max-height: 15rem;
        }

.ui-dialog.ui-dialog-upsell-products {
  max-width: 46.25rem;
}

@media (min-width: 40rem) {
  
  .upsell-popup-products {
  }
}

@media (min-width: 60rem) {
  
  .upsell-popup-products {
  }
}

@media (min-width: 80rem) {
  
  .upsell-popup-products {
  }
}

/* upsell popup products end */

/* upsell popup buttons */

.upsell-popup-buttons {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 0rem
}

.upsell-popup-buttons .button {
    flex: none;
    width: 100%;
  }

.upsell-popup-buttons .back {
    margin-bottom: 0.5rem;
  }

.upsell-popup-buttons .proceed {
    margin-bottom: 0rem;
  }

@media (min-width: 40rem) {
    
    .upsell-popup-buttons .button {
      width: auto;
      margin-bottom: 0rem;
    }
}

@media (min-width: 60rem) {
  
  .upsell-popup-buttons {
  }
}

@media (min-width: 80rem) {
  
  .upsell-popup-buttons {
  }
}

/* upsell popup buttons end */

/* add to basket popup */

.add-to-basket-popup__form {
    padding: 2rem 0.625rem 0.625rem 0.625rem;
    background: #f3f3f3;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 1rem 0;
    gap: 1rem 0;
  }

.add-to-basket-popup__block--completive {
      display: flex;
      align-items: center;
      grid-gap: 0.5rem;
      gap: 0.5rem;
    }

.add-to-basket-popup__images {
    flex: none;
    position: relative;
  }

.add-to-basket-popup__images--mobile { 
    }

.add-to-basket-popup__images--desktop {
      display: none;
    }

.add-to-basket-popup__images-content {
      height: 100%;
    }

.add-to-basket-popup__images .slick-arrows {
      display: none
    }

.add-to-basket-popup__images .slick-arrows .slick-arrow {
        background: #ebebeb;
        background: var(--light-grey);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center
      }

.add-to-basket-popup__images .slick-arrows .slick-arrow:after {
          width: 1rem;
          height: 1rem;
          background: url(/build/images/banner-arrow.00e77b2f.svg) no-repeat center / contain;
          -webkit-transform: rotate(180deg);
                  transform: rotate(180deg);
          content: '';
          border: none;
          color: #999;
          font-size: 1.75rem;
          line-height: 1.4em;
          font-weight: 700;
          top: calc(50% - 0.5rem);
          left: calc(50% - 0.5rem);
        }

.add-to-basket-popup__images .slick-arrows .slick-prev {
        left: 1em;
      }

.add-to-basket-popup__images .slick-arrows .slick-next {
        right: 1em;
      }

.add-to-basket-popup__image {
    width: 4.5rem;
    aspect-ratio: 1/1;
    -o-object-fit: contain;
       object-fit: contain;
    vertical-align: top
  }

.add-to-basket-popup__image:nth-child(n+2) {
      display: none;
    }

.add-to-basket-popup__headline {
    margin: 0;
    font-size: 1.125rem;
    padding-right: 2rem;
  }

.add-to-basket-popup__headline--desktop {
      display: none;
      margin-bottom: 1rem;
    }

.add-to-basket-popup__main { 
  }

@media (min-width: 40rem) {
  
  .add-to-basket-popup {
  }
}

@media (min-width: 60rem) {
  
  .add-to-basket-popup {
    --local-unit: 2rem;
  }
    
    .add-to-basket-popup__form {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      padding: 2rem;
    }
      
      .add-to-basket-popup__block--completive {
        display: block;
      }
      
      .add-to-basket-popup__block--main {
        padding-left: var(--local-unit);
        padding-left: var(--local-unit);
        display: flex;
        flex-direction: column;
      }
    
    .add-to-basket-popup__headline {
      font-size: 1.5rem;
    }
      
      .add-to-basket-popup__headline--mobile {
        display: none;
      }
      
      .add-to-basket-popup__headline--desktop {
        display: block;
      }
    
    .add-to-basket-popup__images {
      width: calc(100% + var(--local-unit));
      width: calc(100% + var(--local-unit));
      height: calc(100% + 2 * var(--local-unit));
      height: calc(100% + 2 * var(--local-unit));
      margin-top: calc(var(--local-unit) * -1);
      margin-top: calc(var(--local-unit) * -1);
      margin-bottom: calc(var(--local-unit) * -1);
      margin-bottom: calc(var(--local-unit) * -1);
      margin-left: calc(var(--local-unit) * -1);
      margin-left: calc(var(--local-unit) * -1);
      background: #fff;
    }
      
      .add-to-basket-popup__images--mobile {
        display: none;
      }
      
      .add-to-basket-popup__images--desktop {
        display: block;
      }
    
    .add-to-basket-popup .slick-arrows {
      display: block;
    }
    
    .add-to-basket-popup__image {
      width: 100%;
      height: 100%;
      vertical-align: top;
    }
    
    .add-to-basket-popup__main {
      margin-top: auto;
    }
}

@media (min-width: 80rem) {
  
  .add-to-basket-popup {
  }
}

/* add to basket popup end */

/* add to basket popup select size */

.add-to-basket-popup-select-size {
  margin-bottom: 1rem;
}

.add-to-basket-popup-select-size__headline {
    color: #7A7A7A;
    color: var(--light-grey-2);
    margin-bottom: 1rem;
    font-size: 0.75em;
  }

.add-to-basket-popup-select-size__options {
    display: flex;
    flex-wrap: wrap;
    grid-gap: 0.5rem;
    gap: 0.5rem;
  }

.add-to-basket-popup-select-size__option {
    height: 2rem;
    display: flex;
    flex: none;
    min-width: 2rem;
    justify-content: center;
    align-items: center;
    border: 1px solid rgba(0, 0, 0, 0.16);
    border-radius: 1rem;
    background: #fff;
    font-size: 0.75rem;
    font-weight: bold;
    transition: 0.3s;
    padding: 0 0.625rem;
    cursor: pointer
  }

.add-to-basket-popup-select-size__option:has(:checked) {
      color: #fff;
      background: #ff9320;
      background: var(--orange);
    }

.add-to-basket-popup-select-size__option-entry[type=radio] {
      display: none;
    }

@media (min-width: 40rem) {
  
  .add-to-basket-popup-select-size {
  }
}

@media (min-width: 60rem) {
      
      .add-to-basket-popup-select-size__option:hover {
        color: #fff;
        background: #ff9320;
        background: var(--orange);
      }
}

@media (min-width: 80rem) {
  
  .add-to-basket-popup-select-size {
  }
}

/* add to basket popup select size end */

/* add to basket popup active box */

.add-to-basket-popup-active-box__block {
    padding: 1rem 0
  }

.add-to-basket-popup-active-box__block:nth-child(1) {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      border-top: 1px solid rgba(0, 0, 0, 0.16);
      border-bottom: 1px solid rgba(0, 0, 0, 0.16);
    }

.add-to-basket-popup-active-box__block:last-child {
      padding-bottom: 0;
    }

.add-to-basket-popup-active-box__prices {
    text-align: right;
    padding-top: 0.5rem;
  }

.add-to-basket-popup-active-box__price {
    font-size: 1.5rem;
    color: #0079ba;
    color: var(--darker-blue);
    font-weight: 800;
  }

.add-to-basket-popup-active-box__old-price {
    font-size: 1.125rem;
    opacity: 0.4;
    text-decoration: line-through;
  }

.add-to-basket-popup-active-box__sale {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    grid-gap: 0.5rem;
    gap: 0.5rem;
  }

.add-to-basket-popup-active-box__sale-label {
      color: #fff;
      background: #e74141;
      background: var(--red);
      font-size: 0.625rem;
      min-height: 1.25rem;
      padding: 0.375rem 0.875rem;
    }

.add-to-basket-popup-active-box__sale-desc {
      font-size: 0.75rem;
      color: #e74141;
      color: var(--red);
      font-weight: 800;
    }

.add-to-basket-popup-active-box__submit {
    margin: 0;
    width: 100%;
  }

/* add to basket popup active box end */

/* added to basket popup */

.added-to-basket-popup {
  padding: 0.625rem;
  background: #fff;
  display: flex;
  flex-direction: column;
  grid-gap: 1rem;
  gap: 1rem;
}

.added-to-basket-popup__block { 
  }

.added-to-basket-popup__headline {
    font-size: 0.875rem;
    margin: 0.25rem 0 0 0;
    padding-right: 2rem;
  }

.added-to-basket-popup__status-message {
    left: 0;
    opacity: 1;
    margin: 0;
    -webkit-animation-delay: 0s;
            animation-delay: 0s;
    -webkit-animation-duration: 0s;
            animation-duration: 0s;
  }

.added-to-basket-popup__buttons {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 1rem;
    gap: 1rem;
  }

.added-to-basket-popup__button {
    margin: 0;
  }

@media (min-width: 40rem) {
  
  .added-to-basket-popup {
  }
}

@media (min-width: 60rem) {
  
  .added-to-basket-popup {
    padding: 2rem;
    grid-gap: 1.5rem;
    gap: 1.5rem;
  }
    
    .added-to-basket-popup__headline {
      font-size: 1rem;
    }
    
    .added-to-basket-popup__buttons {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 80rem) {
  
  .added-to-basket-popup {
  }
}

/* added to basket popup end */

/* added to basket popup product */

.added-to-basket-popup-product {
  padding: 1rem;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  border-top: 1px solid rgba(0, 0, 0, 0.16);
  border-bottom: 1px solid rgba(0, 0, 0, 0.16);
  grid-gap: 0.75rem;
  gap: 0.75rem;
}

.added-to-basket-popup-product__headline {
    font-size: 0.875rem;
    margin: 0 0 0.313rem 0;
    font-weight: 800;
  }

.added-to-basket-popup-product__image {
    width: 4.5rem;
    -o-object-fit: contain;
       object-fit: contain;
    aspect-ratio: 1/1
  }

.added-to-basket-popup-product__image:nth-child(n+2) {
      display: none;
    }

.added-to-basket-popup-product__desc {
    display: block;
    font-size: 0.75rem;
    color: #7A7A7A;
    color: var(--light-grey-2);
  }

.added-to-basket-popup-product__prices {
    text-align: right;
  }

.added-to-basket-popup-product__price {
    color: #0079ba;
    color: var(--darker-blue);
    font-size: 0.875rem;
    font-weight: 800;
  }

.added-to-basket-popup-product__old-price {
    color: #7A7A7A;
    color: var(--light-grey-2);
    text-decoration: line-through;
    font-size: 0.625rem;
  }

.added-to-basket-popup-product__pcs-price {
    color: #7A7A7A;
    color: var(--light-grey-2);
    font-size: 0.625rem;
  }

.added-to-basket-popup-product__sale {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    grid-gap: 0.5rem;
    gap: 0.5rem;
    justify-content: flex-end;
  }

.added-to-basket-popup-product__sale-label {
      color: #fff;
      background: #e74141;
      background: var(--red);
      font-size: 0.625rem;
      min-height: 1.25rem;
      padding: 0.375rem 0.875rem;
      font-weight: bold;
      display: none;
    }

.added-to-basket-popup-product__sale-desc {
      font-size: 0.625rem;
      color: #e74141;
      color: var(--red);
      font-weight: 800;
    }

@media (min-width: 40rem) {
  
  .added-to-basket-popup-product {
  }
}

@media (min-width: 60rem) {
  
  .added-to-basket-popup-product {
    grid-gap: 1.5rem;
    gap: 1.5rem;
  }
    
    .added-to-basket-popup-product__headline {
      font-size: 1.125rem;
    }
    
    .added-to-basket-popup-product__image {
      width: 6rem;
    }
    
    .added-to-basket-popup-product__desc {
      font-size: 1rem;
    }
    
    .added-to-basket-popup-product__price {
      font-size: 1.125rem;
    }
    
    .added-to-basket-popup-product__old-price {
      font-size: 0.75rem;
    }
    
    .added-to-basket-popup-product__pcs-price {
      font-size: 0.75rem;
    }
      
      .added-to-basket-popup-product__sale-label {
        display: block;
      }
      
      .added-to-basket-popup-product__sale-desc {
        font-size: 0.75rem;
      }
}

@media (min-width: 80rem) {
  
  .added-to-basket-popup-product {
  }
}

/* added to basket popup product end */

@charset "utf-8";

/* CSS SOUBOR PRO KOŠÍK/OBJEDNÁVKU */

/* order sheet generally */

.order-sheet .container {
  }

.order-sheet .headline {
    text-align: left;
    padding-bottom: 0;
    border-bottom-width: 0;
    margin-top: 0;
    margin-bottom: 1.5rem;
  }

.order-sheet .blocks-group {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
  }

.order-sheet .block {
    flex: none;
    width: 100%;
    margin-bottom: 0rem
  }

.order-sheet .block.collapse {
    }

.order-sheet .title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 3rem;
    color: #0079ba;
    color: var(--darker-blue);
    margin: 0rem 0rem 0rem 0rem;
    padding: 0rem 0 0.875rem 0;
    font-weight: 900;
    font-size: 1.25rem;
  }

.order-sheet .content {
  }

@media (min-width: 40rem) {
  
  .order-sheet {
  }
}

@media (min-width: 60rem) {
  
    .order-sheet .blocks-group {
      flex-wrap: nowrap;
    }
    
    .order-sheet .block {
      width: calc(50% - 1rem)
    }
  
      .order-sheet .block.full {
        width: 100%;
      }
}

@media (min-width: 80rem) {
  
  .order-sheet {
  }
}

/* order sheet generally end */

/* order sheet back to shop */

.order-sheet .back-to-shop .link {
    display: inline-block;
    vertical-align: top;
    cursor: pointer;
    text-decoration: underline
  }

.order-sheet .back-to-shop .link:before {
      content: '<';
      text-decoration: none;
      display: inline-block;
      vertical-align: top;
      padding-right: 0.188rem;
    }

.order-sheet .back-to-shop .link:hover {
      text-decoration: none;
    }

@media (min-width: 40rem) {
  
  .order-sheet .back-to-shop {
  }
}

@media (min-width: 60rem) {
  
  .order-sheet .back-to-shop {
  }
}

@media (min-width: 80rem) {
  
  .order-sheet .back-to-shop {
  }
}

/* order sheet back to shop end */

/* order sheet messages */

.order-sheet .messages {
  padding-bottom: 1rem;
  position: relative
}

.order-sheet .messages:after {
    position: absolute;
    left: 50%;
    bottom: 0;
    height: 0.125rem;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    background: #cbe3f1 content-box;
    background: var(--light-blue) content-box;
    content: '';
    padding: 0rem .75rem;
    padding: 0rem var(--page-padding);
    width: 100%;
    max-width: calc(87.5rem + (2 * .75rem));
    max-width: var(--page-width);
  }

@media (min-width: 40rem) {
  
  .order-sheet .messages {
  }
}

@media (min-width: 60rem) {
  
  .order-sheet .messages {
    padding-bottom: 2rem;
  }
}

@media (min-width: 80rem) {
  
  .order-sheet .messages {
  }
}

/* order sheet messages end */

/* order sheet free delivery info board */

.order-sheet .free-delivery-info-board {
  margin-bottom: 1.25rem
}

.order-sheet .free-delivery-info-board .content {
    padding: 0.75rem;
    border-radius: 0.375rem;
    background: #cbe3f1;
    background: var(--light-blue);
  }

.order-sheet .free-delivery-info-board .box {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    padding: 0.75rem;
    grid-gap: 1.375rem;
    gap: 1.375rem;
    background: #fff;
    border-radius: 0.188rem;
    box-shadow: 0 0.25rem 0.75rem 0 rgba(0, 0, 0, 0.16);
    margin-bottom: 1.375rem;
  }

.order-sheet .free-delivery-info-board .progressbar {
    height: 1.5rem;
    border-radius: 0.75rem;
    overflow: hidden;
    background: #cbe3f1;
    background: var(--light-blue);
    grid-column: 1/-1;
  }

.order-sheet .free-delivery-info-board .progressbar-slider {
    height: 100%;
    border-radius: inherit;
    background: #0079ba;
    background: var(--darker-blue);
  }

.order-sheet .free-delivery-info-board .info {
    display: flex;
    grid-gap: 0.5rem;
    gap: 0.5rem;
    align-items: center;
    font-weight: 800;
    margin: 0 auto
  }

.order-sheet .free-delivery-info-board .info.hidden {
      display: none;
    }

.order-sheet .free-delivery-info-board .info-1 {
    order: -1;
    grid-gap: 0.75rem;
    gap: 0.75rem
  }

.order-sheet .free-delivery-info-board .info-1:before {
      flex: none;
      width: 2.625rem;
      aspect-ratio: 1/1;
      content: '';
      background: url(/build/images/t-shirt.2bd82ba0.svg) center center / contain no-repeat;
    }

.order-sheet .free-delivery-info-board .info-desc {
    font-size: 1.125rem;
    color: #0079ba;
    color: var(--darker-blue);
  }

.order-sheet .free-delivery-info-board .info-amount {
    padding: 0.625rem;
    flex: none;
    border-radius: 0.188rem;
    color: #fff;
    font-size: 1.375rem;
    background: #0079ba;
    background: var(--darker-blue);
  }

.order-sheet .free-delivery-info-board .hint {
    display: flex;
    align-items: flex-start;
    margin: 0;
    grid-gap: 0.5rem;
    gap: 0.5rem;
    font-size: 1.125rem
  }

.order-sheet .free-delivery-info-board .hint:before {
      flex: none;
      width: 1.25rem;
      aspect-ratio: 1/1;
      content: '';
      margin-top: 0.1em;
      background: url(/build/images/question-3.30858dd6.svg) center center / contain no-repeat;
    }

.order-sheet .free-delivery-info-board .hint-desc.hidden {
      display: none;
    }

@media (min-width: 40rem) {
  
  .order-sheet .free-delivery-info-board {
  }
}

@media (min-width: 60rem) {
  
    .order-sheet .free-delivery-info-board .content {
      padding: 1rem;
    }
  
    .order-sheet .free-delivery-info-board .box {
      padding: 1.125rem;
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  
    .order-sheet .free-delivery-info-board .info-1 {
      order: 0;
      margin-left: 0;
    }
    
    .order-sheet .free-delivery-info-board .info-2 {
      margin-right: 0;
    }
    
    .order-sheet .free-delivery-info-board .info-desc {
      font-size: 1.25rem;
    }
}

@media (min-width: 80rem) {
  
    .order-sheet .free-delivery-info-board .content {
      padding: 1.25em;
    }
  
    .order-sheet .free-delivery-info-board .box {
      padding: 1.5rem;
    }
  
    .order-sheet .free-delivery-info-board .info-desc {
      font-size: 1.375rem;
    }
}

/* order sheet free delivery info board end */

/* order sheet free product */

.order-sheet .free-product {
  margin-bottom: 1.25rem
}

.order-sheet .free-product .content {
    padding: 0.5rem;
    border-radius: 0.375rem;
    background: #cbe3f1;
    background: var(--light-blue);
  }

.order-sheet .free-product .box {
    width: 100%;
    padding: 0.75rem;
    background: #fff;
    border-radius: 0.188rem;
    box-shadow: 0 0.25rem 0.75rem 0 rgba(0, 0, 0, 0.16);
  }

.order-sheet .free-product .caption {
    display: flex;
    color: #0079ba;
    color: var(--darker-blue);
    align-items: flex-start;
    margin: 0 0.25rem 0.375rem 0.25rem;
    grid-gap: 0.5rem;
    gap: 0.5rem;
    font-size: 1rem;
    font-weight: 800
  }

.order-sheet .free-product .caption:before {
      flex: none;
      width: 1.25rem;
      aspect-ratio: 1/1;
      content: '';
      margin-top: 0.1em;
      background: url(/build/images/question-3.30858dd6.svg) center center / contain no-repeat;
    }

.order-sheet .free-product .caption-text {
    padding-top: 0.15em;
  }

.order-sheet .free-product .hint {
    font-size: 0.625rem;
    margin: 0 0.25rem 0.75rem 0.25rem;
  }

.order-sheet .free-product .progress {
    display: flex;
    flex-wrap: wrap;
    grid-gap: 0.563rem 0.25rem;
    gap: 0.563rem 0.25rem
  }

.order-sheet .free-product .progress .part {
      flex-grow: 1;
      flex-basis: calc(33.333332% - 0.17rem);
      color: #ebebeb;
      color: var(--light-grey);
      font-weight: 500
    }

.order-sheet .free-product .progress .part.filled {
        color: #0079ba;
        color: var(--darker-blue);
        font-weight: 800
      }

.order-sheet .free-product .progress .part.filled.free {
          color: #00BA69;
        }

.order-sheet .free-product .progress .bar {
      display: block;
      height: 0.5rem;
      border-radius: 0.25em;
      background: currentcolor;
      margin-bottom: 0.375rem;
    }

.order-sheet .free-product .progress .desc {
      font-size: 0.625rem;
      display: block;
      display: flex;
      grid-gap: 0.313rem;
      gap: 0.313rem;
      align-items: center;
    }

.order-sheet .free-product .progress .part:not(.filled) .desc {
      color: #999;
      color: var(--grey);
    }

@media (min-width: 40rem) {
      
      .order-sheet .free-product .progress .part {
      }
}

@media (min-width: 60rem) {
    
    .order-sheet .free-product .content {
      padding: 0.875rem;
    }
    
    .order-sheet .free-product .box {
      padding: 1.125rem;
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    
    .order-sheet .free-product .caption {
      font-size: 1.063rem;
      margin-left: 0;
      margin-right: 0;
    }
    
    .order-sheet .free-product .hint {
      font-size: 0.688rem;
      margin-left: 0;
      margin-right: 0;
      margin-bottom: 1rem;
    }
    
    .order-sheet .free-product .progress {
      grid-gap: 0.625rem 0.375rem;
      gap: 0.625rem 0.375rem
    }
      
      
      .order-sheet .free-product .progress .part {
        flex-basis: calc(16.666665% - 0.375rem);
      }
      
      .order-sheet .free-product .progress .bar {
      }
      
      .order-sheet .free-product .progress .desc {
        font-size: 0.688rem;
      }
        
        .order-sheet .free-product .progress .part.filled .desc:before {
          flex: none;
          width: 0.625rem;
          aspect-ratio: 1/1;
          content: '';
          background: url(/build/images/check.5ec4d049.svg) center center / contain no-repeat;
        }
        
        .order-sheet .free-product .progress .part.filled.free .desc:before {
          background: url(/build/images/check-2.af0a60f0.svg) center center / contain no-repeat;
        }
}

@media (min-width: 80rem) {
    
    .order-sheet .free-product .content {
      padding: 1.25em;
    }
    
    .order-sheet .free-product .box {
      padding: 1.5rem;
    }
    
    .order-sheet .free-product .caption {
      font-size: 1.125rem;
    }
    
    .order-sheet .free-product .hint {
      font-size: 0.75rem;
      margin-bottom: 1.375rem;
    }
    
    .order-sheet .free-product .progress {
      grid-gap: 0.875rem 0.5rem;
      gap: 0.875rem 0.5rem
    }
      
      .order-sheet .free-product .progress .part {
        flex-basis: calc(16.666665% - 0.438rem);
      }
      
      .order-sheet .free-product .progress .bar {
      }
      
      .order-sheet .free-product .progress .desc {
        font-size: 0.75rem;
      }
}

/* order sheet free product end */

/* order sheet forms generally */

.order-sheet input[type="text"],
.order-sheet input[type="password"],
.order-sheet input[type="tel"],
.order-sheet input[type="email"],
.order-sheet input[type="url"],
.order-sheet input[type="number"],
.order-sheet select,
.order-sheet textarea {
}

@media (min-width: 40rem) {
  
  .order-sheet input[type="text"],
  .order-sheet input[type="password"],
  .order-sheet input[type="tel"],
  .order-sheet input[type="email"],
  .order-sheet input[type="url"],
  .order-sheet input[type="number"],
  .order-sheet select,
  .order-sheet textarea {
  }
}

@media (min-width: 60rem) {
  
  .order-sheet input[type="text"],
  .order-sheet input[type="password"],
  .order-sheet input[type="tel"],
  .order-sheet input[type="email"],
  .order-sheet input[type="url"],
  .order-sheet input[type="number"],
  .order-sheet select,
  .order-sheet textarea {
  }
}

@media (min-width: 80rem) {
  
  .order-sheet input[type="text"],
  .order-sheet input[type="password"],
  .order-sheet input[type="tel"],
  .order-sheet input[type="email"],
  .order-sheet input[type="url"],
  .order-sheet input[type="number"],
  .order-sheet select,
  .order-sheet textarea {
  }
}

/* order sheet forms generally end */

/* order sheet forms item generally */

.order-sheet .form-item {
  margin-bottom: 1rem
}

.order-sheet .form-item:last-child {
    margin-bottom: 0rem;
  }

@media (min-width: 40rem) {
  
  .order-sheet .form-item {
  }
}

@media (min-width: 60rem) {
  
  .order-sheet .form-item {
  }
}

@media (min-width: 80rem) {
  
  .order-sheet .form-item {
  }
}

/* order sheet forms item end */

/* order sheet basket */

.order-sheet .basket {
  padding-bottom: 2rem;
  position: relative
}

.order-sheet .basket:after {
    position: absolute;
    left: 50%;
    bottom: 0;
    height: 0.125rem;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    background: #cbe3f1 content-box;
    background: var(--light-blue) content-box;
    content: '';
    padding: 0rem .75rem;
    padding: 0rem var(--page-padding);
    width: 100%;
    max-width: calc(87.5rem + (2 * .75rem));
    max-width: var(--page-width);
  }

.order-sheet .basket .headline {
  }

.order-sheet .basket .goods {
    background: none;
  }

.order-sheet .basket .content {
    padding: 0rem;
    background: none;
  }

.order-sheet .basket .item {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    background: #f3f3f3;
    padding: 1.25rem;
    margin-bottom: 0.625rem;
  }

.order-sheet .basket .part {
    flex: none;
    padding: 0rem 1.25rem 2rem 0rem;
  }

.order-sheet .basket .picture {
    width: 6.5rem;
    height: 6.5rem;
    padding: 0;
    order: 10;
    margin-bottom: 1rem;
  }

.order-sheet .basket .image {
    width: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }

.order-sheet .basket .name {
    width: 100%;
    order: 20
  }

.order-sheet .basket .name .link {
      text-decoration: none;
    }

.order-sheet .basket .pieces {
    order: 30;
    text-align: center;
    padding-bottom: 0;
  }

.order-sheet .basket .pieces-box {
    height: auto
  }

.order-sheet .basket .pieces-box .handle {
      width: 2.5rem;
      height: 2.5rem;
    }

.order-sheet .basket .pieces-box input {
      background: transparent;
      height: 2.5rem;
    }

.order-sheet .basket .unit-price {
    width: 100%;
    white-space: nowrap;
    order: 60;
    padding: 1.25rem 0 0 0;
    font-size: 0.875rem;
  }

.order-sheet .basket .price {
    justify-content: flex-end;
    font-weight: bold;
    white-space: nowrap;
    order: 50;
    margin-left: auto;
    padding: 0;
    text-align: right;
    font-size: 1.125rem;
  }

.order-sheet .basket .remove {
    flex: none;
    order: 15;
    margin: 0 0 auto auto;
    padding: 0
  }

.order-sheet .basket .remove .handle {
      width: 1.5625rem;
      height: 1.5625rem;
      display: block;
      position: relative;
      cursor: pointer;
      transition: 0.3s
    }

.order-sheet .basket .remove .handle:before,
      .order-sheet .basket .remove .handle:after{
        width: 2.2rem;
        height: 0.125rem;
        display: block;
        content: '';
        background: #343434;
        position: absolute;
        opacity: 0.8;
        left: -0.3rem;
        top: calc(50% - 1px);
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg);
      }

.order-sheet .basket .remove .handle:after {
        -webkit-transform:rotate(135deg);
                transform:rotate(135deg);
      }

.order-sheet .basket .summary .title {
      padding: .75rem 0 0 0;
      font-size: 1.25rem;
      background: #fff;
      color: #ff9320;
      color: var(--orange);
      font-weight: 700;
      flex-wrap: wrap;
    }

.order-sheet .basket .summary .value {
      text-align: right;
      order: 1;
    }

.order-sheet .basket .summary .desc {
      order: 0;
    }

.order-sheet .basket .summary .desc-sup {
      width: 100%;
      font-weight: normal;
      margin: 0 auto 1rem 0;
      order: 2;
    }

.order-sheet .basket .summary .vatin {
      display: block;
      font-size: 0.875rem;
      font-weight: normal;
      color: #343434;
      width: 100%;
      order: 3;
    }

@media (min-width: 40rem) {
  
  .order-sheet .basket {
  }
}

@media (min-width: 52.5rem) {
      .order-sheet .basket .summary .desc-sup {
        width: auto;
        margin-bottom: 0;
        margin-left: 0.5rem;
        order: 0;
      }
}

@media (min-width: 60rem) {
  
  .order-sheet .basket {
    padding-bottom: 3rem
  }

    .order-sheet .basket .part {
      padding: 2.5rem 1rem;
    }

    .order-sheet .basket .item {
      padding: 0 1.25rem 0 0;
      flex-wrap: nowrap
    }
        .order-sheet .basket .item.delivery .part {
          padding: 1.5rem 1rem
        }

          .order-sheet .basket .item.delivery .part.picture {
            min-width: 5.5rem;
            min-height: 5.5rem;
            padding: 0;
          }
  
    .order-sheet .basket .part.picture {
      width: auto;
      height: auto;
      min-width: 7.5rem;
      min-height: 7.5rem;
      align-self: stretch;
      position: relative;
      margin-right: 3.125rem;
      padding: 0;
      margin-bottom: 0;
    }
    .order-sheet .basket .image {
      position: absolute;
      height: 100%;
      -o-object-fit: cover;
         object-fit: cover;
    }
  
    .order-sheet .basket .part.name {
      flex: 100;
      width: auto;
      font-weight: normal;
      margin: 0 auto 0 0;
      padding-left: 0;
    }
  
    .order-sheet .basket .unit-price {
      width: auto;
      display: block;
    }
  
    .order-sheet .basket .price {
      padding-right: 1.25rem;
    }
  
    .order-sheet .basket .remove {
      order: 60;
      margin-bottom: 0rem;
    }

      .order-sheet .basket .summary .title {
        justify-content: flex-start;
      }

      .order-sheet .basket .summary .value {
        margin: 0 2.625rem 0 auto;
      }

      .order-sheet .basket .summary .vatin {
        width: auto;
        font-size: 0.688rem;
      }
}

@media (min-width: 80rem) {
    .order-sheet .basket .part {
      padding-right: 1.5rem;
      padding-left: 1.5rem;
    }

    .order-sheet .basket .name {
      font-size: 1.125rem;
    }
}

/* order sheet basket end */

/* order sheet empty basket */

.order-sheet .empty-basket {
}

@media (min-width: 40rem) {
  
  .order-sheet .empty-basket {
  }
}

@media (min-width: 60rem) {
  
  .order-sheet .empty-basket {
  }
}

@media (min-width: 80rem) {
  
  .order-sheet .empty-basket {
  }
}

/* order sheet empty basket end */

/* order sheet delivery and payment */

.order-sheet .delivery-payment {
  padding-bottom: 2rem;
  position: relative
}

.order-sheet .delivery-payment:after {
    position: absolute;
    left: 50%;
    bottom: 0;
    height: 0.125rem;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    background: #cbe3f1 content-box;
    background: var(--light-blue) content-box;
    content: '';
    padding: 0rem .75rem;
    padding: 0rem var(--page-padding);
    width: 100%;
    max-width: calc(87.5rem + (2 * .75rem));
    max-width: var(--page-width);
  }

.order-sheet .delivery-payment .delivery {
    margin-bottom: 2rem;
  }

.order-sheet .delivery-payment .select-country {
    margin: 1.5rem 0
  }

.order-sheet .delivery-payment .select-country .stable {
      width: 100%;
    }

.order-sheet .delivery-payment .select-country select {
      width: 100%;
    }

.order-sheet .delivery-payment .select-country .vars {
      padding: 0;
    }

.order-sheet .delivery-payment .form-item-checkbox {
    padding: 0.75rem;
    background-color: #f3f3f3;
    margin: 0 0 0.625rem 0;
    width: 100%;
    border-radius: 0.375rem;
    position: relative
  }

.order-sheet .delivery-payment .form-item-checkbox:has(input:checked) {
      box-shadow: 0 0 0rem 0.063rem inset #343434;
      box-shadow: 0 0 0rem 0.063rem inset var(--dark-grey);
    }

.order-sheet .delivery-payment .form-item-checkbox:last-child {
      margin-bottom: 0rem;
    }

.order-sheet .delivery-payment .form-item-checkbox input {
      width: 1.5rem;
      height: 1.5rem;
      border: 1px solid #999;
      border: 1px solid var(--grey);
      border-radius: 50%;
      background-image: url(/build/images/radio.57731025.svg);
      background-size: 0.5rem auto
    }

.order-sheet .delivery-payment .form-item-checkbox input:checked {
        border-color: #343434;
        border-color: var(--dark-grey);
        background-color: #0079ba;
        background-color: var(--darker-blue);
      }

.order-sheet .delivery-payment .form-item-checkbox .stable {
      width: 100%;
    }

.order-sheet .delivery-payment .form-item-checkbox .row {
      margin: 0;
    }

.order-sheet .delivery-payment .form-item-checkbox .logo {
      width: 6.25rem;
      aspect-ratio: 2/1;
      -o-object-fit: contain;
         object-fit: contain;
      border: 1px solid #ebebeb;
      border: 1px solid var(--light-grey);
      background: #fff;
      padding: 0.25rem;
      margin-left: 0.5rem;
    }

.order-sheet .delivery-payment .form-item-checkbox .desc {
      padding-left: 0.5rem;
      flex-grow: 1
    }

.order-sheet .delivery-payment .form-item-checkbox .desc .name {
        display: block;
      }

.order-sheet .delivery-payment .form-item-checkbox .desc .text {
        display: block;
        font-size: 0.688rem;
        color: #7a7a7a;
        font-weight: 500
      }

.order-sheet .delivery-payment .form-item-checkbox .desc .text .button {
          margin: 0.5rem 0 0 0;
        }

.order-sheet .delivery-payment .form-item-checkbox .price {
      flex: none;
      white-space: nowrap;
      padding: 2rem 0rem 0rem 1.25rem;
      font-size: 0.875rem;
      align-self: flex-end;
    }

.order-sheet .delivery-payment .form-item-checkbox .vars:empty {
        padding: 0;
      }

.order-sheet .delivery-payment .form-item-checkbox [data-tippy-content] {
      position: absolute;
      right: 0.75rem;
      top: 0.75rem;
    }

.order-sheet .delivery-payment .summary .title {
      color: #ff9320;
      color: var(--orange);
    }

@media (min-width: 40rem) {
  
  .order-sheet .delivery-payment {
  }
}

@media (min-width: 60rem) {
  
  .order-sheet .delivery-payment {
    padding-bottom: 3rem
  }
    
    .order-sheet .delivery-payment .delivery {
      margin-bottom: 0rem;
    }
    
    .order-sheet .delivery-payment .select-country {
      margin-top: 1.75rem;
      margin-bottom: 1.75rem;
    }
    
    .order-sheet .delivery-payment .form-item-checkbox {
      padding: 0.875rem 1.25rem
    }
      
      .order-sheet .delivery-payment .form-item-checkbox .logo {
        margin-left: 1rem;
      }
      
      .order-sheet .delivery-payment .form-item-checkbox .desc {
        font-size: 0.938rem;
        padding-left: 1rem
      }
        
        .order-sheet .delivery-payment .form-item-checkbox .desc .text {
          font-size: 0.75rem;
        }
      
      .order-sheet .delivery-payment .form-item-checkbox .price {
        font-size: 0.938rem;
        padding-top: 0;
        align-self: center;
      }
      
      .order-sheet .delivery-payment .form-item-checkbox [data-tippy-content] {
        position: static;
        margin-left: 0.25em;
      }
}

@media (min-width: 80rem) {
    
    .order-sheet .delivery-payment .select-country {
      margin-top: 2rem;
      margin-bottom: 2rem;
    }
    
    .order-sheet .delivery-payment .form-item-checkbox {
      padding: 1rem 1.5rem
    }
      
      .order-sheet .delivery-payment .form-item-checkbox .logo {
        margin-left: 1.5rem;
      }
      
      .order-sheet .delivery-payment .form-item-checkbox .desc {
        font-size: 1rem;
        padding-left: 1.5rem;
      }
      
      .order-sheet .delivery-payment .form-item-checkbox .price {
        font-size: 1rem;
      }
}

/* order sheet delivery and payment end */

/* order sheet shipping */

.order-sheet .shipping .inner:nth-child(2) {
      padding-top: 2.5rem;
      background-color: #f3f3f3;
    }

.order-sheet .shipping .customer, .order-sheet .shipping .other {
    background-color: #f3f3f3
  }

.order-sheet .shipping .customer .title, .order-sheet .shipping .other .title {
      padding: 0;
    }

.order-sheet .shipping .customer .form-item-checkbox, .order-sheet .shipping .other .form-item-checkbox {
      margin: 0
    }

.order-sheet .shipping .customer .form-item-checkbox .desc, .order-sheet .shipping .other .form-item-checkbox .desc {
        font-weight: 400;
        color: #000;
      }

.order-sheet .shipping .note textarea {
      height: 8rem;
    }

@media (min-width: 40rem) {
  
  .order-sheet .shipping {
  }
}

@media (min-width: 60rem) {
      .order-sheet .shipping .inner:nth-child(2) {
        padding-top: 0;
        background-color: unset;
      }

      .order-sheet .shipping .inner > .block {
        padding: 3.125rem 2.5rem;
      }
    
    .order-sheet .shipping .address,
    .order-sheet .shipping .company,
    .order-sheet .shipping .note {
      float: right;
      clear: right;
    }
}

@media (min-width: 80rem) {
  
  .order-sheet .shipping {
  }
}

/* order shipping end */

/* order sheet ribbon */

.order-sheet .ribbon .active-box .block {
      margin-bottom: 1.125rem;
      padding-bottom: 1.125rem;
      border-bottom: 0.125rem solid #cbe3f1;
      border-bottom: 0.125rem solid var(--light-blue)
    }

.order-sheet .ribbon .active-box .block .title {
        padding-top: 0;
      }

.order-sheet .ribbon .active-box .handles {
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      width: 100%;
    }

.order-sheet .ribbon .active-box .main {
      flex: none;
      width: 100%
    }

.order-sheet .ribbon .active-box .main > *:last-child {
        margin-bottom: 0rem;
      }

.order-sheet .ribbon .active-box .summary {
    }

.order-sheet .ribbon .active-box .button {
      flex: none;
      margin: 0 auto;
    }

@media (min-width: 40rem) {
  
  .order-sheet .ribbon {
  }
}

@media (min-width: 64rem) {
      .order-sheet .ribbon .active-box .handles {
        border-bottom: 0.125rem solid #cbe3f1;
        border-bottom: 0.125rem solid var(--light-blue);
        padding-bottom: 1.5rem;
      }
      
      .order-sheet .ribbon .active-box .main {
        display: flex;
        align-items: center;
        flex-flow: row wrap;
        flex-shrink: 1;
        flex-grow: 1;
        width: auto;
        padding: 0 2rem 0 0;
        padding-right: 2rem;
        margin-bottom: 0rem;
        border-bottom: none
      }

        .order-sheet .ribbon .active-box .main > * {
          margin-bottom: 0
        }

          .order-sheet .ribbon .active-box .main > *:first-child {
            margin-right: 2rem;
          }

        .order-sheet .ribbon .active-box .main .row {
          margin-bottom: 0;
        }

      .order-sheet .ribbon .active-box .summary {
        width: 100%;
        order: -1;
        margin-bottom: 1.5rem;
      }
}

@media (min-width: 80rem) {
  
  .order-sheet .ribbon {
  }
}

/* order sheet ribbon end */

/* order created */

.order-created {
  text-align: center
}

.order-created > .inner {
    position: relative;
    background: url(/build/images/clouds3.0ca31bd3.svg) no-repeat right -2rem bottom / 21.625rem auto
  }

.order-created > .inner:before, .order-created > .inner:after {
      content: '';
      left: 0;
      top: 0;
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
      z-index: -1;
    }

.order-created .content {
    min-height: 72vh;
    max-width: 40rem;
    display: flex;
    flex-flow: column;
    align-items: center;
    margin: 0 auto
  }

.order-created .content:before {
      display: block;
      content: '';
      width: 14.063rem;
      height: 7.813rem;
      background: url(/build/images/cloud1.306b4b40.svg) no-repeat center / contain;
      margin: 0 auto 1.5rem auto;
    }

.order-created .title {
    color: #48c3f4;
    color: var(--theme-color);
    font-size: 1.875rem;
    margin-bottom: 1em;
  }

.order-created .perex {
    font-size: 1rem;
  }

.order-created .desc .rowek {
      display: block;
    }

.order-created .payment {
  }

.order-created .button {
    margin: 0;
  }

@media (min-width: 40rem) {
    .order-created .title {
      font-size: 2rem;
    }

    .order-created .button {
      margin-top: 2rem;
    }
}

@media (min-width: 60rem) {

    .order-created .title {
      font-size: 2.6rem;
    }

    .order-created .perex {
      font-size: 1.125rem;
    }

    .order-created .button {
      margin-top: 5rem;
    }
}

@media (min-width: 80rem) {
    .order-created > .inner {
      padding-top: 6rem;
      background: none
    }

      .order-created > .inner:before, .order-created > .inner:after {
        position: absolute;
      }
      .order-created > .inner:before {
        width: 32.625rem;
        max-height: 15.75rem;
        height: 20vh;
        min-height: 8rem;
        top: 2vh;
        background-image: url(/build/images/clouds1.f79720c9.svg);
      }
      .order-created > .inner:after {
        max-width: 30.25rem;
        height: 24.25rem;
        width: 22vw;
        top: calc(50% - 12.125rem);
        right: 0;
        left: auto;
        background-image: url(/build/images/clouds2.f454b81d.svg);
      }

    .order-created .content {
      justify-content: center;
      min-height: 65vh
    }

      .order-created .content:before {
        display: none;
      }

    .order-created .title {
      font-size: 3.125rem;
    }

    .order-created .button {
      margin-top: 6.25rem;
    }
}

/* order created end */

/* order status */

.order-status .headline {
  }

.order-status .info .rowek {
      display: flex;
      align-items: flex-start;
      width: 100%;
      padding: 0rem 0rem 0.5rem 0rem
    }

.order-status .info .rowek:last-of-type{
        padding-bottom: 0rem;
      }

.order-status .info .desc {
      flex: none;
      width: 8rem;
      padding-right: 1rem;
    }

.order-status .info .value {
    }

.order-status .list .item {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      width: 100%;
      padding: 0.5rem 0rem;
      border-top: 1px solid #0079ba;
      border-top: 1px solid var(--border-color)
    }

.order-status .list .item:last-of-type{
        border-bottom: 1px solid #0079ba;
        border-bottom: 1px solid var(--border-color);
      }

.order-status .list .head {
      display: none;
    }

.order-status .list .part {
      flex: none;
      width: 50%;
      padding: 0.5rem 0rem;
    }

.order-status .list .picture {
      display: none;
    }

.order-status .list .name {
      width: 100%;
    }

.order-status .list .code {
      word-break: break-word;
      padding-right: 1.25rem;
    }

.order-status .list .availability {
      font-weight: bold;
      margin-left: auto;
      text-align: right;
    }

.order-status .list .payment {
      margin: 0rem 0rem 1.5rem 0rem;
    }

.order-status .list .button {
      margin: 0rem 0rem 0rem 0rem;
    }

@media (min-width: 40rem) {
  
  .order-status {
  }
}

@media (min-width: 60rem) {
  
      .order-status .info .desc {
        width: 12rem;
      }
      
      .order-status .list .item {
        flex-wrap: nowrap;
      }
    
      .order-status .list .part {
        padding-right: 1.25rem;
      }
    
      .order-status .list .picture {
        width: 4rem;
        margin-right: 1rem;
        -o-object-fit: contain;
           object-fit: contain;
        display: block;
      }
      
      .order-status .list .image {
        width: 100%;
      }
  
      .order-status .list .name {
        flex-grow: 1;
        width: auto;
      }
    
      .order-status .list .code {
        width: 20%;
        text-align: center;
      }
    
      .order-status .list .availability {
        width: 20%;
        padding-right: 0rem;
        text-align: right;
      }
}

@media (min-width: 80rem) {
  
  .order-status {
  }
}

/* order status end */

@charset "utf-8";

/* CSS SOUBOR PRO UŽIVATELSKOU ČÁST PROJEKTU PŘED PŘIHLÁŠENÍM */

/* user account generally */

.user-account {
}

@media (min-width: 40rem) {
  
  .user-account {
  }
}

@media (min-width: 60rem) {
  
  .user-account {
  }
}

@media (min-width: 80rem) {
  
  .user-account {
  }
}

/* user account generally end */

/* user account content generally */

.user-account-content .block {
    max-width: 34.375rem;
    border: 1px solid rgba(0, 0, 0, 0.2);
    margin: 1.5rem auto 0rem auto;
  }

.user-account-content .title {
    background: rgba(0, 0, 0, 0.09804);
    margin: 0rem 0rem 0rem 0rem;
    padding: 0.938rem 1.25rem;
    font-size: 1.25rem;
  }

.user-account-content .content {
    padding: 1.25rem 1.25rem 1.25rem 1.25rem;
  }

@media (min-width: 40rem) {
  
  .user-account-content {
  }
}

@media (min-width: 60rem) {
  
    .user-account-content .block {
      margin-top: 2.5rem;
    }
}

@media (min-width: 80rem) {
  
  .user-account-content {
  }
}

/* user account content generally end */

/* user account forms item generally */

.user-account .form-item {
}

@media (min-width: 40rem) {
  
  .user-account .form-item {
  }
}

@media (min-width: 60rem) {
  
  .user-account .form-item {
  }
}

@media (min-width: 80rem) {
  
  .user-account .form-item {
  }
}

/* user account forms item generally end */

/* user account buttons generally */

.user-account-buttons {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  padding: 0rem 0rem 0rem 0rem
}

.user-account-buttons .button {
    flex: none;
    width: 100%;
    margin: 0rem 0rem 0rem auto;
  }

.user-account-buttons .links {
    flex: none;
    width: 100%;
    padding: 0.875rem 0rem 0rem 0rem
  }

.user-account-buttons .links .link {
      display: inline-block;
      vertical-align: top;
      cursor: pointer;
      text-decoration: underline;
      margin: 0.25rem 0.5rem 0.25rem 0rem
    }

.user-account-buttons .links .link:hover {
        text-decoration: none;
      }

.user-account-buttons .gdpr-regulation {
    width: 100%;
    margin: 0rem 0rem 0.5rem 0rem;
  }

@media (min-width: 40rem) {
  
  .user-account-buttons {
    flex-wrap: nowrap
  }
   
    .user-account-buttons .button {
      width: auto;
    }
  
    .user-account-buttons .links {
      flex-shrink: 1;
      flex-grow: 1;
      width: auto;
      padding-top: 0rem;
      text-align: right;
      order: -1;
      padding-right: 0.5rem;
    }
  
    .user-account-buttons .gdpr-regulation {
      width: auto;
      padding-right: 1.5rem;
      margin-bottom: 0rem;
    }
}

@media (min-width: 60rem) {
  
  .user-account-buttons {
  }
}

@media (min-width: 80rem) {
  
  .user-account-buttons {
  }
}

/* user account buttons generally end */

/* user account login */

.user-account-login {
}

@media (min-width: 40rem) {
  
  .user-account-login {
  }
}

@media (min-width: 60rem) {
  
  .user-account-login {
  }
}

@media (min-width: 80rem) {
  
  .user-account-login {
  }
}

/* user account login end */

/* user account register */

.user-account-register {
}

@media (min-width: 40rem) {
  
  .user-account-register {
  }
}

@media (min-width: 60rem) {
  
  .user-account-register {
  }
}

@media (min-width: 80rem) {
  
  .user-account-register {
  }
}

/* user account register end */

/* user account register success */

.user-account-register-success {
}

@media (min-width: 40rem) {
  
  .user-account-register-success {
  }
}

@media (min-width: 60rem) {
  
  .user-account-register-success {
  }
}

@media (min-width: 80rem) {
  
  .user-account-register-success {
  }
}

/* user account register success end */

/* user account change password */

.user-account-change-password {
}

@media (min-width: 40rem) {
  
  .user-account-change-password {
  }
}

@media (min-width: 60rem) {
  
  .user-account-change-password {
  }
}

@media (min-width: 80rem) {
  
  .user-account-change-password {
  }
}

/* user account change password end */

/* user account change password result */

.user-account-change-password-result .user-account-buttons {
    padding: 0rem;
    justify-content: center
  }

.user-account-change-password-result .user-account-buttons .button {
      margin: 0rem;
    }

@media (min-width: 40rem) {
  
  .user-account-change-password-result {
  }
}

@media (min-width: 60rem) {
  
  .user-account-change-password-result {
  }
}

@media (min-width: 80rem) {
  
  .user-account-change-password-result {
  }
}

/* user account change password result end */

/* user account forgotten password */

.user-account-forgotten-password {
}

@media (min-width: 40rem) {
  
  .user-account-forgotten-password {
  }
}

@media (min-width: 60rem) {
  
  .user-account-forgotten-password {
  }
}

@media (min-width: 80rem) {
  
  .user-account-forgotten-password {
  }
}

/* user account forgotten password end */

/* account popup */

.account-popup .content {
  }

@media (min-width: 40rem) {
  
  .account-popup {
  }
}

@media (min-width: 60rem) {
  
  .account-popup {
  }
}

@media (min-width: 80rem) {
  
  .account-popup {
  }
}

/* account popup end */

@charset "utf-8";

/* CSS SOUBOR PRO UŽIVATELSKOU ČÁST PROJEKTU PO PŘIHLÁŠENÍ */

/* user dashboard generally */

.user-dashboard .headline .inner {
      display: block;
    }

@media (min-width: 40rem) {
  
  .user-dashboard {
  }
}

@media (min-width: 60rem) {
  
  .user-dashboard {
  }
}

@media (min-width: 80rem) {
  
  .user-dashboard {
  }
}

/* user dashboard generally end */

/* user dashboard form items generally */

.user-dashboard .form-item:last-child {
    margin-bottom: 0rem;
  }

@media (min-width: 40rem) {
  
  .user-dashboard .form-item {
  }
}

@media (min-width: 60rem) {
  
  .user-dashboard .form-item {
  }
}

@media (min-width: 80rem) {
  
  .user-dashboard .form-item {
  }
}

/* user dashboard form items generally end */

/* user dashboard buttons generally */

.user-dashboard-buttons {
  text-align: right
}

.user-dashboard-buttons .button {
    width: 100%;
  }

@media (min-width: 40rem) {
  
    .user-dashboard-buttons .button {
      width: auto;
    }
}

@media (min-width: 60rem) {
  
  .user-dashboard-buttons {
  }
}

@media (min-width: 80rem) {
  
  .user-dashboard-buttons {
  }
}

/* user dashboard buttons generally end */

/* user dashboard menu */

.user-dashboard-menu .item {
    width: 100%;
    display: inline-block;
    vertical-align: top;
    font-weight: bold;
    padding: 0.938rem 2.813rem 0.938rem 1.25rem;
    border: 1px solid #0079ba;
    border: 1px solid var(--border-color);
    text-decoration: none;
    margin-bottom: 0.5rem;
    background: #efefef;
    transition: 0.3s;
    position: relative
  }

.user-dashboard-menu .item:last-child {
      margin-bottom: 0rem;
    }

.user-dashboard-menu .item:hover,
    .user-dashboard-menu .item.active {
      background: #fff;
    }

.user-dashboard-menu .item:after{
        border-right: 0.125rem solid #000;
        border-right: 0.125rem solid var(--base-color);
        border-bottom: 0.125rem solid #000;
        border-bottom: 0.125rem solid var(--base-color);
        width: 0.625rem;
        height: 0.625rem;
        content: '';
        display: block;
        -webkit-transform: rotate(-45deg);
                transform: rotate(-45deg);
        position: absolute;
        right: 1.375rem;
        top: calc(50% - 0.313rem);
    }

@media (min-width: 40rem) {
  
  .user-dashboard-menu {
  }
}

@media (min-width: 60rem) {
    
    .user-dashboard-menu .item {
      width: auto;
      margin-right: 0.5rem;
    }
}

@media (min-width: 80rem) {
  
  .user-dashboard-menu {
  }
}

/* user dashboard menu end */

/* user dashboard content generally */

.user-dashboard-content .blocks-group {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
  }

.user-dashboard-content .block {
    flex: none;
    width: 100%;
    background: #f8f8f8;
    margin-bottom: 1rem;
  }

.user-dashboard-content .title {
    display: flex;
    align-items: center;
    width: 100%;
    background: #efefef;
    margin: 0rem 0rem 0rem 0rem;
    padding: 0.875rem 1.25rem;
    font-size: 1rem;
    min-height: 4rem;
  }

.user-dashboard-content .content {
    padding: 1.5rem 1.25rem;
  }

@media (min-width: 40rem) {
  
  .user-dashboard-content {
  }
}

@media (min-width: 60rem) {
  
    .user-dashboard-content .blocks-group {
      flex-wrap: nowrap;
    }
    
    .user-dashboard-content .block {
      width: calc(50% - 0.5rem)
    }
      
      .user-dashboard-content .block.full {
        width: 100%;
      }
}

@media (min-width: 80rem) {
  
  .user-dashboard-content {
  }
}

/* user dashboard content generally end */

/* user dashboard profile */

.user-dashboard-profile .info {
    width: 100%;
    margin: 0rem 0rem 0rem 0rem;
  }

.user-dashboard-profile .desc,
  .user-dashboard-profile .value {
    padding: 0.875rem 1.5rem 0.875rem 0rem;
    background: none;
    font-size: 1rem;
  }

.user-dashboard-profile .desc {
    font-weight: bold;
  }

.user-dashboard-profile .value {
    text-align: right;
    padding-right: 0rem
  }

.user-dashboard-profile .value .link {
      word-break: break-all;
      text-decoration: none;
      color: inherit;
      display: inline-block;
    }

@media (min-width: 40rem) {
  
  .user-dashboard-profile {
  }
}

@media (min-width: 60rem) {
  
  .user-dashboard-profile {
  }
}

@media (min-width: 80rem) {
  
  .user-dashboard-profile {
  }
}

/* user dashboard profile end */

/* user dashboard profile edit */

.user-dashboard-profile-edit .button {
    margin: 0rem 0rem 0rem 0rem;
  }

@media (min-width: 40rem) {
  
  .user-dashboard-profile-edit {
  }
}

@media (min-width: 60rem) {
  
  .user-dashboard-profile-edit {
  }
}

@media (min-width: 80rem) {
  
  .user-dashboard-profile-edit {
  }
}

/* user dashboard profile edit end */

/* user dashboard orders generally */

.user-dashboard-orders {
}

@media (min-width: 40rem) {
  
  .user-dashboard-orders {
  }
}

@media (min-width: 60rem) {
  
  .user-dashboard-orders {
  }
}

@media (min-width: 80rem) {
  
  .user-dashboard-orders {
  }
}

/* user dashboard orders generally end */

/* user dashboard orders list */

.user-dashboard-orders .orders {
  background: none
}

.user-dashboard-orders .orders .content {
    padding: 0rem 0rem 0rem 0rem;
  }

.user-dashboard-orders .orders .list {
    border-top: 1px solid #0079ba;
    border-top: 1px solid var(--border-color);
  }

.user-dashboard-orders .orders .item {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    border-bottom: 1px solid #0079ba;
    border-bottom: 1px solid var(--border-color);
    padding: 0.875rem 0rem;
    line-height: 1.5;
    line-height: var(--line-height)
  }

.user-dashboard-orders .orders .item.head {
      display: none;
      font-weight: bold;
    }

.user-dashboard-orders .orders .part {
    width: 50%;
    padding: 0rem 1.25rem 0rem 0;
  }

.user-dashboard-orders .orders .date {
    font-weight: bold;
    padding-bottom: 0.5rem;
  }

.user-dashboard-orders .orders .symbol {
    text-align: right;
    padding-right: 0;
    padding-bottom: 0.5rem;
  }

.user-dashboard-orders .orders .price {
    width: 40%
  }

.user-dashboard-orders .orders .price .amount {
      font-weight: bold;
      font-size: 1.25rem;
    }

.user-dashboard-orders .orders .invoice {
    width: 60%;
    text-align: right;
    padding-right: 0rem;
  }

@media (min-width: 40rem) {
  
  .user-dashboard-orders .orders {
  }
}

@media (min-width: 60rem) {
  
    .user-dashboard-orders .orders .list {
      border: 0rem;
    }
    
    .user-dashboard-orders .orders .item {
      flex-wrap: nowrap;
      justify-content: space-between
    }
      
      .user-dashboard-orders .orders .item.head {
        display: flex;
      }
    
    .user-dashboard-orders .orders .part {
      flex: none;
      width: 25%;
      padding-top: 0rem;
      padding-bottom: 0rem;
    }
  
    .user-dashboard-orders .orders .symbol {
      padding-right: 1.25rem;
      text-align: center;
    }
    
    .user-dashboard-orders .orders .price {
      text-align: center;
    }
}

@media (min-width: 80rem) {
  
  .user-dashboard-orders .orders {
  }
}

/* user dashboard orders list end */

/* user dashboard change password */

.user-dashboard-change-password .info {
    background: none;
  }

.user-dashboard-change-password .content {
    padding: 0rem 0rem 0rem 0rem;
  }

@media (min-width: 40rem) {
  
  .user-dashboard-change-password {
  }
}

@media (min-width: 60rem) {
  
  .user-dashboard-change-password {
  }
}

@media (min-width: 80rem) {
  
  .user-dashboard-change-password {
  }
}

/* user dashboard change password end */

@charset "utf-8";

/* CSS SOUBOR PRO CUSTOMIZOVANÉ ČÁSTI PROJEKTU */

/* tippy tootip */

[data-tippy-content] {
  width: 1.163rem;
  aspect-ratio: 1/1;
  display: inline-block;
  vertical-align: middle;
  background: url(/build/images/tooltip.c7d4daf8.svg) center center / contain no-repeat;
}

.tippy-box[data-theme~='custom'] {
  font-size: 12px;
}

.tippy-box[data-theme~='custom'][data-placement^='top'] > .tippy-arrow {
}

@media (min-width: 40rem) {
  
  [data-tippy-content] {
  }
}

@media (min-width: 60rem) {
  
  [data-tippy-content] {
    width: 1.188rem;
  }
}

@media (min-width: 80rem) {
  
  [data-tippy-content] {
    width: 1.25rem;
  }
}

/* tippy tootip end */

@charset "utf-8";

/* CSS SOUBOR PRO NOVINKY */

/* news categories generally */

.news-categories {
}

@media (min-width: 40rem) {
  
  .news-categories {
  }
}

@media (min-width: 60rem) {
  
  .news-categories {
  }
}

@media (min-width: 80rem) {
  
  .news-categories {
  }
}

/* news categories generally end */

/* news categories overview */

.news-categories .overview .headline {
  }

.news-categories .overview .list {
    display: grid;
    grid-gap: 1rem;
    gap: 1rem;
    width: 100%;
  }

.news-categories .overview .item {
    position: relative;
    border: 1px solid #000;
  }

.news-categories .overview .picture {
    position: relative;
    padding-top: 100%;
  }

.news-categories .overview .image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    position: absolute;
    left: 0rem;
    top: 0rem
  }

.news-categories .overview .image[src*=default-photo] {
      -o-object-fit: contain;
         object-fit: contain;
    }

.news-categories .overview .title {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 1;
    margin: 0rem 0rem 0rem 0rem;
    background: rgba(255, 255, 255, 0.6);
    padding: 0.75rem .75rem;
    padding: 0.75rem var(--page-padding);
  }

@media (min-width: 40rem) {
  
    .news-categories .overview .list {
      grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 60rem) {
  
    .news-categories .overview .list {
      grid-template-columns: repeat(3, 1fr);
    }
  
    .news-categories .overview .title {
      padding: 1.25rem 1.5rem;
    }
}

@media (min-width: 80rem) {
  
  .news-categories .overview {
  }
}

/* news categories overview end */

/* news category detail */

.news-category-detail .headline {
  }

.news-category-detail .perex {
    font-weight: bold;
  }

.news-category-detail .image {
  }

.news-category-detail .inner > :last-child {
      margin-bottom: 0rem;
      padding-bottom: 0rem;
    }

@media (min-width: 40rem) {
  
  .news-category-detail {
  }
}

@media (min-width: 60rem) {
  
  .news-category-detail {
  }
}

@media (min-width: 80rem) {
  
  .news-category-detail {
  }
}

/* news category detail end */

/* news generally */

.news {
}

@media (min-width: 40rem) {
  
  .news {
  }
}

@media (min-width: 60rem) {
  
  .news {
  }
}

@media (min-width: 80rem) {
  
  .news {
  }
}

/* news generally end */

/* news arrangement */

.news .arrangement {
  margin-bottom: 1rem
}

.news .arrangement .item {
    font-size: 0.875rem;
    display: inline-block;
    vertical-align: top;
    cursor: pointer;
    text-decoration: none;
    margin: 0rem 0.5rem 0rem 0rem
  }

.news .arrangement .item:hover {
      text-decoration: underline;
    }

.news .arrangement.title {
    cursor: default;
  }

.news .arrangement.active {
    cursor: default;
    font-weight: bold;
    pointer-events: none;
  }

@media (min-width: 40rem) {
  
  .news .arrangement {
  }
}

@media (min-width: 60rem) {
  
  .news .arrangement {
  }
}

@media (min-width: 80rem) {
  
  .news .arrangement {
  }
}

/* news arrangement end */

/* news overview */

.news .overview .headline {
  }

.news .overview .list {
    display: grid;
    grid-gap: 1rem;
    gap: 1rem;
    width: 100%;
  }

.news .overview .item {
    text-decoration: none;
  }

.news .overview .title {
    margin: 0rem 0rem 0.625rem 0rem;
    line-height: 1.3;
    max-height: 2.65em;
    overflow: hidden;
  }

.news .overview .particular {
    font-size: 0.813rem;
    margin: 0rem 0rem 0.75rem 0rem;
  }

.news .overview .date {
  }

.news .overview .picture {
    position: relative;
    padding-top: 75%;
    margin: 0rem 0rem 0.75rem 0rem;
  }

.news .overview .image {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    -o-object-fit: cover;
       object-fit: cover
  }

.news .overview .image[src*=default-photo] {
      -o-object-fit: contain;
         object-fit: contain;
    }

.news .overview .info {
  }

.news .overview .desc {
    line-height: 1.4;
    max-height: 4.2em;
    overflow: hidden;
    margin: 0rem 0rem 0.75rem 0rem;
  }

.news .overview .button {
    width: 100%;
    margin: 0rem 0rem 0rem 0rem;
  }

@media (min-width: 40rem) {
  
    .news .overview .list {
      grid-template-columns: repeat(2, 1fr);
    }
  
    .news .overview .title {
      max-height: none;
      height: 1.35em;
    }
  
    .news .overview .desc {
      max-height: none;
      height: 4.2em;
    }
}

@media (min-width: 60rem) {
  
    .news .overview .list {
      grid-template-columns: repeat(3, 1fr);
    }
  
    .news .overview .title {
      margin-bottom: 1.125rem;
    }
  
    .news .overview .picture {
      margin-bottom: 1.25rem;
    }
  
    .news .overview .desc {
      margin-bottom: 1.25rem;
    }
}

@media (min-width: 80rem) {
  
  .news .overview{
  }
}

/* news overview end */

/* news related */

.news-related {
}

@media (min-width: 40rem) {
  
  .news-related {
  }
}

@media (min-width: 60rem) {
  
  .news-related {
  }
}

@media (min-width: 80rem) {
  
  .news-related {
  }
}

/* news related end */

/* news pagination */

.news .pagination {
}

@media (min-width: 40rem) {
  
  .news .pagination{
  }
}

@media (min-width: 60rem) {
  
  .news .pagination {
  }
}

@media (min-width: 80rem) {
  
  .news .pagination {
  }
}

/* news pagination end */

/* news detail */

.news-detail .headline {
    margin-bottom: 0rem;
  }

.news-detail .particular {
    font-size: 0.875rem;
  }

.news-detail .date {
  }

.news-detail .author {
  }

.news-detail .read {
  }

.news-detail .perex {
    font-weight: bold;
  }

.news-detail .text > :last-child {
      margin-bottom: 0rem;
      padding-bottom: 0rem;
    }

@media (min-width: 40rem) {
  
  .news-detail {
  }
}

@media (min-width: 60rem) {
  
  .news-detail {
  }
}

@media (min-width: 80rem) {
  
  .news-detail {
  }
}

/* news detail end */

/* news detail complement */

.news-detail-complement {
}

@media (min-width: 40rem) {
  
  .news-detail-complement {
  }
}

@media (min-width: 60rem) {
  
  .news-detail-complement {
  }
}

@media (min-width: 80rem) {
  
  .news-detail-complement {
  }
}

/* news detail complement end */

@charset "utf-8";

/* CSS SOUBOR PRO UI DIALOG */

/* ui dialog base generally */

.ui-widget-overlay {
  background: rgba(0, 0, 0, 0.32);
  opacity: 1;
  z-index: 1000;
}

.ui-dialog {
  width: calc(100% - 2 * .75rem) !important;
  width: calc(100% - 2 * var(--page-padding)) !important;
  min-width: calc(20rem - 2 * .75rem) !important;
  min-width: calc(20rem - 2 * var(--page-padding)) !important;
  max-width: 30rem;
  left: 50% !important;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  background: #fff;
  box-shadow: 0 0 0.625rem 0rem rgba(0, 0, 0, 0.2);
  padding: 0;
  z-index: 1001;
  border-radius: 0.375rem
}

.ui-dialog.ui-dialog-basket-popup {
    max-width: 55rem;
    background: #F3F3F3;
    position: fixed;
    width: 100% !important;
    max-height: 100%;
    display: flex;
    flex-direction: column;
    border-radius: 0rem;
    overflow: hidden;
  }

.ui-dialog .inner {
    padding-left: 0rem;
    padding-right: 0rem;
  }

.ui-dialog .ui-dialog-titlebar {
    padding: 0
  }

.ui-dialog .ui-dialog-titlebar .ui-dialog-title {
      display: none;
    }

.ui-dialog .ui-dialog-titlebar-close {
    width: 1.5rem;
    height: 1.5rem;
    right: 0.688rem;
    top: 0.688rem;
    margin: 0;
    padding: 0;
    transition: 0.1s;
    z-index: 50;
    -webkit-transform-origin: center center;
            transform-origin: center center;
    background: url(/build/images/close-ui-dialog.b147387f.svg) no-repeat center center / 0.938rem auto rgba(255, 255, 255, 0)
  }

.ui-dialog-basket-popup.ui-dialog .ui-dialog-titlebar-close {
  }

.ui-dialog .ui-dialog-titlebar-close:hover {
    }

.ui-dialog .ui-dialog-titlebar-close span {
      display: none;
    }

.ui-dialog .ui-dialog-content {
    padding: 0.625rem
  }

.ui-dialog-basket-popup.ui-dialog .ui-dialog-content {
      padding: 0;
      height: 100%
  }

@media (max-width: 59.938rem) {
    
    .ui-dialog.ui-dialog-basket-popup {
      top: auto !important;
      bottom: 0;
    }
}

@media (min-width: 30rem) {
  
  .ui-dialog {
  }
}

@media (min-width: 40rem) {
  
  .ui-dialog {
  }
}

@media (min-width: 60rem) {
    
    .ui-dialog.ui-dialog-basket-popup {
      position: absolute;
      width: calc(100% - 2 * .75rem) !important;
      width: calc(100% - 2 * var(--page-padding)) !important;
      max-height: none;
      display: block;
      border-radius: 0.375rem;
    }
    
    .ui-dialog .ui-dialog-content {
      padding: 1.5rem
    }
    
    .ui-dialog-basket-popup.ui-dialog .ui-dialog-content {
        height: auto
    }
    
    .ui-dialog .ui-dialog-titlebar-close {
      background-size: 1.5rem auto;
      right: 1.563rem;
      top: 1.563rem ;
    }
}

@media (min-width: 80rem) {
  
  .ui-dialog {
  }
}

/* ui dialog base generally end */

/* ui dialog content generally */

.ui-dialog-main-title {
  margin-bottom: 1.125rem;
}

.ui-dialog-desc {
  font-weight: bold;
  margin: 0rem 0rem 1.5rem 0rem;
}

@media (min-width: 40rem) {
  
  .ui-dialog-main-title {
  }
  
  .ui-dialog-desc {
  }
}

@media (min-width: 60rem) {
  
  .ui-dialog-main-title {
  }
  
  .ui-dialog-desc {
  }
}

@media (min-width: 80rem) {
  
  .ui-dialog-main-title {
  }
  
  .ui-dialog-desc {
  }
}

/* ui dialog content generally end */

@charset "utf-8";

/* CSS SOUBOR PRO NASTAVENÍ SLICKU */

/* slick generally */

.slick {
  position: relative;
}

.slick-content {
}

.slick-list {
  height: 100%;
}

.slick-track {
  display: flex;
  align-items: center;
  visibility: hidden;
  height: 100%;
}

.slick-initialized .slick-track {
    visibility: visible;
  }

.slick-slide {
  text-decoration: none;
}

@media (min-width: 40rem) {
  
  .slick {
  }
}

@media (min-width: 60rem) {
  
  .slick {
  }
}

@media (min-width: 80rem) {
  
  .slick {
  }
}

/* slick generally end */

/* slick arrows */

.slick-arrows {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%
}

.slick-arrows .slick-arrow {
    width: 3.75em;
    height: 3.75em;
    display: block;
    transition: 0.3s;
    color: transparent;
    overflow: hidden;
    font-size: 0.688rem;
    position: absolute;
    top: -1.875em;
    z-index: 1;
    background: #d8d8d8
  }

.slick-arrows .slick-arrow:before{
      display: none;
    }

.slick-arrows .slick-arrow:after{
      border-left: 0.125rem solid #000;
      border-left: 0.125rem solid var(--base-color);
      border-bottom: 0.125rem solid #000;
      border-bottom: 0.125rem solid var(--base-color);
      width: 0.75em;
      height: 0.75em;
      content: '';
      display: block;
      position: absolute;
      top: calc(50% - 0.375em);
      left: calc(50% - 0.25em);
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
    }

.slick-arrows .slick-arrow:hover {
      background: #c4c4c4;
    }

.slick-arrows .slick-prev {
    left: 2em;
  }

.slick-arrows .slick-next {
    right: 2em;
    -webkit-transform:rotateY(180deg);
            transform:rotateY(180deg);
  }

.slick-arrows .slick-disabled {
    pointer-events: none;
    opacity: 0.5;
  }

@media (min-width: 40rem) {
  
  .slick-arrows {
  }
}

@media (min-width: 60rem) {
  
  .slick-arrows {
  }
}

@media (min-width: 80rem) {
  
  .slick-arrows {
  }
}

/* slick arrows end */

/* slick dots */

.slick-dots {
  text-align: center;
  position: absolute;
  left: 0;
  width: 100%;
  bottom: 1.875rem
}

.slick-dots ul {
    margin: 0;
    padding: 0;
    line-height: 1;
    font-size: 1rem;
    list-style: none;
  }

.slick-dots li {
    padding: 0;
    margin: 0.125em 0.125em 0 0.125em;
    display: inline-block;
    vertical-align: top;
  }

.slick-dots button {
    width: 0.938em;
    height: 0.938em;
    color: transparent;
    font-size: 1rem;
    display: block;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    box-shadow: none;
    margin: 0;
    padding: 0;
    transition: 0.3s;
    border-radius: 50%;
    background: #000;
    background: var(--base-color);
    overflow: hidden;
  }

.slick-dots .slick-active button,
  .slick-dots button:hover {
    background: #fff;
  }

@media (min-width: 40rem) {
  
  .slick-dots {
  }
}

@media (min-width: 60rem) {
  
  .slick-dots {
    bottom: 2.75rem
  }
    
    .slick-dots ul {
      font-size: 1.2rem;
    }
}

@media (min-width: 80rem) {
    
    .slick-dots ul {
      font-size: 1.625rem;
    }
}

/* slick dots end */

@charset "utf-8";

/* CSS SOUBOR PRO PŘEPÍNAČ MEZI FRONTENDEM A ADMINISTRACÍ */

/* admin switch generally */

nav.admin-menu {
  position:fixed;
  background: linear-gradient(to bottom, rgba(36,89,121,0.95) 0%,rgba(18,65,89,0.95) 100%);
  box-shadow:0 2px 1px rgba(0,0,0,0.5);
  border-bottom: 1px solid #235878;
  border-left: 1px solid #235878;
  padding:5px;
  border-bottom-left-radius:5px;
  right:0;
  z-index:1000;
}

.admin-menu-icon-medium {
  height:36px;
  line-height:36px;
  padding:0 36px 0 0;
  display:block;
  float:left;
  margin:0.1em;
  font-size:1em;
  border:none;
  cursor: pointer;
  text-decoration:none;
  color:#002938;
}

.admin-menu-icon-medium:hover                        {background-position:center right; color:#1d85c4;}

.admin-menu-icon-medium:active                       {background-position:bottom right; color:#1d85c4;}

.admin-menu-icon-medium span                         {margin:0 1em 0 1em;}

/* odsazeni pripadneho textu uvnitr tlacitka */

.admin-menu-icon-medium span.hidden                  {display:none;}

/* Pokud se ma zobrazovat pouze ikonka */

.admin-menu-icon-medium.admin-menu-icon-switch {
  background: url(/build/images/admin-switch.f5318125.png) top right no-repeat;
}

.admin-menu-icon-medium.admin-menu-icon-logout {
  background:url(/build/images/admin-logout.1b00dfe3.png) top right no-repeat;
}

/* admin switch generally end */

/* cookies confirm */

.cookies-confirm {
    width: 100%;
    max-height: calc(100% - 1rem);
    position: fixed;
    left: 0;
    bottom: 0;
    display: none;
    align-items: center;
    flex-direction: column;
    z-index: 275;
    background: white;
    box-shadow: 0 0 1.25rem rgba(0, 0, 0, 0.26667);
    overflow: auto;
}

.cookies-confirm--popup {
    height: 100%;
    max-height: none;
    top: 0;
    bottom: auto;
    justify-content: center;
    background: none;
    overflow: hidden;
}

.cookies-confirm.is-active {
    display: flex;
}

.cookies-confirm__cover {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    display: none;
    background: rgba(255, 255, 255, 0.93333);
    flex: none;
}

.cookies-confirm--popup .cookies-confirm__cover {
    display: block;
}

.cookies-confirm__content {
    width: 100%;
    max-width: 90rem;
    padding: 1rem 1.5rem 0rem 1.5rem;
    position: relative;
    flex: none;
}

.cookies-confirm--popup .cookies-confirm__content {
    width: calc(100% - 2rem);
    max-width: 40rem;
    max-height: calc(100% - 2rem);
    background: white;
    box-shadow: 0 0 1.25rem rgba(0, 0, 0, 0.26667);
    overflow: auto;
}

.cookies-confirm__close {
    width: 1.5rem;
    height: 1.5rem;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    right: 0rem;
    flex: none;
    margin: 0rem 0rem -1.5rem auto;
    display: block;
    cursor: pointer;
    z-index: 1;
}

.cookies-confirm__close:before,
.cookies-confirm__close:after {
    width: 0.875rem;
    height: 0.125rem;
    background: #000;
    display: block;
    content: '';
    position: absolute;
    left: 0.313rem;
    top: 0.688rem;
}

.cookies-confirm__close:before {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.cookies-confirm__close:after {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.cookies-confirm--popup .cookies-confirm__close {
    -webkit-transform: translate(1.5rem, -1rem);
            transform: translate(1.5rem, -1rem);
}

@media (min-width: 40rem) {

    .cookies-confirm {
    }
}

@media (min-width: 60rem) {

    .cookies-confirm {
    }
}

@media (min-width: 80rem) {

    .cookies-confirm {
    }
}

/* cookies confirm end */

/* cookies confirm info */

.cookies-confirm-info {
    font-size: 0.875rem;
}

.cookies-confirm-info__headline {
    display: block;
}

.cookies-confirm-info__desc p,
.cookies-confirm-info__desc ul,
.cookies-confirm-info__desc ol,
.cookies-confirm-info__desc th,
.cookies-confirm-info__desc td {
    font-size: 1em;
}

.cookies-confirm-info__desc > *:last-child {
    margin-bottom: 0rem;
}

@media (min-width: 40rem) {

    .cookies-confirm-info {
    }
}

@media (min-width: 60rem) {

    .cookies-confirm-info {
    }
}

@media (min-width: 80rem) {

    .cookies-confirm-info {
    }
}

/* cookies confirm info end */

/* cookies confirm settings */

.cookies-confirm-settings {
    max-width: 40rem;
    margin: 0 auto;
}

.cookies-confirm-settings__list {
}

@media (min-width: 40rem) {

    .cookies-confirm-settings {
    }
}

@media (min-width: 60rem) {

    .cookies-confirm-settings {
    }
}

@media (min-width: 80rem) {

    .cookies-confirm-settings {
    }
}

/* cookies confirm settings end */

/* cookies confirm settings item */

.cookies-confirm-settings-item {
    border-bottom: 1px solid #000;
}

.cookies-confirm-settings-item:last-child {
    border: 0;
}

.cookies-confirm-settings-item__header {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    grid-gap: 0.5rem 0.75rem;
    gap: 0.5rem 0.75rem;
    padding: 1rem 0;
    justify-content: space-between;
}

.cookies-confirm-settings-item:first-child .cookies-confirm-settings-item__header {
    padding-top: 0;
}

.cookies-confirm-settings-item__headline {
    width: 100%;
    display: flex;
    align-items: flex-start;
    grid-gap: 0.75rem;
    gap: 0.75rem;
    cursor: pointer;
    font-size: 0.875rem;
}

.cookies-confirm-settings-item__headline:before {
    width: 0.57em;
    height: 0.57em;
    border-left: 0.125rem solid #000;
    border-bottom: 0.125rem solid #000;
    content: '';
    flex: none;
    margin: 0.2em 0 0 0.125rem;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    transition: 0.25s linear;
}

.cookies-confirm-settings-item.is-active .cookies-confirm-settings-item__headline:before {
    margin-top: 0.5em;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

.cookies-confirm-settings-item__count {
    min-width: 1.75em;
    height: 1.75em;
    display: flex;
    justify-content: center;
    align-items: center;
    align-self: center;
    flex: none;
    background: #0079ba;
    background: var(--border-color);
    border-radius: 50%;
    font-size: 0.86em;
    color: #fff;
}

.cookies-confirm-settings-item__entry {
    flex: none;
}

.cookies-confirm-settings-item__desc {
    grid-column: 1/-1;
    font-size: 0.875rem;
}

.cookies-confirm-settings-item__desc p,
.cookies-confirm-settings-item__desc ul,
.cookies-confirm-settings-item__desc ol,
.cookies-confirm-settings-item__desc th,
.cookies-confirm-settings-item__desc td {
    font-size: 1em;
}

.cookies-confirm-settings-item__desc > *:last-child {
    margin-bottom: 0rem;
}

.cookies-confirm-settings-item__content {
    display: none;
    padding: 0rem 0rem 1rem 0rem;
}

@media (min-width: 40rem) {

    .cookies-confirm-settings-item {
    }
}

@media (min-width: 60rem) {

    .cookies-confirm-settings-item {
    }
}

@media (min-width: 80rem) {

    .cookies-confirm-settings-item {
    }
}

/* cookies confirm settings item end */

/* cookies confirm records */

.cookies-confirm-records__list {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 1rem;
    gap: 1rem;
}

@media (min-width: 40rem) {

    .cookies-confirm-records {
    }
}

@media (min-width: 60rem) {

    .cookies-confirm-records {
    }
}

@media (min-width: 80rem) {

    .cookies-confirm-records {
    }
}

/* cookies confirm records end */

/* cookies confirm records item */

.cookies-confirm-records-item {
    font-size: 0.75rem;
}

.cookies-confirm-records-item__headline {
    display: block;
}

.cookies-confirm-records-item__desc p,
.cookies-confirm-records-item__desc ul,
.cookies-confirm-records-item__desc ol,
.cookies-confirm-records-item__desc th,
.cookies-confirm-records-item__desc td {
    font-size: 1em;
}

.cookies-confirm-records-item__desc > *:last-child {
    margin-bottom: 0rem;
}

@media (min-width: 40rem) {

    .cookies-confirm-records-item {
    }
}

@media (min-width: 60rem) {

    .cookies-confirm-records-item {
    }
}

@media (min-width: 80rem) {

    .cookies-confirm-records-item {
    }
}

/* cookies confirm records item end */

/* cookies confirm buttons */

.cookies-confirm-buttons {
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    padding: 1rem 0;
    background: white;
    text-align: center;
    font-size: 0.75rem;
}

.cookies-confirm-buttons__content {
    width: 100%;
    display: inline-grid;
    grid-template-columns: minmax(0, 1fr);
    grid-gap: 0.625rem;
    gap: 0.625rem;
    align-items: center;
}

.cookies-confirm-buttons__link {
    text-decoration: underline;
    cursor: pointer;
    margin: 0 auto
}

.cookies-confirm-buttons__link:hover {
        text-decoration: none;
    }

.cookies-confirm-buttons__button {
    margin: 0;
    min-width: 0;
}

.cookies-confirm-buttons__button--allow {
}

@media (min-width: 40rem) {

    .cookies-confirm-buttons__content {
        width: auto;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 60rem) {

    .cookies-confirm-buttons {
    }
}

@media (min-width: 80rem) {

    .cookies-confirm-buttons {
    }
}

/* cookies confirm buttons end */

/* resolution settings */

/* 480px */

/* 640px */

/* 840px */

/* 960px */

/* 1024px */

/* 1280px */

/* 1440px */

/* 1600px */

/* velikost, od kdy u inneru zacne pusobit max-width => zhruba --page-width + (4 * --page-padding) */

/* resolution settings end */

/* base variables */

:root {
  --page-width: calc(87.5rem + (2 * .75rem));
  --page-width: calc(87.5rem + (2 * var(--page-padding))); /* nastavuje max. pevnou šířku webu */
  --page-padding: .75rem; /* nastavuje levý a pravý padding celého webu */
  --font-size: 0.875rem; /* nastavuje výchozí velikost písma základním elementům */
  --line-height: 1.5; /* nastavuje výchozí line-height textovým elementům */
  --base-color: #000; /* nastavuje základní používanou barvu */
  --theme-color: #48c3f4;; /* nastavuje tématickou používanou barvu */
  --border-color: #0079ba; /* nastavuje výchozí barvu používaným rámečkům */

  --orange: #ff9320; /* nastavuje tématickou používanou barvu */
  --darker-blue: #0079ba; /* nastavuje tématickou používanou barvu */
  --light-blue: #cbe3f1;
  --red: #e74141;
  --grey: #999;
  --light-grey: #ebebeb;
  --light-grey-2: #7A7A7A;
  --dark-grey: #343434
}

@media (min-width: 40rem) {

:root {
}
  }

@media (min-width: 60rem) {

:root {
    --page-padding: 2rem;
    --font-size: 1rem
}
  }

@media (min-width: 80rem) {

:root {
    --font-size: 1.125rem
}
  }

/* base variables end */














































/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vZnJlc2NvLmNzcyIsIndlYnBhY2s6Ly8vc3R5bGUuY3NzIiwid2VicGFjazovLy9tZW51LmNzcyIsIndlYnBhY2s6Ly8vZGFzaGJvYXJkLmNzcyIsIndlYnBhY2s6Ly8vZXNob3AuY3NzIiwid2VicGFjazovLy9vcmRlci5jc3MiLCJ3ZWJwYWNrOi8vL2FjY291bnQuY3NzIiwid2VicGFjazovLy91c2VyLmNzcyIsIndlYnBhY2s6Ly8vbW9kdWxlcy5jc3MiLCJ3ZWJwYWNrOi8vL25ld3MuY3NzIiwid2VicGFjazovLy91aS1kaWFsb2cuY3NzIiwid2VicGFjazovLy9zbGljay1jYXJvdXNlbC5jc3MiLCJ3ZWJwYWNrOi8vL2FkbWluLXN3aXRjaC5jc3MiLCJ3ZWJwYWNrOi8vL2Nvb2tpZS1jb25maXJtLmNzcyIsIndlYnBhY2s6Ly8vY29uZmlnLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxlQUFlO0FBQ2Y7OztFQUdFLHNCQUFzQjtBQUN4QjtBQUVBO0VBQ0UsZUFBZTtFQUNmLFdBQVc7RUFDWCxZQUFZO0VBQ1osTUFBTTtFQUNOLE9BQU87RUFDUCxpR0FBaUc7RUFDakcsMEVBQTBFO0VBQzFFLGtDQUEwQjtVQUExQiwwQkFBMEI7QUFDNUI7QUFFQSxZQUFZO0FBQ1osY0FBYyxlQUFlLEVBQUU7QUFDL0IsY0FBYyxlQUFlLEVBQUU7QUFDL0IsY0FBYyxlQUFlLEVBQUU7QUFHL0IsWUFBWTtBQUNaO0VBQ0UsZUFBZTtFQUNmLE1BQU07RUFDTixPQUFPO0VBQ1AsWUFBWTtFQUNaLFdBQVc7QUFDYjtBQUNBO0VBQ0UsV0FBVztFQUNYLFdBQVc7RUFDWCxZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hCLFdBQVc7RUFDWCx5QkFBeUI7QUFDM0I7QUFFQTtFQUNFLG1CQUFtQjtFQUNuQixVQUFVO0VBQ1YsMEJBQTBCO0FBQzVCO0FBR0Esd0RBQXdEO0FBQ3hEOztFQUVFLGtCQUFrQjtFQUNsQixpQkFBaUI7QUFDbkI7QUFHQTs7O0VB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O0lBQ3BEO0FBQ0o7O0FBRUE7O0lBRUk7SUFDQTtBQUNKOztBQUVBOztJQUVJO0lBQ0E7QUFDSjs7QUFFQSxnQ0FBZ0M7O0FDcGFoQyx3QkFBd0I7O0FBRXVCLFVBQVU7O0FBQ1QsVUFBVTs7QUFDUixVQUFVOztBQUNYLFVBQVU7O0FBQ1YsV0FBVzs7QUFDYixXQUFXOztBQUNWLFdBQVc7O0FBQ1gsV0FBVzs7QUFDTyxvR0FBb0c7O0FBRXRLLDRCQUE0Qjs7QUFFNUIsbUJBQW1COztBQUVuQjtFQUNFLDBDQUF1RDtFQUF2RCx1REFBdUQsRUFBRSxxQ0FBcUM7RUFDOUYsc0JBQXNCLEVBQUUsK0NBQStDO0VBQ3ZFLHFCQUFxQixFQUFFLHlEQUF5RDtFQUNoRixrQkFBa0IsRUFBRSxxREFBcUQ7RUFDekUsa0JBQWtCLEVBQUUsd0NBQXdDO0VBQzVELHNCQUFzQixHQUFHLDBDQUEwQztFQUNuRSx1QkFBdUIsRUFBRSxnREFBZ0Q7O0VBRXpFLGlCQUFpQixFQUFFLDBDQUEwQztFQUM3RCxzQkFBc0IsRUFBRSwwQ0FBMEM7RUFDbEUscUJBQXFCO0VBQ3JCLGNBQWM7RUFDZCxZQUFZO0VBQ1oscUJBQXFCO0VBQ3JCLHVCQUF1QjtFQUN2QjtBQXlCRjs7QUFYRTs7QUE5QkY7QUF5Q0E7RUFWRTs7QUFFQTs7QUFqQ0Y7SUFrQ0ksb0JBQW9CO0lBQ3BCO0FBTUo7RUFMRTs7QUFFQTs7QUF0Q0Y7SUF1Q0k7QUFFSjtFQURFOztBQUdGLHVCQUF1QiIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogYm94LXNpemluZyAqL1xuLmZyLXdpbmRvdywgLmZyLXdpbmRvdyBbY2xhc3NePVwiZnItXCJdLFxuLmZyLW92ZXJsYXksIC5mci1vdmVybGF5IFtjbGFzc149XCJmci1cIl0sXG4uZnItc3Bpbm5lciwgLmZyLXNwaW5uZXIgW2NsYXNzXj1cImZyLVwiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5mci13aW5kb3cge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZm9udDogMTNweC8yMHB4IFwiTHVjaWRhIFNhbnNcIiwgXCJMdWNpZGEgU2FucyBVbmljb2RlXCIsIFwiTHVjaWRhIEdyYW5kZVwiLCBWZXJkYW5hLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgLyogQ2hyb21lIGhhY2ssIHRoaXMgZml4ZXMgYSB2aXN1YWwgZ2xpdGNoIHdoZW4gcXVpY2tseSB0b2dnbGluZyBhIHZpZGVvICovXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwcHgpO1xufVxuXG4vKiB6LWluZGV4ICovXG4uZnItb3ZlcmxheSB7IHotaW5kZXg6ICA5OTk5ODsgfVxuLmZyLXdpbmRvdyB7ICB6LWluZGV4OiAgOTk5OTk7IH1cbi5mci1zcGlubmVyIHsgei1pbmRleDogMTAwMDAwOyB9XG5cblxuLyogb3ZlcmxheSAqL1xuLmZyLW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cbi5mci1vdmVybGF5LWJhY2tncm91bmQge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3BhY2l0eTogLjk7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT05MCk7XG59XG5cbi5mci1vdmVybGF5LXVpLWZ1bGxjbGljayAuZnItb3ZlcmxheS1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZDogIzI5MjkyOTtcbiAgb3BhY2l0eTogMTtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7XG59XG5cblxuLyogbW9iaWxlIHRvdWNoIGhhcyBwb3NpdGlvbjphYnNvbHV0ZSB0byBhbGxvdyB6b29taW5nICovXG4uZnItd2luZG93LmZyLW1vYmlsZS10b3VjaCxcbi5mci1vdmVybGF5LmZyLW1vYmlsZS10b3VjaCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cblxuLyogc29tZSBwcm9wZXJ0aWVzIG9uIHRoZSB3aW5kb3cgYXJlIHVzZWQgdG8gdG9nZ2xlIHRoaW5nc1xuICogbGlrZSBtYXJnaW4gYW5kIHRoZSBmdWxsY2xpY2sgbW9kZSxcbiAqIHdlIHJlc2V0IHRob3NlIHByb3BlcnRpZXMgYWZ0ZXIgbWVhc3VyaW5nIHRoZW1cbiAqL1xuLmZyLW1lYXN1cmVkIHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5mci1ib3gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmZyLXBhZ2VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5mci1wYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5cbi5mci1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5mci1ob3ZlcmluZy1jbGlja2FibGUgLmZyLWNvbnRhaW5lciB7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG5cbi8qXG4gICBwYWRkaW5nOlxuICAgeW91dHViZSAmIHZpbWVvIGFsd2F5cyBoYXZlIGJ1dHRvbnMgb24gdGhlIG91dHNpZGVcbiAgIHNpZGUgYnV0dG9uID0gNzIgPSA1NCArICgyICogOSBtYXJnaW4pXG4gICBjbG9zZSBidXR0b24gPSA0OFxuKi9cbi8qIHBhZGRpbmcgdWk6aW5zaWRlICovXG4uZnItdWktaW5zaWRlIC5mci1jb250YWluZXIgeyBwYWRkaW5nOiAyMHB4IDIwcHg7IH1cbi5mci11aS1pbnNpZGUuZnItbm8tc2lkZXMgLmZyLWNvbnRhaW5lciB7IHBhZGRpbmc6IDIwcHg7IH1cblxuLyogcGFkZGluZyB1aTpvdXRzaWRlICovXG4uZnItdWktb3V0c2lkZSAuZnItY29udGFpbmVyIHsgcGFkZGluZzogMjBweCA4MnB4OyB9XG4uZnItdWktb3V0c2lkZS5mci1uby1zaWRlcyAuZnItY29udGFpbmVyIHsgcGFkZGluZzogMjBweCA0OHB4OyB9XG5cbi8qIHJlZHVjZSBwYWRkaW5nIG9uIHNtYWxsZXIgc2NyZWVucyAqL1xuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogNzAwcHgpIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSxcbiAgICAgICBhbGwgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSBhbmQgKG1heC1oZWlnaHQ6IDcwMHB4KSB7XG4gIC8qIHBhZGRpbmcgdWk6aW5zaWRlICovXG4gIC5mci11aS1pbnNpZGUgLmZyLWNvbnRhaW5lciB7IHBhZGRpbmc6IDEycHggMTJweDsgfVxuICAuZnItdWktaW5zaWRlLmZyLW5vLXNpZGVzIC5mci1jb250YWluZXIgeyBwYWRkaW5nOiAxMnB4OyB9XG5cbiAgLyogcGFkZGluZyB1aTpvdXRzaWRlICovXG4gIC5mci11aS1vdXRzaWRlIC5mci1jb250YWluZXIgeyBwYWRkaW5nOiAxMnB4IDcycHg7IH1cbiAgLmZyLXVpLW91dHNpZGUuZnItbm8tc2lkZXMgLmZyLWNvbnRhaW5lciB7IHBhZGRpbmc6IDEycHggNDhweDsgfVxufVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA1MDBweCkgYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpLFxuICAgICAgIGFsbCBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIGFuZCAobWF4LWhlaWdodDogNTAwcHgpIHtcbiAgLyogcGFkZGluZyB1aTppbnNpZGUgKi9cbiAgLmZyLXVpLWluc2lkZSAuZnItY29udGFpbmVyIHsgcGFkZGluZzogMHB4IDBweDsgfVxuICAuZnItdWktaW5zaWRlLmZyLW5vLXNpZGVzIC5mci1jb250YWluZXIgeyBwYWRkaW5nOiAwcHg7IH1cblxuICAvKiBwYWRkaW5nIHVpOm91dHNpZGUgKi9cbiAgLmZyLXVpLW91dHNpZGUgLmZyLWNvbnRhaW5lciB7IHBhZGRpbmc6IDBweCA3MnB4OyB9XG4gIC5mci11aS1vdXRzaWRlLmZyLW5vLXNpZGVzIC5mci1jb250YWluZXIgeyBwYWRkaW5nOiAwcHggNDhweDsgfVxufVxuXG4vKiBwYWRkaW5nIHVpOmZ1bGxjbGljayAqL1xuLmZyLXVpLWZ1bGxjbGljayAuZnItY29udGFpbmVyIHsgcGFkZGluZzogMDsgfVxuLmZyLXVpLWZ1bGxjbGljay5mci1uby1zaWRlcyAuZnItY29udGFpbmVyIHsgcGFkZGluZzogMDsgfVxuXG4vKiB2aWRlbyBmdWxsY2xpY2sgKi9cbi5mci11aS1mdWxsY2xpY2suZnItdHlwZS12aWRlbyAuZnItY29udGFpbmVyIHsgcGFkZGluZzogMHB4IDYycHg7IH1cbi5mci11aS1mdWxsY2xpY2suZnItbm8tc2lkZXMuZnItdHlwZS12aWRlbyAuZnItY29udGFpbmVyIHsgcGFkZGluZzogNDhweCAwcHg7IH1cblxuLyogb3ZlcmZsb3cteSBzaG91bGQgYWx3YXlzIGhhdmUgMCBwYWRkaW5nIHRvcCBhbmQgYm90dG9tICovXG4uZnItb3ZlcmZsb3cteSAuZnItY29udGFpbmVyIHtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDAhaW1wb3J0YW50O1xufVxuXG5cbi5mci1jb250ZW50LFxuLmZyLWNvbnRlbnQtYmFja2dyb3VuZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgLyogSUUxMSBoYXMgYSAxcHggYmx1ciBidWcgb24gdGhlIGVkZ2VzIG9mIHRoZSBjYXB0aW9uICh1aTppbnNpZGUpXG4gICAgIGR1cmluZyBhbmltYXRpb24gd2l0aCBvdmVyZmxvdzpoaWRkZW4gKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qIGltZy9pZnJhbWUvZXJyb3IgKi9cbi5mci1jb250ZW50LWVsZW1lbnQge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmZyLWNvbnRlbnQtYmFja2dyb3VuZCB7XG4gIGJhY2tncm91bmQ6ICMxMDEwMTA7XG59XG5cbi5mci1pbmZvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogI2VmZWZlZjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBub25lO1xuICB0ZXh0LXNpemUtYWRqdXN0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiB0ZXh0O1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IHRleHQ7XG4gIC1tb3otdXNlci1zZWxlY3Q6IHRleHQ7XG4gIC1tcy11c2VyLXNlbGVjdDogdGV4dDtcbiAgdXNlci1zZWxlY3Q6IHRleHQ7XG59XG4uZnItaW5mby1iYWNrZ3JvdW5kIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGxpbmUtaGVpZ2h0OiAxJTtcbiAgZmlsdGVyOiBub25lO1xuICBvcGFjaXR5OiAxO1xufVxuLmZyLXVpLWluc2lkZSAuZnItaW5mby1iYWNrZ3JvdW5kIHtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTgwKTtcbiAgb3BhY2l0eTogLjg7XG4gIHpvb206IDE7XG59XG4vKiB1aTpvdXRzaWRlIGhhcyBhIHNsaWdodGx5IGxpZ2h0ZXIgaW5mbyBiYWNrZ3JvdW5kIHRvIGJyZWFrIHVwIGZyb20gYmxhY2sgcGFnZSBiYWNrZ3JvdW5kcyAqL1xuLmZyLXVpLW91dHNpZGUgLmZyLWluZm8tYmFja2dyb3VuZCB7IGJhY2tncm91bmQ6ICMwZDBkMGQ7IH1cblxuXG4vKiBpbmZvIGF0IHRoZSBib3R0b20gZm9yIHVpOmluc2lkZSAqL1xuLmZyLWNvbnRlbnQgLmZyLWluZm8ge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMDtcbn1cblxuLmZyLWluZm8tcGFkZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDEycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG59XG4uZnItY2FwdGlvbiB7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi5mci1wb3NpdGlvbiB7XG4gIGNvbG9yOiAjYjNiM2IzO1xuICBmbG9hdDogcmlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICBvcGFjaXR5OiAwLjk5O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBtYXJnaW4tbGVmdDogMTVweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyogcG9zaXRpb25zIG5vdCB3aXRoaW4gdGhlIGluZm8gYmFyXG4gICBmb3IgdWk6b3V0c2lkZS9pbnNpZGUgKi9cbi5mci1wb3NpdGlvbi1vdXRzaWRlLFxuLmZyLXBvc2l0aW9uLWluc2lkZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgbWFyZ2luOiAxMnB4O1xuICB3aWR0aDogYXV0bztcbiAgcGFkZGluZzogMnB4IDhweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgcmdiYSgwLDAsMCwuNCk7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTtcbiAgdGV4dC1zaXplLWFkanVzdDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogdGV4dDtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiB0ZXh0O1xuICAtbW96LXVzZXItc2VsZWN0OiB0ZXh0O1xuICAtbXMtdXNlci1zZWxlY3Q6IHRleHQ7XG4gIHVzZXItc2VsZWN0OiB0ZXh0O1xufVxuLmZyLXBvc2l0aW9uLWluc2lkZSB7XG4gIGJvcmRlcjogMDtcbn1cblxuLmZyLXBvc2l0aW9uLWJhY2tncm91bmQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzBkMGQwZDtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTgwKTtcbiAgb3BhY2l0eTogLjg7XG4gIHpvb206IDE7IC8qIG9sZElFICovXG59XG4uZnItcG9zaXRpb24tdGV4dCB7IGNvbG9yOiAjYjNiM2IzOyB9XG4uZnItcG9zaXRpb24tb3V0c2lkZSAuZnItcG9zaXRpb24tdGV4dCxcbi5mci1wb3NpdGlvbi1pbnNpZGUgLmZyLXBvc2l0aW9uLXRleHQge1xuICBmbG9hdDogbGVmdDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwwLDAsLjMpO1xuICBvcGFjaXR5OiAxO1xufVxuXG4vKiBkaXNwbGF5IGl0IGZvciB0aGUgb3V0c2lkZSB1aSwgaGlkZSB0aGUgY2FwdGlvbiBpbnNpZGUgKi9cbi5mci11aS1vdXRzaWRlIC5mci1wb3NpdGlvbi1vdXRzaWRlIHsgZGlzcGxheTogYmxvY2s7IH1cbi5mci11aS1vdXRzaWRlIC5mci1pbmZvIC5mci1wb3NpdGlvbiB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLmZyLXVpLWluc2lkZS5mci1uby1jYXB0aW9uIC5mci1wb3NpdGlvbi1pbnNpZGUgeyBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBsaW5rcyAqL1xuLmZyLWluZm8gYSxcbi5mci1pbmZvIGE6aG92ZXIge1xuICBjb2xvcjogI2NjYztcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbi5mci1pbmZvIGE6aG92ZXIgeyBjb2xvcjogI2VlZTsgfVxuXG4vKiBuby1jYXB0aW9uICovXG4uZnItdWktb3V0c2lkZS5mci1uby1jYXB0aW9uIC5mci1pbmZvIHsgZGlzcGxheTogbm9uZTsgfVxuLmZyLXVpLWluc2lkZS5mci1uby1jYXB0aW9uIC5mci1jYXB0aW9uIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbi8qIC0tLSBzdHJva2UgKi9cbi5mci1zdHJva2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMXB4O1xufVxuLmZyLXN0cm9rZS12ZXJ0aWNhbCB7IHdpZHRoOiAxcHg7IGhlaWdodDogMTAwJTsgfVxuLmZyLXN0cm9rZS1ob3Jpem9udGFsIHsgcGFkZGluZzogMCAxcHg7IH1cblxuLmZyLXN0cm9rZS1yaWdodCB7IGxlZnQ6IGF1dG87IHJpZ2h0OiAwOyB9XG4uZnItc3Ryb2tlLWJvdHRvbSB7IHRvcDogYXV0bzsgYm90dG9tOiAwOyB9XG5cbi5mci1zdHJva2UtY29sb3Ige1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwuMDgpO1xufVxuXG4vKiB0aGUgc3Ryb2tlIGlzIGJyaWdodGVyIGluc2lkZSB0aGUgaW5mbyBib3ggKi9cbi5mci1pbmZvIC5mci1zdHJva2UtY29sb3IgeyBiYWNrZ3JvdW5kOiByZ2JhKDgwLDgwLDgwLC4zKTsgfVxuXG4vKiByZW1vdmUgdGhlIHN0cm9rZSB3aGVuIG91dHNpZGUgdWkgaGFzIGEgY2FwdGlvbiAqL1xuLmZyLXVpLW91dHNpZGUuZnItaGFzLWNhcHRpb24gLmZyLWNvbnRlbnQgLmZyLXN0cm9rZS1ib3R0b20geyBkaXNwbGF5OiBub25lOyB9XG5cbi8qIHJlbW92ZSBzdHJva2UgYW5kIHNoYWRvdyB3aGVuIHVpOmZ1bGxjbGljayAqL1xuLmZyLXVpLWZ1bGxjbGljayAuZnItc3Ryb2tlIHsgZGlzcGxheTogbm9uZTsgfVxuLmZyLXVpLWZ1bGxjbGljayAuZnItY29udGVudC1iYWNrZ3JvdW5kIHsgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4vKiB0aGUgaW5mbyBib3ggbmV2ZXIgYmFzIGEgdG9wIHN0cm9rZSAqL1xuLmZyLWluZm8gLmZyLXN0cm9rZS10b3AgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuXG4vKiA8ID4gKi9cbi5mci1zaWRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDU0cHg7XG4gIGhlaWdodDogNzJweDtcbiAgbWFyZ2luOiAwIDlweDtcbiAgbWFyZ2luLXRvcDogLTM2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHpvb206IDE7XG59XG4uZnItc2lkZS1wcmV2aW91cyB7IGxlZnQ6IDA7IH1cbi5mci1zaWRlLW5leHQgeyByaWdodDogMDsgbGVmdDogYXV0bzsgfVxuXG4uZnItc2lkZS1kaXNhYmxlZCB7IGN1cnNvcjogZGVmYXVsdDsgfVxuLmZyLXNpZGUtaGlkZGVuIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5mci1zaWRlLWJ1dHRvbiB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4uZnItc2lkZS1idXR0b24tYmFja2dyb3VuZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTAxMDEwO1xufVxuLmZyLXNpZGUtYnV0dG9uLWljb24ge1xuICBmbG9hdDogbGVmdDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB6b29tOiAxO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuLyogc21hbGxlciBzaWRlIGJ1dHRvbnMgKi9cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDUwMHB4KSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCksXG4gICAgICAgYWxsIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgYW5kIChtYXgtaGVpZ2h0OiA0MTRweCkge1xuICAuZnItc2lkZSB7XG4gICAgd2lkdGg6IDU0cHg7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tdG9wOiAtMzBweDtcbiAgfVxuICAuZnItc2lkZS1idXR0b24ge1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIGhlaWdodDogNjBweDtcbiAgICBtYXJnaW46IDAgM3B4O1xuICB9XG59XG5cblxuLyogWCAqL1xuLmZyLWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogNDhweDtcbiAgaGVpZ2h0OiA0OHB4O1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uZnItY2xvc2UtYmFja2dyb3VuZCxcbi5mci1jbG9zZS1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEycHg7XG4gIGxlZnQ6IDEycHg7XG4gIGhlaWdodDogMjZweDtcbiAgd2lkdGg6IDI2cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG4uZnItY2xvc2UtYmFja2dyb3VuZCB7IGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cblxuXG5cblxuLyogVGh1bWJuYWlscyAqL1xuLmZyLXRodW1ibmFpbHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uZnItdGh1bWJuYWlscy1kaXNhYmxlZCAuZnItdGh1bWJuYWlscyB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuLmZyLXRodW1ibmFpbHMtaG9yaXpvbnRhbCAuZnItdGh1bWJuYWlscyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEyJTtcbiAgbWluLWhlaWdodDogNzRweDtcbiAgbWF4LWhlaWdodDogMTYwcHg7XG4gIGJvdHRvbTogMDtcbn1cblxuLmZyLXRodW1ibmFpbHMtdmVydGljYWwgLmZyLXRodW1ibmFpbHMge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMCU7XG4gIG1pbi13aWR0aDogNzRweDtcbiAgbWF4LXdpZHRoOiAxNjBweDtcbiAgbGVmdDogMDtcbn1cblxuLmZyLXRodW1ibmFpbHMsXG4uZnItdGh1bWJuYWlscyAqIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uZnItdGh1bWJuYWlscy13cmFwcGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDUwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuLmZyLXRodW1ibmFpbHMtdmVydGljYWwgLmZyLXRodW1ibmFpbHMtd3JhcHBlciB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAwO1xufVxuXG4uZnItdGh1bWJuYWlscy1zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICB6b29tOiAxO1xufVxuXG4uZnItdGh1bWJuYWlscy1zbGlkZXItc2xpZGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uZnItdGh1bWJuYWlscy10aHVtYnMge1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxuLmZyLXRodW1ibmFpbHMtc2xpZGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmZyLXRodW1ibmFpbC1mcmFtZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgem9vbTogMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmZyLXRodW1ibmFpbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgem9vbTogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXJnaW46IDAgMTBweDtcbn1cbi5mci1sdElFOSAuZnItdGh1bWJuYWlsICoge1xuICBvdmVyZmxvdzogaGlkZGVuOyAvKiBJRTYoNykgKi9cbiAgei1pbmRleDogMTtcbiAgem9vbTogMTtcbn1cblxuLmZyLXRodW1ibmFpbC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjMTYxNjE2O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogaW5saW5lOyAvKiBJRTYoNykgKi9cbiAgei1pbmRleDogMDsgLyogSUU4ICovXG59XG5cbi5mci10aHVtYm5haWwtb3ZlcmxheSB7IGN1cnNvcjogcG9pbnRlcjsgfVxuLmZyLXRodW1ibmFpbC1hY3RpdmUgLmZyLXRodW1ibmFpbC1vdmVybGF5IHsgY3Vyc29yOiBkZWZhdWx0OyB9XG4uZnItdGh1bWJuYWlsLW92ZXJsYXksXG4uZnItdGh1bWJuYWlsLW92ZXJsYXktYmFja2dyb3VuZCxcbi5mci10aHVtYm5haWwtb3ZlcmxheS1ib3JkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLmZyLWx0SUU5IC5mci10aHVtYm5haWwtb3ZlcmxheS1ib3JkZXIgeyBib3JkZXItd2lkdGg6IDAgIWltcG9ydGFudDsgfVxuLmZyLXRodW1ibmFpbCAuZnItdGh1bWJuYWlsLWltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9ODUpO1xuICBvcGFjaXR5OiAuODU7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cbi5mci10aHVtYm5haWw6aG92ZXIgLmZyLXRodW1ibmFpbC1pbWFnZSxcbi5mci10aHVtYm5haWwtYWN0aXZlOmhvdmVyIC5mci10aHVtYm5haWwtaW1hZ2Uge1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9OTkpO1xuICBvcGFjaXR5OiAuOTk7XG59XG4uZnItdGh1bWJuYWlsLWFjdGl2ZSAuZnItdGh1bWJuYWlsLWltYWdlLFxuLmZyLXRodW1ibmFpbC1hY3RpdmU6aG92ZXIgLmZyLXRodW1ibmFpbC1pbWFnZSB7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0zNSk7XG4gIG9wYWNpdHk6IC4zNTtcbn1cbi5mci10aHVtYm5haWwtYWN0aXZlIHsgY3Vyc29yOiBkZWZhdWx0OyAgfVxuXG4vKiBUaHVtYm5haWxzIGxvYWRpbmcgKi9cbi5mci10aHVtYm5haWwtbG9hZGluZyxcbi5mci10aHVtYm5haWwtbG9hZGluZy1iYWNrZ3JvdW5kLFxuLmZyLXRodW1ibmFpbC1sb2FkaW5nLWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5mci10aHVtYm5haWwtbG9hZGluZy1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE2MTYxNjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgb3BhY2l0eTogLjg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4vKiB0aGlzIGVsZW1lbnQgaXMgdGhlcmUgYXMgYW4gYWx0ZXJuYXRpdmUgdG8gcHV0dGluZyB0aGUgbG9hZGluZyBpbWFnZSBvbiB0aGUgYmFja2dyb3VuZCAqL1xuLmZyLXRodW1ibmFpbC1sb2FkaW5nLWljb24geyBkaXNwbGF5OiBub25lOyB9XG5cbi8qIGVycm9yIG9uIHRodW1ibmFpbCAqL1xuLmZyLXRodW1ibmFpbC1lcnJvciAuZnItdGh1bWJuYWlsLWltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMDIwMjA7XG59XG5cblxuLyogVGh1bWJuYWlsIDwgPiAqL1xuLmZyLXRodW1ibmFpbHMtc2lkZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAyOHB4O1xuICBtYXJnaW46IDAgNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uZnItdGh1bWJuYWlscy1zaWRlLXByZXZpb3VzIHsgbWFyZ2luLWxlZnQ6IDEycHg7IH1cbi5mci10aHVtYm5haWxzLXNpZGUtbmV4dCB7IG1hcmdpbi1yaWdodDogMTJweDsgfVxuXG4uZnItdGh1bWJuYWlscy12ZXJ0aWNhbCAuZnItdGh1bWJuYWlscy1zaWRlIHtcbiAgaGVpZ2h0OiAyOHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAxMHB4IDA7XG59XG4uZnItdGh1bWJuYWlscy12ZXJ0aWNhbCAuZnItdGh1bWJuYWlscy1zaWRlLXByZXZpb3VzIHsgbWFyZ2luLXRvcDogMjBweDsgfVxuLmZyLXRodW1ibmFpbHMtdmVydGljYWwgLmZyLXRodW1ibmFpbHMtc2lkZS1uZXh0IHsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4uZnItdGh1bWJuYWlscy1zaWRlLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTE0cHg7XG4gIG1hcmdpbi1sZWZ0OiAtMTRweDtcbiAgd2lkdGg6IDI4cHg7XG4gIGhlaWdodDogMjhweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZnItdGh1bWJuYWlscy1zaWRlLWJ1dHRvbi1iYWNrZ3JvdW5kIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT04MCk7XG4gIG9wYWNpdHk6IC44O1xuICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjJzIGVhc2UtaW47XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZS1pbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG4uZnItdGh1bWJuYWlscy1zaWRlLWJ1dHRvbjpob3ZlciAuZnItdGh1bWJuYWlscy1zaWRlLWJ1dHRvbi1iYWNrZ3JvdW5kIHsgYmFja2dyb3VuZC1jb2xvcjogIzNiM2IzYjsgfVxuXG4uZnItdGh1bWJuYWlscy1zaWRlLWJ1dHRvbi1kaXNhYmxlZCAqIHsgY3Vyc29yOiBkZWZhdWx0OyB9XG4uZnItdGh1bWJuYWlscy1zaWRlLWJ1dHRvbi1kaXNhYmxlZDpob3ZlciAuZnItdGh1bWJuYWlscy1zaWRlLWJ1dHRvbi1iYWNrZ3JvdW5kIHsgYmFja2dyb3VuZC1jb2xvcjogIzMzMzsgfVxuXG4uZnItdGh1bWJuYWlscy1zaWRlLWJ1dHRvbi1pY29uIHtcbiAgaGVpZ2h0OiA0MnB4O1xuICB3aWR0aDogNDJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICAvKnRvcDogLTdweDtcbiAgbGVmdDogLTdweDsqL1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi8qIHZlcnRpY2FsIHRodW1ibmFpbHMgKi9cbi5mci10aHVtYm5haWxzLXZlcnRpY2FsIC5mci10aHVtYm5haWxzLXNpZGUsXG4uZnItdGh1bWJuYWlscy12ZXJ0aWNhbCAuZnItdGh1bWJuYWlscy10aHVtYnMsXG4uZnItdGh1bWJuYWlscy12ZXJ0aWNhbCAuZnItdGh1bWJuYWlsLWZyYW1lIHsgY2xlYXI6IGJvdGg7IH1cblxuLyogdWk6ZnVsbGNsaWNrIGhhcyBhIGRhcmsgdGh1bWJuYWlsIGJhY2tncm91bmQgKi9cbi5mci13aW5kb3ctdWktZnVsbGNsaWNrIC5mci10aHVtYm5haWxzIHsgYmFja2dyb3VuZDogIzA5MDkwOTsgfVxuXG4vKiBwdXQgYSBzdHJva2Ugb24gdGhlIGNvbm5lY3RpbmcgY2FwdGlvbiovXG4uZnItd2luZG93LXVpLWZ1bGxjbGljay5mci10aHVtYm5haWxzLWVuYWJsZWQuZnItdGh1bWJuYWlscy1ob3Jpem9udGFsIC5mci1pbmZvIC5mci1zdHJva2UtYm90dG9tIHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSAvKih7IGJveC1zaGFkb3c6IGluc2V0IDAgLTFweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjEpOyB9ICovXG4uZnItd2luZG93LXVpLWZ1bGxjbGljay5mci10aHVtYm5haWxzLWVuYWJsZWQuZnItdGh1bWJuYWlscy12ZXJ0aWNhbCAuZnItaW5mbyAuZnItc3Ryb2tlLWxlZnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi8qIHRodW1ibmFpbCBzcGFjaW5nICAqL1xuLmZyLXRodW1ibmFpbHMtaG9yaXpvbnRhbCAuZnItdGh1bWJuYWlscy10aHVtYnMgeyBwYWRkaW5nOiAxMnB4IDVweDsgfVxuLmZyLXRodW1ibmFpbHMtdmVydGljYWwgLmZyLXRodW1ibmFpbHMtdGh1bWJzIHsgcGFkZGluZzogNXB4IDEycHg7IH1cbi5mci10aHVtYm5haWxzLW1lYXN1cmVkIC5mci10aHVtYm5haWxzLXRodW1icyB7IHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuLyogaG9yaXpvbnRhbCAqL1xuQG1lZGlhIGFsbCBhbmQgKG1pbi1oZWlnaHQ6IDcwMHB4KSB7XG4gIC5mci10aHVtYm5haWxzLWhvcml6b250YWwgLmZyLXRodW1ibmFpbHMtdGh1bWJzIHsgcGFkZGluZzogMTZweCA4cHg7IH1cbiAgLmZyLXRodW1ibmFpbHMtaG9yaXpvbnRhbCAuZnItdGh1bWJuYWlscy1zaWRlIHsgbWFyZ2luOiAwIDhweDsgfVxuICAuZnItdGh1bWJuYWlscy1ob3Jpem9udGFsIC5mci10aHVtYm5haWxzLXNpZGUtcHJldmlvdXMgeyBtYXJnaW4tbGVmdDogMTZweDsgfVxuICAuZnItdGh1bWJuYWlscy1ob3Jpem9udGFsIC5mci10aHVtYm5haWxzLXNpZGUtbmV4dCB7IG1hcmdpbi1yaWdodDogMTZweDsgfVxufVxuQG1lZGlhIGFsbCBhbmQgKG1pbi1oZWlnaHQ6IDk4MHB4KSB7XG4gIC5mci10aHVtYm5haWxzLWhvcml6b250YWwgLmZyLXRodW1ibmFpbHMtdGh1bWJzIHsgcGFkZGluZzogMjBweCAxMHB4OyB9XG4gIC5mci10aHVtYm5haWxzLWhvcml6b250YWwgLmZyLXRodW1ibmFpbHMtc2lkZSB7IG1hcmdpbjogMCAxMHB4OyB9XG4gIC5mci10aHVtYm5haWxzLWhvcml6b250YWwgLmZyLXRodW1ibmFpbHMtc2lkZS1wcmV2aW91cyB7IG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG4gIC5mci10aHVtYm5haWxzLWhvcml6b250YWwgLmZyLXRodW1ibmFpbHMtc2lkZS1uZXh0IHsgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG59XG5cbi8qIHZlcnRpY2FsICovXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmZyLXRodW1ibmFpbHMtdmVydGljYWwgLmZyLXRodW1ibmFpbHMtdGh1bWJzIHsgcGFkZGluZzogOHB4IDE2cHg7IH1cbiAgLmZyLXRodW1ibmFpbHMtdmVydGljYWwgLmZyLXRodW1ibmFpbHMtc2lkZSB7IG1hcmdpbjogMCA4cHg7IH1cbiAgLmZyLXRodW1ibmFpbHMtdmVydGljYWwgLmZyLXRodW1ibmFpbHMtc2lkZS1wcmV2aW91cyB7IG1hcmdpbi10b3A6IDE2cHg7IH1cbiAgLmZyLXRodW1ibmFpbHMtdmVydGljYWwgLmZyLXRodW1ibmFpbHMtc2lkZS1uZXh0IHsgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxufVxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogMTgwMHB4KSB7XG4gIC5mci10aHVtYm5haWxzLXZlcnRpY2FsIC5mci10aHVtYm5haWxzLXRodW1icyB7IHBhZGRpbmc6IDEwcHggMjBweDsgfVxuICAuZnItdGh1bWJuYWlscy12ZXJ0aWNhbCAuZnItdGh1bWJuYWlscy1zaWRlIHsgbWFyZ2luOiAxMHB4IDA7IH1cbiAgLmZyLXRodW1ibmFpbHMtdmVydGljYWwgLmZyLXRodW1ibmFpbHMtc2lkZS1wcmV2aW91cyB7IG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgLmZyLXRodW1ibmFpbHMtdmVydGljYWwgLmZyLXRodW1ibmFpbHMtc2lkZS1uZXh0IHsgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxufVxuXG4vKiBoaWRlIHRodW1ibmFpbHMgb24gc21hbGxlciBzY3JlZW5zXG4gICB0aGUganMgYWx3YXlzIGhpZGVzIHRoZW0gb24gdG91Y2ggYmFzZWQgZGV2aWNlc1xuKi9cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDUwMHB4KSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCksXG4gICAgICAgYWxsIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgYW5kIChtYXgtaGVpZ2h0OiA1MDBweCkge1xuICAuZnItdGh1bWJuYWlscy1ob3Jpem9udGFsIC5mci10aHVtYm5haWxzIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG59XG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA3MDBweCkgYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpLFxuICAgICAgIGFsbCBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIGFuZCAobWF4LWhlaWdodDogNDE0cHgpIHtcbiAgLmZyLXRodW1ibmFpbHMtdmVydGljYWwgLmZyLXRodW1ibmFpbHMgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbn1cblxuXG4vKiBmb3JjZSBmdWxsQ2xpY2s6IHRydWVcbiAgIGFuZCBmb3JjZSBvdmVyZmxvdzogZmFsc2UgKi9cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDUwMHB4KSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCksXG4gICAgICAgYWxsIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgYW5kIChtYXgtaGVpZ2h0OiA0MTRweCkge1xuICAuZnItcGFnZSB7IG1pbi13aWR0aDogMTAwJTsgfSAvKiBmdWxsY2xpY2sgKi9cbiAgLmZyLXBhZ2UgeyBtaW4taGVpZ2h0OiAxMDAlOyB9IC8qIG92ZXJmbG93OiBmYWxzZSAqL1xufVxuXG5cbi8qIHN3aXRjaCBiZXR3ZWVuIHVpIG1vZGVzXG4gICB3ZSBmb3JjZSBldmVyeXRoaW5nIG5vdCBpbiB0aGUgY3VycmVudCBVSSBtb2RlIHRvIGhpZGVcbiovXG4uZnItd2luZG93LXVpLWZ1bGxjbGljayAuZnItc2lkZS1uZXh0LW91dHNpZGUsXG4uZnItd2luZG93LXVpLWZ1bGxjbGljayAuZnItc2lkZS1wcmV2aW91cy1vdXRzaWRlLFxuLmZyLXdpbmRvdy11aS1mdWxsY2xpY2sgLmZyLWNsb3NlLW91dHNpZGUsXG4uZnItd2luZG93LXVpLWZ1bGxjbGljayAuZnItY29udGVudCAuZnItc2lkZS1uZXh0LFxuLmZyLXdpbmRvdy11aS1mdWxsY2xpY2sgLmZyLWNvbnRlbnQgLmZyLXNpZGUtcHJldmlvdXMsXG4uZnItd2luZG93LXVpLWZ1bGxjbGljayAuZnItY29udGVudCAuZnItY2xvc2UsXG4uZnItd2luZG93LXVpLWZ1bGxjbGljayAuZnItY29udGVudCAuZnItaW5mbyxcblxuLmZyLXdpbmRvdy11aS1vdXRzaWRlIC5mci1zaWRlLW5leHQtZnVsbGNsaWNrLFxuLmZyLXdpbmRvdy11aS1vdXRzaWRlIC5mci1zaWRlLXByZXZpb3VzLWZ1bGxjbGljayxcbi5mci13aW5kb3ctdWktb3V0c2lkZSAuZnItY2xvc2UtZnVsbGNsaWNrLFxuLmZyLXdpbmRvdy11aS1vdXRzaWRlIC5mci1jb250ZW50IC5mci1zaWRlLW5leHQsXG4uZnItd2luZG93LXVpLW91dHNpZGUgLmZyLWNvbnRlbnQgLmZyLXNpZGUtcHJldmlvdXMsXG4uZnItd2luZG93LXVpLW91dHNpZGUgLmZyLWNvbnRlbnQgLmZyLWNsb3NlLFxuLmZyLXdpbmRvdy11aS1vdXRzaWRlIC5mci1jb250ZW50IC5mci1pbmZvLFxuXG4uZnItd2luZG93LXVpLWluc2lkZSAuZnItcGFnZSA+IC5mci1pbmZvLFxuLmZyLXdpbmRvdy11aS1pbnNpZGUgLmZyLXNpZGUtbmV4dC1mdWxsY2xpY2ssXG4uZnItd2luZG93LXVpLWluc2lkZSAuZnItc2lkZS1wcmV2aW91cy1mdWxsY2xpY2ssXG4uZnItd2luZG93LXVpLWluc2lkZSAuZnItY2xvc2UtZnVsbGNsaWNrLFxuLmZyLXdpbmRvdy11aS1pbnNpZGUgLmZyLXNpZGUtbmV4dC1vdXRzaWRlLFxuLmZyLXdpbmRvdy11aS1pbnNpZGUgLmZyLXNpZGUtcHJldmlvdXMtb3V0c2lkZSxcbi5mci13aW5kb3ctdWktaW5zaWRlIC5mci1jbG9zZS1vdXRzaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5cbi8qIHNvbWUgdWkgZWxlbWVudHMgY2FuIGJlIHRvZ2dsZWQgb24gbW91c2Vtb3ZlLlxuICAgZmlsdGVyOmFscGhhKG9wYWNpdHkpIGlzIGJ1Z2dlZCBzbyB3ZSB1c2UgZGlzcGxheSBpbiBvbGRJRVxuKi9cbi5mci10b2dnbGUtdWkge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgLjNzO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcztcbn1cbi5mci12aXNpYmxlLWZ1bGxjbGljay11aSAuZnItYm94ID4gLmZyLXRvZ2dsZS11aSxcbi5mci12aXNpYmxlLWluc2lkZS11aSAuZnItdWktaW5zaWRlIC5mci10b2dnbGUtdWkgeyBvcGFjaXR5OiAxOyB9XG5cbi5mci1oaWRkZW4tZnVsbGNsaWNrLXVpIC5mci1ib3ggPiAuZnItdG9nZ2xlLXVpLFxuLmZyLWhpZGRlbi1pbnNpZGUtdWkgLmZyLXVpLWluc2lkZSAuZnItdG9nZ2xlLXVpIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IC4zcztcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3M7XG59XG4uZnItbHRJRTkuZnItaGlkZGVuLWZ1bGxjbGljay11aSAuZnItYm94ID4gLmZyLXRvZ2dsZS11aSxcbi5mci1sdElFOS5mci1oaWRkZW4taW5zaWRlLXVpIC5mci11aS1pbnNpZGUgLmZyLXRvZ2dsZS11aSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLyogU3Bpbm5lciAqL1xuLmZyLXNwaW5uZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiA1MnB4O1xuICBoZWlnaHQ6IDUycHg7XG4gIGJhY2tncm91bmQ6ICMxMDEwMTA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTYsMTYsMTYsLjg1KTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuLmZyLXNwaW5uZXIgZGl2IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogNjQlO1xuICB3aWR0aDogNjQlO1xuICBtYXJnaW4tbGVmdDogMTglO1xuICBtYXJnaW4tdG9wOiAxOCU7XG4gIG9wYWNpdHk6IDE7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBmcmVzY28tMTIgMS4ycyBpbmZpbml0ZSBlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uOiAgICAgICAgIGZyZXNjby0xMiAxLjJzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xufVxuXG4uZnItc3Bpbm5lciBkaXY6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDJweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwwLDAsMCk7IC8qIGZpeGVzIHJlbmRlcmluZyBpbiBGaXJlZm94ICovXG59XG5cbi5mci1zcGlubmVyIGRpdi5mci1zcGluLTEgeyAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMzBkZWcpOyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDMwZGVnKTsgdHJhbnNmb3JtOiByb3RhdGUoMzBkZWcpOyAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTEuMXM7IGFuaW1hdGlvbi1kZWxheTogLTEuMXM7IH1cbi5mci1zcGlubmVyIGRpdi5mci1zcGluLTIgeyAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpOyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDYwZGVnKTsgdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpOyAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTEuMHM7IGFuaW1hdGlvbi1kZWxheTogLTEuMHM7IH1cbi5mci1zcGlubmVyIGRpdi5mci1zcGluLTMgeyAtbXMtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTAuOXM7IGFuaW1hdGlvbi1kZWxheTogLTAuOXM7IH1cbi5mci1zcGlubmVyIGRpdi5mci1zcGluLTQgeyAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTIwZGVnKTsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMjBkZWcpOyB0cmFuc2Zvcm06IHJvdGF0ZSgxMjBkZWcpOyAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTAuOHM7IGFuaW1hdGlvbi1kZWxheTogLTAuOHM7IH1cbi5mci1zcGlubmVyIGRpdi5mci1zcGluLTUgeyAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTUwZGVnKTsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxNTBkZWcpOyB0cmFuc2Zvcm06IHJvdGF0ZSgxNTBkZWcpOyAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTAuN3M7IGFuaW1hdGlvbi1kZWxheTogLTAuN3M7IH1cbi5mci1zcGlubmVyIGRpdi5mci1zcGluLTYgeyAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTAuNnM7IGFuaW1hdGlvbi1kZWxheTogLTAuNnM7IH1cbi5mci1zcGlubmVyIGRpdi5mci1zcGluLTYgeyAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTAuNnM7IGFuaW1hdGlvbi1kZWxheTogLTAuNnM7IH1cbi5mci1zcGlubmVyIGRpdi5mci1zcGluLTcgeyAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMjEwZGVnKTsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyMTBkZWcpOyB0cmFuc2Zvcm06IHJvdGF0ZSgyMTBkZWcpOyAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTAuNXM7IGFuaW1hdGlvbi1kZWxheTogLTAuNXM7IH1cbi5mci1zcGlubmVyIGRpdi5mci1zcGluLTggeyAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMjQwZGVnKTsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyNDBkZWcpOyB0cmFuc2Zvcm06IHJvdGF0ZSgyNDBkZWcpOyAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTAuNHM7IGFuaW1hdGlvbi1kZWxheTogLTAuNHM7IH1cbi5mci1zcGlubmVyIGRpdi5mci1zcGluLTkgeyAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTAuM3M7IGFuaW1hdGlvbi1kZWxheTogLTAuM3M7IH1cbi5mci1zcGlubmVyIGRpdi5mci1zcGluLTEwIHsgLW1zLXRyYW5zZm9ybTogcm90YXRlKDMwMGRlZyk7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzAwZGVnKTsgdHJhbnNmb3JtOiByb3RhdGUoMzAwZGVnKTsgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC0wLjJzOyBhbmltYXRpb24tZGVsYXk6IC0wLjJzOyB9XG4uZnItc3Bpbm5lciBkaXYuZnItc3Bpbi0xMSB7IC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzMzBkZWcpOyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDMzMGRlZyk7IHRyYW5zZm9ybTogcm90YXRlKDMzMGRlZyk7IC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAtMC4xczsgYW5pbWF0aW9uLWRlbGF5OiAtMC4xczsgfVxuLmZyLXNwaW5uZXIgZGl2LmZyLXNwaW4tMTIgeyAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMHM7IGFuaW1hdGlvbi1kZWxheTogMHM7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZyZXNjby0xMiB7XG4gIDAlICAgeyBvcGFjaXR5OiAxOyB9XG4gIDEwMCUgeyBvcGFjaXR5OiAwOyB9XG59XG5Aa2V5ZnJhbWVzIGZyZXNjby0xMiB7XG4gIDAlICAgeyBvcGFjaXR5OiAxOyB9XG4gIDEwMCUgeyBvcGFjaXR5OiAwOyB9XG59XG5cbi8qIFRodW1ibmFpbCBzcGlubmVyICovXG4uZnItdGh1bWJuYWlsLXNwaW5uZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi10b3A6IC0yMHB4O1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG59XG4uZnItdGh1bWJuYWlsLXNwaW5uZXItc3BpbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogOHB4IDAgMCA4cHg7XG4gIHRleHQtaW5kZW50OiAtOTk5OWVtO1xuICBib3JkZXItdG9wOiAycHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGJvcmRlci1sZWZ0OiAycHggc29saWQgI2ZmZjtcbiAgLXdlYmtpdC1hbmltYXRpb246IGZyLXRodW1ibmFpbC1zcGluIDEuMXMgaW5maW5pdGUgbGluZWFyO1xuICBhbmltYXRpb246IGZyLXRodW1ibmFpbC1zcGluIDEuMXMgaW5maW5pdGUgbGluZWFyO1xuXG59XG4uZnItdGh1bWJuYWlsLXNwaW5uZXItc3Bpbixcbi5mci10aHVtYm5haWwtc3Bpbm5lci1zcGluOmFmdGVyIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZyLXRodW1ibmFpbC1zcGluIHtcbiAgMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG59XG5Aa2V5ZnJhbWVzIGZyLXRodW1ibmFpbC1zcGluIHtcbiAgMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG59XG5cblxuLyogRXJyb3IgKi9cbi5mci1lcnJvciB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYTM0MzQ7XG4gIHdpZHRoOiAxNjBweDtcbiAgaGVpZ2h0OiAxNjBweDtcbn1cblxuLmZyLWVycm9yLWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiA0MnB4O1xuICBoZWlnaHQ6IDQycHg7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMjFweDtcbiAgbWFyZ2luLXRvcDogLTIxcHg7XG59XG5cblxuLyogc2tpbjogJ2ZyZXNjbycgKi9cblxuLyogU3ByaXRlICovXG4uZnItd2luZG93LXNraW4tZnJlc2NvIC5mci1zaWRlLWJ1dHRvbi1pY29uLFxuLmZyLXdpbmRvdy1za2luLWZyZXNjbyAuZnItY2xvc2UtaWNvbixcbi5mci13aW5kb3ctc2tpbi1mcmVzY28gLmZyLXRodW1ibmFpbHMtc2lkZS1idXR0b24taWNvbixcbi5mci13aW5kb3ctc2tpbi1mcmVzY28gLmZyLWVycm9yLWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ3NraW5zL2ZyZXNjby9zcHJpdGUuc3ZnJyk7XG59XG4vKiBmYWxsYmFjayBwbmcgc3ByaXRlICovXG4uZnItd2luZG93LXNraW4tZnJlc2NvLmZyLW5vLXN2ZyAuZnItc2lkZS1idXR0b24taWNvbixcbi5mci13aW5kb3ctc2tpbi1mcmVzY28uZnItbm8tc3ZnIC5mci1jbG9zZS1pY29uLFxuLmZyLXdpbmRvdy1za2luLWZyZXNjby5mci1uby1zdmcgLmZyLXRodW1ibmFpbHMtc2lkZS1idXR0b24taWNvbixcbi5mci13aW5kb3ctc2tpbi1mcmVzY28gLmZyLWVycm9yLWljb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ3NraW5zL2ZyZXNjby9zcHJpdGUucG5nJyk7XG59XG5cbi5mci13aW5kb3ctc2tpbi1mcmVzY28gLmZyLWVycm9yLWljb24geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTYwcHggLTEyNnB4OyB9XG5cbi5mci13aW5kb3ctc2tpbi1mcmVzY28gLmZyLWNvbnRlbnQtYmFja2dyb3VuZCB7XG4gIGJhY2tncm91bmQ6ICMxMDEwMTA7XG4gIGJveC1zaGFkb3c6IDAgMCA1cHggcmdiYSgwLDAsMCwuNCk7XG59XG4uZnItd2luZG93LXNraW4tZnJlc2NvLmZyLXdpbmRvdy11aS1mdWxsY2xpY2sgLmZyLWNvbnRlbnQtYmFja2dyb3VuZCB7IGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLyogdGh1bWJuYWlsIHNoYWRvdyAqL1xuLmZyLXdpbmRvdy1za2luLWZyZXNjbyAuZnItdGh1bWJuYWlsLXdyYXBwZXIgeyBib3gtc2hhZG93OiAwIDAgM3B4IHJnYmEoMCwgMCwgMCwgLjMpOyB9XG4uZnItd2luZG93LXNraW4tZnJlc2NvIC5mci10aHVtYm5haWwtYWN0aXZlIC5mci10aHVtYm5haWwtd3JhcHBlciB7IGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAuMSk7IH1cblxuXG4vKiA8ID4gKi9cbi5mci13aW5kb3ctc2tpbi1mcmVzY28gLmZyLXNpZGUtYnV0dG9uLWJhY2tncm91bmQgeyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuLmZyLXdpbmRvdy1za2luLWZyZXNjbyAuZnItc2lkZS1wcmV2aW91cyAuZnItc2lkZS1idXR0b24taWNvbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xM3B4IC0xNHB4OyB9XG4uZnItd2luZG93LXNraW4tZnJlc2NvIC5mci1zaWRlLW5leHQgLmZyLXNpZGUtYnV0dG9uLWljb24geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTNweCAtMTRweDsgfVxuXG4uZnItd2luZG93LXNraW4tZnJlc2NvIC5mci1zaWRlLXByZXZpb3VzOmhvdmVyIC5mci1zaWRlLWJ1dHRvbi1pY29uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEzcHggLTExNHB4OyB9XG4uZnItd2luZG93LXNraW4tZnJlc2NvIC5mci1zaWRlLW5leHQ6aG92ZXIgLmZyLXNpZGUtYnV0dG9uLWljb24geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTNweCAtMTE0cHg7IH1cblxuLyogdHJhbnNpdGlvbiAocG5nKSAqL1xuLmZyLXdpbmRvdy1za2luLWZyZXNjby5mci1uby1zdmcgLmZyLWhvdmVyaW5nLXByZXZpb3VzIC5mci1zaWRlLXByZXZpb3VzIC5mci1zaWRlLWJ1dHRvbi1pY29uLFxuLmZyLXdpbmRvdy1za2luLWZyZXNjby5mci1uby1zdmcuZnItbW9iaWxlLXRvdWNoIC5mci1zaWRlLXByZXZpb3VzIC5mci1zaWRlLWJ1dHRvbi1pY29uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEzcHggLTExNHB4OyB9XG4uZnItd2luZG93LXNraW4tZnJlc2NvLmZyLW5vLXN2ZyAuZnItaG92ZXJpbmctbmV4dCAuZnItc2lkZS1uZXh0IC5mci1zaWRlLWJ1dHRvbi1pY29uLFxuLmZyLXdpbmRvdy1za2luLWZyZXNjby5mci1uby1zdmcuZnItbW9iaWxlLXRvdWNoIC5mci1zaWRlLW5leHQgLmZyLXNpZGUtYnV0dG9uLWljb24geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTNweCAtMTE0cHg7IH1cblxuLyogZGlzYWJsZWQgc3RhdGUgKHBuZykgKi9cbi5mci13aW5kb3ctc2tpbi1mcmVzY28uZnItbm8tc3ZnIC5mci1zaWRlLXByZXZpb3VzLmZyLXNpZGUtZGlzYWJsZWQgLmZyLXNpZGUtYnV0dG9uLWljb24sXG4uZnItd2luZG93LXNraW4tZnJlc2NvLmZyLW5vLXN2ZyAuZnItaG92ZXJpbmctcHJldmlvdXMgLmZyLXNpZGUtcHJldmlvdXMuZnItc2lkZS1kaXNhYmxlZCAuZnItc2lkZS1idXR0b24taWNvbixcbi5mci13aW5kb3ctc2tpbi1mcmVzY28uZnItbm8tc3ZnIC5mci1zaWRlLXByZXZpb3VzLmZyLXNpZGUtZGlzYWJsZWQ6aG92ZXIgLmZyLXNpZGUtYnV0dG9uLWljb24geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTNweCAtMjE0cHg7IH1cbi5mci13aW5kb3ctc2tpbi1mcmVzY28uZnItbm8tc3ZnIC5mci1zaWRlLW5leHQuZnItc2lkZS1kaXNhYmxlZCAuZnItc2lkZS1idXR0b24taWNvbixcbi5mci13aW5kb3ctc2tpbi1mcmVzY28uZnItbm8tc3ZnIC5mci1ob3ZlcmluZy1uZXh0IC5mci1zaWRlLW5leHQuZnItc2lkZS1kaXNhYmxlZCAuZnItc2lkZS1idXR0b24taWNvbixcbi5mci13aW5kb3ctc2tpbi1mcmVzY28uZnItbm8tc3ZnIC5mci1zaWRlLW5leHQuZnItc2lkZS1kaXNhYmxlZDpob3ZlciAuZnItc2lkZS1idXR0b24taWNvbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC05M3B4IC0yMTRweDsgfVxuXG4vKiB0cmFuc2l0aW9uIChzdmcpICovXG4uZnItd2luZG93LXNraW4tZnJlc2NvLmZyLXN2ZyAuZnItc2lkZS1wcmV2aW91cyAuZnItc2lkZS1idXR0b24taWNvbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xM3B4IC0xMTRweDsgfVxuLmZyLXdpbmRvdy1za2luLWZyZXNjby5mci1zdmcgLmZyLXNpZGUtbmV4dCAuZnItc2lkZS1idXR0b24taWNvbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC05M3B4IC0xMTRweDsgfVxuLmZyLXdpbmRvdy1za2luLWZyZXNjby5mci1zdmcgLmZyLXNpZGUtYnV0dG9uLWljb24geyBvcGFjaXR5OiAuNTsgfVxuXG4uZnItd2luZG93LXNraW4tZnJlc2NvLmZyLXN2ZyAuZnItc2lkZTpob3ZlciAuZnItc2lkZS1idXR0b24taWNvbixcbi5mci13aW5kb3ctc2tpbi1mcmVzY28uZnItc3ZnIC5mci1ob3ZlcmluZy1wcmV2aW91cyAuZnItc2lkZS1wcmV2aW91cyAuZnItc2lkZS1idXR0b24taWNvbixcbi5mci13aW5kb3ctc2tpbi1mcmVzY28uZnItc3ZnIC5mci1ob3ZlcmluZy1uZXh0IC5mci1zaWRlLW5leHQgLmZyLXNpZGUtYnV0dG9uLWljb24geyBvcGFjaXR5OiAxOyB9XG5cbi5mci13aW5kb3ctc2tpbi1mcmVzY28uZnItc3ZnLmZyLW1vYmlsZS10b3VjaCAuZnItc2lkZSAuZnItc2lkZS1idXR0b24taWNvbiB7IG9wYWNpdHk6IC44OyB9ICAvKiB0b3VjaCBhbHdheXMgYWN0aXZlIGJ1dCBhdCBsb3dlciBvcGFjaXR5ICovXG5cbi8qIGRpc2FibGVkIChzdmcpICovXG4uZnItd2luZG93LXNraW4tZnJlc2NvLmZyLXN2ZyAuZnItc2lkZS1kaXNhYmxlZCAuZnItc2lkZS1idXR0b24taWNvbixcbi5mci13aW5kb3ctc2tpbi1mcmVzY28uZnItc3ZnIC5mci1ob3ZlcmluZy1wcmV2aW91cyAuZnItc2lkZS1kaXNhYmxlZCAuZnItc2lkZS1idXR0b24taWNvbixcbi5mci13aW5kb3ctc2tpbi1mcmVzY28uZnItc3ZnIC5mci1ob3ZlcmluZy1uZXh0IC5mci1zaWRlLWRpc2FibGVkIC5mci1zaWRlLWJ1dHRvbi1pY29uLFxuLmZyLXdpbmRvdy1za2luLWZyZXNjby5mci1zdmcgLmZyLXNpZGUtZGlzYWJsZWQ6aG92ZXIgLmZyLXNpZGUtYnV0dG9uLWljb24sXG4uZnItd2luZG93LXNraW4tZnJlc2NvLmZyLXN2Zy5mci1tb2JpbGUtdG91Y2ggLmZyLXNpZGUtZGlzYWJsZWQgLmZyLXNpZGUtYnV0dG9uLWljb24geyBvcGFjaXR5OiAuMjsgfSAvKiBUT0RPOiBtYWtlIHN1cmUgdGhpcyB3b3JrcyAqL1xuXG4vKiBoaWRlIGZvciB1aTppbnNpZGUvZnVsbGNsaWNrLCBvbmx5IGZvciB0aGUgaW1hZ2UgdHlwZSAqL1xuLmZyLXdpbmRvdy1za2luLWZyZXNjby5mci13aW5kb3ctdWktaW5zaWRlIC5mci10eXBlLWltYWdlIC5mci1zaWRlLWRpc2FibGVkIC5mci1zaWRlLWJ1dHRvbi1pY29uLFxuLmZyLXdpbmRvdy1za2luLWZyZXNjby5mci13aW5kb3ctdWktZnVsbGNsaWNrLmZyLXNob3dpbmctdHlwZS1pbWFnZSAuZnItc2lkZS1kaXNhYmxlZCAuZnItc2lkZS1idXR0b24taWNvbiB7IGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cblxuLyogPCA+IHJlc3BvbnNpdmUgKi9cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDUwMHB4KSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCksXG4gICAgICAgYWxsIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgYW5kIChtYXgtaGVpZ2h0OiA0MTRweCkge1xuICAuZnItd2luZG93LXNraW4tZnJlc2NvIC5mci1zaWRlLXByZXZpb3VzIC5mci1zaWRlLWJ1dHRvbi1pY29uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0zMDBweDsgfVxuICAuZnItd2luZG93LXNraW4tZnJlc2NvIC5mci1zaWRlLW5leHQgLmZyLXNpZGUtYnV0dG9uLWljb24geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMzAwcHg7IH1cblxuICAuZnItd2luZG93LXNraW4tZnJlc2NvIC5mci1zaWRlLXByZXZpb3VzOmhvdmVyIC5mci1zaWRlLWJ1dHRvbi1pY29uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0zNjBweDsgfVxuICAuZnItd2luZG93LXNraW4tZnJlc2NvIC5mci1zaWRlLW5leHQ6aG92ZXIgLmZyLXNpZGUtYnV0dG9uLWljb24geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMzYwcHg7IH1cblxuICAvKiB0cmFuc2l0aW9uIChwbmcpICovXG4gIC5mci13aW5kb3ctc2tpbi1mcmVzY28uZnItbm8tc3ZnIC5mci1ob3ZlcmluZy1wcmV2aW91cyAuZnItc2lkZS1wcmV2aW91cyAuZnItc2lkZS1idXR0b24taWNvbixcbiAgLmZyLXdpbmRvdy1za2luLWZyZXNjby5mci1uby1zdmcuZnItbW9iaWxlLXRvdWNoIC5mci1zaWRlLXByZXZpb3VzIC5mci1zaWRlLWJ1dHRvbi1pY29uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0zNjBweDsgfVxuICAuZnItd2luZG93LXNraW4tZnJlc2NvLmZyLW5vLXN2ZyAuZnItaG92ZXJpbmctbmV4dCAuZnItc2lkZS1uZXh0IC5mci1zaWRlLWJ1dHRvbi1pY29uLFxuICAuZnItd2luZG93LXNraW4tZnJlc2NvLmZyLW5vLXN2Zy5mci1tb2JpbGUtdG91Y2ggLmZyLXNpZGUtbmV4dCAuZnItc2lkZS1idXR0b24taWNvbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC00OHB4IC0zNjBweDsgfVxuXG4gIC8qIHRyYW5zaXRpb24gKHN2ZykgKi9cbiAgLmZyLXdpbmRvdy1za2luLWZyZXNjby5mci1zdmcgLmZyLXNpZGUtcHJldmlvdXMgLmZyLXNpZGUtYnV0dG9uLWljb24geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggLTM2MHB4OyB9XG4gIC5mci13aW5kb3ctc2tpbi1mcmVzY28uZnItc3ZnIC5mci1zaWRlLW5leHQgLmZyLXNpZGUtYnV0dG9uLWljb24geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAtMzYwcHg7IH1cblxuICAvKiBkaXNhYmxlZCBzdGF0ZSAocG5nKSAqL1xuICAuZnItd2luZG93LXNraW4tZnJlc2NvLmZyLW5vLXN2ZyAuZnItc2lkZS1wcmV2aW91cy5mci1zaWRlLWRpc2FibGVkIC5mci1zaWRlLWJ1dHRvbi1pY29uLFxuICAuZnItd2luZG93LXNraW4tZnJlc2NvLmZyLW5vLXN2ZyAuZnItaG92ZXJpbmctcHJldmlvdXMgLmZyLXNpZGUtcHJldmlvdXMuZnItc2lkZS1kaXNhYmxlZCAuZnItc2lkZS1idXR0b24taWNvbixcbiAgLmZyLXdpbmRvdy1za2luLWZyZXNjby5mci1uby1zdmcgLmZyLXNpZGUtcHJldmlvdXMuZnItc2lkZS1kaXNhYmxlZDpob3ZlciAuZnItc2lkZS1idXR0b24taWNvbiB7IGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtNDIwcHg7IH1cblxuICAuZnItd2luZG93LXNraW4tZnJlc2NvLmZyLW5vLXN2ZyAuZnItc2lkZS1uZXh0LmZyLXNpZGUtZGlzYWJsZWQgLmZyLXNpZGUtYnV0dG9uLWljb24sXG4gIC5mci13aW5kb3ctc2tpbi1mcmVzY28uZnItbm8tc3ZnIC5mci1ob3ZlcmluZy1uZXh0IC5mci1zaWRlLW5leHQuZnItc2lkZS1kaXNhYmxlZCAuZnItc2lkZS1idXR0b24taWNvbixcbiAgLmZyLXdpbmRvdy1za2luLWZyZXNjby5mci1uby1zdmcgLmZyLXNpZGUtbmV4dC5mci1zaWRlLWRpc2FibGVkOmhvdmVyIC5mci1zaWRlLWJ1dHRvbi1pY29uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggLTQyMHB4OyB9XG59XG5cbi8qIFggKi9cbi8qIGNvbG9ycyAqL1xuLmZyLXdpbmRvdy1za2luLWZyZXNjby5mci13aW5kb3ctdWktb3V0c2lkZSAuZnItY2xvc2UtYmFja2dyb3VuZCB7IGJhY2tncm91bmQtY29sb3I6ICMzNjM2MzY7IH1cbi5mci13aW5kb3ctc2tpbi1mcmVzY28uZnItd2luZG93LXVpLW91dHNpZGUgLmZyLWNsb3NlOmhvdmVyIC5mci1jbG9zZS1iYWNrZ3JvdW5kIHsgYmFja2dyb3VuZC1jb2xvcjogIzQzNDM0MzsgfVxuXG4uZnItd2luZG93LXNraW4tZnJlc2NvLmZyLXdpbmRvdy11aS1pbnNpZGUgLmZyLWNsb3NlLWJhY2tncm91bmQsXG4uZnItd2luZG93LXNraW4tZnJlc2NvLmZyLXdpbmRvdy11aS1mdWxsY2xpY2sgLmZyLWNsb3NlLWJhY2tncm91bmQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMxMzEzOyBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9ODApOyBvcGFjaXR5OiAuODsgfVxuLmZyLXdpbmRvdy1za2luLWZyZXNjby5mci13aW5kb3ctdWktaW5zaWRlIC5mci1jbG9zZTpob3ZlciAuZnItY2xvc2UtYmFja2dyb3VuZCxcbi5mci13aW5kb3ctc2tpbi1mcmVzY28uZnItd2luZG93LXVpLWZ1bGxjbGljayAuZnItY2xvc2U6aG92ZXIgLmZyLWNsb3NlLWJhY2tncm91bmQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMTkxOTE5OyB9XG5cbi8qIC0gaW1hZ2UgKi9cbi5mci13aW5kb3ctc2tpbi1mcmVzY28gLmZyLWNsb3NlIC5mci1jbG9zZS1pY29uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2OHB4IC04cHg7fVxuLmZyLXdpbmRvdy1za2luLWZyZXNjbyAuZnItY2xvc2U6aG92ZXIgLmZyLWNsb3NlLWljb24geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjEwcHggLThweDsgfVxuXG4vKiAtIHRyYW5zaXRpb24gKi9cbi5mci13aW5kb3ctc2tpbi1mcmVzY28uZnItc3ZnIC5mci1jbG9zZSAuZnItY2xvc2UtaWNvbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yMTBweCAtOHB4O1xuICBvcGFjaXR5OiAuODtcbn1cbi5mci13aW5kb3ctc2tpbi1mcmVzY28gLmZyLWNsb3NlOmhvdmVyIC5mci1jbG9zZS1pY29uIHsgb3BhY2l0eTogMTsgfVxuLyogaU9TIDguNC4xIGJ1Zzogd2hlbiBvcGFjaXR5IGNoYW5nZXMgaXQnbGwgcmVxdWlyZSAyIHRhcHNcbiAgIGZvcmNlIGEgc2luZ2xlIG9wYWNpdHkgdG8gZml4IHRoaXNcbiovXG4uZnItd2luZG93LXNraW4tZnJlc2NvLmZyLXN2Zy5mci1tb2JpbGUtdG91Y2ggLmZyLWNsb3NlIC5mci1jbG9zZS1pY29uLFxuLmZyLXdpbmRvdy1za2luLWZyZXNjby5mci1tb2JpbGUtdG91Y2ggLmZyLWNsb3NlOmhvdmVyIC5mci1jbG9zZS1pY29uIHsgb3BhY2l0eTogMTsgfVxuXG4vKiBUaHVtYm5haWxzICovXG4uZnItd2luZG93LXNraW4tZnJlc2NvIC5mci10aHVtYm5haWwtd3JhcHBlciB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMDtcbn1cbi5mci13aW5kb3ctc2tpbi1mcmVzY28gLmZyLXRodW1ibmFpbC13cmFwcGVyIHsgYm94LXNoYWRvdzogMCAwIDNweCByZ2JhKDAsIDAsIDAsIC4zKTsgfVxuLmZyLXdpbmRvdy1za2luLWZyZXNjbyAuZnItdGh1bWJuYWlsLWFjdGl2ZSAuZnItdGh1bWJuYWlsLXdyYXBwZXIgeyBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgLjEpOyB9XG4uZnItd2luZG93LXNraW4tZnJlc2NvIC5mci10aHVtYm5haWwtd3JhcHBlciB7XG4gIGJveC1zaGFkb3c6IDAgLTFweCA0cHggcmdiYSgwLCAwLCAwLCAuMyk7XG59XG4uZnItd2luZG93LXNraW4tZnJlc2NvIC5mci10aHVtYm5haWwtb3ZlcmxheS1ib3JkZXIge1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4wOCk7IC8qIHNob3VsZCByZW1haW4gcmdiYSAqL1xufVxuLyogbm8gaW5uZXIgYm9yZGVyIG9uIGFjdGl2ZSB0aHVtYm5haWwgKi9cbi5mci13aW5kb3ctc2tpbi1mcmVzY28gLmZyLXRodW1ibmFpbC1hY3RpdmUgLmZyLXRodW1ibmFpbC1vdmVybGF5LWJvcmRlcixcbi5mci13aW5kb3ctc2tpbi1mcmVzY28gLmZyLXRodW1ibmFpbC1hY3RpdmU6aG92ZXIgLmZyLXRodW1ibmFpbC1vdmVybGF5LWJvcmRlciB7IGJvcmRlcjogMHB4OyB9XG5cbi8qIFRodW1ibmFpbHMgPCA+ICovXG4uZnItd2luZG93LXNraW4tZnJlc2NvIC5mci10aHVtYm5haWxzLXNpZGUtcHJldmlvdXMgLmZyLXRodW1ibmFpbHMtc2lkZS1idXR0b24taWNvbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjdweCAtNDlweDt9XG4uZnItd2luZG93LXNraW4tZnJlc2NvIC5mci10aHVtYm5haWxzLXNpZGUtcHJldmlvdXM6aG92ZXIgLmZyLXRodW1ibmFpbHMtc2lkZS1idXR0b24taWNvbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMDlweCAtNDlweDsgfVxuLmZyLXdpbmRvdy1za2luLWZyZXNjbyAuZnItdGh1bWJuYWlscy1zaWRlLW5leHQgLmZyLXRodW1ibmFpbHMtc2lkZS1idXR0b24taWNvbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjdweCAtOTFweDt9XG4uZnItd2luZG93LXNraW4tZnJlc2NvIC5mci10aHVtYm5haWxzLXNpZGUtbmV4dDpob3ZlciAuZnItdGh1bWJuYWlscy1zaWRlLWJ1dHRvbi1pY29uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOXB4IC05MXB4OyB9XG4vKiB2ZXJ0aWNhbCBeICh1cC9kb3duKSBhZGp1c3RtZW50cyAqL1xuLmZyLXdpbmRvdy1za2luLWZyZXNjby5mci10aHVtYm5haWxzLXZlcnRpY2FsIC5mci10aHVtYm5haWxzLXNpZGUtcHJldmlvdXMgLmZyLXRodW1ibmFpbHMtc2lkZS1idXR0b24taWNvbiB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yOTNweCAtNDlweDt9XG4uZnItd2luZG93LXNraW4tZnJlc2NvLmZyLXRodW1ibmFpbHMtdmVydGljYWwgLmZyLXRodW1ibmFpbHMtc2lkZS1wcmV2aW91czpob3ZlciAuZnItdGh1bWJuYWlscy1zaWRlLWJ1dHRvbi1pY29uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMzNXB4IC00OXB4OyB9XG4uZnItd2luZG93LXNraW4tZnJlc2NvLmZyLXRodW1ibmFpbHMtdmVydGljYWwgLmZyLXRodW1ibmFpbHMtc2lkZS1uZXh0IC5mci10aHVtYm5haWxzLXNpZGUtYnV0dG9uLWljb24geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjkzcHggLTkxcHg7fVxuLmZyLXdpbmRvdy1za2luLWZyZXNjby5mci10aHVtYm5haWxzLXZlcnRpY2FsIC5mci10aHVtYm5haWxzLXNpZGUtbmV4dDpob3ZlciAuZnItdGh1bWJuYWlscy1zaWRlLWJ1dHRvbi1pY29uIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMzNXB4IC05MXB4OyB9XG5cbi8qIFRodW1ibmFpbHMgPCA+IHRyYW5zaXRpb24gKi9cbi5mci13aW5kb3ctc2tpbi1mcmVzY28uZnItc3ZnIC5mci10aHVtYm5haWxzLXNpZGUgLmZyLXRodW1ibmFpbHMtc2lkZS1idXR0b24taWNvbiB7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZS1pbjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLWluO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBlYXNlLWluO1xuICBvcGFjaXR5OiAuODtcbn1cbi5mci13aW5kb3ctc2tpbi1mcmVzY28uZnItc3ZnIC5mci10aHVtYm5haWxzLXNpZGUtcHJldmlvdXMgLmZyLXRodW1ibmFpbHMtc2lkZS1idXR0b24taWNvbixcbi5mci13aW5kb3ctc2tpbi1mcmVzY28uZnItc3ZnIC5mci10aHVtYm5haWxzLXNpZGUtcHJldmlvdXMgLmZyLXRodW1ibmFpbHMtc2lkZS1idXR0b24tZGlzYWJsZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTY3cHggLTQ5cHg7IH1cbi5mci13aW5kb3ctc2tpbi1mcmVzY28uZnItc3ZnIC5mci10aHVtYm5haWxzLXNpZGUtbmV4dCAuZnItdGh1bWJuYWlscy1zaWRlLWJ1dHRvbi1pY29uLFxuLmZyLXdpbmRvdy1za2luLWZyZXNjby5mci1zdmcgLmZyLXRodW1ibmFpbHMtc2lkZS1uZXh0IC5mci10aHVtYm5haWxzLXNpZGUtYnV0dG9uLWRpc2FibGVkIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwOXB4IC05MXB4OyB9XG4uZnItd2luZG93LXNraW4tZnJlc2NvLmZyLXN2ZyAuZnItdGh1bWJuYWlscy1zaWRlOmhvdmVyIC5mci10aHVtYm5haWxzLXNpZGUtYnV0dG9uLWljb24geyBvcGFjaXR5OiAxOyB9XG4vKiB2ZXJ0aWNhbCBeICh1cC9kb3duKSBhZGp1c3RtZW50cyAqL1xuLmZyLXdpbmRvdy1za2luLWZyZXNjby5mci1zdmcuZnItdGh1bWJuYWlscy12ZXJ0aWNhbCAuZnItdGh1bWJuYWlscy1zaWRlLXByZXZpb3VzIC5mci10aHVtYm5haWxzLXNpZGUtYnV0dG9uLWljb24sXG4uZnItd2luZG93LXNraW4tZnJlc2NvLmZyLXN2Zy5mci10aHVtYm5haWxzLXZlcnRpY2FsIC5mci10aHVtYm5haWxzLXNpZGUtcHJldmlvdXMgLmZyLXRodW1ibmFpbHMtc2lkZS1idXR0b24tZGlzYWJsZWQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjkzcHggLTQ5cHg7IH1cbi5mci13aW5kb3ctc2tpbi1mcmVzY28uZnItc3ZnLmZyLXRodW1ibmFpbHMtdmVydGljYWwgLmZyLXRodW1ibmFpbHMtc2lkZS1uZXh0IC5mci10aHVtYm5haWxzLXNpZGUtYnV0dG9uLWljb24sXG4uZnItd2luZG93LXNraW4tZnJlc2NvLmZyLXN2Zy5mci10aHVtYm5haWxzLXZlcnRpY2FsIC5mci10aHVtYm5haWxzLXNpZGUtbmV4dCAuZnItdGh1bWJuYWlscy1zaWRlLWJ1dHRvbi1kaXNhYmxlZCB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMzVweCAtOTFweDsgfVxuXG4vKiBsb3dlciBvcGFjaXR5IG9uIGRpc2FibGVkIHN0YXRlcyAqL1xuLmZyLXdpbmRvdy1za2luLWZyZXNjby5mci1zdmcgLmZyLXRodW1ibmFpbHMtc2lkZSAuZnItdGh1bWJuYWlscy1zaWRlLWJ1dHRvbi1kaXNhYmxlZCxcbi5mci13aW5kb3ctc2tpbi1mcmVzY28uZnItc3ZnIC5mci10aHVtYm5haWxzLXNpZGU6aG92ZXIgLmZyLXRodW1ibmFpbHMtc2lkZS1idXR0b24tZGlzYWJsZWQgeyBvcGFjaXR5OiAuNTsgfVxuXG4vKiBsb3dlciBvcGFjaXR5IElFIDwgOSB1c2luZyBpbWFnZXMgKi9cbi5mci13aW5kb3ctc2tpbi1mcmVzY28uZnItbm8tc3ZnIC5mci10aHVtYm5haWxzLXNpZGUtcHJldmlvdXMgLmZyLXRodW1ibmFpbHMtc2lkZS1idXR0b24tZGlzYWJsZWQgLmZyLXRodW1ibmFpbHMtc2lkZS1idXR0b24taWNvbixcbi5mci13aW5kb3ctc2tpbi1mcmVzY28uZnItbm8tc3ZnIC5mci10aHVtYm5haWxzLXNpZGUtcHJldmlvdXM6aG92ZXIgLmZyLXRodW1ibmFpbHMtc2lkZS1idXR0b24tZGlzYWJsZWQgLmZyLXRodW1ibmFpbHMtc2lkZS1idXR0b24taWNvbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0yNTFweCAtNDlweDtcbn1cbi5mci13aW5kb3ctc2tpbi1mcmVzY28uZnItbm8tc3ZnIC5mci10aHVtYm5haWxzLXNpZGUtbmV4dCAuZnItdGh1bWJuYWlscy1zaWRlLWJ1dHRvbi1kaXNhYmxlZCAuZnItdGh1bWJuYWlscy1zaWRlLWJ1dHRvbi1pY29uLFxuLmZyLXdpbmRvdy1za2luLWZyZXNjby5mci1uby1zdmcgLmZyLXRodW1ibmFpbHMtc2lkZS1uZXh0OmhvdmVyIC5mci10aHVtYm5haWxzLXNpZGUtYnV0dG9uLWRpc2FibGVkIC5mci10aHVtYm5haWxzLXNpZGUtYnV0dG9uLWljb24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjUxcHggLTkxcHg7XG59XG4uZnItd2luZG93LXNraW4tZnJlc2NvLmZyLW5vLXN2ZyAuZnItdGh1bWJuYWlscy1zaWRlIC5mci10aHVtYm5haWxzLXNpZGUtYnV0dG9uLWRpc2FibGVkIC5mci10aHVtYm5haWxzLXNpZGUtYnV0dG9uLWJhY2tncm91bmQsXG4uZnItd2luZG93LXNraW4tZnJlc2NvLmZyLW5vLXN2ZyAuZnItdGh1bWJuYWlscy1zaWRlOmhvdmVyIC5mci10aHVtYm5haWxzLXNpZGUtYnV0dG9uLWRpc2FibGVkIC5mci10aHVtYm5haWxzLXNpZGUtYnV0dG9uLWJhY2tncm91bmQge1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NTApO1xufVxuLyogdmVydGljYWwgXiAodXAvZG93bikgYWRqdXN0bWVudHMgKi9cbi5mci13aW5kb3ctc2tpbi1mcmVzY28uZnItbm8tc3ZnLmZyLXRodW1ibmFpbHMtdmVydGljYWwgLmZyLXRodW1ibmFpbHMtc2lkZS1wcmV2aW91cyAuZnItdGh1bWJuYWlscy1zaWRlLWJ1dHRvbi1kaXNhYmxlZCAuZnItdGh1bWJuYWlscy1zaWRlLWJ1dHRvbi1pY29uLFxuLmZyLXdpbmRvdy1za2luLWZyZXNjby5mci1uby1zdmcuZnItdGh1bWJuYWlscy12ZXJ0aWNhbCAuZnItdGh1bWJuYWlscy1zaWRlLXByZXZpb3VzOmhvdmVyIC5mci10aHVtYm5haWxzLXNpZGUtYnV0dG9uLWRpc2FibGVkIC5mci10aHVtYm5haWxzLXNpZGUtYnV0dG9uLWljb24ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzc3cHggLTQ5cHg7XG59XG4uZnItd2luZG93LXNraW4tZnJlc2NvLmZyLW5vLXN2Zy5mci10aHVtYm5haWxzLXZlcnRpY2FsIC5mci10aHVtYm5haWxzLXNpZGUtbmV4dCAuZnItdGh1bWJuYWlscy1zaWRlLWJ1dHRvbi1kaXNhYmxlZCAuZnItdGh1bWJuYWlscy1zaWRlLWJ1dHRvbi1pY29uLFxuLmZyLXdpbmRvdy1za2luLWZyZXNjby5mci1uby1zdmcuZnItdGh1bWJuYWlscy12ZXJ0aWNhbCAuZnItdGh1bWJuYWlscy1zaWRlLW5leHQ6aG92ZXIgLmZyLXRodW1ibmFpbHMtc2lkZS1idXR0b24tZGlzYWJsZWQgLmZyLXRodW1ibmFpbHMtc2lkZS1idXR0b24taWNvbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zNzdweCAtOTFweDtcbn1cbiIsIkBjaGFyc2V0IFwidXRmLThcIjtcblxuLyogQ1NTIFNPVUJPUiBQUk8gWsOBS0xBRE7DjSDEjMOBU1RJIFBST0pFS1RVICovXG5cbi8qIGdlbmVyYWwgKi9cblxuKiwgKjphZnRlciwgKjpiZWZvcmUge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBvdXRsaW5lOiBub25lO1xufVxuXG5odG1sIHtcbn1cblxuYm9keSB7XG4gIG1pbi13aWR0aDogMjIuNXJlbTtcbiAgcGFkZGluZzogMHJlbTtcbiAgbWFyZ2luOiAwcmVtO1xuICBmb250LXNpemU6IDEwMCU7XG4gIGZvbnQtZmFtaWx5OiBNb250c2VycmF0LCBhcmlhbCwgaGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogdmFyKC0tYmFzZS1jb2xvcik7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbmEge1xuICBjb2xvcjogdmFyKC0tYmFzZS1jb2xvcik7XG4gIFxuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbiAgXG4gICYgaW1nIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cbn1cblxuYiwgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbjotLWhlYWRpbmdzIHtcbiAgbWFyZ2luOiAwcmVtIDByZW0gMS4yNXJlbSAwcmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbn1cblxuaDEge2ZvbnQtc2l6ZTogMnJlbTt9XG5oMiB7Zm9udC1zaXplOiAxLjc1cmVtO31cbmgzIHtmb250LXNpemU6IDEuNXJlbTt9XG5oNCB7Zm9udC1zaXplOiAxLjI1cmVtO31cbmg1IHtmb250LXNpemU6IDFyZW07fVxuaDYge2ZvbnQtc2l6ZTogMC44NzVyZW07fVxuXG5wIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUpO1xuICBtYXJnaW46IDByZW0gMHJlbSAxLjVyZW0gMHJlbTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0KTtcbn1cblxudGFibGUge1xuICBtYXJnaW46IDByZW0gMHJlbSAxLjVyZW0gMHJlbTtcbiAgYm9yZGVyLXNwYWNpbmc6IDByZW07XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlcjogMHJlbTtcbn1cblxudGgge1xuICBwYWRkaW5nOiAxcmVtIDAuNzVyZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0KTtcbiAgYm9yZGVyOiAwcmVtIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbn1cblxudGQge1xuICBwYWRkaW5nOiAxcmVtIDAuNzVyZW07XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0KTtcbiAgYm9yZGVyOiAwcmVtIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbn1cblxudHI6bGFzdC1vZi10eXBlID4gKiB7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbn1cblxudWwsIG9sIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUpO1xuICBtYXJnaW46IDByZW0gMHJlbSAxLjVyZW0gMHJlbTtcbiAgcGFkZGluZzogMHJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQpO1xufVxuXG5saSB1bCwgbGkgb2wge1xuICBmb250LXNpemU6IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMS43NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbn1cblxubGkge1xuICBtYXJnaW46IDByZW07XG4gIHBhZGRpbmc6IDAuMjVyZW0gMHJlbTtcbn1cblxuaWZyYW1lIHtcbiAgYm9yZGVyOiAwcmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMHJlbTtcbiAgcGFkZGluZzogMHJlbTtcbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIGgxIHt9XG4gIGgyIHt9XG4gIGgzIHt9XG4gIGg0IHt9XG4gIGg1IHt9XG4gIGg2IHt9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIGgxIHtmb250LXNpemU6IDIuMjVyZW07fVxuICBoMiB7Zm9udC1zaXplOiAycmVtO31cbiAgaDMge2ZvbnQtc2l6ZTogMS43NXJlbTt9XG4gIGg0IHtmb250LXNpemU6IDEuNXJlbTt9XG4gIGg1IHtmb250LXNpemU6IDEuMjVyZW07fVxuICBoNiB7Zm9udC1zaXplOiAxcmVtO31cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIGgxIHtmb250LXNpemU6IDIuNXJlbTt9XG4gIGgyIHtmb250LXNpemU6IDIuMjVyZW07fVxuICBoMyB7Zm9udC1zaXplOiAycmVtO31cbiAgaDQge2ZvbnQtc2l6ZTogMS43NXJlbTt9XG4gIGg1IHtmb250LXNpemU6IDEuNXJlbTt9XG4gIGg2IHtmb250LXNpemU6IDEuMjVyZW07fVxufVxuXG4vKiBnZW5lcmFsIGVuZCAqL1xuXG4vKiBkaXNhYmxlZCBlbGVtZW50cyAqL1xuXG4uZGlzYWJsZWQsXG46ZGlzYWJsZWQsXG4uZGlzYWJsZWQgfiAuZGVzYyxcbjpkaXNhYmxlZCB+IC5kZXNjIHtcbiAgb3BhY2l0eTogMC40O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmRpc2FibGVkIDpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi8qIGRpc2FibGVkIGVsZW1lbnRzIGVuZCAqL1xuXG4vKiBmb3JtcyBnZW5lcmFsbHkgKi9cblxuZm9ybSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDByZW07XG4gIHBhZGRpbmc6IDByZW07XG59XG5cbmxhYmVsIHtcbiAgbWFyZ2luOiAwcmVtIDByZW0gMHJlbSAwcmVtO1xuICBwYWRkaW5nOiAwcmVtIDByZW0gMHJlbSAwcmVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG46LS1mb3JtLWVsZW1lbnRzLCAuYnV0dG9uLmRyb3Bkb3duIHtcbiAgZmxleDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMDtcbiAgaGVpZ2h0OiAzLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplKTtcbiAgYm9yZGVyLXJhZGl1czogMHJlbTtcbiAgbWFyZ2luOiAwcmVtIDByZW0gMHJlbSAwcmVtO1xuICBwYWRkaW5nOiAwcmVtIDAuNzVyZW07XG4gIGJvcmRlcjogMC4xMjVyZW0gc29saWQgIzM0MzQzNDtcbiAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc3R5bGUvaWNvbnMvbG9hZGVyLnN2ZykgbGVmdCAtMTAwcmVtIC8gNi4yNXJlbSBhdXRvIG5vLXJlcGVhdCAjZmZmO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBhbmltYXRpb246IDVzIGluZmluaXRlIGxpbmVhciBwYXVzZWQ7XG4gIFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OjAgMCAwLjI1cmVtICMwMDAzO1xuICB9XG4gIFxuICAmLnZhbGlkIHtcbiAgICBib3JkZXItY29sb3I6ICNBOERFQTY7XG4gIH1cbiAgXG4gICYuaW52YWxpZHtcbiAgICBib3JkZXItY29sb3I6ICNiNzE2MTY7XG4gIH1cbiAgXG4gICY6Oi1tcy1jbGVhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5pbnB1dDo6cGxhY2Vob2xkZXIsXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgb3BhY2l0eTogMC41O1xufVxuXG5idXR0b24sXG5pbnB1dFt0eXBlPXN1Ym1pdF17XG4gIGJvcmRlcjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgOi0tZm9ybS1lbGVtZW50cyB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgOi0tZm9ybS1lbGVtZW50cyB7XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIDotLWZvcm0tZWxlbWVudHMge1xuICB9XG59XG5cbi8qIGZvcm1zIGdlbmVyYWxseSBlbmQgKi9cblxuLyogZm9ybXMgc2VsZWN0LCB0ZXh0YXJlYSAqL1xuXG5zZWxlY3Qge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07XG4gIGJhY2tncm91bmQtaW1hZ2U6XG4gICAgdXJsKC4uL2ltYWdlcy9zdHlsZS9pY29ucy9zZWxlY3Rib3guc3ZnKSxcbiAgICB1cmwoLi4vaW1hZ2VzL3N0eWxlL2ljb25zL2xvYWRlci5zdmcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAxLjA2M3JlbSkgY2VudGVyLCBsZWZ0IC0xMDByZW07XG4gIGJhY2tncm91bmQtc2l6ZTogMC44NzVyZW0gYXV0bywgNi4yNXJlbSBhdXRvO1xuICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAjMzQzNDM0O1xuICBmb250LXdlaWdodDogNzAwO1xuICBcbiAgJiAuZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgY29sb3I6ICNiYmI7XG4gIH1cbiAgXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmLmJsdWUtdGhlbWUge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZGFya2VyLWJsdWUpO1xuICAgIGNvbG9yOiB2YXIoLS1kYXJrZXItYmx1ZSk7XG4gIH1cbn1cblxudGV4dGFyZWF7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDhyZW07XG4gIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICBzZWxlY3Qge1xuICB9XG4gIFxuICB0ZXh0YXJlYSB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgc2VsZWN0IHtcbiAgfVxuICBcbiAgdGV4dGFyZWEge1xuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICBzZWxlY3Qge1xuICB9XG4gIFxuICB0ZXh0YXJlYSB7XG4gIH1cbn1cblxuLyogZm9ybXMgc2VsZWN0LCB0ZXh0YXJlYSBlbmQgKi9cblxuLyogZm9ybXMgY2hlY2tib3gsIHJhZGlvICovXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGZsZXg6IG5vbmU7XG4gIHdpZHRoOiAxLjZyZW07XG4gIGhlaWdodDogMS42cmVtO1xuICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICMwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIG1hcmdpbjogMHJlbSAwcmVtIDByZW0gMHJlbTtcbiAgcGFkZGluZzogMHJlbTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiBjZW50ZXIgLTEwcmVtIC8gMC44NzVyZW0gYXV0byBuby1yZXBlYXQgI2ZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3N0eWxlL2ljb25zL2NoZWNrYm94LnN2Zyk7XG59XG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc3R5bGUvaWNvbnMvcmFkaW8uc3ZnKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2Vke1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kYXJrZXItYmx1ZSk7XG59XG5cbi8qIGZvcm1zIGNoZWNrYm94LCByYWRpbyBlbmQgKi9cblxuLyogZm9ybXMgdmFsaWRhdGUgKi9cblxuQGtleWZyYW1lcyBsb2FkZXIge1xuICAwJSB7YmFja2dyb3VuZC1wb3NpdGlvbjogMHJlbSB0b3A7fVxuICA1MCUge2JhY2tncm91bmQtcG9zaXRpb246IDEwcmVtIHRvcDt9XG4gIDEwMCUge2JhY2tncm91bmQtcG9zaXRpb246IDIwcmVtIHRvcDt9XG59XG5cbkBrZXlmcmFtZXMgbG9hZGVyLXNlbGVjdCB7XG4gIDAlIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAxLjA2M3JlbSkgY2VudGVyLCAwcmVtIHRvcDt9XG4gIDUwJSB7YmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMS4wNjNyZW0pIGNlbnRlciwgMTByZW0gdG9wO31cbiAgMTAwJSB7YmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMS4wNjNyZW0pIGNlbnRlciwgMjByZW0gdG9wO31cbn1cblxuOi0tZm9ybS1lbGVtZW50cy52YWxpZGF0ZSB7XG4gIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBydW5uaW5nO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuOi0tZm9ybS1lbGVtZW50czpub3Qoc2VsZWN0KS52YWxpZGF0ZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBsb2FkZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XG59XG5cbnNlbGVjdC52YWxpZGF0ZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBsb2FkZXItc2VsZWN0O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0LCByZXBlYXQ7XG59XG5cbi8qIGZvcm1zIHZhbGlkYXRlIGVuZCAqL1xuXG4vKiBmb3JtcyBpdGVtIGdlbmVyYWxseSAqL1xuXG4uZm9ybS1pdGVtLFxuLmZvcm0taXRlbS1yYWRpbyxcbi5mb3JtLWl0ZW0tY2hlY2tib3gge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDByZW0gMHJlbSAxcmVtIDByZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBcbiAgJiAuc3RhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBcbiAgJiAudmFycyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgXG4gICAgJiA+ICoge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQpO1xuICAgICAgXG4gICAgICAmOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgXG4gICYgLmRlc2Mge1xuICB9XG4gIFxuICAmIC5hZGRpdGlvbmFsIHtcbiAgICBjb2xvcjogIzc3NztcbiAgfVxuICBcbiAgJiAuZXJyb3JzIHtcbiAgfVxuICBcbiAgJiAuZXJyb3Ige1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAjYjcxNjE2O1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgXG4gICAgJjpsYXN0LWNoaWxke1xuICAgICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAuZm9ybS1pdGVtLFxuICAuZm9ybS1pdGVtLXJhZGlvLFxuICAuZm9ybS1pdGVtLWNoZWNrYm94IHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAuZm9ybS1pdGVtLFxuICAuZm9ybS1pdGVtLXJhZGlvLFxuICAuZm9ybS1pdGVtLWNoZWNrYm94IHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLmZvcm0taXRlbSxcbiAgLmZvcm0taXRlbS1yYWRpbyxcbiAgLmZvcm0taXRlbS1jaGVja2JveCB7XG4gIH1cbn1cblxuLyogZm9ybXMgaXRlbSBnZW5lcmFsbHkgZW5kICovXG5cbi8qIGZvcm1zIGl0ZW0gaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEgKi9cblxuLmZvcm0taXRlbSB7XG4gIFxuICAmIC5zdGFibGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICBcbiAgJiAudmFycyB7XG4gICAgcGFkZGluZzogMHJlbSAwLjg3NXJlbTtcbiAgICBcbiAgICAmID4gKiB7XG4gICAgICBwYWRkaW5nOiAwLjI1cmVtIDByZW0gMHJlbSAwcmVtO1xuICAgIH1cbiAgICAmOmVtcHR5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIFxuICAmIC5kZXNjIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxLjA2M3JlbTtcbiAgICBsZWZ0OiAwLjQzOHJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmc6IDAgMC4zNzVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMC4xODhyZW07XG4gICAgdHJhbnNpdGlvbjogMC4ycztcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG9wYWNpdHk6IDAuNDtcbiAgfVxuICBcbiAgJi5maWxsZWQgLmRlc2MsXG4gICYgOi0tZm9ybS1lbGVtZW50czpmb2N1cyB+IC5kZXNjIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgdG9wOiAtMC41cmVtO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgXG4gICYgOi0tZm9ybS1lbGVtZW50czpyZXF1aXJlZCB+IC5kZXNjOmFmdGVyIHtcbiAgICBjb250ZW50OiAnKic7XG4gIH1cbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAuZm9ybS1pdGVtIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAuZm9ybS1pdGVtIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLmZvcm0taXRlbSB7XG4gIH1cbn1cblxuLyogZm9ybXMgaXRlbSBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSBlbmQgKi9cblxuLyogZm9ybXMgaXRlbSByYWRpbywgY2hlY2tib3ggKi9cblxuLmZvcm0taXRlbS1yYWRpbyxcbi5mb3JtLWl0ZW0tY2hlY2tib3gge1xuICBmbGV4LXdyYXA6IHVuc2V0O1xuICBcbiAgJiAuc3RhYmxlIHtcbiAgfVxuICBcbiAgJiAucm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIFxuICAmIC5kZXNjIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICB9XG5cbiAgJiBpbnB1dDpkaXNhYmxlZCArIC52YXJzIHtcbiAgICBvcGFjaXR5OiAwLjQ7XG4gIH1cbiAgXG4gICYgLnZhcnMge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLmZvcm0taXRlbS1yYWRpbyxcbiAgLmZvcm0taXRlbS1jaGVja2JveCB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLmZvcm0taXRlbS1yYWRpbyxcbiAgLmZvcm0taXRlbS1jaGVja2JveCB7XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5mb3JtLWl0ZW0tcmFkaW8sXG4gIC5mb3JtLWl0ZW0tY2hlY2tib3gge1xuICB9XG59XG5cbi8qIGZvcm1zIGl0ZW0gcmFkaW8sIGNoZWNrYm94IGVuZCAqL1xuXG4vKiBidXR0b25zICovXG5cbi5idXR0b24ge1xuICBmbGV4OiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIG1pbi13aWR0aDogNi4yNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW46IDByZW0gMHJlbSAxcmVtIDByZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcywgYm9yZGVyIDAuM3MsIG9wYWNpdHkgMC4zcztcbiAgYm9yZGVyLXJhZGl1czogMS41NjNyZW07XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc3R5bGUvaWNvbnMvbG9hZGVyLnN2ZykgbGVmdCAtMTAwcmVtIC8gNi4yNXJlbSBhdXRvIG5vLXJlcGVhdDtcbiAgYW5pbWF0aW9uOiA1cyBpbmZpbml0ZSBsaW5lYXIgcGF1c2VkO1xuICBcbiAgJi5zbWFsbCB7XG4gICAgcGFkZGluZzogMC42ODhyZW0gMXJlbTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICB9XG4gIFxuICAmLm1lZGl1bSB7XG4gICAgcGFkZGluZzogMC43cmVtIDEuNXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07XG5cbiAgICAmIC5pY29uIHtcbiAgICAgIGhlaWdodDogMS41NjI1cmVtO1xuICAgIH1cbiAgfVxuICBcbiAgJi5sYXJnZSB7XG4gICAgcGFkZGluZzogMC44MTNyZW0gMS43NXJlbTtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gIH1cblxuICAmLm91dGxpbmUge1xuICAgIGJvcmRlcjogI2ZmZiBzb2xpZCAwLjEyNXJlbTtcbiAgfVxuICBcbiAgJi5wcmltYXJ5LCAmLnByb2NlZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW9yYW5nZSk7XG5cbiAgICAmLm91dGxpbmUge1xuICAgICAgY29sb3I6IHZhcigtLW9yYW5nZSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogdmFyKC0tb3JhbmdlKSBzb2xpZCAwLjEyNXJlbTtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzc3MTE2O1xuICAgIH1cbiAgfVxuXG4gICYuc2Vjb25kYXJ5IHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ib3JkZXItY29sb3IpO1xuXG4gICAgJi5vdXRsaW5lIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IHZhcigtLWJvcmRlci1jb2xvcikgc29saWQgMC4xMjVyZW07XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgIH1cbiAgfVxuXG4gICYuZHJvcGRvd24ge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6IHZhcigtLWRhcmtlci1ibHVlKTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICAgIGJvcmRlci13aWR0aDogMC4xMjVyZW07XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kYXJrZXItYmx1ZSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAuODc1cmVtO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcmlnaHQ6IDEuMDYzcmVtO1xuICAgICAgdG9wOiAwO1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zdHlsZS9pY29ucy9zZWxlY3Rib3guc3ZnKSBuby1yZXBlYXQgY2VudGVyIC8gMTAwJSBhdXRvO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC40cyBlYXNlLWluLW91dDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgfVxuXG4gICAgJi5oaWRlOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cbiAgICAmLmhpZGUgc3Bhbi5zaG93LCAmOm5vdCguaGlkZSkgc3Bhbi5oaWRlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLmhpZGUgc3Bhbi5oaWRlLCAmOm5vdCguaGlkZSkgc3Bhbi5zaG93IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIFxuICAmLmJhY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTU7XG4gIFxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NztcbiAgICB9XG4gIH1cbiAgXG4gICYudmFsaWRhdGUge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBsb2FkZXI7XG4gICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdDtcbiAgfVxuXG4gICYgLmljb24ge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogMCAxcmVtIDAgLTAuMjVyZW07XG4gIH1cbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAuYnV0dG9uIHtcbiAgICBcbiAgICAmLnNtYWxsIHtcbiAgICB9XG4gICAgXG4gICAgJi5tZWRpdW0ge1xuICAgIH1cbiAgICBcbiAgICAmLmxhcmdlIHtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLmJ1dHRvbiB7XG4gIFxuICAgICYuc21hbGwge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgIH1cbiAgXG4gICAgJi5tZWRpdW0ge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgIH1cbiAgXG4gICAgJi5sYXJnZSB7XG4gICAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLmJ1dHRvbiB7XG4gICAgXG4gICAgJi5zbWFsbCB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIH1cbiAgICBcbiAgICAmLmxhcmdlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIH1cbiAgfVxufVxuXG4vKiBidXR0b25zIGVuZCAqL1xuXG4vKiBzdGF0dXMgbWVzc2FnZXMgKi9cblxuQGtleWZyYW1lcyBzdGF0dXMtbWVzc2FnZS1zaG93IHtcbiAgMCUge29wYWNpdHk6MDsgbGVmdDozZW07fVxuICAxMDAlIHtvcGFjaXR5OjE7IGxlZnQ6MDt9XG59XG5cbi5zdGF0dXMtbWVzc2FnZXMtY29udGFpbmVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnN0YXR1cy1tZXNzYWdlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGNvbG9yOiB2YXIoLS1kYXJrLWdyZXkpO1xuICBwYWRkaW5nOiAxLjM3NXJlbSAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQpO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgb3BhY2l0eTogMDtcbiAgbGVmdDogM3JlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbmltYXRpb246IHN0YXR1cy1tZXNzYWdlLXNob3cgMC41cyAxLjVzIDEgYWx0ZXJuYXRlIGZvcndhcmRzO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kOiBub25lIG5vLXJlcGVhdCBjZW50ZXIgLyBjb250YWluO1xuICAgIG1hcmdpbi1yaWdodDogMS4yNXJlbTtcbiAgICB3aWR0aDogMy43NXJlbTtcbiAgICBoZWlnaHQ6IDMuNzVyZW07XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG4gIFxuICAmLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZGE1MWM1MDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICfinJMnO1xuICAgICAgY29sb3I6ICMyZGE1MWM1MDtcbiAgICB9XG4gIH1cbiAgXG4gICYuZXJyb3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiNzE2MTY1MDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICchJztcbiAgICAgIGNvbG9yOiAjYjcxNjE2NTA7XG4gICAgfVxuICB9XG4gIFxuICAmLmltcG9ydGFudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I3MTYxNjUwO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyEnO1xuICAgICAgY29sb3I6ICNiNzE2MTY1MDtcbiAgICB9XG4gIH1cbiAgXG4gICYubm90aWNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC1ibHVlKTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICchJztcbiAgICAgIGNvbG9yOiB2YXIoLS1saWdodC1ibHVlKTtcbiAgICB9XG4gIH1cbiAgXG4gICYucXVlc3Rpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWxpZ2h0LWJsdWUpO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJz8nO1xuICAgICAgY29sb3I6IHZhcigtLWxpZ2h0LWJsdWUpO1xuICAgIH1cbiAgfVxuICBcbiAgJiA+ICoge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gIFxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuICB9XG4gIFxuICAmIGEge1xuICAgIG9wYWNpdHk6IDAuNztcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuICBcbiAgJjpudGgtY2hpbGQoMSkge2FuaW1hdGlvbi1kZWxheTogMC41czt9XG4gICY6bnRoLWNoaWxkKDIpIHthbmltYXRpb24tZGVsYXk6IDAuNzVzO31cbiAgJjpudGgtY2hpbGQoMykge2FuaW1hdGlvbi1kZWxheTogMXM7fVxuICAmOm50aC1jaGlsZCg0KSB7YW5pbWF0aW9uLWRlbGF5OiAxLjI1czt9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLnN0YXR1cy1tZXNzYWdlcy1jb250YWluZXIge1xuICB9XG4gIFxuICAuc3RhdHVzLW1lc3NhZ2Uge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC5zdGF0dXMtbWVzc2FnZXMtY29udGFpbmVyIHtcbiAgfVxuICBcbiAgLnN0YXR1cy1tZXNzYWdlIHtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDIuNXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuXG4gIC5zdGF0dXMtbWVzc2FnZXMtY29udGFpbmVyIHtcbiAgfVxuXG4gIC5zdGF0dXMtbWVzc2FnZSB7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgfVxufVxuXG4vKiBzdGF0dXMgbWVzc2FnZXMgZW5kICovXG5cbi8qIGZsYXNoIG1lc3NhZ2VzICovXG5cbi5mbGFzaC1tZXNzYWdlcy1jb250YWluZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHRvcDogNy43NXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmZlNTtcbiAgYm94LXNoYWRvdzogMCAwIDAuMjVyZW0gIzAwMDU7XG4gIHotaW5kZXg6IDEwMDA7XG4gIFxuICAmIC5zdGF0dXMtbWVzc2FnZSB7XG4gICAgbWFyZ2luOiAwcmVtIDByZW0gMC41cmVtIDByZW07XG4gICAgXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIH1cbiAgICBcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAuZmxhc2gtbWVzc2FnZXMtY29udGFpbmVyIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAuZmxhc2gtbWVzc2FnZXMtY29udGFpbmVyIHtcbiAgICB0b3A6IDExLjVyZW07XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5mbGFzaC1tZXNzYWdlcy1jb250YWluZXIge1xuICB9XG59XG5cbi8qIGZsYXNoIG1lc3NhZ2VzIGVuZCAqL1xuXG4vKiBmdWxsc2l6ZSBsb2FkZXIgKi9cblxuQGtleWZyYW1lcyBmdWxsc2l6ZS1sb2FkZXIge1xuICBmcm9tIHt0cmFuc2Zvcm06cm90YXRlKDApfVxuICB0byB7dHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKX1cbn1cblxuLmZ1bGxzaXplLWxvYWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAxMDtcbiAgbGVmdDogMHJlbTtcbiAgdG9wOiAwcmVtO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI0OCwgMjQ4LCAyNDgsIDAuOSk7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBcbiAgJiAuYW5pbWF0aW9uIHtcbiAgICB3aWR0aDogNS4yNXJlbTtcbiAgICBoZWlnaHQ6IDUuMjVyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zdHlsZS9pY29ucy9sb2FkZXItMi5zdmcpIGNlbnRlciBjZW50ZXIgLyAxMDAlIGF1dG8gbm8tcmVwZWF0O1xuICAgIGFuaW1hdGlvbjogZnVsbHNpemUtbG9hZGVyIDJzIGluZmluaXRlIGxpbmVhciBwYXVzZWQ7XG4gIH1cbiAgXG4gICYudmlzaWJsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgXG4gICAgJiAuYW5pbWF0aW9uIHtcbiAgICAgIGFuaW1hdGlvbi1uYW1lOiBmdWxsc2l6ZS1sb2FkZXI7XG4gICAgICBhbmltYXRpb24tcGxheS1zdGF0ZTogcnVubmluZztcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAuZnVsbHNpemUtbG9hZGVyIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAuZnVsbHNpemUtbG9hZGVyIHtcbiAgICBcbiAgICAmIC5hbmltYXRpb24ge1xuICAgICAgd2lkdGg6IDcuMjVyZW07XG4gICAgICBoZWlnaHQ6IDcuMjVyZW07XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAuZnVsbHNpemUtbG9hZGVyIHtcbiAgfVxufVxuXG4vKiBmdWxsc2l6ZSBsb2FkZXIgZW5kICovXG5cbi8qIHRhYmxlIGNvbnRhaW5lciAtIG/FoWV0xZl1amUgc2tyb2xvdsOhbsOtIMWhaXJva8O9Y2ggdGFidWxlayAqL1xuXG4uaW5mby1zaXRlIC50ZXh0LFxuLmNhdGVnb3J5LWludHJvIC5pbmZvLFxuLnByb2R1Y3QtZGV0YWlsIC5kZXNjcmlwdGlvbiB7XG4gIFxuICAmIC50YWJsZS1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgfVxufVxuXG4vKiB0YWJsZSBjb250YWluZXIgZW5kICovXG5cbi8qIGJyZWFkY3J1bWJzIGdlbmVyYWxseSAqL1xuXG4uYnJlYWRjcnVtYnMge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIFxuICAmIC5pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmIGEge1xuICAgIGNvbG9yOiB2YXIoLS1kYXJrZXItYmx1ZSk7XG4gIH1cblxuICAmIC5zZXBhcmF0b3Ige1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIFxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJ+KGkic7XG4gICAgfVxuICB9XG5cbiAgJiAuaW5uZXIge1xuICAgIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkICNlYmViZWI7XG4gICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG4gIH1cbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAuYnJlYWRjcnVtYnMge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC5icmVhZGNydW1icyB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkICNlYmViZWI7XG5cbiAgICAmIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAuYnJlYWRjcnVtYnMge1xuICB9XG59XG5cbi8qIGJyZWFkY3J1bWJzIGdlbmVyYWxseSBlbmQgKi9cblxuLyogcGFnaW5hdGlvbiBnZW5lcmFsbHkgKi9cblxuLnBhZ2luYXRpb24ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIFxuICAmIC5pbm5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpO1xuICAgIGdhcDogMXJlbTtcbiAgICBcbiAgICAmID4gKjpsYXN0LWNoaWxke1xuICAgICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgICB9XG4gIH1cbiAgXG4gICYgLmJ1dHRvbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG8gMXJlbSBhdXRvO1xuICB9XG4gIFxuICAmIC5saXN0aW5nIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgXG4gICYgLml0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMi4yNXJlbTtcbiAgICBoZWlnaHQ6IDIuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuMjVyZW07XG4gICAgbWFyZ2luOjByZW0gMC4xcmVtO1xuICAgIHRyYW5zaXRpb246IDAuM3M7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgY29sb3I6IHZhcigtLWRhcmtlci1ibHVlKTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZmxleDogbm9uZTtcbiAgICBcbiAgICAmLnNoaWZ0Lm5leHQge1xuICAgICAgdHJhbnNmb3JtOnJvdGF0ZVkoMTgwZGVnKTtcbiAgICB9XG4gICAgXG4gICAgJi5zaGlmdDphZnRlciB7XG4gICAgICBib3JkZXItbGVmdDowLjEyNXJlbSBzb2xpZCB2YXIoLS1kYXJrZXItYmx1ZSk7XG4gICAgICBib3JkZXItYm90dG9tOjAuMTI1cmVtIHNvbGlkIHZhcigtLWRhcmtlci1ibHVlKTtcbiAgICAgIHdpZHRoOjAuNjI1cmVtO1xuICAgICAgaGVpZ2h0OjAuNjI1cmVtO1xuICAgICAgY29udGVudDonJztcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICB0cmFuc2Zvcm06cm90YXRlKDBkZWcpO1xuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICBsZWZ0OjEuMDVyZW07XG4gICAgICB0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTtcbiAgICAgIHRvcDpjYWxjKDUwJSAtIDAuMzEzcmVtKTtcbiAgICB9XG4gICAgXG4gICAgJjpob3ZlcixcbiAgICAmLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kYXJrZXItYmx1ZSk7XG4gICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgJi5zaGlmdDphZnRlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgXG4gICYgLmRvdHMge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBcbiAgICAmLmxlZnQgeyBcbiAgICB9XG4gICAgXG4gICAgJi5yaWdodCB7IFxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC5wYWdpbmF0aW9uIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAucGFnaW5hdGlvbiB7XG4gICAgXG4gICAgJiAuaXRlbSB7XG4gICAgICB3aWR0aDogMi4zNzVyZW07XG4gICAgICBoZWlnaHQ6IDIuMzc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuMzc1cmVtO1xuICAgIH1cblxuICAgICYgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgbWF4LXdpZHRoOiAxOS41cmVtO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLnBhZ2luYXRpb24ge1xuICBcbiAgICAmIC5pdGVtIHtcbiAgICAgIHdpZHRoOiAyLjVyZW07XG4gICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjVyZW07XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1OS45MzhyZW0pIHtcbiAgXG4gIC5wYWdpbmF0aW9uIHtcbiAgICBcbiAgICAmIC5kb3RzLmxlZnQgKyAuaXRlbSxcbiAgICAmOm5vdChbZGF0YS1jdXJyZW50PVwiMVwiXSkgLml0ZW0uYWN0aXZlICsgLml0ZW0gKyAuaXRlbSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAmW2RhdGEtY3VycmVudD1cIjRcIl0gLml0ZW06bnRoLWNoaWxkKDMpIHtcbiAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBjb250ZW50OiAnLi4uJztcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1iYXNlLWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogcGFnaW5hdGlvbiBnZW5lcmFsbHkgZW5kICovXG5cbi8qIHJlZ2lzdGVyIGN0YSBnZW5lcmFsbHksXG4gICB0ZXJtcyBhZ3JlZW1lbnQgZ2VuZXJhbGx5LFxuICAgZ2RwciByZWd1bGF0aW9uIGdlbmVyYWxseVxuKi9cblxuLnJlZ2lzdGVyLWN0YSxcbi50ZXJtcy1hZ3JlZW1lbnQsXG4uZ2Rwci1yZWd1bGF0aW9uIHtcbiAgbWFyZ2luOiAwcmVtIDByZW0gMS4yNXJlbSAwcmVtO1xuICBcbiAgJiAuZm9ybS1pdGVtLWNoZWNrYm94IHtcbiAgICBtYXJnaW46IDByZW0gMHJlbSAwcmVtIDByZW07XG4gICAgZmxleC1mbG93OiBjb2x1bW47XG4gIH1cbiAgXG4gICYgLmxpbmsge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLnJlZ2lzdGVyLWN0YSxcbiAgLnRlcm1zLWFncmVlbWVudCxcbiAgLmdkcHItcmVndWxhdGlvbiB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLnJlZ2lzdGVyLWN0YSxcbiAgLnRlcm1zLWFncmVlbWVudCxcbiAgLmdkcHItcmVndWxhdGlvbiB7XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5yZWdpc3Rlci1jdGEsXG4gIC50ZXJtcy1hZ3JlZW1lbnQsXG4gIC5nZHByLXJlZ3VsYXRpb24ge1xuICB9XG59XG5cbi8qIHJlZ2lzdGVyIGN0YSBnZW5lcmFsbHkgZW5kLFxuICAgdGVybXMgYWdyZWVtZW50IGdlbmVyYWxseSBlbmQsXG4gICBnZHByIHJlZ3VsYXRpb24gZ2VuZXJhbGx5IGVuZFxuKi9cblxuLyogcGFnZSB3cmFwcGVyICovXG5cbi5wYWdlLXdyYXBwZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMWZyIGF1dG87XG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgXCJoZWFkZXJcIlxuICAgIFwiY29udGVudFwiXG4gICAgXCJmb290ZXJcIjtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG59XG5cbi5pbm5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IHZhcigtLXBhZ2Utd2lkdGgpO1xuICBwYWRkaW5nOiAwcmVtICB2YXIoLS1wYWdlLXBhZGRpbmcpO1xuICBtYXJnaW46IDByZW0gYXV0bztcbiAgXG4gICYgLmlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDByZW07XG4gICAgcGFkZGluZy1yaWdodDogMHJlbTtcbiAgfVxufVxuLmlubmVyLXBhZGRpbmcge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMHJlbSAgdmFyKC0tcGFnZS1wYWRkaW5nKTtcbiAgbWFyZ2luOiAwO1xufVxuQG1lZGlhICgtLUlOTkVSKSB7XG4gIC5pbm5lci1wYWRkaW5nIHtcbiAgICAvKiBzaXJrYSBqZWRuZSBib2NuaSBtZXplcnksIGtkeXogb2JyYXpvdmthIGplIHNpcnNpLCBuZXogcGV2bmEgc2lya2Egd2VidSA9IChzaXJrYSBvYnJhem92a3kgLSBkZWZhdWx0IG1heC13aWR0aCBpbm5lcnUpIC8gMiAqL1xuICAgIHBhZGRpbmc6IDAgY2FsYygoMTAwdncgLSB2YXIoLS1wYWdlLXdpZHRoKSkgLyAyICsgdmFyKC0tcGFnZS1wYWRkaW5nKSk7XG4gIH1cbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAucGFnZS13cmFwcGVyIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAucGFnZS13cmFwcGVyIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLnBhZ2Utd3JhcHBlciB7XG4gIH1cbn1cblxuLyogcGFnZSB3cmFwcGVyIGVuZCAqL1xuXG4vKiBwYWdlIGhlYWRlciBnZW5lcmFsbHkgKi9cblxuLnBhZ2UtaGVhZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMjAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS1jb2xvcik7XG4gIHBhZGRpbmc6IC43NXJlbSAwcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICBcbiAgJiAuaW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgXG4gICYgLmxvZ28ge1xuICAgIHdpZHRoOiA0Ljc1cmVtO1xuICAgIGZsZXg6IG5vbmU7XG4gICAgXG4gICAgJiAuaW1hZ2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgJiAuc2xvZ2FuIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgIG1heC13aWR0aDogNi4zZW07XG4gICAgbWFyZ2luOiAwIDAgMCAwLjVyZW07XG4gIH1cbn1cblxuQG1lZGlhICgtLVRJTllTQ1JFRU4pIHtcblxuICAucGFnZS1oZWFkZXIge1xuICAgIFxuICAgICYgLnNsb2dhbiB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuNXJlbTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLnBhZ2UtaGVhZGVyIHtcbiAgICAtLWhlYWRlci1wYWRkaW5nOiAxLjRyZW07XG4gICAgcGFkZGluZzogdmFyKC0taGVhZGVyLXBhZGRpbmcpIDAgMCAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICYgLmlubmVyIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cbiAgICBcbiAgICAmIC5sb2dvIHtcbiAgICAgIHdpZHRoOiA4LjVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMC43NXJlbTtcbiAgICB9XG5cbiAgICAmIC5zbG9nYW4ge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgIH1cblxuICAgICYgLmNhdGVnb3J5LW1lbnUtaG9yaXpvbnRhbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG9yZGVyOiAxO1xuICAgICAgbWFyZ2luOiAxcmVtIGF1dG8gMCAwO1xuICAgIH1cbiAgICAmIC5kYXNoYm9hcmQge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0taGVhZGVyLXBhZGRpbmcpO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLnBhZ2UtaGVhZGVyIHtcbiAgICAmIC5jYXRlZ29yeS1tZW51LWhvcml6b250YWwge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBvcmRlcjogdW5zZXQ7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gICAgJiAuZGFzaGJvYXJkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vKiBwYWdlIGhlYWRlciBnZW5lcmFsbHkgZW5kICovXG5cbi8qIHBhZ2UgY29udGVudCAqL1xuXG4ucGFnZS1jb250ZW50IHtcbiAgJiAuaGVhZGxpbmUge1xuICAgIGNvbG9yOiB2YXIoLS1kYXJrZXItYmx1ZSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNzVyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogLjEyNXJlbSBzb2xpZCB2YXIoLS1saWdodC1ibHVlKTtcblxuICAgICYuYm9yZGVyLXRvcCB7XG4gICAgICBib3JkZXItdG9wOiAuMTI1cmVtIHNvbGlkIHZhcigtLWxpZ2h0LWJsdWUpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy10b3A6IDEuMjVyZW07XG4gICAgfVxuICB9XG59XG5cbi5wYWdlLWNvbnRlbnQtaW4ge1xuICBcbiAgJi5wYXJ0LXNpemUge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTtcbiAgICBtYXgtd2lkdGg6IHZhcigtLXBhZ2Utd2lkdGgpO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBhZ2UtcGFkZGluZyk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGFnZS1wYWRkaW5nKTtcbiAgICBcbiAgICAmIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC5wYWdlLWNvbnRlbnQge1xuICB9XG4gIFxuICAucGFnZS1jb250ZW50LWluIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAucGFnZS1jb250ZW50IHtcbiAgfVxuICBcbiAgLnBhZ2UtY29udGVudC1pbiB7XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5wYWdlLWNvbnRlbnQge1xuICB9XG4gIFxuICAucGFnZS1jb250ZW50LWluIHtcbiAgXG4gICAgJi5wYXJ0LXNpemUge1xuICAgICAgZ2FwOiAycmVtO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMC40ZnIpIG1pbm1heCgwLCAxLjZmcik7XG4gICAgfVxuICB9XG59XG5cbi8qIHBhZ2UgY29udGVudCBlbmQgKi9cblxuLyogcGFnZSBtYWluICovXG5cbi5wYWdlLW1haW4ge1xufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC5wYWdlLW1haW4ge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC5wYWdlLW1haW4ge1xuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAucGFnZS1tYWluIHtcbiAgfVxuICBcbiAgLnBhcnQtc2l6ZSB7XG4gICAgXG4gICAgJiAucGFnZS1tYWluIHtcbiAgICB9XG4gIH1cbn1cblxuLyogcGFnZSBtYWluIGVuZCAqL1xuXG4vKiBwYWdlIGNvbXBsZW1lbnQgKi9cblxuLnBhZ2UtY29tcGxlbWVudCB7XG59XG5cbi5wYXJ0LXNpemUge1xuICBcbiAgJiAucGFnZS1jb21wbGVtZW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLnBhZ2UtY29tcGxlbWVudCB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLnBhZ2UtY29tcGxlbWVudCB7XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5wYWdlLWNvbXBsZW1lbnQge1xuICB9XG4gIFxuICAucGFydC1zaXplIHtcbiAgICBcbiAgICAmIC5wYWdlLWNvbXBsZW1lbnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG5cbi8qIHBhZ2UgY29tcGxlbWVudCBlbmQgKi9cblxuLyogcGFnZSBibG9jayBnZW5lcmFsbHkgKi9cblxuLnBhZ2UtYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICBcbiAgJi5hdHRhY2htZW50cyB7XG4gICAgXG4gICAgJiAuY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ2FwOiAxcmVtO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLnBhZ2UtYmxvY2sge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC5wYWdlLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAucGFnZS1ibG9jayB7XG4gIH1cbn1cblxuLyogcGFnZSBibG9jayBnZW5lcmFsbHkgZW5kICovXG5cbi8qIGluZm8gc2l0ZSAqL1xuXG4uaW5mby1zaXRlIHtcbiAgXG4gICYgLmhlYWRsaW5lIHtcbiAgfVxuICBcbiAgJiAucGVyZXgge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIFxuICAmIC50ZXh0IHtcbiAgICBcbiAgICAmID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwcmVtO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC5pbmZvLXNpdGUge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC5pbmZvLXNpdGUge1xuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAuaW5mby1zaXRlIHtcbiAgfVxufVxuXG4vKiBpbmZvIHNpdGUgKi9cblxuLyogaW5mbyBzaXRlIGNvbXBsZW1lbnQgKi9cblxuLmluZm8tc2l0ZS1jb21wbGVtZW50IHtcbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAuaW5mby1zaXRlLWNvbXBsZW1lbnQge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC5pbmZvLXNpdGUtY29tcGxlbWVudCB7XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5pbmZvLXNpdGUtY29tcGxlbWVudCB7XG4gIH1cbn1cblxuLyogaW5mbyBzaXRlIGNvbXBsZW1lbnQgZW5kICovXG5cbi8qIHBob3RvZ2FsbGVyeSAqL1xuXG4ucGhvdG9nYWxsZXJ5IHtcbiAgXG4gICYgLmNvbnRlbnQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIH1cbiAgXG4gICYgLml0ZW0ge1xuICBcbiAgICAmOmhvdmVyIHtcbiAgICB9XG4gIH1cbiAgXG4gICYgLnBpY3R1cmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogNzUlO1xuICB9XG4gIFxuICAmIC5pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwcmVtO1xuICAgIHRvcDogMHJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC5waG90b2dhbGxlcnkge1xuICBcbiAgICAmIC5jb250ZW50IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC5waG90b2dhbGxlcnkge1xuICAgIFxuICAgICYgLmNvbnRlbnQge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5waG90b2dhbGxlcnkge1xuICB9XG59XG5cbi8qIHBob3RvZ2FsbGVyeSBlbmQgKi9cblxuLyogZmlsZWdhbGxlcnkgKi9cblxuLmZpbGVnYWxsZXJ5IHtcbiAgXG4gICYgLmNvbnRlbnQge1xuICB9XG4gIFxuICAmIC5pdGVtIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMztcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDAuNzVyZW0gMC43NXJlbSAyLjc1cmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3N0eWxlL2ljb25zL2ZpbGVnYWxsZXJ5LnN2Zykgbm8tcmVwZWF0IDAuNzVyZW0gY2VudGVyIC8gMS4yNXJlbSBhdXRvO1xuICAgIFxuICAgICYgLnRpdGxlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxuICAgIFxuICAgICYgLmRlc2Mge1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgcGFkZGluZzogMC4yNXJlbSAwcmVtIDByZW0gMHJlbTtcbiAgICB9XG4gICAgXG4gICAgJiAuc2l6ZSB7XG4gICAgfVxuICAgIFxuICAgICYgLmV4dGVuc2lvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAuZmlsZWdhbGxlcnkge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC5maWxlZ2FsbGVyeSB7XG4gICAgXG4gICAgJiAuY29udGVudCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLmZpbGVnYWxsZXJ5IHtcbiAgfVxufVxuXG4vKiBmaWxlZ2FsbGVyeSBlbmQgKi9cblxuLyogdmlkZW9nYWxsZXJ5ICovXG5cbi52aWRlb2dhbGxlcnkge1xuICBcbiAgJiAuaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIFxuICAmIC52aWRlbyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiA1Ni4yNSU7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgfVxuICBcbiAgJiAudGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgfVxuICBcbiAgJiAuZGVzYyB7XG4gICAgbWFyZ2luOiAwcmVtIDByZW0gMC43NXJlbSAwcmVtO1xuICB9XG4gIFxuICAmIC5pZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMHJlbTtcbiAgICB0b3A6IDByZW07XG4gIH1cbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAudmlkZW9nYWxsZXJ5IHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAudmlkZW9nYWxsZXJ5IHtcbiAgICBcbiAgICAmIC5jb250ZW50IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAudmlkZW9nYWxsZXJ5IHtcbiAgfVxufVxuXG4vKiB2aWRlb2dhbGxlcnkgZW5kICovXG5cbi8qIGNvbnRhY3QgZm9ybSAqL1xuXG4uY29udGFjdC1mb3JtIHtcbiAgXG4gICYgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLmNvbnRhY3QtZm9ybSB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLmNvbnRhY3QtZm9ybSB7XG4gICAgXG4gICAgJiAuYWN0aXZlLWJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgXG4gICAgJiAubWFpbiB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAuY29udGFjdC1mb3JtIHtcbiAgfVxufVxuXG4vKiBjb250YWN0IGZvcm0gZW5kICovXG5cbi8qIHNvY2lhbHMgZ2VuZXJhbGx5ICovXG5cbi5zb2NpYWxzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIFxuICAmIC5pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB3aWR0aDogMy4xODhyZW07XG4gICAgaGVpZ2h0OiAzLjE4OHJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgbWFyZ2luOiAwcmVtIDAuNTYyNXJlbSAwcmVtIDAuNTYyNXJlbTtcbiAgICBcbiAgICAmOmhvdmVye1xuICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDEyNSUpO1xuICAgIH1cbiAgfVxuICBcbiAgJiAuZW1haWwge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc3R5bGUvaWNvbnMvZW1haWwuc3ZnKSBjZW50ZXIgY2VudGVyIC8gMS4yNXJlbSBhdXRvIG5vLXJlcGVhdCAjZmZmO1xuICB9XG4gIFxuICAmIC5mYWNlYm9vayB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zdHlsZS9pY29ucy9mYWNlYm9vay5zdmcpIGNlbnRlciBjZW50ZXIgLyAwLjcyNXJlbSBhdXRvIG5vLXJlcGVhdCAjZmZmO1xuICB9XG4gIFxuICAmIC50d2l0dGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3N0eWxlL2ljb25zL3R3aXR0ZXIuc3ZnKSBjZW50ZXIgY2VudGVyIC8gMnJlbSBhdXRvIG5vLXJlcGVhdCAjZmZmO1xuICB9XG4gIFxuICAmIC5pbnN0YWdyYW0ge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc3R5bGUvaWNvbnMvaW5zdGFncmFtLnN2ZykgY2VudGVyIGNlbnRlciAvIDEuNTc1cmVtIGF1dG8gbm8tcmVwZWF0ICNmZmY7XG4gIH1cbiAgXG4gICYgLnlvdXR1YmUge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc3R5bGUvaWNvbnMveW91dHViZS5zdmcpIGNhbGMoNTAlICsgMC4xMjVyZW0pIGNlbnRlciAvIDAuOTM4cmVtIGF1dG8gbm8tcmVwZWF0ICNmZmY7XG4gIH1cbiAgXG4gICYgLmxpbmtlZGluIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3N0eWxlL2ljb25zL2xpbmtlZGluLnN2ZykgY2VudGVyIGNhbGMoNTAlIC0gMC4xMjVyZW0pIC8gMS4yNXJlbSBhdXRvIG5vLXJlcGVhdCAjZmZmO1xuICB9XG4gIFxuICAmIC50ZXh0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJi5ncmV5IHtcbiAgICAmIC5lbWFpbCB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3N0eWxlL2ljb25zL2VtYWlsLXdoaXRlLnN2ZykgY2VudGVyIGNlbnRlciAvIDEuMjVyZW0gYXV0byBuby1yZXBlYXQgdmFyKC0tZ3JleSk7XG4gICAgfVxuXG4gICAgJiAuZmFjZWJvb2sge1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zdHlsZS9pY29ucy9mYWNlYm9vay13aGl0ZS5zdmcpIGNlbnRlciBjZW50ZXIgLyAwLjcyNXJlbSBhdXRvIG5vLXJlcGVhdCB2YXIoLS1ncmV5KTtcbiAgICB9XG5cbiAgICAmIC50d2l0dGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc3R5bGUvaWNvbnMvdHdpdHRlci13aGl0ZS5zdmcpIGNlbnRlciBjZW50ZXIgLyAycmVtIGF1dG8gbm8tcmVwZWF0IHZhcigtLWdyZXkpO1xuICAgIH1cblxuICAgICYgLmluc3RhZ3JhbSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3N0eWxlL2ljb25zL2luc3RhZ3JhbS13aGl0ZS5zdmcpIGNlbnRlciBjZW50ZXIgLyAxLjU3NXJlbSBhdXRvIG5vLXJlcGVhdCB2YXIoLS1ncmV5KTtcbiAgICB9XG5cbiAgICAmIC55b3V0dWJlIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc3R5bGUvaWNvbnMveW91dHViZS13aGl0ZS5zdmcpIGNhbGMoNTAlICsgMC4xMjVyZW0pIGNlbnRlciAvIDAuOTM4cmVtIGF1dG8gbm8tcmVwZWF0IHZhcigtLWdyZXkpO1xuICAgIH1cblxuICAgICYgLmxpbmtlZGluIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc3R5bGUvaWNvbnMvbGlua2VkaW4td2hpdGUuc3ZnKSBjZW50ZXIgY2FsYyg1MCUgLSAwLjEyNXJlbSkgLyAxLjI1cmVtIGF1dG8gbm8tcmVwZWF0IHZhcigtLWdyZXkpO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC5zb2NpYWxzIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAuc29jaWFscyB7XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5zb2NpYWxzIHtcbiAgfVxufVxuXG4vKiBzb2NpYWxzIGdlbmVyYWxseSBlbmQgKi9cblxuLyogc2xpZGVzaG93ICovXG5cbi5zbGlkZXNob3cge1xuICBcbiAgJi5kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIFxuICAmIC5zbGljay1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMC4xMjVyZW0gc29saWQgdmFyKC0tbGlnaHQtZ3JleSk7XG4gICAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gICYgLml0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW47XG4gIH1cblxuICAmIC5pbmZvIHtcbiAgICBwYWRkaW5nOiAxLjM3NXJlbSAuODc1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1kYXJrZXItYmx1ZSk7XG4gICAgb3JkZXI6IDE7XG4gIH1cbiAgXG4gICYgLnRpdGxlIHtcbiAgICBtYXJnaW46IDByZW0gMHJlbSAwLjVyZW0gMHJlbTtcbiAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG4gIFxuICAmIC5kZXNjIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbWFyZ2luOiAwcmVtIDByZW0gMXJlbSAwcmVtO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG4gIFxuICAmIC5idXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gICYgLmltYWdlLWJveCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTkuMzc1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGJvcmRlci10b3A6IDAuMTI1cmVtIHNvbGlkICNlYmViZWI7XG5cbiAgICAmIC5pbWFnZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XG4gICAgfVxuICB9XG4gIFxuICAmLm1vYmlsZSAuaW1hZ2UtYm94IHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIFxuICAgICYgLmltYWdlIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gIH1cblxuICAmIC5zbGljay1hcnJvd3Mtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAzOCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgJiAuc2xpY2stYXJyb3dzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmIC5zbGljay1hcnJvdyB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1saWdodC1ncmV5KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3N0eWxlL2ljb25zL2Jhbm5lci1hcnJvdy5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb250YWluO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBjb2xvcjogIzk5OTtcbiAgICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40ZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHRvcDogY2FsYyg1MCUgLSAwLjVyZW0pO1xuICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDAuNXJlbSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJiAuc2xpY2stZG90cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBcbiAgICAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMS4yNXJlbSAwIDAgMDtcbiAgICB9XG5cbiAgICAmIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IC43NXJlbTtcbiAgICAgIGhlaWdodDogLjc1cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgIG9wYWNpdHk6IDAuMjtcbiAgICAgIG1hcmdpbjogMCAuMzEyNXJlbTtcblxuICAgICAgJi5zbGljay1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kYXJrZXItYmx1ZSk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiAudGV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC5zbGlkZXNob3cge1xuICAgIFxuICAgICYuZGVza3RvcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgXG4gICAgJi5tb2JpbGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLUxJR0hUU0NSRUVOKSB7XG4gIFxuICAuc2xpZGVzaG93IHtcbiAgICAmIC5idXR0b24ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC5zbGlkZXNob3cge1xuICAgICYgLml0ZW0ge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgICBncmlkLWNvbHVtbi1nYXA6IDEuOHJlbTtcbiAgICB9XG5cbiAgICAmIC5pbmZvIHtcbiAgICAgIHBhZGRpbmc6IDEuMzc1cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XG4gICAgICBvcmRlcjogdW5zZXQ7XG4gICAgfVxuXG4gICAgJiAuaW1hZ2UtYm94IHtcbiAgICAgIGdyaWQtY29sdW1uOiAyIC8gc3BhbiAzO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IDE5LjM3NXJlbTtcblxuICAgICAgJiAuaW1hZ2Uge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIG5hc2ltdWx1amUgNCBzbG91cGNlIGEgemFyb3ZuYSBzaXBreSBkbyBwb3NsZWRuaWNoIDMgKi9cbiAgICAmIC5zbGljay1hcnJvd3Mtd3JhcHBlciB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgIH1cbiAgICAmIC5zbGljay1hcnJvd3Mge1xuICAgICAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDQ7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAuc2xpZGVzaG93IHtcblxuICAgICYgLmluZm8ge1xuICAgICAgcGFkZGluZzogMi4xMjVyZW0gM3JlbTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLUxBUkdFU0NSRUVOKSB7XG4gIC5zbGlkZXNob3cge1xuICAgICYgLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgICB9XG4gIH1cbn1cblxuLyogc2xpZGVzaG93IGVuZCAqL1xuXG4vKiBlcnJvciBwYWdlcyAqL1xuXG4uZXJyb3ItcGFnZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgXG4gICYuc2VydmVyLWVycm9yIHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgfVxuICBcbiAgJiAuaW5uZXIge1xuICAgIG1heC13aWR0aDogNDByZW07XG4gICAgXG4gICAgJiA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwcmVtO1xuICAgIH1cbiAgfVxuICBcbiAgJiAuaGVhZGxpbmUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgfVxuICBcbiAgJiAuZGVzYyB7XG4gIH1cbiAgXG4gICYgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwcmVtIDByZW0gMHJlbSAwcmVtO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLmVycm9yLXBhZ2Uge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC5lcnJvci1wYWdlIHtcbiAgICBcbiAgICAmLnNlcnZlci1lcnJvciB7XG4gICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICB9XG4gICAgXG4gICAgJiAuaGVhZGxpbmUge1xuICAgICAgZm9udC1zaXplOiA1cmVtO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLmVycm9yLXBhZ2Uge1xuICBcbiAgICAmIC5oZWFkbGluZSB7XG4gICAgICBmb250LXNpemU6IDZyZW07XG4gICAgfVxuICB9XG59XG5cbi8qIGVycm9yIHBhZ2VzIGVuZCAqL1xuXG4vKiBob21lcGFnZSAqL1xuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIC5ob21lcGFnZSB7XG4gICAgJiAuYXJndW1lbnRzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG4gICAgfVxuICB9XG59XG5cbi8qIGhvbWVwYWdlIGVuZCAqL1xuXG4vKiBoZXJvIGdlbmVyYWxseSAqL1xuXG4uaGVybyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmIC5oZXJvLXRpdGxlIHtcbiAgICBtYXgtd2lkdGg6IDE0cmVtO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNvbG9yOiB2YXIoLS10aGVtZS1jb2xvcik7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gICYgLnNsaWRlc2hvdyB7XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgfVxuXG4gICYgLmJhY2tncm91bmQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgbWluLXdpZHRoOiA4MHJlbTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICYgLmNsb3VkIHtcbiAgICAgIGFuaW1hdGlvbjogY2xvdWQtZmxvYXQgMS43NXMgbGluZWFyIGluZmluaXRlO1xuICAgICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlO1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG5cbiAgICAgICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC4zcztcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoM24pIHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGNsb3VkLWZsb2F0LTI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5Aa2V5ZnJhbWVzIGNsb3VkLWZsb2F0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxcmVtKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxcmVtKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxcmVtKTtcbiAgfVxufVxuQGtleWZyYW1lcyBjbG91ZC1mbG9hdC0yIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwLjI1cmVtKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwLjI1cmVtKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwLjI1cmVtKTtcbiAgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMC41cmVtKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMC41cmVtKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMC41cmVtKTtcbiAgfVxufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC5oZXJvIHtcbiAgXG4gICAgJiAuaGVyby10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1MSUdIVFNDUkVFTikge1xuICBcbiAgLmhlcm8ge1xuICBcbiAgICAmIC5oZXJvLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLmhlcm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAmIC5oZXJvLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIG1hcmdpbjogMS41cmVtIDAgMCAwO1xuICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmIC5zbGlkZXNob3cge1xuICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICB9XG5cbiAgICAmIC5iYWNrZ3JvdW5kIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxcmVtKTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgLmhlcm8ge1xuICAgICYgLmhlcm8tdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tTEFSR0VTQ1JFRU4pIHtcbiAgLmhlcm8ge1xuICAgICYgLmhlcm8tdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAzLjEyNXJlbTtcbiAgICB9XG4gIH1cbn1cblxuLyogaGVybyBnZW5lcmFsbHkgZW5kICovXG5cbi8qIGFyZ3VtZW50cyBnZW5lcmFsbHkgKi9cblxuLmFyZ3VtZW50cyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICBncmlkLWdhcDogMC42MjVyZW07XG5cbiAgJiAuYXJndW1lbnQtaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IDQuMzc1cmVtO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDEuMjVyZW07XG4gICAgY29sb3I6ICMwMDc5YmE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICMwMDc5YmE7XG5cbiAgICAmIC50aXRsZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAmIC50ZXh0IHtcbiAgICAgIG1hcmdpbjogLjVyZW0gMCAwIDA7XG4gICAgfVxuXG4gICAgJiAuaW1hZ2UtYm94IHtcbiAgICAgIHdpZHRoOiAzLjg3NXJlbTtcbiAgICAgIGhlaWdodDogMy4xMjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07XG5cbiAgICAgICYgLmltYWdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIC5hcmd1bWVudHMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIH1cbn1cbkBtZWRpYSAoLS1OT1JNQUxTQ1JFRU4pIHtcbiAgLmFyZ3VtZW50cyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICBncmlkLWdhcDogMS44cmVtO1xuICB9XG59XG5cbi8qIGFyZ3VtZW50cyBnZW5lcmFsbHkgZW5kICovXG5cbi8qIGluZm8gYmFyICovXG5cbi5pbmZvLWJhciB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgcGFkZGluZzogMC43NXJlbSAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1kYXJrZXItYmx1ZSk7XG4gIGNvbG9yOiAjZmZmO1xuICB6LWluZGV4OiAyMjU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIFxuICAmIC5pbm5lciB7IFxuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC42MjVyZW07XG4gIH1cbiAgXG4gICYgLmNvbnRlbnQge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuICBcbiAgJi52aXNpYmxlIC5jb250ZW50IHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIFxuICAmLm1hcnF1ZWUtYWN0aXZlIC5jb250ZW50IHtcbiAgICBcbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB2YXIoLS1kYXJrZXItYmx1ZSksIHJnYmEoMCwgMTIxLCAxODYsIDApKTtcbiAgICB9XG4gIFxuICAgICY6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICBcbiAgICAmOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB9XG4gIH1cbiAgXG4gICYgLnRleHQge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICB9XG4gIFxuICAmLm1hcnF1ZWUtYWN0aXZlIC50ZXh0IHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIFxuICAmIC5ydW5uaW5nLXRleHQge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICBcbiAgJi5tYXJxdWVlLWFjdGl2ZSAucnVubmluZy10ZXh0IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIG9yZGVyOiAtMTtcbiAgfVxuICBcbiAgJiAubWFycXVlZSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG4gIFxuICAmIC5jbG9zZSB7XG4gICAgd2lkdGg6IDEuNzVyZW07XG4gICAgcGFkZGluZzogMC4xODhyZW07XG4gICAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgZmxleDogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3N0eWxlL2ljb25zL2Nsb3NlLnN2ZykgY2VudGVyIGNlbnRlciAvIGNvbnRhaW4gY29udGVudC1ib3ggbm8tcmVwZWF0O1xuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLmluZm8tYmFyIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAuaW5mby1iYXIge1xuICAgIHBhZGRpbmctdG9wOiAwLjY4OHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC42ODhyZW07XG4gIFxuICAgICYgLmNvbnRlbnQge1xuICAgICAgZm9udC1zaXplOiAwLjgxM3JlbTtcbiAgICB9XG4gIFxuICAgICYubWFycXVlZS1hY3RpdmUgLmNvbnRlbnQge1xuICAgIFxuICAgICAgJjpiZWZvcmUsXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDNyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAuaW5mby1iYXIge1xuICBcbiAgICAmIC5jb250ZW50IHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgfVxuICBcbiAgICAmLm1hcnF1ZWUtYWN0aXZlIC5jb250ZW50IHtcbiAgICBcbiAgICAgICY6YmVmb3JlLFxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHdpZHRoOiA1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiBpbmZvIGJhciBlbmQgKi9cblxuLyogbmV3c2xldHRlciBnZW5lcmFsbHkgKi9cblxuLm5ld3NsZXR0ZXItcmVnIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tdGhlbWUtY29sb3IpO1xuICBtYXJnaW4tdG9wOiAycmVtO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMi44MTI1cmVtIDA7XG4gIGJvcmRlci1ib3R0b206IDAuMDYzcmVtIHNvbGlkICNmZmZmZmY7XG5cbiAgJiAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICB9XG5cbiAgJiAuZm9ybS1pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICAgIGNvbG9yOiAjMDAwO1xuXG4gICAgJiBpbnB1dCB7XG4gICAgICBoZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMS41NjNyZW07XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG5cbiAgICAmIC5kZXNjIHtcbiAgICAgIGxlZnQ6IDEuMjVyZW07XG4gICAgfVxuXG4gICAgJi5lbXB0eSAuZGVzYyB7XG4gICAgICB0b3A6IDAuOHJlbTtcbiAgICB9XG4gIH1cbiAgXG4gICYgLmdkcHItcmVndWxhdGlvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgICYgLnJvdyB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgICYgLmRlc2Mge1xuICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICB9XG4gICAgJiBpbnB1dCB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gICYgLmJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LXNocmluazogMTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAmIC5zdGF0dXMtbWVzc2FnZXMtY29udGFpbmVyOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gIH1cbiAgJiAuc3RhdHVzLW1lc3NhZ2Uge1xuICAgICYuc3VjY2VzcyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmRhNTFjNzU7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gICAgJi5lcnJvciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjcxNjE2NzU7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmICsgLnBhZ2UtZm9vdGVyIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLm5ld3NsZXR0ZXItcmVnIHtcbiAgICBcbiAgICAmIC5mb3JtLWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE4cmVtKTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtO1xuICAgIH1cbiAgICBcbiAgICAmIC5oYW5kbGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxuICAgICYgLmdkcHItcmVndWxhdGlvbiB7XG4gICAgICBvcmRlcjogMTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICYgLmJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTIuNXJlbTtcbiAgICB9XG4gIH1cbn1cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLm5ld3NsZXR0ZXItcmVnIHtcbiAgICBtYXJnaW4tdG9wOiAyLjVyZW07XG4gIH1cbn1cbkBtZWRpYSAoLS1OT1JNQUxTQ1JFRU4pIHtcbiAgXG4gIC5uZXdzbGV0dGVyLXJlZyB7XG4gICAgcGFkZGluZzogNC42ODc1cmVtIDA7XG5cbiAgICAmIC50aXRsZSB7XG4gICAgICBtYXgtd2lkdGg6IDIwcmVtO1xuICAgIH1cblxuICAgICYgLmZvcm0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cbn1cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAubmV3c2xldHRlci1yZWcge1xuICAgIG1hcmdpbi10b3A6IDNyZW07XG4gIH1cbn1cblxuLyogbmV3c2xldHRlciBnZW5lcmFsbHkgZW5kICovXG5cbi8qIHRoZW1lcyBsaXN0ICovXG5cbi50aGVtZXMge1xuICAtLXRoZW1lcy1nYXA6IDAuODc1cmVtO1xuICAtLXRoZW1lcy1jb2xzOiAyO1xuXG4gICYgLnRoZW1lcy1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgJiAudGhlbWUtaXRlbSB7XG4gICAgICAvKiBzaXJrYSBzbG91cGNlID0gMTAwJSAvIHBvY2V0IHNsb3VwY3UgLSBjZWxrb3ZhIHNpcmthIHZzZWNoIG1lemVyIC8gcG9jZXQgc2xvdXBjdSAqL1xuICAgICAgLyogY2Vsa292YSBzaXJrYSB2c2VjaCBtZXplciA9IChwb2NldCBzbG91cGN1IC0gMSkgKiBzaXJrYSBqZWRuZSBtZXplcnkgKi9cbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyB2YXIoLS10aGVtZXMtY29scykgLSB2YXIoLS10aGVtZXMtZ2FwKSAqICh2YXIoLS10aGVtZXMtY29scykgLSAxKSAvIHZhcigtLXRoZW1lcy1jb2xzKSk7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygxMDAlIC8gdmFyKC0tdGhlbWVzLWNvbHMpIC0gdmFyKC0tdGhlbWVzLWdhcCkgKiAodmFyKC0tdGhlbWVzLWNvbHMpIC0gMSkgLyB2YXIoLS10aGVtZXMtY29scykpO1xuICAgICAgbWFyZ2luOiAwIHZhcigtLXRoZW1lcy1nYXApIDEuMjVyZW0gMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuXG4gICAgICAmIC5pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgJiAuaW5mbyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgY29sb3I6IHZhcigtLWRhcmtlci1ibHVlKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXI6IDAuMXJlbSBzb2xpZCB2YXIoLS1kYXJrZXItYmx1ZSk7XG4gICAgICAgIHBhZGRpbmc6IDAgMC4yNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNDMsIDI0MywgMjQzLCAwLjkzKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwcyBsaW5lYXIgMzAwbXMsIG9wYWNpdHkgMzAwbXM7XG5cbiAgICAgICAgJiAudGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICAgICAgfVxuICAgICAgICAmIC5wZXJleCB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICAgICAgfVxuICAgICAgICAmIC5idXR0b24ge1xuICAgICAgICAgIHBhZGRpbmc6IDAuMXJlbTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAmIC5pbmZvIHtcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwcyBsaW5lYXIgMHMsIG9wYWNpdHkgMzAwbXM7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMzVyZW0pIHsgLyogNTYwcHggKi9cbiAgLnRoZW1lcyB7XG4gICAgLS10aGVtZXMtY29sczogMztcblxuICAgICYgLnRoZW1lcy1saXN0IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAmIC50aGVtZS1pdGVtIHtcbiAgICAgICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLXRoZW1lcy1nYXApO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJiAuaW5mbyB7XG4gICAgICAgICAgJiAudGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmIC5wZXJleCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1USU5ZU0NSRUVOKSB7XG4gIC50aGVtZXMge1xuICAgICYgLnRoZW1lcy1saXN0IHtcbiAgICAgICYgLnRoZW1lLWl0ZW0ge1xuICAgICAgICAmIC5pbmZvIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAuNXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgLnRoZW1lcyB7XG4gICAgJiAudGhlbWVzLWxpc3Qge1xuICAgICAgJiAudGhlbWUtaXRlbSB7XG4gICAgICAgICYgLmluZm8ge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMXJlbTtcblxuICAgICAgICAgICYgLmJ1dHRvbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjNyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1MSUdIVFNDUkVFTikge1xuICAudGhlbWVzIHtcbiAgICAmIC50aGVtZXMtbGlzdCB7XG4gICAgICAmIC50aGVtZS1pdGVtIHtcbiAgICAgICAgJiAuaW5mbyB7XG4gICAgICAgICAgcGFkZGluZzogMCAycmVtO1xuXG4gICAgICAgICAgJiAudGl0bGUsICYgLnBlcmV4IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgfVxuICAgICAgICAgICYgLmJ1dHRvbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICAudGhlbWVzIHtcbiAgICAtLXRoZW1lcy1jb2xzOiA0O1xuXG4gICAgJiAudGhlbWVzLWxpc3Qge1xuICAgICAgJiAudGhlbWUtaXRlbSB7XG4gICAgICAgICY6bnRoLWNoaWxkKDNuKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS10aGVtZXMtZ2FwKTtcbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZCg0bikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tTk9STUFMU0NSRUVOKSB7XG4gIC50aGVtZXMge1xuICAgIC0tdGhlbWVzLWdhcDogMS44NzVyZW07XG5cbiAgICAmIC50aGVtZXMtbGlzdCB7XG4gICAgICAmIC50aGVtZS1pdGVtIHtcblxuICAgICAgICAmIC5pbmZvIHtcbiAgICAgICAgICAmIC50aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMTVyZW07XG4gICAgICAgICAgfVxuICAgICAgICAgICYgLnBlcmV4IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgLnRoZW1lcyB7XG4gICAgJiAudGhlbWVzLWxpc3Qge1xuICAgICAgJiAudGhlbWUtaXRlbSB7XG4gICAgICAgICYgLmluZm8ge1xuICAgICAgICAgICYgLnRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJiAucGVyZXgge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgICAgICAgfVxuICAgICAgICAgICYgLmJ1dHRvbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjVlbSAxLjVyZW07XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIHRoZW1lcyBsaXN0IGVuZCAqL1xuXG4vKiBwYWdlIGZvb3RlciBnZW5lcmFsbHkgKi9cblxuLnBhZ2UtZm9vdGVyIHtcbiAgcGFkZGluZzogMnJlbSAwIDAgMDtcbiAgbWFyZ2luLXRvcDogNHJlbTtcbiAgYmFja2dyb3VuZDogdmFyKC0tdGhlbWUtY29sb3IpO1xuICBjb2xvcjogI2ZmZjtcblxuICAmIC5mb290ZXItbWFpbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgJiAubG9nbyB7XG4gICAgbWFyZ2luOiAwIDAgMS44MTI1cmVtIDA7XG4gICAgJiBpbWcge1xuICAgICAgd2lkdGg6IDlyZW07XG4gICAgfVxuICB9XG5cbiAgJiAuY29tcGxldGl2ZS1tZW51cyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luOiAwIDAgM3JlbSAwO1xuXG4gICAgJiAubGluayB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICB9XG5cbiAgICAmIC5jb21wbGV0aXZlLW1lbnU6Zmlyc3QtY2hpbGQge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICB9XG4gIH1cblxuICAmIC5jb250YWN0IHtcbiAgICBcbiAgICAmIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBtYXJnaW46IDAgMCAxLjY4cmVtIDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgIH1cbiAgICBcbiAgICAmIHAge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICBcbiAgICAmIC5idXR0b24ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDEuMThyZW0gYXV0bztcbiAgICAgIHdpZHRoOiAxOC43NXJlbTtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmIC5zb2NpYWxzIHtcbiAgICBtYXJnaW4tdG9wOiA0LjM3NXJlbTtcbiAgfVxuXG4gICYgLmNhcmQtbG9nb3Mge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC5wYWdlLWZvb3RlciB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU5PUk1BTFNDUkVFTikge1xuICBcbiAgLnBhZ2UtZm9vdGVyIHtcbiAgICBtYXJnaW4tdG9wOiA1LjVyZW07XG5cbiAgICAmIC5mb290ZXItbWFpbiB7XG4gICAgICBmbGV4LWZsb3c6IHJvdztcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgICYgLmxvZ28ge1xuICAgICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICAgICYgaW1nIHtcbiAgICAgICAgd2lkdGg6IDZyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiAuY29tcGxldGl2ZS1tZW51cyB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgbWFyZ2luOiAwIDFyZW07XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICYgLml0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgIFxuICAgICAgJiAubGluayB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmIC5zb2NpYWxzIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAmIC5jb250YWN0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgIFxuICAgICAgJiBoMyB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG4gICAgICBcbiAgICAgICYgcCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG4gICAgICBcbiAgICAgICYgLmJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxNnJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5wYWdlLWZvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogNnJlbTtcblxuICAgICYgLmxvZ28gaW1nIHtcbiAgICAgIHdpZHRoOiA5cmVtO1xuICAgIH1cblxuICAgICYgLmNvbnRhY3QgLmJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTguNzVyZW07XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1MQVJHRVNDUkVFTikge1xuXG4gIC5wYWdlLWZvb3RlciB7XG4gICAgJiAuY29tcGxldGl2ZS1tZW51cyAuY29tcGxldGl2ZS1tZW51OmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMy4yNXJlbTtcbiAgICB9XG4gIH1cbn1cblxuLyogcGFnZSBmb290ZXIgZ2VuZXJhbGx5IGVuZCAqL1xuXG4vKiBzaXRlcyBpbmZvICovXG5cbi5zaXRlcy1pbmZvIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDByZW0gMHJlbSAwLjc1cmVtIDByZW07XG4gIFxuICAmIHAge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIH1cbiAgXG4gICYgKiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC5zaXRlcy1pbmZvIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAuc2l0ZXMtaW5mbyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLnNpdGVzLWluZm8ge1xuICB9XG59XG5cbi8qIHNpdGVzIGluZm8gZW5kICovXG5cbi8qIGNvcHlyaWdodCAqL1xuXG4uY29weXJpZ2h0IHtcbiAgcGFkZGluZzogMCAwIDAuNzVyZW0gMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiA0LjI1cmVtO1xuICBcbiAgJiAuZGVzYyB7XG4gICAgbWFyZ2luOiAwcmVtIDByZW0gMHJlbSAwcmVtO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgfVxuICBcbiAgJiAubGluayB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLmNvcHlyaWdodCB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLmNvcHlyaWdodCB7XG4gICAgcGFkZGluZzogMS4yNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAyLjVyZW07XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5jb3B5cmlnaHQge1xuICB9XG59XG5cbi8qIGNvcHlyaWdodCBlbmQgKi9cblxuLyogY29va2llcyB3YXJuaW5nICovXG5cbi5jb29raWVzLXdhcm5pbmcge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6IDExMDA7XG4gIHBhZGRpbmc6IDAuODc1cmVtIDByZW07XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIG1pbi13aWR0aDogMjByZW07XG4gIGJveC1zaGFkb3c6IDAgMCAwLjM3NXJlbSAjMDAwNDtcbiAgXG4gICYgLmlubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gIFxuICAmIC5kZXNjIHtcbiAgICBmbGV4OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBtYXJnaW46IDByZW0gMHJlbSAwLjc1cmVtIDByZW07XG4gIH1cbiAgXG4gICYgLmJ1dHRvbiB7XG4gICAgZmxleDogbm9uZTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1hcmdpbjogMHJlbSAwcmVtIDAuMjVyZW0gMHJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC5jb29raWVzLXdhcm5pbmcge1xuICAgIFxuICAgICYgLmlubmVyIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIH1cbiAgICBcbiAgICAmIC5kZXNjIHtcbiAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW46IDByZW0gMS41cmVtIDByZW0gMHJlbTtcbiAgICB9XG4gIFxuICAgICYgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDByZW0gMHJlbSAwcmVtIDByZW07XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC5jb29raWVzLXdhcm5pbmcge1xuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAuY29va2llcy13YXJuaW5nIHtcbiAgfVxufVxuXG4vKiBjb29raWVzIHdhcm5pbmcgZW5kICovXG5cbi8qIGRpdmlkZXIgKi9cblxuLmRpdmlkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjEyNXJlbTtcbiAgYmFja2dyb3VuZDogdmFyKC0tbGlnaHQtZ3JleSk7XG4gIG1hcmdpbjogMS4yNXJlbSAwIDEuODc1cmVtIDA7XG59XG5cbi8qIGRpdmlkZXIgZW5kICovXG5cbi8qIHNlbyB0ZXh0ICovXG5cbi5zZW8tdGV4dCB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcblxuICAuaG9tZXBhZ2UgJiB7XG4gICAgY29sb3I6IHZhcigtLWRhcmtlci1ibHVlKTtcbiAgfVxuXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcblxuICAuc2VvLXRleHQge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcblxuICAuc2VvLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG5cbiAgLnNlby10ZXh0IHtcbiAgfVxufVxuXG4vKiBzZW8gdGV4dCBlbmQgKi8iLCJAY2hhcnNldCBcInV0Zi04XCI7XG5cbi8qIENTUyBTT1VCT1IgUFJPIFbFoEVDSE5BIE1FTlUgUFJPSkVLVFUgKi9cblxuLyogbW9iaWxlIG1lbnUgKi9cblxuLm1vYmlsZS1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGxlZnQ6IDA7XG4gIHRvcDogMTAwJTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZDogdmFyKC0tdGhlbWUtY29sb3IpO1xuICBcbiAgJi5vcGVue1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIFxuICAmIC5jYXRlZ29yaWVzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcbiAgfVxuXG4gICYgLnBhZ2VzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcbiAgfVxuICBcbiAgJiAubGlzdCB7XG4gICAgbWFyZ2luOiAwcmVtO1xuICAgIHBhZGRpbmc6IDByZW07XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGdyaWQtY29sdW1uOiAxLy0xO1xuICB9XG4gIFxuICAmIC5pdGVtIHtcbiAgICBtYXJnaW46IDByZW07XG4gICAgcGFkZGluZzogMHJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDByZW0gMC4yNXJlbTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDFmcik7XG4gIH1cbiAgXG4gICYgLmxpbmsge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgcGFkZGluZzogMC4yNXJlbSAwIDAuMjVyZW0gdmFyKC0tcGFnZS1wYWRkaW5nKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuICBcbiAgJiAuaW1hZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvKiAxLmxldmVsICovXG4gIFxuICAmIC5saXN0LTEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDIuODc1cmVtO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxuICBcbiAgLm9wZW5lci0xIHtcbiAgICBtYXJnaW4tdG9wOiAwLjEyNXJlbTtcbiAgfVxuICBcbiAgJiAubGluay0xIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cbiAgXG4gICYgLml0ZW0tMTpmaXJzdC1vZi10eXBlID4gLmxpbmstMSB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG4gIFxuICAvKiAyLmxldmVsICovXG4gIFxuICAubGlzdC0yIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG4gIH1cbiAgXG4gICYgLmxpbmstMiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cbiAgXG4gIC8qIDMubGV2ZWwgKi9cbiAgXG4gIC5saXN0LTMge1xuICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgfVxuICBcbiAgJiAubGluay0zIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gIH1cbiAgXG4gIC8qIG9wZW5lciAqL1xuICBcbiAgJiAub3BlbmVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcbiAgICAmOmFmdGVyLFxuICAgICY6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAwLjYyNXJlbTtcbiAgICAgIGhlaWdodDogMC4xMjVyZW07XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kYXJrZXItYmx1ZSk7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSAwLjMxM3JlbSk7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gMC4wNjNyZW0pO1xuICAgICAgdHJhbnNpdGlvbjogMC4zcztcbiAgICB9XG4gICAgXG4gICAgJjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuICB9XG4gIFxuICAmIC5pdGVtLm9wZW4gPiAub3BlbmVyOmFmdGVyLFxuICAmIC5pdGVtLm9wZW4gPiAuYmxvY2sgPiAub3BlbmVyOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLm1vYmlsZS1tZW51IHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAubW9iaWxlLW1lbnUsXG4gIC5tb2JpbGUtbWVudS5vcGVue1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5tb2JpbGUtbWVudSB7XG4gIH1cbn1cblxuLyogbW9iaWxlIG1lbnUgZW5kICovXG5cbi8qIGluZm8gbWVudSAqL1xuXG4uaW5mby1tZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAuaW5mby1tZW51IHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAuaW5mby1tZW51IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgXG4gICAgJiAubGlzdCB7XG4gICAgICBtYXJnaW46IDByZW07XG4gICAgICBwYWRkaW5nOiAwcmVtO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIH1cbiAgXG4gICAgJiAuaXRlbSB7XG4gICAgICBtYXJnaW46IDByZW07XG4gICAgICBwYWRkaW5nOiAwcmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgXG4gICAgJiAuaXRlbTpob3ZlciA+IC5saXN0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgXG4gICAgJiAubGluayB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbSAzcmVtIDAuNXJlbSAwLjc1cmVtO1xuICAgIH1cbiAgXG4gICAgLyogMS5sZXZlbCAqL1xuICAgIFxuICAgICYgLmxpc3QtMSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIFxuICAgICYgLml0ZW0tMSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIFxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICBcbiAgICAmIC5saW5rLTEge1xuICAgICAgcGFkZGluZzogMC4yNXJlbSAwO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgIH1cbiAgXG4gICAgJiAuaXRlbTpob3ZlciAubGluay0xLFxuICAgICYgLml0ZW0uYWN0aXZlIC5saW5rLTEge1xuICAgICAgY29sb3I6ICM4ODg7XG4gICAgfVxuICBcbiAgICAvKiAyLmxldmVsICovXG4gICAgXG4gICAgJiAubGlzdC0yIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IC0wLjc1cmVtO1xuICAgICAgd2lkdGg6IDEzLjVyZW07XG4gICAgICB6LWluZGV4OiAyMDA7XG4gICAgfVxuICAgIFxuICAgICYgLmxpbmstMiB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRTBFMEUwO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgIH1cbiAgXG4gICAgLyogMy5sZXZlbCAqL1xuICAgIFxuICAgICYgLmxpbmstMyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjQzNDM0MzO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgIH1cbiAgXG4gICAgLyogb3BlbmVyICovXG4gIFxuICAgICYgLm9wZW5lciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDIuNDM4cmVtO1xuICAgICAgaGVpZ2h0OiAyLjQzOHJlbTtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDAxO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIFxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMC4xMjVyZW0gc29saWQgdmFyKC0tYmFzZS1jb2xvcik7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkIHZhcigtLWJhc2UtY29sb3IpO1xuICAgICAgICB3aWR0aDogMC41cmVtO1xuICAgICAgICBoZWlnaHQ6IDAuNXJlbTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAwLjI1cmVtKTtcbiAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDAuMzEzcmVtKTtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4zcztcbiAgICAgIH1cbiAgICB9XG4gIFxuICAgICYgLml0ZW0ub3BlbiA+IC5vcGVuZXI6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gMC4xMjVyZW0pO1xuICAgIH1cbiAgXG4gICAgJiAub3BlbmVyLTEge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5pbmZvLW1lbnUge1xuICB9XG59XG5cbi8qIGluZm8gbWVudSBlbmQgKi9cblxuLyogY29tcGxldGl2ZSBtZW51ICovXG5cbi5jb21wbGV0aXZlLW1lbnUge1xuICBtYXJnaW46IDByZW0gMHJlbSAwLjc1cmVtIDByZW07XG4gIFxuICAmIC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDByZW07XG4gIH1cbiAgXG4gICYgLmxpc3Qge1xuICAgIG1hcmdpbjogMHJlbTtcbiAgICBwYWRkaW5nOiAwcmVtO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cbiAgXG4gIC5saXN0LTIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgXG4gICYgLml0ZW0ge1xuICAgIG1hcmdpbjogMHJlbTtcbiAgICBwYWRkaW5nOiAwcmVtO1xuICB9XG4gIFxuICAmIC5saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLmNvbXBsZXRpdmUtbWVudSB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLmNvbXBsZXRpdmUtbWVudSB7XG4gICAgYm9yZGVyOiAwcmVtO1xuICAgIFxuICAgICYgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFnZS1wYWRkaW5nKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBhZ2UtcGFkZGluZyk7XG4gICAgfVxuICAgIFxuICAgICYgLmxpc3Qge1xuICAgIH1cbiAgICBcbiAgICAmIC5pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBtYXJnaW46IDByZW0gMXJlbSAwcmVtIDByZW07XG4gICAgICBcbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmIC5saW5rIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXI6IDByZW07XG4gICAgICBcbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5jb21wbGV0aXZlLW1lbnUge1xuICB9XG59XG5cbi8qIGNvbXBsZXRpdmUgbWVudSBlbmQgKi9cblxuLyogY2F0ZWdvcnkgbWVudSBob3Jpem9udGFsICovXG5cbi5jYXRlZ29yeS1tZW51LWhvcml6b250YWwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC5jYXRlZ29yeS1tZW51LWhvcml6b250YWwge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcblxuICAuY2F0ZWdvcnktbWVudS1ob3Jpem9udGFsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB6LWluZGV4OiAxNzU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgXG4gICAgJiAuaW5uZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICBcbiAgICAmIC5saXN0IHtcbiAgICAgIG1hcmdpbjogMHJlbTtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgICAmOm5vdCgubGlzdC0yKSB7XG4gICAgICAgIHBhZGRpbmc6IDByZW07XG4gICAgICB9XG4gICAgfVxuICBcbiAgICAmIC5pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBtYXJnaW46IDByZW07XG4gICAgICBwYWRkaW5nOiAwcmVtO1xuXG4gICAgICAmLnRpdGxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICBcbiAgICAmIC5saW5rIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICNmZmY7XG5cbiAgICAgICY6bm90KGEpIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiAudGl0bGUgPiAubGluayB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG5cbiAgICAmIC5waWN0dXJlIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB3aWR0aDogNC41cmVtO1xuICAgICAgbWFyZ2luOiAwcmVtIDYlIDByZW0gMHJlbTtcbiAgICB9XG4gIFxuICAgICYgLmltYWdlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgXG4gICAgJiAuYmxvY2sge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgcGFkZGluZzogMHJlbSAwcmVtIDByZW0gMHJlbTtcbiAgICB9XG4gIFxuICAgIC8qIDEubGV2ZWwgKi9cbiAgXG4gICAgJiAubGlzdC0xIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICBcbiAgICAmIC5pdGVtLTEge1xuICAgICAgbWFyZ2luOiAwcmVtIDByZW0gMHJlbSAwcmVtO1xuICAgICAgcGFkZGluZzogMHJlbSAwcmVtIHZhcigtLWhlYWRlci1wYWRkaW5nKSAwcmVtO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgJiAubGluay0xIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuNHJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnBhcmVudCAubGluay0xIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMzc1cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHdpZHRoOiAwLjdyZW07XG4gICAgICAgICAgaGVpZ2h0OiAwLjdyZW07XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zdHlsZS9pY29ucy9tZW51LWFycm93LnN2Zykgbm8tcmVwZWF0IGNlbnRlciAvIDAuNjg4cmVtIGF1dG87XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgXG4gICAgJiAubGluay0xIHtcbiAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMS43NXJlbSAwLjc1cmVtIDByZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuNHJlbTtcbiAgICAgIH1cbiAgICB9XG4gIFxuICAgIC8qIDIubGV2ZWwgKi9cbiAgICBcbiAgICAmIC5saXN0LTIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiB2YXIoLS1wYWdlLXdpZHRoKTtcbiAgICAgIHBhZGRpbmctdG9wOiAzLjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNi4yNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGFnZS1wYWRkaW5nKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBhZ2UtcGFkZGluZyk7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10aGVtZS1jb2xvcik7XG4gICAgICBib3JkZXItaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh2YXIoLS10aGVtZS1jb2xvciksIHZhcigtLXRoZW1lLWNvbG9yKSkgZmlsbCAwIC8gYXV0byAvIDAgMTAwdnc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICBcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3JkZXItaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh3aGl0ZSwgd2hpdGUpIGZpbGwgMCAvIGF1dG8gLyAwIDEwMHZ3O1xuICAgICAgfVxuXG4gICAgICAmID4gLmxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuXG4gICAgICAgICYgPiAubGlzdCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiAuaXRlbTpob3ZlciB7XG4gICAgICBcbiAgICAgICYgPiAubGluazphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgfVxuXG4gICAgICAmIC5saXN0LTIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmIC5saXN0LTIge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgbWlubWF4KDAsIDFmcikpO1xuICAgICAgZ2FwOiAyLjVyZW0gMXJlbTtcbiAgICB9XG4gIFxuICAgICYgLml0ZW0tMiB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIFxuICAgICYgLmxpbmstMiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIH1cbiAgXG4gICAgJiAubGluay0yOmhvdmVyLFxuICAgICYgLml0ZW0uYWN0aXZlID4gLmxpbmstMixcbiAgICAmIC5pdGVtLmFjdGl2ZSA+IC5ibG9jayA+IC5saW5rLTIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICBcbiAgICAvKiAzLmxldmVsICovXG4gIFxuICAgICYgLml0ZW0tMyB7XG4gICAgICBwYWRkaW5nOiAwIDAuMjVyZW0gMCAwO1xuICAgIH1cbiAgICBcbiAgICAubGlzdC0zLXNwZWNpYWwgLml0ZW0tMyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgJiAubGluay0zIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgfVxuICAgIFxuICAgIC5saXN0LTMtc3BlY2lhbCAubGluay0zIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgXG4gICAgJiAubGluay0zOmhvdmVyLFxuICAgICYgLml0ZW0uYWN0aXZlID4gLmxpbmstMyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIFxuICAgIC8qIG9wZW5lciAqL1xuICAgIFxuICAgICYgLm9wZW5lciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLmNhdGVnb3J5LW1lbnUtaG9yaXpvbnRhbCB7XG4gICAgXG4gICAgJiAubGlzdC0yIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIG1pbm1heCgwLCAxZnIpKTtcbiAgICB9XG4gIH1cbn1cblxuLyogY2F0ZWdvcnkgbWVudSBob3Jpem9udGFsIGVuZCAqL1xuXG4vKiBjYXRlZ29yeSBtZW51IHZlcnRpY2FsICovXG5cbi5jYXRlZ29yeS1tZW51LXZlcnRpY2FsIHtcbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAuY2F0ZWdvcnktbWVudS12ZXJ0aWNhbCB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLmNhdGVnb3J5LW1lbnUtdmVydGljYWwge1xuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAuY2F0ZWdvcnktbWVudS12ZXJ0aWNhbCB7XG4gICAgbWFyZ2luLXRvcDogLTEuMTI1cmVtO1xuICAgIFxuICAgICYgLmxpc3Qge1xuICAgICAgbWFyZ2luOiAwcmVtIDByZW0gMHJlbSAwcmVtO1xuICAgICAgcGFkZGluZzogMHJlbSAwcmVtIDByZW0gMS4yNXJlbTtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIH1cbiAgXG4gICAgJiAuaXRlbSB7XG4gICAgICBtYXJnaW46IDByZW07XG4gICAgICBwYWRkaW5nOiAwcmVtO1xuICAgIH1cbiAgXG4gICAgJiAubGluayB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwLjVyZW0gMHJlbSAwLjVyZW0gMHJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIH1cbiAgXG4gICAgJiAuaXRlbS53aXRoLWNoaWxkcmVuID4gLmxpbms6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwLjEyNXJlbSBzb2xpZCB2YXIoLS1iYXNlLWNvbG9yKTtcbiAgICAgIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkIHZhcigtLWJhc2UtY29sb3IpO1xuICAgICAgd2lkdGg6IDAuNWVtO1xuICAgICAgaGVpZ2h0OiAwLjVlbTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAtMC4xMjVlbTtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAwLjI1ZW0pO1xuICAgIH1cbiAgXG4gICAgJiAuaXRlbS53aXRoLWNoaWxkcmVuLm9wZW4gPiAubGluazphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICBsZWZ0OiAwLjEyNWVtO1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDAuMzc1ZW0pO1xuICAgIH1cbiAgXG4gICAgJiAubGluazpob3ZlcixcbiAgICAmIC5pdGVtLmFjdGl2ZSA+IC5saW5re1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICBcbiAgICAvKiAxLmxldmVsICovXG4gIFxuICAgICYgLmxpc3QtMSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDByZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICBcbiAgICAmIC5pdGVtLTEge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICMwMDAzO1xuICAgIFxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgYm9yZGVyOiAwcmVtO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmIC5saW5rLTEge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMC43NXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xuICAgIH1cbiAgXG4gICAgLyogMi5sZXZlbCAqL1xuICAgIFxuICAgICYgLmxpc3QtMiB7XG4gICAgICBtYXJnaW46IC0wLjVyZW0gMHJlbSAwLjVyZW0gMHJlbTtcbiAgICB9XG4gIH1cbn1cblxuLyogY2F0ZWdvcnkgbWVudSB2ZXJ0aWNhbCBlbmQgKi9cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuIiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuXG4vKiBDU1MgU09VQk9SIFBSTyBEQVNIQk9BUkQgUFJPSkVLVFUgKi9cblxuLyogZGFzaGJvYXJkIGdlbmVyYWxseSAqL1xuXG4uZGFzaGJvYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luOiAwIDAgMCBhdXRvO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xufVxuXG4uc2VhcmNoYm94LW9wZW5lciwgLmxvZ2luLXByZXZpZXcgLml0ZW0sIC5iYXNrZXQtcHJldmlldyB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UsIGJveC1zaGFkb3cgMC4zcyBlYXNlO1xuXG4gICY6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTAuM3JlbSwgMCk7XG4gICAgYm94LXNoYWRvdzogMCAwLjEyNXJlbSAwLjM3NXJlbSByZ2JhKDE1NSwgMTU1LCAxNTUsIDAuNSk7XG4gIH1cbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAuZGFzaGJvYXJkIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAuZGFzaGJvYXJkIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5kYXNoYm9hcmQge1xuICB9XG59XG5cbi8qIGRhc2hib2FyZCBnZW5lcmFsbHkgZW5kICovXG5cbi8qIG1vYmlsZSBtZW51IG9wZW5lciAqL1xuXG4ubW9iaWxlLW1lbnUtb3BlbmVyIHtcbiAgd2lkdGg6IDEuODc1cmVtO1xuICBoZWlnaHQ6IDEuODc1cmVtO1xuICBtYXJnaW46IDByZW0gMHJlbSAwcmVtIC42MjVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3N0eWxlL2ljb25zL21lbnUuc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIDFyZW0gYXV0byAjZmZmO1xuICBcbiAgJi5vcGVuIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3N0eWxlL2ljb25zL21lbnUtY2xvc2Uuc3ZnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDAuODc1cmVtIGF1dG87XG4gIH1cbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAubW9iaWxlLW1lbnUtb3BlbmVyIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAubW9iaWxlLW1lbnUtb3BlbmVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAubW9iaWxlLW1lbnUtb3BlbmVyIHtcbiAgfVxufVxuXG4vKiBtb2JpbGUgbWVudSBvcGVuZXIgKi9cblxuLyogbGFuZ3VhZ2Ugc2VsZWN0ICovXG5cbi5sYW5ndWFnZS1zZWxlY3Qge1xuICBtYXJnaW46IDByZW0gMHJlbSAwcmVtIDAuNXJlbTtcbiAgXG4gICYgLml0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcGFkZGluZzogMC41cmVtIDAuMzEzcmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjRTBFMEUwO1xuICAgIG1hcmdpbjogMHJlbSAwcmVtIDByZW0gMHJlbTtcbiAgICBcbiAgICAmOmhvdmVyLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNDRkNGQ0Y7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLmxhbmd1YWdlLXNlbGVjdCB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLmxhbmd1YWdlLXNlbGVjdCB7XG4gICAgXG4gICAgJiAuaXRlbSB7XG4gICAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAubGFuZ3VhZ2Utc2VsZWN0IHtcbiAgfVxufVxuXG4vKiBsYW5ndWFnZSBzZWxlY3QgZW5kICovXG5cbi8qIGN1cnJlbmN5IHNlbGVjdCAqL1xuXG4uY3VycmVuY3ktc2VsZWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAwLjMxM3JlbTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IDAuMzEzcmVtO1xuICBkaXNwbGF5OiBub25lO1xuICBcbiAgQG5lc3QgLm1vYmlsZS1tZW51ICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAuNjI1cmVtIDEuNzVyZW0gMC42MjVyZW07XG4gIH1cbiAgXG4gICYgLml0ZW0ge1xuICAgIGZsZXg6IG5vbmU7XG4gICAgd2lkdGg6IDEuODc1cmVtO1xuICAgIGhlaWdodDogMS44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuODc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogdmFyKC0tZGFya2VyLWJsdWUpO1xuICAgIGZvbnQtc2l6ZTogMC42ODhyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgIFxuICAgICY6aG92ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMC4zcmVtLCAwKTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMC4xMjVyZW0gMC4zNzVyZW0gcmdiKDE1NSAxNTUgMTU1IC8gNTAlKTtcbiAgICB9XG4gIH1cbiAgXG4gICYgLmZvcm0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgXG4gICYgLnN5bWJvbCB7XG4gICAgZGlzcGxheTpub25lO1xuICB9XG59XG5cbkBtZWRpYSAoLS1USU5ZU0NSRUVOKSB7XG4gIFxuICAuY3VycmVuY3ktc2VsZWN0IHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC5jdXJyZW5jeS1zZWxlY3Qge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC5jdXJyZW5jeS1zZWxlY3Qge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICBnYXA6IDAuNjI1cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIFxuICAgICYgLml0ZW0ge1xuICAgICAgd2lkdGg6IDMuMTI1cmVtO1xuICAgICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5jdXJyZW5jeS1zZWxlY3Qge1xuICB9XG59XG5cbi8qIGN1cnJlbmN5IHNlbGVjdCBlbmQgKi9cblxuLyogYmFza2V0IHByZXZpZXcgKi9cblxuLmJhc2tldC1wcmV2aWV3IHtcbiAgYm9yZGVyLXJhZGl1czogMS41NjNyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiAwLjMzOHJlbSAwcmVtO1xuICBtaW4td2lkdGg6IDEuODc1cmVtO1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3N0eWxlL2ljb25zL2Jhc2tldC5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIC8gMS40Mzc1cmVtIGF1dG8gI2ZmZjtcbiAgbWFyZ2luOiAwcmVtIDByZW0gMHJlbSAwLjMxM3JlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIFxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OidcXDAwYTAnO1xuICB9XG5cbiAgJiAuaXRlbXMtY291bnQge1xuICAgIHdpZHRoOiAyLjA2M3JlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDQ5JTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICB9XG4gICYgLnRleHQge1xuICAgIGNvbG9yOiB2YXIoLS1vcmFuZ2UpO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAuYmFza2V0LXByZXZpZXcge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC5iYXNrZXQtcHJldmlldyB7XG4gICAgd2lkdGg6IDMuMTI1cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmc6IDAuODYzcmVtIDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyLjA2M3JlbSBhdXRvO1xuXG4gICAgJiAuaXRlbXMtY291bnQge1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLmJhc2tldC1wcmV2aWV3IHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTEFSR0VTQ1JFRU4pIHtcbiAgXG4gIC5iYXNrZXQtcHJldmlldyB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMS4yNXJlbSBjZW50ZXI7XG4gICAgcGFkZGluZy1yaWdodDogMy4zMTNyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICBcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgfVxuICBcbiAgICAmIC50ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICB9XG4gIFxuICAgICYgLml0ZW1zLWNvdW50IHtcbiAgICAgIHRvcDogNDglO1xuICAgICAgcmlnaHQ6IC4yMnJlbTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbi8qIGJhc2tldCBwcmV2aWV3IGVuZCAqL1xuXG4vKiBsb2dpbiBwcmV2aWV3ICovXG5cbi5sb2dpbi1wcmV2aWV3IHtcbiAgbWFyZ2luOiAwcmVtIDByZW0gMHJlbSAwLjMxM3JlbTtcbiAgXG4gICYgLml0ZW0ge1xuICAgIHdpZHRoOiAxLjg3NXJlbTtcbiAgICBoZWlnaHQ6IDEuODc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc3R5bGUvaWNvbnMvdXNlci5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIC8gMXJlbSBhdXRvICNmZmY7XG4gICAgXG4gICAgJi5sb2dvdXQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OidcXDAwYTAnO1xuICAgIH1cbiAgICBcbiAgICAmIC50ZXh0IHtcbiAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAubG9naW4tcHJldmlldyB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLmxvZ2luLXByZXZpZXcge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICBcbiAgICAmIC5pdGVtIHtcbiAgICAgIHdpZHRoOiAzLjEyNXJlbTtcbiAgICAgIGhlaWdodDogMy4xMjVyZW07XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEuNjI1cmVtIGF1dG87XG4gICAgICBcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5sb2dpbi1wcmV2aWV3IHtcbiAgfVxufVxuXG4vKiBsb2dpbiBwcmV2aWV3IGVuZCAqL1xuXG4vKiBzZWFyY2hib3ggb3BlbmVyICovXG5cbi5zZWFyY2hib3gtb3BlbmVyIHtcbiAgd2lkdGg6IDEuODc1cmVtO1xuICBoZWlnaHQ6IDEuODc1cmVtO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zdHlsZS9pY29ucy9zZWFyY2guc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIDFyZW0gYXV0byAjZmZmO1xuICBtYXJnaW46IDA7XG4gIFxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OidcXDAwYTAnO1xuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLnNlYXJjaGJveC1vcGVuZXIge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC5zZWFyY2hib3gtb3BlbmVyIHtcbiAgICB3aWR0aDogMy4xMjVyZW07XG4gICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEuNjI1cmVtIGF1dG87XG4gICAgdHJhbnNpdGlvbjogMC4zcztcbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLnNlYXJjaGJveC1vcGVuZXIge1xuICB9XG59XG5cbi8qIHNlYXJjaGJveCBvcGVuZXIgKi9cblxuLyogc2VhcmNoYm94IGdlbmVyYWxseSAqL1xuXG4uc2VhcmNoYm94IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogdmFyKC0tdGhlbWUtY29sb3IpO1xuICB6LWluZGV4OiAxNzU7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMHJlbTtcbiAgdG9wOiAxMDAlO1xuICBkaXNwbGF5OiBub25lO1xuICBcbiAgJiAuaW5uZXIge1xuICAgIG1heC13aWR0aDogMjguMTI1cmVtO1xuICB9XG4gIFxuICAmIC5mb3JtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgXG4gICYgaW5wdXQge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBtYXJnaW46IDByZW0gYXV0bztcbiAgICBoZWlnaHQ6IDIuNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogNS4xMjVyZW07XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zdHlsZS9pY29ucy9sb2FkZXItMy5naWYpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xMHJlbSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxLjMxM3JlbSBhdXRvO1xuICAgIGJvcmRlcjogMDtcbiAgXG4gICAgJi5zZWFyY2hpbmcge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMy4zMTNyZW0pIGNlbnRlcjtcbiAgICB9XG4gIH1cbiAgXG4gICYgLnN1Ym1pdCB7XG4gICAgd2lkdGg6IDIuNzVyZW07XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMHJlbTtcbiAgICB0b3A6IDByZW07XG4gICAgei1pbmRleDogMTA7XG4gICAgYmFja2dyb3VuZDpcbiAgICAgIGxpbmVhci1ncmFkaWVudCh2YXIoLS1ib3JkZXItY29sb3IpLCB2YXIoLS1ib3JkZXItY29sb3IpKSBsZWZ0IGNlbnRlciAvIDFweCA3NSUgbm8tcmVwZWF0LFxuICAgICAgdXJsKC4uL2ltYWdlcy9zdHlsZS9pY29ucy9zZWFyY2guc3ZnKSBjZW50ZXIgY2VudGVyIC8gMS4yNXJlbSBhdXRvIG5vLXJlcGVhdDtcbiAgICBcbiAgICAmIC50ZXh0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLnNlYXJjaGJveCB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLnNlYXJjaGJveCB7XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5zZWFyY2hib3gge1xuICB9XG59XG5cbi8qIHNlYXJjaGJveCBnZW5lcmFsbHkgZW5kICovXG5cbi8qIHNlYXJjaGJveCBzdWdnZXN0aW9ucyAqL1xuXG4uc2VhcmNoYm94LXN1Z2dlc3Rpb25zIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDJweCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMXB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBtYXgtaGVpZ2h0OiAxOC43NXJlbTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGJveC1zaGFkb3c6IDAgMCAwLjE4OHJlbSByZ2JhKDAsMCwwLDAuNCk7XG4gIFxuICAmIC5pdGVtIHtcbiAgfVxuICBcbiAgJiAubm8tc3VnZ2VzdGlvbnMge1xuICAgIG1hcmdpbjogMC41cmVtIDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICB9XG4gIFxuICAmIC5saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0KTtcbiAgICBcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgfVxuICAgIFxuICAgICYgLmltYWdlIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB3aWR0aDogMS44NzVyZW07XG4gICAgICBtYXJnaW46IDAuMjVyZW0gMC43NXJlbSAwcmVtIDByZW07XG4gICAgfVxuICAgIFxuICAgICYgLnRleHQge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGNvbG9yOiAjNDQ0O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIFxuICAgICAgJiAuZGVzYyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLnNlYXJjaGJveC1zdWdnZXN0aW9ucyB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLnNlYXJjaGJveC1zdWdnZXN0aW9ucyB7XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5zZWFyY2hib3gtc3VnZ2VzdGlvbnMge1xuICB9XG59XG5cbi8qIHNlYXJjaGJveCBzdWdnZXN0aW9uIGVuZCAqL1xuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuIiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuXG4vKiBDU1MgU09VQk9SIFBSTyBFU0hPUE9Ww4kgxIzDgVNUSSBQUk9KRUtUVSAqL1xuXG4vKiBwcm9kdWN0cyBwYWdlIGxheW91dCAqL1xuXG4ucHJvZHVjdHMtcGFnZSB7XG4gICYgLmJyZWFkY3J1bWJzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIH1cbn1cblxuLyogcHJvZHVjdHMgcGFnZSBsYXlvdXQgZW5kICovXG5cbi8qIHBpZWNlcyBib3ggZ2VuZXJhbGx5ICovXG5cbi5waWVjZXMtYm94IHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAzcmVtO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBcbiAgJiBpbnB1dCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gICAgd2lkdGg6IDMuNXJlbTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwcmVtIDAuMjVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgXG4gICAgLmFkZC10by1iYXNrZXQtcG9wdXAtYWN0aXZlLWJveCAmIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDEuMzEzcmVtO1xuICAgICAgd2lkdGg6IDIuODc1cmVtO1xuICAgICAgZmxleDogbm9uZTtcbiAgICAgIFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxuICAmIC5oYW5kbGUge1xuICAgIGZsZXg6IG5vbmU7XG4gICAgd2lkdGg6IDMuMTI1cmVtO1xuICAgIGhlaWdodDogMy4xMjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWRhcmtlci1ibHVlKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogMC4zcztcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgXG4gICAgLmFkZC10by1iYXNrZXQtcG9wdXAtYWN0aXZlLWJveCAmIHtcbiAgICAgIHdpZHRoOiAyLjVyZW07XG4gICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICB9XG4gICAgXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlcntcbiAgICAgIHdpZHRoOiAwLjc1cmVtO1xuICAgICAgaGVpZ2h0OiAwLjEyNXJlbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSAwLjM3NXJlbSk7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gMXB4KTtcbiAgICB9XG4gICAgXG4gICAgJi5hZGQ6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuICAgIFxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzAwNWY5MjtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAucGllY2VzLWJveCB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLnBpZWNlcy1ib3gge1xuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAucGllY2VzLWJveCB7XG4gIH1cbn1cblxuLyogcGllY2VzIGJveCBnZW5lcmFsbHkgZW5kICovXG5cbi8qIHByb2R1Y3QgdGFncyBnZW5lcmFsbHkgKi9cblxuLnByb2R1Y3QtdGFncyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC42MjVyZW07XG4gIHRvcDogMHJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgXG4gICYgLnRhZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxLjYyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42MjVyZW07XG4gICAgcGFkZGluZzogMCAuNzVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICBtYXJnaW46IDAgYXV0byAuMjVyZW0gMDtcbiAgICBcbiAgICAmLnNhbGUge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tcmVkKTtcbiAgICB9XG4gICAgXG4gICAgJi5hY3Rpb24ge1xuICAgICAgYmFja2dyb3VuZDogIzJkYTUxYztcbiAgICB9XG4gICAgXG4gICAgJi5uZXcge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGFya2VyLWJsdWUpO1xuICAgIH1cbiAgICBcbiAgICAmLnRvcCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNGZiM2Q0O1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC5wcm9kdWN0LXRhZ3Mge1xuICAgIGxlZnQ6IC43NXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAucHJvZHVjdC10YWdzIHtcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAucHJvZHVjdC10YWdzIHtcbiAgICBsZWZ0OiAxLjI1cmVtO1xuICB9XG59XG5cbi8qIHByb2R1Y3QgdGFncyBnZW5lcmFsbHkgZW5kICovXG5cbi8qIGNhdGVnb3J5IGludHJvICovXG5cbi5jYXRlZ29yeS1pbnRybyB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIFxuICAmIC5icmVhZGNydW1icyB7XG4gIH1cbiAgXG4gICYgLmluZm97XG4gICAgcGFkZGluZy10b3A6IDEuMjVyZW07XG4gIH1cbiAgXG4gICYgOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDByZW07XG4gICAgcGFkZGluZy1ib3R0b206IDByZW07XG4gIH1cblxuICAmIC5oZWFkbGluZSB7XG4gICAgY29sb3I6IHZhcigtLWRhcmtlci1ibHVlKTtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAuMTI1cmVtIHNvbGlkIHZhcigtLWxpZ2h0LWJsdWUpO1xuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLmNhdGVnb3J5LWludHJvIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAuY2F0ZWdvcnktaW50cm8ge1xuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAuY2F0ZWdvcnktaW50cm8ge1xuICB9XG59XG5cbi8qIGNhdGVnb3J5IGludHJvIGVuZCAqL1xuXG4vKiBzdWJjYXRlZ29yaWVzICovXG5cbi5zdWJjYXRlZ29yaWVzIHtcbiAgXG4gICYgLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBcbiAgJiAuaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgYm9yZGVyOiAwLjEyNXJlbSBzb2xpZCAjMDAwMztcbiAgICBcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjojMDAwNztcbiAgICB9XG4gIH1cbiAgXG4gICYgLmltYWdlIHtcbiAgICBmbGV4OiBub25lO1xuICAgIHdpZHRoOiAyLjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIH1cbiAgXG4gICYgLnRpdGxlIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWFyZ2luOiAwcmVtIDByZW0gMHJlbSBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgbWF4LWhlaWdodDogMi44ZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLnN1YmNhdGVnb3JpZXMge1xuXG4gICAgJiAuY29udGVudCB7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC5zdWJjYXRlZ29yaWVzIHtcbiAgICBcbiAgICAmIC5jb250ZW50IHtcbiAgICAgIGdhcDogMXJlbTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5zdWJjYXRlZ29yaWVzIHtcbiAgICBcbiAgICAmIC5jb250ZW50IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDFmcik7XG4gICAgfVxuICB9XG59XG5cbi8qIHN1YmNhdGVnb3JpZXMgZW5kICovXG5cbi8qIHByb2R1Y3RzIGluZm8gKi9cblxuLnByb2R1Y3RzLWluZm8ge1xuICBwYWRkaW5nOiAwLjVyZW0gMHJlbSAwLjg3NXJlbSAwcmVtO1xuICBcbiAgJiAuaW5uZXIgOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDByZW07XG4gICAgcGFkZGluZy1ib3R0b206IDByZW07XG4gIH1cbiAgXG4gICYgLmhlYWRsaW5lIHtcbiAgfVxuICBcbiAgJiAucGVyZXgge1xuICAgIG1hcmdpbjogMHJlbSAwcmVtIDByZW0gMHJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC5wcm9kdWN0cy1pbmZvIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAucHJvZHVjdHMtaW5mbyB7XG4gICAgcGFkZGluZzogMS41cmVtIDByZW0gMi44NzVyZW0gMHJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLnByb2R1Y3RzLWluZm8ge1xuICB9XG59XG5cbi8qIHByb2R1Y3RzIGluZm8gZW5kICovXG5cbi8qIHByb2R1Y3RzIGdlbmVyYWxseSAqL1xuXG4ucHJvZHVjdHMge1xuICBcbiAgJi5wYXJ0LXNpemUge1xuICAgIFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW47XG5cbiAgICAmIC5zb3J0LXdyYXBwZXIge1xuICAgICAgb3JkZXI6IDE7XG4gICAgICBcbiAgICAgICYubW9iaWxlIHtcbiAgICAgICAgb3JkZXI6IDE1O1xuICAgICAgfVxuICAgICAgXG4gICAgICAmLmRlc2t0b3Age1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmIC5vdmVydmlldyB7XG4gICAgICBvcmRlcjogMjtcbiAgICB9XG5cbiAgICAmIC5maWx0ZXJzLXRvZ2dsZSB7XG4gICAgICBcbiAgICAgICYubW9iaWxlIHtcbiAgICAgICAgXG4gICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICBvcmRlcjogNTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgIG9yZGVyOiAxMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgXG4gICAgICAmLmRlc2t0b3Age1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgXG4gICAgICAmIC5kaXZpZGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgJiAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tTElHSFRTQ1JFRU4pIHtcblxuICAucHJvZHVjdHMge1xuICAgIFxuICAgICYucGFydC1zaXplIHtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLnByb2R1Y3RzIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLnByb2R1Y3RzIHtcbiAgICBcbiAgICAmLnBhcnQtc2l6ZSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcblxuICAgICAgJiA+ICo6bnRoLWNoaWxkKDJuIC0gMSkge1xuICAgICAgICB3aWR0aDogMjByZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMnJlbTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgJiA+ICo6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMnJlbSk7XG4gICAgICB9XG5cbiAgICAgICYgLmZpbHRlcnMtdG9nZ2xlIHtcbiAgICAgICAgXG4gICAgICAgICYubW9iaWxlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLmRlc2t0b3Age1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIFxuICAgICAgICAgICYgLmhpZGUge1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAmICsgLmRpdmlkZXIge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmIC5hcnJhbmdlbWVudCB7XG4gICAgICAgIFxuICAgICAgICAmLmhpZGUgKyAqIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmIC5zb3J0LXdyYXBwZXIsICYgLm92ZXJ2aWV3IHtcbiAgICAgICAgb3JkZXI6IHVuc2V0O1xuICAgICAgfVxuICAgICAgXG4gICAgICAmIC5zb3J0LXdyYXBwZXIge1xuICAgICAgICBcbiAgICAgICAgJi5tb2JpbGUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYuZGVza3RvcCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIFxuICAgICAgJiAuc29ydCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDIwcmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiBwcm9kdWN0cyBnZW5lcmFsbHkgZW5kICovXG5cbi8qIHByb2R1Y3RzIGFycmFuZ2VtZW50ICovXG5cbi5wcm9kdWN0cyAuYXJyYW5nZW1lbnQge1xuICBtYXJnaW4tYm90dG9tOiAwcmVtO1xuICBcbiAgJiAuY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmIC5kaXZpZGVyOmZpcnN0LWNoaWxkIHtcbiAgfVxuXG4gICYgLmFjdGl2ZS1maWx0ZXJzIHtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuXG4gICAgJiAuaXRlbXMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBnYXA6IDAuNzVyZW07XG4gICAgfVxuXG4gICAgJiAuaXRlbSB7XG4gICAgICBoZWlnaHQ6IDIuNTYzcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuNTYzcmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMS41NjNyZW07XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBjb2xvcjogIzk5OTk5OTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDAgM3JlbSAwIDEuODc1cmVtO1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zdHlsZS9pY29ucy9maWx0ZXItY2xvc2Uuc3ZnKSBuby1yZXBlYXQgY2VudGVyIHJpZ2h0IDEuMjVyZW0gLyAwLjkzNzVyZW0gYXV0byAjZWJlYmViO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgJiAubGlzdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBcbiAgICAmLm9wZW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgJiAuZmlsdGVycy1mb3JtIHtcbiAgICBcbiAgICAmIC5kaXZpZGVyIHtcbiAgICAgIG1hcmdpbjogMS4yNXJlbSAwIDAgMDtcbiAgICB9XG4gIH1cbiAgXG4gIC5maWx0ZXJzLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAmIC5kaXZpZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgJiAub3BlbmVyIHtcbiAgICBcbiAgICAmIC5zd2l0Y2gge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBwYWRkaW5nLXRvcDogMS4yNXJlbTtcbiAgICAgIGNvbG9yOiB2YXIoLS1kYXJrZXItYmx1ZSk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogLjg3NXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgICAgIHJpZ2h0OiAxLjA2M3JlbTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3N0eWxlL2ljb25zL3NlbGVjdGJveC5zdmcpIG5vLXJlcGVhdCByaWdodCBib3R0b20gLjNyZW0gLyAxMDAlIGF1dG87XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNHMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICB9XG5cbiAgICAgICYuaGlkZTphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgLnBhcmFtLWZpbHRlciB7XG4gICAgICBwYWRkaW5nLXRvcDogMS43NXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG5cbiAgICAgICYgLmZvcm0taXRlbS1jaGVja2JveCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgICYudGhlbWUge1xuICAgIH1cbiAgfVxuICBcbiAgJiAub3BlbmVyLnRoZW1lIC5wYXJhbS1maWx0ZXIge1xuICAgIG1heC1oZWlnaHQ6IDQwcmVtO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIFxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgIGhlaWdodDogMC42MjVyZW07XG4gICAgICB3aWR0aDogMC42MjVyZW07XG4gICAgfVxuICAgIFxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWxpZ2h0LWJsdWUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMC4zMTNyZW07XG4gICAgfVxuICAgIFxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRhcmtlci1ibHVlKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzEzcmVtO1xuICAgIH1cbiAgICBcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kYXJrZXItYmx1ZSk7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLnByb2R1Y3RzIC5hcnJhbmdlbWVudCB7XG5cbiAgICAmIC5hY3RpdmUtZmlsdGVycyB7XG4gICAgICAmIC5pdGVtcyB7XG4gICAgICAgICYgLml0ZW0ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAucHJvZHVjdHMgLmFycmFuZ2VtZW50IHtcbiAgICBcbiAgICAmIC5vcGVuZXJzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgICYgLmxpc3Qge1xuICAgICAgbWFyZ2luOiAwcmVtIDByZW0gMHJlbSAwcmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBcbiAgICAgICYuc29ydCB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLnByb2R1Y3RzIC5hcnJhbmdlbWVudCB7XG4gICAgXG4gICAgJi5oaWRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJiAuZGl2aWRlcjpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmIC5hY3RpdmUtZmlsdGVycyB7XG4gICAgICBcbiAgICAgICYgLml0ZW1zIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYShtYXgtd2lkdGg6IDc5LjkzOHJlbSkge1xuICBcbiAgLnByb2R1Y3RzIC5hcnJhbmdlbWVudCB7XG4gICAgXG4gICAgJiAuZmlsdGVycy1ibG9jayAub3BlbmVyIHtcbiAgICAgIG9yZGVyOiAxMjtcbiAgICAgIFxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG4gICAgICB9XG4gICAgICBcbiAgICAgICYudGhlbWUge1xuICAgICAgICBvcmRlcjogNztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgICYgLmZpbHRlcnMtYmxvY2sgLm9wZW5lci50aGVtZSAuc3dpdGNoIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgICYgLmZpbHRlcnMtYmxvY2sgIC5vcGVuZXIudGhlbWUgLnBhcmFtLWZpbHRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAmIC5maWx0ZXJzLWJsb2NrLmhpZGUtbW9iaWxlLXRoZW1lIC5vcGVuZXIudGhlbWUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgJiAuZmlsdGVycy1ibG9jay5oaWRlLW1vYmlsZS1maWx0ZXIgLm9wZW5lcjpub3QoLnRoZW1lKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAmIC5maWx0ZXJzLWZvcm0ge1xuICAgICAgXG4gICAgICAmIC5kaXZpZGVyIHtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogcHJvZHVjdHMgYXJyYW5nZW1lbnQgZW5kICovXG5cbi8qIHByb2R1Y3RzIG92ZXJ2aWV3ICovXG5cbi5wcm9kdWN0cyAub3ZlcnZpZXcge1xuICBcbiAgJiAubGlzdCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDIuMzc1cmVtIC42MjVyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuXG4gICAgJiAuaXRlbSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiBjb2x1bW47XG5cbiAgICAgICY6aG92ZXIgLmltYWdlLnNlY29uZGFyeSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgLnBpY3R1cmUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctdG9wOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gICAgfVxuXG4gICAgJiAuaW1hZ2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwcmVtO1xuICAgICAgdG9wOiAwcmVtO1xuICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcblxuICAgICAgJi5zZWNvbmRhcnkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplKTtcbiAgICAgIG1hcmdpbjogMHJlbSAwcmVtIDEuMTI1cmVtIDByZW07XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgY29sb3I6IHZhcigtLWRhcmtlci1ibHVlKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAgICYgLmxpbmsge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40M2VtO1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgLyogYXV0b3ByZWZpeGVyOiBvZmYgKi9cbiAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAtbW96LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAvKiBhdXRvcHJlZml4ZXI6IG9uICovXG4gICAgICB9XG4gICAgfVxuXG4gICAgJiAuYmxvY2sge1xuICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICB9XG5cbiAgICAmIC5hdmFpbGFiaWxpdHkge1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjogIzg4ODtcbiAgICB9XG5cbiAgICAmIC5wcmljZXMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICBtYXJnaW46IDAgMHJlbSAwcmVtIDByZW07XG4gICAgfVxuXG4gICAgJiAub2xkLXByaWNlIHtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgICAgb3BhY2l0eTogMC40O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgIH1cblxuICAgICYgLnByaWNlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogdmFyKC0tb3JhbmdlKTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuXG4gICAgJiAuYWN0aXZlLWJveCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDFmcik7XG4gICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgZ2FwOiAwLjYyNXJlbSAwLjMxM3JlbTtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICYgaW5wdXQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmIC52YXJpYW50cyB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjYyNXJlbTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDAuNXJlbSkgY2VudGVyLCBsZWZ0IC0xMDByZW07XG4gICAgfVxuXG4gICAgJiAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICBtYXJnaW46IDByZW0gMCAwcmVtIDA7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgcGFkZGluZzogMC4zNzVyZW0gMC42MjVyZW07XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBmb250LXNpemU6IDAuODEzcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IDAuM3M7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1pbi13aWR0aDogMDtcblxuICAgICAgJi5idXkge1xuICAgICAgfVxuXG4gICAgICAmLnNlbGVjdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBjb2xvcjogdmFyKC0tb3JhbmdlKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbSAzcmVtIC42MjVyZW0gMXJlbTtcbiAgICAgICAgYm9yZGVyOiAwLjA2M3JlbSBzb2xpZCB2YXIoLS1vcmFuZ2UpO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IC43NXJlbTtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL3N0eWxlL2ljb25zL3NlbGVjdGJveC1vcmFuZ2Uuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIC8gY29udGFpbjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJiAuaXRlbS5hcHBlYXJhbmNlLTIgLmJ1dHRvbiB7XG4gICAgICBncmlkLWNvbHVtbjogMS8tMTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAmIC5zdGF0dXMtbWVzc2FnZSB7XG4gICAgICBncmlkLWNvbHVtbjogMS8tMTtcbiAgICB9XG4gIH1cbiAgXG4gICYgLm1vcmUge1xuICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIFxuICAgICYgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG59XG5cbi5wcm9kdWN0czpub3QoLnBhcnQtc2l6ZSkgLm92ZXJ2aWV3IHtcbiAgXG4gICYgLmRpdmlkZXI6Zmlyc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhICgtLVRJTllTQ1JFRU4pIHtcblxuICAucHJvZHVjdHMgLm92ZXJ2aWV3IHtcbiAgICBcbiAgICAmIC5saXN0IHtcbiAgICAgIGdhcDogMi43NXJlbSAxLjI1cmVtO1xuXG4gICAgICAmIC5wcmljZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG5cbiAgLnByb2R1Y3RzIC5vdmVydmlldyB7XG4gICAgXG4gICAgJiAubGlzdCB7XG4gIFxuICAgICAgJiAuYmxvY2sge1xuICAgICAgfVxuICBcbiAgICAgICYgLnByaWNlcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgICBcbiAgICAgICYgLnByaWNlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICB9XG4gIFxuICAgICAgJiAub2xkLXByaWNlIHtcbiAgICBcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICBcbiAgICAgICYgLmFjdGl2ZS1ib3gge1xuICAgICAgfVxuXG4gICAgICAmIC5idXR0b24ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMC42MjVyZW0gMS4xMjVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1MSUdIVFNDUkVFTikge1xuXG4gIC5wcm9kdWN0cyAub3ZlcnZpZXcge1xuICAgIFxuICAgICYgLmxpc3Qge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpO1xuICAgICAgZ2FwOiAzcmVtIDEuNzVyZW07XG4gICAgICBcbiAgICAgICYgLnBpY3R1cmUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAucHJvZHVjdHMgLm92ZXJ2aWV3IHtcbiAgICBcbiAgICAmIC5saXN0IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgIGdhcDogMy4yNXJlbSAyLjI1cmVtO1xuXG4gICAgICAmIC5wcmljZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xNXJlbTtcbiAgICAgIH1cblxuICAgICAgJiAucGljdHVyZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAucHJvZHVjdHMgLm92ZXJ2aWV3IHtcbiAgICBcbiAgICAmIC5saXN0IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgIGdhcDogMy41cmVtIDIuNXJlbTtcbiAgICAgIFxuICAgICAgJiAub2xkLXByaWNlIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wcm9kdWN0cy5wYXJ0LXNpemUgLm92ZXJ2aWV3IHtcbiAgfVxufVxuQG1lZGlhICgtLUxBUkdFU0NSRUVOKSB7XG5cbiAgLnByb2R1Y3RzIC5vdmVydmlldyB7XG4gICAgXG4gICAgJiAucHJpY2Uge1xuICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICB9XG5cbiAgICAmIC5saXN0IHtcbiAgICAgIGdhcDogMy43NXJlbSAzcmVtO1xuICAgIH1cbiAgfVxufVxuXG4vKiBwcm9kdWN0cyBvdmVydmlldyBlbmQgKi9cblxuLyogcHJvZHVjdHMgb3ZlcnZpZXcgc2Nyb2xsYWJsZSAqL1xuXG4ucHJvZHVjdHMuc2Nyb2xsYWJsZSxcbi5wcm9kdWN0cy5zY3JvbGxhYmxlLWFsd2F5cyB7XG4gIFxuICAmIC5vdmVydmlldyB7XG4gICAgXG4gICAgJiAubGlzdCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjc1cmVtO1xuICAgICAgXG4gICAgICAmIC5wcmljZXMge1xuICAgICAgICBoZWlnaHQ6IDMuNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJiAubGlzdDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgaGVpZ2h0OiAwLjVyZW07XG4gICAgfVxuICAgIFxuICAgICYgLmxpc3Q6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWxpZ2h0LWJsdWUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMC4zMTNyZW07XG4gICAgfVxuICAgIFxuICAgICYgLmxpc3Q6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRhcmtlci1ibHVlKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzEzcmVtO1xuICAgIH1cbiAgICBcbiAgICAmIC5saXN0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kYXJrZXItYmx1ZSk7XG4gICAgfVxuICAgIFxuICAgICYgLml0ZW0ge1xuICAgICAgZmxleDogMCAwIDQzJTtcbiAgICB9XG4gICAgXG4gICAgJiAudGl0bGUge1xuICAgIH1cbiAgfVxufVxuXG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLnByb2R1Y3RzLnNjcm9sbGFibGUsXG4gIC5wcm9kdWN0cy5zY3JvbGxhYmxlLWFsd2F5cyB7XG4gIH1cbn1cblxuQG1lZGlhICgtLUxJR0hUU0NSRUVOKSB7XG4gIFxuICAucHJvZHVjdHMuc2Nyb2xsYWJsZSxcbiAgLnByb2R1Y3RzLnNjcm9sbGFibGUtYWx3YXlzIHtcbiAgICBcbiAgICAmIC5vdmVydmlldyB7XG4gICAgICBcbiAgICAgICYgLml0ZW0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAyOC44JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLnByb2R1Y3RzLnNjcm9sbGFibGUsXG4gIC5wcm9kdWN0cy5zY3JvbGxhYmxlLWFsd2F5cyB7XG4gIH1cbiAgXG4gIC5wcm9kdWN0cy5zY3JvbGxhYmxlIHtcbiAgICBcbiAgICAmIC5vdmVydmlldyB7XG4gICAgICBcbiAgICAgICYgLmxpc3Qge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAucHJvZHVjdHMuc2Nyb2xsYWJsZSxcbiAgLnByb2R1Y3RzLnNjcm9sbGFibGUtYWx3YXlzIHtcbiAgfVxuICBcbiAgLnByb2R1Y3RzLnNjcm9sbGFibGUtYWx3YXlzIHtcbiAgICBcbiAgICAmIC5vdmVydmlldyB7XG4gICAgICBcbiAgICAgICYgLml0ZW0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAyMC44JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLUxBUkdFU0NSRUVOKSB7XG4gIFxuICAucHJvZHVjdHMuc2Nyb2xsYWJsZSxcbiAgLnByb2R1Y3RzLnNjcm9sbGFibGUtYWx3YXlzIHtcbiAgfVxuICBcbiAgLnByb2R1Y3RzLnNjcm9sbGFibGUtYWx3YXlzIHtcbiAgICBcbiAgICAmIC5vdmVydmlldyB7XG4gICAgICBcbiAgICAgICYgLml0ZW0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAxNS44JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogcHJvZHVjdHMgb3ZlcnZpZXcgc2Nyb2xsYWJsZSBlbmQgICovXG5cbi8qIHByb2R1Y3RzIHJlbGF0ZWQgKi9cblxuLnByb2R1Y3RzLnJlbGF0ZWQge1xuICBcbiAgJiAub3ZlcnZpZXcge1xuICAgIFxuICAgICYgLmhlYWRsaW5lIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICBtYXJnaW4tdG9wOiAwcmVtO1xuICAgIH1cbiAgfVxufVxuXG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLnByb2R1Y3RzLnJlbGF0ZWQge1xuICB9XG59XG5cbkBtZWRpYSAoLS1MSUdIVFNDUkVFTikge1xuICBcbiAgLnByb2R1Y3RzLnJlbGF0ZWQge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC5wcm9kdWN0cy5yZWxhdGVkIHtcbiAgICBcbiAgICAmIC5oZWFkbGluZSB7XG4gICAgICBmb250LXNpemU6IDIuMjVyZW07XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAucHJvZHVjdHMucmVsYXRlZCB7XG4gIH1cbn1cblxuLyogcHJvZHVjdHMgcmVsYXRlZCBlbmQgKi9cblxuLyogcHJvZHVjdCBkZXRhaWwgZ2VuZXJhbGx5ICovXG5cbi5wcm9kdWN0LWRldGFpbCB7XG4gIFxuICAmIC5jb250ZW50IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtY29sdW1uLWdhcDogMnJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBcbiAgJiAuYmFzZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICBcbiAgJiAuY29tcGxlbWVudGFyeSB7XG4gIH1cbiAgXG4gICYgLnRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1kYXJrZXItYmx1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgfVxuICBcbiAgJiAucGVyZXgge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIFxuICAmIC5kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0bztcbiAgXG4gICAgJiA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgXG4gICAgJiA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG4gIFxuICAmIC5kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLnByb2R1Y3QtZGV0YWlsIHtcbiAgICAmIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuOTM3NXJlbTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLnByb2R1Y3QtZGV0YWlsIHtcbiAgICBcbiAgICAmIC5jb250ZW50IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgfVxuICAgIFxuICAgICYgLmNvbXBsZW1lbnRhcnl7XG4gICAgICBtYXJnaW4tdG9wOiAwLjEyNXJlbTtcbiAgICB9XG4gIFxuICAgICYgLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgICAgIG1hcmdpbjogMHJlbSAwcmVtIDAuNzVyZW0gMHJlbTtcbiAgICB9XG4gIFxuICAgICYgLnBlcmV4IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICB9XG4gIFxuICAgICYgLnJlc3BvbnNpdmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgJiAuZGVza3RvcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5wcm9kdWN0LWRldGFpbCB7XG4gIH1cbn1cblxuLyogcHJvZHVjdCBkZXRhaWwgZ2VuZXJhbGx5IGVuZCAqL1xuXG4vKiBwcm9kdWN0IGRldGFpbCBpbWFnZXMgKi9cblxuLnByb2R1Y3QtZGV0YWlsIC5pbWFnZXMge1xuICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICBcbiAgJiAubWFpbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4gIFxuICAmIC5vdGhlcnMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAwLjc1cmVtO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IDAuNzVyZW07XG4gIH1cbiAgXG4gICYgLnBpY3R1cmUge1xuICAgIHRyYW5zaXRpb246IDAuM3MgYm94LXNoYWRvdztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgXG4gICYgLm90aGVycyAucGljdHVyZSB7XG4gICAgXG4gICAgJi5pcy1hY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMC4zNzVyZW0gIzAwMDg7XG4gICAgfVxuICB9XG4gIFxuICAmIC5pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwcmVtO1xuICAgIHRvcDogMHJlbTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC5wcm9kdWN0LWRldGFpbCAuaW1hZ2VzIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAucHJvZHVjdC1kZXRhaWwgLmltYWdlcyB7XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5wcm9kdWN0LWRldGFpbCAuaW1hZ2VzIHtcbiAgfVxufVxuXG4vKiBwcm9kdWN0IGRldGFpbCBpbWFnZXMgZW5kICovXG5cbi8qIHByb2R1Y3QgZGV0YWlsIGluZm8gKi9cblxuLnByb2R1Y3QtZGV0YWlsIC5pbmZvIHtcbiAgZGlzcGxheTogY29udGVudHM7XG4gIG1hcmdpbi1ib3R0b206IDEuNzVyZW07XG4gIFxuICAmIC5yb3dlayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAuMTg4cmVtIDByZW07XG4gIH1cbiAgXG4gICYgLmRlc2Mge1xuICAgIGZsZXg6IDQ2O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gIH1cbiAgXG4gICYgLnZhbHVlIHtcbiAgICBmbGV4OiA1NDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gICYgLnByaWNlLWluZm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgfVxuXG5cbiAgJiAub2xkLXByaWNlIHtcbiAgICBmbGV4OiB1bnNldDtcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICBvcGFjaXR5OiAwLjQ7XG4gICAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgICBtYXJnaW46IDAgYXV0byAwIDA7XG4gIH1cblxuICAmIC5zYWxlLXByaWNlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIH1cbiAgJiAuc2FsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmc6IDAuNHJlbSAwLjc1cmVtO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXJlZCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAuNjI1cmVtO1xuICB9XG4gICYgLnNhdmUge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiB2YXIoLS1yZWQpO1xuICB9XG5cbiAgJiAucHJpY2Utcm93IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvcmRlcjogLTE7XG4gIH1cbiAgJiAucHJpY2Uge1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogdmFyKC0tb3JhbmdlKTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgJiAubm8tdmF0LXByaWNlIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gIH1cbiAgJiAuYXZhaWxhYmlsaXR5IHtcbiAgICBjb2xvcjogdmFyKC0tZGFya2VyLWJsdWUpO1xuICAgIGZvbnQtc2l6ZTogMS4xNXJlbTtcbiAgICBtYXJnaW46IDAgMCAwLjVyZW0gMDtcbiAgfVxufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC5wcm9kdWN0LWRldGFpbCAuaW5mbyB7XG4gIH1cblxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLnByb2R1Y3QtZGV0YWlsIC5pbmZvIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLnByb2R1Y3QtZGV0YWlsIC5pbmZvIHtcbiAgICAmIC5wcmljZS1pbmZvIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICAmIC5vbGQtcHJpY2Uge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAmIC5wcmljZS1yb3cge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgICYgLnZhbHVlIHtcbiAgICAgIGZsZXg6IHVuc2V0O1xuICAgIH1cbiAgfVxufVxuXG4vKiBwcm9kdWN0IGRldGFpbCBpbmZvIGVuZCAqL1xuXG4vKiBwcm9kdWN0IGRldGFpbCBhY3RpdmUgYm94ICovXG5cbi5wcm9kdWN0LWRldGFpbCAuYWN0aXZlLWJveCB7XG4gIGRpc3BsYXk6IGNvbnRlbnRzO1xuICBtYXJnaW4tYm90dG9tOiAyLjEyNXJlbTtcbiAgXG4gICYgLmZvcm0ge1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICB9XG4gIFxuICAmIC5yb3dlayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAuMTg4cmVtIDByZW07XG4gIH1cbiAgXG4gICYgLmRlc2Mge1xuICAgIGZsZXg6IDQ2O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gICAgXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnOic7XG4gICAgfVxuICB9XG4gIFxuICAmIC52YWx1ZSB7XG4gIH1cbiAgXG4gICYgLnBpZWNlcy1ib3gge1xuICAgIG1hcmdpbjogMHJlbSAwcmVtIDByZW0gYXV0bztcbiAgfVxuXG4gICYgLnF1YW50aXR5IHtcbiAgICBjbGVhcjogbGVmdDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46IDFyZW0gMCAycmVtIDA7XG4gIH1cbiAgXG4gICYgLmJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleDogbm9uZTtcbiAgICBtYXJnaW46IDAgMCAxLjVyZW0gMDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMjIuNXJlbSkge1xuICAucHJvZHVjdC1kZXRhaWwge1xuICAgICYgLmluZm8ge1xuICAgICAgJiAucHJpY2Uge1xuICAgICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgICB9XG5cbiAgICAgICYgLnByaWNlLWluZm8ge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiAuYWN0aXZlLWJveCB7XG4gICAgICAmIC5xdWFudGl0eSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMjZyZW0pIHtcbiAgLnByb2R1Y3QtZGV0YWlsIHtcbiAgICAmIC5pbmZvIHtcbiAgICAgICYgLnNhbGUtcHJpY2Uge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIC5wcm9kdWN0LWRldGFpbCB7XG4gICAgJiAuYWN0aXZlLWJveCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA5LjEyNXJlbTtcblxuICAgICAgJiBmb3JtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cblxuICAgICAgJiAucXVhbnRpdHkge1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIC5wcm9kdWN0LWRldGFpbCB7XG4gICAgJiAuaW5mbyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgJiAucHJpY2UtaW5mbywgJiAuc2FsZS1wcmljZSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgLmFjdGl2ZS1ib3gge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICYgLmZvcm0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuICAgICAgXG4gICAgICAmIC5xdWFudGl0eSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgICAgXG4gICAgICAmIC5idXR0b24ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG59XG5cbi8qIHByb2R1Y3QgZGV0YWlsIGFjdGl2ZSBib3ggZW5kICovXG5cbi8qIHByb2R1Y3QgZGV0YWlsIHZhcmlhbnRzICovXG5cbi5wcm9kdWN0LWRldGFpbCAudmFyaWFudHMge1xuICBtYXJnaW4tYm90dG9tOiAxLjEyNXJlbTtcbiAgXG4gICYgLnJvd2VrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMC4xODhyZW0gMHJlbTtcbiAgfVxuICBcbiAgJiAuZGVzYyB7XG4gICAgZmxleDogNDY7XG4gICAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcbiAgICBcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICc6JztcbiAgICB9XG4gIH1cbiAgXG4gICYgLnZhbHVlIHtcbiAgICBmbGV4OiA1NDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICBcbiAgJiAuc2VsZWN0IHtcbiAgICBtYXJnaW46IDByZW0gMHJlbSAwcmVtIDByZW07XG4gIH1cblxuICAmIC51aS1kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC40O1xuICB9XG59XG5cbkBtZWRpYSAoLS1MSUdIVFNDUkVFTikge1xuICAucHJvZHVjdC1kZXRhaWwgLnZhcmlhbnRzIHtcbiAgICBtYXgtd2lkdGg6IDE3LjVyZW07XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICAucHJvZHVjdC1kZXRhaWwgLnZhcmlhbnRzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xufVxuXG4vKiBwcm9kdWN0IGRldGFpbCB2YXJpYW50cyBlbmQgKi9cblxuLyogcHJvZHVjdCBkZXRhaWwgcGFyYW1ldGVycyAqL1xuXG4ucHJvZHVjdC1kZXRhaWwgLnBhcmFtZXRlcnMge1xuICBib3JkZXItYm90dG9tOiAwLjEyNXJlbSBzb2xpZCB2YXIoLS1saWdodC1ibHVlKTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgXG4gICYgLnJvd2VrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCAwcmVtIDAuNzVyZW0gMDtcbiAgICBib3JkZXItdG9wOiAwLjEyNXJlbSBzb2xpZCB2YXIoLS1saWdodC1ibHVlKTtcblxuICAgICYuY29sbGFwc2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICYgLmRlc2Mge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDAuNzVyZW07XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgXG4gICAgICAgICYgLm9wZW5lciB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICAgIGdhcDogMC41cmVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDFyZW07XG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zdHlsZS9pY29ucy9zZWxlY3Rib3guc3ZnKSBuby1yZXBlYXQgcmlnaHQgY2VudGVyIC8gMXJlbSBhdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgICBcbiAgICAgICAgICAmIC5zaG93IHtcbiAgICAgICAgICB9XG4gICAgICAgICAgXG4gICAgICAgICAgJiAuaGlkZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjpub3QoLmhpZGRlbikge1xuICAgICAgICAgIFxuICAgICAgICAgICYgLnNob3cge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgXG4gICAgICAgICAgJiAuaGlkZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgICAgXG4gICAgICAgICAgJiArIC52YWx1ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYgLnZhbHVlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIFxuICAmIC5kZXNjIHtcbiAgICBmbGV4OiA0NTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogdmFyKC0tZGFya2VyLWJsdWUpO1xuICAgIG1heC13aWR0aDogMTUuNjI1cmVtO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMHJlbSAwcmVtIDByZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgXG4gICYgLnZhbHVlIHtcbiAgICBmbGV4OiA1NTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLnByb2R1Y3QtZGV0YWlsIC5wYXJhbWV0ZXJzIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAucHJvZHVjdC1kZXRhaWwgLnBhcmFtZXRlcnMge1xuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAucHJvZHVjdC1kZXRhaWwgLnBhcmFtZXRlcnMge1xuICB9XG59XG5cbi8qIHByb2R1Y3QgZGV0YWlsIHBhcmFtZXRlcnMgZW5kICovXG5cbi8qIHByb2R1Y3QgZGV0YWlsIGRlc2NyaXB0aW9uICovXG5cbi5wcm9kdWN0LWRldGFpbCAuZGVzY3JpcHRpb24ge1xuICAmIC5wYXJhbWV0ZXJzIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuXG4gICAgJiAudmFsdWUge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICAucHJvZHVjdC1kZXRhaWwgLmRlc2NyaXB0aW9uIHtcbiAgICAmIC5yb3dlay5jb2xsYXBzZSB7XG4gICAgICAmIC5kZXNjIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgICYgLnZhbHVlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogcHJvZHVjdCBkZXRhaWwgZGVzY3JpcHRpb24gZW5kICovXG5cbi8qIHByb2R1Y3QgZGV0YWlsIGZpbGVnYWxsZXJ5IGFuZCB2aWRlb2dhbGxlcnkgKi9cblxuLnByb2R1Y3QtZGV0YWlsIC5maWxlZ2FsbGVyeSxcbi5wcm9kdWN0LWRldGFpbCAudmlkZW9nYWxsZXJ5IHtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLnByb2R1Y3QtZGV0YWlsIC5maWxlZ2FsbGVyeSxcbiAgLnByb2R1Y3QtZGV0YWlsIC52aWRlb2dhbGxlcnkge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC5wcm9kdWN0LWRldGFpbCAuZmlsZWdhbGxlcnksXG4gIC5wcm9kdWN0LWRldGFpbCAudmlkZW9nYWxsZXJ5IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLnByb2R1Y3QtZGV0YWlsIC5maWxlZ2FsbGVyeSxcbiAgLnByb2R1Y3QtZGV0YWlsIC52aWRlb2dhbGxlcnkge1xuICB9XG59XG5cbi8qIHByb2R1Y3QgZGV0YWlsIGZpbGVnYWxsZXJ5IGFuZCB2aWRlb2dhbGxlcnkgIGVuZCAqL1xuXG4vKiBwcm9kdWN0IGRldGFpbCBzb2NpYWxzICovXG5cbi5wcm9kdWN0LWRldGFpbCAuc29jaWFscy1yb3cge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvIDFmcjtcbiAgcGFkZGluZzogMS43NXJlbSAwO1xuICBib3JkZXItdG9wOiAwLjEyNXJlbSBzb2xpZCB2YXIoLS1saWdodC1ibHVlKTtcbiAgY2xlYXI6IGJvdGg7XG5cbiAgJiAuZGVzYyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gICYgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiB2YXIoLS1ncmV5KTtcbiAgfVxufVxuLnByb2R1Y3QtZGV0YWlsIC5zb2NpYWxzIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAucHJvZHVjdC1kZXRhaWwgLnNvY2lhbHMtcm93IHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAucHJvZHVjdC1kZXRhaWwgLnNvY2lhbHMtcm93IHtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNi4yNXJlbTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0byAxZnI7XG5cbiAgICAmIC5kZXNjIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMS43NXJlbTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5wcm9kdWN0LWRldGFpbCAuc29jaWFscy1yb3cge1xuICB9XG59XG5cbi8qIHByb2R1Y3QgZGV0YWlsIHNvY2lhbHMgZW5kICovXG5cbi8qIHByb2R1Y3QgZGV0YWlsIGNvbXBsZW1lbnQgKi9cblxuLnByb2R1Y3QtZGV0YWlsLWNvbXBsZW1lbnQge1xufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC5wcm9kdWN0LWRldGFpbC1jb21wbGVtZW50IHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAucHJvZHVjdC1kZXRhaWwtY29tcGxlbWVudCB7XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5wcm9kdWN0LWRldGFpbC1jb21wbGVtZW50IHtcbiAgfVxufVxuXG4vKiBwcm9kdWN0IGRldGFpbCBjb21wbGVtZW50IGVuZCAqL1xuXG4vKiBwcm9kdWN0IGRldGFpbCBhcmd1bWVudHMgKi9cblxuLnByb2R1Y3QtZGV0YWlsIC5hcmd1bWVudHMge1xuICBtYXJnaW4tdG9wOiAzLjEyNXJlbTtcbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICAucHJvZHVjdC1kZXRhaWwgLmFyZ3VtZW50cyB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7XG4gICAgbWFyZ2luOiAyLjVyZW0gMCA1LjI1cmVtIDA7XG4gIH1cbn1cblxuLyogcHJvZHVjdCBkZXRhaWwgYXJndW1lbnRzIGVuZCAqL1xuXG4vKiB1cHNlbGwgcG9wdXAgZ2VuZXJhbGx5ICovXG5cbi51cHNlbGwtcG9wdXAge1xufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC51cHNlbGwtcG9wdXAge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC51cHNlbGwtcG9wdXAge1xuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAudXBzZWxsLXBvcHVwIHtcbiAgfVxufVxuXG4vKiB1cHNlbGwgcG9wdXAgZ2VuZXJhbGx5IGVuZCAqL1xuXG4vKiB1cHNlbGwgcG9wdXAgYnV5ZWQgcHJvZHVjdCAqL1xuXG4udXBzZWxsLXBvcHVwLWJ1eWVkLXByb2R1Y3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMHJlbSAwcmVtIDEuNXJlbSAwcmVtO1xuICBib3JkZXItYm90dG9tOiAwLjEyNXJlbSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICBcbiAgJiAuaW1hZ2Uge1xuICAgIGZsZXg6IG5vbmU7XG4gICAgd2lkdGg6IDVyZW07XG4gICAgbWFyZ2luOiAwLjMxM3JlbSAxcmVtIDAgMDtcbiAgfVxuICBcbiAgJiAudGl0bGUge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtYXJnaW46IDByZW0gMHJlbSAwcmVtIDByZW07XG4gIH1cbiAgXG4gICYgLnBpZWNlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDByZW0gMC44NzVyZW0gMHJlbTtcbiAgfVxuICBcbiAgJiAucGFydC0xIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cbiAgXG4gICYgLnBhcnQtMiB7XG4gICAgZmxleDogbm9uZTtcbiAgfVxuICBcbiAgJiAucGllY2VzLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICBcbiAgJiAuZWRpdCB7XG4gICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIFxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuICBcbiAgJiAucGllY2VzLWJveCB7XG4gIH1cbiAgXG4gICYgLnByaWNlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiBub25lO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIFxuICAgICYgLmRlc2Mge1xuICAgIH1cbiAgICBcbiAgICAmIC52YWx1ZSB7XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgZm9udC1zaXplOiAxLjM3NWVtO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC51cHNlbGwtcG9wdXAtYnV5ZWQtcHJvZHVjdCB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLnVwc2VsbC1wb3B1cC1idXllZC1wcm9kdWN0IHtcbiAgXG4gICAgJiAuaW1hZ2Uge1xuICAgICAgd2lkdGg6IDYuNXJlbTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC51cHNlbGwtcG9wdXAtYnV5ZWQtcHJvZHVjdCB7XG4gIFxuICAgICYgLmltYWdlIHtcbiAgICAgIHdpZHRoOiA4cmVtO1xuICAgIH1cbiAgfVxufVxuXG4vKiB1cHNlbGwgcG9wdXAgYnV5ZWQgcHJvZHVjdCBlbmQgKi9cblxuLyogdXBzZWxsIHBvcHVwIHByb2R1Y3RzICovXG5cbi51cHNlbGwtcG9wdXAtcHJvZHVjdHMge1xuICBcbiAgJiAuaW5mbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgICBcbiAgICAmIC50aXRsZSB7XG4gICAgfVxuICB9XG4gIFxuICAmIC5zbGljay1saXN0IHtcbiAgICBtYXJnaW46IDByZW0gLTAuNXJlbTtcbiAgfVxuICBcbiAgJiAuc2xpY2stc2xpZGUge1xuICAgIG1hcmdpbjogMCAwLjVyZW07XG4gIH1cbiAgXG4gICYgLnNsaWNrLWFycm93cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIFxuICBcbiAgICAmIC5zbGljay1hcnJvdyB7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICBcbiAgICAmIC5zbGljay1wcmV2IHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuICBcbiAgICAmIC5zbGljay1uZXh0IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBcbiAgJiAucHJvZHVjdHMge1xuICAgIFxuICAgICYgLm92ZXJ2aWV3IHtcbiAgICAgIFxuICAgICAgJiAubGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIFxuICAgICAgJiAuaXRlbSB7XG4gICAgICBcbiAgICAgICAgJjpudGgtb2YtdHlwZShuKSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luOiAwcmVtIDByZW0gMHJlbSAwcmVtO1xuICAgICAgICB9XG4gICAgICBcbiAgICAgICAgJiAucGllY2VzLWJveCB7XG4gICAgICAgICAgd2lkdGg6IDcuNXJlbTtcbiAgICAgICAgfVxuICAgICAgXG4gICAgICAgICYgLnBpY3R1cmUgLmltYWdlIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAxNXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4udWktZGlhbG9nLnVpLWRpYWxvZy11cHNlbGwtcHJvZHVjdHMge1xuICBtYXgtd2lkdGg6IDQ2LjI1cmVtO1xufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC51cHNlbGwtcG9wdXAtcHJvZHVjdHMge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC51cHNlbGwtcG9wdXAtcHJvZHVjdHMge1xuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAudXBzZWxsLXBvcHVwLXByb2R1Y3RzIHtcbiAgfVxufVxuXG4vKiB1cHNlbGwgcG9wdXAgcHJvZHVjdHMgZW5kICovXG5cbi8qIHVwc2VsbCBwb3B1cCBidXR0b25zICovXG5cbi51cHNlbGwtcG9wdXAtYnV0dG9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgXG4gICYgLmJ1dHRvbiB7XG4gICAgZmxleDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBcbiAgJiAuYmFjayB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICB9XG4gIFxuICAmIC5wcm9jZWVkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwcmVtO1xuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLnVwc2VsbC1wb3B1cC1idXR0b25zIHtcbiAgICBcbiAgICAmIC5idXR0b24ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwcmVtO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAudXBzZWxsLXBvcHVwLWJ1dHRvbnMge1xuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAudXBzZWxsLXBvcHVwLWJ1dHRvbnMge1xuICB9XG59XG5cbi8qIHVwc2VsbCBwb3B1cCBidXR0b25zIGVuZCAqL1xuXG4vKiBhZGQgdG8gYmFza2V0IHBvcHVwICovXG5cbi5hZGQtdG8tYmFza2V0LXBvcHVwIHtcbiAgXG4gICZfX2Zvcm0ge1xuICAgIHBhZGRpbmc6IDJyZW0gMC42MjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgYmFja2dyb3VuZDogI2YzZjNmMztcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcik7XG4gICAgZ2FwOiAxcmVtIDA7XG4gIH1cbiAgXG4gICZfX2Jsb2NrIHtcbiAgICBcbiAgICAmLS1jb21wbGV0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiAwLjVyZW07XG4gICAgfVxuICB9XG4gIFxuICAmX19pbWFnZXMge1xuICAgIGZsZXg6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgICYtLW1vYmlsZSB7IFxuICAgIH1cbiAgICBcbiAgICAmLS1kZXNrdG9wIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgICYtY29udGVudCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgICYgLnNsaWNrLWFycm93cyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgXG4gICAgICAmIC5zbGljay1hcnJvdyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWxpZ2h0LWdyZXkpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgd2lkdGg6IDFyZW07XG4gICAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc3R5bGUvaWNvbnMvYmFubmVyLWFycm93LnN2Zykgbm8tcmVwZWF0IGNlbnRlciAvIGNvbnRhaW47XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIHRvcDogY2FsYyg1MCUgLSAwLjVyZW0pO1xuICAgICAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMC41cmVtKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgXG4gICAgICAmIC5zbGljay1wcmV2IHtcbiAgICAgICAgbGVmdDogMWVtO1xuICAgICAgfVxuICAgICAgXG4gICAgICAmIC5zbGljay1uZXh0IHtcbiAgICAgICAgcmlnaHQ6IDFlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgXG4gICZfX2ltYWdlIHtcbiAgICB3aWR0aDogNC41cmVtO1xuICAgIGFzcGVjdC1yYXRpbzogMS8xO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBcbiAgICAmOm50aC1jaGlsZChuKzIpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIFxuICAmX19oZWFkbGluZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICBcbiAgICAmLS1kZXNrdG9wIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cbiAgfVxuICBcbiAgJl9fbWFpbiB7IFxuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLmFkZC10by1iYXNrZXQtcG9wdXAge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC5hZGQtdG8tYmFza2V0LXBvcHVwIHtcbiAgICAtLWxvY2FsLXVuaXQ6IDJyZW07XG4gICAgXG4gICAgJl9fZm9ybSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICBwYWRkaW5nOiAycmVtO1xuICAgIH1cbiAgICBcbiAgICAmX19ibG9jayB7XG4gICAgICBcbiAgICAgICYtLWNvbXBsZXRpdmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgIFxuICAgICAgJi0tbWFpbiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tbG9jYWwtdW5pdCk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgICZfX2hlYWRsaW5lIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgXG4gICAgICAmLS1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgXG4gICAgICAmLS1kZXNrdG9wIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgICZfX2ltYWdlcyB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgdmFyKC0tbG9jYWwtdW5pdCkpO1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAyICogdmFyKC0tbG9jYWwtdW5pdCkpO1xuICAgICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1sb2NhbC11bml0KSAqIC0xKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tbG9jYWwtdW5pdCkgKiAtMSk7XG4gICAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1sb2NhbC11bml0KSAqIC0xKTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBcbiAgICAgICYtLW1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICBcbiAgICAgICYtLWRlc2t0b3Age1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJiAuc2xpY2stYXJyb3dzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBcbiAgICAmX19pbWFnZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuICAgIFxuICAgICZfX21haW4ge1xuICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5hZGQtdG8tYmFza2V0LXBvcHVwIHtcbiAgfVxufVxuXG4vKiBhZGQgdG8gYmFza2V0IHBvcHVwIGVuZCAqL1xuXG4vKiBhZGQgdG8gYmFza2V0IHBvcHVwIHNlbGVjdCBzaXplICovXG5cbi5hZGQtdG8tYmFza2V0LXBvcHVwLXNlbGVjdC1zaXplIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgXG4gICZfX2hlYWRsaW5lIHtcbiAgICBjb2xvcjogdmFyKC0tbGlnaHQtZ3JleS0yKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICB9XG4gIFxuICAmX19vcHRpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDAuNXJlbTtcbiAgfVxuICBcbiAgJl9fb3B0aW9uIHtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiBub25lO1xuICAgIG1pbi13aWR0aDogMnJlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xNik7XG4gICAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgIHBhZGRpbmc6IDAgMC42MjVyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIFxuICAgICY6aGFzKDpjaGVja2VkKSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLW9yYW5nZSk7XG4gICAgfVxuICAgIFxuICAgICYtZW50cnlbdHlwZT1yYWRpb10ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAuYWRkLXRvLWJhc2tldC1wb3B1cC1zZWxlY3Qtc2l6ZSB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLmFkZC10by1iYXNrZXQtcG9wdXAtc2VsZWN0LXNpemUge1xuICAgIFxuICAgICZfX29wdGlvbiB7XG4gICAgICBcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tb3JhbmdlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5hZGQtdG8tYmFza2V0LXBvcHVwLXNlbGVjdC1zaXplIHtcbiAgfVxufVxuXG4vKiBhZGQgdG8gYmFza2V0IHBvcHVwIHNlbGVjdCBzaXplIGVuZCAqL1xuXG4vKiBhZGQgdG8gYmFza2V0IHBvcHVwIGFjdGl2ZSBib3ggKi9cblxuLmFkZC10by1iYXNrZXQtcG9wdXAtYWN0aXZlLWJveCB7XG4gIFxuICAmX19ibG9jayB7XG4gICAgcGFkZGluZzogMXJlbSAwO1xuICAgIFxuICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTYpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xNik7XG4gICAgfVxuICB9XG4gIFxuICAmX19ibG9jayB7XG4gICAgXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuICBcbiAgJl9fcHJpY2VzIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICB9XG4gIFxuICAmX19wcmljZSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgY29sb3I6IHZhcigtLWRhcmtlci1ibHVlKTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICB9XG4gIFxuICAmX19vbGQtcHJpY2Uge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgb3BhY2l0eTogMC40O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICB9XG4gIFxuICAmX19zYWxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMC41cmVtO1xuICAgIFxuICAgICYtbGFiZWwge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1yZWQpO1xuICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICAgIG1pbi1oZWlnaHQ6IDEuMjVyZW07XG4gICAgICBwYWRkaW5nOiAwLjM3NXJlbSAwLjg3NXJlbTtcbiAgICB9XG4gICAgXG4gICAgJi1kZXNjIHtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIGNvbG9yOiB2YXIoLS1yZWQpO1xuICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICB9XG4gIH1cbiAgXG4gICZfX3N1Ym1pdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8qIGFkZCB0byBiYXNrZXQgcG9wdXAgYWN0aXZlIGJveCBlbmQgKi9cblxuLyogYWRkZWQgdG8gYmFza2V0IHBvcHVwICovXG5cbi5hZGRlZC10by1iYXNrZXQtcG9wdXAge1xuICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxcmVtO1xuICBcbiAgJl9fYmxvY2sgeyBcbiAgfVxuICBcbiAgJl9faGVhZGxpbmUge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luOiAwLjI1cmVtIDAgMCAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gIH1cbiAgXG4gICZfX3N0YXR1cy1tZXNzYWdlIHtcbiAgICBsZWZ0OiAwO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgbWFyZ2luOiAwO1xuICAgIGFuaW1hdGlvbi1kZWxheTogMHM7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwcztcbiAgfVxuICBcbiAgJl9fYnV0dG9ucyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpO1xuICAgIGdhcDogMXJlbTtcbiAgfVxuICBcbiAgJl9fYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAuYWRkZWQtdG8tYmFza2V0LXBvcHVwIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAuYWRkZWQtdG8tYmFza2V0LXBvcHVwIHtcbiAgICBwYWRkaW5nOiAycmVtO1xuICAgIGdhcDogMS41cmVtO1xuICAgIFxuICAgICZfX2hlYWRsaW5lIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG4gICAgXG4gICAgJl9fYnV0dG9ucyB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAuYWRkZWQtdG8tYmFza2V0LXBvcHVwIHtcbiAgfVxufVxuXG4vKiBhZGRlZCB0byBiYXNrZXQgcG9wdXAgZW5kICovXG5cbi8qIGFkZGVkIHRvIGJhc2tldCBwb3B1cCBwcm9kdWN0ICovXG5cbi5hZGRlZC10by1iYXNrZXQtcG9wdXAtcHJvZHVjdCB7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKSBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjE2KTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xNik7XG4gIGdhcDogMC43NXJlbTtcbiAgXG4gICZfX2hlYWRsaW5lIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1hcmdpbjogMCAwIDAuMzEzcmVtIDA7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgfVxuICBcbiAgJl9faW1hZ2Uge1xuICAgIHdpZHRoOiA0LjVyZW07XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgICBcbiAgICAmOm50aC1jaGlsZChuKzIpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIFxuICAmX19kZXNjIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgY29sb3I6IHZhcigtLWxpZ2h0LWdyZXktMik7XG4gIH1cbiAgXG4gICZfX3ByaWNlcyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgXG4gICZfX3ByaWNlIHtcbiAgICBjb2xvcjogdmFyKC0tZGFya2VyLWJsdWUpO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgfVxuICBcbiAgJl9fb2xkLXByaWNlIHtcbiAgICBjb2xvcjogdmFyKC0tbGlnaHQtZ3JleS0yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICB9XG4gIFxuICAmX19wY3MtcHJpY2Uge1xuICAgIGNvbG9yOiB2YXIoLS1saWdodC1ncmV5LTIpO1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gIH1cbiAgXG4gICZfX3NhbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAwLjVyZW07XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBcbiAgICAmLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tcmVkKTtcbiAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgICBtaW4taGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgcGFkZGluZzogMC4zNzVyZW0gMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgICYtZGVzYyB7XG4gICAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgICAgY29sb3I6IHZhcigtLXJlZCk7XG4gICAgICBmb250LXdlaWdodDogODAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC5hZGRlZC10by1iYXNrZXQtcG9wdXAtcHJvZHVjdCB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLmFkZGVkLXRvLWJhc2tldC1wb3B1cC1wcm9kdWN0IHtcbiAgICBnYXA6IDEuNXJlbTtcbiAgICBcbiAgICAmX19oZWFkbGluZSB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIH1cbiAgICBcbiAgICAmX19pbWFnZSB7XG4gICAgICB3aWR0aDogNnJlbTtcbiAgICB9XG4gICAgXG4gICAgJl9fZGVzYyB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxuICAgIFxuICAgICZfX3ByaWNlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgfVxuICAgIFxuICAgICZfX29sZC1wcmljZSB7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgfVxuICAgIFxuICAgICZfX3Bjcy1wcmljZSB7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgfVxuICAgIFxuICAgICZfX3NhbGUge1xuICAgICAgXG4gICAgICAmLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICBcbiAgICAgICYtZGVzYyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5hZGRlZC10by1iYXNrZXQtcG9wdXAtcHJvZHVjdCB7XG4gIH1cbn1cblxuLyogYWRkZWQgdG8gYmFza2V0IHBvcHVwIHByb2R1Y3QgZW5kICovIiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuXG4vKiBDU1MgU09VQk9SIFBSTyBLT8Wgw41LL09CSkVETsOBVktVICovXG5cbi8qIG9yZGVyIHNoZWV0IGdlbmVyYWxseSAqL1xuXG4ub3JkZXItc2hlZXQge1xuICBcbiAgJiAuY29udGFpbmVyIHtcbiAgfVxuICBcbiAgJiAuaGVhZGxpbmUge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgfVxuICBcbiAgJiAuYmxvY2tzLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgXG4gICYgLmJsb2NrIHtcbiAgICBmbGV4OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDByZW07XG4gICAgXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgfVxuICB9XG4gIFxuICAmIC50aXRsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAzcmVtO1xuICAgIGNvbG9yOiB2YXIoLS1kYXJrZXItYmx1ZSk7XG4gICAgbWFyZ2luOiAwcmVtIDByZW0gMHJlbSAwcmVtO1xuICAgIHBhZGRpbmc6IDByZW0gMCAwLjg3NXJlbSAwO1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICB9XG5cbiAgJiAuY29udGVudCB7XG4gIH1cbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAub3JkZXItc2hlZXQge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC5vcmRlci1zaGVldCB7XG4gIFxuICAgICYgLmJsb2Nrcy1ncm91cCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICB9XG4gICAgXG4gICAgJiAuYmxvY2sge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMXJlbSk7XG4gIFxuICAgICAgJi5mdWxsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAub3JkZXItc2hlZXQge1xuICB9XG59XG5cbi8qIG9yZGVyIHNoZWV0IGdlbmVyYWxseSBlbmQgKi9cblxuLyogb3JkZXIgc2hlZXQgYmFjayB0byBzaG9wICovXG5cbi5vcmRlci1zaGVldCAuYmFjay10by1zaG9wIHtcbiAgXG4gICYgLmxpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnPCc7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgcGFkZGluZy1yaWdodDogMC4xODhyZW07XG4gICAgfVxuICAgIFxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC5vcmRlci1zaGVldCAuYmFjay10by1zaG9wIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAub3JkZXItc2hlZXQgLmJhY2stdG8tc2hvcCB7XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5vcmRlci1zaGVldCAuYmFjay10by1zaG9wIHtcbiAgfVxufVxuXG4vKiBvcmRlciBzaGVldCBiYWNrIHRvIHNob3AgZW5kICovXG5cbi8qIG9yZGVyIHNoZWV0IG1lc3NhZ2VzICovXG5cbi5vcmRlci1zaGVldCAubWVzc2FnZXMge1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBcbiAgJjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBib3R0b206IDA7XG4gICAgaGVpZ2h0OiAwLjEyNXJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbGlnaHQtYmx1ZSkgY29udGVudC1ib3g7XG4gICAgY29udGVudDogJyc7XG4gICAgcGFkZGluZzogMHJlbSB2YXIoLS1wYWdlLXBhZGRpbmcpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogdmFyKC0tcGFnZS13aWR0aCk7XG4gIH1cbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAub3JkZXItc2hlZXQgLm1lc3NhZ2VzIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAub3JkZXItc2hlZXQgLm1lc3NhZ2VzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLm9yZGVyLXNoZWV0IC5tZXNzYWdlcyB7XG4gIH1cbn1cblxuLyogb3JkZXIgc2hlZXQgbWVzc2FnZXMgZW5kICovXG5cbi8qIG9yZGVyIHNoZWV0IGZyZWUgZGVsaXZlcnkgaW5mbyBib2FyZCAqL1xuXG4ub3JkZXItc2hlZXQgLmZyZWUtZGVsaXZlcnktaW5mby1ib2FyZCB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIFxuICAmIC5jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwLjc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWxpZ2h0LWJsdWUpO1xuICB9XG4gIFxuICAmIC5ib3gge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTtcbiAgICBwYWRkaW5nOiAwLjc1cmVtO1xuICAgIGdhcDogMS4zNzVyZW07XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAwLjE4OHJlbTtcbiAgICBib3gtc2hhZG93OiAwIDAuMjVyZW0gMC43NXJlbSAwIHJnYmEoMCwgMCwgMCwgMC4xNik7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4zNzVyZW07XG4gIH1cbiAgXG4gICYgLnByb2dyZXNzYmFyIHtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjc1cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbGlnaHQtYmx1ZSk7XG4gICAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gIH1cbiAgXG4gICYgLnByb2dyZXNzYmFyLXNsaWRlciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZGFya2VyLWJsdWUpO1xuICB9XG4gIFxuICAmIC5pbmZvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMC41cmVtO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBcbiAgICAmLmhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICBcbiAgJiAuaW5mby0xIHtcbiAgICBvcmRlcjogLTE7XG4gICAgZ2FwOiAwLjc1cmVtO1xuICAgIFxuICAgICY6YmVmb3JlIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB3aWR0aDogMi42MjVyZW07XG4gICAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zdHlsZS9pY29ucy90LXNoaXJ0LnN2ZykgY2VudGVyIGNlbnRlciAvIGNvbnRhaW4gbm8tcmVwZWF0O1xuICAgIH1cbiAgfVxuICBcbiAgJiAuaW5mby1kZXNjIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1kYXJrZXItYmx1ZSk7XG4gIH1cbiAgXG4gICYgLmluZm8tYW1vdW50IHtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgICBmbGV4OiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMTg4cmVtO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZGFya2VyLWJsdWUpO1xuICB9XG4gIFxuICAmIC5oaW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbjogMDtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIFxuICAgICY6YmVmb3JlIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB3aWR0aDogMS4yNXJlbTtcbiAgICAgIGFzcGVjdC1yYXRpbzogMS8xO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBtYXJnaW4tdG9wOiAwLjFlbTtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc3R5bGUvaWNvbnMvcXVlc3Rpb24tMy5zdmcpIGNlbnRlciBjZW50ZXIgLyBjb250YWluIG5vLXJlcGVhdDtcbiAgICB9XG4gIH1cbiAgXG4gICYgLmhpbnQtZGVzYyB7XG4gICAgXG4gICAgJi5oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAub3JkZXItc2hlZXQgLmZyZWUtZGVsaXZlcnktaW5mby1ib2FyZCB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLm9yZGVyLXNoZWV0IC5mcmVlLWRlbGl2ZXJ5LWluZm8tYm9hcmQge1xuICBcbiAgICAmIC5jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgfVxuICBcbiAgICAmIC5ib3gge1xuICAgICAgcGFkZGluZzogMS4xMjVyZW07XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgfVxuICBcbiAgICAmIC5pbmZvLTEge1xuICAgICAgb3JkZXI6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gICAgXG4gICAgJiAuaW5mby0yIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gICAgXG4gICAgJiAuaW5mby1kZXNjIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5vcmRlci1zaGVldCAuZnJlZS1kZWxpdmVyeS1pbmZvLWJvYXJkIHtcbiAgXG4gICAgJiAuY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAxLjI1ZW07XG4gICAgfVxuICBcbiAgICAmIC5ib3gge1xuICAgICAgcGFkZGluZzogMS41cmVtO1xuICAgIH1cbiAgXG4gICAgJiAuaW5mby1kZXNjIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgfVxuICB9XG59XG5cbi8qIG9yZGVyIHNoZWV0IGZyZWUgZGVsaXZlcnkgaW5mbyBib2FyZCBlbmQgKi9cblxuLyogb3JkZXIgc2hlZXQgZnJlZSBwcm9kdWN0ICovXG5cbi5vcmRlci1zaGVldCAuZnJlZS1wcm9kdWN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgXG4gICYgLmNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1saWdodC1ibHVlKTtcbiAgfVxuICBcbiAgJiAuYm94IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwLjc1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMC4xODhyZW07XG4gICAgYm94LXNoYWRvdzogMCAwLjI1cmVtIDAuNzVyZW0gMCByZ2JhKDAsIDAsIDAsIDAuMTYpO1xuICB9XG4gIFxuICAmIC5jYXB0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGNvbG9yOiB2YXIoLS1kYXJrZXItYmx1ZSk7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luOiAwIDAuMjVyZW0gMC4zNzVyZW0gMC4yNXJlbTtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBcbiAgICAmOmJlZm9yZSB7XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgd2lkdGg6IDEuMjVyZW07XG4gICAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgbWFyZ2luLXRvcDogMC4xZW07XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3N0eWxlL2ljb25zL3F1ZXN0aW9uLTMuc3ZnKSBjZW50ZXIgY2VudGVyIC8gY29udGFpbiBuby1yZXBlYXQ7XG4gICAgfVxuICB9XG4gIFxuICAmIC5jYXB0aW9uLXRleHQge1xuICAgIHBhZGRpbmctdG9wOiAwLjE1ZW07XG4gIH1cbiAgXG4gICYgLmhpbnQge1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgbWFyZ2luOiAwIDAuMjVyZW0gMC43NXJlbSAwLjI1cmVtO1xuICB9XG4gIFxuICAmIC5wcm9ncmVzcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAwLjU2M3JlbSAwLjI1cmVtO1xuICAgIFxuICAgICYgLnBhcnQge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgZmxleC1iYXNpczogY2FsYygzMy4zMzMzMzIlIC0gMC4xN3JlbSk7XG4gICAgICBjb2xvcjogdmFyKC0tbGlnaHQtZ3JleSk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgXG4gICAgICAmLmZpbGxlZCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1kYXJrZXItYmx1ZSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgIFxuICAgICAgICAmLmZyZWUge1xuICAgICAgICAgIGNvbG9yOiAjMDBCQTY5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgICYgLmJhciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMC41cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMC4yNWVtO1xuICAgICAgYmFja2dyb3VuZDogY3VycmVudGNvbG9yO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4zNzVyZW07XG4gICAgfVxuICAgIFxuICAgICYgLmRlc2Mge1xuICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGdhcDogMC4zMTNyZW07XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBcbiAgICAmIC5wYXJ0Om5vdCguZmlsbGVkKSAuZGVzYyB7XG4gICAgICBjb2xvcjogdmFyKC0tZ3JleSk7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLm9yZGVyLXNoZWV0IC5mcmVlLXByb2R1Y3Qge1xuICAgIFxuICAgICYgLnByb2dyZXNzIHtcbiAgICAgIFxuICAgICAgJiAucGFydCB7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC5vcmRlci1zaGVldCAuZnJlZS1wcm9kdWN0IHtcbiAgICBcbiAgICAmIC5jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDAuODc1cmVtO1xuICAgIH1cbiAgICBcbiAgICAmIC5ib3gge1xuICAgICAgcGFkZGluZzogMS4xMjVyZW07XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgfVxuICAgIFxuICAgICYgLmNhcHRpb24ge1xuICAgICAgZm9udC1zaXplOiAxLjA2M3JlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgICBcbiAgICAmIC5oaW50IHtcbiAgICAgIGZvbnQtc2l6ZTogMC42ODhyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgfVxuICAgIFxuICAgICYgLnByb2dyZXNzIHtcbiAgICAgIGdhcDogMC42MjVyZW0gMC4zNzVyZW07XG4gICAgICBcbiAgICAgIFxuICAgICAgJiAucGFydCB7XG4gICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMTYuNjY2NjY1JSAtIDAuMzc1cmVtKTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgJiAuYmFyIHtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgJiAuZGVzYyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC42ODhyZW07XG4gICAgICB9XG4gICAgICBcbiAgICAgICYgLnBhcnQuZmlsbGVkIC5kZXNjIHtcbiAgICAgICAgXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICAgIHdpZHRoOiAwLjYyNXJlbTtcbiAgICAgICAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3N0eWxlL2ljb25zL2NoZWNrLnN2ZykgY2VudGVyIGNlbnRlciAvIGNvbnRhaW4gbm8tcmVwZWF0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBcbiAgICAgICYgLnBhcnQuZmlsbGVkLmZyZWUgLmRlc2Mge1xuICAgICAgICBcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc3R5bGUvaWNvbnMvY2hlY2stMi5zdmcpIGNlbnRlciBjZW50ZXIgLyBjb250YWluIG5vLXJlcGVhdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLm9yZGVyLXNoZWV0IC5mcmVlLXByb2R1Y3Qge1xuICAgIFxuICAgICYgLmNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMS4yNWVtO1xuICAgIH1cbiAgICBcbiAgICAmIC5ib3gge1xuICAgICAgcGFkZGluZzogMS41cmVtO1xuICAgIH1cbiAgICBcbiAgICAmIC5jYXB0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgfVxuICAgIFxuICAgICYgLmhpbnQge1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4zNzVyZW07XG4gICAgfVxuICAgIFxuICAgICYgLnByb2dyZXNzIHtcbiAgICAgIGdhcDogMC44NzVyZW0gMC41cmVtO1xuICAgICAgXG4gICAgICAmIC5wYXJ0IHtcbiAgICAgICAgZmxleC1iYXNpczogY2FsYygxNi42NjY2NjUlIC0gMC40MzhyZW0pO1xuICAgICAgfVxuICAgICAgXG4gICAgICAmIC5iYXIge1xuICAgICAgfVxuICAgICAgXG4gICAgICAmIC5kZXNjIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiBvcmRlciBzaGVldCBmcmVlIHByb2R1Y3QgZW5kICovXG5cbi8qIG9yZGVyIHNoZWV0IGZvcm1zIGdlbmVyYWxseSAqL1xuXG4ub3JkZXItc2hlZXQgOi0tZm9ybS1lbGVtZW50cyB7XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLm9yZGVyLXNoZWV0IDotLWZvcm0tZWxlbWVudHMge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC5vcmRlci1zaGVldCA6LS1mb3JtLWVsZW1lbnRzIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLm9yZGVyLXNoZWV0IDotLWZvcm0tZWxlbWVudHMge1xuICB9XG59XG5cbi8qIG9yZGVyIHNoZWV0IGZvcm1zIGdlbmVyYWxseSBlbmQgKi9cblxuLyogb3JkZXIgc2hlZXQgZm9ybXMgaXRlbSBnZW5lcmFsbHkgKi9cblxuLm9yZGVyLXNoZWV0IC5mb3JtLWl0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwcmVtO1xuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLm9yZGVyLXNoZWV0IC5mb3JtLWl0ZW0ge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC5vcmRlci1zaGVldCAuZm9ybS1pdGVtIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLm9yZGVyLXNoZWV0IC5mb3JtLWl0ZW0ge1xuICB9XG59XG5cbi8qIG9yZGVyIHNoZWV0IGZvcm1zIGl0ZW0gZW5kICovXG5cbi8qIG9yZGVyIHNoZWV0IGJhc2tldCAqL1xuXG4ub3JkZXItc2hlZXQgLmJhc2tldCB7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIFxuICAmOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDAuMTI1cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1saWdodC1ibHVlKSBjb250ZW50LWJveDtcbiAgICBjb250ZW50OiAnJztcbiAgICBwYWRkaW5nOiAwcmVtIHZhcigtLXBhZ2UtcGFkZGluZyk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1wYWdlLXdpZHRoKTtcbiAgfVxuICBcbiAgJiAuaGVhZGxpbmUge1xuICB9XG4gIFxuICAmIC5nb29kcyB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgfVxuICBcbiAgJiAuY29udGVudCB7XG4gICAgcGFkZGluZzogMHJlbTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG4gIFxuICAmIC5pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICNmM2YzZjM7XG4gICAgcGFkZGluZzogMS4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgfVxuICBcbiAgJiAucGFydCB7XG4gICAgZmxleDogbm9uZTtcbiAgICBwYWRkaW5nOiAwcmVtIDEuMjVyZW0gMnJlbSAwcmVtO1xuICB9XG4gIFxuICAmIC5waWN0dXJlIHtcbiAgICB3aWR0aDogNi41cmVtO1xuICAgIGhlaWdodDogNi41cmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3JkZXI6IDEwO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cbiAgXG4gICYgLmltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICB9XG4gIFxuICAmIC5uYW1lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvcmRlcjogMjA7XG4gICAgXG4gICAgJiAubGluayB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG4gIFxuICAmIC5waWVjZXMge1xuICAgIG9yZGVyOiAzMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbiAgXG4gICYgLnBpZWNlcy1ib3gge1xuICAgIGhlaWdodDogYXV0bztcblxuICAgICYgLmhhbmRsZSB7XG4gICAgICB3aWR0aDogMi41cmVtO1xuICAgICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgfVxuICAgIFxuICAgICYgaW5wdXQge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICB9XG4gIH1cbiAgXG4gICYgLnVuaXQtcHJpY2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3JkZXI6IDYwO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMCAwIDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgfVxuICBcbiAgJiAucHJpY2Uge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvcmRlcjogNTA7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICB9XG4gIFxuICAmIC5yZW1vdmUge1xuICAgIGZsZXg6IG5vbmU7XG4gICAgb3JkZXI6IDE1O1xuICAgIG1hcmdpbjogMCAwIGF1dG8gYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIFxuICAgIFxuICAgICYgLmhhbmRsZSB7XG4gICAgICB3aWR0aDogMS41NjI1cmVtO1xuICAgICAgaGVpZ2h0OiAxLjU2MjVyZW07XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IDAuM3M7XG4gICAgICBcbiAgICAgICY6YmVmb3JlLFxuICAgICAgJjphZnRlcntcbiAgICAgICAgd2lkdGg6IDIuMnJlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjEyNXJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMzQzNDM0O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgbGVmdDogLTAuM3JlbTtcbiAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDFweCk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgXG4gICYgLnN1bW1hcnkge1xuICAgIFxuICAgICYgLnRpdGxlIHtcbiAgICAgIHBhZGRpbmc6IC43NXJlbSAwIDAgMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBjb2xvcjogdmFyKC0tb3JhbmdlKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuICAgIFxuICAgICYgLnZhbHVlIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuXG4gICAgJiAuZGVzYyB7XG4gICAgICBvcmRlcjogMDtcbiAgICB9XG4gICAgJiAuZGVzYy1zdXAge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMXJlbSAwO1xuICAgICAgb3JkZXI6IDI7XG4gICAgfVxuICAgIFxuICAgICYgLnZhdGluIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBjb2xvcjogIzM0MzQzNDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgb3JkZXI6IDM7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLm9yZGVyLXNoZWV0IC5iYXNrZXQge1xuICB9XG59XG5cbkBtZWRpYSAoLS1MSUdIVFNDUkVFTikge1xuICAub3JkZXItc2hlZXQgLmJhc2tldCB7XG4gICAgJiAuc3VtbWFyeSB7XG4gICAgICAmIC5kZXNjLXN1cCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgICBvcmRlcjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLm9yZGVyLXNoZWV0IC5iYXNrZXQge1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuXG4gICAgJiAucGFydCB7XG4gICAgICBwYWRkaW5nOiAyLjVyZW0gMXJlbTtcbiAgICB9XG5cbiAgICAmIC5pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDAgMS4yNXJlbSAwIDA7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgICAgJi5kZWxpdmVyeSB7XG4gICAgICAgICYgLnBhcnQge1xuICAgICAgICAgIHBhZGRpbmc6IDEuNXJlbSAxcmVtO1xuXG4gICAgICAgICAgJi5waWN0dXJlIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogNS41cmVtO1xuICAgICAgICAgICAgbWluLWhlaWdodDogNS41cmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIFxuICAgICYgLnBhcnQucGljdHVyZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1pbi13aWR0aDogNy41cmVtO1xuICAgICAgbWluLWhlaWdodDogNy41cmVtO1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1yaWdodDogMy4xMjVyZW07XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgJiAuaW1hZ2Uge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuICBcbiAgICAmIC5wYXJ0Lm5hbWUge1xuICAgICAgZmxleDogMTAwO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMCAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgXG4gICAgJiAudW5pdC1wcmljZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgXG4gICAgJiAucHJpY2Uge1xuICAgICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbiAgICB9XG4gIFxuICAgICYgLnJlbW92ZSB7XG4gICAgICBvcmRlcjogNjA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwcmVtO1xuICAgIH1cblxuICAgICYgLnN1bW1hcnkge1xuXG4gICAgICAmIC50aXRsZSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIH1cblxuICAgICAgJiAudmFsdWUge1xuICAgICAgICBtYXJnaW46IDAgMi42MjVyZW0gMCBhdXRvO1xuICAgICAgfVxuXG4gICAgICAmIC52YXRpbiB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBmb250LXNpemU6IDAuNjg4cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLm9yZGVyLXNoZWV0IC5iYXNrZXQge1xuICAgICYgLnBhcnQge1xuICAgICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgfVxuXG4gICAgJiAubmFtZSB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIH1cbiAgfVxufVxuXG4vKiBvcmRlciBzaGVldCBiYXNrZXQgZW5kICovXG5cbi8qIG9yZGVyIHNoZWV0IGVtcHR5IGJhc2tldCAqL1xuXG4ub3JkZXItc2hlZXQgLmVtcHR5LWJhc2tldCB7XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLm9yZGVyLXNoZWV0IC5lbXB0eS1iYXNrZXQge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC5vcmRlci1zaGVldCAuZW1wdHktYmFza2V0IHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLm9yZGVyLXNoZWV0IC5lbXB0eS1iYXNrZXQge1xuICB9XG59XG5cbi8qIG9yZGVyIHNoZWV0IGVtcHR5IGJhc2tldCBlbmQgKi9cblxuLyogb3JkZXIgc2hlZXQgZGVsaXZlcnkgYW5kIHBheW1lbnQgKi9cblxuLm9yZGVyLXNoZWV0IC5kZWxpdmVyeS1wYXltZW50IHtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgXG4gICY6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMC4xMjVyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWxpZ2h0LWJsdWUpIGNvbnRlbnQtYm94O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBhZGRpbmc6IDByZW0gdmFyKC0tcGFnZS1wYWRkaW5nKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IHZhcigtLXBhZ2Utd2lkdGgpO1xuICB9XG4gIFxuICAmIC5kZWxpdmVyeSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgfVxuICBcbiAgJiAuc2VsZWN0LWNvdW50cnkge1xuICAgIG1hcmdpbjogMS41cmVtIDA7XG5cbiAgICAmIC5zdGFibGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgICYgc2VsZWN0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAmIC52YXJzIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG4gIFxuICAmIC5mb3JtLWl0ZW0tY2hlY2tib3gge1xuICAgIHBhZGRpbmc6IDAuNzVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgICBtYXJnaW46IDAgMCAwLjYyNXJlbSAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcbiAgICAmOmhhcyhpbnB1dDpjaGVja2VkKSB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMHJlbSAwLjA2M3JlbSBpbnNldCB2YXIoLS1kYXJrLWdyZXkpO1xuICAgIH1cbiAgICBcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgICB9XG4gICAgXG4gICAgJiBpbnB1dCB7XG4gICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ncmV5KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc3R5bGUvaWNvbnMvcmFkaW8uc3ZnKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMC41cmVtIGF1dG87XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZGFyay1ncmV5KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGFya2VyLWJsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgLnN0YWJsZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgXG4gICAgJiAucm93IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgXG4gICAgJiAubG9nbyB7XG4gICAgICB3aWR0aDogNi4yNXJlbTtcbiAgICAgIGFzcGVjdC1yYXRpbzogMi8xO1xuICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpZ2h0LWdyZXkpO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIHBhZGRpbmc6IDAuMjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgIH1cbiAgICBcbiAgICAmIC5kZXNjIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgXG4gICAgICAmIC5uYW1lIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICBcbiAgICAgICYgLnRleHQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAwLjY4OHJlbTtcbiAgICAgICAgY29sb3I6ICM3YTdhN2E7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIFxuICAgICAgICAmIC5idXR0b24ge1xuICAgICAgICAgIG1hcmdpbjogMC41cmVtIDAgMCAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgICYgLnByaWNlIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgcGFkZGluZzogMnJlbSAwcmVtIDByZW0gMS4yNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICB9XG4gIFxuICAgICYgLnZhcnMge1xuICAgICAgXG4gICAgICAmOmVtcHR5IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgW2RhdGEtdGlwcHktY29udGVudF0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDAuNzVyZW07XG4gICAgICB0b3A6IDAuNzVyZW07XG4gICAgfVxuICB9XG4gIFxuICAmIC5zdW1tYXJ5IHtcbiAgICBcbiAgICAmIC50aXRsZSB7XG4gICAgICBjb2xvcjogdmFyKC0tb3JhbmdlKTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAub3JkZXItc2hlZXQgLmRlbGl2ZXJ5LXBheW1lbnQge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC5vcmRlci1zaGVldCAuZGVsaXZlcnktcGF5bWVudCB7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgXG4gICAgJiAuZGVsaXZlcnkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgICB9XG4gICAgXG4gICAgJiAuc2VsZWN0LWNvdW50cnkge1xuICAgICAgbWFyZ2luLXRvcDogMS43NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNzVyZW07XG4gICAgfVxuICAgIFxuICAgICYgLmZvcm0taXRlbS1jaGVja2JveCB7XG4gICAgICBwYWRkaW5nOiAwLjg3NXJlbSAxLjI1cmVtO1xuICAgICAgXG4gICAgICAmIC5sb2dvIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICB9XG4gICAgICBcbiAgICAgICYgLmRlc2Mge1xuICAgICAgICBmb250LXNpemU6IDAuOTM4cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICAgIFxuICAgICAgICAmIC50ZXh0IHtcbiAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIFxuICAgICAgJiAucHJpY2Uge1xuICAgICAgICBmb250LXNpemU6IDAuOTM4cmVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgfVxuICAgICAgXG4gICAgICBbZGF0YS10aXBweS1jb250ZW50XSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1ZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAub3JkZXItc2hlZXQgLmRlbGl2ZXJ5LXBheW1lbnQge1xuICAgIFxuICAgICYgLnNlbGVjdC1jb3VudHJ5IHtcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIH1cbiAgICBcbiAgICAmIC5mb3JtLWl0ZW0tY2hlY2tib3gge1xuICAgICAgcGFkZGluZzogMXJlbSAxLjVyZW07XG4gICAgICBcbiAgICAgICYgLmxvZ28ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMS41cmVtO1xuICAgICAgfVxuICAgICAgXG4gICAgICAmIC5kZXNjIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgJiAucHJpY2Uge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIG9yZGVyIHNoZWV0IGRlbGl2ZXJ5IGFuZCBwYXltZW50IGVuZCAqL1xuXG4vKiBvcmRlciBzaGVldCBzaGlwcGluZyAqL1xuXG4ub3JkZXItc2hlZXQgLnNoaXBwaW5nIHtcbiAgXG4gICYgLmlubmVyIHtcbiAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICBwYWRkaW5nLXRvcDogMi41cmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgICB9XG4gIH1cbiAgXG4gICYgLmN1c3RvbWVyLCAmIC5vdGhlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcblxuICAgICYgLnRpdGxlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgJiAuZm9ybS1pdGVtLWNoZWNrYm94IHtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgJiAuZGVzYyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgJiAubm90ZSB7XG4gICAgXG4gICAgJiB0ZXh0YXJlYSB7XG4gICAgICBoZWlnaHQ6IDhyZW07XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLm9yZGVyLXNoZWV0IC5zaGlwcGluZyB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLm9yZGVyLXNoZWV0IC5zaGlwcGluZyB7XG5cbiAgICAmIC5pbm5lciB7XG4gICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcbiAgICAgIH1cblxuICAgICAgJiA+IC5ibG9jayB7XG4gICAgICAgIHBhZGRpbmc6IDMuMTI1cmVtIDIuNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJiAuYWRkcmVzcyxcbiAgICAmIC5jb21wYW55LFxuICAgICYgLm5vdGUge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgY2xlYXI6IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLm9yZGVyLXNoZWV0IC5zaGlwcGluZyB7XG4gIH1cbn1cblxuLyogb3JkZXIgc2hpcHBpbmcgZW5kICovXG5cbi8qIG9yZGVyIHNoZWV0IHJpYmJvbiAqL1xuXG4ub3JkZXItc2hlZXQgLnJpYmJvbiB7XG4gIFxuICAmIC5hY3RpdmUtYm94IHtcblxuICAgICYgLmJsb2NrIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMTI1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuMTI1cmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gc29saWQgdmFyKC0tbGlnaHQtYmx1ZSk7XG5cbiAgICAgICYgLnRpdGxlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICBcbiAgICAmIC5oYW5kbGVzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIFxuICAgICYgLm1haW4ge1xuICAgICAgZmxleDogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgXG4gICAgICAmID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmIC5zdW1tYXJ5IHtcbiAgICB9XG4gICAgXG4gICAgJiAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAub3JkZXItc2hlZXQgLnJpYmJvbiB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU5PUk1BTFNDUkVFTikge1xuICBcbiAgLm9yZGVyLXNoZWV0IC5yaWJib24ge1xuICBcbiAgICAmIC5hY3RpdmUtYm94IHtcbiAgICAgICYgLmhhbmRsZXMge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwLjEyNXJlbSBzb2xpZCB2YXIoLS1saWdodC1ibHVlKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgJiAubWFpbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwIDJyZW0gMCAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcmVtO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuXG4gICAgICAgICYgPiAqIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJiAucm93IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYgLnN1bW1hcnkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3JkZXI6IC0xO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAub3JkZXItc2hlZXQgLnJpYmJvbiB7XG4gIH1cbn1cblxuLyogb3JkZXIgc2hlZXQgcmliYm9uIGVuZCAqL1xuXG4vKiBvcmRlciBjcmVhdGVkICovXG5cbi5vcmRlci1jcmVhdGVkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICYgPiAuaW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvc3R5bGUvY2xvdWRzMy5zdmdcIikgbm8tcmVwZWF0IHJpZ2h0IC0ycmVtIGJvdHRvbSAvIDIxLjYyNXJlbSBhdXRvO1xuXG4gICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbiAgfVxuXG4gICYgLmNvbnRlbnQge1xuICAgIG1pbi1oZWlnaHQ6IDcydmg7XG4gICAgbWF4LXdpZHRoOiA0MHJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDE0LjA2M3JlbTtcbiAgICAgIGhlaWdodDogNy44MTNyZW07XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3N0eWxlL2Nsb3VkMS5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb250YWluO1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMS41cmVtIGF1dG87XG4gICAgfVxuICB9XG4gIFxuICAmIC50aXRsZSB7XG4gICAgY29sb3I6IHZhcigtLXRoZW1lLWNvbG9yKTtcbiAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgfVxuICBcbiAgJiAucGVyZXgge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxuICBcbiAgJiAuZGVzYyB7XG4gICAgXG4gICAgJiAucm93ZWsge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gIFxuICAmIC5wYXltZW50IHtcbiAgfVxuICBcbiAgJiAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAub3JkZXItY3JlYXRlZCB7XG4gICAgJiAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgIH1cblxuICAgICYgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAub3JkZXItY3JlYXRlZCB7XG5cbiAgICAmIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IDIuNnJlbTtcbiAgICB9XG5cbiAgICAmIC5wZXJleCB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIH1cblxuICAgICYgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiA1cmVtO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLm9yZGVyLWNyZWF0ZWQge1xuICAgICYgPiAuaW5uZXIge1xuICAgICAgcGFkZGluZy10b3A6IDZyZW07XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIH1cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDMyLjYyNXJlbTtcbiAgICAgICAgbWF4LWhlaWdodDogMTUuNzVyZW07XG4gICAgICAgIGhlaWdodDogMjB2aDtcbiAgICAgICAgbWluLWhlaWdodDogOHJlbTtcbiAgICAgICAgdG9wOiAydmg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zdHlsZS9jbG91ZHMxLnN2Z1wiKTtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDMwLjI1cmVtO1xuICAgICAgICBoZWlnaHQ6IDI0LjI1cmVtO1xuICAgICAgICB3aWR0aDogMjJ2dztcbiAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDEyLjEyNXJlbSk7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc3R5bGUvY2xvdWRzMi5zdmdcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiAuY29udGVudCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1pbi1oZWlnaHQ6IDY1dmg7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IDMuMTI1cmVtO1xuICAgIH1cblxuICAgICYgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiA2LjI1cmVtO1xuICAgIH1cbiAgfVxufVxuXG4vKiBvcmRlciBjcmVhdGVkIGVuZCAqL1xuXG4vKiBvcmRlciBzdGF0dXMgKi9cblxuLm9yZGVyLXN0YXR1cyB7XG4gIFxuICAmIC5oZWFkbGluZSB7XG4gIH1cbiAgXG4gICYgLmluZm8ge1xuICAgIFxuICAgICYgLnJvd2VrIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMHJlbSAwcmVtIDAuNXJlbSAwcmVtO1xuICAgICAgXG4gICAgICAmOmxhc3Qtb2YtdHlwZXtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDByZW07XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgICYgLmRlc2Mge1xuICAgICAgZmxleDogbm9uZTtcbiAgICAgIHdpZHRoOiA4cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICB9XG4gICAgXG4gICAgJiAudmFsdWUge1xuICAgIH1cbiAgfVxuICBcbiAgJiAubGlzdCB7XG4gICAgXG4gICAgJiAuaXRlbSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMC41cmVtIDByZW07XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICAgIFxuICAgICAgJjpsYXN0LW9mLXR5cGV7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmIC5oZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgICYgLnBhcnQge1xuICAgICAgZmxleDogbm9uZTtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBwYWRkaW5nOiAwLjVyZW0gMHJlbTtcbiAgICB9XG4gICAgXG4gICAgJiAucGljdHVyZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAmIC5uYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAmIC5jb2RlIHtcbiAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xuICAgIH1cbiAgICBcbiAgICAmIC5hdmFpbGFiaWxpdHkge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgICBcbiAgICAmIC5wYXltZW50IHtcbiAgICAgIG1hcmdpbjogMHJlbSAwcmVtIDEuNXJlbSAwcmVtO1xuICAgIH1cbiAgICBcbiAgICAmIC5idXR0b24ge1xuICAgICAgbWFyZ2luOiAwcmVtIDByZW0gMHJlbSAwcmVtO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC5vcmRlci1zdGF0dXMge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC5vcmRlci1zdGF0dXMge1xuICAgIFxuICAgICYgLmluZm8ge1xuICBcbiAgICAgICYgLmRlc2Mge1xuICAgICAgICB3aWR0aDogMTJyZW07XG4gICAgICB9XG4gICAgfVxuICBcbiAgICAmIC5saXN0IHtcbiAgICAgIFxuICAgICAgJiAuaXRlbSB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgfVxuICAgIFxuICAgICAgJiAucGFydCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XG4gICAgICB9XG4gICAgXG4gICAgICAmIC5waWN0dXJlIHtcbiAgICAgICAgd2lkdGg6IDRyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICBcbiAgICAgICYgLmltYWdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gIFxuICAgICAgJiAubmFtZSB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgXG4gICAgICAmIC5jb2RlIHtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIFxuICAgICAgJiAuYXZhaWxhYmlsaXR5IHtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMHJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAub3JkZXItc3RhdHVzIHtcbiAgfVxufVxuXG4vKiBvcmRlciBzdGF0dXMgZW5kICovXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4iLCJAY2hhcnNldCBcInV0Zi04XCI7XG5cbi8qIENTUyBTT1VCT1IgUFJPIFXFvUlWQVRFTFNLT1UgxIzDgVNUIFBST0pFS1RVIFDFmEVEIFDFmElITMOBxaBFTsONTSAqL1xuXG4vKiB1c2VyIGFjY291bnQgZ2VuZXJhbGx5ICovXG5cbi51c2VyLWFjY291bnQge1xufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC51c2VyLWFjY291bnQge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC51c2VyLWFjY291bnQge1xuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAudXNlci1hY2NvdW50IHtcbiAgfVxufVxuXG5cbi8qIHVzZXIgYWNjb3VudCBnZW5lcmFsbHkgZW5kICovXG5cbi8qIHVzZXIgYWNjb3VudCBjb250ZW50IGdlbmVyYWxseSAqL1xuXG4udXNlci1hY2NvdW50LWNvbnRlbnQge1xuICBcbiAgJiAuYmxvY2sge1xuICAgIG1heC13aWR0aDogMzQuMzc1cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDAzO1xuICAgIG1hcmdpbjogMS41cmVtIGF1dG8gMHJlbSBhdXRvO1xuICB9XG4gIFxuICAmIC50aXRsZSB7XG4gICAgYmFja2dyb3VuZDogIzAwMDAwMDE5O1xuICAgIG1hcmdpbjogMHJlbSAwcmVtIDByZW0gMHJlbTtcbiAgICBwYWRkaW5nOiAwLjkzOHJlbSAxLjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgfVxuICBcbiAgJiAuY29udGVudCB7XG4gICAgcGFkZGluZzogMS4yNXJlbSAxLjI1cmVtIDEuMjVyZW0gMS4yNXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC51c2VyLWFjY291bnQtY29udGVudCB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLnVzZXItYWNjb3VudC1jb250ZW50IHtcbiAgXG4gICAgJiAuYmxvY2sge1xuICAgICAgbWFyZ2luLXRvcDogMi41cmVtO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLnVzZXItYWNjb3VudC1jb250ZW50IHtcbiAgfVxufVxuXG4vKiB1c2VyIGFjY291bnQgY29udGVudCBnZW5lcmFsbHkgZW5kICovXG5cbi8qIHVzZXIgYWNjb3VudCBmb3JtcyBpdGVtIGdlbmVyYWxseSAqL1xuXG4udXNlci1hY2NvdW50IC5mb3JtLWl0ZW0ge1xufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC51c2VyLWFjY291bnQgLmZvcm0taXRlbSB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLnVzZXItYWNjb3VudCAuZm9ybS1pdGVtIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLnVzZXItYWNjb3VudCAuZm9ybS1pdGVtIHtcbiAgfVxufVxuXG4vKiB1c2VyIGFjY291bnQgZm9ybXMgaXRlbSBnZW5lcmFsbHkgZW5kICovXG5cbi8qIHVzZXIgYWNjb3VudCBidXR0b25zIGdlbmVyYWxseSAqL1xuXG4udXNlci1hY2NvdW50LWJ1dHRvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwcmVtIDByZW0gMHJlbSAwcmVtO1xuICBcbiAgJiAuYnV0dG9uIHtcbiAgICBmbGV4OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMHJlbSAwcmVtIDByZW0gYXV0bztcbiAgfVxuICBcbiAgJiAubGlua3Mge1xuICAgIGZsZXg6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMC44NzVyZW0gMHJlbSAwcmVtIDByZW07XG4gIFxuICAgICYgLmxpbmsge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgbWFyZ2luOiAwLjI1cmVtIDAuNXJlbSAwLjI1cmVtIDByZW07XG4gICAgXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgJiAuZ2Rwci1yZWd1bGF0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDByZW0gMHJlbSAwLjVyZW0gMHJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC51c2VyLWFjY291bnQtYnV0dG9ucyB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICBcbiAgICAmIC5idXR0b24ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICBcbiAgICAmIC5saW5rcyB7XG4gICAgICBmbGV4LXNocmluazogMTtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgcGFkZGluZy10b3A6IDByZW07XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIG9yZGVyOiAtMTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICB9XG4gIFxuICAgICYgLmdkcHItcmVndWxhdGlvbiB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDByZW07XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC51c2VyLWFjY291bnQtYnV0dG9ucyB7XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC51c2VyLWFjY291bnQtYnV0dG9ucyB7XG4gIH1cbn1cblxuLyogdXNlciBhY2NvdW50IGJ1dHRvbnMgZ2VuZXJhbGx5IGVuZCAqL1xuXG4vKiB1c2VyIGFjY291bnQgbG9naW4gKi9cblxuLnVzZXItYWNjb3VudC1sb2dpbiB7XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLnVzZXItYWNjb3VudC1sb2dpbiB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLnVzZXItYWNjb3VudC1sb2dpbiB7XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC51c2VyLWFjY291bnQtbG9naW4ge1xuICB9XG59XG5cbi8qIHVzZXIgYWNjb3VudCBsb2dpbiBlbmQgKi9cblxuLyogdXNlciBhY2NvdW50IHJlZ2lzdGVyICovXG5cbi51c2VyLWFjY291bnQtcmVnaXN0ZXIge1xufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC51c2VyLWFjY291bnQtcmVnaXN0ZXIge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC51c2VyLWFjY291bnQtcmVnaXN0ZXIge1xuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAudXNlci1hY2NvdW50LXJlZ2lzdGVyIHtcbiAgfVxufVxuXG4vKiB1c2VyIGFjY291bnQgcmVnaXN0ZXIgZW5kICovXG5cbi8qIHVzZXIgYWNjb3VudCByZWdpc3RlciBzdWNjZXNzICovXG5cbi51c2VyLWFjY291bnQtcmVnaXN0ZXItc3VjY2VzcyB7XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLnVzZXItYWNjb3VudC1yZWdpc3Rlci1zdWNjZXNzIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAudXNlci1hY2NvdW50LXJlZ2lzdGVyLXN1Y2Nlc3Mge1xuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAudXNlci1hY2NvdW50LXJlZ2lzdGVyLXN1Y2Nlc3Mge1xuICB9XG59XG5cbi8qIHVzZXIgYWNjb3VudCByZWdpc3RlciBzdWNjZXNzIGVuZCAqL1xuXG4vKiB1c2VyIGFjY291bnQgY2hhbmdlIHBhc3N3b3JkICovXG5cbi51c2VyLWFjY291bnQtY2hhbmdlLXBhc3N3b3JkIHtcbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAudXNlci1hY2NvdW50LWNoYW5nZS1wYXNzd29yZCB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLnVzZXItYWNjb3VudC1jaGFuZ2UtcGFzc3dvcmQge1xuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAudXNlci1hY2NvdW50LWNoYW5nZS1wYXNzd29yZCB7XG4gIH1cbn1cblxuLyogdXNlciBhY2NvdW50IGNoYW5nZSBwYXNzd29yZCBlbmQgKi9cblxuLyogdXNlciBhY2NvdW50IGNoYW5nZSBwYXNzd29yZCByZXN1bHQgKi9cblxuLnVzZXItYWNjb3VudC1jaGFuZ2UtcGFzc3dvcmQtcmVzdWx0IHtcbiAgXG4gICYgLnVzZXItYWNjb3VudC1idXR0b25zIHtcbiAgICBwYWRkaW5nOiAwcmVtO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBcbiAgICAmIC5idXR0b24ge1xuICAgICAgbWFyZ2luOiAwcmVtO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC51c2VyLWFjY291bnQtY2hhbmdlLXBhc3N3b3JkLXJlc3VsdCB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLnVzZXItYWNjb3VudC1jaGFuZ2UtcGFzc3dvcmQtcmVzdWx0IHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLnVzZXItYWNjb3VudC1jaGFuZ2UtcGFzc3dvcmQtcmVzdWx0IHtcbiAgfVxufVxuXG4vKiB1c2VyIGFjY291bnQgY2hhbmdlIHBhc3N3b3JkIHJlc3VsdCBlbmQgKi9cblxuLyogdXNlciBhY2NvdW50IGZvcmdvdHRlbiBwYXNzd29yZCAqL1xuXG4udXNlci1hY2NvdW50LWZvcmdvdHRlbi1wYXNzd29yZCB7XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLnVzZXItYWNjb3VudC1mb3Jnb3R0ZW4tcGFzc3dvcmQge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC51c2VyLWFjY291bnQtZm9yZ290dGVuLXBhc3N3b3JkIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLnVzZXItYWNjb3VudC1mb3Jnb3R0ZW4tcGFzc3dvcmQge1xuICB9XG59XG5cbi8qIHVzZXIgYWNjb3VudCBmb3Jnb3R0ZW4gcGFzc3dvcmQgZW5kICovXG5cbi8qIGFjY291bnQgcG9wdXAgKi9cblxuLmFjY291bnQtcG9wdXAge1xuICBcbiAgJiAuY29udGVudCB7XG4gIH1cbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAuYWNjb3VudC1wb3B1cCB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLmFjY291bnQtcG9wdXAge1xuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAuYWNjb3VudC1wb3B1cCB7XG4gIH1cbn1cblxuLyogYWNjb3VudCBwb3B1cCBlbmQgKi9cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuIiwiQGNoYXJzZXQgXCJ1dGYtOFwiO1xuXG4vKiBDU1MgU09VQk9SIFBSTyBVxb1JVkFURUxTS09VIMSMw4FTVCBQUk9KRUtUVSBQTyBQxZhJSEzDgcWgRU7DjSAqL1xuXG4vKiB1c2VyIGRhc2hib2FyZCBnZW5lcmFsbHkgKi9cblxuLnVzZXItZGFzaGJvYXJkIHtcbiAgXG4gICYgLmhlYWRsaW5lIHtcbiAgICBcbiAgICAmIC5pbm5lciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAudXNlci1kYXNoYm9hcmQge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC51c2VyLWRhc2hib2FyZCB7XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC51c2VyLWRhc2hib2FyZCB7XG4gIH1cbn1cblxuLyogdXNlciBkYXNoYm9hcmQgZ2VuZXJhbGx5IGVuZCAqL1xuXG4vKiB1c2VyIGRhc2hib2FyZCBmb3JtIGl0ZW1zIGdlbmVyYWxseSAqL1xuXG4udXNlci1kYXNoYm9hcmQgLmZvcm0taXRlbSB7XG4gIFxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDByZW07XG4gIH1cbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAudXNlci1kYXNoYm9hcmQgLmZvcm0taXRlbSB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLnVzZXItZGFzaGJvYXJkIC5mb3JtLWl0ZW0ge1xuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAudXNlci1kYXNoYm9hcmQgLmZvcm0taXRlbSB7XG4gIH1cbn1cblxuLyogdXNlciBkYXNoYm9hcmQgZm9ybSBpdGVtcyBnZW5lcmFsbHkgZW5kICovXG5cbi8qIHVzZXIgZGFzaGJvYXJkIGJ1dHRvbnMgZ2VuZXJhbGx5ICovXG5cbi51c2VyLWRhc2hib2FyZC1idXR0b25zIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIFxuICAmIC5idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLnVzZXItZGFzaGJvYXJkLWJ1dHRvbnMge1xuICBcbiAgICAmIC5idXR0b24ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC51c2VyLWRhc2hib2FyZC1idXR0b25zIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLnVzZXItZGFzaGJvYXJkLWJ1dHRvbnMge1xuICB9XG59XG5cbi8qIHVzZXIgZGFzaGJvYXJkIGJ1dHRvbnMgZ2VuZXJhbGx5IGVuZCAqL1xuXG4vKiB1c2VyIGRhc2hib2FyZCBtZW51ICovXG5cbi51c2VyLWRhc2hib2FyZC1tZW51IHtcbiAgXG4gICYgLml0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmc6IDAuOTM4cmVtIDIuODEzcmVtIDAuOTM4cmVtIDEuMjVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIGJhY2tncm91bmQ6ICNlZmVmZWY7XG4gICAgdHJhbnNpdGlvbjogMC4zcztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDByZW07XG4gICAgfVxuICAgIFxuICAgICY6aG92ZXIsXG4gICAgJi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB9XG4gICAgXG4gICAgJjphZnRlcntcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwLjEyNXJlbSBzb2xpZCB2YXIoLS1iYXNlLWNvbG9yKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMC4xMjVyZW0gc29saWQgdmFyKC0tYmFzZS1jb2xvcik7XG4gICAgICAgIHdpZHRoOiAwLjYyNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxLjM3NXJlbTtcbiAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDAuMzEzcmVtKTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAudXNlci1kYXNoYm9hcmQtbWVudSB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLnVzZXItZGFzaGJvYXJkLW1lbnUge1xuICAgIFxuICAgICYgLml0ZW0ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC51c2VyLWRhc2hib2FyZC1tZW51IHtcbiAgfVxufVxuXG4vKiB1c2VyIGRhc2hib2FyZCBtZW51IGVuZCAqL1xuXG4vKiB1c2VyIGRhc2hib2FyZCBjb250ZW50IGdlbmVyYWxseSAqL1xuXG4udXNlci1kYXNoYm9hcmQtY29udGVudCB7XG4gIFxuICAmIC5ibG9ja3MtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBcbiAgJiAuYmxvY2sge1xuICAgIGZsZXg6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG4gIFxuICAmIC50aXRsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICNlZmVmZWY7XG4gICAgbWFyZ2luOiAwcmVtIDByZW0gMHJlbSAwcmVtO1xuICAgIHBhZGRpbmc6IDAuODc1cmVtIDEuMjVyZW07XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG1pbi1oZWlnaHQ6IDRyZW07XG4gIH1cbiAgXG4gICYgLmNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAxLjI1cmVtO1xuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLnVzZXItZGFzaGJvYXJkLWNvbnRlbnQge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC51c2VyLWRhc2hib2FyZC1jb250ZW50IHtcbiAgXG4gICAgJiAuYmxvY2tzLWdyb3VwIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIH1cbiAgICBcbiAgICAmIC5ibG9jayB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAwLjVyZW0pO1xuICAgICAgXG4gICAgICAmLmZ1bGwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC51c2VyLWRhc2hib2FyZC1jb250ZW50IHtcbiAgfVxufVxuXG4vKiB1c2VyIGRhc2hib2FyZCBjb250ZW50IGdlbmVyYWxseSBlbmQgKi9cblxuLyogdXNlciBkYXNoYm9hcmQgcHJvZmlsZSAqL1xuXG4udXNlci1kYXNoYm9hcmQtcHJvZmlsZSB7XG4gIFxuICAmIC5pbmZvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDByZW0gMHJlbSAwcmVtIDByZW07XG4gIH1cbiAgXG4gICYgLmRlc2MsXG4gICYgLnZhbHVlIHtcbiAgICBwYWRkaW5nOiAwLjg3NXJlbSAxLjVyZW0gMC44NzVyZW0gMHJlbTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgfVxuICBcbiAgJiAuZGVzYyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgXG4gICYgLnZhbHVlIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcmVtO1xuICAgIFxuICAgICYgLmxpbmsge1xuICAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLnVzZXItZGFzaGJvYXJkLXByb2ZpbGUge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC51c2VyLWRhc2hib2FyZC1wcm9maWxlIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLnVzZXItZGFzaGJvYXJkLXByb2ZpbGUge1xuICB9XG59XG5cbi8qIHVzZXIgZGFzaGJvYXJkIHByb2ZpbGUgZW5kICovXG5cbi8qIHVzZXIgZGFzaGJvYXJkIHByb2ZpbGUgZWRpdCAqL1xuXG4udXNlci1kYXNoYm9hcmQtcHJvZmlsZS1lZGl0IHtcbiAgXG4gICYgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwcmVtIDByZW0gMHJlbSAwcmVtO1xuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLnVzZXItZGFzaGJvYXJkLXByb2ZpbGUtZWRpdCB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLnVzZXItZGFzaGJvYXJkLXByb2ZpbGUtZWRpdCB7XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC51c2VyLWRhc2hib2FyZC1wcm9maWxlLWVkaXQge1xuICB9XG59XG5cbi8qIHVzZXIgZGFzaGJvYXJkIHByb2ZpbGUgZWRpdCBlbmQgKi9cblxuLyogdXNlciBkYXNoYm9hcmQgb3JkZXJzIGdlbmVyYWxseSAqL1xuXG4udXNlci1kYXNoYm9hcmQtb3JkZXJzIHtcbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAudXNlci1kYXNoYm9hcmQtb3JkZXJzIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAudXNlci1kYXNoYm9hcmQtb3JkZXJzIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLnVzZXItZGFzaGJvYXJkLW9yZGVycyB7XG4gIH1cbn1cblxuLyogdXNlciBkYXNoYm9hcmQgb3JkZXJzIGdlbmVyYWxseSBlbmQgKi9cblxuLyogdXNlciBkYXNoYm9hcmQgb3JkZXJzIGxpc3QgKi9cblxuLnVzZXItZGFzaGJvYXJkLW9yZGVycyAub3JkZXJzIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgXG4gICYgLmNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDByZW0gMHJlbSAwcmVtIDByZW07XG4gIH1cbiAgXG4gICYgLmxpc3Qge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICB9XG4gIFxuICAmIC5pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3IpO1xuICAgIHBhZGRpbmc6IDAuODc1cmVtIDByZW07XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0KTtcbiAgICBcbiAgICAmLmhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgfVxuICBcbiAgJiAucGFydCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nOiAwcmVtIDEuMjVyZW0gMHJlbSAwO1xuICB9XG4gIFxuICAmIC5kYXRlIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICB9XG4gIFxuICAmIC5zeW1ib2wge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgfVxuICBcbiAgJiAucHJpY2Uge1xuICAgIHdpZHRoOiA0MCU7XG4gICAgXG4gICAgJiAuYW1vdW50IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIH1cbiAgfVxuICBcbiAgJiAuaW52b2ljZSB7XG4gICAgd2lkdGg6IDYwJTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcmVtO1xuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLnVzZXItZGFzaGJvYXJkLW9yZGVycyAub3JkZXJzIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAudXNlci1kYXNoYm9hcmQtb3JkZXJzIC5vcmRlcnMge1xuICBcbiAgICAmIC5saXN0IHtcbiAgICAgIGJvcmRlcjogMHJlbTtcbiAgICB9XG4gICAgXG4gICAgJiAuaXRlbSB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIFxuICAgICAgJi5oZWFkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJiAucGFydCB7XG4gICAgICBmbGV4OiBub25lO1xuICAgICAgd2lkdGg6IDI1JTtcbiAgICAgIHBhZGRpbmctdG9wOiAwcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDByZW07XG4gICAgfVxuICBcbiAgICAmIC5zeW1ib2wge1xuICAgICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgXG4gICAgJiAucHJpY2Uge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLnVzZXItZGFzaGJvYXJkLW9yZGVycyAub3JkZXJzIHtcbiAgfVxufVxuXG4vKiB1c2VyIGRhc2hib2FyZCBvcmRlcnMgbGlzdCBlbmQgKi9cblxuLyogdXNlciBkYXNoYm9hcmQgY2hhbmdlIHBhc3N3b3JkICovXG5cbi51c2VyLWRhc2hib2FyZC1jaGFuZ2UtcGFzc3dvcmQge1xuICBcbiAgJiAuaW5mbyB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgfVxuICBcbiAgJiAuY29udGVudCB7XG4gICAgcGFkZGluZzogMHJlbSAwcmVtIDByZW0gMHJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC51c2VyLWRhc2hib2FyZC1jaGFuZ2UtcGFzc3dvcmQge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC51c2VyLWRhc2hib2FyZC1jaGFuZ2UtcGFzc3dvcmQge1xuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAudXNlci1kYXNoYm9hcmQtY2hhbmdlLXBhc3N3b3JkIHtcbiAgfVxufVxuXG4vKiB1c2VyIGRhc2hib2FyZCBjaGFuZ2UgcGFzc3dvcmQgZW5kICovXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4iLCJAY2hhcnNldCBcInV0Zi04XCI7XG5cbi8qIENTUyBTT1VCT1IgUFJPIENVU1RPTUlaT1ZBTsOJIMSMw4FTVEkgUFJPSkVLVFUgKi9cblxuLyogdGlwcHkgdG9vdGlwICovXG5cbltkYXRhLXRpcHB5LWNvbnRlbnRdIHtcbiAgd2lkdGg6IDEuMTYzcmVtO1xuICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3N0eWxlL2ljb25zL3Rvb2x0aXAuc3ZnKSBjZW50ZXIgY2VudGVyIC8gY29udGFpbiBuby1yZXBlYXQ7XG59XG5cbi50aXBweS1ib3hbZGF0YS10aGVtZX49J2N1c3RvbSddIHtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4udGlwcHktYm94W2RhdGEtdGhlbWV+PSdjdXN0b20nXVtkYXRhLXBsYWNlbWVudF49J3RvcCddID4gLnRpcHB5LWFycm93IHtcbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICBbZGF0YS10aXBweS1jb250ZW50XSB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgW2RhdGEtdGlwcHktY29udGVudF0ge1xuICAgIHdpZHRoOiAxLjE4OHJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgW2RhdGEtdGlwcHktY29udGVudF0ge1xuICAgIHdpZHRoOiAxLjI1cmVtO1xuICB9XG59XG5cbi8qIHRpcHB5IHRvb3RpcCBlbmQgKi9cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbiIsIkBjaGFyc2V0IFwidXRmLThcIjtcblxuLyogQ1NTIFNPVUJPUiBQUk8gTk9WSU5LWSAqL1xuXG4vKiBuZXdzIGNhdGVnb3JpZXMgZ2VuZXJhbGx5ICovXG5cbi5uZXdzLWNhdGVnb3JpZXMge1xufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC5uZXdzLWNhdGVnb3JpZXMge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC5uZXdzLWNhdGVnb3JpZXMge1xuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAubmV3cy1jYXRlZ29yaWVzIHtcbiAgfVxufVxuXG4vKiBuZXdzIGNhdGVnb3JpZXMgZ2VuZXJhbGx5IGVuZCAqL1xuXG4vKiBuZXdzIGNhdGVnb3JpZXMgb3ZlcnZpZXcgKi9cblxuLm5ld3MtY2F0ZWdvcmllcyAub3ZlcnZpZXcge1xuICBcbiAgJiAuaGVhZGxpbmUge1xuICB9XG4gIFxuICAmIC5saXN0IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogMXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBcbiAgJiAuaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gIH1cbiAgXG4gICYgLnBpY3R1cmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgfVxuICBcbiAgJiAuaW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMHJlbTtcbiAgICB0b3A6IDByZW07XG4gIFxuICAgICZbc3JjKj1kZWZhdWx0LXBob3RvXSB7XG4gICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIH1cbiAgfVxuICBcbiAgJiAudGl0bGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuICAgIG1hcmdpbjogMHJlbSAwcmVtIDByZW0gMHJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmOTtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIHZhcigtLXBhZ2UtcGFkZGluZyk7XG4gIH1cbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAubmV3cy1jYXRlZ29yaWVzIC5vdmVydmlldyB7XG4gIFxuICAgICYgLmxpc3Qge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLm5ld3MtY2F0ZWdvcmllcyAub3ZlcnZpZXcge1xuICBcbiAgICAmIC5saXN0IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgfVxuICBcbiAgICAmIC50aXRsZSB7XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5uZXdzLWNhdGVnb3JpZXMgLm92ZXJ2aWV3IHtcbiAgfVxufVxuXG4vKiBuZXdzIGNhdGVnb3JpZXMgb3ZlcnZpZXcgZW5kICovXG5cbi8qIG5ld3MgY2F0ZWdvcnkgZGV0YWlsICovXG5cbi5uZXdzLWNhdGVnb3J5LWRldGFpbCB7XG4gIFxuICAmIC5oZWFkbGluZSB7XG4gIH1cbiAgXG4gICYgLnBlcmV4IHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuICBcbiAgJiAuaW1hZ2Uge1xuICB9XG4gIFxuICAmIC5pbm5lciB7XG4gIFxuICAgICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDByZW07XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLm5ld3MtY2F0ZWdvcnktZGV0YWlsIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAubmV3cy1jYXRlZ29yeS1kZXRhaWwge1xuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAubmV3cy1jYXRlZ29yeS1kZXRhaWwge1xuICB9XG59XG5cbi8qIG5ld3MgY2F0ZWdvcnkgZGV0YWlsIGVuZCAqL1xuXG4vKiBuZXdzIGdlbmVyYWxseSAqL1xuXG4ubmV3cyB7XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLm5ld3Mge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC5uZXdzIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLm5ld3Mge1xuICB9XG59XG5cbi8qIG5ld3MgZ2VuZXJhbGx5IGVuZCAqL1xuXG4vKiBuZXdzIGFycmFuZ2VtZW50ICovXG5cbi5uZXdzIC5hcnJhbmdlbWVudCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIFxuICAmIC5pdGVtIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbWFyZ2luOiAwcmVtIDAuNXJlbSAwcmVtIDByZW07XG4gICAgXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbiAgXG4gICYudGl0bGUge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxuICBcbiAgJi5hY3RpdmUge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC5uZXdzIC5hcnJhbmdlbWVudCB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLm5ld3MgLmFycmFuZ2VtZW50IHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLm5ld3MgLmFycmFuZ2VtZW50IHtcbiAgfVxufVxuXG4vKiBuZXdzIGFycmFuZ2VtZW50IGVuZCAqL1xuXG4vKiBuZXdzIG92ZXJ2aWV3ICovXG5cbi5uZXdzIC5vdmVydmlldyB7XG4gIFxuICAmIC5oZWFkbGluZSB7XG4gIH1cbiAgXG4gICYgLmxpc3Qge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAxcmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIFxuICAmIC5pdGVtIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbiAgXG4gICYgLnRpdGxlIHtcbiAgICBtYXJnaW46IDByZW0gMHJlbSAwLjYyNXJlbSAwcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgbWF4LWhlaWdodDogMi42NWVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgXG4gICYgLnBhcnRpY3VsYXIge1xuICAgIGZvbnQtc2l6ZTogMC44MTNyZW07XG4gICAgbWFyZ2luOiAwcmVtIDByZW0gMC43NXJlbSAwcmVtO1xuICB9XG4gIFxuICAmIC5kYXRlIHtcbiAgfVxuICBcbiAgJiAucGljdHVyZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiA3NSU7XG4gICAgbWFyZ2luOiAwcmVtIDByZW0gMC43NXJlbSAwcmVtO1xuICB9XG4gIFxuICAmIC5pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgXG4gICAgJltzcmMqPWRlZmF1bHQtcGhvdG9dIHtcbiAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgfVxuICB9XG4gIFxuICAmIC5pbmZvIHtcbiAgfVxuICBcbiAgJiAuZGVzYyB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBtYXgtaGVpZ2h0OiA0LjJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbjogMHJlbSAwcmVtIDAuNzVyZW0gMHJlbTtcbiAgfVxuICBcbiAgJiAuYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDByZW0gMHJlbSAwcmVtIDByZW07XG4gIH1cbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAubmV3cyAub3ZlcnZpZXcge1xuICBcbiAgICAmIC5saXN0IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgfVxuICBcbiAgICAmIC50aXRsZSB7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgaGVpZ2h0OiAxLjM1ZW07XG4gICAgfVxuICBcbiAgICAmIC5kZXNjIHtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDQuMmVtO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAubmV3cyAub3ZlcnZpZXcge1xuICBcbiAgICAmIC5saXN0IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgfVxuICBcbiAgICAmIC50aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjEyNXJlbTtcbiAgICB9XG4gIFxuICAgICYgLnBpY3R1cmUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICB9XG4gIFxuICAgICYgLmRlc2Mge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5uZXdzIC5vdmVydmlld3tcbiAgfVxufVxuXG4vKiBuZXdzIG92ZXJ2aWV3IGVuZCAqL1xuXG4vKiBuZXdzIHJlbGF0ZWQgKi9cblxuLm5ld3MtcmVsYXRlZCB7XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLm5ld3MtcmVsYXRlZCB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLm5ld3MtcmVsYXRlZCB7XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5uZXdzLXJlbGF0ZWQge1xuICB9XG59XG5cbi8qIG5ld3MgcmVsYXRlZCBlbmQgKi9cblxuLyogbmV3cyBwYWdpbmF0aW9uICovXG5cbi5uZXdzIC5wYWdpbmF0aW9uIHtcbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAubmV3cyAucGFnaW5hdGlvbntcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAubmV3cyAucGFnaW5hdGlvbiB7XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5uZXdzIC5wYWdpbmF0aW9uIHtcbiAgfVxufVxuXG4vKiBuZXdzIHBhZ2luYXRpb24gZW5kICovXG5cbi8qIG5ld3MgZGV0YWlsICovXG5cbi5uZXdzLWRldGFpbCB7XG4gIFxuICAmIC5oZWFkbGluZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgfVxuICBcbiAgJiAucGFydGljdWxhciB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgfVxuICBcbiAgJiAuZGF0ZSB7XG4gIH1cbiAgXG4gICYgLmF1dGhvciB7XG4gIH1cbiAgXG4gICYgLnJlYWQge1xuICB9XG4gIFxuICAmIC5wZXJleCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbiAgXG4gICYgLnRleHQge1xuICAgIFxuICAgICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDByZW07XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLm5ld3MtZGV0YWlsIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAubmV3cy1kZXRhaWwge1xuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAubmV3cy1kZXRhaWwge1xuICB9XG59XG5cbi8qIG5ld3MgZGV0YWlsIGVuZCAqL1xuXG4vKiBuZXdzIGRldGFpbCBjb21wbGVtZW50ICovXG5cbi5uZXdzLWRldGFpbC1jb21wbGVtZW50IHtcbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAubmV3cy1kZXRhaWwtY29tcGxlbWVudCB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLm5ld3MtZGV0YWlsLWNvbXBsZW1lbnQge1xuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAubmV3cy1kZXRhaWwtY29tcGxlbWVudCB7XG4gIH1cbn1cblxuLyogbmV3cyBkZXRhaWwgY29tcGxlbWVudCBlbmQgKi9cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4iLCJAY2hhcnNldCBcInV0Zi04XCI7XG5cbi8qIENTUyBTT1VCT1IgUFJPIFVJIERJQUxPRyAqL1xuXG4vKiB1aSBkaWFsb2cgYmFzZSBnZW5lcmFsbHkgKi9cblxuLnVpLXdpZGdldC1vdmVybGF5IHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjMyKTtcbiAgb3BhY2l0eTogMTtcbiAgei1pbmRleDogMTAwMDtcbn1cblxuLnVpLWRpYWxvZyB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAyICogdmFyKC0tcGFnZS1wYWRkaW5nKSkgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiBjYWxjKDIwcmVtIC0gMiAqIHZhcigtLXBhZ2UtcGFkZGluZykpICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogMzByZW07XG4gIGxlZnQ6IDUwJSAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAwIDAuNjI1cmVtIDByZW0gIzAwMDM7XG4gIHBhZGRpbmc6IDA7XG4gIHotaW5kZXg6IDEwMDE7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICBcbiAgJi51aS1kaWFsb2ctYmFza2V0LXBvcHVwIHtcbiAgICBtYXgtd2lkdGg6IDU1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNGM0YzRjM7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYm9yZGVyLXJhZGl1czogMHJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIFxuICAmIC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDByZW07XG4gIH1cbiAgXG4gICYgLnVpLWRpYWxvZy10aXRsZWJhciB7XG4gICAgcGFkZGluZzogMDtcbiAgICBcbiAgICAmIC51aS1kaWFsb2ctdGl0bGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgXG4gICYgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB7XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICByaWdodDogMC42ODhyZW07XG4gICAgdG9wOiAwLjY4OHJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB0cmFuc2l0aW9uOiAwLjFzO1xuICAgIHotaW5kZXg6IDUwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zdHlsZS9pY29ucy9jbG9zZS11aS1kaWFsb2cuc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIDAuOTM4cmVtIGF1dG8gI2ZmZjA7XG4gICAgXG4gICAgQG5lc3QgLnVpLWRpYWxvZy1iYXNrZXQtcG9wdXAmIHtcbiAgICB9XG4gICAgXG4gICAgJjpob3ZlciB7XG4gICAgfVxuICAgIFxuICAgICYgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICBcbiAgJiAudWktZGlhbG9nLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtO1xuICAgIFxuICAgIEBuZXN0IC51aS1kaWFsb2ctYmFza2V0LXBvcHVwJiB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTkuOTM4cmVtKSB7XG4gIFxuICAudWktZGlhbG9nIHtcbiAgICBcbiAgICAmLnVpLWRpYWxvZy1iYXNrZXQtcG9wdXAge1xuICAgICAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cblxuQG1lZGlhICgtLVRJTllTQ1JFRU4pIHtcbiAgXG4gIC51aS1kaWFsb2cge1xuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLnVpLWRpYWxvZyB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLnVpLWRpYWxvZyB7XG4gICAgXG4gICAgJi51aS1kaWFsb2ctYmFza2V0LXBvcHVwIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyICogdmFyKC0tcGFnZS1wYWRkaW5nKSkgIWltcG9ydGFudDtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICAgIH1cbiAgICBcbiAgICAmIC51aS1kaWFsb2ctY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgICBcbiAgICAgIEBuZXN0IC51aS1kaWFsb2ctYmFza2V0LXBvcHVwJiB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJiAudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMS41cmVtIGF1dG87XG4gICAgICByaWdodDogMS41NjNyZW07XG4gICAgICB0b3A6IDEuNTYzcmVtIDtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC51aS1kaWFsb2cge1xuICB9XG59XG5cbi8qIHVpIGRpYWxvZyBiYXNlIGdlbmVyYWxseSBlbmQgKi9cblxuLyogdWkgZGlhbG9nIGNvbnRlbnQgZ2VuZXJhbGx5ICovXG5cbi51aS1kaWFsb2ctbWFpbi10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDEuMTI1cmVtO1xufVxuXG4udWktZGlhbG9nLWRlc2Mge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luOiAwcmVtIDByZW0gMS41cmVtIDByZW07XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLnVpLWRpYWxvZy1tYWluLXRpdGxlIHtcbiAgfVxuICBcbiAgLnVpLWRpYWxvZy1kZXNjIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAudWktZGlhbG9nLW1haW4tdGl0bGUge1xuICB9XG4gIFxuICAudWktZGlhbG9nLWRlc2Mge1xuICB9XG59XG5cbkBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gIFxuICAudWktZGlhbG9nLW1haW4tdGl0bGUge1xuICB9XG4gIFxuICAudWktZGlhbG9nLWRlc2Mge1xuICB9XG59XG5cbi8qIHVpIGRpYWxvZyBjb250ZW50IGdlbmVyYWxseSBlbmQgKi9cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4iLCJAY2hhcnNldCBcInV0Zi04XCI7XG5cbi8qIENTUyBTT1VCT1IgUFJPIE5BU1RBVkVOw40gU0xJQ0tVICovXG5cbi8qIHNsaWNrIGdlbmVyYWxseSAqL1xuXG4uc2xpY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zbGljay1jb250ZW50IHtcbn1cblxuLnNsaWNrLWxpc3Qge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5zbGljay10cmFjayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uc2xpY2staW5pdGlhbGl6ZWQge1xuICBcbiAgJiAuc2xpY2stdHJhY2sge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuLnNsaWNrLXNsaWRlIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5AbWVkaWEgKC0tU01BTExTQ1JFRU4pIHtcbiAgXG4gIC5zbGljayB7XG4gIH1cbn1cblxuQG1lZGlhICgtLU1FRElVTVNDUkVFTikge1xuICBcbiAgLnNsaWNrIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLnNsaWNrIHtcbiAgfVxufVxuXG4vKiBzbGljayBnZW5lcmFsbHkgZW5kICovXG5cbi8qIHNsaWNrIGFycm93cyAqL1xuXG4uc2xpY2stYXJyb3dzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIFxuICAmIC5zbGljay1hcnJvdyB7XG4gICAgd2lkdGg6IDMuNzVlbTtcbiAgICBoZWlnaHQ6IDMuNzVlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZvbnQtc2l6ZTogMC42ODhyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTEuODc1ZW07XG4gICAgei1pbmRleDogMTtcbiAgICBiYWNrZ3JvdW5kOiAjZDhkOGQ4O1xuICAgIFxuICAgICY6YmVmb3Jle1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgJjphZnRlcntcbiAgICAgIGJvcmRlci1sZWZ0OiAwLjEyNXJlbSBzb2xpZCB2YXIoLS1iYXNlLWNvbG9yKTtcbiAgICAgIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkIHZhcigtLWJhc2UtY29sb3IpO1xuICAgICAgd2lkdGg6IDAuNzVlbTtcbiAgICAgIGhlaWdodDogMC43NWVtO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAwLjM3NWVtKTtcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gMC4yNWVtKTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG4gICAgXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjYzRjNGM0O1xuICAgIH1cbiAgfVxuICBcbiAgJiAuc2xpY2stcHJldiB7XG4gICAgbGVmdDogMmVtO1xuICB9XG4gIFxuICAmIC5zbGljay1uZXh0IHtcbiAgICByaWdodDogMmVtO1xuICAgIHRyYW5zZm9ybTpyb3RhdGVZKDE4MGRlZyk7XG4gIH1cbiAgXG4gICYgLnNsaWNrLWRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cbn1cblxuQG1lZGlhICgtLVNNQUxMU0NSRUVOKSB7XG4gIFxuICAuc2xpY2stYXJyb3dzIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gIFxuICAuc2xpY2stYXJyb3dzIHtcbiAgfVxufVxuXG5AbWVkaWEgKC0tV0lERVNDUkVFTikge1xuICBcbiAgLnNsaWNrLWFycm93cyB7XG4gIH1cbn1cblxuLyogc2xpY2sgYXJyb3dzIGVuZCAqL1xuXG4vKiBzbGljayBkb3RzICovXG5cbi5zbGljay1kb3RzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBib3R0b206IDEuODc1cmVtO1xuICBcbiAgJiB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cbiAgXG4gICYgbGkge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwLjEyNWVtIDAuMTI1ZW0gMCAwLjEyNWVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG4gIFxuICAmIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDAuOTM4ZW07XG4gICAgaGVpZ2h0OiAwLjkzOGVtO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRyYW5zaXRpb246IDAuM3M7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJhc2UtY29sb3IpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgXG4gICYgLnNsaWNrLWFjdGl2ZSBidXR0b24sXG4gICYgYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB9XG59XG5cbkBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICBcbiAgLnNsaWNrLWRvdHMge1xuICB9XG59XG5cbkBtZWRpYSAoLS1NRURJVU1TQ1JFRU4pIHtcbiAgXG4gIC5zbGljay1kb3RzIHtcbiAgICBib3R0b206IDIuNzVyZW07XG4gICAgXG4gICAgJiB1bCB7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICgtLVdJREVTQ1JFRU4pIHtcbiAgXG4gIC5zbGljay1kb3RzIHtcbiAgICBcbiAgICAmIHVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgfVxuICB9XG59XG5cbi8qIHNsaWNrIGRvdHMgZW5kICovXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4iLCJAY2hhcnNldCBcInV0Zi04XCI7XG5cbi8qIENTUyBTT1VCT1IgUFJPIFDFmEVQw41OQcSMIE1FWkkgRlJPTlRFTkRFTSBBIEFETUlOSVNUUkFDw40gKi9cblxuLyogYWRtaW4gc3dpdGNoIGdlbmVyYWxseSAqL1xuXG5uYXYuYWRtaW4tbWVudSB7XG4gIHBvc2l0aW9uOmZpeGVkO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDM2LDg5LDEyMSwwLjk1KSAwJSxyZ2JhKDE4LDY1LDg5LDAuOTUpIDEwMCUpO1xuICBib3gtc2hhZG93OjAgMnB4IDFweCByZ2JhKDAsMCwwLDAuNSk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMjM1ODc4O1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICMyMzU4Nzg7XG4gIHBhZGRpbmc6NXB4O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjVweDtcbiAgcmlnaHQ6MDtcbiAgei1pbmRleDoxMDAwO1xufVxuXG4uYWRtaW4tbWVudS1pY29uLW1lZGl1bSB7XG4gIGhlaWdodDozNnB4O1xuICBsaW5lLWhlaWdodDozNnB4O1xuICBwYWRkaW5nOjAgMzZweCAwIDA7XG4gIGRpc3BsYXk6YmxvY2s7XG4gIGZsb2F0OmxlZnQ7XG4gIG1hcmdpbjowLjFlbTtcbiAgZm9udC1zaXplOjFlbTtcbiAgYm9yZGVyOm5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4gIGNvbG9yOiMwMDI5Mzg7XG59XG5cbi5hZG1pbi1tZW51LWljb24tbWVkaXVtOmhvdmVyICAgICAgICAgICAgICAgICAgICAgICAge2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIHJpZ2h0OyBjb2xvcjojMWQ4NWM0O31cbi5hZG1pbi1tZW51LWljb24tbWVkaXVtOmFjdGl2ZSAgICAgICAgICAgICAgICAgICAgICAge2JhY2tncm91bmQtcG9zaXRpb246Ym90dG9tIHJpZ2h0OyBjb2xvcjojMWQ4NWM0O31cbi5hZG1pbi1tZW51LWljb24tbWVkaXVtIHNwYW4gICAgICAgICAgICAgICAgICAgICAgICAge21hcmdpbjowIDFlbSAwIDFlbTt9IC8qIG9kc2F6ZW5pIHByaXBhZG5laG8gdGV4dHUgdXZuaXRyIHRsYWNpdGthICovXG4uYWRtaW4tbWVudS1pY29uLW1lZGl1bSBzcGFuLmhpZGRlbiAgICAgICAgICAgICAgICAgIHtkaXNwbGF5Om5vbmU7fSAvKiBQb2t1ZCBzZSBtYSB6b2JyYXpvdmF0IHBvdXplIGlrb25rYSAqL1xuXG4uYWRtaW4tbWVudS1pY29uLW1lZGl1bS5hZG1pbi1tZW51LWljb24tc3dpdGNoIHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zdHlsZS9pY29ucy9hZG1pbi1zd2l0Y2gucG5nKSB0b3AgcmlnaHQgbm8tcmVwZWF0O1xufVxuLmFkbWluLW1lbnUtaWNvbi1tZWRpdW0uYWRtaW4tbWVudS1pY29uLWxvZ291dCB7XG4gIGJhY2tncm91bmQ6dXJsKC4uL2ltYWdlcy9zdHlsZS9pY29ucy9hZG1pbi1sb2dvdXQucG5nKSB0b3AgcmlnaHQgbm8tcmVwZWF0O1xufVxuXG4vKiBhZG1pbiBzd2l0Y2ggZ2VuZXJhbGx5IGVuZCAqL1xuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4iLCIvKiBjb29raWVzIGNvbmZpcm0gKi9cblxuLmNvb2tpZXMtY29uZmlybSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gMXJlbSk7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHotaW5kZXg6IDI3NTtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwIDAgMS4yNXJlbSAjMDAwNDtcbiAgICBvdmVyZmxvdzogYXV0bztcbn1cblxuLmNvb2tpZXMtY29uZmlybS0tcG9wdXAge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IGF1dG87XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uY29va2llcy1jb25maXJtLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLmNvb2tpZXMtY29uZmlybV9fY292ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZTtcbiAgICBmbGV4OiBub25lO1xufVxuXG4uY29va2llcy1jb25maXJtLS1wb3B1cCAuY29va2llcy1jb25maXJtX19jb3ZlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jb29raWVzLWNvbmZpcm1fX2NvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogOTByZW07XG4gICAgcGFkZGluZzogMXJlbSAxLjVyZW0gMHJlbSAxLjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IG5vbmU7XG59XG5cbi5jb29raWVzLWNvbmZpcm0tLXBvcHVwIC5jb29raWVzLWNvbmZpcm1fX2NvbnRlbnQge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAycmVtKTtcbiAgICBtYXgtd2lkdGg6IDQwcmVtO1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDJyZW0pO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxLjI1cmVtICMwMDA0O1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG4uY29va2llcy1jb25maXJtX19jbG9zZSB7XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMHJlbTtcbiAgICBmbGV4OiBub25lO1xuICAgIG1hcmdpbjogMHJlbSAwcmVtIC0xLjVyZW0gYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgei1pbmRleDogMTtcbn1cblxuLmNvb2tpZXMtY29uZmlybV9fY2xvc2U6YmVmb3JlLFxuLmNvb2tpZXMtY29uZmlybV9fY2xvc2U6YWZ0ZXIge1xuICAgIHdpZHRoOiAwLjg3NXJlbTtcbiAgICBoZWlnaHQ6IDAuMTI1cmVtO1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDAuMzEzcmVtO1xuICAgIHRvcDogMC42ODhyZW07XG59XG5cbi5jb29raWVzLWNvbmZpcm1fX2Nsb3NlOmJlZm9yZSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG59XG5cbi5jb29raWVzLWNvbmZpcm1fX2Nsb3NlOmFmdGVyIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG5cbi5jb29raWVzLWNvbmZpcm0tLXBvcHVwIC5jb29raWVzLWNvbmZpcm1fX2Nsb3NlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxLjVyZW0sIC0xcmVtKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQwcmVtKSB7XG5cbiAgICAuY29va2llcy1jb25maXJtIHtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MHJlbSkge1xuXG4gICAgLmNvb2tpZXMtY29uZmlybSB7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogODByZW0pIHtcblxuICAgIC5jb29raWVzLWNvbmZpcm0ge1xuICAgIH1cbn1cblxuLyogY29va2llcyBjb25maXJtIGVuZCAqL1xuXG4vKiBjb29raWVzIGNvbmZpcm0gaW5mbyAqL1xuXG4uY29va2llcy1jb25maXJtLWluZm8ge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG59XG5cbi5jb29raWVzLWNvbmZpcm0taW5mb19faGVhZGxpbmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY29va2llcy1jb25maXJtLWluZm9fX2Rlc2MgcCxcbi5jb29raWVzLWNvbmZpcm0taW5mb19fZGVzYyB1bCxcbi5jb29raWVzLWNvbmZpcm0taW5mb19fZGVzYyBvbCxcbi5jb29raWVzLWNvbmZpcm0taW5mb19fZGVzYyB0aCxcbi5jb29raWVzLWNvbmZpcm0taW5mb19fZGVzYyB0ZCB7XG4gICAgZm9udC1zaXplOiAxZW07XG59XG5cbi5jb29raWVzLWNvbmZpcm0taW5mb19fZGVzYyA+ICo6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQwcmVtKSB7XG5cbiAgICAuY29va2llcy1jb25maXJtLWluZm8ge1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwcmVtKSB7XG5cbiAgICAuY29va2llcy1jb25maXJtLWluZm8ge1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDgwcmVtKSB7XG5cbiAgICAuY29va2llcy1jb25maXJtLWluZm8ge1xuICAgIH1cbn1cblxuLyogY29va2llcyBjb25maXJtIGluZm8gZW5kICovXG5cbi8qIGNvb2tpZXMgY29uZmlybSBzZXR0aW5ncyAqL1xuXG4uY29va2llcy1jb25maXJtLXNldHRpbmdzIHtcbiAgICBtYXgtd2lkdGg6IDQwcmVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uY29va2llcy1jb25maXJtLXNldHRpbmdzX19saXN0IHtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQwcmVtKSB7XG5cbiAgICAuY29va2llcy1jb25maXJtLXNldHRpbmdzIHtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MHJlbSkge1xuXG4gICAgLmNvb2tpZXMtY29uZmlybS1zZXR0aW5ncyB7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogODByZW0pIHtcblxuICAgIC5jb29raWVzLWNvbmZpcm0tc2V0dGluZ3Mge1xuICAgIH1cbn1cblxuLyogY29va2llcyBjb25maXJtIHNldHRpbmdzIGVuZCAqL1xuXG4vKiBjb29raWVzIGNvbmZpcm0gc2V0dGluZ3MgaXRlbSAqL1xuXG4uY29va2llcy1jb25maXJtLXNldHRpbmdzLWl0ZW0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xufVxuXG4uY29va2llcy1jb25maXJtLXNldHRpbmdzLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyOiAwO1xufVxuXG4uY29va2llcy1jb25maXJtLXNldHRpbmdzLWl0ZW1fX2hlYWRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIGF1dG87XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuNXJlbSAwLjc1cmVtO1xuICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5jb29raWVzLWNvbmZpcm0tc2V0dGluZ3MtaXRlbTpmaXJzdC1jaGlsZCAuY29va2llcy1jb25maXJtLXNldHRpbmdzLWl0ZW1fX2hlYWRlciB7XG4gICAgcGFkZGluZy10b3A6IDA7XG59XG5cbi5jb29raWVzLWNvbmZpcm0tc2V0dGluZ3MtaXRlbV9faGVhZGxpbmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAwLjc1cmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xufVxuXG4uY29va2llcy1jb25maXJtLXNldHRpbmdzLWl0ZW1fX2hlYWRsaW5lOmJlZm9yZSB7XG4gICAgd2lkdGg6IDAuNTdlbTtcbiAgICBoZWlnaHQ6IDAuNTdlbTtcbiAgICBib3JkZXItbGVmdDogMC4xMjVyZW0gc29saWQgIzAwMDtcbiAgICBib3JkZXItYm90dG9tOiAwLjEyNXJlbSBzb2xpZCAjMDAwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGZsZXg6IG5vbmU7XG4gICAgbWFyZ2luOiAwLjJlbSAwIDAgMC4xMjVyZW07XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgdHJhbnNpdGlvbjogMC4yNXMgbGluZWFyO1xufVxuXG4uY29va2llcy1jb25maXJtLXNldHRpbmdzLWl0ZW0uaXMtYWN0aXZlIC5jb29raWVzLWNvbmZpcm0tc2V0dGluZ3MtaXRlbV9faGVhZGxpbmU6YmVmb3JlIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbn1cblxuLmNvb2tpZXMtY29uZmlybS1zZXR0aW5ncy1pdGVtX19jb3VudCB7XG4gICAgbWluLXdpZHRoOiAxLjc1ZW07XG4gICAgaGVpZ2h0OiAxLjc1ZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICBmbGV4OiBub25lO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGZvbnQtc2l6ZTogMC44NmVtO1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG4uY29va2llcy1jb25maXJtLXNldHRpbmdzLWl0ZW1fX2VudHJ5IHtcbiAgICBmbGV4OiBub25lO1xufVxuXG4uY29va2llcy1jb25maXJtLXNldHRpbmdzLWl0ZW1fX2Rlc2Mge1xuICAgIGdyaWQtY29sdW1uOiAxLy0xO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG59XG5cbi5jb29raWVzLWNvbmZpcm0tc2V0dGluZ3MtaXRlbV9fZGVzYyBwLFxuLmNvb2tpZXMtY29uZmlybS1zZXR0aW5ncy1pdGVtX19kZXNjIHVsLFxuLmNvb2tpZXMtY29uZmlybS1zZXR0aW5ncy1pdGVtX19kZXNjIG9sLFxuLmNvb2tpZXMtY29uZmlybS1zZXR0aW5ncy1pdGVtX19kZXNjIHRoLFxuLmNvb2tpZXMtY29uZmlybS1zZXR0aW5ncy1pdGVtX19kZXNjIHRkIHtcbiAgICBmb250LXNpemU6IDFlbTtcbn1cblxuLmNvb2tpZXMtY29uZmlybS1zZXR0aW5ncy1pdGVtX19kZXNjID4gKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwcmVtO1xufVxuXG4uY29va2llcy1jb25maXJtLXNldHRpbmdzLWl0ZW1fX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZzogMHJlbSAwcmVtIDFyZW0gMHJlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQwcmVtKSB7XG5cbiAgICAuY29va2llcy1jb25maXJtLXNldHRpbmdzLWl0ZW0ge1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwcmVtKSB7XG5cbiAgICAuY29va2llcy1jb25maXJtLXNldHRpbmdzLWl0ZW0ge1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDgwcmVtKSB7XG5cbiAgICAuY29va2llcy1jb25maXJtLXNldHRpbmdzLWl0ZW0ge1xuICAgIH1cbn1cblxuLyogY29va2llcyBjb25maXJtIHNldHRpbmdzIGl0ZW0gZW5kICovXG5cbi8qIGNvb2tpZXMgY29uZmlybSByZWNvcmRzICovXG5cbi5jb29raWVzLWNvbmZpcm0tcmVjb3Jkc19fbGlzdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpO1xuICAgIGdhcDogMXJlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQwcmVtKSB7XG5cbiAgICAuY29va2llcy1jb25maXJtLXJlY29yZHMge1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwcmVtKSB7XG5cbiAgICAuY29va2llcy1jb25maXJtLXJlY29yZHMge1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDgwcmVtKSB7XG5cbiAgICAuY29va2llcy1jb25maXJtLXJlY29yZHMge1xuICAgIH1cbn1cblxuLyogY29va2llcyBjb25maXJtIHJlY29yZHMgZW5kICovXG5cbi8qIGNvb2tpZXMgY29uZmlybSByZWNvcmRzIGl0ZW0gKi9cblxuLmNvb2tpZXMtY29uZmlybS1yZWNvcmRzLWl0ZW0ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbn1cblxuLmNvb2tpZXMtY29uZmlybS1yZWNvcmRzLWl0ZW1fX2hlYWRsaW5lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNvb2tpZXMtY29uZmlybS1yZWNvcmRzLWl0ZW1fX2Rlc2MgcCxcbi5jb29raWVzLWNvbmZpcm0tcmVjb3Jkcy1pdGVtX19kZXNjIHVsLFxuLmNvb2tpZXMtY29uZmlybS1yZWNvcmRzLWl0ZW1fX2Rlc2Mgb2wsXG4uY29va2llcy1jb25maXJtLXJlY29yZHMtaXRlbV9fZGVzYyB0aCxcbi5jb29raWVzLWNvbmZpcm0tcmVjb3Jkcy1pdGVtX19kZXNjIHRkIHtcbiAgICBmb250LXNpemU6IDFlbTtcbn1cblxuLmNvb2tpZXMtY29uZmlybS1yZWNvcmRzLWl0ZW1fX2Rlc2MgPiAqOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDByZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0MHJlbSkge1xuXG4gICAgLmNvb2tpZXMtY29uZmlybS1yZWNvcmRzLWl0ZW0ge1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwcmVtKSB7XG5cbiAgICAuY29va2llcy1jb25maXJtLXJlY29yZHMtaXRlbSB7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogODByZW0pIHtcblxuICAgIC5jb29raWVzLWNvbmZpcm0tcmVjb3Jkcy1pdGVtIHtcbiAgICB9XG59XG5cbi8qIGNvb2tpZXMgY29uZmlybSByZWNvcmRzIGl0ZW0gZW5kICovXG5cbi8qIGNvb2tpZXMgY29uZmlybSBidXR0b25zICovXG5cbi5jb29raWVzLWNvbmZpcm0tYnV0dG9ucyB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICBib3R0b206IDA7XG4gICAgcGFkZGluZzogMXJlbSAwO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG59XG5cbi5jb29raWVzLWNvbmZpcm0tYnV0dG9uc19fY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTtcbiAgICBnYXA6IDAuNjI1cmVtO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jb29raWVzLWNvbmZpcm0tYnV0dG9uc19fbGluayB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIFxuICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuXG4uY29va2llcy1jb25maXJtLWJ1dHRvbnNfX2J1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLmNvb2tpZXMtY29uZmlybS1idXR0b25zX19idXR0b24tLWFsbG93IHtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQwcmVtKSB7XG5cbiAgICAuY29va2llcy1jb25maXJtLWJ1dHRvbnNfX2NvbnRlbnQge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwcmVtKSB7XG5cbiAgICAuY29va2llcy1jb25maXJtLWJ1dHRvbnMge1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDgwcmVtKSB7XG5cbiAgICAuY29va2llcy1jb25maXJtLWJ1dHRvbnMge1xuICAgIH1cbn1cblxuLyogY29va2llcyBjb25maXJtIGJ1dHRvbnMgZW5kICovIiwiQGltcG9ydCBcInN0eWxlLmNzc1wiO1xuQGltcG9ydCBcIm1lbnUuY3NzXCI7XG5AaW1wb3J0IFwiZGFzaGJvYXJkLmNzc1wiO1xuQGltcG9ydCBcImVzaG9wLmNzc1wiO1xuQGltcG9ydCBcIm9yZGVyLmNzc1wiO1xuQGltcG9ydCBcImFjY291bnQuY3NzXCI7XG5AaW1wb3J0IFwidXNlci5jc3NcIjtcbkBpbXBvcnQgXCJtb2R1bGVzLmNzc1wiO1xuQGltcG9ydCBcIm5ld3MuY3NzXCI7XG5AaW1wb3J0IFwidWktZGlhbG9nLmNzc1wiO1xuQGltcG9ydCBcInNsaWNrLWNhcm91c2VsLmNzc1wiO1xuQGltcG9ydCBcImFkbWluLXN3aXRjaC5jc3NcIjtcbkBpbXBvcnQgXCJjb29raWUtY29uZmlybS5jc3NcIjtcblxuLyogcmVzb2x1dGlvbiBzZXR0aW5ncyAqL1xuXG5AY3VzdG9tLW1lZGlhIC0tVElOWVNDUkVFTiAobWluLXdpZHRoOiAzMHJlbSk7IC8qIDQ4MHB4ICovXG5AY3VzdG9tLW1lZGlhIC0tU01BTExTQ1JFRU4gKG1pbi13aWR0aDogNDByZW0pOyAvKiA2NDBweCAqL1xuQGN1c3RvbS1tZWRpYSAtLUxJR0hUU0NSRUVOIChtaW4td2lkdGg6IDUyLjVyZW0pOyAvKiA4NDBweCAqL1xuQGN1c3RvbS1tZWRpYSAtLU1FRElVTVNDUkVFTiAobWluLXdpZHRoOiA2MHJlbSk7IC8qIDk2MHB4ICovXG5AY3VzdG9tLW1lZGlhIC0tTk9STUFMU0NSRUVOIChtaW4td2lkdGg6IDY0cmVtKTsgLyogMTAyNHB4ICovXG5AY3VzdG9tLW1lZGlhIC0tV0lERVNDUkVFTiAobWluLXdpZHRoOiA4MHJlbSk7IC8qIDEyODBweCAqL1xuQGN1c3RvbS1tZWRpYSAtLUxBUkdFU0NSRUVOIChtaW4td2lkdGg6IDkwcmVtKTsgLyogMTQ0MHB4ICovXG5AY3VzdG9tLW1lZGlhIC0tRlVMTFNDUkVFTiAobWluLXdpZHRoOiAxMDByZW0pOyAvKiAxNjAwcHggKi9cbkBjdXN0b20tbWVkaWEgLS1JTk5FUiAobWluLXdpZHRoOiBjYWxjKDg3LjVyZW0gKyAoNiAqIDAuNzVyZW0pKSk7IC8qIHZlbGlrb3N0LCBvZCBrZHkgdSBpbm5lcnUgemFjbmUgcHVzb2JpdCBtYXgtd2lkdGggPT4gemhydWJhIC0tcGFnZS13aWR0aCArICg0ICogLS1wYWdlLXBhZGRpbmcpICovXG5cbi8qIHJlc29sdXRpb24gc2V0dGluZ3MgZW5kICovXG5cbi8qIGJhc2UgdmFyaWFibGVzICovXG5cbjpyb290IHtcbiAgLS1wYWdlLXdpZHRoOiBjYWxjKDg3LjVyZW0gKyAoMiAqIHZhcigtLXBhZ2UtcGFkZGluZykpKTsgLyogbmFzdGF2dWplIG1heC4gcGV2bm91IMWhw63FmWt1IHdlYnUgKi9cbiAgLS1wYWdlLXBhZGRpbmc6IC43NXJlbTsgLyogbmFzdGF2dWplIGxldsO9IGEgcHJhdsO9IHBhZGRpbmcgY2Vsw6lobyB3ZWJ1ICovXG4gIC0tZm9udC1zaXplOiAwLjg3NXJlbTsgLyogbmFzdGF2dWplIHbDvWNob3rDrSB2ZWxpa29zdCBww61zbWEgesOha2xhZG7DrW0gZWxlbWVudMWvbSAqL1xuICAtLWxpbmUtaGVpZ2h0OiAxLjU7IC8qIG5hc3RhdnVqZSB2w71jaG96w60gbGluZS1oZWlnaHQgdGV4dG92w71tIGVsZW1lbnTFr20gKi9cbiAgLS1iYXNlLWNvbG9yOiAjMDAwOyAvKiBuYXN0YXZ1amUgesOha2xhZG7DrSBwb3XFvsOtdmFub3UgYmFydnUgKi9cbiAgLS10aGVtZS1jb2xvcjogIzQ4YzNmNDs7IC8qIG5hc3RhdnVqZSB0w6ltYXRpY2tvdSBwb3XFvsOtdmFub3UgYmFydnUgKi9cbiAgLS1ib3JkZXItY29sb3I6ICMwMDc5YmE7IC8qIG5hc3RhdnVqZSB2w71jaG96w60gYmFydnUgcG91xb7DrXZhbsO9bSByw6FtZcSNa8WvbSAqL1xuXG4gIC0tb3JhbmdlOiAjZmY5MzIwOyAvKiBuYXN0YXZ1amUgdMOpbWF0aWNrb3UgcG91xb7DrXZhbm91IGJhcnZ1ICovXG4gIC0tZGFya2VyLWJsdWU6ICMwMDc5YmE7IC8qIG5hc3RhdnVqZSB0w6ltYXRpY2tvdSBwb3XFvsOtdmFub3UgYmFydnUgKi9cbiAgLS1saWdodC1ibHVlOiAjY2JlM2YxO1xuICAtLXJlZDogI2U3NDE0MTtcbiAgLS1ncmV5OiAjOTk5O1xuICAtLWxpZ2h0LWdyZXk6ICNlYmViZWI7XG4gIC0tbGlnaHQtZ3JleS0yOiAjN0E3QTdBO1xuICAtLWRhcmstZ3JleTogIzM0MzQzNDtcblxuICBAY3VzdG9tLXNlbGVjdG9yIDotLWhlYWRpbmdzIC8qIG5hc3RhdnVqZSBzYWR1IG5hZHBpc8WvICovXG4gIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDY7XG4gIFxuICBAY3VzdG9tLXNlbGVjdG9yIDotLWZvcm0tZWxlbWVudHMgIC8qIG5hc3RhdnVqZSBzYWR1IGZvcm11bMOhxZlvdsO9Y2ggZWxlbWVudMWvICovXG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4gIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4gIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgaW5wdXRbdHlwZT1cInVybFwiXSxcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbiAgc2VsZWN0LCB0ZXh0YXJlYTtcbiAgXG4gIEBtZWRpYSAoLS1TTUFMTFNDUkVFTikge1xuICB9XG4gIFxuICBAbWVkaWEgKC0tTUVESVVNU0NSRUVOKSB7XG4gICAgLS1wYWdlLXBhZGRpbmc6IDJyZW07XG4gICAgLS1mb250LXNpemU6IDFyZW07XG4gIH1cbiAgXG4gIEBtZWRpYSAoLS1XSURFU0NSRUVOKSB7XG4gICAgLS1mb250LXNpemU6IDEuMTI1cmVtO1xuICB9XG59XG5cbi8qIGJhc2UgdmFyaWFibGVzIGVuZCAqL1xuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbiJdLCJzb3VyY2VSb290IjoiIn0=*/