/*!
 * Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker)
 *
 * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)
 */

.datepicker {
  padding: 4px;
  border-radius: 4px;
  direction: ltr;
}
.datepicker-inline {
  width: 220px;
}
.datepicker-rtl {
  direction: rtl;
}
.datepicker-rtl.dropdown-menu {
  left: auto;
}
.datepicker-rtl table tr td span {
  float: right;
}
.datepicker-dropdown {
  top: 0;
  left: 0;
}
.datepicker-dropdown:before {
  content: '';
  display: inline-block;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #999;
  border-top: 0;
  border-bottom-color: rgba(0, 0, 0, 0.2);
  position: absolute;
}
.datepicker-dropdown:after {
  content: '';
  display: inline-block;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #fff;
  border-top: 0;
  position: absolute;
}
.datepicker-dropdown.datepicker-orient-left:before {
  left: 6px;
}
.datepicker-dropdown.datepicker-orient-left:after {
  left: 7px;
}
.datepicker-dropdown.datepicker-orient-right:before {
  right: 6px;
}
.datepicker-dropdown.datepicker-orient-right:after {
  right: 7px;
}
.datepicker-dropdown.datepicker-orient-bottom:before {
  top: -7px;
}
.datepicker-dropdown.datepicker-orient-bottom:after {
  top: -6px;
}
.datepicker-dropdown.datepicker-orient-top:before {
  bottom: -7px;
  border-bottom: 0;
  border-top: 7px solid #999;
}
.datepicker-dropdown.datepicker-orient-top:after {
  bottom: -6px;
  border-bottom: 0;
  border-top: 6px solid #fff;
}
.datepicker table {
  margin: 0;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.datepicker td,
.datepicker th {
  text-align: center;
  width: 20px;
  height: 20px;
  border-radius: 4px;
  border: none;
}
.table-striped .datepicker table tr td,
.table-striped .datepicker table tr th {
  background-color: transparent;
}
.datepicker table tr td.day:hover,
.datepicker table tr td.day.focused {
  background: #eee;
  cursor: pointer;
}
.datepicker table tr td.old,
.datepicker table tr td.new {
  color: #999;
}
.datepicker table tr td.disabled,
.datepicker table tr td.disabled:hover {
  background: none;
  color: #999;
  cursor: default;
}
.datepicker table tr td.highlighted {
  background: #d9edf7;
  border-radius: 0;
}
.datepicker table tr td.today,
.datepicker table tr td.today:hover,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today.disabled:hover {
  background-color: #fde19a;
  background-image: linear-gradient(to bottom, #fdd49a, #fdf59a);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);
  border-color: #fdf59a #fdf59a #fbed50;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  color: #000;
}
.datepicker table tr td.today:hover,
.datepicker table tr td.today:hover:hover,
.datepicker table tr td.today.disabled:hover,
.datepicker table tr td.today.disabled:hover:hover,
.datepicker table tr td.today:active,
.datepicker table tr td.today:hover:active,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today.active,
.datepicker table tr td.today:hover.active,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today.disabled:hover.active,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today:hover.disabled,
.datepicker table tr td.today.disabled.disabled,
.datepicker table tr td.today.disabled:hover.disabled,
.datepicker table tr td.today[disabled],
.datepicker table tr td.today:hover[disabled],
.datepicker table tr td.today.disabled[disabled],
.datepicker table tr td.today.disabled:hover[disabled] {
  background-color: #fdf59a;
}
.datepicker table tr td.today:active,
.datepicker table tr td.today:hover:active,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today.active,
.datepicker table tr td.today:hover.active,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today.disabled:hover.active {
  background-color: #fbf069 \9;
}
.datepicker table tr td.today:hover:hover {
  color: #000;
}
.datepicker table tr td.today.active:hover {
  color: #fff;
}
.datepicker table tr td.range,
.datepicker table tr td.range:hover,
.datepicker table tr td.range.disabled,
.datepicker table tr td.range.disabled:hover {
  background: #eee;
  border-radius: 0;
}
.datepicker table tr td.range.today,
.datepicker table tr td.range.today:hover,
.datepicker table tr td.range.today.disabled,
.datepicker table tr td.range.today.disabled:hover {
  background-color: #f3d17a;
  background-image: linear-gradient(to bottom, #f3c17a, #f3e97a);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0);
  border-color: #f3e97a #f3e97a #edde34;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  border-radius: 0;
}
.datepicker table tr td.range.today:hover,
.datepicker table tr td.range.today:hover:hover,
.datepicker table tr td.range.today.disabled:hover,
.datepicker table tr td.range.today.disabled:hover:hover,
.datepicker table tr td.range.today:active,
.datepicker table tr td.range.today:hover:active,
.datepicker table tr td.range.today.disabled:active,
.datepicker table tr td.range.today.disabled:hover:active,
.datepicker table tr td.range.today.active,
.datepicker table tr td.range.today:hover.active,
.datepicker table tr td.range.today.disabled.active,
.datepicker table tr td.range.today.disabled:hover.active,
.datepicker table tr td.range.today.disabled,
.datepicker table tr td.range.today:hover.disabled,
.datepicker table tr td.range.today.disabled.disabled,
.datepicker table tr td.range.today.disabled:hover.disabled,
.datepicker table tr td.range.today[disabled],
.datepicker table tr td.range.today:hover[disabled],
.datepicker table tr td.range.today.disabled[disabled],
.datepicker table tr td.range.today.disabled:hover[disabled] {
  background-color: #f3e97a;
}
.datepicker table tr td.range.today:active,
.datepicker table tr td.range.today:hover:active,
.datepicker table tr td.range.today.disabled:active,
.datepicker table tr td.range.today.disabled:hover:active,
.datepicker table tr td.range.today.active,
.datepicker table tr td.range.today:hover.active,
.datepicker table tr td.range.today.disabled.active,
.datepicker table tr td.range.today.disabled:hover.active {
  background-color: #efe24b \9;
}
.datepicker table tr td.selected,
.datepicker table tr td.selected:hover,
.datepicker table tr td.selected.disabled,
.datepicker table tr td.selected.disabled:hover {
  background-color: #9e9e9e;
  background-image: linear-gradient(to bottom, #b3b3b3, #808080);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0);
  border-color: #808080 #808080 #595959;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td.selected:hover,
.datepicker table tr td.selected:hover:hover,
.datepicker table tr td.selected.disabled:hover,
.datepicker table tr td.selected.disabled:hover:hover,
.datepicker table tr td.selected:active,
.datepicker table tr td.selected:hover:active,
.datepicker table tr td.selected.disabled:active,
.datepicker table tr td.selected.disabled:hover:active,
.datepicker table tr td.selected.active,
.datepicker table tr td.selected:hover.active,
.datepicker table tr td.selected.disabled.active,
.datepicker table tr td.selected.disabled:hover.active,
.datepicker table tr td.selected.disabled,
.datepicker table tr td.selected:hover.disabled,
.datepicker table tr td.selected.disabled.disabled,
.datepicker table tr td.selected.disabled:hover.disabled,
.datepicker table tr td.selected[disabled],
.datepicker table tr td.selected:hover[disabled],
.datepicker table tr td.selected.disabled[disabled],
.datepicker table tr td.selected.disabled:hover[disabled] {
  background-color: #808080;
}
.datepicker table tr td.selected:active,
.datepicker table tr td.selected:hover:active,
.datepicker table tr td.selected.disabled:active,
.datepicker table tr td.selected.disabled:hover:active,
.datepicker table tr td.selected.active,
.datepicker table tr td.selected:hover.active,
.datepicker table tr td.selected.disabled.active,
.datepicker table tr td.selected.disabled:hover.active {
  background-color: #666666 \9;
}
.datepicker table tr td.active,
.datepicker table tr td.active:hover,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active.disabled:hover {
  background-color: #006dcc;
  background-image: linear-gradient(to bottom, #08c, #0044cc);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);
  border-color: #0044cc #0044cc #002a80;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td.active:hover,
.datepicker table tr td.active:hover:hover,
.datepicker table tr td.active.disabled:hover,
.datepicker table tr td.active.disabled:hover:hover,
.datepicker table tr td.active:active,
.datepicker table tr td.active:hover:active,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.active,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled:hover.active,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active:hover.disabled,
.datepicker table tr td.active.disabled.disabled,
.datepicker table tr td.active.disabled:hover.disabled,
.datepicker table tr td.active[disabled],
.datepicker table tr td.active:hover[disabled],
.datepicker table tr td.active.disabled[disabled],
.datepicker table tr td.active.disabled:hover[disabled] {
  background-color: #0044cc;
}
.datepicker table tr td.active:active,
.datepicker table tr td.active:hover:active,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.active,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled:hover.active {
  background-color: #003399 \9;
}
.datepicker table tr td span {
  display: block;
  width: 23%;
  height: 54px;
  line-height: 54px;
  float: left;
  margin: 1%;
  cursor: pointer;
  border-radius: 4px;
}
.datepicker table tr td span:hover,
.datepicker table tr td span.focused {
  background: #eee;
}
.datepicker table tr td span.disabled,
.datepicker table tr td span.disabled:hover {
  background: none;
  color: #999;
  cursor: default;
}
.datepicker table tr td span.active,
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active.disabled:hover {
  background-color: #006dcc;
  background-image: linear-gradient(to bottom, #08c, #0044cc);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);
  border-color: #0044cc #0044cc #002a80;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active:hover:hover,
.datepicker table tr td span.active.disabled:hover,
.datepicker table tr td span.active.disabled:hover:hover,
.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover:active,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.active,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled:hover.active,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active:hover.disabled,
.datepicker table tr td span.active.disabled.disabled,
.datepicker table tr td span.active.disabled:hover.disabled,
.datepicker table tr td span.active[disabled],
.datepicker table tr td span.active:hover[disabled],
.datepicker table tr td span.active.disabled[disabled],
.datepicker table tr td span.active.disabled:hover[disabled] {
  background-color: #0044cc;
}
.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover:active,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.active,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled:hover.active {
  background-color: #003399 \9;
}
.datepicker table tr td span.old,
.datepicker table tr td span.new {
  color: #999;
}
.datepicker .datepicker-switch {
  width: 145px;
}
.datepicker .datepicker-switch,
.datepicker .prev,
.datepicker .next,
.datepicker tfoot tr th {
  cursor: pointer;
}
.datepicker .datepicker-switch:hover,
.datepicker .prev:hover,
.datepicker .next:hover,
.datepicker tfoot tr th:hover {
  background: #eee;
}
.datepicker .prev.disabled,
.datepicker .next.disabled {
  visibility: hidden;
}
.datepicker .cw {
  font-size: 10px;
  width: 12px;
  padding: 0 2px 0 5px;
  vertical-align: middle;
}
.input-append.date .add-on,
.input-prepend.date .add-on {
  cursor: pointer;
}
.input-append.date .add-on i,
.input-prepend.date .add-on i {
  margin-top: 3px;
}
.input-daterange input {
  text-align: center;
}
.input-daterange input:first-child {
  border-radius: 3px 0 0 3px;
}
.input-daterange input:last-child {
  border-radius: 0 3px 3px 0;
}
.input-daterange .add-on {
  display: inline-block;
  width: auto;
  min-width: 16px;
  height: 20px;
  padding: 4px 5px;
  font-weight: normal;
  line-height: 20px;
  text-align: center;
  text-shadow: 0 1px 0 #fff;
  vertical-align: middle;
  background-color: #eee;
  border: 1px solid #ccc;
  margin-left: -5px;
  margin-right: -5px;
}
.datepicker.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  float: left;
  display: none;
  min-width: 160px;
  list-style: none;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 5px;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  *border-right-width: 2px;
  *border-bottom-width: 2px;
  color: #333333;
  font-size: 13px;
  line-height: 20px;
}
.datepicker.dropdown-menu th,
.datepicker.datepicker-inline th,
.datepicker.dropdown-menu td,
.datepicker.datepicker-inline td {
  padding: 4px 5px;
}
/*# sourceMappingURL=bootstrap-datepicker.standalone.css.map */
/**
 * Owl Carousel v2.3.4
 * Copyright 2013-2018 David Deutsch
 * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
 */
.owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;touch-action:manipulation;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;-webkit-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel .owl-nav button.owl-next,.owl-carousel .owl-nav button.owl-prev,.owl-carousel button.owl-dot{background:0 0;color:inherit;border:none;padding:0!important;font:inherit}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{touch-action:pan-y;-webkit-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item .owl-lazy:not([src]),.owl-carousel .owl-item .owl-lazy[src^=""]{max-height:0}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(/build/images/owl.video.play.4a37f800.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%}
/**
 * Owl Carousel v2.3.4
 * Copyright 2013-2018 David Deutsch
 * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
 */
.owl-theme .owl-dots,.owl-theme .owl-nav{text-align:center;-webkit-tap-highlight-color:transparent}.owl-theme .owl-nav{margin-top:10px}.owl-theme .owl-nav [class*=owl-]{color:#FFF;font-size:14px;margin:5px;padding:4px 7px;background:#D6D6D6;display:inline-block;cursor:pointer;border-radius:3px}.owl-theme .owl-nav [class*=owl-]:hover{background:#869791;color:#FFF;text-decoration:none}.owl-theme .owl-nav .disabled{opacity:.5;cursor:default}.owl-theme .owl-nav.disabled+.owl-dots{margin-top:10px}.owl-theme .owl-dots .owl-dot{display:inline-block;zoom:1}.owl-theme .owl-dots .owl-dot span{width:10px;height:10px;margin:5px 7px;background:#D6D6D6;display:block;-webkit-backface-visibility:visible;transition:opacity .2s ease;border-radius:30px}.owl-theme .owl-dots .owl-dot.active span,.owl-theme .owl-dots .owl-dot:hover span{background:#869791}
/*! Flickity v2.2.1
https://flickity.metafizzy.co
---------------------------------------------- */

.flickity-enabled {
  position: relative;
}

.flickity-enabled:focus { outline: none; }

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
}

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
}

/* draggable */

.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: grab;
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: grabbing;
}

/* ---- flickity-button ---- */

.flickity-button {
  position: absolute;
  background: hsla(0, 0%, 100%, 0.75);
  border: none;
  color: #333;
}

.flickity-button:hover {
  background: white;
  cursor: pointer;
}

.flickity-button:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19F;
}

.flickity-button:active {
  opacity: 0.6;
}

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none;
}

.flickity-button-icon {
  fill: currentColor;
}

/* ---- previous/next buttons ---- */

.flickity-prev-next-button {
  top: 50%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  /* vertically center */
  transform: translateY(-50%);
}

.flickity-prev-next-button.previous { left: 10px; }
.flickity-prev-next-button.next { right: 10px; }
/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px;
}
.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px;
}

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%;
}

/* ---- page dots ---- */

.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
  line-height: 1;
}

.flickity-rtl .flickity-page-dots { direction: rtl; }

.flickity-page-dots .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 8px;
  background: #333;
  border-radius: 50%;
  opacity: 0.25;
  cursor: pointer;
}

.flickity-page-dots .dot.is-selected {
  opacity: 1;
}

/*
 * The MIT License
 * Copyright (c) 2012 Matias Meno <m@tias.me>
 */
@keyframes passing-through {
  0% {
    opacity: 0;
    transform: translateY(40px); }
  30%, 70% {
    opacity: 1;
    transform: translateY(0px); }
  100% {
    opacity: 0;
    transform: translateY(-40px); } }
@keyframes slide-in {
  0% {
    opacity: 0;
    transform: translateY(40px); }
  30% {
    opacity: 1;
    transform: translateY(0px); } }
@keyframes pulse {
  0% {
    transform: scale(1); }
  10% {
    transform: scale(1.1); }
  20% {
    transform: scale(1); } }
.dropzone, .dropzone * {
  box-sizing: border-box; }

.dropzone {
  min-height: 150px;
  border: 2px solid rgba(0, 0, 0, 0.3);
  background: white;
  padding: 20px 20px; }
  .dropzone.dz-clickable {
    cursor: pointer; }
    .dropzone.dz-clickable * {
      cursor: default; }
    .dropzone.dz-clickable .dz-message, .dropzone.dz-clickable .dz-message * {
      cursor: pointer; }
  .dropzone.dz-started .dz-message {
    display: none; }
  .dropzone.dz-drag-hover {
    border-style: solid; }
    .dropzone.dz-drag-hover .dz-message {
      opacity: 0.5; }
  .dropzone .dz-message {
    text-align: center;
    margin: 2em 0; }
  .dropzone .dz-preview {
    position: relative;
    display: inline-block;
    vertical-align: top;
    margin: 16px;
    min-height: 100px; }
    .dropzone .dz-preview:hover {
      z-index: 1000; }
      .dropzone .dz-preview:hover .dz-details {
        opacity: 1; }
    .dropzone .dz-preview.dz-file-preview .dz-image {
      border-radius: 20px;
      background: #999;
      background: linear-gradient(to bottom, #eee, #ddd); }
    .dropzone .dz-preview.dz-file-preview .dz-details {
      opacity: 1; }
    .dropzone .dz-preview.dz-image-preview {
      background: white; }
      .dropzone .dz-preview.dz-image-preview .dz-details {
        transition: opacity 0.2s linear; }
    .dropzone .dz-preview .dz-remove {
      font-size: 14px;
      text-align: center;
      display: block;
      cursor: pointer;
      border: none; }
      .dropzone .dz-preview .dz-remove:hover {
        text-decoration: underline; }
    .dropzone .dz-preview:hover .dz-details {
      opacity: 1; }
    .dropzone .dz-preview .dz-details {
      z-index: 20;
      position: absolute;
      top: 0;
      left: 0;
      opacity: 0;
      font-size: 13px;
      min-width: 100%;
      max-width: 100%;
      padding: 2em 1em;
      text-align: center;
      color: rgba(0, 0, 0, 0.9);
      line-height: 150%; }
      .dropzone .dz-preview .dz-details .dz-size {
        margin-bottom: 1em;
        font-size: 16px; }
      .dropzone .dz-preview .dz-details .dz-filename {
        white-space: nowrap; }
        .dropzone .dz-preview .dz-details .dz-filename:hover span {
          border: 1px solid rgba(200, 200, 200, 0.8);
          background-color: rgba(255, 255, 255, 0.8); }
        .dropzone .dz-preview .dz-details .dz-filename:not(:hover) {
          overflow: hidden;
          text-overflow: ellipsis; }
          .dropzone .dz-preview .dz-details .dz-filename:not(:hover) span {
            border: 1px solid transparent; }
      .dropzone .dz-preview .dz-details .dz-filename span, .dropzone .dz-preview .dz-details .dz-size span {
        background-color: rgba(255, 255, 255, 0.4);
        padding: 0 0.4em;
        border-radius: 3px; }
    .dropzone .dz-preview:hover .dz-image img {
      transform: scale(1.05, 1.05);
      filter: blur(8px); }
    .dropzone .dz-preview .dz-image {
      border-radius: 20px;
      overflow: hidden;
      width: 120px;
      height: 120px;
      position: relative;
      display: block;
      z-index: 10; }
      .dropzone .dz-preview .dz-image img {
        display: block; }
    .dropzone .dz-preview.dz-success .dz-success-mark {
      animation: passing-through 3s cubic-bezier(0.77, 0, 0.175, 1); }
    .dropzone .dz-preview.dz-error .dz-error-mark {
      opacity: 1;
      animation: slide-in 3s cubic-bezier(0.77, 0, 0.175, 1); }
    .dropzone .dz-preview .dz-success-mark, .dropzone .dz-preview .dz-error-mark {
      pointer-events: none;
      opacity: 0;
      z-index: 500;
      position: absolute;
      display: block;
      top: 50%;
      left: 50%;
      margin-left: -27px;
      margin-top: -27px; }
      .dropzone .dz-preview .dz-success-mark svg, .dropzone .dz-preview .dz-error-mark svg {
        display: block;
        width: 54px;
        height: 54px; }
    .dropzone .dz-preview.dz-processing .dz-progress {
      opacity: 1;
      transition: all 0.2s linear; }
    .dropzone .dz-preview.dz-complete .dz-progress {
      opacity: 0;
      transition: opacity 0.4s ease-in; }
    .dropzone .dz-preview:not(.dz-processing) .dz-progress {
      animation: pulse 6s ease infinite; }
    .dropzone .dz-preview .dz-progress {
      opacity: 1;
      z-index: 1000;
      pointer-events: none;
      position: absolute;
      height: 16px;
      left: 50%;
      top: 50%;
      margin-top: -8px;
      width: 80px;
      margin-left: -40px;
      background: rgba(255, 255, 255, 0.9);
      -webkit-transform: scale(1);
      border-radius: 8px;
      overflow: hidden; }
      .dropzone .dz-preview .dz-progress .dz-upload {
        background: #333;
        background: linear-gradient(to bottom, #666, #444);
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        width: 0;
        transition: width 300ms ease-in-out; }
    .dropzone .dz-preview.dz-error .dz-error-message {
      display: block; }
    .dropzone .dz-preview.dz-error:hover .dz-error-message {
      opacity: 1;
      pointer-events: auto; }
    .dropzone .dz-preview .dz-error-message {
      pointer-events: none;
      z-index: 1000;
      position: absolute;
      display: block;
      display: none;
      opacity: 0;
      transition: opacity 0.3s ease;
      border-radius: 8px;
      font-size: 13px;
      top: 130px;
      left: -10px;
      width: 140px;
      background: #be2626;
      background: linear-gradient(to bottom, #be2626, #a92222);
      padding: 0.5em 1.2em;
      color: white; }
      .dropzone .dz-preview .dz-error-message:after {
        content: '';
        position: absolute;
        top: -6px;
        left: 64px;
        width: 0;
        height: 0;
        border-left: 6px solid transparent;
        border-right: 6px solid transparent;
        border-bottom: 6px solid #be2626; }
.vue-dropzone{border:2px solid #e5e5e5;font-family:Arial,sans-serif;letter-spacing:.2px;color:#777;transition:.2s linear}.vue-dropzone:hover{background-color:#f6f6f6}.vue-dropzone>i{color:#ccc}.vue-dropzone>.dz-preview .dz-image{border-radius:0;width:100%;height:100%}.vue-dropzone>.dz-preview .dz-image img:not([src]){width:200px;height:200px}.vue-dropzone>.dz-preview .dz-image:hover img{transform:none;-webkit-filter:none}.vue-dropzone>.dz-preview .dz-details{bottom:0;top:0;color:#fff;background-color:rgba(33,150,243,.8);transition:opacity .2s linear;text-align:left}.vue-dropzone>.dz-preview .dz-details .dz-filename{overflow:hidden}.vue-dropzone>.dz-preview .dz-details .dz-filename span,.vue-dropzone>.dz-preview .dz-details .dz-size span{background-color:transparent}.vue-dropzone>.dz-preview .dz-details .dz-filename:not(:hover) span{border:none}.vue-dropzone>.dz-preview .dz-details .dz-filename:hover span{background-color:transparent;border:none}.vue-dropzone>.dz-preview .dz-progress .dz-upload{background:#ccc}.vue-dropzone>.dz-preview .dz-remove{position:absolute;z-index:30;color:#fff;margin-left:15px;padding:10px;top:inherit;bottom:15px;border:2px #fff solid;text-decoration:none;text-transform:uppercase;font-size:.8rem;font-weight:800;letter-spacing:1.1px;opacity:0}.vue-dropzone>.dz-preview:hover .dz-remove{opacity:1}.vue-dropzone>.dz-preview .dz-error-mark,.vue-dropzone>.dz-preview .dz-success-mark{margin-left:auto;margin-top:auto;width:100%;top:35%;left:0}.vue-dropzone>.dz-preview .dz-error-mark svg,.vue-dropzone>.dz-preview .dz-success-mark svg{margin-left:auto;margin-right:auto}.vue-dropzone>.dz-preview .dz-error-message{margin-left:auto;margin-right:auto;left:0;width:100%;text-align:center}.vue-dropzone>.dz-preview .dz-error-message:after{display:none}
/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}

@charset 'UTF-8';
/* Slider */
.slick-loading .slick-list
{
    background: #fff url(/build/images/ajax-loader.c5cd7f53.gif) center center no-repeat;
}

/* Icons */
@font-face
{
    font-family: 'slick';
    font-weight: normal;
    font-style: normal;

    src: url(/build/fonts/slick.ced611da.eot);
    src: url(/build/fonts/slick.ced611da.eot?#iefix) format('embedded-opentype'), url(/build/fonts/slick.b7c9e1e4.woff) format('woff'), url(/build/fonts/slick.d41f55a7.ttf) format('truetype'), url(/build/images/slick.f97e3bbf.svg#slick) format('svg');
}
/* Arrows */
.slick-prev,
.slick-next
{
    font-size: 0;
    line-height: 0;

    position: absolute;
    top: 50%;

    display: block;

    width: 20px;
    height: 20px;
    padding: 0;
    transform: translate(0, -50%);

    cursor: pointer;

    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus
{
    color: transparent;
    outline: none;
    background: transparent;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before
{
    opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before
{
    opacity: .25;
}

.slick-prev:before,
.slick-next:before
{
    font-family: 'slick';
    font-size: 20px;
    line-height: 1;

    opacity: .75;
    color: white;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-prev
{
    left: -25px;
}
[dir='rtl'] .slick-prev
{
    right: -25px;
    left: auto;
}
.slick-prev:before
{
    content: '←';
}
[dir='rtl'] .slick-prev:before
{
    content: '→';
}

.slick-next
{
    right: -25px;
}
[dir='rtl'] .slick-next
{
    right: auto;
    left: -25px;
}
.slick-next:before
{
    content: '→';
}
[dir='rtl'] .slick-next:before
{
    content: '←';
}

/* Dots */
.slick-dotted.slick-slider
{
    margin-bottom: 30px;
}

.slick-dots
{
    position: absolute;
    bottom: -25px;

    display: block;

    width: 100%;
    padding: 0;
    margin: 0;

    list-style: none;

    text-align: center;
}
.slick-dots li
{
    position: relative;

    display: inline-block;

    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;

    cursor: pointer;
}
.slick-dots li button
{
    font-size: 0;
    line-height: 0;

    display: block;

    width: 20px;
    height: 20px;
    padding: 5px;

    cursor: pointer;

    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus
{
    outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before
{
    opacity: 1;
}
.slick-dots li button:before
{
    font-family: 'slick';
    font-size: 6px;
    line-height: 20px;

    position: absolute;
    top: 0;
    left: 0;

    width: 20px;
    height: 20px;

    content: '•';
    text-align: center;

    opacity: .25;
    color: black;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before
{
    opacity: .75;
    color: black;
}

/**
Ion.RangeSlider, 2.3.1
© Denis Ineshin, 2010 - 2019, IonDen.com
Build date: 2019-12-19 16:51:02
*/
.irs {
  position: relative;
  display: block;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  font-size: 12px;
  font-family: Arial, sans-serif;
}
.irs-line {
  position: relative;
  display: block;
  overflow: hidden;
  outline: none !important;
}
.irs-bar {
  position: absolute;
  display: block;
  left: 0;
  width: 0;
}
.irs-shadow {
  position: absolute;
  display: none;
  left: 0;
  width: 0;
}
.irs-handle {
  position: absolute;
  display: block;
  box-sizing: border-box;
  cursor: default;
  z-index: 1;
}
.irs-handle.type_last {
  z-index: 2;
}
.irs-min,
.irs-max {
  position: absolute;
  display: block;
  cursor: default;
}
.irs-min {
  left: 0;
}
.irs-max {
  right: 0;
}
.irs-from,
.irs-to,
.irs-single {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  cursor: default;
  white-space: nowrap;
}
.irs-grid {
  position: absolute;
  display: none;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 20px;
}
.irs-with-grid .irs-grid {
  display: block;
}
.irs-grid-pol {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 8px;
  background: #000;
}
.irs-grid-pol.small {
  height: 4px;
}
.irs-grid-text {
  position: absolute;
  bottom: 0;
  left: 0;
  white-space: nowrap;
  text-align: center;
  font-size: 9px;
  line-height: 9px;
  padding: 0 3px;
  color: #000;
}
.irs-disable-mask {
  position: absolute;
  display: block;
  top: 0;
  left: -1%;
  width: 102%;
  height: 100%;
  cursor: default;
  background: rgba(0, 0, 0, 0);
  z-index: 2;
}
.lt-ie9 .irs-disable-mask {
  background: #000;
  filter: alpha(opacity=0);
  cursor: not-allowed;
}
.irs-disabled {
  opacity: 0.4;
}
.irs-hidden-input {
  position: absolute !important;
  display: block !important;
  top: 0 !important;
  left: 0 !important;
  width: 0 !important;
  height: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden;
  outline: none !important;
  z-index: -9999 !important;
  background: none !important;
  border-style: solid !important;
  border-color: transparent !important;
}
.irs--flat {
  height: 40px;
}
.irs--flat.irs-with-grid {
  height: 60px;
}
.irs--flat .irs-line {
  top: 25px;
  height: 12px;
  background-color: #e1e4e9;
  border-radius: 4px;
}
.irs--flat .irs-bar {
  top: 25px;
  height: 12px;
  background-color: #ed5565;
}
.irs--flat .irs-bar--single {
  border-radius: 4px 0 0 4px;
}
.irs--flat .irs-shadow {
  height: 1px;
  bottom: 16px;
  background-color: #e1e4e9;
}
.irs--flat .irs-handle {
  top: 22px;
  width: 16px;
  height: 18px;
  background-color: transparent;
}
.irs--flat .irs-handle > i:first-child {
  position: absolute;
  display: block;
  top: 0;
  left: 50%;
  width: 2px;
  height: 100%;
  margin-left: -1px;
  background-color: #da4453;
}
.irs--flat .irs-handle.state_hover > i:first-child,
.irs--flat .irs-handle:hover > i:first-child {
  background-color: #a43540;
}
.irs--flat .irs-min,
.irs--flat .irs-max {
  top: 0;
  padding: 1px 3px;
  color: #999;
  font-size: 10px;
  line-height: 1.333;
  text-shadow: none;
  background-color: #e1e4e9;
  border-radius: 4px;
}
.irs--flat .irs-from,
.irs--flat .irs-to,
.irs--flat .irs-single {
  color: white;
  font-size: 10px;
  line-height: 1.333;
  text-shadow: none;
  padding: 1px 5px;
  background-color: #ed5565;
  border-radius: 4px;
}
.irs--flat .irs-from:before,
.irs--flat .irs-to:before,
.irs--flat .irs-single:before {
  position: absolute;
  display: block;
  content: "";
  bottom: -6px;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -3px;
  overflow: hidden;
  border: 3px solid transparent;
  border-top-color: #ed5565;
}
.irs--flat .irs-grid-pol {
  background-color: #e1e4e9;
}
.irs--flat .irs-grid-text {
  color: #999;
}
.irs--big {
  height: 55px;
}
.irs--big.irs-with-grid {
  height: 70px;
}
.irs--big .irs-line {
  top: 33px;
  height: 12px;
  background-color: white;
  background: linear-gradient(to bottom, #ddd -50%, white 150%);
  border: 1px solid #ccc;
  border-radius: 12px;
}
.irs--big .irs-bar {
  top: 33px;
  height: 12px;
  background-color: #92bce0;
  border: 1px solid #428bca;
  background: linear-gradient(to bottom, #ffffff 0%, #428bca 30%, #b9d4ec 100%);
  box-shadow: inset 0 0 1px 1px rgba(255, 255, 255, 0.5);
}
.irs--big .irs-bar--single {
  border-radius: 12px 0 0 12px;
}
.irs--big .irs-shadow {
  height: 1px;
  bottom: 16px;
  background-color: rgba(66, 139, 202, 0.5);
}
.irs--big .irs-handle {
  top: 25px;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(0, 0, 0, 0.3);
  background-color: #cbcfd5;
  background: linear-gradient(to bottom, white 0%, #B4B9BE 30%, white 100%);
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2), inset 0 0 3px 1px white;
  border-radius: 30px;
}
.irs--big .irs-handle.state_hover,
.irs--big .irs-handle:hover {
  border-color: rgba(0, 0, 0, 0.45);
  background-color: #939ba7;
  background: linear-gradient(to bottom, white 0%, #919BA5 30%, white 100%);
}
.irs--big .irs-min,
.irs--big .irs-max {
  top: 0;
  padding: 1px 5px;
  color: white;
  text-shadow: none;
  background-color: #9f9f9f;
  border-radius: 3px;
}
.irs--big .irs-from,
.irs--big .irs-to,
.irs--big .irs-single {
  color: white;
  text-shadow: none;
  padding: 1px 5px;
  background-color: #428bca;
  background: linear-gradient(to bottom, #428bca 0%, #3071a9 100%);
  border-radius: 3px;
}
.irs--big .irs-grid-pol {
  background-color: #428bca;
}
.irs--big .irs-grid-text {
  color: #428bca;
}
.irs--modern {
  height: 55px;
}
.irs--modern.irs-with-grid {
  height: 55px;
}
.irs--modern .irs-line {
  top: 25px;
  height: 5px;
  background-color: #d1d6e0;
  background: linear-gradient(to bottom, #e0e4ea 0%, #d1d6e0 100%);
  border: 1px solid #a3adc1;
  border-bottom-width: 0;
  border-radius: 5px;
}
.irs--modern .irs-bar {
  top: 25px;
  height: 5px;
  background: #20b426;
  background: linear-gradient(to bottom, #20b426 0%, #18891d 100%);
}
.irs--modern .irs-bar--single {
  border-radius: 5px 0 0 5px;
}
.irs--modern .irs-shadow {
  height: 1px;
  bottom: 21px;
  background-color: rgba(209, 214, 224, 0.5);
}
.irs--modern .irs-handle {
  top: 37px;
  width: 12px;
  height: 13px;
  border: 1px solid #a3adc1;
  border-top-width: 0;
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
  border-radius: 0 0 3px 3px;
}
.irs--modern .irs-handle > i:nth-child(1) {
  position: absolute;
  display: block;
  top: -4px;
  left: 1px;
  width: 6px;
  height: 6px;
  border: 1px solid #a3adc1;
  background: white;
  transform: rotate(45deg);
}
.irs--modern .irs-handle > i:nth-child(2) {
  position: absolute;
  display: block;
  box-sizing: border-box;
  top: 0;
  left: 0;
  width: 10px;
  height: 12px;
  background: #e9e6e6;
  background: linear-gradient(to bottom, white 0%, #e9e6e6 100%);
  border-radius: 0 0 3px 3px;
}
.irs--modern .irs-handle > i:nth-child(3) {
  position: absolute;
  display: block;
  box-sizing: border-box;
  top: 3px;
  left: 3px;
  width: 4px;
  height: 5px;
  border-left: 1px solid #a3adc1;
  border-right: 1px solid #a3adc1;
}
.irs--modern .irs-handle.state_hover,
.irs--modern .irs-handle:hover {
  border-color: #7685a2;
  background: #c3c7cd;
  background: linear-gradient(to bottom, #ffffff 0%, #919ba5 30%, #ffffff 100%);
}
.irs--modern .irs-handle.state_hover > i:nth-child(1),
.irs--modern .irs-handle:hover > i:nth-child(1) {
  border-color: #7685a2;
}
.irs--modern .irs-handle.state_hover > i:nth-child(3),
.irs--modern .irs-handle:hover > i:nth-child(3) {
  border-color: #48536a;
}
.irs--modern .irs-min,
.irs--modern .irs-max {
  top: 0;
  font-size: 10px;
  line-height: 1.333;
  text-shadow: none;
  padding: 1px 5px;
  color: white;
  background-color: #d1d6e0;
  border-radius: 5px;
}
.irs--modern .irs-from,
.irs--modern .irs-to,
.irs--modern .irs-single {
  font-size: 10px;
  line-height: 1.333;
  text-shadow: none;
  padding: 1px 5px;
  background-color: #20b426;
  color: white;
  border-radius: 5px;
}
.irs--modern .irs-from:before,
.irs--modern .irs-to:before,
.irs--modern .irs-single:before {
  position: absolute;
  display: block;
  content: "";
  bottom: -6px;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -3px;
  overflow: hidden;
  border: 3px solid transparent;
  border-top-color: #20b426;
}
.irs--modern .irs-grid {
  height: 25px;
}
.irs--modern .irs-grid-pol {
  background-color: #dedede;
}
.irs--modern .irs-grid-text {
  color: silver;
  font-size: 13px;
}
.irs--sharp {
  height: 50px;
  font-size: 12px;
  line-height: 1;
}
.irs--sharp.irs-with-grid {
  height: 57px;
}
.irs--sharp .irs-line {
  top: 30px;
  height: 2px;
  background-color: black;
  border-radius: 2px;
}
.irs--sharp .irs-bar {
  top: 30px;
  height: 2px;
  background-color: #ee22fa;
}
.irs--sharp .irs-bar--single {
  border-radius: 2px 0 0 2px;
}
.irs--sharp .irs-shadow {
  height: 1px;
  bottom: 21px;
  background-color: rgba(0, 0, 0, 0.5);
}
.irs--sharp .irs-handle {
  top: 25px;
  width: 10px;
  height: 10px;
  background-color: #a804b2;
}
.irs--sharp .irs-handle > i:first-child {
  position: absolute;
  display: block;
  top: 100%;
  left: 0;
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-top-color: #a804b2;
}
.irs--sharp .irs-handle.state_hover,
.irs--sharp .irs-handle:hover {
  background-color: black;
}
.irs--sharp .irs-handle.state_hover > i:first-child,
.irs--sharp .irs-handle:hover > i:first-child {
  border-top-color: black;
}
.irs--sharp .irs-min,
.irs--sharp .irs-max {
  color: white;
  font-size: 14px;
  line-height: 1;
  top: 0;
  padding: 3px 4px;
  opacity: 0.4;
  background-color: #a804b2;
  border-radius: 2px;
}
.irs--sharp .irs-from,
.irs--sharp .irs-to,
.irs--sharp .irs-single {
  font-size: 14px;
  line-height: 1;
  text-shadow: none;
  padding: 3px 4px;
  background-color: #a804b2;
  color: white;
  border-radius: 2px;
}
.irs--sharp .irs-from:before,
.irs--sharp .irs-to:before,
.irs--sharp .irs-single:before {
  position: absolute;
  display: block;
  content: "";
  bottom: -6px;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -3px;
  overflow: hidden;
  border: 3px solid transparent;
  border-top-color: #a804b2;
}
.irs--sharp .irs-grid {
  height: 25px;
}
.irs--sharp .irs-grid-pol {
  background-color: #dedede;
}
.irs--sharp .irs-grid-text {
  color: silver;
  font-size: 13px;
}
.irs--round {
  height: 50px;
}
.irs--round.irs-with-grid {
  height: 65px;
}
.irs--round .irs-line {
  top: 36px;
  height: 4px;
  background-color: #dee4ec;
  border-radius: 4px;
}
.irs--round .irs-bar {
  top: 36px;
  height: 4px;
  background-color: #006cfa;
}
.irs--round .irs-bar--single {
  border-radius: 4px 0 0 4px;
}
.irs--round .irs-shadow {
  height: 4px;
  bottom: 21px;
  background-color: rgba(222, 228, 236, 0.5);
}
.irs--round .irs-handle {
  top: 26px;
  width: 24px;
  height: 24px;
  border: 4px solid #006cfa;
  background-color: white;
  border-radius: 24px;
  box-shadow: 0 1px 3px rgba(0, 0, 255, 0.3);
}
.irs--round .irs-handle.state_hover,
.irs--round .irs-handle:hover {
  background-color: #f0f6ff;
}
.irs--round .irs-min,
.irs--round .irs-max {
  color: #333;
  font-size: 14px;
  line-height: 1;
  top: 0;
  padding: 3px 5px;
  background-color: rgba(0, 0, 0, 0.1);
  border-radius: 4px;
}
.irs--round .irs-from,
.irs--round .irs-to,
.irs--round .irs-single {
  font-size: 14px;
  line-height: 1;
  text-shadow: none;
  padding: 3px 5px;
  background-color: #006cfa;
  color: white;
  border-radius: 4px;
}
.irs--round .irs-from:before,
.irs--round .irs-to:before,
.irs--round .irs-single:before {
  position: absolute;
  display: block;
  content: "";
  bottom: -6px;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -3px;
  overflow: hidden;
  border: 3px solid transparent;
  border-top-color: #006cfa;
}
.irs--round .irs-grid {
  height: 25px;
}
.irs--round .irs-grid-pol {
  background-color: #dedede;
}
.irs--round .irs-grid-text {
  color: silver;
  font-size: 13px;
}
.irs--square {
  height: 50px;
}
.irs--square.irs-with-grid {
  height: 60px;
}
.irs--square .irs-line {
  top: 31px;
  height: 4px;
  background-color: #dedede;
}
.irs--square .irs-bar {
  top: 31px;
  height: 4px;
  background-color: black;
}
.irs--square .irs-shadow {
  height: 2px;
  bottom: 21px;
  background-color: #dedede;
}
.irs--square .irs-handle {
  top: 25px;
  width: 16px;
  height: 16px;
  border: 3px solid black;
  background-color: white;
  transform: rotate(45deg);
}
.irs--square .irs-handle.state_hover,
.irs--square .irs-handle:hover {
  background-color: #f0f6ff;
}
.irs--square .irs-min,
.irs--square .irs-max {
  color: #333;
  font-size: 14px;
  line-height: 1;
  top: 0;
  padding: 3px 5px;
  background-color: rgba(0, 0, 0, 0.1);
}
.irs--square .irs-from,
.irs--square .irs-to,
.irs--square .irs-single {
  font-size: 14px;
  line-height: 1;
  text-shadow: none;
  padding: 3px 5px;
  background-color: black;
  color: white;
}
.irs--square .irs-grid {
  height: 25px;
}
.irs--square .irs-grid-pol {
  background-color: #dedede;
}
.irs--square .irs-grid-text {
  color: silver;
  font-size: 11px;
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-ui\theme\globals\globals.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A class which hides an element in DOM.
 */

.ck-hidden {
	/* Override selector specificity. Otherwise, all elements with some display
	style defined will override this one, which is not a desired result. */
	display: none !important;
}

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-reset,
.ck.ck-reset_all,
.ck.ck-reset_all * {
	box-sizing: border-box;
	width: auto;
	height: auto;
	position: static;
}

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-z-default: 1;
	--ck-z-modal: calc( var(--ck-z-default) + 999 );
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\globals\globals.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-color-base-foreground: 								hsl(0, 0%, 98%);
	--ck-color-base-background: 								hsl(0, 0%, 100%);
	--ck-color-base-border: 									hsl(0, 0%, 77%);
	--ck-color-base-action: 									hsl(104, 44%, 48%);
	--ck-color-base-focus: 										hsl(209, 92%, 70%);
	--ck-color-base-text: 										hsl(0, 0%, 20%);
	--ck-color-base-active: 									hsl(208, 88%, 52%);
	--ck-color-base-active-focus:								hsl(208, 88%, 47%);
	--ck-color-base-error:										hsl(15, 100%, 43%);

	/* -- Generic colors ------------------------------------------------------------------------ */

	--ck-color-focus-border-coordinates: 						208, 79%, 51%;
	--ck-color-focus-border: 									hsl(var(--ck-color-focus-border-coordinates));
	--ck-color-focus-outer-shadow:								hsl(207, 89%, 86%);
	--ck-color-focus-disabled-shadow:							hsla(209, 90%, 72%,.3);
	--ck-color-focus-error-shadow:								hsla(9,100%,56%,.3);
	--ck-color-text: 											var(--ck-color-base-text);
	--ck-color-shadow-drop: 									hsla(0, 0%, 0%, 0.15);
	--ck-color-shadow-drop-active:								hsla(0, 0%, 0%, 0.2);
	--ck-color-shadow-inner: 									hsla(0, 0%, 0%, 0.1);

	/* -- Buttons ------------------------------------------------------------------------------- */

	--ck-color-button-default-background: 						transparent;
	--ck-color-button-default-hover-background: 				hsl(0, 0%, 90%);
	--ck-color-button-default-active-background: 				hsl(0, 0%, 85%);
	--ck-color-button-default-active-shadow: 					hsl(0, 0%, 75%);
	--ck-color-button-default-disabled-background: 				transparent;

	--ck-color-button-on-background: 							hsl(0, 0%, 87%);
	--ck-color-button-on-hover-background: 						hsl(0, 0%, 77%);
	--ck-color-button-on-active-background: 					hsl(0, 0%, 73%);
	--ck-color-button-on-active-shadow: 						hsl(0, 0%, 63%);
	--ck-color-button-on-disabled-background: 					hsl(0, 0%, 87%);

	--ck-color-button-action-background: 						var(--ck-color-base-action);
	--ck-color-button-action-hover-background: 					hsl(104, 44%, 43%);
	--ck-color-button-action-active-background: 				hsl(104, 44%, 41%);
	--ck-color-button-action-active-shadow: 					hsl(104, 44%, 36%);
	--ck-color-button-action-disabled-background: 				hsl(104, 44%, 58%);
	--ck-color-button-action-text: 								var(--ck-color-base-background);

	--ck-color-button-save: 									hsl(120, 100%, 27%);
	--ck-color-button-cancel: 									hsl(15, 100%, 43%);

	--ck-color-switch-button-off-background:					hsl(0, 0%, 69%);
	--ck-color-switch-button-off-hover-background:				hsl(0, 0%, 64%);
	--ck-color-switch-button-on-background:						var(--ck-color-button-action-background);
	--ck-color-switch-button-on-hover-background:				hsl(104, 44%, 43%);
	--ck-color-switch-button-inner-background:					var(--ck-color-base-background);
	--ck-color-switch-button-inner-shadow:						hsla(0, 0%, 0%, 0.1);

	/* -- Dropdown ------------------------------------------------------------------------------ */

	--ck-color-dropdown-panel-background: 						var(--ck-color-base-background);
	--ck-color-dropdown-panel-border: 							var(--ck-color-base-border);

	/* -- Input --------------------------------------------------------------------------------- */

	--ck-color-input-background: 								var(--ck-color-base-background);
	--ck-color-input-border: 									hsl(0, 0%, 78%);
	--ck-color-input-error-border:								var(--ck-color-base-error);
	--ck-color-input-text: 										var(--ck-color-base-text);
	--ck-color-input-disabled-background: 						hsl(0, 0%, 95%);
	--ck-color-input-disabled-border: 							hsl(0, 0%, 78%);
	--ck-color-input-disabled-text: 							hsl(0, 0%, 36%);

	/* -- List ---------------------------------------------------------------------------------- */

	--ck-color-list-background: 								var(--ck-color-base-background);
	--ck-color-list-button-hover-background: 					var(--ck-color-button-default-hover-background);
	--ck-color-list-button-on-background: 						var(--ck-color-base-active);
	--ck-color-list-button-on-background-focus: 				var(--ck-color-base-active-focus);
	--ck-color-list-button-on-text:								var(--ck-color-base-background);

	/* -- Panel --------------------------------------------------------------------------------- */

	--ck-color-panel-background: 								var(--ck-color-base-background);
	--ck-color-panel-border: 									var(--ck-color-base-border);

	/* -- Toolbar ------------------------------------------------------------------------------- */

	--ck-color-toolbar-background: 								var(--ck-color-base-foreground);
	--ck-color-toolbar-border: 									var(--ck-color-base-border);

	/* -- Tooltip ------------------------------------------------------------------------------- */

	--ck-color-tooltip-background: 								var(--ck-color-base-text);
	--ck-color-tooltip-text: 									var(--ck-color-base-background);

	/* -- Engine -------------------------------------------------------------------------------- */

	--ck-color-engine-placeholder-text: 						hsl(0, 0%, 44%);

	/* -- Upload -------------------------------------------------------------------------------- */

	--ck-color-upload-bar-background:		 					hsl(209, 92%, 70%);

	/* -- Link -------------------------------------------------------------------------------- */

	--ck-color-link-default:									hsl(240, 100%, 47%);
	--ck-color-link-selected-background:						hsla(201, 100%, 56%, 0.1);
	--ck-color-link-fake-selection:								hsla(201, 100%, 56%, 0.3);
}

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	/**
	 * An opacity value of disabled UI item.
	 */
	--ck-disabled-opacity: .5;
}

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	/**
	 * The geometry of the of focused element's outer shadow.
	 */
	--ck-focus-outer-shadow-geometry: 0 0 0 3px;

	/**
	 * A visual style of focused element's outer shadow.
	 */
	--ck-focus-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow);

	/**
	 * A visual style of focused element's outer shadow (when disabled).
	 */
	--ck-focus-disabled-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);

	/**
	 * A visual style of focused element's outer shadow (when has errors).
	 */
	--ck-focus-error-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);

	/**
	 * A visual style of focused element's border or outline.
	 */
	--ck-focus-ring: 1px solid var(--ck-color-focus-border);
}

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-font-size-base: 13px;
	--ck-line-height-base: 1.84615;
	--ck-font-face: Helvetica, Arial, Tahoma, Verdana, Sans-Serif;

	--ck-font-size-tiny: 0.7em;
	--ck-font-size-small: 0.75em;
	--ck-font-size-normal: 1em;
	--ck-font-size-big: 1.4em;
	--ck-font-size-large: 1.8em;
}

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	/* This is super-important. This is **manually** adjusted so a button without an icon
	is never smaller than a button with icon, additionally making sure that text-less buttons
	are perfect squares. The value is also shared by other components which should stay "in-line"
	with buttons. */
	--ck-ui-component-min-height: 2.3em;
}

/**
 * Resets an element, ignoring its children.
 */

.ck.ck-reset,
.ck.ck-reset_all,
.ck.ck-reset_all * {
	/* Do not include inheritable rules here. */
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	text-decoration: none;
	vertical-align: middle;
	transition: none;

	/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/105 */
	word-wrap: break-word;
}

/**
 * Resets an element AND its children.
 */

.ck.ck-reset_all,
.ck.ck-reset_all * {
	/* These are rule inherited by all children elements. */
	border-collapse: collapse;
	font: normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);
	color: var(--ck-color-text);
	text-align: left;
	white-space: nowrap;
	cursor: auto;
	float: none;
}

.ck.ck-reset_all .ck-rtl * {
		text-align: right;
	}

.ck.ck-reset_all iframe {
		/* For IE */
		vertical-align: inherit;
	}

.ck.ck-reset_all textarea {
		white-space: pre-wrap;
	}

.ck.ck-reset_all textarea,
	.ck.ck-reset_all input[type="text"],
	.ck.ck-reset_all input[type="password"] {
		cursor: text;
	}

.ck.ck-reset_all textarea[disabled],
	.ck.ck-reset_all input[type="text"][disabled],
	.ck.ck-reset_all input[type="password"][disabled] {
		cursor: default;
	}

.ck.ck-reset_all fieldset {
		padding: 10px;
		border: 2px groove hsl(255, 7%, 88%);
	}

.ck.ck-reset_all button::-moz-focus-inner {
		/* See http://stackoverflow.com/questions/5517744/remove-extra-button-spacing-padding-in-firefox */
		padding: 0;
		border: 0
	}

/**
 * Default UI rules for RTL languages.
 */

.ck[dir="rtl"],
.ck[dir="rtl"] .ck {
	text-align: right;
}

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Default border-radius value.
 */

:root{
	--ck-border-radius: 2px;
}

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	/**
	 * A visual style of element's inner shadow (i.e. input).
	 */
	--ck-inner-shadow: 2px 2px 3px var(--ck-color-shadow-inner) inset;

	/**
	 * A visual style of element's drop shadow (i.e. panel).
	 */
	--ck-drop-shadow: 0 1px 2px 1px var(--ck-color-shadow-drop);

	/**
	 * A visual style of element's active shadow (i.e. comment or suggestion).
	 */
	--ck-drop-shadow-active: 0 3px 6px 1px var(--ck-color-shadow-drop-active);
}

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-spacing-unit: 						0.6em;
	--ck-spacing-large: 					calc(var(--ck-spacing-unit) * 1.5);
	--ck-spacing-standard: 					var(--ck-spacing-unit);
	--ck-spacing-medium: 					calc(var(--ck-spacing-unit) * 0.8);
	--ck-spacing-small: 					calc(var(--ck-spacing-unit) * 0.5);
	--ck-spacing-tiny: 						calc(var(--ck-spacing-unit) * 0.3);
	--ck-spacing-extra-tiny: 				calc(var(--ck-spacing-unit) * 0.16);
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-ui\theme\components\icon\icon.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-icon {
	vertical-align: middle;
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\icon\icon.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-icon-size: calc(var(--ck-line-height-base) * var(--ck-font-size-normal));
}

.ck.ck-icon {
	width: var(--ck-icon-size);
	height: var(--ck-icon-size);

	/* Multiplied by the height of the line in "px" should give SVG "viewport" dimensions */
	font-size: .8333350694em;

	color: inherit;

	/* Inherit cursor style (#5). */
	cursor: inherit;

	/* This will prevent blurry icons on Firefox. See #340. */
	will-change: transform
}

.ck.ck-icon * {
		/* Inherit cursor style (#5). */
		cursor: inherit;

		/* Allows dynamic coloring of the icons. */
		color: inherit
	}

.ck.ck-icon *:not([fill]) {
			/* Needed by FF. */
			fill: currentColor;
		}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-ui\theme\components\panel\balloonpanel.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	/* Make sure the balloon arrow does not float over its children. */
	--ck-balloon-panel-arrow-z-index: calc(var(--ck-z-default) - 3);
}

.ck.ck-balloon-panel {
	display: none;
	position: absolute;

	z-index: var(--ck-z-modal)
}

.ck.ck-balloon-panel.ck-balloon-panel_with-arrow::before,
		.ck.ck-balloon-panel.ck-balloon-panel_with-arrow::after {
			content: "";
			position: absolute;
		}

.ck.ck-balloon-panel.ck-balloon-panel_with-arrow::before {
			z-index: var(--ck-balloon-panel-arrow-z-index);
		}

.ck.ck-balloon-panel.ck-balloon-panel_with-arrow::after {
			z-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);
		}

.ck.ck-balloon-panel[class*="arrow_n"]::before {
			z-index: var(--ck-balloon-panel-arrow-z-index);
		}

.ck.ck-balloon-panel[class*="arrow_n"]::after {
			z-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);
		}

.ck.ck-balloon-panel[class*="arrow_s"]::before {
			z-index: var(--ck-balloon-panel-arrow-z-index);
		}

.ck.ck-balloon-panel[class*="arrow_s"]::after {
			z-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);
		}

.ck.ck-balloon-panel.ck-balloon-panel_visible {
		display: block;
	}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\panel\balloonpanel.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A helper to combine multiple shadows.
 */

/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */

:root {
	--ck-balloon-arrow-offset: 2px;
	--ck-balloon-arrow-height: 10px;
	--ck-balloon-arrow-half-width: 8px;
}

.ck.ck-balloon-panel {
	border-radius: 0
}

.ck-rounded-corners .ck.ck-balloon-panel, .ck.ck-balloon-panel.ck-rounded-corners {
		border-radius: var(--ck-border-radius)
}

.ck.ck-balloon-panel {
	box-shadow: var(--ck-drop-shadow), 0 0;

	min-height: 15px;

	background: var(--ck-color-panel-background);
	border: 1px solid var(--ck-color-panel-border)
}

.ck.ck-balloon-panel.ck-balloon-panel_with-arrow::before,
		.ck.ck-balloon-panel.ck-balloon-panel_with-arrow::after {
			width: 0;
			height: 0;
			border-style: solid;
		}

.ck.ck-balloon-panel[class*="arrow_n"]::before,
		.ck.ck-balloon-panel[class*="arrow_n"]::after {
			border-width: 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width);
		}

.ck.ck-balloon-panel[class*="arrow_n"]::before {
			border-color: transparent transparent var(--ck-color-panel-border) transparent;
		}

.ck.ck-balloon-panel[class*="arrow_n"]::after {
			border-color: transparent transparent var(--ck-color-panel-background) transparent;
			margin-top: var(--ck-balloon-arrow-offset);
		}

.ck.ck-balloon-panel[class*="arrow_s"]::before,
		.ck.ck-balloon-panel[class*="arrow_s"]::after {
			border-width: var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width);
		}

.ck.ck-balloon-panel[class*="arrow_s"]::before {
			border-color: var(--ck-color-panel-border) transparent  transparent;
		}

.ck.ck-balloon-panel[class*="arrow_s"]::after {
			border-color: var(--ck-color-panel-background) transparent transparent transparent;
			margin-bottom: var(--ck-balloon-arrow-offset);
		}

.ck.ck-balloon-panel.ck-balloon-panel_arrow_n::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_n::after {
			left: 50%;
			margin-left: calc(-1 * var(--ck-balloon-arrow-half-width));
			top: calc(-1 * var(--ck-balloon-arrow-height));
		}

.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw::after {
			left: calc(2 * var(--ck-balloon-arrow-half-width));
			top: calc(-1 * var(--ck-balloon-arrow-height));
		}

.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne::after {
			right: calc(2 * var(--ck-balloon-arrow-half-width));
			top: calc(-1 * var(--ck-balloon-arrow-height));
		}

.ck.ck-balloon-panel.ck-balloon-panel_arrow_s::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_s::after {
			left: 50%;
			margin-left: calc(-1 * var(--ck-balloon-arrow-half-width));
			bottom: calc(-1 * var(--ck-balloon-arrow-height));
		}

.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw::after {
			left: calc(2 * var(--ck-balloon-arrow-half-width));
			bottom: calc(-1 * var(--ck-balloon-arrow-height));
		}

.ck.ck-balloon-panel.ck-balloon-panel_arrow_se::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_se::after {
			right: calc(2 * var(--ck-balloon-arrow-half-width));
			bottom: calc(-1 * var(--ck-balloon-arrow-height));
		}

.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme::after {
			right: 25%;
			margin-right: calc(2 * var(--ck-balloon-arrow-half-width));
			bottom: calc(-1 * var(--ck-balloon-arrow-height));
		}

.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw::after {
			left: 25%;
			margin-left: calc(2 * var(--ck-balloon-arrow-half-width));
			bottom: calc(-1 * var(--ck-balloon-arrow-height));
		}

.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme::after {
			right: 25%;
			margin-right: calc(2 * var(--ck-balloon-arrow-half-width));
			top: calc(-1 * var(--ck-balloon-arrow-height));
		}

.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw::before,
		.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw::after {
			left: 25%;
			margin-left: calc(2 * var(--ck-balloon-arrow-half-width));
			top: calc(-1 * var(--ck-balloon-arrow-height));
		}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-widget\theme\widgettypearound.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck .ck-widget {
	/*
	 * Styles of the type around buttons
	 */
}

.ck .ck-widget .ck-widget__type-around__button {
		display: block;
		position: absolute;
		overflow: hidden;
		z-index: var(--ck-z-default)
	}

.ck .ck-widget .ck-widget__type-around__button svg {
			position: absolute;
			top: 50%;
			left: 50%;
			z-index: calc(var(--ck-z-default) + 2);
		}

.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_before {
			/* Place it in the middle of the outline */
			top: calc(-0.5 * var(--ck-widget-outline-thickness));
			left: min(10%, 30px);

			transform: translateY(-50%);
		}

.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_after {
			/* Place it in the middle of the outline */
			bottom: calc(-0.5 * var(--ck-widget-outline-thickness));
			right: min(10%, 30px);

			transform: translateY(50%);
		}

.ck .ck-widget {

	/*
	 * Styles for the buttons when:
	 * - the widget is selected,
	 * - or the button is being hovered (regardless of the widget state).
	 */
}

.ck .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button::after, .ck .ck-widget > .ck-widget__type-around > .ck-widget__type-around__button:hover::after {
			content: "";
			display: block;
			position: absolute;
			top: 1px;
			left: 1px;
			z-index: calc(var(--ck-z-default) + 1);
		}

.ck .ck-widget {

	/*
	 * Styles for the horizontal "fake caret" which is displayed when the user navigates using the keyboard.
	 */
}

.ck .ck-widget > .ck-widget__type-around > .ck-widget__type-around__fake-caret {
		display: none;
		position: absolute;
		left: 0;
		right: 0;
	}

.ck .ck-widget {

	/*
	 * When the widget is hovered the "fake caret" would normally be narrower than the
	 * extra outline displayed around the widget. Let's extend the "fake caret" to match
	 * the full width of the widget.
	 */
}

.ck .ck-widget:hover > .ck-widget__type-around > .ck-widget__type-around__fake-caret {
		left: calc( -1 * var(--ck-widget-outline-thickness) );
		right: calc( -1 * var(--ck-widget-outline-thickness) );
	}

.ck .ck-widget {

	/*
	 * Styles for the horizontal "fake caret" when it should be displayed before the widget (backward keyboard navigation).
	 */
}

.ck .ck-widget.ck-widget_type-around_show-fake-caret_before > .ck-widget__type-around > .ck-widget__type-around__fake-caret {
		top: calc( -1 * var(--ck-widget-outline-thickness) - 1px );
		display: block;
	}

.ck .ck-widget {

	/*
	 * Styles for the horizontal "fake caret" when it should be displayed after the widget (forward keyboard navigation).
	 */
}

.ck .ck-widget.ck-widget_type-around_show-fake-caret_after > .ck-widget__type-around > .ck-widget__type-around__fake-caret {
		bottom: calc( -1 * var(--ck-widget-outline-thickness) - 1px );
		display: block;
	}

/*
 * Integration with the read-only mode of the editor.
 */

.ck.ck-editor__editable.ck-read-only .ck-widget__type-around {
	display: none;
}

/*
 * Integration with the restricted editing mode (feature) of the editor.
 */

.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around {
	display: none;
}

/*
 * Integration with the #isEnabled property of the WidgetTypeAround plugin.
 */

.ck.ck-editor__editable.ck-widget__type-around_disabled .ck-widget__type-around {
	display: none;
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-widget\widgettypearound.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-widget-type-around-button-size: 20px;
	--ck-color-widget-type-around-button-active: var(--ck-color-focus-border);
	--ck-color-widget-type-around-button-hover: var(--ck-color-widget-hover-border);
	--ck-color-widget-type-around-button-blurred-editable: var(--ck-color-widget-blurred-border);
	--ck-color-widget-type-around-button-radar-start-alpha: 0;
	--ck-color-widget-type-around-button-radar-end-alpha: .3;
	--ck-color-widget-type-around-button-icon: var(--ck-color-base-background);
}

.ck .ck-widget {
	/*
	 * Styles of the type around buttons
	 */
}

.ck .ck-widget .ck-widget__type-around__button {
		width: var(--ck-widget-type-around-button-size);
		height: var(--ck-widget-type-around-button-size);
		background: var(--ck-color-widget-type-around-button);
		border-radius: 100px;
		transition: opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve), background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);

		opacity: 0;

		pointer-events: none
	}

.ck .ck-widget .ck-widget__type-around__button svg {
			width: 10px;
			height: 8px;
			transform: translate(-50%,-50%);
			transition: transform .5s ease;
			margin-top: 1px
		}

.ck .ck-widget .ck-widget__type-around__button svg * {
				stroke-dasharray: 10;
				stroke-dashoffset: 0;

				fill: none;
				stroke: var(--ck-color-widget-type-around-button-icon);
				stroke-width: 1.5px;
				stroke-linecap: round;
				stroke-linejoin: round;
			}

.ck .ck-widget .ck-widget__type-around__button svg line {
				stroke-dasharray: 7;
			}

.ck .ck-widget .ck-widget__type-around__button:hover {
			/*
			 * Display the "sonar" around the button when hovered.
			 */
			animation: ck-widget-type-around-button-sonar 1s ease infinite

			/*
			 * Animate active button's icon.
			 */
		}

.ck .ck-widget .ck-widget__type-around__button:hover svg polyline {
					animation: ck-widget-type-around-arrow-dash 2s linear;
				}

.ck .ck-widget .ck-widget__type-around__button:hover svg line {
					animation: ck-widget-type-around-arrow-tip-dash 2s linear;
				}

.ck .ck-widget {

	/*
	 * Show type around buttons when the widget gets selected or being hovered.
	 */
}

.ck .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button, .ck .ck-widget:hover > .ck-widget__type-around > .ck-widget__type-around__button {
			opacity: 1;
			pointer-events: auto;
		}

.ck .ck-widget {

	/*
	 * Styles for the buttons when the widget is NOT selected (but the buttons are visible
	 * and still can be hovered).
	 */
}

.ck .ck-widget:not(.ck-widget_selected) > .ck-widget__type-around > .ck-widget__type-around__button {
		background: var(--ck-color-widget-type-around-button-hover);
	}

.ck .ck-widget {

	/*
	 * Styles for the buttons when:
	 * - the widget is selected,
	 * - or the button is being hovered (regardless of the widget state).
	 */
}

.ck .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button,
	.ck .ck-widget > .ck-widget__type-around > .ck-widget__type-around__button:hover {
		background: var(--ck-color-widget-type-around-button-active)
	}

.ck .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button::after, .ck .ck-widget > .ck-widget__type-around > .ck-widget__type-around__button:hover::after {
			width: calc(var(--ck-widget-type-around-button-size) - 2px);
			height: calc(var(--ck-widget-type-around-button-size) - 2px);
			border-radius: 100px;
			background: linear-gradient(135deg, hsla(0,0%,100%,0) 0%, hsla(0,0%,100%,.3) 100%);
		}

.ck .ck-widget {

	/*
	 * Styles for the "before" button when the widget has a selection handle. Because some space
	 * is consumed by the handle, the button must be moved slightly to the right to let it breathe.
	 */
}

.ck .ck-widget.ck-widget_with-selection-handle > .ck-widget__type-around > .ck-widget__type-around__button_before {
		margin-left: 20px;
	}

.ck .ck-widget {

	/*
	 * Styles for the horizontal "fake caret" which is displayed when the user navigates using the keyboard.
	 */
}

.ck .ck-widget .ck-widget__type-around__fake-caret {
		pointer-events: none;
		height: 1px;
		animation: ck-widget-type-around-fake-caret-pulse linear 1s infinite normal forwards;

		/*
		 * The semi-transparent-outline+background combo improves the contrast
		 * when the background underneath the fake caret is dark.
		 */
		outline: solid 1px hsla(0, 0%, 100%, .5);
		background: var(--ck-color-base-text);
	}

.ck .ck-widget {

	/*
	 * Styles of the widget when the "fake caret" is blinking (e.g. upon keyboard navigation).
	 * Despite the widget being physically selected in the model, its outline should disappear.
	 */
}

.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_before,
		.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_after {
			outline-color: transparent;
		}

.ck .ck-widget.ck-widget_type-around_show-fake-caret_before,
	.ck .ck-widget.ck-widget_type-around_show-fake-caret_after {
		/*
		 * When the "fake caret" is visible we simulate that the widget is not selected
		 * (despite being physically selected), so the outline color should be for the
		 * unselected widget.
		 */
	}

.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_selected:hover, .ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_selected:hover {
			outline-color: var(--ck-color-widget-hover-border);
		}

.ck .ck-widget.ck-widget_type-around_show-fake-caret_before,
	.ck .ck-widget.ck-widget_type-around_show-fake-caret_after {

		/*
		 * Styles of the type around buttons when the "fake caret" is blinking (e.g. upon keyboard navigation).
		 * In this state, the type around buttons would collide with the fake carets so they should disappear.
		 */
	}

.ck .ck-widget.ck-widget_type-around_show-fake-caret_before > .ck-widget__type-around > .ck-widget__type-around__button, .ck .ck-widget.ck-widget_type-around_show-fake-caret_after > .ck-widget__type-around > .ck-widget__type-around__button {
			opacity: 0;
			pointer-events: none;
		}

.ck .ck-widget.ck-widget_type-around_show-fake-caret_before,
	.ck .ck-widget.ck-widget_type-around_show-fake-caret_after {

		/*
		 * Fake horizontal caret integration with the selection handle. When the caret is visible, simply
		 * hide the handle because it intersects with the caret (and does not make much sense anyway).
		 */
	}

.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_with-selection-handle.ck-widget_selected > .ck-widget__selection-handle, .ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_with-selection-handle.ck-widget_selected:hover > .ck-widget__selection-handle, .ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_with-selection-handle.ck-widget_selected > .ck-widget__selection-handle, .ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_with-selection-handle.ck-widget_selected:hover > .ck-widget__selection-handle {
					opacity: 0
				}

.ck .ck-widget.ck-widget_type-around_show-fake-caret_before,
	.ck .ck-widget.ck-widget_type-around_show-fake-caret_after {

		/*
		 * Fake horizontal caret integration with the resize UI. When the caret is visible, simply
		 * hide the resize UI because it creates too much noise. It can be visible when the user
		 * hovers the widget, though.
		 */
	}

.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_selected.ck-widget_with-resizer > .ck-widget__resizer, .ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_selected.ck-widget_with-resizer > .ck-widget__resizer {
			opacity: 0
		}

/*
 * Hide type around buttons when the widget is selected as a child of a selected
 * nested editable (e.g. mulit-cell table selection).
 *
 * See https://github.com/ckeditor/ckeditor5/issues/7263.
 */

.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button, .ck-editor__nested-editable.ck-editor__editable_selected .ck-widget:hover > .ck-widget__type-around > .ck-widget__type-around__button {
				opacity: 0;
				pointer-events: none;
			}

/*
 * Styles for the buttons when the widget is selected but the user clicked outside of the editor (blurred the editor).
 */

.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button:not(:hover) {
	background: var(--ck-color-widget-type-around-button-blurred-editable)
}

.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button:not(:hover) svg * {
		stroke: hsl(0,0%,60%);
	}

@keyframes ck-widget-type-around-arrow-dash {
	0% {
		stroke-dashoffset: 10;
	}
	20%, 100% {
		stroke-dashoffset: 0;
	}
}

@keyframes ck-widget-type-around-arrow-tip-dash {
	0%, 20% {
		stroke-dashoffset: 7;
	}
	40%, 100% {
		stroke-dashoffset: 0;
	}
}

@keyframes ck-widget-type-around-button-sonar {
	0% {
		box-shadow: 0 0 0 0 hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha));
	}
	50% {
		box-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-end-alpha));
	}
	100% {
		box-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha));
	}
}

@keyframes ck-widget-type-around-fake-caret-pulse {
	0% {
		opacity: 1;
	}
	49% {
		opacity: 1;
	}
	50% {
		opacity: 0;
	}
	99% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-widget\theme\widget.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-color-resizer: var(--ck-color-focus-border);
	--ck-resizer-size: 10px;
	--ck-resizer-border-width: 1px;
	--ck-resizer-border-radius: 2px;

	/* Set the resizer with a 50% offset. */
	--ck-resizer-offset: calc( ( var(--ck-resizer-size) / -2 ) - 2px);

	--ck-resizer-tooltip-offset: 10px;
	--ck-color-resizer-tooltip-background: hsl(0, 0%, 15%);
	--ck-color-resizer-tooltip-text: hsl(0, 0%, 95%);
}

.ck .ck-widget {
	/* This is neccessary for type around UI to be positioned properly. */
	position: relative;
}

.ck .ck-widget.ck-widget_with-selection-handle {
	/* Make the widget wrapper a relative positioning container for the drag handle. */
	position: relative
}

.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle {
		position: absolute
	}

.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon {
			/* Make sure the icon in not a subject to font-size or line-height to avoid
			unnecessary spacing around it. */
			display: block;
		}

.ck .ck-widget.ck-widget_with-selection-handle {

	/* Show the selection handle on mouse hover over the widget. */
}

.ck .ck-widget.ck-widget_with-selection-handle:hover .ck-widget__selection-handle {
			visibility: visible;
		}

.ck .ck-widget.ck-widget_with-selection-handle {

	/* Show the selection handle when the widget is selected. */
}

.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected .ck-widget__selection-handle {
		visibility: visible;
	}

.ck .ck-size-view {
	background: var(--ck-color-resizer-tooltip-background);
	color: var(--ck-color-resizer-tooltip-text);
	border: 1px solid var(--ck-color-resizer-tooltip-text);
	border-radius: var(--ck-resizer-border-radius);
	font-size: var(--ck-font-size-tiny);
	display: block;
	padding: var(--ck-spacing-small)
}

.ck .ck-size-view.ck-orientation-top-left,
	.ck .ck-size-view.ck-orientation-top-right,
	.ck .ck-size-view.ck-orientation-bottom-right,
	.ck .ck-size-view.ck-orientation-bottom-left {
		position: absolute;
	}

.ck .ck-size-view.ck-orientation-top-left {
		top: var( --ck-resizer-tooltip-offset );
		left: var( --ck-resizer-tooltip-offset );
	}

.ck .ck-size-view.ck-orientation-top-right {
		top: var( --ck-resizer-tooltip-offset );
		right: var( --ck-resizer-tooltip-offset );
	}

.ck .ck-size-view.ck-orientation-bottom-right {
		bottom: var( --ck-resizer-tooltip-offset );
		right: var( --ck-resizer-tooltip-offset );
	}

.ck .ck-size-view.ck-orientation-bottom-left {
		bottom: var( --ck-resizer-tooltip-offset );
		left: var( --ck-resizer-tooltip-offset );
	}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-widget\widget.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A visual style of focused element's border.
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A helper to combine multiple shadows.
 */

/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */

:root {
	--ck-widget-outline-thickness: 3px;
	--ck-widget-handler-icon-size: 16px;
	--ck-widget-handler-animation-duration: 200ms;
	--ck-widget-handler-animation-curve: ease;

	--ck-color-widget-blurred-border: hsl(0, 0%, 87%);
	--ck-color-widget-hover-border: hsl(43, 100%, 62%);
	--ck-color-widget-editable-focus-background: var(--ck-color-base-background);
	--ck-color-widget-drag-handler-icon-color: var(--ck-color-base-background);
}

.ck .ck-widget {
	outline-width: var(--ck-widget-outline-thickness);
	outline-style: solid;
	outline-color: transparent;
	transition: outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)
}

.ck .ck-widget.ck-widget_selected,
	.ck .ck-widget.ck-widget_selected:hover {
		outline: var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border);
	}

.ck .ck-widget:hover {
		outline-color: var(--ck-color-widget-hover-border);
	}

.ck .ck-editor__nested-editable {
	border: 1px solid transparent

	/* The :focus style is applied before .ck-editor__nested-editable_focused class is rendered in the view.
	These styles show a different border for a blink of an eye, so `:focus` need to have same styles applied. */
}

.ck .ck-editor__nested-editable.ck-editor__nested-editable_focused,
	.ck .ck-editor__nested-editable:focus {
		/* Disable native outline. */
		outline: none;
		border: var(--ck-focus-ring);
		box-shadow: var(--ck-inner-shadow), 0 0;

		background-color: var(--ck-color-widget-editable-focus-background);
	}

.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle {
		padding: 4px;
		box-sizing: border-box;

		/* Background and opacity will be animated as the handler shows up or the widget gets selected. */
		background-color: transparent;
		opacity: 0;

		/* Transition:
		   * background-color for the .ck-widget_selected state change,
		   * visibility for hiding the handler,
		   * opacity for the proper look of the icon when the handler disappears. */
		transition:
			background-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),
			visibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),
			opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);

		/* Make only top corners round. */
		border-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0;

		/* Place the drag handler outside the widget wrapper. */
		transform: translateY(-100%);
		left: calc(0px - var(--ck-widget-outline-thickness))
	}

.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon {
			/* Make sure the dimensions of the icon are independent of the fon-size of the content. */
			width: var(--ck-widget-handler-icon-size);
			height: var(--ck-widget-handler-icon-size);
			color: var(--ck-color-widget-drag-handler-icon-color)

			/* The "selected" part of the icon is invisible by default */
		}

.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator {
				opacity: 0;

				/* Note: The animation is longer on purpose. Simply feels better. */
				transition: opacity 300ms var(--ck-widget-handler-animation-curve);
			}

.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle {

		/* Advertise using the look of the icon that once clicked the handler, the widget will be selected. */
	}

.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover .ck-icon .ck-icon__selected-indicator {
			opacity: 1;
		}

.ck .ck-widget.ck-widget_with-selection-handle {

	/* Show the selection handler on mouse hover over the widget. */
}

.ck .ck-widget.ck-widget_with-selection-handle:hover .ck-widget__selection-handle {
		opacity: 1;
		background-color: var(--ck-color-widget-hover-border);
	}

.ck .ck-widget.ck-widget_with-selection-handle {

	/* Show the selection handler when the widget is selected. */
}

.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected .ck-widget__selection-handle, .ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover .ck-widget__selection-handle {
			opacity: 1;
			background-color: var(--ck-color-focus-border)

			/* When the widget is selected, notify the user using the proper look of the icon. */
		}

.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator, .ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator {
				opacity: 1;
			}

/* In a RTL environment, align the selection handler to the right side of the widget */

/* stylelint-disable-next-line no-descending-specificity */

.ck[dir="rtl"] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle {
	left: auto;
	right: calc(0px - var(--ck-widget-outline-thickness));
}

/* https://github.com/ckeditor/ckeditor5/issues/6415 */

.ck.ck-editor__editable.ck-read-only .ck-widget {
	/* Prevent the :hover outline from showing up because of the used outline-color transition. */
	transition: none
}

.ck.ck-editor__editable.ck-read-only .ck-widget:not(.ck-widget_selected) {
		/* Disable visual effects of hover/active widget when CKEditor is in readOnly mode.
		 * See: https://github.com/ckeditor/ckeditor5/issues/1261
		 *
		 * Leave the unit because this custom property is used in calc() by other features.
		 * See: https://github.com/ckeditor/ckeditor5/issues/6775
		 */
		--ck-widget-outline-thickness: 0px;
	}

.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle,
		.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover {
			background: var(--ck-color-widget-blurred-border);
		}

/* Style the widget when it's selected but the editable it belongs to lost focus. */

/* stylelint-disable-next-line no-descending-specificity */

.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected,
	.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover {
		outline-color: var(--ck-color-widget-blurred-border)
	}

.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle .ck-widget__selection-handle,
			.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle .ck-widget__selection-handle:hover,
			.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover.ck-widget_with-selection-handle .ck-widget__selection-handle,
			.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover.ck-widget_with-selection-handle .ck-widget__selection-handle:hover {
				background: var(--ck-color-widget-blurred-border);
			}

.ck.ck-editor__editable > .ck-widget.ck-widget_with-selection-handle:first-child,
.ck.ck-editor__editable blockquote > .ck-widget.ck-widget_with-selection-handle:first-child {
	/* Do not crop selection handler if a widget is a first-child in the blockquote or in the root editable.
	In fact, anything with overflow: hidden.
	https://github.com/ckeditor/ckeditor5-block-quote/issues/28
	https://github.com/ckeditor/ckeditor5-widget/issues/44
	https://github.com/ckeditor/ckeditor5-widget/issues/66 */
	margin-top: calc(1em + var(--ck-widget-handler-icon-size));
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-ui\theme\components\tooltip\tooltip.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-tooltip,
.ck.ck-tooltip .ck-tooltip__text::after {
	position: absolute;

	/* Without this, hovering the tooltip could keep it visible. */
	pointer-events: none;

	/* This is to get rid of flickering when transitioning opacity in Chrome.
	It's weird but it works. */
	-webkit-backface-visibility: hidden;
}

.ck.ck-tooltip {
	/* Tooltip is hidden by default. */
	visibility: hidden;
	opacity: 0;
	display: none;
	z-index: var(--ck-z-modal)
}

.ck.ck-tooltip .ck-tooltip__text {
		display: inline-block
	}

.ck.ck-tooltip .ck-tooltip__text::after {
			content: "";
			width: 0;
			height: 0;
		}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\tooltip\tooltip.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

:root {
	--ck-tooltip-arrow-size: 5px;
}

.ck.ck-tooltip {
	left: 50%;

	/*
	 * Prevent blurry tooltips in LoDPI environments.
	 * See https://github.com/ckeditor/ckeditor5/issues/1802.
	 */
	top: 0;

	/*
	 * For the transition to work, the tooltip must be controlled
	 * using visibility+opacity. A delay prevents a "tooltip avalanche"
	 * i.e. when scanning the toolbar with mouse cursor.
	 */
	transition: opacity .2s ease-in-out .2s
}

.ck.ck-tooltip .ck-tooltip__text {
		border-radius: 0
	}

.ck-rounded-corners .ck.ck-tooltip .ck-tooltip__text, .ck.ck-tooltip .ck-tooltip__text.ck-rounded-corners {
		border-radius: var(--ck-border-radius)
	}

.ck.ck-tooltip .ck-tooltip__text {

		font-size: .9em;
		line-height: 1.5;
		color: var(--ck-color-tooltip-text);
		padding: var(--ck-spacing-small) var(--ck-spacing-medium);
		background: var(--ck-color-tooltip-background);
		position: relative;
		left: -50%
	}

.ck.ck-tooltip .ck-tooltip__text::after {
			/*
			 * For the transition to work, the tooltip must be controlled
			 * using visibility+opacity. A delay prevents a "tooltip avalanche"
			 * i.e. when scanning the toolbar with mouse cursor.
			 */
			transition: opacity .2s ease-in-out .2s;
			border-style: solid;
			left: 50%;
		}

.ck.ck-tooltip {

	/**
	 * A class once applied displays the tooltip south of the element.
	 *
	 *       [element]
	 *           ^
	 *     +-----------+
	 *     |  Tooltip  |
	 *     +-----------+
	 */
}

.ck.ck-tooltip.ck-tooltip_s {
		bottom: calc(-1 * var(--ck-tooltip-arrow-size));
		transform: translateY( 100% )
	}

.ck.ck-tooltip.ck-tooltip_s .ck-tooltip__text::after {
			top: calc(-1 * var(--ck-tooltip-arrow-size));
			transform: translateX( -50% );
			border-color: transparent transparent var(--ck-color-tooltip-background) transparent;
			border-width: 0 var(--ck-tooltip-arrow-size) var(--ck-tooltip-arrow-size) var(--ck-tooltip-arrow-size);
		}

.ck.ck-tooltip {

	/**
	 * A class once applied displays the tooltip north of the element.
	 *
	 *     +-----------+
	 *     |  Tooltip  |
	 *     +-----------+
	 *           V
	 *       [element]
	 */
}

.ck.ck-tooltip.ck-tooltip_n {
		top: calc(-1 * var(--ck-tooltip-arrow-size));
		transform: translateY( -100% )
	}

.ck.ck-tooltip.ck-tooltip_n .ck-tooltip__text::after {
			bottom: calc(-1 * var(--ck-tooltip-arrow-size));
			transform: translateX( -50% );
			border-color: var(--ck-color-tooltip-background) transparent transparent transparent;
			border-width: var(--ck-tooltip-arrow-size) var(--ck-tooltip-arrow-size) 0 var(--ck-tooltip-arrow-size);
		}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-ui\theme\components\button\button.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Makes element unselectable.
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Enables the tooltip, which is the tooltip is in DOM but
 * not yet displayed.
 */

/**
 * Disables the tooltip making it disappear from DOM.
 */

/**
 * Shows the tooltip, which is already in DOM.
 * Requires `ck-tooltip_enabled` first.
 */

.ck.ck-button,
a.ck.ck-button {
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none
}

.ck.ck-button .ck-tooltip, a.ck.ck-button .ck-tooltip {
		display: block

		/*
		 * Don't display tooltips in devices which don't support :hover.
		 * In fact, it's all about iOS, which forces user to click UI elements twice to execute
		 * the primary action, when tooltips are enabled.
		 *
		 * Q: OK, but why not the following query?
		 *
		 *   @media (hover) {
		 *       display: block;
		 *   }
		 *
		 * A: Because FF does not support it and it would completely disable tooltips
		 * in that browser.
		 *
		 * More in https://github.com/ckeditor/ckeditor5/issues/920.
		 */
	}

@media (hover:none) {

.ck.ck-button .ck-tooltip, a.ck.ck-button .ck-tooltip {
			display: none
	}
		}

.ck.ck-button,
a.ck.ck-button {

	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: left
}

.ck.ck-button .ck-button__label, a.ck.ck-button .ck-button__label {
		display: none;
	}

.ck.ck-button.ck-button_with-text .ck-button__label, a.ck.ck-button.ck-button_with-text .ck-button__label {
			display: inline-block;
		}

.ck.ck-button,
a.ck.ck-button {

	/* Center the icon horizontally in a button without text. */
}

.ck.ck-button:not(.ck-button_with-text),  a.ck.ck-button:not(.ck-button_with-text)  {
		justify-content: center;
	}

.ck.ck-button:hover .ck-tooltip, a.ck.ck-button:hover .ck-tooltip {
		visibility: visible;
		opacity: 1;
	}

.ck.ck-button,
a.ck.ck-button {

	/* Get rid of the native focus outline around the tooltip when focused (but not :hover). */
}

.ck.ck-button:focus:not(:hover) .ck-tooltip, a.ck.ck-button:focus:not(:hover) .ck-tooltip {
		display: none;
	}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\button\button.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A visual style of focused element's border.
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A helper to combine multiple shadows.
 */

/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A class which indicates that an element holding it is disabled.
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Implements a button of given background color.
 *
 * @param {String} $background - Background color of the button.
 * @param {String} $border - Border color of the button.
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-button,
a.ck.ck-button {
	background: var(--ck-color-button-default-background)
}

.ck.ck-button:not(.ck-disabled):hover, a.ck.ck-button:not(.ck-disabled):hover {
			background: var(--ck-color-button-default-hover-background);
		}

.ck.ck-button:not(.ck-disabled):active, a.ck.ck-button:not(.ck-disabled):active {
			background: var(--ck-color-button-default-active-background);
			box-shadow: inset 0 2px 2px var(--ck-color-button-default-active-shadow);
		}

.ck.ck-button,
a.ck.ck-button {
	/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */
}

.ck.ck-button.ck-disabled, a.ck.ck-button.ck-disabled {
		background: var(--ck-color-button-default-disabled-background);
	}

.ck.ck-button,
a.ck.ck-button {
	border-radius: 0
}

.ck-rounded-corners .ck.ck-button,
.ck.ck-button.ck-rounded-corners,
.ck-rounded-corners a.ck.ck-button,
a.ck.ck-button.ck-rounded-corners {
		border-radius: var(--ck-border-radius)
}

.ck.ck-button,
a.ck.ck-button {

	white-space: nowrap;
	cursor: default;
	vertical-align: middle;
	padding: var(--ck-spacing-tiny);
	text-align: center;

	/* A very important piece of styling. Go to variable declaration to learn more. */
	min-width: var(--ck-ui-component-min-height);
	min-height: var(--ck-ui-component-min-height);

	/* Normalize the height of the line. Removing this will break consistent height
	among text and text-less buttons (with icons). */
	line-height: 1;

	/* Enable font size inheritance, which allows fluid UI scaling. */
	font-size: inherit;

	/* Avoid flickering when the foucs border shows up. */
	border: 1px solid transparent;

	/* Apply some smooth transition to the box-shadow and border. */
	transition: box-shadow .2s ease-in-out, border .2s ease-in-out;

	/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/189 */
	-webkit-appearance: none
}

.ck.ck-button:active,
	.ck.ck-button:focus,
	a.ck.ck-button:active,
	a.ck.ck-button:focus {
		/* Disable native outline. */
		outline: none;
		border: var(--ck-focus-ring);
		box-shadow: var(--ck-focus-outer-shadow), 0 0;
	}

.ck.ck-button,
a.ck.ck-button {

	/* Allow icon coloring using the text "color" property. */
}

.ck.ck-button .ck-button__icon use,
		.ck.ck-button .ck-button__icon use *,
		a.ck.ck-button .ck-button__icon use,
		a.ck.ck-button .ck-button__icon use * {
			color: inherit;
		}

.ck.ck-button .ck-button__label, a.ck.ck-button .ck-button__label {
		/* Enable font size inheritance, which allows fluid UI scaling. */
		font-size: inherit;
		font-weight: inherit;
		color: inherit;
		cursor: inherit;

		/* Must be consistent with .ck-icon's vertical align. Otherwise, buttons with and
		without labels (but with icons) have different sizes in Chrome */
		vertical-align: middle
	}

[dir="ltr"] .ck.ck-button .ck-button__label, [dir="ltr"] a.ck.ck-button .ck-button__label {
			text-align: left
	}

[dir="rtl"] .ck.ck-button .ck-button__label, [dir="rtl"] a.ck.ck-button .ck-button__label {
			text-align: right
	}

.ck.ck-button .ck-button__keystroke, a.ck.ck-button .ck-button__keystroke {
		color: inherit;
	}

[dir="ltr"] .ck.ck-button .ck-button__keystroke, [dir="ltr"] a.ck.ck-button .ck-button__keystroke {
			margin-left: var(--ck-spacing-large);
	}

[dir="rtl"] .ck.ck-button .ck-button__keystroke, [dir="rtl"] a.ck.ck-button .ck-button__keystroke {
			margin-right: var(--ck-spacing-large);
	}

.ck.ck-button .ck-button__keystroke, a.ck.ck-button .ck-button__keystroke {

		font-weight: bold;
		opacity: .7;
	}

.ck.ck-button,
a.ck.ck-button {

	/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */
}

.ck.ck-button.ck-disabled:active,
		.ck.ck-button.ck-disabled:focus,
		a.ck.ck-button.ck-disabled:active,
		a.ck.ck-button.ck-disabled:focus {
			/* The disabled button should have a slightly less visible shadow when focused. */
			box-shadow: var(--ck-focus-disabled-outer-shadow), 0 0;
		}

.ck.ck-button.ck-disabled .ck-button__icon, a.ck.ck-button.ck-disabled .ck-button__icon {
			opacity: var(--ck-disabled-opacity);
		}

.ck.ck-button.ck-disabled, a.ck.ck-button.ck-disabled {

		/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */
	}

.ck.ck-button.ck-disabled .ck-button__label, a.ck.ck-button.ck-disabled .ck-button__label {
			opacity: var(--ck-disabled-opacity);
		}

.ck.ck-button.ck-disabled .ck-button__keystroke, a.ck.ck-button.ck-disabled .ck-button__keystroke {
			opacity: .3;
		}

.ck.ck-button.ck-button_with-text, a.ck.ck-button.ck-button_with-text {
		padding: var(--ck-spacing-tiny) var(--ck-spacing-standard)

		/* stylelint-disable-next-line no-descending-specificity */
	}

[dir="ltr"] .ck.ck-button.ck-button_with-text .ck-button__icon, [dir="ltr"] a.ck.ck-button.ck-button_with-text .ck-button__icon {
				margin-left: calc(-1 * var(--ck-spacing-small));
				margin-right: var(--ck-spacing-small)
		}

[dir="rtl"] .ck.ck-button.ck-button_with-text .ck-button__icon, [dir="rtl"] a.ck.ck-button.ck-button_with-text .ck-button__icon {
				margin-right: calc(-1 * var(--ck-spacing-small));
				margin-left: var(--ck-spacing-small)
		}

.ck.ck-button.ck-button_with-keystroke, a.ck.ck-button.ck-button_with-keystroke {
		/* stylelint-disable-next-line no-descending-specificity */
	}

.ck.ck-button.ck-button_with-keystroke .ck-button__label, a.ck.ck-button.ck-button_with-keystroke .ck-button__label {
			flex-grow: 1;
		}

.ck.ck-button,
a.ck.ck-button {

	/* A style of the button which is currently on, e.g. its feature is active. */
}

.ck.ck-button.ck-on, a.ck.ck-button.ck-on {
		background: var(--ck-color-button-on-background);
	}

.ck.ck-button.ck-on:not(.ck-disabled):hover, a.ck.ck-button.ck-on:not(.ck-disabled):hover {
			background: var(--ck-color-button-on-hover-background);
		}

.ck.ck-button.ck-on:not(.ck-disabled):active, a.ck.ck-button.ck-on:not(.ck-disabled):active {
			background: var(--ck-color-button-on-active-background);
			box-shadow: inset 0 2px 2px var(--ck-color-button-on-active-shadow);
		}

.ck.ck-button.ck-on, a.ck.ck-button.ck-on {
		/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */
	}

.ck.ck-button.ck-on.ck-disabled, a.ck.ck-button.ck-on.ck-disabled {
		background: var(--ck-color-button-on-disabled-background);
	}

.ck.ck-button.ck-button-save, a.ck.ck-button.ck-button-save {
		color: var(--ck-color-button-save);
	}

.ck.ck-button.ck-button-cancel, a.ck.ck-button.ck-button-cancel {
		color: var(--ck-color-button-cancel);
	}

/* A style of the button which handles the primary action. */

.ck.ck-button-action,
a.ck.ck-button-action {
	background: var(--ck-color-button-action-background);
}

.ck.ck-button-action:not(.ck-disabled):hover, a.ck.ck-button-action:not(.ck-disabled):hover {
			background: var(--ck-color-button-action-hover-background);
		}

.ck.ck-button-action:not(.ck-disabled):active, a.ck.ck-button-action:not(.ck-disabled):active {
			background: var(--ck-color-button-action-active-background);
			box-shadow: inset 0 2px 2px var(--ck-color-button-action-active-shadow);
		}

.ck.ck-button-action,
a.ck.ck-button-action {
	/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */
}

.ck.ck-button-action.ck-disabled, a.ck.ck-button-action.ck-disabled {
		background: var(--ck-color-button-action-disabled-background);
	}

.ck.ck-button-action,
a.ck.ck-button-action {

	color: var(--ck-color-button-action-text);
}

.ck.ck-button-bold,
a.ck.ck-button-bold {
	font-weight: bold;
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-ui\theme\components\dropdown\dropdown.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Enables the tooltip, which is the tooltip is in DOM but
 * not yet displayed.
 */

/**
 * Disables the tooltip making it disappear from DOM.
 */

/**
 * Shows the tooltip, which is already in DOM.
 * Requires `ck-tooltip_enabled` first.
 */

.ck.ck-dropdown {
	display: inline-block;
	position: relative
}

.ck.ck-dropdown .ck-dropdown__arrow {
		pointer-events: none;
		z-index: var(--ck-z-default);
	}

.ck.ck-dropdown {

	/* Dropdown button should span horizontally, e.g. in vertical toolbars */
}

.ck.ck-dropdown .ck-button.ck-dropdown__button {
		width: 100%

		/* Disable main button's tooltip when the dropdown is open. Otherwise the panel may
		partially cover the tooltip */
	}

.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on .ck-tooltip {
		display: none;
	}

.ck.ck-dropdown .ck-dropdown__panel {
		/* This is to get rid of flickering when the tooltip is shown under the panel,
		which looks like the panel moves vertically a pixel down and up. */
		-webkit-backface-visibility: hidden;

		display: none;
		z-index: var(--ck-z-modal);

		position: absolute
	}

.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel-visible {
			display: inline-block;
		}

.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,
		.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw {
			bottom: 100%;
		}

.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se,
		.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw {
			/*
			 * Using transform: translate3d( 0, 100%, 0 ) causes blurry dropdown on Chrome 67-78+ on non-retina displays.
			 * See https://github.com/ckeditor/ckeditor5/issues/1053.
			 */
			top: 100%;
			bottom: auto;
		}

.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,
		.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se {
			left: 0px;
		}

.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw,
		.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw {
			right: 0px;
		}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\dropdown\dropdown.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A class which indicates that an element holding it is disabled.
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A helper to combine multiple shadows.
 */

/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-dropdown-arrow-size: calc(0.5 * var(--ck-icon-size));
}

.ck.ck-dropdown {
	/* Enable font size inheritance, which allows fluid UI scaling. */
	font-size: inherit
}

.ck.ck-dropdown .ck-dropdown__arrow {
		width: var(--ck-dropdown-arrow-size);
	}

[dir="ltr"] .ck.ck-dropdown .ck-dropdown__arrow {
			right: var(--ck-spacing-standard);

			/* A space to accommodate the triangle. */
			margin-left: var(--ck-spacing-standard);
		}

[dir="rtl"] .ck.ck-dropdown .ck-dropdown__arrow {
			left: var(--ck-spacing-standard);

			/* A space to accommodate the triangle. */
			margin-right: var(--ck-spacing-small);
		}

.ck.ck-dropdown.ck-disabled .ck-dropdown__arrow {
		opacity: var(--ck-disabled-opacity);
	}

[dir="ltr"] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text) {
				/* Make sure dropdowns with just an icon have the right inner spacing */
				padding-left: var(--ck-spacing-small);
			}

[dir="rtl"] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text) {
				/* Make sure dropdowns with just an icon have the right inner spacing */
				padding-right: var(--ck-spacing-small);
			}

.ck.ck-dropdown .ck-button.ck-dropdown__button {

		/* #23 */
	}

.ck.ck-dropdown .ck-button.ck-dropdown__button .ck-button__label {
			width: 7em;
			overflow: hidden;
			text-overflow: ellipsis;
		}

.ck.ck-dropdown .ck-button.ck-dropdown__button {

		/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */
	}

.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-disabled .ck-button__label {
			opacity: var(--ck-disabled-opacity);
		}

.ck.ck-dropdown .ck-button.ck-dropdown__button {

		/* https://github.com/ckeditor/ckeditor5/issues/816 */
	}

.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on {
			border-bottom-left-radius: 0;
			border-bottom-right-radius: 0;
		}

.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-dropdown__button_label-width_auto .ck-button__label {
			width: auto;
		}

.ck.ck-dropdown__panel {
	border-radius: 0
}

.ck-rounded-corners .ck.ck-dropdown__panel, .ck.ck-dropdown__panel.ck-rounded-corners {
		border-radius: var(--ck-border-radius)
}

.ck.ck-dropdown__panel {
	box-shadow: var(--ck-drop-shadow), 0 0;

	background: var(--ck-color-dropdown-panel-background);
	border: 1px solid var(--ck-color-dropdown-panel-border);
	bottom: 0;

	/* Make sure the panel is at least as wide as the drop-down's button. */
	min-width: 100%

	/* Disabled corner border radius to be consistent with the .dropdown__button
	https://github.com/ckeditor/ckeditor5/issues/816 */
}

.ck.ck-dropdown__panel.ck-dropdown__panel_se {
		border-top-left-radius: 0;
	}

.ck.ck-dropdown__panel.ck-dropdown__panel_sw {
		border-top-right-radius: 0;
	}

.ck.ck-dropdown__panel.ck-dropdown__panel_ne {
		border-bottom-left-radius: 0;
	}

.ck.ck-dropdown__panel.ck-dropdown__panel_nw {
		border-bottom-right-radius: 0;
	}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-ui\theme\components\toolbar\toolbar.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Makes element unselectable.
 */

.ck.ck-toolbar {
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;

	display: flex;
	flex-flow: row nowrap;
	align-items: center
}

.ck.ck-toolbar > .ck-toolbar__items {
		display: flex;
		flex-flow: row wrap;
		align-items: center;
		flex-grow: 1;

	}

.ck.ck-toolbar .ck.ck-toolbar__separator {
		display: inline-block

		/*
		 * A leading or trailing separator makes no sense (separates from nothing on one side).
		 * For instance, it can happen when toolbar items (also separators) are getting grouped one by one and
		 * moved to another toolbar in the dropdown.
		 */
	}

.ck.ck-toolbar .ck.ck-toolbar__separator:first-child,
		.ck.ck-toolbar .ck.ck-toolbar__separator:last-child {
			display: none;
		}

.ck.ck-toolbar.ck-toolbar_grouping > .ck-toolbar__items {
		flex-wrap: nowrap;
	}

.ck.ck-toolbar.ck-toolbar_vertical > .ck-toolbar__items {
		flex-direction: column;
	}

.ck.ck-toolbar.ck-toolbar_floating > .ck-toolbar__items {
		flex-wrap: nowrap;
	}

.ck.ck-toolbar > .ck.ck-toolbar__grouped-dropdown > .ck-dropdown__button .ck-dropdown__arrow {
			display: none;
		}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\toolbar\toolbar.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-toolbar {
	border-radius: 0
}

.ck-rounded-corners .ck.ck-toolbar, .ck.ck-toolbar.ck-rounded-corners {
		border-radius: var(--ck-border-radius)
}

.ck.ck-toolbar {

	background: var(--ck-color-toolbar-background);
	padding: 0 var(--ck-spacing-small);
	border: 1px solid var(--ck-color-toolbar-border)
}

.ck.ck-toolbar .ck.ck-toolbar__separator {
		align-self: stretch;
		width: 1px;
		min-width: 1px;
		background: var(--ck-color-toolbar-border);

		/*
		 * These margins make the separators look better in balloon toolbars (when aligned with the "tip").
		 * See https://github.com/ckeditor/ckeditor5/issues/7493.
		 */
		margin-top: var(--ck-spacing-small);
		margin-bottom: var(--ck-spacing-small);
	}

.ck.ck-toolbar > .ck-toolbar__items > * {
			/* Make sure items wrapped to the next line have v-spacing */
			margin-top: var(--ck-spacing-small);
			margin-bottom: var(--ck-spacing-small);

			/* (#11) Separate toolbar items. */
			margin-right: var(--ck-spacing-small);
		}

.ck.ck-toolbar > .ck-toolbar__items {

		/* Don't display a separator after an empty items container, for instance,
		when all items were grouped */
	}

.ck.ck-toolbar > .ck-toolbar__items:empty + .ck.ck-toolbar__separator {
			display: none;
		}

.ck.ck-toolbar > .ck-toolbar__items > *,
	.ck.ck-toolbar > .ck.ck-toolbar__grouped-dropdown {
		/* Make sure items wrapped to the next line have v-spacing */
		margin-top: var(--ck-spacing-small);
		margin-bottom: var(--ck-spacing-small);
	}

.ck.ck-toolbar.ck-toolbar_vertical {
		/* Items in a vertical toolbar span the entire width. */
		padding: 0

		/* Specificity matters here. See https://github.com/ckeditor/ckeditor5-theme-lark/issues/168. */
	}

.ck.ck-toolbar.ck-toolbar_vertical > .ck-toolbar__items > .ck {
			/* Items in a vertical toolbar should span the horizontal space. */
			width: 100%;

			/* Items in a vertical toolbar should have no margin. */
			margin: 0;

			/* Items in a vertical toolbar span the entire width so rounded corners are pointless. */
			border-radius: 0;

			/* Items in a vertical toolbar span the entire width so any border is pointless. */
			border: 0;
		}

.ck.ck-toolbar.ck-toolbar_compact {
		/* No spacing around items. */
		padding: 0
	}

.ck.ck-toolbar.ck-toolbar_compact > .ck-toolbar__items > * {
			/* Compact toolbar items have no spacing between them. */
			margin: 0

			/* "Middle" children should have no rounded corners. */
		}

.ck.ck-toolbar.ck-toolbar_compact > .ck-toolbar__items > *:not(:first-child):not(:last-child) {
				border-radius: 0;
			}

.ck.ck-toolbar > .ck.ck-toolbar__grouped-dropdown {
		/*
		 * Dropdown button has asymmetric padding to fit the arrow.
		 * This button has no arrow so let's revert that padding back to normal.
		 */
	}

.ck.ck-toolbar > .ck.ck-toolbar__grouped-dropdown > .ck.ck-button.ck-dropdown__button {
			padding-left: var(--ck-spacing-tiny);
		}

.ck-toolbar-container .ck.ck-toolbar {
		border: 0
}

/* stylelint-disable */

/*
 * Styles for RTL toolbars.
 *
 * Note: In some cases (e.g. a decoupled editor), the toolbar has its own "dir"
 * because its parent is not controlled by the editor framework.
 */

[dir="rtl"] .ck.ck-toolbar > .ck-toolbar__items > .ck, .ck.ck-toolbar[dir="rtl"] > .ck-toolbar__items > .ck {
		margin-right: 0;
	}

[dir="rtl"] .ck.ck-toolbar:not(.ck-toolbar_compact) > .ck-toolbar__items > .ck, .ck.ck-toolbar[dir="rtl"]:not(.ck-toolbar_compact) > .ck-toolbar__items > .ck {
		/* (#11) Separate toolbar items. */
		margin-left: var(--ck-spacing-small);
	}

[dir="rtl"] .ck.ck-toolbar > .ck-toolbar__items > .ck:last-child, .ck.ck-toolbar[dir="rtl"] > .ck-toolbar__items > .ck:last-child {
		margin-left: 0;
	}

[dir="rtl"] .ck.ck-toolbar.ck-toolbar_compact > .ck-toolbar__items > .ck, .ck.ck-toolbar[dir="rtl"].ck-toolbar_compact > .ck-toolbar__items > .ck {
		/* No rounded corners on the right side of the first child. */
	}

[dir="rtl"] .ck.ck-toolbar.ck-toolbar_compact > .ck-toolbar__items > .ck:first-child, .ck.ck-toolbar[dir="rtl"].ck-toolbar_compact > .ck-toolbar__items > .ck:first-child {
			border-top-left-radius: 0;
			border-bottom-left-radius: 0;
		}

[dir="rtl"] .ck.ck-toolbar.ck-toolbar_compact > .ck-toolbar__items > .ck, .ck.ck-toolbar[dir="rtl"].ck-toolbar_compact > .ck-toolbar__items > .ck {

		/* No rounded corners on the left side of the last child. */
	}

[dir="rtl"] .ck.ck-toolbar.ck-toolbar_compact > .ck-toolbar__items > .ck:last-child, .ck.ck-toolbar[dir="rtl"].ck-toolbar_compact > .ck-toolbar__items > .ck:last-child {
			border-top-right-radius: 0;
			border-bottom-right-radius: 0;
		}

[dir="rtl"] .ck.ck-toolbar,
.ck.ck-toolbar[dir="rtl"] {

	/* Separate the the separator form the grouping dropdown when some items are grouped. */
}

[dir="rtl"] .ck.ck-toolbar > .ck.ck-toolbar__separator, .ck.ck-toolbar[dir="rtl"] > .ck.ck-toolbar__separator {
		margin-left: var(--ck-spacing-small);
	}

[dir="rtl"] .ck.ck-toolbar,
.ck.ck-toolbar[dir="rtl"] {

	/* Some spacing between the items and the separator before the grouped items dropdown. */
}

[dir="rtl"] .ck.ck-toolbar.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child), .ck.ck-toolbar[dir="rtl"].ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) {
		margin-left: var(--ck-spacing-small);
	}

/*
 * Styles for LTR toolbars.
 *
 * Note: In some cases (e.g. a decoupled editor), the toolbar has its own "dir"
 * because its parent is not controlled by the editor framework.
 */

[dir="ltr"] .ck.ck-toolbar > .ck-toolbar__items > .ck:last-child, .ck.ck-toolbar[dir="ltr"] > .ck-toolbar__items > .ck:last-child {
		margin-right: 0;
	}

[dir="ltr"] .ck.ck-toolbar.ck-toolbar_compact > .ck-toolbar__items > .ck, .ck.ck-toolbar[dir="ltr"].ck-toolbar_compact > .ck-toolbar__items > .ck {
		/* No rounded corners on the right side of the first child. */
	}

[dir="ltr"] .ck.ck-toolbar.ck-toolbar_compact > .ck-toolbar__items > .ck:first-child, .ck.ck-toolbar[dir="ltr"].ck-toolbar_compact > .ck-toolbar__items > .ck:first-child {
			border-top-right-radius: 0;
			border-bottom-right-radius: 0;
		}

[dir="ltr"] .ck.ck-toolbar.ck-toolbar_compact > .ck-toolbar__items > .ck, .ck.ck-toolbar[dir="ltr"].ck-toolbar_compact > .ck-toolbar__items > .ck {

		/* No rounded corners on the left side of the last child. */
	}

[dir="ltr"] .ck.ck-toolbar.ck-toolbar_compact > .ck-toolbar__items > .ck:last-child, .ck.ck-toolbar[dir="ltr"].ck-toolbar_compact > .ck-toolbar__items > .ck:last-child {
			border-top-left-radius: 0;
			border-bottom-left-radius: 0;
		}

[dir="ltr"] .ck.ck-toolbar,
.ck.ck-toolbar[dir="ltr"] {

	/* Separate the the separator form the grouping dropdown when some items are grouped. */
}

[dir="ltr"] .ck.ck-toolbar > .ck.ck-toolbar__separator, .ck.ck-toolbar[dir="ltr"] > .ck.ck-toolbar__separator {
		margin-right: var(--ck-spacing-small);
	}

[dir="ltr"] .ck.ck-toolbar,
.ck.ck-toolbar[dir="ltr"] {

	/* Some spacing between the items and the separator before the grouped items dropdown. */
}

[dir="ltr"] .ck.ck-toolbar.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child), .ck.ck-toolbar[dir="ltr"].ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) {
		margin-right: var(--ck-spacing-small);
	}

/* stylelint-enable */

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-ui\theme\components\list\list.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Makes element unselectable.
 */

.ck.ck-list {
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;

	display: flex;
	flex-direction: column
}

.ck.ck-list .ck-list__item,
	.ck.ck-list .ck-list__separator {
		display: block;
	}

.ck.ck-list {

	/* Make sure that whatever child of the list item gets focus, it remains on the
	top. Thanks to that, styles like box-shadow, outline, etc. are not masked by
	adjacent list items. */
}

.ck.ck-list .ck-list__item > *:focus {
		position: relative;
		z-index: var(--ck-z-default);
	}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\list\list.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A class which indicates that an element holding it is disabled.
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A helper to combine multiple shadows.
 */

/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */

.ck.ck-list {
	border-radius: 0;
}

.ck-rounded-corners .ck.ck-list, .ck.ck-list.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
}

.ck.ck-list {

	list-style-type: none;
	background: var(--ck-color-list-background);
}

.ck.ck-list__item {
	cursor: default;
	min-width: 12em
}

.ck.ck-list__item .ck-button {
		min-height: unset;
		width: 100%;
		text-align: left;
		border-radius: 0;

		/* List items should have the same height. Use absolute units to make sure it is so
		   because e.g. different heading styles may have different height
		   https://github.com/ckeditor/ckeditor5-heading/issues/63 */
		padding:
			calc(.2 * var(--ck-line-height-base) * var(--ck-font-size-base))
			calc(.4 * var(--ck-line-height-base) * var(--ck-font-size-base))
	}

.ck.ck-list__item .ck-button .ck-button__label {
			/* https://github.com/ckeditor/ckeditor5-heading/issues/63 */
			line-height: calc(1.2 * var(--ck-line-height-base) * var(--ck-font-size-base));
		}

.ck.ck-list__item .ck-button:active {
			box-shadow: none;
		}

.ck.ck-list__item .ck-button.ck-on {
			background: var(--ck-color-list-button-on-background);
			color: var(--ck-color-list-button-on-text)
		}

.ck.ck-list__item .ck-button.ck-on:active {
				box-shadow: none;
			}

.ck.ck-list__item .ck-button.ck-on:hover:not(.ck-disabled) {
				background: var(--ck-color-list-button-on-background-focus);
			}

.ck.ck-list__item .ck-button.ck-on:focus:not(.ck-disabled) {
				border-color: var(--ck-color-base-background);
			}

.ck.ck-list__item .ck-button:hover:not(.ck-disabled) {
			background: var(--ck-color-list-button-hover-background);
		}

.ck.ck-list__item {

	/* It's unnecessary to change the background/text of a switch toggle; it has different ways
	of conveying its state (like the switcher) */
}

.ck.ck-list__item .ck-switchbutton.ck-on {
			background: var(--ck-color-list-background);
			color: inherit
		}

.ck.ck-list__item .ck-switchbutton.ck-on:hover:not(.ck-disabled) {
				background: var(--ck-color-list-button-hover-background);
				color: inherit;
			}

.ck.ck-list__separator {
	height: 1px;
	width: 100%;
	background: var(--ck-color-base-border);
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-ui\theme\components\button\switchbutton.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-button.ck-switchbutton .ck-button__toggle {
		display: block
	}

.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner {
			display: block;
		}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\button\switchbutton.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A class which indicates that an element holding it is disabled.
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/* Note: To avoid rendering issues (aliasing) but to preserve the responsive nature
of the component, floating–point numbers have been used which, for the default font size
(see: --ck-font-size-base), will generate simple integers. */

:root {
	/* 34px at 13px font-size */
	--ck-switch-button-toggle-width: 2.6153846154em;
	/* 14px at 13px font-size */
	--ck-switch-button-toggle-inner-size: 1.0769230769em;
	--ck-switch-button-toggle-spacing: 1px;
	--ck-switch-button-translation: calc(
		var(--ck-switch-button-toggle-width) -
		var(--ck-switch-button-toggle-inner-size) -
		2 * var(--ck-switch-button-toggle-spacing)
	);
}

[dir="ltr"] .ck.ck-button.ck-switchbutton .ck-button__label {
			/* Separate the label from the switch */
			margin-right: calc(2 * var(--ck-spacing-large))
	}

[dir="rtl"] .ck.ck-button.ck-switchbutton .ck-button__label {
			/* Separate the label from the switch */
			margin-left: calc(2 * var(--ck-spacing-large))
	}

.ck.ck-button.ck-switchbutton .ck-button__toggle {
		border-radius: 0
	}

.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle, .ck.ck-button.ck-switchbutton .ck-button__toggle.ck-rounded-corners {
		border-radius: var(--ck-border-radius)
	}

[dir="ltr"] .ck.ck-button.ck-switchbutton .ck-button__toggle {
			/* Make sure the toggle is always to the right as far as possible. */
			margin-left: auto
	}

[dir="rtl"] .ck.ck-button.ck-switchbutton .ck-button__toggle {
			/* Make sure the toggle is always to the left as far as possible. */
			margin-right: auto
	}

.ck.ck-button.ck-switchbutton .ck-button__toggle {

		/* Gently animate the background color of the toggle switch */
		transition: background 400ms ease;

		width: var(--ck-switch-button-toggle-width);
		background: var(--ck-color-switch-button-off-background)
	}

.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner {
			border-radius: 0;
		}

.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner, .ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
				border-radius: calc(.5 * var(--ck-border-radius));
		}

.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner {

			/* Leave some tiny bit of space around the inner part of the switch */
			margin: var(--ck-switch-button-toggle-spacing);
			width: var(--ck-switch-button-toggle-inner-size);
			height: var(--ck-switch-button-toggle-inner-size);
			background: var(--ck-color-switch-button-inner-background);

			/* Gently animate the inner part of the toggle switch */
			transition: all 300ms ease;
		}

.ck.ck-button.ck-switchbutton .ck-button__toggle:hover {
			background: var(--ck-color-switch-button-off-hover-background)
		}

.ck.ck-button.ck-switchbutton .ck-button__toggle:hover .ck-button__toggle__inner {
				box-shadow: 0 0 0 5px var(--ck-color-switch-button-inner-shadow);
			}

.ck.ck-button.ck-switchbutton.ck-disabled .ck-button__toggle {
		opacity: var(--ck-disabled-opacity);
	}

.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle {
		background: var(--ck-color-switch-button-on-background)
	}

.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle:hover {
			background: var(--ck-color-switch-button-on-hover-background);
		}

.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner {
			/*
			 * Move the toggle switch to the right. It will be animated.
			 */
		}

[dir="ltr"] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner {
				transform: translateX( var( --ck-switch-button-translation ) )
		}

[dir="rtl"] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner {
				transform: translateX( calc( -1 * var( --ck-switch-button-translation ) ) )
		}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-ui\theme\components\dropdown\toolbardropdown.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-toolbar-dropdown .ck.ck-toolbar .ck.ck-toolbar__items {
		flex-wrap: nowrap;
	}

.ck.ck-toolbar-dropdown .ck-dropdown__panel .ck-button:focus {
			z-index: calc(var(--ck-z-default) + 1);
		}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\dropdown\toolbardropdown.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-toolbar-dropdown .ck-toolbar {
	border: 0;
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-ui\theme\components\dropdown\listdropdown.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Note: This file should contain the wireframe styles only. But since there are no such styles,
 * it acts as a message to the builder telling that it should look for the corresponding styles
 * **in the theme** when compiling the editor.
 */

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\dropdown\listdropdown.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

.ck.ck-dropdown .ck-dropdown__panel .ck-list {
	/* Disabled radius of top-left border to be consistent with .dropdown__button
	https://github.com/ckeditor/ckeditor5/issues/816 */
	border-radius: 0
}

.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list, .ck.ck-dropdown .ck-dropdown__panel .ck-list.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
		border-top-left-radius: 0
}

.ck.ck-dropdown .ck-dropdown__panel .ck-list {

	/* Make sure the button belonging to the first/last child of the list goes well with the
	border radius of the entire panel. */
}

.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button {
			border-radius: 0
		}

.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button, .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
				border-top-left-radius: 0;
				border-bottom-left-radius: 0;
				border-bottom-right-radius: 0
		}

.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button {
			border-radius: 0
		}

.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button, .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
				border-top-left-radius: 0;
				border-top-right-radius: 0
		}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-engine\theme\placeholder.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/* See ckeditor/ckeditor5#936. */

.ck.ck-placeholder::before, .ck .ck-placeholder::before {
		content: attr(data-placeholder);

		/* See ckeditor/ckeditor5#469. */
		pointer-events: none;
	}

/* See ckeditor/ckeditor5#1987. */

.ck.ck-read-only .ck-placeholder::before {
		display: none;
	}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-engine\placeholder.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/* See ckeditor/ckeditor5#936. */

.ck.ck-placeholder::before, .ck .ck-placeholder::before {
		cursor: text;
		color: var(--ck-color-engine-placeholder-text);
	}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-ui\theme\components\editorui\editorui.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Note: This file should contain the wireframe styles only. But since there are no such styles,
 * it acts as a message to the builder telling that it should look for the corresponding styles
 * **in the theme** when compiling the editor.
 */

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\editorui\editorui.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A class which indicates that an element holding it is disabled.
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A helper to combine multiple shadows.
 */

/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A visual style of focused element's border.
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Implements a button of given background color.
 *
 * @param {String} $background - Background color of the button.
 * @param {String} $border - Border color of the button.
 */

:root {
	--ck-color-editable-blur-selection: hsl(0, 0%, 85%);
}

.ck.ck-editor__editable:not(.ck-editor__nested-editable) {
	border-radius: 0
}

.ck-rounded-corners .ck.ck-editor__editable:not(.ck-editor__nested-editable), .ck.ck-editor__editable:not(.ck-editor__nested-editable).ck-rounded-corners {
		border-radius: var(--ck-border-radius)
}

.ck.ck-editor__editable:not(.ck-editor__nested-editable).ck-focused {
		/* Disable native outline. */
		outline: none;
		border: var(--ck-focus-ring);
		box-shadow: var(--ck-inner-shadow), 0 0;
	}

.ck.ck-editor__editable_inline {
	overflow: auto;
	padding: 0 var(--ck-spacing-standard);
	border: 1px solid transparent
}

.ck.ck-editor__editable_inline[dir="ltr"] {
		text-align: left;
	}

.ck.ck-editor__editable_inline[dir="rtl"] {
		text-align: right;
	}

.ck.ck-editor__editable_inline {

	/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/116 */
}

.ck.ck-editor__editable_inline > *:first-child {
		margin-top: var(--ck-spacing-large);
	}

.ck.ck-editor__editable_inline {

	/* https://github.com/ckeditor/ckeditor5/issues/847 */
}

.ck.ck-editor__editable_inline > *:last-child {
		margin-bottom: var(--ck-spacing-large);
	}

.ck.ck-editor__editable_inline {

	/* https://github.com/ckeditor/ckeditor5/issues/6517 */
}

.ck.ck-editor__editable_inline.ck-blurred ::selection {
		background: var(--ck-color-editable-blur-selection);
	}

/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/111 */

.ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_n"]::after {
		border-bottom-color: var(--ck-color-base-foreground);
	}

.ck.ck-balloon-panel.ck-toolbar-container[class*="arrow_s"]::after {
		border-top-color: var(--ck-color-base-foreground);
	}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-ui\theme\components\label\label.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-label {
	display: block;
}

.ck.ck-voice-label {
	display: none;
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\label\label.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-label {
	font-weight: bold;
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-ui\theme\components\panel\stickypanel.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-sticky-panel .ck-sticky-panel__content_sticky {
		z-index: var(--ck-z-modal); /* #315 */
		position: fixed;
		top: 0;
	}

.ck.ck-sticky-panel .ck-sticky-panel__content_sticky_bottom-limit {
		top: auto;
		position: absolute;
	}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\panel\stickypanel.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A helper to combine multiple shadows.
 */

/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */

.ck.ck-sticky-panel .ck-sticky-panel__content_sticky {
		box-shadow: var(--ck-drop-shadow), 0 0;

		border-width: 0 1px 1px;
		border-top-left-radius: 0;
		border-top-right-radius: 0;
	}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-editor-classic\theme\classiceditor.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-editor {
	/* All the elements within `.ck-editor` are positioned relatively to it.
	 If any element needs to be positioned with respect to the <body>, etc.,
	 it must land outside of the `.ck-editor` in DOM. */
	position: relative
}

.ck.ck-editor .ck-editor__top .ck-sticky-panel .ck-toolbar {
		/* https://github.com/ckeditor/ckeditor5-editor-classic/issues/62 */
		z-index: var(--ck-z-modal);
	}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-editor-classic\classiceditor.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

.ck.ck-editor__top .ck-sticky-panel .ck-toolbar {
			border-radius: 0;
		}

.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-toolbar, .ck.ck-editor__top .ck-sticky-panel .ck-toolbar.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
				border-bottom-left-radius: 0;
				border-bottom-right-radius: 0;
		}

.ck.ck-editor__top .ck-sticky-panel .ck-toolbar {

			border-bottom-width: 0;
		}

.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar {
			border-bottom-width: 1px;

			border-radius: 0
		}

.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar, .ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
				border-radius: 0
		}

/* Note: Use ck-editor__main to make sure these styles don't apply to other editor types */

.ck.ck-editor__main > .ck-editor__editable {
	/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/113 */
	background: var(--ck-color-base-background);

	border-radius: 0
}

.ck-rounded-corners .ck.ck-editor__main > .ck-editor__editable, .ck.ck-editor__main > .ck-editor__editable.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
		border-top-left-radius: 0;
		border-top-right-radius: 0
}

.ck.ck-editor__main > .ck-editor__editable:not(.ck-focused) {
		border-color: var(--ck-color-base-border);
	}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-heading\theme\heading.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-heading_heading1 {
	font-size: 20px;
}

.ck.ck-heading_heading2 {
	font-size: 17px;
}

.ck.ck-heading_heading3 {
	font-size: 14px;
}

.ck[class*="ck-heading_heading"] {
	font-weight: bold;
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-heading\heading.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/* Resize dropdown's button label. */

.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__button .ck-button__label {
		width: 8em;
	}

.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__panel .ck-list__item {
		min-width: 18em;
	}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-link\theme\link.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Note: This file should contain the wireframe styles only. But since there are no such styles,
 * it acts as a message to the builder telling that it should look for the corresponding styles
 * **in the theme** when compiling the editor.
 */

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-link\link.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/* Class added to span element surrounding currently selected link. */

.ck .ck-link_selected {
	background: var(--ck-color-link-selected-background);
}

/*
 * Classes used by the "fake visual selection" displayed in the content when an input
 * in the link UI has focus (the browser does not render the native selection in this state).
 */

.ck .ck-fake-link-selection {
	background: var(--ck-color-link-fake-selection);
}

/* A collapsed fake visual selection. */

.ck .ck-fake-link-selection_collapsed {
	height: 100%;
	border-right: 1px solid var(--ck-color-base-text);
	margin-right: -1px;
	outline: solid 1px hsla(0, 0%, 100%, .5);
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-ui\theme\components\panel\balloonrotator.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck .ck-balloon-rotator__navigation {
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Buttons inside a toolbar should be centered when rotator bar is wider.
 * See: https://github.com/ckeditor/ckeditor5-ui/issues/495
 */

.ck .ck-balloon-rotator__content .ck-toolbar {
	justify-content: center;
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\panel\balloonrotator.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck .ck-balloon-rotator__navigation {
	background: var(--ck-color-toolbar-background);
	border-bottom: 1px solid var(--ck-color-toolbar-border);
	padding: 0 var(--ck-spacing-small)

	/* Let's keep similar appearance to `ck-toolbar`. */
}

.ck .ck-balloon-rotator__navigation > * {
		margin-right: var(--ck-spacing-small);
		margin-top: var(--ck-spacing-small);
		margin-bottom: var(--ck-spacing-small);
	}

.ck .ck-balloon-rotator__navigation {

	/* Gives counter more breath than buttons. */
}

.ck .ck-balloon-rotator__navigation .ck-balloon-rotator__counter {
		margin-right: var(--ck-spacing-standard);

		/* We need to use smaller margin because of previous button's right margin. */
		margin-left: var(--ck-spacing-small);
	}

.ck .ck-balloon-rotator__content {

	/* Disable default annotation shadow inside rotator with fake panels. */
}

.ck .ck-balloon-rotator__content .ck.ck-annotation-wrapper {
		box-shadow: none;
	}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-ui\theme\components\panel\fakepanel.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck .ck-fake-panel {
	position: absolute;

	/* Fake panels should be placed under main balloon content. */
	z-index: calc(var(--ck-z-modal) - 1);
}

.ck .ck-fake-panel div {
	position: absolute;
}

.ck .ck-fake-panel div:nth-child( 1 ) {
	z-index: 2;
}

.ck .ck-fake-panel div:nth-child( 2 ) {
	z-index: 1;
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\panel\fakepanel.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A helper to combine multiple shadows.
 */

/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */

:root {
	--ck-balloon-fake-panel-offset-horizontal: 6px;
	--ck-balloon-fake-panel-offset-vertical: 6px;
}

/* Let's use `.ck-balloon-panel` appearance. See: balloonpanel.css. */

.ck .ck-fake-panel div {
	box-shadow: var(--ck-drop-shadow), 0 0;

	min-height: 15px;

	background: var(--ck-color-panel-background);
	border: 1px solid var(--ck-color-panel-border);
	border-radius: var(--ck-border-radius);

	width: 100%;
	height: 100%;
}

.ck .ck-fake-panel div:nth-child( 1 ) {
	margin-left: var(--ck-balloon-fake-panel-offset-horizontal);
	margin-top: var(--ck-balloon-fake-panel-offset-vertical);
}

.ck .ck-fake-panel div:nth-child( 2 ) {
	margin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 2);
	margin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 2);
}

.ck .ck-fake-panel div:nth-child( 3 ) {
	margin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 3);
	margin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 3);
}

/* If balloon is positioned above element, we need to move fake panel to the top. */

.ck .ck-balloon-panel_arrow_s + .ck-fake-panel,
.ck .ck-balloon-panel_arrow_se + .ck-fake-panel,
.ck .ck-balloon-panel_arrow_sw + .ck-fake-panel {
	--ck-balloon-fake-panel-offset-vertical: -6px;
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-ui\theme\components\labeledfield\labeledfieldview.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Note: This file should contain the wireframe styles only. But since there are no such styles,
 * it acts as a message to the builder telling that it should look for the corresponding styles
 * **in the theme** when compiling the editor.
 */

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\labeledfield\labeledfieldview.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-labeled-field-view .ck-labeled-field-view__status {
	font-size: var(--ck-font-size-small);
	margin-top: var(--ck-spacing-small);

	/* Let the info wrap to the next line to avoid stretching the layout horizontally.
	The status could be very long. */
	white-space: normal;
}

.ck.ck-labeled-field-view .ck-labeled-field-view__status_error {
	color: var(--ck-color-base-error);
}

.ck.ck-labeled-field-view > .ck.ck-label {
	width: 100%;
	text-overflow: ellipsis;
	overflow: hidden;
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-ui\theme\components\inputtext\inputtext.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Note: This file should contain the wireframe styles only. But since there are no such styles,
 * it acts as a message to the builder telling that it should look for the corresponding styles
 * **in the theme** when compiling the editor.
 */

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\inputtext\inputtext.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A visual style of focused element's border.
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A helper to combine multiple shadows.
 */

/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */

:root {
	--ck-input-text-width: 18em;
}

.ck.ck-input-text {
	border-radius: 0
}

.ck-rounded-corners .ck.ck-input-text, .ck.ck-input-text.ck-rounded-corners {
		border-radius: var(--ck-border-radius)
}

.ck.ck-input-text {
	box-shadow: var(--ck-inner-shadow), 0 0;

	background: var(--ck-color-input-background);
	border: 1px solid var(--ck-color-input-border);
	padding: var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);
	min-width: var(--ck-input-text-width);

	/* This is important to stay of the same height as surrounding buttons */
	min-height: var(--ck-ui-component-min-height);

	/* Apply some smooth transition to the box-shadow and border. */
	transition: box-shadow .2s ease-in-out, border .2s ease-in-out
}

.ck.ck-input-text:focus {
		/* Disable native outline. */
		outline: none;
		border: var(--ck-focus-ring);
		box-shadow: var(--ck-focus-outer-shadow), var(--ck-inner-shadow);
	}

.ck.ck-input-text[readonly] {
		border: 1px solid var(--ck-color-input-disabled-border);
		background: var(--ck-color-input-disabled-background);
		color: var(--ck-color-input-disabled-text)
	}

.ck.ck-input-text[readonly]:focus {
			/* The read-only input should have a slightly less visible shadow when focused. */
			box-shadow: var(--ck-focus-disabled-outer-shadow), var(--ck-inner-shadow);
		}

.ck.ck-input-text.ck-error {
		border-color: var(--ck-color-input-error-border);
		animation: ck-text-input-shake .3s ease both
	}

.ck.ck-input-text.ck-error:focus {
			box-shadow: var(--ck-focus-error-outer-shadow), var(--ck-inner-shadow);
		}

@keyframes ck-text-input-shake {
	20% {
		transform: translateX(-2px);
	}

	40% {
		transform: translateX(2px);
	}

	60% {
		transform: translateX(-1px);
	}

	80% {
		transform: translateX(1px);
	}
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-link\theme\linkform.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-link-form {
	display: flex
}

.ck.ck-link-form .ck-label {
		display: none;
	}

@media screen and (max-width: 600px) {

.ck.ck-link-form {
		flex-wrap: wrap
}

		.ck.ck-link-form .ck-labeled-field-view {
			flex-basis: 100%;
		}

		.ck.ck-link-form .ck-button {
			flex-basis: 50%;
		}
	}

/*
 * Style link form differently when manual decorators are available.
 * See: https://github.com/ckeditor/ckeditor5-link/issues/186.
 */

.ck.ck-link-form_layout-vertical {
	display: block;
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-link\linkform.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-link-form {
	padding: var(--ck-spacing-standard)
}

.ck.ck-link-form:focus {
		/* https://github.com/ckeditor/ckeditor5-link/issues/90 */
		outline: none;
	}

[dir="ltr"] .ck.ck-link-form > :not(:first-child) {
			margin-left: var(--ck-spacing-standard);
		}

[dir="rtl"] .ck.ck-link-form > :not(:last-child) {
			margin-left: var(--ck-spacing-standard);
		}

@media screen and (max-width: 600px) {

.ck.ck-link-form {
		padding: 0;
		width: calc(.8 * var(--ck-input-text-width))
}

		.ck.ck-link-form .ck-labeled-field-view {
			margin: var(--ck-spacing-standard) var(--ck-spacing-standard) 0
		}

			.ck.ck-link-form .ck-labeled-field-view .ck-input-text {
				min-width: 0;
				width: 100%;
			}

		.ck.ck-link-form .ck-button {
			padding: var(--ck-spacing-standard);
			margin-top: var(--ck-spacing-standard);

			border-radius: 0;
			border: 0;
			border-top: 1px solid var(--ck-color-base-border)
		}

		[dir="ltr"] .ck.ck-link-form .ck-button {
				margin-left: 0
		}

				[dir="ltr"] .ck.ck-link-form .ck-button:first-of-type {
					border-right: 1px solid var(--ck-color-base-border);
				}

		[dir="rtl"] .ck.ck-link-form .ck-button {
				margin-left: 0
		}

				[dir="rtl"] .ck.ck-link-form .ck-button:last-of-type {
					border-right: 1px solid var(--ck-color-base-border);
				}
	}

/*
 * Style link form differently when manual decorators are available.
 * See: https://github.com/ckeditor/ckeditor5-link/issues/186.
 */

.ck.ck-link-form_layout-vertical {
	padding: 0;
	min-width: var(--ck-input-text-width)
}

.ck.ck-link-form_layout-vertical .ck-labeled-field-view {
		margin: var(--ck-spacing-standard) var(--ck-spacing-standard) var(--ck-spacing-small)
	}

.ck.ck-link-form_layout-vertical .ck-labeled-field-view .ck-input-text {
			min-width: 0;
			width: 100%;
		}

.ck.ck-link-form_layout-vertical .ck-button {
		padding: var(--ck-spacing-standard);
		margin: 0;
		border-radius: 0;
		border: 0;
		border-top: 1px solid var(--ck-color-base-border);
		width: 50%
	}

[dir="ltr"] .ck.ck-link-form_layout-vertical .ck-button {
			margin-left: 0
	}

[dir="ltr"] .ck.ck-link-form_layout-vertical .ck-button:first-of-type {
				border-right: 1px solid var(--ck-color-base-border);
			}

[dir="rtl"] .ck.ck-link-form_layout-vertical .ck-button {
			margin-left: 0
	}

[dir="rtl"] .ck.ck-link-form_layout-vertical .ck-button:last-of-type {
				border-right: 1px solid var(--ck-color-base-border);
			}

.ck.ck-link-form_layout-vertical {

	/* Using additional `.ck` class for stronger CSS specificity than `.ck.ck-link-form > :not(:first-child)`. */
}

.ck.ck-link-form_layout-vertical .ck.ck-list {
		margin-left: 0
	}

.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton {
			border: 0;
			width: 100%
		}

.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton:hover {
				background: none;
			}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-link\theme\linkactions.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-link-actions {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap
}

.ck.ck-link-actions .ck-link-actions__preview {
		display: inline-block
	}

.ck.ck-link-actions .ck-link-actions__preview .ck-button__label {
			overflow: hidden;
		}

@media screen and (max-width: 600px) {

.ck.ck-link-actions {
		flex-wrap: wrap
}

		.ck.ck-link-actions .ck-link-actions__preview {
			flex-basis: 100%;
		}

		.ck.ck-link-actions .ck-button:not(.ck-link-actions__preview) {
			flex-basis: 50%;
		}
	}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-link\linkactions.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Enables the tooltip, which is the tooltip is in DOM but
 * not yet displayed.
 */

/**
 * Disables the tooltip making it disappear from DOM.
 */

/**
 * Shows the tooltip, which is already in DOM.
 * Requires `ck-tooltip_enabled` first.
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Makes element unselectable.
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A visual style of focused element's border.
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * A helper to combine multiple shadows.
 */

/**
 * Gives an element a drop shadow so it looks like a floating panel.
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-link-actions {
	padding: var(--ck-spacing-standard)
}

.ck.ck-link-actions .ck-button.ck-link-actions__preview {
		padding-left: 0;
		padding-right: 0
	}

.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label {
			padding: 0 var(--ck-spacing-medium);
			color: var(--ck-color-link-default);
			text-overflow: ellipsis;
			cursor: pointer;

			/* Match the box model of the link editor form's input so the balloon
			does not change width when moving between actions and the form. */
			max-width: var(--ck-input-text-width);
			min-width: 3em;
			text-align: center
		}

.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label:hover {
				text-decoration: underline;
			}

.ck.ck-link-actions .ck-button.ck-link-actions__preview,
		.ck.ck-link-actions .ck-button.ck-link-actions__preview:hover,
		.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus,
		.ck.ck-link-actions .ck-button.ck-link-actions__preview:active {
			background: none;
		}

.ck.ck-link-actions .ck-button.ck-link-actions__preview:active {
			box-shadow: none;
		}

.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus .ck-button__label {
				text-decoration: underline;
			}

.ck.ck-link-actions:focus {
		/* https://github.com/ckeditor/ckeditor5-link/issues/90 */
		outline: none;
	}

[dir="ltr"] .ck.ck-link-actions .ck-button:not(:first-child) {
			margin-left: var(--ck-spacing-standard);
		}

[dir="rtl"] .ck.ck-link-actions .ck-button:not(:last-child) {
			margin-left: var(--ck-spacing-standard);
		}

@media screen and (max-width: 600px) {

.ck.ck-link-actions {
		padding: 0;
		width: calc(.8 * var(--ck-input-text-width))
}

		.ck.ck-link-actions .ck-button.ck-link-actions__preview {
			margin: var(--ck-spacing-standard) var(--ck-spacing-standard) 0
		}

			.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label {
				min-width: 0;
				max-width: 100%;
			}

		.ck.ck-link-actions .ck-button:not(.ck-link-actions__preview) {
			padding: var(--ck-spacing-standard);
			margin-top: var(--ck-spacing-standard);

			border-radius: 0;
			border: 0;
			border-top: 1px solid var(--ck-color-base-border)
		}

		[dir="ltr"] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview) {
				margin-left: 0
		}

				[dir="ltr"] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview):first-of-type {
					border-right: 1px solid var(--ck-color-base-border);
				}

		[dir="rtl"] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview) {
				margin-left: 0
		}

				[dir="rtl"] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview):last-of-type {
					border-right: 1px solid var(--ck-color-base-border);
				}
	}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-image\theme\textalternativeform.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-text-alternative-form {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap
}

.ck.ck-text-alternative-form .ck-labeled-field-view {
		display: inline-block;
	}

.ck.ck-text-alternative-form .ck-label {
		display: none;
	}

@media screen and (max-width: 600px) {

.ck.ck-text-alternative-form {
		flex-wrap: wrap
}

		.ck.ck-text-alternative-form .ck-labeled-field-view {
			flex-basis: 100%;
		}

		.ck.ck-text-alternative-form .ck-button {
			flex-basis: 50%;
		}
	}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-image\textalternativeform.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-text-alternative-form {
	padding: var(--ck-spacing-standard)
}

.ck.ck-text-alternative-form:focus {
		/* https://github.com/ckeditor/ckeditor5-link/issues/90 */
		outline: none;
	}

[dir="ltr"] .ck.ck-text-alternative-form > :not(:first-child) {
			margin-left: var(--ck-spacing-standard);
		}

[dir="rtl"] .ck.ck-text-alternative-form > :not(:last-child) {
			margin-left: var(--ck-spacing-standard);
		}

@media screen and (max-width: 600px) {

.ck.ck-text-alternative-form {
		padding: 0;
		width: calc(.8 * var(--ck-input-text-width))
}

		.ck.ck-text-alternative-form .ck-labeled-field-view {
			margin: var(--ck-spacing-standard) var(--ck-spacing-standard) 0
		}

			.ck.ck-text-alternative-form .ck-labeled-field-view .ck-input-text {
				min-width: 0;
				width: 100%;
			}

		.ck.ck-text-alternative-form .ck-button {
			padding: var(--ck-spacing-standard);
			margin-top: var(--ck-spacing-standard);

			border-radius: 0;
			border: 0;
			border-top: 1px solid var(--ck-color-base-border)
		}

		[dir="ltr"] .ck.ck-text-alternative-form .ck-button {
				margin-left: 0
		}

				[dir="ltr"] .ck.ck-text-alternative-form .ck-button:first-of-type {
					border-right: 1px solid var(--ck-color-base-border);
				}

		[dir="rtl"] .ck.ck-text-alternative-form .ck-button {
				margin-left: 0
		}

				[dir="rtl"] .ck.ck-text-alternative-form .ck-button:last-of-type {
					border-right: 1px solid var(--ck-color-base-border);
				}
	}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-image\theme\image.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck-content .image {
	display: table;
	clear: both;
	text-align: center;

	/* Make sure there is some space between the content and the image. Center image by default. */
	margin: 1em auto
}

.ck-content .image img {
		/* Prevent unnecessary margins caused by line-height (see #44). */
		display: block;

		/* Center the image if its width is smaller than the content's width. */
		margin: 0 auto;

		/* Make sure the image never exceeds the size of the parent container (ckeditor/ckeditor5-ui#67). */
		max-width: 100%;

		/* Make sure the caption will be displayed properly (See: https://github.com/ckeditor/ckeditor5/issues/1870). */
		min-width: 50px;
	}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-image\theme\imagecaption.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck-content .image > figcaption {
	display: table-caption;
	caption-side: bottom;
	word-break: break-word;
	color: hsl(0, 0%, 20%);
	background-color: hsl(0, 0%, 97%);
	padding: .6em;
	font-size: .75em;
	outline-offset: -1px;
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-image\theme\imagestyle.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-image-style-spacing: 1.5em;
}

.ck-content .image-style-side {
		float: right;
		margin-left: var(--ck-image-style-spacing);
		max-width: 50%;
	}

.ck-content .image-style-align-left {
		float: left;
		margin-right: var(--ck-image-style-spacing);
	}

.ck-content .image-style-align-center {
		margin-left: auto;
		margin-right: auto;
	}

.ck-content .image-style-align-right {
		float: right;
		margin-left: var(--ck-image-style-spacing);
	}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-widget\theme\widgetresize.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck .ck-widget_with-resizer {
	/* Make the widget wrapper a relative positioning container for the drag handle. */
	position: relative;
}

.ck .ck-widget__resizer {
	display: none;
	position: absolute;

	/* The wrapper itself should not interfere with the pointer device, only the handles should. */
	pointer-events: none;

	left: 0;
	top: 0;

	outline: 1px solid var(--ck-color-resizer);
}

.ck-focused .ck-widget_with-resizer.ck-widget_selected > .ck-widget__resizer {
		display: block;
	}

.ck .ck-widget__resizer__handle {
	position: absolute;

	/* Resizers are the only UI elements that should interfere with a pointer device. */
	pointer-events: all;

	width: var(--ck-resizer-size);
	height: var(--ck-resizer-size);
	background: var(--ck-color-focus-border);
	border: var(--ck-resizer-border-width) solid hsl(0, 0%, 100%);
	border-radius: var(--ck-resizer-border-radius)
}

.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left {
		top: var( --ck-resizer-offset );
		left: var( --ck-resizer-offset );
		cursor: nwse-resize;
	}

.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right {
		top: var( --ck-resizer-offset );
		right: var( --ck-resizer-offset );
		cursor: nesw-resize;
	}

.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right {
		bottom: var( --ck-resizer-offset );
		right: var( --ck-resizer-offset );
		cursor: nwse-resize;
	}

.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left {
		bottom: var( --ck-resizer-offset );
		left: var( --ck-resizer-offset );
		cursor: nesw-resize;
	}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-image\theme\imageresize.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck-content .image.image_resized {
	max-width: 100%;
	/*
	The `<figure>` element for resized images must not use `display:table` as browsers do not support `max-width` for it well.
	See https://stackoverflow.com/questions/4019604/chrome-safari-ignoring-max-width-in-table/14420691#14420691 for more.
	Fortunately, since we control the width, there is no risk that the image will look bad.
	*/
	display: block;
	box-sizing: border-box
}

.ck-content .image.image_resized img {
		/* For resized images it is the `<figure>` element that determines the image width. */
		width: 100%;
	}

.ck-content .image.image_resized > figcaption {
		/* The `<figure>` element uses `display:block`, so `<figcaption>` also has to. */
		display: block;
	}

[dir="ltr"] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon {
	margin-right: var(--ck-spacing-standard);
}

[dir="rtl"] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon {
	margin-left: var(--ck-spacing-standard);
}

.ck.ck-dropdown .ck-button.ck-resize-image-button .ck-button__label {
	width: 4em;
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-image\theme\imageuploadprogress.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-editor__editable .image {
	position: relative;
}

/* Upload progress bar. */

.ck.ck-editor__editable .image .ck-progress-bar {
	position: absolute;
	top: 0;
	left: 0;
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-image\imageuploadprogress.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-editor__editable .image {
	/* Showing animation. */
}

.ck.ck-editor__editable .image.ck-appear {
		animation: fadeIn 700ms;
	}

/* Upload progress bar. */

.ck.ck-editor__editable .image .ck-progress-bar {
	height: 2px;
	width: 0;
	background: var(--ck-color-upload-bar-background);
	transition: width 100ms;
}

@keyframes fadeIn {
	from { opacity: 0; }
	to   { opacity: 1; }
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-image\theme\imageuploadicon.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck-image-upload-complete-icon {
	display: block;
	position: absolute;
	top: 10px;
	right: 10px;
	border-radius: 50%
}

.ck-image-upload-complete-icon::after {
		content: "";
		position: absolute;
	}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-image\imageuploadicon.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-color-image-upload-icon: hsl(0, 0%, 100%);
	--ck-color-image-upload-icon-background: hsl(120, 100%, 27%);

	--ck-image-upload-icon-size: 20px;
	--ck-image-upload-icon-width: 2px;
}

.ck-image-upload-complete-icon {
	width: var(--ck-image-upload-icon-size);
	height: var(--ck-image-upload-icon-size);
	opacity: 0;
	background: var(--ck-color-image-upload-icon-background);
	animation-name: ck-upload-complete-icon-show, ck-upload-complete-icon-hide;
	animation-fill-mode: forwards, forwards;
	animation-duration: 500ms, 500ms;

	/* To make animation scalable. */
	font-size: var(--ck-image-upload-icon-size);

	/* Hide completed upload icon after 3 seconds. */
	animation-delay: 0ms, 3000ms

	/* This is check icon element made from border-width mixed with animations. */
}

.ck-image-upload-complete-icon::after {
		/* Because of border transformation we need to "hard code" left position. */
		left: 25%;

		top: 50%;
		opacity: 0;
		height: 0;
		width: 0;

		transform: scaleX(-1) rotate(135deg);
		transform-origin: left top;
		border-top: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);
		border-right: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);

		animation-name: ck-upload-complete-icon-check;
		animation-duration: 500ms;
		animation-delay: 500ms;
		animation-fill-mode: forwards;

		/* #1095. While reset is not providing proper box-sizing for pseudoelements, we need to handle it. */
		box-sizing: border-box;
	}

@keyframes ck-upload-complete-icon-show {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes ck-upload-complete-icon-hide {
	from {
		opacity: 1;
	}

	to {
		opacity: 0;
	}
}

@keyframes ck-upload-complete-icon-check {
	0% {
		opacity: 1;
		width: 0;
		height: 0;
	}
	33% {
		width: 0.3em;
		height: 0;
	}
	100% {
		opacity: 1;
		width: 0.3em;
		height: 0.45em;
	}
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-image\theme\imageuploadloader.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck .ck-upload-placeholder-loader {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	top: 0;
	left: 0
}

.ck .ck-upload-placeholder-loader::before {
		content: '';
		position: relative;
	}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-image\imageuploadloader.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-color-upload-placeholder-loader: hsl(0, 0%, 70%);
	--ck-upload-placeholder-loader-size: 32px;
}

.ck .ck-image-upload-placeholder {
	/* We need to control the full width of the SVG gray background. */
	width: 100%;
	margin: 0;
}

.ck .ck-upload-placeholder-loader {
	width: 100%;
	height: 100%
}

.ck .ck-upload-placeholder-loader::before {
		width: var(--ck-upload-placeholder-loader-size);
		height: var(--ck-upload-placeholder-loader-size);
		border-radius: 50%;
		border-top: 3px solid var(--ck-color-upload-placeholder-loader);
		border-right: 2px solid transparent;
		animation: ck-upload-placeholder-loader 1s linear infinite;
	}

@keyframes ck-upload-placeholder-loader {
	to {
		transform: rotate( 360deg );
	}
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-media-embed\theme\mediaembedediting.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Enables the tooltip, which is the tooltip is in DOM but
 * not yet displayed.
 */

/**
 * Disables the tooltip making it disappear from DOM.
 */

/**
 * Shows the tooltip, which is already in DOM.
 * Requires `ck-tooltip_enabled` first.
 */

.ck-media__wrapper .ck-media__placeholder {
		display: flex;
		flex-direction: column;
		align-items: center
	}

.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-tooltip {
		display: block

		/*
		 * Don't display tooltips in devices which don't support :hover.
		 * In fact, it's all about iOS, which forces user to click UI elements twice to execute
		 * the primary action, when tooltips are enabled.
		 *
		 * Q: OK, but why not the following query?
		 *
		 *   @media (hover) {
		 *       display: block;
		 *   }
		 *
		 * A: Because FF does not support it and it would completely disable tooltips
		 * in that browser.
		 *
		 * More in https://github.com/ckeditor/ckeditor5/issues/920.
		 */
	}

@media (hover:none) {

.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-tooltip {
			display: none
	}
		}

.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url {

			/* Otherwise the URL will overflow when the content is very narrow. */
			max-width: 100%;

			position: relative
		}

.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url:hover .ck-tooltip {
		visibility: visible;
		opacity: 1;
	}

.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-media__placeholder__url__text {
				overflow: hidden;
				display: block;
			}

.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck-media__placeholder__icon *, .ck-media__wrapper[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon *, .ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder__icon *, .ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder__icon * {
			display: none;
		}

/* Disable all mouse interaction as long as the editor is not read–only.
   https://github.com/ckeditor/ckeditor5-media-embed/issues/58 */

.ck-editor__editable:not(.ck-read-only) .ck-media__wrapper > *:not(.ck-media__placeholder) {
	pointer-events: none;
}

/* Disable all mouse interaction when the widget is not selected (e.g. to avoid opening links by accident).
   https://github.com/ckeditor/ckeditor5-media-embed/issues/18 */

.ck-editor__editable:not(.ck-read-only) .ck-widget:not(.ck-widget_selected) .ck-media__placeholder {
	pointer-events: none;
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-media-embed\mediaembedediting.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-media-embed-placeholder-icon-size: 3em;

	--ck-color-media-embed-placeholder-url-text: hsl(0, 0%, 46%);
	--ck-color-media-embed-placeholder-url-text-hover: var(--ck-color-base-text);
}

.ck-media__wrapper {
	margin: 0 auto
}

.ck-media__wrapper .ck-media__placeholder {
		padding: calc( 3 * var(--ck-spacing-standard) );
		background: var(--ck-color-base-foreground)
	}

.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon {
			min-width: var(--ck-media-embed-placeholder-icon-size);
			height: var(--ck-media-embed-placeholder-icon-size);
			margin-bottom: var(--ck-spacing-large);
			background-position: center;
			background-size: cover
		}

.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon .ck-icon {
				width: 100%;
				height: 100%;
			}

.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text {
			color: var(--ck-color-media-embed-placeholder-url-text);
			white-space: nowrap;
			text-align: center;
			font-style: italic;
			text-overflow: ellipsis
		}

.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text:hover {
				color: var(--ck-color-media-embed-placeholder-url-text-hover);
				cursor: pointer;
				text-decoration: underline;
			}

.ck-media__wrapper[data-oembed-url*="open.spotify.com"] {
		max-width: 300px;
		max-height: 380px;
	}

.ck-media__wrapper[data-oembed-url*="google.com/maps"] .ck-media__placeholder__icon {
		background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAuMzc4IiBoZWlnaHQ9IjI1NC4xNjciIHZpZXdCb3g9IjAgMCA2Ni4yNDYgNjcuMjQ4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjUzMSAtMjE4LjQ1NSkgc2NhbGUoLjk4MDEyKSI+PHJlY3Qgcnk9IjUuMjM4IiByeD0iNS4yMzgiIHk9IjIzMS4zOTkiIHg9IjE3Ni4wMzEiIGhlaWdodD0iNjAuMDk5IiB3aWR0aD0iNjAuMDk5IiBmaWxsPSIjMzRhNjY4IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Ik0yMDYuNDc3IDI2MC45bC0yOC45ODcgMjguOTg3YTUuMjE4IDUuMjE4IDAgMCAwIDMuNzggMS42MWg0OS42MjFjMS42OTQgMCAzLjE5LS43OTggNC4xNDYtMi4wMzd6IiBmaWxsPSIjNWM4OGM1Ii8+PHBhdGggZD0iTTIyNi43NDIgMjIyLjk4OGMtOS4yNjYgMC0xNi43NzcgNy4xNy0xNi43NzcgMTYuMDE0LjAwNyAyLjc2Mi42NjMgNS40NzQgMi4wOTMgNy44NzUuNDMuNzAzLjgzIDEuNDA4IDEuMTkgMi4xMDcuMzMzLjUwMi42NSAxLjAwNS45NSAxLjUwOC4zNDMuNDc3LjY3My45NTcuOTg4IDEuNDQgMS4zMSAxLjc2OSAyLjUgMy41MDIgMy42MzcgNS4xNjguNzkzIDEuMjc1IDEuNjgzIDIuNjQgMi40NjYgMy45OSAyLjM2MyA0LjA5NCA0LjAwNyA4LjA5MiA0LjYgMTMuOTE0di4wMTJjLjE4Mi40MTIuNTE2LjY2Ni44NzkuNjY3LjQwMy0uMDAxLjc2OC0uMzE0LjkzLS43OTkuNjAzLTUuNzU2IDIuMjM4LTkuNzI5IDQuNTg1LTEzLjc5NC43ODItMS4zNSAxLjY3My0yLjcxNSAyLjQ2NS0zLjk5IDEuMTM3LTEuNjY2IDIuMzI4LTMuNCAzLjYzOC01LjE2OS4zMTUtLjQ4Mi42NDUtLjk2Mi45ODgtMS40MzkuMy0uNTAzLjYxNy0xLjAwNi45NS0xLjUwOC4zNTktLjcuNzYtMS40MDQgMS4xOS0yLjEwNyAxLjQyNi0yLjQwMiAyLTUuMTE0IDIuMDA0LTcuODc1IDAtOC44NDQtNy41MTEtMTYuMDE0LTE2Ljc3Ni0xNi4wMTR6IiBmaWxsPSIjZGQ0YjNlIiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxlbGxpcHNlIHJ5PSI1LjU2NCIgcng9IjUuODI4IiBjeT0iMjM5LjAwMiIgY3g9IjIyNi43NDIiIGZpbGw9IiM4MDJkMjciIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0iTTE5MC4zMDEgMjM3LjI4M2MtNC42NyAwLTguNDU3IDMuODUzLTguNDU3IDguNjA2czMuNzg2IDguNjA3IDguNDU3IDguNjA3YzMuMDQzIDAgNC44MDYtLjk1OCA2LjMzNy0yLjUxNiAxLjUzLTEuNTU3IDIuMDg3LTMuOTEzIDIuMDg3LTYuMjkgMC0uMzYyLS4wMjMtLjcyMi0uMDY0LTEuMDc5aC04LjI1N3YzLjA0M2g0Ljg1Yy0uMTk3Ljc1OS0uNTMxIDEuNDUtMS4wNTggMS45ODYtLjk0Mi45NTgtMi4wMjggMS41NDgtMy45MDEgMS41NDgtMi44NzYgMC01LjIwOC0yLjM3Mi01LjIwOC01LjI5OSAwLTIuOTI2IDIuMzMyLTUuMjk5IDUuMjA4LTUuMjk5IDEuMzk5IDAgMi42MTguNDA3IDMuNTg0IDEuMjkzbDIuMzgxLTIuMzhjMC0uMDAyLS4wMDMtLjAwNC0uMDA0LS4wMDUtMS41ODgtMS41MjQtMy42Mi0yLjIxNS01Ljk1NS0yLjIxNXptNC40MyA1LjY2bC4wMDMuMDA2di0uMDAzeiIgZmlsbD0iI2ZmZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMjE1LjE4NCAyNTEuOTI5bC03Ljk4IDcuOTc5IDI4LjQ3NyAyOC40NzVjLjI4Ny0uNjQ5LjQ0OS0xLjM2Ni40NDktMi4xMjN2LTMxLjE2NWMtLjQ2OS42NzUtLjkzNCAxLjM0OS0xLjM4MiAyLjAwNS0uNzkyIDEuMjc1LTEuNjgyIDIuNjQtMi40NjUgMy45OS0yLjM0NyA0LjA2NS0zLjk4MiA4LjAzOC00LjU4NSAxMy43OTQtLjE2Mi40ODUtLjUyNy43OTgtLjkzLjc5OS0uMzYzLS4wMDEtLjY5Ny0uMjU1LS44NzktLjY2N3YtLjAxMmMtLjU5My01LjgyMi0yLjIzNy05LjgyLTQuNi0xMy45MTQtLjc4My0xLjM1LTEuNjczLTIuNzE1LTIuNDY2LTMuOTktMS4xMzctMS42NjYtMi4zMjctMy40LTMuNjM3LTUuMTY5bC0uMDAyLS4wMDN6IiBmaWxsPSIjYzNjM2MzIi8+PHBhdGggZD0iTTIxMi45ODMgMjQ4LjQ5NWwtMzYuOTUyIDM2Ljk1M3YuODEyYTUuMjI3IDUuMjI3IDAgMCAwIDUuMjM4IDUuMjM4aDEuMDE1bDM1LjY2Ni0zNS42NjZhMTM2LjI3NSAxMzYuMjc1IDAgMCAwLTIuNzY0LTMuOSAzNy41NzUgMzcuNTc1IDAgMCAwLS45ODktMS40NGMtLjI5OS0uNTAzLS42MTYtMS4wMDYtLjk1LTEuNTA4LS4wODMtLjE2Mi0uMTc2LS4zMjYtLjI2NC0uNDg5eiIgZmlsbD0iI2ZkZGM0ZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMjExLjk5OCAyNjEuMDgzbC02LjE1MiA2LjE1MSAyNC4yNjQgMjQuMjY0aC43ODFhNS4yMjcgNS4yMjcgMCAwIDAgNS4yMzktNS4yMzh2LTEuMDQ1eiIgZmlsbD0iI2ZmZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48L2c+PC9zdmc+);
	}

.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder {
		background: hsl(220, 46%, 48%)
	}

.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__icon {
			background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIxMDI0cHgiIGhlaWdodD0iMTAyNHB4IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPiAgICAgICAgPHRpdGxlPkZpbGwgMTwvdGl0bGU+ICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPiAgICA8ZGVmcz48L2RlZnM+ICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgICAgICAgPGcgaWQ9ImZMb2dvX1doaXRlIiBmaWxsPSIjRkZGRkZFIj4gICAgICAgICAgICA8cGF0aCBkPSJNOTY3LjQ4NCwwIEw1Ni41MTcsMCBDMjUuMzA0LDAgMCwyNS4zMDQgMCw1Ni41MTcgTDAsOTY3LjQ4MyBDMCw5OTguNjk0IDI1LjI5NywxMDI0IDU2LjUyMiwxMDI0IEw1NDcsMTAyNCBMNTQ3LDYyOCBMNDE0LDYyOCBMNDE0LDQ3MyBMNTQ3LDQ3MyBMNTQ3LDM1OS4wMjkgQzU0NywyMjYuNzY3IDYyNy43NzMsMTU0Ljc0NyA3NDUuNzU2LDE1NC43NDcgQzgwMi4yNjksMTU0Ljc0NyA4NTAuODQyLDE1OC45NTUgODY1LDE2MC44MzYgTDg2NSwyOTkgTDc4My4zODQsMjk5LjAzNyBDNzE5LjM5MSwyOTkuMDM3IDcwNywzMjkuNTI5IDcwNywzNzQuMjczIEw3MDcsNDczIEw4NjAuNDg3LDQ3MyBMODQwLjUwMSw2MjggTDcwNyw2MjggTDcwNywxMDI0IEw5NjcuNDg0LDEwMjQgQzk5OC42OTcsMTAyNCAxMDI0LDk5OC42OTcgMTAyNCw5NjcuNDg0IEwxMDI0LDU2LjUxNSBDMTAyNCwyNS4zMDMgOTk4LjY5NywwIDk2Ny40ODQsMCIgaWQ9IkZpbGwtMSI+PC9wYXRoPiAgICAgICAgPC9nPiAgICA8L2c+PC9zdmc+);
		}

.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__url__text {
			color: hsl(220, 100%, 90%)
		}

.ck-media__wrapper[data-oembed-url*="facebook.com"] .ck-media__placeholder .ck-media__placeholder__url__text:hover {
				color: hsl(0, 0%, 100%);
			}

.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder {
		background: linear-gradient(-135deg,hsl(246, 100%, 39%),hsl(302, 100%, 36%),hsl(0, 100%, 48%))
	}

.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__icon {
			background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSI1MDRweCIgaGVpZ2h0PSI1MDRweCIgdmlld0JveD0iMCAwIDUwNCA1MDQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+ICAgICAgICA8dGl0bGU+Z2x5cGgtbG9nb19NYXkyMDE2PC90aXRsZT4gICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+ICAgIDxkZWZzPiAgICAgICAgPHBvbHlnb24gaWQ9InBhdGgtMSIgcG9pbnRzPSIwIDAuMTU5IDUwMy44NDEgMC4xNTkgNTAzLjg0MSA1MDMuOTQgMCA1MDMuOTQiPjwvcG9seWdvbj4gICAgPC9kZWZzPiAgICA8ZyBpZD0iZ2x5cGgtbG9nb19NYXkyMDE2IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4gICAgICAgIDxnIGlkPSJHcm91cC0zIj4gICAgICAgICAgICA8bWFzayBpZD0ibWFzay0yIiBmaWxsPSJ3aGl0ZSI+ICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+ICAgICAgICAgICAgPC9tYXNrPiAgICAgICAgICAgIDxnIGlkPSJDbGlwLTIiPjwvZz4gICAgICAgICAgICA8cGF0aCBkPSJNMjUxLjkyMSwwLjE1OSBDMTgzLjUwMywwLjE1OSAxNzQuOTI0LDAuNDQ5IDE0OC4wNTQsMS42NzUgQzEyMS4yNCwyLjg5OCAxMDIuOTI3LDcuMTU3IDg2LjkwMywxMy4zODUgQzcwLjMzNywxOS44MjIgNTYuMjg4LDI4LjQzNiA0Mi4yODIsNDIuNDQxIEMyOC4yNzcsNTYuNDQ3IDE5LjY2Myw3MC40OTYgMTMuMjI2LDg3LjA2MiBDNi45OTgsMTAzLjA4NiAyLjczOSwxMjEuMzk5IDEuNTE2LDE0OC4yMTMgQzAuMjksMTc1LjA4MyAwLDE4My42NjIgMCwyNTIuMDggQzAsMzIwLjQ5NyAwLjI5LDMyOS4wNzYgMS41MTYsMzU1Ljk0NiBDMi43MzksMzgyLjc2IDYuOTk4LDQwMS4wNzMgMTMuMjI2LDQxNy4wOTcgQzE5LjY2Myw0MzMuNjYzIDI4LjI3Nyw0NDcuNzEyIDQyLjI4Miw0NjEuNzE4IEM1Ni4yODgsNDc1LjcyMyA3MC4zMzcsNDg0LjMzNyA4Ni45MDMsNDkwLjc3NSBDMTAyLjkyNyw0OTcuMDAyIDEyMS4yNCw1MDEuMjYxIDE0OC4wNTQsNTAyLjQ4NCBDMTc0LjkyNCw1MDMuNzEgMTgzLjUwMyw1MDQgMjUxLjkyMSw1MDQgQzMyMC4zMzgsNTA0IDMyOC45MTcsNTAzLjcxIDM1NS43ODcsNTAyLjQ4NCBDMzgyLjYwMSw1MDEuMjYxIDQwMC45MTQsNDk3LjAwMiA0MTYuOTM4LDQ5MC43NzUgQzQzMy41MDQsNDg0LjMzNyA0NDcuNTUzLDQ3NS43MjMgNDYxLjU1OSw0NjEuNzE4IEM0NzUuNTY0LDQ0Ny43MTIgNDg0LjE3OCw0MzMuNjYzIDQ5MC42MTYsNDE3LjA5NyBDNDk2Ljg0Myw0MDEuMDczIDUwMS4xMDIsMzgyLjc2IDUwMi4zMjUsMzU1Ljk0NiBDNTAzLjU1MSwzMjkuMDc2IDUwMy44NDEsMzIwLjQ5NyA1MDMuODQxLDI1Mi4wOCBDNTAzLjg0MSwxODMuNjYyIDUwMy41NTEsMTc1LjA4MyA1MDIuMzI1LDE0OC4yMTMgQzUwMS4xMDIsMTIxLjM5OSA0OTYuODQzLDEwMy4wODYgNDkwLjYxNiw4Ny4wNjIgQzQ4NC4xNzgsNzAuNDk2IDQ3NS41NjQsNTYuNDQ3IDQ2MS41NTksNDIuNDQxIEM0NDcuNTUzLDI4LjQzNiA0MzMuNTA0LDE5LjgyMiA0MTYuOTM4LDEzLjM4NSBDNDAwLjkxNCw3LjE1NyAzODIuNjAxLDIuODk4IDM1NS43ODcsMS42NzUgQzMyOC45MTcsMC40NDkgMzIwLjMzOCwwLjE1OSAyNTEuOTIxLDAuMTU5IFogTTI1MS45MjEsNDUuNTUgQzMxOS4xODYsNDUuNTUgMzI3LjE1NCw0NS44MDcgMzUzLjcxOCw0Ny4wMTkgQzM3OC4yOCw0OC4xMzkgMzkxLjYxOSw1Mi4yNDMgNDAwLjQ5Niw1NS42OTMgQzQxMi4yNTUsNjAuMjYzIDQyMC42NDcsNjUuNzIyIDQyOS40NjIsNzQuNTM4IEM0MzguMjc4LDgzLjM1MyA0NDMuNzM3LDkxLjc0NSA0NDguMzA3LDEwMy41MDQgQzQ1MS43NTcsMTEyLjM4MSA0NTUuODYxLDEyNS43MiA0NTYuOTgxLDE1MC4yODIgQzQ1OC4xOTMsMTc2Ljg0NiA0NTguNDUsMTg0LjgxNCA0NTguNDUsMjUyLjA4IEM0NTguNDUsMzE5LjM0NSA0NTguMTkzLDMyNy4zMTMgNDU2Ljk4MSwzNTMuODc3IEM0NTUuODYxLDM3OC40MzkgNDUxLjc1NywzOTEuNzc4IDQ0OC4zMDcsNDAwLjY1NSBDNDQzLjczNyw0MTIuNDE0IDQzOC4yNzgsNDIwLjgwNiA0MjkuNDYyLDQyOS42MjEgQzQyMC42NDcsNDM4LjQzNyA0MTIuMjU1LDQ0My44OTYgNDAwLjQ5Niw0NDguNDY2IEMzOTEuNjE5LDQ1MS45MTYgMzc4LjI4LDQ1Ni4wMiAzNTMuNzE4LDQ1Ny4xNCBDMzI3LjE1OCw0NTguMzUyIDMxOS4xOTEsNDU4LjYwOSAyNTEuOTIxLDQ1OC42MDkgQzE4NC42NSw0NTguNjA5IDE3Ni42ODQsNDU4LjM1MiAxNTAuMTIzLDQ1Ny4xNCBDMTI1LjU2MSw0NTYuMDIgMTEyLjIyMiw0NTEuOTE2IDEwMy4zNDUsNDQ4LjQ2NiBDOTEuNTg2LDQ0My44OTYgODMuMTk0LDQzOC40MzcgNzQuMzc5LDQyOS42MjEgQzY1LjU2NCw0MjAuODA2IDYwLjEwNCw0MTIuNDE0IDU1LjUzNCw0MDAuNjU1IEM1Mi4wODQsMzkxLjc3OCA0Ny45OCwzNzguNDM5IDQ2Ljg2LDM1My44NzcgQzQ1LjY0OCwzMjcuMzEzIDQ1LjM5MSwzMTkuMzQ1IDQ1LjM5MSwyNTIuMDggQzQ1LjM5MSwxODQuODE0IDQ1LjY0OCwxNzYuODQ2IDQ2Ljg2LDE1MC4yODIgQzQ3Ljk4LDEyNS43MiA1Mi4wODQsMTEyLjM4MSA1NS41MzQsMTAzLjUwNCBDNjAuMTA0LDkxLjc0NSA2NS41NjMsODMuMzUzIDc0LjM3OSw3NC41MzggQzgzLjE5NCw2NS43MjIgOTEuNTg2LDYwLjI2MyAxMDMuMzQ1LDU1LjY5MyBDMTEyLjIyMiw1Mi4yNDMgMTI1LjU2MSw0OC4xMzkgMTUwLjEyMyw0Ny4wMTkgQzE3Ni42ODcsNDUuODA3IDE4NC42NTUsNDUuNTUgMjUxLjkyMSw0NS41NSBaIiBpZD0iRmlsbC0xIiBmaWxsPSIjRkZGRkZGIiBtYXNrPSJ1cmwoI21hc2stMikiPjwvcGF0aD4gICAgICAgIDwvZz4gICAgICAgIDxwYXRoIGQ9Ik0yNTEuOTIxLDMzNi4wNTMgQzIwNS41NDMsMzM2LjA1MyAxNjcuOTQ3LDI5OC40NTcgMTY3Ljk0NywyNTIuMDggQzE2Ny45NDcsMjA1LjcwMiAyMDUuNTQzLDE2OC4xMDYgMjUxLjkyMSwxNjguMTA2IEMyOTguMjk4LDE2OC4xMDYgMzM1Ljg5NCwyMDUuNzAyIDMzNS44OTQsMjUyLjA4IEMzMzUuODk0LDI5OC40NTcgMjk4LjI5OCwzMzYuMDUzIDI1MS45MjEsMzM2LjA1MyBaIE0yNTEuOTIxLDEyMi43MTUgQzE4MC40NzQsMTIyLjcxNSAxMjIuNTU2LDE4MC42MzMgMTIyLjU1NiwyNTIuMDggQzEyMi41NTYsMzIzLjUyNiAxODAuNDc0LDM4MS40NDQgMjUxLjkyMSwzODEuNDQ0IEMzMjMuMzY3LDM4MS40NDQgMzgxLjI4NSwzMjMuNTI2IDM4MS4yODUsMjUyLjA4IEMzODEuMjg1LDE4MC42MzMgMzIzLjM2NywxMjIuNzE1IDI1MS45MjEsMTIyLjcxNSBaIiBpZD0iRmlsbC00IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgICAgICA8cGF0aCBkPSJNNDE2LjYyNywxMTcuNjA0IEM0MTYuNjI3LDEzNC4zIDQwMy4wOTIsMTQ3LjgzNCAzODYuMzk2LDE0Ny44MzQgQzM2OS43MDEsMTQ3LjgzNCAzNTYuMTY2LDEzNC4zIDM1Ni4xNjYsMTE3LjYwNCBDMzU2LjE2NiwxMDAuOTA4IDM2OS43MDEsODcuMzczIDM4Ni4zOTYsODcuMzczIEM0MDMuMDkyLDg3LjM3MyA0MTYuNjI3LDEwMC45MDggNDE2LjYyNywxMTcuNjA0IiBpZD0iRmlsbC01IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgIDwvZz48L3N2Zz4=);
		}

.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder {

		/* stylelint-disable-next-line no-descending-specificity */
	}

.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__url__text {
			color: hsl(302, 100%, 94%)
		}

.ck-media__wrapper[data-oembed-url*="instagram.com"] .ck-media__placeholder .ck-media__placeholder__url__text:hover {
				color: hsl(0, 0%, 100%);
			}

.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder {
		/* Use gradient to contrast with focused widget (ckeditor/ckeditor5-media-embed#22). */
		background: linear-gradient( to right, hsl(201, 85%, 70%), hsl(201, 85%, 35%) )
	}

.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__icon {
			background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IldoaXRlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQwMCA0MDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQwMCA0MDA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPi5zdDB7ZmlsbDojRkZGRkZGO308L3N0eWxlPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00MDAsMjAwYzAsMTEwLjUtODkuNSwyMDAtMjAwLDIwMFMwLDMxMC41LDAsMjAwUzg5LjUsMCwyMDAsMFM0MDAsODkuNSw0MDAsMjAweiBNMTYzLjQsMzA1LjVjODguNywwLDEzNy4yLTczLjUsMTM3LjItMTM3LjJjMC0yLjEsMC00LjItMC4xLTYuMmM5LjQtNi44LDE3LjYtMTUuMywyNC4xLTI1Yy04LjYsMy44LTE3LjksNi40LTI3LjcsNy42YzEwLTYsMTcuNi0xNS40LDIxLjItMjYuN2MtOS4zLDUuNS0xOS42LDkuNS0zMC42LDExLjdjLTguOC05LjQtMjEuMy0xNS4yLTM1LjItMTUuMmMtMjYuNiwwLTQ4LjIsMjEuNi00OC4yLDQ4LjJjMCwzLjgsMC40LDcuNSwxLjMsMTFjLTQwLjEtMi03NS42LTIxLjItOTkuNC01MC40Yy00LjEsNy4xLTYuNSwxNS40LTYuNSwyNC4yYzAsMTYuNyw4LjUsMzEuNSwyMS41LDQwLjFjLTcuOS0wLjItMTUuMy0yLjQtMjEuOC02YzAsMC4yLDAsMC40LDAsMC42YzAsMjMuNCwxNi42LDQyLjgsMzguNyw0Ny4zYy00LDEuMS04LjMsMS43LTEyLjcsMS43Yy0zLjEsMC02LjEtMC4zLTkuMS0wLjljNi4xLDE5LjIsMjMuOSwzMy4xLDQ1LDMzLjVjLTE2LjUsMTIuOS0zNy4zLDIwLjYtNTkuOSwyMC42Yy0zLjksMC03LjctMC4yLTExLjUtMC43QzExMC44LDI5Ny41LDEzNi4yLDMwNS41LDE2My40LDMwNS41Ii8+PC9zdmc+);
		}

.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__url__text {
			color: hsl(201, 100%, 86%)
		}

.ck-media__wrapper[data-oembed-url*="twitter.com"] .ck.ck-media__placeholder .ck-media__placeholder__url__text:hover {
				color: hsl(0, 0%, 100%);
			}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-media-embed\theme\mediaform.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-media-form {
	display: flex;
	align-items: flex-start;
	flex-direction: row;
	flex-wrap: nowrap
}

.ck.ck-media-form .ck-labeled-field-view {
		display: inline-block;
	}

.ck.ck-media-form .ck-label {
		display: none;
	}

@media screen and (max-width: 600px) {

.ck.ck-media-form {
		flex-wrap: wrap
}

		.ck.ck-media-form .ck-labeled-field-view {
			flex-basis: 100%;
		}

		.ck.ck-media-form .ck-button {
			flex-basis: 50%;
		}
	}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-media-embed\mediaform.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-media-form {
	padding: var(--ck-spacing-standard)
}

.ck.ck-media-form:focus {
		outline: none;
	}

[dir="ltr"] .ck.ck-media-form > :not(:first-child) {
			margin-left: var(--ck-spacing-standard);
		}

[dir="rtl"] .ck.ck-media-form > :not(:last-child) {
			margin-left: var(--ck-spacing-standard);
		}

@media screen and (max-width: 600px) {

.ck.ck-media-form {
		padding: 0;
		width: calc(.8 * var(--ck-input-text-width))
}

		.ck.ck-media-form .ck-labeled-field-view {
			margin: var(--ck-spacing-standard) var(--ck-spacing-standard) 0
		}

			.ck.ck-media-form .ck-labeled-field-view .ck-input-text {
				min-width: 0;
				width: 100%;
			}

		.ck.ck-media-form .ck-labeled-field-view {

			/* Let the long error messages wrap in the narrow form. */
		}
			.ck.ck-media-form .ck-labeled-field-view .ck-labeled-field-view__error {
				white-space: normal;
			}

		.ck.ck-media-form .ck-button {
			padding: var(--ck-spacing-standard);
			margin-top: var(--ck-spacing-standard);

			border-radius: 0;
			border: 0;
			border-top: 1px solid var(--ck-color-base-border)
		}

		[dir="ltr"] .ck.ck-media-form .ck-button {
				margin-left: 0
		}

				[dir="ltr"] .ck.ck-media-form .ck-button:first-of-type {
					border-right: 1px solid var(--ck-color-base-border);
				}

		[dir="rtl"] .ck.ck-media-form .ck-button {
				margin-left: 0
		}

				[dir="rtl"] .ck.ck-media-form .ck-button:last-of-type {
					border-right: 1px solid var(--ck-color-base-border);
				}
	}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-media-embed\theme\mediaembed.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck-content .media {
	/* Don't allow floated content overlap the media.
	https://github.com/ckeditor/ckeditor5-media-embed/issues/53 */
	clear: both;

	/* Make sure there is some space between the content and the media. */
	margin: 1em 0;

	/* Make sure media is not overriden with Bootstrap default `flex` value.
	See: https://github.com/ckeditor/ckeditor5/issues/1373. */
	display: block;

	/* Give the media some minimal width in the content to prevent them
	from being "squashed" in tight spaces, e.g. in table cells (#44) */
	min-width: 15em;
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-table\theme\tableediting.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Note: This file should contain the wireframe styles only. But since there are no such styles,
 * it acts as a message to the builder telling that it should look for the corresponding styles
 * **in the theme** when compiling the editor.
 */

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-table\tableediting.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-color-table-focused-cell-background: hsla(208, 90%, 80%, .3);
}

.ck-widget.table td.ck-editor__nested-editable.ck-editor__nested-editable_focused,
		.ck-widget.table td.ck-editor__nested-editable:focus,
		.ck-widget.table th.ck-editor__nested-editable.ck-editor__nested-editable_focused,
		.ck-widget.table th.ck-editor__nested-editable:focus {
			/* A very slight background to highlight the focused cell */
			background: var(--ck-color-table-focused-cell-background);

			/* Fixes the problem where surrounding cells cover the focused cell's border.
			It does not fix the problem in all places but the UX is improved.
			See https://github.com/ckeditor/ckeditor5-table/issues/29. */
			border-style: none;
			outline: 1px solid var(--ck-color-focus-border);
			outline-offset: -1px; /* progressive enhancement - no IE support */
		}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-ui\theme\components\dropdown\splitbutton.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Enables the tooltip, which is the tooltip is in DOM but
 * not yet displayed.
 */

/**
 * Disables the tooltip making it disappear from DOM.
 */

/**
 * Shows the tooltip, which is already in DOM.
 * Requires `ck-tooltip_enabled` first.
 */

.ck.ck-splitbutton {
	/* Enable font size inheritance, which allows fluid UI scaling. */
	font-size: inherit
}

.ck.ck-splitbutton .ck-splitbutton__action:focus {
		z-index: calc(var(--ck-z-default) + 1);
	}

.ck.ck-splitbutton {

	/* Disable tooltips for the buttons when the button is "open" */
}

.ck.ck-splitbutton.ck-splitbutton_open > .ck-button .ck-tooltip {
		display: none;
	}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\dropdown\splitbutton.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

:root {
	--ck-color-split-button-hover-background: hsl(0, 0%, 92%);
	--ck-color-split-button-hover-border: hsl(0, 0%, 70%);
}

.ck.ck-splitbutton {
	/*
	 * Note: ck-rounded and ck-dir mixins don't go together (because they both use @nest).
	 */
}

[dir="ltr"] .ck.ck-splitbutton > .ck-splitbutton__action {
			/* Don't round the action button on the right side */
			border-top-right-radius: unset;
			border-bottom-right-radius: unset
	}

[dir="rtl"] .ck.ck-splitbutton > .ck-splitbutton__action {
			/* Don't round the action button on the left side */
			border-top-left-radius: unset;
			border-bottom-left-radius: unset
	}

.ck.ck-splitbutton > .ck-splitbutton__arrow {
		/* It's a text-less button and since the icon is positioned absolutely in such situation,
		it must get some arbitrary min-width. */
		min-width: unset
	}

[dir="ltr"] .ck.ck-splitbutton > .ck-splitbutton__arrow {
			/* Don't round the arrow button on the left side */
			border-radius: 0
	}

.ck-rounded-corners [dir="ltr"] .ck.ck-splitbutton > .ck-splitbutton__arrow, [dir="ltr"] .ck.ck-splitbutton > .ck-splitbutton__arrow.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
				border-top-left-radius: unset;
				border-bottom-left-radius: unset
	}

[dir="rtl"] .ck.ck-splitbutton > .ck-splitbutton__arrow {
			/* Don't round the arrow button on the right side */
			border-top-right-radius: unset;
			border-bottom-right-radius: unset
	}

.ck.ck-splitbutton > .ck-splitbutton__arrow svg {
			width: var(--ck-dropdown-arrow-size);
		}

.ck.ck-splitbutton {

	/* When the split button is "open" (the arrow is on) or being hovered, it should get some styling
	as a whole. The background of both buttons should stand out and there should be a visual
	separation between both buttons. */
}

.ck.ck-splitbutton.ck-splitbutton_open,
	.ck.ck-splitbutton:hover {
		/* When the split button hovered as a whole, not as individual buttons. */
	}

.ck.ck-splitbutton.ck-splitbutton_open > .ck-button:not(.ck-on):not(.ck-disabled):not(:hover), .ck.ck-splitbutton:hover > .ck-button:not(.ck-on):not(.ck-disabled):not(:hover) {
			background: var(--ck-color-split-button-hover-background);
		}

[dir="ltr"] .ck.ck-splitbutton.ck-splitbutton_open > .ck-splitbutton__arrow:not(.ck-disabled), [dir="ltr"] .ck.ck-splitbutton:hover > .ck-splitbutton__arrow:not(.ck-disabled) {
				border-left-color: var(--ck-color-split-button-hover-border);
			}

[dir="rtl"] .ck.ck-splitbutton.ck-splitbutton_open > .ck-splitbutton__arrow:not(.ck-disabled), [dir="rtl"] .ck.ck-splitbutton:hover > .ck-splitbutton__arrow:not(.ck-disabled) {
				border-right-color: var(--ck-color-split-button-hover-border);
			}

.ck.ck-splitbutton {

	/* Don't round the bottom left and right corners of the buttons when "open"
	https://github.com/ckeditor/ckeditor5/issues/816 */
}

.ck.ck-splitbutton.ck-splitbutton_open {
		border-radius: 0
	}

.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open, .ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners {
		border-radius: var(--ck-border-radius)
	}

.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open > .ck-splitbutton__action, .ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners > .ck-splitbutton__action {
				border-bottom-left-radius: 0;
			}

.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open > .ck-splitbutton__arrow, .ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners > .ck-splitbutton__arrow {
				border-bottom-right-radius: 0;
			}


/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-table\theme\inserttable.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck .ck-insert-table-dropdown__grid {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-table\inserttable.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-insert-table-dropdown-padding: 10px;
	--ck-insert-table-dropdown-box-height: 11px;
	--ck-insert-table-dropdown-box-width: 12px;
	--ck-insert-table-dropdown-box-margin: 1px;
}

.ck .ck-insert-table-dropdown__grid {
	/* The width of a container should match 10 items in a row so there will be a 10x10 grid. */
	width: calc(var(--ck-insert-table-dropdown-box-width) * 10 + var(--ck-insert-table-dropdown-box-margin) * 20 + var(--ck-insert-table-dropdown-padding) * 2);
	padding: var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0;
}

.ck .ck-insert-table-dropdown__label {
	text-align: center;
}

.ck .ck-insert-table-dropdown-grid-box {
	width: var(--ck-insert-table-dropdown-box-width);
	height: var(--ck-insert-table-dropdown-box-height);
	margin: var(--ck-insert-table-dropdown-box-margin);
	border: 1px solid var(--ck-color-base-border);
	border-radius: 1px
}

.ck .ck-insert-table-dropdown-grid-box.ck-on {
		border-color: var(--ck-color-focus-border);
		background: var(--ck-color-focus-outer-shadow);
	}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-table\theme\tableselection.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Note: This file should contain the wireframe styles only. But since there are no such styles,
 * it acts as a message to the builder telling that it should look for the corresponding styles
 * **in the theme** when compiling the editor.
 */

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-table\tableselection.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-table-selected-cell-background: hsla(208, 90%, 80%, .3);
}

.ck.ck-editor__editable .table table td.ck-editor__editable_selected,
	.ck.ck-editor__editable .table table th.ck-editor__editable_selected {
		position: relative;
		caret-color: transparent;
		outline: unset;
		box-shadow: unset

		/* https://github.com/ckeditor/ckeditor5/issues/6446 */
	}

.ck.ck-editor__editable .table table td.ck-editor__editable_selected:after, .ck.ck-editor__editable .table table th.ck-editor__editable_selected:after {
			content: '';
			pointer-events: none;
			background-color: var(--ck-table-selected-cell-background);
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
		}

.ck.ck-editor__editable .table table td.ck-editor__editable_selected ::selection,
		.ck.ck-editor__editable .table table td.ck-editor__editable_selected:focus,
		.ck.ck-editor__editable .table table th.ck-editor__editable_selected ::selection,
		.ck.ck-editor__editable .table table th.ck-editor__editable_selected:focus {
			background-color: transparent;
		}

.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget_selected, .ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget_selected {
			outline: unset;
		}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-table\theme\table.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck-content .table {
	/* Give the table widget some air and center it horizontally */
	margin: 1em auto;
	display: table
}

.ck-content .table table {
		/* The table cells should have slight borders */
		border-collapse: collapse;
		border-spacing: 0;

		/* Table width and height are set on the parent <figure>. Make sure the table inside stretches
		to the full dimensions of the container (https://github.com/ckeditor/ckeditor5/issues/6186). */
		width: 100%;
		height: 100%;

		/* The outer border of the table should be slightly darker than the inner lines.
		Also see https://github.com/ckeditor/ckeditor5-table/issues/50. */
		border: 1px double hsl(0, 0%, 70%)
	}

.ck-content .table table td,
		.ck-content .table table th {
			min-width: 2em;
			padding: .4em;

			/* The border is inherited from .ck-editor__nested-editable styles, so theoretically it's not necessary here.
			However, the border is a content style, so it should use .ck-content (so it works outside the editor).
			Hence, the duplication. See https://github.com/ckeditor/ckeditor5/issues/6314 */
			border: 1px solid hsl(0, 0%, 75%);
		}

.ck-content .table table th {
			font-weight: bold;
			background: hsla(0, 0%, 0%, 5%);
		}

/* Text alignment of the table header should match the editor settings and override the native browser styling,
when content is available outside the ediitor. See https://github.com/ckeditor/ckeditor5/issues/6638 */

.ck-content[dir="rtl"] .table th {
	text-align: right;
}

.ck-content[dir="ltr"] .table th {
	text-align: left;
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-ui\theme\components\colorgrid\colorgrid.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-color-grid {
	display: grid;
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\colorgrid\colorgrid.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

:root {
	--ck-color-grid-tile-size: 24px;

	/* Not using global colors here because these may change but some colors in a pallette
	 * require special treatment. For instance, this ensures no matter what the UI text color is,
	 * the check icon will look good on the black color tile. */
	--ck-color-color-grid-check-icon: hsl(0, 0%, 0%);
}

.ck.ck-color-grid {
	grid-gap: 5px;
	padding: 8px;
}

.ck.ck-color-grid__tile {
	width: var(--ck-color-grid-tile-size);
	height: var(--ck-color-grid-tile-size);
	min-width: var(--ck-color-grid-tile-size);
	min-height: var(--ck-color-grid-tile-size);
	padding: 0;
	transition: .2s ease box-shadow;
	border: 0
}

.ck.ck-color-grid__tile.ck-disabled {
		cursor: unset;
		transition: unset;
	}

.ck.ck-color-grid__tile.ck-color-table__color-tile_bordered {
		box-shadow: 0 0 0 1px var(--ck-color-base-border);
	}

.ck.ck-color-grid__tile .ck.ck-icon {
		display: none;
		color: var(--ck-color-color-grid-check-icon);
	}

.ck.ck-color-grid__tile.ck-on {
		box-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-base-text)
	}

.ck.ck-color-grid__tile.ck-on .ck.ck-icon {
			display: block;
		}

.ck.ck-color-grid__tile.ck-on,
	.ck.ck-color-grid__tile:focus:not( .ck-disabled ),
	.ck.ck-color-grid__tile:hover:not( .ck-disabled ) {
		/* Disable the default .ck-button's border ring. */
		border: 0;
	}

.ck.ck-color-grid__tile:focus:not( .ck-disabled ),
	.ck.ck-color-grid__tile:hover:not( .ck-disabled ) {
		box-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-focus-border);
	}

.ck.ck-color-grid__label {
	padding: 0 var(--ck-spacing-standard);
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-table\theme\colorinput.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-input-color {
	width: 100%;
	display: flex
}

.ck.ck-input-color > input.ck.ck-input-text {
		min-width: auto;
		flex-grow: 1
	}

.ck.ck-input-color > input.ck.ck-input-text:active,
		.ck.ck-input-color > input.ck.ck-input-text:focus {
			z-index: var(--ck-z-default);
		}

.ck.ck-input-color > div.ck.ck-dropdown {
		min-width: auto

		/* This dropdown has no arrow but a color preview instead. */
	}

.ck.ck-input-color > div.ck.ck-dropdown > .ck-input-color__button .ck-dropdown__arrow {
			display: none;
		}

.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview {
			position: relative;
			overflow: hidden
		}

.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview > .ck.ck-input-color__button__preview__no-color-indicator {
				position: absolute;
				display: block;
			}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-table\colorinput.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

[dir="ltr"] .ck.ck-input-color > .ck.ck-input-text {
			border-top-right-radius: 0;
			border-bottom-right-radius: 0
	}

[dir="rtl"] .ck.ck-input-color > .ck.ck-input-text {
			border-top-left-radius: 0;
			border-bottom-left-radius: 0
	}

.ck.ck-input-color > .ck.ck-dropdown > .ck.ck-input-color__button {
			padding: 0
		}

[dir="ltr"] .ck.ck-input-color > .ck.ck-dropdown > .ck.ck-input-color__button {
				border-top-left-radius: 0;
				border-bottom-left-radius: 0;
				margin-left: -1px
		}

[dir="rtl"] .ck.ck-input-color > .ck.ck-dropdown > .ck.ck-input-color__button {
				border-top-right-radius: 0;
				border-bottom-right-radius: 0;
				margin-right: -1px
		}

.ck.ck-input-color > .ck.ck-dropdown > .ck.ck-input-color__button.ck-disabled {
				background: var(--ck-color-input-disabled-background);
			}

.ck.ck-input-color > .ck.ck-dropdown > .ck.ck-input-color__button > .ck.ck-input-color__button__preview {
				border-radius: 0
			}

.ck-rounded-corners .ck.ck-input-color > .ck.ck-dropdown > .ck.ck-input-color__button > .ck.ck-input-color__button__preview, .ck.ck-input-color > .ck.ck-dropdown > .ck.ck-input-color__button > .ck.ck-input-color__button__preview.ck-rounded-corners {
		border-radius: var(--ck-border-radius)
			}

.ck.ck-input-color > .ck.ck-dropdown > .ck.ck-input-color__button > .ck.ck-input-color__button__preview {

				width: 20px;
				height: 20px;
				border: 1px solid var(--ck-color-input-border)
			}

.ck.ck-input-color > .ck.ck-dropdown > .ck.ck-input-color__button > .ck.ck-input-color__button__preview > .ck.ck-input-color__button__preview__no-color-indicator {
					top: -30%;
					left: 50%;
					height: 150%;
					width: 8%;
					background: hsl(0, 100%, 50%);
					border-radius: 2px;
					transform: rotate(45deg);
					transform-origin: 50%;
				}

.ck.ck-input-color .ck.ck-input-color__remove-color {
		width: 100%;
		border-bottom: 1px solid var(--ck-color-input-border);
		padding: calc(var(--ck-spacing-standard) / 2) var(--ck-spacing-standard);

		border-bottom-left-radius: 0;
		border-bottom-right-radius: 0
	}

[dir="ltr"] .ck.ck-input-color .ck.ck-input-color__remove-color {
			border-top-right-radius: 0
	}

[dir="rtl"] .ck.ck-input-color .ck.ck-input-color__remove-color {
			border-top-left-radius: 0
	}

.ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon {
			margin-right: var(--ck-spacing-standard)
		}

[dir="rtl"] .ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon {
				margin-right: 0;
				margin-left: var(--ck-spacing-standard)
		}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-table\theme\formrow.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-form__row {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between

	/* Ignore labels that work as fieldset legends */
}

.ck.ck-form__row > *:not(.ck-label) {
		flex-grow: 1;
	}

.ck.ck-form__row.ck-table-form__action-row .ck-button-save,
		.ck.ck-form__row.ck-table-form__action-row .ck-button-cancel {
			justify-content: center;
		}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-table\formrow.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-form__row {
	padding: var(--ck-spacing-standard) var(--ck-spacing-large) 0

	/* Ignore labels that work as fieldset legends */
}

[dir="ltr"] .ck.ck-form__row > *:not(.ck-label) + * {
				margin-left: var(--ck-spacing-large)
		}

[dir="rtl"] .ck.ck-form__row > *:not(.ck-label) + * {
				margin-right: var(--ck-spacing-large)
		}

.ck.ck-form__row > .ck-label {
		width: 100%;
		min-width: 100%;
	}

.ck.ck-form__row.ck-table-form__action-row {
		margin-top: var(--ck-spacing-large)
	}

.ck.ck-form__row.ck-table-form__action-row .ck-button .ck-button__label {
			color: var(--ck-color-text);
		}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-ui\theme\components\formheader\formheader.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-form__header {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-ui\components\formheader\formheader.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

:root {
	--ck-form-header-height: 38px;
}

.ck.ck-form__header {
	padding: var(--ck-spacing-small) var(--ck-spacing-large);
	height: var(--ck-form-header-height);
	line-height: var(--ck-form-header-height);
	border-bottom: 1px solid var(--ck-color-base-border)
}

.ck.ck-form__header .ck-form__header__label {
		font-weight: bold;
	}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-table\theme\form.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Note: This file should contain the wireframe styles only. But since there are no such styles,
 * it acts as a message to the builder telling that it should look for the corresponding styles
 * **in the theme** when compiling the editor.
 */

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-table\form.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-form {
	padding: 0 0 var(--ck-spacing-large)
}

.ck.ck-form:focus {
		/* https://github.com/ckeditor/ckeditor5-link/issues/90 */
		outline: none;
	}

.ck.ck-form .ck.ck-input-text {
		min-width: 100%;
		width: 0;
	}

.ck.ck-form .ck.ck-dropdown {
		min-width: 100%
	}

.ck.ck-form .ck.ck-dropdown .ck-dropdown__button:not(:focus) {
				border: 1px solid var(--ck-color-base-border);
			}

.ck.ck-form .ck.ck-dropdown .ck-dropdown__button .ck-button__label {
				width: 100%;
			}


/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-table\theme\tableform.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-table-form .ck-form__row.ck-table-form__border-row {
			flex-wrap: wrap
		}

.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-labeled-field-view {
				display: flex;
				flex-direction: column-reverse
			}

.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-labeled-field-view .ck.ck-dropdown {
					flex-grow: 0;
				}

.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-style {
				flex-grow: 0;
			}

.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-width {
				flex-grow: 0;
			}

.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row {
			flex-wrap: wrap;
			align-items: center
		}

.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view {
				display: flex;
				flex-direction: column-reverse;
				align-items: center
			}

.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view .ck.ck-dropdown {
					flex-grow: 0;
				}

.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator {
				flex-grow: 0;
			}

.ck.ck-table-form .ck.ck-labeled-field-view {
		/* Allow absolute positioning of the status (error) balloons. */
		position: relative
	}

.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status {
			position: absolute;
			left: 50%;
			bottom: calc( -1 * var(--ck-table-properties-error-arrow-size) );
			transform: translate(-50%,100%);

			/* Make sure the balloon status stays on top of other form elements. */
			z-index: 1

			/* The arrow pointing towards the field. */
		}

.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status::after {
				content: "";
				position: absolute;
				top: calc( -1 * var(--ck-table-properties-error-arrow-size) );
				left: 50%;
				transform: translateX( -50% );
			}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-table\tableform.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/**
 * Implements rounded corner interface for .ck-rounded-corners class.
 *
 * @see $ck-border-radius
 */

:root {
	--ck-table-properties-error-arrow-size: 6px;
	--ck-table-properties-min-error-width: 150px;
}

.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-labeled-field-view > .ck-label {
					font-size: var(--ck-font-size-tiny);
					text-align: center;
				}

.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-style {
				width: 80px;
				min-width: 80px;
			}

.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-width {
				width: 50px;
				min-width: 50px;
			}

.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row {
			padding: 0
		}

.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view > .ck-label {
				font-size: 10px;
				text-align: center;
			}

.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__width,
			.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__height {
				margin: 0
			}

.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator {
				align-self: start;
				display: inline-block;
				height: var(--ck-ui-component-min-height);
				line-height: var(--ck-ui-component-min-height);
				margin: 0 var(--ck-spacing-small);
			}

.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status {
			border-radius: 0;
		}

.ck-rounded-corners .ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status, .ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status.ck-rounded-corners {
		border-radius: var(--ck-border-radius);
		}

.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status {

			background: var(--ck-color-base-error);
			color: var(--ck-color-base-background);
			padding: var(--ck-spacing-small) var(--ck-spacing-medium);
			min-width: var(--ck-table-properties-min-error-width);
			text-align: center;

			/* The arrow pointing towards the field. */
		}

.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status::after {
				border-color: transparent transparent var(--ck-color-base-error) transparent;
				border-width: 0 var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size);
				border-style: solid;
			}

.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status {

			animation: ck-table-form-labeled-view-status-appear .15s ease both;
		}

.ck.ck-table-form .ck.ck-labeled-field-view {

		/* Hide the error balloon when the field is blurred. Makes the experience much more clear. */
	}

.ck.ck-table-form .ck.ck-labeled-field-view .ck-input.ck-error:not(:focus) + .ck.ck-labeled-field-view__status {
			display: none;
		}

@keyframes ck-table-form-labeled-view-status-appear {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-table\theme\tableproperties.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row {
			flex-wrap: wrap;
			flex-basis: 0;
			align-content: baseline
		}

.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items {
				flex-wrap: nowrap;
			}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-table\tableproperties.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-table-properties-form {
	width: 320px
}

.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row {
			padding: 0
		}

.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar {
				background: none
			}

.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items > * {
					width: 40px;
				}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-table\theme\tablecellproperties.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row {
			flex-wrap: wrap
		}

.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar {
				flex-grow: 0;
			}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-table\tablecellproperties.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck.ck-table-cell-properties-form {
	width: 320px
}

.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__padding-row {
			padding: 0;
			width: 35%;
		}

.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar {
				background: none;
			}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-block-quote\theme\blockquote.css */

/**
 * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck-content blockquote {
	/* See #12 */
	overflow: hidden;

	/* https://github.com/ckeditor/ckeditor5-block-quote/issues/15 */
	padding-right: 1.5em;
	padding-left: 1.5em;

	margin-left: 0;
	margin-right: 0;
	font-style: italic;
	border-left: solid 5px hsl(0, 0%, 80%);
}

.ck-content[dir="rtl"] blockquote {
	border-left: 0;
	border-right: solid 5px hsl(0, 0%, 80%);
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-font\theme\fontcolor.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck .ck-button.ck-color-table__remove-color {
	display: flex;
	align-items: center;
	width: 100%;
}

label.ck.ck-color-grid__label {
	font-weight: unset;
}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-theme-lark\theme\ckeditor5-font\fontcolor.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

.ck .ck-button.ck-color-table__remove-color {
	padding: calc(var(--ck-spacing-standard) / 2 ) var(--ck-spacing-standard);
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0
}

.ck .ck-button.ck-color-table__remove-color:not(:focus) {
		border-bottom: 1px solid var(--ck-color-base-border);
	}

[dir="ltr"] .ck .ck-button.ck-color-table__remove-color .ck.ck-icon {
			margin-right: var(--ck-spacing-standard)
	}

[dir="rtl"] .ck .ck-button.ck-color-table__remove-color .ck.ck-icon {
			margin-left: var(--ck-spacing-standard)
	}

/* C:\laragon\www\trust\node_modules\@ckeditor\ckeditor5-font\theme\fontsize.css */

/*
 * Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
 */

/* The values should be synchronized with the "FONT_SIZE_PRESET_UNITS" object in the "/src/fontsize/utils.js" file. */

/* Styles should be prefixed with the `.ck-content` class.
See https://github.com/ckeditor/ckeditor5/issues/6636 */

.ck-content .text-tiny {
		font-size: .7em;
	}

.ck-content .text-small {
		font-size: .85em;
	}

.ck-content .text-big {
		font-size: 1.4em;
	}

.ck-content .text-huge {
		font-size: 1.8em;
	}

/*! Pickr 1.5.1 MIT | https://github.com/Simonwep/pickr */.pickr{position:relative;overflow:visible;transform:translateY(0)}.pickr *{box-sizing:border-box;outline:none;border:none;-webkit-appearance:none}.pickr .pcr-button{position:relative;height:2em;width:2em;padding:.5em;cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;border-radius:.15em;background:url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" stroke="%2342445A" stroke-width="5px" stroke-linecap="round"><path d="M45,45L5,5"></path><path d="M45,5L5,45"></path></svg>') no-repeat 50%;background-size:0;transition:all .3s}.pickr .pcr-button:before{background:url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');background-size:.5em;z-index:-1;z-index:auto}.pickr .pcr-button:after,.pickr .pcr-button:before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;border-radius:.15em}.pickr .pcr-button:after{transition:background .3s;background:currentColor}.pickr .pcr-button.clear{background-size:70%}.pickr .pcr-button.clear:before{opacity:0}.pickr .pcr-button.clear:focus{box-shadow:0 0 0 1px hsla(0,0%,100%,.85),0 0 0 3px currentColor}.pickr .pcr-button.disabled{cursor:not-allowed}.pcr-app *,.pickr *{box-sizing:border-box;outline:none;border:none;-webkit-appearance:none}.pcr-app button.pcr-active,.pcr-app button:focus,.pcr-app input.pcr-active,.pcr-app input:focus,.pickr button.pcr-active,.pickr button:focus,.pickr input.pcr-active,.pickr input:focus{box-shadow:0 0 0 1px hsla(0,0%,100%,.85),0 0 0 3px currentColor}.pcr-app .pcr-palette,.pcr-app .pcr-slider,.pickr .pcr-palette,.pickr .pcr-slider{transition:box-shadow .3s}.pcr-app .pcr-palette:focus,.pcr-app .pcr-slider:focus,.pickr .pcr-palette:focus,.pickr .pcr-slider:focus{box-shadow:0 0 0 1px hsla(0,0%,100%,.85),0 0 0 3px rgba(0,0,0,.25)}.pcr-app{position:fixed;display:flex;flex-direction:column;z-index:10000;border-radius:.1em;background:#fff;opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s .3s;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;box-shadow:0 .15em 1.5em 0 rgba(0,0,0,.1),0 0 1em 0 rgba(0,0,0,.03);left:0;top:0}.pcr-app.visible{transition:opacity .3s;visibility:visible;opacity:1}.pcr-app .pcr-swatches{display:flex;flex-wrap:wrap;margin-top:.75em}.pcr-app .pcr-swatches.pcr-last{margin:0}@supports (display:grid){.pcr-app .pcr-swatches{display:grid;align-items:center;grid-template-columns:repeat(auto-fit,1.75em)}}.pcr-app .pcr-swatches>button{font-size:1em;position:relative;width:calc(1.75em - 5px);height:calc(1.75em - 5px);border-radius:.15em;cursor:pointer;margin:2.5px;flex-shrink:0;justify-self:center;transition:all .15s;overflow:hidden;background:transparent;z-index:1}.pcr-app .pcr-swatches>button:before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');background-size:6px;border-radius:.15em;z-index:-1}.pcr-app .pcr-swatches>button:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:currentColor;border:1px solid rgba(0,0,0,.05);border-radius:.15em;box-sizing:border-box}.pcr-app .pcr-swatches>button:hover{filter:brightness(1.05)}.pcr-app .pcr-interaction{display:flex;flex-wrap:wrap;align-items:center;margin:0 -.2em}.pcr-app .pcr-interaction>*{margin:0 .2em}.pcr-app .pcr-interaction input{letter-spacing:.07em;font-size:.75em;text-align:center;cursor:pointer;color:#75797e;background:#f1f3f4;border-radius:.15em;transition:all .15s;padding:.45em .5em;margin-top:.75em}.pcr-app .pcr-interaction input:hover{filter:brightness(.975)}.pcr-app .pcr-interaction input:focus{box-shadow:0 0 0 1px hsla(0,0%,100%,.85),0 0 0 3px rgba(66,133,244,.75)}.pcr-app .pcr-interaction .pcr-result{color:#75797e;text-align:left;flex:1 1 8em;min-width:8em;transition:all .2s;border-radius:.15em;background:#f1f3f4;cursor:text}.pcr-app .pcr-interaction .pcr-result::selection{background:#4285f4;color:#fff}.pcr-app .pcr-interaction .pcr-type.active{color:#fff;background:#4285f4}.pcr-app .pcr-interaction .pcr-cancel,.pcr-app .pcr-interaction .pcr-clear,.pcr-app .pcr-interaction .pcr-save{width:auto;color:#fff}.pcr-app .pcr-interaction .pcr-cancel:hover,.pcr-app .pcr-interaction .pcr-clear:hover,.pcr-app .pcr-interaction .pcr-save:hover{filter:brightness(.925)}.pcr-app .pcr-interaction .pcr-save{background:#4285f4}.pcr-app .pcr-interaction .pcr-cancel,.pcr-app .pcr-interaction .pcr-clear{background:#f44250}.pcr-app .pcr-interaction .pcr-cancel:focus,.pcr-app .pcr-interaction .pcr-clear:focus{box-shadow:0 0 0 1px hsla(0,0%,100%,.85),0 0 0 3px rgba(244,66,80,.75)}.pcr-app .pcr-selection .pcr-picker{position:absolute;height:18px;width:18px;border:2px solid #fff;border-radius:100%;-webkit-user-select:none;-ms-user-select:none;user-select:none}.pcr-app .pcr-selection .pcr-color-chooser,.pcr-app .pcr-selection .pcr-color-opacity,.pcr-app .pcr-selection .pcr-color-palette{position:relative;-webkit-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:column;cursor:grab;cursor:-webkit-grab}.pcr-app .pcr-selection .pcr-color-chooser:active,.pcr-app .pcr-selection .pcr-color-opacity:active,.pcr-app .pcr-selection .pcr-color-palette:active{cursor:grabbing;cursor:-webkit-grabbing}.pcr-app[data-theme=classic]{width:28.5em;max-width:95vw;padding:.8em}.pcr-app[data-theme=classic] .pcr-selection{display:flex;justify-content:space-between;flex-grow:1}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-preview{position:relative;z-index:1;width:2em;display:flex;flex-direction:column;justify-content:space-between;margin-right:.75em}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-preview:before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');background-size:.5em;border-radius:.15em;z-index:-1}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-preview .pcr-last-color{cursor:pointer;transition:background-color .3s,box-shadow .3s;border-radius:.15em .15em 0 0;z-index:2}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-preview .pcr-current-color{border-radius:0 0 .15em .15em}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-preview .pcr-current-color,.pcr-app[data-theme=classic] .pcr-selection .pcr-color-preview .pcr-last-color{background:currentColor;width:100%;height:50%}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-palette{width:100%;height:8em;z-index:1}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-palette .pcr-palette{flex-grow:1;border-radius:.15em}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-palette .pcr-palette:before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;background:url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');background-size:.5em;border-radius:.15em;z-index:-1}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-chooser,.pcr-app[data-theme=classic] .pcr-selection .pcr-color-opacity{margin-left:.75em}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-chooser .pcr-picker,.pcr-app[data-theme=classic] .pcr-selection .pcr-color-opacity .pcr-picker{left:50%;transform:translateX(-50%)}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-chooser .pcr-slider,.pcr-app[data-theme=classic] .pcr-selection .pcr-color-opacity .pcr-slider{width:8px;flex-grow:1;border-radius:50em}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-chooser .pcr-slider{background:linear-gradient(180deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.pcr-app[data-theme=classic] .pcr-selection .pcr-color-opacity .pcr-slider{background:linear-gradient(180deg,transparent,#000),url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 2"><path fill="white" d="M1,0H2V1H1V0ZM0,1H1V2H0V1Z"/><path fill="gray" d="M0,0H1V1H0V0ZM1,1H2V2H1V1Z"/></svg>');background-size:100%,50%}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vbGVzcy9kYXRlcGlja2VyLmxlc3MiLCJ3ZWJwYWNrOi8vL2J1aWxkL2J1aWxkLmxlc3MiLCJ3ZWJwYWNrOi8vL2Jvb3RzdHJhcC1kYXRlcGlja2VyLnN0YW5kYWxvbmUuY3NzIiwid2VicGFjazovLy9idWlsZC9idWlsZF9zdGFuZGFsb25lLmxlc3MiLCJ3ZWJwYWNrOi8vL293bC5jYXJvdXNlbC5taW4uY3NzIiwid2VicGFjazovLy9vd2wudGhlbWUuZGVmYXVsdC5taW4uY3NzIiwid2VicGFjazovLy9mbGlja2l0eS5jc3MiLCJ3ZWJwYWNrOi8vL3Z1ZTJEcm9wem9uZS5taW4uY3NzIiwid2VicGFjazovLy9zbGljay5jc3MiLCJ3ZWJwYWNrOi8vL3NsaWNrLXRoZW1lLmNzcyIsIndlYnBhY2s6Ly8vaW9uLnJhbmdlU2xpZGVyLmNzcyIsIndlYnBhY2s6Ly8vZ2xvYmFscy5jc3MiLCJ3ZWJwYWNrOi8vL2ljb24uY3NzIiwid2VicGFjazovLy9iYWxsb29ucGFuZWwuY3NzIiwid2VicGFjazovLy93aWRnZXR0eXBlYXJvdW5kLmNzcyIsIndlYnBhY2s6Ly8vd2lkZ2V0LmNzcyIsIndlYnBhY2s6Ly8vdG9vbHRpcC5jc3MiLCJ3ZWJwYWNrOi8vL2J1dHRvbi5jc3MiLCJ3ZWJwYWNrOi8vL2Ryb3Bkb3duLmNzcyIsIndlYnBhY2s6Ly8vdG9vbGJhci5jc3MiLCJ3ZWJwYWNrOi8vL2xpc3QuY3NzIiwid2VicGFjazovLy9zd2l0Y2hidXR0b24uY3NzIiwid2VicGFjazovLy90b29sYmFyZHJvcGRvd24uY3NzIiwid2VicGFjazovLy9saXN0ZHJvcGRvd24uY3NzIiwid2VicGFjazovLy9wbGFjZWhvbGRlci5jc3MiLCJ3ZWJwYWNrOi8vL2VkaXRvcnVpLmNzcyIsIndlYnBhY2s6Ly8vbGFiZWwuY3NzIiwid2VicGFjazovLy9zdGlja3lwYW5lbC5jc3MiLCJ3ZWJwYWNrOi8vL2NsYXNzaWNlZGl0b3IuY3NzIiwid2VicGFjazovLy9oZWFkaW5nLmNzcyIsIndlYnBhY2s6Ly8vbGluay5jc3MiLCJ3ZWJwYWNrOi8vL2JhbGxvb25yb3RhdG9yLmNzcyIsIndlYnBhY2s6Ly8vZmFrZXBhbmVsLmNzcyIsIndlYnBhY2s6Ly8vbGFiZWxlZGZpZWxkdmlldy5jc3MiLCJ3ZWJwYWNrOi8vL2lucHV0dGV4dC5jc3MiLCJ3ZWJwYWNrOi8vL2xpbmtmb3JtLmNzcyIsIndlYnBhY2s6Ly8vbGlua2FjdGlvbnMuY3NzIiwid2VicGFjazovLy90ZXh0YWx0ZXJuYXRpdmVmb3JtLmNzcyIsIndlYnBhY2s6Ly8vaW1hZ2UuY3NzIiwid2VicGFjazovLy9pbWFnZWNhcHRpb24uY3NzIiwid2VicGFjazovLy9pbWFnZXN0eWxlLmNzcyIsIndlYnBhY2s6Ly8vd2lkZ2V0cmVzaXplLmNzcyIsIndlYnBhY2s6Ly8vaW1hZ2VyZXNpemUuY3NzIiwid2VicGFjazovLy9pbWFnZXVwbG9hZHByb2dyZXNzLmNzcyIsIndlYnBhY2s6Ly8vaW1hZ2V1cGxvYWRpY29uLmNzcyIsIndlYnBhY2s6Ly8vaW1hZ2V1cGxvYWRsb2FkZXIuY3NzIiwid2VicGFjazovLy9tZWRpYWVtYmVkZWRpdGluZy5jc3MiLCJ3ZWJwYWNrOi8vL21lZGlhZm9ybS5jc3MiLCJ3ZWJwYWNrOi8vL21lZGlhZW1iZWQuY3NzIiwid2VicGFjazovLy90YWJsZWVkaXRpbmcuY3NzIiwid2VicGFjazovLy9zcGxpdGJ1dHRvbi5jc3MiLCJ3ZWJwYWNrOi8vL2luc2VydHRhYmxlLmNzcyIsIndlYnBhY2s6Ly8vdGFibGVzZWxlY3Rpb24uY3NzIiwid2VicGFjazovLy90YWJsZS5jc3MiLCJ3ZWJwYWNrOi8vL2NvbG9yZ3JpZC5jc3MiLCJ3ZWJwYWNrOi8vL2NvbG9yaW5wdXQuY3NzIiwid2VicGFjazovLy9mb3Jtcm93LmNzcyIsIndlYnBhY2s6Ly8vZm9ybWhlYWRlci5jc3MiLCJ3ZWJwYWNrOi8vL2Zvcm0uY3NzIiwid2VicGFjazovLy90YWJsZWZvcm0uY3NzIiwid2VicGFjazovLy90YWJsZXByb3BlcnRpZXMuY3NzIiwid2VicGFjazovLy90YWJsZWNlbGxwcm9wZXJ0aWVzLmNzcyIsIndlYnBhY2s6Ly8vYmxvY2txdW90ZS5jc3MiLCJ3ZWJwYWNrOi8vL2ZvbnRjb2xvci5jc3MiLCJ3ZWJwYWNrOi8vL2ZvbnRzaXplLmNzcyIsIndlYnBhY2s6Ly8vY2xhc3NpYy5taW4uY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0VDeUJVOztBQ25CVjtFRkhDLFlBQUM7RUFJRCxrQkFBQztFQUNBO0FFSUY7QUZIRTtFQUFrQjtBRU1wQjtBRlJDO0VBSUU7QUVPSDtBRkpDO0VBQ0M7QUVNRjtBQUNBO0VGTEUsWUFIQTtBRVVGO0FBQ0E7RUZMRztFQUNBO0FFT0g7QUFDQTtFRkxHO0VBQ0E7RUVPRCxrQ0FBa0M7RUZMbEMsbUNBQUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRU9IO0FBQ0E7RUZMRztFRU9ELHFCQUFxQjtFRkxyQixrQ0FBQztFQUFtQztFRVFwQyw2QkFBNkI7RUZQN0IsYUF2QkE7RUF1Qm9DO0FFVXRDO0FGVEU7RUFBb0M7QUVZdEM7QUZYRTtFQUFvQztBRWN0QztBRmJFO0VBQW9DO0FFZ0J0QztBRmZFO0VBQW9DO0FFa0J0QztBRmpCRTtFQUNDO0FFbUJIO0FBQ0E7RUFDRSxTQUFTO0FGakJUO0FFbUJGO0VGakJHO0VBQ0E7RUVtQkQsMEJBQTBCO0FGckU1QjtBRXVFQTtFRmhCRTtFQUNBO0VBQ0E7QUVrQkY7QUFDQTtFRmhCRTtFRWtCQSwyQkFBMkI7RUY5RTdCLHlCQThEQztFQUVDO0VBQ0E7QUVtQkY7QUFDQTs7RUZqQkU7RUVvQkEsV0FBVztFRmhCWixZQUFlO0VFb0JkLGtCQUFrQjtFRmRsQixZQUREO0FBRUM7QUVnQkY7O0VBRUUsNkJBQTZCO0FGZDdCO0FBQ0E7O0VFaUJBLGdCQUFnQjtFRmRoQixlQVZLO0FBV0w7QUVnQkY7O0VGYkc7QUVnQkg7QUZkRTs7RUFFQztFRWdCRCxXQUFXO0VGZFgsZUFwQks7QUFxQkw7QUFDQTtFQUNBLG1CQXZCUTtFQ3JCTjtBQzZESjtB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QUFTLENBQUMsNEVBQTRFLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxtRkFBbUYsaUJBQWlCLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxnTkFBZ04sQ0FBQyxvQkFBb0IsQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsOEhBQThILGlCQUFpQixDQUFDLHNKQUFzSixRQUFRLENBQUMsMEJBQTBCLENBQUMsc0pBQXNKLFNBQVMsQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsMkVBQTJFLG1FQUFtRSxDQUFDLDJFQUEyRSx5UEFBeVAsQ0FBQyx3QkFBd0IsQyIsImZpbGUiOiJ2ZW5kb3JzfmFkbWlufmFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZGF0ZXBpY2tlciB7XG5cdHBhZGRpbmc6IDRweDtcblx0LmJvcmRlci1yYWRpdXMoQGJhc2VCb3JkZXJSYWRpdXMpO1xuXHQmLWlubGluZSB7XG5cdFx0d2lkdGg6IDIyMHB4O1xuXHR9XG5cdGRpcmVjdGlvbjogbHRyO1xuXHQmLXJ0bCB7XG5cdFx0ZGlyZWN0aW9uOiBydGw7XG5cdFx0Ji5kcm9wZG93bi1tZW51IHsgbGVmdDogYXV0bzsgfVxuXHRcdHRhYmxlIHRyIHRkIHNwYW4ge1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdH1cblx0fVxuXHQmLWRyb3Bkb3duIHtcblx0XHR0b3A6IDA7XG5cdFx0bGVmdDogMDtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdGJvcmRlci1sZWZ0OiAgIDdweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdGJvcmRlci1yaWdodDogIDdweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdGJvcmRlci1ib3R0b206IDdweCBzb2xpZCBAZ3JheUxpZ2h0O1xuXHRcdFx0Ym9yZGVyLXRvcDogICAgMDtcblx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwwLDAsLjIpO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdH1cblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0Ym9yZGVyLWxlZnQ6ICAgNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0Ym9yZGVyLXJpZ2h0OiAgNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIEB3aGl0ZTtcblx0XHRcdGJvcmRlci10b3A6ICAgIDA7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0fVxuXHRcdCYuZGF0ZXBpY2tlci1vcmllbnQtbGVmdDpiZWZvcmUgICB7IGxlZnQ6IDZweDsgfVxuXHRcdCYuZGF0ZXBpY2tlci1vcmllbnQtbGVmdDphZnRlciAgICB7IGxlZnQ6IDdweDsgfVxuXHRcdCYuZGF0ZXBpY2tlci1vcmllbnQtcmlnaHQ6YmVmb3JlICB7IHJpZ2h0OiA2cHg7IH1cblx0XHQmLmRhdGVwaWNrZXItb3JpZW50LXJpZ2h0OmFmdGVyICAgeyByaWdodDogN3B4OyB9XG5cdFx0Ji5kYXRlcGlja2VyLW9yaWVudC1ib3R0b206YmVmb3JlIHsgdG9wOiAtN3B4OyB9XG5cdFx0Ji5kYXRlcGlja2VyLW9yaWVudC1ib3R0b206YWZ0ZXIgIHsgdG9wOiAtNnB4OyB9XG5cdFx0Ji5kYXRlcGlja2VyLW9yaWVudC10b3A6YmVmb3JlIHtcblx0XHRcdGJvdHRvbTogLTdweDtcblx0XHRcdGJvcmRlci1ib3R0b206IDA7XG5cdFx0XHRib3JkZXItdG9wOiAgICA3cHggc29saWQgQGdyYXlMaWdodDtcblx0XHR9XG5cdFx0Ji5kYXRlcGlja2VyLW9yaWVudC10b3A6YWZ0ZXIge1xuXHRcdFx0Ym90dG9tOiAtNnB4O1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMDtcblx0XHRcdGJvcmRlci10b3A6ICAgIDZweCBzb2xpZCBAd2hpdGU7XG5cdFx0fVxuXHR9XG5cdHRhYmxlIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0LXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuXHRcdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0LWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0LW1zLXVzZXItc2VsZWN0OiBub25lO1xuXHRcdHVzZXItc2VsZWN0OiBub25lO1xuXHR9XG5cdHRkLCB0aCB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHdpZHRoOiAyMHB4O1xuXHRcdGhlaWdodDogMjBweDtcblx0XHQuYm9yZGVyLXJhZGl1cyg0cHgpO1xuXG5cdFx0Ym9yZGVyOiBub25lO1xuXHR9XG5cdC8vIElubGluZSBkaXNwbGF5IGluc2lkZSBhIHRhYmxlIHByZXNlbnRzIHNvbWUgcHJvYmxlbXMgd2l0aFxuXHQvLyBib3JkZXIgYW5kIGJhY2tncm91bmQgY29sb3JzLlxuXHQudGFibGUtc3RyaXBlZCAmIHRhYmxlIHRyIHtcblx0XHR0ZCwgdGgge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0fVxuXHR9XG5cdHRhYmxlIHRyIHRkIHtcblx0XHQmLmRheTpob3Zlcixcblx0XHQmLmRheS5mb2N1c2VkIHtcblx0XHRcdGJhY2tncm91bmQ6IEBncmF5TGlnaHRlcjtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR9XG5cdFx0Ji5vbGQsXG5cdFx0Ji5uZXcge1xuXHRcdFx0Y29sb3I6IEBncmF5TGlnaHQ7XG5cdFx0fVxuXHRcdCYuZGlzYWJsZWQsXG5cdFx0Ji5kaXNhYmxlZDpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBub25lO1xuXHRcdFx0Y29sb3I6IEBncmF5TGlnaHQ7XG5cdFx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdFx0fVxuXHRcdCYuaGlnaGxpZ2h0ZWQge1xuXHRcdFx0YmFja2dyb3VuZDogQGluZm9CYWNrZ3JvdW5kO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHR9XG5cdFx0Ji50b2RheSxcblx0XHQmLnRvZGF5OmhvdmVyLFxuXHRcdCYudG9kYXkuZGlzYWJsZWQsXG5cdFx0Ji50b2RheS5kaXNhYmxlZDpob3ZlciB7XG5cdFx0XHRAdG9kYXlCYWNrZ3JvdW5kOiBsaWdodGVuKEBvcmFuZ2UsIDMwJSk7XG5cdFx0XHQuYnV0dG9uQmFja2dyb3VuZChAdG9kYXlCYWNrZ3JvdW5kLCBzcGluKEB0b2RheUJhY2tncm91bmQsIDIwKSk7XG5cdFx0XHRjb2xvcjogIzAwMDtcblx0XHR9XG5cdFx0Ji50b2RheTpob3Zlcjpob3ZlciB7IC8vIFRoYW5rIGJvb3RzdHJhcCAyLjAgZm9yIHRoaXMgc2VsZWN0b3IuLi5cblx0XHRcdC8vIFRPRE86IEJ1bXAgbWluIEJTIHRvIDIuMSwgdXNlIEB0ZXh0Q29sb3IgaW4gYnV0dG9uQmFja2dyb3VuZCBhYm92ZVxuXHRcdFx0Y29sb3I6ICMwMDA7XG5cdFx0fVxuXHRcdCYudG9kYXkuYWN0aXZlOmhvdmVyIHtcblx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdH1cblx0XHQmLnJhbmdlLFxuXHRcdCYucmFuZ2U6aG92ZXIsXG5cdFx0Ji5yYW5nZS5kaXNhYmxlZCxcblx0XHQmLnJhbmdlLmRpc2FibGVkOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQ6IEBncmF5TGlnaHRlcjtcblx0XHRcdC5ib3JkZXItcmFkaXVzKDApO1xuXHRcdH1cblx0XHQmLnJhbmdlLnRvZGF5LFxuXHRcdCYucmFuZ2UudG9kYXk6aG92ZXIsXG5cdFx0Ji5yYW5nZS50b2RheS5kaXNhYmxlZCxcblx0XHQmLnJhbmdlLnRvZGF5LmRpc2FibGVkOmhvdmVyIHtcblx0XHRcdEB0b2RheUJhY2tncm91bmQ6IG1peChAb3JhbmdlLCBAZ3JheUxpZ2h0ZXIsIDUwJSk7XG5cdFx0XHQuYnV0dG9uQmFja2dyb3VuZChAdG9kYXlCYWNrZ3JvdW5kLCBzcGluKEB0b2RheUJhY2tncm91bmQsIDIwKSk7XG5cdFx0XHQuYm9yZGVyLXJhZGl1cygwKTtcblx0XHR9XG5cdFx0Ji5zZWxlY3RlZCxcblx0XHQmLnNlbGVjdGVkOmhvdmVyLFxuXHRcdCYuc2VsZWN0ZWQuZGlzYWJsZWQsXG5cdFx0Ji5zZWxlY3RlZC5kaXNhYmxlZDpob3ZlciB7XG5cdFx0XHQuYnV0dG9uQmFja2dyb3VuZChsaWdodGVuKEBncmF5TGlnaHQsIDEwKSwgZGFya2VuKEBncmF5TGlnaHQsIDEwKSk7XG5cdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdHRleHQtc2hhZG93OiAwIC0xcHggMCByZ2JhKDAsMCwwLC4yNSk7XG5cdFx0fVxuXHRcdCYuYWN0aXZlLFxuXHRcdCYuYWN0aXZlOmhvdmVyLFxuXHRcdCYuYWN0aXZlLmRpc2FibGVkLFxuXHRcdCYuYWN0aXZlLmRpc2FibGVkOmhvdmVyIHtcblx0XHRcdC5idXR0b25CYWNrZ3JvdW5kKEBidG5QcmltYXJ5QmFja2dyb3VuZCwgc3BpbihAYnRuUHJpbWFyeUJhY2tncm91bmQsIDIwKSk7XG5cdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdHRleHQtc2hhZG93OiAwIC0xcHggMCByZ2JhKDAsMCwwLC4yNSk7XG5cdFx0fVxuXHRcdHNwYW4ge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR3aWR0aDogMjMlO1xuXHRcdFx0aGVpZ2h0OiA1NHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDU0cHg7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdG1hcmdpbjogMSU7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHQuYm9yZGVyLXJhZGl1cyg0cHgpO1xuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCYuZm9jdXNlZCB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IEBncmF5TGlnaHRlcjtcblx0XHRcdH1cblx0XHRcdCYuZGlzYWJsZWQsXG5cdFx0XHQmLmRpc2FibGVkOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRcdFx0Y29sb3I6IEBncmF5TGlnaHQ7XG5cdFx0XHRcdGN1cnNvcjogZGVmYXVsdDtcblx0XHRcdH1cblx0XHRcdCYuYWN0aXZlLFxuXHRcdFx0Ji5hY3RpdmU6aG92ZXIsXG5cdFx0XHQmLmFjdGl2ZS5kaXNhYmxlZCxcblx0XHRcdCYuYWN0aXZlLmRpc2FibGVkOmhvdmVyIHtcblx0XHRcdFx0LmJ1dHRvbkJhY2tncm91bmQoQGJ0blByaW1hcnlCYWNrZ3JvdW5kLCBzcGluKEBidG5QcmltYXJ5QmFja2dyb3VuZCwgMjApKTtcblx0XHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRcdHRleHQtc2hhZG93OiAwIC0xcHggMCByZ2JhKDAsMCwwLC4yNSk7XG5cdFx0XHR9XG5cdFx0XHQmLm9sZCxcblx0XHRcdCYubmV3IHtcblx0XHRcdFx0Y29sb3I6IEBncmF5TGlnaHQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmRhdGVwaWNrZXItc3dpdGNoIHtcblx0XHR3aWR0aDogMTQ1cHg7XG5cdH1cblxuXHQuZGF0ZXBpY2tlci1zd2l0Y2gsXG5cdC5wcmV2LFxuXHQubmV4dCxcblx0dGZvb3QgdHIgdGgge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQ6IEBncmF5TGlnaHRlcjtcblx0XHR9XG5cdH1cblxuXHQucHJldiwgLm5leHQge1xuXHRcdCYuZGlzYWJsZWQge1xuXHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdH1cblx0fVxuXG5cdC8vIEJhc2ljIHN0eWxpbmcgZm9yIGNhbGVuZGFyLXdlZWsgY2VsbHNcblx0LmN3IHtcblx0XHRmb250LXNpemU6IDEwcHg7XG5cdFx0d2lkdGg6IDEycHg7XG5cdFx0cGFkZGluZzogMCAycHggMCA1cHg7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0fVxufVxuLmlucHV0LWFwcGVuZCxcbi5pbnB1dC1wcmVwZW5kIHtcblx0Ji5kYXRlIC5hZGQtb24ge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdGkge1xuXHRcdFx0bWFyZ2luLXRvcDogM3B4O1xuXHRcdH1cblx0fVxufVxuLmlucHV0LWRhdGVyYW5nZSB7XG5cdGlucHV0IHtcblx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0fVxuXHRpbnB1dDpmaXJzdC1jaGlsZCB7XG5cdFx0LmJvcmRlci1yYWRpdXMoM3B4IDAgMCAzcHgpO1xuXHR9XG5cdGlucHV0Omxhc3QtY2hpbGQge1xuXHRcdC5ib3JkZXItcmFkaXVzKDAgM3B4IDNweCAwKTtcblx0fVxuXHQuYWRkLW9uIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0bWluLXdpZHRoOiAxNnB4O1xuXHRcdGhlaWdodDogQGJhc2VMaW5lSGVpZ2h0O1xuXHRcdHBhZGRpbmc6IDRweCA1cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0XHRsaW5lLWhlaWdodDogQGJhc2VMaW5lSGVpZ2h0O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR0ZXh0LXNoYWRvdzogMCAxcHggMCBAd2hpdGU7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAZ3JheUxpZ2h0ZXI7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI2NjYztcblx0XHRtYXJnaW4tbGVmdDogLTVweDtcblx0XHRtYXJnaW4tcmlnaHQ6IC01cHg7XG5cdH1cbn1cbiIsIi8vIERhdGVwaWNrZXIgLmxlc3MgYnVpbGRmaWxlLiAgSW5jbHVkZXMgc2VsZWN0IG1peGlucy92YXJpYWJsZXMgZnJvbSBib290c3RyYXBcbi8vIGFuZCBpbXBvcnRzIHRoZSBpbmNsdWRlZCBkYXRlcGlja2VyLmxlc3MgdG8gb3V0cHV0IGEgbWluaW1hbCBkYXRlcGlja2VyLmNzc1xuLy9cbi8vIFVzYWdlOlxuLy8gICAgIGxlc3NjIGJ1aWxkLmxlc3MgZGF0ZXBpY2tlci5jc3Ncbi8vXG4vLyBWYXJpYWJsZXMgYW5kIG1peGlucyBjb3BpZWQgZnJvbSBib290c3RyYXAgMi4wLjJcblxuLy8gVmFyaWFibGVzXG5AZ3JheUxpZ2h0OiAgICAgICAgICAgICAjOTk5O1xuQGdyYXlMaWdodGVyOiAgICAgICAgICAgI2VlZTtcbkB3aGl0ZTogICAgICAgICAgICAgICAgICNmZmY7XG5AbGlua0NvbG9yOiAgICAgICAgICAgICAjMDhjO1xuQGJ0blByaW1hcnlCYWNrZ3JvdW5kOiAgQGxpbmtDb2xvcjtcbkBvcmFuZ2U6ICAgICAgICAgICAgICAgICNmODk0MDY7XG5AaW5mb0JhY2tncm91bmQ6ICAgICAgICAjZDllZGY3O1xuQGJhc2VMaW5lSGVpZ2h0OiAgICAgICAgMThweDtcbkBiYXNlQm9yZGVyUmFkaXVzOiAgICAgIDRweDtcblxuLy8gTWl4aW5zXG5cbi8vIEJvcmRlciBSYWRpdXNcbi5ib3JkZXItcmFkaXVzKEByYWRpdXM6IDVweCkge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IEByYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogQHJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiBAcmFkaXVzO1xufVxuXG4vLyBCdXR0b24gYmFja2dyb3VuZHNcbi5idXR0b25CYWNrZ3JvdW5kKEBzdGFydENvbG9yLCBAZW5kQ29sb3IpIHtcbiAgLmdyYWRpZW50QmFyKEBzdGFydENvbG9yLCBAZW5kQ29sb3IpO1xuICAucmVzZXQtZmlsdGVyKCk7XG4gICY6aG92ZXIsICY6YWN0aXZlLCAmLmFjdGl2ZSwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBlbmRDb2xvcjtcbiAgfVxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAZW5kQ29sb3IsIDEwJSkgZShcIlxcOVwiKTtcbiAgfVxufVxuXG4vLyBSZXNldCBmaWx0ZXJzIGZvciBJRVxuLnJlc2V0LWZpbHRlcigpIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKTtcbn1cblxuLy8gR3JhZGllbnQgQmFyIENvbG9ycyBmb3IgYnV0dG9ucyBhbmQgYWxlcnRzXG4uZ3JhZGllbnRCYXIoQHByaW1hcnlDb2xvciwgQHNlY29uZGFyeUNvbG9yKSB7XG4gICNncmFkaWVudCA+IC52ZXJ0aWNhbChAcHJpbWFyeUNvbG9yLCBAc2Vjb25kYXJ5Q29sb3IpO1xuICBib3JkZXItY29sb3I6IEBzZWNvbmRhcnlDb2xvciBAc2Vjb25kYXJ5Q29sb3IgZGFya2VuKEBzZWNvbmRhcnlDb2xvciwgMTUlKTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4xKSByZ2JhKDAsMCwwLC4xKSBmYWRlaW4ocmdiYSgwLDAsMCwuMSksIDE1JSk7XG59XG5cbi8vIEdyYWRpZW50c1xuI2dyYWRpZW50IHtcbiAgLnZlcnRpY2FsKEBzdGFydENvbG9yOiAjNTU1LCBAZW5kQ29sb3I6ICMzMzMpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoQHN0YXJ0Q29sb3IsIEBlbmRDb2xvciwgNjAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBGRiAzLjYrXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBJRTEwXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAxMDAlLCBmcm9tKEBzdGFydENvbG9yKSwgdG8oQGVuZENvbG9yKSk7IC8vIFNhZmFyaSA0KywgQ2hyb21lIDIrXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gU2FmYXJpIDUuMSssIENocm9tZSAxMCtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gT3BlcmEgMTEuMTBcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gVGhlIHN0YW5kYXJkXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyVkJywgZW5kQ29sb3JzdHI9JyVkJywgR3JhZGllbnRUeXBlPTApXCIsQHN0YXJ0Q29sb3IsQGVuZENvbG9yKSk7IC8vIElFOSBhbmQgZG93blxuICB9XG59XG5cbkBpbXBvcnQgXCIuLi9sZXNzL2RhdGVwaWNrZXIubGVzc1wiO1xuIiwiLyohXG4gKiBEYXRlcGlja2VyIGZvciBCb290c3RyYXAgdjEuOS4wIChodHRwczovL2dpdGh1Yi5jb20vdXhzb2x1dGlvbnMvYm9vdHN0cmFwLWRhdGVwaWNrZXIpXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlIHYyLjAgKGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMClcbiAqL1xuXG4uZGF0ZXBpY2tlciB7XG4gIHBhZGRpbmc6IDRweDtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGRpcmVjdGlvbjogbHRyO1xufVxuLmRhdGVwaWNrZXItaW5saW5lIHtcbiAgd2lkdGg6IDIyMHB4O1xufVxuLmRhdGVwaWNrZXItcnRsIHtcbiAgZGlyZWN0aW9uOiBydGw7XG59XG4uZGF0ZXBpY2tlci1ydGwuZHJvcGRvd24tbWVudSB7XG4gIGxlZnQ6IGF1dG87XG59XG4uZGF0ZXBpY2tlci1ydGwgdGFibGUgdHIgdGQgc3BhbiB7XG4gIGZsb2F0OiByaWdodDtcbn1cbi5kYXRlcGlja2VyLWRyb3Bkb3duIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuLmRhdGVwaWNrZXItZHJvcGRvd246YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDdweCBzb2xpZCAjOTk5O1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cbi5kYXRlcGlja2VyLWRyb3Bkb3duOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAjZmZmO1xuICBib3JkZXItdG9wOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4uZGF0ZXBpY2tlci1kcm9wZG93bi5kYXRlcGlja2VyLW9yaWVudC1sZWZ0OmJlZm9yZSB7XG4gIGxlZnQ6IDZweDtcbn1cbi5kYXRlcGlja2VyLWRyb3Bkb3duLmRhdGVwaWNrZXItb3JpZW50LWxlZnQ6YWZ0ZXIge1xuICBsZWZ0OiA3cHg7XG59XG4uZGF0ZXBpY2tlci1kcm9wZG93bi5kYXRlcGlja2VyLW9yaWVudC1yaWdodDpiZWZvcmUge1xuICByaWdodDogNnB4O1xufVxuLmRhdGVwaWNrZXItZHJvcGRvd24uZGF0ZXBpY2tlci1vcmllbnQtcmlnaHQ6YWZ0ZXIge1xuICByaWdodDogN3B4O1xufVxuLmRhdGVwaWNrZXItZHJvcGRvd24uZGF0ZXBpY2tlci1vcmllbnQtYm90dG9tOmJlZm9yZSB7XG4gIHRvcDogLTdweDtcbn1cbi5kYXRlcGlja2VyLWRyb3Bkb3duLmRhdGVwaWNrZXItb3JpZW50LWJvdHRvbTphZnRlciB7XG4gIHRvcDogLTZweDtcbn1cbi5kYXRlcGlja2VyLWRyb3Bkb3duLmRhdGVwaWNrZXItb3JpZW50LXRvcDpiZWZvcmUge1xuICBib3R0b206IC03cHg7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci10b3A6IDdweCBzb2xpZCAjOTk5O1xufVxuLmRhdGVwaWNrZXItZHJvcGRvd24uZGF0ZXBpY2tlci1vcmllbnQtdG9wOmFmdGVyIHtcbiAgYm90dG9tOiAtNnB4O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItdG9wOiA2cHggc29saWQgI2ZmZjtcbn1cbi5kYXRlcGlja2VyIHRhYmxlIHtcbiAgbWFyZ2luOiAwO1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi5kYXRlcGlja2VyIHRkLFxuLmRhdGVwaWNrZXIgdGgge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXI6IG5vbmU7XG59XG4udGFibGUtc3RyaXBlZCAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCxcbi50YWJsZS1zdHJpcGVkIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5kYXk6aG92ZXIsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5kYXkuZm9jdXNlZCB7XG4gIGJhY2tncm91bmQ6ICNlZWU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLm9sZCxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLm5ldyB7XG4gIGNvbG9yOiAjOTk5O1xufVxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuZGlzYWJsZWQsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5kaXNhYmxlZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiAjOTk5O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5oaWdobGlnaHRlZCB7XG4gIGJhY2tncm91bmQ6ICNkOWVkZjc7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmhvdmVyLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGUxOWE7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZkZDQ5YSwgI2ZkZjU5YSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZmRkNDlhLCAjZmRmNTlhKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAxMDAlLCBmcm9tKCNmZGQ0OWEpLCB0bygjZmRmNTlhKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2ZkZDQ5YSwgI2ZkZjU5YSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmZGQ0OWEsICNmZGY1OWEpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZmRkNDlhLCAjZmRmNTlhKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjZmRkNDlhJywgZW5kQ29sb3JzdHI9JyNmZGY1OWEnLCBHcmFkaWVudFR5cGU9MCk7XG4gIGJvcmRlci1jb2xvcjogI2ZkZjU5YSAjZmRmNTlhICNmYmVkNTA7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpIHJnYmEoMCwgMCwgMCwgMC4xKSByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkPWZhbHNlKTtcbiAgY29sb3I6ICMwMDA7XG59XG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTpob3Zlcixcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmhvdmVyOmhvdmVyLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQ6aG92ZXIsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDpob3Zlcjpob3Zlcixcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmhvdmVyOmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmhvdmVyOmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmhvdmVyLmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkLmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmhvdmVyLmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6aG92ZXIuZGlzYWJsZWQsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZC5kaXNhYmxlZCxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmhvdmVyLmRpc2FibGVkLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXlbZGlzYWJsZWRdLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6aG92ZXJbZGlzYWJsZWRdLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWRbZGlzYWJsZWRdLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQ6aG92ZXJbZGlzYWJsZWRdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZjU5YTtcbn1cbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmhvdmVyOmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmhvdmVyOmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmhvdmVyLmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkLmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmRpc2FibGVkOmhvdmVyLmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYmYwNjkgXFw5O1xufVxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6aG92ZXI6aG92ZXIge1xuICBjb2xvcjogIzAwMDtcbn1cbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmFjdGl2ZTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZTpob3Zlcixcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLmRpc2FibGVkLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UuZGlzYWJsZWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZWVlO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5LFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXk6aG92ZXIsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheS5kaXNhYmxlZCxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5LmRpc2FibGVkOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZDE3YTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZjNjMTdhLCAjZjNlOTdhKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmM2MxN2EsICNmM2U5N2EpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDEwMCUsIGZyb20oI2YzYzE3YSksIHRvKCNmM2U5N2EpKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZjNjMTdhLCAjZjNlOTdhKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2YzYzE3YSwgI2YzZTk3YSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmM2MxN2EsICNmM2U5N2EpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyNmM2MxN2EnLCBlbmRDb2xvcnN0cj0nI2YzZTk3YScsIEdyYWRpZW50VHlwZT0wKTtcbiAgYm9yZGVyLWNvbG9yOiAjZjNlOTdhICNmM2U5N2EgI2VkZGUzNDtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSkgcmdiYSgwLCAwLCAwLCAwLjEpIHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQ9ZmFsc2UpO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5OmhvdmVyLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXk6aG92ZXI6aG92ZXIsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheS5kaXNhYmxlZDpob3Zlcixcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5LmRpc2FibGVkOmhvdmVyOmhvdmVyLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXk6YWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXk6aG92ZXI6YWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuZGlzYWJsZWQ6YWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuZGlzYWJsZWQ6aG92ZXI6YWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuYWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXk6aG92ZXIuYWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuZGlzYWJsZWQuYWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuZGlzYWJsZWQ6aG92ZXIuYWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuZGlzYWJsZWQsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheTpob3Zlci5kaXNhYmxlZCxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5LmRpc2FibGVkLmRpc2FibGVkLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuZGlzYWJsZWQ6aG92ZXIuZGlzYWJsZWQsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheVtkaXNhYmxlZF0sXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheTpob3ZlcltkaXNhYmxlZF0sXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheS5kaXNhYmxlZFtkaXNhYmxlZF0sXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheS5kaXNhYmxlZDpob3ZlcltkaXNhYmxlZF0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNlOTdhO1xufVxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXk6YWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXk6aG92ZXI6YWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuZGlzYWJsZWQ6YWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuZGlzYWJsZWQ6aG92ZXI6YWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuYWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXk6aG92ZXIuYWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuZGlzYWJsZWQuYWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuZGlzYWJsZWQ6aG92ZXIuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZTI0YiBcXDk7XG59XG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZCxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkOmhvdmVyLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuZGlzYWJsZWQsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5kaXNhYmxlZDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5ZTllOWU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2IzYjNiMywgIzgwODA4MCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjYjNiM2IzLCAjODA4MDgwKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAxMDAlLCBmcm9tKCNiM2IzYjMpLCB0bygjODA4MDgwKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2IzYjNiMywgIzgwODA4MCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNiM2IzYjMsICM4MDgwODApO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjYjNiM2IzLCAjODA4MDgwKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjYjNiM2IzJywgZW5kQ29sb3JzdHI9JyM4MDgwODAnLCBHcmFkaWVudFR5cGU9MCk7XG4gIGJvcmRlci1jb2xvcjogIzgwODA4MCAjODA4MDgwICM1OTU5NTk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpIHJnYmEoMCwgMCwgMCwgMC4xKSByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkPWZhbHNlKTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQ6aG92ZXIsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZDpob3Zlcjpob3Zlcixcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLmRpc2FibGVkOmhvdmVyLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuZGlzYWJsZWQ6aG92ZXI6aG92ZXIsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZDphY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZDpob3ZlcjphY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5kaXNhYmxlZDphY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5kaXNhYmxlZDpob3ZlcjphY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5hY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZDpob3Zlci5hY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5kaXNhYmxlZC5hY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5kaXNhYmxlZDpob3Zlci5hY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5kaXNhYmxlZCxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkOmhvdmVyLmRpc2FibGVkLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuZGlzYWJsZWQuZGlzYWJsZWQsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5kaXNhYmxlZDpob3Zlci5kaXNhYmxlZCxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkW2Rpc2FibGVkXSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkOmhvdmVyW2Rpc2FibGVkXSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLmRpc2FibGVkW2Rpc2FibGVkXSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLmRpc2FibGVkOmhvdmVyW2Rpc2FibGVkXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4MDgwODA7XG59XG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZDphY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZDpob3ZlcjphY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5kaXNhYmxlZDphY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5kaXNhYmxlZDpob3ZlcjphY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5hY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZDpob3Zlci5hY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5kaXNhYmxlZC5hY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5kaXNhYmxlZDpob3Zlci5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2NjY2IFxcOTtcbn1cbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZTpob3Zlcixcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZCxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDZkY2M7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzA4YywgIzAwNDRjYyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMDhjLCAjMDA0NGNjKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAxMDAlLCBmcm9tKCMwOGMpLCB0bygjMDA0NGNjKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzA4YywgIzAwNDRjYyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMwOGMsICMwMDQ0Y2MpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMDhjLCAjMDA0NGNjKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjMDhjJywgZW5kQ29sb3JzdHI9JyMwMDQ0Y2MnLCBHcmFkaWVudFR5cGU9MCk7XG4gIGJvcmRlci1jb2xvcjogIzAwNDRjYyAjMDA0NGNjICMwMDJhODA7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpIHJnYmEoMCwgMCwgMCwgMC4xKSByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkPWZhbHNlKTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmhvdmVyLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmhvdmVyOmhvdmVyLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyOmhvdmVyLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZTpob3ZlcjphY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQ6YWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyOmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5hY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmU6aG92ZXIuYWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkLmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZDpob3Zlci5hY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmU6aG92ZXIuZGlzYWJsZWQsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQuZGlzYWJsZWQsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIuZGlzYWJsZWQsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmVbZGlzYWJsZWRdLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmhvdmVyW2Rpc2FibGVkXSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZFtkaXNhYmxlZF0sXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQ6aG92ZXJbZGlzYWJsZWRdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNDRjYztcbn1cbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZTphY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmU6aG92ZXI6YWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZDpob3ZlcjphY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuYWN0aXZlLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmhvdmVyLmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZC5hY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMzM5OSBcXDk7XG59XG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyMyU7XG4gIGhlaWdodDogNTRweDtcbiAgbGluZS1oZWlnaHQ6IDU0cHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDElO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNHB4O1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbjpob3Zlcixcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uZm9jdXNlZCB7XG4gIGJhY2tncm91bmQ6ICNlZWU7XG59XG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmRpc2FibGVkLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5kaXNhYmxlZDpob3ZlciB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiAjOTk5O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDZkY2M7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzA4YywgIzAwNDRjYyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMDhjLCAjMDA0NGNjKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAxMDAlLCBmcm9tKCMwOGMpLCB0bygjMDA0NGNjKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzA4YywgIzAwNDRjYyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMwOGMsICMwMDQ0Y2MpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMDhjLCAjMDA0NGNjKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjMDhjJywgZW5kQ29sb3JzdHI9JyMwMDQ0Y2MnLCBHcmFkaWVudFR5cGU9MCk7XG4gIGJvcmRlci1jb2xvcjogIzAwNDRjYyAjMDA0NGNjICMwMDJhODA7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpIHJnYmEoMCwgMCwgMCwgMC4xKSByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkPWZhbHNlKTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXIsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3Zlcjpob3Zlcixcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXI6aG92ZXIsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTphY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3ZlcjphY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDphY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3ZlcjphY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5hY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3Zlci5hY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZC5hY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3Zlci5hY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZCxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyLmRpc2FibGVkLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQuZGlzYWJsZWQsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3Zlci5kaXNhYmxlZCxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlW2Rpc2FibGVkXSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyW2Rpc2FibGVkXSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkW2Rpc2FibGVkXSxcbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyW2Rpc2FibGVkXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDQ0Y2M7XG59XG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTphY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3ZlcjphY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDphY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3ZlcjphY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5hY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3Zlci5hY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZC5hY3RpdmUsXG4uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3Zlci5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzMzk5IFxcOTtcbn1cbi5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4ub2xkLFxuLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5uZXcge1xuICBjb2xvcjogIzk5OTtcbn1cbi5kYXRlcGlja2VyIC5kYXRlcGlja2VyLXN3aXRjaCB7XG4gIHdpZHRoOiAxNDVweDtcbn1cbi5kYXRlcGlja2VyIC5kYXRlcGlja2VyLXN3aXRjaCxcbi5kYXRlcGlja2VyIC5wcmV2LFxuLmRhdGVwaWNrZXIgLm5leHQsXG4uZGF0ZXBpY2tlciB0Zm9vdCB0ciB0aCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5kYXRlcGlja2VyIC5kYXRlcGlja2VyLXN3aXRjaDpob3Zlcixcbi5kYXRlcGlja2VyIC5wcmV2OmhvdmVyLFxuLmRhdGVwaWNrZXIgLm5leHQ6aG92ZXIsXG4uZGF0ZXBpY2tlciB0Zm9vdCB0ciB0aDpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNlZWU7XG59XG4uZGF0ZXBpY2tlciAucHJldi5kaXNhYmxlZCxcbi5kYXRlcGlja2VyIC5uZXh0LmRpc2FibGVkIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLmRhdGVwaWNrZXIgLmN3IHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICB3aWR0aDogMTJweDtcbiAgcGFkZGluZzogMCAycHggMCA1cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4uaW5wdXQtYXBwZW5kLmRhdGUgLmFkZC1vbixcbi5pbnB1dC1wcmVwZW5kLmRhdGUgLmFkZC1vbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5pbnB1dC1hcHBlbmQuZGF0ZSAuYWRkLW9uIGksXG4uaW5wdXQtcHJlcGVuZC5kYXRlIC5hZGQtb24gaSB7XG4gIG1hcmdpbi10b3A6IDNweDtcbn1cbi5pbnB1dC1kYXRlcmFuZ2UgaW5wdXQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uaW5wdXQtZGF0ZXJhbmdlIGlucHV0OmZpcnN0LWNoaWxkIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAzcHggMCAwIDNweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAzcHggMCAwIDNweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4IDAgMCAzcHg7XG59XG4uaW5wdXQtZGF0ZXJhbmdlIGlucHV0Omxhc3QtY2hpbGQge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDAgM3B4IDNweCAwO1xuICAtbW96LWJvcmRlci1yYWRpdXM6IDAgM3B4IDNweCAwO1xuICBib3JkZXItcmFkaXVzOiAwIDNweCAzcHggMDtcbn1cbi5pbnB1dC1kYXRlcmFuZ2UgLmFkZC1vbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIG1pbi13aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBwYWRkaW5nOiA0cHggNXB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMCAjZmZmO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBtYXJnaW4tbGVmdDogLTVweDtcbiAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xufVxuLmRhdGVwaWNrZXIuZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDAwO1xuICBmbG9hdDogbGVmdDtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWluLXdpZHRoOiAxNjBweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgLW1vei1ib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICpib3JkZXItcmlnaHQtd2lkdGg6IDJweDtcbiAgKmJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcbiAgY29sb3I6ICMzMzMzMzM7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG59XG4uZGF0ZXBpY2tlci5kcm9wZG93bi1tZW51IHRoLFxuLmRhdGVwaWNrZXIuZGF0ZXBpY2tlci1pbmxpbmUgdGgsXG4uZGF0ZXBpY2tlci5kcm9wZG93bi1tZW51IHRkLFxuLmRhdGVwaWNrZXIuZGF0ZXBpY2tlci1pbmxpbmUgdGQge1xuICBwYWRkaW5nOiA0cHggNXB4O1xufVxuLyojIHNvdXJjZU1hcHBpbmdVUkw9Ym9vdHN0cmFwLWRhdGVwaWNrZXIuc3RhbmRhbG9uZS5jc3MubWFwICovIiwiLy8gRGF0ZXBpY2tlciBzdGFuZGFsb25lIC5sZXNzIGJ1aWxkZmlsZS4gIEluY2x1ZGVzIGFsbCBuZWNlc3NhcnkgbWl4aW5zL3ZhcmlhYmxlcy9ydWxlcyBmcm9tIGJvb3RzdHJhcFxuLy8gYW5kIGltcG9ydHMgdGhlIGluY2x1ZGVkIGRhdGVwaWNrZXIubGVzcyB0byBvdXRwdXQgYSBtaW5pbWFsIHN0YW5kYWxvbmUgZGF0ZXBpY2tlci5jc3Ncbi8vXG4vLyBVc2FnZTpcbi8vICAgICBsZXNzYyBidWlsZF9zdGFuZGFsb25lLmxlc3MgZGF0ZXBpY2tlci5jc3Ncbi8vXG4vLyBWYXJpYWJsZXMsIG1peGlucywgYW5kIHJ1bGVzIGNvcGllZCBmcm9tIGJvb3RzdHJhcCAyLjAuMlxuXG5AaW1wb3J0IFwiYnVpbGQubGVzc1wiO1xuXG4vLyBEcm9wZG93biBjc3NcblxuQHppbmRleERyb3Bkb3duOiAgICAgICAgICAgICAgICAxMDAwO1xuQGdyYXlEYXJrOiAgICAgICAgICAgICAgICAgICAgICAjMzMzO1xuQGJhc2VMaW5lSGVpZ2h0OiAgICAgICAgICAgICAgICAyMHB4O1xuQHRhYmxlQmFja2dyb3VuZDogICAgICAgICAgICAgICB0cmFuc3BhcmVudDsgLy8gb3ZlcmFsbCBiYWNrZ3JvdW5kLWNvbG9yXG5AZHJvcGRvd25CYWNrZ3JvdW5kOiAgICAgICAgICAgIEB3aGl0ZTtcbkBkcm9wZG93bkJvcmRlcjogICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwuMik7XG5AZHJvcGRvd25MaW5rQ29sb3I6ICAgICAgICAgICAgIEBncmF5RGFyaztcbkBkcm9wZG93bkxpbmtDb2xvckhvdmVyOiAgICAgICAgQHdoaXRlO1xuQGRyb3Bkb3duTGlua0JhY2tncm91bmRIb3ZlcjogICBAbGlua0NvbG9yO1xuXG4vLyBEcm9wIHNoYWRvd3Ncbi5ib3gtc2hhZG93KEBzaGFkb3cpIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBAc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6IEBzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogQHNoYWRvdztcbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnUgKHVsKVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmRhdGVwaWNrZXJ7XG4gICYuZHJvcGRvd24tbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IEB6aW5kZXhEcm9wZG93bjtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBub25lOyAvLyBub25lIGJ5IGRlZmF1bHQsIGJ1dCBibG9jayBvbiBcIm9wZW5cIiBvZiB0aGUgbWVudVxuICAgIG1pbi13aWR0aDogMTYwcHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZHJvcGRvd25CYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMik7XG4gICAgLmJvcmRlci1yYWRpdXMoNXB4KTtcbiAgICAuYm94LXNoYWRvdygwIDVweCAxMHB4IHJnYmEoMCwwLDAsLjIpKTtcbiAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgICAgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgICpib3JkZXItcmlnaHQtd2lkdGg6IDJweDtcbiAgICAqYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuXG4gICAgLy8gTm9ybWFsbHkgaW5oZXJpdGVkIGZyb20gYm9vdHN0cmFwJ3MgYGJvZHlgXG4gICAgY29sb3I6ICMzMzMzMzM7XG4gICAgZm9udC1zaXplOjEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IEBiYXNlTGluZUhlaWdodDtcbiAgfVxuXG4gICYuZHJvcGRvd24tbWVudSwgJi5kYXRlcGlja2VyLWlubGluZSB7XG4gICAgdGgsIHRkIHtcbiAgICAgIHBhZGRpbmc6IDRweCA1cHg7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIE93bCBDYXJvdXNlbCB2Mi4zLjRcbiAqIENvcHlyaWdodCAyMDEzLTIwMTggRGF2aWQgRGV1dHNjaFxuICogTGljZW5zZWQgdW5kZXI6IFNFRSBMSUNFTlNFIElOIGh0dHBzOi8vZ2l0aHViLmNvbS9Pd2xDYXJvdXNlbDIvT3dsQ2Fyb3VzZWwyL2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqL1xuLm93bC1jYXJvdXNlbCwub3dsLWNhcm91c2VsIC5vd2wtaXRlbXstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnQ7cG9zaXRpb246cmVsYXRpdmV9Lm93bC1jYXJvdXNlbHtkaXNwbGF5Om5vbmU7d2lkdGg6MTAwJTt6LWluZGV4OjF9Lm93bC1jYXJvdXNlbCAub3dsLXN0YWdle3Bvc2l0aW9uOnJlbGF0aXZlOy1tcy10b3VjaC1hY3Rpb246cGFuLVk7dG91Y2gtYWN0aW9uOm1hbmlwdWxhdGlvbjstbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVufS5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZTphZnRlcntjb250ZW50OlwiLlwiO2Rpc3BsYXk6YmxvY2s7Y2xlYXI6Ym90aDt2aXNpYmlsaXR5OmhpZGRlbjtsaW5lLWhlaWdodDowO2hlaWdodDowfS5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZS1vdXRlcntwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApfS5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtLC5vd2wtY2Fyb3VzZWwgLm93bC13cmFwcGVyey13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKX0ub3dsLWNhcm91c2VsIC5vd2wtaXRlbXttaW4taGVpZ2h0OjFweDtmbG9hdDpsZWZ0Oy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LXdlYmtpdC10b3VjaC1jYWxsb3V0Om5vbmV9Lm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gaW1ne2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJX0ub3dsLWNhcm91c2VsIC5vd2wtZG90cy5kaXNhYmxlZCwub3dsLWNhcm91c2VsIC5vd2wtbmF2LmRpc2FibGVke2Rpc3BsYXk6bm9uZX0ubm8tanMgLm93bC1jYXJvdXNlbCwub3dsLWNhcm91c2VsLm93bC1sb2FkZWR7ZGlzcGxheTpibG9ja30ub3dsLWNhcm91c2VsIC5vd2wtZG90LC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1uZXh0LC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1wcmV2e2N1cnNvcjpwb2ludGVyOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTsta2h0bWwtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbi5vd2wtbmV4dCwub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbi5vd2wtcHJldiwub3dsLWNhcm91c2VsIGJ1dHRvbi5vd2wtZG90e2JhY2tncm91bmQ6MCAwO2NvbG9yOmluaGVyaXQ7Ym9yZGVyOm5vbmU7cGFkZGluZzowIWltcG9ydGFudDtmb250OmluaGVyaXR9Lm93bC1jYXJvdXNlbC5vd2wtbG9hZGluZ3tvcGFjaXR5OjA7ZGlzcGxheTpibG9ja30ub3dsLWNhcm91c2VsLm93bC1oaWRkZW57b3BhY2l0eTowfS5vd2wtY2Fyb3VzZWwub3dsLXJlZnJlc2ggLm93bC1pdGVte3Zpc2liaWxpdHk6aGlkZGVufS5vd2wtY2Fyb3VzZWwub3dsLWRyYWcgLm93bC1pdGVtey1tcy10b3VjaC1hY3Rpb246cGFuLXk7dG91Y2gtYWN0aW9uOnBhbi15Oy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ub3dsLWNhcm91c2VsLm93bC1ncmFie2N1cnNvcjptb3ZlO2N1cnNvcjpncmFifS5vd2wtY2Fyb3VzZWwub3dsLXJ0bHtkaXJlY3Rpb246cnRsfS5vd2wtY2Fyb3VzZWwub3dsLXJ0bCAub3dsLWl0ZW17ZmxvYXQ6cmlnaHR9Lm93bC1jYXJvdXNlbCAuYW5pbWF0ZWR7YW5pbWF0aW9uLWR1cmF0aW9uOjFzO2FuaW1hdGlvbi1maWxsLW1vZGU6Ym90aH0ub3dsLWNhcm91c2VsIC5vd2wtYW5pbWF0ZWQtaW57ei1pbmRleDowfS5vd2wtY2Fyb3VzZWwgLm93bC1hbmltYXRlZC1vdXR7ei1pbmRleDoxfS5vd2wtY2Fyb3VzZWwgLmZhZGVPdXR7YW5pbWF0aW9uLW5hbWU6ZmFkZU91dH1Aa2V5ZnJhbWVzIGZhZGVPdXR7MCV7b3BhY2l0eToxfTEwMCV7b3BhY2l0eTowfX0ub3dsLWhlaWdodHt0cmFuc2l0aW9uOmhlaWdodCAuNXMgZWFzZS1pbi1vdXR9Lm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLm93bC1sYXp5e29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjRzIGVhc2V9Lm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLm93bC1sYXp5Om5vdChbc3JjXSksLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLm93bC1sYXp5W3NyY149XCJcIl17bWF4LWhlaWdodDowfS5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIGltZy5vd2wtbGF6eXt0cmFuc2Zvcm0tc3R5bGU6cHJlc2VydmUtM2R9Lm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXdyYXBwZXJ7cG9zaXRpb246cmVsYXRpdmU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDojMDAwfS5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5LWljb257cG9zaXRpb246YWJzb2x1dGU7aGVpZ2h0OjgwcHg7d2lkdGg6ODBweDtsZWZ0OjUwJTt0b3A6NTAlO21hcmdpbi1sZWZ0Oi00MHB4O21hcmdpbi10b3A6LTQwcHg7YmFja2dyb3VuZDp1cmwob3dsLnZpZGVvLnBsYXkucG5nKSBuby1yZXBlYXQ7Y3Vyc29yOnBvaW50ZXI7ei1pbmRleDoxOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjFzIGVhc2V9Lm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbjpob3ZlcnstbXMtdHJhbnNmb3JtOnNjYWxlKDEuMywxLjMpO3RyYW5zZm9ybTpzY2FsZSgxLjMsMS4zKX0ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXBsYXktaWNvbiwub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXRue2Rpc3BsYXk6bm9uZX0ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tdG57b3BhY2l0eTowO2hlaWdodDoxMDAlO2JhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47dHJhbnNpdGlvbjpvcGFjaXR5IC40cyBlYXNlfS5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1mcmFtZXtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjE7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX0iLCIvKipcbiAqIE93bCBDYXJvdXNlbCB2Mi4zLjRcbiAqIENvcHlyaWdodCAyMDEzLTIwMTggRGF2aWQgRGV1dHNjaFxuICogTGljZW5zZWQgdW5kZXI6IFNFRSBMSUNFTlNFIElOIGh0dHBzOi8vZ2l0aHViLmNvbS9Pd2xDYXJvdXNlbDIvT3dsQ2Fyb3VzZWwyL2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqL1xuLm93bC10aGVtZSAub3dsLWRvdHMsLm93bC10aGVtZSAub3dsLW5hdnt0ZXh0LWFsaWduOmNlbnRlcjstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9Lm93bC10aGVtZSAub3dsLW5hdnttYXJnaW4tdG9wOjEwcHh9Lm93bC10aGVtZSAub3dsLW5hdiBbY2xhc3MqPW93bC1de2NvbG9yOiNGRkY7Zm9udC1zaXplOjE0cHg7bWFyZ2luOjVweDtwYWRkaW5nOjRweCA3cHg7YmFja2dyb3VuZDojRDZENkQ2O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2N1cnNvcjpwb2ludGVyO2JvcmRlci1yYWRpdXM6M3B4fS5vd2wtdGhlbWUgLm93bC1uYXYgW2NsYXNzKj1vd2wtXTpob3ZlcntiYWNrZ3JvdW5kOiM4Njk3OTE7Y29sb3I6I0ZGRjt0ZXh0LWRlY29yYXRpb246bm9uZX0ub3dsLXRoZW1lIC5vd2wtbmF2IC5kaXNhYmxlZHtvcGFjaXR5Oi41O2N1cnNvcjpkZWZhdWx0fS5vd2wtdGhlbWUgLm93bC1uYXYuZGlzYWJsZWQrLm93bC1kb3Rze21hcmdpbi10b3A6MTBweH0ub3dsLXRoZW1lIC5vd2wtZG90cyAub3dsLWRvdHtkaXNwbGF5OmlubGluZS1ibG9jazt6b29tOjF9Lm93bC10aGVtZSAub3dsLWRvdHMgLm93bC1kb3Qgc3Bhbnt3aWR0aDoxMHB4O2hlaWdodDoxMHB4O21hcmdpbjo1cHggN3B4O2JhY2tncm91bmQ6I0Q2RDZENjtkaXNwbGF5OmJsb2NrOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTp2aXNpYmxlO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgZWFzZTtib3JkZXItcmFkaXVzOjMwcHh9Lm93bC10aGVtZSAub3dsLWRvdHMgLm93bC1kb3QuYWN0aXZlIHNwYW4sLm93bC10aGVtZSAub3dsLWRvdHMgLm93bC1kb3Q6aG92ZXIgc3BhbntiYWNrZ3JvdW5kOiM4Njk3OTF9IiwiLyohIEZsaWNraXR5IHYyLjIuMVxuaHR0cHM6Ly9mbGlja2l0eS5tZXRhZml6enkuY29cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLmZsaWNraXR5LWVuYWJsZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5mbGlja2l0eS1lbmFibGVkOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuXG4uZmxpY2tpdHktdmlld3BvcnQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmZsaWNraXR5LXNsaWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLyogZHJhZ2dhYmxlICovXG5cbi5mbGlja2l0eS1lbmFibGVkLmlzLWRyYWdnYWJsZSB7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5mbGlja2l0eS1lbmFibGVkLmlzLWRyYWdnYWJsZSAuZmxpY2tpdHktdmlld3BvcnQge1xuICBjdXJzb3I6IG1vdmU7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xuICBjdXJzb3I6IGdyYWI7XG59XG5cbi5mbGlja2l0eS1lbmFibGVkLmlzLWRyYWdnYWJsZSAuZmxpY2tpdHktdmlld3BvcnQuaXMtcG9pbnRlci1kb3duIHtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xuICBjdXJzb3I6IGdyYWJiaW5nO1xufVxuXG4vKiAtLS0tIGZsaWNraXR5LWJ1dHRvbiAtLS0tICovXG5cbi5mbGlja2l0eS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6IGhzbGEoMCwgMCUsIDEwMCUsIDAuNzUpO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4uZmxpY2tpdHktYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmZsaWNraXR5LWJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDVweCAjMTlGO1xufVxuXG4uZmxpY2tpdHktYnV0dG9uOmFjdGl2ZSB7XG4gIG9wYWNpdHk6IDAuNjtcbn1cblxuLmZsaWNraXR5LWJ1dHRvbjpkaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuMztcbiAgY3Vyc29yOiBhdXRvO1xuICAvKiBwcmV2ZW50IGRpc2FibGVkIGJ1dHRvbiBmcm9tIGNhcHR1cmluZyBwb2ludGVyIHVwIGV2ZW50LiAjNzE2ICovXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uZmxpY2tpdHktYnV0dG9uLWljb24ge1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG5cbi8qIC0tLS0gcHJldmlvdXMvbmV4dCBidXR0b25zIC0tLS0gKi9cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ge1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAvKiB2ZXJ0aWNhbGx5IGNlbnRlciAqL1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLnByZXZpb3VzIHsgbGVmdDogMTBweDsgfVxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ubmV4dCB7IHJpZ2h0OiAxMHB4OyB9XG4vKiByaWdodCB0byBsZWZ0ICovXG4uZmxpY2tpdHktcnRsIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLnByZXZpb3VzIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDEwcHg7XG59XG4uZmxpY2tpdHktcnRsIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLm5leHQge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTBweDtcbn1cblxuLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24gLmZsaWNraXR5LWJ1dHRvbi1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAyMCU7XG4gIHRvcDogMjAlO1xuICB3aWR0aDogNjAlO1xuICBoZWlnaHQ6IDYwJTtcbn1cblxuLyogLS0tLSBwYWdlIGRvdHMgLS0tLSAqL1xuXG4uZmxpY2tpdHktcGFnZS1kb3RzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgYm90dG9tOiAtMjVweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZmxpY2tpdHktcnRsIC5mbGlja2l0eS1wYWdlLWRvdHMgeyBkaXJlY3Rpb246IHJ0bDsgfVxuXG4uZmxpY2tpdHktcGFnZS1kb3RzIC5kb3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIG1hcmdpbjogMCA4cHg7XG4gIGJhY2tncm91bmQ6ICMzMzM7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZmxpY2tpdHktcGFnZS1kb3RzIC5kb3QuaXMtc2VsZWN0ZWQge1xuICBvcGFjaXR5OiAxO1xufVxuIiwiLypcbiAqIFRoZSBNSVQgTGljZW5zZVxuICogQ29weXJpZ2h0IChjKSAyMDEyIE1hdGlhcyBNZW5vIDxtQHRpYXMubWU+XG4gKi9cbkAtd2Via2l0LWtleWZyYW1lcyBwYXNzaW5nLXRocm91Z2gge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7IH1cbiAgMzAlLCA3MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwcHgpOyB9IH1cbkAtbW96LWtleWZyYW1lcyBwYXNzaW5nLXRocm91Z2gge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7IH1cbiAgMzAlLCA3MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwcHgpOyB9IH1cbkBrZXlmcmFtZXMgcGFzc2luZy10aHJvdWdoIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpOyB9XG4gIDMwJSwgNzAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwcHgpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwcHgpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MHB4KTsgfSB9XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGUtaW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7IH1cbiAgMzAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7IH0gfVxuQC1tb3ota2V5ZnJhbWVzIHNsaWRlLWluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpOyB9XG4gIDMwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpOyB9IH1cbkBrZXlmcmFtZXMgc2xpZGUtaW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwcHgpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDBweCk7IH1cbiAgMzAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7IH0gfVxuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDEwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuQC1tb3ota2V5ZnJhbWVzIHB1bHNlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDEwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuQGtleWZyYW1lcyBwdWxzZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAxMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cbi5kcm9wem9uZSwgLmRyb3B6b25lICoge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5kcm9wem9uZSB7XG4gIG1pbi1oZWlnaHQ6IDE1MHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBwYWRkaW5nOiAyMHB4IDIwcHg7IH1cbiAgLmRyb3B6b25lLmR6LWNsaWNrYWJsZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmRyb3B6b25lLmR6LWNsaWNrYWJsZSAqIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgIC5kcm9wem9uZS5kei1jbGlja2FibGUgLmR6LW1lc3NhZ2UsIC5kcm9wem9uZS5kei1jbGlja2FibGUgLmR6LW1lc3NhZ2UgKiB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmRyb3B6b25lLmR6LXN0YXJ0ZWQgLmR6LW1lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmRyb3B6b25lLmR6LWRyYWctaG92ZXIge1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7IH1cbiAgICAuZHJvcHpvbmUuZHotZHJhZy1ob3ZlciAuZHotbWVzc2FnZSB7XG4gICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgLmRyb3B6b25lIC5kei1tZXNzYWdlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAyZW0gMDsgfVxuICAuZHJvcHpvbmUgLmR6LXByZXZpZXcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBtYXJnaW46IDE2cHg7XG4gICAgbWluLWhlaWdodDogMTAwcHg7IH1cbiAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXc6aG92ZXIge1xuICAgICAgei1pbmRleDogMTAwMDsgfVxuICAgICAgLmRyb3B6b25lIC5kei1wcmV2aWV3OmhvdmVyIC5kei1kZXRhaWxzIHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5kcm9wem9uZSAuZHotcHJldmlldy5kei1maWxlLXByZXZpZXcgLmR6LWltYWdlIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjOTk5O1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2VlZSwgI2RkZCk7IH1cbiAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcuZHotZmlsZS1wcmV2aWV3IC5kei1kZXRhaWxzIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcuZHotaW1hZ2UtcHJldmlldyB7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxuICAgICAgLmRyb3B6b25lIC5kei1wcmV2aWV3LmR6LWltYWdlLXByZXZpZXcgLmR6LWRldGFpbHMge1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGxpbmVhcjtcbiAgICAgICAgLW1zLXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XG4gICAgICAgIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBsaW5lYXI7IH1cbiAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LXJlbW92ZSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1yZW1vdmU6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5kcm9wem9uZSAuZHotcHJldmlldzpob3ZlciAuZHotZGV0YWlscyB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1kZXRhaWxzIHtcbiAgICAgIHotaW5kZXg6IDIwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAyZW0gMWVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlOyB9XG4gICAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWRldGFpbHMgLmR6LXNpemUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgICAgLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1kZXRhaWxzIC5kei1maWxlbmFtZSB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAgICAgLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1kZXRhaWxzIC5kei1maWxlbmFtZTpob3ZlciBzcGFuIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIwMCwgMjAwLCAyMDAsIDAuOCk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOyB9XG4gICAgICAgIC5kcm9wem9uZSAuZHotcHJldmlldyAuZHotZGV0YWlscyAuZHotZmlsZW5hbWU6bm90KDpob3Zlcikge1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH1cbiAgICAgICAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWRldGFpbHMgLmR6LWZpbGVuYW1lOm5vdCg6aG92ZXIpIHNwYW4ge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5kcm9wem9uZSAuZHotcHJldmlldyAuZHotZGV0YWlscyAuZHotZmlsZW5hbWUgc3BhbiwgLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1kZXRhaWxzIC5kei1zaXplIHNwYW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4gICAgICAgIHBhZGRpbmc6IDAgMC40ZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAgIC5kcm9wem9uZSAuZHotcHJldmlldzpob3ZlciAuZHotaW1hZ2UgaW1nIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjA1LCAxLjA1KTtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxLjA1LCAxLjA1KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMDUsIDEuMDUpO1xuICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxLjA1LCAxLjA1KTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSwgMS4wNSk7XG4gICAgICAtd2Via2l0LWZpbHRlcjogYmx1cig4cHgpO1xuICAgICAgZmlsdGVyOiBibHVyKDhweCk7IH1cbiAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWltYWdlIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgaGVpZ2h0OiAxMjBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgei1pbmRleDogMTA7IH1cbiAgICAgIC5kcm9wem9uZSAuZHotcHJldmlldyAuZHotaW1hZ2UgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcuZHotc3VjY2VzcyAuZHotc3VjY2Vzcy1tYXJrIHtcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBwYXNzaW5nLXRocm91Z2ggM3MgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTtcbiAgICAgIC1tb3otYW5pbWF0aW9uOiBwYXNzaW5nLXRocm91Z2ggM3MgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTtcbiAgICAgIC1tcy1hbmltYXRpb246IHBhc3NpbmctdGhyb3VnaCAzcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xuICAgICAgLW8tYW5pbWF0aW9uOiBwYXNzaW5nLXRocm91Z2ggM3MgY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTtcbiAgICAgIGFuaW1hdGlvbjogcGFzc2luZy10aHJvdWdoIDNzIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7IH1cbiAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcuZHotZXJyb3IgLmR6LWVycm9yLW1hcmsge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBzbGlkZS1pbiAzcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xuICAgICAgLW1vei1hbmltYXRpb246IHNsaWRlLWluIDNzIGN1YmljLWJlemllcigwLjc3LCAwLCAwLjE3NSwgMSk7XG4gICAgICAtbXMtYW5pbWF0aW9uOiBzbGlkZS1pbiAzcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xuICAgICAgLW8tYW5pbWF0aW9uOiBzbGlkZS1pbiAzcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpO1xuICAgICAgYW5pbWF0aW9uOiBzbGlkZS1pbiAzcyBjdWJpYy1iZXppZXIoMC43NywgMCwgMC4xNzUsIDEpOyB9XG4gICAgLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1zdWNjZXNzLW1hcmssIC5kcm9wem9uZSAuZHotcHJldmlldyAuZHotZXJyb3ItbWFyayB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB6LWluZGV4OiA1MDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0yN3B4O1xuICAgICAgbWFyZ2luLXRvcDogLTI3cHg7IH1cbiAgICAgIC5kcm9wem9uZSAuZHotcHJldmlldyAuZHotc3VjY2Vzcy1tYXJrIHN2ZywgLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1lcnJvci1tYXJrIHN2ZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogNTRweDtcbiAgICAgICAgaGVpZ2h0OiA1NHB4OyB9XG4gICAgLmRyb3B6b25lIC5kei1wcmV2aWV3LmR6LXByb2Nlc3NpbmcgLmR6LXByb2dyZXNzIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xuICAgICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbiAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjsgfVxuICAgIC5kcm9wem9uZSAuZHotcHJldmlldy5kei1jb21wbGV0ZSAuZHotcHJvZ3Jlc3Mge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2UtaW47XG4gICAgICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlLWluO1xuICAgICAgLW1zLXRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlLWluO1xuICAgICAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIGVhc2UtaW47XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgZWFzZS1pbjsgfVxuICAgIC5kcm9wem9uZSAuZHotcHJldmlldzpub3QoLmR6LXByb2Nlc3NpbmcpIC5kei1wcm9ncmVzcyB7XG4gICAgICAtd2Via2l0LWFuaW1hdGlvbjogcHVsc2UgNnMgZWFzZSBpbmZpbml0ZTtcbiAgICAgIC1tb3otYW5pbWF0aW9uOiBwdWxzZSA2cyBlYXNlIGluZmluaXRlO1xuICAgICAgLW1zLWFuaW1hdGlvbjogcHVsc2UgNnMgZWFzZSBpbmZpbml0ZTtcbiAgICAgIC1vLWFuaW1hdGlvbjogcHVsc2UgNnMgZWFzZSBpbmZpbml0ZTtcbiAgICAgIGFuaW1hdGlvbjogcHVsc2UgNnMgZWFzZSBpbmZpbml0ZTsgfVxuICAgIC5kcm9wem9uZSAuZHotcHJldmlldyAuZHotcHJvZ3Jlc3Mge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHotaW5kZXg6IDEwMDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC00MHB4O1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgLmRyb3B6b25lIC5kei1wcmV2aWV3IC5kei1wcm9ncmVzcyAuZHotdXBsb2FkIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzMzMztcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzY2NiwgIzQ0NCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IHdpZHRoIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IHdpZHRoIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICAtbXMtdHJhbnNpdGlvbjogd2lkdGggMzAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIC1vLXRyYW5zaXRpb246IHdpZHRoIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAzMDBtcyBlYXNlLWluLW91dDsgfVxuICAgIC5kcm9wem9uZSAuZHotcHJldmlldy5kei1lcnJvciAuZHotZXJyb3ItbWVzc2FnZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5kcm9wem9uZSAuZHotcHJldmlldy5kei1lcnJvcjpob3ZlciAuZHotZXJyb3ItbWVzc2FnZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cbiAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWVycm9yLW1lc3NhZ2Uge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG4gICAgICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICAgICAgLW1zLXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICAgICAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIHRvcDogMTMwcHg7XG4gICAgICBsZWZ0OiAtMTBweDtcbiAgICAgIHdpZHRoOiAxNDBweDtcbiAgICAgIGJhY2tncm91bmQ6ICNiZTI2MjY7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjYmUyNjI2LCAjYTkyMjIyKTtcbiAgICAgIHBhZGRpbmc6IDAuNWVtIDEuMmVtO1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgICAuZHJvcHpvbmUgLmR6LXByZXZpZXcgLmR6LWVycm9yLW1lc3NhZ2U6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC02cHg7XG4gICAgICAgIGxlZnQ6IDY0cHg7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgI2JlMjYyNjsgfVxuLnZ1ZS1kcm9wem9uZXtib3JkZXI6MnB4IHNvbGlkICNlNWU1ZTU7Zm9udC1mYW1pbHk6QXJpYWwsc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzouMnB4O2NvbG9yOiM3Nzc7dHJhbnNpdGlvbjouMnMgbGluZWFyfS52dWUtZHJvcHpvbmU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZjZmNmY2fS52dWUtZHJvcHpvbmU+aXtjb2xvcjojY2NjfS52dWUtZHJvcHpvbmU+LmR6LXByZXZpZXcgLmR6LWltYWdle2JvcmRlci1yYWRpdXM6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS52dWUtZHJvcHpvbmU+LmR6LXByZXZpZXcgLmR6LWltYWdlIGltZzpub3QoW3NyY10pe3dpZHRoOjIwMHB4O2hlaWdodDoyMDBweH0udnVlLWRyb3B6b25lPi5kei1wcmV2aWV3IC5kei1pbWFnZTpob3ZlciBpbWd7dHJhbnNmb3JtOm5vbmU7LXdlYmtpdC1maWx0ZXI6bm9uZX0udnVlLWRyb3B6b25lPi5kei1wcmV2aWV3IC5kei1kZXRhaWxze2JvdHRvbTowO3RvcDowO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDMzLDE1MCwyNDMsLjgpO3RyYW5zaXRpb246b3BhY2l0eSAuMnMgbGluZWFyO3RleHQtYWxpZ246bGVmdH0udnVlLWRyb3B6b25lPi5kei1wcmV2aWV3IC5kei1kZXRhaWxzIC5kei1maWxlbmFtZXtvdmVyZmxvdzpoaWRkZW59LnZ1ZS1kcm9wem9uZT4uZHotcHJldmlldyAuZHotZGV0YWlscyAuZHotZmlsZW5hbWUgc3BhbiwudnVlLWRyb3B6b25lPi5kei1wcmV2aWV3IC5kei1kZXRhaWxzIC5kei1zaXplIHNwYW57YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0udnVlLWRyb3B6b25lPi5kei1wcmV2aWV3IC5kei1kZXRhaWxzIC5kei1maWxlbmFtZTpub3QoOmhvdmVyKSBzcGFue2JvcmRlcjpub25lfS52dWUtZHJvcHpvbmU+LmR6LXByZXZpZXcgLmR6LWRldGFpbHMgLmR6LWZpbGVuYW1lOmhvdmVyIHNwYW57YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6bm9uZX0udnVlLWRyb3B6b25lPi5kei1wcmV2aWV3IC5kei1wcm9ncmVzcyAuZHotdXBsb2Fke2JhY2tncm91bmQ6I2NjY30udnVlLWRyb3B6b25lPi5kei1wcmV2aWV3IC5kei1yZW1vdmV7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDozMDtjb2xvcjojZmZmO21hcmdpbi1sZWZ0OjE1cHg7cGFkZGluZzoxMHB4O3RvcDppbmhlcml0O2JvdHRvbToxNXB4O2JvcmRlcjoycHggI2ZmZiBzb2xpZDt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7Zm9udC1zaXplOi44cmVtO2ZvbnQtd2VpZ2h0OjgwMDtsZXR0ZXItc3BhY2luZzoxLjFweDtvcGFjaXR5OjB9LnZ1ZS1kcm9wem9uZT4uZHotcHJldmlldzpob3ZlciAuZHotcmVtb3Zle29wYWNpdHk6MX0udnVlLWRyb3B6b25lPi5kei1wcmV2aWV3IC5kei1lcnJvci1tYXJrLC52dWUtZHJvcHpvbmU+LmR6LXByZXZpZXcgLmR6LXN1Y2Nlc3MtbWFya3ttYXJnaW4tbGVmdDphdXRvO21hcmdpbi10b3A6YXV0bzt3aWR0aDoxMDAlO3RvcDozNSU7bGVmdDowfS52dWUtZHJvcHpvbmU+LmR6LXByZXZpZXcgLmR6LWVycm9yLW1hcmsgc3ZnLC52dWUtZHJvcHpvbmU+LmR6LXByZXZpZXcgLmR6LXN1Y2Nlc3MtbWFyayBzdmd7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30udnVlLWRyb3B6b25lPi5kei1wcmV2aWV3IC5kei1lcnJvci1tZXNzYWdle21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG87bGVmdDowO3dpZHRoOjEwMCU7dGV4dC1hbGlnbjpjZW50ZXJ9LnZ1ZS1kcm9wem9uZT4uZHotcHJldmlldyAuZHotZXJyb3ItbWVzc2FnZTphZnRlcntkaXNwbGF5Om5vbmV9IiwiLyogU2xpZGVyICovXG4uc2xpY2stc2xpZGVyXG57XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICAgICAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5zbGljay1saXN0XG57XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuLnNsaWNrLWxpc3Q6Zm9jdXNcbntcbiAgICBvdXRsaW5lOiBub25lO1xufVxuLnNsaWNrLWxpc3QuZHJhZ2dpbmdcbntcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY3Vyc29yOiBoYW5kO1xufVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3RcbntcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2tcbntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4uc2xpY2stdHJhY2s6YmVmb3JlLFxuLnNsaWNrLXRyYWNrOmFmdGVyXG57XG4gICAgZGlzcGxheTogdGFibGU7XG5cbiAgICBjb250ZW50OiAnJztcbn1cbi5zbGljay10cmFjazphZnRlclxue1xuICAgIGNsZWFyOiBib3RoO1xufVxuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXRyYWNrXG57XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpY2stc2xpZGVcbntcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbn1cbltkaXI9J3J0bCddIC5zbGljay1zbGlkZVxue1xuICAgIGZsb2F0OiByaWdodDtcbn1cbi5zbGljay1zbGlkZSBpbWdcbntcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbi5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZ1xue1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4uc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nXG57XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlXG57XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4uc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGVcbntcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4uc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlXG57XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCJAY2hhcnNldCAnVVRGLTgnO1xuLyogU2xpZGVyICovXG4uc2xpY2stbG9hZGluZyAuc2xpY2stbGlzdFxue1xuICAgIGJhY2tncm91bmQ6ICNmZmYgdXJsKCcuL2FqYXgtbG9hZGVyLmdpZicpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xufVxuXG4vKiBJY29ucyAqL1xuQGZvbnQtZmFjZVxue1xuICAgIGZvbnQtZmFtaWx5OiAnc2xpY2snO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG4gICAgc3JjOiB1cmwoJy4vZm9udHMvc2xpY2suZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4vZm9udHMvc2xpY2suZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgdXJsKCcuL2ZvbnRzL3NsaWNrLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgdXJsKCcuL2ZvbnRzL3NsaWNrLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgdXJsKCcuL2ZvbnRzL3NsaWNrLnN2ZyNzbGljaycpIGZvcm1hdCgnc3ZnJyk7XG59XG4vKiBBcnJvd3MgKi9cbi5zbGljay1wcmV2LFxuLnNsaWNrLW5leHRcbntcbiAgICBmb250LXNpemU6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLXByZXY6aG92ZXIsXG4uc2xpY2stcHJldjpmb2N1cyxcbi5zbGljay1uZXh0OmhvdmVyLFxuLnNsaWNrLW5leHQ6Zm9jdXNcbntcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbi5zbGljay1wcmV2OmhvdmVyOmJlZm9yZSxcbi5zbGljay1wcmV2OmZvY3VzOmJlZm9yZSxcbi5zbGljay1uZXh0OmhvdmVyOmJlZm9yZSxcbi5zbGljay1uZXh0OmZvY3VzOmJlZm9yZVxue1xuICAgIG9wYWNpdHk6IDE7XG59XG4uc2xpY2stcHJldi5zbGljay1kaXNhYmxlZDpiZWZvcmUsXG4uc2xpY2stbmV4dC5zbGljay1kaXNhYmxlZDpiZWZvcmVcbntcbiAgICBvcGFjaXR5OiAuMjU7XG59XG5cbi5zbGljay1wcmV2OmJlZm9yZSxcbi5zbGljay1uZXh0OmJlZm9yZVxue1xuICAgIGZvbnQtZmFtaWx5OiAnc2xpY2snO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIG9wYWNpdHk6IC43NTtcbiAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4uc2xpY2stcHJldlxue1xuICAgIGxlZnQ6IC0yNXB4O1xufVxuW2Rpcj0ncnRsJ10gLnNsaWNrLXByZXZcbntcbiAgICByaWdodDogLTI1cHg7XG4gICAgbGVmdDogYXV0bztcbn1cbi5zbGljay1wcmV2OmJlZm9yZVxue1xuICAgIGNvbnRlbnQ6ICfihpAnO1xufVxuW2Rpcj0ncnRsJ10gLnNsaWNrLXByZXY6YmVmb3JlXG57XG4gICAgY29udGVudDogJ+KGkic7XG59XG5cbi5zbGljay1uZXh0XG57XG4gICAgcmlnaHQ6IC0yNXB4O1xufVxuW2Rpcj0ncnRsJ10gLnNsaWNrLW5leHRcbntcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAtMjVweDtcbn1cbi5zbGljay1uZXh0OmJlZm9yZVxue1xuICAgIGNvbnRlbnQ6ICfihpInO1xufVxuW2Rpcj0ncnRsJ10gLnNsaWNrLW5leHQ6YmVmb3JlXG57XG4gICAgY29udGVudDogJ+KGkCc7XG59XG5cbi8qIERvdHMgKi9cbi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyXG57XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnNsaWNrLWRvdHNcbntcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMjVweDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnNsaWNrLWRvdHMgbGlcbntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnNsaWNrLWRvdHMgbGkgYnV0dG9uXG57XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZzogNXB4O1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyLFxuLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmZvY3VzXG57XG4gICAgb3V0bGluZTogbm9uZTtcbn1cbi5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3ZlcjpiZWZvcmUsXG4uc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXM6YmVmb3JlXG57XG4gICAgb3BhY2l0eTogMTtcbn1cbi5zbGljay1kb3RzIGxpIGJ1dHRvbjpiZWZvcmVcbntcbiAgICBmb250LWZhbWlseTogJ3NsaWNrJztcbiAgICBmb250LXNpemU6IDZweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcblxuICAgIGNvbnRlbnQ6ICfigKInO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIG9wYWNpdHk6IC4yNTtcbiAgICBjb2xvcjogYmxhY2s7XG5cbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmVcbntcbiAgICBvcGFjaXR5OiAuNzU7XG4gICAgY29sb3I6IGJsYWNrO1xufVxuIiwiLyoqXG5Jb24uUmFuZ2VTbGlkZXIsIDIuMy4xXG7CqSBEZW5pcyBJbmVzaGluLCAyMDEwIC0gMjAxOSwgSW9uRGVuLmNvbVxuQnVpbGQgZGF0ZTogMjAxOS0xMi0xOSAxNjo1MTowMlxuKi9cbi5pcnMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG59XG4uaXJzLWxpbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG4uaXJzLWJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAwO1xufVxuLmlycy1zaGFkb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAwO1xufVxuLmlycy1oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHotaW5kZXg6IDE7XG59XG4uaXJzLWhhbmRsZS50eXBlX2xhc3Qge1xuICB6LWluZGV4OiAyO1xufVxuLmlycy1taW4sXG4uaXJzLW1heCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbi5pcnMtbWluIHtcbiAgbGVmdDogMDtcbn1cbi5pcnMtbWF4IHtcbiAgcmlnaHQ6IDA7XG59XG4uaXJzLWZyb20sXG4uaXJzLXRvLFxuLmlycy1zaW5nbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5pcnMtZ3JpZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyMHB4O1xufVxuLmlycy13aXRoLWdyaWQgLmlycy1ncmlkIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uaXJzLWdyaWQtcG9sIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogOHB4O1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xufVxuLmlycy1ncmlkLXBvbC5zbWFsbCB7XG4gIGhlaWdodDogNHB4O1xufVxuLmlycy1ncmlkLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDlweDtcbiAgbGluZS1oZWlnaHQ6IDlweDtcbiAgcGFkZGluZzogMCAzcHg7XG4gIGNvbG9yOiAjMDAwO1xufVxuLmlycy1kaXNhYmxlLW1hc2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDA7XG4gIGxlZnQ6IC0xJTtcbiAgd2lkdGg6IDEwMiU7XG4gIGhlaWdodDogMTAwJTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDApO1xuICB6LWluZGV4OiAyO1xufVxuLmx0LWllOSAuaXJzLWRpc2FibGUtbWFzayB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cbi5pcnMtZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjQ7XG59XG4uaXJzLWhpZGRlbi1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB0b3A6IDAgIWltcG9ydGFudDtcbiAgbGVmdDogMCAhaW1wb3J0YW50O1xuICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAwICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgei1pbmRleDogLTk5OTkgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbi5pcnMtLWZsYXQge1xuICBoZWlnaHQ6IDQwcHg7XG59XG4uaXJzLS1mbGF0Lmlycy13aXRoLWdyaWQge1xuICBoZWlnaHQ6IDYwcHg7XG59XG4uaXJzLS1mbGF0IC5pcnMtbGluZSB7XG4gIHRvcDogMjVweDtcbiAgaGVpZ2h0OiAxMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFlNGU5O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG4uaXJzLS1mbGF0IC5pcnMtYmFyIHtcbiAgdG9wOiAyNXB4O1xuICBoZWlnaHQ6IDEycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZDU1NjU7XG59XG4uaXJzLS1mbGF0IC5pcnMtYmFyLS1zaW5nbGUge1xuICBib3JkZXItcmFkaXVzOiA0cHggMCAwIDRweDtcbn1cbi5pcnMtLWZsYXQgLmlycy1zaGFkb3cge1xuICBoZWlnaHQ6IDFweDtcbiAgYm90dG9tOiAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFlNGU5O1xufVxuLmlycy0tZmxhdCAuaXJzLWhhbmRsZSB7XG4gIHRvcDogMjJweDtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMThweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uaXJzLS1mbGF0IC5pcnMtaGFuZGxlID4gaTpmaXJzdC1jaGlsZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMnB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGE0NDUzO1xufVxuLmlycy0tZmxhdCAuaXJzLWhhbmRsZS5zdGF0ZV9ob3ZlciA+IGk6Zmlyc3QtY2hpbGQsXG4uaXJzLS1mbGF0IC5pcnMtaGFuZGxlOmhvdmVyID4gaTpmaXJzdC1jaGlsZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhNDM1NDA7XG59XG4uaXJzLS1mbGF0IC5pcnMtbWluLFxuLmlycy0tZmxhdCAuaXJzLW1heCB7XG4gIHRvcDogMDtcbiAgcGFkZGluZzogMXB4IDNweDtcbiAgY29sb3I6ICM5OTk7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UxZTRlOTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuLmlycy0tZmxhdCAuaXJzLWZyb20sXG4uaXJzLS1mbGF0IC5pcnMtdG8sXG4uaXJzLS1mbGF0IC5pcnMtc2luZ2xlIHtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMztcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHBhZGRpbmc6IDFweCA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZDU1NjU7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cbi5pcnMtLWZsYXQgLmlycy1mcm9tOmJlZm9yZSxcbi5pcnMtLWZsYXQgLmlycy10bzpiZWZvcmUsXG4uaXJzLS1mbGF0IC5pcnMtc2luZ2xlOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvdHRvbTogLTZweDtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogLTNweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3AtY29sb3I6ICNlZDU1NjU7XG59XG4uaXJzLS1mbGF0IC5pcnMtZ3JpZC1wb2wge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFlNGU5O1xufVxuLmlycy0tZmxhdCAuaXJzLWdyaWQtdGV4dCB7XG4gIGNvbG9yOiAjOTk5O1xufVxuLmlycy0tYmlnIHtcbiAgaGVpZ2h0OiA1NXB4O1xufVxuLmlycy0tYmlnLmlycy13aXRoLWdyaWQge1xuICBoZWlnaHQ6IDcwcHg7XG59XG4uaXJzLS1iaWcgLmlycy1saW5lIHtcbiAgdG9wOiAzM3B4O1xuICBoZWlnaHQ6IDEycHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZGRkIC01MCUsIHdoaXRlIDE1MCUpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xufVxuLmlycy0tYmlnIC5pcnMtYmFyIHtcbiAgdG9wOiAzM3B4O1xuICBoZWlnaHQ6IDEycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5MmJjZTA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM0MjhiY2E7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmZmZmZmYgMCUsICM0MjhiY2EgMzAlLCAjYjlkNGVjIDEwMCUpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMXB4IDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG4uaXJzLS1iaWcgLmlycy1iYXItLXNpbmdsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDEycHggMCAwIDEycHg7XG59XG4uaXJzLS1iaWcgLmlycy1zaGFkb3cge1xuICBoZWlnaHQ6IDFweDtcbiAgYm90dG9tOiAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDY2LCAxMzksIDIwMiwgMC41KTtcbn1cbi5pcnMtLWJpZyAuaXJzLWhhbmRsZSB7XG4gIHRvcDogMjVweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2JjZmQ1O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB3aGl0ZSAwJSwgI0I0QjlCRSAzMCUsIHdoaXRlIDEwMCUpO1xuICBib3gtc2hhZG93OiAxcHggMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMiksIGluc2V0IDAgMCAzcHggMXB4IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAzMHB4O1xufVxuLmlycy0tYmlnIC5pcnMtaGFuZGxlLnN0YXRlX2hvdmVyLFxuLmlycy0tYmlnIC5pcnMtaGFuZGxlOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNDUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTM5YmE3O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB3aGl0ZSAwJSwgIzkxOUJBNSAzMCUsIHdoaXRlIDEwMCUpO1xufVxuLmlycy0tYmlnIC5pcnMtbWluLFxuLmlycy0tYmlnIC5pcnMtbWF4IHtcbiAgdG9wOiAwO1xuICBwYWRkaW5nOiAxcHggNXB4O1xuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWY5ZjlmO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG4uaXJzLS1iaWcgLmlycy1mcm9tLFxuLmlycy0tYmlnIC5pcnMtdG8sXG4uaXJzLS1iaWcgLmlycy1zaW5nbGUge1xuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBwYWRkaW5nOiAxcHggNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI4YmNhO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjNDI4YmNhIDAlLCAjMzA3MWE5IDEwMCUpO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG4uaXJzLS1iaWcgLmlycy1ncmlkLXBvbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MjhiY2E7XG59XG4uaXJzLS1iaWcgLmlycy1ncmlkLXRleHQge1xuICBjb2xvcjogIzQyOGJjYTtcbn1cbi5pcnMtLW1vZGVybiB7XG4gIGhlaWdodDogNTVweDtcbn1cbi5pcnMtLW1vZGVybi5pcnMtd2l0aC1ncmlkIHtcbiAgaGVpZ2h0OiA1NXB4O1xufVxuLmlycy0tbW9kZXJuIC5pcnMtbGluZSB7XG4gIHRvcDogMjVweDtcbiAgaGVpZ2h0OiA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkMWQ2ZTA7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNlMGU0ZWEgMCUsICNkMWQ2ZTAgMTAwJSk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhM2FkYzE7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbn1cbi5pcnMtLW1vZGVybiAuaXJzLWJhciB7XG4gIHRvcDogMjVweDtcbiAgaGVpZ2h0OiA1cHg7XG4gIGJhY2tncm91bmQ6ICMyMGI0MjY7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMyMGI0MjYgMCUsICMxODg5MWQgMTAwJSk7XG59XG4uaXJzLS1tb2Rlcm4gLmlycy1iYXItLXNpbmdsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDVweCAwIDAgNXB4O1xufVxuLmlycy0tbW9kZXJuIC5pcnMtc2hhZG93IHtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJvdHRvbTogMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDksIDIxNCwgMjI0LCAwLjUpO1xufVxuLmlycy0tbW9kZXJuIC5pcnMtaGFuZGxlIHtcbiAgdG9wOiAzN3B4O1xuICB3aWR0aDogMTJweDtcbiAgaGVpZ2h0OiAxM3B4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjYTNhZGMxO1xuICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICBib3gtc2hhZG93OiAxcHggMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAzcHggM3B4O1xufVxuLmlycy0tbW9kZXJuIC5pcnMtaGFuZGxlID4gaTpudGgtY2hpbGQoMSkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IC00cHg7XG4gIGxlZnQ6IDFweDtcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhM2FkYzE7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG4uaXJzLS1tb2Rlcm4gLmlycy1oYW5kbGUgPiBpOm50aC1jaGlsZCgyKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTJweDtcbiAgYmFja2dyb3VuZDogI2U5ZTZlNjtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgd2hpdGUgMCUsICNlOWU2ZTYgMTAwJSk7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAzcHggM3B4O1xufVxuLmlycy0tbW9kZXJuIC5pcnMtaGFuZGxlID4gaTpudGgtY2hpbGQoMykge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0b3A6IDNweDtcbiAgbGVmdDogM3B4O1xuICB3aWR0aDogNHB4O1xuICBoZWlnaHQ6IDVweDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjYTNhZGMxO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjYTNhZGMxO1xufVxuLmlycy0tbW9kZXJuIC5pcnMtaGFuZGxlLnN0YXRlX2hvdmVyLFxuLmlycy0tbW9kZXJuIC5pcnMtaGFuZGxlOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjNzY4NWEyO1xuICBiYWNrZ3JvdW5kOiAjYzNjN2NkO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZmZmZmZmIDAlLCAjOTE5YmE1IDMwJSwgI2ZmZmZmZiAxMDAlKTtcbn1cbi5pcnMtLW1vZGVybiAuaXJzLWhhbmRsZS5zdGF0ZV9ob3ZlciA+IGk6bnRoLWNoaWxkKDEpLFxuLmlycy0tbW9kZXJuIC5pcnMtaGFuZGxlOmhvdmVyID4gaTpudGgtY2hpbGQoMSkge1xuICBib3JkZXItY29sb3I6ICM3Njg1YTI7XG59XG4uaXJzLS1tb2Rlcm4gLmlycy1oYW5kbGUuc3RhdGVfaG92ZXIgPiBpOm50aC1jaGlsZCgzKSxcbi5pcnMtLW1vZGVybiAuaXJzLWhhbmRsZTpob3ZlciA+IGk6bnRoLWNoaWxkKDMpIHtcbiAgYm9yZGVyLWNvbG9yOiAjNDg1MzZhO1xufVxuLmlycy0tbW9kZXJuIC5pcnMtbWluLFxuLmlycy0tbW9kZXJuIC5pcnMtbWF4IHtcbiAgdG9wOiAwO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMztcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHBhZGRpbmc6IDFweCA1cHg7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QxZDZlMDtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuLmlycy0tbW9kZXJuIC5pcnMtZnJvbSxcbi5pcnMtLW1vZGVybiAuaXJzLXRvLFxuLmlycy0tbW9kZXJuIC5pcnMtc2luZ2xlIHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBsaW5lLWhlaWdodDogMS4zMzM7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBwYWRkaW5nOiAxcHggNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjBiNDI2O1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbn1cbi5pcnMtLW1vZGVybiAuaXJzLWZyb206YmVmb3JlLFxuLmlycy0tbW9kZXJuIC5pcnMtdG86YmVmb3JlLFxuLmlycy0tbW9kZXJuIC5pcnMtc2luZ2xlOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJvdHRvbTogLTZweDtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogLTNweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3AtY29sb3I6ICMyMGI0MjY7XG59XG4uaXJzLS1tb2Rlcm4gLmlycy1ncmlkIHtcbiAgaGVpZ2h0OiAyNXB4O1xufVxuLmlycy0tbW9kZXJuIC5pcnMtZ3JpZC1wb2wge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVkZWRlO1xufVxuLmlycy0tbW9kZXJuIC5pcnMtZ3JpZC10ZXh0IHtcbiAgY29sb3I6IHNpbHZlcjtcbiAgZm9udC1zaXplOiAxM3B4O1xufVxuLmlycy0tc2hhcnAge1xuICBoZWlnaHQ6IDUwcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG4uaXJzLS1zaGFycC5pcnMtd2l0aC1ncmlkIHtcbiAgaGVpZ2h0OiA1N3B4O1xufVxuLmlycy0tc2hhcnAgLmlycy1saW5lIHtcbiAgdG9wOiAzMHB4O1xuICBoZWlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbn1cbi5pcnMtLXNoYXJwIC5pcnMtYmFyIHtcbiAgdG9wOiAzMHB4O1xuICBoZWlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlMjJmYTtcbn1cbi5pcnMtLXNoYXJwIC5pcnMtYmFyLS1zaW5nbGUge1xuICBib3JkZXItcmFkaXVzOiAycHggMCAwIDJweDtcbn1cbi5pcnMtLXNoYXJwIC5pcnMtc2hhZG93IHtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJvdHRvbTogMjFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuLmlycy0tc2hhcnAgLmlycy1oYW5kbGUge1xuICB0b3A6IDI1cHg7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhODA0YjI7XG59XG4uaXJzLS1zaGFycCAuaXJzLWhhbmRsZSA+IGk6Zmlyc3QtY2hpbGQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wLWNvbG9yOiAjYTgwNGIyO1xufVxuLmlycy0tc2hhcnAgLmlycy1oYW5kbGUuc3RhdGVfaG92ZXIsXG4uaXJzLS1zaGFycCAuaXJzLWhhbmRsZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xufVxuLmlycy0tc2hhcnAgLmlycy1oYW5kbGUuc3RhdGVfaG92ZXIgPiBpOmZpcnN0LWNoaWxkLFxuLmlycy0tc2hhcnAgLmlycy1oYW5kbGU6aG92ZXIgPiBpOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogYmxhY2s7XG59XG4uaXJzLS1zaGFycCAuaXJzLW1pbixcbi5pcnMtLXNoYXJwIC5pcnMtbWF4IHtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0b3A6IDA7XG4gIHBhZGRpbmc6IDNweCA0cHg7XG4gIG9wYWNpdHk6IDAuNDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2E4MDRiMjtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuLmlycy0tc2hhcnAgLmlycy1mcm9tLFxuLmlycy0tc2hhcnAgLmlycy10byxcbi5pcnMtLXNoYXJwIC5pcnMtc2luZ2xlIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHBhZGRpbmc6IDNweCA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhODA0YjI7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuLmlycy0tc2hhcnAgLmlycy1mcm9tOmJlZm9yZSxcbi5pcnMtLXNoYXJwIC5pcnMtdG86YmVmb3JlLFxuLmlycy0tc2hhcnAgLmlycy1zaW5nbGU6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgYm90dG9tOiAtNnB4O1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAtM3B4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXI6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2E4MDRiMjtcbn1cbi5pcnMtLXNoYXJwIC5pcnMtZ3JpZCB7XG4gIGhlaWdodDogMjVweDtcbn1cbi5pcnMtLXNoYXJwIC5pcnMtZ3JpZC1wb2wge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVkZWRlO1xufVxuLmlycy0tc2hhcnAgLmlycy1ncmlkLXRleHQge1xuICBjb2xvcjogc2lsdmVyO1xuICBmb250LXNpemU6IDEzcHg7XG59XG4uaXJzLS1yb3VuZCB7XG4gIGhlaWdodDogNTBweDtcbn1cbi5pcnMtLXJvdW5kLmlycy13aXRoLWdyaWQge1xuICBoZWlnaHQ6IDY1cHg7XG59XG4uaXJzLS1yb3VuZCAuaXJzLWxpbmUge1xuICB0b3A6IDM2cHg7XG4gIGhlaWdodDogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVlNGVjO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG4uaXJzLS1yb3VuZCAuaXJzLWJhciB7XG4gIHRvcDogMzZweDtcbiAgaGVpZ2h0OiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDZjZmE7XG59XG4uaXJzLS1yb3VuZCAuaXJzLWJhci0tc2luZ2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNHB4IDAgMCA0cHg7XG59XG4uaXJzLS1yb3VuZCAuaXJzLXNoYWRvdyB7XG4gIGhlaWdodDogNHB4O1xuICBib3R0b206IDIxcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIyLCAyMjgsIDIzNiwgMC41KTtcbn1cbi5pcnMtLXJvdW5kIC5pcnMtaGFuZGxlIHtcbiAgdG9wOiAyNnB4O1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBib3JkZXI6IDRweCBzb2xpZCAjMDA2Y2ZhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMjU1LCAwLjMpO1xufVxuLmlycy0tcm91bmQgLmlycy1oYW5kbGUuc3RhdGVfaG92ZXIsXG4uaXJzLS1yb3VuZCAuaXJzLWhhbmRsZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGY2ZmY7XG59XG4uaXJzLS1yb3VuZCAuaXJzLW1pbixcbi5pcnMtLXJvdW5kIC5pcnMtbWF4IHtcbiAgY29sb3I6ICMzMzM7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRvcDogMDtcbiAgcGFkZGluZzogM3B4IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG4uaXJzLS1yb3VuZCAuaXJzLWZyb20sXG4uaXJzLS1yb3VuZCAuaXJzLXRvLFxuLmlycy0tcm91bmQgLmlycy1zaW5nbGUge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgcGFkZGluZzogM3B4IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNmNmYTtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG4uaXJzLS1yb3VuZCAuaXJzLWZyb206YmVmb3JlLFxuLmlycy0tcm91bmQgLmlycy10bzpiZWZvcmUsXG4uaXJzLS1yb3VuZCAuaXJzLXNpbmdsZTpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICBib3R0b206IC02cHg7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IC0zcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlcjogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wLWNvbG9yOiAjMDA2Y2ZhO1xufVxuLmlycy0tcm91bmQgLmlycy1ncmlkIHtcbiAgaGVpZ2h0OiAyNXB4O1xufVxuLmlycy0tcm91bmQgLmlycy1ncmlkLXBvbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZWRlZGU7XG59XG4uaXJzLS1yb3VuZCAuaXJzLWdyaWQtdGV4dCB7XG4gIGNvbG9yOiBzaWx2ZXI7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cbi5pcnMtLXNxdWFyZSB7XG4gIGhlaWdodDogNTBweDtcbn1cbi5pcnMtLXNxdWFyZS5pcnMtd2l0aC1ncmlkIHtcbiAgaGVpZ2h0OiA2MHB4O1xufVxuLmlycy0tc3F1YXJlIC5pcnMtbGluZSB7XG4gIHRvcDogMzFweDtcbiAgaGVpZ2h0OiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZWRlZGU7XG59XG4uaXJzLS1zcXVhcmUgLmlycy1iYXIge1xuICB0b3A6IDMxcHg7XG4gIGhlaWdodDogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbn1cbi5pcnMtLXNxdWFyZSAuaXJzLXNoYWRvdyB7XG4gIGhlaWdodDogMnB4O1xuICBib3R0b206IDIxcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZWRlZGU7XG59XG4uaXJzLS1zcXVhcmUgLmlycy1oYW5kbGUge1xuICB0b3A6IDI1cHg7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGJvcmRlcjogM3B4IHNvbGlkIGJsYWNrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cbi5pcnMtLXNxdWFyZSAuaXJzLWhhbmRsZS5zdGF0ZV9ob3Zlcixcbi5pcnMtLXNxdWFyZSAuaXJzLWhhbmRsZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGY2ZmY7XG59XG4uaXJzLS1zcXVhcmUgLmlycy1taW4sXG4uaXJzLS1zcXVhcmUgLmlycy1tYXgge1xuICBjb2xvcjogIzMzMztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgdG9wOiAwO1xuICBwYWRkaW5nOiAzcHggNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG4uaXJzLS1zcXVhcmUgLmlycy1mcm9tLFxuLmlycy0tc3F1YXJlIC5pcnMtdG8sXG4uaXJzLS1zcXVhcmUgLmlycy1zaW5nbGUge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgcGFkZGluZzogM3B4IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi5pcnMtLXNxdWFyZSAuaXJzLWdyaWQge1xuICBoZWlnaHQ6IDI1cHg7XG59XG4uaXJzLS1zcXVhcmUgLmlycy1ncmlkLXBvbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZWRlZGU7XG59XG4uaXJzLS1zcXVhcmUgLmlycy1ncmlkLXRleHQge1xuICBjb2xvcjogc2lsdmVyO1xuICBmb250LXNpemU6IDExcHg7XG59XG4iLCIvKiBDOlxcbGFyYWdvblxcd3d3XFx0cnVzdFxcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS11aVxcdGhlbWVcXGdsb2JhbHNcXGdsb2JhbHMuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEEgY2xhc3Mgd2hpY2ggaGlkZXMgYW4gZWxlbWVudCBpbiBET00uXG4gKi9cblxuLmNrLWhpZGRlbiB7XG5cdC8qIE92ZXJyaWRlIHNlbGVjdG9yIHNwZWNpZmljaXR5LiBPdGhlcndpc2UsIGFsbCBlbGVtZW50cyB3aXRoIHNvbWUgZGlzcGxheVxuXHRzdHlsZSBkZWZpbmVkIHdpbGwgb3ZlcnJpZGUgdGhpcyBvbmUsIHdoaWNoIGlzIG5vdCBhIGRlc2lyZWQgcmVzdWx0LiAqL1xuXHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLXJlc2V0LFxuLmNrLmNrLXJlc2V0X2FsbCxcbi5jay5jay1yZXNldF9hbGwgKiB7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdHdpZHRoOiBhdXRvO1xuXHRoZWlnaHQ6IGF1dG87XG5cdHBvc2l0aW9uOiBzdGF0aWM7XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLXotZGVmYXVsdDogMTtcblx0LS1jay16LW1vZGFsOiBjYWxjKCB2YXIoLS1jay16LWRlZmF1bHQpICsgOTk5ICk7XG59XG5cbi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRoZW1lLWxhcmtcXHRoZW1lXFxja2VkaXRvcjUtdWlcXGdsb2JhbHNcXGdsb2JhbHMuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG46cm9vdCB7XG5cdC0tY2stY29sb3ItYmFzZS1mb3JlZ3JvdW5kOiBcdFx0XHRcdFx0XHRcdFx0aHNsKDAsIDAlLCA5OCUpO1xuXHQtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZDogXHRcdFx0XHRcdFx0XHRcdGhzbCgwLCAwJSwgMTAwJSk7XG5cdC0tY2stY29sb3ItYmFzZS1ib3JkZXI6IFx0XHRcdFx0XHRcdFx0XHRcdGhzbCgwLCAwJSwgNzclKTtcblx0LS1jay1jb2xvci1iYXNlLWFjdGlvbjogXHRcdFx0XHRcdFx0XHRcdFx0aHNsKDEwNCwgNDQlLCA0OCUpO1xuXHQtLWNrLWNvbG9yLWJhc2UtZm9jdXM6IFx0XHRcdFx0XHRcdFx0XHRcdFx0aHNsKDIwOSwgOTIlLCA3MCUpO1xuXHQtLWNrLWNvbG9yLWJhc2UtdGV4dDogXHRcdFx0XHRcdFx0XHRcdFx0XHRoc2woMCwgMCUsIDIwJSk7XG5cdC0tY2stY29sb3ItYmFzZS1hY3RpdmU6IFx0XHRcdFx0XHRcdFx0XHRcdGhzbCgyMDgsIDg4JSwgNTIlKTtcblx0LS1jay1jb2xvci1iYXNlLWFjdGl2ZS1mb2N1czpcdFx0XHRcdFx0XHRcdFx0aHNsKDIwOCwgODglLCA0NyUpO1xuXHQtLWNrLWNvbG9yLWJhc2UtZXJyb3I6XHRcdFx0XHRcdFx0XHRcdFx0XHRoc2woMTUsIDEwMCUsIDQzJSk7XG5cblx0LyogLS0gR2VuZXJpYyBjb2xvcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblx0LS1jay1jb2xvci1mb2N1cy1ib3JkZXItY29vcmRpbmF0ZXM6IFx0XHRcdFx0XHRcdDIwOCwgNzklLCA1MSU7XG5cdC0tY2stY29sb3ItZm9jdXMtYm9yZGVyOiBcdFx0XHRcdFx0XHRcdFx0XHRoc2wodmFyKC0tY2stY29sb3ItZm9jdXMtYm9yZGVyLWNvb3JkaW5hdGVzKSk7XG5cdC0tY2stY29sb3ItZm9jdXMtb3V0ZXItc2hhZG93Olx0XHRcdFx0XHRcdFx0XHRoc2woMjA3LCA4OSUsIDg2JSk7XG5cdC0tY2stY29sb3ItZm9jdXMtZGlzYWJsZWQtc2hhZG93Olx0XHRcdFx0XHRcdFx0aHNsYSgyMDksIDkwJSwgNzIlLC4zKTtcblx0LS1jay1jb2xvci1mb2N1cy1lcnJvci1zaGFkb3c6XHRcdFx0XHRcdFx0XHRcdGhzbGEoOSwxMDAlLDU2JSwuMyk7XG5cdC0tY2stY29sb3ItdGV4dDogXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHZhcigtLWNrLWNvbG9yLWJhc2UtdGV4dCk7XG5cdC0tY2stY29sb3Itc2hhZG93LWRyb3A6IFx0XHRcdFx0XHRcdFx0XHRcdGhzbGEoMCwgMCUsIDAlLCAwLjE1KTtcblx0LS1jay1jb2xvci1zaGFkb3ctZHJvcC1hY3RpdmU6XHRcdFx0XHRcdFx0XHRcdGhzbGEoMCwgMCUsIDAlLCAwLjIpO1xuXHQtLWNrLWNvbG9yLXNoYWRvdy1pbm5lcjogXHRcdFx0XHRcdFx0XHRcdFx0aHNsYSgwLCAwJSwgMCUsIDAuMSk7XG5cblx0LyogLS0gQnV0dG9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblx0LS1jay1jb2xvci1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0XHR0cmFuc3BhcmVudDtcblx0LS1jay1jb2xvci1idXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiBcdFx0XHRcdGhzbCgwLCAwJSwgOTAlKTtcblx0LS1jay1jb2xvci1idXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDogXHRcdFx0XHRoc2woMCwgMCUsIDg1JSk7XG5cdC0tY2stY29sb3ItYnV0dG9uLWRlZmF1bHQtYWN0aXZlLXNoYWRvdzogXHRcdFx0XHRcdGhzbCgwLCAwJSwgNzUlKTtcblx0LS1jay1jb2xvci1idXR0b24tZGVmYXVsdC1kaXNhYmxlZC1iYWNrZ3JvdW5kOiBcdFx0XHRcdHRyYW5zcGFyZW50O1xuXG5cdC0tY2stY29sb3ItYnV0dG9uLW9uLWJhY2tncm91bmQ6IFx0XHRcdFx0XHRcdFx0aHNsKDAsIDAlLCA4NyUpO1xuXHQtLWNrLWNvbG9yLWJ1dHRvbi1vbi1ob3Zlci1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0XHRoc2woMCwgMCUsIDc3JSk7XG5cdC0tY2stY29sb3ItYnV0dG9uLW9uLWFjdGl2ZS1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0aHNsKDAsIDAlLCA3MyUpO1xuXHQtLWNrLWNvbG9yLWJ1dHRvbi1vbi1hY3RpdmUtc2hhZG93OiBcdFx0XHRcdFx0XHRoc2woMCwgMCUsIDYzJSk7XG5cdC0tY2stY29sb3ItYnV0dG9uLW9uLWRpc2FibGVkLWJhY2tncm91bmQ6IFx0XHRcdFx0XHRoc2woMCwgMCUsIDg3JSk7XG5cblx0LS1jay1jb2xvci1idXR0b24tYWN0aW9uLWJhY2tncm91bmQ6IFx0XHRcdFx0XHRcdHZhcigtLWNrLWNvbG9yLWJhc2UtYWN0aW9uKTtcblx0LS1jay1jb2xvci1idXR0b24tYWN0aW9uLWhvdmVyLWJhY2tncm91bmQ6IFx0XHRcdFx0XHRoc2woMTA0LCA0NCUsIDQzJSk7XG5cdC0tY2stY29sb3ItYnV0dG9uLWFjdGlvbi1hY3RpdmUtYmFja2dyb3VuZDogXHRcdFx0XHRoc2woMTA0LCA0NCUsIDQxJSk7XG5cdC0tY2stY29sb3ItYnV0dG9uLWFjdGlvbi1hY3RpdmUtc2hhZG93OiBcdFx0XHRcdFx0aHNsKDEwNCwgNDQlLCAzNiUpO1xuXHQtLWNrLWNvbG9yLWJ1dHRvbi1hY3Rpb24tZGlzYWJsZWQtYmFja2dyb3VuZDogXHRcdFx0XHRoc2woMTA0LCA0NCUsIDU4JSk7XG5cdC0tY2stY29sb3ItYnV0dG9uLWFjdGlvbi10ZXh0OiBcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblxuXHQtLWNrLWNvbG9yLWJ1dHRvbi1zYXZlOiBcdFx0XHRcdFx0XHRcdFx0XHRoc2woMTIwLCAxMDAlLCAyNyUpO1xuXHQtLWNrLWNvbG9yLWJ1dHRvbi1jYW5jZWw6IFx0XHRcdFx0XHRcdFx0XHRcdGhzbCgxNSwgMTAwJSwgNDMlKTtcblxuXHQtLWNrLWNvbG9yLXN3aXRjaC1idXR0b24tb2ZmLWJhY2tncm91bmQ6XHRcdFx0XHRcdGhzbCgwLCAwJSwgNjklKTtcblx0LS1jay1jb2xvci1zd2l0Y2gtYnV0dG9uLW9mZi1ob3Zlci1iYWNrZ3JvdW5kOlx0XHRcdFx0aHNsKDAsIDAlLCA2NCUpO1xuXHQtLWNrLWNvbG9yLXN3aXRjaC1idXR0b24tb24tYmFja2dyb3VuZDpcdFx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1idXR0b24tYWN0aW9uLWJhY2tncm91bmQpO1xuXHQtLWNrLWNvbG9yLXN3aXRjaC1idXR0b24tb24taG92ZXItYmFja2dyb3VuZDpcdFx0XHRcdGhzbCgxMDQsIDQ0JSwgNDMlKTtcblx0LS1jay1jb2xvci1zd2l0Y2gtYnV0dG9uLWlubmVyLWJhY2tncm91bmQ6XHRcdFx0XHRcdHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCk7XG5cdC0tY2stY29sb3Itc3dpdGNoLWJ1dHRvbi1pbm5lci1zaGFkb3c6XHRcdFx0XHRcdFx0aHNsYSgwLCAwJSwgMCUsIDAuMSk7XG5cblx0LyogLS0gRHJvcGRvd24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblx0LS1jay1jb2xvci1kcm9wZG93bi1wYW5lbC1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1iYXNlLWJhY2tncm91bmQpO1xuXHQtLWNrLWNvbG9yLWRyb3Bkb3duLXBhbmVsLWJvcmRlcjogXHRcdFx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1iYXNlLWJvcmRlcik7XG5cblx0LyogLS0gSW5wdXQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblx0LS1jay1jb2xvci1pbnB1dC1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblx0LS1jay1jb2xvci1pbnB1dC1ib3JkZXI6IFx0XHRcdFx0XHRcdFx0XHRcdGhzbCgwLCAwJSwgNzglKTtcblx0LS1jay1jb2xvci1pbnB1dC1lcnJvci1ib3JkZXI6XHRcdFx0XHRcdFx0XHRcdHZhcigtLWNrLWNvbG9yLWJhc2UtZXJyb3IpO1xuXHQtLWNrLWNvbG9yLWlucHV0LXRleHQ6IFx0XHRcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS10ZXh0KTtcblx0LS1jay1jb2xvci1pbnB1dC1kaXNhYmxlZC1iYWNrZ3JvdW5kOiBcdFx0XHRcdFx0XHRoc2woMCwgMCUsIDk1JSk7XG5cdC0tY2stY29sb3ItaW5wdXQtZGlzYWJsZWQtYm9yZGVyOiBcdFx0XHRcdFx0XHRcdGhzbCgwLCAwJSwgNzglKTtcblx0LS1jay1jb2xvci1pbnB1dC1kaXNhYmxlZC10ZXh0OiBcdFx0XHRcdFx0XHRcdGhzbCgwLCAwJSwgMzYlKTtcblxuXHQvKiAtLSBMaXN0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXHQtLWNrLWNvbG9yLWxpc3QtYmFja2dyb3VuZDogXHRcdFx0XHRcdFx0XHRcdHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCk7XG5cdC0tY2stY29sb3ItbGlzdC1idXR0b24taG92ZXItYmFja2dyb3VuZDogXHRcdFx0XHRcdHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQpO1xuXHQtLWNrLWNvbG9yLWxpc3QtYnV0dG9uLW9uLWJhY2tncm91bmQ6IFx0XHRcdFx0XHRcdHZhcigtLWNrLWNvbG9yLWJhc2UtYWN0aXZlKTtcblx0LS1jay1jb2xvci1saXN0LWJ1dHRvbi1vbi1iYWNrZ3JvdW5kLWZvY3VzOiBcdFx0XHRcdHZhcigtLWNrLWNvbG9yLWJhc2UtYWN0aXZlLWZvY3VzKTtcblx0LS1jay1jb2xvci1saXN0LWJ1dHRvbi1vbi10ZXh0Olx0XHRcdFx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1iYXNlLWJhY2tncm91bmQpO1xuXG5cdC8qIC0tIFBhbmVsIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cdC0tY2stY29sb3ItcGFuZWwtYmFja2dyb3VuZDogXHRcdFx0XHRcdFx0XHRcdHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCk7XG5cdC0tY2stY29sb3ItcGFuZWwtYm9yZGVyOiBcdFx0XHRcdFx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1iYXNlLWJvcmRlcik7XG5cblx0LyogLS0gVG9vbGJhciAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblx0LS1jay1jb2xvci10b29sYmFyLWJhY2tncm91bmQ6IFx0XHRcdFx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1iYXNlLWZvcmVncm91bmQpO1xuXHQtLWNrLWNvbG9yLXRvb2xiYXItYm9yZGVyOiBcdFx0XHRcdFx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1iYXNlLWJvcmRlcik7XG5cblx0LyogLS0gVG9vbHRpcCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblx0LS1jay1jb2xvci10b29sdGlwLWJhY2tncm91bmQ6IFx0XHRcdFx0XHRcdFx0XHR2YXIoLS1jay1jb2xvci1iYXNlLXRleHQpO1xuXHQtLWNrLWNvbG9yLXRvb2x0aXAtdGV4dDogXHRcdFx0XHRcdFx0XHRcdFx0dmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblxuXHQvKiAtLSBFbmdpbmUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXHQtLWNrLWNvbG9yLWVuZ2luZS1wbGFjZWhvbGRlci10ZXh0OiBcdFx0XHRcdFx0XHRoc2woMCwgMCUsIDQ0JSk7XG5cblx0LyogLS0gVXBsb2FkIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblx0LS1jay1jb2xvci11cGxvYWQtYmFyLWJhY2tncm91bmQ6XHRcdCBcdFx0XHRcdFx0aHNsKDIwOSwgOTIlLCA3MCUpO1xuXG5cdC8qIC0tIExpbmsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXHQtLWNrLWNvbG9yLWxpbmstZGVmYXVsdDpcdFx0XHRcdFx0XHRcdFx0XHRoc2woMjQwLCAxMDAlLCA0NyUpO1xuXHQtLWNrLWNvbG9yLWxpbmstc2VsZWN0ZWQtYmFja2dyb3VuZDpcdFx0XHRcdFx0XHRoc2xhKDIwMSwgMTAwJSwgNTYlLCAwLjEpO1xuXHQtLWNrLWNvbG9yLWxpbmstZmFrZS1zZWxlY3Rpb246XHRcdFx0XHRcdFx0XHRcdGhzbGEoMjAxLCAxMDAlLCA1NiUsIDAuMyk7XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQvKipcblx0ICogQW4gb3BhY2l0eSB2YWx1ZSBvZiBkaXNhYmxlZCBVSSBpdGVtLlxuXHQgKi9cblx0LS1jay1kaXNhYmxlZC1vcGFjaXR5OiAuNTtcbn1cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG46cm9vdCB7XG5cdC8qKlxuXHQgKiBUaGUgZ2VvbWV0cnkgb2YgdGhlIG9mIGZvY3VzZWQgZWxlbWVudCdzIG91dGVyIHNoYWRvdy5cblx0ICovXG5cdC0tY2stZm9jdXMtb3V0ZXItc2hhZG93LWdlb21ldHJ5OiAwIDAgMCAzcHg7XG5cblx0LyoqXG5cdCAqIEEgdmlzdWFsIHN0eWxlIG9mIGZvY3VzZWQgZWxlbWVudCdzIG91dGVyIHNoYWRvdy5cblx0ICovXG5cdC0tY2stZm9jdXMtb3V0ZXItc2hhZG93OiB2YXIoLS1jay1mb2N1cy1vdXRlci1zaGFkb3ctZ2VvbWV0cnkpIHZhcigtLWNrLWNvbG9yLWZvY3VzLW91dGVyLXNoYWRvdyk7XG5cblx0LyoqXG5cdCAqIEEgdmlzdWFsIHN0eWxlIG9mIGZvY3VzZWQgZWxlbWVudCdzIG91dGVyIHNoYWRvdyAod2hlbiBkaXNhYmxlZCkuXG5cdCAqL1xuXHQtLWNrLWZvY3VzLWRpc2FibGVkLW91dGVyLXNoYWRvdzogdmFyKC0tY2stZm9jdXMtb3V0ZXItc2hhZG93LWdlb21ldHJ5KSB2YXIoLS1jay1jb2xvci1mb2N1cy1kaXNhYmxlZC1zaGFkb3cpO1xuXG5cdC8qKlxuXHQgKiBBIHZpc3VhbCBzdHlsZSBvZiBmb2N1c2VkIGVsZW1lbnQncyBvdXRlciBzaGFkb3cgKHdoZW4gaGFzIGVycm9ycykuXG5cdCAqL1xuXHQtLWNrLWZvY3VzLWVycm9yLW91dGVyLXNoYWRvdzogdmFyKC0tY2stZm9jdXMtb3V0ZXItc2hhZG93LWdlb21ldHJ5KSB2YXIoLS1jay1jb2xvci1mb2N1cy1lcnJvci1zaGFkb3cpO1xuXG5cdC8qKlxuXHQgKiBBIHZpc3VhbCBzdHlsZSBvZiBmb2N1c2VkIGVsZW1lbnQncyBib3JkZXIgb3Igb3V0bGluZS5cblx0ICovXG5cdC0tY2stZm9jdXMtcmluZzogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWZvY3VzLWJvcmRlcik7XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLWZvbnQtc2l6ZS1iYXNlOiAxM3B4O1xuXHQtLWNrLWxpbmUtaGVpZ2h0LWJhc2U6IDEuODQ2MTU7XG5cdC0tY2stZm9udC1mYWNlOiBIZWx2ZXRpY2EsIEFyaWFsLCBUYWhvbWEsIFZlcmRhbmEsIFNhbnMtU2VyaWY7XG5cblx0LS1jay1mb250LXNpemUtdGlueTogMC43ZW07XG5cdC0tY2stZm9udC1zaXplLXNtYWxsOiAwLjc1ZW07XG5cdC0tY2stZm9udC1zaXplLW5vcm1hbDogMWVtO1xuXHQtLWNrLWZvbnQtc2l6ZS1iaWc6IDEuNGVtO1xuXHQtLWNrLWZvbnQtc2l6ZS1sYXJnZTogMS44ZW07XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQvKiBUaGlzIGlzIHN1cGVyLWltcG9ydGFudC4gVGhpcyBpcyAqKm1hbnVhbGx5KiogYWRqdXN0ZWQgc28gYSBidXR0b24gd2l0aG91dCBhbiBpY29uXG5cdGlzIG5ldmVyIHNtYWxsZXIgdGhhbiBhIGJ1dHRvbiB3aXRoIGljb24sIGFkZGl0aW9uYWxseSBtYWtpbmcgc3VyZSB0aGF0IHRleHQtbGVzcyBidXR0b25zXG5cdGFyZSBwZXJmZWN0IHNxdWFyZXMuIFRoZSB2YWx1ZSBpcyBhbHNvIHNoYXJlZCBieSBvdGhlciBjb21wb25lbnRzIHdoaWNoIHNob3VsZCBzdGF5IFwiaW4tbGluZVwiXG5cdHdpdGggYnV0dG9ucy4gKi9cblx0LS1jay11aS1jb21wb25lbnQtbWluLWhlaWdodDogMi4zZW07XG59XG5cbi8qKlxuICogUmVzZXRzIGFuIGVsZW1lbnQsIGlnbm9yaW5nIGl0cyBjaGlsZHJlbi5cbiAqL1xuXG4uY2suY2stcmVzZXQsXG4uY2suY2stcmVzZXRfYWxsLFxuLmNrLmNrLXJlc2V0X2FsbCAqIHtcblx0LyogRG8gbm90IGluY2x1ZGUgaW5oZXJpdGFibGUgcnVsZXMgaGVyZS4gKi9cblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXI6IDA7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdHRyYW5zaXRpb246IG5vbmU7XG5cblx0LyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL2lzc3Vlcy8xMDUgKi9cblx0d29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4vKipcbiAqIFJlc2V0cyBhbiBlbGVtZW50IEFORCBpdHMgY2hpbGRyZW4uXG4gKi9cblxuLmNrLmNrLXJlc2V0X2FsbCxcbi5jay5jay1yZXNldF9hbGwgKiB7XG5cdC8qIFRoZXNlIGFyZSBydWxlIGluaGVyaXRlZCBieSBhbGwgY2hpbGRyZW4gZWxlbWVudHMuICovXG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIHZhcigtLWNrLWZvbnQtc2l6ZS1iYXNlKS92YXIoLS1jay1saW5lLWhlaWdodC1iYXNlKSB2YXIoLS1jay1mb250LWZhY2UpO1xuXHRjb2xvcjogdmFyKC0tY2stY29sb3ItdGV4dCk7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGN1cnNvcjogYXV0bztcblx0ZmxvYXQ6IG5vbmU7XG59XG5cbi5jay5jay1yZXNldF9hbGwgLmNrLXJ0bCAqIHtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0fVxuXG4uY2suY2stcmVzZXRfYWxsIGlmcmFtZSB7XG5cdFx0LyogRm9yIElFICovXG5cdFx0dmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG5cdH1cblxuLmNrLmNrLXJlc2V0X2FsbCB0ZXh0YXJlYSB7XG5cdFx0d2hpdGUtc3BhY2U6IHByZS13cmFwO1xuXHR9XG5cbi5jay5jay1yZXNldF9hbGwgdGV4dGFyZWEsXG5cdC5jay5jay1yZXNldF9hbGwgaW5wdXRbdHlwZT1cInRleHRcIl0sXG5cdC5jay5jay1yZXNldF9hbGwgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdIHtcblx0XHRjdXJzb3I6IHRleHQ7XG5cdH1cblxuLmNrLmNrLXJlc2V0X2FsbCB0ZXh0YXJlYVtkaXNhYmxlZF0sXG5cdC5jay5jay1yZXNldF9hbGwgaW5wdXRbdHlwZT1cInRleHRcIl1bZGlzYWJsZWRdLFxuXHQuY2suY2stcmVzZXRfYWxsIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXVtkaXNhYmxlZF0ge1xuXHRcdGN1cnNvcjogZGVmYXVsdDtcblx0fVxuXG4uY2suY2stcmVzZXRfYWxsIGZpZWxkc2V0IHtcblx0XHRwYWRkaW5nOiAxMHB4O1xuXHRcdGJvcmRlcjogMnB4IGdyb292ZSBoc2woMjU1LCA3JSwgODglKTtcblx0fVxuXG4uY2suY2stcmVzZXRfYWxsIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG5cdFx0LyogU2VlIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNTUxNzc0NC9yZW1vdmUtZXh0cmEtYnV0dG9uLXNwYWNpbmctcGFkZGluZy1pbi1maXJlZm94ICovXG5cdFx0cGFkZGluZzogMDtcblx0XHRib3JkZXI6IDBcblx0fVxuXG4vKipcbiAqIERlZmF1bHQgVUkgcnVsZXMgZm9yIFJUTCBsYW5ndWFnZXMuXG4gKi9cblxuLmNrW2Rpcj1cInJ0bFwiXSxcbi5ja1tkaXI9XCJydGxcIl0gLmNrIHtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBEZWZhdWx0IGJvcmRlci1yYWRpdXMgdmFsdWUuXG4gKi9cblxuOnJvb3R7XG5cdC0tY2stYm9yZGVyLXJhZGl1czogMnB4O1xufVxuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LyoqXG5cdCAqIEEgdmlzdWFsIHN0eWxlIG9mIGVsZW1lbnQncyBpbm5lciBzaGFkb3cgKGkuZS4gaW5wdXQpLlxuXHQgKi9cblx0LS1jay1pbm5lci1zaGFkb3c6IDJweCAycHggM3B4IHZhcigtLWNrLWNvbG9yLXNoYWRvdy1pbm5lcikgaW5zZXQ7XG5cblx0LyoqXG5cdCAqIEEgdmlzdWFsIHN0eWxlIG9mIGVsZW1lbnQncyBkcm9wIHNoYWRvdyAoaS5lLiBwYW5lbCkuXG5cdCAqL1xuXHQtLWNrLWRyb3Atc2hhZG93OiAwIDFweCAycHggMXB4IHZhcigtLWNrLWNvbG9yLXNoYWRvdy1kcm9wKTtcblxuXHQvKipcblx0ICogQSB2aXN1YWwgc3R5bGUgb2YgZWxlbWVudCdzIGFjdGl2ZSBzaGFkb3cgKGkuZS4gY29tbWVudCBvciBzdWdnZXN0aW9uKS5cblx0ICovXG5cdC0tY2stZHJvcC1zaGFkb3ctYWN0aXZlOiAwIDNweCA2cHggMXB4IHZhcigtLWNrLWNvbG9yLXNoYWRvdy1kcm9wLWFjdGl2ZSk7XG59XG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLXNwYWNpbmctdW5pdDogXHRcdFx0XHRcdFx0MC42ZW07XG5cdC0tY2stc3BhY2luZy1sYXJnZTogXHRcdFx0XHRcdGNhbGModmFyKC0tY2stc3BhY2luZy11bml0KSAqIDEuNSk7XG5cdC0tY2stc3BhY2luZy1zdGFuZGFyZDogXHRcdFx0XHRcdHZhcigtLWNrLXNwYWNpbmctdW5pdCk7XG5cdC0tY2stc3BhY2luZy1tZWRpdW06IFx0XHRcdFx0XHRjYWxjKHZhcigtLWNrLXNwYWNpbmctdW5pdCkgKiAwLjgpO1xuXHQtLWNrLXNwYWNpbmctc21hbGw6IFx0XHRcdFx0XHRjYWxjKHZhcigtLWNrLXNwYWNpbmctdW5pdCkgKiAwLjUpO1xuXHQtLWNrLXNwYWNpbmctdGlueTogXHRcdFx0XHRcdFx0Y2FsYyh2YXIoLS1jay1zcGFjaW5nLXVuaXQpICogMC4zKTtcblx0LS1jay1zcGFjaW5nLWV4dHJhLXRpbnk6IFx0XHRcdFx0Y2FsYyh2YXIoLS1jay1zcGFjaW5nLXVuaXQpICogMC4xNik7XG59XG4iLCIvKiBDOlxcbGFyYWdvblxcd3d3XFx0cnVzdFxcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS11aVxcdGhlbWVcXGNvbXBvbmVudHNcXGljb25cXGljb24uY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWljb24ge1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKiBDOlxcbGFyYWdvblxcd3d3XFx0cnVzdFxcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS10aGVtZS1sYXJrXFx0aGVtZVxcY2tlZGl0b3I1LXVpXFxjb21wb25lbnRzXFxpY29uXFxpY29uLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay1pY29uLXNpemU6IGNhbGModmFyKC0tY2stbGluZS1oZWlnaHQtYmFzZSkgKiB2YXIoLS1jay1mb250LXNpemUtbm9ybWFsKSk7XG59XG5cbi5jay5jay1pY29uIHtcblx0d2lkdGg6IHZhcigtLWNrLWljb24tc2l6ZSk7XG5cdGhlaWdodDogdmFyKC0tY2staWNvbi1zaXplKTtcblxuXHQvKiBNdWx0aXBsaWVkIGJ5IHRoZSBoZWlnaHQgb2YgdGhlIGxpbmUgaW4gXCJweFwiIHNob3VsZCBnaXZlIFNWRyBcInZpZXdwb3J0XCIgZGltZW5zaW9ucyAqL1xuXHRmb250LXNpemU6IC44MzMzMzUwNjk0ZW07XG5cblx0Y29sb3I6IGluaGVyaXQ7XG5cblx0LyogSW5oZXJpdCBjdXJzb3Igc3R5bGUgKCM1KS4gKi9cblx0Y3Vyc29yOiBpbmhlcml0O1xuXG5cdC8qIFRoaXMgd2lsbCBwcmV2ZW50IGJsdXJyeSBpY29ucyBvbiBGaXJlZm94LiBTZWUgIzM0MC4gKi9cblx0d2lsbC1jaGFuZ2U6IHRyYW5zZm9ybVxufVxuXG4uY2suY2staWNvbiAqIHtcblx0XHQvKiBJbmhlcml0IGN1cnNvciBzdHlsZSAoIzUpLiAqL1xuXHRcdGN1cnNvcjogaW5oZXJpdDtcblxuXHRcdC8qIEFsbG93cyBkeW5hbWljIGNvbG9yaW5nIG9mIHRoZSBpY29ucy4gKi9cblx0XHRjb2xvcjogaW5oZXJpdFxuXHR9XG5cbi5jay5jay1pY29uICo6bm90KFtmaWxsXSkge1xuXHRcdFx0LyogTmVlZGVkIGJ5IEZGLiAqL1xuXHRcdFx0ZmlsbDogY3VycmVudENvbG9yO1xuXHRcdH1cbiIsIi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXVpXFx0aGVtZVxcY29tcG9uZW50c1xccGFuZWxcXGJhbGxvb25wYW5lbC5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG46cm9vdCB7XG5cdC8qIE1ha2Ugc3VyZSB0aGUgYmFsbG9vbiBhcnJvdyBkb2VzIG5vdCBmbG9hdCBvdmVyIGl0cyBjaGlsZHJlbi4gKi9cblx0LS1jay1iYWxsb29uLXBhbmVsLWFycm93LXotaW5kZXg6IGNhbGModmFyKC0tY2stei1kZWZhdWx0KSAtIDMpO1xufVxuXG4uY2suY2stYmFsbG9vbi1wYW5lbCB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuXHR6LWluZGV4OiB2YXIoLS1jay16LW1vZGFsKVxufVxuXG4uY2suY2stYmFsbG9vbi1wYW5lbC5jay1iYWxsb29uLXBhbmVsX3dpdGgtYXJyb3c6OmJlZm9yZSxcblx0XHQuY2suY2stYmFsbG9vbi1wYW5lbC5jay1iYWxsb29uLXBhbmVsX3dpdGgtYXJyb3c6OmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0fVxuXG4uY2suY2stYmFsbG9vbi1wYW5lbC5jay1iYWxsb29uLXBhbmVsX3dpdGgtYXJyb3c6OmJlZm9yZSB7XG5cdFx0XHR6LWluZGV4OiB2YXIoLS1jay1iYWxsb29uLXBhbmVsLWFycm93LXotaW5kZXgpO1xuXHRcdH1cblxuLmNrLmNrLWJhbGxvb24tcGFuZWwuY2stYmFsbG9vbi1wYW5lbF93aXRoLWFycm93OjphZnRlciB7XG5cdFx0XHR6LWluZGV4OiBjYWxjKHZhcigtLWNrLWJhbGxvb24tcGFuZWwtYXJyb3ctei1pbmRleCkgKyAxKTtcblx0XHR9XG5cbi5jay5jay1iYWxsb29uLXBhbmVsW2NsYXNzKj1cImFycm93X25cIl06OmJlZm9yZSB7XG5cdFx0XHR6LWluZGV4OiB2YXIoLS1jay1iYWxsb29uLXBhbmVsLWFycm93LXotaW5kZXgpO1xuXHRcdH1cblxuLmNrLmNrLWJhbGxvb24tcGFuZWxbY2xhc3MqPVwiYXJyb3dfblwiXTo6YWZ0ZXIge1xuXHRcdFx0ei1pbmRleDogY2FsYyh2YXIoLS1jay1iYWxsb29uLXBhbmVsLWFycm93LXotaW5kZXgpICsgMSk7XG5cdFx0fVxuXG4uY2suY2stYmFsbG9vbi1wYW5lbFtjbGFzcyo9XCJhcnJvd19zXCJdOjpiZWZvcmUge1xuXHRcdFx0ei1pbmRleDogdmFyKC0tY2stYmFsbG9vbi1wYW5lbC1hcnJvdy16LWluZGV4KTtcblx0XHR9XG5cbi5jay5jay1iYWxsb29uLXBhbmVsW2NsYXNzKj1cImFycm93X3NcIl06OmFmdGVyIHtcblx0XHRcdHotaW5kZXg6IGNhbGModmFyKC0tY2stYmFsbG9vbi1wYW5lbC1hcnJvdy16LWluZGV4KSArIDEpO1xuXHRcdH1cblxuLmNrLmNrLWJhbGxvb24tcGFuZWwuY2stYmFsbG9vbi1wYW5lbF92aXNpYmxlIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG4vKiBDOlxcbGFyYWdvblxcd3d3XFx0cnVzdFxcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS10aGVtZS1sYXJrXFx0aGVtZVxcY2tlZGl0b3I1LXVpXFxjb21wb25lbnRzXFxwYW5lbFxcYmFsbG9vbnBhbmVsLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBJbXBsZW1lbnRzIHJvdW5kZWQgY29ybmVyIGludGVyZmFjZSBmb3IgLmNrLXJvdW5kZWQtY29ybmVycyBjbGFzcy5cbiAqXG4gKiBAc2VlICRjay1ib3JkZXItcmFkaXVzXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEEgaGVscGVyIHRvIGNvbWJpbmUgbXVsdGlwbGUgc2hhZG93cy5cbiAqL1xuXG4vKipcbiAqIEdpdmVzIGFuIGVsZW1lbnQgYSBkcm9wIHNoYWRvdyBzbyBpdCBsb29rcyBsaWtlIGEgZmxvYXRpbmcgcGFuZWwuXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLWJhbGxvb24tYXJyb3ctb2Zmc2V0OiAycHg7XG5cdC0tY2stYmFsbG9vbi1hcnJvdy1oZWlnaHQ6IDEwcHg7XG5cdC0tY2stYmFsbG9vbi1hcnJvdy1oYWxmLXdpZHRoOiA4cHg7XG59XG5cbi5jay5jay1iYWxsb29uLXBhbmVsIHtcblx0Ym9yZGVyLXJhZGl1czogMFxufVxuXG4uY2stcm91bmRlZC1jb3JuZXJzIC5jay5jay1iYWxsb29uLXBhbmVsLCAuY2suY2stYmFsbG9vbi1wYW5lbC5jay1yb3VuZGVkLWNvcm5lcnMge1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLWNrLWJvcmRlci1yYWRpdXMpXG59XG5cbi5jay5jay1iYWxsb29uLXBhbmVsIHtcblx0Ym94LXNoYWRvdzogdmFyKC0tY2stZHJvcC1zaGFkb3cpLCAwIDA7XG5cblx0bWluLWhlaWdodDogMTVweDtcblxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1wYW5lbC1iYWNrZ3JvdW5kKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItcGFuZWwtYm9yZGVyKVxufVxuXG4uY2suY2stYmFsbG9vbi1wYW5lbC5jay1iYWxsb29uLXBhbmVsX3dpdGgtYXJyb3c6OmJlZm9yZSxcblx0XHQuY2suY2stYmFsbG9vbi1wYW5lbC5jay1iYWxsb29uLXBhbmVsX3dpdGgtYXJyb3c6OmFmdGVyIHtcblx0XHRcdHdpZHRoOiAwO1xuXHRcdFx0aGVpZ2h0OiAwO1xuXHRcdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHR9XG5cbi5jay5jay1iYWxsb29uLXBhbmVsW2NsYXNzKj1cImFycm93X25cIl06OmJlZm9yZSxcblx0XHQuY2suY2stYmFsbG9vbi1wYW5lbFtjbGFzcyo9XCJhcnJvd19uXCJdOjphZnRlciB7XG5cdFx0XHRib3JkZXItd2lkdGg6IDAgdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oYWxmLXdpZHRoKSB2YXIoLS1jay1iYWxsb29uLWFycm93LWhlaWdodCkgdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oYWxmLXdpZHRoKTtcblx0XHR9XG5cbi5jay5jay1iYWxsb29uLXBhbmVsW2NsYXNzKj1cImFycm93X25cIl06OmJlZm9yZSB7XG5cdFx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHZhcigtLWNrLWNvbG9yLXBhbmVsLWJvcmRlcikgdHJhbnNwYXJlbnQ7XG5cdFx0fVxuXG4uY2suY2stYmFsbG9vbi1wYW5lbFtjbGFzcyo9XCJhcnJvd19uXCJdOjphZnRlciB7XG5cdFx0XHRib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHZhcigtLWNrLWNvbG9yLXBhbmVsLWJhY2tncm91bmQpIHRyYW5zcGFyZW50O1xuXHRcdFx0bWFyZ2luLXRvcDogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1vZmZzZXQpO1xuXHRcdH1cblxuLmNrLmNrLWJhbGxvb24tcGFuZWxbY2xhc3MqPVwiYXJyb3dfc1wiXTo6YmVmb3JlLFxuXHRcdC5jay5jay1iYWxsb29uLXBhbmVsW2NsYXNzKj1cImFycm93X3NcIl06OmFmdGVyIHtcblx0XHRcdGJvcmRlci13aWR0aDogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oZWlnaHQpIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGFsZi13aWR0aCkgMCB2YXIoLS1jay1iYWxsb29uLWFycm93LWhhbGYtd2lkdGgpO1xuXHRcdH1cblxuLmNrLmNrLWJhbGxvb24tcGFuZWxbY2xhc3MqPVwiYXJyb3dfc1wiXTo6YmVmb3JlIHtcblx0XHRcdGJvcmRlci1jb2xvcjogdmFyKC0tY2stY29sb3ItcGFuZWwtYm9yZGVyKSB0cmFuc3BhcmVudCAgdHJhbnNwYXJlbnQ7XG5cdFx0fVxuXG4uY2suY2stYmFsbG9vbi1wYW5lbFtjbGFzcyo9XCJhcnJvd19zXCJdOjphZnRlciB7XG5cdFx0XHRib3JkZXItY29sb3I6IHZhcigtLWNrLWNvbG9yLXBhbmVsLWJhY2tncm91bmQpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1vZmZzZXQpO1xuXHRcdH1cblxuLmNrLmNrLWJhbGxvb24tcGFuZWwuY2stYmFsbG9vbi1wYW5lbF9hcnJvd19uOjpiZWZvcmUsXG5cdFx0LmNrLmNrLWJhbGxvb24tcGFuZWwuY2stYmFsbG9vbi1wYW5lbF9hcnJvd19uOjphZnRlciB7XG5cdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGFsZi13aWR0aCkpO1xuXHRcdFx0dG9wOiBjYWxjKC0xICogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oZWlnaHQpKTtcblx0XHR9XG5cbi5jay5jay1iYWxsb29uLXBhbmVsLmNrLWJhbGxvb24tcGFuZWxfYXJyb3dfbnc6OmJlZm9yZSxcblx0XHQuY2suY2stYmFsbG9vbi1wYW5lbC5jay1iYWxsb29uLXBhbmVsX2Fycm93X253OjphZnRlciB7XG5cdFx0XHRsZWZ0OiBjYWxjKDIgKiB2YXIoLS1jay1iYWxsb29uLWFycm93LWhhbGYtd2lkdGgpKTtcblx0XHRcdHRvcDogY2FsYygtMSAqIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGVpZ2h0KSk7XG5cdFx0fVxuXG4uY2suY2stYmFsbG9vbi1wYW5lbC5jay1iYWxsb29uLXBhbmVsX2Fycm93X25lOjpiZWZvcmUsXG5cdFx0LmNrLmNrLWJhbGxvb24tcGFuZWwuY2stYmFsbG9vbi1wYW5lbF9hcnJvd19uZTo6YWZ0ZXIge1xuXHRcdFx0cmlnaHQ6IGNhbGMoMiAqIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGFsZi13aWR0aCkpO1xuXHRcdFx0dG9wOiBjYWxjKC0xICogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oZWlnaHQpKTtcblx0XHR9XG5cbi5jay5jay1iYWxsb29uLXBhbmVsLmNrLWJhbGxvb24tcGFuZWxfYXJyb3dfczo6YmVmb3JlLFxuXHRcdC5jay5jay1iYWxsb29uLXBhbmVsLmNrLWJhbGxvb24tcGFuZWxfYXJyb3dfczo6YWZ0ZXIge1xuXHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1jay1iYWxsb29uLWFycm93LWhhbGYtd2lkdGgpKTtcblx0XHRcdGJvdHRvbTogY2FsYygtMSAqIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGVpZ2h0KSk7XG5cdFx0fVxuXG4uY2suY2stYmFsbG9vbi1wYW5lbC5jay1iYWxsb29uLXBhbmVsX2Fycm93X3N3OjpiZWZvcmUsXG5cdFx0LmNrLmNrLWJhbGxvb24tcGFuZWwuY2stYmFsbG9vbi1wYW5lbF9hcnJvd19zdzo6YWZ0ZXIge1xuXHRcdFx0bGVmdDogY2FsYygyICogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oYWxmLXdpZHRoKSk7XG5cdFx0XHRib3R0b206IGNhbGMoLTEgKiB2YXIoLS1jay1iYWxsb29uLWFycm93LWhlaWdodCkpO1xuXHRcdH1cblxuLmNrLmNrLWJhbGxvb24tcGFuZWwuY2stYmFsbG9vbi1wYW5lbF9hcnJvd19zZTo6YmVmb3JlLFxuXHRcdC5jay5jay1iYWxsb29uLXBhbmVsLmNrLWJhbGxvb24tcGFuZWxfYXJyb3dfc2U6OmFmdGVyIHtcblx0XHRcdHJpZ2h0OiBjYWxjKDIgKiB2YXIoLS1jay1iYWxsb29uLWFycm93LWhhbGYtd2lkdGgpKTtcblx0XHRcdGJvdHRvbTogY2FsYygtMSAqIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGVpZ2h0KSk7XG5cdFx0fVxuXG4uY2suY2stYmFsbG9vbi1wYW5lbC5jay1iYWxsb29uLXBhbmVsX2Fycm93X3NtZTo6YmVmb3JlLFxuXHRcdC5jay5jay1iYWxsb29uLXBhbmVsLmNrLWJhbGxvb24tcGFuZWxfYXJyb3dfc21lOjphZnRlciB7XG5cdFx0XHRyaWdodDogMjUlO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiBjYWxjKDIgKiB2YXIoLS1jay1iYWxsb29uLWFycm93LWhhbGYtd2lkdGgpKTtcblx0XHRcdGJvdHRvbTogY2FsYygtMSAqIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGVpZ2h0KSk7XG5cdFx0fVxuXG4uY2suY2stYmFsbG9vbi1wYW5lbC5jay1iYWxsb29uLXBhbmVsX2Fycm93X3Ntdzo6YmVmb3JlLFxuXHRcdC5jay5jay1iYWxsb29uLXBhbmVsLmNrLWJhbGxvb24tcGFuZWxfYXJyb3dfc213OjphZnRlciB7XG5cdFx0XHRsZWZ0OiAyNSU7XG5cdFx0XHRtYXJnaW4tbGVmdDogY2FsYygyICogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oYWxmLXdpZHRoKSk7XG5cdFx0XHRib3R0b206IGNhbGMoLTEgKiB2YXIoLS1jay1iYWxsb29uLWFycm93LWhlaWdodCkpO1xuXHRcdH1cblxuLmNrLmNrLWJhbGxvb24tcGFuZWwuY2stYmFsbG9vbi1wYW5lbF9hcnJvd19ubWU6OmJlZm9yZSxcblx0XHQuY2suY2stYmFsbG9vbi1wYW5lbC5jay1iYWxsb29uLXBhbmVsX2Fycm93X25tZTo6YWZ0ZXIge1xuXHRcdFx0cmlnaHQ6IDI1JTtcblx0XHRcdG1hcmdpbi1yaWdodDogY2FsYygyICogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oYWxmLXdpZHRoKSk7XG5cdFx0XHR0b3A6IGNhbGMoLTEgKiB2YXIoLS1jay1iYWxsb29uLWFycm93LWhlaWdodCkpO1xuXHRcdH1cblxuLmNrLmNrLWJhbGxvb24tcGFuZWwuY2stYmFsbG9vbi1wYW5lbF9hcnJvd19ubXc6OmJlZm9yZSxcblx0XHQuY2suY2stYmFsbG9vbi1wYW5lbC5jay1iYWxsb29uLXBhbmVsX2Fycm93X25tdzo6YWZ0ZXIge1xuXHRcdFx0bGVmdDogMjUlO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IGNhbGMoMiAqIHZhcigtLWNrLWJhbGxvb24tYXJyb3ctaGFsZi13aWR0aCkpO1xuXHRcdFx0dG9wOiBjYWxjKC0xICogdmFyKC0tY2stYmFsbG9vbi1hcnJvdy1oZWlnaHQpKTtcblx0XHR9XG4iLCIvKiBDOlxcbGFyYWdvblxcd3d3XFx0cnVzdFxcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS13aWRnZXRcXHRoZW1lXFx3aWRnZXR0eXBlYXJvdW5kLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jayAuY2std2lkZ2V0IHtcblx0Lypcblx0ICogU3R5bGVzIG9mIHRoZSB0eXBlIGFyb3VuZCBidXR0b25zXG5cdCAqL1xufVxuXG4uY2sgLmNrLXdpZGdldCAuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fYnV0dG9uIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHR6LWluZGV4OiB2YXIoLS1jay16LWRlZmF1bHQpXG5cdH1cblxuLmNrIC5jay13aWRnZXQgLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2J1dHRvbiBzdmcge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHR6LWluZGV4OiBjYWxjKHZhcigtLWNrLXotZGVmYXVsdCkgKyAyKTtcblx0XHR9XG5cbi5jayAuY2std2lkZ2V0IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kX19idXR0b24uY2std2lkZ2V0X190eXBlLWFyb3VuZF9fYnV0dG9uX2JlZm9yZSB7XG5cdFx0XHQvKiBQbGFjZSBpdCBpbiB0aGUgbWlkZGxlIG9mIHRoZSBvdXRsaW5lICovXG5cdFx0XHR0b3A6IGNhbGMoLTAuNSAqIHZhcigtLWNrLXdpZGdldC1vdXRsaW5lLXRoaWNrbmVzcykpO1xuXHRcdFx0bGVmdDogbWluKDEwJSwgMzBweCk7XG5cblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0XHR9XG5cbi5jayAuY2std2lkZ2V0IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kX19idXR0b24uY2std2lkZ2V0X190eXBlLWFyb3VuZF9fYnV0dG9uX2FmdGVyIHtcblx0XHRcdC8qIFBsYWNlIGl0IGluIHRoZSBtaWRkbGUgb2YgdGhlIG91dGxpbmUgKi9cblx0XHRcdGJvdHRvbTogY2FsYygtMC41ICogdmFyKC0tY2std2lkZ2V0LW91dGxpbmUtdGhpY2tuZXNzKSk7XG5cdFx0XHRyaWdodDogbWluKDEwJSwgMzBweCk7XG5cblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuXHRcdH1cblxuLmNrIC5jay13aWRnZXQge1xuXG5cdC8qXG5cdCAqIFN0eWxlcyBmb3IgdGhlIGJ1dHRvbnMgd2hlbjpcblx0ICogLSB0aGUgd2lkZ2V0IGlzIHNlbGVjdGVkLFxuXHQgKiAtIG9yIHRoZSBidXR0b24gaXMgYmVpbmcgaG92ZXJlZCAocmVnYXJkbGVzcyBvZiB0aGUgd2lkZ2V0IHN0YXRlKS5cblx0ICovXG59XG5cbi5jayAuY2std2lkZ2V0LmNrLXdpZGdldF9zZWxlY3RlZCA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2J1dHRvbjo6YWZ0ZXIsIC5jayAuY2std2lkZ2V0ID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmQgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fYnV0dG9uOmhvdmVyOjphZnRlciB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDFweDtcblx0XHRcdGxlZnQ6IDFweDtcblx0XHRcdHotaW5kZXg6IGNhbGModmFyKC0tY2stei1kZWZhdWx0KSArIDEpO1xuXHRcdH1cblxuLmNrIC5jay13aWRnZXQge1xuXG5cdC8qXG5cdCAqIFN0eWxlcyBmb3IgdGhlIGhvcml6b250YWwgXCJmYWtlIGNhcmV0XCIgd2hpY2ggaXMgZGlzcGxheWVkIHdoZW4gdGhlIHVzZXIgbmF2aWdhdGVzIHVzaW5nIHRoZSBrZXlib2FyZC5cblx0ICovXG59XG5cbi5jayAuY2std2lkZ2V0ID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmQgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fZmFrZS1jYXJldCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogMDtcblx0XHRyaWdodDogMDtcblx0fVxuXG4uY2sgLmNrLXdpZGdldCB7XG5cblx0Lypcblx0ICogV2hlbiB0aGUgd2lkZ2V0IGlzIGhvdmVyZWQgdGhlIFwiZmFrZSBjYXJldFwiIHdvdWxkIG5vcm1hbGx5IGJlIG5hcnJvd2VyIHRoYW4gdGhlXG5cdCAqIGV4dHJhIG91dGxpbmUgZGlzcGxheWVkIGFyb3VuZCB0aGUgd2lkZ2V0LiBMZXQncyBleHRlbmQgdGhlIFwiZmFrZSBjYXJldFwiIHRvIG1hdGNoXG5cdCAqIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSB3aWRnZXQuXG5cdCAqL1xufVxuXG4uY2sgLmNrLXdpZGdldDpob3ZlciA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2Zha2UtY2FyZXQge1xuXHRcdGxlZnQ6IGNhbGMoIC0xICogdmFyKC0tY2std2lkZ2V0LW91dGxpbmUtdGhpY2tuZXNzKSApO1xuXHRcdHJpZ2h0OiBjYWxjKCAtMSAqIHZhcigtLWNrLXdpZGdldC1vdXRsaW5lLXRoaWNrbmVzcykgKTtcblx0fVxuXG4uY2sgLmNrLXdpZGdldCB7XG5cblx0Lypcblx0ICogU3R5bGVzIGZvciB0aGUgaG9yaXpvbnRhbCBcImZha2UgY2FyZXRcIiB3aGVuIGl0IHNob3VsZCBiZSBkaXNwbGF5ZWQgYmVmb3JlIHRoZSB3aWRnZXQgKGJhY2t3YXJkIGtleWJvYXJkIG5hdmlnYXRpb24pLlxuXHQgKi9cbn1cblxuLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3R5cGUtYXJvdW5kX3Nob3ctZmFrZS1jYXJldF9iZWZvcmUgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZCA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kX19mYWtlLWNhcmV0IHtcblx0XHR0b3A6IGNhbGMoIC0xICogdmFyKC0tY2std2lkZ2V0LW91dGxpbmUtdGhpY2tuZXNzKSAtIDFweCApO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cbi5jayAuY2std2lkZ2V0IHtcblxuXHQvKlxuXHQgKiBTdHlsZXMgZm9yIHRoZSBob3Jpem9udGFsIFwiZmFrZSBjYXJldFwiIHdoZW4gaXQgc2hvdWxkIGJlIGRpc3BsYXllZCBhZnRlciB0aGUgd2lkZ2V0IChmb3J3YXJkIGtleWJvYXJkIG5hdmlnYXRpb24pLlxuXHQgKi9cbn1cblxuLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3R5cGUtYXJvdW5kX3Nob3ctZmFrZS1jYXJldF9hZnRlciA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2Zha2UtY2FyZXQge1xuXHRcdGJvdHRvbTogY2FsYyggLTEgKiB2YXIoLS1jay13aWRnZXQtb3V0bGluZS10aGlja25lc3MpIC0gMXB4ICk7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuLypcbiAqIEludGVncmF0aW9uIHdpdGggdGhlIHJlYWQtb25seSBtb2RlIG9mIHRoZSBlZGl0b3IuXG4gKi9cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stcmVhZC1vbmx5IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLypcbiAqIEludGVncmF0aW9uIHdpdGggdGhlIHJlc3RyaWN0ZWQgZWRpdGluZyBtb2RlIChmZWF0dXJlKSBvZiB0aGUgZWRpdG9yLlxuICovXG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLXJlc3RyaWN0ZWQtZWRpdGluZ19tb2RlX3Jlc3RyaWN0ZWQgLmNrLXdpZGdldF9fdHlwZS1hcm91bmQge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4vKlxuICogSW50ZWdyYXRpb24gd2l0aCB0aGUgI2lzRW5hYmxlZCBwcm9wZXJ0eSBvZiB0aGUgV2lkZ2V0VHlwZUFyb3VuZCBwbHVnaW4uXG4gKi9cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2std2lkZ2V0X190eXBlLWFyb3VuZF9kaXNhYmxlZCAuY2std2lkZ2V0X190eXBlLWFyb3VuZCB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRoZW1lLWxhcmtcXHRoZW1lXFxja2VkaXRvcjUtd2lkZ2V0XFx3aWRnZXR0eXBlYXJvdW5kLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay13aWRnZXQtdHlwZS1hcm91bmQtYnV0dG9uLXNpemU6IDIwcHg7XG5cdC0tY2stY29sb3Itd2lkZ2V0LXR5cGUtYXJvdW5kLWJ1dHRvbi1hY3RpdmU6IHZhcigtLWNrLWNvbG9yLWZvY3VzLWJvcmRlcik7XG5cdC0tY2stY29sb3Itd2lkZ2V0LXR5cGUtYXJvdW5kLWJ1dHRvbi1ob3ZlcjogdmFyKC0tY2stY29sb3Itd2lkZ2V0LWhvdmVyLWJvcmRlcik7XG5cdC0tY2stY29sb3Itd2lkZ2V0LXR5cGUtYXJvdW5kLWJ1dHRvbi1ibHVycmVkLWVkaXRhYmxlOiB2YXIoLS1jay1jb2xvci13aWRnZXQtYmx1cnJlZC1ib3JkZXIpO1xuXHQtLWNrLWNvbG9yLXdpZGdldC10eXBlLWFyb3VuZC1idXR0b24tcmFkYXItc3RhcnQtYWxwaGE6IDA7XG5cdC0tY2stY29sb3Itd2lkZ2V0LXR5cGUtYXJvdW5kLWJ1dHRvbi1yYWRhci1lbmQtYWxwaGE6IC4zO1xuXHQtLWNrLWNvbG9yLXdpZGdldC10eXBlLWFyb3VuZC1idXR0b24taWNvbjogdmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcbn1cblxuLmNrIC5jay13aWRnZXQge1xuXHQvKlxuXHQgKiBTdHlsZXMgb2YgdGhlIHR5cGUgYXJvdW5kIGJ1dHRvbnNcblx0ICovXG59XG5cbi5jayAuY2std2lkZ2V0IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kX19idXR0b24ge1xuXHRcdHdpZHRoOiB2YXIoLS1jay13aWRnZXQtdHlwZS1hcm91bmQtYnV0dG9uLXNpemUpO1xuXHRcdGhlaWdodDogdmFyKC0tY2std2lkZ2V0LXR5cGUtYXJvdW5kLWJ1dHRvbi1zaXplKTtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci13aWRnZXQtdHlwZS1hcm91bmQtYnV0dG9uKTtcblx0XHRib3JkZXItcmFkaXVzOiAxMDBweDtcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWNrLXdpZGdldC1oYW5kbGVyLWFuaW1hdGlvbi1kdXJhdGlvbikgdmFyKC0tY2std2lkZ2V0LWhhbmRsZXItYW5pbWF0aW9uLWN1cnZlKSwgYmFja2dyb3VuZCB2YXIoLS1jay13aWRnZXQtaGFuZGxlci1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLWNrLXdpZGdldC1oYW5kbGVyLWFuaW1hdGlvbi1jdXJ2ZSk7XG5cblx0XHRvcGFjaXR5OiAwO1xuXG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmVcblx0fVxuXG4uY2sgLmNrLXdpZGdldCAuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fYnV0dG9uIHN2ZyB7XG5cdFx0XHR3aWR0aDogMTBweDtcblx0XHRcdGhlaWdodDogOHB4O1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcblx0XHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXMgZWFzZTtcblx0XHRcdG1hcmdpbi10b3A6IDFweFxuXHRcdH1cblxuLmNrIC5jay13aWRnZXQgLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2J1dHRvbiBzdmcgKiB7XG5cdFx0XHRcdHN0cm9rZS1kYXNoYXJyYXk6IDEwO1xuXHRcdFx0XHRzdHJva2UtZGFzaG9mZnNldDogMDtcblxuXHRcdFx0XHRmaWxsOiBub25lO1xuXHRcdFx0XHRzdHJva2U6IHZhcigtLWNrLWNvbG9yLXdpZGdldC10eXBlLWFyb3VuZC1idXR0b24taWNvbik7XG5cdFx0XHRcdHN0cm9rZS13aWR0aDogMS41cHg7XG5cdFx0XHRcdHN0cm9rZS1saW5lY2FwOiByb3VuZDtcblx0XHRcdFx0c3Ryb2tlLWxpbmVqb2luOiByb3VuZDtcblx0XHRcdH1cblxuLmNrIC5jay13aWRnZXQgLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2J1dHRvbiBzdmcgbGluZSB7XG5cdFx0XHRcdHN0cm9rZS1kYXNoYXJyYXk6IDc7XG5cdFx0XHR9XG5cbi5jayAuY2std2lkZ2V0IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kX19idXR0b246aG92ZXIge1xuXHRcdFx0Lypcblx0XHRcdCAqIERpc3BsYXkgdGhlIFwic29uYXJcIiBhcm91bmQgdGhlIGJ1dHRvbiB3aGVuIGhvdmVyZWQuXG5cdFx0XHQgKi9cblx0XHRcdGFuaW1hdGlvbjogY2std2lkZ2V0LXR5cGUtYXJvdW5kLWJ1dHRvbi1zb25hciAxcyBlYXNlIGluZmluaXRlXG5cblx0XHRcdC8qXG5cdFx0XHQgKiBBbmltYXRlIGFjdGl2ZSBidXR0b24ncyBpY29uLlxuXHRcdFx0ICovXG5cdFx0fVxuXG4uY2sgLmNrLXdpZGdldCAuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fYnV0dG9uOmhvdmVyIHN2ZyBwb2x5bGluZSB7XG5cdFx0XHRcdFx0YW5pbWF0aW9uOiBjay13aWRnZXQtdHlwZS1hcm91bmQtYXJyb3ctZGFzaCAycyBsaW5lYXI7XG5cdFx0XHRcdH1cblxuLmNrIC5jay13aWRnZXQgLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2J1dHRvbjpob3ZlciBzdmcgbGluZSB7XG5cdFx0XHRcdFx0YW5pbWF0aW9uOiBjay13aWRnZXQtdHlwZS1hcm91bmQtYXJyb3ctdGlwLWRhc2ggMnMgbGluZWFyO1xuXHRcdFx0XHR9XG5cbi5jayAuY2std2lkZ2V0IHtcblxuXHQvKlxuXHQgKiBTaG93IHR5cGUgYXJvdW5kIGJ1dHRvbnMgd2hlbiB0aGUgd2lkZ2V0IGdldHMgc2VsZWN0ZWQgb3IgYmVpbmcgaG92ZXJlZC5cblx0ICovXG59XG5cbi5jayAuY2std2lkZ2V0LmNrLXdpZGdldF9zZWxlY3RlZCA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2J1dHRvbiwgLmNrIC5jay13aWRnZXQ6aG92ZXIgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZCA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kX19idXR0b24ge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuXHRcdH1cblxuLmNrIC5jay13aWRnZXQge1xuXG5cdC8qXG5cdCAqIFN0eWxlcyBmb3IgdGhlIGJ1dHRvbnMgd2hlbiB0aGUgd2lkZ2V0IGlzIE5PVCBzZWxlY3RlZCAoYnV0IHRoZSBidXR0b25zIGFyZSB2aXNpYmxlXG5cdCAqIGFuZCBzdGlsbCBjYW4gYmUgaG92ZXJlZCkuXG5cdCAqL1xufVxuXG4uY2sgLmNrLXdpZGdldDpub3QoLmNrLXdpZGdldF9zZWxlY3RlZCkgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZCA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kX19idXR0b24ge1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLXdpZGdldC10eXBlLWFyb3VuZC1idXR0b24taG92ZXIpO1xuXHR9XG5cbi5jayAuY2std2lkZ2V0IHtcblxuXHQvKlxuXHQgKiBTdHlsZXMgZm9yIHRoZSBidXR0b25zIHdoZW46XG5cdCAqIC0gdGhlIHdpZGdldCBpcyBzZWxlY3RlZCxcblx0ICogLSBvciB0aGUgYnV0dG9uIGlzIGJlaW5nIGhvdmVyZWQgKHJlZ2FyZGxlc3Mgb2YgdGhlIHdpZGdldCBzdGF0ZSkuXG5cdCAqL1xufVxuXG4uY2sgLmNrLXdpZGdldC5jay13aWRnZXRfc2VsZWN0ZWQgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZCA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kX19idXR0b24sXG5cdC5jayAuY2std2lkZ2V0ID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmQgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fYnV0dG9uOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci13aWRnZXQtdHlwZS1hcm91bmQtYnV0dG9uLWFjdGl2ZSlcblx0fVxuXG4uY2sgLmNrLXdpZGdldC5jay13aWRnZXRfc2VsZWN0ZWQgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZCA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kX19idXR0b246OmFmdGVyLCAuY2sgLmNrLXdpZGdldCA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2J1dHRvbjpob3Zlcjo6YWZ0ZXIge1xuXHRcdFx0d2lkdGg6IGNhbGModmFyKC0tY2std2lkZ2V0LXR5cGUtYXJvdW5kLWJ1dHRvbi1zaXplKSAtIDJweCk7XG5cdFx0XHRoZWlnaHQ6IGNhbGModmFyKC0tY2std2lkZ2V0LXR5cGUtYXJvdW5kLWJ1dHRvbi1zaXplKSAtIDJweCk7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAxMDBweDtcblx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIGhzbGEoMCwwJSwxMDAlLDApIDAlLCBoc2xhKDAsMCUsMTAwJSwuMykgMTAwJSk7XG5cdFx0fVxuXG4uY2sgLmNrLXdpZGdldCB7XG5cblx0Lypcblx0ICogU3R5bGVzIGZvciB0aGUgXCJiZWZvcmVcIiBidXR0b24gd2hlbiB0aGUgd2lkZ2V0IGhhcyBhIHNlbGVjdGlvbiBoYW5kbGUuIEJlY2F1c2Ugc29tZSBzcGFjZVxuXHQgKiBpcyBjb25zdW1lZCBieSB0aGUgaGFuZGxlLCB0aGUgYnV0dG9uIG11c3QgYmUgbW92ZWQgc2xpZ2h0bHkgdG8gdGhlIHJpZ2h0IHRvIGxldCBpdCBicmVhdGhlLlxuXHQgKi9cbn1cblxuLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3dpdGgtc2VsZWN0aW9uLWhhbmRsZSA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2J1dHRvbl9iZWZvcmUge1xuXHRcdG1hcmdpbi1sZWZ0OiAyMHB4O1xuXHR9XG5cbi5jayAuY2std2lkZ2V0IHtcblxuXHQvKlxuXHQgKiBTdHlsZXMgZm9yIHRoZSBob3Jpem9udGFsIFwiZmFrZSBjYXJldFwiIHdoaWNoIGlzIGRpc3BsYXllZCB3aGVuIHRoZSB1c2VyIG5hdmlnYXRlcyB1c2luZyB0aGUga2V5Ym9hcmQuXG5cdCAqL1xufVxuXG4uY2sgLmNrLXdpZGdldCAuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fZmFrZS1jYXJldCB7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0aGVpZ2h0OiAxcHg7XG5cdFx0YW5pbWF0aW9uOiBjay13aWRnZXQtdHlwZS1hcm91bmQtZmFrZS1jYXJldC1wdWxzZSBsaW5lYXIgMXMgaW5maW5pdGUgbm9ybWFsIGZvcndhcmRzO1xuXG5cdFx0Lypcblx0XHQgKiBUaGUgc2VtaS10cmFuc3BhcmVudC1vdXRsaW5lK2JhY2tncm91bmQgY29tYm8gaW1wcm92ZXMgdGhlIGNvbnRyYXN0XG5cdFx0ICogd2hlbiB0aGUgYmFja2dyb3VuZCB1bmRlcm5lYXRoIHRoZSBmYWtlIGNhcmV0IGlzIGRhcmsuXG5cdFx0ICovXG5cdFx0b3V0bGluZTogc29saWQgMXB4IGhzbGEoMCwgMCUsIDEwMCUsIC41KTtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1iYXNlLXRleHQpO1xuXHR9XG5cbi5jayAuY2std2lkZ2V0IHtcblxuXHQvKlxuXHQgKiBTdHlsZXMgb2YgdGhlIHdpZGdldCB3aGVuIHRoZSBcImZha2UgY2FyZXRcIiBpcyBibGlua2luZyAoZS5nLiB1cG9uIGtleWJvYXJkIG5hdmlnYXRpb24pLlxuXHQgKiBEZXNwaXRlIHRoZSB3aWRnZXQgYmVpbmcgcGh5c2ljYWxseSBzZWxlY3RlZCBpbiB0aGUgbW9kZWwsIGl0cyBvdXRsaW5lIHNob3VsZCBkaXNhcHBlYXIuXG5cdCAqL1xufVxuXG4uY2sgLmNrLXdpZGdldC5jay13aWRnZXRfc2VsZWN0ZWQuY2std2lkZ2V0X3R5cGUtYXJvdW5kX3Nob3ctZmFrZS1jYXJldF9iZWZvcmUsXG5cdFx0LmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3NlbGVjdGVkLmNrLXdpZGdldF90eXBlLWFyb3VuZF9zaG93LWZha2UtY2FyZXRfYWZ0ZXIge1xuXHRcdFx0b3V0bGluZS1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0fVxuXG4uY2sgLmNrLXdpZGdldC5jay13aWRnZXRfdHlwZS1hcm91bmRfc2hvdy1mYWtlLWNhcmV0X2JlZm9yZSxcblx0LmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3R5cGUtYXJvdW5kX3Nob3ctZmFrZS1jYXJldF9hZnRlciB7XG5cdFx0Lypcblx0XHQgKiBXaGVuIHRoZSBcImZha2UgY2FyZXRcIiBpcyB2aXNpYmxlIHdlIHNpbXVsYXRlIHRoYXQgdGhlIHdpZGdldCBpcyBub3Qgc2VsZWN0ZWRcblx0XHQgKiAoZGVzcGl0ZSBiZWluZyBwaHlzaWNhbGx5IHNlbGVjdGVkKSwgc28gdGhlIG91dGxpbmUgY29sb3Igc2hvdWxkIGJlIGZvciB0aGVcblx0XHQgKiB1bnNlbGVjdGVkIHdpZGdldC5cblx0XHQgKi9cblx0fVxuXG4uY2sgLmNrLXdpZGdldC5jay13aWRnZXRfdHlwZS1hcm91bmRfc2hvdy1mYWtlLWNhcmV0X2JlZm9yZS5jay13aWRnZXRfc2VsZWN0ZWQ6aG92ZXIsIC5jayAuY2std2lkZ2V0LmNrLXdpZGdldF90eXBlLWFyb3VuZF9zaG93LWZha2UtY2FyZXRfYWZ0ZXIuY2std2lkZ2V0X3NlbGVjdGVkOmhvdmVyIHtcblx0XHRcdG91dGxpbmUtY29sb3I6IHZhcigtLWNrLWNvbG9yLXdpZGdldC1ob3Zlci1ib3JkZXIpO1xuXHRcdH1cblxuLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3R5cGUtYXJvdW5kX3Nob3ctZmFrZS1jYXJldF9iZWZvcmUsXG5cdC5jayAuY2std2lkZ2V0LmNrLXdpZGdldF90eXBlLWFyb3VuZF9zaG93LWZha2UtY2FyZXRfYWZ0ZXIge1xuXG5cdFx0Lypcblx0XHQgKiBTdHlsZXMgb2YgdGhlIHR5cGUgYXJvdW5kIGJ1dHRvbnMgd2hlbiB0aGUgXCJmYWtlIGNhcmV0XCIgaXMgYmxpbmtpbmcgKGUuZy4gdXBvbiBrZXlib2FyZCBuYXZpZ2F0aW9uKS5cblx0XHQgKiBJbiB0aGlzIHN0YXRlLCB0aGUgdHlwZSBhcm91bmQgYnV0dG9ucyB3b3VsZCBjb2xsaWRlIHdpdGggdGhlIGZha2UgY2FyZXRzIHNvIHRoZXkgc2hvdWxkIGRpc2FwcGVhci5cblx0XHQgKi9cblx0fVxuXG4uY2sgLmNrLXdpZGdldC5jay13aWRnZXRfdHlwZS1hcm91bmRfc2hvdy1mYWtlLWNhcmV0X2JlZm9yZSA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2J1dHRvbiwgLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3R5cGUtYXJvdW5kX3Nob3ctZmFrZS1jYXJldF9hZnRlciA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmRfX2J1dHRvbiB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0fVxuXG4uY2sgLmNrLXdpZGdldC5jay13aWRnZXRfdHlwZS1hcm91bmRfc2hvdy1mYWtlLWNhcmV0X2JlZm9yZSxcblx0LmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3R5cGUtYXJvdW5kX3Nob3ctZmFrZS1jYXJldF9hZnRlciB7XG5cblx0XHQvKlxuXHRcdCAqIEZha2UgaG9yaXpvbnRhbCBjYXJldCBpbnRlZ3JhdGlvbiB3aXRoIHRoZSBzZWxlY3Rpb24gaGFuZGxlLiBXaGVuIHRoZSBjYXJldCBpcyB2aXNpYmxlLCBzaW1wbHlcblx0XHQgKiBoaWRlIHRoZSBoYW5kbGUgYmVjYXVzZSBpdCBpbnRlcnNlY3RzIHdpdGggdGhlIGNhcmV0IChhbmQgZG9lcyBub3QgbWFrZSBtdWNoIHNlbnNlIGFueXdheSkuXG5cdFx0ICovXG5cdH1cblxuLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3R5cGUtYXJvdW5kX3Nob3ctZmFrZS1jYXJldF9iZWZvcmUuY2std2lkZ2V0X3dpdGgtc2VsZWN0aW9uLWhhbmRsZS5jay13aWRnZXRfc2VsZWN0ZWQgPiAuY2std2lkZ2V0X19zZWxlY3Rpb24taGFuZGxlLCAuY2sgLmNrLXdpZGdldC5jay13aWRnZXRfdHlwZS1hcm91bmRfc2hvdy1mYWtlLWNhcmV0X2JlZm9yZS5jay13aWRnZXRfd2l0aC1zZWxlY3Rpb24taGFuZGxlLmNrLXdpZGdldF9zZWxlY3RlZDpob3ZlciA+IC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGUsIC5jayAuY2std2lkZ2V0LmNrLXdpZGdldF90eXBlLWFyb3VuZF9zaG93LWZha2UtY2FyZXRfYWZ0ZXIuY2std2lkZ2V0X3dpdGgtc2VsZWN0aW9uLWhhbmRsZS5jay13aWRnZXRfc2VsZWN0ZWQgPiAuY2std2lkZ2V0X19zZWxlY3Rpb24taGFuZGxlLCAuY2sgLmNrLXdpZGdldC5jay13aWRnZXRfdHlwZS1hcm91bmRfc2hvdy1mYWtlLWNhcmV0X2FmdGVyLmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGUuY2std2lkZ2V0X3NlbGVjdGVkOmhvdmVyID4gLmNrLXdpZGdldF9fc2VsZWN0aW9uLWhhbmRsZSB7XG5cdFx0XHRcdFx0b3BhY2l0eTogMFxuXHRcdFx0XHR9XG5cbi5jayAuY2std2lkZ2V0LmNrLXdpZGdldF90eXBlLWFyb3VuZF9zaG93LWZha2UtY2FyZXRfYmVmb3JlLFxuXHQuY2sgLmNrLXdpZGdldC5jay13aWRnZXRfdHlwZS1hcm91bmRfc2hvdy1mYWtlLWNhcmV0X2FmdGVyIHtcblxuXHRcdC8qXG5cdFx0ICogRmFrZSBob3Jpem9udGFsIGNhcmV0IGludGVncmF0aW9uIHdpdGggdGhlIHJlc2l6ZSBVSS4gV2hlbiB0aGUgY2FyZXQgaXMgdmlzaWJsZSwgc2ltcGx5XG5cdFx0ICogaGlkZSB0aGUgcmVzaXplIFVJIGJlY2F1c2UgaXQgY3JlYXRlcyB0b28gbXVjaCBub2lzZS4gSXQgY2FuIGJlIHZpc2libGUgd2hlbiB0aGUgdXNlclxuXHRcdCAqIGhvdmVycyB0aGUgd2lkZ2V0LCB0aG91Z2guXG5cdFx0ICovXG5cdH1cblxuLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3R5cGUtYXJvdW5kX3Nob3ctZmFrZS1jYXJldF9iZWZvcmUuY2std2lkZ2V0X3NlbGVjdGVkLmNrLXdpZGdldF93aXRoLXJlc2l6ZXIgPiAuY2std2lkZ2V0X19yZXNpemVyLCAuY2sgLmNrLXdpZGdldC5jay13aWRnZXRfdHlwZS1hcm91bmRfc2hvdy1mYWtlLWNhcmV0X2FmdGVyLmNrLXdpZGdldF9zZWxlY3RlZC5jay13aWRnZXRfd2l0aC1yZXNpemVyID4gLmNrLXdpZGdldF9fcmVzaXplciB7XG5cdFx0XHRvcGFjaXR5OiAwXG5cdFx0fVxuXG4vKlxuICogSGlkZSB0eXBlIGFyb3VuZCBidXR0b25zIHdoZW4gdGhlIHdpZGdldCBpcyBzZWxlY3RlZCBhcyBhIGNoaWxkIG9mIGEgc2VsZWN0ZWRcbiAqIG5lc3RlZCBlZGl0YWJsZSAoZS5nLiBtdWxpdC1jZWxsIHRhYmxlIHNlbGVjdGlvbikuXG4gKlxuICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzcyNjMuXG4gKi9cblxuLmNrLWVkaXRvcl9fbmVzdGVkLWVkaXRhYmxlLmNrLWVkaXRvcl9fZWRpdGFibGVfc2VsZWN0ZWQgLmNrLXdpZGdldC5jay13aWRnZXRfc2VsZWN0ZWQgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZCA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kX19idXR0b24sIC5jay1lZGl0b3JfX25lc3RlZC1lZGl0YWJsZS5jay1lZGl0b3JfX2VkaXRhYmxlX3NlbGVjdGVkIC5jay13aWRnZXQ6aG92ZXIgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZCA+IC5jay13aWRnZXRfX3R5cGUtYXJvdW5kX19idXR0b24ge1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRcdH1cblxuLypcbiAqIFN0eWxlcyBmb3IgdGhlIGJ1dHRvbnMgd2hlbiB0aGUgd2lkZ2V0IGlzIHNlbGVjdGVkIGJ1dCB0aGUgdXNlciBjbGlja2VkIG91dHNpZGUgb2YgdGhlIGVkaXRvciAoYmx1cnJlZCB0aGUgZWRpdG9yKS5cbiAqL1xuXG4uY2stZWRpdG9yX19lZGl0YWJsZS5jay1ibHVycmVkIC5jay13aWRnZXQuY2std2lkZ2V0X3NlbGVjdGVkID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmQgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fYnV0dG9uOm5vdCg6aG92ZXIpIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3Itd2lkZ2V0LXR5cGUtYXJvdW5kLWJ1dHRvbi1ibHVycmVkLWVkaXRhYmxlKVxufVxuXG4uY2stZWRpdG9yX19lZGl0YWJsZS5jay1ibHVycmVkIC5jay13aWRnZXQuY2std2lkZ2V0X3NlbGVjdGVkID4gLmNrLXdpZGdldF9fdHlwZS1hcm91bmQgPiAuY2std2lkZ2V0X190eXBlLWFyb3VuZF9fYnV0dG9uOm5vdCg6aG92ZXIpIHN2ZyAqIHtcblx0XHRzdHJva2U6IGhzbCgwLDAlLDYwJSk7XG5cdH1cblxuQGtleWZyYW1lcyBjay13aWRnZXQtdHlwZS1hcm91bmQtYXJyb3ctZGFzaCB7XG5cdDAlIHtcblx0XHRzdHJva2UtZGFzaG9mZnNldDogMTA7XG5cdH1cblx0MjAlLCAxMDAlIHtcblx0XHRzdHJva2UtZGFzaG9mZnNldDogMDtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGNrLXdpZGdldC10eXBlLWFyb3VuZC1hcnJvdy10aXAtZGFzaCB7XG5cdDAlLCAyMCUge1xuXHRcdHN0cm9rZS1kYXNob2Zmc2V0OiA3O1xuXHR9XG5cdDQwJSwgMTAwJSB7XG5cdFx0c3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBjay13aWRnZXQtdHlwZS1hcm91bmQtYnV0dG9uLXNvbmFyIHtcblx0MCUge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDAgaHNsYSh2YXIoLS1jay1jb2xvci1mb2N1cy1ib3JkZXItY29vcmRpbmF0ZXMpLCB2YXIoLS1jay1jb2xvci13aWRnZXQtdHlwZS1hcm91bmQtYnV0dG9uLXJhZGFyLXN0YXJ0LWFscGhhKSk7XG5cdH1cblx0NTAlIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCA1cHggaHNsYSh2YXIoLS1jay1jb2xvci1mb2N1cy1ib3JkZXItY29vcmRpbmF0ZXMpLCB2YXIoLS1jay1jb2xvci13aWRnZXQtdHlwZS1hcm91bmQtYnV0dG9uLXJhZGFyLWVuZC1hbHBoYSkpO1xuXHR9XG5cdDEwMCUge1xuXHRcdGJveC1zaGFkb3c6IDAgMCAwIDVweCBoc2xhKHZhcigtLWNrLWNvbG9yLWZvY3VzLWJvcmRlci1jb29yZGluYXRlcyksIHZhcigtLWNrLWNvbG9yLXdpZGdldC10eXBlLWFyb3VuZC1idXR0b24tcmFkYXItc3RhcnQtYWxwaGEpKTtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGNrLXdpZGdldC10eXBlLWFyb3VuZC1mYWtlLWNhcmV0LXB1bHNlIHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0NDklIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cdDUwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXHQ5OSUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuIiwiLyogQzpcXGxhcmFnb25cXHd3d1xcdHJ1c3RcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtd2lkZ2V0XFx0aGVtZVxcd2lkZ2V0LmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay1jb2xvci1yZXNpemVyOiB2YXIoLS1jay1jb2xvci1mb2N1cy1ib3JkZXIpO1xuXHQtLWNrLXJlc2l6ZXItc2l6ZTogMTBweDtcblx0LS1jay1yZXNpemVyLWJvcmRlci13aWR0aDogMXB4O1xuXHQtLWNrLXJlc2l6ZXItYm9yZGVyLXJhZGl1czogMnB4O1xuXG5cdC8qIFNldCB0aGUgcmVzaXplciB3aXRoIGEgNTAlIG9mZnNldC4gKi9cblx0LS1jay1yZXNpemVyLW9mZnNldDogY2FsYyggKCB2YXIoLS1jay1yZXNpemVyLXNpemUpIC8gLTIgKSAtIDJweCk7XG5cblx0LS1jay1yZXNpemVyLXRvb2x0aXAtb2Zmc2V0OiAxMHB4O1xuXHQtLWNrLWNvbG9yLXJlc2l6ZXItdG9vbHRpcC1iYWNrZ3JvdW5kOiBoc2woMCwgMCUsIDE1JSk7XG5cdC0tY2stY29sb3ItcmVzaXplci10b29sdGlwLXRleHQ6IGhzbCgwLCAwJSwgOTUlKTtcbn1cblxuLmNrIC5jay13aWRnZXQge1xuXHQvKiBUaGlzIGlzIG5lY2Nlc3NhcnkgZm9yIHR5cGUgYXJvdW5kIFVJIHRvIGJlIHBvc2l0aW9uZWQgcHJvcGVybHkuICovXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3dpdGgtc2VsZWN0aW9uLWhhbmRsZSB7XG5cdC8qIE1ha2UgdGhlIHdpZGdldCB3cmFwcGVyIGEgcmVsYXRpdmUgcG9zaXRpb25pbmcgY29udGFpbmVyIGZvciB0aGUgZHJhZyBoYW5kbGUuICovXG5cdHBvc2l0aW9uOiByZWxhdGl2ZVxufVxuXG4uY2sgLmNrLXdpZGdldC5jay13aWRnZXRfd2l0aC1zZWxlY3Rpb24taGFuZGxlIC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGUge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZVxuXHR9XG5cbi5jayAuY2std2lkZ2V0LmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGUgLmNrLXdpZGdldF9fc2VsZWN0aW9uLWhhbmRsZSAuY2staWNvbiB7XG5cdFx0XHQvKiBNYWtlIHN1cmUgdGhlIGljb24gaW4gbm90IGEgc3ViamVjdCB0byBmb250LXNpemUgb3IgbGluZS1oZWlnaHQgdG8gYXZvaWRcblx0XHRcdHVubmVjZXNzYXJ5IHNwYWNpbmcgYXJvdW5kIGl0LiAqL1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXG4uY2sgLmNrLXdpZGdldC5jay13aWRnZXRfd2l0aC1zZWxlY3Rpb24taGFuZGxlIHtcblxuXHQvKiBTaG93IHRoZSBzZWxlY3Rpb24gaGFuZGxlIG9uIG1vdXNlIGhvdmVyIG92ZXIgdGhlIHdpZGdldC4gKi9cbn1cblxuLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3dpdGgtc2VsZWN0aW9uLWhhbmRsZTpob3ZlciAuY2std2lkZ2V0X19zZWxlY3Rpb24taGFuZGxlIHtcblx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0fVxuXG4uY2sgLmNrLXdpZGdldC5jay13aWRnZXRfd2l0aC1zZWxlY3Rpb24taGFuZGxlIHtcblxuXHQvKiBTaG93IHRoZSBzZWxlY3Rpb24gaGFuZGxlIHdoZW4gdGhlIHdpZGdldCBpcyBzZWxlY3RlZC4gKi9cbn1cblxuLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3dpdGgtc2VsZWN0aW9uLWhhbmRsZS5jay13aWRnZXRfc2VsZWN0ZWQgLmNrLXdpZGdldF9fc2VsZWN0aW9uLWhhbmRsZSB7XG5cdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0fVxuXG4uY2sgLmNrLXNpemUtdmlldyB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLXJlc2l6ZXItdG9vbHRpcC1iYWNrZ3JvdW5kKTtcblx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLXJlc2l6ZXItdG9vbHRpcC10ZXh0KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItcmVzaXplci10b29sdGlwLXRleHQpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1yZXNpemVyLWJvcmRlci1yYWRpdXMpO1xuXHRmb250LXNpemU6IHZhcigtLWNrLWZvbnQtc2l6ZS10aW55KTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpXG59XG5cbi5jayAuY2stc2l6ZS12aWV3LmNrLW9yaWVudGF0aW9uLXRvcC1sZWZ0LFxuXHQuY2sgLmNrLXNpemUtdmlldy5jay1vcmllbnRhdGlvbi10b3AtcmlnaHQsXG5cdC5jayAuY2stc2l6ZS12aWV3LmNrLW9yaWVudGF0aW9uLWJvdHRvbS1yaWdodCxcblx0LmNrIC5jay1zaXplLXZpZXcuY2stb3JpZW50YXRpb24tYm90dG9tLWxlZnQge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0fVxuXG4uY2sgLmNrLXNpemUtdmlldy5jay1vcmllbnRhdGlvbi10b3AtbGVmdCB7XG5cdFx0dG9wOiB2YXIoIC0tY2stcmVzaXplci10b29sdGlwLW9mZnNldCApO1xuXHRcdGxlZnQ6IHZhciggLS1jay1yZXNpemVyLXRvb2x0aXAtb2Zmc2V0ICk7XG5cdH1cblxuLmNrIC5jay1zaXplLXZpZXcuY2stb3JpZW50YXRpb24tdG9wLXJpZ2h0IHtcblx0XHR0b3A6IHZhciggLS1jay1yZXNpemVyLXRvb2x0aXAtb2Zmc2V0ICk7XG5cdFx0cmlnaHQ6IHZhciggLS1jay1yZXNpemVyLXRvb2x0aXAtb2Zmc2V0ICk7XG5cdH1cblxuLmNrIC5jay1zaXplLXZpZXcuY2stb3JpZW50YXRpb24tYm90dG9tLXJpZ2h0IHtcblx0XHRib3R0b206IHZhciggLS1jay1yZXNpemVyLXRvb2x0aXAtb2Zmc2V0ICk7XG5cdFx0cmlnaHQ6IHZhciggLS1jay1yZXNpemVyLXRvb2x0aXAtb2Zmc2V0ICk7XG5cdH1cblxuLmNrIC5jay1zaXplLXZpZXcuY2stb3JpZW50YXRpb24tYm90dG9tLWxlZnQge1xuXHRcdGJvdHRvbTogdmFyKCAtLWNrLXJlc2l6ZXItdG9vbHRpcC1vZmZzZXQgKTtcblx0XHRsZWZ0OiB2YXIoIC0tY2stcmVzaXplci10b29sdGlwLW9mZnNldCApO1xuXHR9XG5cbi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRoZW1lLWxhcmtcXHRoZW1lXFxja2VkaXRvcjUtd2lkZ2V0XFx3aWRnZXQuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEEgdmlzdWFsIHN0eWxlIG9mIGZvY3VzZWQgZWxlbWVudCdzIGJvcmRlci5cbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogQSBoZWxwZXIgdG8gY29tYmluZSBtdWx0aXBsZSBzaGFkb3dzLlxuICovXG5cbi8qKlxuICogR2l2ZXMgYW4gZWxlbWVudCBhIGRyb3Agc2hhZG93IHNvIGl0IGxvb2tzIGxpa2UgYSBmbG9hdGluZyBwYW5lbC5cbiAqL1xuXG46cm9vdCB7XG5cdC0tY2std2lkZ2V0LW91dGxpbmUtdGhpY2tuZXNzOiAzcHg7XG5cdC0tY2std2lkZ2V0LWhhbmRsZXItaWNvbi1zaXplOiAxNnB4O1xuXHQtLWNrLXdpZGdldC1oYW5kbGVyLWFuaW1hdGlvbi1kdXJhdGlvbjogMjAwbXM7XG5cdC0tY2std2lkZ2V0LWhhbmRsZXItYW5pbWF0aW9uLWN1cnZlOiBlYXNlO1xuXG5cdC0tY2stY29sb3Itd2lkZ2V0LWJsdXJyZWQtYm9yZGVyOiBoc2woMCwgMCUsIDg3JSk7XG5cdC0tY2stY29sb3Itd2lkZ2V0LWhvdmVyLWJvcmRlcjogaHNsKDQzLCAxMDAlLCA2MiUpO1xuXHQtLWNrLWNvbG9yLXdpZGdldC1lZGl0YWJsZS1mb2N1cy1iYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1iYXNlLWJhY2tncm91bmQpO1xuXHQtLWNrLWNvbG9yLXdpZGdldC1kcmFnLWhhbmRsZXItaWNvbi1jb2xvcjogdmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcbn1cblxuLmNrIC5jay13aWRnZXQge1xuXHRvdXRsaW5lLXdpZHRoOiB2YXIoLS1jay13aWRnZXQtb3V0bGluZS10aGlja25lc3MpO1xuXHRvdXRsaW5lLXN0eWxlOiBzb2xpZDtcblx0b3V0bGluZS1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdHRyYW5zaXRpb246IG91dGxpbmUtY29sb3IgdmFyKC0tY2std2lkZ2V0LWhhbmRsZXItYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1jay13aWRnZXQtaGFuZGxlci1hbmltYXRpb24tY3VydmUpXG59XG5cbi5jayAuY2std2lkZ2V0LmNrLXdpZGdldF9zZWxlY3RlZCxcblx0LmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3NlbGVjdGVkOmhvdmVyIHtcblx0XHRvdXRsaW5lOiB2YXIoLS1jay13aWRnZXQtb3V0bGluZS10aGlja25lc3MpIHNvbGlkIHZhcigtLWNrLWNvbG9yLWZvY3VzLWJvcmRlcik7XG5cdH1cblxuLmNrIC5jay13aWRnZXQ6aG92ZXIge1xuXHRcdG91dGxpbmUtY29sb3I6IHZhcigtLWNrLWNvbG9yLXdpZGdldC1ob3Zlci1ib3JkZXIpO1xuXHR9XG5cbi5jayAuY2stZWRpdG9yX19uZXN0ZWQtZWRpdGFibGUge1xuXHRib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudFxuXG5cdC8qIFRoZSA6Zm9jdXMgc3R5bGUgaXMgYXBwbGllZCBiZWZvcmUgLmNrLWVkaXRvcl9fbmVzdGVkLWVkaXRhYmxlX2ZvY3VzZWQgY2xhc3MgaXMgcmVuZGVyZWQgaW4gdGhlIHZpZXcuXG5cdFRoZXNlIHN0eWxlcyBzaG93IGEgZGlmZmVyZW50IGJvcmRlciBmb3IgYSBibGluayBvZiBhbiBleWUsIHNvIGA6Zm9jdXNgIG5lZWQgdG8gaGF2ZSBzYW1lIHN0eWxlcyBhcHBsaWVkLiAqL1xufVxuXG4uY2sgLmNrLWVkaXRvcl9fbmVzdGVkLWVkaXRhYmxlLmNrLWVkaXRvcl9fbmVzdGVkLWVkaXRhYmxlX2ZvY3VzZWQsXG5cdC5jayAuY2stZWRpdG9yX19uZXN0ZWQtZWRpdGFibGU6Zm9jdXMge1xuXHRcdC8qIERpc2FibGUgbmF0aXZlIG91dGxpbmUuICovXG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRib3JkZXI6IHZhcigtLWNrLWZvY3VzLXJpbmcpO1xuXHRcdGJveC1zaGFkb3c6IHZhcigtLWNrLWlubmVyLXNoYWRvdyksIDAgMDtcblxuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNrLWNvbG9yLXdpZGdldC1lZGl0YWJsZS1mb2N1cy1iYWNrZ3JvdW5kKTtcblx0fVxuXG4uY2sgLmNrLXdpZGdldC5jay13aWRnZXRfd2l0aC1zZWxlY3Rpb24taGFuZGxlIC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGUge1xuXHRcdHBhZGRpbmc6IDRweDtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG5cdFx0LyogQmFja2dyb3VuZCBhbmQgb3BhY2l0eSB3aWxsIGJlIGFuaW1hdGVkIGFzIHRoZSBoYW5kbGVyIHNob3dzIHVwIG9yIHRoZSB3aWRnZXQgZ2V0cyBzZWxlY3RlZC4gKi9cblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRvcGFjaXR5OiAwO1xuXG5cdFx0LyogVHJhbnNpdGlvbjpcblx0XHQgICAqIGJhY2tncm91bmQtY29sb3IgZm9yIHRoZSAuY2std2lkZ2V0X3NlbGVjdGVkIHN0YXRlIGNoYW5nZSxcblx0XHQgICAqIHZpc2liaWxpdHkgZm9yIGhpZGluZyB0aGUgaGFuZGxlcixcblx0XHQgICAqIG9wYWNpdHkgZm9yIHRoZSBwcm9wZXIgbG9vayBvZiB0aGUgaWNvbiB3aGVuIHRoZSBoYW5kbGVyIGRpc2FwcGVhcnMuICovXG5cdFx0dHJhbnNpdGlvbjpcblx0XHRcdGJhY2tncm91bmQtY29sb3IgdmFyKC0tY2std2lkZ2V0LWhhbmRsZXItYW5pbWF0aW9uLWR1cmF0aW9uKSB2YXIoLS1jay13aWRnZXQtaGFuZGxlci1hbmltYXRpb24tY3VydmUpLFxuXHRcdFx0dmlzaWJpbGl0eSB2YXIoLS1jay13aWRnZXQtaGFuZGxlci1hbmltYXRpb24tZHVyYXRpb24pIHZhcigtLWNrLXdpZGdldC1oYW5kbGVyLWFuaW1hdGlvbi1jdXJ2ZSksXG5cdFx0XHRvcGFjaXR5IHZhcigtLWNrLXdpZGdldC1oYW5kbGVyLWFuaW1hdGlvbi1kdXJhdGlvbikgdmFyKC0tY2std2lkZ2V0LWhhbmRsZXItYW5pbWF0aW9uLWN1cnZlKTtcblxuXHRcdC8qIE1ha2Ugb25seSB0b3AgY29ybmVycyByb3VuZC4gKi9cblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1ib3JkZXItcmFkaXVzKSB2YXIoLS1jay1ib3JkZXItcmFkaXVzKSAwIDA7XG5cblx0XHQvKiBQbGFjZSB0aGUgZHJhZyBoYW5kbGVyIG91dHNpZGUgdGhlIHdpZGdldCB3cmFwcGVyLiAqL1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG5cdFx0bGVmdDogY2FsYygwcHggLSB2YXIoLS1jay13aWRnZXQtb3V0bGluZS10aGlja25lc3MpKVxuXHR9XG5cbi5jayAuY2std2lkZ2V0LmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGUgLmNrLXdpZGdldF9fc2VsZWN0aW9uLWhhbmRsZSAuY2staWNvbiB7XG5cdFx0XHQvKiBNYWtlIHN1cmUgdGhlIGRpbWVuc2lvbnMgb2YgdGhlIGljb24gYXJlIGluZGVwZW5kZW50IG9mIHRoZSBmb24tc2l6ZSBvZiB0aGUgY29udGVudC4gKi9cblx0XHRcdHdpZHRoOiB2YXIoLS1jay13aWRnZXQtaGFuZGxlci1pY29uLXNpemUpO1xuXHRcdFx0aGVpZ2h0OiB2YXIoLS1jay13aWRnZXQtaGFuZGxlci1pY29uLXNpemUpO1xuXHRcdFx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLXdpZGdldC1kcmFnLWhhbmRsZXItaWNvbi1jb2xvcilcblxuXHRcdFx0LyogVGhlIFwic2VsZWN0ZWRcIiBwYXJ0IG9mIHRoZSBpY29uIGlzIGludmlzaWJsZSBieSBkZWZhdWx0ICovXG5cdFx0fVxuXG4uY2sgLmNrLXdpZGdldC5jay13aWRnZXRfd2l0aC1zZWxlY3Rpb24taGFuZGxlIC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGUgLmNrLWljb24gLmNrLWljb25fX3NlbGVjdGVkLWluZGljYXRvciB7XG5cdFx0XHRcdG9wYWNpdHk6IDA7XG5cblx0XHRcdFx0LyogTm90ZTogVGhlIGFuaW1hdGlvbiBpcyBsb25nZXIgb24gcHVycG9zZS4gU2ltcGx5IGZlZWxzIGJldHRlci4gKi9cblx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcyB2YXIoLS1jay13aWRnZXQtaGFuZGxlci1hbmltYXRpb24tY3VydmUpO1xuXHRcdFx0fVxuXG4uY2sgLmNrLXdpZGdldC5jay13aWRnZXRfd2l0aC1zZWxlY3Rpb24taGFuZGxlIC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGUge1xuXG5cdFx0LyogQWR2ZXJ0aXNlIHVzaW5nIHRoZSBsb29rIG9mIHRoZSBpY29uIHRoYXQgb25jZSBjbGlja2VkIHRoZSBoYW5kbGVyLCB0aGUgd2lkZ2V0IHdpbGwgYmUgc2VsZWN0ZWQuICovXG5cdH1cblxuLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3dpdGgtc2VsZWN0aW9uLWhhbmRsZSAuY2std2lkZ2V0X19zZWxlY3Rpb24taGFuZGxlOmhvdmVyIC5jay1pY29uIC5jay1pY29uX19zZWxlY3RlZC1pbmRpY2F0b3Ige1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHR9XG5cbi5jayAuY2std2lkZ2V0LmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGUge1xuXG5cdC8qIFNob3cgdGhlIHNlbGVjdGlvbiBoYW5kbGVyIG9uIG1vdXNlIGhvdmVyIG92ZXIgdGhlIHdpZGdldC4gKi9cbn1cblxuLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3dpdGgtc2VsZWN0aW9uLWhhbmRsZTpob3ZlciAuY2std2lkZ2V0X19zZWxlY3Rpb24taGFuZGxlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNrLWNvbG9yLXdpZGdldC1ob3Zlci1ib3JkZXIpO1xuXHR9XG5cbi5jayAuY2std2lkZ2V0LmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGUge1xuXG5cdC8qIFNob3cgdGhlIHNlbGVjdGlvbiBoYW5kbGVyIHdoZW4gdGhlIHdpZGdldCBpcyBzZWxlY3RlZC4gKi9cbn1cblxuLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3dpdGgtc2VsZWN0aW9uLWhhbmRsZS5jay13aWRnZXRfc2VsZWN0ZWQgLmNrLXdpZGdldF9fc2VsZWN0aW9uLWhhbmRsZSwgLmNrIC5jay13aWRnZXQuY2std2lkZ2V0X3dpdGgtc2VsZWN0aW9uLWhhbmRsZS5jay13aWRnZXRfc2VsZWN0ZWQ6aG92ZXIgLmNrLXdpZGdldF9fc2VsZWN0aW9uLWhhbmRsZSB7XG5cdFx0XHRvcGFjaXR5OiAxO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2stY29sb3ItZm9jdXMtYm9yZGVyKVxuXG5cdFx0XHQvKiBXaGVuIHRoZSB3aWRnZXQgaXMgc2VsZWN0ZWQsIG5vdGlmeSB0aGUgdXNlciB1c2luZyB0aGUgcHJvcGVyIGxvb2sgb2YgdGhlIGljb24uICovXG5cdFx0fVxuXG4uY2sgLmNrLXdpZGdldC5jay13aWRnZXRfd2l0aC1zZWxlY3Rpb24taGFuZGxlLmNrLXdpZGdldF9zZWxlY3RlZCAuY2std2lkZ2V0X19zZWxlY3Rpb24taGFuZGxlIC5jay1pY29uIC5jay1pY29uX19zZWxlY3RlZC1pbmRpY2F0b3IsIC5jayAuY2std2lkZ2V0LmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGUuY2std2lkZ2V0X3NlbGVjdGVkOmhvdmVyIC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGUgLmNrLWljb24gLmNrLWljb25fX3NlbGVjdGVkLWluZGljYXRvciB7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR9XG5cbi8qIEluIGEgUlRMIGVudmlyb25tZW50LCBhbGlnbiB0aGUgc2VsZWN0aW9uIGhhbmRsZXIgdG8gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIHdpZGdldCAqL1xuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eSAqL1xuXG4uY2tbZGlyPVwicnRsXCJdIC5jay13aWRnZXQuY2std2lkZ2V0X3dpdGgtc2VsZWN0aW9uLWhhbmRsZSAuY2std2lkZ2V0X19zZWxlY3Rpb24taGFuZGxlIHtcblx0bGVmdDogYXV0bztcblx0cmlnaHQ6IGNhbGMoMHB4IC0gdmFyKC0tY2std2lkZ2V0LW91dGxpbmUtdGhpY2tuZXNzKSk7XG59XG5cbi8qIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzY0MTUgKi9cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stcmVhZC1vbmx5IC5jay13aWRnZXQge1xuXHQvKiBQcmV2ZW50IHRoZSA6aG92ZXIgb3V0bGluZSBmcm9tIHNob3dpbmcgdXAgYmVjYXVzZSBvZiB0aGUgdXNlZCBvdXRsaW5lLWNvbG9yIHRyYW5zaXRpb24uICovXG5cdHRyYW5zaXRpb246IG5vbmVcbn1cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stcmVhZC1vbmx5IC5jay13aWRnZXQ6bm90KC5jay13aWRnZXRfc2VsZWN0ZWQpIHtcblx0XHQvKiBEaXNhYmxlIHZpc3VhbCBlZmZlY3RzIG9mIGhvdmVyL2FjdGl2ZSB3aWRnZXQgd2hlbiBDS0VkaXRvciBpcyBpbiByZWFkT25seSBtb2RlLlxuXHRcdCAqIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvMTI2MVxuXHRcdCAqXG5cdFx0ICogTGVhdmUgdGhlIHVuaXQgYmVjYXVzZSB0aGlzIGN1c3RvbSBwcm9wZXJ0eSBpcyB1c2VkIGluIGNhbGMoKSBieSBvdGhlciBmZWF0dXJlcy5cblx0XHQgKiBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzY3NzVcblx0XHQgKi9cblx0XHQtLWNrLXdpZGdldC1vdXRsaW5lLXRoaWNrbmVzczogMHB4O1xuXHR9XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLXJlYWQtb25seSAuY2std2lkZ2V0LmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGUgLmNrLXdpZGdldF9fc2VsZWN0aW9uLWhhbmRsZSxcblx0XHQuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1yZWFkLW9ubHkgLmNrLXdpZGdldC5jay13aWRnZXRfd2l0aC1zZWxlY3Rpb24taGFuZGxlIC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGU6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3Itd2lkZ2V0LWJsdXJyZWQtYm9yZGVyKTtcblx0XHR9XG5cbi8qIFN0eWxlIHRoZSB3aWRnZXQgd2hlbiBpdCdzIHNlbGVjdGVkIGJ1dCB0aGUgZWRpdGFibGUgaXQgYmVsb25ncyB0byBsb3N0IGZvY3VzLiAqL1xuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZGVzY2VuZGluZy1zcGVjaWZpY2l0eSAqL1xuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1ibHVycmVkIC5jay13aWRnZXQuY2std2lkZ2V0X3NlbGVjdGVkLFxuXHQuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1ibHVycmVkIC5jay13aWRnZXQuY2std2lkZ2V0X3NlbGVjdGVkOmhvdmVyIHtcblx0XHRvdXRsaW5lLWNvbG9yOiB2YXIoLS1jay1jb2xvci13aWRnZXQtYmx1cnJlZC1ib3JkZXIpXG5cdH1cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stYmx1cnJlZCAuY2std2lkZ2V0LmNrLXdpZGdldF9zZWxlY3RlZC5jay13aWRnZXRfd2l0aC1zZWxlY3Rpb24taGFuZGxlIC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGUsXG5cdFx0XHQuY2suY2stZWRpdG9yX19lZGl0YWJsZS5jay1ibHVycmVkIC5jay13aWRnZXQuY2std2lkZ2V0X3NlbGVjdGVkLmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGUgLmNrLXdpZGdldF9fc2VsZWN0aW9uLWhhbmRsZTpob3Zlcixcblx0XHRcdC5jay5jay1lZGl0b3JfX2VkaXRhYmxlLmNrLWJsdXJyZWQgLmNrLXdpZGdldC5jay13aWRnZXRfc2VsZWN0ZWQ6aG92ZXIuY2std2lkZ2V0X3dpdGgtc2VsZWN0aW9uLWhhbmRsZSAuY2std2lkZ2V0X19zZWxlY3Rpb24taGFuZGxlLFxuXHRcdFx0LmNrLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stYmx1cnJlZCAuY2std2lkZ2V0LmNrLXdpZGdldF9zZWxlY3RlZDpob3Zlci5jay13aWRnZXRfd2l0aC1zZWxlY3Rpb24taGFuZGxlIC5jay13aWRnZXRfX3NlbGVjdGlvbi1oYW5kbGU6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci13aWRnZXQtYmx1cnJlZC1ib3JkZXIpO1xuXHRcdFx0fVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSA+IC5jay13aWRnZXQuY2std2lkZ2V0X3dpdGgtc2VsZWN0aW9uLWhhbmRsZTpmaXJzdC1jaGlsZCxcbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlIGJsb2NrcXVvdGUgPiAuY2std2lkZ2V0LmNrLXdpZGdldF93aXRoLXNlbGVjdGlvbi1oYW5kbGU6Zmlyc3QtY2hpbGQge1xuXHQvKiBEbyBub3QgY3JvcCBzZWxlY3Rpb24gaGFuZGxlciBpZiBhIHdpZGdldCBpcyBhIGZpcnN0LWNoaWxkIGluIHRoZSBibG9ja3F1b3RlIG9yIGluIHRoZSByb290IGVkaXRhYmxlLlxuXHRJbiBmYWN0LCBhbnl0aGluZyB3aXRoIG92ZXJmbG93OiBoaWRkZW4uXG5cdGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtYmxvY2stcXVvdGUvaXNzdWVzLzI4XG5cdGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtd2lkZ2V0L2lzc3Vlcy80NFxuXHRodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LXdpZGdldC9pc3N1ZXMvNjYgKi9cblx0bWFyZ2luLXRvcDogY2FsYygxZW0gKyB2YXIoLS1jay13aWRnZXQtaGFuZGxlci1pY29uLXNpemUpKTtcbn1cbiIsIi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXVpXFx0aGVtZVxcY29tcG9uZW50c1xcdG9vbHRpcFxcdG9vbHRpcC5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stdG9vbHRpcCxcbi5jay5jay10b29sdGlwIC5jay10b29sdGlwX190ZXh0OjphZnRlciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuXHQvKiBXaXRob3V0IHRoaXMsIGhvdmVyaW5nIHRoZSB0b29sdGlwIGNvdWxkIGtlZXAgaXQgdmlzaWJsZS4gKi9cblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cblx0LyogVGhpcyBpcyB0byBnZXQgcmlkIG9mIGZsaWNrZXJpbmcgd2hlbiB0cmFuc2l0aW9uaW5nIG9wYWNpdHkgaW4gQ2hyb21lLlxuXHRJdCdzIHdlaXJkIGJ1dCBpdCB3b3Jrcy4gKi9cblx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5jay5jay10b29sdGlwIHtcblx0LyogVG9vbHRpcCBpcyBoaWRkZW4gYnkgZGVmYXVsdC4gKi9cblx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRvcGFjaXR5OiAwO1xuXHRkaXNwbGF5OiBub25lO1xuXHR6LWluZGV4OiB2YXIoLS1jay16LW1vZGFsKVxufVxuXG4uY2suY2stdG9vbHRpcCAuY2stdG9vbHRpcF9fdGV4dCB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrXG5cdH1cblxuLmNrLmNrLXRvb2x0aXAgLmNrLXRvb2x0aXBfX3RleHQ6OmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHR3aWR0aDogMDtcblx0XHRcdGhlaWdodDogMDtcblx0XHR9XG5cbi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRoZW1lLWxhcmtcXHRoZW1lXFxja2VkaXRvcjUtdWlcXGNvbXBvbmVudHNcXHRvb2x0aXBcXHRvb2x0aXAuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEltcGxlbWVudHMgcm91bmRlZCBjb3JuZXIgaW50ZXJmYWNlIGZvciAuY2stcm91bmRlZC1jb3JuZXJzIGNsYXNzLlxuICpcbiAqIEBzZWUgJGNrLWJvcmRlci1yYWRpdXNcbiAqL1xuXG46cm9vdCB7XG5cdC0tY2stdG9vbHRpcC1hcnJvdy1zaXplOiA1cHg7XG59XG5cbi5jay5jay10b29sdGlwIHtcblx0bGVmdDogNTAlO1xuXG5cdC8qXG5cdCAqIFByZXZlbnQgYmx1cnJ5IHRvb2x0aXBzIGluIExvRFBJIGVudmlyb25tZW50cy5cblx0ICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzE4MDIuXG5cdCAqL1xuXHR0b3A6IDA7XG5cblx0Lypcblx0ICogRm9yIHRoZSB0cmFuc2l0aW9uIHRvIHdvcmssIHRoZSB0b29sdGlwIG11c3QgYmUgY29udHJvbGxlZFxuXHQgKiB1c2luZyB2aXNpYmlsaXR5K29wYWNpdHkuIEEgZGVsYXkgcHJldmVudHMgYSBcInRvb2x0aXAgYXZhbGFuY2hlXCJcblx0ICogaS5lLiB3aGVuIHNjYW5uaW5nIHRoZSB0b29sYmFyIHdpdGggbW91c2UgY3Vyc29yLlxuXHQgKi9cblx0dHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQgLjJzXG59XG5cbi5jay5jay10b29sdGlwIC5jay10b29sdGlwX190ZXh0IHtcblx0XHRib3JkZXItcmFkaXVzOiAwXG5cdH1cblxuLmNrLXJvdW5kZWQtY29ybmVycyAuY2suY2stdG9vbHRpcCAuY2stdG9vbHRpcF9fdGV4dCwgLmNrLmNrLXRvb2x0aXAgLmNrLXRvb2x0aXBfX3RleHQuY2stcm91bmRlZC1jb3JuZXJzIHtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1ib3JkZXItcmFkaXVzKVxuXHR9XG5cbi5jay5jay10b29sdGlwIC5jay10b29sdGlwX190ZXh0IHtcblxuXHRcdGZvbnQtc2l6ZTogLjllbTtcblx0XHRsaW5lLWhlaWdodDogMS41O1xuXHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci10b29sdGlwLXRleHQpO1xuXHRcdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpIHZhcigtLWNrLXNwYWNpbmctbWVkaXVtKTtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci10b29sdGlwLWJhY2tncm91bmQpO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRsZWZ0OiAtNTAlXG5cdH1cblxuLmNrLmNrLXRvb2x0aXAgLmNrLXRvb2x0aXBfX3RleHQ6OmFmdGVyIHtcblx0XHRcdC8qXG5cdFx0XHQgKiBGb3IgdGhlIHRyYW5zaXRpb24gdG8gd29yaywgdGhlIHRvb2x0aXAgbXVzdCBiZSBjb250cm9sbGVkXG5cdFx0XHQgKiB1c2luZyB2aXNpYmlsaXR5K29wYWNpdHkuIEEgZGVsYXkgcHJldmVudHMgYSBcInRvb2x0aXAgYXZhbGFuY2hlXCJcblx0XHRcdCAqIGkuZS4gd2hlbiBzY2FubmluZyB0aGUgdG9vbGJhciB3aXRoIG1vdXNlIGN1cnNvci5cblx0XHRcdCAqL1xuXHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZS1pbi1vdXQgLjJzO1xuXHRcdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHRcdGxlZnQ6IDUwJTtcblx0XHR9XG5cbi5jay5jay10b29sdGlwIHtcblxuXHQvKipcblx0ICogQSBjbGFzcyBvbmNlIGFwcGxpZWQgZGlzcGxheXMgdGhlIHRvb2x0aXAgc291dGggb2YgdGhlIGVsZW1lbnQuXG5cdCAqXG5cdCAqICAgICAgIFtlbGVtZW50XVxuXHQgKiAgICAgICAgICAgXlxuXHQgKiAgICAgKy0tLS0tLS0tLS0tK1xuXHQgKiAgICAgfCAgVG9vbHRpcCAgfFxuXHQgKiAgICAgKy0tLS0tLS0tLS0tK1xuXHQgKi9cbn1cblxuLmNrLmNrLXRvb2x0aXAuY2stdG9vbHRpcF9zIHtcblx0XHRib3R0b206IGNhbGMoLTEgKiB2YXIoLS1jay10b29sdGlwLWFycm93LXNpemUpKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoIDEwMCUgKVxuXHR9XG5cbi5jay5jay10b29sdGlwLmNrLXRvb2x0aXBfcyAuY2stdG9vbHRpcF9fdGV4dDo6YWZ0ZXIge1xuXHRcdFx0dG9wOiBjYWxjKC0xICogdmFyKC0tY2stdG9vbHRpcC1hcnJvdy1zaXplKSk7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoIC01MCUgKTtcblx0XHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdmFyKC0tY2stY29sb3ItdG9vbHRpcC1iYWNrZ3JvdW5kKSB0cmFuc3BhcmVudDtcblx0XHRcdGJvcmRlci13aWR0aDogMCB2YXIoLS1jay10b29sdGlwLWFycm93LXNpemUpIHZhcigtLWNrLXRvb2x0aXAtYXJyb3ctc2l6ZSkgdmFyKC0tY2stdG9vbHRpcC1hcnJvdy1zaXplKTtcblx0XHR9XG5cbi5jay5jay10b29sdGlwIHtcblxuXHQvKipcblx0ICogQSBjbGFzcyBvbmNlIGFwcGxpZWQgZGlzcGxheXMgdGhlIHRvb2x0aXAgbm9ydGggb2YgdGhlIGVsZW1lbnQuXG5cdCAqXG5cdCAqICAgICArLS0tLS0tLS0tLS0rXG5cdCAqICAgICB8ICBUb29sdGlwICB8XG5cdCAqICAgICArLS0tLS0tLS0tLS0rXG5cdCAqICAgICAgICAgICBWXG5cdCAqICAgICAgIFtlbGVtZW50XVxuXHQgKi9cbn1cblxuLmNrLmNrLXRvb2x0aXAuY2stdG9vbHRpcF9uIHtcblx0XHR0b3A6IGNhbGMoLTEgKiB2YXIoLS1jay10b29sdGlwLWFycm93LXNpemUpKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoIC0xMDAlIClcblx0fVxuXG4uY2suY2stdG9vbHRpcC5jay10b29sdGlwX24gLmNrLXRvb2x0aXBfX3RleHQ6OmFmdGVyIHtcblx0XHRcdGJvdHRvbTogY2FsYygtMSAqIHZhcigtLWNrLXRvb2x0aXAtYXJyb3ctc2l6ZSkpO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKCAtNTAlICk7XG5cdFx0XHRib3JkZXItY29sb3I6IHZhcigtLWNrLWNvbG9yLXRvb2x0aXAtYmFja2dyb3VuZCkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRib3JkZXItd2lkdGg6IHZhcigtLWNrLXRvb2x0aXAtYXJyb3ctc2l6ZSkgdmFyKC0tY2stdG9vbHRpcC1hcnJvdy1zaXplKSAwIHZhcigtLWNrLXRvb2x0aXAtYXJyb3ctc2l6ZSk7XG5cdFx0fVxuIiwiLyogQzpcXGxhcmFnb25cXHd3d1xcdHJ1c3RcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdWlcXHRoZW1lXFxjb21wb25lbnRzXFxidXR0b25cXGJ1dHRvbi5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogTWFrZXMgZWxlbWVudCB1bnNlbGVjdGFibGUuXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEVuYWJsZXMgdGhlIHRvb2x0aXAsIHdoaWNoIGlzIHRoZSB0b29sdGlwIGlzIGluIERPTSBidXRcbiAqIG5vdCB5ZXQgZGlzcGxheWVkLlxuICovXG5cbi8qKlxuICogRGlzYWJsZXMgdGhlIHRvb2x0aXAgbWFraW5nIGl0IGRpc2FwcGVhciBmcm9tIERPTS5cbiAqL1xuXG4vKipcbiAqIFNob3dzIHRoZSB0b29sdGlwLCB3aGljaCBpcyBhbHJlYWR5IGluIERPTS5cbiAqIFJlcXVpcmVzIGBjay10b29sdGlwX2VuYWJsZWRgIGZpcnN0LlxuICovXG5cbi5jay5jay1idXR0b24sXG5hLmNrLmNrLWJ1dHRvbiB7XG5cdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG5cdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0dXNlci1zZWxlY3Q6IG5vbmVcbn1cblxuLmNrLmNrLWJ1dHRvbiAuY2stdG9vbHRpcCwgYS5jay5jay1idXR0b24gLmNrLXRvb2x0aXAge1xuXHRcdGRpc3BsYXk6IGJsb2NrXG5cblx0XHQvKlxuXHRcdCAqIERvbid0IGRpc3BsYXkgdG9vbHRpcHMgaW4gZGV2aWNlcyB3aGljaCBkb24ndCBzdXBwb3J0IDpob3Zlci5cblx0XHQgKiBJbiBmYWN0LCBpdCdzIGFsbCBhYm91dCBpT1MsIHdoaWNoIGZvcmNlcyB1c2VyIHRvIGNsaWNrIFVJIGVsZW1lbnRzIHR3aWNlIHRvIGV4ZWN1dGVcblx0XHQgKiB0aGUgcHJpbWFyeSBhY3Rpb24sIHdoZW4gdG9vbHRpcHMgYXJlIGVuYWJsZWQuXG5cdFx0ICpcblx0XHQgKiBROiBPSywgYnV0IHdoeSBub3QgdGhlIGZvbGxvd2luZyBxdWVyeT9cblx0XHQgKlxuXHRcdCAqICAgQG1lZGlhIChob3Zlcikge1xuXHRcdCAqICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXHRcdCAqICAgfVxuXHRcdCAqXG5cdFx0ICogQTogQmVjYXVzZSBGRiBkb2VzIG5vdCBzdXBwb3J0IGl0IGFuZCBpdCB3b3VsZCBjb21wbGV0ZWx5IGRpc2FibGUgdG9vbHRpcHNcblx0XHQgKiBpbiB0aGF0IGJyb3dzZXIuXG5cdFx0ICpcblx0XHQgKiBNb3JlIGluIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzkyMC5cblx0XHQgKi9cblx0fVxuXG5AbWVkaWEgKGhvdmVyOm5vbmUpIHtcblxuLmNrLmNrLWJ1dHRvbiAuY2stdG9vbHRpcCwgYS5jay5jay1idXR0b24gLmNrLXRvb2x0aXAge1xuXHRcdFx0ZGlzcGxheTogbm9uZVxuXHR9XG5cdFx0fVxuXG4uY2suY2stYnV0dG9uLFxuYS5jay5jay1idXR0b24ge1xuXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogbGVmdFxufVxuXG4uY2suY2stYnV0dG9uIC5jay1idXR0b25fX2xhYmVsLCBhLmNrLmNrLWJ1dHRvbiAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG4uY2suY2stYnV0dG9uLmNrLWJ1dHRvbl93aXRoLXRleHQgLmNrLWJ1dHRvbl9fbGFiZWwsIGEuY2suY2stYnV0dG9uLmNrLWJ1dHRvbl93aXRoLXRleHQgLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdH1cblxuLmNrLmNrLWJ1dHRvbixcbmEuY2suY2stYnV0dG9uIHtcblxuXHQvKiBDZW50ZXIgdGhlIGljb24gaG9yaXpvbnRhbGx5IGluIGEgYnV0dG9uIHdpdGhvdXQgdGV4dC4gKi9cbn1cblxuLmNrLmNrLWJ1dHRvbjpub3QoLmNrLWJ1dHRvbl93aXRoLXRleHQpLCAgYS5jay5jay1idXR0b246bm90KC5jay1idXR0b25fd2l0aC10ZXh0KSAge1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR9XG5cbi5jay5jay1idXR0b246aG92ZXIgLmNrLXRvb2x0aXAsIGEuY2suY2stYnV0dG9uOmhvdmVyIC5jay10b29sdGlwIHtcblx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblxuLmNrLmNrLWJ1dHRvbixcbmEuY2suY2stYnV0dG9uIHtcblxuXHQvKiBHZXQgcmlkIG9mIHRoZSBuYXRpdmUgZm9jdXMgb3V0bGluZSBhcm91bmQgdGhlIHRvb2x0aXAgd2hlbiBmb2N1c2VkIChidXQgbm90IDpob3ZlcikuICovXG59XG5cbi5jay5jay1idXR0b246Zm9jdXM6bm90KDpob3ZlcikgLmNrLXRvb2x0aXAsIGEuY2suY2stYnV0dG9uOmZvY3VzOm5vdCg6aG92ZXIpIC5jay10b29sdGlwIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cbi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRoZW1lLWxhcmtcXHRoZW1lXFxja2VkaXRvcjUtdWlcXGNvbXBvbmVudHNcXGJ1dHRvblxcYnV0dG9uLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBBIHZpc3VhbCBzdHlsZSBvZiBmb2N1c2VkIGVsZW1lbnQncyBib3JkZXIuXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEEgaGVscGVyIHRvIGNvbWJpbmUgbXVsdGlwbGUgc2hhZG93cy5cbiAqL1xuXG4vKipcbiAqIEdpdmVzIGFuIGVsZW1lbnQgYSBkcm9wIHNoYWRvdyBzbyBpdCBsb29rcyBsaWtlIGEgZmxvYXRpbmcgcGFuZWwuXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEEgY2xhc3Mgd2hpY2ggaW5kaWNhdGVzIHRoYXQgYW4gZWxlbWVudCBob2xkaW5nIGl0IGlzIGRpc2FibGVkLlxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBJbXBsZW1lbnRzIHJvdW5kZWQgY29ybmVyIGludGVyZmFjZSBmb3IgLmNrLXJvdW5kZWQtY29ybmVycyBjbGFzcy5cbiAqXG4gKiBAc2VlICRjay1ib3JkZXItcmFkaXVzXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEltcGxlbWVudHMgYSBidXR0b24gb2YgZ2l2ZW4gYmFja2dyb3VuZCBjb2xvci5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gJGJhY2tncm91bmQgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4gKiBAcGFyYW0ge1N0cmluZ30gJGJvcmRlciAtIEJvcmRlciBjb2xvciBvZiB0aGUgYnV0dG9uLlxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWJ1dHRvbixcbmEuY2suY2stYnV0dG9uIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZClcbn1cblxuLmNrLmNrLWJ1dHRvbjpub3QoLmNrLWRpc2FibGVkKTpob3ZlciwgYS5jay5jay1idXR0b246bm90KC5jay1kaXNhYmxlZCk6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZCk7XG5cdFx0fVxuXG4uY2suY2stYnV0dG9uOm5vdCguY2stZGlzYWJsZWQpOmFjdGl2ZSwgYS5jay5jay1idXR0b246bm90KC5jay1kaXNhYmxlZCk6YWN0aXZlIHtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kKTtcblx0XHRcdGJveC1zaGFkb3c6IGluc2V0IDAgMnB4IDJweCB2YXIoLS1jay1jb2xvci1idXR0b24tZGVmYXVsdC1hY3RpdmUtc2hhZG93KTtcblx0XHR9XG5cbi5jay5jay1idXR0b24sXG5hLmNrLmNrLWJ1dHRvbiB7XG5cdC8qIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtdGhlbWUtbGFyay9pc3N1ZXMvOTggKi9cbn1cblxuLmNrLmNrLWJ1dHRvbi5jay1kaXNhYmxlZCwgYS5jay5jay1idXR0b24uY2stZGlzYWJsZWQge1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1kZWZhdWx0LWRpc2FibGVkLWJhY2tncm91bmQpO1xuXHR9XG5cbi5jay5jay1idXR0b24sXG5hLmNrLmNrLWJ1dHRvbiB7XG5cdGJvcmRlci1yYWRpdXM6IDBcbn1cblxuLmNrLXJvdW5kZWQtY29ybmVycyAuY2suY2stYnV0dG9uLFxuLmNrLmNrLWJ1dHRvbi5jay1yb3VuZGVkLWNvcm5lcnMsXG4uY2stcm91bmRlZC1jb3JuZXJzIGEuY2suY2stYnV0dG9uLFxuYS5jay5jay1idXR0b24uY2stcm91bmRlZC1jb3JuZXJzIHtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1ib3JkZXItcmFkaXVzKVxufVxuXG4uY2suY2stYnV0dG9uLFxuYS5jay5jay1idXR0b24ge1xuXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdGN1cnNvcjogZGVmYXVsdDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy10aW55KTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdC8qIEEgdmVyeSBpbXBvcnRhbnQgcGllY2Ugb2Ygc3R5bGluZy4gR28gdG8gdmFyaWFibGUgZGVjbGFyYXRpb24gdG8gbGVhcm4gbW9yZS4gKi9cblx0bWluLXdpZHRoOiB2YXIoLS1jay11aS1jb21wb25lbnQtbWluLWhlaWdodCk7XG5cdG1pbi1oZWlnaHQ6IHZhcigtLWNrLXVpLWNvbXBvbmVudC1taW4taGVpZ2h0KTtcblxuXHQvKiBOb3JtYWxpemUgdGhlIGhlaWdodCBvZiB0aGUgbGluZS4gUmVtb3ZpbmcgdGhpcyB3aWxsIGJyZWFrIGNvbnNpc3RlbnQgaGVpZ2h0XG5cdGFtb25nIHRleHQgYW5kIHRleHQtbGVzcyBidXR0b25zICh3aXRoIGljb25zKS4gKi9cblx0bGluZS1oZWlnaHQ6IDE7XG5cblx0LyogRW5hYmxlIGZvbnQgc2l6ZSBpbmhlcml0YW5jZSwgd2hpY2ggYWxsb3dzIGZsdWlkIFVJIHNjYWxpbmcuICovXG5cdGZvbnQtc2l6ZTogaW5oZXJpdDtcblxuXHQvKiBBdm9pZCBmbGlja2VyaW5nIHdoZW4gdGhlIGZvdWNzIGJvcmRlciBzaG93cyB1cC4gKi9cblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cblx0LyogQXBwbHkgc29tZSBzbW9vdGggdHJhbnNpdGlvbiB0byB0aGUgYm94LXNoYWRvdyBhbmQgYm9yZGVyLiAqL1xuXHR0cmFuc2l0aW9uOiBib3gtc2hhZG93IC4ycyBlYXNlLWluLW91dCwgYm9yZGVyIC4ycyBlYXNlLWluLW91dDtcblxuXHQvKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvaXNzdWVzLzE4OSAqL1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmVcbn1cblxuLmNrLmNrLWJ1dHRvbjphY3RpdmUsXG5cdC5jay5jay1idXR0b246Zm9jdXMsXG5cdGEuY2suY2stYnV0dG9uOmFjdGl2ZSxcblx0YS5jay5jay1idXR0b246Zm9jdXMge1xuXHRcdC8qIERpc2FibGUgbmF0aXZlIG91dGxpbmUuICovXG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRib3JkZXI6IHZhcigtLWNrLWZvY3VzLXJpbmcpO1xuXHRcdGJveC1zaGFkb3c6IHZhcigtLWNrLWZvY3VzLW91dGVyLXNoYWRvdyksIDAgMDtcblx0fVxuXG4uY2suY2stYnV0dG9uLFxuYS5jay5jay1idXR0b24ge1xuXG5cdC8qIEFsbG93IGljb24gY29sb3JpbmcgdXNpbmcgdGhlIHRleHQgXCJjb2xvclwiIHByb3BlcnR5LiAqL1xufVxuXG4uY2suY2stYnV0dG9uIC5jay1idXR0b25fX2ljb24gdXNlLFxuXHRcdC5jay5jay1idXR0b24gLmNrLWJ1dHRvbl9faWNvbiB1c2UgKixcblx0XHRhLmNrLmNrLWJ1dHRvbiAuY2stYnV0dG9uX19pY29uIHVzZSxcblx0XHRhLmNrLmNrLWJ1dHRvbiAuY2stYnV0dG9uX19pY29uIHVzZSAqIHtcblx0XHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdH1cblxuLmNrLmNrLWJ1dHRvbiAuY2stYnV0dG9uX19sYWJlbCwgYS5jay5jay1idXR0b24gLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdC8qIEVuYWJsZSBmb250IHNpemUgaW5oZXJpdGFuY2UsIHdoaWNoIGFsbG93cyBmbHVpZCBVSSBzY2FsaW5nLiAqL1xuXHRcdGZvbnQtc2l6ZTogaW5oZXJpdDtcblx0XHRmb250LXdlaWdodDogaW5oZXJpdDtcblx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHRjdXJzb3I6IGluaGVyaXQ7XG5cblx0XHQvKiBNdXN0IGJlIGNvbnNpc3RlbnQgd2l0aCAuY2staWNvbidzIHZlcnRpY2FsIGFsaWduLiBPdGhlcndpc2UsIGJ1dHRvbnMgd2l0aCBhbmRcblx0XHR3aXRob3V0IGxhYmVscyAoYnV0IHdpdGggaWNvbnMpIGhhdmUgZGlmZmVyZW50IHNpemVzIGluIENocm9tZSAqL1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGVcblx0fVxuXG5bZGlyPVwibHRyXCJdIC5jay5jay1idXR0b24gLmNrLWJ1dHRvbl9fbGFiZWwsIFtkaXI9XCJsdHJcIl0gYS5jay5jay1idXR0b24gLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdFxuXHR9XG5cbltkaXI9XCJydGxcIl0gLmNrLmNrLWJ1dHRvbiAuY2stYnV0dG9uX19sYWJlbCwgW2Rpcj1cInJ0bFwiXSBhLmNrLmNrLWJ1dHRvbiAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodFxuXHR9XG5cbi5jay5jay1idXR0b24gLmNrLWJ1dHRvbl9fa2V5c3Ryb2tlLCBhLmNrLmNrLWJ1dHRvbiAuY2stYnV0dG9uX19rZXlzdHJva2Uge1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXHR9XG5cbltkaXI9XCJsdHJcIl0gLmNrLmNrLWJ1dHRvbiAuY2stYnV0dG9uX19rZXlzdHJva2UsIFtkaXI9XCJsdHJcIl0gYS5jay5jay1idXR0b24gLmNrLWJ1dHRvbl9fa2V5c3Ryb2tlIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKTtcblx0fVxuXG5bZGlyPVwicnRsXCJdIC5jay5jay1idXR0b24gLmNrLWJ1dHRvbl9fa2V5c3Ryb2tlLCBbZGlyPVwicnRsXCJdIGEuY2suY2stYnV0dG9uIC5jay1idXR0b25fX2tleXN0cm9rZSB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xuXHR9XG5cbi5jay5jay1idXR0b24gLmNrLWJ1dHRvbl9fa2V5c3Ryb2tlLCBhLmNrLmNrLWJ1dHRvbiAuY2stYnV0dG9uX19rZXlzdHJva2Uge1xuXG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0b3BhY2l0eTogLjc7XG5cdH1cblxuLmNrLmNrLWJ1dHRvbixcbmEuY2suY2stYnV0dG9uIHtcblxuXHQvKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvaXNzdWVzLzcwICovXG59XG5cbi5jay5jay1idXR0b24uY2stZGlzYWJsZWQ6YWN0aXZlLFxuXHRcdC5jay5jay1idXR0b24uY2stZGlzYWJsZWQ6Zm9jdXMsXG5cdFx0YS5jay5jay1idXR0b24uY2stZGlzYWJsZWQ6YWN0aXZlLFxuXHRcdGEuY2suY2stYnV0dG9uLmNrLWRpc2FibGVkOmZvY3VzIHtcblx0XHRcdC8qIFRoZSBkaXNhYmxlZCBidXR0b24gc2hvdWxkIGhhdmUgYSBzbGlnaHRseSBsZXNzIHZpc2libGUgc2hhZG93IHdoZW4gZm9jdXNlZC4gKi9cblx0XHRcdGJveC1zaGFkb3c6IHZhcigtLWNrLWZvY3VzLWRpc2FibGVkLW91dGVyLXNoYWRvdyksIDAgMDtcblx0XHR9XG5cbi5jay5jay1idXR0b24uY2stZGlzYWJsZWQgLmNrLWJ1dHRvbl9faWNvbiwgYS5jay5jay1idXR0b24uY2stZGlzYWJsZWQgLmNrLWJ1dHRvbl9faWNvbiB7XG5cdFx0XHRvcGFjaXR5OiB2YXIoLS1jay1kaXNhYmxlZC1vcGFjaXR5KTtcblx0XHR9XG5cbi5jay5jay1idXR0b24uY2stZGlzYWJsZWQsIGEuY2suY2stYnV0dG9uLmNrLWRpc2FibGVkIHtcblxuXHRcdC8qIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtdGhlbWUtbGFyay9pc3N1ZXMvOTggKi9cblx0fVxuXG4uY2suY2stYnV0dG9uLmNrLWRpc2FibGVkIC5jay1idXR0b25fX2xhYmVsLCBhLmNrLmNrLWJ1dHRvbi5jay1kaXNhYmxlZCAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0XHRvcGFjaXR5OiB2YXIoLS1jay1kaXNhYmxlZC1vcGFjaXR5KTtcblx0XHR9XG5cbi5jay5jay1idXR0b24uY2stZGlzYWJsZWQgLmNrLWJ1dHRvbl9fa2V5c3Ryb2tlLCBhLmNrLmNrLWJ1dHRvbi5jay1kaXNhYmxlZCAuY2stYnV0dG9uX19rZXlzdHJva2Uge1xuXHRcdFx0b3BhY2l0eTogLjM7XG5cdFx0fVxuXG4uY2suY2stYnV0dG9uLmNrLWJ1dHRvbl93aXRoLXRleHQsIGEuY2suY2stYnV0dG9uLmNrLWJ1dHRvbl93aXRoLXRleHQge1xuXHRcdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctdGlueSkgdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZClcblxuXHRcdC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kZXNjZW5kaW5nLXNwZWNpZmljaXR5ICovXG5cdH1cblxuW2Rpcj1cImx0clwiXSAuY2suY2stYnV0dG9uLmNrLWJ1dHRvbl93aXRoLXRleHQgLmNrLWJ1dHRvbl9faWNvbiwgW2Rpcj1cImx0clwiXSBhLmNrLmNrLWJ1dHRvbi5jay1idXR0b25fd2l0aC10ZXh0IC5jay1idXR0b25fX2ljb24ge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogY2FsYygtMSAqIHZhcigtLWNrLXNwYWNpbmctc21hbGwpKTtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKVxuXHRcdH1cblxuW2Rpcj1cInJ0bFwiXSAuY2suY2stYnV0dG9uLmNrLWJ1dHRvbl93aXRoLXRleHQgLmNrLWJ1dHRvbl9faWNvbiwgW2Rpcj1cInJ0bFwiXSBhLmNrLmNrLWJ1dHRvbi5jay1idXR0b25fd2l0aC10ZXh0IC5jay1idXR0b25fX2ljb24ge1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKSk7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKVxuXHRcdH1cblxuLmNrLmNrLWJ1dHRvbi5jay1idXR0b25fd2l0aC1rZXlzdHJva2UsIGEuY2suY2stYnV0dG9uLmNrLWJ1dHRvbl93aXRoLWtleXN0cm9rZSB7XG5cdFx0Lyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHkgKi9cblx0fVxuXG4uY2suY2stYnV0dG9uLmNrLWJ1dHRvbl93aXRoLWtleXN0cm9rZSAuY2stYnV0dG9uX19sYWJlbCwgYS5jay5jay1idXR0b24uY2stYnV0dG9uX3dpdGgta2V5c3Ryb2tlIC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRcdGZsZXgtZ3JvdzogMTtcblx0XHR9XG5cbi5jay5jay1idXR0b24sXG5hLmNrLmNrLWJ1dHRvbiB7XG5cblx0LyogQSBzdHlsZSBvZiB0aGUgYnV0dG9uIHdoaWNoIGlzIGN1cnJlbnRseSBvbiwgZS5nLiBpdHMgZmVhdHVyZSBpcyBhY3RpdmUuICovXG59XG5cbi5jay5jay1idXR0b24uY2stb24sIGEuY2suY2stYnV0dG9uLmNrLW9uIHtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1idXR0b24tb24tYmFja2dyb3VuZCk7XG5cdH1cblxuLmNrLmNrLWJ1dHRvbi5jay1vbjpub3QoLmNrLWRpc2FibGVkKTpob3ZlciwgYS5jay5jay1idXR0b24uY2stb246bm90KC5jay1kaXNhYmxlZCk6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItYnV0dG9uLW9uLWhvdmVyLWJhY2tncm91bmQpO1xuXHRcdH1cblxuLmNrLmNrLWJ1dHRvbi5jay1vbjpub3QoLmNrLWRpc2FibGVkKTphY3RpdmUsIGEuY2suY2stYnV0dG9uLmNrLW9uOm5vdCguY2stZGlzYWJsZWQpOmFjdGl2ZSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1idXR0b24tb24tYWN0aXZlLWJhY2tncm91bmQpO1xuXHRcdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAycHggMnB4IHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1vbi1hY3RpdmUtc2hhZG93KTtcblx0XHR9XG5cbi5jay5jay1idXR0b24uY2stb24sIGEuY2suY2stYnV0dG9uLmNrLW9uIHtcblx0XHQvKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvaXNzdWVzLzk4ICovXG5cdH1cblxuLmNrLmNrLWJ1dHRvbi5jay1vbi5jay1kaXNhYmxlZCwgYS5jay5jay1idXR0b24uY2stb24uY2stZGlzYWJsZWQge1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1vbi1kaXNhYmxlZC1iYWNrZ3JvdW5kKTtcblx0fVxuXG4uY2suY2stYnV0dG9uLmNrLWJ1dHRvbi1zYXZlLCBhLmNrLmNrLWJ1dHRvbi5jay1idXR0b24tc2F2ZSB7XG5cdFx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1zYXZlKTtcblx0fVxuXG4uY2suY2stYnV0dG9uLmNrLWJ1dHRvbi1jYW5jZWwsIGEuY2suY2stYnV0dG9uLmNrLWJ1dHRvbi1jYW5jZWwge1xuXHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci1idXR0b24tY2FuY2VsKTtcblx0fVxuXG4vKiBBIHN0eWxlIG9mIHRoZSBidXR0b24gd2hpY2ggaGFuZGxlcyB0aGUgcHJpbWFyeSBhY3Rpb24uICovXG5cbi5jay5jay1idXR0b24tYWN0aW9uLFxuYS5jay5jay1idXR0b24tYWN0aW9uIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItYnV0dG9uLWFjdGlvbi1iYWNrZ3JvdW5kKTtcbn1cblxuLmNrLmNrLWJ1dHRvbi1hY3Rpb246bm90KC5jay1kaXNhYmxlZCk6aG92ZXIsIGEuY2suY2stYnV0dG9uLWFjdGlvbjpub3QoLmNrLWRpc2FibGVkKTpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1idXR0b24tYWN0aW9uLWhvdmVyLWJhY2tncm91bmQpO1xuXHRcdH1cblxuLmNrLmNrLWJ1dHRvbi1hY3Rpb246bm90KC5jay1kaXNhYmxlZCk6YWN0aXZlLCBhLmNrLmNrLWJ1dHRvbi1hY3Rpb246bm90KC5jay1kaXNhYmxlZCk6YWN0aXZlIHtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1hY3Rpb24tYWN0aXZlLWJhY2tncm91bmQpO1xuXHRcdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAycHggMnB4IHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1hY3Rpb24tYWN0aXZlLXNoYWRvdyk7XG5cdFx0fVxuXG4uY2suY2stYnV0dG9uLWFjdGlvbixcbmEuY2suY2stYnV0dG9uLWFjdGlvbiB7XG5cdC8qIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtdGhlbWUtbGFyay9pc3N1ZXMvOTggKi9cbn1cblxuLmNrLmNrLWJ1dHRvbi1hY3Rpb24uY2stZGlzYWJsZWQsIGEuY2suY2stYnV0dG9uLWFjdGlvbi5jay1kaXNhYmxlZCB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItYnV0dG9uLWFjdGlvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kKTtcblx0fVxuXG4uY2suY2stYnV0dG9uLWFjdGlvbixcbmEuY2suY2stYnV0dG9uLWFjdGlvbiB7XG5cblx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLWJ1dHRvbi1hY3Rpb24tdGV4dCk7XG59XG5cbi5jay5jay1idXR0b24tYm9sZCxcbmEuY2suY2stYnV0dG9uLWJvbGQge1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cbiIsIi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXVpXFx0aGVtZVxcY29tcG9uZW50c1xcZHJvcGRvd25cXGRyb3Bkb3duLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBFbmFibGVzIHRoZSB0b29sdGlwLCB3aGljaCBpcyB0aGUgdG9vbHRpcCBpcyBpbiBET00gYnV0XG4gKiBub3QgeWV0IGRpc3BsYXllZC5cbiAqL1xuXG4vKipcbiAqIERpc2FibGVzIHRoZSB0b29sdGlwIG1ha2luZyBpdCBkaXNhcHBlYXIgZnJvbSBET00uXG4gKi9cblxuLyoqXG4gKiBTaG93cyB0aGUgdG9vbHRpcCwgd2hpY2ggaXMgYWxyZWFkeSBpbiBET00uXG4gKiBSZXF1aXJlcyBgY2stdG9vbHRpcF9lbmFibGVkYCBmaXJzdC5cbiAqL1xuXG4uY2suY2stZHJvcGRvd24ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZVxufVxuXG4uY2suY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19hcnJvdyB7XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0ei1pbmRleDogdmFyKC0tY2stei1kZWZhdWx0KTtcblx0fVxuXG4uY2suY2stZHJvcGRvd24ge1xuXG5cdC8qIERyb3Bkb3duIGJ1dHRvbiBzaG91bGQgc3BhbiBob3Jpem9udGFsbHksIGUuZy4gaW4gdmVydGljYWwgdG9vbGJhcnMgKi9cbn1cblxuLmNrLmNrLWRyb3Bkb3duIC5jay1idXR0b24uY2stZHJvcGRvd25fX2J1dHRvbiB7XG5cdFx0d2lkdGg6IDEwMCVcblxuXHRcdC8qIERpc2FibGUgbWFpbiBidXR0b24ncyB0b29sdGlwIHdoZW4gdGhlIGRyb3Bkb3duIGlzIG9wZW4uIE90aGVyd2lzZSB0aGUgcGFuZWwgbWF5XG5cdFx0cGFydGlhbGx5IGNvdmVyIHRoZSB0b29sdGlwICovXG5cdH1cblxuLmNrLmNrLWRyb3Bkb3duIC5jay1idXR0b24uY2stZHJvcGRvd25fX2J1dHRvbi5jay1vbiAuY2stdG9vbHRpcCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG4uY2suY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19wYW5lbCB7XG5cdFx0LyogVGhpcyBpcyB0byBnZXQgcmlkIG9mIGZsaWNrZXJpbmcgd2hlbiB0aGUgdG9vbHRpcCBpcyBzaG93biB1bmRlciB0aGUgcGFuZWwsXG5cdFx0d2hpY2ggbG9va3MgbGlrZSB0aGUgcGFuZWwgbW92ZXMgdmVydGljYWxseSBhIHBpeGVsIGRvd24gYW5kIHVwLiAqL1xuXHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHR6LWluZGV4OiB2YXIoLS1jay16LW1vZGFsKTtcblxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZVxuXHR9XG5cbi5jay5jay1kcm9wZG93biAuY2stZHJvcGRvd25fX3BhbmVsLmNrLWRyb3Bkb3duX19wYW5lbC12aXNpYmxlIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR9XG5cbi5jay5jay1kcm9wZG93biAuY2stZHJvcGRvd25fX3BhbmVsLmNrLWRyb3Bkb3duX19wYW5lbF9uZSxcblx0XHQuY2suY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19wYW5lbC5jay1kcm9wZG93bl9fcGFuZWxfbncge1xuXHRcdFx0Ym90dG9tOiAxMDAlO1xuXHRcdH1cblxuLmNrLmNrLWRyb3Bkb3duIC5jay1kcm9wZG93bl9fcGFuZWwuY2stZHJvcGRvd25fX3BhbmVsX3NlLFxuXHRcdC5jay5jay1kcm9wZG93biAuY2stZHJvcGRvd25fX3BhbmVsLmNrLWRyb3Bkb3duX19wYW5lbF9zdyB7XG5cdFx0XHQvKlxuXHRcdFx0ICogVXNpbmcgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCggMCwgMTAwJSwgMCApIGNhdXNlcyBibHVycnkgZHJvcGRvd24gb24gQ2hyb21lIDY3LTc4KyBvbiBub24tcmV0aW5hIGRpc3BsYXlzLlxuXHRcdFx0ICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzEwNTMuXG5cdFx0XHQgKi9cblx0XHRcdHRvcDogMTAwJTtcblx0XHRcdGJvdHRvbTogYXV0bztcblx0XHR9XG5cbi5jay5jay1kcm9wZG93biAuY2stZHJvcGRvd25fX3BhbmVsLmNrLWRyb3Bkb3duX19wYW5lbF9uZSxcblx0XHQuY2suY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19wYW5lbC5jay1kcm9wZG93bl9fcGFuZWxfc2Uge1xuXHRcdFx0bGVmdDogMHB4O1xuXHRcdH1cblxuLmNrLmNrLWRyb3Bkb3duIC5jay1kcm9wZG93bl9fcGFuZWwuY2stZHJvcGRvd25fX3BhbmVsX253LFxuXHRcdC5jay5jay1kcm9wZG93biAuY2stZHJvcGRvd25fX3BhbmVsLmNrLWRyb3Bkb3duX19wYW5lbF9zdyB7XG5cdFx0XHRyaWdodDogMHB4O1xuXHRcdH1cblxuLyogQzpcXGxhcmFnb25cXHd3d1xcdHJ1c3RcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdGhlbWUtbGFya1xcdGhlbWVcXGNrZWRpdG9yNS11aVxcY29tcG9uZW50c1xcZHJvcGRvd25cXGRyb3Bkb3duLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBJbXBsZW1lbnRzIHJvdW5kZWQgY29ybmVyIGludGVyZmFjZSBmb3IgLmNrLXJvdW5kZWQtY29ybmVycyBjbGFzcy5cbiAqXG4gKiBAc2VlICRjay1ib3JkZXItcmFkaXVzXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEEgY2xhc3Mgd2hpY2ggaW5kaWNhdGVzIHRoYXQgYW4gZWxlbWVudCBob2xkaW5nIGl0IGlzIGRpc2FibGVkLlxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBBIGhlbHBlciB0byBjb21iaW5lIG11bHRpcGxlIHNoYWRvd3MuXG4gKi9cblxuLyoqXG4gKiBHaXZlcyBhbiBlbGVtZW50IGEgZHJvcCBzaGFkb3cgc28gaXQgbG9va3MgbGlrZSBhIGZsb2F0aW5nIHBhbmVsLlxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLWRyb3Bkb3duLWFycm93LXNpemU6IGNhbGMoMC41ICogdmFyKC0tY2staWNvbi1zaXplKSk7XG59XG5cbi5jay5jay1kcm9wZG93biB7XG5cdC8qIEVuYWJsZSBmb250IHNpemUgaW5oZXJpdGFuY2UsIHdoaWNoIGFsbG93cyBmbHVpZCBVSSBzY2FsaW5nLiAqL1xuXHRmb250LXNpemU6IGluaGVyaXRcbn1cblxuLmNrLmNrLWRyb3Bkb3duIC5jay1kcm9wZG93bl9fYXJyb3cge1xuXHRcdHdpZHRoOiB2YXIoLS1jay1kcm9wZG93bi1hcnJvdy1zaXplKTtcblx0fVxuXG5bZGlyPVwibHRyXCJdIC5jay5jay1kcm9wZG93biAuY2stZHJvcGRvd25fX2Fycm93IHtcblx0XHRcdHJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblxuXHRcdFx0LyogQSBzcGFjZSB0byBhY2NvbW1vZGF0ZSB0aGUgdHJpYW5nbGUuICovXG5cdFx0XHRtYXJnaW4tbGVmdDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdFx0fVxuXG5bZGlyPVwicnRsXCJdIC5jay5jay1kcm9wZG93biAuY2stZHJvcGRvd25fX2Fycm93IHtcblx0XHRcdGxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXG5cdFx0XHQvKiBBIHNwYWNlIHRvIGFjY29tbW9kYXRlIHRoZSB0cmlhbmdsZS4gKi9cblx0XHRcdG1hcmdpbi1yaWdodDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdFx0fVxuXG4uY2suY2stZHJvcGRvd24uY2stZGlzYWJsZWQgLmNrLWRyb3Bkb3duX19hcnJvdyB7XG5cdFx0b3BhY2l0eTogdmFyKC0tY2stZGlzYWJsZWQtb3BhY2l0eSk7XG5cdH1cblxuW2Rpcj1cImx0clwiXSAuY2suY2stZHJvcGRvd24gLmNrLWJ1dHRvbi5jay1kcm9wZG93bl9fYnV0dG9uOm5vdCguY2stYnV0dG9uX3dpdGgtdGV4dCkge1xuXHRcdFx0XHQvKiBNYWtlIHN1cmUgZHJvcGRvd25zIHdpdGgganVzdCBhbiBpY29uIGhhdmUgdGhlIHJpZ2h0IGlubmVyIHNwYWNpbmcgKi9cblx0XHRcdFx0cGFkZGluZy1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblx0XHRcdH1cblxuW2Rpcj1cInJ0bFwiXSAuY2suY2stZHJvcGRvd24gLmNrLWJ1dHRvbi5jay1kcm9wZG93bl9fYnV0dG9uOm5vdCguY2stYnV0dG9uX3dpdGgtdGV4dCkge1xuXHRcdFx0XHQvKiBNYWtlIHN1cmUgZHJvcGRvd25zIHdpdGgganVzdCBhbiBpY29uIGhhdmUgdGhlIHJpZ2h0IGlubmVyIHNwYWNpbmcgKi9cblx0XHRcdFx0cGFkZGluZy1yaWdodDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdFx0XHR9XG5cbi5jay5jay1kcm9wZG93biAuY2stYnV0dG9uLmNrLWRyb3Bkb3duX19idXR0b24ge1xuXG5cdFx0LyogIzIzICovXG5cdH1cblxuLmNrLmNrLWRyb3Bkb3duIC5jay1idXR0b24uY2stZHJvcGRvd25fX2J1dHRvbiAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0XHR3aWR0aDogN2VtO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdH1cblxuLmNrLmNrLWRyb3Bkb3duIC5jay1idXR0b24uY2stZHJvcGRvd25fX2J1dHRvbiB7XG5cblx0XHQvKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvaXNzdWVzLzcwICovXG5cdH1cblxuLmNrLmNrLWRyb3Bkb3duIC5jay1idXR0b24uY2stZHJvcGRvd25fX2J1dHRvbi5jay1kaXNhYmxlZCAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0XHRvcGFjaXR5OiB2YXIoLS1jay1kaXNhYmxlZC1vcGFjaXR5KTtcblx0XHR9XG5cbi5jay5jay1kcm9wZG93biAuY2stYnV0dG9uLmNrLWRyb3Bkb3duX19idXR0b24ge1xuXG5cdFx0LyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvODE2ICovXG5cdH1cblxuLmNrLmNrLWRyb3Bkb3duIC5jay1idXR0b24uY2stZHJvcGRvd25fX2J1dHRvbi5jay1vbiB7XG5cdFx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG5cdFx0fVxuXG4uY2suY2stZHJvcGRvd24gLmNrLWJ1dHRvbi5jay1kcm9wZG93bl9fYnV0dG9uLmNrLWRyb3Bkb3duX19idXR0b25fbGFiZWwtd2lkdGhfYXV0byAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHR9XG5cbi5jay5jay1kcm9wZG93bl9fcGFuZWwge1xuXHRib3JkZXItcmFkaXVzOiAwXG59XG5cbi5jay1yb3VuZGVkLWNvcm5lcnMgLmNrLmNrLWRyb3Bkb3duX19wYW5lbCwgLmNrLmNrLWRyb3Bkb3duX19wYW5lbC5jay1yb3VuZGVkLWNvcm5lcnMge1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLWNrLWJvcmRlci1yYWRpdXMpXG59XG5cbi5jay5jay1kcm9wZG93bl9fcGFuZWwge1xuXHRib3gtc2hhZG93OiB2YXIoLS1jay1kcm9wLXNoYWRvdyksIDAgMDtcblxuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1kcm9wZG93bi1wYW5lbC1iYWNrZ3JvdW5kKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItZHJvcGRvd24tcGFuZWwtYm9yZGVyKTtcblx0Ym90dG9tOiAwO1xuXG5cdC8qIE1ha2Ugc3VyZSB0aGUgcGFuZWwgaXMgYXQgbGVhc3QgYXMgd2lkZSBhcyB0aGUgZHJvcC1kb3duJ3MgYnV0dG9uLiAqL1xuXHRtaW4td2lkdGg6IDEwMCVcblxuXHQvKiBEaXNhYmxlZCBjb3JuZXIgYm9yZGVyIHJhZGl1cyB0byBiZSBjb25zaXN0ZW50IHdpdGggdGhlIC5kcm9wZG93bl9fYnV0dG9uXG5cdGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzgxNiAqL1xufVxuXG4uY2suY2stZHJvcGRvd25fX3BhbmVsLmNrLWRyb3Bkb3duX19wYW5lbF9zZSB7XG5cdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcblx0fVxuXG4uY2suY2stZHJvcGRvd25fX3BhbmVsLmNrLWRyb3Bkb3duX19wYW5lbF9zdyB7XG5cdFx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG5cdH1cblxuLmNrLmNrLWRyb3Bkb3duX19wYW5lbC5jay1kcm9wZG93bl9fcGFuZWxfbmUge1xuXHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG5cdH1cblxuLmNrLmNrLWRyb3Bkb3duX19wYW5lbC5jay1kcm9wZG93bl9fcGFuZWxfbncge1xuXHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuXHR9XG4iLCIvKiBDOlxcbGFyYWdvblxcd3d3XFx0cnVzdFxcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS11aVxcdGhlbWVcXGNvbXBvbmVudHNcXHRvb2xiYXJcXHRvb2xiYXIuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIE1ha2VzIGVsZW1lbnQgdW5zZWxlY3RhYmxlLlxuICovXG5cbi5jay5jay10b29sYmFyIHtcblx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcblx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblx0LW1zLXVzZXItc2VsZWN0OiBub25lO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXJcbn1cblxuLmNrLmNrLXRvb2xiYXIgPiAuY2stdG9vbGJhcl9faXRlbXMge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1mbG93OiByb3cgd3JhcDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGZsZXgtZ3JvdzogMTtcblxuXHR9XG5cbi5jay5jay10b29sYmFyIC5jay5jay10b29sYmFyX19zZXBhcmF0b3Ige1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9ja1xuXG5cdFx0Lypcblx0XHQgKiBBIGxlYWRpbmcgb3IgdHJhaWxpbmcgc2VwYXJhdG9yIG1ha2VzIG5vIHNlbnNlIChzZXBhcmF0ZXMgZnJvbSBub3RoaW5nIG9uIG9uZSBzaWRlKS5cblx0XHQgKiBGb3IgaW5zdGFuY2UsIGl0IGNhbiBoYXBwZW4gd2hlbiB0b29sYmFyIGl0ZW1zIChhbHNvIHNlcGFyYXRvcnMpIGFyZSBnZXR0aW5nIGdyb3VwZWQgb25lIGJ5IG9uZSBhbmRcblx0XHQgKiBtb3ZlZCB0byBhbm90aGVyIHRvb2xiYXIgaW4gdGhlIGRyb3Bkb3duLlxuXHRcdCAqL1xuXHR9XG5cbi5jay5jay10b29sYmFyIC5jay5jay10b29sYmFyX19zZXBhcmF0b3I6Zmlyc3QtY2hpbGQsXG5cdFx0LmNrLmNrLXRvb2xiYXIgLmNrLmNrLXRvb2xiYXJfX3NlcGFyYXRvcjpsYXN0LWNoaWxkIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG4uY2suY2stdG9vbGJhci5jay10b29sYmFyX2dyb3VwaW5nID4gLmNrLXRvb2xiYXJfX2l0ZW1zIHtcblx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0fVxuXG4uY2suY2stdG9vbGJhci5jay10b29sYmFyX3ZlcnRpY2FsID4gLmNrLXRvb2xiYXJfX2l0ZW1zIHtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHR9XG5cbi5jay5jay10b29sYmFyLmNrLXRvb2xiYXJfZmxvYXRpbmcgPiAuY2stdG9vbGJhcl9faXRlbXMge1xuXHRcdGZsZXgtd3JhcDogbm93cmFwO1xuXHR9XG5cbi5jay5jay10b29sYmFyID4gLmNrLmNrLXRvb2xiYXJfX2dyb3VwZWQtZHJvcGRvd24gPiAuY2stZHJvcGRvd25fX2J1dHRvbiAuY2stZHJvcGRvd25fX2Fycm93IHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG4vKiBDOlxcbGFyYWdvblxcd3d3XFx0cnVzdFxcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS10aGVtZS1sYXJrXFx0aGVtZVxcY2tlZGl0b3I1LXVpXFxjb21wb25lbnRzXFx0b29sYmFyXFx0b29sYmFyLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBJbXBsZW1lbnRzIHJvdW5kZWQgY29ybmVyIGludGVyZmFjZSBmb3IgLmNrLXJvdW5kZWQtY29ybmVycyBjbGFzcy5cbiAqXG4gKiBAc2VlICRjay1ib3JkZXItcmFkaXVzXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stdG9vbGJhciB7XG5cdGJvcmRlci1yYWRpdXM6IDBcbn1cblxuLmNrLXJvdW5kZWQtY29ybmVycyAuY2suY2stdG9vbGJhciwgLmNrLmNrLXRvb2xiYXIuY2stcm91bmRlZC1jb3JuZXJzIHtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1ib3JkZXItcmFkaXVzKVxufVxuXG4uY2suY2stdG9vbGJhciB7XG5cblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItdG9vbGJhci1iYWNrZ3JvdW5kKTtcblx0cGFkZGluZzogMCB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItdG9vbGJhci1ib3JkZXIpXG59XG5cbi5jay5jay10b29sYmFyIC5jay5jay10b29sYmFyX19zZXBhcmF0b3Ige1xuXHRcdGFsaWduLXNlbGY6IHN0cmV0Y2g7XG5cdFx0d2lkdGg6IDFweDtcblx0XHRtaW4td2lkdGg6IDFweDtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci10b29sYmFyLWJvcmRlcik7XG5cblx0XHQvKlxuXHRcdCAqIFRoZXNlIG1hcmdpbnMgbWFrZSB0aGUgc2VwYXJhdG9ycyBsb29rIGJldHRlciBpbiBiYWxsb29uIHRvb2xiYXJzICh3aGVuIGFsaWduZWQgd2l0aCB0aGUgXCJ0aXBcIikuXG5cdFx0ICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzc0OTMuXG5cdFx0ICovXG5cdFx0bWFyZ2luLXRvcDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdH1cblxuLmNrLmNrLXRvb2xiYXIgPiAuY2stdG9vbGJhcl9faXRlbXMgPiAqIHtcblx0XHRcdC8qIE1ha2Ugc3VyZSBpdGVtcyB3cmFwcGVkIHRvIHRoZSBuZXh0IGxpbmUgaGF2ZSB2LXNwYWNpbmcgKi9cblx0XHRcdG1hcmdpbi10b3A6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cblx0XHRcdC8qICgjMTEpIFNlcGFyYXRlIHRvb2xiYXIgaXRlbXMuICovXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHRcdH1cblxuLmNrLmNrLXRvb2xiYXIgPiAuY2stdG9vbGJhcl9faXRlbXMge1xuXG5cdFx0LyogRG9uJ3QgZGlzcGxheSBhIHNlcGFyYXRvciBhZnRlciBhbiBlbXB0eSBpdGVtcyBjb250YWluZXIsIGZvciBpbnN0YW5jZSxcblx0XHR3aGVuIGFsbCBpdGVtcyB3ZXJlIGdyb3VwZWQgKi9cblx0fVxuXG4uY2suY2stdG9vbGJhciA+IC5jay10b29sYmFyX19pdGVtczplbXB0eSArIC5jay5jay10b29sYmFyX19zZXBhcmF0b3Ige1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cbi5jay5jay10b29sYmFyID4gLmNrLXRvb2xiYXJfX2l0ZW1zID4gKixcblx0LmNrLmNrLXRvb2xiYXIgPiAuY2suY2stdG9vbGJhcl9fZ3JvdXBlZC1kcm9wZG93biB7XG5cdFx0LyogTWFrZSBzdXJlIGl0ZW1zIHdyYXBwZWQgdG8gdGhlIG5leHQgbGluZSBoYXZlIHYtc3BhY2luZyAqL1xuXHRcdG1hcmdpbi10b3A6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHRcdG1hcmdpbi1ib3R0b206IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHR9XG5cbi5jay5jay10b29sYmFyLmNrLXRvb2xiYXJfdmVydGljYWwge1xuXHRcdC8qIEl0ZW1zIGluIGEgdmVydGljYWwgdG9vbGJhciBzcGFuIHRoZSBlbnRpcmUgd2lkdGguICovXG5cdFx0cGFkZGluZzogMFxuXG5cdFx0LyogU3BlY2lmaWNpdHkgbWF0dGVycyBoZXJlLiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL2lzc3Vlcy8xNjguICovXG5cdH1cblxuLmNrLmNrLXRvb2xiYXIuY2stdG9vbGJhcl92ZXJ0aWNhbCA+IC5jay10b29sYmFyX19pdGVtcyA+IC5jayB7XG5cdFx0XHQvKiBJdGVtcyBpbiBhIHZlcnRpY2FsIHRvb2xiYXIgc2hvdWxkIHNwYW4gdGhlIGhvcml6b250YWwgc3BhY2UuICovXG5cdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0LyogSXRlbXMgaW4gYSB2ZXJ0aWNhbCB0b29sYmFyIHNob3VsZCBoYXZlIG5vIG1hcmdpbi4gKi9cblx0XHRcdG1hcmdpbjogMDtcblxuXHRcdFx0LyogSXRlbXMgaW4gYSB2ZXJ0aWNhbCB0b29sYmFyIHNwYW4gdGhlIGVudGlyZSB3aWR0aCBzbyByb3VuZGVkIGNvcm5lcnMgYXJlIHBvaW50bGVzcy4gKi9cblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cblx0XHRcdC8qIEl0ZW1zIGluIGEgdmVydGljYWwgdG9vbGJhciBzcGFuIHRoZSBlbnRpcmUgd2lkdGggc28gYW55IGJvcmRlciBpcyBwb2ludGxlc3MuICovXG5cdFx0XHRib3JkZXI6IDA7XG5cdFx0fVxuXG4uY2suY2stdG9vbGJhci5jay10b29sYmFyX2NvbXBhY3Qge1xuXHRcdC8qIE5vIHNwYWNpbmcgYXJvdW5kIGl0ZW1zLiAqL1xuXHRcdHBhZGRpbmc6IDBcblx0fVxuXG4uY2suY2stdG9vbGJhci5jay10b29sYmFyX2NvbXBhY3QgPiAuY2stdG9vbGJhcl9faXRlbXMgPiAqIHtcblx0XHRcdC8qIENvbXBhY3QgdG9vbGJhciBpdGVtcyBoYXZlIG5vIHNwYWNpbmcgYmV0d2VlbiB0aGVtLiAqL1xuXHRcdFx0bWFyZ2luOiAwXG5cblx0XHRcdC8qIFwiTWlkZGxlXCIgY2hpbGRyZW4gc2hvdWxkIGhhdmUgbm8gcm91bmRlZCBjb3JuZXJzLiAqL1xuXHRcdH1cblxuLmNrLmNrLXRvb2xiYXIuY2stdG9vbGJhcl9jb21wYWN0ID4gLmNrLXRvb2xiYXJfX2l0ZW1zID4gKjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdH1cblxuLmNrLmNrLXRvb2xiYXIgPiAuY2suY2stdG9vbGJhcl9fZ3JvdXBlZC1kcm9wZG93biB7XG5cdFx0Lypcblx0XHQgKiBEcm9wZG93biBidXR0b24gaGFzIGFzeW1tZXRyaWMgcGFkZGluZyB0byBmaXQgdGhlIGFycm93LlxuXHRcdCAqIFRoaXMgYnV0dG9uIGhhcyBubyBhcnJvdyBzbyBsZXQncyByZXZlcnQgdGhhdCBwYWRkaW5nIGJhY2sgdG8gbm9ybWFsLlxuXHRcdCAqL1xuXHR9XG5cbi5jay5jay10b29sYmFyID4gLmNrLmNrLXRvb2xiYXJfX2dyb3VwZWQtZHJvcGRvd24gPiAuY2suY2stYnV0dG9uLmNrLWRyb3Bkb3duX19idXR0b24ge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXRpbnkpO1xuXHRcdH1cblxuLmNrLXRvb2xiYXItY29udGFpbmVyIC5jay5jay10b29sYmFyIHtcblx0XHRib3JkZXI6IDBcbn1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cblxuLypcbiAqIFN0eWxlcyBmb3IgUlRMIHRvb2xiYXJzLlxuICpcbiAqIE5vdGU6IEluIHNvbWUgY2FzZXMgKGUuZy4gYSBkZWNvdXBsZWQgZWRpdG9yKSwgdGhlIHRvb2xiYXIgaGFzIGl0cyBvd24gXCJkaXJcIlxuICogYmVjYXVzZSBpdHMgcGFyZW50IGlzIG5vdCBjb250cm9sbGVkIGJ5IHRoZSBlZGl0b3IgZnJhbWV3b3JrLlxuICovXG5cbltkaXI9XCJydGxcIl0gLmNrLmNrLXRvb2xiYXIgPiAuY2stdG9vbGJhcl9faXRlbXMgPiAuY2ssIC5jay5jay10b29sYmFyW2Rpcj1cInJ0bFwiXSA+IC5jay10b29sYmFyX19pdGVtcyA+IC5jayB7XG5cdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHR9XG5cbltkaXI9XCJydGxcIl0gLmNrLmNrLXRvb2xiYXI6bm90KC5jay10b29sYmFyX2NvbXBhY3QpID4gLmNrLXRvb2xiYXJfX2l0ZW1zID4gLmNrLCAuY2suY2stdG9vbGJhcltkaXI9XCJydGxcIl06bm90KC5jay10b29sYmFyX2NvbXBhY3QpID4gLmNrLXRvb2xiYXJfX2l0ZW1zID4gLmNrIHtcblx0XHQvKiAoIzExKSBTZXBhcmF0ZSB0b29sYmFyIGl0ZW1zLiAqL1xuXHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblx0fVxuXG5bZGlyPVwicnRsXCJdIC5jay5jay10b29sYmFyID4gLmNrLXRvb2xiYXJfX2l0ZW1zID4gLmNrOmxhc3QtY2hpbGQsIC5jay5jay10b29sYmFyW2Rpcj1cInJ0bFwiXSA+IC5jay10b29sYmFyX19pdGVtcyA+IC5jazpsYXN0LWNoaWxkIHtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0fVxuXG5bZGlyPVwicnRsXCJdIC5jay5jay10b29sYmFyLmNrLXRvb2xiYXJfY29tcGFjdCA+IC5jay10b29sYmFyX19pdGVtcyA+IC5jaywgLmNrLmNrLXRvb2xiYXJbZGlyPVwicnRsXCJdLmNrLXRvb2xiYXJfY29tcGFjdCA+IC5jay10b29sYmFyX19pdGVtcyA+IC5jayB7XG5cdFx0LyogTm8gcm91bmRlZCBjb3JuZXJzIG9uIHRoZSByaWdodCBzaWRlIG9mIHRoZSBmaXJzdCBjaGlsZC4gKi9cblx0fVxuXG5bZGlyPVwicnRsXCJdIC5jay5jay10b29sYmFyLmNrLXRvb2xiYXJfY29tcGFjdCA+IC5jay10b29sYmFyX19pdGVtcyA+IC5jazpmaXJzdC1jaGlsZCwgLmNrLmNrLXRvb2xiYXJbZGlyPVwicnRsXCJdLmNrLXRvb2xiYXJfY29tcGFjdCA+IC5jay10b29sYmFyX19pdGVtcyA+IC5jazpmaXJzdC1jaGlsZCB7XG5cdFx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcblx0XHR9XG5cbltkaXI9XCJydGxcIl0gLmNrLmNrLXRvb2xiYXIuY2stdG9vbGJhcl9jb21wYWN0ID4gLmNrLXRvb2xiYXJfX2l0ZW1zID4gLmNrLCAuY2suY2stdG9vbGJhcltkaXI9XCJydGxcIl0uY2stdG9vbGJhcl9jb21wYWN0ID4gLmNrLXRvb2xiYXJfX2l0ZW1zID4gLmNrIHtcblxuXHRcdC8qIE5vIHJvdW5kZWQgY29ybmVycyBvbiB0aGUgbGVmdCBzaWRlIG9mIHRoZSBsYXN0IGNoaWxkLiAqL1xuXHR9XG5cbltkaXI9XCJydGxcIl0gLmNrLmNrLXRvb2xiYXIuY2stdG9vbGJhcl9jb21wYWN0ID4gLmNrLXRvb2xiYXJfX2l0ZW1zID4gLmNrOmxhc3QtY2hpbGQsIC5jay5jay10b29sYmFyW2Rpcj1cInJ0bFwiXS5jay10b29sYmFyX2NvbXBhY3QgPiAuY2stdG9vbGJhcl9faXRlbXMgPiAuY2s6bGFzdC1jaGlsZCB7XG5cdFx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcblx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuXHRcdH1cblxuW2Rpcj1cInJ0bFwiXSAuY2suY2stdG9vbGJhcixcbi5jay5jay10b29sYmFyW2Rpcj1cInJ0bFwiXSB7XG5cblx0LyogU2VwYXJhdGUgdGhlIHRoZSBzZXBhcmF0b3IgZm9ybSB0aGUgZ3JvdXBpbmcgZHJvcGRvd24gd2hlbiBzb21lIGl0ZW1zIGFyZSBncm91cGVkLiAqL1xufVxuXG5bZGlyPVwicnRsXCJdIC5jay5jay10b29sYmFyID4gLmNrLmNrLXRvb2xiYXJfX3NlcGFyYXRvciwgLmNrLmNrLXRvb2xiYXJbZGlyPVwicnRsXCJdID4gLmNrLmNrLXRvb2xiYXJfX3NlcGFyYXRvciB7XG5cdFx0bWFyZ2luLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHR9XG5cbltkaXI9XCJydGxcIl0gLmNrLmNrLXRvb2xiYXIsXG4uY2suY2stdG9vbGJhcltkaXI9XCJydGxcIl0ge1xuXG5cdC8qIFNvbWUgc3BhY2luZyBiZXR3ZWVuIHRoZSBpdGVtcyBhbmQgdGhlIHNlcGFyYXRvciBiZWZvcmUgdGhlIGdyb3VwZWQgaXRlbXMgZHJvcGRvd24uICovXG59XG5cbltkaXI9XCJydGxcIl0gLmNrLmNrLXRvb2xiYXIuY2stdG9vbGJhcl9ncm91cGluZyA+IC5jay10b29sYmFyX19pdGVtczpub3QoOmVtcHR5KTpub3QoOm9ubHktY2hpbGQpLCAuY2suY2stdG9vbGJhcltkaXI9XCJydGxcIl0uY2stdG9vbGJhcl9ncm91cGluZyA+IC5jay10b29sYmFyX19pdGVtczpub3QoOmVtcHR5KTpub3QoOm9ubHktY2hpbGQpIHtcblx0XHRtYXJnaW4tbGVmdDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdH1cblxuLypcbiAqIFN0eWxlcyBmb3IgTFRSIHRvb2xiYXJzLlxuICpcbiAqIE5vdGU6IEluIHNvbWUgY2FzZXMgKGUuZy4gYSBkZWNvdXBsZWQgZWRpdG9yKSwgdGhlIHRvb2xiYXIgaGFzIGl0cyBvd24gXCJkaXJcIlxuICogYmVjYXVzZSBpdHMgcGFyZW50IGlzIG5vdCBjb250cm9sbGVkIGJ5IHRoZSBlZGl0b3IgZnJhbWV3b3JrLlxuICovXG5cbltkaXI9XCJsdHJcIl0gLmNrLmNrLXRvb2xiYXIgPiAuY2stdG9vbGJhcl9faXRlbXMgPiAuY2s6bGFzdC1jaGlsZCwgLmNrLmNrLXRvb2xiYXJbZGlyPVwibHRyXCJdID4gLmNrLXRvb2xiYXJfX2l0ZW1zID4gLmNrOmxhc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1yaWdodDogMDtcblx0fVxuXG5bZGlyPVwibHRyXCJdIC5jay5jay10b29sYmFyLmNrLXRvb2xiYXJfY29tcGFjdCA+IC5jay10b29sYmFyX19pdGVtcyA+IC5jaywgLmNrLmNrLXRvb2xiYXJbZGlyPVwibHRyXCJdLmNrLXRvb2xiYXJfY29tcGFjdCA+IC5jay10b29sYmFyX19pdGVtcyA+IC5jayB7XG5cdFx0LyogTm8gcm91bmRlZCBjb3JuZXJzIG9uIHRoZSByaWdodCBzaWRlIG9mIHRoZSBmaXJzdCBjaGlsZC4gKi9cblx0fVxuXG5bZGlyPVwibHRyXCJdIC5jay5jay10b29sYmFyLmNrLXRvb2xiYXJfY29tcGFjdCA+IC5jay10b29sYmFyX19pdGVtcyA+IC5jazpmaXJzdC1jaGlsZCwgLmNrLmNrLXRvb2xiYXJbZGlyPVwibHRyXCJdLmNrLXRvb2xiYXJfY29tcGFjdCA+IC5jay10b29sYmFyX19pdGVtcyA+IC5jazpmaXJzdC1jaGlsZCB7XG5cdFx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcblx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuXHRcdH1cblxuW2Rpcj1cImx0clwiXSAuY2suY2stdG9vbGJhci5jay10b29sYmFyX2NvbXBhY3QgPiAuY2stdG9vbGJhcl9faXRlbXMgPiAuY2ssIC5jay5jay10b29sYmFyW2Rpcj1cImx0clwiXS5jay10b29sYmFyX2NvbXBhY3QgPiAuY2stdG9vbGJhcl9faXRlbXMgPiAuY2sge1xuXG5cdFx0LyogTm8gcm91bmRlZCBjb3JuZXJzIG9uIHRoZSBsZWZ0IHNpZGUgb2YgdGhlIGxhc3QgY2hpbGQuICovXG5cdH1cblxuW2Rpcj1cImx0clwiXSAuY2suY2stdG9vbGJhci5jay10b29sYmFyX2NvbXBhY3QgPiAuY2stdG9vbGJhcl9faXRlbXMgPiAuY2s6bGFzdC1jaGlsZCwgLmNrLmNrLXRvb2xiYXJbZGlyPVwibHRyXCJdLmNrLXRvb2xiYXJfY29tcGFjdCA+IC5jay10b29sYmFyX19pdGVtcyA+IC5jazpsYXN0LWNoaWxkIHtcblx0XHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG5cdFx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuXHRcdH1cblxuW2Rpcj1cImx0clwiXSAuY2suY2stdG9vbGJhcixcbi5jay5jay10b29sYmFyW2Rpcj1cImx0clwiXSB7XG5cblx0LyogU2VwYXJhdGUgdGhlIHRoZSBzZXBhcmF0b3IgZm9ybSB0aGUgZ3JvdXBpbmcgZHJvcGRvd24gd2hlbiBzb21lIGl0ZW1zIGFyZSBncm91cGVkLiAqL1xufVxuXG5bZGlyPVwibHRyXCJdIC5jay5jay10b29sYmFyID4gLmNrLmNrLXRvb2xiYXJfX3NlcGFyYXRvciwgLmNrLmNrLXRvb2xiYXJbZGlyPVwibHRyXCJdID4gLmNrLmNrLXRvb2xiYXJfX3NlcGFyYXRvciB7XG5cdFx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblx0fVxuXG5bZGlyPVwibHRyXCJdIC5jay5jay10b29sYmFyLFxuLmNrLmNrLXRvb2xiYXJbZGlyPVwibHRyXCJdIHtcblxuXHQvKiBTb21lIHNwYWNpbmcgYmV0d2VlbiB0aGUgaXRlbXMgYW5kIHRoZSBzZXBhcmF0b3IgYmVmb3JlIHRoZSBncm91cGVkIGl0ZW1zIGRyb3Bkb3duLiAqL1xufVxuXG5bZGlyPVwibHRyXCJdIC5jay5jay10b29sYmFyLmNrLXRvb2xiYXJfZ3JvdXBpbmcgPiAuY2stdG9vbGJhcl9faXRlbXM6bm90KDplbXB0eSk6bm90KDpvbmx5LWNoaWxkKSwgLmNrLmNrLXRvb2xiYXJbZGlyPVwibHRyXCJdLmNrLXRvb2xiYXJfZ3JvdXBpbmcgPiAuY2stdG9vbGJhcl9faXRlbXM6bm90KDplbXB0eSk6bm90KDpvbmx5LWNoaWxkKSB7XG5cdFx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblx0fVxuXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCIvKiBDOlxcbGFyYWdvblxcd3d3XFx0cnVzdFxcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS11aVxcdGhlbWVcXGNvbXBvbmVudHNcXGxpc3RcXGxpc3QuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIE1ha2VzIGVsZW1lbnQgdW5zZWxlY3RhYmxlLlxuICovXG5cbi5jay5jay1saXN0IHtcblx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcblx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblx0LW1zLXVzZXItc2VsZWN0OiBub25lO1xuXHR1c2VyLXNlbGVjdDogbm9uZTtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uXG59XG5cbi5jay5jay1saXN0IC5jay1saXN0X19pdGVtLFxuXHQuY2suY2stbGlzdCAuY2stbGlzdF9fc2VwYXJhdG9yIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG4uY2suY2stbGlzdCB7XG5cblx0LyogTWFrZSBzdXJlIHRoYXQgd2hhdGV2ZXIgY2hpbGQgb2YgdGhlIGxpc3QgaXRlbSBnZXRzIGZvY3VzLCBpdCByZW1haW5zIG9uIHRoZVxuXHR0b3AuIFRoYW5rcyB0byB0aGF0LCBzdHlsZXMgbGlrZSBib3gtc2hhZG93LCBvdXRsaW5lLCBldGMuIGFyZSBub3QgbWFza2VkIGJ5XG5cdGFkamFjZW50IGxpc3QgaXRlbXMuICovXG59XG5cbi5jay5jay1saXN0IC5jay1saXN0X19pdGVtID4gKjpmb2N1cyB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IHZhcigtLWNrLXotZGVmYXVsdCk7XG5cdH1cblxuLyogQzpcXGxhcmFnb25cXHd3d1xcdHJ1c3RcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdGhlbWUtbGFya1xcdGhlbWVcXGNrZWRpdG9yNS11aVxcY29tcG9uZW50c1xcbGlzdFxcbGlzdC5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogQSBjbGFzcyB3aGljaCBpbmRpY2F0ZXMgdGhhdCBhbiBlbGVtZW50IGhvbGRpbmcgaXQgaXMgZGlzYWJsZWQuXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEltcGxlbWVudHMgcm91bmRlZCBjb3JuZXIgaW50ZXJmYWNlIGZvciAuY2stcm91bmRlZC1jb3JuZXJzIGNsYXNzLlxuICpcbiAqIEBzZWUgJGNrLWJvcmRlci1yYWRpdXNcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogQSBoZWxwZXIgdG8gY29tYmluZSBtdWx0aXBsZSBzaGFkb3dzLlxuICovXG5cbi8qKlxuICogR2l2ZXMgYW4gZWxlbWVudCBhIGRyb3Agc2hhZG93IHNvIGl0IGxvb2tzIGxpa2UgYSBmbG9hdGluZyBwYW5lbC5cbiAqL1xuXG4uY2suY2stbGlzdCB7XG5cdGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi5jay1yb3VuZGVkLWNvcm5lcnMgLmNrLmNrLWxpc3QsIC5jay5jay1saXN0LmNrLXJvdW5kZWQtY29ybmVycyB7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY2stYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5jay5jay1saXN0IHtcblxuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWxpc3QtYmFja2dyb3VuZCk7XG59XG5cbi5jay5jay1saXN0X19pdGVtIHtcblx0Y3Vyc29yOiBkZWZhdWx0O1xuXHRtaW4td2lkdGg6IDEyZW1cbn1cblxuLmNrLmNrLWxpc3RfX2l0ZW0gLmNrLWJ1dHRvbiB7XG5cdFx0bWluLWhlaWdodDogdW5zZXQ7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXG5cdFx0LyogTGlzdCBpdGVtcyBzaG91bGQgaGF2ZSB0aGUgc2FtZSBoZWlnaHQuIFVzZSBhYnNvbHV0ZSB1bml0cyB0byBtYWtlIHN1cmUgaXQgaXMgc29cblx0XHQgICBiZWNhdXNlIGUuZy4gZGlmZmVyZW50IGhlYWRpbmcgc3R5bGVzIG1heSBoYXZlIGRpZmZlcmVudCBoZWlnaHRcblx0XHQgICBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LWhlYWRpbmcvaXNzdWVzLzYzICovXG5cdFx0cGFkZGluZzpcblx0XHRcdGNhbGMoLjIgKiB2YXIoLS1jay1saW5lLWhlaWdodC1iYXNlKSAqIHZhcigtLWNrLWZvbnQtc2l6ZS1iYXNlKSlcblx0XHRcdGNhbGMoLjQgKiB2YXIoLS1jay1saW5lLWhlaWdodC1iYXNlKSAqIHZhcigtLWNrLWZvbnQtc2l6ZS1iYXNlKSlcblx0fVxuXG4uY2suY2stbGlzdF9faXRlbSAuY2stYnV0dG9uIC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRcdC8qIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtaGVhZGluZy9pc3N1ZXMvNjMgKi9cblx0XHRcdGxpbmUtaGVpZ2h0OiBjYWxjKDEuMiAqIHZhcigtLWNrLWxpbmUtaGVpZ2h0LWJhc2UpICogdmFyKC0tY2stZm9udC1zaXplLWJhc2UpKTtcblx0XHR9XG5cbi5jay5jay1saXN0X19pdGVtIC5jay1idXR0b246YWN0aXZlIHtcblx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0fVxuXG4uY2suY2stbGlzdF9faXRlbSAuY2stYnV0dG9uLmNrLW9uIHtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWxpc3QtYnV0dG9uLW9uLWJhY2tncm91bmQpO1xuXHRcdFx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLWxpc3QtYnV0dG9uLW9uLXRleHQpXG5cdFx0fVxuXG4uY2suY2stbGlzdF9faXRlbSAuY2stYnV0dG9uLmNrLW9uOmFjdGl2ZSB7XG5cdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0XHR9XG5cbi5jay5jay1saXN0X19pdGVtIC5jay1idXR0b24uY2stb246aG92ZXI6bm90KC5jay1kaXNhYmxlZCkge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1saXN0LWJ1dHRvbi1vbi1iYWNrZ3JvdW5kLWZvY3VzKTtcblx0XHRcdH1cblxuLmNrLmNrLWxpc3RfX2l0ZW0gLmNrLWJ1dHRvbi5jay1vbjpmb2N1czpub3QoLmNrLWRpc2FibGVkKSB7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogdmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblx0XHRcdH1cblxuLmNrLmNrLWxpc3RfX2l0ZW0gLmNrLWJ1dHRvbjpob3Zlcjpub3QoLmNrLWRpc2FibGVkKSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1saXN0LWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kKTtcblx0XHR9XG5cbi5jay5jay1saXN0X19pdGVtIHtcblxuXHQvKiBJdCdzIHVubmVjZXNzYXJ5IHRvIGNoYW5nZSB0aGUgYmFja2dyb3VuZC90ZXh0IG9mIGEgc3dpdGNoIHRvZ2dsZTsgaXQgaGFzIGRpZmZlcmVudCB3YXlzXG5cdG9mIGNvbnZleWluZyBpdHMgc3RhdGUgKGxpa2UgdGhlIHN3aXRjaGVyKSAqL1xufVxuXG4uY2suY2stbGlzdF9faXRlbSAuY2stc3dpdGNoYnV0dG9uLmNrLW9uIHtcblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWxpc3QtYmFja2dyb3VuZCk7XG5cdFx0XHRjb2xvcjogaW5oZXJpdFxuXHRcdH1cblxuLmNrLmNrLWxpc3RfX2l0ZW0gLmNrLXN3aXRjaGJ1dHRvbi5jay1vbjpob3Zlcjpub3QoLmNrLWRpc2FibGVkKSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWxpc3QtYnV0dG9uLWhvdmVyLWJhY2tncm91bmQpO1xuXHRcdFx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHRcdH1cblxuLmNrLmNrLWxpc3RfX3NlcGFyYXRvciB7XG5cdGhlaWdodDogMXB4O1xuXHR3aWR0aDogMTAwJTtcblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xufVxuIiwiLyogQzpcXGxhcmFnb25cXHd3d1xcdHJ1c3RcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdWlcXHRoZW1lXFxjb21wb25lbnRzXFxidXR0b25cXHN3aXRjaGJ1dHRvbi5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stYnV0dG9uLmNrLXN3aXRjaGJ1dHRvbiAuY2stYnV0dG9uX190b2dnbGUge1xuXHRcdGRpc3BsYXk6IGJsb2NrXG5cdH1cblxuLmNrLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b24gLmNrLWJ1dHRvbl9fdG9nZ2xlIC5jay1idXR0b25fX3RvZ2dsZV9faW5uZXIge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXG4vKiBDOlxcbGFyYWdvblxcd3d3XFx0cnVzdFxcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS10aGVtZS1sYXJrXFx0aGVtZVxcY2tlZGl0b3I1LXVpXFxjb21wb25lbnRzXFxidXR0b25cXHN3aXRjaGJ1dHRvbi5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogSW1wbGVtZW50cyByb3VuZGVkIGNvcm5lciBpbnRlcmZhY2UgZm9yIC5jay1yb3VuZGVkLWNvcm5lcnMgY2xhc3MuXG4gKlxuICogQHNlZSAkY2stYm9yZGVyLXJhZGl1c1xuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBBIGNsYXNzIHdoaWNoIGluZGljYXRlcyB0aGF0IGFuIGVsZW1lbnQgaG9sZGluZyBpdCBpcyBkaXNhYmxlZC5cbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qIE5vdGU6IFRvIGF2b2lkIHJlbmRlcmluZyBpc3N1ZXMgKGFsaWFzaW5nKSBidXQgdG8gcHJlc2VydmUgdGhlIHJlc3BvbnNpdmUgbmF0dXJlXG5vZiB0aGUgY29tcG9uZW50LCBmbG9hdGluZ+KAk3BvaW50IG51bWJlcnMgaGF2ZSBiZWVuIHVzZWQgd2hpY2gsIGZvciB0aGUgZGVmYXVsdCBmb250IHNpemVcbihzZWU6IC0tY2stZm9udC1zaXplLWJhc2UpLCB3aWxsIGdlbmVyYXRlIHNpbXBsZSBpbnRlZ2Vycy4gKi9cblxuOnJvb3Qge1xuXHQvKiAzNHB4IGF0IDEzcHggZm9udC1zaXplICovXG5cdC0tY2stc3dpdGNoLWJ1dHRvbi10b2dnbGUtd2lkdGg6IDIuNjE1Mzg0NjE1NGVtO1xuXHQvKiAxNHB4IGF0IDEzcHggZm9udC1zaXplICovXG5cdC0tY2stc3dpdGNoLWJ1dHRvbi10b2dnbGUtaW5uZXItc2l6ZTogMS4wNzY5MjMwNzY5ZW07XG5cdC0tY2stc3dpdGNoLWJ1dHRvbi10b2dnbGUtc3BhY2luZzogMXB4O1xuXHQtLWNrLXN3aXRjaC1idXR0b24tdHJhbnNsYXRpb246IGNhbGMoXG5cdFx0dmFyKC0tY2stc3dpdGNoLWJ1dHRvbi10b2dnbGUtd2lkdGgpIC1cblx0XHR2YXIoLS1jay1zd2l0Y2gtYnV0dG9uLXRvZ2dsZS1pbm5lci1zaXplKSAtXG5cdFx0MiAqIHZhcigtLWNrLXN3aXRjaC1idXR0b24tdG9nZ2xlLXNwYWNpbmcpXG5cdCk7XG59XG5cbltkaXI9XCJsdHJcIl0gLmNrLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b24gLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0LyogU2VwYXJhdGUgdGhlIGxhYmVsIGZyb20gdGhlIHN3aXRjaCAqL1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiBjYWxjKDIgKiB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKSlcblx0fVxuXG5bZGlyPVwicnRsXCJdIC5jay5jay1idXR0b24uY2stc3dpdGNoYnV0dG9uIC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRcdC8qIFNlcGFyYXRlIHRoZSBsYWJlbCBmcm9tIHRoZSBzd2l0Y2ggKi9cblx0XHRcdG1hcmdpbi1sZWZ0OiBjYWxjKDIgKiB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKSlcblx0fVxuXG4uY2suY2stYnV0dG9uLmNrLXN3aXRjaGJ1dHRvbiAuY2stYnV0dG9uX190b2dnbGUge1xuXHRcdGJvcmRlci1yYWRpdXM6IDBcblx0fVxuXG4uY2stcm91bmRlZC1jb3JuZXJzIC5jay5jay1idXR0b24uY2stc3dpdGNoYnV0dG9uIC5jay1idXR0b25fX3RvZ2dsZSwgLmNrLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b24gLmNrLWJ1dHRvbl9fdG9nZ2xlLmNrLXJvdW5kZWQtY29ybmVycyB7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY2stYm9yZGVyLXJhZGl1cylcblx0fVxuXG5bZGlyPVwibHRyXCJdIC5jay5jay1idXR0b24uY2stc3dpdGNoYnV0dG9uIC5jay1idXR0b25fX3RvZ2dsZSB7XG5cdFx0XHQvKiBNYWtlIHN1cmUgdGhlIHRvZ2dsZSBpcyBhbHdheXMgdG8gdGhlIHJpZ2h0IGFzIGZhciBhcyBwb3NzaWJsZS4gKi9cblx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvXG5cdH1cblxuW2Rpcj1cInJ0bFwiXSAuY2suY2stYnV0dG9uLmNrLXN3aXRjaGJ1dHRvbiAuY2stYnV0dG9uX190b2dnbGUge1xuXHRcdFx0LyogTWFrZSBzdXJlIHRoZSB0b2dnbGUgaXMgYWx3YXlzIHRvIHRoZSBsZWZ0IGFzIGZhciBhcyBwb3NzaWJsZS4gKi9cblx0XHRcdG1hcmdpbi1yaWdodDogYXV0b1xuXHR9XG5cbi5jay5jay1idXR0b24uY2stc3dpdGNoYnV0dG9uIC5jay1idXR0b25fX3RvZ2dsZSB7XG5cblx0XHQvKiBHZW50bHkgYW5pbWF0ZSB0aGUgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgdG9nZ2xlIHN3aXRjaCAqL1xuXHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQgNDAwbXMgZWFzZTtcblxuXHRcdHdpZHRoOiB2YXIoLS1jay1zd2l0Y2gtYnV0dG9uLXRvZ2dsZS13aWR0aCk7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3Itc3dpdGNoLWJ1dHRvbi1vZmYtYmFja2dyb3VuZClcblx0fVxuXG4uY2suY2stYnV0dG9uLmNrLXN3aXRjaGJ1dHRvbiAuY2stYnV0dG9uX190b2dnbGUgLmNrLWJ1dHRvbl9fdG9nZ2xlX19pbm5lciB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdH1cblxuLmNrLXJvdW5kZWQtY29ybmVycyAuY2suY2stYnV0dG9uLmNrLXN3aXRjaGJ1dHRvbiAuY2stYnV0dG9uX190b2dnbGUgLmNrLWJ1dHRvbl9fdG9nZ2xlX19pbm5lciwgLmNrLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b24gLmNrLWJ1dHRvbl9fdG9nZ2xlIC5jay1idXR0b25fX3RvZ2dsZV9faW5uZXIuY2stcm91bmRlZC1jb3JuZXJzIHtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1ib3JkZXItcmFkaXVzKTtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogY2FsYyguNSAqIHZhcigtLWNrLWJvcmRlci1yYWRpdXMpKTtcblx0XHR9XG5cbi5jay5jay1idXR0b24uY2stc3dpdGNoYnV0dG9uIC5jay1idXR0b25fX3RvZ2dsZSAuY2stYnV0dG9uX190b2dnbGVfX2lubmVyIHtcblxuXHRcdFx0LyogTGVhdmUgc29tZSB0aW55IGJpdCBvZiBzcGFjZSBhcm91bmQgdGhlIGlubmVyIHBhcnQgb2YgdGhlIHN3aXRjaCAqL1xuXHRcdFx0bWFyZ2luOiB2YXIoLS1jay1zd2l0Y2gtYnV0dG9uLXRvZ2dsZS1zcGFjaW5nKTtcblx0XHRcdHdpZHRoOiB2YXIoLS1jay1zd2l0Y2gtYnV0dG9uLXRvZ2dsZS1pbm5lci1zaXplKTtcblx0XHRcdGhlaWdodDogdmFyKC0tY2stc3dpdGNoLWJ1dHRvbi10b2dnbGUtaW5uZXItc2l6ZSk7XG5cdFx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1zd2l0Y2gtYnV0dG9uLWlubmVyLWJhY2tncm91bmQpO1xuXG5cdFx0XHQvKiBHZW50bHkgYW5pbWF0ZSB0aGUgaW5uZXIgcGFydCBvZiB0aGUgdG9nZ2xlIHN3aXRjaCAqL1xuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7XG5cdFx0fVxuXG4uY2suY2stYnV0dG9uLmNrLXN3aXRjaGJ1dHRvbiAuY2stYnV0dG9uX190b2dnbGU6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3Itc3dpdGNoLWJ1dHRvbi1vZmYtaG92ZXItYmFja2dyb3VuZClcblx0XHR9XG5cbi5jay5jay1idXR0b24uY2stc3dpdGNoYnV0dG9uIC5jay1idXR0b25fX3RvZ2dsZTpob3ZlciAuY2stYnV0dG9uX190b2dnbGVfX2lubmVyIHtcblx0XHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgNXB4IHZhcigtLWNrLWNvbG9yLXN3aXRjaC1idXR0b24taW5uZXItc2hhZG93KTtcblx0XHRcdH1cblxuLmNrLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b24uY2stZGlzYWJsZWQgLmNrLWJ1dHRvbl9fdG9nZ2xlIHtcblx0XHRvcGFjaXR5OiB2YXIoLS1jay1kaXNhYmxlZC1vcGFjaXR5KTtcblx0fVxuXG4uY2suY2stYnV0dG9uLmNrLXN3aXRjaGJ1dHRvbi5jay1vbiAuY2stYnV0dG9uX190b2dnbGUge1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLXN3aXRjaC1idXR0b24tb24tYmFja2dyb3VuZClcblx0fVxuXG4uY2suY2stYnV0dG9uLmNrLXN3aXRjaGJ1dHRvbi5jay1vbiAuY2stYnV0dG9uX190b2dnbGU6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3Itc3dpdGNoLWJ1dHRvbi1vbi1ob3Zlci1iYWNrZ3JvdW5kKTtcblx0XHR9XG5cbi5jay5jay1idXR0b24uY2stc3dpdGNoYnV0dG9uLmNrLW9uIC5jay1idXR0b25fX3RvZ2dsZSAuY2stYnV0dG9uX190b2dnbGVfX2lubmVyIHtcblx0XHRcdC8qXG5cdFx0XHQgKiBNb3ZlIHRoZSB0b2dnbGUgc3dpdGNoIHRvIHRoZSByaWdodC4gSXQgd2lsbCBiZSBhbmltYXRlZC5cblx0XHRcdCAqL1xuXHRcdH1cblxuW2Rpcj1cImx0clwiXSAuY2suY2stYnV0dG9uLmNrLXN3aXRjaGJ1dHRvbi5jay1vbiAuY2stYnV0dG9uX190b2dnbGUgLmNrLWJ1dHRvbl9fdG9nZ2xlX19pbm5lciB7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCggdmFyKCAtLWNrLXN3aXRjaC1idXR0b24tdHJhbnNsYXRpb24gKSApXG5cdFx0fVxuXG5bZGlyPVwicnRsXCJdIC5jay5jay1idXR0b24uY2stc3dpdGNoYnV0dG9uLmNrLW9uIC5jay1idXR0b25fX3RvZ2dsZSAuY2stYnV0dG9uX190b2dnbGVfX2lubmVyIHtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKCBjYWxjKCAtMSAqIHZhciggLS1jay1zd2l0Y2gtYnV0dG9uLXRyYW5zbGF0aW9uICkgKSApXG5cdFx0fVxuIiwiLyogQzpcXGxhcmFnb25cXHd3d1xcdHJ1c3RcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdWlcXHRoZW1lXFxjb21wb25lbnRzXFxkcm9wZG93blxcdG9vbGJhcmRyb3Bkb3duLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay10b29sYmFyLWRyb3Bkb3duIC5jay5jay10b29sYmFyIC5jay5jay10b29sYmFyX19pdGVtcyB7XG5cdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cdH1cblxuLmNrLmNrLXRvb2xiYXItZHJvcGRvd24gLmNrLWRyb3Bkb3duX19wYW5lbCAuY2stYnV0dG9uOmZvY3VzIHtcblx0XHRcdHotaW5kZXg6IGNhbGModmFyKC0tY2stei1kZWZhdWx0KSArIDEpO1xuXHRcdH1cblxuLyogQzpcXGxhcmFnb25cXHd3d1xcdHJ1c3RcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdGhlbWUtbGFya1xcdGhlbWVcXGNrZWRpdG9yNS11aVxcY29tcG9uZW50c1xcZHJvcGRvd25cXHRvb2xiYXJkcm9wZG93bi5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stdG9vbGJhci1kcm9wZG93biAuY2stdG9vbGJhciB7XG5cdGJvcmRlcjogMDtcbn1cbiIsIi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXVpXFx0aGVtZVxcY29tcG9uZW50c1xcZHJvcGRvd25cXGxpc3Rkcm9wZG93bi5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogTm90ZTogVGhpcyBmaWxlIHNob3VsZCBjb250YWluIHRoZSB3aXJlZnJhbWUgc3R5bGVzIG9ubHkuIEJ1dCBzaW5jZSB0aGVyZSBhcmUgbm8gc3VjaCBzdHlsZXMsXG4gKiBpdCBhY3RzIGFzIGEgbWVzc2FnZSB0byB0aGUgYnVpbGRlciB0ZWxsaW5nIHRoYXQgaXQgc2hvdWxkIGxvb2sgZm9yIHRoZSBjb3JyZXNwb25kaW5nIHN0eWxlc1xuICogKippbiB0aGUgdGhlbWUqKiB3aGVuIGNvbXBpbGluZyB0aGUgZWRpdG9yLlxuICovXG5cbi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRoZW1lLWxhcmtcXHRoZW1lXFxja2VkaXRvcjUtdWlcXGNvbXBvbmVudHNcXGRyb3Bkb3duXFxsaXN0ZHJvcGRvd24uY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEltcGxlbWVudHMgcm91bmRlZCBjb3JuZXIgaW50ZXJmYWNlIGZvciAuY2stcm91bmRlZC1jb3JuZXJzIGNsYXNzLlxuICpcbiAqIEBzZWUgJGNrLWJvcmRlci1yYWRpdXNcbiAqL1xuXG4uY2suY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19wYW5lbCAuY2stbGlzdCB7XG5cdC8qIERpc2FibGVkIHJhZGl1cyBvZiB0b3AtbGVmdCBib3JkZXIgdG8gYmUgY29uc2lzdGVudCB3aXRoIC5kcm9wZG93bl9fYnV0dG9uXG5cdGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzgxNiAqL1xuXHRib3JkZXItcmFkaXVzOiAwXG59XG5cbi5jay1yb3VuZGVkLWNvcm5lcnMgLmNrLmNrLWRyb3Bkb3duIC5jay1kcm9wZG93bl9fcGFuZWwgLmNrLWxpc3QsIC5jay5jay1kcm9wZG93biAuY2stZHJvcGRvd25fX3BhbmVsIC5jay1saXN0LmNrLXJvdW5kZWQtY29ybmVycyB7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY2stYm9yZGVyLXJhZGl1cyk7XG5cdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMFxufVxuXG4uY2suY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19wYW5lbCAuY2stbGlzdCB7XG5cblx0LyogTWFrZSBzdXJlIHRoZSBidXR0b24gYmVsb25naW5nIHRvIHRoZSBmaXJzdC9sYXN0IGNoaWxkIG9mIHRoZSBsaXN0IGdvZXMgd2VsbCB3aXRoIHRoZVxuXHRib3JkZXIgcmFkaXVzIG9mIHRoZSBlbnRpcmUgcGFuZWwuICovXG59XG5cbi5jay5jay1kcm9wZG93biAuY2stZHJvcGRvd25fX3BhbmVsIC5jay1saXN0IC5jay1saXN0X19pdGVtOmZpcnN0LWNoaWxkIC5jay1idXR0b24ge1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMFxuXHRcdH1cblxuLmNrLXJvdW5kZWQtY29ybmVycyAuY2suY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19wYW5lbCAuY2stbGlzdCAuY2stbGlzdF9faXRlbTpmaXJzdC1jaGlsZCAuY2stYnV0dG9uLCAuY2suY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19wYW5lbCAuY2stbGlzdCAuY2stbGlzdF9faXRlbTpmaXJzdC1jaGlsZCAuY2stYnV0dG9uLmNrLXJvdW5kZWQtY29ybmVycyB7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY2stYm9yZGVyLXJhZGl1cyk7XG5cdFx0XHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG5cdFx0XHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG5cdFx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwXG5cdFx0fVxuXG4uY2suY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19wYW5lbCAuY2stbGlzdCAuY2stbGlzdF9faXRlbTpsYXN0LWNoaWxkIC5jay1idXR0b24ge1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMFxuXHRcdH1cblxuLmNrLXJvdW5kZWQtY29ybmVycyAuY2suY2stZHJvcGRvd24gLmNrLWRyb3Bkb3duX19wYW5lbCAuY2stbGlzdCAuY2stbGlzdF9faXRlbTpsYXN0LWNoaWxkIC5jay1idXR0b24sIC5jay5jay1kcm9wZG93biAuY2stZHJvcGRvd25fX3BhbmVsIC5jay1saXN0IC5jay1saXN0X19pdGVtOmxhc3QtY2hpbGQgLmNrLWJ1dHRvbi5jay1yb3VuZGVkLWNvcm5lcnMge1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLWNrLWJvcmRlci1yYWRpdXMpO1xuXHRcdFx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuXHRcdFx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMFxuXHRcdH1cbiIsIi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LWVuZ2luZVxcdGhlbWVcXHBsYWNlaG9sZGVyLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qIFNlZSBja2VkaXRvci9ja2VkaXRvcjUjOTM2LiAqL1xuXG4uY2suY2stcGxhY2Vob2xkZXI6OmJlZm9yZSwgLmNrIC5jay1wbGFjZWhvbGRlcjo6YmVmb3JlIHtcblx0XHRjb250ZW50OiBhdHRyKGRhdGEtcGxhY2Vob2xkZXIpO1xuXG5cdFx0LyogU2VlIGNrZWRpdG9yL2NrZWRpdG9yNSM0NjkuICovXG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdH1cblxuLyogU2VlIGNrZWRpdG9yL2NrZWRpdG9yNSMxOTg3LiAqL1xuXG4uY2suY2stcmVhZC1vbmx5IC5jay1wbGFjZWhvbGRlcjo6YmVmb3JlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cbi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRoZW1lLWxhcmtcXHRoZW1lXFxja2VkaXRvcjUtZW5naW5lXFxwbGFjZWhvbGRlci5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKiBTZWUgY2tlZGl0b3IvY2tlZGl0b3I1IzkzNi4gKi9cblxuLmNrLmNrLXBsYWNlaG9sZGVyOjpiZWZvcmUsIC5jayAuY2stcGxhY2Vob2xkZXI6OmJlZm9yZSB7XG5cdFx0Y3Vyc29yOiB0ZXh0O1xuXHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci1lbmdpbmUtcGxhY2Vob2xkZXItdGV4dCk7XG5cdH1cbiIsIi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXVpXFx0aGVtZVxcY29tcG9uZW50c1xcZWRpdG9ydWlcXGVkaXRvcnVpLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBOb3RlOiBUaGlzIGZpbGUgc2hvdWxkIGNvbnRhaW4gdGhlIHdpcmVmcmFtZSBzdHlsZXMgb25seS4gQnV0IHNpbmNlIHRoZXJlIGFyZSBubyBzdWNoIHN0eWxlcyxcbiAqIGl0IGFjdHMgYXMgYSBtZXNzYWdlIHRvIHRoZSBidWlsZGVyIHRlbGxpbmcgdGhhdCBpdCBzaG91bGQgbG9vayBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgc3R5bGVzXG4gKiAqKmluIHRoZSB0aGVtZSoqIHdoZW4gY29tcGlsaW5nIHRoZSBlZGl0b3IuXG4gKi9cblxuLyogQzpcXGxhcmFnb25cXHd3d1xcdHJ1c3RcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdGhlbWUtbGFya1xcdGhlbWVcXGNrZWRpdG9yNS11aVxcY29tcG9uZW50c1xcZWRpdG9ydWlcXGVkaXRvcnVpLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBJbXBsZW1lbnRzIHJvdW5kZWQgY29ybmVyIGludGVyZmFjZSBmb3IgLmNrLXJvdW5kZWQtY29ybmVycyBjbGFzcy5cbiAqXG4gKiBAc2VlICRjay1ib3JkZXItcmFkaXVzXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEEgY2xhc3Mgd2hpY2ggaW5kaWNhdGVzIHRoYXQgYW4gZWxlbWVudCBob2xkaW5nIGl0IGlzIGRpc2FibGVkLlxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBBIGhlbHBlciB0byBjb21iaW5lIG11bHRpcGxlIHNoYWRvd3MuXG4gKi9cblxuLyoqXG4gKiBHaXZlcyBhbiBlbGVtZW50IGEgZHJvcCBzaGFkb3cgc28gaXQgbG9va3MgbGlrZSBhIGZsb2F0aW5nIHBhbmVsLlxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBBIHZpc3VhbCBzdHlsZSBvZiBmb2N1c2VkIGVsZW1lbnQncyBib3JkZXIuXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEltcGxlbWVudHMgYSBidXR0b24gb2YgZ2l2ZW4gYmFja2dyb3VuZCBjb2xvci5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gJGJhY2tncm91bmQgLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4gKiBAcGFyYW0ge1N0cmluZ30gJGJvcmRlciAtIEJvcmRlciBjb2xvciBvZiB0aGUgYnV0dG9uLlxuICovXG5cbjpyb290IHtcblx0LS1jay1jb2xvci1lZGl0YWJsZS1ibHVyLXNlbGVjdGlvbjogaHNsKDAsIDAlLCA4NSUpO1xufVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZTpub3QoLmNrLWVkaXRvcl9fbmVzdGVkLWVkaXRhYmxlKSB7XG5cdGJvcmRlci1yYWRpdXM6IDBcbn1cblxuLmNrLXJvdW5kZWQtY29ybmVycyAuY2suY2stZWRpdG9yX19lZGl0YWJsZTpub3QoLmNrLWVkaXRvcl9fbmVzdGVkLWVkaXRhYmxlKSwgLmNrLmNrLWVkaXRvcl9fZWRpdGFibGU6bm90KC5jay1lZGl0b3JfX25lc3RlZC1lZGl0YWJsZSkuY2stcm91bmRlZC1jb3JuZXJzIHtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1ib3JkZXItcmFkaXVzKVxufVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZTpub3QoLmNrLWVkaXRvcl9fbmVzdGVkLWVkaXRhYmxlKS5jay1mb2N1c2VkIHtcblx0XHQvKiBEaXNhYmxlIG5hdGl2ZSBvdXRsaW5lLiAqL1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0Ym9yZGVyOiB2YXIoLS1jay1mb2N1cy1yaW5nKTtcblx0XHRib3gtc2hhZG93OiB2YXIoLS1jay1pbm5lci1zaGFkb3cpLCAwIDA7XG5cdH1cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lIHtcblx0b3ZlcmZsb3c6IGF1dG87XG5cdHBhZGRpbmc6IDAgdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50XG59XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZVtkaXI9XCJsdHJcIl0ge1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdH1cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lW2Rpcj1cInJ0bFwiXSB7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdH1cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lIHtcblxuXHQvKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LXRoZW1lLWxhcmsvaXNzdWVzLzExNiAqL1xufVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUgPiAqOmZpcnN0LWNoaWxkIHtcblx0XHRtYXJnaW4tdG9wOiB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKTtcblx0fVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUge1xuXG5cdC8qIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUvaXNzdWVzLzg0NyAqL1xufVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUgPiAqOmxhc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1ib3R0b206IHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xuXHR9XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlX2lubGluZSB7XG5cblx0LyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvNjUxNyAqL1xufVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUuY2stYmx1cnJlZCA6OnNlbGVjdGlvbiB7XG5cdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItZWRpdGFibGUtYmx1ci1zZWxlY3Rpb24pO1xuXHR9XG5cbi8qIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtdGhlbWUtbGFyay9pc3N1ZXMvMTExICovXG5cbi5jay5jay1iYWxsb29uLXBhbmVsLmNrLXRvb2xiYXItY29udGFpbmVyW2NsYXNzKj1cImFycm93X25cIl06OmFmdGVyIHtcblx0XHRib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1jay1jb2xvci1iYXNlLWZvcmVncm91bmQpO1xuXHR9XG5cbi5jay5jay1iYWxsb29uLXBhbmVsLmNrLXRvb2xiYXItY29udGFpbmVyW2NsYXNzKj1cImFycm93X3NcIl06OmFmdGVyIHtcblx0XHRib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1jay1jb2xvci1iYXNlLWZvcmVncm91bmQpO1xuXHR9XG4iLCIvKiBDOlxcbGFyYWdvblxcd3d3XFx0cnVzdFxcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS11aVxcdGhlbWVcXGNvbXBvbmVudHNcXGxhYmVsXFxsYWJlbC5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stbGFiZWwge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuLmNrLmNrLXZvaWNlLWxhYmVsIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLyogQzpcXGxhcmFnb25cXHd3d1xcdHJ1c3RcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdGhlbWUtbGFya1xcdGhlbWVcXGNrZWRpdG9yNS11aVxcY29tcG9uZW50c1xcbGFiZWxcXGxhYmVsLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1sYWJlbCB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuIiwiLyogQzpcXGxhcmFnb25cXHd3d1xcdHJ1c3RcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdWlcXHRoZW1lXFxjb21wb25lbnRzXFxwYW5lbFxcc3RpY2t5cGFuZWwuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLXN0aWNreS1wYW5lbCAuY2stc3RpY2t5LXBhbmVsX19jb250ZW50X3N0aWNreSB7XG5cdFx0ei1pbmRleDogdmFyKC0tY2stei1tb2RhbCk7IC8qICMzMTUgKi9cblx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0dG9wOiAwO1xuXHR9XG5cbi5jay5jay1zdGlja3ktcGFuZWwgLmNrLXN0aWNreS1wYW5lbF9fY29udGVudF9zdGlja3lfYm90dG9tLWxpbWl0IHtcblx0XHR0b3A6IGF1dG87XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHR9XG5cbi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRoZW1lLWxhcmtcXHRoZW1lXFxja2VkaXRvcjUtdWlcXGNvbXBvbmVudHNcXHBhbmVsXFxzdGlja3lwYW5lbC5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogQSBoZWxwZXIgdG8gY29tYmluZSBtdWx0aXBsZSBzaGFkb3dzLlxuICovXG5cbi8qKlxuICogR2l2ZXMgYW4gZWxlbWVudCBhIGRyb3Agc2hhZG93IHNvIGl0IGxvb2tzIGxpa2UgYSBmbG9hdGluZyBwYW5lbC5cbiAqL1xuXG4uY2suY2stc3RpY2t5LXBhbmVsIC5jay1zdGlja3ktcGFuZWxfX2NvbnRlbnRfc3RpY2t5IHtcblx0XHRib3gtc2hhZG93OiB2YXIoLS1jay1kcm9wLXNoYWRvdyksIDAgMDtcblxuXHRcdGJvcmRlci13aWR0aDogMCAxcHggMXB4O1xuXHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG5cdFx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG5cdH1cbiIsIi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LWVkaXRvci1jbGFzc2ljXFx0aGVtZVxcY2xhc3NpY2VkaXRvci5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stZWRpdG9yIHtcblx0LyogQWxsIHRoZSBlbGVtZW50cyB3aXRoaW4gYC5jay1lZGl0b3JgIGFyZSBwb3NpdGlvbmVkIHJlbGF0aXZlbHkgdG8gaXQuXG5cdCBJZiBhbnkgZWxlbWVudCBuZWVkcyB0byBiZSBwb3NpdGlvbmVkIHdpdGggcmVzcGVjdCB0byB0aGUgPGJvZHk+LCBldGMuLFxuXHQgaXQgbXVzdCBsYW5kIG91dHNpZGUgb2YgdGhlIGAuY2stZWRpdG9yYCBpbiBET00uICovXG5cdHBvc2l0aW9uOiByZWxhdGl2ZVxufVxuXG4uY2suY2stZWRpdG9yIC5jay1lZGl0b3JfX3RvcCAuY2stc3RpY2t5LXBhbmVsIC5jay10b29sYmFyIHtcblx0XHQvKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LWVkaXRvci1jbGFzc2ljL2lzc3Vlcy82MiAqL1xuXHRcdHotaW5kZXg6IHZhcigtLWNrLXotbW9kYWwpO1xuXHR9XG5cbi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRoZW1lLWxhcmtcXHRoZW1lXFxja2VkaXRvcjUtZWRpdG9yLWNsYXNzaWNcXGNsYXNzaWNlZGl0b3IuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEltcGxlbWVudHMgcm91bmRlZCBjb3JuZXIgaW50ZXJmYWNlIGZvciAuY2stcm91bmRlZC1jb3JuZXJzIGNsYXNzLlxuICpcbiAqIEBzZWUgJGNrLWJvcmRlci1yYWRpdXNcbiAqL1xuXG4uY2suY2stZWRpdG9yX190b3AgLmNrLXN0aWNreS1wYW5lbCAuY2stdG9vbGJhciB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdH1cblxuLmNrLXJvdW5kZWQtY29ybmVycyAuY2suY2stZWRpdG9yX190b3AgLmNrLXN0aWNreS1wYW5lbCAuY2stdG9vbGJhciwgLmNrLmNrLWVkaXRvcl9fdG9wIC5jay1zdGlja3ktcGFuZWwgLmNrLXRvb2xiYXIuY2stcm91bmRlZC1jb3JuZXJzIHtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1ib3JkZXItcmFkaXVzKTtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG5cdFx0fVxuXG4uY2suY2stZWRpdG9yX190b3AgLmNrLXN0aWNreS1wYW5lbCAuY2stdG9vbGJhciB7XG5cblx0XHRcdGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG5cdFx0fVxuXG4uY2suY2stZWRpdG9yX190b3AgLmNrLXN0aWNreS1wYW5lbCAuY2stc3RpY2t5LXBhbmVsX19jb250ZW50X3N0aWNreSAuY2stdG9vbGJhciB7XG5cdFx0XHRib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG5cblx0XHRcdGJvcmRlci1yYWRpdXM6IDBcblx0XHR9XG5cbi5jay1yb3VuZGVkLWNvcm5lcnMgLmNrLmNrLWVkaXRvcl9fdG9wIC5jay1zdGlja3ktcGFuZWwgLmNrLXN0aWNreS1wYW5lbF9fY29udGVudF9zdGlja3kgLmNrLXRvb2xiYXIsIC5jay5jay1lZGl0b3JfX3RvcCAuY2stc3RpY2t5LXBhbmVsIC5jay1zdGlja3ktcGFuZWxfX2NvbnRlbnRfc3RpY2t5IC5jay10b29sYmFyLmNrLXJvdW5kZWQtY29ybmVycyB7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY2stYm9yZGVyLXJhZGl1cyk7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDBcblx0XHR9XG5cbi8qIE5vdGU6IFVzZSBjay1lZGl0b3JfX21haW4gdG8gbWFrZSBzdXJlIHRoZXNlIHN0eWxlcyBkb24ndCBhcHBseSB0byBvdGhlciBlZGl0b3IgdHlwZXMgKi9cblxuLmNrLmNrLWVkaXRvcl9fbWFpbiA+IC5jay1lZGl0b3JfX2VkaXRhYmxlIHtcblx0LyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS10aGVtZS1sYXJrL2lzc3Vlcy8xMTMgKi9cblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKTtcblxuXHRib3JkZXItcmFkaXVzOiAwXG59XG5cbi5jay1yb3VuZGVkLWNvcm5lcnMgLmNrLmNrLWVkaXRvcl9fbWFpbiA+IC5jay1lZGl0b3JfX2VkaXRhYmxlLCAuY2suY2stZWRpdG9yX19tYWluID4gLmNrLWVkaXRvcl9fZWRpdGFibGUuY2stcm91bmRlZC1jb3JuZXJzIHtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1ib3JkZXItcmFkaXVzKTtcblx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuXHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwXG59XG5cbi5jay5jay1lZGl0b3JfX21haW4gPiAuY2stZWRpdG9yX19lZGl0YWJsZTpub3QoLmNrLWZvY3VzZWQpIHtcblx0XHRib3JkZXItY29sb3I6IHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKTtcblx0fVxuIiwiLyogQzpcXGxhcmFnb25cXHd3d1xcdHJ1c3RcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtaGVhZGluZ1xcdGhlbWVcXGhlYWRpbmcuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWhlYWRpbmdfaGVhZGluZzEge1xuXHRmb250LXNpemU6IDIwcHg7XG59XG5cbi5jay5jay1oZWFkaW5nX2hlYWRpbmcyIHtcblx0Zm9udC1zaXplOiAxN3B4O1xufVxuXG4uY2suY2staGVhZGluZ19oZWFkaW5nMyB7XG5cdGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLmNrW2NsYXNzKj1cImNrLWhlYWRpbmdfaGVhZGluZ1wiXSB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBDOlxcbGFyYWdvblxcd3d3XFx0cnVzdFxcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS10aGVtZS1sYXJrXFx0aGVtZVxcY2tlZGl0b3I1LWhlYWRpbmdcXGhlYWRpbmcuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyogUmVzaXplIGRyb3Bkb3duJ3MgYnV0dG9uIGxhYmVsLiAqL1xuXG4uY2suY2stZHJvcGRvd24uY2staGVhZGluZy1kcm9wZG93biAuY2stZHJvcGRvd25fX2J1dHRvbiAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0d2lkdGg6IDhlbTtcblx0fVxuXG4uY2suY2stZHJvcGRvd24uY2staGVhZGluZy1kcm9wZG93biAuY2stZHJvcGRvd25fX3BhbmVsIC5jay1saXN0X19pdGVtIHtcblx0XHRtaW4td2lkdGg6IDE4ZW07XG5cdH1cbiIsIi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LWxpbmtcXHRoZW1lXFxsaW5rLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBOb3RlOiBUaGlzIGZpbGUgc2hvdWxkIGNvbnRhaW4gdGhlIHdpcmVmcmFtZSBzdHlsZXMgb25seS4gQnV0IHNpbmNlIHRoZXJlIGFyZSBubyBzdWNoIHN0eWxlcyxcbiAqIGl0IGFjdHMgYXMgYSBtZXNzYWdlIHRvIHRoZSBidWlsZGVyIHRlbGxpbmcgdGhhdCBpdCBzaG91bGQgbG9vayBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgc3R5bGVzXG4gKiAqKmluIHRoZSB0aGVtZSoqIHdoZW4gY29tcGlsaW5nIHRoZSBlZGl0b3IuXG4gKi9cblxuLyogQzpcXGxhcmFnb25cXHd3d1xcdHJ1c3RcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdGhlbWUtbGFya1xcdGhlbWVcXGNrZWRpdG9yNS1saW5rXFxsaW5rLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qIENsYXNzIGFkZGVkIHRvIHNwYW4gZWxlbWVudCBzdXJyb3VuZGluZyBjdXJyZW50bHkgc2VsZWN0ZWQgbGluay4gKi9cblxuLmNrIC5jay1saW5rX3NlbGVjdGVkIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItbGluay1zZWxlY3RlZC1iYWNrZ3JvdW5kKTtcbn1cblxuLypcbiAqIENsYXNzZXMgdXNlZCBieSB0aGUgXCJmYWtlIHZpc3VhbCBzZWxlY3Rpb25cIiBkaXNwbGF5ZWQgaW4gdGhlIGNvbnRlbnQgd2hlbiBhbiBpbnB1dFxuICogaW4gdGhlIGxpbmsgVUkgaGFzIGZvY3VzICh0aGUgYnJvd3NlciBkb2VzIG5vdCByZW5kZXIgdGhlIG5hdGl2ZSBzZWxlY3Rpb24gaW4gdGhpcyBzdGF0ZSkuXG4gKi9cblxuLmNrIC5jay1mYWtlLWxpbmstc2VsZWN0aW9uIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItbGluay1mYWtlLXNlbGVjdGlvbik7XG59XG5cbi8qIEEgY29sbGFwc2VkIGZha2UgdmlzdWFsIHNlbGVjdGlvbi4gKi9cblxuLmNrIC5jay1mYWtlLWxpbmstc2VsZWN0aW9uX2NvbGxhcHNlZCB7XG5cdGhlaWdodDogMTAwJTtcblx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS10ZXh0KTtcblx0bWFyZ2luLXJpZ2h0OiAtMXB4O1xuXHRvdXRsaW5lOiBzb2xpZCAxcHggaHNsYSgwLCAwJSwgMTAwJSwgLjUpO1xufVxuIiwiLyogQzpcXGxhcmFnb25cXHd3d1xcdHJ1c3RcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdWlcXHRoZW1lXFxjb21wb25lbnRzXFxwYW5lbFxcYmFsbG9vbnJvdGF0b3IuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrIC5jay1iYWxsb29uLXJvdGF0b3JfX25hdmlnYXRpb24ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLyogQnV0dG9ucyBpbnNpZGUgYSB0b29sYmFyIHNob3VsZCBiZSBjZW50ZXJlZCB3aGVuIHJvdGF0b3IgYmFyIGlzIHdpZGVyLlxuICogU2VlOiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LXVpL2lzc3Vlcy80OTVcbiAqL1xuXG4uY2sgLmNrLWJhbGxvb24tcm90YXRvcl9fY29udGVudCAuY2stdG9vbGJhciB7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiBDOlxcbGFyYWdvblxcd3d3XFx0cnVzdFxcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS10aGVtZS1sYXJrXFx0aGVtZVxcY2tlZGl0b3I1LXVpXFxjb21wb25lbnRzXFxwYW5lbFxcYmFsbG9vbnJvdGF0b3IuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrIC5jay1iYWxsb29uLXJvdGF0b3JfX25hdmlnYXRpb24ge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci10b29sYmFyLWJhY2tncm91bmQpO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItdG9vbGJhci1ib3JkZXIpO1xuXHRwYWRkaW5nOiAwIHZhcigtLWNrLXNwYWNpbmctc21hbGwpXG5cblx0LyogTGV0J3Mga2VlcCBzaW1pbGFyIGFwcGVhcmFuY2UgdG8gYGNrLXRvb2xiYXJgLiAqL1xufVxuXG4uY2sgLmNrLWJhbGxvb24tcm90YXRvcl9fbmF2aWdhdGlvbiA+ICoge1xuXHRcdG1hcmdpbi1yaWdodDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdFx0bWFyZ2luLXRvcDogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tY2stc3BhY2luZy1zbWFsbCk7XG5cdH1cblxuLmNrIC5jay1iYWxsb29uLXJvdGF0b3JfX25hdmlnYXRpb24ge1xuXG5cdC8qIEdpdmVzIGNvdW50ZXIgbW9yZSBicmVhdGggdGhhbiBidXR0b25zLiAqL1xufVxuXG4uY2sgLmNrLWJhbGxvb24tcm90YXRvcl9fbmF2aWdhdGlvbiAuY2stYmFsbG9vbi1yb3RhdG9yX19jb3VudGVyIHtcblx0XHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXG5cdFx0LyogV2UgbmVlZCB0byB1c2Ugc21hbGxlciBtYXJnaW4gYmVjYXVzZSBvZiBwcmV2aW91cyBidXR0b24ncyByaWdodCBtYXJnaW4uICovXG5cdFx0bWFyZ2luLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXHR9XG5cbi5jayAuY2stYmFsbG9vbi1yb3RhdG9yX19jb250ZW50IHtcblxuXHQvKiBEaXNhYmxlIGRlZmF1bHQgYW5ub3RhdGlvbiBzaGFkb3cgaW5zaWRlIHJvdGF0b3Igd2l0aCBmYWtlIHBhbmVscy4gKi9cbn1cblxuLmNrIC5jay1iYWxsb29uLXJvdGF0b3JfX2NvbnRlbnQgLmNrLmNrLWFubm90YXRpb24td3JhcHBlciB7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0fVxuIiwiLyogQzpcXGxhcmFnb25cXHd3d1xcdHJ1c3RcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdWlcXHRoZW1lXFxjb21wb25lbnRzXFxwYW5lbFxcZmFrZXBhbmVsLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jayAuY2stZmFrZS1wYW5lbCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuXHQvKiBGYWtlIHBhbmVscyBzaG91bGQgYmUgcGxhY2VkIHVuZGVyIG1haW4gYmFsbG9vbiBjb250ZW50LiAqL1xuXHR6LWluZGV4OiBjYWxjKHZhcigtLWNrLXotbW9kYWwpIC0gMSk7XG59XG5cbi5jayAuY2stZmFrZS1wYW5lbCBkaXYge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5jayAuY2stZmFrZS1wYW5lbCBkaXY6bnRoLWNoaWxkKCAxICkge1xuXHR6LWluZGV4OiAyO1xufVxuXG4uY2sgLmNrLWZha2UtcGFuZWwgZGl2Om50aC1jaGlsZCggMiApIHtcblx0ei1pbmRleDogMTtcbn1cblxuLyogQzpcXGxhcmFnb25cXHd3d1xcdHJ1c3RcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdGhlbWUtbGFya1xcdGhlbWVcXGNrZWRpdG9yNS11aVxcY29tcG9uZW50c1xccGFuZWxcXGZha2VwYW5lbC5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogQSBoZWxwZXIgdG8gY29tYmluZSBtdWx0aXBsZSBzaGFkb3dzLlxuICovXG5cbi8qKlxuICogR2l2ZXMgYW4gZWxlbWVudCBhIGRyb3Agc2hhZG93IHNvIGl0IGxvb2tzIGxpa2UgYSBmbG9hdGluZyBwYW5lbC5cbiAqL1xuXG46cm9vdCB7XG5cdC0tY2stYmFsbG9vbi1mYWtlLXBhbmVsLW9mZnNldC1ob3Jpem9udGFsOiA2cHg7XG5cdC0tY2stYmFsbG9vbi1mYWtlLXBhbmVsLW9mZnNldC12ZXJ0aWNhbDogNnB4O1xufVxuXG4vKiBMZXQncyB1c2UgYC5jay1iYWxsb29uLXBhbmVsYCBhcHBlYXJhbmNlLiBTZWU6IGJhbGxvb25wYW5lbC5jc3MuICovXG5cbi5jayAuY2stZmFrZS1wYW5lbCBkaXYge1xuXHRib3gtc2hhZG93OiB2YXIoLS1jay1kcm9wLXNoYWRvdyksIDAgMDtcblxuXHRtaW4taGVpZ2h0OiAxNXB4O1xuXG5cdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLXBhbmVsLWJhY2tncm91bmQpO1xuXHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1wYW5lbC1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1ib3JkZXItcmFkaXVzKTtcblxuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4uY2sgLmNrLWZha2UtcGFuZWwgZGl2Om50aC1jaGlsZCggMSApIHtcblx0bWFyZ2luLWxlZnQ6IHZhcigtLWNrLWJhbGxvb24tZmFrZS1wYW5lbC1vZmZzZXQtaG9yaXpvbnRhbCk7XG5cdG1hcmdpbi10b3A6IHZhcigtLWNrLWJhbGxvb24tZmFrZS1wYW5lbC1vZmZzZXQtdmVydGljYWwpO1xufVxuXG4uY2sgLmNrLWZha2UtcGFuZWwgZGl2Om50aC1jaGlsZCggMiApIHtcblx0bWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tY2stYmFsbG9vbi1mYWtlLXBhbmVsLW9mZnNldC1ob3Jpem9udGFsKSAqIDIpO1xuXHRtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWNrLWJhbGxvb24tZmFrZS1wYW5lbC1vZmZzZXQtdmVydGljYWwpICogMik7XG59XG5cbi5jayAuY2stZmFrZS1wYW5lbCBkaXY6bnRoLWNoaWxkKCAzICkge1xuXHRtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1jay1iYWxsb29uLWZha2UtcGFuZWwtb2Zmc2V0LWhvcml6b250YWwpICogMyk7XG5cdG1hcmdpbi10b3A6IGNhbGModmFyKC0tY2stYmFsbG9vbi1mYWtlLXBhbmVsLW9mZnNldC12ZXJ0aWNhbCkgKiAzKTtcbn1cblxuLyogSWYgYmFsbG9vbiBpcyBwb3NpdGlvbmVkIGFib3ZlIGVsZW1lbnQsIHdlIG5lZWQgdG8gbW92ZSBmYWtlIHBhbmVsIHRvIHRoZSB0b3AuICovXG5cbi5jayAuY2stYmFsbG9vbi1wYW5lbF9hcnJvd19zICsgLmNrLWZha2UtcGFuZWwsXG4uY2sgLmNrLWJhbGxvb24tcGFuZWxfYXJyb3dfc2UgKyAuY2stZmFrZS1wYW5lbCxcbi5jayAuY2stYmFsbG9vbi1wYW5lbF9hcnJvd19zdyArIC5jay1mYWtlLXBhbmVsIHtcblx0LS1jay1iYWxsb29uLWZha2UtcGFuZWwtb2Zmc2V0LXZlcnRpY2FsOiAtNnB4O1xufVxuIiwiLyogQzpcXGxhcmFnb25cXHd3d1xcdHJ1c3RcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdWlcXHRoZW1lXFxjb21wb25lbnRzXFxsYWJlbGVkZmllbGRcXGxhYmVsZWRmaWVsZHZpZXcuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIE5vdGU6IFRoaXMgZmlsZSBzaG91bGQgY29udGFpbiB0aGUgd2lyZWZyYW1lIHN0eWxlcyBvbmx5LiBCdXQgc2luY2UgdGhlcmUgYXJlIG5vIHN1Y2ggc3R5bGVzLFxuICogaXQgYWN0cyBhcyBhIG1lc3NhZ2UgdG8gdGhlIGJ1aWxkZXIgdGVsbGluZyB0aGF0IGl0IHNob3VsZCBsb29rIGZvciB0aGUgY29ycmVzcG9uZGluZyBzdHlsZXNcbiAqICoqaW4gdGhlIHRoZW1lKiogd2hlbiBjb21waWxpbmcgdGhlIGVkaXRvci5cbiAqL1xuXG4vKiBDOlxcbGFyYWdvblxcd3d3XFx0cnVzdFxcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS10aGVtZS1sYXJrXFx0aGVtZVxcY2tlZGl0b3I1LXVpXFxjb21wb25lbnRzXFxsYWJlbGVkZmllbGRcXGxhYmVsZWRmaWVsZHZpZXcuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWxhYmVsZWQtZmllbGQtdmlldyAuY2stbGFiZWxlZC1maWVsZC12aWV3X19zdGF0dXMge1xuXHRmb250LXNpemU6IHZhcigtLWNrLWZvbnQtc2l6ZS1zbWFsbCk7XG5cdG1hcmdpbi10b3A6IHZhcigtLWNrLXNwYWNpbmctc21hbGwpO1xuXG5cdC8qIExldCB0aGUgaW5mbyB3cmFwIHRvIHRoZSBuZXh0IGxpbmUgdG8gYXZvaWQgc3RyZXRjaGluZyB0aGUgbGF5b3V0IGhvcml6b250YWxseS5cblx0VGhlIHN0YXR1cyBjb3VsZCBiZSB2ZXJ5IGxvbmcuICovXG5cdHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbi5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXcgLmNrLWxhYmVsZWQtZmllbGQtdmlld19fc3RhdHVzX2Vycm9yIHtcblx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLWJhc2UtZXJyb3IpO1xufVxuXG4uY2suY2stbGFiZWxlZC1maWVsZC12aWV3ID4gLmNrLmNrLWxhYmVsIHtcblx0d2lkdGg6IDEwMCU7XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuIiwiLyogQzpcXGxhcmFnb25cXHd3d1xcdHJ1c3RcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdWlcXHRoZW1lXFxjb21wb25lbnRzXFxpbnB1dHRleHRcXGlucHV0dGV4dC5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogTm90ZTogVGhpcyBmaWxlIHNob3VsZCBjb250YWluIHRoZSB3aXJlZnJhbWUgc3R5bGVzIG9ubHkuIEJ1dCBzaW5jZSB0aGVyZSBhcmUgbm8gc3VjaCBzdHlsZXMsXG4gKiBpdCBhY3RzIGFzIGEgbWVzc2FnZSB0byB0aGUgYnVpbGRlciB0ZWxsaW5nIHRoYXQgaXQgc2hvdWxkIGxvb2sgZm9yIHRoZSBjb3JyZXNwb25kaW5nIHN0eWxlc1xuICogKippbiB0aGUgdGhlbWUqKiB3aGVuIGNvbXBpbGluZyB0aGUgZWRpdG9yLlxuICovXG5cbi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRoZW1lLWxhcmtcXHRoZW1lXFxja2VkaXRvcjUtdWlcXGNvbXBvbmVudHNcXGlucHV0dGV4dFxcaW5wdXR0ZXh0LmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBJbXBsZW1lbnRzIHJvdW5kZWQgY29ybmVyIGludGVyZmFjZSBmb3IgLmNrLXJvdW5kZWQtY29ybmVycyBjbGFzcy5cbiAqXG4gKiBAc2VlICRjay1ib3JkZXItcmFkaXVzXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEEgdmlzdWFsIHN0eWxlIG9mIGZvY3VzZWQgZWxlbWVudCdzIGJvcmRlci5cbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogQSBoZWxwZXIgdG8gY29tYmluZSBtdWx0aXBsZSBzaGFkb3dzLlxuICovXG5cbi8qKlxuICogR2l2ZXMgYW4gZWxlbWVudCBhIGRyb3Agc2hhZG93IHNvIGl0IGxvb2tzIGxpa2UgYSBmbG9hdGluZyBwYW5lbC5cbiAqL1xuXG46cm9vdCB7XG5cdC0tY2staW5wdXQtdGV4dC13aWR0aDogMThlbTtcbn1cblxuLmNrLmNrLWlucHV0LXRleHQge1xuXHRib3JkZXItcmFkaXVzOiAwXG59XG5cbi5jay1yb3VuZGVkLWNvcm5lcnMgLmNrLmNrLWlucHV0LXRleHQsIC5jay5jay1pbnB1dC10ZXh0LmNrLXJvdW5kZWQtY29ybmVycyB7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY2stYm9yZGVyLXJhZGl1cylcbn1cblxuLmNrLmNrLWlucHV0LXRleHQge1xuXHRib3gtc2hhZG93OiB2YXIoLS1jay1pbm5lci1zaGFkb3cpLCAwIDA7XG5cblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItaW5wdXQtYmFja2dyb3VuZCk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWlucHV0LWJvcmRlcik7XG5cdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctZXh0cmEtdGlueSkgdmFyKC0tY2stc3BhY2luZy1tZWRpdW0pO1xuXHRtaW4td2lkdGg6IHZhcigtLWNrLWlucHV0LXRleHQtd2lkdGgpO1xuXG5cdC8qIFRoaXMgaXMgaW1wb3J0YW50IHRvIHN0YXkgb2YgdGhlIHNhbWUgaGVpZ2h0IGFzIHN1cnJvdW5kaW5nIGJ1dHRvbnMgKi9cblx0bWluLWhlaWdodDogdmFyKC0tY2stdWktY29tcG9uZW50LW1pbi1oZWlnaHQpO1xuXG5cdC8qIEFwcGx5IHNvbWUgc21vb3RoIHRyYW5zaXRpb24gdG8gdGhlIGJveC1zaGFkb3cgYW5kIGJvcmRlci4gKi9cblx0dHJhbnNpdGlvbjogYm94LXNoYWRvdyAuMnMgZWFzZS1pbi1vdXQsIGJvcmRlciAuMnMgZWFzZS1pbi1vdXRcbn1cblxuLmNrLmNrLWlucHV0LXRleHQ6Zm9jdXMge1xuXHRcdC8qIERpc2FibGUgbmF0aXZlIG91dGxpbmUuICovXG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRib3JkZXI6IHZhcigtLWNrLWZvY3VzLXJpbmcpO1xuXHRcdGJveC1zaGFkb3c6IHZhcigtLWNrLWZvY3VzLW91dGVyLXNoYWRvdyksIHZhcigtLWNrLWlubmVyLXNoYWRvdyk7XG5cdH1cblxuLmNrLmNrLWlucHV0LXRleHRbcmVhZG9ubHldIHtcblx0XHRib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1pbnB1dC1kaXNhYmxlZC1ib3JkZXIpO1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWlucHV0LWRpc2FibGVkLWJhY2tncm91bmQpO1xuXHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci1pbnB1dC1kaXNhYmxlZC10ZXh0KVxuXHR9XG5cbi5jay5jay1pbnB1dC10ZXh0W3JlYWRvbmx5XTpmb2N1cyB7XG5cdFx0XHQvKiBUaGUgcmVhZC1vbmx5IGlucHV0IHNob3VsZCBoYXZlIGEgc2xpZ2h0bHkgbGVzcyB2aXNpYmxlIHNoYWRvdyB3aGVuIGZvY3VzZWQuICovXG5cdFx0XHRib3gtc2hhZG93OiB2YXIoLS1jay1mb2N1cy1kaXNhYmxlZC1vdXRlci1zaGFkb3cpLCB2YXIoLS1jay1pbm5lci1zaGFkb3cpO1xuXHRcdH1cblxuLmNrLmNrLWlucHV0LXRleHQuY2stZXJyb3Ige1xuXHRcdGJvcmRlci1jb2xvcjogdmFyKC0tY2stY29sb3ItaW5wdXQtZXJyb3ItYm9yZGVyKTtcblx0XHRhbmltYXRpb246IGNrLXRleHQtaW5wdXQtc2hha2UgLjNzIGVhc2UgYm90aFxuXHR9XG5cbi5jay5jay1pbnB1dC10ZXh0LmNrLWVycm9yOmZvY3VzIHtcblx0XHRcdGJveC1zaGFkb3c6IHZhcigtLWNrLWZvY3VzLWVycm9yLW91dGVyLXNoYWRvdyksIHZhcigtLWNrLWlubmVyLXNoYWRvdyk7XG5cdFx0fVxuXG5Aa2V5ZnJhbWVzIGNrLXRleHQtaW5wdXQtc2hha2Uge1xuXHQyMCUge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KTtcblx0fVxuXG5cdDQwJSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCk7XG5cdH1cblxuXHQ2MCUge1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXB4KTtcblx0fVxuXG5cdDgwJSB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCk7XG5cdH1cbn1cbiIsIi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LWxpbmtcXHRoZW1lXFxsaW5rZm9ybS5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1saW5rLWZvcm0ge1xuXHRkaXNwbGF5OiBmbGV4XG59XG5cbi5jay5jay1saW5rLWZvcm0gLmNrLWxhYmVsIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG5cbi5jay5jay1saW5rLWZvcm0ge1xuXHRcdGZsZXgtd3JhcDogd3JhcFxufVxuXG5cdFx0LmNrLmNrLWxpbmstZm9ybSAuY2stbGFiZWxlZC1maWVsZC12aWV3IHtcblx0XHRcdGZsZXgtYmFzaXM6IDEwMCU7XG5cdFx0fVxuXG5cdFx0LmNrLmNrLWxpbmstZm9ybSAuY2stYnV0dG9uIHtcblx0XHRcdGZsZXgtYmFzaXM6IDUwJTtcblx0XHR9XG5cdH1cblxuLypcbiAqIFN0eWxlIGxpbmsgZm9ybSBkaWZmZXJlbnRseSB3aGVuIG1hbnVhbCBkZWNvcmF0b3JzIGFyZSBhdmFpbGFibGUuXG4gKiBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtbGluay9pc3N1ZXMvMTg2LlxuICovXG5cbi5jay5jay1saW5rLWZvcm1fbGF5b3V0LXZlcnRpY2FsIHtcblx0ZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRoZW1lLWxhcmtcXHRoZW1lXFxja2VkaXRvcjUtbGlua1xcbGlua2Zvcm0uY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1saW5rLWZvcm0ge1xuXHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKVxufVxuXG4uY2suY2stbGluay1mb3JtOmZvY3VzIHtcblx0XHQvKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LWxpbmsvaXNzdWVzLzkwICovXG5cdFx0b3V0bGluZTogbm9uZTtcblx0fVxuXG5bZGlyPVwibHRyXCJdIC5jay5jay1saW5rLWZvcm0gPiA6bm90KDpmaXJzdC1jaGlsZCkge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdH1cblxuW2Rpcj1cInJ0bFwiXSAuY2suY2stbGluay1mb3JtID4gOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcblxuLmNrLmNrLWxpbmstZm9ybSB7XG5cdFx0cGFkZGluZzogMDtcblx0XHR3aWR0aDogY2FsYyguOCAqIHZhcigtLWNrLWlucHV0LXRleHQtd2lkdGgpKVxufVxuXG5cdFx0LmNrLmNrLWxpbmstZm9ybSAuY2stbGFiZWxlZC1maWVsZC12aWV3IHtcblx0XHRcdG1hcmdpbjogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCkgdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCkgMFxuXHRcdH1cblxuXHRcdFx0LmNrLmNrLWxpbmstZm9ybSAuY2stbGFiZWxlZC1maWVsZC12aWV3IC5jay1pbnB1dC10ZXh0IHtcblx0XHRcdFx0bWluLXdpZHRoOiAwO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblxuXHRcdC5jay5jay1saW5rLWZvcm0gLmNrLWJ1dHRvbiB7XG5cdFx0XHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0XHRcdG1hcmdpbi10b3A6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXG5cdFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKVxuXHRcdH1cblxuXHRcdFtkaXI9XCJsdHJcIl0gLmNrLmNrLWxpbmstZm9ybSAuY2stYnV0dG9uIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDBcblx0XHR9XG5cblx0XHRcdFx0W2Rpcj1cImx0clwiXSAuY2suY2stbGluay1mb3JtIC5jay1idXR0b246Zmlyc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHRcdFx0XHR9XG5cblx0XHRbZGlyPVwicnRsXCJdIC5jay5jay1saW5rLWZvcm0gLmNrLWJ1dHRvbiB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAwXG5cdFx0fVxuXG5cdFx0XHRcdFtkaXI9XCJydGxcIl0gLmNrLmNrLWxpbmstZm9ybSAuY2stYnV0dG9uOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHRcdFx0XHR9XG5cdH1cblxuLypcbiAqIFN0eWxlIGxpbmsgZm9ybSBkaWZmZXJlbnRseSB3aGVuIG1hbnVhbCBkZWNvcmF0b3JzIGFyZSBhdmFpbGFibGUuXG4gKiBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtbGluay9pc3N1ZXMvMTg2LlxuICovXG5cbi5jay5jay1saW5rLWZvcm1fbGF5b3V0LXZlcnRpY2FsIHtcblx0cGFkZGluZzogMDtcblx0bWluLXdpZHRoOiB2YXIoLS1jay1pbnB1dC10ZXh0LXdpZHRoKVxufVxuXG4uY2suY2stbGluay1mb3JtX2xheW91dC12ZXJ0aWNhbCAuY2stbGFiZWxlZC1maWVsZC12aWV3IHtcblx0XHRtYXJnaW46IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpIHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpIHZhcigtLWNrLXNwYWNpbmctc21hbGwpXG5cdH1cblxuLmNrLmNrLWxpbmstZm9ybV9sYXlvdXQtdmVydGljYWwgLmNrLWxhYmVsZWQtZmllbGQtdmlldyAuY2staW5wdXQtdGV4dCB7XG5cdFx0XHRtaW4td2lkdGg6IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cbi5jay5jay1saW5rLWZvcm1fbGF5b3V0LXZlcnRpY2FsIC5jay1idXR0b24ge1xuXHRcdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdG1hcmdpbjogMDtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdGJvcmRlcjogMDtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHRcdHdpZHRoOiA1MCVcblx0fVxuXG5bZGlyPVwibHRyXCJdIC5jay5jay1saW5rLWZvcm1fbGF5b3V0LXZlcnRpY2FsIC5jay1idXR0b24ge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDBcblx0fVxuXG5bZGlyPVwibHRyXCJdIC5jay5jay1saW5rLWZvcm1fbGF5b3V0LXZlcnRpY2FsIC5jay1idXR0b246Zmlyc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKTtcblx0XHRcdH1cblxuW2Rpcj1cInJ0bFwiXSAuY2suY2stbGluay1mb3JtX2xheW91dC12ZXJ0aWNhbCAuY2stYnV0dG9uIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwXG5cdH1cblxuW2Rpcj1cInJ0bFwiXSAuY2suY2stbGluay1mb3JtX2xheW91dC12ZXJ0aWNhbCAuY2stYnV0dG9uOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKTtcblx0XHRcdH1cblxuLmNrLmNrLWxpbmstZm9ybV9sYXlvdXQtdmVydGljYWwge1xuXG5cdC8qIFVzaW5nIGFkZGl0aW9uYWwgYC5ja2AgY2xhc3MgZm9yIHN0cm9uZ2VyIENTUyBzcGVjaWZpY2l0eSB0aGFuIGAuY2suY2stbGluay1mb3JtID4gOm5vdCg6Zmlyc3QtY2hpbGQpYC4gKi9cbn1cblxuLmNrLmNrLWxpbmstZm9ybV9sYXlvdXQtdmVydGljYWwgLmNrLmNrLWxpc3Qge1xuXHRcdG1hcmdpbi1sZWZ0OiAwXG5cdH1cblxuLmNrLmNrLWxpbmstZm9ybV9sYXlvdXQtdmVydGljYWwgLmNrLmNrLWxpc3QgLmNrLWJ1dHRvbi5jay1zd2l0Y2hidXR0b24ge1xuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0d2lkdGg6IDEwMCVcblx0XHR9XG5cbi5jay5jay1saW5rLWZvcm1fbGF5b3V0LXZlcnRpY2FsIC5jay5jay1saXN0IC5jay1idXR0b24uY2stc3dpdGNoYnV0dG9uOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRcdH1cbiIsIi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LWxpbmtcXHRoZW1lXFxsaW5rYWN0aW9ucy5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1saW5rLWFjdGlvbnMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRmbGV4LXdyYXA6IG5vd3JhcFxufVxuXG4uY2suY2stbGluay1hY3Rpb25zIC5jay1saW5rLWFjdGlvbnNfX3ByZXZpZXcge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9ja1xuXHR9XG5cbi5jay5jay1saW5rLWFjdGlvbnMgLmNrLWxpbmstYWN0aW9uc19fcHJldmlldyAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcblxuLmNrLmNrLWxpbmstYWN0aW9ucyB7XG5cdFx0ZmxleC13cmFwOiB3cmFwXG59XG5cblx0XHQuY2suY2stbGluay1hY3Rpb25zIC5jay1saW5rLWFjdGlvbnNfX3ByZXZpZXcge1xuXHRcdFx0ZmxleC1iYXNpczogMTAwJTtcblx0XHR9XG5cblx0XHQuY2suY2stbGluay1hY3Rpb25zIC5jay1idXR0b246bm90KC5jay1saW5rLWFjdGlvbnNfX3ByZXZpZXcpIHtcblx0XHRcdGZsZXgtYmFzaXM6IDUwJTtcblx0XHR9XG5cdH1cblxuLyogQzpcXGxhcmFnb25cXHd3d1xcdHJ1c3RcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdGhlbWUtbGFya1xcdGhlbWVcXGNrZWRpdG9yNS1saW5rXFxsaW5rYWN0aW9ucy5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogRW5hYmxlcyB0aGUgdG9vbHRpcCwgd2hpY2ggaXMgdGhlIHRvb2x0aXAgaXMgaW4gRE9NIGJ1dFxuICogbm90IHlldCBkaXNwbGF5ZWQuXG4gKi9cblxuLyoqXG4gKiBEaXNhYmxlcyB0aGUgdG9vbHRpcCBtYWtpbmcgaXQgZGlzYXBwZWFyIGZyb20gRE9NLlxuICovXG5cbi8qKlxuICogU2hvd3MgdGhlIHRvb2x0aXAsIHdoaWNoIGlzIGFscmVhZHkgaW4gRE9NLlxuICogUmVxdWlyZXMgYGNrLXRvb2x0aXBfZW5hYmxlZGAgZmlyc3QuXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIE1ha2VzIGVsZW1lbnQgdW5zZWxlY3RhYmxlLlxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEEgdmlzdWFsIHN0eWxlIG9mIGZvY3VzZWQgZWxlbWVudCdzIGJvcmRlci5cbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogQSBoZWxwZXIgdG8gY29tYmluZSBtdWx0aXBsZSBzaGFkb3dzLlxuICovXG5cbi8qKlxuICogR2l2ZXMgYW4gZWxlbWVudCBhIGRyb3Agc2hhZG93IHNvIGl0IGxvb2tzIGxpa2UgYSBmbG9hdGluZyBwYW5lbC5cbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1saW5rLWFjdGlvbnMge1xuXHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKVxufVxuXG4uY2suY2stbGluay1hY3Rpb25zIC5jay1idXR0b24uY2stbGluay1hY3Rpb25zX19wcmV2aWV3IHtcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0cGFkZGluZy1yaWdodDogMFxuXHR9XG5cbi5jay5jay1saW5rLWFjdGlvbnMgLmNrLWJ1dHRvbi5jay1saW5rLWFjdGlvbnNfX3ByZXZpZXcgLmNrLWJ1dHRvbl9fbGFiZWwge1xuXHRcdFx0cGFkZGluZzogMCB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cdFx0XHRjb2xvcjogdmFyKC0tY2stY29sb3ItbGluay1kZWZhdWx0KTtcblx0XHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdFx0XHQvKiBNYXRjaCB0aGUgYm94IG1vZGVsIG9mIHRoZSBsaW5rIGVkaXRvciBmb3JtJ3MgaW5wdXQgc28gdGhlIGJhbGxvb25cblx0XHRcdGRvZXMgbm90IGNoYW5nZSB3aWR0aCB3aGVuIG1vdmluZyBiZXR3ZWVuIGFjdGlvbnMgYW5kIHRoZSBmb3JtLiAqL1xuXHRcdFx0bWF4LXdpZHRoOiB2YXIoLS1jay1pbnB1dC10ZXh0LXdpZHRoKTtcblx0XHRcdG1pbi13aWR0aDogM2VtO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyXG5cdFx0fVxuXG4uY2suY2stbGluay1hY3Rpb25zIC5jay1idXR0b24uY2stbGluay1hY3Rpb25zX19wcmV2aWV3IC5jay1idXR0b25fX2xhYmVsOmhvdmVyIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0XHR9XG5cbi5jay5jay1saW5rLWFjdGlvbnMgLmNrLWJ1dHRvbi5jay1saW5rLWFjdGlvbnNfX3ByZXZpZXcsXG5cdFx0LmNrLmNrLWxpbmstYWN0aW9ucyAuY2stYnV0dG9uLmNrLWxpbmstYWN0aW9uc19fcHJldmlldzpob3Zlcixcblx0XHQuY2suY2stbGluay1hY3Rpb25zIC5jay1idXR0b24uY2stbGluay1hY3Rpb25zX19wcmV2aWV3OmZvY3VzLFxuXHRcdC5jay5jay1saW5rLWFjdGlvbnMgLmNrLWJ1dHRvbi5jay1saW5rLWFjdGlvbnNfX3ByZXZpZXc6YWN0aXZlIHtcblx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0fVxuXG4uY2suY2stbGluay1hY3Rpb25zIC5jay1idXR0b24uY2stbGluay1hY3Rpb25zX19wcmV2aWV3OmFjdGl2ZSB7XG5cdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdH1cblxuLmNrLmNrLWxpbmstYWN0aW9ucyAuY2stYnV0dG9uLmNrLWxpbmstYWN0aW9uc19fcHJldmlldzpmb2N1cyAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0fVxuXG4uY2suY2stbGluay1hY3Rpb25zOmZvY3VzIHtcblx0XHQvKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LWxpbmsvaXNzdWVzLzkwICovXG5cdFx0b3V0bGluZTogbm9uZTtcblx0fVxuXG5bZGlyPVwibHRyXCJdIC5jay5jay1saW5rLWFjdGlvbnMgLmNrLWJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG5cdFx0XHRtYXJnaW4tbGVmdDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdFx0fVxuXG5bZGlyPVwicnRsXCJdIC5jay5jay1saW5rLWFjdGlvbnMgLmNrLWJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0XHR9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG5cbi5jay5jay1saW5rLWFjdGlvbnMge1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0d2lkdGg6IGNhbGMoLjggKiB2YXIoLS1jay1pbnB1dC10ZXh0LXdpZHRoKSlcbn1cblxuXHRcdC5jay5jay1saW5rLWFjdGlvbnMgLmNrLWJ1dHRvbi5jay1saW5rLWFjdGlvbnNfX3ByZXZpZXcge1xuXHRcdFx0bWFyZ2luOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKSB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKSAwXG5cdFx0fVxuXG5cdFx0XHQuY2suY2stbGluay1hY3Rpb25zIC5jay1idXR0b24uY2stbGluay1hY3Rpb25zX19wcmV2aWV3IC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRcdFx0bWluLXdpZHRoOiAwO1xuXHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cblx0XHQuY2suY2stbGluay1hY3Rpb25zIC5jay1idXR0b246bm90KC5jay1saW5rLWFjdGlvbnNfX3ByZXZpZXcpIHtcblx0XHRcdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdFx0bWFyZ2luLXRvcDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0XHRib3JkZXI6IDA7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpXG5cdFx0fVxuXG5cdFx0W2Rpcj1cImx0clwiXSAuY2suY2stbGluay1hY3Rpb25zIC5jay1idXR0b246bm90KC5jay1saW5rLWFjdGlvbnNfX3ByZXZpZXcpIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDBcblx0XHR9XG5cblx0XHRcdFx0W2Rpcj1cImx0clwiXSAuY2suY2stbGluay1hY3Rpb25zIC5jay1idXR0b246bm90KC5jay1saW5rLWFjdGlvbnNfX3ByZXZpZXcpOmZpcnN0LW9mLXR5cGUge1xuXHRcdFx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKTtcblx0XHRcdFx0fVxuXG5cdFx0W2Rpcj1cInJ0bFwiXSAuY2suY2stbGluay1hY3Rpb25zIC5jay1idXR0b246bm90KC5jay1saW5rLWFjdGlvbnNfX3ByZXZpZXcpIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDBcblx0XHR9XG5cblx0XHRcdFx0W2Rpcj1cInJ0bFwiXSAuY2suY2stbGluay1hY3Rpb25zIC5jay1idXR0b246bm90KC5jay1saW5rLWFjdGlvbnNfX3ByZXZpZXcpOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHRcdFx0XHR9XG5cdH1cbiIsIi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LWltYWdlXFx0aGVtZVxcdGV4dGFsdGVybmF0aXZlZm9ybS5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay10ZXh0LWFsdGVybmF0aXZlLWZvcm0ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRmbGV4LXdyYXA6IG5vd3JhcFxufVxuXG4uY2suY2stdGV4dC1hbHRlcm5hdGl2ZS1mb3JtIC5jay1sYWJlbGVkLWZpZWxkLXZpZXcge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0fVxuXG4uY2suY2stdGV4dC1hbHRlcm5hdGl2ZS1mb3JtIC5jay1sYWJlbCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xuXG4uY2suY2stdGV4dC1hbHRlcm5hdGl2ZS1mb3JtIHtcblx0XHRmbGV4LXdyYXA6IHdyYXBcbn1cblxuXHRcdC5jay5jay10ZXh0LWFsdGVybmF0aXZlLWZvcm0gLmNrLWxhYmVsZWQtZmllbGQtdmlldyB7XG5cdFx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHRcdH1cblxuXHRcdC5jay5jay10ZXh0LWFsdGVybmF0aXZlLWZvcm0gLmNrLWJ1dHRvbiB7XG5cdFx0XHRmbGV4LWJhc2lzOiA1MCU7XG5cdFx0fVxuXHR9XG5cbi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRoZW1lLWxhcmtcXHRoZW1lXFxja2VkaXRvcjUtaW1hZ2VcXHRleHRhbHRlcm5hdGl2ZWZvcm0uY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay10ZXh0LWFsdGVybmF0aXZlLWZvcm0ge1xuXHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKVxufVxuXG4uY2suY2stdGV4dC1hbHRlcm5hdGl2ZS1mb3JtOmZvY3VzIHtcblx0XHQvKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LWxpbmsvaXNzdWVzLzkwICovXG5cdFx0b3V0bGluZTogbm9uZTtcblx0fVxuXG5bZGlyPVwibHRyXCJdIC5jay5jay10ZXh0LWFsdGVybmF0aXZlLWZvcm0gPiA6bm90KDpmaXJzdC1jaGlsZCkge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdH1cblxuW2Rpcj1cInJ0bFwiXSAuY2suY2stdGV4dC1hbHRlcm5hdGl2ZS1mb3JtID4gOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcblxuLmNrLmNrLXRleHQtYWx0ZXJuYXRpdmUtZm9ybSB7XG5cdFx0cGFkZGluZzogMDtcblx0XHR3aWR0aDogY2FsYyguOCAqIHZhcigtLWNrLWlucHV0LXRleHQtd2lkdGgpKVxufVxuXG5cdFx0LmNrLmNrLXRleHQtYWx0ZXJuYXRpdmUtZm9ybSAuY2stbGFiZWxlZC1maWVsZC12aWV3IHtcblx0XHRcdG1hcmdpbjogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCkgdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCkgMFxuXHRcdH1cblxuXHRcdFx0LmNrLmNrLXRleHQtYWx0ZXJuYXRpdmUtZm9ybSAuY2stbGFiZWxlZC1maWVsZC12aWV3IC5jay1pbnB1dC10ZXh0IHtcblx0XHRcdFx0bWluLXdpZHRoOiAwO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblxuXHRcdC5jay5jay10ZXh0LWFsdGVybmF0aXZlLWZvcm0gLmNrLWJ1dHRvbiB7XG5cdFx0XHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblx0XHRcdG1hcmdpbi10b3A6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXG5cdFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKVxuXHRcdH1cblxuXHRcdFtkaXI9XCJsdHJcIl0gLmNrLmNrLXRleHQtYWx0ZXJuYXRpdmUtZm9ybSAuY2stYnV0dG9uIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDBcblx0XHR9XG5cblx0XHRcdFx0W2Rpcj1cImx0clwiXSAuY2suY2stdGV4dC1hbHRlcm5hdGl2ZS1mb3JtIC5jay1idXR0b246Zmlyc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHRcdFx0XHR9XG5cblx0XHRbZGlyPVwicnRsXCJdIC5jay5jay10ZXh0LWFsdGVybmF0aXZlLWZvcm0gLmNrLWJ1dHRvbiB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAwXG5cdFx0fVxuXG5cdFx0XHRcdFtkaXI9XCJydGxcIl0gLmNrLmNrLXRleHQtYWx0ZXJuYXRpdmUtZm9ybSAuY2stYnV0dG9uOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHRcdFx0XHR9XG5cdH1cbiIsIi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LWltYWdlXFx0aGVtZVxcaW1hZ2UuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLWNvbnRlbnQgLmltYWdlIHtcblx0ZGlzcGxheTogdGFibGU7XG5cdGNsZWFyOiBib3RoO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0LyogTWFrZSBzdXJlIHRoZXJlIGlzIHNvbWUgc3BhY2UgYmV0d2VlbiB0aGUgY29udGVudCBhbmQgdGhlIGltYWdlLiBDZW50ZXIgaW1hZ2UgYnkgZGVmYXVsdC4gKi9cblx0bWFyZ2luOiAxZW0gYXV0b1xufVxuXG4uY2stY29udGVudCAuaW1hZ2UgaW1nIHtcblx0XHQvKiBQcmV2ZW50IHVubmVjZXNzYXJ5IG1hcmdpbnMgY2F1c2VkIGJ5IGxpbmUtaGVpZ2h0IChzZWUgIzQ0KS4gKi9cblx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdC8qIENlbnRlciB0aGUgaW1hZ2UgaWYgaXRzIHdpZHRoIGlzIHNtYWxsZXIgdGhhbiB0aGUgY29udGVudCdzIHdpZHRoLiAqL1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXG5cdFx0LyogTWFrZSBzdXJlIHRoZSBpbWFnZSBuZXZlciBleGNlZWRzIHRoZSBzaXplIG9mIHRoZSBwYXJlbnQgY29udGFpbmVyIChja2VkaXRvci9ja2VkaXRvcjUtdWkjNjcpLiAqL1xuXHRcdG1heC13aWR0aDogMTAwJTtcblxuXHRcdC8qIE1ha2Ugc3VyZSB0aGUgY2FwdGlvbiB3aWxsIGJlIGRpc3BsYXllZCBwcm9wZXJseSAoU2VlOiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy8xODcwKS4gKi9cblx0XHRtaW4td2lkdGg6IDUwcHg7XG5cdH1cbiIsIi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LWltYWdlXFx0aGVtZVxcaW1hZ2VjYXB0aW9uLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay1jb250ZW50IC5pbWFnZSA+IGZpZ2NhcHRpb24ge1xuXHRkaXNwbGF5OiB0YWJsZS1jYXB0aW9uO1xuXHRjYXB0aW9uLXNpZGU6IGJvdHRvbTtcblx0d29yZC1icmVhazogYnJlYWstd29yZDtcblx0Y29sb3I6IGhzbCgwLCAwJSwgMjAlKTtcblx0YmFja2dyb3VuZC1jb2xvcjogaHNsKDAsIDAlLCA5NyUpO1xuXHRwYWRkaW5nOiAuNmVtO1xuXHRmb250LXNpemU6IC43NWVtO1xuXHRvdXRsaW5lLW9mZnNldDogLTFweDtcbn1cbiIsIi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LWltYWdlXFx0aGVtZVxcaW1hZ2VzdHlsZS5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG46cm9vdCB7XG5cdC0tY2staW1hZ2Utc3R5bGUtc3BhY2luZzogMS41ZW07XG59XG5cbi5jay1jb250ZW50IC5pbWFnZS1zdHlsZS1zaWRlIHtcblx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0bWFyZ2luLWxlZnQ6IHZhcigtLWNrLWltYWdlLXN0eWxlLXNwYWNpbmcpO1xuXHRcdG1heC13aWR0aDogNTAlO1xuXHR9XG5cbi5jay1jb250ZW50IC5pbWFnZS1zdHlsZS1hbGlnbi1sZWZ0IHtcblx0XHRmbG9hdDogbGVmdDtcblx0XHRtYXJnaW4tcmlnaHQ6IHZhcigtLWNrLWltYWdlLXN0eWxlLXNwYWNpbmcpO1xuXHR9XG5cbi5jay1jb250ZW50IC5pbWFnZS1zdHlsZS1hbGlnbi1jZW50ZXIge1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0fVxuXG4uY2stY29udGVudCAuaW1hZ2Utc3R5bGUtYWxpZ24tcmlnaHQge1xuXHRcdGZsb2F0OiByaWdodDtcblx0XHRtYXJnaW4tbGVmdDogdmFyKC0tY2staW1hZ2Utc3R5bGUtc3BhY2luZyk7XG5cdH1cbiIsIi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXdpZGdldFxcdGhlbWVcXHdpZGdldHJlc2l6ZS5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2sgLmNrLXdpZGdldF93aXRoLXJlc2l6ZXIge1xuXHQvKiBNYWtlIHRoZSB3aWRnZXQgd3JhcHBlciBhIHJlbGF0aXZlIHBvc2l0aW9uaW5nIGNvbnRhaW5lciBmb3IgdGhlIGRyYWcgaGFuZGxlLiAqL1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jayAuY2std2lkZ2V0X19yZXNpemVyIHtcblx0ZGlzcGxheTogbm9uZTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXG5cdC8qIFRoZSB3cmFwcGVyIGl0c2VsZiBzaG91bGQgbm90IGludGVyZmVyZSB3aXRoIHRoZSBwb2ludGVyIGRldmljZSwgb25seSB0aGUgaGFuZGxlcyBzaG91bGQuICovXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG5cdGxlZnQ6IDA7XG5cdHRvcDogMDtcblxuXHRvdXRsaW5lOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItcmVzaXplcik7XG59XG5cbi5jay1mb2N1c2VkIC5jay13aWRnZXRfd2l0aC1yZXNpemVyLmNrLXdpZGdldF9zZWxlY3RlZCA+IC5jay13aWRnZXRfX3Jlc2l6ZXIge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cbi5jayAuY2std2lkZ2V0X19yZXNpemVyX19oYW5kbGUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cblx0LyogUmVzaXplcnMgYXJlIHRoZSBvbmx5IFVJIGVsZW1lbnRzIHRoYXQgc2hvdWxkIGludGVyZmVyZSB3aXRoIGEgcG9pbnRlciBkZXZpY2UuICovXG5cdHBvaW50ZXItZXZlbnRzOiBhbGw7XG5cblx0d2lkdGg6IHZhcigtLWNrLXJlc2l6ZXItc2l6ZSk7XG5cdGhlaWdodDogdmFyKC0tY2stcmVzaXplci1zaXplKTtcblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItZm9jdXMtYm9yZGVyKTtcblx0Ym9yZGVyOiB2YXIoLS1jay1yZXNpemVyLWJvcmRlci13aWR0aCkgc29saWQgaHNsKDAsIDAlLCAxMDAlKTtcblx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY2stcmVzaXplci1ib3JkZXItcmFkaXVzKVxufVxuXG4uY2sgLmNrLXdpZGdldF9fcmVzaXplcl9faGFuZGxlLmNrLXdpZGdldF9fcmVzaXplcl9faGFuZGxlLXRvcC1sZWZ0IHtcblx0XHR0b3A6IHZhciggLS1jay1yZXNpemVyLW9mZnNldCApO1xuXHRcdGxlZnQ6IHZhciggLS1jay1yZXNpemVyLW9mZnNldCApO1xuXHRcdGN1cnNvcjogbndzZS1yZXNpemU7XG5cdH1cblxuLmNrIC5jay13aWRnZXRfX3Jlc2l6ZXJfX2hhbmRsZS5jay13aWRnZXRfX3Jlc2l6ZXJfX2hhbmRsZS10b3AtcmlnaHQge1xuXHRcdHRvcDogdmFyKCAtLWNrLXJlc2l6ZXItb2Zmc2V0ICk7XG5cdFx0cmlnaHQ6IHZhciggLS1jay1yZXNpemVyLW9mZnNldCApO1xuXHRcdGN1cnNvcjogbmVzdy1yZXNpemU7XG5cdH1cblxuLmNrIC5jay13aWRnZXRfX3Jlc2l6ZXJfX2hhbmRsZS5jay13aWRnZXRfX3Jlc2l6ZXJfX2hhbmRsZS1ib3R0b20tcmlnaHQge1xuXHRcdGJvdHRvbTogdmFyKCAtLWNrLXJlc2l6ZXItb2Zmc2V0ICk7XG5cdFx0cmlnaHQ6IHZhciggLS1jay1yZXNpemVyLW9mZnNldCApO1xuXHRcdGN1cnNvcjogbndzZS1yZXNpemU7XG5cdH1cblxuLmNrIC5jay13aWRnZXRfX3Jlc2l6ZXJfX2hhbmRsZS5jay13aWRnZXRfX3Jlc2l6ZXJfX2hhbmRsZS1ib3R0b20tbGVmdCB7XG5cdFx0Ym90dG9tOiB2YXIoIC0tY2stcmVzaXplci1vZmZzZXQgKTtcblx0XHRsZWZ0OiB2YXIoIC0tY2stcmVzaXplci1vZmZzZXQgKTtcblx0XHRjdXJzb3I6IG5lc3ctcmVzaXplO1xuXHR9XG4iLCIvKiBDOlxcbGFyYWdvblxcd3d3XFx0cnVzdFxcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS1pbWFnZVxcdGhlbWVcXGltYWdlcmVzaXplLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay1jb250ZW50IC5pbWFnZS5pbWFnZV9yZXNpemVkIHtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHQvKlxuXHRUaGUgYDxmaWd1cmU+YCBlbGVtZW50IGZvciByZXNpemVkIGltYWdlcyBtdXN0IG5vdCB1c2UgYGRpc3BsYXk6dGFibGVgIGFzIGJyb3dzZXJzIGRvIG5vdCBzdXBwb3J0IGBtYXgtd2lkdGhgIGZvciBpdCB3ZWxsLlxuXHRTZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNDAxOTYwNC9jaHJvbWUtc2FmYXJpLWlnbm9yaW5nLW1heC13aWR0aC1pbi10YWJsZS8xNDQyMDY5MSMxNDQyMDY5MSBmb3IgbW9yZS5cblx0Rm9ydHVuYXRlbHksIHNpbmNlIHdlIGNvbnRyb2wgdGhlIHdpZHRoLCB0aGVyZSBpcyBubyByaXNrIHRoYXQgdGhlIGltYWdlIHdpbGwgbG9vayBiYWQuXG5cdCovXG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94XG59XG5cbi5jay1jb250ZW50IC5pbWFnZS5pbWFnZV9yZXNpemVkIGltZyB7XG5cdFx0LyogRm9yIHJlc2l6ZWQgaW1hZ2VzIGl0IGlzIHRoZSBgPGZpZ3VyZT5gIGVsZW1lbnQgdGhhdCBkZXRlcm1pbmVzIHRoZSBpbWFnZSB3aWR0aC4gKi9cblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG4uY2stY29udGVudCAuaW1hZ2UuaW1hZ2VfcmVzaXplZCA+IGZpZ2NhcHRpb24ge1xuXHRcdC8qIFRoZSBgPGZpZ3VyZT5gIGVsZW1lbnQgdXNlcyBgZGlzcGxheTpibG9ja2AsIHNvIGA8ZmlnY2FwdGlvbj5gIGFsc28gaGFzIHRvLiAqL1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cbltkaXI9XCJsdHJcIl0gLmNrLmNrLWJ1dHRvbi5jay1idXR0b25fd2l0aC10ZXh0LmNrLXJlc2l6ZS1pbWFnZS1idXR0b24gLmNrLWJ1dHRvbl9faWNvbiB7XG5cdG1hcmdpbi1yaWdodDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG59XG5cbltkaXI9XCJydGxcIl0gLmNrLmNrLWJ1dHRvbi5jay1idXR0b25fd2l0aC10ZXh0LmNrLXJlc2l6ZS1pbWFnZS1idXR0b24gLmNrLWJ1dHRvbl9faWNvbiB7XG5cdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcbn1cblxuLmNrLmNrLWRyb3Bkb3duIC5jay1idXR0b24uY2stcmVzaXplLWltYWdlLWJ1dHRvbiAuY2stYnV0dG9uX19sYWJlbCB7XG5cdHdpZHRoOiA0ZW07XG59XG4iLCIvKiBDOlxcbGFyYWdvblxcd3d3XFx0cnVzdFxcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS1pbWFnZVxcdGhlbWVcXGltYWdldXBsb2FkcHJvZ3Jlc3MuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUgLmltYWdlIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBVcGxvYWQgcHJvZ3Jlc3MgYmFyLiAqL1xuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSAuaW1hZ2UgLmNrLXByb2dyZXNzLWJhciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xufVxuXG4vKiBDOlxcbGFyYWdvblxcd3d3XFx0cnVzdFxcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS10aGVtZS1sYXJrXFx0aGVtZVxcY2tlZGl0b3I1LWltYWdlXFxpbWFnZXVwbG9hZHByb2dyZXNzLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlIC5pbWFnZSB7XG5cdC8qIFNob3dpbmcgYW5pbWF0aW9uLiAqL1xufVxuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSAuaW1hZ2UuY2stYXBwZWFyIHtcblx0XHRhbmltYXRpb246IGZhZGVJbiA3MDBtcztcblx0fVxuXG4vKiBVcGxvYWQgcHJvZ3Jlc3MgYmFyLiAqL1xuXG4uY2suY2stZWRpdG9yX19lZGl0YWJsZSAuaW1hZ2UgLmNrLXByb2dyZXNzLWJhciB7XG5cdGhlaWdodDogMnB4O1xuXHR3aWR0aDogMDtcblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItdXBsb2FkLWJhci1iYWNrZ3JvdW5kKTtcblx0dHJhbnNpdGlvbjogd2lkdGggMTAwbXM7XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcblx0ZnJvbSB7IG9wYWNpdHk6IDA7IH1cblx0dG8gICB7IG9wYWNpdHk6IDE7IH1cbn1cbiIsIi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LWltYWdlXFx0aGVtZVxcaW1hZ2V1cGxvYWRpY29uLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay1pbWFnZS11cGxvYWQtY29tcGxldGUtaWNvbiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMTBweDtcblx0cmlnaHQ6IDEwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDUwJVxufVxuXG4uY2staW1hZ2UtdXBsb2FkLWNvbXBsZXRlLWljb246OmFmdGVyIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0fVxuXG4vKiBDOlxcbGFyYWdvblxcd3d3XFx0cnVzdFxcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS10aGVtZS1sYXJrXFx0aGVtZVxcY2tlZGl0b3I1LWltYWdlXFxpbWFnZXVwbG9hZGljb24uY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLWNvbG9yLWltYWdlLXVwbG9hZC1pY29uOiBoc2woMCwgMCUsIDEwMCUpO1xuXHQtLWNrLWNvbG9yLWltYWdlLXVwbG9hZC1pY29uLWJhY2tncm91bmQ6IGhzbCgxMjAsIDEwMCUsIDI3JSk7XG5cblx0LS1jay1pbWFnZS11cGxvYWQtaWNvbi1zaXplOiAyMHB4O1xuXHQtLWNrLWltYWdlLXVwbG9hZC1pY29uLXdpZHRoOiAycHg7XG59XG5cbi5jay1pbWFnZS11cGxvYWQtY29tcGxldGUtaWNvbiB7XG5cdHdpZHRoOiB2YXIoLS1jay1pbWFnZS11cGxvYWQtaWNvbi1zaXplKTtcblx0aGVpZ2h0OiB2YXIoLS1jay1pbWFnZS11cGxvYWQtaWNvbi1zaXplKTtcblx0b3BhY2l0eTogMDtcblx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItaW1hZ2UtdXBsb2FkLWljb24tYmFja2dyb3VuZCk7XG5cdGFuaW1hdGlvbi1uYW1lOiBjay11cGxvYWQtY29tcGxldGUtaWNvbi1zaG93LCBjay11cGxvYWQtY29tcGxldGUtaWNvbi1oaWRlO1xuXHRhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcywgZm9yd2FyZHM7XG5cdGFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXMsIDUwMG1zO1xuXG5cdC8qIFRvIG1ha2UgYW5pbWF0aW9uIHNjYWxhYmxlLiAqL1xuXHRmb250LXNpemU6IHZhcigtLWNrLWltYWdlLXVwbG9hZC1pY29uLXNpemUpO1xuXG5cdC8qIEhpZGUgY29tcGxldGVkIHVwbG9hZCBpY29uIGFmdGVyIDMgc2Vjb25kcy4gKi9cblx0YW5pbWF0aW9uLWRlbGF5OiAwbXMsIDMwMDBtc1xuXG5cdC8qIFRoaXMgaXMgY2hlY2sgaWNvbiBlbGVtZW50IG1hZGUgZnJvbSBib3JkZXItd2lkdGggbWl4ZWQgd2l0aCBhbmltYXRpb25zLiAqL1xufVxuXG4uY2staW1hZ2UtdXBsb2FkLWNvbXBsZXRlLWljb246OmFmdGVyIHtcblx0XHQvKiBCZWNhdXNlIG9mIGJvcmRlciB0cmFuc2Zvcm1hdGlvbiB3ZSBuZWVkIHRvIFwiaGFyZCBjb2RlXCIgbGVmdCBwb3NpdGlvbi4gKi9cblx0XHRsZWZ0OiAyNSU7XG5cblx0XHR0b3A6IDUwJTtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdGhlaWdodDogMDtcblx0XHR3aWR0aDogMDtcblxuXHRcdHRyYW5zZm9ybTogc2NhbGVYKC0xKSByb3RhdGUoMTM1ZGVnKTtcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcblx0XHRib3JkZXItdG9wOiB2YXIoLS1jay1pbWFnZS11cGxvYWQtaWNvbi13aWR0aCkgc29saWQgdmFyKC0tY2stY29sb3ItaW1hZ2UtdXBsb2FkLWljb24pO1xuXHRcdGJvcmRlci1yaWdodDogdmFyKC0tY2staW1hZ2UtdXBsb2FkLWljb24td2lkdGgpIHNvbGlkIHZhcigtLWNrLWNvbG9yLWltYWdlLXVwbG9hZC1pY29uKTtcblxuXHRcdGFuaW1hdGlvbi1uYW1lOiBjay11cGxvYWQtY29tcGxldGUtaWNvbi1jaGVjaztcblx0XHRhbmltYXRpb24tZHVyYXRpb246IDUwMG1zO1xuXHRcdGFuaW1hdGlvbi1kZWxheTogNTAwbXM7XG5cdFx0YW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG5cblx0XHQvKiAjMTA5NS4gV2hpbGUgcmVzZXQgaXMgbm90IHByb3ZpZGluZyBwcm9wZXIgYm94LXNpemluZyBmb3IgcHNldWRvZWxlbWVudHMsIHdlIG5lZWQgdG8gaGFuZGxlIGl0LiAqL1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdH1cblxuQGtleWZyYW1lcyBjay11cGxvYWQtY29tcGxldGUtaWNvbi1zaG93IHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXG5cdHRvIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgY2stdXBsb2FkLWNvbXBsZXRlLWljb24taGlkZSB7XG5cdGZyb20ge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblxuXHR0byB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxufVxuXG5Aa2V5ZnJhbWVzIGNrLXVwbG9hZC1jb21wbGV0ZS1pY29uLWNoZWNrIHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0d2lkdGg6IDA7XG5cdFx0aGVpZ2h0OiAwO1xuXHR9XG5cdDMzJSB7XG5cdFx0d2lkdGg6IDAuM2VtO1xuXHRcdGhlaWdodDogMDtcblx0fVxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHdpZHRoOiAwLjNlbTtcblx0XHRoZWlnaHQ6IDAuNDVlbTtcblx0fVxufVxuIiwiLyogQzpcXGxhcmFnb25cXHd3d1xcdHJ1c3RcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtaW1hZ2VcXHRoZW1lXFxpbWFnZXVwbG9hZGxvYWRlci5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2sgLmNrLXVwbG9hZC1wbGFjZWhvbGRlci1sb2FkZXIge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDBcbn1cblxuLmNrIC5jay11cGxvYWQtcGxhY2Vob2xkZXItbG9hZGVyOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0fVxuXG4vKiBDOlxcbGFyYWdvblxcd3d3XFx0cnVzdFxcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS10aGVtZS1sYXJrXFx0aGVtZVxcY2tlZGl0b3I1LWltYWdlXFxpbWFnZXVwbG9hZGxvYWRlci5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG46cm9vdCB7XG5cdC0tY2stY29sb3ItdXBsb2FkLXBsYWNlaG9sZGVyLWxvYWRlcjogaHNsKDAsIDAlLCA3MCUpO1xuXHQtLWNrLXVwbG9hZC1wbGFjZWhvbGRlci1sb2FkZXItc2l6ZTogMzJweDtcbn1cblxuLmNrIC5jay1pbWFnZS11cGxvYWQtcGxhY2Vob2xkZXIge1xuXHQvKiBXZSBuZWVkIHRvIGNvbnRyb2wgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIFNWRyBncmF5IGJhY2tncm91bmQuICovXG5cdHdpZHRoOiAxMDAlO1xuXHRtYXJnaW46IDA7XG59XG5cbi5jayAuY2stdXBsb2FkLXBsYWNlaG9sZGVyLWxvYWRlciB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCVcbn1cblxuLmNrIC5jay11cGxvYWQtcGxhY2Vob2xkZXItbG9hZGVyOjpiZWZvcmUge1xuXHRcdHdpZHRoOiB2YXIoLS1jay11cGxvYWQtcGxhY2Vob2xkZXItbG9hZGVyLXNpemUpO1xuXHRcdGhlaWdodDogdmFyKC0tY2stdXBsb2FkLXBsYWNlaG9sZGVyLWxvYWRlci1zaXplKTtcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0Ym9yZGVyLXRvcDogM3B4IHNvbGlkIHZhcigtLWNrLWNvbG9yLXVwbG9hZC1wbGFjZWhvbGRlci1sb2FkZXIpO1xuXHRcdGJvcmRlci1yaWdodDogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdGFuaW1hdGlvbjogY2stdXBsb2FkLXBsYWNlaG9sZGVyLWxvYWRlciAxcyBsaW5lYXIgaW5maW5pdGU7XG5cdH1cblxuQGtleWZyYW1lcyBjay11cGxvYWQtcGxhY2Vob2xkZXItbG9hZGVyIHtcblx0dG8ge1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKCAzNjBkZWcgKTtcblx0fVxufVxuIiwiLyogQzpcXGxhcmFnb25cXHd3d1xcdHJ1c3RcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtbWVkaWEtZW1iZWRcXHRoZW1lXFxtZWRpYWVtYmVkZWRpdGluZy5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogRW5hYmxlcyB0aGUgdG9vbHRpcCwgd2hpY2ggaXMgdGhlIHRvb2x0aXAgaXMgaW4gRE9NIGJ1dFxuICogbm90IHlldCBkaXNwbGF5ZWQuXG4gKi9cblxuLyoqXG4gKiBEaXNhYmxlcyB0aGUgdG9vbHRpcCBtYWtpbmcgaXQgZGlzYXBwZWFyIGZyb20gRE9NLlxuICovXG5cbi8qKlxuICogU2hvd3MgdGhlIHRvb2x0aXAsIHdoaWNoIGlzIGFscmVhZHkgaW4gRE9NLlxuICogUmVxdWlyZXMgYGNrLXRvb2x0aXBfZW5hYmxlZGAgZmlyc3QuXG4gKi9cblxuLmNrLW1lZGlhX193cmFwcGVyIC5jay1tZWRpYV9fcGxhY2Vob2xkZXIge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyXG5cdH1cblxuLmNrLW1lZGlhX193cmFwcGVyIC5jay1tZWRpYV9fcGxhY2Vob2xkZXIgLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9fdXJsIC5jay10b29sdGlwIHtcblx0XHRkaXNwbGF5OiBibG9ja1xuXG5cdFx0Lypcblx0XHQgKiBEb24ndCBkaXNwbGF5IHRvb2x0aXBzIGluIGRldmljZXMgd2hpY2ggZG9uJ3Qgc3VwcG9ydCA6aG92ZXIuXG5cdFx0ICogSW4gZmFjdCwgaXQncyBhbGwgYWJvdXQgaU9TLCB3aGljaCBmb3JjZXMgdXNlciB0byBjbGljayBVSSBlbGVtZW50cyB0d2ljZSB0byBleGVjdXRlXG5cdFx0ICogdGhlIHByaW1hcnkgYWN0aW9uLCB3aGVuIHRvb2x0aXBzIGFyZSBlbmFibGVkLlxuXHRcdCAqXG5cdFx0ICogUTogT0ssIGJ1dCB3aHkgbm90IHRoZSBmb2xsb3dpbmcgcXVlcnk/XG5cdFx0ICpcblx0XHQgKiAgIEBtZWRpYSAoaG92ZXIpIHtcblx0XHQgKiAgICAgICBkaXNwbGF5OiBibG9jaztcblx0XHQgKiAgIH1cblx0XHQgKlxuXHRcdCAqIEE6IEJlY2F1c2UgRkYgZG9lcyBub3Qgc3VwcG9ydCBpdCBhbmQgaXQgd291bGQgY29tcGxldGVseSBkaXNhYmxlIHRvb2x0aXBzXG5cdFx0ICogaW4gdGhhdCBicm93c2VyLlxuXHRcdCAqXG5cdFx0ICogTW9yZSBpbiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy85MjAuXG5cdFx0ICovXG5cdH1cblxuQG1lZGlhIChob3Zlcjpub25lKSB7XG5cbi5jay1tZWRpYV9fd3JhcHBlciAuY2stbWVkaWFfX3BsYWNlaG9sZGVyIC5jay1tZWRpYV9fcGxhY2Vob2xkZXJfX3VybCAuY2stdG9vbHRpcCB7XG5cdFx0XHRkaXNwbGF5OiBub25lXG5cdH1cblx0XHR9XG5cbi5jay1tZWRpYV9fd3JhcHBlciAuY2stbWVkaWFfX3BsYWNlaG9sZGVyIC5jay1tZWRpYV9fcGxhY2Vob2xkZXJfX3VybCB7XG5cblx0XHRcdC8qIE90aGVyd2lzZSB0aGUgVVJMIHdpbGwgb3ZlcmZsb3cgd2hlbiB0aGUgY29udGVudCBpcyB2ZXJ5IG5hcnJvdy4gKi9cblx0XHRcdG1heC13aWR0aDogMTAwJTtcblxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlXG5cdFx0fVxuXG4uY2stbWVkaWFfX3dyYXBwZXIgLmNrLW1lZGlhX19wbGFjZWhvbGRlciAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX191cmw6aG92ZXIgLmNrLXRvb2x0aXAge1xuXHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxuXG4uY2stbWVkaWFfX3dyYXBwZXIgLmNrLW1lZGlhX19wbGFjZWhvbGRlciAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX191cmwgLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9fdXJsX190ZXh0IHtcblx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR9XG5cbi5jay1tZWRpYV9fd3JhcHBlcltkYXRhLW9lbWJlZC11cmwqPVwidHdpdHRlci5jb21cIl0gLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9faWNvbiAqLCAuY2stbWVkaWFfX3dyYXBwZXJbZGF0YS1vZW1iZWQtdXJsKj1cImdvb2dsZS5jb20vbWFwc1wiXSAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX19pY29uICosIC5jay1tZWRpYV9fd3JhcHBlcltkYXRhLW9lbWJlZC11cmwqPVwiZmFjZWJvb2suY29tXCJdIC5jay1tZWRpYV9fcGxhY2Vob2xkZXJfX2ljb24gKiwgLmNrLW1lZGlhX193cmFwcGVyW2RhdGEtb2VtYmVkLXVybCo9XCJpbnN0YWdyYW0uY29tXCJdIC5jay1tZWRpYV9fcGxhY2Vob2xkZXJfX2ljb24gKiB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuLyogRGlzYWJsZSBhbGwgbW91c2UgaW50ZXJhY3Rpb24gYXMgbG9uZyBhcyB0aGUgZWRpdG9yIGlzIG5vdCByZWFk4oCTb25seS5cbiAgIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtbWVkaWEtZW1iZWQvaXNzdWVzLzU4ICovXG5cbi5jay1lZGl0b3JfX2VkaXRhYmxlOm5vdCguY2stcmVhZC1vbmx5KSAuY2stbWVkaWFfX3dyYXBwZXIgPiAqOm5vdCguY2stbWVkaWFfX3BsYWNlaG9sZGVyKSB7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKiBEaXNhYmxlIGFsbCBtb3VzZSBpbnRlcmFjdGlvbiB3aGVuIHRoZSB3aWRnZXQgaXMgbm90IHNlbGVjdGVkIChlLmcuIHRvIGF2b2lkIG9wZW5pbmcgbGlua3MgYnkgYWNjaWRlbnQpLlxuICAgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS1tZWRpYS1lbWJlZC9pc3N1ZXMvMTggKi9cblxuLmNrLWVkaXRvcl9fZWRpdGFibGU6bm90KC5jay1yZWFkLW9ubHkpIC5jay13aWRnZXQ6bm90KC5jay13aWRnZXRfc2VsZWN0ZWQpIC5jay1tZWRpYV9fcGxhY2Vob2xkZXIge1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogQzpcXGxhcmFnb25cXHd3d1xcdHJ1c3RcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdGhlbWUtbGFya1xcdGhlbWVcXGNrZWRpdG9yNS1tZWRpYS1lbWJlZFxcbWVkaWFlbWJlZGVkaXRpbmcuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLW1lZGlhLWVtYmVkLXBsYWNlaG9sZGVyLWljb24tc2l6ZTogM2VtO1xuXG5cdC0tY2stY29sb3ItbWVkaWEtZW1iZWQtcGxhY2Vob2xkZXItdXJsLXRleHQ6IGhzbCgwLCAwJSwgNDYlKTtcblx0LS1jay1jb2xvci1tZWRpYS1lbWJlZC1wbGFjZWhvbGRlci11cmwtdGV4dC1ob3ZlcjogdmFyKC0tY2stY29sb3ItYmFzZS10ZXh0KTtcbn1cblxuLmNrLW1lZGlhX193cmFwcGVyIHtcblx0bWFyZ2luOiAwIGF1dG9cbn1cblxuLmNrLW1lZGlhX193cmFwcGVyIC5jay1tZWRpYV9fcGxhY2Vob2xkZXIge1xuXHRcdHBhZGRpbmc6IGNhbGMoIDMgKiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKSApO1xuXHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWJhc2UtZm9yZWdyb3VuZClcblx0fVxuXG4uY2stbWVkaWFfX3dyYXBwZXIgLmNrLW1lZGlhX19wbGFjZWhvbGRlciAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX19pY29uIHtcblx0XHRcdG1pbi13aWR0aDogdmFyKC0tY2stbWVkaWEtZW1iZWQtcGxhY2Vob2xkZXItaWNvbi1zaXplKTtcblx0XHRcdGhlaWdodDogdmFyKC0tY2stbWVkaWEtZW1iZWQtcGxhY2Vob2xkZXItaWNvbi1zaXplKTtcblx0XHRcdG1hcmdpbi1ib3R0b206IHZhcigtLWNrLXNwYWNpbmctbGFyZ2UpO1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb3ZlclxuXHRcdH1cblxuLmNrLW1lZGlhX193cmFwcGVyIC5jay1tZWRpYV9fcGxhY2Vob2xkZXIgLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9faWNvbiAuY2staWNvbiB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHR9XG5cbi5jay1tZWRpYV9fd3JhcHBlciAuY2stbWVkaWFfX3BsYWNlaG9sZGVyIC5jay1tZWRpYV9fcGxhY2Vob2xkZXJfX3VybF9fdGV4dCB7XG5cdFx0XHRjb2xvcjogdmFyKC0tY2stY29sb3ItbWVkaWEtZW1iZWQtcGxhY2Vob2xkZXItdXJsLXRleHQpO1xuXHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzXG5cdFx0fVxuXG4uY2stbWVkaWFfX3dyYXBwZXIgLmNrLW1lZGlhX19wbGFjZWhvbGRlciAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX191cmxfX3RleHQ6aG92ZXIge1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tY2stY29sb3ItbWVkaWEtZW1iZWQtcGxhY2Vob2xkZXItdXJsLXRleHQtaG92ZXIpO1xuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0fVxuXG4uY2stbWVkaWFfX3dyYXBwZXJbZGF0YS1vZW1iZWQtdXJsKj1cIm9wZW4uc3BvdGlmeS5jb21cIl0ge1xuXHRcdG1heC13aWR0aDogMzAwcHg7XG5cdFx0bWF4LWhlaWdodDogMzgwcHg7XG5cdH1cblxuLmNrLW1lZGlhX193cmFwcGVyW2RhdGEtb2VtYmVkLXVybCo9XCJnb29nbGUuY29tL21hcHNcIl0gLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9faWNvbiB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeU5UQXVNemM0SWlCb1pXbG5hSFE5SWpJMU5DNHhOamNpSUhacFpYZENiM2c5SWpBZ01DQTJOaTR5TkRZZ05qY3VNalE0SWo0OFp5QjBjbUZ1YzJadmNtMDlJblJ5WVc1emJHRjBaU2d0TVRjeUxqVXpNU0F0TWpFNExqUTFOU2tnYzJOaGJHVW9Mams0TURFeUtTSStQSEpsWTNRZ2NuazlJalV1TWpNNElpQnllRDBpTlM0eU16Z2lJSGs5SWpJek1TNHpPVGtpSUhnOUlqRTNOaTR3TXpFaUlHaGxhV2RvZEQwaU5qQXVNRGs1SWlCM2FXUjBhRDBpTmpBdU1EazVJaUJtYVd4c1BTSWpNelJoTmpZNElpQndZV2x1ZEMxdmNtUmxjajBpYldGeWEyVnljeUJ6ZEhKdmEyVWdabWxzYkNJdlBqeHdZWFJvSUdROUlrMHlNRFl1TkRjM0lESTJNQzQ1YkMweU9DNDVPRGNnTWpndU9UZzNZVFV1TWpFNElEVXVNakU0SURBZ01DQXdJRE11TnpnZ01TNDJNV2cwT1M0Mk1qRmpNUzQyT1RRZ01DQXpMakU1TFM0M09UZ2dOQzR4TkRZdE1pNHdNemQ2SWlCbWFXeHNQU0lqTldNNE9HTTFJaTgrUEhCaGRHZ2daRDBpVFRJeU5pNDNORElnTWpJeUxqazRPR010T1M0eU5qWWdNQzB4Tmk0M056Y2dOeTR4TnkweE5pNDNOemNnTVRZdU1ERTBMakF3TnlBeUxqYzJNaTQyTmpNZ05TNDBOelFnTWk0d09UTWdOeTQ0TnpVdU5ETXVOekF6TGpneklERXVOREE0SURFdU1Ua2dNaTR4TURjdU16TXpMalV3TWk0Mk5TQXhMakF3TlM0NU5TQXhMalV3T0M0ek5ETXVORGMzTGpZM015NDVOVGN1T1RnNElERXVORFFnTVM0ek1TQXhMamMyT1NBeUxqVWdNeTQxTURJZ015NDJNemNnTlM0eE5qZ3VOemt6SURFdU1qYzFJREV1TmpneklESXVOalFnTWk0ME5qWWdNeTQ1T1NBeUxqTTJNeUEwTGpBNU5DQTBMakF3TnlBNExqQTVNaUEwTGpZZ01UTXVPVEUwZGk0d01USmpMakU0TWk0ME1USXVOVEUyTGpZMk5pNDROemt1TmpZM0xqUXdNeTB1TURBeExqYzJPQzB1TXpFMExqa3pMUzQzT1RrdU5qQXpMVFV1TnpVMklESXVNak00TFRrdU56STVJRFF1TlRnMUxURXpMamM1TkM0M09ESXRNUzR6TlNBeExqWTNNeTB5TGpjeE5TQXlMalEyTlMwekxqazVJREV1TVRNM0xURXVOalkySURJdU16STRMVE11TkNBekxqWXpPQzAxTGpFMk9TNHpNVFV0TGpRNE1pNDJORFV0TGprMk1pNDVPRGd0TVM0ME16a3VNeTB1TlRBekxqWXhOeTB4TGpBd05pNDVOUzB4TGpVd09DNHpOVGt0TGpjdU56WXRNUzQwTURRZ01TNHhPUzB5TGpFd055QXhMalF5TmkweUxqUXdNaUF5TFRVdU1URTBJREl1TURBMExUY3VPRGMxSURBdE9DNDRORFF0Tnk0MU1URXRNVFl1TURFMExURTJMamMzTmkweE5pNHdNVFI2SWlCbWFXeHNQU0lqWkdRMFlqTmxJaUJ3WVdsdWRDMXZjbVJsY2owaWJXRnlhMlZ5Y3lCemRISnZhMlVnWm1sc2JDSXZQanhsYkd4cGNITmxJSEo1UFNJMUxqVTJOQ0lnY25nOUlqVXVPREk0SWlCamVUMGlNak01TGpBd01pSWdZM2c5SWpJeU5pNDNORElpSUdacGJHdzlJaU00TURKa01qY2lJSEJoYVc1MExXOXlaR1Z5UFNKdFlYSnJaWEp6SUhOMGNtOXJaU0JtYVd4c0lpOCtQSEJoZEdnZ1pEMGlUVEU1TUM0ek1ERWdNak0zTGpJNE0yTXROQzQyTnlBd0xUZ3VORFUzSURNdU9EVXpMVGd1TkRVM0lEZ3VOakEyY3pNdU56ZzJJRGd1TmpBM0lEZ3VORFUzSURndU5qQTNZek11TURReklEQWdOQzQ0TURZdExqazFPQ0EyTGpNek55MHlMalV4TmlBeExqVXpMVEV1TlRVM0lESXVNRGczTFRNdU9URXpJREl1TURnM0xUWXVNamtnTUMwdU16WXlMUzR3TWpNdExqY3lNaTB1TURZMExURXVNRGM1YUMwNExqSTFOM1l6TGpBME0yZzBMamcxWXkwdU1UazNMamMxT1MwdU5UTXhJREV1TkRVdE1TNHdOVGdnTVM0NU9EWXRMamswTWk0NU5UZ3RNaTR3TWpnZ01TNDFORGd0TXk0NU1ERWdNUzQxTkRndE1pNDROellnTUMwMUxqSXdPQzB5TGpNM01pMDFMakl3T0MwMUxqSTVPU0F3TFRJdU9USTJJREl1TXpNeUxUVXVNams1SURVdU1qQTRMVFV1TWprNUlERXVNems1SURBZ01pNDJNVGd1TkRBM0lETXVOVGcwSURFdU1qa3piREl1TXpneExUSXVNemhqTUMwdU1EQXlMUzR3TURNdExqQXdOQzB1TURBMExTNHdNRFV0TVM0MU9EZ3RNUzQxTWpRdE15NDJNaTB5TGpJeE5TMDFMamsxTlMweUxqSXhOWHB0TkM0ME15QTFMalkyYkM0d01ETXVNREEyZGkwdU1EQXplaUlnWm1sc2JEMGlJMlptWmlJZ2NHRnBiblF0YjNKa1pYSTlJbTFoY210bGNuTWdjM1J5YjJ0bElHWnBiR3dpTHo0OGNHRjBhQ0JrUFNKTk1qRTFMakU0TkNBeU5URXVPVEk1YkMwM0xqazRJRGN1T1RjNUlESTRMalEzTnlBeU9DNDBOelZqTGpJNE55MHVOalE1TGpRME9TMHhMak0yTmk0ME5Ea3RNaTR4TWpOMkxUTXhMakUyTldNdExqUTJPUzQyTnpVdExqa3pOQ0F4TGpNME9TMHhMak00TWlBeUxqQXdOUzB1TnpreUlERXVNamMxTFRFdU5qZ3lJREl1TmpRdE1pNDBOalVnTXk0NU9TMHlMak0wTnlBMExqQTJOUzB6TGprNE1pQTRMakF6T0MwMExqVTROU0F4TXk0M09UUXRMakUyTWk0ME9EVXRMalV5Tnk0M09UZ3RMamt6TGpjNU9TMHVNell6TFM0d01ERXRMalk1TnkwdU1qVTFMUzQ0TnprdExqWTJOM1l0TGpBeE1tTXRMalU1TXkwMUxqZ3lNaTB5TGpJek55MDVMamd5TFRRdU5pMHhNeTQ1TVRRdExqYzRNeTB4TGpNMUxURXVOamN6TFRJdU56RTFMVEl1TkRZMkxUTXVPVGt0TVM0eE16Y3RNUzQyTmpZdE1pNHpNamN0TXk0MExUTXVOak0zTFRVdU1UWTViQzB1TURBeUxTNHdNRE42SWlCbWFXeHNQU0lqWXpOak0yTXpJaTgrUEhCaGRHZ2daRDBpVFRJeE1pNDVPRE1nTWpRNExqUTVOV3d0TXpZdU9UVXlJRE0yTGprMU0zWXVPREV5WVRVdU1qSTNJRFV1TWpJM0lEQWdNQ0F3SURVdU1qTTRJRFV1TWpNNGFERXVNREUxYkRNMUxqWTJOaTB6TlM0Mk5qWmhNVE0yTGpJM05TQXhNell1TWpjMUlEQWdNQ0F3TFRJdU56WTBMVE11T1NBek55NDFOelVnTXpjdU5UYzFJREFnTUNBd0xTNDVPRGt0TVM0ME5HTXRMakk1T1MwdU5UQXpMUzQyTVRZdE1TNHdNRFl0TGprMUxURXVOVEE0TFM0d09ETXRMakUyTWkwdU1UYzJMUzR6TWpZdExqSTJOQzB1TkRnNWVpSWdabWxzYkQwaUkyWmtaR00wWmlJZ2NHRnBiblF0YjNKa1pYSTlJbTFoY210bGNuTWdjM1J5YjJ0bElHWnBiR3dpTHo0OGNHRjBhQ0JrUFNKTk1qRXhMams1T0NBeU5qRXVNRGd6YkMwMkxqRTFNaUEyTGpFMU1TQXlOQzR5TmpRZ01qUXVNalkwYUM0M09ERmhOUzR5TWpjZ05TNHlNamNnTUNBd0lEQWdOUzR5TXprdE5TNHlNemgyTFRFdU1EUTFlaUlnWm1sc2JEMGlJMlptWmlJZ2NHRnBiblF0YjNKa1pYSTlJbTFoY210bGNuTWdjM1J5YjJ0bElHWnBiR3dpTHo0OEwyYytQQzl6ZG1jKyk7XG5cdH1cblxuLmNrLW1lZGlhX193cmFwcGVyW2RhdGEtb2VtYmVkLXVybCo9XCJmYWNlYm9vay5jb21cIl0gLmNrLW1lZGlhX19wbGFjZWhvbGRlciB7XG5cdFx0YmFja2dyb3VuZDogaHNsKDIyMCwgNDYlLCA0OCUpXG5cdH1cblxuLmNrLW1lZGlhX193cmFwcGVyW2RhdGEtb2VtYmVkLXVybCo9XCJmYWNlYm9vay5jb21cIl0gLmNrLW1lZGlhX19wbGFjZWhvbGRlciAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX19pY29uIHtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlWVlJHTFRnaVB6NDhjM1puSUhkcFpIUm9QU0l4TURJMGNIZ2lJR2hsYVdkb2REMGlNVEF5TkhCNElpQjJhV1YzUW05NFBTSXdJREFnTVRBeU5DQXhNREkwSWlCMlpYSnphVzl1UFNJeExqRWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdlRzFzYm5NNmVHeHBibXM5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZlR3hwYm1zaVBpQWdJQ0FnSUNBZ1BIUnBkR3hsUGtacGJHd2dNVHd2ZEdsMGJHVStJQ0FnSUR4a1pYTmpQa055WldGMFpXUWdkMmwwYUNCVGEyVjBZMmd1UEM5a1pYTmpQaUFnSUNBOFpHVm1jejQ4TDJSbFpuTStJQ0FnSUR4bklHbGtQU0pRWVdkbExURWlJSE4wY205clpUMGlibTl1WlNJZ2MzUnliMnRsTFhkcFpIUm9QU0l4SWlCbWFXeHNQU0p1YjI1bElpQm1hV3hzTFhKMWJHVTlJbVYyWlc1dlpHUWlQaUFnSUNBZ0lDQWdQR2NnYVdROUltWk1iMmR2WDFkb2FYUmxJaUJtYVd4c1BTSWpSa1pHUmtaRklqNGdJQ0FnSUNBZ0lDQWdJQ0E4Y0dGMGFDQmtQU0pOT1RZM0xqUTROQ3d3SUV3MU5pNDFNVGNzTUNCRE1qVXVNekEwTERBZ01Dd3lOUzR6TURRZ01DdzFOaTQxTVRjZ1REQXNPVFkzTGpRNE15QkRNQ3c1T1RndU5qazBJREkxTGpJNU55d3hNREkwSURVMkxqVXlNaXd4TURJMElFdzFORGNzTVRBeU5DQk1OVFEzTERZeU9DQk1OREUwTERZeU9DQk1OREUwTERRM015Qk1OVFEzTERRM015Qk1OVFEzTERNMU9TNHdNamtnUXpVME55d3lNall1TnpZM0lEWXlOeTQzTnpNc01UVTBMamMwTnlBM05EVXVOelUyTERFMU5DNDNORGNnUXpnd01pNHlOamtzTVRVMExqYzBOeUE0TlRBdU9EUXlMREUxT0M0NU5UVWdPRFkxTERFMk1DNDRNellnVERnMk5Td3lPVGtnVERjNE15NHpPRFFzTWprNUxqQXpOeUJETnpFNUxqTTVNU3d5T1RrdU1ETTNJRGN3Tnl3ek1qa3VOVEk1SURjd055d3pOelF1TWpjeklFdzNNRGNzTkRjeklFdzROakF1TkRnM0xEUTNNeUJNT0RRd0xqVXdNU3cyTWpnZ1REY3dOeXcyTWpnZ1REY3dOeXd4TURJMElFdzVOamN1TkRnMExERXdNalFnUXprNU9DNDJPVGNzTVRBeU5DQXhNREkwTERrNU9DNDJPVGNnTVRBeU5DdzVOamN1TkRnMElFd3hNREkwTERVMkxqVXhOU0JETVRBeU5Dd3lOUzR6TURNZ09UazRMalk1Tnl3d0lEazJOeTQwT0RRc01DSWdhV1E5SWtacGJHd3RNU0krUEM5d1lYUm9QaUFnSUNBZ0lDQWdQQzluUGlBZ0lDQThMMmMrUEM5emRtYyspO1xuXHRcdH1cblxuLmNrLW1lZGlhX193cmFwcGVyW2RhdGEtb2VtYmVkLXVybCo9XCJmYWNlYm9vay5jb21cIl0gLmNrLW1lZGlhX19wbGFjZWhvbGRlciAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX191cmxfX3RleHQge1xuXHRcdFx0Y29sb3I6IGhzbCgyMjAsIDEwMCUsIDkwJSlcblx0XHR9XG5cbi5jay1tZWRpYV9fd3JhcHBlcltkYXRhLW9lbWJlZC11cmwqPVwiZmFjZWJvb2suY29tXCJdIC5jay1tZWRpYV9fcGxhY2Vob2xkZXIgLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9fdXJsX190ZXh0OmhvdmVyIHtcblx0XHRcdFx0Y29sb3I6IGhzbCgwLCAwJSwgMTAwJSk7XG5cdFx0XHR9XG5cbi5jay1tZWRpYV9fd3JhcHBlcltkYXRhLW9lbWJlZC11cmwqPVwiaW5zdGFncmFtLmNvbVwiXSAuY2stbWVkaWFfX3BsYWNlaG9sZGVyIHtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTEzNWRlZyxoc2woMjQ2LCAxMDAlLCAzOSUpLGhzbCgzMDIsIDEwMCUsIDM2JSksaHNsKDAsIDEwMCUsIDQ4JSkpXG5cdH1cblxuLmNrLW1lZGlhX193cmFwcGVyW2RhdGEtb2VtYmVkLXVybCo9XCJpbnN0YWdyYW0uY29tXCJdIC5jay1tZWRpYV9fcGxhY2Vob2xkZXIgLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9faWNvbiB7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpVlZSR0xUZ2lQejQ4YzNabklIZHBaSFJvUFNJMU1EUndlQ0lnYUdWcFoyaDBQU0kxTURSd2VDSWdkbWxsZDBKdmVEMGlNQ0F3SURVd05DQTFNRFFpSUhabGNuTnBiMjQ5SWpFdU1TSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklpQjRiV3h1Y3pwNGJHbHVhejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TVRrNU9TOTRiR2x1YXlJK0lDQWdJQ0FnSUNBOGRHbDBiR1UrWjJ4NWNHZ3RiRzluYjE5TllYa3lNREUyUEM5MGFYUnNaVDRnSUNBZ1BHUmxjMk0rUTNKbFlYUmxaQ0IzYVhSb0lGTnJaWFJqYUM0OEwyUmxjMk0rSUNBZ0lEeGtaV1p6UGlBZ0lDQWdJQ0FnUEhCdmJIbG5iMjRnYVdROUluQmhkR2d0TVNJZ2NHOXBiblJ6UFNJd0lEQXVNVFU1SURVd015NDROREVnTUM0eE5Ua2dOVEF6TGpnME1TQTFNRE11T1RRZ01DQTFNRE11T1RRaVBqd3ZjRzlzZVdkdmJqNGdJQ0FnUEM5a1pXWnpQaUFnSUNBOFp5QnBaRDBpWjJ4NWNHZ3RiRzluYjE5TllYa3lNREUySWlCemRISnZhMlU5SW01dmJtVWlJSE4wY205clpTMTNhV1IwYUQwaU1TSWdabWxzYkQwaWJtOXVaU0lnWm1sc2JDMXlkV3hsUFNKbGRtVnViMlJrSWo0Z0lDQWdJQ0FnSUR4bklHbGtQU0pIY205MWNDMHpJajRnSUNBZ0lDQWdJQ0FnSUNBOGJXRnpheUJwWkQwaWJXRnpheTB5SWlCbWFXeHNQU0ozYUdsMFpTSStJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeDFjMlVnZUd4cGJtczZhSEpsWmowaUkzQmhkR2d0TVNJK1BDOTFjMlUrSUNBZ0lDQWdJQ0FnSUNBZ1BDOXRZWE5yUGlBZ0lDQWdJQ0FnSUNBZ0lEeG5JR2xrUFNKRGJHbHdMVElpUGp3dlp6NGdJQ0FnSUNBZ0lDQWdJQ0E4Y0dGMGFDQmtQU0pOTWpVeExqa3lNU3d3TGpFMU9TQkRNVGd6TGpVd015d3dMakUxT1NBeE56UXVPVEkwTERBdU5EUTVJREUwT0M0d05UUXNNUzQyTnpVZ1F6RXlNUzR5TkN3eUxqZzVPQ0F4TURJdU9USTNMRGN1TVRVM0lEZzJMamt3TXl3eE15NHpPRFVnUXpjd0xqTXpOeXd4T1M0NE1qSWdOVFl1TWpnNExESTRMalF6TmlBME1pNHlPRElzTkRJdU5EUXhJRU15T0M0eU56Y3NOVFl1TkRRM0lERTVMalkyTXl3M01DNDBPVFlnTVRNdU1qSTJMRGczTGpBMk1pQkROaTQ1T1Rnc01UQXpMakE0TmlBeUxqY3pPU3d4TWpFdU16azVJREV1TlRFMkxERTBPQzR5TVRNZ1F6QXVNamtzTVRjMUxqQTRNeUF3TERFNE15NDJOaklnTUN3eU5USXVNRGdnUXpBc016SXdMalE1TnlBd0xqSTVMRE15T1M0d056WWdNUzQxTVRZc016VTFMamswTmlCRE1pNDNNemtzTXpneUxqYzJJRFl1T1RrNExEUXdNUzR3TnpNZ01UTXVNakkyTERReE55NHdPVGNnUXpFNUxqWTJNeXcwTXpNdU5qWXpJREk0TGpJM055dzBORGN1TnpFeUlEUXlMakk0TWl3ME5qRXVOekU0SUVNMU5pNHlPRGdzTkRjMUxqY3lNeUEzTUM0ek16Y3NORGcwTGpNek55QTROaTQ1TURNc05Ea3dMamMzTlNCRE1UQXlMamt5Tnl3ME9UY3VNREF5SURFeU1TNHlOQ3cxTURFdU1qWXhJREUwT0M0d05UUXNOVEF5TGpRNE5DQkRNVGMwTGpreU5DdzFNRE11TnpFZ01UZ3pMalV3TXl3MU1EUWdNalV4TGpreU1TdzFNRFFnUXpNeU1DNHpNemdzTlRBMElETXlPQzQ1TVRjc05UQXpMamN4SURNMU5TNDNPRGNzTlRBeUxqUTROQ0JETXpneUxqWXdNU3cxTURFdU1qWXhJRFF3TUM0NU1UUXNORGszTGpBd01pQTBNVFl1T1RNNExEUTVNQzQzTnpVZ1F6UXpNeTQxTURRc05EZzBMak16TnlBME5EY3VOVFV6TERRM05TNDNNak1nTkRZeExqVTFPU3cwTmpFdU56RTRJRU0wTnpVdU5UWTBMRFEwTnk0M01USWdORGcwTGpFM09DdzBNek11TmpZeklEUTVNQzQyTVRZc05ERTNMakE1TnlCRE5EazJMamcwTXl3ME1ERXVNRGN6SURVd01TNHhNRElzTXpneUxqYzJJRFV3TWk0ek1qVXNNelUxTGprME5pQkROVEF6TGpVMU1Td3pNamt1TURjMklEVXdNeTQ0TkRFc016SXdMalE1TnlBMU1ETXVPRFF4TERJMU1pNHdPQ0JETlRBekxqZzBNU3d4T0RNdU5qWXlJRFV3TXk0MU5URXNNVGMxTGpBNE15QTFNREl1TXpJMUxERTBPQzR5TVRNZ1F6VXdNUzR4TURJc01USXhMak01T1NBME9UWXVPRFF6TERFd015NHdPRFlnTkRrd0xqWXhOaXc0Tnk0d05qSWdRelE0TkM0eE56Z3NOekF1TkRrMklEUTNOUzQxTmpRc05UWXVORFEzSURRMk1TNDFOVGtzTkRJdU5EUXhJRU0wTkRjdU5UVXpMREk0TGpRek5pQTBNek11TlRBMExERTVMamd5TWlBME1UWXVPVE00TERFekxqTTROU0JETkRBd0xqa3hOQ3czTGpFMU55QXpPREl1TmpBeExESXVPRGs0SURNMU5TNDNPRGNzTVM0Mk56VWdRek15T0M0NU1UY3NNQzQwTkRrZ016SXdMak16T0N3d0xqRTFPU0F5TlRFdU9USXhMREF1TVRVNUlGb2dUVEkxTVM0NU1qRXNORFV1TlRVZ1F6TXhPUzR4T0RZc05EVXVOVFVnTXpJM0xqRTFOQ3cwTlM0NE1EY2dNelV6TGpjeE9DdzBOeTR3TVRrZ1F6TTNPQzR5T0N3ME9DNHhNemtnTXpreExqWXhPU3cxTWk0eU5ETWdOREF3TGpRNU5pdzFOUzQyT1RNZ1F6UXhNaTR5TlRVc05qQXVNall6SURReU1DNDJORGNzTmpVdU56SXlJRFF5T1M0ME5qSXNOelF1TlRNNElFTTBNemd1TWpjNExEZ3pMak0xTXlBME5ETXVOek0zTERreExqYzBOU0EwTkRndU16QTNMREV3TXk0MU1EUWdRelExTVM0M05UY3NNVEV5TGpNNE1TQTBOVFV1T0RZeExERXlOUzQzTWlBME5UWXVPVGd4TERFMU1DNHlPRElnUXpRMU9DNHhPVE1zTVRjMkxqZzBOaUEwTlRndU5EVXNNVGcwTGpneE5DQTBOVGd1TkRVc01qVXlMakE0SUVNME5UZ3VORFVzTXpFNUxqTTBOU0EwTlRndU1Ua3pMRE15Tnk0ek1UTWdORFUyTGprNE1Td3pOVE11T0RjM0lFTTBOVFV1T0RZeExETTNPQzQwTXprZ05EVXhMamMxTnl3ek9URXVOemM0SURRME9DNHpNRGNzTkRBd0xqWTFOU0JETkRRekxqY3pOeXcwTVRJdU5ERTBJRFF6T0M0eU56Z3NOREl3TGpnd05pQTBNamt1TkRZeUxEUXlPUzQyTWpFZ1F6UXlNQzQyTkRjc05ETTRMalF6TnlBME1USXVNalUxTERRME15NDRPVFlnTkRBd0xqUTVOaXcwTkRndU5EWTJJRU16T1RFdU5qRTVMRFExTVM0NU1UWWdNemM0TGpJNExEUTFOaTR3TWlBek5UTXVOekU0TERRMU55NHhOQ0JETXpJM0xqRTFPQ3cwTlRndU16VXlJRE14T1M0eE9URXNORFU0TGpZd09TQXlOVEV1T1RJeExEUTFPQzQyTURrZ1F6RTROQzQyTlN3ME5UZ3VOakE1SURFM05pNDJPRFFzTkRVNExqTTFNaUF4TlRBdU1USXpMRFExTnk0eE5DQkRNVEkxTGpVMk1TdzBOVFl1TURJZ01URXlMakl5TWl3ME5URXVPVEUySURFd015NHpORFVzTkRRNExqUTJOaUJET1RFdU5UZzJMRFEwTXk0NE9UWWdPRE11TVRrMExEUXpPQzQwTXpjZ056UXVNemM1TERReU9TNDJNakVnUXpZMUxqVTJOQ3cwTWpBdU9EQTJJRFl3TGpFd05DdzBNVEl1TkRFMElEVTFMalV6TkN3ME1EQXVOalUxSUVNMU1pNHdPRFFzTXpreExqYzNPQ0EwTnk0NU9Dd3pOemd1TkRNNUlEUTJMamcyTERNMU15NDROemNnUXpRMUxqWTBPQ3d6TWpjdU16RXpJRFExTGpNNU1Td3pNVGt1TXpRMUlEUTFMak01TVN3eU5USXVNRGdnUXpRMUxqTTVNU3d4T0RRdU9ERTBJRFExTGpZME9Dd3hOell1T0RRMklEUTJMamcyTERFMU1DNHlPRElnUXpRM0xqazRMREV5TlM0M01pQTFNaTR3T0RRc01URXlMak00TVNBMU5TNDFNelFzTVRBekxqVXdOQ0JETmpBdU1UQTBMRGt4TGpjME5TQTJOUzQxTmpNc09ETXVNelV6SURjMExqTTNPU3czTkM0MU16Z2dRemd6TGpFNU5DdzJOUzQzTWpJZ09URXVOVGcyTERZd0xqSTJNeUF4TURNdU16UTFMRFUxTGpZNU15QkRNVEV5TGpJeU1pdzFNaTR5TkRNZ01USTFMalUyTVN3ME9DNHhNemtnTVRVd0xqRXlNeXcwTnk0d01Ua2dRekUzTmk0Mk9EY3NORFV1T0RBM0lERTROQzQyTlRVc05EVXVOVFVnTWpVeExqa3lNU3cwTlM0MU5TQmFJaUJwWkQwaVJtbHNiQzB4SWlCbWFXeHNQU0lqUmtaR1JrWkdJaUJ0WVhOclBTSjFjbXdvSTIxaGMyc3RNaWtpUGp3dmNHRjBhRDRnSUNBZ0lDQWdJRHd2Wno0Z0lDQWdJQ0FnSUR4d1lYUm9JR1E5SWsweU5URXVPVEl4TERNek5pNHdOVE1nUXpJd05TNDFORE1zTXpNMkxqQTFNeUF4TmpjdU9UUTNMREk1T0M0ME5UY2dNVFkzTGprME55d3lOVEl1TURnZ1F6RTJOeTQ1TkRjc01qQTFMamN3TWlBeU1EVXVOVFF6TERFMk9DNHhNRFlnTWpVeExqa3lNU3d4TmpndU1UQTJJRU15T1RndU1qazRMREUyT0M0eE1EWWdNek0xTGpnNU5Dd3lNRFV1TnpBeUlETXpOUzQ0T1RRc01qVXlMakE0SUVNek16VXVPRGswTERJNU9DNDBOVGNnTWprNExqSTVPQ3d6TXpZdU1EVXpJREkxTVM0NU1qRXNNek0yTGpBMU15QmFJRTB5TlRFdU9USXhMREV5TWk0M01UVWdRekU0TUM0ME56UXNNVEl5TGpjeE5TQXhNakl1TlRVMkxERTRNQzQyTXpNZ01USXlMalUxTml3eU5USXVNRGdnUXpFeU1pNDFOVFlzTXpJekxqVXlOaUF4T0RBdU5EYzBMRE00TVM0ME5EUWdNalV4TGpreU1Td3pPREV1TkRRMElFTXpNak11TXpZM0xETTRNUzQwTkRRZ016Z3hMakk0TlN3ek1qTXVOVEkySURNNE1TNHlPRFVzTWpVeUxqQTRJRU16T0RFdU1qZzFMREU0TUM0Mk16TWdNekl6TGpNMk55d3hNakl1TnpFMUlESTFNUzQ1TWpFc01USXlMamN4TlNCYUlpQnBaRDBpUm1sc2JDMDBJaUJtYVd4c1BTSWpSa1pHUmtaR0lqNDhMM0JoZEdnK0lDQWdJQ0FnSUNBOGNHRjBhQ0JrUFNKTk5ERTJMall5Tnl3eE1UY3VOakEwSUVNME1UWXVOakkzTERFek5DNHpJRFF3TXk0d09USXNNVFEzTGpnek5DQXpPRFl1TXprMkxERTBOeTQ0TXpRZ1F6TTJPUzQzTURFc01UUTNMamd6TkNBek5UWXVNVFkyTERFek5DNHpJRE0xTmk0eE5qWXNNVEUzTGpZd05DQkRNelUyTGpFMk5pd3hNREF1T1RBNElETTJPUzQzTURFc09EY3VNemN6SURNNE5pNHpPVFlzT0RjdU16Y3pJRU0wTURNdU1Ea3lMRGczTGpNM015QTBNVFl1TmpJM0xERXdNQzQ1TURnZ05ERTJMall5Tnl3eE1UY3VOakEwSWlCcFpEMGlSbWxzYkMwMUlpQm1hV3hzUFNJalJrWkdSa1pHSWo0OEwzQmhkR2crSUNBZ0lEd3ZaejQ4TDNOMlp6ND0pO1xuXHRcdH1cblxuLmNrLW1lZGlhX193cmFwcGVyW2RhdGEtb2VtYmVkLXVybCo9XCJpbnN0YWdyYW0uY29tXCJdIC5jay1tZWRpYV9fcGxhY2Vob2xkZXIge1xuXG5cdFx0Lyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWRlc2NlbmRpbmctc3BlY2lmaWNpdHkgKi9cblx0fVxuXG4uY2stbWVkaWFfX3dyYXBwZXJbZGF0YS1vZW1iZWQtdXJsKj1cImluc3RhZ3JhbS5jb21cIl0gLmNrLW1lZGlhX19wbGFjZWhvbGRlciAuY2stbWVkaWFfX3BsYWNlaG9sZGVyX191cmxfX3RleHQge1xuXHRcdFx0Y29sb3I6IGhzbCgzMDIsIDEwMCUsIDk0JSlcblx0XHR9XG5cbi5jay1tZWRpYV9fd3JhcHBlcltkYXRhLW9lbWJlZC11cmwqPVwiaW5zdGFncmFtLmNvbVwiXSAuY2stbWVkaWFfX3BsYWNlaG9sZGVyIC5jay1tZWRpYV9fcGxhY2Vob2xkZXJfX3VybF9fdGV4dDpob3ZlciB7XG5cdFx0XHRcdGNvbG9yOiBoc2woMCwgMCUsIDEwMCUpO1xuXHRcdFx0fVxuXG4uY2stbWVkaWFfX3dyYXBwZXJbZGF0YS1vZW1iZWQtdXJsKj1cInR3aXR0ZXIuY29tXCJdIC5jay5jay1tZWRpYV9fcGxhY2Vob2xkZXIge1xuXHRcdC8qIFVzZSBncmFkaWVudCB0byBjb250cmFzdCB3aXRoIGZvY3VzZWQgd2lkZ2V0IChja2VkaXRvci9ja2VkaXRvcjUtbWVkaWEtZW1iZWQjMjIpLiAqL1xuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCggdG8gcmlnaHQsIGhzbCgyMDEsIDg1JSwgNzAlKSwgaHNsKDIwMSwgODUlLCAzNSUpIClcblx0fVxuXG4uY2stbWVkaWFfX3dyYXBwZXJbZGF0YS1vZW1iZWQtdXJsKj1cInR3aXR0ZXIuY29tXCJdIC5jay5jay1tZWRpYV9fcGxhY2Vob2xkZXIgLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9faWNvbiB7XG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejQ4YzNabklIWmxjbk5wYjI0OUlqRXVNU0lnYVdROUlsZG9hWFJsSWlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhodGJHNXpPbmhzYVc1clBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1TDNoc2FXNXJJaUI0UFNJd2NIZ2lJSGs5SWpCd2VDSWdkbWxsZDBKdmVEMGlNQ0F3SURRd01DQTBNREFpSUhOMGVXeGxQU0psYm1GaWJHVXRZbUZqYTJkeWIzVnVaRHB1WlhjZ01DQXdJRFF3TUNBME1EQTdJaUI0Yld3NmMzQmhZMlU5SW5CeVpYTmxjblpsSWo0OGMzUjViR1VnZEhsd1pUMGlkR1Y0ZEM5amMzTWlQaTV6ZERCN1ptbHNiRG9qUmtaR1JrWkdPMzA4TDNOMGVXeGxQanh3WVhSb0lHTnNZWE56UFNKemREQWlJR1E5SWswME1EQXNNakF3WXpBc01URXdMalV0T0RrdU5Td3lNREF0TWpBd0xESXdNRk13TERNeE1DNDFMREFzTWpBd1V6ZzVMalVzTUN3eU1EQXNNRk0wTURBc09Ea3VOU3cwTURBc01qQXdlaUJOTVRZekxqUXNNekExTGpWak9EZ3VOeXd3TERFek55NHlMVGN6TGpVc01UTTNMakl0TVRNM0xqSmpNQzB5TGpFc01DMDBMakl0TUM0eExUWXVNbU01TGpRdE5pNDRMREUzTGpZdE1UVXVNeXd5TkM0eExUSTFZeTA0TGpZc015NDRMVEUzTGprc05pNDBMVEkzTGpjc055NDJZekV3TFRZc01UY3VOaTB4TlM0MExESXhMakl0TWpZdU4yTXRPUzR6TERVdU5TMHhPUzQyTERrdU5TMHpNQzQyTERFeExqZGpMVGd1T0MwNUxqUXRNakV1TXkweE5TNHlMVE0xTGpJdE1UVXVNbU10TWpZdU5pd3dMVFE0TGpJc01qRXVOaTAwT0M0eUxEUTRMakpqTUN3ekxqZ3NNQzQwTERjdU5Td3hMak1zTVRGakxUUXdMakV0TWkwM05TNDJMVEl4TGpJdE9Ua3VOQzAxTUM0MFl5MDBMakVzTnk0eExUWXVOU3d4TlM0MExUWXVOU3d5TkM0eVl6QXNNVFl1Tnl3NExqVXNNekV1TlN3eU1TNDFMRFF3TGpGakxUY3VPUzB3TGpJdE1UVXVNeTB5TGpRdE1qRXVPQzAyWXpBc01DNHlMREFzTUM0MExEQXNNQzQyWXpBc01qTXVOQ3d4Tmk0MkxEUXlMamdzTXpndU55dzBOeTR6WXkwMExERXVNUzA0TGpNc01TNDNMVEV5TGpjc01TNDNZeTB6TGpFc01DMDJMakV0TUM0ekxUa3VNUzB3TGpsak5pNHhMREU1TGpJc01qTXVPU3d6TXk0eExEUTFMRE16TGpWakxURTJMalVzTVRJdU9TMHpOeTR6TERJd0xqWXROVGt1T1N3eU1DNDJZeTB6TGprc01DMDNMamN0TUM0eUxURXhMalV0TUM0M1F6RXhNQzQ0TERJNU55NDFMREV6Tmk0eUxETXdOUzQxTERFMk15NDBMRE13TlM0MUlpOCtQQzl6ZG1jKyk7XG5cdFx0fVxuXG4uY2stbWVkaWFfX3dyYXBwZXJbZGF0YS1vZW1iZWQtdXJsKj1cInR3aXR0ZXIuY29tXCJdIC5jay5jay1tZWRpYV9fcGxhY2Vob2xkZXIgLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9fdXJsX190ZXh0IHtcblx0XHRcdGNvbG9yOiBoc2woMjAxLCAxMDAlLCA4NiUpXG5cdFx0fVxuXG4uY2stbWVkaWFfX3dyYXBwZXJbZGF0YS1vZW1iZWQtdXJsKj1cInR3aXR0ZXIuY29tXCJdIC5jay5jay1tZWRpYV9fcGxhY2Vob2xkZXIgLmNrLW1lZGlhX19wbGFjZWhvbGRlcl9fdXJsX190ZXh0OmhvdmVyIHtcblx0XHRcdFx0Y29sb3I6IGhzbCgwLCAwJSwgMTAwJSk7XG5cdFx0XHR9XG4iLCIvKiBDOlxcbGFyYWdvblxcd3d3XFx0cnVzdFxcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS1tZWRpYS1lbWJlZFxcdGhlbWVcXG1lZGlhZm9ybS5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1tZWRpYS1mb3JtIHtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdGZsZXgtd3JhcDogbm93cmFwXG59XG5cbi5jay5jay1tZWRpYS1mb3JtIC5jay1sYWJlbGVkLWZpZWxkLXZpZXcge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0fVxuXG4uY2suY2stbWVkaWEtZm9ybSAuY2stbGFiZWwge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcblxuLmNrLmNrLW1lZGlhLWZvcm0ge1xuXHRcdGZsZXgtd3JhcDogd3JhcFxufVxuXG5cdFx0LmNrLmNrLW1lZGlhLWZvcm0gLmNrLWxhYmVsZWQtZmllbGQtdmlldyB7XG5cdFx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHRcdH1cblxuXHRcdC5jay5jay1tZWRpYS1mb3JtIC5jay1idXR0b24ge1xuXHRcdFx0ZmxleC1iYXNpczogNTAlO1xuXHRcdH1cblx0fVxuXG4vKiBDOlxcbGFyYWdvblxcd3d3XFx0cnVzdFxcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS10aGVtZS1sYXJrXFx0aGVtZVxcY2tlZGl0b3I1LW1lZGlhLWVtYmVkXFxtZWRpYWZvcm0uY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1tZWRpYS1mb3JtIHtcblx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZClcbn1cblxuLmNrLmNrLW1lZGlhLWZvcm06Zm9jdXMge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdH1cblxuW2Rpcj1cImx0clwiXSAuY2suY2stbWVkaWEtZm9ybSA+IDpub3QoOmZpcnN0LWNoaWxkKSB7XG5cdFx0XHRtYXJnaW4tbGVmdDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdFx0fVxuXG5bZGlyPVwicnRsXCJdIC5jay5jay1tZWRpYS1mb3JtID4gOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcblxuLmNrLmNrLW1lZGlhLWZvcm0ge1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0d2lkdGg6IGNhbGMoLjggKiB2YXIoLS1jay1pbnB1dC10ZXh0LXdpZHRoKSlcbn1cblxuXHRcdC5jay5jay1tZWRpYS1mb3JtIC5jay1sYWJlbGVkLWZpZWxkLXZpZXcge1xuXHRcdFx0bWFyZ2luOiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKSB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKSAwXG5cdFx0fVxuXG5cdFx0XHQuY2suY2stbWVkaWEtZm9ybSAuY2stbGFiZWxlZC1maWVsZC12aWV3IC5jay1pbnB1dC10ZXh0IHtcblx0XHRcdFx0bWluLXdpZHRoOiAwO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblxuXHRcdC5jay5jay1tZWRpYS1mb3JtIC5jay1sYWJlbGVkLWZpZWxkLXZpZXcge1xuXG5cdFx0XHQvKiBMZXQgdGhlIGxvbmcgZXJyb3IgbWVzc2FnZXMgd3JhcCBpbiB0aGUgbmFycm93IGZvcm0uICovXG5cdFx0fVxuXHRcdFx0LmNrLmNrLW1lZGlhLWZvcm0gLmNrLWxhYmVsZWQtZmllbGQtdmlldyAuY2stbGFiZWxlZC1maWVsZC12aWV3X19lcnJvciB7XG5cdFx0XHRcdHdoaXRlLXNwYWNlOiBub3JtYWw7XG5cdFx0XHR9XG5cblx0XHQuY2suY2stbWVkaWEtZm9ybSAuY2stYnV0dG9uIHtcblx0XHRcdHBhZGRpbmc6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpO1xuXHRcdFx0bWFyZ2luLXRvcDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0XHRib3JkZXI6IDA7XG5cdFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpXG5cdFx0fVxuXG5cdFx0W2Rpcj1cImx0clwiXSAuY2suY2stbWVkaWEtZm9ybSAuY2stYnV0dG9uIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDBcblx0XHR9XG5cblx0XHRcdFx0W2Rpcj1cImx0clwiXSAuY2suY2stbWVkaWEtZm9ybSAuY2stYnV0dG9uOmZpcnN0LW9mLXR5cGUge1xuXHRcdFx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKTtcblx0XHRcdFx0fVxuXG5cdFx0W2Rpcj1cInJ0bFwiXSAuY2suY2stbWVkaWEtZm9ybSAuY2stYnV0dG9uIHtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDBcblx0XHR9XG5cblx0XHRcdFx0W2Rpcj1cInJ0bFwiXSAuY2suY2stbWVkaWEtZm9ybSAuY2stYnV0dG9uOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHRcdFx0XHR9XG5cdH1cbiIsIi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LW1lZGlhLWVtYmVkXFx0aGVtZVxcbWVkaWFlbWJlZC5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2stY29udGVudCAubWVkaWEge1xuXHQvKiBEb24ndCBhbGxvdyBmbG9hdGVkIGNvbnRlbnQgb3ZlcmxhcCB0aGUgbWVkaWEuXG5cdGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtbWVkaWEtZW1iZWQvaXNzdWVzLzUzICovXG5cdGNsZWFyOiBib3RoO1xuXG5cdC8qIE1ha2Ugc3VyZSB0aGVyZSBpcyBzb21lIHNwYWNlIGJldHdlZW4gdGhlIGNvbnRlbnQgYW5kIHRoZSBtZWRpYS4gKi9cblx0bWFyZ2luOiAxZW0gMDtcblxuXHQvKiBNYWtlIHN1cmUgbWVkaWEgaXMgbm90IG92ZXJyaWRlbiB3aXRoIEJvb3RzdHJhcCBkZWZhdWx0IGBmbGV4YCB2YWx1ZS5cblx0U2VlOiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy8xMzczLiAqL1xuXHRkaXNwbGF5OiBibG9jaztcblxuXHQvKiBHaXZlIHRoZSBtZWRpYSBzb21lIG1pbmltYWwgd2lkdGggaW4gdGhlIGNvbnRlbnQgdG8gcHJldmVudCB0aGVtXG5cdGZyb20gYmVpbmcgXCJzcXVhc2hlZFwiIGluIHRpZ2h0IHNwYWNlcywgZS5nLiBpbiB0YWJsZSBjZWxscyAoIzQ0KSAqL1xuXHRtaW4td2lkdGg6IDE1ZW07XG59XG4iLCIvKiBDOlxcbGFyYWdvblxcd3d3XFx0cnVzdFxcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS10YWJsZVxcdGhlbWVcXHRhYmxlZWRpdGluZy5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogTm90ZTogVGhpcyBmaWxlIHNob3VsZCBjb250YWluIHRoZSB3aXJlZnJhbWUgc3R5bGVzIG9ubHkuIEJ1dCBzaW5jZSB0aGVyZSBhcmUgbm8gc3VjaCBzdHlsZXMsXG4gKiBpdCBhY3RzIGFzIGEgbWVzc2FnZSB0byB0aGUgYnVpbGRlciB0ZWxsaW5nIHRoYXQgaXQgc2hvdWxkIGxvb2sgZm9yIHRoZSBjb3JyZXNwb25kaW5nIHN0eWxlc1xuICogKippbiB0aGUgdGhlbWUqKiB3aGVuIGNvbXBpbGluZyB0aGUgZWRpdG9yLlxuICovXG5cbi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRoZW1lLWxhcmtcXHRoZW1lXFxja2VkaXRvcjUtdGFibGVcXHRhYmxlZWRpdGluZy5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG46cm9vdCB7XG5cdC0tY2stY29sb3ItdGFibGUtZm9jdXNlZC1jZWxsLWJhY2tncm91bmQ6IGhzbGEoMjA4LCA5MCUsIDgwJSwgLjMpO1xufVxuXG4uY2std2lkZ2V0LnRhYmxlIHRkLmNrLWVkaXRvcl9fbmVzdGVkLWVkaXRhYmxlLmNrLWVkaXRvcl9fbmVzdGVkLWVkaXRhYmxlX2ZvY3VzZWQsXG5cdFx0LmNrLXdpZGdldC50YWJsZSB0ZC5jay1lZGl0b3JfX25lc3RlZC1lZGl0YWJsZTpmb2N1cyxcblx0XHQuY2std2lkZ2V0LnRhYmxlIHRoLmNrLWVkaXRvcl9fbmVzdGVkLWVkaXRhYmxlLmNrLWVkaXRvcl9fbmVzdGVkLWVkaXRhYmxlX2ZvY3VzZWQsXG5cdFx0LmNrLXdpZGdldC50YWJsZSB0aC5jay1lZGl0b3JfX25lc3RlZC1lZGl0YWJsZTpmb2N1cyB7XG5cdFx0XHQvKiBBIHZlcnkgc2xpZ2h0IGJhY2tncm91bmQgdG8gaGlnaGxpZ2h0IHRoZSBmb2N1c2VkIGNlbGwgKi9cblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLXRhYmxlLWZvY3VzZWQtY2VsbC1iYWNrZ3JvdW5kKTtcblxuXHRcdFx0LyogRml4ZXMgdGhlIHByb2JsZW0gd2hlcmUgc3Vycm91bmRpbmcgY2VsbHMgY292ZXIgdGhlIGZvY3VzZWQgY2VsbCdzIGJvcmRlci5cblx0XHRcdEl0IGRvZXMgbm90IGZpeCB0aGUgcHJvYmxlbSBpbiBhbGwgcGxhY2VzIGJ1dCB0aGUgVVggaXMgaW1wcm92ZWQuXG5cdFx0XHRTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS10YWJsZS9pc3N1ZXMvMjkuICovXG5cdFx0XHRib3JkZXItc3R5bGU6IG5vbmU7XG5cdFx0XHRvdXRsaW5lOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItZm9jdXMtYm9yZGVyKTtcblx0XHRcdG91dGxpbmUtb2Zmc2V0OiAtMXB4OyAvKiBwcm9ncmVzc2l2ZSBlbmhhbmNlbWVudCAtIG5vIElFIHN1cHBvcnQgKi9cblx0XHR9XG4iLCIvKiBDOlxcbGFyYWdvblxcd3d3XFx0cnVzdFxcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS11aVxcdGhlbWVcXGNvbXBvbmVudHNcXGRyb3Bkb3duXFxzcGxpdGJ1dHRvbi5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogRW5hYmxlcyB0aGUgdG9vbHRpcCwgd2hpY2ggaXMgdGhlIHRvb2x0aXAgaXMgaW4gRE9NIGJ1dFxuICogbm90IHlldCBkaXNwbGF5ZWQuXG4gKi9cblxuLyoqXG4gKiBEaXNhYmxlcyB0aGUgdG9vbHRpcCBtYWtpbmcgaXQgZGlzYXBwZWFyIGZyb20gRE9NLlxuICovXG5cbi8qKlxuICogU2hvd3MgdGhlIHRvb2x0aXAsIHdoaWNoIGlzIGFscmVhZHkgaW4gRE9NLlxuICogUmVxdWlyZXMgYGNrLXRvb2x0aXBfZW5hYmxlZGAgZmlyc3QuXG4gKi9cblxuLmNrLmNrLXNwbGl0YnV0dG9uIHtcblx0LyogRW5hYmxlIGZvbnQgc2l6ZSBpbmhlcml0YW5jZSwgd2hpY2ggYWxsb3dzIGZsdWlkIFVJIHNjYWxpbmcuICovXG5cdGZvbnQtc2l6ZTogaW5oZXJpdFxufVxuXG4uY2suY2stc3BsaXRidXR0b24gLmNrLXNwbGl0YnV0dG9uX19hY3Rpb246Zm9jdXMge1xuXHRcdHotaW5kZXg6IGNhbGModmFyKC0tY2stei1kZWZhdWx0KSArIDEpO1xuXHR9XG5cbi5jay5jay1zcGxpdGJ1dHRvbiB7XG5cblx0LyogRGlzYWJsZSB0b29sdGlwcyBmb3IgdGhlIGJ1dHRvbnMgd2hlbiB0aGUgYnV0dG9uIGlzIFwib3BlblwiICovXG59XG5cbi5jay5jay1zcGxpdGJ1dHRvbi5jay1zcGxpdGJ1dHRvbl9vcGVuID4gLmNrLWJ1dHRvbiAuY2stdG9vbHRpcCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG4vKiBDOlxcbGFyYWdvblxcd3d3XFx0cnVzdFxcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS10aGVtZS1sYXJrXFx0aGVtZVxcY2tlZGl0b3I1LXVpXFxjb21wb25lbnRzXFxkcm9wZG93blxcc3BsaXRidXR0b24uY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEltcGxlbWVudHMgcm91bmRlZCBjb3JuZXIgaW50ZXJmYWNlIGZvciAuY2stcm91bmRlZC1jb3JuZXJzIGNsYXNzLlxuICpcbiAqIEBzZWUgJGNrLWJvcmRlci1yYWRpdXNcbiAqL1xuXG46cm9vdCB7XG5cdC0tY2stY29sb3Itc3BsaXQtYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6IGhzbCgwLCAwJSwgOTIlKTtcblx0LS1jay1jb2xvci1zcGxpdC1idXR0b24taG92ZXItYm9yZGVyOiBoc2woMCwgMCUsIDcwJSk7XG59XG5cbi5jay5jay1zcGxpdGJ1dHRvbiB7XG5cdC8qXG5cdCAqIE5vdGU6IGNrLXJvdW5kZWQgYW5kIGNrLWRpciBtaXhpbnMgZG9uJ3QgZ28gdG9nZXRoZXIgKGJlY2F1c2UgdGhleSBib3RoIHVzZSBAbmVzdCkuXG5cdCAqL1xufVxuXG5bZGlyPVwibHRyXCJdIC5jay5jay1zcGxpdGJ1dHRvbiA+IC5jay1zcGxpdGJ1dHRvbl9fYWN0aW9uIHtcblx0XHRcdC8qIERvbid0IHJvdW5kIHRoZSBhY3Rpb24gYnV0dG9uIG9uIHRoZSByaWdodCBzaWRlICovXG5cdFx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdW5zZXQ7XG5cdFx0XHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdW5zZXRcblx0fVxuXG5bZGlyPVwicnRsXCJdIC5jay5jay1zcGxpdGJ1dHRvbiA+IC5jay1zcGxpdGJ1dHRvbl9fYWN0aW9uIHtcblx0XHRcdC8qIERvbid0IHJvdW5kIHRoZSBhY3Rpb24gYnV0dG9uIG9uIHRoZSBsZWZ0IHNpZGUgKi9cblx0XHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHVuc2V0O1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdW5zZXRcblx0fVxuXG4uY2suY2stc3BsaXRidXR0b24gPiAuY2stc3BsaXRidXR0b25fX2Fycm93IHtcblx0XHQvKiBJdCdzIGEgdGV4dC1sZXNzIGJ1dHRvbiBhbmQgc2luY2UgdGhlIGljb24gaXMgcG9zaXRpb25lZCBhYnNvbHV0ZWx5IGluIHN1Y2ggc2l0dWF0aW9uLFxuXHRcdGl0IG11c3QgZ2V0IHNvbWUgYXJiaXRyYXJ5IG1pbi13aWR0aC4gKi9cblx0XHRtaW4td2lkdGg6IHVuc2V0XG5cdH1cblxuW2Rpcj1cImx0clwiXSAuY2suY2stc3BsaXRidXR0b24gPiAuY2stc3BsaXRidXR0b25fX2Fycm93IHtcblx0XHRcdC8qIERvbid0IHJvdW5kIHRoZSBhcnJvdyBidXR0b24gb24gdGhlIGxlZnQgc2lkZSAqL1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMFxuXHR9XG5cbi5jay1yb3VuZGVkLWNvcm5lcnMgW2Rpcj1cImx0clwiXSAuY2suY2stc3BsaXRidXR0b24gPiAuY2stc3BsaXRidXR0b25fX2Fycm93LCBbZGlyPVwibHRyXCJdIC5jay5jay1zcGxpdGJ1dHRvbiA+IC5jay1zcGxpdGJ1dHRvbl9fYXJyb3cuY2stcm91bmRlZC1jb3JuZXJzIHtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1ib3JkZXItcmFkaXVzKTtcblx0XHRcdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdW5zZXQ7XG5cdFx0XHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHVuc2V0XG5cdH1cblxuW2Rpcj1cInJ0bFwiXSAuY2suY2stc3BsaXRidXR0b24gPiAuY2stc3BsaXRidXR0b25fX2Fycm93IHtcblx0XHRcdC8qIERvbid0IHJvdW5kIHRoZSBhcnJvdyBidXR0b24gb24gdGhlIHJpZ2h0IHNpZGUgKi9cblx0XHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB1bnNldDtcblx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB1bnNldFxuXHR9XG5cbi5jay5jay1zcGxpdGJ1dHRvbiA+IC5jay1zcGxpdGJ1dHRvbl9fYXJyb3cgc3ZnIHtcblx0XHRcdHdpZHRoOiB2YXIoLS1jay1kcm9wZG93bi1hcnJvdy1zaXplKTtcblx0XHR9XG5cbi5jay5jay1zcGxpdGJ1dHRvbiB7XG5cblx0LyogV2hlbiB0aGUgc3BsaXQgYnV0dG9uIGlzIFwib3BlblwiICh0aGUgYXJyb3cgaXMgb24pIG9yIGJlaW5nIGhvdmVyZWQsIGl0IHNob3VsZCBnZXQgc29tZSBzdHlsaW5nXG5cdGFzIGEgd2hvbGUuIFRoZSBiYWNrZ3JvdW5kIG9mIGJvdGggYnV0dG9ucyBzaG91bGQgc3RhbmQgb3V0IGFuZCB0aGVyZSBzaG91bGQgYmUgYSB2aXN1YWxcblx0c2VwYXJhdGlvbiBiZXR3ZWVuIGJvdGggYnV0dG9ucy4gKi9cbn1cblxuLmNrLmNrLXNwbGl0YnV0dG9uLmNrLXNwbGl0YnV0dG9uX29wZW4sXG5cdC5jay5jay1zcGxpdGJ1dHRvbjpob3ZlciB7XG5cdFx0LyogV2hlbiB0aGUgc3BsaXQgYnV0dG9uIGhvdmVyZWQgYXMgYSB3aG9sZSwgbm90IGFzIGluZGl2aWR1YWwgYnV0dG9ucy4gKi9cblx0fVxuXG4uY2suY2stc3BsaXRidXR0b24uY2stc3BsaXRidXR0b25fb3BlbiA+IC5jay1idXR0b246bm90KC5jay1vbik6bm90KC5jay1kaXNhYmxlZCk6bm90KDpob3ZlciksIC5jay5jay1zcGxpdGJ1dHRvbjpob3ZlciA+IC5jay1idXR0b246bm90KC5jay1vbik6bm90KC5jay1kaXNhYmxlZCk6bm90KDpob3Zlcikge1xuXHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3Itc3BsaXQtYnV0dG9uLWhvdmVyLWJhY2tncm91bmQpO1xuXHRcdH1cblxuW2Rpcj1cImx0clwiXSAuY2suY2stc3BsaXRidXR0b24uY2stc3BsaXRidXR0b25fb3BlbiA+IC5jay1zcGxpdGJ1dHRvbl9fYXJyb3c6bm90KC5jay1kaXNhYmxlZCksIFtkaXI9XCJsdHJcIl0gLmNrLmNrLXNwbGl0YnV0dG9uOmhvdmVyID4gLmNrLXNwbGl0YnV0dG9uX19hcnJvdzpub3QoLmNrLWRpc2FibGVkKSB7XG5cdFx0XHRcdGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jay1jb2xvci1zcGxpdC1idXR0b24taG92ZXItYm9yZGVyKTtcblx0XHRcdH1cblxuW2Rpcj1cInJ0bFwiXSAuY2suY2stc3BsaXRidXR0b24uY2stc3BsaXRidXR0b25fb3BlbiA+IC5jay1zcGxpdGJ1dHRvbl9fYXJyb3c6bm90KC5jay1kaXNhYmxlZCksIFtkaXI9XCJydGxcIl0gLmNrLmNrLXNwbGl0YnV0dG9uOmhvdmVyID4gLmNrLXNwbGl0YnV0dG9uX19hcnJvdzpub3QoLmNrLWRpc2FibGVkKSB7XG5cdFx0XHRcdGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tY2stY29sb3Itc3BsaXQtYnV0dG9uLWhvdmVyLWJvcmRlcik7XG5cdFx0XHR9XG5cbi5jay5jay1zcGxpdGJ1dHRvbiB7XG5cblx0LyogRG9uJ3Qgcm91bmQgdGhlIGJvdHRvbSBsZWZ0IGFuZCByaWdodCBjb3JuZXJzIG9mIHRoZSBidXR0b25zIHdoZW4gXCJvcGVuXCJcblx0aHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvODE2ICovXG59XG5cbi5jay5jay1zcGxpdGJ1dHRvbi5jay1zcGxpdGJ1dHRvbl9vcGVuIHtcblx0XHRib3JkZXItcmFkaXVzOiAwXG5cdH1cblxuLmNrLXJvdW5kZWQtY29ybmVycyAuY2suY2stc3BsaXRidXR0b24uY2stc3BsaXRidXR0b25fb3BlbiwgLmNrLmNrLXNwbGl0YnV0dG9uLmNrLXNwbGl0YnV0dG9uX29wZW4uY2stcm91bmRlZC1jb3JuZXJzIHtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1jay1ib3JkZXItcmFkaXVzKVxuXHR9XG5cbi5jay1yb3VuZGVkLWNvcm5lcnMgLmNrLmNrLXNwbGl0YnV0dG9uLmNrLXNwbGl0YnV0dG9uX29wZW4gPiAuY2stc3BsaXRidXR0b25fX2FjdGlvbiwgLmNrLmNrLXNwbGl0YnV0dG9uLmNrLXNwbGl0YnV0dG9uX29wZW4uY2stcm91bmRlZC1jb3JuZXJzID4gLmNrLXNwbGl0YnV0dG9uX19hY3Rpb24ge1xuXHRcdFx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuXHRcdFx0fVxuXG4uY2stcm91bmRlZC1jb3JuZXJzIC5jay5jay1zcGxpdGJ1dHRvbi5jay1zcGxpdGJ1dHRvbl9vcGVuID4gLmNrLXNwbGl0YnV0dG9uX19hcnJvdywgLmNrLmNrLXNwbGl0YnV0dG9uLmNrLXNwbGl0YnV0dG9uX29wZW4uY2stcm91bmRlZC1jb3JuZXJzID4gLmNrLXNwbGl0YnV0dG9uX19hcnJvdyB7XG5cdFx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuXHRcdFx0fVxuXG4iLCIvKiBDOlxcbGFyYWdvblxcd3d3XFx0cnVzdFxcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS10YWJsZVxcdGhlbWVcXGluc2VydHRhYmxlLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jayAuY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duX19ncmlkIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0ZmxleC13cmFwOiB3cmFwO1xufVxuXG4vKiBDOlxcbGFyYWdvblxcd3d3XFx0cnVzdFxcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS10aGVtZS1sYXJrXFx0aGVtZVxcY2tlZGl0b3I1LXRhYmxlXFxpbnNlcnR0YWJsZS5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG46cm9vdCB7XG5cdC0tY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duLXBhZGRpbmc6IDEwcHg7XG5cdC0tY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duLWJveC1oZWlnaHQ6IDExcHg7XG5cdC0tY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duLWJveC13aWR0aDogMTJweDtcblx0LS1jay1pbnNlcnQtdGFibGUtZHJvcGRvd24tYm94LW1hcmdpbjogMXB4O1xufVxuXG4uY2sgLmNrLWluc2VydC10YWJsZS1kcm9wZG93bl9fZ3JpZCB7XG5cdC8qIFRoZSB3aWR0aCBvZiBhIGNvbnRhaW5lciBzaG91bGQgbWF0Y2ggMTAgaXRlbXMgaW4gYSByb3cgc28gdGhlcmUgd2lsbCBiZSBhIDEweDEwIGdyaWQuICovXG5cdHdpZHRoOiBjYWxjKHZhcigtLWNrLWluc2VydC10YWJsZS1kcm9wZG93bi1ib3gtd2lkdGgpICogMTAgKyB2YXIoLS1jay1pbnNlcnQtdGFibGUtZHJvcGRvd24tYm94LW1hcmdpbikgKiAyMCArIHZhcigtLWNrLWluc2VydC10YWJsZS1kcm9wZG93bi1wYWRkaW5nKSAqIDIpO1xuXHRwYWRkaW5nOiB2YXIoLS1jay1pbnNlcnQtdGFibGUtZHJvcGRvd24tcGFkZGluZykgdmFyKC0tY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duLXBhZGRpbmcpIDA7XG59XG5cbi5jayAuY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duX19sYWJlbCB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNrIC5jay1pbnNlcnQtdGFibGUtZHJvcGRvd24tZ3JpZC1ib3gge1xuXHR3aWR0aDogdmFyKC0tY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duLWJveC13aWR0aCk7XG5cdGhlaWdodDogdmFyKC0tY2staW5zZXJ0LXRhYmxlLWRyb3Bkb3duLWJveC1oZWlnaHQpO1xuXHRtYXJnaW46IHZhcigtLWNrLWluc2VydC10YWJsZS1kcm9wZG93bi1ib3gtbWFyZ2luKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHRib3JkZXItcmFkaXVzOiAxcHhcbn1cblxuLmNrIC5jay1pbnNlcnQtdGFibGUtZHJvcGRvd24tZ3JpZC1ib3guY2stb24ge1xuXHRcdGJvcmRlci1jb2xvcjogdmFyKC0tY2stY29sb3ItZm9jdXMtYm9yZGVyKTtcblx0XHRiYWNrZ3JvdW5kOiB2YXIoLS1jay1jb2xvci1mb2N1cy1vdXRlci1zaGFkb3cpO1xuXHR9XG4iLCIvKiBDOlxcbGFyYWdvblxcd3d3XFx0cnVzdFxcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS10YWJsZVxcdGhlbWVcXHRhYmxlc2VsZWN0aW9uLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBOb3RlOiBUaGlzIGZpbGUgc2hvdWxkIGNvbnRhaW4gdGhlIHdpcmVmcmFtZSBzdHlsZXMgb25seS4gQnV0IHNpbmNlIHRoZXJlIGFyZSBubyBzdWNoIHN0eWxlcyxcbiAqIGl0IGFjdHMgYXMgYSBtZXNzYWdlIHRvIHRoZSBidWlsZGVyIHRlbGxpbmcgdGhhdCBpdCBzaG91bGQgbG9vayBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgc3R5bGVzXG4gKiAqKmluIHRoZSB0aGVtZSoqIHdoZW4gY29tcGlsaW5nIHRoZSBlZGl0b3IuXG4gKi9cblxuLyogQzpcXGxhcmFnb25cXHd3d1xcdHJ1c3RcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdGhlbWUtbGFya1xcdGhlbWVcXGNrZWRpdG9yNS10YWJsZVxcdGFibGVzZWxlY3Rpb24uY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLXRhYmxlLXNlbGVjdGVkLWNlbGwtYmFja2dyb3VuZDogaHNsYSgyMDgsIDkwJSwgODAlLCAuMyk7XG59XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlIC50YWJsZSB0YWJsZSB0ZC5jay1lZGl0b3JfX2VkaXRhYmxlX3NlbGVjdGVkLFxuXHQuY2suY2stZWRpdG9yX19lZGl0YWJsZSAudGFibGUgdGFibGUgdGguY2stZWRpdG9yX19lZGl0YWJsZV9zZWxlY3RlZCB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGNhcmV0LWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRvdXRsaW5lOiB1bnNldDtcblx0XHRib3gtc2hhZG93OiB1bnNldFxuXG5cdFx0LyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvNjQ0NiAqL1xuXHR9XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlIC50YWJsZSB0YWJsZSB0ZC5jay1lZGl0b3JfX2VkaXRhYmxlX3NlbGVjdGVkOmFmdGVyLCAuY2suY2stZWRpdG9yX19lZGl0YWJsZSAudGFibGUgdGFibGUgdGguY2stZWRpdG9yX19lZGl0YWJsZV9zZWxlY3RlZDphZnRlciB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2stdGFibGUtc2VsZWN0ZWQtY2VsbC1iYWNrZ3JvdW5kKTtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdGJvdHRvbTogMDtcblx0XHR9XG5cbi5jay5jay1lZGl0b3JfX2VkaXRhYmxlIC50YWJsZSB0YWJsZSB0ZC5jay1lZGl0b3JfX2VkaXRhYmxlX3NlbGVjdGVkIDo6c2VsZWN0aW9uLFxuXHRcdC5jay5jay1lZGl0b3JfX2VkaXRhYmxlIC50YWJsZSB0YWJsZSB0ZC5jay1lZGl0b3JfX2VkaXRhYmxlX3NlbGVjdGVkOmZvY3VzLFxuXHRcdC5jay5jay1lZGl0b3JfX2VkaXRhYmxlIC50YWJsZSB0YWJsZSB0aC5jay1lZGl0b3JfX2VkaXRhYmxlX3NlbGVjdGVkIDo6c2VsZWN0aW9uLFxuXHRcdC5jay5jay1lZGl0b3JfX2VkaXRhYmxlIC50YWJsZSB0YWJsZSB0aC5jay1lZGl0b3JfX2VkaXRhYmxlX3NlbGVjdGVkOmZvY3VzIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdH1cblxuLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUgLnRhYmxlIHRhYmxlIHRkLmNrLWVkaXRvcl9fZWRpdGFibGVfc2VsZWN0ZWQgLmNrLXdpZGdldF9zZWxlY3RlZCwgLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUgLnRhYmxlIHRhYmxlIHRoLmNrLWVkaXRvcl9fZWRpdGFibGVfc2VsZWN0ZWQgLmNrLXdpZGdldF9zZWxlY3RlZCB7XG5cdFx0XHRvdXRsaW5lOiB1bnNldDtcblx0XHR9XG4iLCIvKiBDOlxcbGFyYWdvblxcd3d3XFx0cnVzdFxcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS10YWJsZVxcdGhlbWVcXHRhYmxlLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay1jb250ZW50IC50YWJsZSB7XG5cdC8qIEdpdmUgdGhlIHRhYmxlIHdpZGdldCBzb21lIGFpciBhbmQgY2VudGVyIGl0IGhvcml6b250YWxseSAqL1xuXHRtYXJnaW46IDFlbSBhdXRvO1xuXHRkaXNwbGF5OiB0YWJsZVxufVxuXG4uY2stY29udGVudCAudGFibGUgdGFibGUge1xuXHRcdC8qIFRoZSB0YWJsZSBjZWxscyBzaG91bGQgaGF2ZSBzbGlnaHQgYm9yZGVycyAqL1xuXHRcdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG5cdFx0Ym9yZGVyLXNwYWNpbmc6IDA7XG5cblx0XHQvKiBUYWJsZSB3aWR0aCBhbmQgaGVpZ2h0IGFyZSBzZXQgb24gdGhlIHBhcmVudCA8ZmlndXJlPi4gTWFrZSBzdXJlIHRoZSB0YWJsZSBpbnNpZGUgc3RyZXRjaGVzXG5cdFx0dG8gdGhlIGZ1bGwgZGltZW5zaW9ucyBvZiB0aGUgY29udGFpbmVyIChodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1L2lzc3Vlcy82MTg2KS4gKi9cblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cblx0XHQvKiBUaGUgb3V0ZXIgYm9yZGVyIG9mIHRoZSB0YWJsZSBzaG91bGQgYmUgc2xpZ2h0bHkgZGFya2VyIHRoYW4gdGhlIGlubmVyIGxpbmVzLlxuXHRcdEFsc28gc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9ja2VkaXRvci9ja2VkaXRvcjUtdGFibGUvaXNzdWVzLzUwLiAqL1xuXHRcdGJvcmRlcjogMXB4IGRvdWJsZSBoc2woMCwgMCUsIDcwJSlcblx0fVxuXG4uY2stY29udGVudCAudGFibGUgdGFibGUgdGQsXG5cdFx0LmNrLWNvbnRlbnQgLnRhYmxlIHRhYmxlIHRoIHtcblx0XHRcdG1pbi13aWR0aDogMmVtO1xuXHRcdFx0cGFkZGluZzogLjRlbTtcblxuXHRcdFx0LyogVGhlIGJvcmRlciBpcyBpbmhlcml0ZWQgZnJvbSAuY2stZWRpdG9yX19uZXN0ZWQtZWRpdGFibGUgc3R5bGVzLCBzbyB0aGVvcmV0aWNhbGx5IGl0J3Mgbm90IG5lY2Vzc2FyeSBoZXJlLlxuXHRcdFx0SG93ZXZlciwgdGhlIGJvcmRlciBpcyBhIGNvbnRlbnQgc3R5bGUsIHNvIGl0IHNob3VsZCB1c2UgLmNrLWNvbnRlbnQgKHNvIGl0IHdvcmtzIG91dHNpZGUgdGhlIGVkaXRvcikuXG5cdFx0XHRIZW5jZSwgdGhlIGR1cGxpY2F0aW9uLiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvNjMxNCAqL1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgaHNsKDAsIDAlLCA3NSUpO1xuXHRcdH1cblxuLmNrLWNvbnRlbnQgLnRhYmxlIHRhYmxlIHRoIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0YmFja2dyb3VuZDogaHNsYSgwLCAwJSwgMCUsIDUlKTtcblx0XHR9XG5cbi8qIFRleHQgYWxpZ25tZW50IG9mIHRoZSB0YWJsZSBoZWFkZXIgc2hvdWxkIG1hdGNoIHRoZSBlZGl0b3Igc2V0dGluZ3MgYW5kIG92ZXJyaWRlIHRoZSBuYXRpdmUgYnJvd3NlciBzdHlsaW5nLFxud2hlbiBjb250ZW50IGlzIGF2YWlsYWJsZSBvdXRzaWRlIHRoZSBlZGlpdG9yLiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvNjYzOCAqL1xuXG4uY2stY29udGVudFtkaXI9XCJydGxcIl0gLnRhYmxlIHRoIHtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5jay1jb250ZW50W2Rpcj1cImx0clwiXSAudGFibGUgdGgge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuIiwiLyogQzpcXGxhcmFnb25cXHd3d1xcdHJ1c3RcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdWlcXHRoZW1lXFxjb21wb25lbnRzXFxjb2xvcmdyaWRcXGNvbG9yZ3JpZC5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stY29sb3ItZ3JpZCB7XG5cdGRpc3BsYXk6IGdyaWQ7XG59XG5cbi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRoZW1lLWxhcmtcXHRoZW1lXFxja2VkaXRvcjUtdWlcXGNvbXBvbmVudHNcXGNvbG9yZ3JpZFxcY29sb3JncmlkLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBJbXBsZW1lbnRzIHJvdW5kZWQgY29ybmVyIGludGVyZmFjZSBmb3IgLmNrLXJvdW5kZWQtY29ybmVycyBjbGFzcy5cbiAqXG4gKiBAc2VlICRjay1ib3JkZXItcmFkaXVzXG4gKi9cblxuOnJvb3Qge1xuXHQtLWNrLWNvbG9yLWdyaWQtdGlsZS1zaXplOiAyNHB4O1xuXG5cdC8qIE5vdCB1c2luZyBnbG9iYWwgY29sb3JzIGhlcmUgYmVjYXVzZSB0aGVzZSBtYXkgY2hhbmdlIGJ1dCBzb21lIGNvbG9ycyBpbiBhIHBhbGxldHRlXG5cdCAqIHJlcXVpcmUgc3BlY2lhbCB0cmVhdG1lbnQuIEZvciBpbnN0YW5jZSwgdGhpcyBlbnN1cmVzIG5vIG1hdHRlciB3aGF0IHRoZSBVSSB0ZXh0IGNvbG9yIGlzLFxuXHQgKiB0aGUgY2hlY2sgaWNvbiB3aWxsIGxvb2sgZ29vZCBvbiB0aGUgYmxhY2sgY29sb3IgdGlsZS4gKi9cblx0LS1jay1jb2xvci1jb2xvci1ncmlkLWNoZWNrLWljb246IGhzbCgwLCAwJSwgMCUpO1xufVxuXG4uY2suY2stY29sb3ItZ3JpZCB7XG5cdGdyaWQtZ2FwOiA1cHg7XG5cdHBhZGRpbmc6IDhweDtcbn1cblxuLmNrLmNrLWNvbG9yLWdyaWRfX3RpbGUge1xuXHR3aWR0aDogdmFyKC0tY2stY29sb3ItZ3JpZC10aWxlLXNpemUpO1xuXHRoZWlnaHQ6IHZhcigtLWNrLWNvbG9yLWdyaWQtdGlsZS1zaXplKTtcblx0bWluLXdpZHRoOiB2YXIoLS1jay1jb2xvci1ncmlkLXRpbGUtc2l6ZSk7XG5cdG1pbi1oZWlnaHQ6IHZhcigtLWNrLWNvbG9yLWdyaWQtdGlsZS1zaXplKTtcblx0cGFkZGluZzogMDtcblx0dHJhbnNpdGlvbjogLjJzIGVhc2UgYm94LXNoYWRvdztcblx0Ym9yZGVyOiAwXG59XG5cbi5jay5jay1jb2xvci1ncmlkX190aWxlLmNrLWRpc2FibGVkIHtcblx0XHRjdXJzb3I6IHVuc2V0O1xuXHRcdHRyYW5zaXRpb246IHVuc2V0O1xuXHR9XG5cbi5jay5jay1jb2xvci1ncmlkX190aWxlLmNrLWNvbG9yLXRhYmxlX19jb2xvci10aWxlX2JvcmRlcmVkIHtcblx0XHRib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0tY2stY29sb3ItYmFzZS1ib3JkZXIpO1xuXHR9XG5cbi5jay5jay1jb2xvci1ncmlkX190aWxlIC5jay5jay1pY29uIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdGNvbG9yOiB2YXIoLS1jay1jb2xvci1jb2xvci1ncmlkLWNoZWNrLWljb24pO1xuXHR9XG5cbi5jay5jay1jb2xvci1ncmlkX190aWxlLmNrLW9uIHtcblx0XHRib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggdmFyKC0tY2stY29sb3ItYmFzZS1iYWNrZ3JvdW5kKSwgMCAwIDAgMnB4IHZhcigtLWNrLWNvbG9yLWJhc2UtdGV4dClcblx0fVxuXG4uY2suY2stY29sb3ItZ3JpZF9fdGlsZS5jay1vbiAuY2suY2staWNvbiB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cbi5jay5jay1jb2xvci1ncmlkX190aWxlLmNrLW9uLFxuXHQuY2suY2stY29sb3ItZ3JpZF9fdGlsZTpmb2N1czpub3QoIC5jay1kaXNhYmxlZCApLFxuXHQuY2suY2stY29sb3ItZ3JpZF9fdGlsZTpob3Zlcjpub3QoIC5jay1kaXNhYmxlZCApIHtcblx0XHQvKiBEaXNhYmxlIHRoZSBkZWZhdWx0IC5jay1idXR0b24ncyBib3JkZXIgcmluZy4gKi9cblx0XHRib3JkZXI6IDA7XG5cdH1cblxuLmNrLmNrLWNvbG9yLWdyaWRfX3RpbGU6Zm9jdXM6bm90KCAuY2stZGlzYWJsZWQgKSxcblx0LmNrLmNrLWNvbG9yLWdyaWRfX3RpbGU6aG92ZXI6bm90KCAuY2stZGlzYWJsZWQgKSB7XG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCksIDAgMCAwIDJweCB2YXIoLS1jay1jb2xvci1mb2N1cy1ib3JkZXIpO1xuXHR9XG5cbi5jay5jay1jb2xvci1ncmlkX19sYWJlbCB7XG5cdHBhZGRpbmc6IDAgdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG59XG4iLCIvKiBDOlxcbGFyYWdvblxcd3d3XFx0cnVzdFxcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS10YWJsZVxcdGhlbWVcXGNvbG9yaW5wdXQuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLWlucHV0LWNvbG9yIHtcblx0d2lkdGg6IDEwMCU7XG5cdGRpc3BsYXk6IGZsZXhcbn1cblxuLmNrLmNrLWlucHV0LWNvbG9yID4gaW5wdXQuY2suY2staW5wdXQtdGV4dCB7XG5cdFx0bWluLXdpZHRoOiBhdXRvO1xuXHRcdGZsZXgtZ3JvdzogMVxuXHR9XG5cbi5jay5jay1pbnB1dC1jb2xvciA+IGlucHV0LmNrLmNrLWlucHV0LXRleHQ6YWN0aXZlLFxuXHRcdC5jay5jay1pbnB1dC1jb2xvciA+IGlucHV0LmNrLmNrLWlucHV0LXRleHQ6Zm9jdXMge1xuXHRcdFx0ei1pbmRleDogdmFyKC0tY2stei1kZWZhdWx0KTtcblx0XHR9XG5cbi5jay5jay1pbnB1dC1jb2xvciA+IGRpdi5jay5jay1kcm9wZG93biB7XG5cdFx0bWluLXdpZHRoOiBhdXRvXG5cblx0XHQvKiBUaGlzIGRyb3Bkb3duIGhhcyBubyBhcnJvdyBidXQgYSBjb2xvciBwcmV2aWV3IGluc3RlYWQuICovXG5cdH1cblxuLmNrLmNrLWlucHV0LWNvbG9yID4gZGl2LmNrLmNrLWRyb3Bkb3duID4gLmNrLWlucHV0LWNvbG9yX19idXR0b24gLmNrLWRyb3Bkb3duX19hcnJvdyB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuLmNrLmNrLWlucHV0LWNvbG9yIC5jay5jay1pbnB1dC1jb2xvcl9fYnV0dG9uIC5jay5jay1pbnB1dC1jb2xvcl9fYnV0dG9uX19wcmV2aWV3IHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW5cblx0XHR9XG5cbi5jay5jay1pbnB1dC1jb2xvciAuY2suY2staW5wdXQtY29sb3JfX2J1dHRvbiAuY2suY2staW5wdXQtY29sb3JfX2J1dHRvbl9fcHJldmlldyA+IC5jay5jay1pbnB1dC1jb2xvcl9fYnV0dG9uX19wcmV2aWV3X19uby1jb2xvci1pbmRpY2F0b3Ige1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0fVxuXG4vKiBDOlxcbGFyYWdvblxcd3d3XFx0cnVzdFxcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS10aGVtZS1sYXJrXFx0aGVtZVxcY2tlZGl0b3I1LXRhYmxlXFxjb2xvcmlucHV0LmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKipcbiAqIEltcGxlbWVudHMgcm91bmRlZCBjb3JuZXIgaW50ZXJmYWNlIGZvciAuY2stcm91bmRlZC1jb3JuZXJzIGNsYXNzLlxuICpcbiAqIEBzZWUgJGNrLWJvcmRlci1yYWRpdXNcbiAqL1xuXG5bZGlyPVwibHRyXCJdIC5jay5jay1pbnB1dC1jb2xvciA+IC5jay5jay1pbnB1dC10ZXh0IHtcblx0XHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBcblx0fVxuXG5bZGlyPVwicnRsXCJdIC5jay5jay1pbnB1dC1jb2xvciA+IC5jay5jay1pbnB1dC10ZXh0IHtcblx0XHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG5cdFx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwXG5cdH1cblxuLmNrLmNrLWlucHV0LWNvbG9yID4gLmNrLmNrLWRyb3Bkb3duID4gLmNrLmNrLWlucHV0LWNvbG9yX19idXR0b24ge1xuXHRcdFx0cGFkZGluZzogMFxuXHRcdH1cblxuW2Rpcj1cImx0clwiXSAuY2suY2staW5wdXQtY29sb3IgPiAuY2suY2stZHJvcGRvd24gPiAuY2suY2staW5wdXQtY29sb3JfX2J1dHRvbiB7XG5cdFx0XHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG5cdFx0XHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAtMXB4XG5cdFx0fVxuXG5bZGlyPVwicnRsXCJdIC5jay5jay1pbnB1dC1jb2xvciA+IC5jay5jay1kcm9wZG93biA+IC5jay5jay1pbnB1dC1jb2xvcl9fYnV0dG9uIHtcblx0XHRcdFx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG5cdFx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IC0xcHhcblx0XHR9XG5cbi5jay5jay1pbnB1dC1jb2xvciA+IC5jay5jay1kcm9wZG93biA+IC5jay5jay1pbnB1dC1jb2xvcl9fYnV0dG9uLmNrLWRpc2FibGVkIHtcblx0XHRcdFx0YmFja2dyb3VuZDogdmFyKC0tY2stY29sb3ItaW5wdXQtZGlzYWJsZWQtYmFja2dyb3VuZCk7XG5cdFx0XHR9XG5cbi5jay5jay1pbnB1dC1jb2xvciA+IC5jay5jay1kcm9wZG93biA+IC5jay5jay1pbnB1dC1jb2xvcl9fYnV0dG9uID4gLmNrLmNrLWlucHV0LWNvbG9yX19idXR0b25fX3ByZXZpZXcge1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAwXG5cdFx0XHR9XG5cbi5jay1yb3VuZGVkLWNvcm5lcnMgLmNrLmNrLWlucHV0LWNvbG9yID4gLmNrLmNrLWRyb3Bkb3duID4gLmNrLmNrLWlucHV0LWNvbG9yX19idXR0b24gPiAuY2suY2staW5wdXQtY29sb3JfX2J1dHRvbl9fcHJldmlldywgLmNrLmNrLWlucHV0LWNvbG9yID4gLmNrLmNrLWRyb3Bkb3duID4gLmNrLmNrLWlucHV0LWNvbG9yX19idXR0b24gPiAuY2suY2staW5wdXQtY29sb3JfX2J1dHRvbl9fcHJldmlldy5jay1yb3VuZGVkLWNvcm5lcnMge1xuXHRcdGJvcmRlci1yYWRpdXM6IHZhcigtLWNrLWJvcmRlci1yYWRpdXMpXG5cdFx0XHR9XG5cbi5jay5jay1pbnB1dC1jb2xvciA+IC5jay5jay1kcm9wZG93biA+IC5jay5jay1pbnB1dC1jb2xvcl9fYnV0dG9uID4gLmNrLmNrLWlucHV0LWNvbG9yX19idXR0b25fX3ByZXZpZXcge1xuXG5cdFx0XHRcdHdpZHRoOiAyMHB4O1xuXHRcdFx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWlucHV0LWJvcmRlcilcblx0XHRcdH1cblxuLmNrLmNrLWlucHV0LWNvbG9yID4gLmNrLmNrLWRyb3Bkb3duID4gLmNrLmNrLWlucHV0LWNvbG9yX19idXR0b24gPiAuY2suY2staW5wdXQtY29sb3JfX2J1dHRvbl9fcHJldmlldyA+IC5jay5jay1pbnB1dC1jb2xvcl9fYnV0dG9uX19wcmV2aWV3X19uby1jb2xvci1pbmRpY2F0b3Ige1xuXHRcdFx0XHRcdHRvcDogLTMwJTtcblx0XHRcdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxNTAlO1xuXHRcdFx0XHRcdHdpZHRoOiA4JTtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBoc2woMCwgMTAwJSwgNTAlKTtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAycHg7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXHRcdFx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IDUwJTtcblx0XHRcdFx0fVxuXG4uY2suY2staW5wdXQtY29sb3IgLmNrLmNrLWlucHV0LWNvbG9yX19yZW1vdmUtY29sb3Ige1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1pbnB1dC1ib3JkZXIpO1xuXHRcdHBhZGRpbmc6IGNhbGModmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCkgLyAyKSB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKTtcblxuXHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG5cdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDBcblx0fVxuXG5bZGlyPVwibHRyXCJdIC5jay5jay1pbnB1dC1jb2xvciAuY2suY2staW5wdXQtY29sb3JfX3JlbW92ZS1jb2xvciB7XG5cdFx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMFxuXHR9XG5cbltkaXI9XCJydGxcIl0gLmNrLmNrLWlucHV0LWNvbG9yIC5jay5jay1pbnB1dC1jb2xvcl9fcmVtb3ZlLWNvbG9yIHtcblx0XHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDBcblx0fVxuXG4uY2suY2staW5wdXQtY29sb3IgLmNrLmNrLWlucHV0LWNvbG9yX19yZW1vdmUtY29sb3IgLmNrLmNrLWljb24ge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKVxuXHRcdH1cblxuW2Rpcj1cInJ0bFwiXSAuY2suY2staW5wdXQtY29sb3IgLmNrLmNrLWlucHV0LWNvbG9yX19yZW1vdmUtY29sb3IgLmNrLmNrLWljb24ge1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiB2YXIoLS1jay1zcGFjaW5nLXN0YW5kYXJkKVxuXHRcdH1cbiIsIi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRhYmxlXFx0aGVtZVxcZm9ybXJvdy5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stZm9ybV9fcm93IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0ZmxleC13cmFwOiBub3dyYXA7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlblxuXG5cdC8qIElnbm9yZSBsYWJlbHMgdGhhdCB3b3JrIGFzIGZpZWxkc2V0IGxlZ2VuZHMgKi9cbn1cblxuLmNrLmNrLWZvcm1fX3JvdyA+ICo6bm90KC5jay1sYWJlbCkge1xuXHRcdGZsZXgtZ3JvdzogMTtcblx0fVxuXG4uY2suY2stZm9ybV9fcm93LmNrLXRhYmxlLWZvcm1fX2FjdGlvbi1yb3cgLmNrLWJ1dHRvbi1zYXZlLFxuXHRcdC5jay5jay1mb3JtX19yb3cuY2stdGFibGUtZm9ybV9fYWN0aW9uLXJvdyAuY2stYnV0dG9uLWNhbmNlbCB7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHR9XG5cbi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRoZW1lLWxhcmtcXHRoZW1lXFxja2VkaXRvcjUtdGFibGVcXGZvcm1yb3cuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stZm9ybV9fcm93IHtcblx0cGFkZGluZzogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCkgdmFyKC0tY2stc3BhY2luZy1sYXJnZSkgMFxuXG5cdC8qIElnbm9yZSBsYWJlbHMgdGhhdCB3b3JrIGFzIGZpZWxkc2V0IGxlZ2VuZHMgKi9cbn1cblxuW2Rpcj1cImx0clwiXSAuY2suY2stZm9ybV9fcm93ID4gKjpub3QoLmNrLWxhYmVsKSArICoge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogdmFyKC0tY2stc3BhY2luZy1sYXJnZSlcblx0XHR9XG5cbltkaXI9XCJydGxcIl0gLmNrLmNrLWZvcm1fX3JvdyA+ICo6bm90KC5jay1sYWJlbCkgKyAqIHtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKVxuXHRcdH1cblxuLmNrLmNrLWZvcm1fX3JvdyA+IC5jay1sYWJlbCB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWluLXdpZHRoOiAxMDAlO1xuXHR9XG5cbi5jay5jay1mb3JtX19yb3cuY2stdGFibGUtZm9ybV9fYWN0aW9uLXJvdyB7XG5cdFx0bWFyZ2luLXRvcDogdmFyKC0tY2stc3BhY2luZy1sYXJnZSlcblx0fVxuXG4uY2suY2stZm9ybV9fcm93LmNrLXRhYmxlLWZvcm1fX2FjdGlvbi1yb3cgLmNrLWJ1dHRvbiAuY2stYnV0dG9uX19sYWJlbCB7XG5cdFx0XHRjb2xvcjogdmFyKC0tY2stY29sb3ItdGV4dCk7XG5cdFx0fVxuIiwiLyogQzpcXGxhcmFnb25cXHd3d1xcdHJ1c3RcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdWlcXHRoZW1lXFxjb21wb25lbnRzXFxmb3JtaGVhZGVyXFxmb3JtaGVhZGVyLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay1mb3JtX19oZWFkZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4vKiBDOlxcbGFyYWdvblxcd3d3XFx0cnVzdFxcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS10aGVtZS1sYXJrXFx0aGVtZVxcY2tlZGl0b3I1LXVpXFxjb21wb25lbnRzXFxmb3JtaGVhZGVyXFxmb3JtaGVhZGVyLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbjpyb290IHtcblx0LS1jay1mb3JtLWhlYWRlci1oZWlnaHQ6IDM4cHg7XG59XG5cbi5jay5jay1mb3JtX19oZWFkZXIge1xuXHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKSB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKTtcblx0aGVpZ2h0OiB2YXIoLS1jay1mb3JtLWhlYWRlci1oZWlnaHQpO1xuXHRsaW5lLWhlaWdodDogdmFyKC0tY2stZm9ybS1oZWFkZXItaGVpZ2h0KTtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKVxufVxuXG4uY2suY2stZm9ybV9faGVhZGVyIC5jay1mb3JtX19oZWFkZXJfX2xhYmVsIHtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0fVxuIiwiLyogQzpcXGxhcmFnb25cXHd3d1xcdHJ1c3RcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdGFibGVcXHRoZW1lXFxmb3JtLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBOb3RlOiBUaGlzIGZpbGUgc2hvdWxkIGNvbnRhaW4gdGhlIHdpcmVmcmFtZSBzdHlsZXMgb25seS4gQnV0IHNpbmNlIHRoZXJlIGFyZSBubyBzdWNoIHN0eWxlcyxcbiAqIGl0IGFjdHMgYXMgYSBtZXNzYWdlIHRvIHRoZSBidWlsZGVyIHRlbGxpbmcgdGhhdCBpdCBzaG91bGQgbG9vayBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgc3R5bGVzXG4gKiAqKmluIHRoZSB0aGVtZSoqIHdoZW4gY29tcGlsaW5nIHRoZSBlZGl0b3IuXG4gKi9cblxuLyogQzpcXGxhcmFnb25cXHd3d1xcdHJ1c3RcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdGhlbWUtbGFya1xcdGhlbWVcXGNrZWRpdG9yNS10YWJsZVxcZm9ybS5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stZm9ybSB7XG5cdHBhZGRpbmc6IDAgMCB2YXIoLS1jay1zcGFjaW5nLWxhcmdlKVxufVxuXG4uY2suY2stZm9ybTpmb2N1cyB7XG5cdFx0LyogaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS1saW5rL2lzc3Vlcy85MCAqL1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdH1cblxuLmNrLmNrLWZvcm0gLmNrLmNrLWlucHV0LXRleHQge1xuXHRcdG1pbi13aWR0aDogMTAwJTtcblx0XHR3aWR0aDogMDtcblx0fVxuXG4uY2suY2stZm9ybSAuY2suY2stZHJvcGRvd24ge1xuXHRcdG1pbi13aWR0aDogMTAwJVxuXHR9XG5cbi5jay5jay1mb3JtIC5jay5jay1kcm9wZG93biAuY2stZHJvcGRvd25fX2J1dHRvbjpub3QoOmZvY3VzKSB7XG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNrLWNvbG9yLWJhc2UtYm9yZGVyKTtcblx0XHRcdH1cblxuLmNrLmNrLWZvcm0gLmNrLmNrLWRyb3Bkb3duIC5jay1kcm9wZG93bl9fYnV0dG9uIC5jay1idXR0b25fX2xhYmVsIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cbiIsIi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRhYmxlXFx0aGVtZVxcdGFibGVmb3JtLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay10YWJsZS1mb3JtIC5jay1mb3JtX19yb3cuY2stdGFibGUtZm9ybV9fYm9yZGVyLXJvdyB7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXBcblx0XHR9XG5cbi5jay5jay10YWJsZS1mb3JtIC5jay1mb3JtX19yb3cuY2stdGFibGUtZm9ybV9fYm9yZGVyLXJvdyAuY2stbGFiZWxlZC1maWVsZC12aWV3IHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlXG5cdFx0XHR9XG5cbi5jay5jay10YWJsZS1mb3JtIC5jay1mb3JtX19yb3cuY2stdGFibGUtZm9ybV9fYm9yZGVyLXJvdyAuY2stbGFiZWxlZC1maWVsZC12aWV3IC5jay5jay1kcm9wZG93biB7XG5cdFx0XHRcdFx0ZmxleC1ncm93OiAwO1xuXHRcdFx0XHR9XG5cbi5jay5jay10YWJsZS1mb3JtIC5jay1mb3JtX19yb3cuY2stdGFibGUtZm9ybV9fYm9yZGVyLXJvdyAuY2stdGFibGUtZm9ybV9fYm9yZGVyLXN0eWxlIHtcblx0XHRcdFx0ZmxleC1ncm93OiAwO1xuXHRcdFx0fVxuXG4uY2suY2stdGFibGUtZm9ybSAuY2stZm9ybV9fcm93LmNrLXRhYmxlLWZvcm1fX2JvcmRlci1yb3cgLmNrLXRhYmxlLWZvcm1fX2JvcmRlci13aWR0aCB7XG5cdFx0XHRcdGZsZXgtZ3JvdzogMDtcblx0XHRcdH1cblxuLmNrLmNrLXRhYmxlLWZvcm0gLmNrLWZvcm1fX3Jvdy5jay10YWJsZS1mb3JtX19kaW1lbnNpb25zLXJvdyB7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyXG5cdFx0fVxuXG4uY2suY2stdGFibGUtZm9ybSAuY2stZm9ybV9fcm93LmNrLXRhYmxlLWZvcm1fX2RpbWVuc2lvbnMtcm93IC5jay1sYWJlbGVkLWZpZWxkLXZpZXcge1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXJcblx0XHRcdH1cblxuLmNrLmNrLXRhYmxlLWZvcm0gLmNrLWZvcm1fX3Jvdy5jay10YWJsZS1mb3JtX19kaW1lbnNpb25zLXJvdyAuY2stbGFiZWxlZC1maWVsZC12aWV3IC5jay5jay1kcm9wZG93biB7XG5cdFx0XHRcdFx0ZmxleC1ncm93OiAwO1xuXHRcdFx0XHR9XG5cbi5jay5jay10YWJsZS1mb3JtIC5jay1mb3JtX19yb3cuY2stdGFibGUtZm9ybV9fZGltZW5zaW9ucy1yb3cgLmNrLXRhYmxlLWZvcm1fX2RpbWVuc2lvbi1vcGVyYXRvciB7XG5cdFx0XHRcdGZsZXgtZ3JvdzogMDtcblx0XHRcdH1cblxuLmNrLmNrLXRhYmxlLWZvcm0gLmNrLmNrLWxhYmVsZWQtZmllbGQtdmlldyB7XG5cdFx0LyogQWxsb3cgYWJzb2x1dGUgcG9zaXRpb25pbmcgb2YgdGhlIHN0YXR1cyAoZXJyb3IpIGJhbGxvb25zLiAqL1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZVxuXHR9XG5cbi5jay5jay10YWJsZS1mb3JtIC5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXcgLmNrLmNrLWxhYmVsZWQtZmllbGQtdmlld19fc3RhdHVzIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdGJvdHRvbTogY2FsYyggLTEgKiB2YXIoLS1jay10YWJsZS1wcm9wZXJ0aWVzLWVycm9yLWFycm93LXNpemUpICk7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLDEwMCUpO1xuXG5cdFx0XHQvKiBNYWtlIHN1cmUgdGhlIGJhbGxvb24gc3RhdHVzIHN0YXlzIG9uIHRvcCBvZiBvdGhlciBmb3JtIGVsZW1lbnRzLiAqL1xuXHRcdFx0ei1pbmRleDogMVxuXG5cdFx0XHQvKiBUaGUgYXJyb3cgcG9pbnRpbmcgdG93YXJkcyB0aGUgZmllbGQuICovXG5cdFx0fVxuXG4uY2suY2stdGFibGUtZm9ybSAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3IC5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXdfX3N0YXR1czo6YWZ0ZXIge1xuXHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogY2FsYyggLTEgKiB2YXIoLS1jay10YWJsZS1wcm9wZXJ0aWVzLWVycm9yLWFycm93LXNpemUpICk7XG5cdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKCAtNTAlICk7XG5cdFx0XHR9XG5cbi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRoZW1lLWxhcmtcXHRoZW1lXFxja2VkaXRvcjUtdGFibGVcXHRhYmxlZm9ybS5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qKlxuICogSW1wbGVtZW50cyByb3VuZGVkIGNvcm5lciBpbnRlcmZhY2UgZm9yIC5jay1yb3VuZGVkLWNvcm5lcnMgY2xhc3MuXG4gKlxuICogQHNlZSAkY2stYm9yZGVyLXJhZGl1c1xuICovXG5cbjpyb290IHtcblx0LS1jay10YWJsZS1wcm9wZXJ0aWVzLWVycm9yLWFycm93LXNpemU6IDZweDtcblx0LS1jay10YWJsZS1wcm9wZXJ0aWVzLW1pbi1lcnJvci13aWR0aDogMTUwcHg7XG59XG5cbi5jay5jay10YWJsZS1mb3JtIC5jay1mb3JtX19yb3cuY2stdGFibGUtZm9ybV9fYm9yZGVyLXJvdyAuY2stbGFiZWxlZC1maWVsZC12aWV3ID4gLmNrLWxhYmVsIHtcblx0XHRcdFx0XHRmb250LXNpemU6IHZhcigtLWNrLWZvbnQtc2l6ZS10aW55KTtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdH1cblxuLmNrLmNrLXRhYmxlLWZvcm0gLmNrLWZvcm1fX3Jvdy5jay10YWJsZS1mb3JtX19ib3JkZXItcm93IC5jay10YWJsZS1mb3JtX19ib3JkZXItc3R5bGUge1xuXHRcdFx0XHR3aWR0aDogODBweDtcblx0XHRcdFx0bWluLXdpZHRoOiA4MHB4O1xuXHRcdFx0fVxuXG4uY2suY2stdGFibGUtZm9ybSAuY2stZm9ybV9fcm93LmNrLXRhYmxlLWZvcm1fX2JvcmRlci1yb3cgLmNrLXRhYmxlLWZvcm1fX2JvcmRlci13aWR0aCB7XG5cdFx0XHRcdHdpZHRoOiA1MHB4O1xuXHRcdFx0XHRtaW4td2lkdGg6IDUwcHg7XG5cdFx0XHR9XG5cbi5jay5jay10YWJsZS1mb3JtIC5jay1mb3JtX19yb3cuY2stdGFibGUtZm9ybV9fZGltZW5zaW9ucy1yb3cge1xuXHRcdFx0cGFkZGluZzogMFxuXHRcdH1cblxuLmNrLmNrLXRhYmxlLWZvcm0gLmNrLWZvcm1fX3Jvdy5jay10YWJsZS1mb3JtX19kaW1lbnNpb25zLXJvdyAuY2stbGFiZWxlZC1maWVsZC12aWV3ID4gLmNrLWxhYmVsIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxMHB4O1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR9XG5cbi5jay5jay10YWJsZS1mb3JtIC5jay1mb3JtX19yb3cuY2stdGFibGUtZm9ybV9fZGltZW5zaW9ucy1yb3cgLmNrLXRhYmxlLWZvcm1fX2RpbWVuc2lvbnMtcm93X193aWR0aCxcblx0XHRcdC5jay5jay10YWJsZS1mb3JtIC5jay1mb3JtX19yb3cuY2stdGFibGUtZm9ybV9fZGltZW5zaW9ucy1yb3cgLmNrLXRhYmxlLWZvcm1fX2RpbWVuc2lvbnMtcm93X19oZWlnaHQge1xuXHRcdFx0XHRtYXJnaW46IDBcblx0XHRcdH1cblxuLmNrLmNrLXRhYmxlLWZvcm0gLmNrLWZvcm1fX3Jvdy5jay10YWJsZS1mb3JtX19kaW1lbnNpb25zLXJvdyAuY2stdGFibGUtZm9ybV9fZGltZW5zaW9uLW9wZXJhdG9yIHtcblx0XHRcdFx0YWxpZ24tc2VsZjogc3RhcnQ7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0aGVpZ2h0OiB2YXIoLS1jay11aS1jb21wb25lbnQtbWluLWhlaWdodCk7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiB2YXIoLS1jay11aS1jb21wb25lbnQtbWluLWhlaWdodCk7XG5cdFx0XHRcdG1hcmdpbjogMCB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKTtcblx0XHRcdH1cblxuLmNrLmNrLXRhYmxlLWZvcm0gLmNrLmNrLWxhYmVsZWQtZmllbGQtdmlldyAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3X19zdGF0dXMge1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHR9XG5cbi5jay1yb3VuZGVkLWNvcm5lcnMgLmNrLmNrLXRhYmxlLWZvcm0gLmNrLmNrLWxhYmVsZWQtZmllbGQtdmlldyAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3X19zdGF0dXMsIC5jay5jay10YWJsZS1mb3JtIC5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXcgLmNrLmNrLWxhYmVsZWQtZmllbGQtdmlld19fc3RhdHVzLmNrLXJvdW5kZWQtY29ybmVycyB7XG5cdFx0Ym9yZGVyLXJhZGl1czogdmFyKC0tY2stYm9yZGVyLXJhZGl1cyk7XG5cdFx0fVxuXG4uY2suY2stdGFibGUtZm9ybSAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3IC5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXdfX3N0YXR1cyB7XG5cblx0XHRcdGJhY2tncm91bmQ6IHZhcigtLWNrLWNvbG9yLWJhc2UtZXJyb3IpO1xuXHRcdFx0Y29sb3I6IHZhcigtLWNrLWNvbG9yLWJhc2UtYmFja2dyb3VuZCk7XG5cdFx0XHRwYWRkaW5nOiB2YXIoLS1jay1zcGFjaW5nLXNtYWxsKSB2YXIoLS1jay1zcGFjaW5nLW1lZGl1bSk7XG5cdFx0XHRtaW4td2lkdGg6IHZhcigtLWNrLXRhYmxlLXByb3BlcnRpZXMtbWluLWVycm9yLXdpZHRoKTtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdFx0LyogVGhlIGFycm93IHBvaW50aW5nIHRvd2FyZHMgdGhlIGZpZWxkLiAqL1xuXHRcdH1cblxuLmNrLmNrLXRhYmxlLWZvcm0gLmNrLmNrLWxhYmVsZWQtZmllbGQtdmlldyAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3X19zdGF0dXM6OmFmdGVyIHtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB2YXIoLS1jay1jb2xvci1iYXNlLWVycm9yKSB0cmFuc3BhcmVudDtcblx0XHRcdFx0Ym9yZGVyLXdpZHRoOiAwIHZhcigtLWNrLXRhYmxlLXByb3BlcnRpZXMtZXJyb3ItYXJyb3ctc2l6ZSkgdmFyKC0tY2stdGFibGUtcHJvcGVydGllcy1lcnJvci1hcnJvdy1zaXplKSB2YXIoLS1jay10YWJsZS1wcm9wZXJ0aWVzLWVycm9yLWFycm93LXNpemUpO1xuXHRcdFx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdFx0fVxuXG4uY2suY2stdGFibGUtZm9ybSAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3IC5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXdfX3N0YXR1cyB7XG5cblx0XHRcdGFuaW1hdGlvbjogY2stdGFibGUtZm9ybS1sYWJlbGVkLXZpZXctc3RhdHVzLWFwcGVhciAuMTVzIGVhc2UgYm90aDtcblx0XHR9XG5cbi5jay5jay10YWJsZS1mb3JtIC5jay5jay1sYWJlbGVkLWZpZWxkLXZpZXcge1xuXG5cdFx0LyogSGlkZSB0aGUgZXJyb3IgYmFsbG9vbiB3aGVuIHRoZSBmaWVsZCBpcyBibHVycmVkLiBNYWtlcyB0aGUgZXhwZXJpZW5jZSBtdWNoIG1vcmUgY2xlYXIuICovXG5cdH1cblxuLmNrLmNrLXRhYmxlLWZvcm0gLmNrLmNrLWxhYmVsZWQtZmllbGQtdmlldyAuY2staW5wdXQuY2stZXJyb3I6bm90KDpmb2N1cykgKyAuY2suY2stbGFiZWxlZC1maWVsZC12aWV3X19zdGF0dXMge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cbkBrZXlmcmFtZXMgY2stdGFibGUtZm9ybS1sYWJlbGVkLXZpZXctc3RhdHVzLWFwcGVhciB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuIiwiLyogQzpcXGxhcmFnb25cXHd3d1xcdHJ1c3RcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdGFibGVcXHRoZW1lXFx0YWJsZXByb3BlcnRpZXMuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLXRhYmxlLXByb3BlcnRpZXMtZm9ybSAuY2stZm9ybV9fcm93LmNrLXRhYmxlLXByb3BlcnRpZXMtZm9ybV9fYWxpZ25tZW50LXJvdyB7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRmbGV4LWJhc2lzOiAwO1xuXHRcdFx0YWxpZ24tY29udGVudDogYmFzZWxpbmVcblx0XHR9XG5cbi5jay5jay10YWJsZS1wcm9wZXJ0aWVzLWZvcm0gLmNrLWZvcm1fX3Jvdy5jay10YWJsZS1wcm9wZXJ0aWVzLWZvcm1fX2FsaWdubWVudC1yb3cgLmNrLmNrLXRvb2xiYXIgLmNrLXRvb2xiYXJfX2l0ZW1zIHtcblx0XHRcdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cdFx0XHR9XG5cbi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRoZW1lLWxhcmtcXHRoZW1lXFxja2VkaXRvcjUtdGFibGVcXHRhYmxlcHJvcGVydGllcy5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4uY2suY2stdGFibGUtcHJvcGVydGllcy1mb3JtIHtcblx0d2lkdGg6IDMyMHB4XG59XG5cbi5jay5jay10YWJsZS1wcm9wZXJ0aWVzLWZvcm0gLmNrLWZvcm1fX3Jvdy5jay10YWJsZS1wcm9wZXJ0aWVzLWZvcm1fX2FsaWdubWVudC1yb3cge1xuXHRcdFx0cGFkZGluZzogMFxuXHRcdH1cblxuLmNrLmNrLXRhYmxlLXByb3BlcnRpZXMtZm9ybSAuY2stZm9ybV9fcm93LmNrLXRhYmxlLXByb3BlcnRpZXMtZm9ybV9fYWxpZ25tZW50LXJvdyAuY2suY2stdG9vbGJhciB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IG5vbmVcblx0XHRcdH1cblxuLmNrLmNrLXRhYmxlLXByb3BlcnRpZXMtZm9ybSAuY2stZm9ybV9fcm93LmNrLXRhYmxlLXByb3BlcnRpZXMtZm9ybV9fYWxpZ25tZW50LXJvdyAuY2suY2stdG9vbGJhciAuY2stdG9vbGJhcl9faXRlbXMgPiAqIHtcblx0XHRcdFx0XHR3aWR0aDogNDBweDtcblx0XHRcdFx0fVxuIiwiLyogQzpcXGxhcmFnb25cXHd3d1xcdHJ1c3RcXG5vZGVfbW9kdWxlc1xcQGNrZWRpdG9yXFxja2VkaXRvcjUtdGFibGVcXHRoZW1lXFx0YWJsZWNlbGxwcm9wZXJ0aWVzLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jay5jay10YWJsZS1jZWxsLXByb3BlcnRpZXMtZm9ybSAuY2stZm9ybV9fcm93LmNrLXRhYmxlLWNlbGwtcHJvcGVydGllcy1mb3JtX19hbGlnbm1lbnQtcm93IHtcblx0XHRcdGZsZXgtd3JhcDogd3JhcFxuXHRcdH1cblxuLmNrLmNrLXRhYmxlLWNlbGwtcHJvcGVydGllcy1mb3JtIC5jay1mb3JtX19yb3cuY2stdGFibGUtY2VsbC1wcm9wZXJ0aWVzLWZvcm1fX2FsaWdubWVudC1yb3cgLmNrLmNrLXRvb2xiYXIge1xuXHRcdFx0XHRmbGV4LWdyb3c6IDA7XG5cdFx0XHR9XG5cbi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRoZW1lLWxhcmtcXHRoZW1lXFxja2VkaXRvcjUtdGFibGVcXHRhYmxlY2VsbHByb3BlcnRpZXMuY3NzICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLmNrLXRhYmxlLWNlbGwtcHJvcGVydGllcy1mb3JtIHtcblx0d2lkdGg6IDMyMHB4XG59XG5cbi5jay5jay10YWJsZS1jZWxsLXByb3BlcnRpZXMtZm9ybSAuY2stZm9ybV9fcm93LmNrLXRhYmxlLWNlbGwtcHJvcGVydGllcy1mb3JtX19wYWRkaW5nLXJvdyB7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0d2lkdGg6IDM1JTtcblx0XHR9XG5cbi5jay5jay10YWJsZS1jZWxsLXByb3BlcnRpZXMtZm9ybSAuY2stZm9ybV9fcm93LmNrLXRhYmxlLWNlbGwtcHJvcGVydGllcy1mb3JtX19hbGlnbm1lbnQtcm93IC5jay5jay10b29sYmFyIHtcblx0XHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRcdH1cbiIsIi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LWJsb2NrLXF1b3RlXFx0aGVtZVxcYmxvY2txdW90ZS5jc3MgKi9cblxuLyoqXG4gKiBAbGljZW5zZSBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrLWNvbnRlbnQgYmxvY2txdW90ZSB7XG5cdC8qIFNlZSAjMTIgKi9cblx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHQvKiBodHRwczovL2dpdGh1Yi5jb20vY2tlZGl0b3IvY2tlZGl0b3I1LWJsb2NrLXF1b3RlL2lzc3Vlcy8xNSAqL1xuXHRwYWRkaW5nLXJpZ2h0OiAxLjVlbTtcblx0cGFkZGluZy1sZWZ0OiAxLjVlbTtcblxuXHRtYXJnaW4tbGVmdDogMDtcblx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdGJvcmRlci1sZWZ0OiBzb2xpZCA1cHggaHNsKDAsIDAlLCA4MCUpO1xufVxuXG4uY2stY29udGVudFtkaXI9XCJydGxcIl0gYmxvY2txdW90ZSB7XG5cdGJvcmRlci1sZWZ0OiAwO1xuXHRib3JkZXItcmlnaHQ6IHNvbGlkIDVweCBoc2woMCwgMCUsIDgwJSk7XG59XG4iLCIvKiBDOlxcbGFyYWdvblxcd3d3XFx0cnVzdFxcbm9kZV9tb2R1bGVzXFxAY2tlZGl0b3JcXGNrZWRpdG9yNS1mb250XFx0aGVtZVxcZm9udGNvbG9yLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi5jayAuY2stYnV0dG9uLmNrLWNvbG9yLXRhYmxlX19yZW1vdmUtY29sb3Ige1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR3aWR0aDogMTAwJTtcbn1cblxubGFiZWwuY2suY2stY29sb3ItZ3JpZF9fbGFiZWwge1xuXHRmb250LXdlaWdodDogdW5zZXQ7XG59XG5cbi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LXRoZW1lLWxhcmtcXHRoZW1lXFxja2VkaXRvcjUtZm9udFxcZm9udGNvbG9yLmNzcyAqL1xuXG4vKlxuICogQ29weXJpZ2h0IChjKSAyMDAzLTIwMjAsIENLU291cmNlIC0gRnJlZGVyaWNvIEtuYWJiZW4uIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBGb3IgbGljZW5zaW5nLCBzZWUgTElDRU5TRS5tZCBvciBodHRwczovL2NrZWRpdG9yLmNvbS9sZWdhbC9ja2VkaXRvci1vc3MtbGljZW5zZVxuICovXG5cbi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAyMCwgQ0tTb3VyY2UgLSBGcmVkZXJpY28gS25hYmJlbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIEZvciBsaWNlbnNpbmcsIHNlZSBMSUNFTlNFLm1kIG9yIGh0dHBzOi8vY2tlZGl0b3IuY29tL2xlZ2FsL2NrZWRpdG9yLW9zcy1saWNlbnNlXG4gKi9cblxuLmNrIC5jay1idXR0b24uY2stY29sb3ItdGFibGVfX3JlbW92ZS1jb2xvciB7XG5cdHBhZGRpbmc6IGNhbGModmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCkgLyAyICkgdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZCk7XG5cdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG5cdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwXG59XG5cbi5jayAuY2stYnV0dG9uLmNrLWNvbG9yLXRhYmxlX19yZW1vdmUtY29sb3I6bm90KDpmb2N1cykge1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jay1jb2xvci1iYXNlLWJvcmRlcik7XG5cdH1cblxuW2Rpcj1cImx0clwiXSAuY2sgLmNrLWJ1dHRvbi5jay1jb2xvci10YWJsZV9fcmVtb3ZlLWNvbG9yIC5jay5jay1pY29uIHtcblx0XHRcdG1hcmdpbi1yaWdodDogdmFyKC0tY2stc3BhY2luZy1zdGFuZGFyZClcblx0fVxuXG5bZGlyPVwicnRsXCJdIC5jayAuY2stYnV0dG9uLmNrLWNvbG9yLXRhYmxlX19yZW1vdmUtY29sb3IgLmNrLmNrLWljb24ge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IHZhcigtLWNrLXNwYWNpbmctc3RhbmRhcmQpXG5cdH1cbiIsIi8qIEM6XFxsYXJhZ29uXFx3d3dcXHRydXN0XFxub2RlX21vZHVsZXNcXEBja2VkaXRvclxcY2tlZGl0b3I1LWZvbnRcXHRoZW1lXFxmb250c2l6ZS5jc3MgKi9cblxuLypcbiAqIENvcHlyaWdodCAoYykgMjAwMy0yMDIwLCBDS1NvdXJjZSAtIEZyZWRlcmljbyBLbmFiYmVuLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogRm9yIGxpY2Vuc2luZywgc2VlIExJQ0VOU0UubWQgb3IgaHR0cHM6Ly9ja2VkaXRvci5jb20vbGVnYWwvY2tlZGl0b3Itb3NzLWxpY2Vuc2VcbiAqL1xuXG4vKiBUaGUgdmFsdWVzIHNob3VsZCBiZSBzeW5jaHJvbml6ZWQgd2l0aCB0aGUgXCJGT05UX1NJWkVfUFJFU0VUX1VOSVRTXCIgb2JqZWN0IGluIHRoZSBcIi9zcmMvZm9udHNpemUvdXRpbHMuanNcIiBmaWxlLiAqL1xuXG4vKiBTdHlsZXMgc2hvdWxkIGJlIHByZWZpeGVkIHdpdGggdGhlIGAuY2stY29udGVudGAgY2xhc3MuXG5TZWUgaHR0cHM6Ly9naXRodWIuY29tL2NrZWRpdG9yL2NrZWRpdG9yNS9pc3N1ZXMvNjYzNiAqL1xuXG4uY2stY29udGVudCAudGV4dC10aW55IHtcblx0XHRmb250LXNpemU6IC43ZW07XG5cdH1cblxuLmNrLWNvbnRlbnQgLnRleHQtc21hbGwge1xuXHRcdGZvbnQtc2l6ZTogLjg1ZW07XG5cdH1cblxuLmNrLWNvbnRlbnQgLnRleHQtYmlnIHtcblx0XHRmb250LXNpemU6IDEuNGVtO1xuXHR9XG5cbi5jay1jb250ZW50IC50ZXh0LWh1Z2Uge1xuXHRcdGZvbnQtc2l6ZTogMS44ZW07XG5cdH1cbiIsIi8qISBQaWNrciAxLjUuMSBNSVQgfCBodHRwczovL2dpdGh1Yi5jb20vU2ltb253ZXAvcGlja3IgKi8ucGlja3J7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6dmlzaWJsZTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0ucGlja3IgKntib3gtc2l6aW5nOmJvcmRlci1ib3g7b3V0bGluZTpub25lO2JvcmRlcjpub25lOy13ZWJraXQtYXBwZWFyYW5jZTpub25lfS5waWNrciAucGNyLWJ1dHRvbntwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MmVtO3dpZHRoOjJlbTtwYWRkaW5nOi41ZW07Y3Vyc29yOnBvaW50ZXI7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxCbGlua01hY1N5c3RlbUZvbnQsU2Vnb2UgVUksUm9ib3RvLEhlbHZldGljYSBOZXVlLEFyaWFsLHNhbnMtc2VyaWY7Ym9yZGVyLXJhZGl1czouMTVlbTtiYWNrZ3JvdW5kOnVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNTAgNTBcIiBzdHJva2U9XCIlMjM0MjQ0NUFcIiBzdHJva2Utd2lkdGg9XCI1cHhcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCI+PHBhdGggZD1cIk00NSw0NUw1LDVcIj48L3BhdGg+PHBhdGggZD1cIk00NSw1TDUsNDVcIj48L3BhdGg+PC9zdmc+Jykgbm8tcmVwZWF0IDUwJTtiYWNrZ3JvdW5kLXNpemU6MDt0cmFuc2l0aW9uOmFsbCAuM3N9LnBpY2tyIC5wY3ItYnV0dG9uOmJlZm9yZXtiYWNrZ3JvdW5kOnVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMiAyXCI+PHBhdGggZmlsbD1cIndoaXRlXCIgZD1cIk0xLDBIMlYxSDFWMFpNMCwxSDFWMkgwVjFaXCIvPjxwYXRoIGZpbGw9XCJncmF5XCIgZD1cIk0wLDBIMVYxSDBWMFpNMSwxSDJWMkgxVjFaXCIvPjwvc3ZnPicpO2JhY2tncm91bmQtc2l6ZTouNWVtO3otaW5kZXg6LTE7ei1pbmRleDphdXRvfS5waWNrciAucGNyLWJ1dHRvbjphZnRlciwucGlja3IgLnBjci1idXR0b246YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6XCJcIjt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtib3JkZXItcmFkaXVzOi4xNWVtfS5waWNrciAucGNyLWJ1dHRvbjphZnRlcnt0cmFuc2l0aW9uOmJhY2tncm91bmQgLjNzO2JhY2tncm91bmQ6Y3VycmVudENvbG9yfS5waWNrciAucGNyLWJ1dHRvbi5jbGVhcntiYWNrZ3JvdW5kLXNpemU6NzAlfS5waWNrciAucGNyLWJ1dHRvbi5jbGVhcjpiZWZvcmV7b3BhY2l0eTowfS5waWNrciAucGNyLWJ1dHRvbi5jbGVhcjpmb2N1c3tib3gtc2hhZG93OjAgMCAwIDFweCBoc2xhKDAsMCUsMTAwJSwuODUpLDAgMCAwIDNweCBjdXJyZW50Q29sb3J9LnBpY2tyIC5wY3ItYnV0dG9uLmRpc2FibGVke2N1cnNvcjpub3QtYWxsb3dlZH0ucGNyLWFwcCAqLC5waWNrciAqe2JveC1zaXppbmc6Ym9yZGVyLWJveDtvdXRsaW5lOm5vbmU7Ym9yZGVyOm5vbmU7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9LnBjci1hcHAgYnV0dG9uLnBjci1hY3RpdmUsLnBjci1hcHAgYnV0dG9uOmZvY3VzLC5wY3ItYXBwIGlucHV0LnBjci1hY3RpdmUsLnBjci1hcHAgaW5wdXQ6Zm9jdXMsLnBpY2tyIGJ1dHRvbi5wY3ItYWN0aXZlLC5waWNrciBidXR0b246Zm9jdXMsLnBpY2tyIGlucHV0LnBjci1hY3RpdmUsLnBpY2tyIGlucHV0OmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgMXB4IGhzbGEoMCwwJSwxMDAlLC44NSksMCAwIDAgM3B4IGN1cnJlbnRDb2xvcn0ucGNyLWFwcCAucGNyLXBhbGV0dGUsLnBjci1hcHAgLnBjci1zbGlkZXIsLnBpY2tyIC5wY3ItcGFsZXR0ZSwucGlja3IgLnBjci1zbGlkZXJ7dHJhbnNpdGlvbjpib3gtc2hhZG93IC4zc30ucGNyLWFwcCAucGNyLXBhbGV0dGU6Zm9jdXMsLnBjci1hcHAgLnBjci1zbGlkZXI6Zm9jdXMsLnBpY2tyIC5wY3ItcGFsZXR0ZTpmb2N1cywucGlja3IgLnBjci1zbGlkZXI6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAxcHggaHNsYSgwLDAlLDEwMCUsLjg1KSwwIDAgMCAzcHggcmdiYSgwLDAsMCwuMjUpfS5wY3ItYXBwe3Bvc2l0aW9uOmZpeGVkO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ei1pbmRleDoxMDAwMDtib3JkZXItcmFkaXVzOi4xZW07YmFja2dyb3VuZDojZmZmO29wYWNpdHk6MDt2aXNpYmlsaXR5OmhpZGRlbjt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzLHZpc2liaWxpdHkgMHMgLjNzO2ZvbnQtZmFtaWx5Oi1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFNlZ29lIFVJLFJvYm90byxIZWx2ZXRpY2EgTmV1ZSxBcmlhbCxzYW5zLXNlcmlmO2JveC1zaGFkb3c6MCAuMTVlbSAxLjVlbSAwIHJnYmEoMCwwLDAsLjEpLDAgMCAxZW0gMCByZ2JhKDAsMCwwLC4wMyk7bGVmdDowO3RvcDowfS5wY3ItYXBwLnZpc2libGV7dHJhbnNpdGlvbjpvcGFjaXR5IC4zczt2aXNpYmlsaXR5OnZpc2libGU7b3BhY2l0eToxfS5wY3ItYXBwIC5wY3Itc3dhdGNoZXN7ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO21hcmdpbi10b3A6Ljc1ZW19LnBjci1hcHAgLnBjci1zd2F0Y2hlcy5wY3ItbGFzdHttYXJnaW46MH1Ac3VwcG9ydHMgKGRpc3BsYXk6Z3JpZCl7LnBjci1hcHAgLnBjci1zd2F0Y2hlc3tkaXNwbGF5OmdyaWQ7YWxpZ24taXRlbXM6Y2VudGVyO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoYXV0by1maXQsMS43NWVtKX19LnBjci1hcHAgLnBjci1zd2F0Y2hlcz5idXR0b257Zm9udC1zaXplOjFlbTtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDpjYWxjKDEuNzVlbSAtIDVweCk7aGVpZ2h0OmNhbGMoMS43NWVtIC0gNXB4KTtib3JkZXItcmFkaXVzOi4xNWVtO2N1cnNvcjpwb2ludGVyO21hcmdpbjoyLjVweDtmbGV4LXNocmluazowO2p1c3RpZnktc2VsZjpjZW50ZXI7dHJhbnNpdGlvbjphbGwgLjE1cztvdmVyZmxvdzpoaWRkZW47YmFja2dyb3VuZDp0cmFuc3BhcmVudDt6LWluZGV4OjF9LnBjci1hcHAgLnBjci1zd2F0Y2hlcz5idXR0b246YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6XCJcIjt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOnVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMiAyXCI+PHBhdGggZmlsbD1cIndoaXRlXCIgZD1cIk0xLDBIMlYxSDFWMFpNMCwxSDFWMkgwVjFaXCIvPjxwYXRoIGZpbGw9XCJncmF5XCIgZD1cIk0wLDBIMVYxSDBWMFpNMSwxSDJWMkgxVjFaXCIvPjwvc3ZnPicpO2JhY2tncm91bmQtc2l6ZTo2cHg7Ym9yZGVyLXJhZGl1czouMTVlbTt6LWluZGV4Oi0xfS5wY3ItYXBwIC5wY3Itc3dhdGNoZXM+YnV0dG9uOmFmdGVye2NvbnRlbnQ6XCJcIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvcjtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA1KTtib3JkZXItcmFkaXVzOi4xNWVtO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ucGNyLWFwcCAucGNyLXN3YXRjaGVzPmJ1dHRvbjpob3Zlcnstd2Via2l0LWZpbHRlcjpicmlnaHRuZXNzKDEuMDUpO2ZpbHRlcjpicmlnaHRuZXNzKDEuMDUpfS5wY3ItYXBwIC5wY3ItaW50ZXJhY3Rpb257ZGlzcGxheTpmbGV4O2ZsZXgtd3JhcDp3cmFwO2FsaWduLWl0ZW1zOmNlbnRlcjttYXJnaW46MCAtLjJlbX0ucGNyLWFwcCAucGNyLWludGVyYWN0aW9uPip7bWFyZ2luOjAgLjJlbX0ucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIGlucHV0e2xldHRlci1zcGFjaW5nOi4wN2VtO2ZvbnQtc2l6ZTouNzVlbTt0ZXh0LWFsaWduOmNlbnRlcjtjdXJzb3I6cG9pbnRlcjtjb2xvcjojNzU3OTdlO2JhY2tncm91bmQ6I2YxZjNmNDtib3JkZXItcmFkaXVzOi4xNWVtO3RyYW5zaXRpb246YWxsIC4xNXM7cGFkZGluZzouNDVlbSAuNWVtO21hcmdpbi10b3A6Ljc1ZW19LnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiBpbnB1dDpob3Zlcnstd2Via2l0LWZpbHRlcjpicmlnaHRuZXNzKC45NzUpO2ZpbHRlcjpicmlnaHRuZXNzKC45NzUpfS5wY3ItYXBwIC5wY3ItaW50ZXJhY3Rpb24gaW5wdXQ6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAxcHggaHNsYSgwLDAlLDEwMCUsLjg1KSwwIDAgMCAzcHggcmdiYSg2NiwxMzMsMjQ0LC43NSl9LnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLXJlc3VsdHtjb2xvcjojNzU3OTdlO3RleHQtYWxpZ246bGVmdDtmbGV4OjEgMSA4ZW07bWluLXdpZHRoOjhlbTt0cmFuc2l0aW9uOmFsbCAuMnM7Ym9yZGVyLXJhZGl1czouMTVlbTtiYWNrZ3JvdW5kOiNmMWYzZjQ7Y3Vyc29yOnRleHR9LnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLXJlc3VsdDo6LW1vei1zZWxlY3Rpb257YmFja2dyb3VuZDojNDI4NWY0O2NvbG9yOiNmZmZ9LnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLXJlc3VsdDo6c2VsZWN0aW9ue2JhY2tncm91bmQ6IzQyODVmNDtjb2xvcjojZmZmfS5wY3ItYXBwIC5wY3ItaW50ZXJhY3Rpb24gLnBjci10eXBlLmFjdGl2ZXtjb2xvcjojZmZmO2JhY2tncm91bmQ6IzQyODVmNH0ucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIC5wY3ItY2FuY2VsLC5wY3ItYXBwIC5wY3ItaW50ZXJhY3Rpb24gLnBjci1jbGVhciwucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIC5wY3Itc2F2ZXt3aWR0aDphdXRvO2NvbG9yOiNmZmZ9LnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLWNhbmNlbDpob3ZlciwucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIC5wY3ItY2xlYXI6aG92ZXIsLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLXNhdmU6aG92ZXJ7LXdlYmtpdC1maWx0ZXI6YnJpZ2h0bmVzcyguOTI1KTtmaWx0ZXI6YnJpZ2h0bmVzcyguOTI1KX0ucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIC5wY3Itc2F2ZXtiYWNrZ3JvdW5kOiM0Mjg1ZjR9LnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLWNhbmNlbCwucGNyLWFwcCAucGNyLWludGVyYWN0aW9uIC5wY3ItY2xlYXJ7YmFja2dyb3VuZDojZjQ0MjUwfS5wY3ItYXBwIC5wY3ItaW50ZXJhY3Rpb24gLnBjci1jYW5jZWw6Zm9jdXMsLnBjci1hcHAgLnBjci1pbnRlcmFjdGlvbiAucGNyLWNsZWFyOmZvY3Vze2JveC1zaGFkb3c6MCAwIDAgMXB4IGhzbGEoMCwwJSwxMDAlLC44NSksMCAwIDAgM3B4IHJnYmEoMjQ0LDY2LDgwLC43NSl9LnBjci1hcHAgLnBjci1zZWxlY3Rpb24gLnBjci1waWNrZXJ7cG9zaXRpb246YWJzb2x1dGU7aGVpZ2h0OjE4cHg7d2lkdGg6MThweDtib3JkZXI6MnB4IHNvbGlkICNmZmY7Ym9yZGVyLXJhZGl1czoxMDAlOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ucGNyLWFwcCAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLWNob29zZXIsLnBjci1hcHAgLnBjci1zZWxlY3Rpb24gLnBjci1jb2xvci1vcGFjaXR5LC5wY3ItYXBwIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItcGFsZXR0ZXtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtjdXJzb3I6Z3JhYjtjdXJzb3I6LXdlYmtpdC1ncmFifS5wY3ItYXBwIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItY2hvb3NlcjphY3RpdmUsLnBjci1hcHAgLnBjci1zZWxlY3Rpb24gLnBjci1jb2xvci1vcGFjaXR5OmFjdGl2ZSwucGNyLWFwcCAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLXBhbGV0dGU6YWN0aXZle2N1cnNvcjpncmFiYmluZztjdXJzb3I6LXdlYmtpdC1ncmFiYmluZ30ucGNyLWFwcFtkYXRhLXRoZW1lPWNsYXNzaWNde3dpZHRoOjI4LjVlbTttYXgtd2lkdGg6OTV2dztwYWRkaW5nOi44ZW19LnBjci1hcHBbZGF0YS10aGVtZT1jbGFzc2ljXSAucGNyLXNlbGVjdGlvbntkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47ZmxleC1ncm93OjF9LnBjci1hcHBbZGF0YS10aGVtZT1jbGFzc2ljXSAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLXByZXZpZXd7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO3dpZHRoOjJlbTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO21hcmdpbi1yaWdodDouNzVlbX0ucGNyLWFwcFtkYXRhLXRoZW1lPWNsYXNzaWNdIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItcHJldmlldzpiZWZvcmV7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDpcIlwiO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQ6dXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyIDJcIj48cGF0aCBmaWxsPVwid2hpdGVcIiBkPVwiTTEsMEgyVjFIMVYwWk0wLDFIMVYySDBWMVpcIi8+PHBhdGggZmlsbD1cImdyYXlcIiBkPVwiTTAsMEgxVjFIMFYwWk0xLDFIMlYySDFWMVpcIi8+PC9zdmc+Jyk7YmFja2dyb3VuZC1zaXplOi41ZW07Ym9yZGVyLXJhZGl1czouMTVlbTt6LWluZGV4Oi0xfS5wY3ItYXBwW2RhdGEtdGhlbWU9Y2xhc3NpY10gLnBjci1zZWxlY3Rpb24gLnBjci1jb2xvci1wcmV2aWV3IC5wY3ItbGFzdC1jb2xvcntjdXJzb3I6cG9pbnRlcjt0cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjNzLGJveC1zaGFkb3cgLjNzO2JvcmRlci1yYWRpdXM6LjE1ZW0gLjE1ZW0gMCAwO3otaW5kZXg6Mn0ucGNyLWFwcFtkYXRhLXRoZW1lPWNsYXNzaWNdIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItcHJldmlldyAucGNyLWN1cnJlbnQtY29sb3J7Ym9yZGVyLXJhZGl1czowIDAgLjE1ZW0gLjE1ZW19LnBjci1hcHBbZGF0YS10aGVtZT1jbGFzc2ljXSAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLXByZXZpZXcgLnBjci1jdXJyZW50LWNvbG9yLC5wY3ItYXBwW2RhdGEtdGhlbWU9Y2xhc3NpY10gLnBjci1zZWxlY3Rpb24gLnBjci1jb2xvci1wcmV2aWV3IC5wY3ItbGFzdC1jb2xvcntiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvcjt3aWR0aDoxMDAlO2hlaWdodDo1MCV9LnBjci1hcHBbZGF0YS10aGVtZT1jbGFzc2ljXSAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLXBhbGV0dGV7d2lkdGg6MTAwJTtoZWlnaHQ6OGVtO3otaW5kZXg6MX0ucGNyLWFwcFtkYXRhLXRoZW1lPWNsYXNzaWNdIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItcGFsZXR0ZSAucGNyLXBhbGV0dGV7ZmxleC1ncm93OjE7Ym9yZGVyLXJhZGl1czouMTVlbX0ucGNyLWFwcFtkYXRhLXRoZW1lPWNsYXNzaWNdIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItcGFsZXR0ZSAucGNyLXBhbGV0dGU6YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6XCJcIjt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOnVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMiAyXCI+PHBhdGggZmlsbD1cIndoaXRlXCIgZD1cIk0xLDBIMlYxSDFWMFpNMCwxSDFWMkgwVjFaXCIvPjxwYXRoIGZpbGw9XCJncmF5XCIgZD1cIk0wLDBIMVYxSDBWMFpNMSwxSDJWMkgxVjFaXCIvPjwvc3ZnPicpO2JhY2tncm91bmQtc2l6ZTouNWVtO2JvcmRlci1yYWRpdXM6LjE1ZW07ei1pbmRleDotMX0ucGNyLWFwcFtkYXRhLXRoZW1lPWNsYXNzaWNdIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItY2hvb3NlciwucGNyLWFwcFtkYXRhLXRoZW1lPWNsYXNzaWNdIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3Itb3BhY2l0eXttYXJnaW4tbGVmdDouNzVlbX0ucGNyLWFwcFtkYXRhLXRoZW1lPWNsYXNzaWNdIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItY2hvb3NlciAucGNyLXBpY2tlciwucGNyLWFwcFtkYXRhLXRoZW1lPWNsYXNzaWNdIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3Itb3BhY2l0eSAucGNyLXBpY2tlcntsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX0ucGNyLWFwcFtkYXRhLXRoZW1lPWNsYXNzaWNdIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3ItY2hvb3NlciAucGNyLXNsaWRlciwucGNyLWFwcFtkYXRhLXRoZW1lPWNsYXNzaWNdIC5wY3Itc2VsZWN0aW9uIC5wY3ItY29sb3Itb3BhY2l0eSAucGNyLXNsaWRlcnt3aWR0aDo4cHg7ZmxleC1ncm93OjE7Ym9yZGVyLXJhZGl1czo1MGVtfS5wY3ItYXBwW2RhdGEtdGhlbWU9Y2xhc3NpY10gLnBjci1zZWxlY3Rpb24gLnBjci1jb2xvci1jaG9vc2VyIC5wY3Itc2xpZGVye2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZWQsI2ZmMCwjMGYwLCMwZmYsIzAwZiwjZjBmLHJlZCl9LnBjci1hcHBbZGF0YS10aGVtZT1jbGFzc2ljXSAucGNyLXNlbGVjdGlvbiAucGNyLWNvbG9yLW9wYWNpdHkgLnBjci1zbGlkZXJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLHRyYW5zcGFyZW50LCMwMDApLHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMiAyXCI+PHBhdGggZmlsbD1cIndoaXRlXCIgZD1cIk0xLDBIMlYxSDFWMFpNMCwxSDFWMkgwVjFaXCIvPjxwYXRoIGZpbGw9XCJncmF5XCIgZD1cIk0wLDBIMVYxSDBWMFpNMSwxSDJWMkgxVjFaXCIvPjwvc3ZnPicpO2JhY2tncm91bmQtc2l6ZToxMDAlLDUwJX0iXSwic291cmNlUm9vdCI6IiJ9*/