@charset "UTF-8";
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: 'FontAwesome';
  src: url("../fonts/fontawesome-webfont.eot?v=3.2.1");
  src: url("../fonts/fontawesome-webfont.eot?#iefix&v=3.2.1") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff?v=3.2.1") format("woff"), url("../fonts/fontawesome-webfont.ttf?v=3.2.1") format("truetype"), url("../fonts/fontawesome-webfont.svg#fontawesomeregular?v=3.2.1") format("svg");
  font-weight: normal;
  font-style: normal; }

/* FONT AWESOME CORE
 * -------------------------- */
[class^="icon-"],
[class*=" icon-"] {
  font-family: FontAwesome;
  font-weight: normal;
  font-style: normal;
  text-decoration: inherit;
  -webkit-font-smoothing: antialiased;
  *margin-right: .3em; }

[class^="icon-"]:before,
[class*=" icon-"]:before {
  text-decoration: inherit;
  display: inline-block;
  speak: none; }

/* makes the font 33% larger relative to the icon container */
.icon-large:before {
  vertical-align: -10%;
  font-size: 1.33333em; }

/* makes sure icons active on rollover in links */
a [class^="icon-"],
a [class*=" icon-"] {
  display: inline; }

/* increased font size for icon-large */
[class^="icon-"].icon-fixed-width,
[class*=" icon-"].icon-fixed-width {
  display: inline-block;
  width: 1.14286em;
  text-align: right;
  padding-right: 0.28571em; }
  [class^="icon-"].icon-fixed-width.icon-large,
  [class*=" icon-"].icon-fixed-width.icon-large {
    width: 1.42857em; }

.icons-ul {
  margin-left: 2.14286em;
  list-style-type: none; }
  .icons-ul > li {
    position: relative; }
  .icons-ul .icon-li {
    position: absolute;
    left: -2.14286em;
    width: 2.14286em;
    text-align: center;
    line-height: inherit; }

[class^="icon-"].hide,
[class*=" icon-"].hide {
  display: none; }

.icon-muted {
  color: #eeeeee; }

.icon-light {
  color: white; }

.icon-dark {
  color: #333333; }

.icon-border {
  border: solid 1px #eeeeee;
  padding: .2em .25em .15em;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px; }

.icon-2x {
  font-size: 2em; }
  .icon-2x.icon-border {
    border-width: 2px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px; }

.icon-3x {
  font-size: 3em; }
  .icon-3x.icon-border {
    border-width: 3px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px; }

.icon-4x {
  font-size: 4em; }
  .icon-4x.icon-border {
    border-width: 4px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px; }

.icon-5x {
  font-size: 5em; }
  .icon-5x.icon-border {
    border-width: 5px;
    -webkit-border-radius: 7px;
    -moz-border-radius: 7px;
    border-radius: 7px; }

.pull-right {
  float: right; }

.pull-left {
  float: left; }

[class^="icon-"].pull-left,
[class*=" icon-"].pull-left {
  margin-right: .3em; }

[class^="icon-"].pull-right,
[class*=" icon-"].pull-right {
  margin-left: .3em; }

/* BOOTSTRAP SPECIFIC CLASSES
 * -------------------------- */
/* Bootstrap 2.0 sprites.less reset */
[class^="icon-"],
[class*=" icon-"] {
  display: inline;
  width: auto;
  height: auto;
  line-height: normal;
  vertical-align: baseline;
  background-image: none;
  background-position: 0% 0%;
  background-repeat: repeat;
  margin-top: 0; }

/* more sprites.less reset */
.icon-white,
.nav-pills > .active > a > [class^="icon-"],
.nav-pills > .active > a > [class*=" icon-"],
.nav-list > .active > a > [class^="icon-"],
.nav-list > .active > a > [class*=" icon-"],
.navbar-inverse .nav > .active > a > [class^="icon-"],
.navbar-inverse .nav > .active > a > [class*=" icon-"],
.dropdown-menu > li > a:hover > [class^="icon-"],
.dropdown-menu > li > a:hover > [class*=" icon-"],
.dropdown-menu > .active > a > [class^="icon-"],
.dropdown-menu > .active > a > [class*=" icon-"],
.dropdown-submenu:hover > a > [class^="icon-"],
.dropdown-submenu:hover > a > [class*=" icon-"] {
  background-image: none; }

/* keeps Bootstrap styles with and without icons the same */
.btn [class^="icon-"].icon-large,
.btn [class*=" icon-"].icon-large, .nav [class^="icon-"].icon-large,
.nav [class*=" icon-"].icon-large {
  line-height: .9em; }

.btn [class^="icon-"].icon-spin,
.btn [class*=" icon-"].icon-spin, .nav [class^="icon-"].icon-spin,
.nav [class*=" icon-"].icon-spin {
  display: inline-block; }

.nav-tabs [class^="icon-"], .nav-tabs [class^="icon-"].icon-large,
.nav-tabs [class*=" icon-"],
.nav-tabs [class*=" icon-"].icon-large, .nav-pills [class^="icon-"], .nav-pills [class^="icon-"].icon-large,
.nav-pills [class*=" icon-"],
.nav-pills [class*=" icon-"].icon-large {
  line-height: .9em; }

.btn [class^="icon-"].pull-left.icon-2x, .btn [class^="icon-"].pull-right.icon-2x,
.btn [class*=" icon-"].pull-left.icon-2x,
.btn [class*=" icon-"].pull-right.icon-2x {
  margin-top: .18em; }

.btn [class^="icon-"].icon-spin.icon-large,
.btn [class*=" icon-"].icon-spin.icon-large {
  line-height: .8em; }

.btn.btn-small [class^="icon-"].pull-left.icon-2x, .btn.btn-small [class^="icon-"].pull-right.icon-2x,
.btn.btn-small [class*=" icon-"].pull-left.icon-2x,
.btn.btn-small [class*=" icon-"].pull-right.icon-2x {
  margin-top: .25em; }

.btn.btn-large [class^="icon-"],
.btn.btn-large [class*=" icon-"] {
  margin-top: 0; }
  .btn.btn-large [class^="icon-"].pull-left.icon-2x, .btn.btn-large [class^="icon-"].pull-right.icon-2x,
  .btn.btn-large [class*=" icon-"].pull-left.icon-2x,
  .btn.btn-large [class*=" icon-"].pull-right.icon-2x {
    margin-top: .05em; }
  .btn.btn-large [class^="icon-"].pull-left.icon-2x,
  .btn.btn-large [class*=" icon-"].pull-left.icon-2x {
    margin-right: .2em; }
  .btn.btn-large [class^="icon-"].pull-right.icon-2x,
  .btn.btn-large [class*=" icon-"].pull-right.icon-2x {
    margin-left: .2em; }

/* Fixes alignment in nav lists */
.nav-list [class^="icon-"],
.nav-list [class*=" icon-"] {
  line-height: inherit; }

/* EXTRAS
 * -------------------------- */
/* Stacked and layered icon */
.icon-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: -35%; }
  .icon-stack [class^="icon-"],
  .icon-stack [class*=" icon-"] {
    display: block;
    text-align: center;
    position: absolute;
    width: 100%;
    height: 100%;
    font-size: 1em;
    line-height: inherit;
    *line-height: 2em; }
  .icon-stack .icon-stack-base {
    font-size: 2em;
    *line-height: 1em; }

/* Animated rotating icon */
.icon-spin {
  display: inline-block;
  -moz-animation: spin 2s infinite linear;
  -o-animation: spin 2s infinite linear;
  -webkit-animation: spin 2s infinite linear;
  animation: spin 2s infinite linear; }

/* Prevent stack and spinners from being taken inline when inside a link */
a .icon-stack,
a .icon-spin {
  display: inline-block;
  text-decoration: none; }

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(359deg); } }

@-o-keyframes spin {
  0% {
    -o-transform: rotate(0deg); }
  100% {
    -o-transform: rotate(359deg); } }

@keyframes spin {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(359deg); } }

/* Icon rotations and mirroring */
.icon-rotate-90:before {
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  transform: rotate(90deg);
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); }

.icon-rotate-180:before {
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); }

.icon-rotate-270:before {
  -webkit-transform: rotate(270deg);
  -moz-transform: rotate(270deg);
  -o-transform: rotate(270deg);
  transform: rotate(270deg);
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); }

.icon-flip-horizontal:before {
  -webkit-transform: scale(-1, 1);
  -moz-transform: scale(-1, 1);
  -o-transform: scale(-1, 1);
  transform: scale(-1, 1); }

.icon-flip-vertical:before {
  -webkit-transform: scale(1, -1);
  -moz-transform: scale(1, -1);
  -o-transform: scale(1, -1);
  transform: scale(1, -1); }

/* ensure rotation occurs inside anchor tags */
a .icon-rotate-90:before, a .icon-rotate-180:before, a .icon-rotate-270:before, a .icon-flip-horizontal:before, a .icon-flip-vertical:before {
  display: inline-block; }

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
 * readers do not read off random characters that represent icons */
.icon-search:before {
  content: "???"; }

.icon-ok:before {
  content: "???"; }

.icon-remove:before {
  content: "???"; }

#size-guide .icon-remove:before {
  content: ""; }
  
.icon-font:before {
  content: "???"; }

.icon-bold:before {
  content: "???"; }

.icon-italic:before {
  content: "???"; }

.icon-text-height:before {
  content: "???"; }

.icon-text-width:before {
  content: "???"; }

.icon-align-left:before {
  content: "???"; }

.icon-align-center:before {
  content: "???"; }

.icon-align-right:before {
  content: "???"; }

.icon-align-justify:before {
  content: "???"; }

.icon-list:before {
  content: "???"; }

.icon-indent-left:before {
  content: "???"; }

.icon-indent-right:before {
  content: "???"; }

.icon-adjust:before {
  content: "???"; }

.icon-tint:before {
  content: "???"; }

.icon-edit:before {
  content: "???"; }

.icon-chevron-left:before {
  content: "???"; }

.icon-chevron-right:before {
  content: "???"; }

.icon-minus-sign:before {
  content: "???"; }

.icon-remove-sign:before {
  content: "???"; }

.icon-question-sign:before {
  content: "???"; }

.icon-info-sign:before {
  content: "???"; }

.icon-remove-circle:before {
  content: "???"; }

.icon-arrow-left:before {
  content: "???"; }

.icon-arrow-right:before {
  content: "???"; }

.icon-arrow-up:before {
  content: "???"; }

.icon-arrow-down:before {
  content: "???"; }

.icon-asterisk:before {
  content: "???"; }

.icon-exclamation-sign:before {
  content: "???"; }

.icon-warning-sign:before {
  content: "???"; }

.icon-chevron-up:before {
  content: "???"; }

.icon-chevron-down:before {
  content: "???"; }

.icon-retweet:before {
  content: "???"; }

.icon-shopping-cart:before {
  content: "???";
  font-size: 18px; }

.icon-circle-arrow-left:before {
  content: "???"; }

.icon-circle-arrow-right:before {
  content: "???"; }

.icon-circle-arrow-up:before {
  content: "???"; }

.icon-circle-arrow-down:before {
  content: "???"; }

.icon-list-ul:before {
  content: "???"; }

.icon-list-ol:before {
  content: "???"; }

.icon-strikethrough:before {
  content: "???"; }

.icon-underline:before {
  content: "???"; }

.icon-table:before {
  content: "???"; }

.icon-caret-down:before {
  content: "???"; }

.icon-caret-up:before {
  content: "???"; }

.icon-caret-left:before {
  content: "???"; }

.icon-caret-right:before {
  content: "???"; }

.icon-double-angle-left:before {
  content: "???"; }

.icon-double-angle-right:before {
  content: "???"; }

.icon-double-angle-up:before {
  content: "???"; }

.icon-double-angle-down:before {
  content: "???"; }

.icon-angle-left:before {
  content: "???"; }

.icon-angle-right:before {
  content: "???"; }

.icon-angle-up:before {
  content: "???"; }

.icon-angle-down:before {
  content: "???"; }

.icon-expand-alt:before {
  content: "???"; }

.icon-collapse-alt:before {
  content: "???"; }

.icon-smile:before {
  content: "???"; }

.icon-frown:before {
  content: "???"; }

.icon-meh:before {
  content: "???"; }

.icon-gamepad:before {
  content: "???"; }

.icon-keyboard:before {
  content: "???"; }

.icon-flag-alt:before {
  content: "???"; }

.icon-flag-checkered:before {
  content: "???"; }

.icon-terminal:before {
  content: "???"; }

.icon-code:before {
  content: "???"; }

.icon-reply-all:before {
  content: "???"; }

.icon-mail-reply-all:before {
  content: "???"; }

.icon-star-half-full:before,
.icon-star-half-empty:before {
  content: "???"; }

.icon-location-arrow:before {
  content: "???"; }

.icon-info:before {
  content: "???"; }

.icon-chevron-sign-left:before {
  content: "???"; }

.icon-chevron-sign-right:before {
  content: "???"; }

.icon-chevron-sign-up:before {
  content: "???"; }

.icon-chevron-sign-down:before {
  content: "???"; }

.icon-ellipsis-vertical:before {
  content: "???"; }

/*@mixin box-shadow($properties) {
  -webkit-box-shadow: $properties;
  -moz-box-shadow: $properties;
  box-shadow: $properties;
}*/
/*


   Magic Zoom Plus v5.1.2 
   Copyright 2015 Magic Toolbox
   Buy a license: https://www.magictoolbox.com/magiczoomplus/
   License agreement: https://www.magictoolbox.com/license/


*/
/**
 * Core styles
 */
@font-face {
  font-family: "magictoolbox-thin";
  font-weight: normal;
  font-style: normal;
  src: url("fonts/magictoolbox-thin.eot?#iefix") format("embedded-opentype"), url("data:font/opentype;base64,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"); }

.MagicZoom,
.mz-figure,
.mz-lens,
.mz-zoom-window,
.mz-loading,
.mz-hint,
.mz-expand .mz-expand-stage,
.mz-expand .mz-expand-stage .mz-image-stage,
.mz-expand .mz-image-stage > figure .mz-caption,
.mz-thumb img,
.mz-expand-thumbnails,
.mz-expand-controls,
.mz-button {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.MagicZoom,
.mz-figure {
  display: inline-block;
  outline: 0 !important;
  font-size: 0 !important;
  line-height: 100% !important;
  direction: ltr !important;
  position: relative;
  z-index: 1;
  overflow: hidden;
  margin: 0 auto;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d; }

.MagicZoom {
  -webkit-transform: translate3d(0, 0, 0);
  -ms-touch-action: pan-y;
  touch-action: pan-y; }

figure.mz-figure {
  -webkit-perspective: 300px;
  perspective: 300px;
  margin: 0 !important; }

.MagicZoom img,
.mz-figure img {
  border: 0 !important;
  margin: 0 !important;
  outline: 0 !important;
  padding: 0 !important; }

.MagicZoom > img,
.mz-figure > img {
  width: 100%;
  height: auto; }

.ie8-magic .MagicZoom > img,
.ie8-magic .mz-figure > img {
  width: 100%;
  max-width: none !important; }

.mz-figure.mz-no-zoom.mz-no-expand,
.mz-expand .mz-figure.mz-no-zoom {
  cursor: default !important; }

.mz-figure.mz-active,
.mz-expand {
  -ms-touch-action: none;
  touch-action: none; }

.mz-lens,
.mz-zoom-window {
  position: absolute !important;
  overflow: hidden !important;
  pointer-events: none !important; }

.mz-lens img,
.mz-zoom-window img {
  position: absolute !important;
  max-width: none !important;
  max-height: none !important; }

.mz-zoom-window {
  z-index: 2000000000;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.mz-zoom-window.mz-magnifier {
  -webkit-mask-image: -webkit-radial-gradient(circle, white, black);
  -webkit-mask-clip: content;
  cursor: none; }

.mz-zoom-window.mz-magnifier.mz-expanded {
  z-index: 2147483647; }

.mz-zoom-window img {
  left: -1000%;
  right: -1000%;
  top: -1000%;
  bottom: -1000%;
  margin: auto !important;
  -ms-transform-origin: 50% 50% !important;
  -webkit-transform-origin: 50% 50% !important;
  transform-origin: 50% 50% !important; }

.mz-zoom-window.mz-preview img {
  top: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  margin: 0 !important;
  -webkit-transform: none !important;
  transform: none !important;
  width: 100% !important;
  height: auto !important; }

.lt-ie9-magic .mz-zoom-window img {
  margin: 0 !important; }

.mz-expand-controls {
  z-index: 2147483647; }

.mz-fade {
  -webkit-transition: opacity .25s;
  transition: opacity .25s; }

.mz-hidden {
  opacity: 0; }

.mz-visible {
  opacity: 1; }

.mobile-magic .mz-expand .mz-expand-bg {
  -webkit-transform-style: flat !important;
  transform-style: flat !important; }

.mobile-magic .mz-expand .mz-image-stage > figure .mz-caption {
  display: none !important; }

.mobile-magic .mz-expand-controls.mz-fade {
  transition: none !important; }

.mobile-magic .mz-expand .mz-zoom-window {
  top: 0 !important;
  left: 0 !important; }

/**
 * Main figure
 */
.mz-figure.mz-active {
  background: #fff; }

.mz-figure.mz-no-zoom,
.mz-figure.mz-click-zoom,
.mz-figure.mz-active {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in; }

.mz-figure.mz-active.mz-no-expand {
  cursor: crosshair; }

.mz-figure.mz-active.mz-click-zoom.mz-no-expand {
  cursor: crosshair;
  cursor: -webkit-zoom-out;
  cursor: -moz-zoom-out;
  cursor: zoom-out; }

.mz-figure.mz-active.mz-magnifier-zoom.mz-hover-zoom.mz-no-expand {
  cursor: none; }

.mz-figure.mz-active > img {
  filter: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='grayscale'><feColorMatrix type='saturate' values='0'/><feComponentTransfer><feFuncA type='linear' slope='0.6'/></feComponentTransfer></filter></svg>#grayscale");
  -webkit-filter: grayscale(80%) opacity(60%);
  filter: grayscale(80%) opacity(60%); }

.no-cssfilters-magic .mz-figure.mz-active > img {
  opacity: 0.6; }

.lt-ie10-magic .mz-figure.mz-active > img {
  opacity: 1;
  filter: progid:DXImageTransform.Microsoft.BasicImage(grayScale=1,opacity=0.6); }

.mz-figure.mz-active.mz-inner-zoom,
.lt-ie11-magic .mz-figure.mz-active.mz-inner-zoom > img {
  opacity: 0; }

.lt-ie11-magic .mz-figure.mz-active.mz-inner-zoom,
.lt-ie11-magic .mz-figure.mz-active.mz-inner-zoom > .mz-zoom-window {
  opacity: 1; }

.lt-ie10-magic .mz-expand .mz-figure.mz-active.mz-inner-zoom,
.lt-ie10-magic .mz-figure.mz-active.mz-inner-zoom > img {
  filter: alpha(opacity=0); }

.ie9-magic .mz-expand .mz-figure.mz-active.mz-inner-zoom {
  background: transparent; }

/**
 * Zoom lens
 */
.mz-lens {
  border: 1px solid #aaa;
  border-color: rgba(170, 170, 170, 0.7);
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
  cursor: none;
  z-index: 10;
  opacity: 0; }

.mz-figure.mz-active .mz-lens {
  opacity: 1;
  -webkit-transition: opacity 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9) 0.1s;
  transition: opacity 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9) 0.1s; }

.mz-figure.mz-active.mz-magnifier-zoom .mz-lens {
  border-radius: 50%;
  opacity: 0;
  cursor: none; }

/**
 * Zoom window
 */
.mz-zoom-window {
  background: #fff;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.2); }

.mz-zoom-window.mz-magnifier {
  border-radius: 100%;
  border: 0;
  background: rgba(255, 255, 255, 0.3); }

.mz-zoom-window.mz-magnifier:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  border-radius: 100%;
  border: 1px solid rgba(170, 170, 170, 0.7);
  box-shadow: inset 0 0 20px 1px rgba(0, 0, 0, 0.3);
  background: transparent;
  z-index: 1; }

.mz-zoom-window.mz-magnifier.mz-square,
.mz-zoom-window.mz-magnifier.mz-square:before {
  border-radius: 0 !important; }

.lt-ie9-magic .mz-zoom-window {
  border: 1px solid #e5e5e5; }

.mz-zoom-window.mz-inner {
  border: none;
  box-shadow: none; }

/* Caption in zoom window */
.mz-zoom-window .mz-caption {
  background: #777;
  color: #fff;
  font-size: 10pt;
  opacity: 0.8;
  position: absolute;
  top: 0;
  z-index: 150;
  padding: 3px;
  width: 100%;
  line-height: normal !important;
  text-align: center !important; }

.lt-ie9-magic .mz-zoom-window .mz-caption {
  filter: alpha(opacity=80); }

.mz-zoom-window.caption-bottom .mz-caption {
  top: auto;
  bottom: 0; }

.mz-zoom-window.mz-expanded > .mz-caption {
  display: none; }

/* Zoom window animations */
.mz-zoom-window.mz-deactivating,
.mz-zoom-window.mz-activating {
  -webkit-transition: opacity 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9), -webkit-transform 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);
  transition: opacity 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9), transform 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9); }

.mz-zoom-window.mz-deactivating {
  -webkit-transition-duration: .25s, .25s, .25s;
  transition-duration: .25s, .25s, .25s; }

.mz-zoom-window.mz-p-right,
.mz-zoom-window.mz-p-left,
.mz-zoom-window.mz-p-top,
.mz-zoom-window.mz-p-bottom {
  opacity: 0;
  z-index: -100; }

.mz-zoom-window.mz-p-right {
  -webkit-transform: translate3d(-20%, 0, 0);
  transform: translate3d(-20%, 0, 0); }

.mz-zoom-window.mz-p-left {
  -webkit-transform: translate3d(20%, 0, 0);
  transform: translate3d(20%, 0, 0); }

.mz-zoom-window.mz-p-top {
  -webkit-transform: translate3d(0, 20%, 0);
  transform: translate3d(0, 20%, 0); }

.mz-zoom-window.mz-p-bottom {
  -webkit-transform: translate3d(0, -20%, 0);
  transform: translate3d(0, -20%, 0); }

/* Inner mode animation */
.mz-zoom-window > img {
  -webkit-transform: translate3d(0, 0, 0) scale(1);
  transform: translate3d(0, 0, 0) scale(1);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.mz-zoom-window.mz-p-inner.mz-deactivating > img,
.mz-zoom-window.mz-p-inner.mz-activating > img {
  -webkit-transition: -webkit-transform 0.22s cubic-bezier(0.25, 0.5, 0.5, 0.9);
  transition: transform 0.22s cubic-bezier(0.25, 0.5, 0.5, 0.9); }

/* Magnifier mode animation */
.mz-zoom-window.mz-p-magnifier {
  -webkit-transform: scale(0.1);
  transform: scale(0.1); }

/* Preview mode animation */
.mz-zoom-window.mz-preview.mz-deactivating,
.mz-zoom-window.mz-preview.mz-activating,
.mz-zoom-window.mz-custom.mz-deactivating,
.mz-zoom-window.mz-custom.mz-activating {
  -webkit-transition: opacity 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9);
  transition: opacity 0.3s cubic-bezier(0.25, 0.5, 0.5, 0.9); }

.mz-zoom-window.mz-preview.mz-deactivating,
.mz-zoom-window.mz-custom.mz-deactivating {
  -webkit-transition-duration: .2s;
  transition-duration: .2s; }

.mz-zoom-window.mz-p-preview,
.mz-zoom-window.mz-p-custom {
  opacity: 0; }

/**
 * Hint & Loading
 */
.mz-hint,
.mz-loading {
  color: #eee;
  background: rgba(49, 51, 61, 0.7);
  font: normal 12px/1.2em 'Lucida Grande', 'Lucida Sans Unicode', Verdana, 'Helvetica Neue', Arial, Helvetica, sans-serif;
  text-decoration: none;
  text-align: center;
  direction: ltr;
  display: inline-block;
  margin: 0;
  position: absolute;
  z-index: 1000;
  pointer-events: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease; }

.mz-hint {
  bottom: 8px;
  left: 0;
  right: 0;
  padding: 0 10%;
  background-color: transparent;
  -webkit-transition: opacity 0.25s ease, z-index 0.25s ease;
  transition: opacity 0.25s ease, z-index 0.25s ease; }

.mz-hint-message {
  display: inline-block;
  background: rgba(49, 51, 61, 0.7);
  border-radius: 2em;
  padding: .7em 1.1em; }

.mz-hint-message:before {
  content: '\02295';
  font-family: serif;
  font-size: 1.5em;
  speak: none;
  text-align: center;
  vertical-align: -2px;
  margin-right: 6px;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease; }

.mobile-magic .mz-hint-message:before {
  display: none; }

.mz-hint-hidden {
  opacity: 0;
  z-index: -1;
  -webkit-transition-delay: .6s;
  transition-delay: .6s; }

/* Hint in the expanded view on mobile */
.mobile-magic .mz-expand .mz-hint {
  font-size: 18px;
  line-height: 1.1em;
  top: 50%;
  bottom: auto;
  margin: 0;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%); }

.mobile-magic .mz-expand .mz-hint-message {
  padding: 1.1em; }

.mobile-magic .mz-expand .mz-hint-message:before {
  display: none; }

.mobile-magic .mz-expand .mz-hint-hidden {
  -webkit-transition-delay: 1s;
  transition-delay: 1s;
  opacity: 0; }

/* Loading indicator */
.mz-loading {
  font-size: 0;
  border-radius: 100%;
  opacity: 0;
  padding: 0;
  width: 36px;
  height: 36px;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }

.mz-loading:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 24px;
  height: 24px;
  margin: auto;
  text-indent: -9999em;
  border-radius: 50%;
  border: 2px solid white;
  border-top-color: transparent;
  box-sizing: border-box; }

.mz-loading.shown {
  opacity: 1;
  z-index: 1;
  -webkit-transition: opacity 0s;
  transition: opacity 0s; }

.mz-loading.shown:after {
  -webkit-animation: spin-loading .9s infinite linear;
  animation: spin-loading .9s infinite linear; }

@-webkit-keyframes spin-loading {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes spin-loading {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

.lt-ie10-magic .mz-loading {
  font-size: 12px;
  padding: .7em 1.1em;
  width: auto;
  height: auto; }

.lt-ie10-magic .mz-loading:after {
  content: 'Loading...';
  text-indent: 0;
  border: none;
  position: relative; }

.lt-ie9-magic .mz-loading {
  filter: alpha(opacity=0);
  right: 0;
  left: 0;
  width: 126px;
  margin: auto; }

.lt-ie9-magic .mz-hint-message,
.lt-ie9-magic .mz-loading.shown {
  background: transparent !important;
  filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#7c31333D', EndColorStr='#7c31333D'); }

.lt-ie9-magic .mz-hint-hidden {
  filter: alpha(opacity=0); }

/**
 * Expanded view
 */
.mz-expand,
.mz-expand .mz-expand-bg,
.mz-expand .mz-expand-bg > img,
.mz-expand .mz-expand-bg > svg,
.mz-expand .mz-expand-stage,
.mz-expand .mz-expand-stage .mz-image-stage {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0; }

.mz-expand .mz-expand-bg,
.mz-expand .mz-expand-bg > img,
.mz-expand .mz-expand-bg > svg {
  width: auto !important;
  height: auto !important; }

.mz-expand .mz-expand-bg,
.mz-expand .mz-expand-bg > svg {
  min-width: 100% !important;
  min-height: 100% !important; }

.mz-expand {
  background-color: black;
  text-align: center;
  vertical-align: middle;
  display: block;
  overflow: hidden;
  z-index: 2100000000;
  position: fixed;
  width: auto;
  height: auto;
  -webkit-perspective: 600px;
  perspective: 600px;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -ms-overflow-style: none; }

/* Expanded view background */
.mz-expand .mz-expand-bg {
  display: inline-block;
  vertical-align: middle;
  margin: auto;
  z-index: -100;
  max-width: none !important;
  max-height: none !important;
  -webkit-transform: translate3d(0, 0, 0) scale(10) rotate(0.01deg);
  -ms-transform: translate(0, 0) scale(10, 10) rotate(0.01deg);
  transform: translate3d(0, 0, 0) scale(10) rotate(0.01deg);
  -webkit-perspective: 600px;
  perspective: 600px;
  background-repeat: no-repeat;
  background-size: cover; }

.mz-expand .mz-expand-bg > img {
  margin: auto;
  filter: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='blur'><feGaussianBlur stdDeviation='80' in='SourceGraphic'></feGaussianBlur></filter></svg>#blur");
  -webkit-filter: blur(20px) brightness(60%);
  filter: blur(20px) brightness(60%);
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.mz-expand .mz-expand-bg > svg {
  margin: auto;
  opacity: .6; }

.lt-ie10-magic .mz-expand .mz-expand-bg {
  display: none !important; }

.lt-ie9-magic .mz-expand {
  background: #1f1f1f; }

/** Plain backgrounds: dark-bg, white-bg **/
.mz-expand.plain-bg .mz-expand-bg,
.mz-expand.dark-bg .mz-expand-bg,
.mz-expand.white-bg .mz-expand-bg {
  display: none !important; }

.mz-expand.dark-bg {
  background-color: #1f1f1f;
  background-color: rgba(31, 31, 31, 0.96); }

.mz-expand.white-bg {
  background-color: #fff; }

/* Expanded view stage */
.mz-expand .mz-expand-stage {
  z-index: 2100000000;
  padding: 0; }

.mz-expand .mz-expand-stage .mz-image-stage {
  z-index: 50;
  left: 120px;
  right: 120px;
  padding: 20px 0 40px 0;
  margin: 0;
  text-align: center;
  vertical-align: middle;
  -webkit-perspective: 600px;
  perspective: 600px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.mz-expand .mz-expand-stage.with-thumbs .mz-image-stage {
  padding-bottom: 120px; }

.mz-expand .mz-expand-stage.mz-zoom-in .mz-image-stage {
  padding: 0 !important;
  left: 0;
  right: 0; }

.mz-expand .mz-image-stage > figure:before,
.mz-expand .mz-image-stage:before {
  content: '';
  display: inline-block;
  vertical-align: middle;
  height: 100%;
  font-size: 0;
  line-height: 100%;
  width: 0; }

.mz-expand .mz-image-stage > figure {
  width: 100%;
  max-width: 100%;
  max-height: 100%;
  padding: 0;
  margin: 0;
  display: inline-block;
  vertical-align: middle;
  font-size: 0;
  line-height: 100%;
  position: relative; }

.mz-expand .mz-figure {
  overflow: visible;
  max-width: 100% !important; }

.mz-expand .mz-figure > img {
  max-width: 100%;
  width: auto;
  height: auto; }

.mz-expand .mz-zoom-in .mz-image-stage > figure,
.mz-expand .mz-zoom-in .mz-image-stage > figure .mz-figure.mz-activating,
.mz-expand .mz-zoom-in .mz-image-stage > figure .mz-figure.mz-active {
  width: 100%;
  height: 100%; }

.mz-expand .mz-figure {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in; }

.mz-expand .mz-figure.mz-active {
  cursor: crosshair;
  cursor: -webkit-zoom-out;
  cursor: -moz-zoom-out;
  cursor: zoom-out; }

/* When inner zoom is always shown */
.mz-expand .mz-expand-stage.mz-zoom-in.mz-always-zoom .mz-image-stage > figure > figure > img {
  z-index: 1;
  position: absolute !important;
  top: -5000px !important;
  bottom: -5000px !important;
  left: -5000px !important;
  right: -5000px !important;
  margin: auto !important; }

.lt-ie10-magic .mz-zoom-window.mz-expanded img {
  filter: alpha(opacity=100); }

.lt-ie10-magic .mz-expand .mz-figure.mz-magnifier-zoom {
  overflow: hidden;
  filter: alpha(opacity=100); }

/* Caption in expanded view */
.mz-expand .mz-caption {
  color: #fff;
  text-shadow: 0px 0px 46px #000;
  padding: 10px 4px;
  font: normal 10pt/1em 'Lucida Grande', 'Lucida Sans Unicode', Verdana, 'Helvetica Neue', Arial, Helvetica, sans-serif;
  text-align: center;
  width: 100%;
  position: absolute;
  left: 0;
  opacity: 0; }

.mz-expand .mz-caption.mz-show {
  -webkit-transition: opacity 0.15s ease-out;
  transition: opacity 0.15s ease-out;
  opacity: 1; }

.mz-expand .mz-caption a {
  color: inherit;
  cursor: pointer; }

.mz-expand.white-bg .mz-caption {
  color: #555;
  text-shadow: none; }

.lt-ie9-magic .mz-expand .mz-caption {
  top: 100%; }

.mz-expand .mz-zoom-window {
  box-shadow: none;
  background: transparent; }

.lt-ie9-magic .mz-expand .mz-zoom-window {
  border: 0; }

/* Expanded view on mobile */
.mobile-magic .mz-expand-stage .mz-expand-thumbnails,
.mobile-magic .mz-expand-stage .mz-image-stage {
  left: 0px;
  right: 0px; }

.mobile-magic .mz-expand .mz-expand-stage.with-thumbs {
  bottom: 0px; }

.mobile-magic .mz-expand-stage .mz-image-stage {
  padding: 0; }

.mobile-magic .mz-expand .mz-expand-stage.with-thumbs .mz-image-stage {
  padding: 5px 0 60px; }

.mobile-magic .mz-expand .mz-expand-stage.mz-zoom-in .mz-image-stage {
  padding-top: 0; }

.mobile-magic .mz-expand .mz-expand-thumbnails {
  padding: 0;
  height: 60px; }

/**
 * Buttons & Arrows
 */
.mz-expand-controls,
button.mz-button {
  margin: 0 !important;
  padding: 0 !important;
  outline: 0 !important; }

button.mz-button {
  color: #b4b4b4 !important;
  font: 900 34px/1 'magictoolbox-thin' !important;
  cursor: pointer;
  z-index: 90 !important;
  background-color: transparent !important;
  border: 1px solid rgba(180, 180, 180, 0) !important;
  border-radius: 100% !important;
  box-shadow: none !important;
  position: absolute !important;
  text-transform: none !important;
  text-align: center;
  speak: none;
  -webkit-font-smoothing: antialiased;
  width: 60px !important;
  height: 60px !important; }

button.mz-button.mz-button-prev,
button.mz-button.mz-button-next {
  margin: auto 10px !important;
  top: 0 !important;
  bottom: 0 !important;
  overflow: hidden !important; }

button.mz-button.mz-button-prev {
  left: 0 !important; }

button.mz-button.mz-button-next {
  right: 0 !important; }

button.mz-button.mz-button-close {
  font-size: 26px !important;
  margin: 10px !important;
  top: 0 !important;
  right: 0 !important;
  z-index: 95 !important; }

:root:not(.mobile-magic) button.mz-button {
  color: rgba(180, 180, 180, 0.75) !important;
  -webkit-transform: scale(0.85) !important;
  transform: scale(0.85) !important;
  -webkit-transition: color .25s, border-color .25s, -webkit-transform .25s !important;
  transition: color .25s, border-color .25s, transform .25s !important; }

:root:not(.mobile-magic) button.mz-button:hover {
  color: #b4b4b4 !important;
  border-color: rgba(180, 180, 180, 0.6) !important;
  -webkit-transform: scale(1) !important;
  transform: scale(1) !important; }

.mobile-magic button.mz-button {
  -webkit-transition: -webkit-transform .1s !important;
  transition: transform .1s !important; }

.mobile-magic button.mz-button:active {
  border-color: rgba(180, 180, 180, 0.6) !important;
  -webkit-transform: scale(0.95) !important;
  transform: scale(0.95) !important; }

button.mz-button.mz-button-close:before {
  content: "\a001"; }

button.mz-button.mz-button-prev:before {
  content: "\a002"; }

button.mz-button.mz-button-next:before {
  content: "\a003"; }

@media screen and (max-device-width: 767px) {
  button.mz-button-prev,
  button.mz-button-next {
    display: none !important; }
  .mobile-magic .mz-expand button.mz-button {
    width: 44px !important;
    height: 44px !important;
    font-size: 18px !important;
    color: rgba(255, 255, 255, 0.8) !important;
    background-color: rgba(49, 51, 61, 0.3) !important;
    border-color: transparent !important; } }

.lt-ie9-magic button.mz-button {
  border: 0;
  filter: alpha(opacity=75); }

.lt-ie9-magic button.mz-button:hover {
  filter: alpha(opacity=100); }

/**
 * Thumbnails
 */
/* Thumbnails on the page */
.mz-thumb, .mz-thumb:focus {
  display: inline-block;
  line-height: 0;
  outline: none; }

.mz-thumb img {
  border: 0;
  box-sizing: border-box; }

.mz-thumb:hover:not(.mz-thumb-selected) img {
  -webkit-filter: brightness(75%);
  filter: brightness(75%); }

.mz-thumb-selected img {
  -webkit-filter: brightness(60%);
  filter: brightness(60%); }

.no-cssfilters-magic .mz-thumb {
  background: #000; }

.no-cssfilters-magic .mz-thumb:hover:not(.mz-thumb-selected) img {
  opacity: .75;
  filter: alpha(opacity=75); }

.no-cssfilters-magic .mz-thumb-selected img {
  opacity: .6;
  filter: alpha(opacity=60); }

.ie9-magic .mz-thumb img {
  box-shadow: 0 0 4px 0px rgba(0, 0, 0, 0.3); }

/* Thumbnails in expanded view */
.mz-expand-thumbnails {
  z-index: 50;
  position: absolute;
  bottom: 0;
  left: 65px;
  right: 65px;
  height: 80px;
  padding: 10px 0;
  box-sizing: border-box; }

.mz-expand-thumbnails .magic-thumbs .magic-thumb {
  padding: 10px 2px; }

.mz-expand-thumbnails .magic-thumb > img {
  cursor: pointer;
  height: 40px;
  box-shadow: 0 0 5px 1px rgba(0, 0, 0, 0.3); }

.mz-expand-thumbnails .magic-thumb:not(.magic-thumb-selected) > img:hover {
  -webkit-filter: brightness(70%);
  filter: brightness(70%); }

.mz-expand-thumbnails .magic-thumb-selected img {
  -webkit-filter: brightness(50%);
  filter: brightness(50%); }

.mz-expand-thumbnails .magic-thumbs .magic-thumbs-button {
  box-shadow: none; }

.mz-expand-thumbnails .magic-thumbs .magic-thumbs-button-disabled {
  opacity: 0; }

.no-cssfilters-magic .mz-expand-thumbnails .magic-thumb:hover:not(.magic-thumb-selected) img {
  opacity: .7;
  filter: alpha(opacity=70); }

.no-cssfilters-magic .mz-expand-thumbnails .magic-thumb-selected img {
  opacity: .5;
  filter: alpha(opacity=50); }

/** Hide thumbnails in expanded view with .no-expand-thumbnails class **/
.mz-expand.no-expand-thumbnails .mz-expand-stage.with-thumbs .mz-image-stage {
  padding-bottom: 40px; }

.mz-expand.no-expand-thumbnails .mz-expand-thumbnails {
  display: none; }

.mobile-magic .mz-expand.no-expand-thumbnails .mz-expand-stage.with-thumbs .mz-image-stage {
  padding: 0; }

.magic-thumbs,
.magic-thumbs .magic-thumbs-wrapper,
.magic-thumbs ul,
.magic-thumbs li,
.magic-thumbs li:before,
.magic-thumbs li:after,
.magic-thumbs li img,
.magic-thumbs .magic-thumbs-button {
  margin: 0;
  padding: 0;
  outline: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.magic-thumbs {
  direction: ltr;
  overflow: visible;
  z-index: 100;
  position: relative;
  left: 0;
  top: 0;
  padding: 0 30px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  -ms-touch-action: none;
  touch-action: none; }

.magic-thumbs {
  width: 100%;
  height: 100%;
  white-space: nowrap; }

.magic-thumbs.no-buttons {
  padding: 0 !important; }

.magic-thumbs-wrapper {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  text-align: center; }

.magic-thumbs ul {
  list-style: none;
  font-size: 0;
  display: inline-block;
  vertical-align: middle;
  height: 100%;
  position: relative;
  white-space: nowrap; }

.magic-thumbs.no-buttons ul {
  padding: 0 !important;
  -webkit-transition: none !important;
  transition: none !important;
  -webkit-transform: none !important;
  -moz-transform: none !important;
  -ms-transform: none !important;
  transform: none !important;
  left: 0 !important; }

.magic-thumbs ul li {
  margin: 0 4px;
  height: 100%;
  width: auto;
  vertical-align: top;
  line-height: 0;
  display: inline-block; }

.magic-thumbs ul li:after {
  content: '';
  display: inline-block;
  vertical-align: middle;
  height: 100%;
  width: 0; }

.magic-thumbs ul li > img {
  width: auto;
  height: auto;
  max-height: 100%;
  vertical-align: middle; }

.ie8-magic .magic-thumbs ul li > img {
  max-width: none !important;
  max-height: none !important; }

/* vertical */
.magic-thumbs.magic-thumbs-vertical {
  height: 100%; }

.magic-thumbs-vertical {
  padding: 30px 0; }

.magic-thumbs-vertical ul {
  height: auto;
  width: 100%;
  white-space: normal; }

.magic-thumbs-vertical ul li {
  width: 100%;
  height: auto; }

.magic-thumbs-vertical ul li {
  margin: 4px 0; }

.magic-thumbs-vertical ul li > img {
  max-width: 100%;
  max-height: none; }

.ie8-magic .magic-thumbs-vertical ul li > img {
  width: 100%; }

/**
 * Buttons
 */
.magic-thumbs .magic-thumbs-button {
  cursor: pointer;
  z-index: 90;
  background-repeat: no-repeat;
  background-color: transparent;
  background-image: none;
  border: 0;
  border-radius: 0;
  overflow: hidden;
  position: absolute;
  font-family: "magictoolbox-thin";
  font-style: normal;
  font-weight: 200;
  font-variant: normal;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  text-align: center;
  color: #bbb;
  -webkit-font-smoothing: antialiased;
  font-size: 30px;
  width: 30px;
  height: 100%;
  top: 0;
  bottom: 0; }

.magic-thumbs .magic-thumbs-button-prev {
  left: 0; }

.magic-thumbs .magic-thumbs-button-next {
  right: 0; }

.magic-thumbs .magic-thumbs-button-prev:before {
  content: "\a002"; }

.magic-thumbs .magic-thumbs-button-next:before {
  content: "\a003"; }

.magic-thumbs-button:before {
  -webkit-transition: opacity .25s;
  transition: opacity .25s;
  opacity: .6; }

.magic-thumbs .magic-thumbs-button:hover:before {
  opacity: 1; }

/* Vertical buttons */
.magic-thumbs-vertical .magic-thumbs-button {
  width: 100%;
  height: 30px;
  left: 0;
  right: 0;
  top: auto;
  bottom: auto; }

.magic-thumbs-vertical .magic-thumbs-button-prev {
  top: 0; }

.magic-thumbs-vertical .magic-thumbs-button-next {
  bottom: 0; }

.magic-thumbs-vertical .magic-thumbs-button-prev:before {
  content: "\a005"; }

.magic-thumbs-vertical .magic-thumbs-button-next:before {
  content: "\a004"; }

.magic-thumbs.no-buttons .magic-thumbs-button {
  display: none !important; }

.magic-thumbs-button-disabled {
  opacity: 0.2;
  filter: alpha(opacity=20); }

@font-face {
  font-family: OpenSans;
  font-weight: normal;
  font-style: normal;
  src: url("../fonts/OpenSans-Regular-webfont.eot");
  src: url("../fonts/OpenSans-Regular-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/OpenSans-Regular-webfont.woff") format("woff"), url("../fonts/OpenSans-Regular-webfont.ttf") format("truetype"), url("../fonts/OpenSans-Regular-webfont.svg#OpenSans") format("svg"); }

@font-face {
  font-family: OpenSans;
  font-weight: bold;
  font-style: normal;
  src: url("../fonts/OpenSans-Bold-webfont.eot");
  src: url("../fonts/OpenSans-Bold-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/OpenSans-Bold-webfont.woff") format("woff"), url("../fonts/OpenSans-Bold-webfont.ttf") format("truetype"), url("../fonts/OpenSans-Bold-webfont.svg#OpenSans") format("svg"); }

@font-face {
  font-family: OpenSans;
  font-weight: normal;
  font-style: italic;
  src: url("../fonts/OpenSans-Italic-webfont.eot");
  src: url("../fonts/OpenSans-Italic-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/OpenSans-Italic-webfont.woff") format("woff"), url("../fonts/OpenSans-Italic-webfont.ttf") format("truetype"), url("../fonts/OpenSans-Italic-webfont.svg#OpenSans") format("svg"); }

@font-face {
  font-family: OpenSans;
  font-weight: 300;
  font-style: normal;
  src: url("../fonts/OpenSans-Light-webfont.eot");
  src: url("../fonts/OpenSans-Light-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/OpenSans-Light-webfont.woff") format("woff"), url("../fonts/OpenSans-Light-webfont.ttf") format("truetype"), url("../fonts/OpenSans-Light-webfont.svg#OpenSans") format("svg"); }

.hero .error, .left_nav .shop-by, .category-product-list ul, .checkout .recap .basket-total ul, .basket-total ul {
  background-color: #f4f4f4;
  box-shadow: 0px 1px 0px 0 rgba(0, 0, 0, 0.15); }

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
  display: block; }

audio,
canvas,
video {
  display: inline-block;
  *display: inline;
  *zoom: 1; }

audio:not([controls]) {
  display: none; }

html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%; }

a:focus {
  outline: thin dotted #333;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px; }

a:hover,
a:active {
  outline: 0; }

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

img {
  /* Responsive images (ensure images don't scale beyond their parents) */
  max-width: 100%;
  /* Part 1: Set a maxium relative to the parent */
  width: auto\9;
  /* IE7-8 need help adjusting responsive images */
  height: auto;
  /* Part 2: Scale the height according to the width, otherwise you get stretching */
  vertical-align: middle;
  border: 0;
  -ms-interpolation-mode: bicubic; }

#map_canvas img,
.google-maps img {
  max-width: none; }

button,
input,
select,
textarea {
  margin: 0;
  font-size: 100%;
  vertical-align: middle; }

button,
input {
  *overflow: visible;
  line-height: normal; }

button::-moz-focus-inner,
input::-moz-focus-inner {
  padding: 0;
  border: 0; }

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer; }

label,
select,
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
input[type="radio"],
input[type="checkbox"] {
  cursor: pointer; }

input[type="search"] {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  -webkit-appearance: textfield; }

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none; }

textarea {
  overflow: auto;
  vertical-align: top; }

@media print {
  * {
    text-shadow: none !important;
    color: #000 !important;
    background: transparent !important;
    box-shadow: none !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: ""; }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; } }

body {
  margin: 0;
  font-family: "OpenSans", Helvetica, Arial, sans-serif;
  font-size: 13px;
  line-height: 1.42857;
  color: #333;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

a {
  color: #15c;
  text-decoration: none; }

a:hover,
a:focus {
  color: #0b3885;
  text-decoration: underline; }

.img-rounded {
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px; }

.img-polaroid {
  padding: 4px;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); }

.img-circle {
  -webkit-border-radius: 500px;
  -moz-border-radius: 500px;
  border-radius: 500px; }

p {
  margin: 0 0 0.71429; }

.lead {
  margin-bottom: 1.42857;
  font-size: 19.5px;
  font-weight: 200;
  line-height: 2.14286; }

small {
  font-size: 85%; }

strong {
  font-weight: bold; }

em {
  font-style: italic; }

cite {
  font-style: normal; }

.muted {
  color: #999; }

a.muted:hover,
a.muted:focus {
  color: gray; }

.text-warning {
  color: #f89406; }

a.text-warning:hover,
a.text-warning:focus {
  color: #c67605; }

.text-error {
  color: #b94a48; }

a.text-error:hover,
a.text-error:focus {
  color: #953b39; }

.text-info {
  color: #3a87ad; }

a.text-info:hover,
a.text-info:focus {
  color: #2d6987; }

.text-success {
  color: #468847; }

a.text-success:hover,
a.text-success:focus {
  color: #356635; }

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

.text-center {
  text-align: center; }

h1, h2, h3, h4, h5, h6 {
  margin: 0.71429 0;
  font-family: "OpenSans", Helvetica, Arial, sans-serif;
  font-weight: 400;
  line-height: 1.42857;
  color: inherit;
  text-rendering: optimizelegibility; }
  h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
    font-weight: normal;
    line-height: 1;
    color: #999; }

h1,
h2,
h3 {
  line-height: 2.85714; }

h1 {
  font-size: 35.75px; }

h2 {
  font-size: 29.25px; }

h3 {
  font-size: 22.75px; }

h4 {
  font-size: 20px;
  margin-top: 0; }

h5 {
  font-size: 13px; }

h6 {
  font-size: 13px; }

h1 small {
  font-size: 22.75px; }

h2 small {
  font-size: 16.25px; }

h3 small {
  font-size: 13px; }

h4 small {
  font-size: 13px; }

.page-header {
  padding-bottom: -0.28571;
  margin: 1.42857 0 2.14286;
  border-bottom: 1px solid #f5f5f5; }

ul, ol {
  padding: 0;
  margin: 0 0 10px 25px; }

ul ul,
ul ol,
ol ol,
ol ul {
  margin-bottom: 0; }

li {
  line-height: 1.42857; }

ul.unstyled,
ol.unstyled {
  margin-left: 0;
  list-style: none; }

ul.inline,
ol.inline {
  margin-left: 0;
  list-style: none; }
  ul.inline > li,
  ol.inline > li {
    display: inline-block;
    *display: inline;
    /* IE7 inline-block hack */
    *zoom: 1;
    padding-left: 5px;
    padding-right: 5px; }

dl {
  margin-bottom: 1.42857; }

dt,
dd {
  line-height: 1.42857; }

dt {
  font-weight: bold; }

dd {
  margin-left: 0.71429; }

.dl-horizontal {
  *zoom: 1; }
  .dl-horizontal:before, .dl-horizontal:after {
    display: table;
    content: "";
    line-height: 0; }
  .dl-horizontal:after {
    clear: both; }
  .dl-horizontal dt {
    float: left;
    width: 160px;
    clear: left;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; }
  .dl-horizontal dd {
    margin-left: 180px; }

hr {
  margin: 1.42857 0;
  border: 0;
  border-top: 1px solid #f5f5f5;
  border-bottom: 1px solid #fff; }

abbr[title],
abbr[data-original-title] {
  cursor: help;
  border-bottom: 1px dotted #999; }

abbr.initialism {
  font-size: 90%;
  text-transform: uppercase; }

blockquote {
  padding: 0 0 0 15px;
  margin: 0 0 1.42857;
  border-left: 5px solid #f5f5f5; }
  blockquote p {
    margin-bottom: 0;
    font-size: 16.25px;
    font-weight: 300;
    line-height: 1.25; }
  blockquote small {
    display: block;
    line-height: 1.42857;
    color: #999; }
    blockquote small:before {
      content: '\2014 \00A0'; }
  blockquote.pull-right {
    float: right;
    padding-right: 15px;
    padding-left: 0;
    border-right: 5px solid #f5f5f5;
    border-left: 0; }
    blockquote.pull-right p,
    blockquote.pull-right small {
      text-align: right; }
    blockquote.pull-right small:before {
      content: ''; }
    blockquote.pull-right small:after {
      content: '\00A0 \2014'; }

q:before,
q:after,
blockquote:before,
blockquote:after {
  content: ""; }

address {
  display: block;
  margin-bottom: 1.42857;
  font-style: normal;
  line-height: 1.42857; }

.limited-supply {
  display: block;
  color: #f89406; }

form {
  margin: 0 0 1.42857; }

fieldset {
  padding: 0;
  margin: 0;
  border: 0; }

legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 1.42857;
  font-size: 19.5px;
  line-height: 2.85714;
  color: #333;
  border: 0;
  border-bottom: 1px solid #e5e5e5; }
  legend small {
    font-size: 1.07143;
    color: #999; }

label,
input,
button,
select,
textarea {
  font-size: 13px;
  font-weight: normal;
  line-height: 1.42857; }

input,
button,
select,
textarea {
  font-family: "OpenSans", Helvetica, Arial, sans-serif; }

label {
  display: block;
  margin-bottom: 5px; }

select,
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input {
  display: inline-block;
  padding: 6px;
  margin-bottom: 0.71429;
  font-size: 13px;
  line-height: 1.42857;
  color: #555;
  vertical-align: middle; }

.ie8 input[type="search"],
.ie9 input[type="search"] {
  padding-bottom: 8px; }

input,
textarea,
.uneditable-input {
  width: 206px; }

textarea {
  height: auto; }

textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input {
  background-color: #fff;
  border: 1px solid #ccc;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  transition: border linear .2s, box-shadow linear .2s; }
  textarea:focus,
  input[type="text"]:focus,
  input[type="password"]:focus,
  input[type="datetime"]:focus,
  input[type="datetime-local"]:focus,
  input[type="date"]:focus,
  input[type="month"]:focus,
  input[type="time"]:focus,
  input[type="week"]:focus,
  input[type="number"]:focus,
  input[type="email"]:focus,
  input[type="url"]:focus,
  input[type="search"]:focus,
  input[type="tel"]:focus,
  input[type="color"]:focus,
  .uneditable-input:focus {
    border-color: #555;
    outline: 0;
    outline: thin dotted \9;
    /* IE6-9 */
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }

input[type="radio"],
input[type="checkbox"] {
  margin: 4px 0 0;
  *margin-top: 0;
  /* IE7 */
  margin-top: 1px \9;
  /* IE8-9 */
  line-height: normal; }

input[type="file"],
input[type="image"],
input[type="submit"],
input[type="reset"],
input[type="button"],
input[type="radio"],
input[type="checkbox"] {
  width: auto; }

select,
input[type="file"] {
  height: 30px;
  /* In IE7, the height of the select element cannot be changed by height, only font-size */
  *margin-top: 4px;
  /* For IE7, add top margin to align select with labels */
  line-height: 14px; }

select {
  width: 220px;
  box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.25);
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  border-radius: 2px; }

select[multiple],
select[size] {
  height: auto; }

select:focus,
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: thin dotted #333;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px; }

.uneditable-input,
.uneditable-textarea {
  color: #999;
  background-color: #fcfcfc;
  border-color: #ccc;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
  cursor: not-allowed; }

.uneditable-input {
  overflow: hidden;
  white-space: nowrap; }

.uneditable-textarea {
  width: auto;
  height: auto; }

input:-moz-placeholder,
textarea:-moz-placeholder {
  color: #999; }

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #999; }

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #999; }

.radio, .checkout label.checkbox,
.checkbox {
  min-height: 1.42857;
  padding-left: 20px; }

.radio input[type="radio"], .checkout label.checkbox input[type="radio"],
.checkbox input[type="checkbox"] {
  float: left;
  margin-left: -20px; }

.controls > .radio:first-child, .checkout .controls > label.checkbox:first-child,
.controls > .checkbox:first-child {
  padding-top: 5px; }

.radio.inline, .checkout label.inline.checkbox,
.checkbox.inline {
  display: inline-block;
  padding-top: 5px;
  margin-bottom: 0;
  vertical-align: middle; }

.radio.inline + .radio.inline, .checkout label.inline.checkbox + .radio.inline, .checkout .radio.inline + label.inline.checkbox, .checkout label.inline.checkbox + label.inline.checkbox,
.checkbox.inline + .checkbox.inline {
  margin-left: 10px; }

.input-itty {
  width: 30px; }

.input-mini {
  width: 43px; }

.input-ext {
  width: 50px; }

.input-small {
  width: 90px; }

.input-medium {
  width: 150px; }

.input-large {
  width: 210px; }

.input-xlarge {
  width: 270px; }

.input-xxlarge {
  width: 530px; }

input[class*="span"],
select[class*="span"],
textarea[class*="span"],
.uneditable-input[class*="span"],
.row-fluid input[class*="span"],
.row-fluid select[class*="span"],
.row-fluid textarea[class*="span"],
.row-fluid .uneditable-input[class*="span"] {
  float: none;
  margin-left: 0; }

.input-append input[class*="span"],
.input-append .uneditable-input[class*="span"],
.input-prepend input[class*="span"],
.input-prepend .uneditable-input[class*="span"],
.row-fluid input[class*="span"],
.row-fluid select[class*="span"],
.row-fluid textarea[class*="span"],
.row-fluid .uneditable-input[class*="span"],
.row-fluid .input-prepend [class*="span"],
.row-fluid .input-append [class*="span"] {
  display: inline-block; }

input[disabled],
select[disabled],
textarea[disabled],
input[readonly],
select[readonly],
textarea[readonly] {
  cursor: not-allowed;
  background-color: #f5f5f5; }

input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"][readonly],
input[type="checkbox"][readonly] {
  background-color: transparent; }

.control-group.warning .control-label,
.control-group.warning .help-block,
.control-group.warning .help-inline {
  color: #f89406; }

.control-group.warning .checkbox,
.control-group.warning .radio,
.control-group.warning .checkout label.checkbox, .checkout
.control-group.warning label.checkbox,
.control-group.warning input,
.control-group.warning select,
.control-group.warning textarea {
  color: #f89406; }

.control-group.warning input,
.control-group.warning select,
.control-group.warning textarea {
  border-color: #f89406;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
  .control-group.warning input:focus,
  .control-group.warning select:focus,
  .control-group.warning textarea:focus {
    border-color: #c67605;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #fbbf69;
    -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #fbbf69;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #fbbf69; }

.control-group.warning .input-prepend .add-on,
.control-group.warning .input-append .add-on {
  color: #f89406;
  background-color: #fcf8e3;
  border-color: #f89406; }

.control-group.error .control-label,
.control-group.error .help-block,
.control-group.error .help-inline {
  color: #b94a48; }

.control-group.error .checkbox,
.control-group.error .radio,
.control-group.error .checkout label.checkbox, .checkout
.control-group.error label.checkbox,
.control-group.error input,
.control-group.error select,
.control-group.error textarea {
  color: #b94a48; }

.control-group.error input,
.control-group.error select,
.control-group.error textarea {
  border-color: #b94a48;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
  .control-group.error input:focus,
  .control-group.error select:focus,
  .control-group.error textarea:focus {
    border-color: #953b39;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
    -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; }

.control-group.error .input-prepend .add-on,
.control-group.error .input-append .add-on {
  color: #b94a48;
  background-color: #f2dede;
  border-color: #b94a48; }

.control-group.success .control-label,
.control-group.success .help-block,
.control-group.success .help-inline {
  color: #468847; }

.control-group.success .checkbox,
.control-group.success .radio,
.control-group.success .checkout label.checkbox, .checkout
.control-group.success label.checkbox,
.control-group.success input,
.control-group.success select,
.control-group.success textarea {
  color: #468847; }

.control-group.success input,
.control-group.success select,
.control-group.success textarea {
  border-color: #468847;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
  .control-group.success input:focus,
  .control-group.success select:focus,
  .control-group.success textarea:focus {
    border-color: #356635;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
    -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; }

.control-group.success .input-prepend .add-on,
.control-group.success .input-append .add-on {
  color: #468847;
  background-color: #dff0d8;
  border-color: #468847; }

.control-group.info .control-label,
.control-group.info .help-block,
.control-group.info .help-inline {
  color: #3a87ad; }

.control-group.info .checkbox,
.control-group.info .radio,
.control-group.info .checkout label.checkbox, .checkout
.control-group.info label.checkbox,
.control-group.info input,
.control-group.info select,
.control-group.info textarea {
  color: #3a87ad; }

.control-group.info input,
.control-group.info select,
.control-group.info textarea {
  border-color: #3a87ad;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); }
  .control-group.info input:focus,
  .control-group.info select:focus,
  .control-group.info textarea:focus {
    border-color: #2d6987;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
    -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3; }

.control-group.info .input-prepend .add-on,
.control-group.info .input-append .add-on {
  color: #3a87ad;
  background-color: #d9edf7;
  border-color: #3a87ad; }

input:focus:invalid,
textarea:focus:invalid,
select:focus:invalid {
  color: #b94a48;
  border-color: #ee5f5b; }
  input:focus:invalid:focus,
  textarea:focus:invalid:focus,
  select:focus:invalid:focus {
    border-color: #e9322d;
    box-shadow: 0 0 6px #f8b9b7; }

.form-actions {
  padding: 0.42857 20px 1.42857;
  margin-top: 1.42857;
  margin-bottom: 1.42857;
  background-color: #f5f5f5;
  border-top: 1px solid #e5e5e5;
  *zoom: 1; }
  .form-actions:before, .form-actions:after {
    display: table;
    content: "";
    line-height: 0; }
  .form-actions:after {
    clear: both; }

.help-block,
.help-inline {
  color: #595959; }

.help-block {
  display: block;
  margin-bottom: 0.71429; }

.help-inline {
  display: inline-block;
  *display: inline;
  /* IE7 inline-block hack */
  *zoom: 1;
  vertical-align: middle;
  padding-left: 5px; }

.input-append,
.input-prepend {
  display: inline-block;
  margin-bottom: 0.71429;
  vertical-align: middle;
  font-size: 0;
  white-space: nowrap; }
  .input-append input,
  .input-append select,
  .input-append .uneditable-input,
  .input-append .dropdown-menu,
  .input-append .popover,
  .input-prepend input,
  .input-prepend select,
  .input-prepend .uneditable-input,
  .input-prepend .dropdown-menu,
  .input-prepend .popover {
    font-size: 13px; }
  .input-append input,
  .input-append select,
  .input-append .uneditable-input,
  .input-prepend input,
  .input-prepend select,
  .input-prepend .uneditable-input {
    position: relative;
    margin-bottom: 0;
    *margin-left: 0;
    vertical-align: top;
    border-radius: 0 2px 2px 0; }
    .input-append input:focus,
    .input-append select:focus,
    .input-append .uneditable-input:focus,
    .input-prepend input:focus,
    .input-prepend select:focus,
    .input-prepend .uneditable-input:focus {
      z-index: 2; }
  .input-append .add-on,
  .input-prepend .add-on {
    display: inline-block;
    width: auto;
    height: 1.42857;
    min-width: 16px;
    padding: 4px 5px;
    font-size: 13px;
    font-weight: normal;
    line-height: 1.42857;
    text-align: center;
    text-shadow: 0 1px 0 #fff;
    background-color: #f5f5f5;
    border: 1px solid #ccc; }
  .input-append .add-on,
  .input-append .btn,
  .input-append .btn-group > .dropdown-toggle,
  .input-prepend .add-on,
  .input-prepend .btn,
  .input-prepend .btn-group > .dropdown-toggle {
    vertical-align: top;
    border-radius: 0; }
  .input-append .active,
  .input-prepend .active {
    background-color: #a9dba9;
    border-color: #46a546; }

.input-prepend .add-on,
.input-prepend .btn {
  margin-right: -1px; }

.input-prepend .add-on:first-child,
.input-prepend .btn:first-child {
  border-radius: 2px 0 0 2px; }

.input-append input,
.input-append select,
.input-append .uneditable-input {
  border-radius: 2px 0 0 2px; }
  .input-append input + .btn-group .btn:last-child,
  .input-append select + .btn-group .btn:last-child,
  .input-append .uneditable-input + .btn-group .btn:last-child {
    border-radius: 0 2px 2px 0; }

.input-append .add-on,
.input-append .btn,
.input-append .btn-group {
  margin-left: -1px; }

.input-append .add-on:last-child,
.input-append .btn:last-child,
.input-append .btn-group:last-child > .dropdown-toggle {
  border-radius: 0 2px 2px 0; }

.input-prepend.input-append input,
.input-prepend.input-append select,
.input-prepend.input-append .uneditable-input {
  border-radius: 0; }
  .input-prepend.input-append input + .btn-group .btn,
  .input-prepend.input-append select + .btn-group .btn,
  .input-prepend.input-append .uneditable-input + .btn-group .btn {
    border-radius: 0 2px 2px 0; }

.input-prepend.input-append .add-on:first-child,
.input-prepend.input-append .btn:first-child {
  margin-right: -1px;
  border-radius: 2px 0 0 2px; }

.input-prepend.input-append .add-on:last-child,
.input-prepend.input-append .btn:last-child {
  margin-left: -1px;
  border-radius: 0 2px 2px 0; }

.input-prepend.input-append .btn-group:first-child {
  margin-left: 0; }

input.search-query {
  padding-right: 14px;
  padding-right: 4px \9;
  padding-left: 14px;
  padding-left: 4px \9;
  /* IE7-8 doesn't have border-radius, so don't indent the padding */
  margin-bottom: 0;
  border-radius: 15px; }

/* Allow for input prepend/append in search forms */
.form-search .input-append .search-query,
.form-search .input-prepend .search-query {
  border-radius: 0; }

.form-search .input-append .search-query {
  border-radius: 14px 0 0 14px; }

.form-search .input-append .btn {
  border-radius: 0 14px 14px 0; }

.form-search .input-prepend .search-query {
  border-radius: 0 14px 14px 0; }

.form-search .input-prepend .btn {
  border-radius: 14px 0 0 14px; }

.form-search input,
.form-search textarea,
.form-search select,
.form-search .help-inline,
.form-search .uneditable-input,
.form-search .input-prepend,
.form-search .input-append,
.form-inline input,
.form-inline textarea,
.form-inline select,
.form-inline .help-inline,
.form-inline .uneditable-input,
.form-inline .input-prepend,
.form-inline .input-append,
.form-horizontal input,
.form-horizontal textarea,
.form-horizontal select,
.form-horizontal .help-inline,
.form-horizontal .uneditable-input,
.form-horizontal .input-prepend,
.form-horizontal .input-append {
  display: inline-block;
  *display: inline;
  /* IE7 inline-block hack */
  *zoom: 1;
  margin-bottom: 0;
  vertical-align: middle; }

.form-search .hide,
.form-inline .hide,
.form-horizontal .hide {
  display: none; }

.form-search label,
.form-inline label,
.form-search .btn-group,
.form-inline .btn-group {
  display: inline-block; }

.form-search .input-append,
.form-inline .input-append,
.form-search .input-prepend,
.form-inline .input-prepend {
  margin-bottom: 0; }

.form-search .radio, .form-search .checkout label.checkbox, .checkout .form-search label.checkbox,
.form-search .checkbox,
.form-inline .radio,
.form-inline .checkout label.checkbox, .checkout
.form-inline label.checkbox,
.form-inline .checkbox {
  padding-left: 0;
  margin-bottom: 0;
  vertical-align: middle; }

.form-search .radio input[type="radio"], .form-search .checkout label.checkbox input[type="radio"], .checkout .form-search label.checkbox input[type="radio"],
.form-search .checkbox input[type="checkbox"],
.form-inline .radio input[type="radio"],
.form-inline .checkout label.checkbox input[type="radio"], .checkout
.form-inline label.checkbox input[type="radio"],
.form-inline .checkbox input[type="checkbox"] {
  float: left;
  margin-right: 3px;
  margin-left: 0; }

.control-group {
  margin-bottom: 0.71429; }

legend + .control-group {
  margin-top: 1.42857;
  -webkit-margin-top-collapse: separate; }

.form-horizontal .control-group {
  margin-bottom: 1.42857;
  *zoom: 1; }
  .form-horizontal .control-group:before, .form-horizontal .control-group:after {
    display: table;
    content: "";
    line-height: 0; }
  .form-horizontal .control-group:after {
    clear: both; }

.form-horizontal .control-label {
  font-weight: bold;
  float: left;
  width: 160px;
  padding-top: 5px;
  text-align: right; }

.form-horizontal .controls {
  *display: inline-block;
  *padding-left: 20px;
  margin-left: 180px;
  *margin-left: 0; }
  .form-horizontal .controls:first-child {
    *padding-left: 180px; }

.form-horizontal .help-block {
  margin-bottom: 0; }

.form-horizontal input + .help-block,
.form-horizontal select + .help-block,
.form-horizontal textarea + .help-block,
.form-horizontal .uneditable-input + .help-block,
.form-horizontal .input-prepend + .help-block,
.form-horizontal .input-append + .help-block {
  margin-top: 0.71429; }

.form-horizontal .form-actions {
  padding-left: 180px; }

table {
  max-width: 100%;
  background-color: transparent;
  border-collapse: collapse;
  border-spacing: 0; }

.table {
  width: 100%;
  margin-bottom: 1.42857; }
  .table th,
  .table td {
    padding: 8px;
    line-height: 1.42857;
    text-align: left;
    vertical-align: top;
    border-top: 1px solid #ddd; }
  .table th {
    font-weight: bold; }
  .table thead th {
    vertical-align: bottom; }
  .table caption + thead tr:first-child th,
  .table caption + thead tr:first-child td,
  .table colgroup + thead tr:first-child th,
  .table colgroup + thead tr:first-child td,
  .table thead:first-child tr:first-child th,
  .table thead:first-child tr:first-child td {
    border-top: 0; }
  .table tbody + tbody {
    border-top: 2px solid #ddd; }
  .table .table {
    background-color: #ffffff; }

.table-condensed th,
.table-condensed td {
  padding: 4px 5px; }

.table-bordered {
  border: 1px solid #ddd;
  border-collapse: separate;
  *border-collapse: collapse;
  border-left: 0;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px; }
  .table-bordered th,
  .table-bordered td {
    border-left: 1px solid #ddd; }
  .table-bordered caption + thead tr:first-child th,
  .table-bordered caption + tbody tr:first-child th,
  .table-bordered caption + tbody tr:first-child td,
  .table-bordered colgroup + thead tr:first-child th,
  .table-bordered colgroup + tbody tr:first-child th,
  .table-bordered colgroup + tbody tr:first-child td,
  .table-bordered thead:first-child tr:first-child th,
  .table-bordered tbody:first-child tr:first-child th,
  .table-bordered tbody:first-child tr:first-child td {
    border-top: 0; }
  .table-bordered thead:first-child tr:first-child > th:first-child,
  .table-bordered tbody:first-child tr:first-child > td:first-child,
  .table-bordered tbody:first-child tr:first-child > th:first-child {
    -webkit-border-top-left-radius: 2px;
    -moz-border-radius-topleft: 2px;
    border-top-left-radius: 2px; }
  .table-bordered thead:first-child tr:first-child > th:last-child,
  .table-bordered tbody:first-child tr:first-child > td:last-child,
  .table-bordered tbody:first-child tr:first-child > th:last-child {
    -webkit-border-top-right-radius: 2px;
    -moz-border-radius-topright: 2px;
    border-top-right-radius: 2px; }
  .table-bordered thead:last-child tr:last-child > th:first-child,
  .table-bordered tbody:last-child tr:last-child > td:first-child,
  .table-bordered tbody:last-child tr:last-child > th:first-child,
  .table-bordered tfoot:last-child tr:last-child > td:first-child,
  .table-bordered tfoot:last-child tr:last-child > th:first-child {
    -webkit-border-bottom-left-radius: 2px;
    -moz-border-radius-bottomleft: 2px;
    border-bottom-left-radius: 2px; }
  .table-bordered thead:last-child tr:last-child > th:last-child,
  .table-bordered tbody:last-child tr:last-child > td:last-child,
  .table-bordered tbody:last-child tr:last-child > th:last-child,
  .table-bordered tfoot:last-child tr:last-child > td:last-child,
  .table-bordered tfoot:last-child tr:last-child > th:last-child {
    -webkit-border-bottom-right-radius: 2px;
    -moz-border-radius-bottomright: 2px;
    border-bottom-right-radius: 2px; }
  .table-bordered tfoot + tbody:last-child tr:last-child td:first-child {
    -webkit-border-bottom-left-radius: 0;
    -moz-border-radius-bottomleft: 0;
    border-bottom-left-radius: 0; }
  .table-bordered tfoot + tbody:last-child tr:last-child td:last-child {
    -webkit-border-bottom-right-radius: 0;
    -moz-border-radius-bottomright: 0;
    border-bottom-right-radius: 0; }
  .table-bordered caption + thead tr:first-child th:first-child,
  .table-bordered caption + tbody tr:first-child td:first-child,
  .table-bordered colgroup + thead tr:first-child th:first-child,
  .table-bordered colgroup + tbody tr:first-child td:first-child {
    -webkit-border-top-left-radius: 2px;
    -moz-border-radius-topleft: 2px;
    border-top-left-radius: 2px; }
  .table-bordered caption + thead tr:first-child th:last-child,
  .table-bordered caption + tbody tr:first-child td:last-child,
  .table-bordered colgroup + thead tr:first-child th:last-child,
  .table-bordered colgroup + tbody tr:first-child td:last-child {
    -webkit-border-top-right-radius: 2px;
    -moz-border-radius-topright: 2px;
    border-top-right-radius: 2px; }

.table-striped tbody > tr:nth-child(odd) > td,
.table-striped tbody > tr:nth-child(odd) > th {
  background-color: #f9f9f9; }

.table-hover tbody tr:hover > td,
.table-hover tbody tr:hover > th {
  background-color: #f5f5f5; }

table td[class*="span"],
table th[class*="span"],
.row-fluid table td[class*="span"],
.row-fluid table th[class*="span"] {
  display: table-cell;
  float: none;
  margin-left: 0; }

.table tbody tr.success > td {
  background-color: #dff0d8; }

.table tbody tr.error > td {
  background-color: #f2dede; }

.table tbody tr.warning > td {
  background-color: #fcf8e3; }

.table tbody tr.info > td {
  background-color: #d9edf7; }

.table-hover tbody tr.success:hover > td {
  background-color: #d0e9c6; }

.table-hover tbody tr.error:hover > td {
  background-color: #ebcccc; }

.table-hover tbody tr.warning:hover > td {
  background-color: #faf2cc; }

.table-hover tbody tr.info:hover > td {
  background-color: #c4e3f3; }

.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); }
  .well blockquote {
    border-color: #ddd;
    border-color: rgba(0, 0, 0, 0.15); }

.well-large {
  padding: 24px;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px; }

.well-small {
  padding: 9px;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px; }

.fade {
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  -moz-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear; }
  .fade.in {
    opacity: 1; }

.collapse {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition: height 0.35s ease;
  -moz-transition: height 0.35s ease;
  -o-transition: height 0.35s ease;
  transition: height 0.35s ease; }
  .collapse.in {
    height: auto; }

.close {
  float: right;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.42857;
  color: #000;
  text-shadow: 0 1px 0 white;
  opacity: 20; }
  .close:hover, .close:focus {
    color: #000;
    text-decoration: none;
    cursor: pointer;
    opacity: 40; }

button.close {
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none; }

.btn {
  font-size: 11px;
  font-weight: bold;
  display: inline-block;
  *display: inline;
  /* IE7 inline-block hack */
  *zoom: 1;
  padding: 5px 10px;
  margin-bottom: 0;
  line-height: 1.42857;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  border: 1px solid #dcdcdc;
  border-color: rgba(0, 0, 0, 0.1);
  color: #333;
  background: #f1f1f1;
  linear-gradient: top, #f5f5f5, #f1f1f1;
  border-color: #c6c6c6;
  *border: 0;
  border-radius: 2px;
  *margin-left: .3em; }
  .btn:first-child {
    *margin-left: 0; }
  .btn:hover, .btn:focus {
    color: #222;
    text-decoration: none;
    border-color: #c6c6c6;
    background: #f8f8f8;
    linear-gradient: top, #f8f8f8, #f1f1f1;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.15);
    transition: background-position .1s linear; }
  .btn:focus {
    outline: thin dotted #333;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: -2px; }
  .btn.active, .btn:active {
    outline: 0;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.1); }
  .btn.disabled, .btn[disabled] {
    cursor: default;
    background-image: none;
    opacity: 65;
    box-shadow: none; }

.btn-large {
  padding: 11px 19px;
  font-size: 16.25px;
  border-radius: 6px; }

.btn-large [class^="icon-"],
.btn-large [class*=" icon-"] {
  margin-top: 4px; }

.btn-small {
  padding: 5px 10px;
  font-size: 11.05px;
  border-radius: 2px; }

.btn-small [class^="icon-"],
.btn-small [class*=" icon-"] {
  margin-top: 0; }

.btn-mini [class^="icon-"],
.btn-mini [class*=" icon-"] {
  margin-top: -1px; }

.btn-mini {
  padding: 0px 6px;
  font-size: 9.75px;
  border-radius: 2px; }

.btn-block {
  display: block;
  width: 100%;
  padding-left: 0;
  padding-right: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.btn-block + .btn-block {
  margin-top: 5px; }

input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
  width: 100%; }

.btn-primary.active,
.btn-warning.active,
.btn-danger.active,
.btn-success.active,
.btn-info.active,
.btn-inverse.active,
.btn-cart.active {
  color: rgba(255, 255, 255, 0.75); }

.btn-primary {
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  background-color: #113ccc;
  background-image: -moz-linear-gradient(top, #15c, #1117cc);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#15c), to(#1117cc));
  background-image: -webkit-linear-gradient(top, #15c, #1117cc);
  background-image: -o-linear-gradient(top, #15c, #1117cc);
  background-image: linear, to bottom, #15c, #1117cc;
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF1155CC', endColorstr='#FF1117CC', GradientType=0);
  border-color: #1117cc #1117cc #0b0f85;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  *background-color: #1117cc;
  /* Darken IE7 buttons by default so they stand out more given they won't have borders */
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
  .btn-primary:hover, .btn-primary:focus, .btn-primary:active, .btn-primary.active, .btn-primary.disabled, .btn-primary[disabled] {
    color: #fff;
    background-color: #1117cc;
    *background-color: #0f14b4; }
  .btn-primary:active, .btn-primary.active {
    background-color: #0d119d \9; }

.btn-warning {
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  background-color: #faa732;
  background-image: -moz-linear-gradient(top, #fbb450, #f89406);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
  background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
  background-image: -o-linear-gradient(top, #fbb450, #f89406);
  background-image: linear, to bottom, #fbb450, #f89406;
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFBB450', endColorstr='#FFF89406', GradientType=0);
  border-color: #f89406 #f89406 #ad6704;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  *background-color: #f89406;
  /* Darken IE7 buttons by default so they stand out more given they won't have borders */
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
  .btn-warning:hover, .btn-warning:focus, .btn-warning:active, .btn-warning.active, .btn-warning.disabled, .btn-warning[disabled] {
    color: #fff;
    background-color: #f89406;
    *background-color: #df8505; }
  .btn-warning:active, .btn-warning.active {
    background-color: #c67605 \9; }

.btn-danger {
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  background-color: #da4f49;
  background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));
  background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);
  background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);
  background-image: linear, to bottom, #ee5f5b, #bd362f;
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEE5F5B', endColorstr='#FFBD362F', GradientType=0);
  border-color: #bd362f #bd362f #802420;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  *background-color: #bd362f;
  /* Darken IE7 buttons by default so they stand out more given they won't have borders */
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
  .btn-danger:hover, .btn-danger:focus, .btn-danger:active, .btn-danger.active, .btn-danger.disabled, .btn-danger[disabled] {
    color: #fff;
    background-color: #bd362f;
    *background-color: #a9302a; }
  .btn-danger:active, .btn-danger.active {
    background-color: #942a25 \9; }

.btn-success {
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  background-color: #5bb75b;
  background-image: -moz-linear-gradient(top, #62c462, #51a351);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));
  background-image: -webkit-linear-gradient(top, #62c462, #51a351);
  background-image: -o-linear-gradient(top, #62c462, #51a351);
  background-image: linear, to bottom, #62c462, #51a351;
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF62C462', endColorstr='#FF51A351', GradientType=0);
  border-color: #51a351 #51a351 #387038;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  *background-color: #51a351;
  /* Darken IE7 buttons by default so they stand out more given they won't have borders */
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
  .btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active, .btn-success.disabled, .btn-success[disabled] {
    color: #fff;
    background-color: #51a351;
    *background-color: #499249; }
  .btn-success:active, .btn-success.active {
    background-color: #408140 \9; }

.btn-info {
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  background-color: #49afcd;
  background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));
  background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);
  background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);
  background-image: linear, to bottom, #5bc0de, #2f96b4;
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF5BC0DE', endColorstr='#FF2F96B4', GradientType=0);
  border-color: #2f96b4 #2f96b4 #1f6377;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  *background-color: #2f96b4;
  /* Darken IE7 buttons by default so they stand out more given they won't have borders */
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
  .btn-info:hover, .btn-info:focus, .btn-info:active, .btn-info.active, .btn-info.disabled, .btn-info[disabled] {
    color: #fff;
    background-color: #2f96b4;
    *background-color: #2a85a0; }
  .btn-info:active, .btn-info.active {
    background-color: #24748c \9; }

.btn-inverse {
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  background-color: #363636;
  background-image: -moz-linear-gradient(top, #444, #222);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444), to(#222));
  background-image: -webkit-linear-gradient(top, #444, #222);
  background-image: -o-linear-gradient(top, #444, #222);
  background-image: linear, to bottom, #444, #222;
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FF444444', endColorstr='#FF222222', GradientType=0);
  border-color: #222 #222 black;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  *background-color: #222;
  /* Darken IE7 buttons by default so they stand out more given they won't have borders */
  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); }
  .btn-inverse:hover, .btn-inverse:focus, .btn-inverse:active, .btn-inverse.active, .btn-inverse.disabled, .btn-inverse[disabled] {
    color: #fff;
    background-color: #222;
    *background-color: #151515; }
  .btn-inverse:active, .btn-inverse.active {
    background-color: #090909 \9; }

button.btn,
input[type="submit"].btn {
  *padding-top: 3px;
  *padding-bottom: 3px; }
  button.btn::-moz-focus-inner,
  input[type="submit"].btn::-moz-focus-inner {
    padding: 0;
    border: 0; }
  button.btn.btn-large,
  input[type="submit"].btn.btn-large {
    *padding-top: 7px;
    *padding-bottom: 7px; }
  button.btn.btn-small,
  input[type="submit"].btn.btn-small {
    *padding-top: 3px;
    *padding-bottom: 3px; }
  button.btn.btn-mini,
  input[type="submit"].btn.btn-mini {
    *padding-top: 1px;
    *padding-bottom: 1px; }

.btn-link,
.btn-link:active,
.btn-link[disabled] {
  background-color: transparent;
  background-image: none;
  box-shadow: none; }

.btn-link {
  border-color: transparent;
  cursor: pointer;
  border-radius: 0; }

.btn-link:hover,
.btn-link:focus {
  color: #0b3885;
  text-decoration: underline;
  background-color: transparent; }

.btn-link[disabled]:hover,
.btn-link[disabled]:focus {
  color: #333;
  text-decoration: none; }

@media screen and (min-width: 0px) and (max-width: 380px) {
  .bitty-btn {
    width: 100%;
    font-size: 16px;
    padding: 10px;
    margin-bottom: 10px; } }

.red,
.red:active,
.red:visited {
  color: #fff;
  border-color: #b0281a;
  border-bottom-color: #af301f;
  background-color: #c53727;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#dd4b39), to(#c53727));
  background-image: -webkit-linear-gradient(top, #dd4b39, #c53727);
  background-image: -moz-linear-gradient(top, #dd4b39, #c53727);
  background-image: -ms-linear-gradient(top, #dd4b39 0%, #c53727 100%);
  background-image: linear, to bottom, #dd4b39, #c53727; }
  .red:hover, .red:focus,
  .red:active:hover,
  .red:active:focus,
  .red:visited:hover,
  .red:visited:focus {
    color: #fff;
    border-color: #b0281a;
    border-bottom-color: #af301f;
    background-color: #c53727;
    background-image: -webkit-gradient(linear, left top, left bottom, from(#dd4b39), to(#c53727));
    background-image: -webkit-linear-gradient(top, #dd4b39, #c53727);
    background-image: -moz-linear-gradient(top, #dd4b39, #c53727);
    background-image: -ms-linear-gradient(top, #dd4b39 0%, #c53727 100%);
    background-image: linear, to bottom, #dd4b39, #c53727; }

.blue,
.blue:active,
.blue:visited {
  border: none;
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
  outline: none;
  padding: 0 0;
  width: 60px;
  -webkit-box-shadow: none;
  box-shadow: none;
  background: #4285f4;
  background: -webkit-linear-gradient(top, #4387fd, #4683ea);
  background: linear, top, #4387fd, #4683ea;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4387fd,endColorstr=#4683ea,GradientType=1); }

#wallet-button {
  text-align: center; }

.btn-group {
  position: relative;
  display: inline-block;
  *display: inline;
  /* IE7 inline-block hack */
  *zoom: 1;
  font-size: 0;
  vertical-align: middle;
  white-space: nowrap;
  *margin-left: .3em; }
  .btn-group:first-child {
    *margin-left: 0; }

.btn-group + .btn-group {
  margin-left: 5px; }

.btn-toolbar {
  font-size: 0;
  margin-top: 0.71429;
  margin-bottom: 0.71429; }
  .btn-toolbar > .btn + .btn,
  .btn-toolbar > .btn-group + .btn,
  .btn-toolbar > .btn + .btn-group {
    margin-left: 5px; }

.btn-group > .btn {
  position: relative;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0; }

.btn-group > .btn + .btn {
  margin-left: -1px; }

.btn-group > .btn,
.btn-group > .dropdown-menu,
.btn-group > .popover {
  font-size: 13px; }

.btn-group > .btn-mini {
  font-size: 9.75px; }

.btn-group > .btn-small {
  font-size: 11.05px; }

.btn-group > .btn-large {
  font-size: 16.25px; }

.btn-group > .btn:first-child {
  margin-left: 0;
  -webkit-border-top-left-radius: 2px;
  -moz-border-radius-topleft: 2px;
  border-top-left-radius: 2px;
  -webkit-border-bottom-left-radius: 2px;
  -moz-border-radius-bottomleft: 2px;
  border-bottom-left-radius: 2px; }

.btn-group > .btn:last-child,
.btn-group > .dropdown-toggle {
  -webkit-border-top-right-radius: 2px;
  -moz-border-radius-topright: 2px;
  border-top-right-radius: 2px;
  -webkit-border-bottom-right-radius: 2px;
  -moz-border-radius-bottomright: 2px;
  border-bottom-right-radius: 2px; }

.btn-group > .btn.large:first-child {
  margin-left: 0;
  -webkit-border-top-left-radius: 6px;
  -moz-border-radius-topleft: 6px;
  border-top-left-radius: 6px;
  -webkit-border-bottom-left-radius: 6px;
  -moz-border-radius-bottomleft: 6px;
  border-bottom-left-radius: 6px; }

.btn-group > .btn.large:last-child,
.btn-group > .large.dropdown-toggle {
  -webkit-border-top-right-radius: 6px;
  -moz-border-radius-topright: 6px;
  border-top-right-radius: 6px;
  -webkit-border-bottom-right-radius: 6px;
  -moz-border-radius-bottomright: 6px;
  border-bottom-right-radius: 6px; }

.btn-group > .btn:hover,
.btn-group > .btn:focus,
.btn-group > .btn:active,
.btn-group > .btn.active {
  z-index: 2; }

.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
  outline: 0; }

.btn-group > .btn + .dropdown-toggle {
  padding-left: 8px;
  padding-right: 8px;
  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
  *padding-top: 5px;
  *padding-bottom: 5px; }

.btn-group > .btn-mini + .dropdown-toggle {
  padding-left: 5px;
  padding-right: 5px;
  *padding-top: 2px;
  *padding-bottom: 2px; }

.btn-group > .btn-small + .dropdown-toggle {
  *padding-top: 5px;
  *padding-bottom: 4px; }

.btn-group > .btn-large + .dropdown-toggle {
  padding-left: 12px;
  padding-right: 12px;
  *padding-top: 7px;
  *padding-bottom: 7px; }

.btn-group.open .dropdown-toggle {
  background-image: none;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); }

.btn-group.open .btn.dropdown-toggle {
  background-color: #e6e6e6; }

.btn-group.open .btn-primary.dropdown-toggle {
  background-color: #1117cc; }

.btn-group.open .btn-warning.dropdown-toggle {
  background-color: #f89406; }

.btn-group.open .btn-danger.dropdown-toggle {
  background-color: #bd362f; }

.btn-group.open .btn-success.dropdown-toggle {
  background-color: #51a351; }

.btn-group.open .btn-info.dropdown-toggle {
  background-color: #2f96b4; }

.btn-group.open .btn-inverse.dropdown-toggle {
  background-color: #222; }

.btn .caret {
  margin-top: 8px;
  margin-left: 0; }

.btn-large .caret {
  margin-top: 6px; }

.btn-large .caret {
  border-left-width: 5px;
  border-right-width: 5px;
  border-top-width: 5px; }

.btn-mini .caret,
.btn-small .caret {
  margin-top: 8px; }

.dropup .btn-large .caret {
  border-bottom-width: 5px; }

.btn-primary .caret,
.btn-warning .caret,
.btn-danger .caret,
.btn-info .caret,
.btn-success .caret,
.btn-inverse .caret {
  border-top-color: #fff;
  border-bottom-color: #fff; }

.btn-group-vertical {
  display: inline-block;
  *display: inline;
  /* IE7 inline-block hack */
  *zoom: 1; }

.btn-group-vertical > .btn {
  display: block;
  float: none;
  max-width: 100%;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0; }

.btn-group-vertical > .btn + .btn {
  margin-left: 0;
  margin-top: -1px; }

.btn-group-vertical > .btn:first-child {
  -webkit-border-radius: 2px 2px 0 0;
  -moz-border-radius: 2px 2px 0 0;
  border-radius: 2px 2px 0 0; }

.btn-group-vertical > .btn:last-child {
  -webkit-border-radius: 0 0 2px 2px;
  -moz-border-radius: 0 0 2px 2px;
  border-radius: 0 0 2px 2px; }

.btn-group-vertical > .btn-large:first-child {
  -webkit-border-radius: 6px 6px 0 0;
  -moz-border-radius: 6px 6px 0 0;
  border-radius: 6px 6px 0 0; }

.btn-group-vertical > .btn-large:last-child {
  -webkit-border-radius: 0 0 6px 6px;
  -moz-border-radius: 0 0 6px 6px;
  border-radius: 0 0 6px 6px; }

.alert {
  padding: 8px 14px 8px 14px;
  margin-top: 1.42857;
  margin-bottom: 1.42857;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  background-color: #fcf8e3;
  border: 1px solid #fbeed5;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px; }
  .alert p {
    margin: 0; }

.alert,
.alert h4 {
  color: #f89406; }

.alert h4 {
  margin: 0; }

.alert .close {
  position: relative;
  top: -2px;
  right: -21px;
  line-height: 1.42857; }

.alert-success {
  background-color: #dff0d8;
  border-color: #d6e9c6;
  color: #468847; }

.alert-success h4 {
  color: #468847; }

.alert-danger,
.alert-error {
  background-color: #f2dede;
  border-color: #eed3d7;
  color: #b94a48; }

.alert-danger h4,
.alert-error h4 {
  color: #b94a48; }

.alert-info {
  background-color: #d9edf7;
  border-color: #bce8f1;
  color: #3a87ad; }

.alert-info h4 {
  color: #3a87ad; }

.alert-backorder {
  display: block;
  font-size: 15px; }

.alert-block {
  padding-top: 14px;
  padding-bottom: 14px; }

.alert-block > p,
.alert-block > ul {
  margin-bottom: 0; }

.alert-block p + p {
  margin-top: 5px; }

.nav {
  margin-left: 0;
  margin-bottom: 1.42857;
  list-style: none; }

.nav > li > a {
  display: block; }

.nav > li > a:hover,
.nav > li > a:focus {
  text-decoration: none;
  background-color: #f5f5f5; }

.nav > li > a > img {
  max-width: none; }

.nav > .pull-right {
  float: right; }

.nav-header {
  display: block;
  padding: 3px 15px;
  font-size: 11px;
  font-weight: bold;
  line-height: 1.42857;
  color: #999;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  text-transform: uppercase; }

.nav li + .nav-header {
  margin-top: 9px; }

.nav-list {
  padding-left: 15px;
  padding-right: 15px;
  margin-bottom: 0; }

.nav-list > li > a,
.nav-list .nav-header {
  margin-left: -15px;
  margin-right: -15px;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); }

.nav-list > li > a {
  padding: 3px 15px; }

.nav-list > .active > a,
.nav-list > .active > a:hover,
.nav-list > .active > a:focus {
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
  background-color: #15c; }

.nav-list [class^="icon-"],
.nav-list [class*=" icon-"] {
  margin-right: 2px; }

.nav-list .divider {
  *width: 100%;
  height: 1px;
  margin: -0.28571 1px;
  *margin: -5px 0 5px;
  overflow: hidden;
  background-color: #e5e5e5;
  border-bottom: 1px solid #fff; }

.nav-tabs,
.nav-pills {
  *zoom: 1; }
  .nav-tabs:before, .nav-tabs:after,
  .nav-pills:before,
  .nav-pills:after {
    display: table;
    content: "";
    line-height: 0; }
  .nav-tabs:after,
  .nav-pills:after {
    clear: both; }

.nav-tabs > li,
.nav-pills > li {
  float: left; }

.nav-tabs > li > a,
.nav-pills > li > a {
  padding-right: 8px;
  padding-left: 8px;
  margin-right: 4px;
  line-height: 14px; }

.nav-tabs {
  border-bottom: 1px solid #ddd; }

.nav-tabs > li {
  margin-bottom: -1px; }

.nav-tabs > li > a {
  padding-top: 4px;
  padding-bottom: 4px;
  line-height: 1.42857;
  border: 1px solid transparent;
  -webkit-border-radius: 4px 4px 0 0;
  -moz-border-radius: 4px 4px 0 0;
  border-radius: 4px 4px 0 0; }
  .nav-tabs > li > a:hover, .nav-tabs > li > a:focus {
    border-color: #f5f5f5 #f5f5f5 #ddd; }

.nav-tabs > .active > a,
.nav-tabs > .active > a:hover,
.nav-tabs > .active > a:focus {
  color: #555;
  background-color: #fff;
  border: 1px solid #ddd;
  border-bottom-color: transparent;
  cursor: default; }

.nav-pills > li > a {
  padding-top: 8px;
  padding-bottom: 8px;
  margin-top: 2px;
  margin-bottom: 2px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px; }

.nav-pills > .active > a,
.nav-pills > .active > a:hover,
.nav-pills > .active > a:focus {
  color: #fff;
  background-color: #15c; }

.nav-stacked > li {
  float: none; }

.nav-stacked > li > a {
  margin-right: 0; }

.nav-tabs.nav-stacked {
  border-bottom: 0; }

.nav-tabs.nav-stacked > li > a {
  border: 1px solid #ddd;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0; }

.nav-tabs.nav-stacked > li:first-child > a {
  -webkit-border-top-right-radius: 4px;
  -moz-border-radius-topright: 4px;
  border-top-right-radius: 4px;
  -webkit-border-top-left-radius: 4px;
  -moz-border-radius-topleft: 4px;
  border-top-left-radius: 4px; }

.nav-tabs.nav-stacked > li:last-child > a {
  -webkit-border-bottom-right-radius: 4px;
  -moz-border-radius-bottomright: 4px;
  border-bottom-right-radius: 4px;
  -webkit-border-bottom-left-radius: 4px;
  -moz-border-radius-bottomleft: 4px;
  border-bottom-left-radius: 4px; }

.nav-tabs.nav-stacked > li > a:hover,
.nav-tabs.nav-stacked > li > a:focus {
  border-color: #ddd;
  z-index: 2; }

.nav-pills.nav-stacked > li > a {
  margin-bottom: 3px; }

.nav-pills.nav-stacked > li:last-child > a {
  margin-bottom: 1px; }

.nav-tabs .dropdown-menu {
  -webkit-border-radius: 0 0 6px 6px;
  -moz-border-radius: 0 0 6px 6px;
  border-radius: 0 0 6px 6px; }

.nav-pills .dropdown-menu {
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px; }

.nav .dropdown-toggle .caret {
  border-top-color: #15c;
  border-bottom-color: #15c;
  margin-top: 6px; }

.nav .dropdown-toggle:hover .caret,
.nav .dropdown-toggle:focus .caret {
  border-top-color: #0b3885;
  border-bottom-color: #0b3885; }

/* move down carets for tabs */
.nav-tabs .dropdown-toggle .caret {
  margin-top: 8px; }

.nav .active .dropdown-toggle .caret {
  border-top-color: #fff;
  border-bottom-color: #fff; }

.nav-tabs .active .dropdown-toggle .caret {
  border-top-color: #555;
  border-bottom-color: #555; }

.nav > .dropdown.active > a:hover,
.nav > .dropdown.active > a:focus {
  cursor: pointer; }

.nav-tabs .open .dropdown-toggle,
.nav-pills .open .dropdown-toggle,
.nav > li.dropdown.open.active > a:hover,
.nav > li.dropdown.open.active > a:focus {
  color: #fff;
  background-color: #999;
  border-color: #999; }

.nav li.dropdown.open .caret,
.nav li.dropdown.open.active .caret,
.nav li.dropdown.open a:hover .caret,
.nav li.dropdown.open a:focus .caret {
  border-top-color: #fff;
  border-bottom-color: #fff;
  opacity: 100; }

.tabs-stacked .open > a:hover,
.tabs-stacked .open > a:focus {
  border-color: #999; }

.tabbable {
  *zoom: 1; }
  .tabbable:before, .tabbable:after {
    display: table;
    content: "";
    line-height: 0; }
  .tabbable:after {
    clear: both; }

.tab-content {
  overflow: auto; }

.tabs-below > .nav-tabs,
.tabs-right > .nav-tabs,
.tabs-left > .nav-tabs {
  border-bottom: 0; }

.tab-content > .tab-pane,
.pill-content > .pill-pane {
  display: none;
  padding: 10px 0; }
  @media screen and (min-width: 0px) and (max-width: 380px) {
    .tab-content > .tab-pane,
    .pill-content > .pill-pane {
      height: auto; } }

.tab-content > .active,
.pill-content > .active {
  display: block; }

.tabs-below > .nav-tabs {
  border-top: 1px solid #ddd; }

.tabs-below > .nav-tabs > li {
  margin-top: -1px;
  margin-bottom: 0; }

.tabs-below > .nav-tabs > li > a {
  -webkit-border-radius: 0 0 4px 4px;
  -moz-border-radius: 0 0 4px 4px;
  border-radius: 0 0 4px 4px; }
  .tabs-below > .nav-tabs > li > a:hover, .tabs-below > .nav-tabs > li > a:focus {
    border-bottom-color: transparent;
    border-top-color: #ddd; }

.tabs-below > .nav-tabs > .active > a,
.tabs-below > .nav-tabs > .active > a:hover,
.tabs-below > .nav-tabs > .active > a:focus {
  border-color: transparent #ddd #ddd #ddd; }

.tabs-left > .nav-tabs > li,
.tabs-right > .nav-tabs > li {
  float: none; }

.tabs-left > .nav-tabs > li > a,
.tabs-right > .nav-tabs > li > a {
  min-width: 74px;
  margin-right: 0;
  margin-bottom: 3px; }

.tabs-left > .nav-tabs {
  float: left;
  margin-right: 19px;
  border-right: 1px solid #ddd; }

.tabs-left > .nav-tabs > li > a {
  margin-right: -1px;
  -webkit-border-radius: 4px 0 0 4px;
  -moz-border-radius: 4px 0 0 4px;
  border-radius: 4px 0 0 4px; }

.tabs-left > .nav-tabs > li > a:hover,
.tabs-left > .nav-tabs > li > a:focus {
  border-color: #f5f5f5 #ddd #f5f5f5 #f5f5f5; }

.tabs-left > .nav-tabs .active > a,
.tabs-left > .nav-tabs .active > a:hover,
.tabs-left > .nav-tabs .active > a:focus {
  border-color: #ddd transparent #ddd #ddd;
  *border-right-color: #fff; }

.tabs-right > .nav-tabs {
  float: right;
  margin-left: 19px;
  border-left: 1px solid #ddd; }

.tabs-right > .nav-tabs > li > a {
  margin-left: -1px;
  -webkit-border-radius: 0 4px 4px 0;
  -moz-border-radius: 0 4px 4px 0;
  border-radius: 0 4px 4px 0; }

.tabs-right > .nav-tabs > li > a:hover,
.tabs-right > .nav-tabs > li > a:focus {
  border-color: #f5f5f5 #f5f5f5 #f5f5f5 #ddd; }

.tabs-right > .nav-tabs .active > a,
.tabs-right > .nav-tabs .active > a:hover,
.tabs-right > .nav-tabs .active > a:focus {
  border-color: #ddd #ddd #ddd transparent;
  *border-left-color: #fff; }

.nav > .disabled > a {
  color: #999; }

.nav > .disabled > a:hover,
.nav > .disabled > a:focus {
  text-decoration: none;
  background-color: transparent;
  cursor: default; }

.animenu > ul:after,
.desktop-menu > ul:after {
  content: "";
  display: table;
  clear: both; }

body {
  -webkit-animation: bugfix infinite 1s; }

@-webkit-keyframes bugfix {
  from {
    padding: 0; }
  to {
    padding: 0; } }

.animenu-wrapper {
  -webkit-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.25);
  -moz-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.25);
  box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.25); }
  @media screen and (min-width: 0px) and (max-width: 767px) {
    .animenu-wrapper {
      height: 45px; } }

.animenu, .desktop-menu {
  font-family: Arial, sans-serif;
  display: block;
  float: left;
  margin-right: 2.35765%;
  width: 100%; }
  .animenu:last-child, .desktop-menu:last-child {
    margin-right: 0; }
  @media screen and (min-width: 768px) and (max-width: 1024px) {
    .animenu, .desktop-menu {
      padding-left: 10px; } }
  .animenu *, .desktop-menu * {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }
  .animenu ul, .desktop-menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px; }
  .animenu li, .desktop-menu li {
    position: relative; }
    .animenu li a.selected, .desktop-menu li a.selected {
      font-weight: bold;
      color: #4b7abe; }
    .animenu li a.chat-link,
    .animenu li .chat-link:hover, .desktop-menu li a.chat-link,
    .desktop-menu li .chat-link:hover {
      width: 80px;
      margin-top: 8px;
      padding: 5px 10px;
      color: #fff;
      border: none;
      border-bottom-left-radius: 0;
      border-top-left-radius: 0;
      outline: none;
      -webkit-box-shadow: none;
      box-shadow: none;
      background: #4285f4;
      background: -webkit-linear-gradient(top, #4387fd, #4683ea);
      background: linear, top, #4387fd, #4683ea;
      filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4387fd,endColorstr=#4683ea,GradientType=1); }
    .animenu li:hover > ul, .desktop-menu li:hover > ul {
      opacity: 1;
      visibility: visible;
      margin: 0; }
    .animenu li:hover > a, .desktop-menu li:hover > a {
      color: #555555; }
  .animenu input[type=checkbox], .desktop-menu input[type=checkbox] {
    position: absolute;
    top: -9999px;
    left: -9999px; }
  .animenu label, .desktop-menu label {
    display: none;
    cursor: pointer; }

.desktop-menu {
  display: block;
  float: left;
  margin-right: 2.35765%;
  width: 23.23176%;
  margin-right: 0;
  margin-top: 14px; }
  .desktop-menu:last-child {
    margin-right: 0; }
  @media screen and (min-width: 768px) and (max-width: 1024px) {
    .desktop-menu {
      display: block;
      float: left;
      margin-right: 2.35765%;
      width: 31.76157%; }
      .desktop-menu:last-child {
        margin-right: 0; } }
  .desktop-menu ul {
    float: right; }
  .desktop-menu .shopping-cart-count {
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    font-size: 12px;
    padding: 5px 10px;
    font-weight: 700;
    color: #fff;
    line-height: 1.5;
    border-color: #b0281a;
    border-bottom-color: #d43f3a;
    background-color: #d9534f; }

.animenu > ul,
.desktop-menu > ul {
  -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset;
  -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset; }
  .animenu > ul > li,
  .desktop-menu > ul > li {
    float: left;
    -webkit-box-shadow: 1px 0 0 white;
    -moz-box-shadow: 1px 0 0 white;
    box-shadow: 1px 0 0 white; }
    .animenu > ul > li > a,
    .desktop-menu > ul > li > a {
      float: left;
      padding: 0.8em 2.4em 0.8em 0; }
  .animenu > ul a,
  .desktop-menu > ul a {
    color: #222;
    text-decoration: none; }
  .animenu > ul ul,
  .desktop-menu > ul ul {
    position: absolute;
    top: 100%;
    left: 0;
    opacity: 0;
    visibility: hidden;
    margin: 1.6em 0 0 0;
    z-index: 100;
    background-color: white;
    background-image: none;
    -webkit-transition-property: "margin, opacity";
    -moz-transition-property: "margin, opacity";
    transition-property: "margin, opacity";
    -webkit-transition-duration: ".15s";
    -moz-transition-duration: ".15s";
    -o-transition-duration: ".15s";
    transition-duration: ".15s";
    -webkit-transition-timing-function: ease-in-out;
    -moz-transition-timing-function: ease-in-out;
    transition-timing-function: ease-in-out;
    border: 1px solid #f5f5f5;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.8); }
    .animenu > ul ul li,
    .desktop-menu > ul ul li {
      display: block;
      -webkit-box-shadow: 0 1px 0 white, 0 2px 0 white;
      -moz-box-shadow: 0 1px 0 white, 0 2px 0 white;
      box-shadow: 0 1px 0 white, 0 2px 0 white; }
      .animenu > ul ul li:first-child > a,
      .desktop-menu > ul ul li:first-child > a {
        -webkit-border-radius: 3px 3px 0 0;
        -moz-border-radius: 3px 3px 0 0;
        border-radius: 3px 3px 0 0; }
      .animenu > ul ul li:last-child > a,
      .desktop-menu > ul ul li:last-child > a {
        -webkit-border-radius: 0 0 3px 3px;
        -moz-border-radius: 0 0 3px 3px;
        border-radius: 0 0 3px 3px; }
    .animenu > ul ul a,
    .desktop-menu > ul ul a {
      padding: 0.8em;
      width: 155px;
      display: block;
      border-color: white; }
      .animenu > ul ul a:hover,
      .desktop-menu > ul ul a:hover {
        background-color: #4b7abe;
        border-color: #4b7abe;
        color: white;
        text-decoration: none; }

.desktop-menu > ul li {
  box-shadow: none; }
  .desktop-menu > ul li > a:hover, .desktop-menu > ul li > a:active {
    text-decoration: none; }
  .desktop-menu > ul li:last-child a:link {
    padding-right: 0; }

.desktop-menu > ul ul {
  left: -110px; }

@media screen and (min-width: 0px) and (max-width: 767px) {
  .animenu > ul, .animenu > ul ul {
    visibility: visible;
    opacity: 1;
    display: none; }
  .animenu input[type=checkbox]:checked ~ label,
  .animenu input[type=checkbox] ~ label:hover {
    color: #555555; }
  .animenu label {
    background-color: #fff;
    background-image: -webkit-linear-gradient( rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0));
    background-image: linear-gradient( rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0));
    -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset;
    -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset;
    color: #222;
    text-shadow: 0 1px 0 #fff;
    text-transform: uppercase;
    position: relative;
    display: inline-block;
    padding: 1.5em 3em; }
    .animenu label:before {
      position: absolute;
      top: -.1em;
      left: .3em;
      content: "\2261";
      font-size: 3em; }
  .animenu > ul {
    position: relative;
    border-color: #fff;
    margin: 1.4em 0 !important;
    padding: 0.2em;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    background-color: #fff;
    background-image: none; }
    .animenu > ul li {
      display: block; }
      .animenu > ul li:nth-child(odd) {
        background-color: #e6e6e6;
        background-image: none; }
    .animenu > ul > li {
      float: none;
      border: 0;
      -webkit-box-shadow: none;
      -moz-box-shadow: none;
      box-shadow: none;
      background-color: #fff;
      background-image: none; }
      .animenu > ul > li > a {
        float: none;
        display: block;
        padding: 1.5em; }
    .animenu > ul ul {
      position: static;
      -webkit-border-radius: 0;
      -moz-border-radius: 0;
      border-radius: 0;
      background-color: #e6e6e6;
      background-image: none;
      margin: 0;
      -webkit-transition-property: "none";
      -moz-transition-property: "none";
      transition-property: "none"; }
      .animenu > ul ul li {
        display: none; }
      .animenu > ul ul a {
        padding-left: 2.4em;
        display: block;
        width: auto; }
  .animenu input[type=checkbox]:checked ~ ul {
    display: block; }
    .animenu input[type=checkbox]:checked ~ ul ul {
      display: block; } }

@media screen and (max-width: 600px) {
  .animenu > ul > li > a {
    padding: 0.8em 1.6em; } }

.svg-icon {
  margin: 5px 10px;
  vertical-align: middle;
  height: 29px; }
  @media screen and (min-width: 0px) and (max-width: 767px) {
    .svg-icon {
      display: inline-block !important;
      background-color: #fff !important; } }
  .svg-icon a {
    padding: 0 !important; }
  .svg-icon .new {
    margin-left: 15px;
    width: 29px; }
  .svg-icon .eco {
    width: 20px;
    height: 29px; }
  .svg-icon .usa {
    width: 29px;
    height: 29px; }
  .svg-icon .sale {
    width: 29px; }

.breadcrumb-search {
  margin: 0;
  list-style: none; }
  .breadcrumb-search > li {
    display: inline-block;
    *display: inline;
    /* IE7 inline-block hack */
    *zoom: 1;
    text-shadow: 0 1px 0 #fff; }
    .breadcrumb-search > li > .divider {
      padding: 0 5px;
      color: #9d261d; }
  .breadcrumb-search .active {
    color: #999; }

.breadcrumb {
  display: block;
  float: left;
  margin-right: 2.84259%;
  width: 100%; }
  .breadcrumb:last-child {
    margin-right: 0; }
  @media screen and (min-width: 0px) and (max-width: 767px) {
    .breadcrumb {
      position: absolute;
      top: 70px;
      right: 0; } }
  .breadcrumb ul {
    float: left;
    padding: 4px 0;
    margin: 0;
    list-style: none; }
    @media screen and (min-width: 0px) and (max-width: 767px) {
      .breadcrumb ul {
        float: right; } }
  .breadcrumb > li {
    display: inline-block;
    *display: inline;
    /* IE7 inline-block hack */
    *zoom: 1;
    text-shadow: 0 1px 0 #fff; }
    .breadcrumb > li > .divider {
      padding: 0 5px;
      color: #9d261d; }
  .breadcrumb .active {
    color: #999; }

.pagination-top, .pagination-bottom {
  display: block;
  float: left;
  margin-right: 2.35765%;
  width: 31.76157%;
  margin-right: 0;
  text-align: right;
  margin-top: 10px; }
  .pagination-top:last-child, .pagination-bottom:last-child {
    margin-right: 0; }
  @media screen and (min-width: 0px) and (max-width: 767px) {
    .pagination-top, .pagination-bottom {
      font-size: 21px;
      display: block;
      float: left;
      margin-right: 2.35765%;
      width: 100%;
      text-align: center; }
      .pagination-top:last-child, .pagination-bottom:last-child {
        margin-right: 0; }
      .pagination-top .number-range, .pagination-bottom .number-range {
        display: block;
        margin-bottom: 5px; } }

.pagination-bottom {
  display: block;
  float: left;
  margin-right: 2.35765%;
  width: 100%;
  margin-right: 0;
  margin-bottom: 20px; }
  .pagination-bottom:last-child {
    margin-right: 0; }

.page {
  display: inline-block;
  margin: 0;
  padding: 0 10px;
  line-height: 1em;
  text-decoration: none;
  color: #333;
  cursor: pointer;
  border: 1px solid rgba(0, 0, 0, 0.05);
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px; }
  .page:first-child {
    margin-right: -4px; }
  .page:hover {
    border: 1px solid rgba(0, 0, 0, 0.08);
    color: #fff;
    background-color: #4b7abe; }
  .page.disabled {
    color: #f5f5f5;
    cursor: default;
    border: 0;
    background-color: #fff; }
  @media screen and (min-width: 0px) and (max-width: 767px) {
    .page {
      padding: 0 60px;
      background-color: #e8e8e8; } }

.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0p; }
  .modal-backdrop.fade {
    opacity: 0; }

.modal-backdrop,
.modal-backdrop.fade.in {
  opacity: 80; }

.modal {
  position: fixed;
  top: 10%;
  left: 50%;
  z-index: 1050;
  width: 560px;
  margin-left: -280px;
  background-color: #fff;
  border: 1px solid #999;
  border: 1px solid rgba(0, 0, 0, 0.3);
  *border: 1px solid #999;
  /* IE6-7 */
  border-radius: 2px;
  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
  background-clip: padding-box;
  outline: none; }
  .modal.fade {
    transition: opacity .3s linear;
    top: 25%; }
  .modal.fade.in {
    top: 25%; }
  .modal form {
    margin: 0; }
  @media screen and (min-width: 768px) and (max-width: 1024px) {
    .modal {
      top: 2%; } }
  @media screen and (min-width: 0px) and (max-width: 380px) {
    .modal {
      top: 3%;
      right: 3%;
      left: 3%;
      width: auto;
      margin: 0; } }

.modal-header {
  padding: 10px 50px 10px 15px; }
  .modal-header h5 {
    margin: 0;
    display: inline; }
  .modal-header .close:before {
    content: '\F00D';
    font-family: FontAwesome;
    font-style: normal;
    font-weight: normal;
    text-decoration: inherit;
    color: #000;
    font-size: 18px;
    padding-right: 0.8em;
    position: absolute;
    top: 10px;
    right: 1px; }
  .modal-header h3 {
    margin: 0;
    line-height: 30px; }

.modal-body {
  position: relative;
  overflow-y: auto;
  max-height: 400px;
  padding: 0 25px 25px 10px;
  -webkit-overflow-scrolling: touch; }
  .modal-body h5 {
    display: inline; }
  .modal-body .quickshop_wrapper {
    *zoom: 1;
    max-width: 90em;
    margin-left: auto;
    margin-right: auto; }
    .modal-body .quickshop_wrapper:before, .modal-body .quickshop_wrapper:after {
      display: table;
      content: "";
      line-height: 0; }
    .modal-body .quickshop_wrapper:after {
      clear: both; }
    .modal-body .quickshop_wrapper .quickshop_contents {
      display: block;
      float: left;
      margin-right: 2.35765%;
      width: 100%; }
      .modal-body .quickshop_wrapper .quickshop_contents:last-child {
        margin-right: 0; }
      .modal-body .quickshop_wrapper .quickshop_contents .product_image {
        display: block;
        float: left;
        margin-right: 2.35765%;
        width: 31.76157%; }
        .modal-body .quickshop_wrapper .quickshop_contents .product_image:last-child {
          margin-right: 0; }
      .modal-body .quickshop_wrapper .quickshop_contents .product_info {
        display: block;
        float: left;
        margin-right: 2.35765%;
        width: 65.88078%;
        display: block; }
        .modal-body .quickshop_wrapper .quickshop_contents .product_info:last-child {
          margin-right: 0; }
        .modal-body .quickshop_wrapper .quickshop_contents .product_info .highlight-stock {
          margin-bottom: 10px !important; }
        .modal-body .quickshop_wrapper .quickshop_contents .product_info label {
          font-weight: bold;
          padding: 0;
          letter-spacing: .5px;
          cursor: default; }

.modal-form {
  margin-bottom: 0; }

.modal-footer {
  padding: 14px 15px 15px;
  margin-bottom: 0;
  text-align: right;
  background-color: #f5f5f5;
  border-top: 1px solid #ddd;
  border-radius: 0 0 2px 2px;
  box-shadow: inset 0 1px 0 #fff;
  *zoom: 1; }
  .modal-footer:before, .modal-footer:after {
    display: table;
    content: "";
    line-height: 0; }
  .modal-footer:after {
    clear: both; }
  .modal-footer .help-text {
    font-size: 11.05px; }
  .modal-footer .btn + .btn {
    margin-left: 5px;
    margin-bottom: 0; }
  .modal-footer .btn-group .btn + .btn {
    margin-left: -1px; }
  .modal-footer .btn-block + .btn-block {
    margin-left: 0; }

.pull-right {
  float: right; }

.pull-left {
  float: left; }

.hide {
  display: none; }

.show {
  display: block; }

.invisible {
  visibility: hidden; }

.affix {
  position: fixed; }

.clearfix {
  *zoom: 1; }
  .clearfix:before, .clearfix:after {
    display: table;
    content: "";
    line-height: 0; }
  .clearfix:after {
    clear: both; }

.hide-text {
  font: 0/0 a;
  text-shadow: none;
  color: transparent; }

.input-block-level {
  display: block;
  min-height: 11.42857px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

@media screen and (min-width: 1025px) {
  .hide-mobile {
    display: none !important; } }

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .hide-mobile {
    display: none !important; } }

@media screen and (min-width: 0px) and (max-width: 380px) {
  .bitty-hidden {
    display: none; } }

.nomargin {
  margin: 0; }

.nopadding {
  padding: 0; }

.intro-center {
  text-align: center;
  padding-top: 50px;
  display: block; }
  .intro-center .logo span {
    height: 50px;
    width: 475px;
    display: inline-block;
    background-size: cover;
    background-image: url("../images/logoMap.png"); }
    @media screen and (min-width: 0px) and (max-width: 767px) {
      .intro-center .logo span {
        height: 30px;
        width: 290px; } }

body {
  background-color: #fff; }

.pace .pace-progress {
  background: #4b7abe;
  position: fixed;
  z-index: 2000;
  top: 0;
  left: 0;
  height: 2px;
  -webkit-transition: width 1s;
  -moz-transition: width 1s;
  -o-transition: width 1s;
  transition: width 1s; }

#cover {
  background: url("../images/ajax-loader.gif") no-repeat scroll center center;
  position: absolute;
  height: 100%;
  width: 100%;
  z-index: 4000;
  display: none; }

.content {
  *zoom: 1;
  max-width: 90em;
  margin-left: auto;
  margin-right: auto; }
  .content:before, .content:after {
    display: table;
    content: "";
    line-height: 0; }
  .content:after {
    clear: both; }

input, textarea {
  -webkit-border-radius: 0;
  -webkit-border-radius: none;
  -moz-border-radius: none;
  border-radius: none; }

@media screen and (min-width: 768px) and (max-width: 1024px) {
  .main-bg {
    padding-left: 10px;
    padding-right: 10px; } }

a {
  color: #15c; }
  a:hover {
    color: #0d419d;
    text-decoration: none; }

.desktop-region {
  display: block; }
  @media screen and (min-width: 0px) and (max-width: 767px) {
    .desktop-region {
      display: none; } }

.desktop-region-2 {
  display: block; }
  @media screen and (min-width: 0px) and (max-width: 1024px) {
    .desktop-region-2 {
      display: none; } }

.mobile-region {
  display: none; }
  @media screen and (min-width: 0px) and (max-width: 767px) {
    .mobile-region {
      display: block; } }

.highlight-stock {
  margin: 0;
  color: #46a546;
  font-weight: bold; }

.my_account {
  overflow: hidden;
  display: block;
  float: left;
  margin-right: 2.35765%;
  width: 100%;
  margin-right: 0; }
  .my_account:last-child {
    margin-right: 0; }
  .my_account .right_content {
    display: block;
    float: left;
    margin-right: 2.35765%;
    width: 82.94039%;
    margin-right: 0;
    padding: 2.35765%; }
    .my_account .right_content label {
      font-weight: bold;
      padding: 8px 0 0 0;
      letter-spacing: .5px;
      cursor: default; }
    .my_account .right_content form .controls {
      margin: 10px 0 10px 180px;
      font-weight: bold; }
      @media screen and (min-width: 0px) and (max-width: 767px) {
        .my_account .right_content form .controls {
          display: block;
          float: left;
          margin-right: 2.35765%;
          width: 100%;
          text-align: left;
          margin-left: 0px; }
          .my_account .right_content form .controls:last-child {
            margin-right: 0; } }
    .my_account .right_content .required {
      color: #9d261d;
      font-weight: bold;
      font-size: 18px; }
    .my_account .right_content:last-child {
      margin-right: 0; }
    @media screen and (min-width: 0px) and (max-width: 767px) {
      .my_account .right_content {
        display: block;
        float: left;
        margin-right: 2.35765%;
        width: 100%; }
        .my_account .right_content:last-child {
          margin-right: 0; } }
    .my_account .right_content .list {
      display: block;
      float: left;
      margin-right: 2.84259%;
      width: 89.71574%;
      margin-left: 8.5298%; }
      .my_account .right_content .list:last-child {
        margin-right: 0; }
      .my_account .right_content .list ul {
        margin-right: auto;
        margin-left: auto;
        *zoom: 1;
        padding: 40px 0 0 0; }
        .my_account .right_content .list ul:before, .my_account .right_content .list ul:after {
          display: table;
          content: "";
          line-height: 0; }
        .my_account .right_content .list ul:after {
          clear: both; }
        .my_account .right_content .list ul li {
          list-style-type: none;
          margin-left: 0;
          display: inline;
          float: left;
          width: 160px;
          height: 150px;
          position: relative;
          margin: 0 60px 50px 0; }
          .my_account .right_content .list ul li.first {
            clear: left; }
          .my_account .right_content .list ul li.last {
            margin-right: 0; }

.no_nav_page_wrapper {
  display: block;
  float: left;
  margin-right: 2.35765%;
  width: 100%;
  margin-right: 0;
  padding: 30px 0; }
  .no_nav_page_wrapper:last-child {
    margin-right: 0; }
  .no_nav_page_wrapper form .controls {
    margin: 10px 0 10px 180px; }
  .no_nav_page_wrapper label {
    font-weight: bold;
    padding: 14px 0 0 0;
    letter-spacing: .5px;
    cursor: default; }
  .no_nav_page_wrapper span.required {
    color: #9d261d;
    font-weight: bold;
    font-size: 18px; }
  .no_nav_page_wrapper .phone_email_chat {
    display: block;
    float: left;
    margin-right: 2.35765%;
    width: 31.76157%; }
    .no_nav_page_wrapper .phone_email_chat:last-child {
      margin-right: 0; }
    @media screen and (min-width: 0px) and (max-width: 767px) {
      .no_nav_page_wrapper .phone_email_chat {
        display: block;
        float: left;
        margin-right: 2.35765%;
        width: 100%;
        margin-right: 0;
        text-align: center; }
        .no_nav_page_wrapper .phone_email_chat:last-child {
          margin-right: 0; }
        .no_nav_page_wrapper .phone_email_chat h4 {
          margin-top: 10px; } }
  .no_nav_page_wrapper .contact label {
    font-weight: bold;
    padding: 14px 0 0 0;
    letter-spacing: .5px;
    cursor: default; }
  .no_nav_page_wrapper .contact .input, .no_nav_page_wrapper .contact .input_right {
    padding-left: 10px;
    display: block;
    float: left;
    margin-right: 3.57866%;
    width: 48.21067%; }
    .no_nav_page_wrapper .contact .input:last-child, .no_nav_page_wrapper .contact .input_right:last-child {
      margin-right: 0; }
    .no_nav_page_wrapper .contact .input input, .no_nav_page_wrapper .contact .input_right input {
      width: 100%; }
    @media screen and (min-width: 0px) and (max-width: 767px) {
      .no_nav_page_wrapper .contact .input, .no_nav_page_wrapper .contact .input_right {
        display: block;
        float: left;
        margin-right: 3.57866%;
        width: 100%;
        padding-right: 10px; }
        .no_nav_page_wrapper .contact .input:last-child, .no_nav_page_wrapper .contact .input_right:last-child {
          margin-right: 0; } }
  .no_nav_page_wrapper .contact .input_right {
    margin-right: 0; }
  .no_nav_page_wrapper .contact .textarea {
    display: block;
    float: left;
    margin-right: 3.57866%;
    width: 100%;
    padding-left: 10px; }
    .no_nav_page_wrapper .contact .textarea:last-child {
      margin-right: 0; }
    .no_nav_page_wrapper .contact .textarea textarea {
      width: 100%; }
  .no_nav_page_wrapper .contact .btn {
    margin-top: 20px; }
  .no_nav_page_wrapper .login {
    display: block;
    margin: 0 auto; }
    .no_nav_page_wrapper .login button {
      margin: 15px 0;
      display: block; }
    @media screen and (min-width: 0px) and (max-width: 767px) {
      .no_nav_page_wrapper .login {
        padding: 30px 0; } }
  .no_nav_page_wrapper .checkout-login {
    display: block;
    float: left;
    margin-right: 2.35765%;
    width: 31.76157%;
    margin-left: 17.05961%;
    padding-right: 30px;
    font-size: 12px; }
    .no_nav_page_wrapper .checkout-login:last-child {
      margin-right: 0; }
    .no_nav_page_wrapper .checkout-login label {
      font-weight: bold;
      padding: 14px 0 0 0;
      letter-spacing: .5px;
      cursor: default; }
    @media screen and (min-width: 0px) and (max-width: 767px) {
      .no_nav_page_wrapper .checkout-login {
        display: block;
        float: left;
        margin-right: 2.35765%;
        width: 100%;
        margin-right: 0;
        margin-left: 0%;
        padding: 30px 0; }
        .no_nav_page_wrapper .checkout-login:last-child {
          margin-right: 0; } }
    .no_nav_page_wrapper .checkout-login .thisLogin {
      width: 100%; }
    .no_nav_page_wrapper .checkout-login button {
      margin: 15px 0;
      display: block; }
    .no_nav_page_wrapper .checkout-login h4 {
      text-align: center; }
    .no_nav_page_wrapper .checkout-login hr {
      margin: 20px 0 0 0; }
    .no_nav_page_wrapper .checkout-login p {
      line-height: 30px;
      text-align: center; }
      .no_nav_page_wrapper .checkout-login p a {
        color: #4b7abe; }
  .no_nav_page_wrapper .guest {
    display: block;
    float: left;
    margin-right: 2.35765%;
    width: 31.76157%;
    margin-right: 0;
    padding-left: 30px;
    border-left: 1px solid #f5f5f5;
    min-height: 300px;
    text-align: center; }
    .no_nav_page_wrapper .guest:last-child {
      margin-right: 0; }
    @media screen and (min-width: 0px) and (max-width: 767px) {
      .no_nav_page_wrapper .guest {
        display: block;
        float: left;
        margin-right: 2.35765%;
        width: 100%;
        margin-right: 0;
        border-left: 0;
        border-top: 1px solid #f5f5f5;
        padding: 30px 0;
        min-height: 200px; }
        .no_nav_page_wrapper .guest:last-child {
          margin-right: 0; } }
    .no_nav_page_wrapper .guest p {
      line-height: 30px; }
  .no_nav_page_wrapper .theLeft, .no_nav_page_wrapper .theRight {
    display: block;
    float: left;
    margin-right: 2.35765%;
    width: 48.82117%; }
    .no_nav_page_wrapper .theLeft:last-child, .no_nav_page_wrapper .theRight:last-child {
      margin-right: 0; }
    @media screen and (min-width: 0px) and (max-width: 767px) {
      .no_nav_page_wrapper .theLeft, .no_nav_page_wrapper .theRight {
        display: block;
        float: left;
        margin-right: 2.35765%;
        width: 100%; }
        .no_nav_page_wrapper .theLeft:last-child, .no_nav_page_wrapper .theRight:last-child {
          margin-right: 0; } }
  .no_nav_page_wrapper .theRight {
    margin-right: 0; }
  @media screen and (min-width: 0px) and (max-width: 1024px) {
    .no_nav_page_wrapper {
      padding: 0 20px; } }
  @media screen and (min-width: 0px) and (max-width: 767px) {
    .no_nav_page_wrapper {
      /* Force table to not be like tables anymore */ }
      .no_nav_page_wrapper .GC {
        background-color: transparent;
        border: none; }
      .no_nav_page_wrapper table, .no_nav_page_wrapper thead, .no_nav_page_wrapper tbody, .no_nav_page_wrapper th, .no_nav_page_wrapper td, .no_nav_page_wrapper tr {
        display: block;
        text-align: center; }
      .no_nav_page_wrapper thead tr {
        position: absolute;
        top: -9999px;
        left: -9999px; }
      .no_nav_page_wrapper td {
        position: relative; }
      .no_nav_page_wrapper .form-btns {
        padding: 0; }
        .no_nav_page_wrapper .form-btns .btn {
          display: block;
          float: none;
          margin: 20px 0;
          font-size: 16px;
          padding: 10px;
          width: 100%; } }

footer {
  padding-bottom: 30px;
  display: block;
  float: left;
  margin-right: 2.35765%;
  width: 100%; }
  footer:last-child {
    margin-right: 0; }
  @media screen and (min-width: 0px) and (max-width: 1024px) {
    footer {
      padding-left: 5px;
      padding-right: 5px; } }
  footer p,
  footer #e_welcome {
    display: inline-block; }
  footer #e_welcome {
    margin-top: 10px; }

.GCDI-footer {
  display: block;
  float: left;
  margin-right: 2.35765%;
  width: 100%;
  text-align: center; }
  .GCDI-footer:last-child {
    margin-right: 0; }

@media screen and (min-width: 0px) and (max-width: 767px) {
  #scrollUp {
    text-align: center;
    padding: 10px 5px;
    font-size: 36px;
    text-decoration: none;
    text-shadow: white(10) 0 1px 0;
    color: #236ded;
    -webkit-transition: margin-bottom 150ms linear;
    -moz-transition: margin-bottom 150ms linear;
    transition: margin-bottom 150ms linear; } }

header {
  background: #f5f5f5;
  border-bottom: 1px solid #f5f5f5;
  min-height: 44px;
  padding: 10px 0 15px;
  font-size: 13px;
  position: relative;
  z-index: 1; }
  @media screen and (min-width: 0px) and (max-width: 1024px) {
    header {
      padding: 2px 10px 8px 10px; } }
  header .topLogo {
    display: block;
    float: left;
    margin-right: 2.35765%;
    width: 40.29137%;
    margin-top: 10px; }
    header .topLogo:last-child {
      margin-right: 0; }
    @media screen and (min-width: 0px) and (max-width: 1024px) {
      header .topLogo {
        display: block;
        float: left;
        margin-right: 2.35765%;
        width: 40.29137%; }
        header .topLogo:last-child {
          margin-right: 0; } }
    header .topLogo .logo span {
      height: 32px;
      width: 305px;
      display: inline-block;
      background-size: cover;
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAnQAAABCCAYAAADe1UtWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTY5NzU1QTI2REQ2MTFFNUI1QjVEQjdCMzU3OTNDNzIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTY5NzU1QTE2REQ2MTFFNUI1QjVEQjdCMzU3OTNDNzIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzQ5RjYxN0U2RENCMTFFNUJGNDNEMTk4MDk5M0VCMjEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MzQ5RjYxN0Y2RENCMTFFNUJGNDNEMTk4MDk5M0VCMjEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7FbJ0NAAAsSklEQVR42uxd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"); }
      @media screen and (min-width: 0px) and (max-width: 767px) {
        header .topLogo .logo span {
          height: 42px;
          width: 120px;
          background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAREAAABiCAYAAAB3VedVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjI3NUM4NEQ2NkRENjExRTVBQ0I5QTIzQjlCRTE4MUNGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjI3NUM4NEQ3NkRENjExRTVBQ0I5QTIzQjlCRTE4MUNGIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Mjc1Qzg0RDQ2REQ2MTFFNUFDQjlBMjNCOUJFMTgxQ0YiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Mjc1Qzg0RDU2REQ2MTFFNUFDQjlBMjNCOUJFMTgxQ0YiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7JhF0aAAAg0ElEQVR42uxdC9xWU/beXzVF5FIh11IZuaeESqSL+1QqCYXJbRjMDP/cP+UaJZPbMHIroZnSRTQUKRrpIs24hTKJIYSvCwrV/3l61zvtdnvvc97znvfzvX17/X7r933vOfvsfc6+PHuttddeu2TdunUqUKBAgZJSlVAFgQIFCiASKFCgACKBAgUKIBIoUKAAIoECBQoUQCRQoEDlSCX5PNy9dAqf3w/cDtwCvA+4AXhbcDUw14+Xgz8Hvw9+C/wS+LXRN7X7MVR/oHwpuCgUKYgAPPbAnz7g3uCGCbJYAR4JfhBgMic0Q/FQs5FdO+FPbcutd+f2HDMrgEgAkSjwqI8/peAzwb9K6R1eAPcFmLwVmqMoQGQe/hxkuXUXQOSPAUQqH1WLCR4EjL7g68BbpvwOx4I7oIzB+Hs9wGR1aJZAgYqHIg2rIn28Ar6lAACSpargK8CvobwGoVkCBdpMQAQDuhX+vAk+vLykZfBslNsiNE2gQEWuzmAgn4A/o2NKH6vA/xSJ5V3wEvBKebYO+NcCRO3kt4/qgk8jmITmCRSoSEEEAHJETABZCL4D/NTom9oti6Ea0bZyPPgy8FGOZA+ALw9NEyhQkYIIBvqe+DMhAkDo+3EtBzzA4+e4hSHtT/jzDFkknb+A62tJHgNfhHTB5B4oFpWU5OXqVLIuLO/kTVUMAKmBP38Db+d55g1wUwz0e3MBEAugTFSZpcJxculJ8LkBQAKVV98PAFIAEFGZFRKfUXMS+EgM9P+kUbioQF1Vxu/kTPxeE5okUHkIMCrjTR0oTXUGUkhDUVFcRMNpZwz0VWm+gEgej4emCFSe/R5CyE+hGtKXRK4H13Ck496XLmkDSKBAvxCtDVWQMoiIFNLLk64PAGRpqK5Am0OfhxQS1OYCSCLnqIzXqI3GAUCeD1UVaDOhklAFKYOIbOfv7UlzU6imQJsRBYNqykTDKpdZd3fcZ9yPucX4YV+0b0H7Dn1RjgE3B9P/Jest+w14EZhhCLjiNHGnl2anau9ZPbku67UzuDW4CXgnlbE5facyNibuWp4GHlOj49JP0ixbQjX0AHcA7w/eUdqaKunb4BfBj6NtP5H0vLebJaufkebTArUPVwG7gNuojEdzXZGMvwZ/qDKG/FFol1kBRCo+iLT33B9ZhODBgEj/B/49eHtHsjrCBJcLwGV47n78HYRO+22e4HGyyux2buZIshW4sTDT/hnP0GfmBoDJ7DzBY2/8uRF8ikNs3wF8tPCNSE/v4GtUJj6Ibdn+Y5UJMpVm+5wg0q2rfuoKt2Q7Iv1M/L0M7fJaKggSfEMKYhM5xHN/cpEBCGe2D2QQb5/Do3Suuxr8PvI4JSF47AbmDD/GM0BcOvqJ4Jl4/gHwVgnAowRMMPi3SCBx9P6qArSzRUordNtsA+ak9FyO9XMYpRI8OwBcNQzZigkiTRz3yiDKzi8S8ChhJ8O/Y0V0T0qcqf+OvO5gnjkASHa3c/s8yi4RqWgGASkHAKkuwMVQDdUTlEtV4ukCtw+/Zwb41DyyuYrqDfKqZkgWYRRXAHWmvuPegjxFa4JTz5Tf904A23LL9SHgS1MshxsAt5SZOgpAWoqNIa1YKwfQVoJ820C9+Syijtl+48HH5Vnm9gUEkO2lfvZOITuqfw+qTGjOQBUIRLZx3FuSZ94EkX4pvy9tB7OMTnpxTAApAy9WGcNafeXfH0S6CHl/CF18iE+FUdGbFUk/i82hTCSlPSJUDvrtPIP8WwNIfJHe7owJIP9VGWPuNpJ3tfLoXCLNDY8BIJwY5sjfHUXFdklVv0W+r6BdHtOlkTw34gXKU51x6ZkV0SFnd6OTUhQfHPHMU2CqG3XQ8Q4CN1UZQyIliBHKb60fiDL29dwfpvzxURjh/gxwXYDBr8GHghuozEoIpR2fAx+Nvv09UgjDSl7ief4H8M3gxpDedgO3AHMw15WZ/ONyaC9++0me+x+ItLoD2qU9+GRwawESbsFwAejdaJddEumMAWwKIomscQBJRTRi1bKoMa4ZiwO0GzrlK+YNXCNwvE5GZ/yr2ARsthTGP/mzysSBNaWQbioTZMlFt4FLARqb7HQWNeVO5PEo/pI7u9QqpHkI6Rda1Jh7PGVzWb4rQGMToJBNj48ij1ECgl0LJIWw7m71JHkCfD7a4ntL+/Adb6XEoTJHjFS39AOuQp2bqzQSbCiFkUSWO+7Vq6Dvm+2k9MM43iMet7MBiKXDTleZAEmupd1jxKfBJN9mxf4Y+FfbAMQAE5bZTVQi5QAxW4AmrsDs5XiGkeXa2QDEAJOVks+LBWqr7srtf8RwE71tAGIQl3Wfddw7C+2ycxjCFWNQujpb4wr4vvrGqXM86S5FB419BAXSzo+wq/QxpBCqRAc70r4is2QsApBQEjzTY4M6A+VtYVw736OCnhonypwASbbs7wrQVqe7hBTwBSINuqSYOuAr8e9HHkmJ0tgFYQhXDBB5z3FvO1lhSUo05I1PyK4Z/Gvt/06ONPyeJKEFKF7Pc9w72fjdxZPPlQCGnGRmpKfB9XbHbRpD22qqDJehj3SkHQFgeDuXspGe7TS0AKqMa7l7iKgrtucOAT+mMoZgqoP1I4o6OwzhimETYaSy01yiPDiRrwg658yIwWaXgUun1DbAQqfPpLPt5ulgj6CT5rzVmzMj8qWNoKntNu41QpqsbaK1I5v5AITXE7YFyx6s7BH4GfP2ee1/l/L/UB5lp3nw1IHKvWI1ygAObgWg/wiX0w+Nmf8ysSX9JQzhigEiL3nus3HvLud3Othz7wP565OQ8tHxX/DcY5kLI8qflLRg2kegthB4W1pu76P9v78jCx5NmhTA6OnK/US1U2pDlyq8LAvEAA8uc18oaukOMfP9F/g+8JPIZ70Kpot8UcbVYFQtnDrDhnFtAGsFyaBZOb9TB8f1jyDdrJD/fQa1D/Mo+yPPPb2ju4zOC/L89kUxynZ9+3+SxrzFc2sjvj1nwc5x/RuARwcwPYvpN3NVDABhBDK6yx/B5Xnw0CyABKogICLhCYd70vQr53fq4bg+Tfvf6duSTwfDs/RLcD2/nSHBucTsfOgrj10kSzUdab7Ns+xlafYrx3Xu0Zksam7U6Yu0i/Dc593RLqeB/xlVaNQSb/ARKZwkst6OoNzOZZ0gjRxfHi+DcjqqjEdllKrheteqmOW2Slq+6Oeu58u0/10z/rZ5VkFdx3V9Gd4VsqBWnmXXSrEp8wk/+LLKLHs3AHDcDP4iDNMiABFIIxRlR3jSPYwBXrfAAELpYoBH39f9BT73ZLVXHq/RMKaUsCRHW0Bc2jNG2a5BtSfqsEoByk5Cn+eYfoXYOvYFaNC/Zwz45zA8i0sSIdG3weVmTD18PDrplgV8F6pNzR33RgLodDVjfgKbShw61nNvfozyj0la8OrJdblR7TDH7fcc/+vE5xPZr9Cu+6r4xs04FHdFj45xF4F3BWhcDH4vDMkiBhGRRm7xpOX+E55cV7MAUsiFov9a7RzggYbtgtG2XE5yfaCW5DwjyzNnO24v0ZZ3SS79vIns6k1CZ3nsBNO1/6d58jg3Ydm9U27Sd5TbE5o2OB7RejTqdD/w/eAV5dTfa4YhX1hJhESHp9kRs/x0iQ6fBngwxiuBy7fePxQAZ1v1GO9Iz+XQMxO8DjeLHeS4Ny7it06DACQ5WfCQnkbbqzz2kKka2FNVcIUM7IP63CvHNqCaemGanUr8dFzu6qybu5Bmao4g39MXMCqm0XSLkmBdLSyIoIP+qDK+IWWeZ+jHMQ+d71LZCJYUQJrIrHqNJxmXnq903HvE8xx3eR6QQwflu/j8YTYqq0bHpfRsdcWeba1yWNECgNAWxNUx17LoEyjPNKa6nMroKToyrrQodih+27YF6Fu+9nlUwljGbZ/DJD8GjHqKbvEJ34mAvEUY9oWVRJQckcnt2z94nqMl/y7qvlRFwNvlAB7NwfQ2pHv2EZ6k9A843RGEiLMd/Vue87zfFHS2I2N00CMEzFzf8DzKsklnPtWvH8DhVnC1GBIIo5L9xlMHd1iuD/Ooc7SLTEYd7xzRDrRvPeEpO19phE6Mcxy3aYCehLrfMUb7MCYrnfiy9jiGDnhHQmHmIoWQfg7SSPpU4ulkXNZ9WsWL2EUJ5lXR3WksWyKov7UMaIrYB4o6VD9GfhSHewFAnoroYMyXG+1qeJJxoHDb/Kzspi8JlsPANxeLPaDEM4jp4PSuAwToHesLiUgDI4MSPwNpYqX2XD0ZDNwJ7Fv1ugXPXedon5MFgFxEO8MgAg7qcbH2HNuEz9KQ3iCiHT7GsxulaTay6zyH2nfX3J5j/mi0TyvpE676/VJlwgU8jjr+xiJ9XKbcfkOk0h1fnHVzjphA6atk3bp1YfWn0CAiHY6dgNvUa5fjO3HgnhUFIFpn+x3+3B8jKffjLJL/60cM3iz9KUZkMw6qKPF6tZTNgcLZt6GKDqZM6ecIgMiPnvZ5WMULFciyaUvhCs6eEaCbGohI+wzw2HuyRHBfKJNPDZFUokI2cpI6bM2ate/vMvWNXP3ZqwNEfgzDv0DqjKHavCY2kNfL6X04yE6MCyAiNj8gqlUUZY+IaB4TQO7zAYjYRj6NofopGRiMKsaVm0YxAIQrZZ19ACJEg+jUGN/SQMpukgOApEWUpMbFmMwai3rbIgaAsL67rVuzJgmArJecg0pTTiAiQEJRmLaFq2MMlnyInorNUF6SYyr+pNyOakmIdohL4iSUXbtUadI6q5ib4Y5Cvp/HaBuCDI+byPdoj28L1agA4vUxTlQmEFEaRKP/Scj3xXpT564/RiYhh9145QUi0ll/AjO+A5dPh4rKkRZx1uWSbPuoaFyejroOzFWerqJnJyV6hvZAXn19QXMsQDJDJLYpedYFQzW2EglHxWwbRgej/YrxVJPExWUc2E6F7GSoS4LdaWLjyGci4i7nZshvShi6RWIT8ejiu4su3kslc/Wm4ZTWey5tjky6+9RhI+HS4RUq4wkZd9WIm8+oFt2ewgl4DAt4jfKHNDDpH+B+KZyAx2VtGnI7x0hOwHlQ7BV1lH0Xb942EUv7MD8ugdMv51c5AF3WALsRuAeBokhBxOi4+6nMsYyHis5NoyFXZKprA3SpdFJ6MtLbcxo651eF/DB01i3EXsEVIVr6aVDM+iYsl/dhQCYuH05A50xVVQOYNJMZvo3USz2R/CjFUdLgEjeXlkcDPFKNvI42aSQqBNWsfdWG0AXfShtQ/RmWlfwk3MMblqzeQZr9DRDZRdmDYy8HiHyTQ/vUEcmxvYASjd3ZlUAawbmyxZUdHhPyqksyDCCyGYBIoOIngEgHh11lKkDk6Ir87gFEisQmEmizJ9fGvY9D1QSKomqhCopeiqA0yTgsjFE6CJLD9ATZuHY+vxlqOFAAkc0XPGjfOVvAI7vpbidcby1HQcTNp4mAkI3+GWo6UFBnNk8A4X4Shg8cojYOwkQD8s055EMX8HsdtxlZ/41Q24ECiGyeRE9i17L4VQCHAQIQPgDhCgt3A7v2/jws8XcDBfJSWJ0pXmmEJ/b53P0pRfQHTxLP1uxz9J3h0jd9NVw+PtwsyIPAK3x807A6E0AkUHIQoRTJXcRRS7AMK8ljNOjZWkeAI+qw9isAIIOKoR4CiAR1JlBCkrNiuqvoc3YYvZ6n+nFH9t4xAITOd4NDDQcKIFI5gIQeou1Uxi08DaKtpbsAVKBAAUQqCZDQhf5wlQl+nA/RyNpBO2UwUKBYFGwimxF1L51CgykjluWy+Y/OaaUAj6nF+M3BJhJAJFBhwIT+ItzcxiA/tINkI6/RCY3+Je8KeIwDeLxTzN8aQKQCgEhohECBAuVDwSYSKFCgvMi6dyaEn3TTJZdc8pjKnFaXpRvuueee/pWsDhrgz3/0a6iDEks6xjKhW/4s3P+8yL+ZMXIYZJuiexm+55vKOgZM7aWap9L6qkz0KZ0YtfxIVODqiAqnhMOYqeYBRU/g2UEqUGUAGgaRzp5s+D1+H4W2n1Nk38AAW39QmTi2jYx7BBEuiY8Cj8S3Vdro8b5dvJxFbGHw6Jfwj4h8eQqc7eCosLW88pAeKpEn8l2g3IdZVUQA+T+VCcnoCuHIY1ROEl4EfiViUq0OoFlV2UDEFba/cwwQcZ2Zuk0YW5WGqkT8rsgAcj3V1JjJy0QiMfPgqhhDLLSViZcxicdVhobWyRXkuBMqqMTTALzXJYBIpSf9zB7u2/lrkQAIg11fb1xmnOChotpQQvmzykSeJ02ChGHbUc3v5cmL3VT0OTqVQhIp00CFZ7weqlWiSfRR2F3+p55ID8g6AUQqF2Fg3YcByaNVGSB7Jn4vKZJX5ykB+v4i7k1qi/f/zAI4jVT8EwUqJYjolTNDRLIamkozM4Yqw8hYDQOIVFog4UFc/y6y1zZteTfYAES+b2Fo5fggQks0jWKt5TfVlWscqowOIs8LssdWZ5DHVgJSh4vUw5WgD8AT0GhvOp6h4e4Y7dJ8pJ0v70Nxkoc78QiJS2xLc0jHejhavq+Byqwq8dgCHisxlSCK59ZFvHd1+XYeEUGj2yfgsXhueoxvbii6M4/f4DIijXk8hIsxQZ5FHl97ntVVx8VIO1eu/1pljo1oIvfopfoU7n8UU6zfQeruYGk3fs+LwnGeP0zaL0tvuQadvCuP19hH6p5HW7wlqsL8iHLYXidL3XGy4lEk7Cej8WySY0nqGb9jH4aGd2G7nSg/zaNaD8N9/ffLeL9lljyqiDTfUST6beSb/iV94XNP+ZSMDtAusf64MsY6PVdljiidi2sDHeV2EGGBx3dw7Hwq7c181uYEIjL49AG/WqSKLIjsgzR7IWNzG3oLTZVZ/xHg8+OCCPI8D39uU/YDxG/A/TGsDJRrHjDFgTfWSMuKYvpjtevXCiDq38nKZYCeXT2vdjoHoOe9OdB4TORexq3LcI8b485iY1qe46zH4z9becpehXSleP4Ox339u8cjbQ+VOQb0YrXptoZ+uH+tb5ld6qSv1ElN43ZfAbY/xhhTV6uND9H6k2EnyYI/AyudoxxbMOR9b7VcryXPnu149k559s4cQaTM6H+cGOIeU7qV0R46mYeas8/MM77pGPmmJo481iDNo2wHfFeZ5f5vxF7zvzKQnoP/BQ0c+XegUS63RzwoIG7S5ZQmkeYMlPm27aWqxLCHKLFrmBZom/G0q/b/F4KeK7VrW7uMsrg+WD6ktqeRmP9LSLulcf074zfB6l4DQGySw2gpc9eIzuE7mY5Bfl62AEiWuotRzkZtIwBEiQQ1SPx2bKT77FB6eERlzhG21TNnyoHI61xPeXz+dguAZKm5D1BzmLVLBHjPVf49XB9Znq0t/fG3nmdZb4ORtn+OrzbD+H0e8rgdvEUhVQJp3xc8AKLEVsP6mon0O1vum5IN+8NEi3Sll0uQnOIAkCwdCH5FVpxig4hpLOIsynVwXaTpFGEPmeBQAba1fEhvlTmnNUuUNPpLfn1FlNYR/DojC/Ns4KbSwVTEYOlqub5AQGGGgOeX+I4FnnzO0L6JJ/3ZfAFOF/HepIkaCFJqKlWZFYBbVMb3QKcbkYcN7PTyDlEbHATZVosNkMkSgWRrSzucLzO7SXPkXbPhEndLYdxQSjnJAMOhMmMPEfWL9JLl2cfA+sl8VOEuFPXtbrVx/Nnr8V3NcjHlWK7xWNYP6DsC9knT62Qgk9dYxtAy233k2c2UDmQMUOoYbJnEqP49jeeqWso333tXD4Bw4ntcbfCF4TtxVaknwdOwe1KweDgXm4gJIqupQqBQdqZD5VpL6lpZvQ7/7yNGVFPMXmkBkTLtQ9iZdZGT+l9LXX9GmuEi+u2sqQkDNZ3SrLyjtet/EwDcMlsunu2sNvXGZUOdjzznaeXWMHRMF70rKssckXAuMsRKJaBmGqPnipj/EJ5daTQwRfjpasO2fs6EvURK0EkH9uzxlv8Qte8zsTFRvfmd0SFYB08Y32pGiicIdcnaouTbbpN3zpd6GL8vQjmPGHXQ3LRr4NpJIrZn6VnaRLRl1r8jzVQBZSWSyvXK7XZgGks5y99smaiopg8SlZCxV243V5ykP24n78l3OEqfbHB/nMMGeK+lLx6v28KQ7hqZXLLUUmUOSR+hqztGPh00myYB4ENDame5NXRJH2U+o5X5qEweWXtja1zraKp3cdWZ7GCdbIhWbbXfJxjqz0sWcZtUy2Jv0I1Q15kGOPz+UhpQF1V/YzSebVbohnunge+nbqzpkVcbabmC0FYHEMl3dQxX7VXS4HPkmR/BQwThdWpt6bBrmdYEELn3vWVWPMJS/nLj90LpDJ9JPuw0PJvGjH52pGVQ72DUXxfdmC3fdllc42oE1bcAllkHtiMrdHsMXQjOM/008HusAdjHiw1FxQSSUlk4sJ3fs7W8wwLk+buUwLSeIVX3MI3pYhcybTOXWcwOJlGiPRDPXwEeCn5SAKKJsRjxpA4gUuYay1g5Nak6s8oCIsp4iRN1MV3bX7PCYq9w2VHWzySOdzIPUoqyJYyQzmQif32xfm/UMW2Gz5g0Ds8utlz/W8SgsdppwAeCu4N/q0l9WWoQ433uNd2rxbL+tJHOVEnMoyOec62GqQ17YvKhby2G0P0j6of9sp12aarH/+RVQ0JrnsvLId8BUv8veIyo9+OdBuRZDyeYhnKUvciR1ozuf7CsovnoUuT3X8v1kyP6a7Ye5hoqc8uk6swqzei0UtD4fyAiemIbfWAZuqAPRA43yhliLIW5JJhGEZX3tON6G+P3F6iol/PoBK4Gfz/i/fXBQYnuUjEE1/SUVSuP9zGXV00Ddgvj9/OeMj5IAURGGRMP1UauAlAVu48qmcWmdohhSN1DdlW7jIFmf5maI5BwAB1HYBdjdW9D/CddhftcNh2VsB7MicLXF6dZrjVV7tWjVcq9ReVwU93Gd3R1pF3rG3fVclFnKM6ioMkaijXG73rSuNU0EfNZh+FvIxARfXBbQ005K2blbxlx3+UIZM7A7+U5GFw7mn+OIXmwLoarjZdCC0VrI+qvrsXA7KLvUnif4dKP9G8vkZmZPJvSGPqcHnltDyOPJsq/mpErALvAhOouV2muFZuQabQvFVBMQjsZvz/yvMdKvMNXhtpZ15P3YodLvrIYXLvEfN8aSdUZXWefYJnZddvIJEPHX+6RRGrl0Qmj1I+VHjFUGTpouZMscY61AAg7LG0qVxl2oEJTjZjgmAqJlEF7wO2ONqBk9BrqqalHis2FVqTwzlyp40Y680iNAxwrZ0nqPWryWRM1qDX6wXMvaV2uSqrO6A0wUYxuJZqxTzcajo0YzPrLmw4zBJw/xPyYxQkrwTTC7qF+Gepu6PdscBqBx2tAwwHUt5zeZ6UhFe7iSbtVSkDyo6gD9NWh8beP0ffYV7hCkF2hMj13aeB9ImZxL6dYV1wludzSj/6b0Da0vUcy0Scejtc6xuWlKdmkaECNs79pdVJ1ZrnW8F/gY2apDcbJ4zU9aa3adLuz0yZCAyDyWqqJZFuLYWlZAQeLqebsTddpjzGrUGTqnwN1APkFaJEh4lJnftKRtmHKUglF+MvpmSsDVF+BacqVBHF/NyeOn3D9sfKuKHF3WG1IAVFn9bikfn57c8Pu43LmI5j+KiV1fLFhj+G2hOfiPHj33XcnUmdMUVAvbC8tn6mWvSnfR+Q9zXifcwrcB6apTf1KbvkFBu2exm/bSkiDcnwfc/XrdFkNsdGpBRqc34Ppg/K2ox5mGjNhe9kvkqaaWSVGmlYWNWJhxJhxraJMMX73FJ8dG51pAlAemwBNI+35SessKYhMcDw3xnKtLEIXG2b8vlkcivJqaE9HJciNtwyYgeJMZRMhC0Gmu3Zjo9yqFpG5kDTS+E2xeYQYv/X3Oltt6qiXZLDW99TtWlsfkqVr/ZAuttc45LN7in2F/WCYw8M461Q53Lj8Ot5taYTa3MlR3gjjN9XIGyzlUmq4wLj8cB5NMNqwbzBOUD+LF2xkXcZSZ8zNPnTKQobc4aevdKxT9s1HUUu8XMmhh152iZGrBhOQ/4si8SzSkJwN2FZl9rs8kEcF0oPxJOP7+8osQHXsY9H7ubTXikazqF28CehNQ5wslTp9XWbefmpT57JCARrb9E1ZeeuoXeYSLHdDj5WB3Nqw4+gdrGaOvjaU/trgOQ6iqVLn7HenqY2XZ1caUhq9SU9RG7xz6VvyHvKhn8Or8p7VpG9S/D+WAaNzCKxML0+GBT1TVkLo8Pap9O8m0ibmBHCTJZ9/GWB7AvLjhlR6N9fD+/SUev+31EEvLe2VYqhlH+d7Hytl6KoMA2XflUd7L0EZ9xkTVX9wD1wfKWoSjby1ZIJj23MHce+4ILKd0Yg24uDXPfZmOeIueEGEgxMvTa/VGWrj5aoOaoPbrknN8xwwb6HMiwSMdOKMZnNSqa/c/hdJiXsUztOkwW0t0sBaacjqms2okMSZbp7RRrtZ6oQD/hMD5Kqr6BUznY6WWfcaZQkrodEAPTC4hHigEVbf1EjA7yNsI9oZJsWQjmobAMaJ67goEwHeaaJDKr/NkPY7aiDdU7v+ewEufYtFLwNYTBvlKeKNnA+VCjjoPiOMrXyjI/2CpOrMCg+I6ORy7jJBqJZlUC9Q/mhpqYKIlMlOyCXGr2MkP6gQM7/KbJByEVcuuKlMD+qzjU/cTOGdOLvRgfAzT7JPRYozVyKq56DKUNLaOUZS7qkaYHnPh3JouyyIxCGujHwRMy3VFXqD/sFRlwt9tjZdNUDa5SJhxzGssz+0cmwJyLW9f5CJ+vGYjzSW2CSxJBHd9fwrj0FId7pxecYtMuwei10dGC9Il1o6GnUVhKwns+Jy6bR0PJruAKxhEeBlK3OUiJi9pNyDZPbhWvxSEem4B0gPg2AGGZrnAc9hEeVzq/rbAiaHiyrHAUxv0cG4/54EutEdrmoawD7akOAWe2aROO0wU86LuVzUhkbST+ZLvfO9yqTeVnnsGFMMe9i7WhmL8Px+YijkHp69ZeL6Qd6LdcxNibNjtt1xorrU1Sa+hdI2VNEmxhxUrO89BUjZH5qJarm9fOuXoqawTwxH+hUR+XEH8fsyGTSVevxW8qihND8OUbe6IH0bkaiyklpVKZeGb66WjfMECFocp42Nd/xOVLchokq2F+mzrtTjN9L2LJ9BkZaZqzPhGM1AgQLlReEYzUCBAgUQCRQoUACRQIECBRAJFChQAJFAgQIFypH+X4ABAFqEJdM8gT1tAAAAAElFTkSuQmCC"); } }
  header .topSearch {
    display: block;
    float: left;
    margin-right: 2.35765%;
    width: 31.76157%; }
    header .topSearch:last-child {
      margin-right: 0; }
    @media screen and (min-width: 0px) and (max-width: 767px) {
      header .topSearch {
        display: none; } }
    @media screen and (min-width: 768px) and (max-width: 1024px) {
      header .topSearch {
        display: block;
        float: left;
        margin-right: 2.35765%;
        width: 23.23176%; }
        header .topSearch:last-child {
          margin-right: 0; } }
    header .topSearch input, header .topSearch button {
      display: inline;
      margin-bottom: 0;
      margin-top: 15px; }
    header .topSearch input[type="search"] {
      width: 190px; }
      @media screen and (min-width: 768px) and (max-width: 1024px) {
        header .topSearch input[type="search"] {
          width: 95px; } }
    header .topSearch .search-btn {
      margin-left: 10px; }
      @media screen and (min-width: 768px) and (max-width: 1024px) {
        header .topSearch .search-btn {
          margin-left: 0; } }

.hero {
  display: block;
  position: relative;
  z-index: 0; }
  .hero .error {
    width: 400px;
    padding: 20px;
    text-align: center;
    margin: 20px 0;
    margin-left: auto;
    margin-right: auto; }

.home-page-mobile {
  background: url(../images/Glance-Bike-Photo-mobile.jpg) no-repeat;
  display: block;
  width: 320px;
  height: 295px;
  margin: 0 auto; }

#home_slide {
  margin: 25px 0;
  position: relative;
  display: inline-block;
  height: 430px; }

#home_slide div {
  z-index: 1;
  position: absolute;
  opacity: 0.0;
  height: 430px;
  width: 1170px; }

#home_slide div.home_slide_active {
  z-index: 3;
  opacity: 1.0;
  height: 430px;
  width: 1170px; }

.bottom-home-imgs {
  display: block;
  float: left;
  margin-right: 2.35765%;
  width: 100%;
  margin-right: 0; }
  .bottom-home-imgs:last-child {
    margin-right: 0; }
  .bottom-home-imgs .mobile-region h4 {
    margin-top: 10px;
    text-align: center; }
  .bottom-home-imgs ul {
    list-style-type: none;
    margin: 0; }
  .bottom-home-imgs li {
    display: inline-block;
    display: block;
    float: left;
    margin-right: 2.35765%;
    width: 31.76157%; }
    .bottom-home-imgs li:last-child {
      margin-right: 0; }
    .bottom-home-imgs li:last-child {
      margin-right: 0; }
  @media screen and (min-width: 0px) and (max-width: 767px) {
    .bottom-home-imgs ul {
      display: block;
      margin: 0 auto; }
    .bottom-home-imgs li {
      display: block;
      float: left;
      margin-right: 2.35765%;
      width: 100%;
      margin-bottom: 5px;
      text-align: center; }
      .bottom-home-imgs li:last-child {
        margin-right: 0; }
      .bottom-home-imgs li:last-child {
        margin-right: 0;
        margin-bottom: 0; } }

div.jGrowl {
  z-index: 9999;
  color: #f2f2f2;
  font-size: 12px; }

div.ie6 {
  position: absolute; }
  div.ie6.top-right {
    right: auto;
    bottom: auto;
    left: expression(( 0 - jGrowl.offsetWidth + ( document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth ) + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
    top: expression(( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' ); }
  div.ie6.top-left {
    left: expression(( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
    top: expression(( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' ); }
  div.ie6.bottom-right {
    left: expression(( 0 - jGrowl.offsetWidth + ( document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth ) + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
    top: expression(( 0 - jGrowl.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' ); }
  div.ie6.bottom-left {
    left: expression(( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
    top: expression(( 0 - jGrowl.offsetHeight + ( document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' ); }
  div.ie6.center {
    left: expression(( 0 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px' );
    top: expression(( 0 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px' );
    width: 100%; }

div.jGrowl {
  position: absolute; }

/** Special IE6 Style Positioning **/
/** Normal Style Positions **/
body > div.jGrowl {
  position: fixed; }

div.jGrowl.top-left {
  left: 0px;
  top: 0px; }

div.jGrowl.top-right {
  right: 0px;
  top: 0px; }

div.jGrowl.bottom-left {
  left: 0px;
  bottom: 0px; }

div.jGrowl.bottom-right {
  right: 0px;
  bottom: 0px; }

div.jGrowl.center {
  top: 0px;
  width: 50%;
  left: 25%; }

div.jGrowl.top-center {
  top: 20%;
  width: 30%;
  left: 35%; }
  @media screen and (min-width: 0px) and (max-width: 767px) {
    div.jGrowl.top-center {
      width: 75%;
      left: 15%; } }

div.center div.jGrowl-notification, div.center div.jGrowl-closer {
  margin-left: auto;
  margin-right: auto; }

div.jGrowl div.jGrowl-notification, div.jGrowl div.jGrowl-closer {
  background-color: rgba(83, 83, 83, 0.95);
  zoom: 1;
  padding: 10px;
  font-size: 14px;
  text-align: center;
  display: none; }
  div.jGrowl div.jGrowl-notification .btn, div.jGrowl div.jGrowl-closer .btn {
    margin: 10px; }

div.jGrowl div.jGrowl-notification {
  min-height: 40px;
  margin: 10px; }

div.jGrowl div.jGrowl-closer {
  margin: 10px; }

div.jGrowl div.jGrowl-notification div.jGrowl-header {
  font-size: 1.2em; }

div.jGrowl div.jGrowl-notification div.jGrowl-close {
  z-index: 99;
  float: right;
  font-weight: bold;
  font-size: 1em;
  cursor: pointer;
  color: transparent; }

div.jGrowl div.jGrowl-closer {
  padding-top: 4px;
  padding-bottom: 4px;
  cursor: pointer;
  font-size: .9em;
  font-weight: bold;
  text-align: center; }

div.jGrowl div hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

/** Cross Browser Styling **/
.btn-viewcart, .btn-checkout {
  margin-top: 20px;
  font-weight: bold; }

.btn-checkout {
  float: right; }

/** Hide jGrowl when printing **/
@media print {
  div.jGrowl {
    display: none; } }

.product_details {
  display: block;
  float: left;
  margin-right: 2.35765%;
  width: 100%;
  margin-right: 0;
  padding: 20px 0;
  font-size: 12px; }
  .product_details:last-child {
    margin-right: 0; }
  @media screen and (min-width: 768px) and (max-width: 1024px) {
    .product_details {
      padding-left: 10px;
      padding-right: 10px; } }
  .product_details .price, .product_details #price {
    margin: 10px 0;
    font-weight: 700;
    font-size: 21px;
    padding-bottom: 10px; }
    .product_details .price a, .product_details #price a {
      color: #000; }
  .product_details .saleprice {
    text-decoration: line-through;
    color: #333;
    display: block;
    color: red; }
  .product_details .main_product_image {
    display: block;
    float: left;
    margin-right: 2.35765%;
    width: 48.82117%;
    margin: 0 15px 0 0;
    position: relative;
    z-index: 0; }
    .product_details .main_product_image:last-child {
      margin-right: 0; }
    @media screen and (min-width: 0px) and (max-width: 767px) {
      .product_details .main_product_image {
        display: block;
        float: left;
        margin-right: 2.35765%;
        width: 100%;
        margin-right: 0;
        text-align: center;
        padding: 0 60px; }
        .product_details .main_product_image:last-child {
          margin-right: 0; } }
    .product_details .main_product_image .image-over-icon {
      margin-right: 5px; }
      .product_details .main_product_image .image-over-icon:last-child {
        margin-right: 0; }
  .product_details .standout {
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    padding: 5px 10px;
    font-family: Arial, sans-serif;
    font-size: 11px;
    font-weight: bold;
    text-decoration: none;
    color: #fff;
    line-height: 1.5;
    border-color: #4b7abe;
    background-color: #4b7abe;
    background: -webkit-linear-gradient(top, #4387fd, #4683ea); }
  .product_details #multiple_product_images {
    display: block;
    float: left;
    margin-right: 2.35765%;
    width: 6.17215%; }
    .product_details #multiple_product_images:last-child {
      margin-right: 0; }
    .product_details #multiple_product_images ul {
      list-style: none outside;
      margin: 0;
      padding: 0; }
    @media screen and (min-width: 0px) and (max-width: 767px) {
      .product_details #multiple_product_images {
        display: block;
        float: left;
        margin-right: 2.35765%;
        width: 100%;
        margin-right: 0;
        text-align: center; }
        .product_details #multiple_product_images:last-child {
          margin-right: 0; } }
    .product_details #multiple_product_images #gallery {
      margin-top: 15px;
      display: block; }
      .product_details #multiple_product_images #gallery li {
        margin-bottom: 10px; }
        @media screen and (min-width: 0px) and (max-width: 767px) {
          .product_details #multiple_product_images #gallery li {
            display: inline-block; } }
        .product_details #multiple_product_images #gallery li .ie8 img {
          height: auto;
          width: auto; }
  .product_details .product_info {
    display: block;
    float: left;
    margin-right: 2.35765%;
    width: 40.29137%;
    padding-left: 20px;
    *width: 40%;
    margin-right: 0; }
    .product_details .product_info:last-child {
      margin-right: 0; }
    @media screen and (min-width: 0px) and (max-width: 767px) {
      .product_details .product_info {
        display: block;
        float: left;
        margin-right: 2.35765%;
        width: 100%;
        margin-right: 0; }
        .product_details .product_info:last-child {
          margin-right: 0; }
        .product_details .product_info #description {
          min-height: 200px; }
        .product_details .product_info #sizeChart {
          min-height: 300px; } }
    @media screen and (min-width: 0px) and (max-width: 380px) {
      .product_details .product_info #sizeChart {
        min-height: 400px; } }
    .product_details .product_info #item-title {
      margin: 10px 0 0 0;
      line-height: 32px; }
    .product_details .product_info .nav {
      margin: 20px 0 0 0; }
    .product_details .product_info hr {
      background: #dadada; }
  @media screen and (min-width: 0px) and (max-width: 767px) {
    .product_details .product_shop {
      z-index: 999;
      -webkit-box-shadow: 0 -1px 3px 0 rgba(0, 0, 0, 0.25);
      -moz-box-shadow: 0 -1px 3px 0 rgba(0, 0, 0, 0.25);
      box-shadow: 0 -1px 3px 0 rgba(0, 0, 0, 0.25);
      border-top: 1px solid #f5f5f5;
      width: 100%;
      position: fixed;
      bottom: 0;
      left: 0;
      padding: 10px;
      background-color: #f4f4f4;
      box-shadow: 0px 1px 0px 0 rgba(0, 0, 0, 0.15); } }
  .product_details .product_shop label {
    font-weight: 700; }
  .product_details .product_shop .btn-cart {
    display: block;
    font-size: 16px;
    padding: 10px 20px;
    width: 100%;
    color: #fff;
    border-color: #b0281a;
    border-bottom-color: #af301f;
    background-color: #c53727;
    background-image: -webkit-gradient(linear, left top, left bottom, from(#dd4b39), to(#c53727));
    background-image: -webkit-linear-gradient(top, #dd4b39, #c53727);
    background-image: -moz-linear-gradient(top, #dd4b39, #c53727);
    background-image: -ms-linear-gradient(top, #dd4b39 0%, #c53727 100%);
    background-image: linear, to bottom, #dd4b39, #c53727; }
  .product_details .product_shop .btn-wishlist {
    margin: 10px 0 0;
    padding: 0;
    border-bottom: 1px dotted #4b7abe; }
    @media screen and (min-width: 0px) and (max-width: 767px) {
      .product_details .product_shop .btn-wishlist {
        display: block; } }
    .product_details .product_shop .btn-wishlist:hover {
      text-decoration: none; }
  .product_details .product_shop .btn-block {
    margin: 0; }
  .product_details .product_shop hr {
    border-bottom: 1px solid gainsboro; }
  .product_details .product_shop .price-shop {
    font-weight: 700;
    font-size: 21px;
    padding-bottom: 10px; }
    .product_details .product_shop .price-shop a {
      color: #000; }
  .product_details .product_shop .detail-style .Size-style-dropdown,
  .product_details .product_shop .detail-style .Color-style-dropdown {
    display: inline-block;
    margin: 0 10px 20px 10px; }
    .product_details .product_shop .detail-style .Size-style-dropdown select, .product_details .product_shop .detail-style .Size-style-dropdown .selectricWrapper,
    .product_details .product_shop .detail-style .Color-style-dropdown select,
    .product_details .product_shop .detail-style .Color-style-dropdown .selectricWrapper {
      width: auto; }
  .product_details .product_shop .detail-style .stock-container {
    display: inline-block;
    margin: 0 10px 20px 10px; }
    @media screen and (min-width: 0px) and (max-width: 767px) {
      .product_details .product_shop .detail-style .stock-container {
        display: none !important; } }
    .product_details .product_shop .detail-style .stock-container label {
      padding-bottom: 5px; }
    .product_details .product_shop .detail-style .stock-container .inventory {
      color: #46a546;
      font-weight: bold; }
  .product_details .product_shop .detail-style .qty-contain {
    display: inline-block;
    margin: 0 0 20px 10px; }

.product_details  .size-guide-type {
  display: inline-block;
  font-style: italic;
  font-weight: 700; }
  .product_details .size-chart {
    display: inline-block;
    padding: 5px;
    width: 100%; }
  .product_details .fit-images {
    display: block;
    float: left;
    margin-right: 2.35765%;
    width: 31.76157%; }
    .product_details .fit-images:last-child {
      margin-right: 0; }
  .product_details .chart {
    display: block;
    float: left;
    margin-right: 2.35765%;
    width: 65.88078%;
    margin-right: 0; }
    .product_details .chart:last-child {
      margin-right: 0; }

.virtualholder label {
  font-size: 11px;
  font-weight: bold;
  text-transform: uppercase;
  padding: 8px 0 0 0;
  letter-spacing: .5px;
  cursor: default; }

.virtualholder span.required {
  color: #9d261d;
  font-weight: bold;
  font-size: 18px; }

.virtualholder .items {
  text-align: center; }
  .virtualholder .items .itemholder {
    display: block;
    float: left;
    margin-right: 2.35765%;
    width: 31.76157%; }
    .virtualholder .items .itemholder:last-child {
      margin-right: 0; }
    .virtualholder .items .itemholder:nth-child(3n) {
      margin-right: 0; }

.virtualholder .customHolder {
  display: block;
  float: left;
  margin-right: 2.35765%;
  width: 100%;
  margin-top: 10px; }
  .virtualholder .customHolder:last-child {
    margin-right: 0; }
  .virtualholder .customHolder .designContainer {
    margin-top: 10px;
    display: block;
    float: left;
    margin-right: 2.35765%;
    width: 31.76157%; }
    .virtualholder .customHolder .designContainer:last-child {
      margin-right: 0; }
  .virtualholder .customHolder .checkoutContainers {
    padding-left: 20px;
    margin-top: 10px;
    display: block;
    float: left;
    margin-right: 2.35765%;
    width: 31.76157%; }
    .virtualholder .customHolder .checkoutContainers:last-child {
      margin-right: 0; }
    .virtualholder .customHolder .checkoutContainers:nth-child(2n) {
      margin-right: 0; }
  .virtualholder .customHolder .product_shop {
    margin-top: 20px;
    margin-left: 25px;
    display: block;
    float: left;
    margin-right: 2.35765%;
    width: 23.23176%;
    margin-right: 0;
    padding: 10px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    text-align: center; }
    .virtualholder .customHolder .product_shop:last-child {
      margin-right: 0; }
    .virtualholder .customHolder .product_shop .reset-btn {
      margin-top: -10px;
      margin-bottom: 20px; }
    @media screen and (min-width: 0px) and (max-width: 767px) {
      .virtualholder .customHolder .product_shop {
        display: block;
        float: left;
        margin-right: 2.35765%;
        width: 100%;
        margin-right: 0; }
        .virtualholder .customHolder .product_shop:last-child {
          margin-right: 0; } }

.category_products {
  font-size: 12px; }
  .category_products .right_content {
    display: block;
    float: left;
    margin-right: 2.35765%;
    width: 82.94039%;
    *width: 80%;
    padding: 20px 0;
    margin-right: 0; }
    .category_products .right_content:last-child {
      margin-right: 0; }
    @media screen and (min-width: 0px) and (max-width: 767px) {
      .category_products .right_content {
        display: block;
        float: left;
        margin-right: 2.35765%;
        width: 100%;
        padding: 0; }
        .category_products .right_content:last-child {
          margin-right: 0; } }
  .category_products .full_width_content {
    display: block;
    float: left;
    margin-right: 2.35765%;
    width: 100%;
    margin-right: 0;
    padding: 20px 0; }
    .category_products .full_width_content:last-child {
      margin-right: 0; }
    .category_products .full_width_content ul {
      margin-left: 0; }
    .category_products .full_width_content .search_title {
      display: block; }
      .category_products .full_width_content .search_title h4 {
        display: inline; }
    .category_products .full_width_content .sortby {
      display: block;
      float: left;
      margin-right: 2.35765%;
      width: 65.88078%;
      margin-top: 10px; }
      .category_products .full_width_content .sortby:last-child {
        margin-right: 0; }
      @media screen and (min-width: 0px) and (max-width: 767px) {
        .category_products .full_width_content .sortby {
          float: right; } }
      .category_products .full_width_content .sortby select {
        display: inline-block;
        width: auto;
        margin: 0;
        line-height: 12px; }
        .category_products .full_width_content .sortby select .label {
          font-weight: normal; }
      .category_products .full_width_content .sortby form {
        display: inline-block; }
    .category_products .full_width_content .text {
      display: inline;
      padding-right: 10px; }
      @media screen and (min-width: 0px) and (max-width: 767px) {
        .category_products .full_width_content .text {
          font-size: 14px;
          display: block;
          padding-right: 0; } }
  @media screen and (min-width: 0px) and (max-width: 767px) {
    .category_products .product_list {
      margin: 0 auto;
      display: block; } }
  .category_products .product_list ul {
    display: block;
    float: left;
    margin-right: 2.84259%;
    width: 100%;
    margin-right: 0;
    padding: 30px 0 0 0; }
    .category_products .product_list ul:last-child {
      margin-right: 0; }
    @media screen and (min-width: 381px) and (max-width: 767px) {
      .category_products .product_list ul {
        display: block;
        float: left;
        margin-right: 2.35765%;
        width: 100%;
        margin-right: 0; }
        .category_products .product_list ul:last-child {
          margin-right: 0; } }
    @media screen and (min-width: 0px) and (max-width: 380px) {
      .category_products .product_list ul {
        width: 100%; } }
    .category_products .product_list ul li {
      list-style-type: none;
      margin-left: 0;
      display: inline;
      float: left;
      width: 260px;
      height: 270px;
      position: relative;
      margin: 0 30px 60px 0;
      text-align: center; }
      .category_products .product_list ul li .product-image {
        width: 200px; }
      .category_products .product_list ul li:nth-child(4n+4) {
        margin-right: 0; }
      @media screen and (min-width: 381px) and (max-width: 767px) {
        .category_products .product_list ul li {
          margin: 10px;
          display: block; }
          .category_products .product_list ul li:nth-child(3n+3) {
            margin-right: 0; } }
      @media screen and (min-width: 0px) and (max-width: 380px) {
        .category_products .product_list ul li {
          margin: 5px 0 auto 5px;
          float: none; } }
      .category_products .product_list ul li .quick_shop {
        display: none;
        position: absolute;
        top: 40%;
        left: 32%;
        font-weight: 700;
        text-transform: uppercase;
        color: #fff;
        line-height: 12.1875px;
        padding: 10px;
        cursor: pointer;
        background-color: #4b7abe;
        opacity: .7;
        border-radius: 2px;
        transition: opacity 0.5s ease-in-out; }
        .category_products .product_list ul li .quick_shop:hover, .category_products .product_list ul li .quick_shop:focus {
          opacity: 1; }
        @media screen and (min-width: 768px) and (max-width: 1024px) {
          .category_products .product_list ul li .quick_shop {
            display: none; } }
      .ie7 .category_products .product_list ul li.quick_shop,
      .ie8 .category_products .product_list ul li.quick_shop {
        display: none; }
      .category_products .product_list ul li .tags {
        position: absolute;
        top: 10px;
        right: 5px; }
        @media screen and (min-width: 0px) and (max-width: 380px) {
          .category_products .product_list ul li .tags {
            right: 80px; } }
        .category_products .product_list ul li .tags .image-over-icon {
          display: block;
          margin-bottom: 5px; }
      .category_products .product_list ul li .centered {
        text-align: center; }
        .category_products .product_list ul li .centered .saleprice {
          text-decoration: line-through;
          color: #333;
          color: red; }
        .category_products .product_list ul li .centered a {
          display: block;
          text-decoration: none;
          white-space: normal;
          padding-top: 5px; }
          .category_products .product_list ul li .centered a:hover, .category_products .product_list ul li .centered a:focus {
            text-decoration: underline; }

.ie7 {
  display: block;
  float: left;
  margin-right: 2.35765%;
  width: 74.41059%;
  margin-right: 0; }
  .ie7:last-child {
    margin-right: 0; }

.left_nav {
  display: block;
  float: left;
  margin-right: 2.35765%;
  width: 14.70196%;
  z-index: 10;
  font-family: Arial, sans-serif;
  padding: 32px 0; }
  .left_nav:last-child {
    margin-right: 0; }
  .left_nav ul {
    list-style: none outside;
    margin: 0;
    padding: 0; }
  @media screen and (min-width: 0px) and (max-width: 767px) {
    .left_nav {
      width: 100%;
      padding: 10px 0;
      margin: 0 auto;
      padding: 0; } }
  .left_nav a {
    text-decoration: none;
    color: #000; }
    .left_nav a:hover {
      text-decoration: underline; }
    .left_nav a.selected {
      color: #4b7abe;
      font-weight: bold; }
      .left_nav a.selected:hover {
        text-decoration: none; }
  @media screen and (min-width: 0px) and (max-width: 767px) {
    .left_nav ul {
      margin-top: 10px;
      text-align: center; } }
  .left_nav ul li {
    padding-bottom: 5px; }
    .left_nav ul li:last-child {
      padding-bottom: 20px;
      border-bottom: 1px solid #f5f5f5;
      margin-bottom: 20px; }
    @media screen and (min-width: 0px) and (max-width: 767px) {
      .left_nav ul li {
        font-size: 14px;
        padding: 10px 0; }
        .left_nav ul li:last-child {
          margin: 0;
          padding-bottom: 10px; } }
  .left_nav .shop-by {
    padding: 10px;
    margin-bottom: 10px; }
    .left_nav .shop-by li:last-child {
      border: 0;
      padding-bottom: 0;
      margin-bottom: 0; }
  .left_nav .modal-body ul li:last-child {
    border-bottom: none; }
  .left_nav .product-icon-popup {
    cursor: pointer; }
  .left_nav .gift-card {
    margin: 20px 0; }

.free-items-popup {
  cursor: pointer; }

.right_content {
  display: block;
  float: left;
  margin-right: 2.35765%;
  width: 82.94039%;
  *width: 80%;
  padding: 20px 0;
  margin-right: 0; }
  .right_content:last-child {
    margin-right: 0; }
  @media screen and (min-width: 0px) and (max-width: 767px) {
    .right_content {
      display: block;
      float: left;
      margin-right: 2.35765%;
      width: 100%; }
      .right_content:last-child {
        margin-right: 0; } }

.category-name {
  font-size: 24px;
  color: #3366cc;
  margin: 0 0 15px 0;
  line-height: 1.1; }
  @media screen and (min-width: 0px) and (max-width: 767px) {
    .category-name {
      font-size: 12px; } }

.category-product-list {
  display: block;
  float: left;
  margin-right: 2.35765%;
  width: 100%;
  margin-right: 0;
  text-align: center; }
  .category-product-list:last-child {
    margin-right: 0; }
  .category-product-list .category-page-title {
    font-size: 14px;
    line-height: 20px;
    text-align: center;
    text-transform: uppercase;
    color: #222; }
  .category-product-list ul {
    width: 100%;
    display: inline-block;
    border: 15px solid #f5f5f5;
    margin: 0;
    border-radius: 15px;
    margin-bottom: 30px;
    border-top: 0; }
    .category-product-list ul .inner-category {
      background-color: white;
      display: inline-block;
      width: 100%;
      border-radius: 15px; }
    .category-product-list ul li {
      display: block;
      float: left;
      margin-right: 2.35765%;
      width: 23.23176%;
      padding: 20px;
      border-left: none;
      text-align: center; }
      .category-product-list ul li:last-child {
        margin-right: 0; }
      @media screen and (min-width: 0px) and (max-width: 767px) {
        .category-product-list ul li {
          display: block;
          float: left;
          margin-right: 2.35765%;
          width: 100%;
          margin-right: 0; }
          .category-product-list ul li:last-child {
            margin-right: 0; } }
  .category-product-list .single-product {
    margin: 20px 0; }
    .category-product-list .single-product .prod-img {
      position: relative; }
  .category-product-list .price {
    font-weight: bold;
    color: #000;
    padding: 0 10px;
    text-align: center; }

.page_wrapper {
  display: block;
  float: left;
  margin-right: 2.35765%;
  width: 100%;
  overflow: hidden; }
  .page_wrapper:last-child {
    margin-right: 0; }
  @media screen and (min-width: 0px) and (max-width: 1024px) {
    .page_wrapper {
      padding: 0 20px; } }
  .page_wrapper .right_content {
    display: block;
    float: left;
    margin-right: 2.35765%;
    width: 65.88078%;
    margin-right: 0;
    padding: 30px 0; }
    .page_wrapper .right_content:last-child {
      margin-right: 0; }
    @media screen and (min-width: 0px) and (max-width: 767px) {
      .page_wrapper .right_content {
        display: block;
        float: left;
        margin-right: 2.35765%;
        width: 100%;
        margin-right: 0; }
        .page_wrapper .right_content:last-child {
          margin-right: 0; } }
    .page_wrapper .right_content ol {
      margin-left: 35px; }
    .page_wrapper .right_content .site-map ul {
      margin-left: 35px; }

.checkout-step {
  list-style-type: none; }
  .checkout-step ul {
    list-style: none outside;
    margin: 0;
    padding: 0; }
  .checkout-step a {
    color: #fff; }
    .checkout-step a:hover, .checkout-step a:focus, .checkout-step a:active {
      color: #e6e6e6; }
  @media screen and (min-width: 0px) and (max-width: 1024px) {
    .checkout-step {
      margin-top: 20px; } }
  .checkout-step ul {
    margin: 0 50px 10px 50px;
    text-align: center; }
    @media screen and (min-width: 0px) and (max-width: 767px) {
      .checkout-step ul {
        margin: 0; } }
  .checkout-step li {
    display: inline-block;
    margin: 0 20px 20px 20px;
    text-align: center; }
    .checkout-step li:first-child {
      margin-left: 0; }
    .checkout-step li:last-child {
      margin-right: 0; }
    @media screen and (min-width: 0px) and (max-width: 767px) {
      .checkout-step li {
        margin-right: 10px;
        margin-left: 10px; } }
    .checkout-step li .block {
      display: block;
      margin: 0 auto; }
    .checkout-step li .circle {
      font-size: 18px;
      background-color: #f5f5f5;
      color: #2f2f2f;
      border-radius: 50%;
      width: 36px;
      height: 36px;
      line-height: 36px;
      font-weight: 700;
      display: block;
      margin: 0 auto 10px; }
      @media screen and (min-width: 0px) and (max-width: 767px) {
        .checkout-step li .circle {
          font-size: 14px;
          line-height: 30px;
          width: 30px;
          height: 30px;
          margin-bottom: 5px; } }
    .checkout-step li .active {
      border-bottom: 1px solid #222; }
    .checkout-step li .past,
    .checkout-step li .b {
      background-color: #83a4d2;
      color: #4b7abe; }
    .checkout-step li .a {
      background-color: #4b7abe;
      color: #fff;
      box-shadow: 0 0 0 5px rgba(0, 0, 0, 0.1); }
    .checkout-step li span {
      font-size: 14px;
      font-weight: 700;
      color: #4b7abe; }
      @media screen and (min-width: 0px) and (max-width: 767px) {
        .checkout-step li span {
          font-size: 11px; } }

.checkout .confirm-order {
  text-align: center; }
  .checkout .confirm-order h3 {
    margin: 0; }
  .checkout .confirm-order .order-num {
    font-size: 18px;
    color: #e31929; }

.checkout .order-num {
  font-size: 18px;
  color: #4b7abe; }

.checkout .progress-btns {
  display: block;
  float: left;
  margin-right: 2.35765%;
  width: 100%;
  margin-right: 0;
  margin: 20px 0; }
  .checkout .progress-btns:last-child {
    margin-right: 0; }
  .checkout .progress-btns .btn-continue {
    float: right; }
  .checkout .progress-btns .btn-back {
    float: left; }

.checkout .cc-contain {
  display: block;
  float: left;
  margin-right: 2.35765%;
  width: 100%;
  margin-right: 0; }
  .checkout .cc-contain:last-child {
    margin-right: 0; }
  .checkout .cc-contain .block {
    display: block;
    float: left;
    margin-right: 2.35765%;
    width: 23.23176%; }
    .checkout .cc-contain .block:last-child {
      margin-right: 0; }
    .checkout .cc-contain .block:last-child {
      margin-right: 0; }
    @media screen and (min-width: 0px) and (max-width: 767px) {
      .checkout .cc-contain .block {
        display: block;
        float: left;
        margin-right: 2.35765%;
        width: 100%; }
        .checkout .cc-contain .block:last-child {
          margin-right: 0; } }
    .checkout .cc-contain .block input[type=radio] {
      display: none; }
    .checkout .cc-contain .block .check-with-label + .label-for-check {
      padding: 10px;
      border: 1px solid #f5f5f5;
      cursor: pointer; }
    .checkout .cc-contain .block .check-with-label:checked + .label-for-check {
      background-color: #f5f5f5;
      padding: 10px;
      border: 1px solid #222;
      cursor: pointer; }
    .checkout .cc-contain .block ul {
      list-style-type: none; }
    .checkout .cc-contain .block li {
      padding-bottom: 10px;
      font-size: 14px; }
      .checkout .cc-contain .block li:last-child {
        padding-bottom: 0; }

.checkout label {
  font-weight: bold;
  padding: 14px 0 0 0;
  letter-spacing: .5px;
  text-transform: uppercase;
  cursor: default;
  font-size: .875em; }

.checkout label.radio, .checkout label.checkbox {
  text-transform: none;
  font-size: 12px;
  font-weight: normal;
  letter-spacing: 0;
  margin-left: 20px;
  padding: 0;
  cursor: pointer; }

.checkout .billing-address select {
  width: 270px; }
  @media screen and (min-width: 0px) and (max-width: 767px) {
    .checkout .billing-address select {
      width: 220px; } }

.checkout .gift-msg-check {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 2px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  display: inline-block; }

.checkout .payment-method {
  margin-top: 20px;
  padding-bottom: 0; }
  .checkout .payment-method label {
    display: block; }
  .checkout .payment-method ul {
    list-style-type: none; }
  .checkout .payment-method li {
    display: inline-block;
    padding-left: 10px; }
    .checkout .payment-method li:first-child {
      padding-left: 0; }

.checkout .inline-btn {
  margin: 0; }

.checkout .blue_link {
  color: #4b7abe; }

.checkout .recap ul {
  list-style-type: none; }

.checkout .recap .btn-small {
  margin-top: 10px; }

.checkout .recap .billing-container {
  display: block;
  float: left;
  margin-right: 2.35765%;
  width: 74.41059%;
  border: 1px solid #f5f5f5;
  padding: 0 30px 10px; }
  .checkout .recap .billing-container:last-child {
    margin-right: 0; }
  .checkout .recap .billing-container .address, .checkout .recap .billing-container .info {
    display: block;
    float: left;
    margin-right: 3.16844%;
    width: 42.6842%; }
    .checkout .recap .billing-container .address:last-child, .checkout .recap .billing-container .info:last-child {
      margin-right: 0; }
  .checkout .recap .billing-container .info {
    margin-right: 0; }

.checkout .recap .shipping-container {
  display: block;
  float: left;
  margin-right: 2.35765%;
  width: 100%;
  margin-right: 0;
  padding: 0 30px 10px;
  margin-top: 10px; }
  .checkout .recap .shipping-container:last-child {
    margin-right: 0; }
  .checkout .recap .shipping-container ul {
    display: block;
    float: left;
    margin-right: 2.35765%;
    width: 31.76157%; }
    .checkout .recap .shipping-container ul:last-child {
      margin-right: 0; }
    .checkout .recap .shipping-container ul:last-child {
      margin-right: 0; }

.checkout .recap .basket-total {
  display: block;
  float: left;
  margin-right: 2.35765%;
  width: 23.23176%;
  margin-right: 0;
  overflow: hidden; }
  .checkout .recap .basket-total:last-child {
    margin-right: 0; }
  @media screen and (min-width: 0px) and (max-width: 767px) {
    .checkout .recap .basket-total {
      display: block;
      float: left;
      margin-right: 2.35765%;
      width: 100%;
      margin-right: 0; }
      .checkout .recap .basket-total:last-child {
        margin-right: 0; } }
  .checkout .recap .basket-total ul {
    margin: 0;
    list-style-type: none;
    background-color: #f4f4f4;
    padding: 10px; }
  .checkout .recap .basket-total li.checkout-info .btn {
    display: block;
    margin-bottom: 30px; }
  .checkout .recap .basket-total li.checkout-info p {
    margin: 5px 0; }
    .checkout .recap .basket-total li.checkout-info p span {
      float: right; }

.addmore {
  width: 120px;
  text-align: center; }

.row-off, .hidden {
  display: none; }

.row-on, .visible {
  display: block;
  margin: 5px 0px; }

.filter label {
  font-weight: bold;
  padding: 14px 0 0 0;
  letter-spacing: .5px;
  cursor: default; }

.filter label {
  text-transform: uppercase;
  border-bottom: 1px solid #f5f5f5;
  margin-bottom: 10px; }
  @media screen and (min-width: 0px) and (max-width: 767px) {
    .filter label {
      padding-left: 10px; } }

.filter a:link,
.filter a:visited {
  color: #4b7abe;
  font-weight: bold; }
  @media screen and (min-width: 0px) and (max-width: 767px) {
    .filter a:link,
    .filter a:visited {
      font-size: 14px; } }

.filter .filter-buttons .size {
  text-align: center;
  font-weight: bold;
  text-decoration: none;
  display: inline-block;
  cursor: pointer;
  padding: 4px 12px 12px;
  border: none;
  width: 50px;
  height: 50px;
  pointer: cursor;
  line-height: 17px; }
  .filter .filter-buttons .size:hover {
    color: #4b7abe; }

.menu {
  -webkit-font-smoothing: antialiased;
  perspective: 70;
  -webkit-perspective: 70;
  font-size: 21px; }
  .menu ul {
    margin: 10px 0 0 0;
    padding: 0;
    float: right;
    text-align: right; }
    @media screen and (min-width: 0px) and (max-width: 1024px) {
      .menu ul {
        width: 50%; } }
  .menu ul li {
    display: inline-block;
    list-style: none;
    cursor: pointer;
    padding: 9px 0 0 30px; }
    .menu ul li .shopping-cart-count {
      -webkit-border-radius: 2px;
      -moz-border-radius: 2px;
      border-radius: 2px;
      font-size: 11px;
      padding: 3px 5px;
      font-weight: 700;
      color: #fff;
      border-color: #b0281a;
      border-bottom-color: #af301f;
      background-color: #c53727;
      background-image: -webkit-gradient(linear, left top, left bottom, from(#dd4b39), to(#c53727));
      background-image: -webkit-linear-gradient(top, #dd4b39, #c53727);
      background-image: -moz-linear-gradient(top, #dd4b39, #c53727);
      background-image: -ms-linear-gradient(top, #dd4b39 0%, #c53727 100%);
      background-image: linear, to bottom, #dd4b39, #c53727;
      position: absolute;
      margin-left: -10px;
      margin-top: -14px; }
    .menu ul li a:link,
    .menu ul li a:hover,
    .menu ul li a:active,
    .menu ul li a:visited,
    .menu ul li a:focus {
      color: #222; }

.menu-wrapper,
.front,
.back {
  display: block;
  float: left;
  margin-right: 2.35765%;
  width: 100%;
  margin-right: 0;
  height: 54px;
  background-color: #f5f5f5; }
  .menu-wrapper:last-child,
  .front:last-child,
  .back:last-child {
    margin-right: 0; }

.menu-wrapper {
  overflow: hidden;
  transition: 0.6s;
  -webkit-transition: 0.6s;
  position: relative; }

.flip .front {
  -webkit-transition: all 1.3s;
  transition: all 1.3s;
  transform: scale(0.9, 0.9);
  -webkit-transform: scale(0.9, 0.9);
  transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  /* IE 9 */
  -webkit-transform-origin: 50% 50%;
  /* Safari and Chrome */
  opacity: 0.5; }

.flip .back {
  -webkit-transition: all 0.7s;
  transition: all 0.7s;
  opacity: 1;
  top: 0;
  padding-top: 15px; }

.front {
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  position: absolute;
  top: 0;
  left: 0; }

.back {
  position: absolute;
  opacity: 0;
  top: -70px;
  left: 0; }

/* front pane, placed above back */
.front {
  z-index: 2; }

.back {
  z-index: 3; }

/* back, initially hidden pane */
.back .close-icon {
  padding: 0 0 0 10px;
  margin: 0;
  float: right; }

.back .search-btn {
  float: left; }
  @media screen and (min-width: 0px) and (max-width: 380px) {
    .back .search-btn {
      display: none; } }

.back input {
  float: left; }

.close-icon {
  cursor: pointer;
  font-size: 21px; }

#notify {
  display: block;
  float: left;
  margin-right: 2.35765%;
  width: 100%;
  margin-right: 0;
  width: 100%;
  background-color: #f89406;
  color: white;
  padding: 10px;
  margin-top: 10px; }
  #notify:last-child {
    margin-right: 0; }

.cross-sells-container {
  display: block;
  float: left;
  margin-right: 2.35765%;
  width: 100%;
  margin-right: 0; }
  .cross-sells-container:last-child {
    margin-right: 0; }
  .cross-sells-container ul {
    list-style: none outside;
    margin: 0;
    padding: 0; }
  @media screen and (min-width: 0px) and (max-width: 767px) {
    .cross-sells-container {
      display: none; } }
  .cross-sells-container h5 {
    border-bottom: 1px solid #eee;
    padding-bottom: 5px; }
  .cross-sells-container li {
    display: block;
    float: left;
    margin-right: 2.35765%;
    width: 23.23176%;
    text-align: center; }
    .cross-sells-container li:last-child {
      margin-right: 0; }
    .cross-sells-container li:last-child {
      margin-right: 0; }
    .cross-sells-container li .cross-sale-price {
      font-size: 13px; }

.animenu > ul:after,
.desktop-menu > ul:after {
  content: "";
  display: table;
  clear: both; }

body {
  -webkit-animation: bugfix infinite 1s; }

@-webkit-keyframes bugfix {
  from {
    padding: 0; }
  to {
    padding: 0; } }

.animenu-wrapper {
  -webkit-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.25);
  -moz-box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.25);
  box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.25); }
  @media screen and (min-width: 0px) and (max-width: 767px) {
    .animenu-wrapper {
      height: 45px; } }

.animenu, .desktop-menu {
  font-family: Arial, sans-serif;
  display: block;
  float: left;
  margin-right: 2.35765%;
  width: 100%; }
  .animenu:last-child, .desktop-menu:last-child {
    margin-right: 0; }
  @media screen and (min-width: 768px) and (max-width: 1024px) {
    .animenu, .desktop-menu {
      padding-left: 10px; } }
  .animenu *, .desktop-menu * {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }
  .animenu ul, .desktop-menu ul {
    margin: 0;
    padding: 0;
    list-style: none;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px; }
  .animenu li, .desktop-menu li {
    position: relative; }
    .animenu li a.selected, .desktop-menu li a.selected {
      font-weight: bold;
      color: #4b7abe; }
    .animenu li a.chat-link,
    .animenu li .chat-link:hover, .desktop-menu li a.chat-link,
    .desktop-menu li .chat-link:hover {
      width: 80px;
      margin-top: 8px;
      padding: 5px 10px;
      color: #fff;
      border: none;
      border-bottom-left-radius: 0;
      border-top-left-radius: 0;
      outline: none;
      -webkit-box-shadow: none;
      box-shadow: none;
      background: #4285f4;
      background: -webkit-linear-gradient(top, #4387fd, #4683ea);
      background: linear, top, #4387fd, #4683ea;
      filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#4387fd,endColorstr=#4683ea,GradientType=1); }
    .animenu li:hover > ul, .desktop-menu li:hover > ul {
      opacity: 1;
      visibility: visible;
      margin: 0; }
    .animenu li:hover > a, .desktop-menu li:hover > a {
      color: #555555; }
  .animenu input[type=checkbox], .desktop-menu input[type=checkbox] {
    position: absolute;
    top: -9999px;
    left: -9999px; }
  .animenu label, .desktop-menu label {
    display: none;
    cursor: pointer; }

.desktop-menu {
  display: block;
  float: left;
  margin-right: 2.35765%;
  width: 23.23176%;
  margin-right: 0;
  margin-top: 14px; }
  .desktop-menu:last-child {
    margin-right: 0; }
  @media screen and (min-width: 768px) and (max-width: 1024px) {
    .desktop-menu {
      display: block;
      float: left;
      margin-right: 2.35765%;
      width: 31.76157%; }
      .desktop-menu:last-child {
        margin-right: 0; } }
  .desktop-menu ul {
    float: right; }
  .desktop-menu .shopping-cart-count {
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    font-size: 12px;
    padding: 5px 10px;
    font-weight: 700;
    color: #fff;
    line-height: 1.5;
    border-color: #b0281a;
    border-bottom-color: #d43f3a;
    background-color: #d9534f; }

.animenu > ul,
.desktop-menu > ul {
  -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset;
  -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset; }
  .animenu > ul > li,
  .desktop-menu > ul > li {
    float: left;
    -webkit-box-shadow: 1px 0 0 white;
    -moz-box-shadow: 1px 0 0 white;
    box-shadow: 1px 0 0 white; }
    .animenu > ul > li > a,
    .desktop-menu > ul > li > a {
      float: left;
      padding: 0.8em 2.4em 0.8em 0; }
  .animenu > ul a,
  .desktop-menu > ul a {
    color: #222;
    text-decoration: none; }
  .animenu > ul ul,
  .desktop-menu > ul ul {
    position: absolute;
    top: 100%;
    left: 0;
    opacity: 0;
    visibility: hidden;
    margin: 1.6em 0 0 0;
    z-index: 100;
    background-color: white;
    background-image: none;
    -webkit-transition-property: "margin, opacity";
    -moz-transition-property: "margin, opacity";
    transition-property: "margin, opacity";
    -webkit-transition-duration: ".15s";
    -moz-transition-duration: ".15s";
    -o-transition-duration: ".15s";
    transition-duration: ".15s";
    -webkit-transition-timing-function: ease-in-out;
    -moz-transition-timing-function: ease-in-out;
    transition-timing-function: ease-in-out;
    border: 1px solid #f5f5f5;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.8); }
    .animenu > ul ul li,
    .desktop-menu > ul ul li {
      display: block;
      -webkit-box-shadow: 0 1px 0 white, 0 2px 0 white;
      -moz-box-shadow: 0 1px 0 white, 0 2px 0 white;
      box-shadow: 0 1px 0 white, 0 2px 0 white; }
      .animenu > ul ul li:first-child > a,
      .desktop-menu > ul ul li:first-child > a {
        -webkit-border-radius: 3px 3px 0 0;
        -moz-border-radius: 3px 3px 0 0;
        border-radius: 3px 3px 0 0; }
      .animenu > ul ul li:last-child > a,
      .desktop-menu > ul ul li:last-child > a {
        -webkit-border-radius: 0 0 3px 3px;
        -moz-border-radius: 0 0 3px 3px;
        border-radius: 0 0 3px 3px; }
    .animenu > ul ul a,
    .desktop-menu > ul ul a {
      padding: 0.8em;
      width: 155px;
      display: block;
      border-color: white; }
      .animenu > ul ul a:hover,
      .desktop-menu > ul ul a:hover {
        background-color: #4b7abe;
        border-color: #4b7abe;
        color: white;
        text-decoration: none; }

.desktop-menu > ul li {
  box-shadow: none; }
  .desktop-menu > ul li > a:hover, .desktop-menu > ul li > a:active {
    text-decoration: none; }
  .desktop-menu > ul li:last-child a:link {
    padding-right: 0; }

.desktop-menu > ul ul {
  left: -110px; }

@media screen and (min-width: 0px) and (max-width: 767px) {
  .animenu > ul, .animenu > ul ul {
    visibility: visible;
    opacity: 1;
    display: none; }
  .animenu input[type=checkbox]:checked ~ label,
  .animenu input[type=checkbox] ~ label:hover {
    color: #555555; }
  .animenu label {
    background-color: #fff;
    background-image: -webkit-linear-gradient( rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0));
    background-image: linear-gradient( rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0));
    -webkit-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset;
    -moz-box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2) inset;
    color: #222;
    text-shadow: 0 1px 0 #fff;
    text-transform: uppercase;
    position: relative;
    display: inline-block;
    padding: 1.5em 3em; }
    .animenu label:before {
      position: absolute;
      top: -.1em;
      left: .3em;
      content: "\2261";
      font-size: 3em; }
  .animenu > ul {
    position: relative;
    border-color: #fff;
    margin: 1.4em 0 !important;
    padding: 0.2em;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    background-color: #fff;
    background-image: none; }
    .animenu > ul li {
      display: block; }
      .animenu > ul li:nth-child(odd) {
        background-color: #e6e6e6;
        background-image: none; }
    .animenu > ul > li {
      float: none;
      border: 0;
      -webkit-box-shadow: none;
      -moz-box-shadow: none;
      box-shadow: none;
      background-color: #fff;
      background-image: none; }
      .animenu > ul > li > a {
        float: none;
        display: block;
        padding: 1.5em; }
    .animenu > ul ul {
      position: static;
      -webkit-border-radius: 0;
      -moz-border-radius: 0;
      border-radius: 0;
      background-color: #e6e6e6;
      background-image: none;
      margin: 0;
      -webkit-transition-property: "none";
      -moz-transition-property: "none";
      transition-property: "none"; }
      .animenu > ul ul li {
        display: none; }
      .animenu > ul ul a {
        padding-left: 2.4em;
        display: block;
        width: auto; }
  .animenu input[type=checkbox]:checked ~ ul {
    display: block; }
    .animenu input[type=checkbox]:checked ~ ul ul {
      display: block; } }

@media screen and (max-width: 600px) {
  .animenu > ul > li > a {
    padding: 0.8em 1.6em; } }

.svg-icon {
  margin: 5px 10px;
  vertical-align: middle;
  height: 29px; }
  @media screen and (min-width: 0px) and (max-width: 767px) {
    .svg-icon {
      display: inline-block !important;
      background-color: #fff !important; } }
  .svg-icon a {
    padding: 0 !important; }
  .svg-icon .new {
    margin-left: 15px;
    width: 29px; }
  .svg-icon .eco {
    width: 20px;
    height: 29px; }
  .svg-icon .usa {
    width: 29px;
    height: 29px; }
  .svg-icon .sale {
    width: 29px; }
	
.faq-h {
  margin-bottom: 35px; }

.faq-t {
  line-height: 1.5em;
  color: #aaa;
  font-family: sans-serif;
  float: left;
  font-weight: 700;
  padding-right: 0.8em;
  -webkit-transition: all 200ms;
  -moz-transition: all 200ms;
  transition: all 200ms; }

.faq-o {
  transform: rotate(-45deg);
  transform-origin: 50% 50%;
  -ms-transform: rotate(-45deg);
  -ms-transform-origin: 50% 50%;
  -webkit-transform: rotate(-45deg);
  -webkit-transform-origin: 50% 50%;
  -webkit-transition: all 200ms;
  -moz-transition: all 200ms;
  transition: all 200ms; }

.faq-q {
  font-weight: 500;
  cursor: pointer;
  margin: 0 0 10px;
  padding: 0 15px 10px 0;
  display: block;
  letter-spacing: 1px; }

.faq-a {
  clear: both;
  color: #666;
  display: none;
  padding: 0 0 25px 1.5em;
  margin: 0; }
  .faq-a .size-chart {
    display: inline-block;
    padding: 5px;
    border: 1px solid #ccc;
    width: 100%; }
  .faq-a .size-chart-note {
    display: none; }
  .faq-a .fit-images {
    display: block;
    float: left;
    margin-right: 2.35765%;
    width: 31.76157%; }
    .faq-a .fit-images:last-child {
      margin-right: 0; }
  .faq-a .chart {
    display: block;
    float: left;
    margin-right: 2.35765%;
    width: 65.88078%;
    margin-right: 0; }
    .faq-a .chart:last-child {
      margin-right: 0; }

/* The main calendar widget.  DIV containing a table. */
div.calendar {
  position: relative; }

.calendar, .calendar table {
  border: 1px solid #556;
  font-size: 11px;
  color: #000;
  cursor: default;
  background: #eef;
  font-family: tahoma,verdana,sans-serif; }

/* Header part -- contains navigation buttons and day names. */
.calendar .button {
  /* "<<", "<", ">", ">>" buttons have this class */
  text-align: center;
  /* They are the navigation buttons */
  padding: 2px;
  /* Make the buttons seem like they're pressing */ }

.calendar .nav {
  background: #778 url(menuarrow.gif) no-repeat 100% 100%; }

.calendar thead .title {
  /* This holds the current "month, year" */
  font-weight: bold;
  /* Pressing it will take you to the current date */
  text-align: center;
  background: #fff;
  color: #000;
  padding: 2px; }

.calendar thead .headrow {
  /* Row <TR> containing navigation buttons */
  background: #778;
  color: #fff; }

.calendar thead .daynames {
  /* Row <TR> containing the day names */
  background: #bdf; }

.calendar thead .name {
  /* Cells <TD> containing the day names */
  border-bottom: 1px solid #556;
  padding: 2px;
  text-align: center;
  color: #000; }

.calendar thead .weekend {
  /* How a weekend day name shows in header */
  color: #a66; }

.calendar thead .hilite {
  /* How do the buttons in header appear when hover */
  background-color: #aaf;
  color: #000;
  border: 1px solid #04f;
  padding: 1px; }

.calendar thead .active {
  /* Active (pressed) buttons in header */
  background-color: #77c;
  padding: 2px 0px 0px 2px; }

/* The body part -- contains all the days in month. */
.calendar tbody .day {
  /* Cells <TD> containing month days dates */
  width: 2em;
  color: #456;
  text-align: right;
  padding: 2px 4px 2px 2px; }

.calendar tbody .day.othermonth {
  font-size: 80%;
  color: #bbb; }

.calendar tbody .day.othermonth.oweekend {
  color: #fbb; }

.calendar table .wn {
  padding: 2px 3px 2px 2px;
  border-right: 1px solid #000;
  background: #bdf; }

.calendar tbody .rowhilite td {
  background: #def; }

.calendar tbody .rowhilite td.wn {
  background: #eef; }

.calendar tbody td.hilite {
  /* Hovered cells <TD> */
  background: #def;
  padding: 1px 3px 1px 1px;
  border: 1px solid #bbb; }

.calendar tbody td.active {
  /* Active (pressed) cells <TD> */
  background: #cde;
  padding: 2px 2px 0px 2px; }

.calendar tbody td.selected {
  /* Cell showing today date */
  font-weight: bold;
  border: 1px solid #000;
  padding: 1px 3px 1px 1px;
  background: #fff;
  color: #000; }

.calendar tbody td.weekend {
  /* Cells showing weekend days */
  color: #a66; }

.calendar tbody td.today {
  /* Cell showing selected date */
  font-weight: bold;
  color: #00f; }

.calendar tbody .disabled {
  color: #999; }

.calendar tbody .emptycell {
  /* Empty cells (the best is to hide them) */
  visibility: hidden; }

.calendar tbody .emptyrow {
  /* Empty row (some months need less than 6 rows) */
  display: none; }

/* The footer part -- status bar and "Close" button */
.calendar tfoot .footrow {
  /* The <TR> in footer (only one right now) */
  text-align: center;
  background: #556;
  color: #fff; }

.calendar tfoot .ttip {
  /* Tooltip (status bar) cell <TD> */
  background: #fff;
  color: #445;
  border-top: 1px solid #556;
  padding: 1px; }

.calendar tfoot .hilite {
  /* Hover style for buttons in footer */
  background: #aaf;
  border: 1px solid #04f;
  color: #000;
  padding: 1px; }

.calendar tfoot .active {
  /* Active (pressed) style for buttons in footer */
  background: #77c;
  padding: 2px 0px 0px 2px; }

/* Combo boxes (menus that display months/years for direct selection) */
.calendar .combo {
  position: absolute;
  display: none;
  top: 0px;
  left: 0px;
  width: 4em;
  cursor: default;
  border: 1px solid #655;
  background: #def;
  color: #000;
  font-size: 90%;
  z-index: 100; }

.calendar .combo .label,
.calendar .combo .label-IEfix {
  text-align: center;
  padding: 1px; }

.calendar .combo .label-IEfix {
  width: 4em; }

.calendar .combo .hilite {
  background: #acf; }

.calendar .combo .active {
  border-top: 1px solid #46a;
  border-bottom: 1px solid #46a;
  background: #eef;
  font-weight: bold; }

.calendar td.time {
  border-top: 1px solid #000;
  padding: 1px 0px;
  text-align: center;
  background-color: #f4f0e8; }

.calendar td.time .hour,
.calendar td.time .minute,
.calendar td.time .ampm {
  padding: 0px 3px 0px 4px;
  border: 1px solid #889;
  font-weight: bold;
  background-color: #fff; }

.calendar td.time .ampm {
  text-align: center; }

.calendar td.time .colon {
  padding: 0px 2px 0px 3px;
  font-weight: bold; }

.calendar td.time span.hilite {
  border-color: #000;
  background-color: #667;
  color: #fff; }

.calendar td.time span.active {
  border-color: #f00;
  background-color: #000;
  color: #0f0; }

.support-nav {
  position: absolute;
  margin-top: 60px;
  right: 175px;
  z-index: 1050;
  width: 300px;
  background-color: #fff;
  border: 1px solid;
  border-color: #bbb #bbb #a8a8a8 #bbb;
  border-radius: 2px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding-box;
  background-clip: padding-box;
  outline: none; }
  .support-nav.fade {
    -webkit-transition: opacity 0.3s linear;
    -moz-transition: opacity 0.3s linear;
    -o-transition: opacity 0.3s linear;
    transition: opacity 0.3s linear;
    top: 25%; }
  .support-nav.fade.in {
    top: 25%; }
  .support-nav form {
    margin: 0; }
  @media screen and (min-width: 768px) and (max-width: 1024px) {
    .support-nav {
      top: 2%; } }
  @media screen and (min-width: 0px) and (max-width: 767px) {
    .support-nav {
      right: 0; } }

.supportNav-header {
  padding: 10px 50px 10px;
  height: 35px;
  background-color: #f5f5f5; }
  .supportNav-header h5 {
    margin: 0;
    display: inline; }
  .supportNav-header .close:before {
    content: '\F00D';
    font-family: FontAwesome;
    font-style: normal;
    font-weight: normal;
    text-decoration: inherit;
    color: #000;
    font-size: 18px;
    padding-right: 0.8em;
    position: absolute;
    top: 10px;
    right: 1px; }
  .supportNav-header h3 {
    margin: 0;
    line-height: 30px; }

.supportNav-body {
  position: relative;
  overflow-y: auto;
  max-height: 600px;
  padding: 0 25px 25px 25px;
  background-color: #f5f5f5;
  -webkit-overflow-scrolling: touch;
  font-size: 13px;
  text-align: left;
  margin-bottom: 0; }
  .supportNav-body h5 {
    display: inline; }
  .supportNav-body ul {
    list-style-type: none; }
  .supportNav-body .title {
    color: #333;
    font-style: italic;
    font-weight: 700; }
  .supportNav-body .account {
    display: block;
    float: left;
    margin-right: 2.35765%;
    width: 48.82117%; }
    .supportNav-body .account:last-child {
      margin-right: 0; }
  .supportNav-body .help {
    display: block;
    float: left;
    margin-right: 2.35765%;
    width: 48.82117%;
    margin-right: 0;
    border-left: 1px solid #ddd;
    padding-left: 20px; }
    .supportNav-body .help:last-child {
      margin-right: 0; }

.items-contain {
  text-align: left;
  display: block;
  float: left;
  margin-right: 2.35765%;
  width: 74.41059%;
  white-space: nowrap; }
  .items-contain:last-child {
    margin-right: 0; }
  @media screen and (min-width: 0px) and (max-width: 767px) {
    .items-contain {
      display: block;
      float: left;
      margin-right: 2.35765%;
      width: 100%;
      margin-right: 0; }
      .items-contain:last-child {
        margin-right: 0; } }
  .items-contain table {
    margin: 10px 0;
    width: 100%; }
  @media screen and (min-width: 0px) and (max-width: 767px) {
    .items-contain {
      /* Force table to not be like tables anymore */ }
      .items-contain table, .items-contain thead, .items-contain tbody, .items-contain th, .items-contain td, .items-contain tr {
        display: block; }
      .items-contain thead tr {
        position: absolute;
        top: -9999px;
        left: -9999px; }
      .items-contain td {
        position: relative; } }
  .items-contain .headers tr th {
    line-height: 18px;
    text-transform: uppercase;
    border-bottom: 3px solid #f5f5f5;
    padding: 0 0 5px 0; }
  .items-contain .headers th:nth-child(3),
  .items-contain .headers th:nth-child(4),
  .items-contain .headers th:nth-child(5) {
    padding-right: 15px; }
  .items-contain .items tr {
    border-bottom: 1px solid #f5f5f5; }
  .items-contain .items td {
    line-height: 18px;
    padding: 5px; }
    .items-contain .items td:first-child {
      padding-left: 0; }
    .items-contain .items td:nth-child(3), .items-contain .items td:nth-child(4), .items-contain .items td:last-child {
      padding: 5px 15px 5px 0; }
    @media screen and (min-width: 0px) and (max-width: 767px) {
      .items-contain .items td {
        padding: 5px 0 !important; } }
    .items-contain .items td h5, .items-contain .items td p {
      white-space: normal;
      margin: 0 0 2px 0; }
    .items-contain .items td input[type="checkbox"] {
      margin: 0 5px 0 0; }
    .items-contain .items td .remove {
      font-size: 11.05px;
      margin-top: 10px; }
    .items-contain .items td.description {
      max-width: 350px; }
      .items-contain .items td.description .alert {
        background-color: transparent !important;
        border: 0;
        padding: 0;
        text-shadow: none;
        padding-right: 5px; }
  .items-contain .items .giftcard-input td:last-child {
    padding-right: 65px; }
  .items-contain .items .message-lines {
    line-height: 18px;
    max-width: 350px;
    padding-left: 0;
    padding-right: 55px;
    margin-left: -50px; }
    @media screen and (min-width: 0px) and (max-width: 767px) {
      .items-contain .items .message-lines {
        margin: 0;
        padding: 0;
        max-width: 100%; } }
    .items-contain .items .message-lines input {
      display: block;
      width: 100%;
      margin: 10px 0; }
  .items-contain .item-total {
    font-weight: 700;
    position: relative;
    z-index: -1; }
  .items-contain .slide-contain {
    position: relative; }
    .items-contain .slide-contain .slide-edit {
      position: absolute;
      margin-top: -45px;
      margin-left: -10px;
      background: #fff;
      z-index: 5;
      width: 80px;
      height: 80px;
      display: none;
      padding: 10px 0 0 0; }
      @media screen and (min-width: 0px) and (max-width: 767px) {
        .items-contain .slide-contain .slide-edit {
          padding: 0;
          top: 0;
          right: 0;
          width: 100px;
          height: 90px;
          background: rgba(0, 0, 0, 0.9); } }
  .items-contain .btn-update {
    position: absolute; }
    @media screen and (min-width: 0px) and (max-width: 767px) {
      .items-contain .btn-update {
        position: relative;
        margin: 10px 0 20px;
        font-size: 14px; } }
  .items-contain .link-cancel {
    position: absolute;
    text-align: center;
    font-size: 10px;
    margin-left: 15px;
    margin-top: 20px; }
    @media screen and (min-width: 0px) and (max-width: 767px) {
      .items-contain .link-cancel {
        position: relative;
        text-align: left;
        font-size: 14px;
        color: #fff;
        margin: 0; } }
  .items-contain .gift-slide {
    text-align: center; }
    @media screen and (min-width: 0px) and (max-width: 767px) {
      .items-contain .gift-slide {
        padding: 0;
        top: 0;
        right: 0;
        width: 100px;
        height: 90px;
        background: rgba(0, 0, 0, 0.9);
        margin-bottom: 30px; } }
  .items-contain .dropdown {
    display: inline-block; }

.basket-total {
  display: block;
  float: left;
  margin-right: 2.35765%;
  width: 23.23176%;
  margin-right: 0;
  overflow: hidden; }
  .basket-total:last-child {
    margin-right: 0; }
  @media screen and (min-width: 0px) and (max-width: 767px) {
    .basket-total {
      display: block;
      float: left;
      margin-right: 2.35765%;
      width: 100%;
      margin-right: 0; }
      .basket-total:last-child {
        margin-right: 0; } }
  .basket-total .gift-card-contain {
    display: block;
    margin: 10px 0 25px auto;
    text-align: center;
    cursor: pointer; }
  .basket-total ul {
    list-style-type: none;
    background-color: #f4f4f4;
    padding: 10px; }
  .basket-total li.checkout-info .btn {
    display: block;
    margin-bottom: 30px; }
    @media screen and (min-width: 0px) and (max-width: 767px) {
      .basket-total li.checkout-info .btn {
        font-size: 14px; } }
  .basket-total li.checkout-info p {
    margin: 5px 0; }
    .basket-total li.checkout-info p span {
      float: right; }
  .basket-total li.promo-code {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase; }
    .basket-total li.promo-code label {
      padding: 0; }
    .basket-total li.promo-code input {
      width: 68%; }
    .basket-total li.promo-code .btn {
      float: right;
      padding: 6px; }

#subCatList {
  display: none; }

#mobile-subcat-contain {
  position: absolute;
  top: 74px;
  right: 2px; }
  #mobile-subcat-contain .tinynav {
    width: auto; }

.promos {
  display: block;
  float: left;
  margin-right: 2.35765%;
  width: 100%;
  margin-right: 0;
  margin-top: 10px; }
  .promos:last-child {
    margin-right: 0; }
  @media screen and (min-width: 0px) and (max-width: 767px) {
    .promos {
      display: none; } }

.daily-promo {
  margin: 20px 0; }
  @media screen and (min-width: 0px) and (max-width: 767px) {
    .daily-promo {
      margin: 20px 0 auto; } }
  .daily-promo img {
    float: left; }
  .daily-promo ul {
    list-style-type: none;
    float: left; }
  .daily-promo button {
    width: 100%;
    margin: 5px 0;
    display: block; }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LmNzcyIsInNvdXJjZXMiOlsiaW1wb3J0LnNjc3MiLCJib3VyYm9uL19ib3VyYm9uLnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2RlcHJlY2F0ZWQtd2Via2l0LWdyYWRpZW50LnNjc3MiLCJib3VyYm9uL2hlbHBlcnMvX2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fcmFkaWFsLWFyZy1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIuc2NzcyIsImJvdXJib24vaGVscGVycy9fcmVuZGVyLWdyYWRpZW50cy5zY3NzIiwiYm91cmJvbi9oZWxwZXJzL19zaGFwZS1zaXplLXN0cmlwcGVyLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fY29tcGFjdC5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX2ZsZXgtZ3JpZC5zY3NzIiwiYm91cmJvbi9mdW5jdGlvbnMvX2dyaWQtd2lkdGguc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19saW5lYXItZ3JhZGllbnQuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19tb2R1bGFyLXNjYWxlLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fcHgtdG8tZW0uc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL19yYWRpYWwtZ3JhZGllbnQuc2NzcyIsImJvdXJib24vZnVuY3Rpb25zL190aW50LXNoYWRlLnNjc3MiLCJib3VyYm9uL2Z1bmN0aW9ucy9fdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lLnNjc3MiLCJib3VyYm9uL2NzczMvX2FuaW1hdGlvbi5zY3NzIiwiYm91cmJvbi9jc3MzL19hcHBlYXJhbmNlLnNjc3MiLCJib3VyYm9uL2NzczMvX2JhY2tmYWNlLXZpc2liaWxpdHkuc2NzcyIsImJvdXJib24vY3NzMy9fYmFja2dyb3VuZC5zY3NzIiwiYm91cmJvbi9jc3MzL19iYWNrZ3JvdW5kLWltYWdlLnNjc3MiLCJib3VyYm9uL2NzczMvX2JvcmRlci1pbWFnZS5zY3NzIiwiYm91cmJvbi9jc3MzL19ib3JkZXItcmFkaXVzLnNjc3MiLCJib3VyYm9uL2NzczMvX2JveC1zaXppbmcuc2NzcyIsImJvdXJib24vY3NzMy9fY29sdW1ucy5zY3NzIiwiYm91cmJvbi9jc3MzL19mbGV4LWJveC5zY3NzIiwiYm91cmJvbi9jc3MzL19mb250LWZhY2Uuc2NzcyIsImJvdXJib24vY3NzMy9faGlkcGktbWVkaWEtcXVlcnkuc2NzcyIsImJvdXJib24vY3NzMy9faW1hZ2UtcmVuZGVyaW5nLnNjc3MiLCJib3VyYm9uL2NzczMvX2lubGluZS1ibG9jay5zY3NzIiwiYm91cmJvbi9jc3MzL19rZXlmcmFtZXMuc2NzcyIsImJvdXJib24vY3NzMy9fbGluZWFyLWdyYWRpZW50LnNjc3MiLCJib3VyYm9uL2NzczMvX3BlcnNwZWN0aXZlLnNjc3MiLCJib3VyYm9uL2NzczMvX3JhZGlhbC1ncmFkaWVudC5zY3NzIiwiYm91cmJvbi9jc3MzL190cmFuc2Zvcm0uc2NzcyIsImJvdXJib24vY3NzMy9fdHJhbnNpdGlvbi5zY3NzIiwiYm91cmJvbi9jc3MzL191c2VyLXNlbGVjdC5zY3NzIiwiYm91cmJvbi9jc3MzL19wbGFjZWhvbGRlci5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX2J1dHRvbi5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX2NsZWFyZml4LnNjc3MiLCJib3VyYm9uL2FkZG9ucy9faGlkZS10ZXh0LnNjc3MiLCJib3VyYm9uL2FkZG9ucy9faHRtbDUtaW5wdXQtdHlwZXMuc2NzcyIsImJvdXJib24vYWRkb25zL19wb3NpdGlvbi5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3ByZWZpeGVyLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fcmV0aW5hLWltYWdlLnNjc3MiLCJib3VyYm9uL2FkZG9ucy9fc2l6ZS5zY3NzIiwiYm91cmJvbi9hZGRvbnMvX3RpbWluZy1mdW5jdGlvbnMuc2NzcyIsImJvdXJib24vYWRkb25zL190cmlhbmdsZS5zY3NzIiwibmVhdC9fbmVhdC5zY3NzIiwibmVhdC9fbmVhdC1oZWxwZXJzLnNjc3MiLCJuZWF0L2Z1bmN0aW9ucy9fcHJpdmF0ZS5zY3NzIiwibmVhdC9mdW5jdGlvbnMvX25ldy1icmVha3BvaW50LnNjc3MiLCJuZWF0L2Z1bmN0aW9ucy9fcHgtdG8tZW0uc2NzcyIsIm5lYXQvc2V0dGluZ3MvX2dyaWQuc2NzcyIsIm5lYXQvc2V0dGluZ3MvX3Zpc3VhbC1ncmlkLnNjc3MiLCJuZWF0L2dyaWQvX2dsb2JhbC12YXJpYWJsZXMuc2NzcyIsIm5lYXQvZ3JpZC9fZ3JpZC5zY3NzIiwibmVhdC9ncmlkL19vbWVnYS5zY3NzIiwibmVhdC9ncmlkL19vdXRlci1jb250YWluZXIuc2NzcyIsIm5lYXQvZ3JpZC9fc3Bhbi1jb2x1bW5zLnNjc3MiLCJuZWF0L2dyaWQvX3Jvdy5zY3NzIiwibmVhdC9ncmlkL19zaGlmdC5zY3NzIiwibmVhdC9ncmlkL19wYWQuc2NzcyIsIm5lYXQvZ3JpZC9fZmlsbC1wYXJlbnQuc2NzcyIsIm5lYXQvZ3JpZC9fbWVkaWEuc2NzcyIsIm5lYXQvZ3JpZC9fdG8tZGVwcmVjYXRlLnNjc3MiLCJuZWF0L2dyaWQvX3Zpc3VhbC1ncmlkLnNjc3MiLCJzdXBwb3J0L19mb250LWF3ZXNvbWUuc2NzcyIsInN1cHBvcnQvX2JyZWFrcG9pbnRzLnNjc3MiLCJfbWl4aW5zLnNjc3MiLCJtb2R1bGVzL19tYWdpY3pvb21wbHVzLnNjc3MiLCJzdXBwb3J0L19ib290c3RyYXAuc2NzcyIsInN1cHBvcnQvX3ZhcmlhYmxlcy5zY3NzIiwic3VwcG9ydC9fbWl4aW5zLnNjc3MiLCJzdXBwb3J0L19yZXNldC5zY3NzIiwic3VwcG9ydC9fc2NhZmZvbGRpbmcuc2NzcyIsInN1cHBvcnQvX3R5cGUuc2NzcyIsInN1cHBvcnQvX2Zvcm1zLnNjc3MiLCJzdXBwb3J0L190YWJsZXMuc2NzcyIsInN1cHBvcnQvX3dlbGxzLnNjc3MiLCJzdXBwb3J0L19jb21wb25lbnQtYW5pbWF0aW9ucy5zY3NzIiwic3VwcG9ydC9fY2xvc2Uuc2NzcyIsInN1cHBvcnQvX2J1dHRvbnMuc2NzcyIsInN1cHBvcnQvX2J1dHRvbi1ncm91cHMuc2NzcyIsInN1cHBvcnQvX2FsZXJ0cy5zY3NzIiwic3VwcG9ydC9fbmF2cy5zY3NzIiwic3VwcG9ydC9fbmF2YmFyLnNjc3MiLCJzdXBwb3J0L19icmVhZGNydW1icy5zY3NzIiwic3VwcG9ydC9fcGFnaW5hdGlvbi5zY3NzIiwic3VwcG9ydC9fbW9kYWxzLnNjc3MiLCJzdXBwb3J0L191dGlsaXRpZXMuc2NzcyIsInN1cHBvcnQvX2NvbmZpZy5zY3NzIiwibW9kdWxlcy9fbXktYWNjb3VudC5zY3NzIiwibW9kdWxlcy9fbm8tbmF2LXBhZ2Utd3JhcHBlci5zY3NzIiwibW9kdWxlcy9fZm9vdGVyLnNjc3MiLCJtb2R1bGVzL19oZWFkZXIuc2NzcyIsIm1vZHVsZXMvX2hlcm8uc2NzcyIsIm1vZHVsZXMvX2pncm93bC5zY3NzIiwibW9kdWxlcy9fcHJvZHVjdC1kZXRhaWxzLnNjc3MiLCJtb2R1bGVzL19jYXRlZ29yeS1wcm9kdWN0cy5zY3NzIiwibW9kdWxlcy9fbGVmdC1uYXYuc2NzcyIsIm1vZHVsZXMvX2NhdGVnb3J5LnNjc3MiLCJtb2R1bGVzL19wYWdlLXdyYXBwZXIuc2NzcyIsIm1vZHVsZXMvX2NoZWNrb3V0LnNjc3MiLCJtb2R1bGVzL19zZWFyY2guc2NzcyIsIm1vZHVsZXMvX21haW50LW1zZy5zY3NzIiwibW9kdWxlcy9fY3Jvc3Mtc2FsZXMuc2NzcyIsInN1cHBvcnQvX2FjY29yZGlvbi5zY3NzIiwic3VwcG9ydC9fY2FsZW5kYXIuc2NzcyIsIm1vZHVsZXMvX3N1cHBvcnQtbmF2LnNjc3MiLCJtb2R1bGVzL19zaG9wcGluZy1jYXJ0LnNjc3MiLCJtb2R1bGVzL19zdWJjYXRlZ29yeS1tb2JpbGUuc2NzcyIsIm1vZHVsZXMvX3Byb21vcy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vQGltcG9ydCBcIm5vcm1hbGl6ZVwiO1xuQGltcG9ydCBcImJvdXJib24vYm91cmJvblwiO1xuQGltcG9ydCBcIm5lYXQvbmVhdFwiO1xuXG5AaW1wb3J0IFwic3VwcG9ydC9mb250LWF3ZXNvbWVcIjtcbkBpbXBvcnQgXCJzdXBwb3J0L2JyZWFrcG9pbnRzXCI7XG4vLyBAaW1wb3J0IFwic3VwcG9ydC9yZXRpbmFcIjtcblxuQGltcG9ydCBcIm1peGluc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvbWFnaWN6b29tcGx1c1wiO1xuQGltcG9ydCBcInN1cHBvcnQvYm9vdHN0cmFwXCI7XG5AaW1wb3J0IFwic3VwcG9ydC9jb25maWdcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL215LWFjY291bnRcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL25vLW5hdi1wYWdlLXdyYXBwZXJcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2Zvb3RlclwiO1xuQGltcG9ydCBcIm1vZHVsZXMvaGVhZGVyXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9oZXJvXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9qZ3Jvd2xcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3Byb2R1Y3QtZGV0YWlsc1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvY2F0ZWdvcnktcHJvZHVjdHNcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2xlZnQtbmF2XCI7XG5AaW1wb3J0IFwibW9kdWxlcy9jYXRlZ29yeVwiO1xuQGltcG9ydCBcIm1vZHVsZXMvcGFnZS13cmFwcGVyXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9jaGVja291dFwiO1xuQGltcG9ydCBcIm1vZHVsZXMvc2VhcmNoXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9tYWludC1tc2dcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2Nyb3NzLXNhbGVzXCI7XG5AaW1wb3J0IFwic3VwcG9ydC9uYXZiYXJcIjtcbkBpbXBvcnQgXCJzdXBwb3J0L2FjY29yZGlvblwiO1xuQGltcG9ydCBcInN1cHBvcnQvY2FsZW5kYXJcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3N1cHBvcnQtbmF2XCI7XG5AaW1wb3J0IFwibW9kdWxlcy9zaG9wcGluZy1jYXJ0XCI7XG5AaW1wb3J0IFwibW9kdWxlcy9zdWJjYXRlZ29yeS1tb2JpbGVcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL3Byb21vc1wiO1xuIiwiLy8gQ3VzdG9tIEhlbHBlcnNcclxuQGltcG9ydCBcImhlbHBlcnMvZGVwcmVjYXRlZC13ZWJraXQtZ3JhZGllbnRcIjtcclxuQGltcG9ydCBcImhlbHBlcnMvZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlclwiO1xyXG5AaW1wb3J0IFwiaGVscGVycy9saW5lYXItcG9zaXRpb25zLXBhcnNlclwiO1xyXG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtYXJnLXBhcnNlclwiO1xyXG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtcG9zaXRpb25zLXBhcnNlclwiO1xyXG5AaW1wb3J0IFwiaGVscGVycy9yZW5kZXItZ3JhZGllbnRzXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzL3NoYXBlLXNpemUtc3RyaXBwZXJcIjtcclxuXHJcbi8vIEN1c3RvbSBGdW5jdGlvbnNcclxuQGltcG9ydCBcImZ1bmN0aW9ucy9jb21wYWN0XCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvZmxleC1ncmlkXCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvZ3JpZC13aWR0aFwiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2xpbmVhci1ncmFkaWVudFwiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL21vZHVsYXItc2NhbGVcIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy9weC10by1lbVwiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL3JhZGlhbC1ncmFkaWVudFwiO1xyXG5AaW1wb3J0IFwiZnVuY3Rpb25zL3RpbnQtc2hhZGVcIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy90cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVcIjtcclxuXHJcbi8vIENTUzMgTWl4aW5zXHJcbkBpbXBvcnQgXCJjc3MzL2FuaW1hdGlvblwiO1xyXG5AaW1wb3J0IFwiY3NzMy9hcHBlYXJhbmNlXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2JhY2tmYWNlLXZpc2liaWxpdHlcIjtcclxuQGltcG9ydCBcImNzczMvYmFja2dyb3VuZFwiO1xyXG5AaW1wb3J0IFwiY3NzMy9iYWNrZ3JvdW5kLWltYWdlXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2JvcmRlci1pbWFnZVwiO1xyXG5AaW1wb3J0IFwiY3NzMy9ib3JkZXItcmFkaXVzXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2JveC1zaXppbmdcIjtcclxuQGltcG9ydCBcImNzczMvY29sdW1uc1wiO1xyXG5AaW1wb3J0IFwiY3NzMy9mbGV4LWJveFwiO1xyXG5AaW1wb3J0IFwiY3NzMy9mb250LWZhY2VcIjtcclxuQGltcG9ydCBcImNzczMvaGlkcGktbWVkaWEtcXVlcnlcIjtcclxuQGltcG9ydCBcImNzczMvaW1hZ2UtcmVuZGVyaW5nXCI7XHJcbkBpbXBvcnQgXCJjc3MzL2lubGluZS1ibG9ja1wiO1xyXG5AaW1wb3J0IFwiY3NzMy9rZXlmcmFtZXNcIjtcclxuQGltcG9ydCBcImNzczMvbGluZWFyLWdyYWRpZW50XCI7XHJcbkBpbXBvcnQgXCJjc3MzL3BlcnNwZWN0aXZlXCI7XHJcbkBpbXBvcnQgXCJjc3MzL3JhZGlhbC1ncmFkaWVudFwiO1xyXG5AaW1wb3J0IFwiY3NzMy90cmFuc2Zvcm1cIjtcclxuQGltcG9ydCBcImNzczMvdHJhbnNpdGlvblwiO1xyXG5AaW1wb3J0IFwiY3NzMy91c2VyLXNlbGVjdFwiO1xyXG5AaW1wb3J0IFwiY3NzMy9wbGFjZWhvbGRlclwiO1xyXG5cclxuLy8gQWRkb25zICYgb3RoZXIgbWl4aW5zXHJcbkBpbXBvcnQgXCJhZGRvbnMvYnV0dG9uXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvY2xlYXJmaXhcIjtcclxuQGltcG9ydCBcImFkZG9ucy9oaWRlLXRleHRcIjtcclxuQGltcG9ydCBcImFkZG9ucy9odG1sNS1pbnB1dC10eXBlc1wiO1xyXG5AaW1wb3J0IFwiYWRkb25zL3Bvc2l0aW9uXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvcHJlZml4ZXJcIjtcclxuQGltcG9ydCBcImFkZG9ucy9yZXRpbmEtaW1hZ2VcIjtcclxuQGltcG9ydCBcImFkZG9ucy9zaXplXCI7XHJcbkBpbXBvcnQgXCJhZGRvbnMvdGltaW5nLWZ1bmN0aW9uc1wiO1xyXG5AaW1wb3J0IFwiYWRkb25zL3RyaWFuZ2xlXCI7XHJcblxyXG4iLCIvLyBSZW5kZXIgRGVwcmVjYXRlZCBXZWJraXQgR3JhZGllbnQgLSBMaW5lYXIgfHwgUmFkaWFsXHJcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuQGZ1bmN0aW9uIF9kZXByZWNhdGVkLXdlYmtpdC1ncmFkaWVudCgkdHlwZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkZXByZWNhdGVkLXBvczEsICRkZXByZWNhdGVkLXBvczIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkZXByZWNhdGVkLXJhZGl1czE6IGZhbHNlLCAkZGVwcmVjYXRlZC1yYWRpdXMyOiBmYWxzZSkge1xyXG4gICRncmFkaWVudC1saXN0OiAoKTtcclxuICAkZ3JhZGllbnQ6IGZhbHNlO1xyXG4gICRmdWxsLWxlbmd0aDogbGVuZ3RoKCRmdWxsKTtcclxuICAkcGVyY2VudGFnZTogZmFsc2U7XHJcbiAgJGdyYWRpZW50LXR5cGU6ICR0eXBlO1xyXG5cclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRmdWxsLWxlbmd0aCB7XHJcbiAgICAkZ3JhZGllbnQ6IG50aCgkZnVsbCwgJGkpO1xyXG5cclxuICAgIEBpZiBsZW5ndGgoJGdyYWRpZW50KSA9PSAyIHtcclxuICAgICAgJGNvbG9yLXN0b3A6IGNvbG9yLXN0b3AobnRoKCRncmFkaWVudCwgMiksIG50aCgkZ3JhZGllbnQsIDEpKTtcclxuICAgICAgJGdyYWRpZW50LWxpc3Q6IGpvaW4oJGdyYWRpZW50LWxpc3QsICRjb2xvci1zdG9wLCBjb21tYSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkZ3JhZGllbnQgIT0gbnVsbCB7XHJcbiAgICAgIEBpZiAkaSA9PSAkZnVsbC1sZW5ndGgge1xyXG4gICAgICAgICRwZXJjZW50YWdlOiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICAkcGVyY2VudGFnZTogKCRpIC0gMSkgKiAoMTAwIC8gKCRmdWxsLWxlbmd0aCAtIDEpKSArIFwiJVwiO1xyXG4gICAgICB9XHJcbiAgICAgICRjb2xvci1zdG9wOiBjb2xvci1zdG9wKHVucXVvdGUoJHBlcmNlbnRhZ2UpLCAkZ3JhZGllbnQpO1xyXG4gICAgICAkZ3JhZGllbnQtbGlzdDogam9pbigkZ3JhZGllbnQtbGlzdCwgJGNvbG9yLXN0b3AsIGNvbW1hKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpZiAkdHlwZSA9PSByYWRpYWwge1xyXG4gICAgJGdyYWRpZW50OiAtd2Via2l0LWdyYWRpZW50KHJhZGlhbCwgJGRlcHJlY2F0ZWQtcG9zMSwgJGRlcHJlY2F0ZWQtcmFkaXVzMSwgJGRlcHJlY2F0ZWQtcG9zMiwgJGRlcHJlY2F0ZWQtcmFkaXVzMiwgJGdyYWRpZW50LWxpc3QpO1xyXG4gIH1cclxuICBAZWxzZSBpZiAkdHlwZSA9PSBsaW5lYXIge1xyXG4gICAgJGdyYWRpZW50OiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgJGRlcHJlY2F0ZWQtcG9zMSwgJGRlcHJlY2F0ZWQtcG9zMiwgJGdyYWRpZW50LWxpc3QpO1xyXG4gIH1cclxuICBAcmV0dXJuICRncmFkaWVudDtcclxufVxyXG4iLCJAZnVuY3Rpb24gX2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXR5cGUsICRncmFkaWVudC1wb3NpdGlvbnMpIHtcclxuICBAaWYgJGdyYWRpZW50LXBvc2l0aW9uc1xyXG4gIGFuZCAoJGdyYWRpZW50LXR5cGUgPT0gbGluZWFyKVxyXG4gIGFuZCAodHlwZS1vZigkZ3JhZGllbnQtcG9zaXRpb25zKSAhPSBjb2xvcikge1xyXG4gICAgJGdyYWRpZW50LXBvc2l0aW9uczogX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRncmFkaWVudC1wb3NpdGlvbnMpO1xyXG4gIH1cclxuICBAZWxzZSBpZiAkZ3JhZGllbnQtcG9zaXRpb25zXHJcbiAgYW5kICgkZ3JhZGllbnQtdHlwZSA9PSByYWRpYWwpXHJcbiAgYW5kICh0eXBlLW9mKCRncmFkaWVudC1wb3NpdGlvbnMpICE9IGNvbG9yKSB7XHJcbiAgICAkZ3JhZGllbnQtcG9zaXRpb25zOiBfcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvc2l0aW9ucyk7XHJcbiAgfVxyXG4gIEByZXR1cm4gJGdyYWRpZW50LXBvc2l0aW9ucztcclxufVxyXG4iLCJAZnVuY3Rpb24gX2xpbmVhci1wb3NpdGlvbnMtcGFyc2VyKCRwb3MpIHtcclxuICAkdHlwZTogdHlwZS1vZihudGgoJHBvcywgMSkpO1xyXG4gICRzcGVjOiBudWxsO1xyXG4gICRkZWdyZWU6IG51bGw7XHJcbiAgJHNpZGU6IG51bGw7XHJcbiAgJGNvcm5lcjogbnVsbDtcclxuICAkbGVuZ3RoOiBsZW5ndGgoJHBvcyk7XHJcbiAgLy8gUGFyc2UgU2lkZSBhbmQgY29ybmVyIHBvc2l0aW9uc1xyXG4gIEBpZiAoJGxlbmd0aCA+IDEpIHtcclxuICAgIEBpZiBudGgoJHBvcywgMSkgPT0gXCJ0b1wiIHsgLy8gTmV3ZXIgc3ludGF4XHJcbiAgICAgICRzaWRlOiBudGgoJHBvcywgMik7XHJcblxyXG4gICAgICBAaWYgJGxlbmd0aCA9PSAyIHsgLy8gZWcuIHRvIHRvcFxyXG4gICAgICAgIC8vIFN3YXAgZm9yIGJhY2t3YXJkcyBjb21wYXRhYmlsaXR5XHJcbiAgICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDIpKTtcclxuICAgICAgfVxyXG4gICAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDMgeyAvLyBlZy4gdG8gdG9wIGxlZnRcclxuICAgICAgICAkY29ybmVyOiBudGgoJHBvcywgMyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRsZW5ndGggPT0gMiB7IC8vIE9sZGVyIHN5bnRheCAoXCJ0b3AgbGVmdFwiKVxyXG4gICAgICAkc2lkZTogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDEpKTtcclxuICAgICAgJGNvcm5lcjogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDIpKTtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwibGVmdCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIGxlZnRcIikge1xyXG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJyaWdodCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIHJpZ2h0XCIpIHtcclxuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwicmlnaHQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSByaWdodFwiKSB7XHJcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImxlZnQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSBsZWZ0XCIpIHtcclxuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xyXG4gICAgfVxyXG4gICAgQGVsc2Uge1xyXG4gICAgICBAd2FybiBcIkluY29ycmVjdCBncmFkaWVudCBzeW50YXhcIjtcclxuICAgIH1cclxuICAgICRzcGVjOiB0byAkc2lkZSAkY29ybmVyO1xyXG4gIH1cclxuICBAZWxzZSBpZiAkbGVuZ3RoID09IDEge1xyXG4gICAgLy8gU3dhcCBmb3IgYmFja3dhcmRzIGNvbXBhdGFiaWxpdHlcclxuICAgIEBpZiAkdHlwZSA9PSBzdHJpbmcge1xyXG4gICAgICAkZGVncmVlOiAkcG9zO1xyXG4gICAgICAkc3BlYzogdG8gX3Bvc2l0aW9uLWZsaXBwZXIoJHBvcyk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICRkZWdyZWU6IC0yNzAgLSAkcG9zOyAvL3JvdGF0ZSB0aGUgZ3JhZGllbnQgb3Bwb3NpdGUgZnJvbSBzcGVjXHJcbiAgICAgICRzcGVjOiAkcG9zO1xyXG4gICAgfVxyXG4gIH1cclxuICAkZGVncmVlOiB1bnF1b3RlKCRkZWdyZWUgKyBcIixcIik7XHJcbiAgJHNwZWM6ICAgdW5xdW90ZSgkc3BlYyArIFwiLFwiKTtcclxuICBAcmV0dXJuICRkZWdyZWUgJHNwZWM7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBfcG9zaXRpb24tZmxpcHBlcigkcG9zKSB7XHJcbiBAcmV0dXJuIGlmKCRwb3MgPT0gbGVmdCwgcmlnaHQsIG51bGwpXHJcbiAgICAgICAgIGlmKCRwb3MgPT0gcmlnaHQsIGxlZnQsIG51bGwpXHJcbiAgICAgICAgIGlmKCRwb3MgPT0gdG9wLCBib3R0b20sIG51bGwpXHJcbiAgICAgICAgIGlmKCRwb3MgPT0gYm90dG9tLCB0b3AsIG51bGwpO1xyXG59XHJcbiIsIkBmdW5jdGlvbiBfcmFkaWFsLWFyZy1wYXJzZXIoJEcxLCAkRzIsICRwb3MsICRzaGFwZS1zaXplKSB7XHJcbiAgQGVhY2ggJHZhbHVlIGluICRHMSwgJEcyIHtcclxuICAgICRmaXJzdC12YWw6IG50aCgkdmFsdWUsIDEpO1xyXG4gICAgJHBvcy10eXBlOiAgdHlwZS1vZigkZmlyc3QtdmFsKTtcclxuICAgICRzcGVjLWF0LWluZGV4OiBudWxsO1xyXG5cclxuICAgIC8vIERldGVybWluZSBpZiBzcGVjIHdhcyBwYXNzZWQgdG8gbWl4aW5cclxuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbGlzdCB7XHJcbiAgICAgICRzcGVjLWF0LWluZGV4OiBpZihpbmRleCgkdmFsdWUsIGF0KSwgaW5kZXgoJHZhbHVlLCBhdCksIGZhbHNlKTtcclxuICAgIH1cclxuICAgIEBpZiAkc3BlYy1hdC1pbmRleCB7XHJcbiAgICAgIEBpZiAkc3BlYy1hdC1pbmRleCA+IDEge1xyXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRzcGVjLWF0LWluZGV4IC0gMSkge1xyXG4gICAgICAgICAgJHNoYXBlLXNpemU6ICRzaGFwZS1zaXplIG50aCgkdmFsdWUsICRpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGZvciAkaSBmcm9tICgkc3BlYy1hdC1pbmRleCArIDEpIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZSkge1xyXG4gICAgICAgICAgJHBvczogJHBvcyBudGgoJHZhbHVlLCAkaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIEBlbHNlIGlmICRzcGVjLWF0LWluZGV4ID09IDEge1xyXG4gICAgICAgIEBmb3IgJGkgZnJvbSAoJHNwZWMtYXQtaW5kZXggKyAxKSB0aHJvdWdoIGxlbmd0aCgkdmFsdWUpIHtcclxuICAgICAgICAgICRwb3M6ICRwb3MgbnRoKCR2YWx1ZSwgJGkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAkRzE6IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIElmIG5vdCBzcGVjIGNhbGN1bGF0ZSBjb3JyZWN0IHZhbHVlc1xyXG4gICAgQGVsc2Uge1xyXG4gICAgICBAaWYgKCRwb3MtdHlwZSAhPSBjb2xvcikgb3IgKCRmaXJzdC12YWwgIT0gXCJ0cmFuc3BhcmVudFwiKSB7XHJcbiAgICAgICAgQGlmICgkcG9zLXR5cGUgPT0gbnVtYmVyKVxyXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2VudGVyXCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJ0b3BcIilcclxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcInJpZ2h0XCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJib3R0b21cIilcclxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImxlZnRcIikge1xyXG5cclxuICAgICAgICAgICRwb3M6ICR2YWx1ZTtcclxuXHJcbiAgICAgICAgICBAaWYgJHBvcyA9PSAkRzEge1xyXG4gICAgICAgICAgICAkRzE6IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGVsc2UgaWZcclxuICAgICAgICAgICAoJGZpcnN0LXZhbCA9PSBcImVsbGlwc2VcIilcclxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNpcmNsZVwiKVxyXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2xvc2VzdC1zaWRlXCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjbG9zZXN0LWNvcm5lclwiKVxyXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3Qtc2lkZVwiKVxyXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3QtY29ybmVyXCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjb250YWluXCIpXHJcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJjb3ZlclwiKSB7XHJcblxyXG4gICAgICAgICAgJHNoYXBlLXNpemU6ICR2YWx1ZTtcclxuXHJcbiAgICAgICAgICBAaWYgJHZhbHVlID09ICRHMSB7XHJcbiAgICAgICAgICAgICRHMTogZmFsc2U7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgQGVsc2UgaWYgJHZhbHVlID09ICRHMiB7XHJcbiAgICAgICAgICAgICRHMjogZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEByZXR1cm4gJEcxLCAkRzIsICRwb3MsICRzaGFwZS1zaXplO1xyXG59XHJcbiIsIkBmdW5jdGlvbiBfcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvcykge1xyXG4gICRzaGFwZS1zaXplOiBudGgoJGdyYWRpZW50LXBvcywgMSk7XHJcbiAgJHBvczogICAgICAgIG50aCgkZ3JhZGllbnQtcG9zLCAyKTtcclxuICAkc2hhcGUtc2l6ZS1zcGVjOiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSk7XHJcblxyXG4gICRwcmUtc3BlYzogdW5xdW90ZShpZigkcG9zLCBcIiN7JHBvc30sIFwiLCBudWxsKSlcclxuICAgICAgICAgICAgIHVucXVvdGUoaWYoJHNoYXBlLXNpemUsIFwiI3skc2hhcGUtc2l6ZX0sXCIsIG51bGwpKTtcclxuICAkcG9zLXNwZWM6IGlmKCRwb3MsIFwiYXQgI3skcG9zfVwiLCBudWxsKTtcclxuXHJcbiAgJHNwZWM6IFwiI3skc2hhcGUtc2l6ZS1zcGVjfSAjeyRwb3Mtc3BlY31cIjtcclxuXHJcbiAgLy8gQWRkIGNvbW1hXHJcbiAgQGlmICgkc3BlYyAhPSAnICAnKSB7XHJcbiAgICAkc3BlYzogXCIjeyRzcGVjfSxcIlxyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcHJlLXNwZWMgJHNwZWM7XHJcbn1cclxuIiwiLy8gVXNlciBmb3IgbGluZWFyIGFuZCByYWRpYWwgZ3JhZGllbnRzIHdpdGhpbiBiYWNrZ3JvdW5kLWltYWdlIG9yIGJvcmRlci1pbWFnZSBwcm9wZXJ0aWVzXHJcblxyXG5AZnVuY3Rpb24gX3JlbmRlci1ncmFkaWVudHMoJGdyYWRpZW50LXBvc2l0aW9ucywgJGdyYWRpZW50cywgJGdyYWRpZW50LXR5cGUsICR2ZW5kb3I6IGZhbHNlKSB7XHJcbiAgJHByZS1zcGVjOiBudWxsO1xyXG4gICRzcGVjOiBudWxsO1xyXG4gICR2ZW5kb3ItZ3JhZGllbnRzOiBudWxsO1xyXG4gIEBpZiAkZ3JhZGllbnQtdHlwZSA9PSBsaW5lYXIge1xyXG4gICAgQGlmICRncmFkaWVudC1wb3NpdGlvbnMge1xyXG4gICAgICAkcHJlLXNwZWM6IG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAxKTtcclxuICAgICAgJHNwZWM6ICAgICBudGgoJGdyYWRpZW50LXBvc2l0aW9ucywgMik7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IHJhZGlhbCB7XHJcbiAgICAkcHJlLXNwZWM6IG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAxKTtcclxuICAgICRzcGVjOiAgICAgbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDIpO1xyXG4gIH1cclxuXHJcbiAgQGlmICR2ZW5kb3Ige1xyXG4gICAgJHZlbmRvci1ncmFkaWVudHM6IC0jeyR2ZW5kb3J9LSN7JGdyYWRpZW50LXR5cGV9LWdyYWRpZW50KCN7JHByZS1zcGVjfSAkZ3JhZGllbnRzKTtcclxuICB9XHJcbiAgQGVsc2UgaWYgJHZlbmRvciA9PSBmYWxzZSB7XHJcbiAgICAkdmVuZG9yLWdyYWRpZW50czogXCIjeyRncmFkaWVudC10eXBlfS1ncmFkaWVudCgjeyRzcGVjfSAjeyRncmFkaWVudHN9KVwiO1xyXG4gICAgJHZlbmRvci1ncmFkaWVudHM6IHVucXVvdGUoJHZlbmRvci1ncmFkaWVudHMpO1xyXG4gIH1cclxuICBAcmV0dXJuICR2ZW5kb3ItZ3JhZGllbnRzO1xyXG59XHJcbiIsIkBmdW5jdGlvbiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSkge1xyXG4gICRzaGFwZS1zaXplLXNwZWM6IG51bGw7XHJcbiAgQGVhY2ggJHZhbHVlIGluICRzaGFwZS1zaXplIHtcclxuICAgIEBpZiAoJHZhbHVlID09IFwiY292ZXJcIikgb3IgKCR2YWx1ZSA9PSBcImNvbnRhaW5cIikge1xyXG4gICAgICAkdmFsdWU6IG51bGw7XHJcbiAgICB9XHJcbiAgICAkc2hhcGUtc2l6ZS1zcGVjOiBcIiN7JHNoYXBlLXNpemUtc3BlY30gI3skdmFsdWV9XCI7XHJcbiAgfVxyXG4gIEByZXR1cm4gJHNoYXBlLXNpemUtc3BlYztcclxufVxyXG4iLCIvLyBSZW1vdmUgYGZhbHNlYCB2YWx1ZXMgZnJvbSBhIGxpc3RcclxuXHJcbkBmdW5jdGlvbiBjb21wYWN0KCR2YXJzLi4uKSB7XHJcbiAgJGxpc3Q6ICgpO1xyXG4gIEBlYWNoICR2YXIgaW4gJHZhcnMge1xyXG4gICAgQGlmICR2YXIge1xyXG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkdmFyLCBjb21tYSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEByZXR1cm4gJGxpc3Q7XHJcbn1cclxuIiwiLy8gRmxleGlibGUgZ3JpZFxyXG5AZnVuY3Rpb24gZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucykge1xyXG4gICR3aWR0aDogJGNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xyXG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xyXG4gIEByZXR1cm4gcGVyY2VudGFnZSgkd2lkdGggLyAkY29udGFpbmVyLXdpZHRoKTtcclxufVxyXG5cclxuLy8gRmxleGlibGUgZ3V0dGVyXHJcbkBmdW5jdGlvbiBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucywgJGd1dHRlcjogJGZnLWd1dHRlcikge1xyXG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xyXG4gIEByZXR1cm4gcGVyY2VudGFnZSgkZ3V0dGVyIC8gJGNvbnRhaW5lci13aWR0aCk7XHJcbn1cclxuXHJcbi8vIFRoZSAkZmctY29sdW1uLCAkZmctZ3V0dGVyIGFuZCAkZmctbWF4LWNvbHVtbnMgdmFyaWFibGVzIG11c3QgYmUgZGVmaW5lZCBpbiB5b3VyIGJhc2Ugc3R5bGVzaGVldCB0byBwcm9wZXJseSB1c2UgdGhlIGZsZXgtZ3JpZCBmdW5jdGlvbi5cclxuLy8gVGhpcyBmdW5jdGlvbiB0YWtlcyB0aGUgZmx1aWQgZ3JpZCBlcXVhdGlvbiAodGFyZ2V0IC8gY29udGV4dCA9IHJlc3VsdCkgYW5kIHVzZXMgY29sdW1ucyB0byBoZWxwIGRlZmluZSBlYWNoLlxyXG4vL1xyXG4vLyBUaGUgY2FsY3VsYXRpb24gcHJlc3VtZXMgdGhhdCB5b3VyIGNvbHVtbiBzdHJ1Y3R1cmUgd2lsbCBiZSBtaXNzaW5nIHRoZSBsYXN0IGd1dHRlcjpcclxuLy9cclxuLy8gICAtLSBjb2x1bW4gLS0gZ3V0dGVyIC0tIGNvbHVtbiAtLSBndXR0ZXIgLS0gY29sdW1uXHJcbi8vXHJcbi8vICAkZmctY29sdW1uOiA2MHB4OyAgICAgICAgICAgICAvLyBDb2x1bW4gV2lkdGhcclxuLy8gICRmZy1ndXR0ZXI6IDI1cHg7ICAgICAgICAgICAgIC8vIEd1dHRlciBXaWR0aFxyXG4vLyAgJGZnLW1heC1jb2x1bW5zOiAxMjsgICAgICAgICAgLy8gVG90YWwgQ29sdW1ucyBGb3IgTWFpbiBDb250YWluZXJcclxuLy9cclxuLy8gIGRpdiB7XHJcbi8vICAgIHdpZHRoOiBmbGV4LWdyaWQoNCk7ICAgICAgICAvLyByZXR1cm5zICgzMTVweCAvIDk5NXB4KSA9IDMxLjY1ODI5JTtcclxuLy8gICAgbWFyZ2luLWxlZnQ6IGZsZXgtZ3V0dGVyKCk7IC8vIHJldHVybnMgKDI1cHggLyA5OTVweCkgPSAyLjUxMjU2JTtcclxuLy9cclxuLy8gICAgcCB7XHJcbi8vICAgICAgd2lkdGg6IGZsZXgtZ3JpZCgyLCA0KTsgIC8vIHJldHVybnMgKDE0NXB4IC8gMzE1cHgpID0gNDYuMDMxNzQ2JTtcclxuLy8gICAgICBmbG9hdDogbGVmdDtcclxuLy8gICAgICBtYXJnaW46IGZsZXgtZ3V0dGVyKDQpOyAgLy8gcmV0dXJucyAoMjVweCAvIDMxNXB4KSA9IDcuOTM2NTA4JTtcclxuLy8gICAgfVxyXG4vL1xyXG4vLyAgICBibG9ja3F1b3RlIHtcclxuLy8gICAgICBmbG9hdDogbGVmdDtcclxuLy8gICAgICB3aWR0aDogZmxleC1ncmlkKDIsIDQpOyAvLyByZXR1cm5zICgxNDVweCAvIDMxNXB4KSA9IDQ2LjAzMTc0NiU7XHJcbi8vICAgIH1cclxuLy8gIH0iLCJAZnVuY3Rpb24gZ3JpZC13aWR0aCgkbikge1xyXG4gIEByZXR1cm4gJG4gKiAkZ3ctY29sdW1uICsgKCRuIC0gMSkgKiAkZ3ctZ3V0dGVyO1xyXG59XHJcblxyXG4vLyBUaGUgJGd3LWNvbHVtbiBhbmQgJGd3LWd1dHRlciB2YXJpYWJsZXMgbXVzdCBiZSBkZWZpbmVkIGluIHlvdXIgYmFzZSBzdHlsZXNoZWV0IHRvIHByb3Blcmx5IHVzZSB0aGUgZ3JpZC13aWR0aCBmdW5jdGlvbi5cclxuLy9cclxuLy8gICRndy1jb2x1bW46IDEwMHB4OyAgICAgICAgIC8vIENvbHVtbiBXaWR0aFxyXG4vLyAgJGd3LWd1dHRlcjogNDBweDsgICAgICAgICAgLy8gR3V0dGVyIFdpZHRoXHJcbi8vXHJcbi8vICBkaXYge1xyXG4vLyAgICB3aWR0aDogZ3JpZC13aWR0aCg0KTsgICAgLy8gcmV0dXJucyA1MjBweDtcclxuLy8gICAgbWFyZ2luLWxlZnQ6ICRndy1ndXR0ZXI7IC8vIHJldHVybnMgNDBweDtcclxuLy8gIH1cclxuIiwiQGZ1bmN0aW9uIGxpbmVhci1ncmFkaWVudCgkcG9zLCAkZ3JhZGllbnRzLi4uKSB7XHJcbiAgJHR5cGU6IGxpbmVhcjtcclxuICAkcG9zLXR5cGU6IHR5cGUtb2YobnRoKCRwb3MsIDEpKTtcclxuXHJcbiAgLy8gaWYgJHBvcyBkb2Vzbid0IGV4aXN0LCBmaXggJGdyYWRpZW50XHJcbiAgQGlmICgkcG9zLXR5cGUgPT0gY29sb3IpIG9yIChudGgoJHBvcywgMSkgPT0gXCJ0cmFuc3BhcmVudFwiKSAge1xyXG4gICAgJGdyYWRpZW50czogemlwKCRwb3MgJGdyYWRpZW50cyk7XHJcbiAgICAkcG9zOiBmYWxzZTtcclxuICB9XHJcblxyXG4gICR0eXBlLWdyYWRpZW50OiAkdHlwZSwgJHBvcywgJGdyYWRpZW50cztcclxuICBAcmV0dXJuICR0eXBlLWdyYWRpZW50O1xyXG59XHJcbiIsIkBmdW5jdGlvbiBtb2R1bGFyLXNjYWxlKCR2YWx1ZSwgJGluY3JlbWVudCwgJHJhdGlvKSB7XHJcbiAgQGlmICRpbmNyZW1lbnQgPiAwIHtcclxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGluY3JlbWVudCB7XHJcbiAgICAgICR2YWx1ZTogKCR2YWx1ZSAqICRyYXRpbyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaWYgJGluY3JlbWVudCA8IDAge1xyXG4gICAgJGluY3JlbWVudDogYWJzKCRpbmNyZW1lbnQpO1xyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkaW5jcmVtZW50IHtcclxuICAgICAgJHZhbHVlOiAoJHZhbHVlIC8gJHJhdGlvKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHZhbHVlO1xyXG59XHJcblxyXG4vLyAgZGl2IHtcclxuLy8gICAgICAgICAgICAgICAgICAgICBJbmNyZW1lbnQgVXAgR1Igd2l0aCBwb3NpdGl2ZSB2YWx1ZVxyXG4vLyAgIGZvbnQtc2l6ZTogICAgICAgIG1vZHVsYXItc2NhbGUoMTRweCwgICAxLCAxLjYxOCk7IC8vIHJldHVybnM6IDIyLjY1MnB4XHJcbi8vXHJcbi8vICAgICAgICAgICAgICAgICAgICAgSW5jcmVtZW50IERvd24gR1Igd2l0aCBuZWdhdGl2ZSB2YWx1ZVxyXG4vLyAgIGZvbnQtc2l6ZTogICAgICAgIG1vZHVsYXItc2NhbGUoMTRweCwgIC0xLCAxLjYxOCk7IC8vIHJldHVybnM6IDguNjUzcHhcclxuLy9cclxuLy8gICAgICAgICAgICAgICAgICAgICBDYW4gYmUgdXNlZCB3aXRoIGNlaWwocm91bmQgdXApIG9yIGZsb29yKHJvdW5kIGRvd24pXHJcbi8vICAgZm9udC1zaXplOiBmbG9vciggbW9kdWxhci1zY2FsZSgxNHB4LCAxLCAxLjYxOCkgKTsgLy8gcmV0dXJuczogMjJweFxyXG4vLyAgIGZvbnQtc2l6ZTogIGNlaWwoIG1vZHVsYXItc2NhbGUoMTRweCwgMSwgMS42MTgpICk7IC8vIHJldHVybnM6IDIzcHhcclxuLy8gIH1cclxuLy9cclxuLy8gbW9kdWxhcnNjYWxlLmNvbVxyXG5cclxuQGZ1bmN0aW9uIGdvbGRlbi1yYXRpbygkdmFsdWUsICRpbmNyZW1lbnQpIHtcclxuICBAcmV0dXJuIG1vZHVsYXItc2NhbGUoJHZhbHVlLCAkaW5jcmVtZW50LCAxLjYxOClcclxufVxyXG5cclxuLy8gIGRpdiB7XHJcbi8vICAgIGZvbnQtc2l6ZTogZ29sZGVuLXJhdGlvKDE0cHgsIDEpOyAvLyByZXR1cm5zOiAyMi42NTJweFxyXG4vLyAgfVxyXG4vL1xyXG4vLyBnb2xkZW5yYXRpb2NhbGN1bGF0b3IuY29tXHJcbiIsIi8vIENvbnZlcnQgcGl4ZWxzIHRvIGVtc1xyXG4vLyBlZy4gZm9yIGEgcmVsYXRpb25hbCB2YWx1ZSBvZiAxMnB4IHdyaXRlIGVtKDEyKSB3aGVuIHRoZSBwYXJlbnQgaXMgMTZweFxyXG4vLyBpZiB0aGUgcGFyZW50IGlzIGFub3RoZXIgdmFsdWUgc2F5IDI0cHggd3JpdGUgZW0oMTIsIDI0KVxyXG5cclxuQGZ1bmN0aW9uIGVtKCRweHZhbCwgJGJhc2U6IDE2KSB7XHJcbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMWVtO1xyXG59XHJcblxyXG4iLCIvLyBUaGlzIGZ1bmN0aW9uIGlzIHJlcXVpcmVkIGFuZCB1c2VkIGJ5IHRoZSBiYWNrZ3JvdW5kLWltYWdlIG1peGluLlxyXG5AZnVuY3Rpb24gcmFkaWFsLWdyYWRpZW50KCRHMSwgICAgICAgICRHMixcclxuICAgICAgICAgICAgICAgICAgICAgICAkRzM6IGZhbHNlLCAkRzQ6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRHNTogZmFsc2UsICRHNjogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgJEc3OiBmYWxzZSwgJEc4OiBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAkRzk6IGZhbHNlLCAkRzEwOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAkcG9zOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRzaGFwZS1zaXplOiBudWxsKSB7XHJcblxyXG4gICRkYXRhOiBfcmFkaWFsLWFyZy1wYXJzZXIoJEcxLCAkRzIsICRwb3MsICRzaGFwZS1zaXplKTtcclxuICAkRzE6ICBudGgoJGRhdGEsIDEpO1xyXG4gICRHMjogIG50aCgkZGF0YSwgMik7XHJcbiAgJHBvczogbnRoKCRkYXRhLCAzKTtcclxuICAkc2hhcGUtc2l6ZTogbnRoKCRkYXRhLCA0KTtcclxuXHJcbiAgJHR5cGU6IHJhZGlhbDtcclxuICAkZ3JhZGllbnQ6IGNvbXBhY3QoJEcxLCAkRzIsICRHMywgJEc0LCAkRzUsICRHNiwgJEc3LCAkRzgsICRHOSwgJEcxMCk7XHJcblxyXG4gICR0eXBlLWdyYWRpZW50OiAkdHlwZSwgJHNoYXBlLXNpemUgJHBvcywgJGdyYWRpZW50O1xyXG4gIEByZXR1cm4gJHR5cGUtZ3JhZGllbnQ7XHJcbn1cclxuXHJcblxyXG4iLCIvLyBBZGQgcGVyY2VudGFnZSBvZiB3aGl0ZSB0byBhIGNvbG9yXHJcbkBmdW5jdGlvbiB0aW50KCRjb2xvciwgJHBlcmNlbnQpe1xyXG4gIEByZXR1cm4gbWl4KHdoaXRlLCAkY29sb3IsICRwZXJjZW50KTtcclxufVxyXG5cclxuLy8gQWRkIHBlcmNlbnRhZ2Ugb2YgYmxhY2sgdG8gYSBjb2xvclxyXG5AZnVuY3Rpb24gc2hhZGUoJGNvbG9yLCAkcGVyY2VudCl7XHJcbiAgQHJldHVybiBtaXgoYmxhY2ssICRjb2xvciwgJHBlcmNlbnQpO1xyXG59XHJcbiIsIi8vIFJldHVybiB2ZW5kb3ItcHJlZml4ZWQgcHJvcGVydHkgbmFtZXMgaWYgYXBwcm9wcmlhdGVcclxuLy8gRXhhbXBsZTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygodHJhbnNmb3JtLCBjb2xvciwgYmFja2dyb3VuZCksIG1veikgLT4gLW1vei10cmFuc2Zvcm0sIGNvbG9yLCBiYWNrZ3JvdW5kXHJcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuQGZ1bmN0aW9uIHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BzLCAkdmVuZG9yOiBmYWxzZSkge1xyXG5cdCRuZXctcHJvcHM6ICgpO1xyXG5cdFxyXG5cdEBlYWNoICRwcm9wIGluICRwcm9wcyB7XHJcblx0XHQkbmV3LXByb3BzOiBhcHBlbmQoJG5ldy1wcm9wcywgdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lKCRwcm9wLCAkdmVuZG9yKSwgY29tbWEpO1xyXG5cdH1cclxuXHJcblx0QHJldHVybiAkbmV3LXByb3BzO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lKCRwcm9wLCAkdmVuZG9yOiBmYWxzZSkge1xyXG5cdC8vIHB1dCBvdGhlciBwcm9wZXJ0aWVzIHRoYXQgbmVlZCB0byBiZSBwcmVmaXhlZCBoZXJlIGFzd2VsbFxyXG5cdEBpZiAkdmVuZG9yIGFuZCAkcHJvcCA9PSB0cmFuc2Zvcm0ge1xyXG5cdFx0QHJldHVybiB1bnF1b3RlKCctJyskdmVuZG9yKyctJyskcHJvcCk7XHJcblx0fVxyXG5cdEBlbHNlIHtcclxuXHRcdEByZXR1cm4gJHByb3A7XHJcblx0fVxyXG59IiwiLy8gaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1hbmltYXRpb25zLyN0aGUtYW5pbWF0aW9uLW5hbWUtcHJvcGVydHktXHJcbi8vIEVhY2ggb2YgdGhlc2UgbWl4aW5zIHN1cHBvcnQgY29tbWEgc2VwYXJhdGVkIGxpc3RzIG9mIHZhbHVlcywgd2hpY2ggYWxsb3dzIGRpZmZlcmVudCB0cmFuc2l0aW9ucyBmb3IgaW5kaXZpZHVhbCBwcm9wZXJ0aWVzIHRvIGJlIGRlc2NyaWJlZCBpbiBhIHNpbmdsZSBzdHlsZSBydWxlLiBFYWNoIHZhbHVlIGluIHRoZSBsaXN0IGNvcnJlc3BvbmRzIHRvIHRoZSB2YWx1ZSBhdCB0aGF0IHNhbWUgcG9zaXRpb24gaW4gdGhlIG90aGVyIHByb3BlcnRpZXMuXHJcblxyXG4vLyBPZmZpY2lhbCBhbmltYXRpb24gc2hvcnRoYW5kIHByb3BlcnR5LlxyXG5AbWl4aW4gYW5pbWF0aW9uICgkYW5pbWF0aW9ucy4uLikge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbiwgJGFuaW1hdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbi8vIEluZGl2aWR1YWwgQW5pbWF0aW9uIFByb3BlcnRpZXNcclxuQG1peGluIGFuaW1hdGlvbi1uYW1lICgkbmFtZXMuLi4pIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tbmFtZSwgJG5hbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5cclxuQG1peGluIGFuaW1hdGlvbi1kdXJhdGlvbiAoJHRpbWVzLi4uKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiAoJG1vdGlvbnMuLi4pIHtcclxuLy8gZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCAoJHZhbHVlcy4uLikge1xyXG4vLyBpbmZpbml0ZSB8IDxudW1iZXI+XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgJHZhbHVlcywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBhbmltYXRpb24tZGlyZWN0aW9uICgkZGlyZWN0aW9ucy4uLikge1xyXG4vLyBub3JtYWwgfCBhbHRlcm5hdGVcclxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZGlyZWN0aW9uLCAkZGlyZWN0aW9ucywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBhbmltYXRpb24tcGxheS1zdGF0ZSAoJHN0YXRlcy4uLikge1xyXG4vLyBydW5uaW5nIHwgcGF1c2VkXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXBsYXktc3RhdGUsICRzdGF0ZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gYW5pbWF0aW9uLWRlbGF5ICgkdGltZXMuLi4pIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZGVsYXksICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBhbmltYXRpb24tZmlsbC1tb2RlICgkbW9kZXMuLi4pIHtcclxuLy8gbm9uZSB8IGZvcndhcmRzIHwgYmFja3dhcmRzIHwgYm90aFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1maWxsLW1vZGUsICRtb2Rlcywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG4iLCJAbWl4aW4gYXBwZWFyYW5jZSAoJHZhbHVlKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYXBwZWFyYW5jZSwgJHZhbHVlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XHJcbn1cclxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xyXG4vLyBCYWNrZmFjZS12aXNpYmlsaXR5IG1peGluXHJcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHkpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihiYWNrZmFjZS12aXNpYmlsaXR5LCAkdmlzaWJpbGl0eSwgd2Via2l0IHNwZWMpO1xyXG59XHJcbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuLy8gQmFja2dyb3VuZCBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmRzIHVzaW5nIHNob3J0aGFuZFxyXG4vLyBub3RhdGlvbi5cclxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xyXG5cclxuQG1peGluIGJhY2tncm91bmQoXHJcbiAgJGJhY2tncm91bmQtMSAgICAgICAsICRiYWNrZ3JvdW5kLTI6IGZhbHNlLFxyXG4gICRiYWNrZ3JvdW5kLTM6IGZhbHNlLCAkYmFja2dyb3VuZC00OiBmYWxzZSxcclxuICAkYmFja2dyb3VuZC01OiBmYWxzZSwgJGJhY2tncm91bmQtNjogZmFsc2UsXHJcbiAgJGJhY2tncm91bmQtNzogZmFsc2UsICRiYWNrZ3JvdW5kLTg6IGZhbHNlLFxyXG4gICRiYWNrZ3JvdW5kLTk6IGZhbHNlLCAkYmFja2dyb3VuZC0xMDogZmFsc2UsXHJcbiAgJGZhbGxiYWNrOiBmYWxzZVxyXG4pIHtcclxuICAkYmFja2dyb3VuZHM6IGNvbXBhY3QoJGJhY2tncm91bmQtMSwgJGJhY2tncm91bmQtMixcclxuICAgICAgICAgICAgICAgICRiYWNrZ3JvdW5kLTMsICRiYWNrZ3JvdW5kLTQsXHJcbiAgICAgICAgICAgICAgICAkYmFja2dyb3VuZC01LCAkYmFja2dyb3VuZC02LFxyXG4gICAgICAgICAgICAgICAgJGJhY2tncm91bmQtNywgJGJhY2tncm91bmQtOCxcclxuICAgICAgICAgICAgICAgICRiYWNrZ3JvdW5kLTksICRiYWNrZ3JvdW5kLTEwKTtcclxuXHJcbiAgJGZhbGxiYWNrLWNvbG9yOiBmYWxzZTtcclxuICBAaWYgKHR5cGUtb2YoJGZhbGxiYWNrKSA9PSBjb2xvcikgb3IgKCRmYWxsYmFjayA9PSBcInRyYW5zcGFyZW50XCIpIHtcclxuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICAkZmFsbGJhY2stY29sb3I6IF9leHRyYWN0LWJhY2tncm91bmQtY29sb3IoJGJhY2tncm91bmRzKTtcclxuICB9XHJcblxyXG4gIEBpZiAkZmFsbGJhY2stY29sb3Ige1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZhbGxiYWNrLWNvbG9yO1xyXG4gIH1cclxuICBiYWNrZ3JvdW5kOiBfYmFja2dyb3VuZC1hZGQtcHJlZml4KCRiYWNrZ3JvdW5kcywgd2Via2l0KTtcclxuICBiYWNrZ3JvdW5kOiBfYmFja2dyb3VuZC1hZGQtcHJlZml4KCRiYWNrZ3JvdW5kcyk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBfZXh0cmFjdC1iYWNrZ3JvdW5kLWNvbG9yKCRiYWNrZ3JvdW5kcykge1xyXG4gICRmaW5hbC1iZy1sYXllcjogbnRoKCRiYWNrZ3JvdW5kcywgbGVuZ3RoKCRiYWNrZ3JvdW5kcykpO1xyXG4gIEBpZiB0eXBlLW9mKCRmaW5hbC1iZy1sYXllcikgPT0gbGlzdCB7XHJcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkZmluYWwtYmctbGF5ZXIpIHtcclxuICAgICAgJHZhbHVlOiBudGgoJGZpbmFsLWJnLWxheWVyLCAkaSk7XHJcbiAgICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gY29sb3Ige1xyXG4gICAgICAgIEByZXR1cm4gJHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEByZXR1cm4gZmFsc2U7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBfYmFja2dyb3VuZC1hZGQtcHJlZml4KCRiYWNrZ3JvdW5kcywgJHZlbmRvcjogZmFsc2UpIHtcclxuICAkYmFja2dyb3VuZHMtcHJlZml4ZWQ6ICgpO1xyXG5cclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkYmFja2dyb3VuZHMpIHtcclxuICAgICRzaG9ydGhhbmQ6IG50aCgkYmFja2dyb3VuZHMsICRpKTsgLy8gR2V0IG1lbWJlciBmb3IgY3VycmVudCBpbmRleFxyXG4gICAgJHR5cGU6IHR5cGUtb2YoJHNob3J0aGFuZCk7IC8vIEdldCB0eXBlIG9mIHZhcmlhYmxlIC0gTGlzdCAoZ3JhZGllbnQpIG9yIFN0cmluZyAoaW1hZ2UpXHJcblxyXG4gICAgLy8gSWYgc2hvcnRoYW5kIGlzIGEgbGlzdCAoZ3JhZGllbnQpXHJcbiAgICBAaWYgJHR5cGUgPT0gbGlzdCB7XHJcbiAgICAgICRmaXJzdC1tZW1iZXI6IG50aCgkc2hvcnRoYW5kLCAxKTsgLy8gR2V0IGZpcnN0IG1lbWJlciBvZiBzaG9ydGhhbmRcclxuXHJcbiAgICAgIC8vIExpbmVhciBHcmFkaWVudFxyXG4gICAgICBAaWYgaW5kZXgobGluZWFyIHJhZGlhbCwgbnRoKCRmaXJzdC1tZW1iZXIsIDEpKSB7XHJcbiAgICAgICAgJGdyYWRpZW50LXR5cGU6IG50aCgkZmlyc3QtbWVtYmVyLCAxKTsgLy8gbGluZWFyIHx8IHJhZGlhbFxyXG4gICAgICAgICRncmFkaWVudC1hcmdzOiAgICAgIGZhbHNlO1xyXG4gICAgICAgICRncmFkaWVudC1wb3NpdGlvbnM6IGZhbHNlO1xyXG4gICAgICAgICRzaG9ydGhhbmQtc3RhcnQ6ICAgIGZhbHNlO1xyXG4gICAgICAgIEBpZiB0eXBlLW9mKCRmaXJzdC1tZW1iZXIpID09IGxpc3QgeyAvLyBMaW5lYXIgZ3JhZGllbnQgcGx1cyBhZGRpdGlvbmFsIHNob3J0aGFuZCB2YWx1ZXMg4oCUIGxnKHJlZCxvcmFuZ2UpcmVwZWF0LC4uLlxyXG4gICAgICAgICAgJGdyYWRpZW50LXBvc2l0aW9uczogbnRoKCRmaXJzdC1tZW1iZXIsIDIpO1xyXG4gICAgICAgICAgJGdyYWRpZW50LWFyZ3M6ICAgICAgbnRoKCRmaXJzdC1tZW1iZXIsIDMpO1xyXG4gICAgICAgICAgJHNob3J0aGFuZC1zdGFydDogMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGVsc2UgeyAvLyBMaW5lYXIgZ3JhZGllbnQgb25seSDigJQgbGcocmVkLG9yYW5nZSksLi4uXHJcbiAgICAgICAgICAkZ3JhZGllbnQtcG9zaXRpb25zOiBudGgoJHNob3J0aGFuZCwgMik7XHJcbiAgICAgICAgICAkZ3JhZGllbnQtYXJnczogICAgICBudGgoJHNob3J0aGFuZCwgMyk7IC8vIEdldCBncmFkaWVudCAocmVkLCBibHVlKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJGdyYWRpZW50LXBvc2l0aW9uczogX2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXR5cGUsICRncmFkaWVudC1wb3NpdGlvbnMpO1xyXG4gICAgICAgICRncmFkaWVudDogX3JlbmRlci1ncmFkaWVudHMoJGdyYWRpZW50LXBvc2l0aW9ucywgJGdyYWRpZW50LWFyZ3MsICRncmFkaWVudC10eXBlLCAkdmVuZG9yKTtcclxuXHJcbiAgICAgICAgLy8gQXBwZW5kIGFueSBhZGRpdGlvbmFsIHNob3J0aGFuZCBhcmdzIHRvIGdyYWRpZW50XHJcbiAgICAgICAgQGlmICRzaG9ydGhhbmQtc3RhcnQge1xyXG4gICAgICAgICAgQGZvciAkaiBmcm9tICRzaG9ydGhhbmQtc3RhcnQgdGhyb3VnaCBsZW5ndGgoJHNob3J0aGFuZCkge1xyXG4gICAgICAgICAgICAkZ3JhZGllbnQ6IGpvaW4oJGdyYWRpZW50LCBudGgoJHNob3J0aGFuZCwgJGopLCBzcGFjZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICRiYWNrZ3JvdW5kcy1wcmVmaXhlZDogYXBwZW5kKCRiYWNrZ3JvdW5kcy1wcmVmaXhlZCwgJGdyYWRpZW50LCBjb21tYSk7XHJcbiAgICAgIH1cclxuICAgICAgLy8gSW1hZ2Ugd2l0aCBhZGRpdGlvbmFsIHByb3BlcnRpZXNcclxuICAgICAgQGVsc2Uge1xyXG4gICAgICAgICRiYWNrZ3JvdW5kcy1wcmVmaXhlZDogYXBwZW5kKCRiYWNrZ3JvdW5kcy1wcmVmaXhlZCwgJHNob3J0aGFuZCwgY29tbWEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBJZiBzaG9ydGhhbmQgaXMgYSBzaW1wbGUgc3RyaW5nIChjb2xvciBvciBpbWFnZSlcclxuICAgIEBlbHNlIGlmICR0eXBlID09IHN0cmluZyB7XHJcbiAgICAgICRiYWNrZ3JvdW5kcy1wcmVmaXhlZDogam9pbigkYmFja2dyb3VuZHMtcHJlZml4ZWQsICRzaG9ydGhhbmQsIGNvbW1hKTtcclxuICAgIH1cclxuICB9XHJcbiAgQHJldHVybiAkYmFja2dyb3VuZHMtcHJlZml4ZWQ7XHJcbn1cclxuXHJcbi8vRXhhbXBsZXM6XHJcbiAgLy9AaW5jbHVkZSBiYWNrZ3JvdW5kKGxpbmVhci1ncmFkaWVudCh0b3AsIG9yYW5nZSwgcmVkKSk7XHJcbiAgLy9AaW5jbHVkZSBiYWNrZ3JvdW5kKHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgNDAlIDQwJSwgb3JhbmdlLCByZWQpKTtcclxuICAvL0BpbmNsdWRlIGJhY2tncm91bmQodXJsKFwiL2ltYWdlcy9hLnBuZ1wiKSBuby1yZXBlYXQsIGxpbmVhci1ncmFkaWVudChvcmFuZ2UsIHJlZCkpO1xyXG4gIC8vQGluY2x1ZGUgYmFja2dyb3VuZCh1cmwoXCJpbWFnZS5wbmdcIikgY2VudGVyIGNlbnRlciwgbGluZWFyLWdyYWRpZW50KG9yYW5nZSwgcmVkKSwgdXJsKFwiaW1hZ2UucG5nXCIpKTtcclxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xyXG4vLyBCYWNrZ3JvdW5kLWltYWdlIHByb3BlcnR5IGZvciBhZGRpbmcgbXVsdGlwbGUgYmFja2dyb3VuZCBpbWFnZXMgd2l0aFxyXG4vLyBncmFkaWVudHMsIG9yIGZvciBzdHJpbmdpbmcgbXVsdGlwbGUgZ3JhZGllbnRzIHRvZ2V0aGVyLlxyXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXHJcblxyXG5AbWl4aW4gYmFja2dyb3VuZC1pbWFnZSgkaW1hZ2VzLi4uKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogX2FkZC1wcmVmaXgoJGltYWdlcywgd2Via2l0KTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBfYWRkLXByZWZpeCgkaW1hZ2VzKTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIF9hZGQtcHJlZml4KCRpbWFnZXMsICR2ZW5kb3I6IGZhbHNlKSB7XHJcbiAgJGltYWdlcy1wcmVmaXhlZDogKCk7XHJcbiAgJGdyYWRpZW50LXBvc2l0aW9uczogZmFsc2U7XHJcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJGltYWdlcykge1xyXG4gICAgJHR5cGU6IHR5cGUtb2YobnRoKCRpbWFnZXMsICRpKSk7IC8vIEdldCB0eXBlIG9mIHZhcmlhYmxlIC0gTGlzdCBvciBTdHJpbmdcclxuXHJcbiAgICAvLyBJZiB2YXJpYWJsZSBpcyBhIGxpc3QgLSBHcmFkaWVudFxyXG4gICAgQGlmICR0eXBlID09IGxpc3Qge1xyXG4gICAgICAkZ3JhZGllbnQtdHlwZTogbnRoKG50aCgkaW1hZ2VzLCAkaSksIDEpOyAvLyBsaW5lYXIgb3IgcmFkaWFsXHJcbiAgICAgICRncmFkaWVudC1wb3M6IG51bGw7XHJcbiAgICAgICRncmFkaWVudC1hcmdzOiBudWxsO1xyXG5cclxuICAgICAgQGlmICgkZ3JhZGllbnQtdHlwZSA9PSBsaW5lYXIpIG9yICgkZ3JhZGllbnQtdHlwZSA9PSByYWRpYWwpIHtcclxuICAgICAgICAkZ3JhZGllbnQtcG9zOiAgbnRoKG50aCgkaW1hZ2VzLCAkaSksIDIpOyAvLyBHZXQgZ3JhZGllbnQgcG9zaXRpb25cclxuICAgICAgICAkZ3JhZGllbnQtYXJnczogbnRoKG50aCgkaW1hZ2VzLCAkaSksIDMpOyAvLyBHZXQgYWN0dWFsIGdyYWRpZW50IChyZWQsIGJsdWUpXHJcbiAgICAgIH1cclxuICAgICAgQGVsc2Uge1xyXG4gICAgICAgICRncmFkaWVudC1hcmdzOiBudGgobnRoKCRpbWFnZXMsICRpKSwgMik7IC8vIEdldCBhY3R1YWwgZ3JhZGllbnQgKHJlZCwgYmx1ZSlcclxuICAgICAgfVxyXG5cclxuICAgICAgJGdyYWRpZW50LXBvc2l0aW9uczogX2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXR5cGUsICRncmFkaWVudC1wb3MpO1xyXG4gICAgICAkZ3JhZGllbnQ6IF9yZW5kZXItZ3JhZGllbnRzKCRncmFkaWVudC1wb3NpdGlvbnMsICRncmFkaWVudC1hcmdzLCAkZ3JhZGllbnQtdHlwZSwgJHZlbmRvcik7XHJcbiAgICAgICRpbWFnZXMtcHJlZml4ZWQ6IGFwcGVuZCgkaW1hZ2VzLXByZWZpeGVkLCAkZ3JhZGllbnQsIGNvbW1hKTtcclxuICAgIH1cclxuICAgIC8vIElmIHZhcmlhYmxlIGlzIGEgc3RyaW5nIC0gSW1hZ2VcclxuICAgIEBlbHNlIGlmICR0eXBlID09IHN0cmluZyB7XHJcbiAgICAgICRpbWFnZXMtcHJlZml4ZWQ6IGpvaW4oJGltYWdlcy1wcmVmaXhlZCwgbnRoKCRpbWFnZXMsICRpKSwgY29tbWEpO1xyXG4gICAgfVxyXG4gIH1cclxuICBAcmV0dXJuICRpbWFnZXMtcHJlZml4ZWQ7XHJcbn1cclxuXHJcbi8vRXhhbXBsZXM6XHJcbiAgLy9AaW5jbHVkZSBiYWNrZ3JvdW5kLWltYWdlKGxpbmVhci1ncmFkaWVudCh0b3AsIG9yYW5nZSwgcmVkKSk7XHJcbiAgLy9AaW5jbHVkZSBiYWNrZ3JvdW5kLWltYWdlKHJhZGlhbC1ncmFkaWVudCg1MCUgNTAlLCBjb3ZlciBjaXJjbGUsIG9yYW5nZSwgcmVkKSk7XHJcbiAgLy9AaW5jbHVkZSBiYWNrZ3JvdW5kLWltYWdlKHVybChcIi9pbWFnZXMvYS5wbmdcIiksIGxpbmVhci1ncmFkaWVudChvcmFuZ2UsIHJlZCkpO1xyXG4gIC8vQGluY2x1ZGUgYmFja2dyb3VuZC1pbWFnZSh1cmwoXCJpbWFnZS5wbmdcIiksIGxpbmVhci1ncmFkaWVudChvcmFuZ2UsIHJlZCksIHVybChcImltYWdlLnBuZ1wiKSk7XHJcbiAgLy9AaW5jbHVkZSBiYWNrZ3JvdW5kLWltYWdlKGxpbmVhci1ncmFkaWVudChoc2xhKDAsIDEwMCUsIDEwMCUsIDAuMjUpIDAlLCBoc2xhKDAsIDEwMCUsIDEwMCUsIDAuMDgpIDUwJSwgdHJhbnNwYXJlbnQgNTAlKSwgbGluZWFyLWdyYWRpZW50KG9yYW5nZSwgcmVkKSk7XHJcbiIsIkBtaXhpbiBib3JkZXItaW1hZ2UoJGltYWdlcykge1xyXG4gIC13ZWJraXQtYm9yZGVyLWltYWdlOiBfYm9yZGVyLWFkZC1wcmVmaXgoJGltYWdlcywgd2Via2l0KTtcclxuICAgICAtbW96LWJvcmRlci1pbWFnZTogX2JvcmRlci1hZGQtcHJlZml4KCRpbWFnZXMsIG1veik7XHJcbiAgICAgICAtby1ib3JkZXItaW1hZ2U6IF9ib3JkZXItYWRkLXByZWZpeCgkaW1hZ2VzLCBvKTtcclxuICAgICAgICAgIGJvcmRlci1pbWFnZTogX2JvcmRlci1hZGQtcHJlZml4KCRpbWFnZXMpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gX2JvcmRlci1hZGQtcHJlZml4KCRpbWFnZXMsICR2ZW5kb3I6IGZhbHNlKSB7XHJcbiAgJGJvcmRlci1pbWFnZTogKCk7XHJcbiAgJGltYWdlcy10eXBlOiAgdHlwZS1vZihudGgoJGltYWdlcywgMSkpO1xyXG4gICRmaXJzdC12YXI6ICAgIG50aChudGgoJGltYWdlcywgMSksIDEpOyAgICAgICAgICAvLyBHZXQgdHlwZSBvZiBHcmFkaWVudCAoTGluZWFyIHx8IHJhZGlhbClcclxuXHJcbiAgLy8gSWYgaW5wdXQgaXMgYSBncmFkaWVudFxyXG4gIEBpZiAkaW1hZ2VzLXR5cGUgPT0gc3RyaW5nIHtcclxuICAgIEBpZiAoJGZpcnN0LXZhciA9PSBcImxpbmVhclwiKSBvciAoJGZpcnN0LXZhciA9PSBcInJhZGlhbFwiKSB7XHJcbiAgICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRpbWFnZXMpIHtcclxuICAgICAgICAkZ3JhZGllbnQtdHlwZTogbnRoKCRpbWFnZXMsIDEpOyAgICAgICAgICAgLy8gR2V0IHR5cGUgb2YgZ3JhZGllbnQgKGxpbmVhciB8fCByYWRpYWwpXHJcbiAgICAgICAgJGdyYWRpZW50LWFyZ3M6IG50aCgkaW1hZ2VzLCAkaSk7ICAgICAgICAgIC8vIEdldCBhY3R1YWwgZ3JhZGllbnQgKHJlZCwgYmx1ZSlcclxuICAgICAgICAkYm9yZGVyLWltYWdlOiAgX3JlbmRlci1ncmFkaWVudHMoJGdyYWRpZW50LWFyZ3MsICRncmFkaWVudC10eXBlLCAkdmVuZG9yKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gSWYgaW5wdXQgaXMgYSBVUkxcclxuICAgIEBlbHNlIHtcclxuICAgICAgJGJvcmRlci1pbWFnZTogJGltYWdlcztcclxuICAgIH1cclxuICB9XHJcbiAgLy8gSWYgaW5wdXQgaXMgZ3JhZGllbnQgb3IgdXJsICsgYWRkaXRpb25hbCBhcmdzXHJcbiAgQGVsc2UgaWYgJGltYWdlcy10eXBlID09IGxpc3Qge1xyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJGltYWdlcykge1xyXG4gICAgICAkdHlwZTogdHlwZS1vZihudGgoJGltYWdlcywgJGkpKTsgICAgICAgICAgIC8vIEdldCB0eXBlIG9mIHZhcmlhYmxlIC0gTGlzdCBvciBTdHJpbmdcclxuXHJcbiAgICAgIC8vIElmIHZhcmlhYmxlIGlzIGEgbGlzdCAtIEdyYWRpZW50XHJcbiAgICAgIEBpZiAkdHlwZSA9PSBsaXN0IHtcclxuICAgICAgICAkZ3JhZGllbnQtdHlwZTogbnRoKG50aCgkaW1hZ2VzLCAkaSksIDEpOyAvLyBHZXQgdHlwZSBvZiBncmFkaWVudCAobGluZWFyIHx8IHJhZGlhbClcclxuICAgICAgICAkZ3JhZGllbnQtYXJnczogbnRoKG50aCgkaW1hZ2VzLCAkaSksIDIpOyAvLyBHZXQgYWN0dWFsIGdyYWRpZW50IChyZWQsIGJsdWUpXHJcbiAgICAgICAgJGJvcmRlci1pbWFnZTogIF9yZW5kZXItZ3JhZGllbnRzKCRncmFkaWVudC1hcmdzLCAkZ3JhZGllbnQtdHlwZSwgJHZlbmRvcik7XHJcbiAgICAgIH1cclxuICAgICAgLy8gSWYgdmFyaWFibGUgaXMgYSBzdHJpbmcgLSBJbWFnZSBvciBudW1iZXJcclxuICAgICAgQGVsc2UgaWYgKCR0eXBlID09IHN0cmluZykgb3IgKCR0eXBlID09IG51bWJlcikge1xyXG4gICAgICAgICRib3JkZXItaW1hZ2U6IGFwcGVuZCgkYm9yZGVyLWltYWdlLCBudGgoJGltYWdlcywgJGkpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBAcmV0dXJuICRib3JkZXItaW1hZ2U7XHJcbn1cclxuXHJcbi8vRXhhbXBsZXM6XHJcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZSh1cmwoXCJpbWFnZS5wbmdcIikpO1xyXG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UodXJsKFwiaW1hZ2UucG5nXCIpIDIwIHN0cmV0Y2gpO1xyXG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykpO1xyXG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykgc3RyZXRjaCk7XHJcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSAyMCAzMCA0MCA1MCBzdHJldGNoIHJvdW5kKTtcclxuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHJhZGlhbC1ncmFkaWVudCh0b3AsIGNvdmVyLCBvcmFuZ2UsIHllbGxvdywgb3JhbmdlKSk7XHJcbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuLy8gU2hvcnRoYW5kIEJvcmRlci1yYWRpdXMgbWl4aW5zXHJcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpaSkge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci10b3AtbGVmdC1yYWRpdXMsICRyYWRpaSwgc3BlYyk7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMsICRyYWRpaSwgc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaWkpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzLCAkcmFkaWksIHNwZWMpO1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzLCAkcmFkaWksIHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpaSkge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJvcmRlci10b3AtbGVmdC1yYWRpdXMsICRyYWRpaSwgc3BlYyk7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cywgJHJhZGlpLCBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGlpKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMsICRyYWRpaSwgc3BlYyk7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMsICRyYWRpaSwgc3BlYyk7XHJcbn1cclxuIiwiQG1peGluIGJveC1zaXppbmcgKCRib3gpIHtcclxuLy8gIGNvbnRlbnQtYm94IHwgYm9yZGVyLWJveCB8IGluaGVyaXRcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtc2l6aW5nLCAkYm94LCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcbiIsIkBtaXhpbiBjb2x1bW5zKCRhcmc6IGF1dG8pIHtcclxuLy8gPGNvbHVtbi1jb3VudD4gfHwgPGNvbHVtbi13aWR0aD5cclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW5zLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLWNvdW50KCRpbnQ6IGF1dG8pIHtcclxuLy8gYXV0byB8fCBpbnRlZ2VyXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWNvdW50LCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLWdhcCgkbGVuZ3RoOiBub3JtYWwpIHtcclxuLy8gbm9ybWFsIHx8IGxlbmd0aFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1nYXAsICRsZW5ndGgsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tZmlsbCgkYXJnOiBhdXRvKSB7XHJcbi8vIGF1dG8gfHwgbGVuZ3RoXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1ucy1maWxsLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLXJ1bGUoJGFyZykge1xyXG4vLyA8Ym9yZGVyLXdpZHRoPiB8fCA8Ym9yZGVyLXN0eWxlPiB8fCA8Y29sb3I+XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUsICRhcmcsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tcnVsZS1jb2xvcigkY29sb3IpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZS1jb2xvciwgJGNvbG9yLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gY29sdW1uLXJ1bGUtc3R5bGUoJHN0eWxlOiBub25lKSB7XHJcbi8vIG5vbmUgfCBoaWRkZW4gfCBkYXNoZWQgfCBkb3R0ZWQgfCBkb3VibGUgfCBncm9vdmUgfCBpbnNldCB8IGluc2V0IHwgb3V0c2V0IHwgcmlkZ2UgfCBzb2xpZFxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1ydWxlLXN0eWxlLCAkc3R5bGUsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBjb2x1bW4tcnVsZS13aWR0aCAoJHdpZHRoOiBub25lKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtd2lkdGgsICR3aWR0aCwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi1zcGFuKCRhcmc6IG5vbmUpIHtcclxuLy8gbm9uZSB8fCBhbGxcclxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tc3BhbiwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGNvbHVtbi13aWR0aCgkbGVuZ3RoOiBhdXRvKSB7XHJcbi8vIGF1dG8gfHwgbGVuZ3RoXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXdpZHRoLCAkbGVuZ3RoLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcbiIsIi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xyXG5cclxuLy8gQ3VzdG9tIHNob3J0aGFuZCBub3RhdGlvbiBmb3IgZmxleGJveFxyXG5AbWl4aW4gYm94KCRvcmllbnQ6IGlubGluZS1heGlzLCAkcGFjazogc3RhcnQsICRhbGlnbjogc3RyZXRjaCkge1xyXG4gIEBpbmNsdWRlIGRpc3BsYXktYm94O1xyXG4gIEBpbmNsdWRlIGJveC1vcmllbnQoJG9yaWVudCk7XHJcbiAgQGluY2x1ZGUgYm94LXBhY2soJHBhY2spO1xyXG4gIEBpbmNsdWRlIGJveC1hbGlnbigkYWxpZ24pO1xyXG59XHJcblxyXG5AbWl4aW4gZGlzcGxheS1ib3gge1xyXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gIGRpc3BsYXk6IC1tb3otYm94O1xyXG4gIGRpc3BsYXk6IGJveDtcclxufVxyXG5cclxuQG1peGluIGJveC1vcmllbnQoJG9yaWVudDogaW5saW5lLWF4aXMpIHtcclxuLy8gaG9yaXpvbnRhbHx2ZXJ0aWNhbHxpbmxpbmUtYXhpc3xibG9jay1heGlzfGluaGVyaXRcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JpZW50LCAkb3JpZW50LCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gYm94LXBhY2soJHBhY2s6IHN0YXJ0KSB7XHJcbi8vIHN0YXJ0fGVuZHxjZW50ZXJ8anVzdGlmeVxyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkcGFjaywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGJveC1hbGlnbigkYWxpZ246IHN0cmV0Y2gpIHtcclxuLy8gc3RhcnR8ZW5kfGNlbnRlcnxiYXNlbGluZXxzdHJldGNoXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWxpZ24sIHdlYmtpdCBtb3ogc3BlYyk7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtZGlyZWN0aW9uKCRkaXJlY3Rpb246IG5vcm1hbCkge1xyXG4vLyBub3JtYWx8cmV2ZXJzZXxpbmhlcml0XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWRpcmVjdGlvbiwgJGRpcmVjdGlvbiwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGJveC1saW5lcygkbGluZXM6IHNpbmdsZSkge1xyXG4vLyBzaW5nbGV8bXVsdGlwbGVcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtbGluZXMsICRsaW5lcywgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGJveC1vcmRpbmFsLWdyb3VwKCRpbnQ6IDEpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JkaW5hbC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGJveC1mbGV4KCR2YWx1ZTogMC4wKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG5cclxuQG1peGluIGJveC1mbGV4LWdyb3VwKCRpbnQ6IDEpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZmxleC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcclxufVxyXG4iLCIvLyBPcmRlciBvZiB0aGUgaW5jbHVkZXMgbWF0dGVycywgYW5kIGl0IGlzOiBub3JtYWwsIGJvbGQsIGl0YWxpYywgYm9sZCtpdGFsaWMuXHJcblxyXG5AbWl4aW4gZm9udC1mYWNlKCRmb250LWZhbWlseSwgJGZpbGUtcGF0aCwgJHdlaWdodDogbm9ybWFsLCAkc3R5bGU6IG5vcm1hbCwgJGFzc2V0LXBpcGVsaW5lOiBmYWxzZSApIHtcclxuICBAZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XHJcbiAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcclxuXHJcbiAgICBAaWYgJGFzc2V0LXBpcGVsaW5lID09IHRydWUge1xyXG4gICAgICBzcmM6IGZvbnQtdXJsKCcjeyRmaWxlLXBhdGh9LmVvdCcpO1xyXG4gICAgICBzcmM6IGZvbnQtdXJsKCcjeyRmaWxlLXBhdGh9LmVvdD8jaWVmaXgnKSAgICAgICAgICBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcbiAgICAgICAgICAgZm9udC11cmwoJyN7JGZpbGUtcGF0aH0ud29mZicpICAgICAgICAgICAgICAgIGZvcm1hdCgnd29mZicpLFxyXG4gICAgICAgICAgIGZvbnQtdXJsKCcjeyRmaWxlLXBhdGh9LnR0ZicpICAgICAgICAgICAgICAgICBmb3JtYXQoJ3RydWV0eXBlJyksXHJcbiAgICAgICAgICAgZm9udC11cmwoJyN7JGZpbGUtcGF0aH0uc3ZnIyN7JGZvbnQtZmFtaWx5fScpIGZvcm1hdCgnc3ZnJyk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgc3JjOiB1cmwoJyN7JGZpbGUtcGF0aH0uZW90Jyk7XHJcbiAgICAgIHNyYzogdXJsKCcjeyRmaWxlLXBhdGh9LmVvdD8jaWVmaXgnKSAgICAgICAgICAgICAgIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuICAgICAgICAgICB1cmwoJyN7JGZpbGUtcGF0aH0ud29mZicpICAgICAgICAgICAgICAgICAgICAgZm9ybWF0KCd3b2ZmJyksXHJcbiAgICAgICAgICAgdXJsKCcjeyRmaWxlLXBhdGh9LnR0ZicpICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdCgndHJ1ZXR5cGUnKSxcclxuICAgICAgICAgICB1cmwoJyN7JGZpbGUtcGF0aH0uc3ZnIyN7JGZvbnQtZmFtaWx5fScpICAgICAgZm9ybWF0KCdzdmcnKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gSGlEUEkgbWl4aW4uIERlZmF1bHQgdmFsdWUgc2V0IHRvIDEuMyB0byB0YXJnZXQgR29vZ2xlIE5leHVzIDcgKGh0dHA6Ly9iamFuZ28uY29tL2FydGljbGVzL21pbi1kZXZpY2UtcGl4ZWwtcmF0aW8vKVxyXG5AbWl4aW4gaGlkcGkoJHJhdGlvOiAxLjMpIHtcclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXHJcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXHJcbiAgb25seSBzY3JlZW4gYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyRyYXRpb30vMSksXHJcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogI3tyb3VuZCgkcmF0aW8qOTYpfWRwaSksXHJcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogI3skcmF0aW99ZHBweCkge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbiIsIkBtaXhpbiBpbWFnZS1yZW5kZXJpbmcgKCRtb2RlOm9wdGltaXplUXVhbGl0eSkge1xyXG5cclxuICBAaWYgKCRtb2RlID09IG9wdGltaXplLWNvbnRyYXN0KSB7XHJcbiAgICAgIGltYWdlLXJlbmRlcmluZzogLW1vei1jcmlzcC1lZGdlcztcclxuICAgICAgaW1hZ2UtcmVuZGVyaW5nOiAtby1jcmlzcC1lZGdlcztcclxuICAgICAgaW1hZ2UtcmVuZGVyaW5nOiAtd2Via2l0LW9wdGltaXplLWNvbnRyYXN0O1xyXG4gICAgICBpbWFnZS1yZW5kZXJpbmc6IG9wdGltaXplLWNvbnRyYXN0O1xyXG4gIH1cclxuXHJcbiAgQGVsc2Uge1xyXG4gICAgICBpbWFnZS1yZW5kZXJpbmc6ICRtb2RlO1xyXG4gIH1cclxufVxyXG4iLCIvLyBMZWdhY3kgc3VwcG9ydCBmb3IgaW5saW5lLWJsb2NrIGluIElFNyAobWF5YmUgSUU2KVxyXG5AbWl4aW4gaW5saW5lLWJsb2NrIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG4gIHpvb206IDE7XHJcbiAgKmRpc3BsYXk6IGlubGluZTtcclxuICAqdmVydGljYWwtYWxpZ246IGF1dG87XHJcbn1cclxuIiwiLy8gQWRkcyBrZXlmcmFtZXMgYmxvY2tzIGZvciBzdXBwb3J0ZWQgcHJlZml4ZXMsIHJlbW92aW5nIHJlZHVuZGFudCBwcmVmaXhlcyBpbiB0aGUgYmxvY2sncyBjb250ZW50XHJcbkBtaXhpbiBrZXlmcmFtZXMoJG5hbWUpIHtcclxuICAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQ6ICAgICRwcmVmaXgtZm9yLXdlYmtpdDtcclxuICAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhOiAgICRwcmVmaXgtZm9yLW1vemlsbGE7XHJcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itb3BlcmE6ICAgICAkcHJlZml4LWZvci1vcGVyYTtcclxuICAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjOiAgICAgICRwcmVmaXgtZm9yLXNwZWM7XHJcblxyXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQge1xyXG4gICAgQGluY2x1ZGUgZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpO1xyXG4gICAgJHByZWZpeC1mb3Itd2Via2l0OiB0cnVlO1xyXG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JG5hbWV9IHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBpZiAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhIHtcclxuICAgIEBpbmNsdWRlIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKTtcclxuICAgICRwcmVmaXgtZm9yLW1vemlsbGE6IHRydWU7XHJcbiAgICBALW1vei1rZXlmcmFtZXMgI3skbmFtZX0ge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhIHtcclxuICAgIEBpbmNsdWRlIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKTtcclxuICAgICRwcmVmaXgtZm9yLW9wZXJhOiB0cnVlO1xyXG4gICAgQC1vLWtleWZyYW1lcyAjeyRuYW1lfSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYyB7XHJcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XHJcbiAgICAkcHJlZml4LWZvci1zcGVjOiB0cnVlO1xyXG4gICAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQ7XHJcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhO1xyXG4gICRwcmVmaXgtZm9yLW9wZXJhOiAgICAgJG9yaWdpbmFsLXByZWZpeC1mb3Itb3BlcmE7XHJcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjO1xyXG59XHJcbiIsIkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJHBvcywgJEcxLCAkRzI6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRHMzogZmFsc2UsICRHNDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgJEc1OiBmYWxzZSwgJEc2OiBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAkRzc6IGZhbHNlLCAkRzg6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRHOTogZmFsc2UsICRHMTA6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRkZXByZWNhdGVkLXBvczE6IGxlZnQgdG9wLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRkZXByZWNhdGVkLXBvczI6IGxlZnQgYm90dG9tLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRmYWxsYmFjazogZmFsc2UpIHtcclxuICAvLyBEZXRlY3Qgd2hhdCB0eXBlIG9mIHZhbHVlIGV4aXN0cyBpbiAkcG9zXHJcbiAgJHBvcy10eXBlOiB0eXBlLW9mKG50aCgkcG9zLCAxKSk7XHJcbiAgJHBvcy1zcGVjOiBudWxsO1xyXG4gICRwb3MtZGVncmVlOiBudWxsO1xyXG5cclxuICAvLyBJZiAkcG9zIGlzIG1pc3NpbmcgZnJvbSBtaXhpbiwgcmVhc3NpZ24gdmFycyBhbmQgYWRkIGRlZmF1bHQgcG9zaXRpb25cclxuICBAaWYgKCRwb3MtdHlwZSA9PSBjb2xvcikgb3IgKG50aCgkcG9zLCAxKSA9PSBcInRyYW5zcGFyZW50XCIpICB7XHJcbiAgICAkRzEwOiAkRzk7ICRHOTogJEc4OyAkRzg6ICRHNzsgJEc3OiAkRzY7ICRHNjogJEc1O1xyXG4gICAgICRHNTogJEc0OyAkRzQ6ICRHMzsgJEczOiAkRzI7ICRHMjogJEcxOyAkRzE6ICRwb3M7XHJcbiAgICAgJHBvczogbnVsbDtcclxuICB9XHJcblxyXG4gIEBpZiAkcG9zIHtcclxuICAgICRwb3NpdGlvbnM6IF9saW5lYXItcG9zaXRpb25zLXBhcnNlcigkcG9zKTtcclxuICAgICRwb3MtZGVncmVlOiBudGgoJHBvc2l0aW9ucywgMSk7XHJcbiAgICAkcG9zLXNwZWM6ICAgbnRoKCRwb3NpdGlvbnMsIDIpO1xyXG4gIH1cclxuXHJcbiAgJGZ1bGw6IGNvbXBhY3QoJEcxLCAkRzIsICRHMywgJEc0LCAkRzUsICRHNiwgJEc3LCAkRzgsICRHOSwgJEcxMCk7XHJcblxyXG4gIC8vIFNldCAkRzEgYXMgdGhlIGRlZmF1bHQgZmFsbGJhY2sgY29sb3JcclxuICAkZmFsbGJhY2stY29sb3I6IG50aCgkRzEsIDEpO1xyXG5cclxuICAvLyBJZiAkZmFsbGJhY2sgaXMgYSBjb2xvciB1c2UgdGhhdCBjb2xvciBhcyB0aGUgZmFsbGJhY2sgY29sb3JcclxuICBAaWYgKHR5cGUtb2YoJGZhbGxiYWNrKSA9PSBjb2xvcikgb3IgKCRmYWxsYmFjayA9PSBcInRyYW5zcGFyZW50XCIpIHtcclxuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xyXG4gIH1cclxuXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGZhbGxiYWNrLWNvbG9yO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IF9kZXByZWNhdGVkLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsICRkZXByZWNhdGVkLXBvczEsICRkZXByZWNhdGVkLXBvczIsICRmdWxsKTsgLy8gU2FmYXJpIDw9IDUuMFxyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRwb3MtZGVncmVlICRmdWxsKTsgLy8gU2FmYXJpIDUuMSssIENocm9tZVxyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVucXVvdGUoXCJsaW5lYXItZ3JhZGllbnQoI3skcG9zLXNwZWN9I3skZnVsbH0pXCIpO1xyXG59XHJcbiIsIkBtaXhpbiBwZXJzcGVjdGl2ZSgkZGVwdGg6IG5vbmUpIHtcclxuICAvLyBub25lIHwgPGxlbmd0aD5cclxuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZSwgJGRlcHRoLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCR2YWx1ZTogNTAlIDUwJSkge1xyXG4gIEBpbmNsdWRlIHByZWZpeGVyKHBlcnNwZWN0aXZlLW9yaWdpbiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcbiIsIi8vIFJlcXVpcmVzIFNhc3MgMy4xK1xyXG5AbWl4aW4gcmFkaWFsLWdyYWRpZW50KCRHMSwgICAgICAgICRHMixcclxuICAgICAgICAgICAgICAgICAgICAgICAkRzM6IGZhbHNlLCAkRzQ6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRHNTogZmFsc2UsICRHNjogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgJEc3OiBmYWxzZSwgJEc4OiBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAkRzk6IGZhbHNlLCAkRzEwOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAkcG9zOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRzaGFwZS1zaXplOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRkZXByZWNhdGVkLXBvczE6IGNlbnRlciBjZW50ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgJGRlcHJlY2F0ZWQtcG9zMjogY2VudGVyIGNlbnRlcixcclxuICAgICAgICAgICAgICAgICAgICAgICAkZGVwcmVjYXRlZC1yYWRpdXMxOiAwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICRkZXByZWNhdGVkLXJhZGl1czI6IDQ2MCxcclxuICAgICAgICAgICAgICAgICAgICAgICAkZmFsbGJhY2s6IGZhbHNlKSB7XHJcblxyXG4gICRkYXRhOiBfcmFkaWFsLWFyZy1wYXJzZXIoJEcxLCAkRzIsICRwb3MsICRzaGFwZS1zaXplKTtcclxuICAkRzE6ICBudGgoJGRhdGEsIDEpO1xyXG4gICRHMjogIG50aCgkZGF0YSwgMik7XHJcbiAgJHBvczogbnRoKCRkYXRhLCAzKTtcclxuICAkc2hhcGUtc2l6ZTogbnRoKCRkYXRhLCA0KTtcclxuXHJcbiAgJGZ1bGw6IGNvbXBhY3QoJEcxLCAkRzIsICRHMywgJEc0LCAkRzUsICRHNiwgJEc3LCAkRzgsICRHOSwgJEcxMCk7XHJcblxyXG4gIC8vIFN0cmlwIGRlcHJlY2F0ZWQgY292ZXIvY29udGFpbiBmb3Igc3BlY1xyXG4gICRzaGFwZS1zaXplLXNwZWM6IF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKTtcclxuXHJcbiAgLy8gU2V0ICRHMSBhcyB0aGUgZGVmYXVsdCBmYWxsYmFjayBjb2xvclxyXG4gICRmaXJzdC1jb2xvcjogbnRoKCRmdWxsLCAxKTtcclxuICAkZmFsbGJhY2stY29sb3I6IG50aCgkZmlyc3QtY29sb3IsIDEpO1xyXG5cclxuICBAaWYgKHR5cGUtb2YoJGZhbGxiYWNrKSA9PSBjb2xvcikgb3IgKCRmYWxsYmFjayA9PSBcInRyYW5zcGFyZW50XCIpIHtcclxuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xyXG4gIH1cclxuXHJcbiAgLy8gQWRkIENvbW1hcyBhbmQgc3BhY2VzXHJcbiAgJHNoYXBlLXNpemU6IGlmKCRzaGFwZS1zaXplLCAnI3skc2hhcGUtc2l6ZX0sICcsIG51bGwpO1xyXG4gICRwb3M6ICAgICAgICBpZigkcG9zLCAnI3skcG9zfSwgJywgbnVsbCk7XHJcbiAgJHBvcy1zcGVjOiAgIGlmKCRwb3MsICdhdCAjeyRwb3N9JywgbnVsbCk7XHJcbiAgJHNoYXBlLXNpemUtc3BlYzogaWYoKCRzaGFwZS1zaXplLXNwZWMgIT0gJyAnKSBhbmQgKCRwb3MgPT0gbnVsbCksICcjeyRzaGFwZS1zaXplLXNwZWN9LCAnLCAnI3skc2hhcGUtc2l6ZS1zcGVjfSAnKTtcclxuXHJcbiAgYmFja2dyb3VuZC1jb2xvcjogICRmYWxsYmFjay1jb2xvcjtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBfZGVwcmVjYXRlZC13ZWJraXQtZ3JhZGllbnQocmFkaWFsLCAkZGVwcmVjYXRlZC1wb3MxLCAkZGVwcmVjYXRlZC1wb3MyLCAkZnVsbCwgJGRlcHJlY2F0ZWQtcmFkaXVzMSwgJGRlcHJlY2F0ZWQtcmFkaXVzMik7IC8vIFNhZmFyaSA8PSA1LjAgJiYgSU9TIDRcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudCh1bnF1b3RlKCN7JHBvc30jeyRzaGFwZS1zaXplfSN7JGZ1bGx9KSk7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdW5xdW90ZShcInJhZGlhbC1ncmFkaWVudCgjeyRzaGFwZS1zaXplLXNwZWN9I3skcG9zLXNwZWN9I3skZnVsbH0pXCIpO1xyXG59XHJcbiIsIkBtaXhpbiB0cmFuc2Zvcm0oJHByb3BlcnR5OiBub25lKSB7XHJcbi8vICBub25lIHwgPHRyYW5zZm9ybS1mdW5jdGlvbj5cclxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sICRwcm9wZXJ0eSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkYXhlczogNTAlKSB7XHJcbi8vIHgtYXhpcyAtIGxlZnQgfCBjZW50ZXIgfCByaWdodCAgfCBsZW5ndGggfCAlXHJcbi8vIHktYXhpcyAtIHRvcCAgfCBjZW50ZXIgfCBib3R0b20gfCBsZW5ndGggfCAlXHJcbi8vIHotYXhpcyAtICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGhcclxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0tb3JpZ2luLCAkYXhlcywgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNmb3JtLXN0eWxlICgkc3R5bGU6IGZsYXQpIHtcclxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0tc3R5bGUsICRzdHlsZSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xyXG59XHJcbiIsIi8vIFNob3J0aGFuZCBtaXhpbi4gU3VwcG9ydHMgbXVsdGlwbGUgcGFyZW50aGVzZXMtZGVsaW1pbmF0ZWQgdmFsdWVzIGZvciBlYWNoIHZhcmlhYmxlLlxyXG4vLyBFeGFtcGxlOiBAaW5jbHVkZSB0cmFuc2l0aW9uIChhbGwsIDIuMHMsIGVhc2UtaW4tb3V0KTtcclxuLy8gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiAoKG9wYWNpdHksIHdpZHRoKSwgKDEuMHMsIDIuMHMpLCBlYXNlLWluLCAoMCwgMnMpKTtcclxuLy8gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiAoJHByb3BlcnR5OihvcGFjaXR5LCB3aWR0aCksICRkZWxheTogKDEuNXMsIDIuNXMpKTtcclxuXHJcbkBtaXhpbiB0cmFuc2l0aW9uICgkcHJvcGVydGllcy4uLikge1xyXG4gIEBpZiBsZW5ndGgoJHByb3BlcnRpZXMpID49IDEge1xyXG4gICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XHJcbiAgfVxyXG5cclxuICBAZWxzZSB7XHJcbiAgICAkcHJvcGVydGllczogYWxsIDAuMTVzIGVhc2Utb3V0IDA7XHJcbiAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5ICgkcHJvcGVydGllcy4uLikge1xyXG4gICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsICd3ZWJraXQnKTtcclxuICAgICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCAnbW96Jyk7XHJcbiAgICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgZmFsc2UpO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbiAoJHRpbWVzLi4uKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi1kdXJhdGlvbiwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24gKCRtb3Rpb25zLi4uKSB7XHJcbi8vIGVhc2UgfCBsaW5lYXIgfCBlYXNlLWluIHwgZWFzZS1vdXQgfCBlYXNlLWluLW91dCB8IGN1YmljLWJlemllcigpXHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sICRtb3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSAoJHRpbWVzLi4uKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi1kZWxheSwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xyXG59XHJcbiIsIkBtaXhpbiB1c2VyLXNlbGVjdCgkYXJnOiBub25lKSB7XHJcbiAgQGluY2x1ZGUgcHJlZml4ZXIodXNlci1zZWxlY3QsICRhcmcsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XHJcbn1cclxuIiwiJHBsYWNlaG9sZGVyczogJy13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXInLFxyXG4gICAgICAgICAgICAgICAnLW1vei1wbGFjZWhvbGRlcicsXHJcbiAgICAgICAgICAgICAgICctbXMtaW5wdXQtcGxhY2Vob2xkZXInO1xyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICBAZWFjaCAkcGxhY2Vob2xkZXIgaW4gJHBsYWNlaG9sZGVycyB7XHJcbiAgICBAaWYgJHBsYWNlaG9sZGVyID09IFwiLXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlclwiIHtcclxuICAgICAgJjo6I3skcGxhY2Vob2xkZXJ9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBsYWNlaG9sZGVyID09IFwiLW1vei1wbGFjZWhvbGRlclwiIHtcclxuICAgICAgLy8gRkYgMTgtXHJcbiAgICAgICY6I3skcGxhY2Vob2xkZXJ9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy8gRkYgMTkrXHJcbiAgICAgICY6OiN7JHBsYWNlaG9sZGVyfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgJjojeyRwbGFjZWhvbGRlcn0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkBtaXhpbiBidXR0b24gKCRzdHlsZTogc2ltcGxlLCAkYmFzZS1jb2xvcjogIzQyOTRmMCkge1xyXG5cclxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IGNvbG9yIHtcclxuICAgICRiYXNlLWNvbG9yOiAkc3R5bGU7XHJcbiAgICAkc3R5bGU6IHNpbXBsZTtcclxuICB9XHJcblxyXG4gIC8vIEdyYXlzY2FsZSBidXR0b25cclxuICBAaWYgJGJhc2UtY29sb3IgPT0gZ3JheXNjYWxlKCRiYXNlLWNvbG9yKSB7XHJcbiAgICBAaWYgJHN0eWxlID09IHNpbXBsZSB7XHJcbiAgICAgIEBpbmNsdWRlIHNpbXBsZSgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogdHJ1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgQGVsc2UgaWYgJHN0eWxlID09IHNoaW55IHtcclxuICAgICAgQGluY2x1ZGUgc2hpbnkoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIEBlbHNlIGlmICRzdHlsZSA9PSBwaWxsIHtcclxuICAgICAgQGluY2x1ZGUgcGlsbCgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogdHJ1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBDb2xvcmVkIGJ1dHRvblxyXG4gIEBlbHNlIHtcclxuICAgIEBpZiAkc3R5bGUgPT0gc2ltcGxlIHtcclxuICAgICAgQGluY2x1ZGUgc2ltcGxlKCRiYXNlLWNvbG9yKTtcclxuICAgIH1cclxuXHJcbiAgICBAZWxzZSBpZiAkc3R5bGUgPT0gc2hpbnkge1xyXG4gICAgICBAaW5jbHVkZSBzaGlueSgkYmFzZS1jb2xvcik7XHJcbiAgICB9XHJcblxyXG4gICAgQGVsc2UgaWYgJHN0eWxlID09IHBpbGwge1xyXG4gICAgICBAaW5jbHVkZSBwaWxsKCRiYXNlLWNvbG9yKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6ZGlzYWJsZWQge1xyXG4gICAgb3BhY2l0eTogMC41O1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBTaW1wbGUgQnV0dG9uXHJcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuQG1peGluIHNpbXBsZSgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UpIHtcclxuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xyXG4gICRib3JkZXI6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOSUsICAkbGlnaHRuZXNzOiAtMTQlKTtcclxuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTglLCAgJGxpZ2h0bmVzczogIDE1JSk7XHJcbiAgJHN0b3AtZ3JhZGllbnQ6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246ICA5JSwgICRsaWdodG5lc3M6IC0xMSUpO1xyXG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgMTUlLCAkbGlnaHRuZXNzOiAtMTglKTtcclxuXHJcbiAgQGlmIGxpZ2h0bmVzcygkYmFzZS1jb2xvcikgPiA3MCUge1xyXG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcclxuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XHJcbiAgfVxyXG5cclxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICRib3JkZXI6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlcik7XHJcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xyXG4gICAgJHN0b3AtZ3JhZGllbnQ6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudCk7XHJcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XHJcbiAgfVxyXG5cclxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyO1xyXG4gIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcclxuICBjb2xvcjogJGNvbG9yO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBmb250LXNpemU6IDExcHg7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvciwgJHN0b3AtZ3JhZGllbnQpO1xyXG4gIHBhZGRpbmc6IDdweCAxOHB4O1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB0ZXh0LXNoYWRvdzogMCAxcHggMCAkdGV4dC1zaGFkb3c7XHJcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuXHJcbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XHJcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTQlLCAkbGlnaHRuZXNzOiAtNSUpO1xyXG4gICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC03JSwgJGxpZ2h0bmVzczogIDUlKTtcclxuICAgICRzdG9wLWdyYWRpZW50LWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOCUsICRsaWdodG5lc3M6IC0xNCUpO1xyXG5cclxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xyXG4gICAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgZ3JheXNjYWxlKCRiYXNlLWNvbG9yLWhvdmVyKTtcclxuICAgICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWhvdmVyKTtcclxuICAgICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudC1ob3Zlcik7XHJcbiAgICB9XHJcblxyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3ctaG92ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLWhvdmVyLCAkc3RvcC1ncmFkaWVudC1ob3Zlcik7XHJcbiAgfVxyXG5cclxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7XHJcbiAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogOSUsICRsaWdodG5lc3M6IC0xNCUpO1xyXG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IDclLCAkbGlnaHRuZXNzOiAtMTclKTtcclxuXHJcbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICAgJGJvcmRlci1hY3RpdmU6ICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWFjdGl2ZSk7XHJcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xyXG4gICAgfVxyXG5cclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItYWN0aXZlO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDhweCA0cHggJGluc2V0LXNoYWRvdy1hY3RpdmUsIGluc2V0IDAgMCA4cHggNHB4ICRpbnNldC1zaGFkb3ctYWN0aXZlLCAwIDFweCAxcHggMCAjZWVlO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIFNoaW55IEJ1dHRvblxyXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXHJcbkBtaXhpbiBzaGlueSgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UpIHtcclxuICAkY29sb3I6ICAgICAgICAgaHNsKDAsIDAsIDEwMCUpO1xyXG4gICRib3JkZXI6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMTcsICRncmVlbjogLTExMSwgJGJsdWU6IC04MSk7XHJcbiAgJGJvcmRlci1ib3R0b206IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTEyNiwgJGdyZWVuOiAtMTI3LCAkYmx1ZTogLTEyMik7XHJcbiAgJGZvdXJ0aC1zdG9wOiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTc5LCAgJGdyZWVuOiAtNzAsICAkYmx1ZTogLTQ2KTtcclxuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAgMzcsICAkZ3JlZW46ICAyOSwgICRibHVlOiAgMTIpO1xyXG4gICRzZWNvbmQtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC01NiwgICRncmVlbjogLTUwLCAgJGJsdWU6IC0zMyk7XHJcbiAgJHRleHQtc2hhZG93OiAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTE0MCwgJGdyZWVuOiAtMTQxLCAkYmx1ZTogLTExNCk7XHJcbiAgJHRoaXJkLXN0b3A6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTg2LCAgJGdyZWVuOiAtNzUsICAkYmx1ZTogLTQ4KTtcclxuXHJcbiAgQGlmIGxpZ2h0bmVzcygkYmFzZS1jb2xvcikgPiA3MCUge1xyXG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcclxuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XHJcbiAgfVxyXG5cclxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICRib3JkZXI6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlcik7XHJcbiAgICAkYm9yZGVyLWJvdHRvbTogZ3JheXNjYWxlKCRib3JkZXItYm90dG9tKTtcclxuICAgICRmb3VydGgtc3RvcDogICBncmF5c2NhbGUoJGZvdXJ0aC1zdG9wKTtcclxuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XHJcbiAgICAkc2Vjb25kLXN0b3A6ICAgZ3JheXNjYWxlKCRzZWNvbmQtc3RvcCk7XHJcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XHJcbiAgICAkdGhpcmQtc3RvcDogICAgZ3JheXNjYWxlKCR0aGlyZC1zdG9wKTtcclxuICB9XHJcblxyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItYm90dG9tO1xyXG4gIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcclxuICBjb2xvcjogJGNvbG9yO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvcCwgJGJhc2UtY29sb3IgMCUsICRzZWNvbmQtc3RvcCA1MCUsICR0aGlyZC1zdG9wIDUwJSwgJGZvdXJ0aC1zdG9wIDEwMCUpO1xyXG4gIHBhZGRpbmc6IDhweCAyMHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93O1xyXG5cclxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcclxuICAgICRmaXJzdC1zdG9wLWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTMsICRncmVlbjogLTE1LCAkYmx1ZTogLTE4KTtcclxuICAgICRzZWNvbmQtc3RvcC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNjYsICRncmVlbjogLTYyLCAkYmx1ZTogLTUxKTtcclxuICAgICR0aGlyZC1zdG9wLWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtOTMsICRncmVlbjogLTg1LCAkYmx1ZTogLTY2KTtcclxuICAgICRmb3VydGgtc3RvcC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtODYsICRncmVlbjogLTgwLCAkYmx1ZTogLTYzKTtcclxuXHJcbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICAgJGZpcnN0LXN0b3AtaG92ZXI6ICBncmF5c2NhbGUoJGZpcnN0LXN0b3AtaG92ZXIpO1xyXG4gICAgICAkc2Vjb25kLXN0b3AtaG92ZXI6IGdyYXlzY2FsZSgkc2Vjb25kLXN0b3AtaG92ZXIpO1xyXG4gICAgICAkdGhpcmQtc3RvcC1ob3ZlcjogIGdyYXlzY2FsZSgkdGhpcmQtc3RvcC1ob3Zlcik7XHJcbiAgICAgICRmb3VydGgtc3RvcC1ob3ZlcjogZ3JheXNjYWxlKCRmb3VydGgtc3RvcC1ob3Zlcik7XHJcbiAgICB9XHJcblxyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvcCwgJGZpcnN0LXN0b3AtaG92ZXIgIDAlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNlY29uZC1zdG9wLWhvdmVyIDUwJSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlyZC1zdG9wLWhvdmVyICA1MCUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm91cnRoLXN0b3AtaG92ZXIgMTAwJSk7XHJcbiAgfVxyXG5cclxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7XHJcbiAgICAkaW5zZXQtc2hhZG93LWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtMTExLCAkZ3JlZW46IC0xMTYsICRibHVlOiAtMTIyKTtcclxuXHJcbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWFjdGl2ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDIwcHggMCAkaW5zZXQtc2hhZG93LWFjdGl2ZSwgMCAxcHggMCAjZmZmO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIFBpbGwgQnV0dG9uXHJcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuQG1peGluIHBpbGwoJGJhc2UtY29sb3IsICRncmF5c2NhbGU6IGZhbHNlKSB7XHJcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcclxuICAkYm9yZGVyLWJvdHRvbTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246IC0xMSUsICRsaWdodG5lc3M6IC0yNiUpO1xyXG4gICRib3JkZXItc2lkZXM6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA0LCAkc2F0dXJhdGlvbjogLTIxJSwgJGxpZ2h0bmVzczogLTIxJSk7XHJcbiAgJGJvcmRlci10b3A6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMzAlLCAkbGlnaHRuZXNzOiAtMTUlKTtcclxuICAkaW5zZXQtc2hhZG93OiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAtMSwgJHNhdHVyYXRpb246IC0xJSwgICRsaWdodG5lc3M6ICA3JSk7XHJcbiAgJHN0b3AtZ3JhZGllbnQ6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAgMTQlLCAkbGlnaHRuZXNzOiAtMTAlKTtcclxuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNSwgJHNhdHVyYXRpb246IC0xOSUsICRsaWdodG5lc3M6IC0xNSUpO1xyXG5cclxuICBAaWYgbGlnaHRuZXNzKCRiYXNlLWNvbG9yKSA+IDcwJSB7XHJcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xyXG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcclxuICB9XHJcblxyXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xyXG4gICAgJGJvcmRlci1ib3R0b206IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XHJcbiAgICAkYm9yZGVyLXNpZGVzOiAgZ3JheXNjYWxlKCRib3JkZXItc2lkZXMpO1xyXG4gICAgJGJvcmRlci10b3A6ICAgIGdyYXlzY2FsZSgkYm9yZGVyLXRvcCk7XHJcbiAgICAkaW5zZXQtc2hhZG93OiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3cpO1xyXG4gICAgJHN0b3AtZ3JhZGllbnQ6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudCk7XHJcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XHJcbiAgfVxyXG5cclxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLXRvcDtcclxuICBib3JkZXItY29sb3I6ICRib3JkZXItdG9wICRib3JkZXItc2lkZXMgJGJvcmRlci1ib3R0b207XHJcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcclxuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdywgMCAxcHggMnB4IDAgI2IzYjNiMztcclxuICBjb2xvcjogJGNvbG9yO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBmb250LXNpemU6IDExcHg7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLCAkc3RvcC1ncmFkaWVudCk7XHJcbiAgcGFkZGluZzogNXB4IDE2cHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XHJcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuXHJcbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XHJcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGxpZ2h0bmVzczogLTQuNSUpO1xyXG4gICAgJGJvcmRlci1ib3R0b206ICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAgMTMuNSUsICRsaWdodG5lc3M6IC0zMiUpO1xyXG4gICAgJGJvcmRlci1zaWRlczogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDQsICRzYXR1cmF0aW9uOiAtMiUsICAgICRsaWdodG5lc3M6IC0yNyUpO1xyXG4gICAgJGJvcmRlci10b3A6ICAgICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMTclLCAgICRsaWdodG5lc3M6IC0yMSUpO1xyXG4gICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgICAgICAgICAgICRzYXR1cmF0aW9uOiAtMSUsICAgICRsaWdodG5lc3M6ICAzJSk7XHJcbiAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246IC00JSwgICAgJGxpZ2h0bmVzczogLTE1LjUlKTtcclxuICAgICR0ZXh0LXNoYWRvdy1ob3ZlcjogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6ICA1LCAkc2F0dXJhdGlvbjogLTUlLCAgICAkbGlnaHRuZXNzOiAtMjIlKTtcclxuXHJcbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcclxuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XHJcbiAgICAgICRib3JkZXItYm90dG9tOiAgICAgICBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xyXG4gICAgICAkYm9yZGVyLXNpZGVzOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItc2lkZXMpO1xyXG4gICAgICAkYm9yZGVyLXRvcDogICAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItdG9wKTtcclxuICAgICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWhvdmVyKTtcclxuICAgICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudC1ob3Zlcik7XHJcbiAgICAgICR0ZXh0LXNoYWRvdy1ob3ZlcjogICBncmF5c2NhbGUoJHRleHQtc2hhZG93LWhvdmVyKTtcclxuICAgIH1cclxuXHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLXRvcDtcclxuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci10b3AgJGJvcmRlci1zaWRlcyAkYm9yZGVyLWJvdHRvbTtcclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93LWhvdmVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50ICgkYmFzZS1jb2xvci1ob3ZlciwgJHN0b3AtZ3JhZGllbnQtaG92ZXIpO1xyXG4gICAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93LWhvdmVyO1xyXG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuICB9XHJcblxyXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpIHtcclxuICAgICRhY3RpdmUtY29sb3I6ICAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA0LCAgJHNhdHVyYXRpb246IC0xMiUsICAkbGlnaHRuZXNzOiAtMTAlKTtcclxuICAgICRib3JkZXItYWN0aXZlOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA2LCAgJHNhdHVyYXRpb246IC0yLjUlLCAkbGlnaHRuZXNzOiAtMzAlKTtcclxuICAgICRib3JkZXItYm90dG9tLWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAxMSwgJHNhdHVyYXRpb246ICA2JSwgICAkbGlnaHRuZXNzOiAtMzElKTtcclxuICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA5LCAgJHNhdHVyYXRpb246ICAyJSwgICAkbGlnaHRuZXNzOiAtMjEuNSUpO1xyXG4gICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDUsICAkc2F0dXJhdGlvbjogLTEyJSwgICRsaWdodG5lc3M6IC0yMS41JSk7XHJcblxyXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XHJcbiAgICAgICRhY3RpdmUtY29sb3I6ICAgICAgICAgZ3JheXNjYWxlKCRhY3RpdmUtY29sb3IpO1xyXG4gICAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWFjdGl2ZSk7XHJcbiAgICAgICRib3JkZXItYm90dG9tLWFjdGl2ZTogZ3JheXNjYWxlKCRib3JkZXItYm90dG9tLWFjdGl2ZSk7XHJcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcclxuICAgICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBncmF5c2NhbGUoJHRleHQtc2hhZG93LWFjdGl2ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgYmFja2dyb3VuZDogJGFjdGl2ZS1jb2xvcjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItYWN0aXZlO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItYm90dG9tLWFjdGl2ZTtcclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggM3B4ICRpbnNldC1zaGFkb3ctYWN0aXZlLCAwIDFweCAwIDAgI2ZmZjtcclxuICAgIHRleHQtc2hhZG93OiAwIC0xcHggMXB4ICR0ZXh0LXNoYWRvdy1hY3RpdmU7XHJcbiAgfVxyXG59XHJcbiIsIi8vIE1pY3JvIGNsZWFyZml4IHByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGNvbnRhaW4gZmxvYXRzIHdpdGhvdXQgYWRkaW5nIGFkZGl0aW9uYWwgbWFya3VwXHJcbi8vXHJcbi8vIEV4YW1wbGUgdXNhZ2U6XHJcbi8vXHJcbi8vICAgIC8vIENvbnRhaW4gYWxsIGZsb2F0cyB3aXRoaW4gLndyYXBwZXJcclxuLy8gICAgLndyYXBwZXIge1xyXG4vLyAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4vLyAgICAgIC5jb250ZW50LFxyXG4vLyAgICAgIC5zaWRlYmFyIHtcclxuLy8gICAgICAgIGZsb2F0IDogbGVmdDtcclxuLy8gICAgICB9XHJcbi8vICAgIH1cclxuXHJcbkBtaXhpbiBjbGVhcmZpeCB7XHJcbiAgKnpvb206IDE7XHJcblxyXG4gICY6YmVmb3JlLFxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCIgXCI7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICB9XHJcblxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBBY2tub3dsZWRnZW1lbnRzXHJcbi8vIE1pY3JvIGNsZWFyZml4OiBbTmljb2xhcyBHYWxsYWdoZXJdKGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLylcclxuIiwiQG1peGluIGhpZGUtdGV4dCB7XHJcbiAgY29sb3I6ICAgICAgICAgICAgdHJhbnNwYXJlbnQ7XHJcbiAgZm9udDogICAgICAgICAgICAgMC8wIGE7XHJcbiAgdGV4dC1zaGFkb3c6ICAgICAgbm9uZTtcclxufVxyXG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXHJcbi8vIEdlbmVyYXRlIGEgdmFyaWFibGUgKCRhbGwtdGV4dC1pbnB1dHMpIHdpdGggYSBsaXN0IG9mIGFsbCBodG1sNVxyXG4vLyBpbnB1dCB0eXBlcyB0aGF0IGhhdmUgYSB0ZXh0LWJhc2VkIGlucHV0LCBleGNsdWRpbmcgdGV4dGFyZWEuXHJcbi8vIGh0dHA6Ly9kaXZlaW50b2h0bWw1Lm9yZy9mb3Jtcy5odG1sXHJcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuJGlucHV0cy1saXN0OiAnaW5wdXRbdHlwZT1cImVtYWlsXCJdJyxcclxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm51bWJlclwiXScsXHJcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJwYXNzd29yZFwiXScsXHJcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJzZWFyY2hcIl0nLFxyXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGVsXCJdJyxcclxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRleHRcIl0nLFxyXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidXJsXCJdJyxcclxuXHJcbiAgICAgICAgICAgICAgLy8gV2Via2l0ICYgR2Vja28gbWF5IGNoYW5nZSB0aGUgZGlzcGxheSBvZiB0aGVzZSBpbiB0aGUgZnV0dXJlXHJcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJjb2xvclwiXScsXHJcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRlXCJdJyxcclxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdJyxcclxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdJyxcclxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm1vbnRoXCJdJyxcclxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInRpbWVcIl0nLFxyXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwid2Vla1wiXSc7XHJcblxyXG4kdW5xdW90ZWQtaW5wdXRzLWxpc3Q6ICgpO1xyXG5AZWFjaCAkaW5wdXQtdHlwZSBpbiAkaW5wdXRzLWxpc3Qge1xyXG4gICR1bnF1b3RlZC1pbnB1dHMtbGlzdDogYXBwZW5kKCR1bnF1b3RlZC1pbnB1dHMtbGlzdCwgdW5xdW90ZSgkaW5wdXQtdHlwZSksIGNvbW1hKTtcclxufVxyXG5cclxuJGFsbC10ZXh0LWlucHV0czogJHVucXVvdGVkLWlucHV0cy1saXN0O1xyXG5cclxuXHJcbi8vIEhvdmVyIFBzZXVkby1jbGFzc1xyXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXHJcbiRhbGwtdGV4dC1pbnB1dHMtaG92ZXI6ICgpO1xyXG5AZWFjaCAkaW5wdXQtdHlwZSBpbiAkdW5xdW90ZWQtaW5wdXRzLWxpc3Qge1xyXG4gICAgICAkaW5wdXQtdHlwZS1ob3ZlcjogJGlucHV0LXR5cGUgKyBcIjpob3ZlclwiO1xyXG4gICAgICAkYWxsLXRleHQtaW5wdXRzLWhvdmVyOiBhcHBlbmQoJGFsbC10ZXh0LWlucHV0cy1ob3ZlciwgJGlucHV0LXR5cGUtaG92ZXIsIGNvbW1hKTtcclxufVxyXG5cclxuLy8gRm9jdXMgUHNldWRvLWNsYXNzXHJcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuJGFsbC10ZXh0LWlucHV0cy1mb2N1czogKCk7XHJcbkBlYWNoICRpbnB1dC10eXBlIGluICR1bnF1b3RlZC1pbnB1dHMtbGlzdCB7XHJcbiAgICAgICRpbnB1dC10eXBlLWZvY3VzOiAkaW5wdXQtdHlwZSArIFwiOmZvY3VzXCI7XHJcbiAgICAgICRhbGwtdGV4dC1pbnB1dHMtZm9jdXM6IGFwcGVuZCgkYWxsLXRleHQtaW5wdXRzLWZvY3VzLCAkaW5wdXQtdHlwZS1mb2N1cywgY29tbWEpO1xyXG59XHJcblxyXG4vLyBZb3UgbXVzdCB1c2UgaW50ZXJwb2xhdGlvbiBvbiB0aGUgdmFyaWFibGU6XHJcbi8vICN7JGFsbC10ZXh0LWlucHV0c31cclxuLy8gI3skYWxsLXRleHQtaW5wdXRzLWhvdmVyfVxyXG4vLyAjeyRhbGwtdGV4dC1pbnB1dHMtZm9jdXN9XHJcblxyXG4vLyBFeGFtcGxlXHJcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuLy8gICAjeyRhbGwtdGV4dC1pbnB1dHN9LCB0ZXh0YXJlYSB7XHJcbi8vICAgICBib3JkZXI6IDFweCBzb2xpZCByZWQ7XHJcbi8vICAgfVxyXG4iLCJAbWl4aW4gcG9zaXRpb24gKCRwb3NpdGlvbjogcmVsYXRpdmUsICRjb29yZGluYXRlczogMCAwIDAgMCkge1xyXG5cclxuICBAaWYgdHlwZS1vZigkcG9zaXRpb24pID09IGxpc3Qge1xyXG4gICAgJGNvb3JkaW5hdGVzOiAkcG9zaXRpb247XHJcbiAgICAkcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIH1cclxuXHJcbiAgJHRvcDogbnRoKCRjb29yZGluYXRlcywgMSk7XHJcbiAgJHJpZ2h0OiBudGgoJGNvb3JkaW5hdGVzLCAyKTtcclxuICAkYm90dG9tOiBudGgoJGNvb3JkaW5hdGVzLCAzKTtcclxuICAkbGVmdDogbnRoKCRjb29yZGluYXRlcywgNCk7XHJcblxyXG4gIHBvc2l0aW9uOiAkcG9zaXRpb247XHJcblxyXG4gIEBpZiAkdG9wID09IGF1dG8ge1xyXG4gICAgdG9wOiAkdG9wO1xyXG4gIH1cclxuICBAZWxzZSBpZiBub3QodW5pdGxlc3MoJHRvcCkpIHtcclxuICAgIHRvcDogJHRvcDtcclxuICB9XHJcblxyXG4gIEBpZiAkcmlnaHQgPT0gYXV0byB7XHJcbiAgICByaWdodDogJHJpZ2h0O1xyXG4gIH1cclxuICBAZWxzZSBpZiBub3QodW5pdGxlc3MoJHJpZ2h0KSkge1xyXG4gICAgcmlnaHQ6ICRyaWdodDtcclxuICB9XHJcblxyXG4gIEBpZiAkYm90dG9tID09IGF1dG8ge1xyXG4gICAgYm90dG9tOiAkYm90dG9tO1xyXG4gIH1cclxuICBAZWxzZSBpZiBub3QodW5pdGxlc3MoJGJvdHRvbSkpIHtcclxuICAgIGJvdHRvbTogJGJvdHRvbTtcclxuICB9XHJcblxyXG4gIEBpZiAkbGVmdCA9PSBhdXRvIHtcclxuICAgIGxlZnQ6ICRsZWZ0O1xyXG4gIH1cclxuICBAZWxzZSBpZiBub3QodW5pdGxlc3MoJGxlZnQpKSB7XHJcbiAgICBsZWZ0OiAkbGVmdDtcclxuICB9XHJcbn1cclxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xyXG4vLyBFeGFtcGxlOiBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItcmFkaXVzLCAkcmFkaWksIHdlYmtpdCBtcyBzcGVjKTtcclxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xyXG4kcHJlZml4LWZvci13ZWJraXQ6ICAgIHRydWUgIWRlZmF1bHQ7XHJcbiRwcmVmaXgtZm9yLW1vemlsbGE6ICAgdHJ1ZSAhZGVmYXVsdDtcclxuJHByZWZpeC1mb3ItbWljcm9zb2Z0OiB0cnVlICFkZWZhdWx0O1xyXG4kcHJlZml4LWZvci1vcGVyYTogICAgIHRydWUgIWRlZmF1bHQ7XHJcbiRwcmVmaXgtZm9yLXNwZWM6ICAgICAgdHJ1ZSAhZGVmYXVsdDsgLy8gcmVxdWlyZWQgZm9yIGtleWZyYW1lIG1peGluXHJcblxyXG5AbWl4aW4gcHJlZml4ZXIgKCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXMpIHtcclxuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XHJcbiAgICBAaWYgJHByZWZpeCA9PSB3ZWJraXQge1xyXG4gICAgICBAaWYgJHByZWZpeC1mb3Itd2Via2l0IHtcclxuICAgICAgICAtd2Via2l0LSN7JHByb3BlcnR5fTogJHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IG1veiB7XHJcbiAgICAgIEBpZiAkcHJlZml4LWZvci1tb3ppbGxhIHtcclxuICAgICAgICAtbW96LSN7JHByb3BlcnR5fTogJHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IG1zIHtcclxuICAgICAgQGlmICRwcmVmaXgtZm9yLW1pY3Jvc29mdCB7XHJcbiAgICAgICAgLW1zLSN7JHByb3BlcnR5fTogJHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IG8ge1xyXG4gICAgICBAaWYgJHByZWZpeC1mb3Itb3BlcmEge1xyXG4gICAgICAgIC1vLSN7JHByb3BlcnR5fTogJHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IHNwZWMge1xyXG4gICAgICBAaWYgJHByZWZpeC1mb3Itc3BlYyB7XHJcbiAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlICB7XHJcbiAgICAgIEB3YXJuIFwiVW5yZWNvZ25pemVkIHByZWZpeDogI3skcHJlZml4fVwiO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKSB7XHJcbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICBmYWxzZTtcclxuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgIGZhbHNlO1xyXG4gICRwcmVmaXgtZm9yLW1pY3Jvc29mdDogZmFsc2U7XHJcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICBmYWxzZTtcclxuICAkcHJlZml4LWZvci1zcGVjOiAgICAgIGZhbHNlO1xyXG59XHJcbiIsIkBtaXhpbiByZXRpbmEtaW1hZ2UoJGZpbGVuYW1lLCAkYmFja2dyb3VuZC1zaXplLCAkZXh0ZW5zaW9uOiBwbmcsICRyZXRpbmEtZmlsZW5hbWU6IG51bGwsICRhc3NldC1waXBlbGluZTogZmFsc2UpIHtcclxuICBAaWYgJGFzc2V0LXBpcGVsaW5lIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlX3VybCgkZmlsZW5hbWUgKyBcIi5cIiArICRleHRlbnNpb24pO1xyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGVuYW1lICsgXCIuXCIgKyAkZXh0ZW5zaW9uKTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGhpZHBpIHtcclxuXHJcbiAgICBAaWYgJGFzc2V0LXBpcGVsaW5lIHtcclxuICAgICAgQGlmICRyZXRpbmEtZmlsZW5hbWUge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlX3VybCgkcmV0aW5hLWZpbGVuYW1lICsgXCIuXCIgKyAkZXh0ZW5zaW9uKTtcclxuICAgICAgfVxyXG4gICAgICBAZWxzZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2VfdXJsKCRmaWxlbmFtZSArIFwiQDJ4XCIgKyBcIi5cIiArICRleHRlbnNpb24pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGVsc2Uge1xyXG4gICAgICBAaWYgJHJldGluYS1maWxlbmFtZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRyZXRpbmEtZmlsZW5hbWUgKyBcIi5cIiArICRleHRlbnNpb24pO1xyXG4gICAgICB9XHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGVuYW1lICsgXCJAMnhcIiArIFwiLlwiICsgJGV4dGVuc2lvbik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRiYWNrZ3JvdW5kLXNpemU7XHJcblxyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gc2l6ZSgkc2l6ZSkge1xyXG4gIEBpZiBsZW5ndGgoJHNpemUpID09IDEge1xyXG4gICAgQGlmICRzaXplID09IGF1dG8ge1xyXG4gICAgICB3aWR0aDogICRzaXplO1xyXG4gICAgICBoZWlnaHQ6ICRzaXplO1xyXG4gICAgfVxyXG5cclxuICAgIEBlbHNlIGlmIHVuaXRsZXNzKCRzaXplKSB7XHJcbiAgICAgIHdpZHRoOiAgJHNpemUgKyBweDtcclxuICAgICAgaGVpZ2h0OiAkc2l6ZSArIHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBlbHNlIGlmIG5vdCh1bml0bGVzcygkc2l6ZSkpIHtcclxuICAgICAgd2lkdGg6ICAkc2l6ZTtcclxuICAgICAgaGVpZ2h0OiAkc2l6ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFdpZHRoIHggSGVpZ2h0XHJcbiAgQGlmIGxlbmd0aCgkc2l6ZSkgPT0gMiB7XHJcbiAgICAkd2lkdGg6ICBudGgoJHNpemUsIDEpO1xyXG4gICAgJGhlaWdodDogbnRoKCRzaXplLCAyKTtcclxuXHJcbiAgICBAaWYgJHdpZHRoID09IGF1dG8ge1xyXG4gICAgICB3aWR0aDogJHdpZHRoO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgbm90KHVuaXRsZXNzKCR3aWR0aCkpIHtcclxuICAgICAgd2lkdGg6ICR3aWR0aDtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmIHVuaXRsZXNzKCR3aWR0aCkge1xyXG4gICAgICB3aWR0aDogJHdpZHRoICsgcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRoZWlnaHQgPT0gYXV0byB7XHJcbiAgICAgIGhlaWdodDogJGhlaWdodDtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmIG5vdCh1bml0bGVzcygkaGVpZ2h0KSkge1xyXG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiB1bml0bGVzcygkaGVpZ2h0KSB7XHJcbiAgICAgIGhlaWdodDogJGhlaWdodCArIHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBDU1MgY3ViaWMtYmV6aWVyIHRpbWluZyBmdW5jdGlvbnMuIFRpbWluZyBmdW5jdGlvbnMgY291cnRlc3kgb2YganF1ZXJ5LmVhc2llIChnaXRodWIuY29tL2phdWtpYS9lYXNpZSlcclxuLy8gVGltaW5nIGZ1bmN0aW9ucyBhcmUgdGhlIHNhbWUgYXMgZGVtbydlZCBoZXJlOiBodHRwOi8vanF1ZXJ5dWkuY29tL2RlbW9zL2VmZmVjdC9lYXNpbmcuaHRtbFxyXG5cclxuLy8gRUFTRSBJTlxyXG4kZWFzZS1pbi1xdWFkOiAgICAgIGN1YmljLWJlemllcigwLjU1MCwgIDAuMDg1LCAwLjY4MCwgMC41MzApO1xyXG4kZWFzZS1pbi1jdWJpYzogICAgIGN1YmljLWJlemllcigwLjU1MCwgIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xyXG4kZWFzZS1pbi1xdWFydDogICAgIGN1YmljLWJlemllcigwLjg5NSwgIDAuMDMwLCAwLjY4NSwgMC4yMjApO1xyXG4kZWFzZS1pbi1xdWludDogICAgIGN1YmljLWJlemllcigwLjc1NSwgIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xyXG4kZWFzZS1pbi1zaW5lOiAgICAgIGN1YmljLWJlemllcigwLjQ3MCwgIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xyXG4kZWFzZS1pbi1leHBvOiAgICAgIGN1YmljLWJlemllcigwLjk1MCwgIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xyXG4kZWFzZS1pbi1jaXJjOiAgICAgIGN1YmljLWJlemllcigwLjYwMCwgIDAuMDQwLCAwLjk4MCwgMC4zMzUpO1xyXG4kZWFzZS1pbi1iYWNrOiAgICAgIGN1YmljLWJlemllcigwLjYwMCwgLTAuMjgwLCAwLjczNSwgMC4wNDUpO1xyXG5cclxuLy8gRUFTRSBPVVRcclxuJGVhc2Utb3V0LXF1YWQ6ICAgICBjdWJpYy1iZXppZXIoMC4yNTAsICAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcclxuJGVhc2Utb3V0LWN1YmljOiAgICBjdWJpYy1iZXppZXIoMC4yMTUsICAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuJGVhc2Utb3V0LXF1YXJ0OiAgICBjdWJpYy1iZXppZXIoMC4xNjUsICAwLjg0MCwgMC40NDAsIDEuMDAwKTtcclxuJGVhc2Utb3V0LXF1aW50OiAgICBjdWJpYy1iZXppZXIoMC4yMzAsICAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcclxuJGVhc2Utb3V0LXNpbmU6ICAgICBjdWJpYy1iZXppZXIoMC4zOTAsICAwLjU3NSwgMC41NjUsIDEuMDAwKTtcclxuJGVhc2Utb3V0LWV4cG86ICAgICBjdWJpYy1iZXppZXIoMC4xOTAsICAxLjAwMCwgMC4yMjAsIDEuMDAwKTtcclxuJGVhc2Utb3V0LWNpcmM6ICAgICBjdWJpYy1iZXppZXIoMC4wNzUsICAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcclxuJGVhc2Utb3V0LWJhY2s6ICAgICBjdWJpYy1iZXppZXIoMC4xNzUsICAwLjg4NSwgMC4zMjAsIDEuMjc1KTtcclxuXHJcbi8vIEVBU0UgSU4gT1VUXHJcbiRlYXNlLWluLW91dC1xdWFkOiAgY3ViaWMtYmV6aWVyKDAuNDU1LCAgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XHJcbiRlYXNlLWluLW91dC1jdWJpYzogY3ViaWMtYmV6aWVyKDAuNjQ1LCAgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XHJcbiRlYXNlLWluLW91dC1xdWFydDogY3ViaWMtYmV6aWVyKDAuNzcwLCAgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XHJcbiRlYXNlLWluLW91dC1xdWludDogY3ViaWMtYmV6aWVyKDAuODYwLCAgMC4wMDAsIDAuMDcwLCAxLjAwMCk7XHJcbiRlYXNlLWluLW91dC1zaW5lOiAgY3ViaWMtYmV6aWVyKDAuNDQ1LCAgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XHJcbiRlYXNlLWluLW91dC1leHBvOiAgY3ViaWMtYmV6aWVyKDEuMDAwLCAgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XHJcbiRlYXNlLWluLW91dC1jaXJjOiAgY3ViaWMtYmV6aWVyKDAuNzg1LCAgMC4xMzUsIDAuMTUwLCAwLjg2MCk7XHJcbiRlYXNlLWluLW91dC1iYWNrOiAgY3ViaWMtYmV6aWVyKDAuNjgwLCAtMC41NTAsIDAuMjY1LCAxLjU1MCk7XHJcbiIsIkBtaXhpbiB0cmlhbmdsZSAoJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbikge1xyXG4gIGhlaWdodDogMDtcclxuICB3aWR0aDogMDtcclxuXHJcbiAgQGlmICgkZGlyZWN0aW9uID09IHVwKSBvciAoJGRpcmVjdGlvbiA9PSBkb3duKSBvciAoJGRpcmVjdGlvbiA9PSByaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gbGVmdCkge1xyXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItd2lkdGg6ICRzaXplIC8gMjtcclxuXHJcbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cCB7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcclxuXHJcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xyXG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogICAkY29sb3I7XHJcblxyXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xyXG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAgICAkY29sb3I7XHJcblxyXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xyXG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICAkY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSB1cC1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gdXAtbGVmdCkge1xyXG4gICAgYm9yZGVyLXRvcDogJHNpemUgc29saWQgJGNvbG9yO1xyXG5cclxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwLXJpZ2h0IHtcclxuICAgICAgYm9yZGVyLWxlZnQ6ICAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHJcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAtbGVmdCB7XHJcbiAgICAgIGJvcmRlci1yaWdodDogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSBkb3duLWxlZnQpIHtcclxuICAgIGJvcmRlci1ib3R0b206ICRzaXplIHNvbGlkICRjb2xvcjtcclxuXHJcbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duLXJpZ2h0IHtcclxuICAgICAgYm9yZGVyLWxlZnQ6ICAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHJcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0IHtcclxuICAgICAgYm9yZGVyLXJpZ2h0OiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gQm91cmJvbiBOZWF0XHJcbi8vIE1JVCBMaWNlbnNlZFxyXG4vLyBDb3B5cmlnaHQgKGMpIDIwMTItMjAxMyB0aG91Z2h0Ym90LCBpbmMuXHJcblxyXG4vLyBIZWxwZXJzXHJcbkBpbXBvcnQgXCJuZWF0LWhlbHBlcnNcIjtcclxuXHJcbi8vIEdyaWRcclxuQGltcG9ydCBcImdyaWQvZ2xvYmFsLXZhcmlhYmxlc1wiO1xyXG5AaW1wb3J0IFwiZ3JpZC9ncmlkXCI7XHJcbkBpbXBvcnQgXCJncmlkL29tZWdhXCI7XHJcbkBpbXBvcnQgXCJncmlkL291dGVyLWNvbnRhaW5lclwiO1xyXG5AaW1wb3J0IFwiZ3JpZC9zcGFuLWNvbHVtbnNcIjtcclxuQGltcG9ydCBcImdyaWQvcm93XCI7XHJcbkBpbXBvcnQgXCJncmlkL3NoaWZ0XCI7XHJcbkBpbXBvcnQgXCJncmlkL3BhZFwiO1xyXG5AaW1wb3J0IFwiZ3JpZC9maWxsLXBhcmVudFwiO1xyXG5AaW1wb3J0IFwiZ3JpZC9tZWRpYVwiO1xyXG5AaW1wb3J0IFwiZ3JpZC90by1kZXByZWNhdGVcIjtcclxuQGltcG9ydCBcImdyaWQvdmlzdWFsLWdyaWRcIjsiLCIvLyBGdW5jdGlvbnNcclxuQGltcG9ydCBcImZ1bmN0aW9ucy9wcml2YXRlXCI7XHJcbkBpbXBvcnQgXCJmdW5jdGlvbnMvbmV3LWJyZWFrcG9pbnRcIjtcclxuQGltcG9ydCBcImZ1bmN0aW9ucy9weC10by1lbVwiO1xyXG5cclxuLy8gU2V0dGluZ3NcclxuQGltcG9ydCBcInNldHRpbmdzL2dyaWRcIjtcclxuQGltcG9ydCBcInNldHRpbmdzL3Zpc3VhbC1ncmlkXCI7XHJcbiIsIi8vIENoZWNrcyBpZiBhIG51bWJlciBpcyBldmVuXHJcbkBmdW5jdGlvbiBpcy1ldmVuKCRpbnQpIHtcclxuICBAaWYgJGludCUyID09IDAgICB7XHJcbiAgICBAcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIGZhbHNlO1xyXG59XHJcblxyXG4vLyBDaGVja3MgaWYgYW4gZWxlbWVudCBiZWxvbmdzIHRvIGEgbGlzdFxyXG5AZnVuY3Rpb24gYmVsb25ncy10bygkdGVzdGVkLWl0ZW0sICRsaXN0KSB7XHJcbiAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xyXG4gICAgQGlmICRpdGVtID09ICR0ZXN0ZWQtaXRlbSB7XHJcbiAgICAgIEByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gZmFsc2U7XHJcbn1cclxuXHJcbi8vIENvbnRhaW5zIGRpc3BsYXkgdmFsdWVcclxuQGZ1bmN0aW9uIGNvbnRhaW5zLWRpc3BsYXktdmFsdWUoJHF1ZXJ5KSB7XHJcbiAgQGlmIGJlbG9uZ3MtdG8odGFibGUsICRxdWVyeSkgb3IgYmVsb25ncy10byhibG9jaywgJHF1ZXJ5KSBvciBiZWxvbmdzLXRvKGlubGluZS1ibG9jaywgJHF1ZXJ5KSBvciBiZWxvbmdzLXRvKGlubGluZSwgJHF1ZXJ5KSB7XHJcbiAgICBAcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIGZhbHNlO1xyXG59XHJcblxyXG4vLyBQYXJzZXMgdGhlIGZpcnN0IGFyZ3VtZW50IG9mIHNwYW4tY29sdW1ucygpXHJcbkBmdW5jdGlvbiBjb250YWluZXItc3Bhbigkc3BhbjogJHNwYW4pIHtcclxuICBAaWYgbGVuZ3RoKCRzcGFuKSA9PSAzIHtcclxuICAgICRjb250YWluZXItY29sdW1uczogbnRoKCRzcGFuLCAzKTtcclxuICAgIEByZXR1cm4gJGNvbnRhaW5lci1jb2x1bW5zO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgbGVuZ3RoKCRzcGFuKSA9PSAyIHtcclxuICAgICRjb250YWluZXItY29sdW1uczogbnRoKCRzcGFuLCAyKTtcclxuICAgIEByZXR1cm4gJGNvbnRhaW5lci1jb2x1bW5zO1xyXG4gIH1cclxuXHJcbiAgQGVsc2Uge1xyXG4gICAgQHJldHVybiAkZ3JpZC1jb2x1bW5zO1xyXG4gIH1cclxufVxyXG5cclxuLy8gR2VuZXJhdGVzIGEgc3RyaXBlZCBiYWNrZ3JvdW5kXHJcbkBmdW5jdGlvbiBncmFkaWVudC1zdG9wcygkZ3JpZC1jb2x1bW5zLCAkY29sb3I6ICR2aXN1YWwtZ3JpZC1jb2xvcikge1xyXG4gICR0cmFuc3BhcmVudDogcmdiYSgwLDAsMCwwKTtcclxuXHJcbiAgJGNvbHVtbi13aWR0aDogZmxleC1ncmlkKDEsICRncmlkLWNvbHVtbnMpO1xyXG4gICRndXR0ZXItd2lkdGg6IGZsZXgtZ3V0dGVyKCRncmlkLWNvbHVtbnMpO1xyXG4gICRjb2x1bW4tb2Zmc2V0OiAkY29sdW1uLXdpZHRoO1xyXG5cclxuICAkdmFsdWVzOiAoJHRyYW5zcGFyZW50IDAsICRjb2xvciAwKTtcclxuXHJcbiAgQGZvciAkaSBmcm9tIDEgdG8gJGdyaWQtY29sdW1ucyoyIHtcclxuICAgIEBpZiBpcy1ldmVuKCRpKSB7XHJcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkdHJhbnNwYXJlbnQgJGNvbHVtbi1vZmZzZXQpO1xyXG4gICAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgJGNvbG9yICRjb2x1bW4tb2Zmc2V0KTtcclxuICAgICAgJGNvbHVtbi1vZmZzZXQ6ICRjb2x1bW4tb2Zmc2V0ICsgJGNvbHVtbi13aWR0aDtcclxuICAgIH1cclxuXHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkY29sb3IgJGNvbHVtbi1vZmZzZXQpO1xyXG4gICAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgJHRyYW5zcGFyZW50ICRjb2x1bW4tb2Zmc2V0KTtcclxuICAgICAgJGNvbHVtbi1vZmZzZXQ6ICRjb2x1bW4tb2Zmc2V0ICsgJGd1dHRlci13aWR0aDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHZhbHVlcztcclxufVxyXG4iLCJAZnVuY3Rpb24gbmV3LWJyZWFrcG9pbnQoJHF1ZXJ5OiRmZWF0dXJlICR2YWx1ZSAkY29sdW1ucywgJHRvdGFsLWNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcclxuXHJcbiAgQGlmIGxlbmd0aCgkcXVlcnkpID09IDEge1xyXG4gICAgJHF1ZXJ5OiAkZGVmYXVsdC1mZWF0dXJlIG50aCgkcXVlcnksIDEpICR0b3RhbC1jb2x1bW5zO1xyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMiBvciBsZW5ndGgoJHF1ZXJ5KSA9PSA0IHtcclxuICAgICRxdWVyeTogYXBwZW5kKCRxdWVyeSwgJHRvdGFsLWNvbHVtbnMpO1xyXG4gIH1cclxuXHJcbiAgQGlmIG5vdCBiZWxvbmdzLXRvKCRxdWVyeSwgJHZpc3VhbC1ncmlkLWJyZWFrcG9pbnRzKSB7XHJcbiAgICAkdmlzdWFsLWdyaWQtYnJlYWtwb2ludHM6IGFwcGVuZCgkdmlzdWFsLWdyaWQtYnJlYWtwb2ludHMsICRxdWVyeSwgY29tbWEpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkcXVlcnk7XHJcbn1cclxuIiwiQGZ1bmN0aW9uIGVtKCRweHZhbCwgJGJhc2U6IDE2KSB7XHJcbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMWVtO1xyXG59XHJcbiIsIiRjb2x1bW46IGdvbGRlbi1yYXRpbygxZW0sIDMpICFkZWZhdWx0OyAvLyBDb2x1bW4gd2lkdGhcclxuJGd1dHRlcjogZ29sZGVuLXJhdGlvKDFlbSwgMSkgIWRlZmF1bHQ7IC8vIEd1dHRlciBiZXR3ZWVuIGVhY2ggdHdvIGNvbHVtbnNcclxuJGdyaWQtY29sdW1uczogMTIgIWRlZmF1bHQ7IC8vIFRvdGFsIG51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkXHJcbiRtYXgtd2lkdGg6IGVtKDE0NDApICFkZWZhdWx0OyAvLyBNYXgtd2lkdGggb2YgdGhlIG91dGVyIGNvbnRhaW5lclxyXG4kYm9yZGVyLWJveC1zaXppbmc6IHRydWUgIWRlZmF1bHQ7IC8vIE1ha2VzIGFsbCBlbGVtZW50cyBoYXZlIGEgYm9yZGVyLWJveCBsYXlvdXRcclxuJGRlZmF1bHQtZmVhdHVyZTogbWluLXdpZHRoOyAvLyBEZWZhdWx0IEBtZWRpYSBmZWF0dXJlIGZvciB0aGUgYnJlYWtwb2ludCgpIG1peGluXHJcbiIsIiR2aXN1YWwtZ3JpZDogZmFsc2UgIWRlZmF1bHQ7IC8vIERpc3BsYXkgdGhlIGJhc2UgZ3JpZFxyXG4kdmlzdWFsLWdyaWQtY29sb3I6ICNFRUUgIWRlZmF1bHQ7XHJcbiR2aXN1YWwtZ3JpZC1pbmRleDogYmFjayAhZGVmYXVsdDsgLy8gU2hvdyBncmlkIGJlaGluZCBjb250ZW50IChiYWNrKSBvciBvdmVybGF5IGl0IG92ZXIgdGhlIGNvbnRlbnQgKGZyb250KVxyXG4kdmlzdWFsLWdyaWQtb3BhY2l0eTogMC40ICFkZWZhdWx0O1xyXG4kdmlzdWFsLWdyaWQtYnJlYWtwb2ludHM6ICgpICFkZWZhdWx0O1xyXG4iLCIkcGFyZW50LWNvbHVtbnM6ICRncmlkLWNvbHVtbnMgIWRlZmF1bHQ7XHJcbiRmZy1jb2x1bW46ICRjb2x1bW47XHJcbiRmZy1ndXR0ZXI6ICRndXR0ZXI7XHJcbiRmZy1tYXgtY29sdW1uczogJGdyaWQtY29sdW1ucztcclxuJGNvbnRhaW5lci1kaXNwbGF5LXRhYmxlOiBmYWxzZSAhZGVmYXVsdDtcclxuIiwiQGlmICRib3JkZXItYm94LXNpemluZyA9PSB0cnVlIHtcclxuICAqIHtcclxuICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XHJcbiAgfVxyXG59XHJcbiIsIi8vIFJlbW92ZSBsYXN0IGVsZW1lbnQgZ3V0dGVyXHJcbkBtaXhpbiBvbWVnYSgkcXVlcnk6IGJsb2NrLCAkZGlyZWN0aW9uOiByaWdodCkge1xyXG4gICR0YWJsZTogaWYoYmVsb25ncy10byh0YWJsZSwgJHF1ZXJ5KSwgdHJ1ZSwgZmFsc2UpO1xyXG4gICRhdXRvOiBpZihiZWxvbmdzLXRvKGF1dG8sICRxdWVyeSksIHRydWUsIGZhbHNlKTtcclxuXHJcbiAgQGlmIGxlbmd0aCgkcXVlcnkpID09IDEge1xyXG4gICAgQGlmICRhdXRvIHtcclxuICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBlbHNlIGlmIGNvbnRhaW5zLWRpc3BsYXktdmFsdWUoJHF1ZXJ5KSB7XHJcbiAgICAgIEBpZiAkdGFibGUge1xyXG4gICAgICAgIHBhZGRpbmctI3skZGlyZWN0aW9ufTogMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGVsc2Uge1xyXG4gICAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGVsc2Uge1xyXG4gICAgICAmOm50aC1jaGlsZCgjeyRxdWVyeX0pIHtcclxuICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMiB7XHJcbiAgICBAaWYgJHRhYmxlIHtcclxuICAgICAgQGlmICRhdXRvIHtcclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgcGFkZGluZy0jeyRkaXJlY3Rpb259OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgQGVsc2Uge1xyXG4gICAgICAgICY6bnRoLWNoaWxkKCN7bnRoKCRxdWVyeSwgMSl9KSB7XHJcbiAgICAgICAgICBwYWRkaW5nLSN7JGRpcmVjdGlvbn06IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGVsc2Uge1xyXG4gICAgICBAaWYgJGF1dG8ge1xyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICAmOm50aC1jaGlsZCgje250aCgkcXVlcnksIDEpfSkge1xyXG4gICAgICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAZWxzZSB7XHJcbiAgICBAd2FybiBcIlRvbyBtYW55IGFyZ3VtZW50cyBwYXNzZWQgdG8gdGhlIG9tZWdhKCkgbWl4aW4uXCJcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBudGgtb21lZ2EoJG50aCwgJGRpc3BsYXk6IGJsb2NrLCAkZGlyZWN0aW9uOiByaWdodCkge1xyXG4gIEB3YXJuIFwiVGhlIG50aC1vbWVnYSgpIG1peGluIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2Ugb21lZ2EoKSBpbnN0ZWFkLlwiO1xyXG4gIEBpbmNsdWRlIG9tZWdhKCRudGggJGRpc3BsYXksICRkaXJlY3Rpb24pO1xyXG59XHJcbiIsIkBtaXhpbiBvdXRlci1jb250YWluZXIge1xyXG4gIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gIG1heC13aWR0aDogJG1heC13aWR0aDtcclxuICBtYXJnaW46IHtcclxuICAgIGxlZnQ6IGF1dG87XHJcbiAgICByaWdodDogYXV0bztcclxuICB9XHJcbn1cclxuIiwiQG1peGluIHNwYW4tY29sdW1ucygkc3BhbjogJGNvbHVtbnMgb2YgJGNvbnRhaW5lci1jb2x1bW5zLCAkZGlzcGxheTogYmxvY2spIHtcclxuXHJcbiAgJGNvbHVtbnM6IG50aCgkc3BhbiwgMSk7XHJcbiAgJGNvbnRhaW5lci1jb2x1bW5zOiBjb250YWluZXItc3Bhbigkc3Bhbik7XHJcbiAgJGRpc3BsYXktdGFibGU6IGZhbHNlO1xyXG5cclxuICBAaWYgJGNvbnRhaW5lci1jb2x1bW5zICE9ICRncmlkLWNvbHVtbnMge1xyXG4gICAgJHBhcmVudC1jb2x1bW5zOiAkY29udGFpbmVyLWNvbHVtbnM7XHJcbiAgfVxyXG5cclxuICBAZWxzZSB7XHJcbiAgICAkcGFyZW50LWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XHJcbiAgfVxyXG5cclxuICBAaWYgJGNvbnRhaW5lci1kaXNwbGF5LXRhYmxlID09IHRydWUge1xyXG4gICAgJGRpc3BsYXktdGFibGU6IHRydWU7XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkZGlzcGxheSA9PSB0YWJsZSB7XHJcbiAgICAkZGlzcGxheS10YWJsZTogdHJ1ZTtcclxuICB9XHJcblxyXG4gIEBlbHNlIHtcclxuICAgICRkaXNwbGF5LXRhYmxlOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIEBpZiAkZGlzcGxheS10YWJsZSAge1xyXG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IGZsZXgtZ3V0dGVyKCRjb250YWluZXItY29sdW1ucyk7XHJcbiAgICB3aWR0aDogZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnMpICsgZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zKTtcclxuXHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICB3aWR0aDogZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnMpO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJGRpc3BsYXkgPT0gaW5saW5lLWJsb2NrIHtcclxuICAgIEBpbmNsdWRlIGlubGluZS1ibG9jaztcclxuICAgIG1hcmdpbi1yaWdodDogZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zKTtcclxuICAgIHdpZHRoOiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1ucyk7XHJcblxyXG4gICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGVsc2Uge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbi1yaWdodDogZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zKTtcclxuICAgIHdpZHRoOiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1ucyk7XHJcblxyXG4gICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gcm93KCRkaXNwbGF5OiBibG9jaykge1xyXG4gIEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cclxuICBAaWYgJGRpc3BsYXkgPT0gdGFibGUge1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICBAaW5jbHVkZSBmaWxsLXBhcmVudDtcclxuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbiAgICAkY29udGFpbmVyLWRpc3BsYXktdGFibGU6IHRydWU7XHJcbiAgfVxyXG5cclxuICBAZWxzZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICRjb250YWluZXItZGlzcGxheS10YWJsZTogZmFsc2U7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcmVzZXQtZGlzcGxheSB7XHJcbiAgJGNvbnRhaW5lci1kaXNwbGF5LXRhYmxlOiBmYWxzZTtcclxufVxyXG4iLCJAbWl4aW4gc2hpZnQoJG4tY29sdW1uczogMSkge1xyXG4gIG1hcmdpbi1sZWZ0OiAkbi1jb2x1bW5zICogZmxleC1ncmlkKDEsICRwYXJlbnQtY29sdW1ucykgKyAkbi1jb2x1bW5zICogZmxleC1ndXR0ZXIoJHBhcmVudC1jb2x1bW5zKTtcclxuXHJcbiAgLy8gUmVzZXQgbmVzdGluZyBjb250ZXh0XHJcbiAgJHBhcmVudC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xyXG59XHJcbiIsIkBtaXhpbiBwYWQoJHBhZGRpbmc6IGZsZXgtZ3V0dGVyKCkpIHtcclxuICAkcGFkZGluZy1saXN0OiBudWxsO1xyXG4gIEBlYWNoICR2YWx1ZSBpbiAkcGFkZGluZyB7XHJcbiAgICAkdmFsdWU6IGlmKCR2YWx1ZSA9PSAnZGVmYXVsdCcsIGZsZXgtZ3V0dGVyKCksICR2YWx1ZSk7XHJcbiAgICAkcGFkZGluZy1saXN0OiBqb2luKCRwYWRkaW5nLWxpc3QsICR2YWx1ZSk7XHJcbiAgfVxyXG4gIHBhZGRpbmc6ICRwYWRkaW5nLWxpc3Q7XHJcbn1cclxuIiwiQG1peGluIGZpbGwtcGFyZW50KCkge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG5cclxuICBAaWYgJGJvcmRlci1ib3gtc2l6aW5nID09IGZhbHNlIHtcclxuICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XHJcbiAgfVxyXG59XHJcbiIsIkBtaXhpbiBtZWRpYSgkcXVlcnk6JGZlYXR1cmUgJHZhbHVlICRjb2x1bW5zLCAkdG90YWwtY29sdW1uczogJGdyaWQtY29sdW1ucykge1xyXG5cclxuICBAaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMSB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJGRlZmF1bHQtZmVhdHVyZTogbnRoKCRxdWVyeSwgMSkpIHtcclxuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xyXG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkdG90YWwtY29sdW1ucztcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBlbHNlIGlmIGxlbmd0aCgkcXVlcnkpID09IDIge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG50aCgkcXVlcnksIDEpOiBudGgoJHF1ZXJ5LCAyKSkge1xyXG4gICAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XHJcbiAgICAgICRncmlkLWNvbHVtbnM6ICR0b3RhbC1jb2x1bW5zO1xyXG4gICAgICBAY29udGVudDtcclxuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMyB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobnRoKCRxdWVyeSwgMSk6IG50aCgkcXVlcnksIDIpKSB7XHJcbiAgICAgICRkZWZhdWx0LWdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucztcclxuICAgICAgJGdyaWQtY29sdW1uczogbnRoKCRxdWVyeSwgMyk7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSA0IHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChudGgoJHF1ZXJ5LCAxKTogbnRoKCRxdWVyeSwgMikpIGFuZCAobnRoKCRxdWVyeSwgMyk6IG50aCgkcXVlcnksIDQpKSB7XHJcbiAgICAgICRkZWZhdWx0LWdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucztcclxuICAgICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnM7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSA1IHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChudGgoJHF1ZXJ5LCAxKTogbnRoKCRxdWVyeSwgMikpIGFuZCAobnRoKCRxdWVyeSwgMyk6IG50aCgkcXVlcnksIDQpKSB7XHJcbiAgICAgICRkZWZhdWx0LWdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucztcclxuICAgICAgJGdyaWQtY29sdW1uczogbnRoKCRxdWVyeSwgNSk7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAZWxzZSB7XHJcbiAgICBAd2FybiBcIldyb25nIG51bWJlciBvZiBhcmd1bWVudHMgZm9yIGJyZWFrcG9pbnQoKS4gUmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgbW9yZSBkZXRhaWxzLlwiO1xyXG4gIH1cclxufVxyXG4iLCJAbWl4aW4gYnJlYWtwb2ludCgkcXVlcnk6JGZlYXR1cmUgJHZhbHVlICRjb2x1bW5zLCAkdG90YWwtY29sdW1uczogJGdyaWQtY29sdW1ucykge1xyXG4gIEB3YXJuIFwiVGhlIGJyZWFrcG9pbnQoKSBtaXhpbiB3YXMgcmVuYW1lZCB0byBtZWRpYSgpIGluIE5lYXQgMS4wLiBQbGVhc2UgdXBkYXRlIHlvdXIgcHJvamVjdCB3aXRoIHRoZSBuZXcgc3ludGF4IGJlZm9yZSB0aGUgbmV4dCB2ZXJzaW9uIGJ1bXAuXCI7XHJcblxyXG4gIEBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAxIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkZGVmYXVsdC1mZWF0dXJlOiBudGgoJHF1ZXJ5LCAxKSkge1xyXG4gICAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XHJcbiAgICAgICRncmlkLWNvbHVtbnM6ICR0b3RhbC1jb2x1bW5zO1xyXG4gICAgICBAY29udGVudDtcclxuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMiB7XHJcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobnRoKCRxdWVyeSwgMSk6IG50aCgkcXVlcnksIDIpKSB7XHJcbiAgICAgICRkZWZhdWx0LWdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucztcclxuICAgICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnM7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAzIHtcclxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChudGgoJHF1ZXJ5LCAxKTogbnRoKCRxdWVyeSwgMikpIHtcclxuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xyXG4gICAgICAkZ3JpZC1jb2x1bW5zOiBudGgoJHF1ZXJ5LCAzKTtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBlbHNlIGlmIGxlbmd0aCgkcXVlcnkpID09IDQge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG50aCgkcXVlcnksIDEpOiBudGgoJHF1ZXJ5LCAyKSkgYW5kIChudGgoJHF1ZXJ5LCAzKTogbnRoKCRxdWVyeSwgNCkpIHtcclxuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xyXG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkdG90YWwtY29sdW1ucztcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBlbHNlIGlmIGxlbmd0aCgkcXVlcnkpID09IDUge1xyXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG50aCgkcXVlcnksIDEpOiBudGgoJHF1ZXJ5LCAyKSkgYW5kIChudGgoJHF1ZXJ5LCAzKTogbnRoKCRxdWVyeSwgNCkpIHtcclxuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xyXG4gICAgICAkZ3JpZC1jb2x1bW5zOiBudGgoJHF1ZXJ5LCA1KTtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBlbHNlIHtcclxuICAgIEB3YXJuIFwiV3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyBmb3IgYnJlYWtwb2ludCgpLiBSZWFkIHRoZSBkb2N1bWVudGF0aW9uIGZvciBtb3JlIGRldGFpbHMuXCI7XHJcbiAgfVxyXG59XHJcbiIsIkBtaXhpbiBncmlkLWNvbHVtbi1ncmFkaWVudCgkdmFsdWVzLi4uKSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogZGVwcmVjYXRlZC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sICR2YWx1ZXMpO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6ICAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAkdmFsdWVzKTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgJHZhbHVlcyk7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogICAgICAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsICR2YWx1ZXMpO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6ICAgICAgIC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAkdmFsdWVzKTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiB1bnF1b3RlKFwibGluZWFyLWdyYWRpZW50KGxlZnQsICN7JHZhbHVlc30pXCIpO1xyXG59XHJcblxyXG5AaWYgJHZpc3VhbC1ncmlkID09IHRydWUgb3IgJHZpc3VhbC1ncmlkID09IHllcyB7XHJcbiAgYm9keTpiZWZvcmUge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ncmFkaWVudChncmFkaWVudC1zdG9wcygkZ3JpZC1jb2x1bW5zKSk7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XHJcbiAgICBvcGFjaXR5OiAkdmlzdWFsLWdyaWQtb3BhY2l0eTtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgQGlmICR2aXN1YWwtZ3JpZC1pbmRleCA9PSBiYWNrIHtcclxuICAgICAgei1pbmRleDogLTE7XHJcbiAgICB9XHJcblxyXG4gICAgQGVsc2UgaWYgJHZpc3VhbC1ncmlkLWluZGV4ID09IGZyb250IHtcclxuICAgICAgei1pbmRleDogOTk5OTtcclxuICAgIH1cclxuXHJcbiAgICBAZWFjaCAkYnJlYWtwb2ludCBpbiAkdmlzdWFsLWdyaWQtYnJlYWtwb2ludHMge1xyXG4gICAgICBAaWYgJGJyZWFrcG9pbnQgIT0gbmlsIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludCkge1xyXG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3JhZGllbnQoZ3JhZGllbnQtc3RvcHMoJGdyaWQtY29sdW1ucykpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyBWYXJpYWJsZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRGb250QXdlc29tZVBhdGg6IFwiLi4vZm9udHNcIiAhZGVmYXVsdDtcclxuJEZvbnRBd2Vzb21lVmVyc2lvbjogXCIzLjIuMVwiICFkZWZhdWx0O1xyXG4kYm9yZGVyQ29sb3I6ICNlZWVlZWUgIWRlZmF1bHQ7XHJcbiRpY29uTXV0ZWQ6ICNlZWVlZWUgIWRlZmF1bHQ7XHJcbiRpY29uTGlnaHQ6IHdoaXRlICFkZWZhdWx0O1xyXG4kaWNvbkRhcms6ICMzMzMzMzMgIWRlZmF1bHQ7XHJcbiRpY29ucy1saS13aWR0aDogKDMwZW0vMTQpO1xyXG5cclxuXHJcbiRnbGFzczogXCJcXGYwMDBcIjtcclxuXHJcbiRtdXNpYzogXCJcXGYwMDFcIjtcclxuXHJcbiRzZWFyY2g6IFwiXFxmMDAyXCI7XHJcblxyXG4kZW52ZWxvcGUtYWx0OiBcIlxcZjAwM1wiO1xyXG5cclxuJGhlYXJ0OiBcIlxcZjAwNFwiO1xyXG5cclxuJHN0YXI6IFwiXFxmMDA1XCI7XHJcblxyXG4kc3Rhci1lbXB0eTogXCJcXGYwMDZcIjtcclxuXHJcbiR1c2VyOiBcIlxcZjAwN1wiO1xyXG5cclxuJGZpbG06IFwiXFxmMDA4XCI7XHJcblxyXG4kdGgtbGFyZ2U6IFwiXFxmMDA5XCI7XHJcblxyXG4kdGg6IFwiXFxmMDBhXCI7XHJcblxyXG4kdGgtbGlzdDogXCJcXGYwMGJcIjtcclxuXHJcbiRvazogXCJcXGYwMGNcIjtcclxuXHJcbiRyZW1vdmU6IFwiXFxmMDBkXCI7XHJcblxyXG4kem9vbS1pbjogXCJcXGYwMGVcIjtcclxuXHJcbiR6b29tLW91dDogXCJcXGYwMTBcIjtcclxuXHJcbiRvZmY6IFwiXFxmMDExXCI7XHJcblxyXG4kc2lnbmFsOiBcIlxcZjAxMlwiO1xyXG5cclxuJGNvZzogXCJcXGYwMTNcIjtcclxuXHJcbiR0cmFzaDogXCJcXGYwMTRcIjtcclxuXHJcbiRob21lOiBcIlxcZjAxNVwiO1xyXG5cclxuJGZpbGUtYWx0OiBcIlxcZjAxNlwiO1xyXG5cclxuJHRpbWU6IFwiXFxmMDE3XCI7XHJcblxyXG4kcm9hZDogXCJcXGYwMThcIjtcclxuXHJcbiRkb3dubG9hZC1hbHQ6IFwiXFxmMDE5XCI7XHJcblxyXG4kZG93bmxvYWQ6IFwiXFxmMDFhXCI7XHJcblxyXG4kdXBsb2FkOiBcIlxcZjAxYlwiO1xyXG5cclxuJGluYm94OiBcIlxcZjAxY1wiO1xyXG5cclxuJHBsYXktY2lyY2xlOiBcIlxcZjAxZFwiO1xyXG5cclxuJHJlcGVhdDogXCJcXGYwMWVcIjtcclxuXHJcbiRyZWZyZXNoOiBcIlxcZjAyMVwiO1xyXG5cclxuJGxpc3QtYWx0OiBcIlxcZjAyMlwiO1xyXG5cclxuJGxvY2s6IFwiXFxmMDIzXCI7XHJcblxyXG4kZmxhZzogXCJcXGYwMjRcIjtcclxuXHJcbiRoZWFkcGhvbmVzOiBcIlxcZjAyNVwiO1xyXG5cclxuJHZvbHVtZS1vZmY6IFwiXFxmMDI2XCI7XHJcblxyXG4kdm9sdW1lLWRvd246IFwiXFxmMDI3XCI7XHJcblxyXG4kdm9sdW1lLXVwOiBcIlxcZjAyOFwiO1xyXG5cclxuJHFyY29kZTogXCJcXGYwMjlcIjtcclxuXHJcbiRiYXJjb2RlOiBcIlxcZjAyYVwiO1xyXG5cclxuJHRhZzogXCJcXGYwMmJcIjtcclxuXHJcbiR0YWdzOiBcIlxcZjAyY1wiO1xyXG5cclxuJGJvb2s6IFwiXFxmMDJkXCI7XHJcblxyXG4kYm9va21hcms6IFwiXFxmMDJlXCI7XHJcblxyXG4kcHJpbnQ6IFwiXFxmMDJmXCI7XHJcblxyXG4kY2FtZXJhOiBcIlxcZjAzMFwiO1xyXG5cclxuJGZvbnQ6IFwiXFxmMDMxXCI7XHJcblxyXG4kYm9sZDogXCJcXGYwMzJcIjtcclxuXHJcbiRpdGFsaWM6IFwiXFxmMDMzXCI7XHJcblxyXG4kdGV4dC1oZWlnaHQ6IFwiXFxmMDM0XCI7XHJcblxyXG4kdGV4dC13aWR0aDogXCJcXGYwMzVcIjtcclxuXHJcbiRhbGlnbi1sZWZ0OiBcIlxcZjAzNlwiO1xyXG5cclxuJGFsaWduLWNlbnRlcjogXCJcXGYwMzdcIjtcclxuXHJcbiRhbGlnbi1yaWdodDogXCJcXGYwMzhcIjtcclxuXHJcbiRhbGlnbi1qdXN0aWZ5OiBcIlxcZjAzOVwiO1xyXG5cclxuJGxpc3Q6IFwiXFxmMDNhXCI7XHJcblxyXG4kaW5kZW50LWxlZnQ6IFwiXFxmMDNiXCI7XHJcblxyXG4kaW5kZW50LXJpZ2h0OiBcIlxcZjAzY1wiO1xyXG5cclxuJGZhY2V0aW1lLXZpZGVvOiBcIlxcZjAzZFwiO1xyXG5cclxuJHBpY3R1cmU6IFwiXFxmMDNlXCI7XHJcblxyXG4kcGVuY2lsOiBcIlxcZjA0MFwiO1xyXG5cclxuJG1hcC1tYXJrZXI6IFwiXFxmMDQxXCI7XHJcblxyXG4kYWRqdXN0OiBcIlxcZjA0MlwiO1xyXG5cclxuJHRpbnQ6IFwiXFxmMDQzXCI7XHJcblxyXG4kZWRpdDogXCJcXGYwNDRcIjtcclxuXHJcbiRzaGFyZTogXCJcXGYwNDVcIjtcclxuXHJcbiRjaGVjazogXCJcXGYwNDZcIjtcclxuXHJcbiRtb3ZlOiBcIlxcZjA0N1wiO1xyXG5cclxuJHN0ZXAtYmFja3dhcmQ6IFwiXFxmMDQ4XCI7XHJcblxyXG4kZmFzdC1iYWNrd2FyZDogXCJcXGYwNDlcIjtcclxuXHJcbiRiYWNrd2FyZDogXCJcXGYwNGFcIjtcclxuXHJcbiRwbGF5OiBcIlxcZjA0YlwiO1xyXG5cclxuJHBhdXNlOiBcIlxcZjA0Y1wiO1xyXG5cclxuJHN0b3A6IFwiXFxmMDRkXCI7XHJcblxyXG4kZm9yd2FyZDogXCJcXGYwNGVcIjtcclxuXHJcbiRmYXN0LWZvcndhcmQ6IFwiXFxmMDUwXCI7XHJcblxyXG4kc3RlcC1mb3J3YXJkOiBcIlxcZjA1MVwiO1xyXG5cclxuJGVqZWN0OiBcIlxcZjA1MlwiO1xyXG5cclxuJGNoZXZyb24tbGVmdDogXCJcXGYwNTNcIjtcclxuXHJcbiRjaGV2cm9uLXJpZ2h0OiBcIlxcZjA1NFwiO1xyXG5cclxuJHBsdXMtc2lnbjogXCJcXGYwNTVcIjtcclxuXHJcbiRtaW51cy1zaWduOiBcIlxcZjA1NlwiO1xyXG5cclxuJHJlbW92ZS1zaWduOiBcIlxcZjA1N1wiO1xyXG5cclxuJG9rLXNpZ246IFwiXFxmMDU4XCI7XHJcblxyXG4kcXVlc3Rpb24tc2lnbjogXCJcXGYwNTlcIjtcclxuXHJcbiRpbmZvLXNpZ246IFwiXFxmMDVhXCI7XHJcblxyXG4kc2NyZWVuc2hvdDogXCJcXGYwNWJcIjtcclxuXHJcbiRyZW1vdmUtY2lyY2xlOiBcIlxcZjA1Y1wiO1xyXG5cclxuJG9rLWNpcmNsZTogXCJcXGYwNWRcIjtcclxuXHJcbiRiYW4tY2lyY2xlOiBcIlxcZjA1ZVwiO1xyXG5cclxuJGFycm93LWxlZnQ6IFwiXFxmMDYwXCI7XHJcblxyXG4kYXJyb3ctcmlnaHQ6IFwiXFxmMDYxXCI7XHJcblxyXG4kYXJyb3ctdXA6IFwiXFxmMDYyXCI7XHJcblxyXG4kYXJyb3ctZG93bjogXCJcXGYwNjNcIjtcclxuXHJcbiRzaGFyZS1hbHQ6IFwiXFxmMDY0XCI7XHJcblxyXG4kcmVzaXplLWZ1bGw6IFwiXFxmMDY1XCI7XHJcblxyXG4kcmVzaXplLXNtYWxsOiBcIlxcZjA2NlwiO1xyXG5cclxuJHBsdXM6IFwiXFxmMDY3XCI7XHJcblxyXG4kbWludXM6IFwiXFxmMDY4XCI7XHJcblxyXG4kYXN0ZXJpc2s6IFwiXFxmMDY5XCI7XHJcblxyXG4kZXhjbGFtYXRpb24tc2lnbjogXCJcXGYwNmFcIjtcclxuXHJcbiRnaWZ0OiBcIlxcZjA2YlwiO1xyXG5cclxuJGxlYWY6IFwiXFxmMDZjXCI7XHJcblxyXG4kZmlyZTogXCJcXGYwNmRcIjtcclxuXHJcbiRleWUtb3BlbjogXCJcXGYwNmVcIjtcclxuXHJcbiRleWUtY2xvc2U6IFwiXFxmMDcwXCI7XHJcblxyXG4kd2FybmluZy1zaWduOiBcIlxcZjA3MVwiO1xyXG5cclxuJHBsYW5lOiBcIlxcZjA3MlwiO1xyXG5cclxuJGNhbGVuZGFyOiBcIlxcZjA3M1wiO1xyXG5cclxuJHJhbmRvbTogXCJcXGYwNzRcIjtcclxuXHJcbiRjb21tZW50OiBcIlxcZjA3NVwiO1xyXG5cclxuJG1hZ25ldDogXCJcXGYwNzZcIjtcclxuXHJcbiRjaGV2cm9uLXVwOiBcIlxcZjA3N1wiO1xyXG5cclxuJGNoZXZyb24tZG93bjogXCJcXGYwNzhcIjtcclxuXHJcbiRyZXR3ZWV0OiBcIlxcZjA3OVwiO1xyXG5cclxuJHNob3BwaW5nLWNhcnQ6IFwiXFxmMDdhXCI7XHJcblxyXG4kZm9sZGVyLWNsb3NlOiBcIlxcZjA3YlwiO1xyXG5cclxuJGZvbGRlci1vcGVuOiBcIlxcZjA3Y1wiO1xyXG5cclxuJHJlc2l6ZS12ZXJ0aWNhbDogXCJcXGYwN2RcIjtcclxuXHJcbiRyZXNpemUtaG9yaXpvbnRhbDogXCJcXGYwN2VcIjtcclxuXHJcbiRiYXItY2hhcnQ6IFwiXFxmMDgwXCI7XHJcblxyXG4kdHdpdHRlci1zaWduOiBcIlxcZjA4MVwiO1xyXG5cclxuJGZhY2Vib29rLXNpZ246IFwiXFxmMDgyXCI7XHJcblxyXG4kY2FtZXJhLXJldHJvOiBcIlxcZjA4M1wiO1xyXG5cclxuJGtleTogXCJcXGYwODRcIjtcclxuXHJcbiRjb2dzOiBcIlxcZjA4NVwiO1xyXG5cclxuJGNvbW1lbnRzOiBcIlxcZjA4NlwiO1xyXG5cclxuJHRodW1icy11cC1hbHQ6IFwiXFxmMDg3XCI7XHJcblxyXG4kdGh1bWJzLWRvd24tYWx0OiBcIlxcZjA4OFwiO1xyXG5cclxuJHN0YXItaGFsZjogXCJcXGYwODlcIjtcclxuXHJcbiRoZWFydC1lbXB0eTogXCJcXGYwOGFcIjtcclxuXHJcbiRzaWdub3V0OiBcIlxcZjA4YlwiO1xyXG5cclxuJGxpbmtlZGluLXNpZ246IFwiXFxmMDhjXCI7XHJcblxyXG4kcHVzaHBpbjogXCJcXGYwOGRcIjtcclxuXHJcbiRleHRlcm5hbC1saW5rOiBcIlxcZjA4ZVwiO1xyXG5cclxuJHNpZ25pbjogXCJcXGYwOTBcIjtcclxuXHJcbiR0cm9waHk6IFwiXFxmMDkxXCI7XHJcblxyXG4kZ2l0aHViLXNpZ246IFwiXFxmMDkyXCI7XHJcblxyXG4kdXBsb2FkLWFsdDogXCJcXGYwOTNcIjtcclxuXHJcbiRsZW1vbjogXCJcXGYwOTRcIjtcclxuXHJcbiRwaG9uZTogXCJcXGYwOTVcIjtcclxuXHJcbiRjaGVjay1lbXB0eTogXCJcXGYwOTZcIjtcclxuXHJcbiRib29rbWFyay1lbXB0eTogXCJcXGYwOTdcIjtcclxuXHJcbiRwaG9uZS1zaWduOiBcIlxcZjA5OFwiO1xyXG5cclxuJHR3aXR0ZXI6IFwiXFxmMDk5XCI7XHJcblxyXG4kZmFjZWJvb2s6IFwiXFxmMDlhXCI7XHJcblxyXG4kZ2l0aHViOiBcIlxcZjA5YlwiO1xyXG5cclxuJHVubG9jazogXCJcXGYwOWNcIjtcclxuXHJcbiRjcmVkaXQtY2FyZDogXCJcXGYwOWRcIjtcclxuXHJcbiRyc3M6IFwiXFxmMDllXCI7XHJcblxyXG4kaGRkOiBcIlxcZjBhMFwiO1xyXG5cclxuJGJ1bGxob3JuOiBcIlxcZjBhMVwiO1xyXG5cclxuJGJlbGw6IFwiXFxmMGEyXCI7XHJcblxyXG4kY2VydGlmaWNhdGU6IFwiXFxmMGEzXCI7XHJcblxyXG4kaGFuZC1yaWdodDogXCJcXGYwYTRcIjtcclxuXHJcbiRoYW5kLWxlZnQ6IFwiXFxmMGE1XCI7XHJcblxyXG4kaGFuZC11cDogXCJcXGYwYTZcIjtcclxuXHJcbiRoYW5kLWRvd246IFwiXFxmMGE3XCI7XHJcblxyXG4kY2lyY2xlLWFycm93LWxlZnQ6IFwiXFxmMGE4XCI7XHJcblxyXG4kY2lyY2xlLWFycm93LXJpZ2h0OiBcIlxcZjBhOVwiO1xyXG5cclxuJGNpcmNsZS1hcnJvdy11cDogXCJcXGYwYWFcIjtcclxuXHJcbiRjaXJjbGUtYXJyb3ctZG93bjogXCJcXGYwYWJcIjtcclxuXHJcbiRnbG9iZTogXCJcXGYwYWNcIjtcclxuXHJcbiR3cmVuY2g6IFwiXFxmMGFkXCI7XHJcblxyXG4kdGFza3M6IFwiXFxmMGFlXCI7XHJcblxyXG4kZmlsdGVyOiBcIlxcZjBiMFwiO1xyXG5cclxuJGJyaWVmY2FzZTogXCJcXGYwYjFcIjtcclxuXHJcbiRmdWxsc2NyZWVuOiBcIlxcZjBiMlwiO1xyXG5cclxuJGdyb3VwOiBcIlxcZjBjMFwiO1xyXG5cclxuJGxpbms6IFwiXFxmMGMxXCI7XHJcblxyXG4kY2xvdWQ6IFwiXFxmMGMyXCI7XHJcblxyXG4kYmVha2VyOiBcIlxcZjBjM1wiO1xyXG5cclxuJGN1dDogXCJcXGYwYzRcIjtcclxuXHJcbiRjb3B5OiBcIlxcZjBjNVwiO1xyXG5cclxuJHBhcGVyLWNsaXA6IFwiXFxmMGM2XCI7XHJcblxyXG4kc2F2ZTogXCJcXGYwYzdcIjtcclxuXHJcbiRzaWduLWJsYW5rOiBcIlxcZjBjOFwiO1xyXG5cclxuJHJlb3JkZXI6IFwiXFxmMGM5XCI7XHJcblxyXG4kbGlzdC11bDogXCJcXGYwY2FcIjtcclxuXHJcbiRsaXN0LW9sOiBcIlxcZjBjYlwiO1xyXG5cclxuJHN0cmlrZXRocm91Z2g6IFwiXFxmMGNjXCI7XHJcblxyXG4kdW5kZXJsaW5lOiBcIlxcZjBjZFwiO1xyXG5cclxuJHRhYmxlOiBcIlxcZjBjZVwiO1xyXG5cclxuJG1hZ2ljOiBcIlxcZjBkMFwiO1xyXG5cclxuJHRydWNrOiBcIlxcZjBkMVwiO1xyXG5cclxuJHBpbnRlcmVzdDogXCJcXGYwZDJcIjtcclxuXHJcbiRwaW50ZXJlc3Qtc2lnbjogXCJcXGYwZDNcIjtcclxuXHJcbiRnb29nbGUtcGx1cy1zaWduOiBcIlxcZjBkNFwiO1xyXG5cclxuJGdvb2dsZS1wbHVzOiBcIlxcZjBkNVwiO1xyXG5cclxuJG1vbmV5OiBcIlxcZjBkNlwiO1xyXG5cclxuJGNhcmV0LWRvd246IFwiXFxmMGQ3XCI7XHJcblxyXG4kY2FyZXQtdXA6IFwiXFxmMGQ4XCI7XHJcblxyXG4kY2FyZXQtbGVmdDogXCJcXGYwZDlcIjtcclxuXHJcbiRjYXJldC1yaWdodDogXCJcXGYwZGFcIjtcclxuXHJcbiRjb2x1bW5zOiBcIlxcZjBkYlwiO1xyXG5cclxuJHNvcnQ6IFwiXFxmMGRjXCI7XHJcblxyXG4kc29ydC1kb3duOiBcIlxcZjBkZFwiO1xyXG5cclxuJHNvcnQtdXA6IFwiXFxmMGRlXCI7XHJcblxyXG4kZW52ZWxvcGU6IFwiXFxmMGUwXCI7XHJcblxyXG4kbGlua2VkaW46IFwiXFxmMGUxXCI7XHJcblxyXG4kdW5kbzogXCJcXGYwZTJcIjtcclxuXHJcbiRsZWdhbDogXCJcXGYwZTNcIjtcclxuXHJcbiRkYXNoYm9hcmQ6IFwiXFxmMGU0XCI7XHJcblxyXG4kY29tbWVudC1hbHQ6IFwiXFxmMGU1XCI7XHJcblxyXG4kY29tbWVudHMtYWx0OiBcIlxcZjBlNlwiO1xyXG5cclxuJGJvbHQ6IFwiXFxmMGU3XCI7XHJcblxyXG4kc2l0ZW1hcDogXCJcXGYwZThcIjtcclxuXHJcbiR1bWJyZWxsYTogXCJcXGYwZTlcIjtcclxuXHJcbiRwYXN0ZTogXCJcXGYwZWFcIjtcclxuXHJcbiRsaWdodGJ1bGI6IFwiXFxmMGViXCI7XHJcblxyXG4kZXhjaGFuZ2U6IFwiXFxmMGVjXCI7XHJcblxyXG4kY2xvdWQtZG93bmxvYWQ6IFwiXFxmMGVkXCI7XHJcblxyXG4kY2xvdWQtdXBsb2FkOiBcIlxcZjBlZVwiO1xyXG5cclxuJHVzZXItbWQ6IFwiXFxmMGYwXCI7XHJcblxyXG4kc3RldGhvc2NvcGU6IFwiXFxmMGYxXCI7XHJcblxyXG4kc3VpdGNhc2U6IFwiXFxmMGYyXCI7XHJcblxyXG4kYmVsbC1hbHQ6IFwiXFxmMGYzXCI7XHJcblxyXG4kY29mZmVlOiBcIlxcZjBmNFwiO1xyXG5cclxuJGZvb2Q6IFwiXFxmMGY1XCI7XHJcblxyXG4kZmlsZS10ZXh0LWFsdDogXCJcXGYwZjZcIjtcclxuXHJcbiRidWlsZGluZzogXCJcXGYwZjdcIjtcclxuXHJcbiRob3NwaXRhbDogXCJcXGYwZjhcIjtcclxuXHJcbiRhbWJ1bGFuY2U6IFwiXFxmMGY5XCI7XHJcblxyXG4kbWVka2l0OiBcIlxcZjBmYVwiO1xyXG5cclxuJGZpZ2h0ZXItamV0OiBcIlxcZjBmYlwiO1xyXG5cclxuJGJlZXI6IFwiXFxmMGZjXCI7XHJcblxyXG4kaC1zaWduOiBcIlxcZjBmZFwiO1xyXG5cclxuJHBsdXMtc2lnbi1hbHQ6IFwiXFxmMGZlXCI7XHJcblxyXG4kZG91YmxlLWFuZ2xlLWxlZnQ6IFwiXFxmMTAwXCI7XHJcblxyXG4kZG91YmxlLWFuZ2xlLXJpZ2h0OiBcIlxcZjEwMVwiO1xyXG5cclxuJGRvdWJsZS1hbmdsZS11cDogXCJcXGYxMDJcIjtcclxuXHJcbiRkb3VibGUtYW5nbGUtZG93bjogXCJcXGYxMDNcIjtcclxuXHJcbiRhbmdsZS1sZWZ0OiBcIlxcZjEwNFwiO1xyXG5cclxuJGFuZ2xlLXJpZ2h0OiBcIlxcZjEwNVwiO1xyXG5cclxuJGFuZ2xlLXVwOiBcIlxcZjEwNlwiO1xyXG5cclxuJGFuZ2xlLWRvd246IFwiXFxmMTA3XCI7XHJcblxyXG4kZGVza3RvcDogXCJcXGYxMDhcIjtcclxuXHJcbiRsYXB0b3A6IFwiXFxmMTA5XCI7XHJcblxyXG4kdGFibGV0OiBcIlxcZjEwYVwiO1xyXG5cclxuJG1vYmlsZS1waG9uZTogXCJcXGYxMGJcIjtcclxuXHJcbiRjaXJjbGUtYmxhbms6IFwiXFxmMTBjXCI7XHJcblxyXG4kcXVvdGUtbGVmdDogXCJcXGYxMGRcIjtcclxuXHJcbiRxdW90ZS1yaWdodDogXCJcXGYxMGVcIjtcclxuXHJcbiRzcGlubmVyOiBcIlxcZjExMFwiO1xyXG5cclxuJGNpcmNsZTogXCJcXGYxMTFcIjtcclxuXHJcbiRyZXBseTogXCJcXGYxMTJcIjtcclxuXHJcbiRnaXRodWItYWx0OiBcIlxcZjExM1wiO1xyXG5cclxuJGZvbGRlci1jbG9zZS1hbHQ6IFwiXFxmMTE0XCI7XHJcblxyXG4kZm9sZGVyLW9wZW4tYWx0OiBcIlxcZjExNVwiO1xyXG5cclxuJGV4cGFuZC1hbHQ6IFwiXFxmMTE2XCI7XHJcblxyXG4kY29sbGFwc2UtYWx0OiBcIlxcZjExN1wiO1xyXG5cclxuJHNtaWxlOiBcIlxcZjExOFwiO1xyXG5cclxuJGZyb3duOiBcIlxcZjExOVwiO1xyXG5cclxuJG1laDogXCJcXGYxMWFcIjtcclxuXHJcbiRnYW1lcGFkOiBcIlxcZjExYlwiO1xyXG5cclxuJGtleWJvYXJkOiBcIlxcZjExY1wiO1xyXG5cclxuJGZsYWctYWx0OiBcIlxcZjExZFwiO1xyXG5cclxuJGZsYWctY2hlY2tlcmVkOiBcIlxcZjExZVwiO1xyXG5cclxuJHRlcm1pbmFsOiBcIlxcZjEyMFwiO1xyXG5cclxuJGNvZGU6IFwiXFxmMTIxXCI7XHJcblxyXG4kcmVwbHktYWxsOiBcIlxcZjEyMlwiO1xyXG5cclxuJG1haWwtcmVwbHktYWxsOiBcIlxcZjEyMlwiO1xyXG5cclxuJHN0YXItaGFsZi1lbXB0eTogXCJcXGYxMjNcIjtcclxuXHJcbiRsb2NhdGlvbi1hcnJvdzogXCJcXGYxMjRcIjtcclxuXHJcbiRjcm9wOiBcIlxcZjEyNVwiO1xyXG5cclxuJGNvZGUtZm9yazogXCJcXGYxMjZcIjtcclxuXHJcbiR1bmxpbms6IFwiXFxmMTI3XCI7XHJcblxyXG4kcXVlc3Rpb246IFwiXFxmMTI4XCI7XHJcblxyXG4kaW5mbzogXCJcXGYxMjlcIjtcclxuXHJcbiRleGNsYW1hdGlvbjogXCJcXGYxMmFcIjtcclxuXHJcbiRzdXBlcnNjcmlwdDogXCJcXGYxMmJcIjtcclxuXHJcbiRzdWJzY3JpcHQ6IFwiXFxmMTJjXCI7XHJcblxyXG4kZXJhc2VyOiBcIlxcZjEyZFwiO1xyXG5cclxuJHB1enpsZS1waWVjZTogXCJcXGYxMmVcIjtcclxuXHJcbiRtaWNyb3Bob25lOiBcIlxcZjEzMFwiO1xyXG5cclxuJG1pY3JvcGhvbmUtb2ZmOiBcIlxcZjEzMVwiO1xyXG5cclxuJHNoaWVsZDogXCJcXGYxMzJcIjtcclxuXHJcbiRjYWxlbmRhci1lbXB0eTogXCJcXGYxMzNcIjtcclxuXHJcbiRmaXJlLWV4dGluZ3Vpc2hlcjogXCJcXGYxMzRcIjtcclxuXHJcbiRyb2NrZXQ6IFwiXFxmMTM1XCI7XHJcblxyXG4kbWF4Y2RuOiBcIlxcZjEzNlwiO1xyXG5cclxuJGNoZXZyb24tc2lnbi1sZWZ0OiBcIlxcZjEzN1wiO1xyXG5cclxuJGNoZXZyb24tc2lnbi1yaWdodDogXCJcXGYxMzhcIjtcclxuXHJcbiRjaGV2cm9uLXNpZ24tdXA6IFwiXFxmMTM5XCI7XHJcblxyXG4kY2hldnJvbi1zaWduLWRvd246IFwiXFxmMTNhXCI7XHJcblxyXG4kaHRtbDU6IFwiXFxmMTNiXCI7XHJcblxyXG4kY3NzMzogXCJcXGYxM2NcIjtcclxuXHJcbiRhbmNob3I6IFwiXFxmMTNkXCI7XHJcblxyXG4kdW5sb2NrLWFsdDogXCJcXGYxM2VcIjtcclxuXHJcbiRidWxsc2V5ZTogXCJcXGYxNDBcIjtcclxuXHJcbiRlbGxpcHNpcy1ob3Jpem9udGFsOiBcIlxcZjE0MVwiO1xyXG5cclxuJGVsbGlwc2lzLXZlcnRpY2FsOiBcIlxcZjE0MlwiO1xyXG5cclxuJHJzcy1zaWduOiBcIlxcZjE0M1wiO1xyXG5cclxuJHBsYXktc2lnbjogXCJcXGYxNDRcIjtcclxuXHJcbiR0aWNrZXQ6IFwiXFxmMTQ1XCI7XHJcblxyXG4kbWludXMtc2lnbi1hbHQ6IFwiXFxmMTQ2XCI7XHJcblxyXG4kY2hlY2stbWludXM6IFwiXFxmMTQ3XCI7XHJcblxyXG4kbGV2ZWwtdXA6IFwiXFxmMTQ4XCI7XHJcblxyXG4kbGV2ZWwtZG93bjogXCJcXGYxNDlcIjtcclxuXHJcbiRjaGVjay1zaWduOiBcIlxcZjE0YVwiO1xyXG5cclxuJGVkaXQtc2lnbjogXCJcXGYxNGJcIjtcclxuXHJcbiRleHRlcm5hbC1saW5rLXNpZ246IFwiXFxmMTRjXCI7XHJcblxyXG4kc2hhcmUtc2lnbjogXCJcXGYxNGRcIjtcclxuXHJcbiRjb21wYXNzOiBcIlxcZjE0ZVwiO1xyXG5cclxuJGNvbGxhcHNlOiBcIlxcZjE1MFwiO1xyXG5cclxuJGNvbGxhcHNlLXRvcDogXCJcXGYxNTFcIjtcclxuXHJcbiRleHBhbmQ6IFwiXFxmMTUyXCI7XHJcblxyXG4kZXVyOiBcIlxcZjE1M1wiO1xyXG5cclxuJGdicDogXCJcXGYxNTRcIjtcclxuXHJcbiR1c2Q6IFwiXFxmMTU1XCI7XHJcblxyXG4kaW5yOiBcIlxcZjE1NlwiO1xyXG5cclxuJGpweTogXCJcXGYxNTdcIjtcclxuXHJcbiRjbnk6IFwiXFxmMTU4XCI7XHJcblxyXG4ka3J3OiBcIlxcZjE1OVwiO1xyXG5cclxuJGJ0YzogXCJcXGYxNWFcIjtcclxuXHJcbiRmaWxlOiBcIlxcZjE1YlwiO1xyXG5cclxuJGZpbGUtdGV4dDogXCJcXGYxNWNcIjtcclxuXHJcbiRzb3J0LWJ5LWFscGhhYmV0OiBcIlxcZjE1ZFwiO1xyXG5cclxuJHNvcnQtYnktYWxwaGFiZXQtYWx0OiBcIlxcZjE1ZVwiO1xyXG5cclxuJHNvcnQtYnktYXR0cmlidXRlczogXCJcXGYxNjBcIjtcclxuXHJcbiRzb3J0LWJ5LWF0dHJpYnV0ZXMtYWx0OiBcIlxcZjE2MVwiO1xyXG5cclxuJHNvcnQtYnktb3JkZXI6IFwiXFxmMTYyXCI7XHJcblxyXG4kc29ydC1ieS1vcmRlci1hbHQ6IFwiXFxmMTYzXCI7XHJcblxyXG4kdGh1bWJzLXVwOiBcIlxcZjE2NFwiO1xyXG5cclxuJHRodW1icy1kb3duOiBcIlxcZjE2NVwiO1xyXG5cclxuJHlvdXR1YmUtc2lnbjogXCJcXGYxNjZcIjtcclxuXHJcbiR5b3V0dWJlOiBcIlxcZjE2N1wiO1xyXG5cclxuJHhpbmc6IFwiXFxmMTY4XCI7XHJcblxyXG4keGluZy1zaWduOiBcIlxcZjE2OVwiO1xyXG5cclxuJHlvdXR1YmUtcGxheTogXCJcXGYxNmFcIjtcclxuXHJcbiRkcm9wYm94OiBcIlxcZjE2YlwiO1xyXG5cclxuJHN0YWNrZXhjaGFuZ2U6IFwiXFxmMTZjXCI7XHJcblxyXG4kaW5zdGFncmFtOiBcIlxcZjE2ZFwiO1xyXG5cclxuJGZsaWNrcjogXCJcXGYxNmVcIjtcclxuXHJcbiRhZG46IFwiXFxmMTcwXCI7XHJcblxyXG4kYml0YnVja2V0OiBcIlxcZjE3MVwiO1xyXG5cclxuJGJpdGJ1Y2tldC1zaWduOiBcIlxcZjE3MlwiO1xyXG5cclxuJHR1bWJscjogXCJcXGYxNzNcIjtcclxuXHJcbiR0dW1ibHItc2lnbjogXCJcXGYxNzRcIjtcclxuXHJcbiRsb25nLWFycm93LWRvd246IFwiXFxmMTc1XCI7XHJcblxyXG4kbG9uZy1hcnJvdy11cDogXCJcXGYxNzZcIjtcclxuXHJcbiRsb25nLWFycm93LWxlZnQ6IFwiXFxmMTc3XCI7XHJcblxyXG4kbG9uZy1hcnJvdy1yaWdodDogXCJcXGYxNzhcIjtcclxuXHJcbiRhcHBsZTogXCJcXGYxNzlcIjtcclxuXHJcbiR3aW5kb3dzOiBcIlxcZjE3YVwiO1xyXG5cclxuJGFuZHJvaWQ6IFwiXFxmMTdiXCI7XHJcblxyXG4kbGludXg6IFwiXFxmMTdjXCI7XHJcblxyXG4kZHJpYmJibGU6IFwiXFxmMTdkXCI7XHJcblxyXG4kc2t5cGU6IFwiXFxmMTdlXCI7XHJcblxyXG4kZm91cnNxdWFyZTogXCJcXGYxODBcIjtcclxuXHJcbiR0cmVsbG86IFwiXFxmMTgxXCI7XHJcblxyXG4kZmVtYWxlOiBcIlxcZjE4MlwiO1xyXG5cclxuJG1hbGU6IFwiXFxmMTgzXCI7XHJcblxyXG4kZ2l0dGlwOiBcIlxcZjE4NFwiO1xyXG5cclxuJHN1bjogXCJcXGYxODVcIjtcclxuXHJcbiRtb29uOiBcIlxcZjE4NlwiO1xyXG5cclxuJGFyY2hpdmU6IFwiXFxmMTg3XCI7XHJcblxyXG4kYnVnOiBcIlxcZjE4OFwiO1xyXG5cclxuJHZrOiBcIlxcZjE4OVwiO1xyXG5cclxuJHdlaWJvOiBcIlxcZjE4YVwiO1xyXG5cclxuJHJlbnJlbjogXCJcXGYxOGJcIjtcclxuXHJcbi8vIE1peGluc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuQG1peGluIGljb24oJGljb24pIHtcclxuICBAaW5jbHVkZSBpY29uLUZvbnRBd2Vzb21lKCk7XHJcbiAgY29udGVudDogJGljb247XHJcbn1cclxuXHJcbkBtaXhpbiBpY29uLUZvbnRBd2Vzb21lKCkge1xyXG4gIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgKm1hcmdpbi1yaWdodDogLjNlbTsgLy8gZml4ZXMgaWU3IGlzc3Vlc1xyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzKSB7XHJcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gIC1tb3otYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG59XHJcblxyXG5AbWl4aW4gaWNvbi1zdGFjaygkd2lkdGg6IDJlbSwgJGhlaWdodDogMmVtLCAkdG9wLWZvbnQtc2l6ZTogMWVtLCAkYmFzZS1mb250LXNpemU6IDJlbSkge1xyXG4gIC5pY29uLXN0YWNrIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiAkd2lkdGg7XHJcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XHJcbiAgICBsaW5lLWhlaWdodDogJHdpZHRoO1xyXG4gICAgdmVydGljYWwtYWxpZ246IC0zNSU7XHJcbiAgICBbY2xhc3NePVwiaWNvbi1cIl0sXHJcbiAgICBbY2xhc3MqPVwiIGljb24tXCJdIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBmb250LXNpemU6ICR0b3AtZm9udC1zaXplO1xyXG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxuICAgICAgKmxpbmUtaGVpZ2h0OiAkaGVpZ2h0O1xyXG4gICAgfVxyXG4gICAgLmljb24tc3RhY2stYmFzZSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xyXG4gICAgICAqbGluZS1oZWlnaHQ6ICN7JGhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZX1lbTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qIEZPTlQgUEFUSFxyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XHJcbiAgc3JjOiB1cmwoJyN7JEZvbnRBd2Vzb21lUGF0aH0vZm9udGF3ZXNvbWUtd2ViZm9udC5lb3Q/dj0jeyRGb250QXdlc29tZVZlcnNpb259Jyk7XHJcbiAgc3JjOiB1cmwoJyN7JEZvbnRBd2Vzb21lUGF0aH0vZm9udGF3ZXNvbWUtd2ViZm9udC5lb3Q/I2llZml4JnY9I3skRm9udEF3ZXNvbWVWZXJzaW9ufScpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuICAgIHVybCgnI3skRm9udEF3ZXNvbWVQYXRofS9mb250YXdlc29tZS13ZWJmb250LndvZmY/dj0jeyRGb250QXdlc29tZVZlcnNpb259JykgZm9ybWF0KCd3b2ZmJyksXHJcbiAgICB1cmwoJyN7JEZvbnRBd2Vzb21lUGF0aH0vZm9udGF3ZXNvbWUtd2ViZm9udC50dGY/dj0jeyRGb250QXdlc29tZVZlcnNpb259JykgZm9ybWF0KCd0cnVldHlwZScpLFxyXG4gICAgdXJsKCcjeyRGb250QXdlc29tZVBhdGh9L2ZvbnRhd2Vzb21lLXdlYmZvbnQuc3ZnI2ZvbnRhd2Vzb21lcmVndWxhcj92PSN7JEZvbnRBd2Vzb21lVmVyc2lvbn0nKSBmb3JtYXQoJ3N2ZycpO1xyXG4vLyAgc3JjOiB1cmwoJyN7JEZvbnRBd2Vzb21lUGF0aH0vRm9udEF3ZXNvbWUub3RmJykgZm9ybWF0KCdvcGVudHlwZScpOyAvLyB1c2VkIHdoZW4gZGV2ZWxvcGluZyBmb250c1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcblxyXG4vKiBGT05UIEFXRVNPTUUgQ09SRVxyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuW2NsYXNzXj1cImljb24tXCJdLFxyXG5bY2xhc3MqPVwiIGljb24tXCJdIHtcclxuICBAaW5jbHVkZSBpY29uLUZvbnRBd2Vzb21lKCk7XHJcbn1cclxuXHJcbltjbGFzc149XCJpY29uLVwiXTpiZWZvcmUsXHJcbltjbGFzcyo9XCIgaWNvbi1cIl06YmVmb3JlIHtcclxuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHNwZWFrOiBub25lO1xyXG59XHJcblxyXG4vKiBtYWtlcyB0aGUgZm9udCAzMyUgbGFyZ2VyIHJlbGF0aXZlIHRvIHRoZSBpY29uIGNvbnRhaW5lciAqL1xyXG4uaWNvbi1sYXJnZTpiZWZvcmUge1xyXG4gIHZlcnRpY2FsLWFsaWduOiAtMTAlO1xyXG4gIGZvbnQtc2l6ZTogKDRlbS8zKTtcclxufVxyXG5cclxuLyogbWFrZXMgc3VyZSBpY29ucyBhY3RpdmUgb24gcm9sbG92ZXIgaW4gbGlua3MgKi9cclxuYSB7XHJcbiAgW2NsYXNzXj1cImljb24tXCJdLFxyXG4gIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xyXG4gICAgZGlzcGxheTogaW5saW5lO1xyXG4gIH1cclxufVxyXG5cclxuLyogaW5jcmVhc2VkIGZvbnQgc2l6ZSBmb3IgaWNvbi1sYXJnZSAqL1xyXG5bY2xhc3NePVwiaWNvbi1cIl0sXHJcbltjbGFzcyo9XCIgaWNvbi1cIl0ge1xyXG4gICYuaWNvbi1maXhlZC13aWR0aCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogKDE2ZW0vMTQpO1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAoNGVtLzE0KTtcclxuICAgICYuaWNvbi1sYXJnZSB7XHJcbiAgICAgIHdpZHRoOiAoMjBlbS8xNCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uaWNvbnMtdWwge1xyXG4gIG1hcmdpbi1sZWZ0OiAkaWNvbnMtbGktd2lkdGg7XHJcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG5cclxuICA+IGxpIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XHJcblxyXG4gIC5pY29uLWxpIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IC0kaWNvbnMtbGktd2lkdGg7XHJcbiAgICB3aWR0aDogJGljb25zLWxpLXdpZHRoO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBhbGxvd3MgdXNhZ2Ugb2YgdGhlIGhpZGUgY2xhc3MgZGlyZWN0bHkgb24gZm9udCBhd2Vzb21lIGljb25zXHJcbltjbGFzc149XCJpY29uLVwiXSxcclxuW2NsYXNzKj1cIiBpY29uLVwiXSB7XHJcbiAgJi5oaWRlIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4uaWNvbi1tdXRlZCB7IGNvbG9yOiAkaWNvbk11dGVkOyB9XHJcbi5pY29uLWxpZ2h0IHsgY29sb3I6ICRpY29uTGlnaHQ7IH1cclxuLmljb24tZGFyayB7IGNvbG9yOiAkaWNvbkRhcms7IH1cclxuXHJcbi8vIEljb24gQm9yZGVyc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4uaWNvbi1ib3JkZXIge1xyXG4gIGJvcmRlcjogc29saWQgMXB4ICRib3JkZXJDb2xvcjtcclxuICBwYWRkaW5nOiAuMmVtIC4yNWVtIC4xNWVtO1xyXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoM3B4KTtcclxufVxyXG5cclxuLy8gSWNvbiBTaXplc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4uaWNvbi0yeCB7XHJcbiAgZm9udC1zaXplOiAyZW07XHJcbiAgJi5pY29uLWJvcmRlciB7XHJcbiAgICBib3JkZXItd2lkdGg6IDJweDtcclxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNHB4KTtcclxuICB9XHJcbn1cclxuLmljb24tM3gge1xyXG4gIGZvbnQtc2l6ZTogM2VtO1xyXG4gICYuaWNvbi1ib3JkZXIge1xyXG4gICAgYm9yZGVyLXdpZHRoOiAzcHg7XHJcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDVweCk7XHJcbiAgfVxyXG59XHJcbi5pY29uLTR4IHtcclxuICBmb250LXNpemU6IDRlbTtcclxuICAmLmljb24tYm9yZGVyIHtcclxuICAgIGJvcmRlci13aWR0aDogNHB4O1xyXG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg2cHgpO1xyXG4gIH1cclxufVxyXG5cclxuLmljb24tNXgge1xyXG4gIGZvbnQtc2l6ZTogNWVtO1xyXG4gICYuaWNvbi1ib3JkZXIge1xyXG4gICAgYm9yZGVyLXdpZHRoOiA1cHg7XHJcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDdweCk7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gRmxvYXRzICYgTWFyZ2luc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBRdWljayBmbG9hdHNcclxuLnB1bGwtcmlnaHQgeyBmbG9hdDogcmlnaHQ7IH1cclxuLnB1bGwtbGVmdCB7IGZsb2F0OiBsZWZ0OyB9XHJcblxyXG5bY2xhc3NePVwiaWNvbi1cIl0sXHJcbltjbGFzcyo9XCIgaWNvbi1cIl0ge1xyXG4gICYucHVsbC1sZWZ0IHtcclxuICAgIG1hcmdpbi1yaWdodDogLjNlbTtcclxuICB9XHJcbiAgJi5wdWxsLXJpZ2h0IHtcclxuICAgIG1hcmdpbi1sZWZ0OiAuM2VtO1xyXG4gIH1cclxufVxyXG5cclxuLyogQk9PVFNUUkFQIFNQRUNJRklDIENMQVNTRVNcclxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi8qIEJvb3RzdHJhcCAyLjAgc3ByaXRlcy5sZXNzIHJlc2V0ICovXHJcbltjbGFzc149XCJpY29uLVwiXSxcclxuW2NsYXNzKj1cIiBpY29uLVwiXSB7XHJcbiAgZGlzcGxheTogaW5saW5lO1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIGhlaWdodDogYXV0bztcclxuICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAlIDAlO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XHJcbiAgbWFyZ2luLXRvcDogMDtcclxufVxyXG5cclxuLyogbW9yZSBzcHJpdGVzLmxlc3MgcmVzZXQgKi9cclxuLmljb24td2hpdGUsXHJcbi5uYXYtcGlsbHMgPiAuYWN0aXZlID4gYSA+IFtjbGFzc149XCJpY29uLVwiXSxcclxuLm5hdi1waWxscyA+IC5hY3RpdmUgPiBhID4gW2NsYXNzKj1cIiBpY29uLVwiXSxcclxuLm5hdi1saXN0ID4gLmFjdGl2ZSA+IGEgPiBbY2xhc3NePVwiaWNvbi1cIl0sXHJcbi5uYXYtbGlzdCA+IC5hY3RpdmUgPiBhID4gW2NsYXNzKj1cIiBpY29uLVwiXSxcclxuLm5hdmJhci1pbnZlcnNlIC5uYXYgPiAuYWN0aXZlID4gYSA+IFtjbGFzc149XCJpY29uLVwiXSxcclxuLm5hdmJhci1pbnZlcnNlIC5uYXYgPiAuYWN0aXZlID4gYSA+IFtjbGFzcyo9XCIgaWNvbi1cIl0sXHJcbi5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmhvdmVyID4gW2NsYXNzXj1cImljb24tXCJdLFxyXG4uZHJvcGRvd24tbWVudSA+IGxpID4gYTpob3ZlciA+IFtjbGFzcyo9XCIgaWNvbi1cIl0sXHJcbi5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGEgPiBbY2xhc3NePVwiaWNvbi1cIl0sXHJcbi5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGEgPiBbY2xhc3MqPVwiIGljb24tXCJdLFxyXG4uZHJvcGRvd24tc3VibWVudTpob3ZlciA+IGEgPiBbY2xhc3NePVwiaWNvbi1cIl0sXHJcbi5kcm9wZG93bi1zdWJtZW51OmhvdmVyID4gYSA+IFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbn1cclxuXHJcblxyXG4vKiBrZWVwcyBCb290c3RyYXAgc3R5bGVzIHdpdGggYW5kIHdpdGhvdXQgaWNvbnMgdGhlIHNhbWUgKi9cclxuLmJ0biwgLm5hdiB7XHJcbiAgW2NsYXNzXj1cImljb24tXCJdLFxyXG4gIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xyXG4gICAgLy8gICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgJi5pY29uLWxhcmdlIHsgbGluZS1oZWlnaHQ6IC45ZW07IH1cclxuICAgICYuaWNvbi1zcGluIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XHJcbiAgfVxyXG59XHJcbi5uYXYtdGFicywgLm5hdi1waWxscyB7XHJcbiAgW2NsYXNzXj1cImljb24tXCJdLFxyXG4gIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xyXG4gICAgJiwgJi5pY29uLWxhcmdlIHsgbGluZS1oZWlnaHQ6IC45ZW07IH1cclxuICB9XHJcbn1cclxuLmJ0biB7XHJcbiAgW2NsYXNzXj1cImljb24tXCJdLFxyXG4gIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xyXG4gICAgJi5wdWxsLWxlZnQsICYucHVsbC1yaWdodCB7XHJcbiAgICAgICYuaWNvbi0yeCB7IG1hcmdpbi10b3A6IC4xOGVtOyB9XHJcbiAgICB9XHJcbiAgICAmLmljb24tc3Bpbi5pY29uLWxhcmdlIHsgbGluZS1oZWlnaHQ6IC44ZW07IH1cclxuICB9XHJcbn1cclxuLmJ0bi5idG4tc21hbGwge1xyXG4gIFtjbGFzc149XCJpY29uLVwiXSxcclxuICBbY2xhc3MqPVwiIGljb24tXCJdIHtcclxuICAgICYucHVsbC1sZWZ0LCAmLnB1bGwtcmlnaHQge1xyXG4gICAgICAmLmljb24tMnggeyBtYXJnaW4tdG9wOiAuMjVlbTsgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4uYnRuLmJ0bi1sYXJnZSB7XHJcbiAgW2NsYXNzXj1cImljb24tXCJdLFxyXG4gIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xyXG4gICAgbWFyZ2luLXRvcDogMDsgLy8gb3ZlcnJpZGVzIGJvb3RzdHJhcCBkZWZhdWx0XHJcbiAgICAmLnB1bGwtbGVmdCwgJi5wdWxsLXJpZ2h0IHtcclxuICAgICAgJi5pY29uLTJ4IHsgbWFyZ2luLXRvcDogLjA1ZW07IH1cclxuICAgIH1cclxuICAgICYucHVsbC1sZWZ0Lmljb24tMnggeyBtYXJnaW4tcmlnaHQ6IC4yZW07IH1cclxuICAgICYucHVsbC1yaWdodC5pY29uLTJ4IHsgbWFyZ2luLWxlZnQ6IC4yZW07IH1cclxuICB9XHJcbn1cclxuXHJcbi8qIEZpeGVzIGFsaWdubWVudCBpbiBuYXYgbGlzdHMgKi9cclxuLm5hdi1saXN0IFtjbGFzc149XCJpY29uLVwiXSxcclxuLm5hdi1saXN0IFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xyXG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG59XHJcblxyXG4vKiBFWFRSQVNcclxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi8qIFN0YWNrZWQgYW5kIGxheWVyZWQgaWNvbiAqL1xyXG5AaW5jbHVkZSBpY29uLXN0YWNrKCk7XHJcblxyXG4vKiBBbmltYXRlZCByb3RhdGluZyBpY29uICovXHJcbi5pY29uLXNwaW4ge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAtbW96LWFuaW1hdGlvbjogc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7XHJcbiAgLW8tYW5pbWF0aW9uOiBzcGluIDJzIGluZmluaXRlIGxpbmVhcjtcclxuICAtd2Via2l0LWFuaW1hdGlvbjogc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7XHJcbiAgYW5pbWF0aW9uOiBzcGluIDJzIGluZmluaXRlIGxpbmVhcjtcclxufVxyXG5cclxuLyogUHJldmVudCBzdGFjayBhbmQgc3Bpbm5lcnMgZnJvbSBiZWluZyB0YWtlbiBpbmxpbmUgd2hlbiBpbnNpZGUgYSBsaW5rICovXHJcbmEgLmljb24tc3RhY2ssXHJcbmEgLmljb24tc3BpbiB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4ge1xyXG4gIDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxyXG4gIDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7IH1cclxufVxyXG5ALW8ta2V5ZnJhbWVzIHNwaW4ge1xyXG4gIDAlIHsgLW8tdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuICAxMDAlIHsgLW8tdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTsgfVxyXG59XHJcbkBrZXlmcmFtZXMgc3BpbiB7XHJcbiAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxyXG4gIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpOyB9XHJcbn1cclxuXHJcbi8qIEljb24gcm90YXRpb25zIGFuZCBtaXJyb3JpbmcgKi9cclxuLmljb24tcm90YXRlLTkwOmJlZm9yZSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTEpO1xyXG59XHJcblxyXG4uaWNvbi1yb3RhdGUtMTgwOmJlZm9yZSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yKTtcclxufVxyXG5cclxuLmljb24tcm90YXRlLTI3MDpiZWZvcmUge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcclxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7XHJcbiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xyXG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249Myk7XHJcbn1cclxuXHJcbi5pY29uLWZsaXAtaG9yaXpvbnRhbDpiZWZvcmUge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XHJcbiAgLW1vei10cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcclxuICAtby10cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcclxuICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcclxufVxyXG5cclxuLmljb24tZmxpcC12ZXJ0aWNhbDpiZWZvcmUge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XHJcbiAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcclxuICAtby10cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcclxuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcclxufVxyXG5cclxuLyogZW5zdXJlIHJvdGF0aW9uIG9jY3VycyBpbnNpZGUgYW5jaG9yIHRhZ3MgKi9cclxuYSB7XHJcbiAgLmljb24tcm90YXRlLTkwLCAuaWNvbi1yb3RhdGUtMTgwLCAuaWNvbi1yb3RhdGUtMjcwLCAuaWNvbi1mbGlwLWhvcml6b250YWwsIC5pY29uLWZsaXAtdmVydGljYWwge1xyXG4gICAgJjpiZWZvcmUgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cclxuICB9XHJcbn1cclxuXHJcbi8qIEZvbnQgQXdlc29tZSB1c2VzIHRoZSBVbmljb2RlIFByaXZhdGUgVXNlIEFyZWEgKFBVQSkgdG8gZW5zdXJlIHNjcmVlblxyXG4gKiByZWFkZXJzIGRvIG5vdCByZWFkIG9mZiByYW5kb20gY2hhcmFjdGVycyB0aGF0IHJlcHJlc2VudCBpY29ucyAqL1xyXG5cclxuLy8gLmljb24tZ2xhc3M6YmVmb3JlIHsgY29udGVudDogJGdsYXNzOyB9XHJcbi8vIC5pY29uLW11c2ljOmJlZm9yZSB7IGNvbnRlbnQ6ICRtdXNpYzsgfVxyXG4uaWNvbi1zZWFyY2g6YmVmb3JlIHsgY29udGVudDogJHNlYXJjaDsgfVxyXG4vLyAuaWNvbi1lbnZlbG9wZS1hbHQ6YmVmb3JlIHsgY29udGVudDogJGVudmVsb3BlLWFsdDsgfVxyXG4vLyAuaWNvbi1oZWFydDpiZWZvcmUgeyBjb250ZW50OiAkaGVhcnQ7IH1cclxuLy8gLmljb24tc3RhcjpiZWZvcmUgeyBjb250ZW50OiAkc3RhcjsgfVxyXG4vLyAuaWNvbi1zdGFyLWVtcHR5OmJlZm9yZSB7IGNvbnRlbnQ6ICRzdGFyLWVtcHR5OyB9XHJcbi8vIC5pY29uLXVzZXI6YmVmb3JlIHsgY29udGVudDogJHVzZXI7IH1cclxuLy8gLmljb24tZmlsbTpiZWZvcmUgeyBjb250ZW50OiAkZmlsbTsgfVxyXG4vLyAuaWNvbi10aC1sYXJnZTpiZWZvcmUgeyBjb250ZW50OiAkdGgtbGFyZ2U7IH1cclxuLy8gLmljb24tdGg6YmVmb3JlIHsgY29udGVudDogJHRoOyB9XHJcbi8vIC5pY29uLXRoLWxpc3Q6YmVmb3JlIHsgY29udGVudDogJHRoLWxpc3Q7IH1cclxuIC5pY29uLW9rOmJlZm9yZSB7IGNvbnRlbnQ6ICRvazsgfVxyXG4uaWNvbi1yZW1vdmU6YmVmb3JlIHsgY29udGVudDogJHJlbW92ZTsgfVxyXG4vLyAuaWNvbi16b29tLWluOmJlZm9yZSB7IGNvbnRlbnQ6ICR6b29tLWluOyB9XHJcbi8vIC5pY29uLXpvb20tb3V0OmJlZm9yZSB7IGNvbnRlbnQ6ICR6b29tLW91dDsgfVxyXG4vLyAuaWNvbi1wb3dlci1vZmY6YmVmb3JlLFxyXG4vLyAuaWNvbi1vZmY6YmVmb3JlIHsgY29udGVudDogJG9mZjsgfVxyXG4vLyAuaWNvbi1zaWduYWw6YmVmb3JlIHsgY29udGVudDogJHNpZ25hbDsgfVxyXG4vLyAuaWNvbi1nZWFyOmJlZm9yZSxcclxuLy8gLmljb24tY29nOmJlZm9yZSB7IGNvbnRlbnQ6ICRjb2c7IH1cclxuLy8gLmljb24tdHJhc2g6YmVmb3JlIHsgY29udGVudDogJHRyYXNoOyB9XHJcbi8vIC5pY29uLWhvbWU6YmVmb3JlIHsgY29udGVudDogJGhvbWU7IH1cclxuLy8gLmljb24tZmlsZS1hbHQ6YmVmb3JlIHsgY29udGVudDogJGZpbGUtYWx0OyB9XHJcbi8vIC5pY29uLXRpbWU6YmVmb3JlIHsgY29udGVudDogJHRpbWU7IH1cclxuLy8gLmljb24tcm9hZDpiZWZvcmUgeyBjb250ZW50OiAkcm9hZDsgfVxyXG4vLyAuaWNvbi1kb3dubG9hZC1hbHQ6YmVmb3JlIHsgY29udGVudDogJGRvd25sb2FkLWFsdDsgfVxyXG4vLyAuaWNvbi1kb3dubG9hZDpiZWZvcmUgeyBjb250ZW50OiAkZG93bmxvYWQ7IH1cclxuLy8gLmljb24tdXBsb2FkOmJlZm9yZSB7IGNvbnRlbnQ6ICR1cGxvYWQ7IH1cclxuLy8gLmljb24taW5ib3g6YmVmb3JlIHsgY29udGVudDogJGluYm94OyB9XHJcbi8vIC5pY29uLXBsYXktY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRwbGF5LWNpcmNsZTsgfVxyXG4vLyAuaWNvbi1yb3RhdGUtcmlnaHQ6YmVmb3JlLFxyXG4vLyAuaWNvbi1yZXBlYXQ6YmVmb3JlIHsgY29udGVudDogJHJlcGVhdDsgfVxyXG4vLyAuaWNvbi1yZWZyZXNoOmJlZm9yZSB7IGNvbnRlbnQ6ICRyZWZyZXNoOyB9XHJcbi8vIC5pY29uLWxpc3QtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRsaXN0LWFsdDsgfVxyXG4vLyAuaWNvbi1sb2NrOmJlZm9yZSB7IGNvbnRlbnQ6ICRsb2NrOyB9XHJcbi8vIC5pY29uLWZsYWc6YmVmb3JlIHsgY29udGVudDogJGZsYWc7IH1cclxuLy8gLmljb24taGVhZHBob25lczpiZWZvcmUgeyBjb250ZW50OiAkaGVhZHBob25lczsgfVxyXG4vLyAuaWNvbi12b2x1bWUtb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6ICR2b2x1bWUtb2ZmOyB9XHJcbi8vIC5pY29uLXZvbHVtZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICR2b2x1bWUtZG93bjsgfVxyXG4vLyAuaWNvbi12b2x1bWUtdXA6YmVmb3JlIHsgY29udGVudDogJHZvbHVtZS11cDsgfVxyXG4vLyAuaWNvbi1xcmNvZGU6YmVmb3JlIHsgY29udGVudDogJHFyY29kZTsgfVxyXG4vLyAuaWNvbi1iYXJjb2RlOmJlZm9yZSB7IGNvbnRlbnQ6ICRiYXJjb2RlOyB9XHJcbi8vIC5pY29uLXRhZzpiZWZvcmUgeyBjb250ZW50OiAkdGFnOyB9XHJcbi8vIC5pY29uLXRhZ3M6YmVmb3JlIHsgY29udGVudDogJHRhZ3M7IH1cclxuLy8gLmljb24tYm9vazpiZWZvcmUgeyBjb250ZW50OiAkYm9vazsgfVxyXG4vLyAuaWNvbi1ib29rbWFyazpiZWZvcmUgeyBjb250ZW50OiAkYm9va21hcms7IH1cclxuLy8gLmljb24tcHJpbnQ6YmVmb3JlIHsgY29udGVudDogJHByaW50OyB9XHJcbi8vIC5pY29uLWNhbWVyYTpiZWZvcmUgeyBjb250ZW50OiAkY2FtZXJhOyB9XHJcbi5pY29uLWZvbnQ6YmVmb3JlIHsgY29udGVudDogJGZvbnQ7IH1cclxuLmljb24tYm9sZDpiZWZvcmUgeyBjb250ZW50OiAkYm9sZDsgfVxyXG4uaWNvbi1pdGFsaWM6YmVmb3JlIHsgY29udGVudDogJGl0YWxpYzsgfVxyXG4uaWNvbi10ZXh0LWhlaWdodDpiZWZvcmUgeyBjb250ZW50OiAkdGV4dC1oZWlnaHQ7IH1cclxuLmljb24tdGV4dC13aWR0aDpiZWZvcmUgeyBjb250ZW50OiAkdGV4dC13aWR0aDsgfVxyXG4uaWNvbi1hbGlnbi1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRhbGlnbi1sZWZ0OyB9XHJcbi5pY29uLWFsaWduLWNlbnRlcjpiZWZvcmUgeyBjb250ZW50OiAkYWxpZ24tY2VudGVyOyB9XHJcbi5pY29uLWFsaWduLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRhbGlnbi1yaWdodDsgfVxyXG4uaWNvbi1hbGlnbi1qdXN0aWZ5OmJlZm9yZSB7IGNvbnRlbnQ6ICRhbGlnbi1qdXN0aWZ5OyB9XHJcbi5pY29uLWxpc3Q6YmVmb3JlIHsgY29udGVudDogJGxpc3Q7IH1cclxuLmljb24taW5kZW50LWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGluZGVudC1sZWZ0OyB9XHJcbi5pY29uLWluZGVudC1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkaW5kZW50LXJpZ2h0OyB9XHJcbi8vIC5pY29uLWZhY2V0aW1lLXZpZGVvOmJlZm9yZSB7IGNvbnRlbnQ6ICRmYWNldGltZS12aWRlbzsgfVxyXG4vLyAuaWNvbi1waWN0dXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRwaWN0dXJlOyB9XHJcbi8vIC5pY29uLXBlbmNpbDpiZWZvcmUgeyBjb250ZW50OiAkcGVuY2lsOyB9XHJcbi8vIC5pY29uLW1hcC1tYXJrZXI6YmVmb3JlIHsgY29udGVudDogJG1hcC1tYXJrZXI7IH1cclxuLmljb24tYWRqdXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRhZGp1c3Q7IH1cclxuLmljb24tdGludDpiZWZvcmUgeyBjb250ZW50OiAkdGludDsgfVxyXG4uaWNvbi1lZGl0OmJlZm9yZSB7IGNvbnRlbnQ6ICRlZGl0OyB9XHJcbi8vIC5pY29uLXNoYXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRzaGFyZTsgfVxyXG4vLyAuaWNvbi1jaGVjazpiZWZvcmUgeyBjb250ZW50OiAkY2hlY2s7IH1cclxuLy8gLmljb24tbW92ZTpiZWZvcmUgeyBjb250ZW50OiAkbW92ZTsgfVxyXG4vLyAuaWNvbi1zdGVwLWJhY2t3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRzdGVwLWJhY2t3YXJkOyB9XHJcbi8vIC5pY29uLWZhc3QtYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogJGZhc3QtYmFja3dhcmQ7IH1cclxuLy8gLmljb24tYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogJGJhY2t3YXJkOyB9XHJcbi8vIC5pY29uLXBsYXk6YmVmb3JlIHsgY29udGVudDogJHBsYXk7IH1cclxuLy8gLmljb24tcGF1c2U6YmVmb3JlIHsgY29udGVudDogJHBhdXNlOyB9XHJcbi8vIC5pY29uLXN0b3A6YmVmb3JlIHsgY29udGVudDogJHN0b3A7IH1cclxuLy8gLmljb24tZm9yd2FyZDpiZWZvcmUgeyBjb250ZW50OiAkZm9yd2FyZDsgfVxyXG4vLyAuaWNvbi1mYXN0LWZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogJGZhc3QtZm9yd2FyZDsgfVxyXG4vLyAuaWNvbi1zdGVwLWZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogJHN0ZXAtZm9yd2FyZDsgfVxyXG4vLyAuaWNvbi1lamVjdDpiZWZvcmUgeyBjb250ZW50OiAkZWplY3Q7IH1cclxuLmljb24tY2hldnJvbi1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRjaGV2cm9uLWxlZnQ7IH1cclxuLmljb24tY2hldnJvbi1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkY2hldnJvbi1yaWdodDsgfVxyXG4vLyAuaWNvbi1wbHVzLXNpZ246YmVmb3JlIHsgY29udGVudDogJHBsdXMtc2lnbjsgfVxyXG4uaWNvbi1taW51cy1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6ICRtaW51cy1zaWduOyB9XHJcbi5pY29uLXJlbW92ZS1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6ICRyZW1vdmUtc2lnbjsgfVxyXG4vLyAuaWNvbi1vay1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6ICRvay1zaWduOyB9XHJcbi5pY29uLXF1ZXN0aW9uLXNpZ246YmVmb3JlIHsgY29udGVudDogJHF1ZXN0aW9uLXNpZ247IH1cclxuLmljb24taW5mby1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6ICRpbmZvLXNpZ247IH1cclxuLy8gLmljb24tc2NyZWVuc2hvdDpiZWZvcmUgeyBjb250ZW50OiAkc2NyZWVuc2hvdDsgfVxyXG4uaWNvbi1yZW1vdmUtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICRyZW1vdmUtY2lyY2xlOyB9XHJcbi8vIC5pY29uLW9rLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkb2stY2lyY2xlOyB9XHJcbi8vIC5pY29uLWJhbi1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogJGJhbi1jaXJjbGU7IH1cclxuLmljb24tYXJyb3ctbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkYXJyb3ctbGVmdDsgfVxyXG4uaWNvbi1hcnJvdy1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkYXJyb3ctcmlnaHQ7IH1cclxuLmljb24tYXJyb3ctdXA6YmVmb3JlIHsgY29udGVudDogJGFycm93LXVwOyB9XHJcbi5pY29uLWFycm93LWRvd246YmVmb3JlIHsgY29udGVudDogJGFycm93LWRvd247IH1cclxuLy8gLmljb24tbWFpbC1mb3J3YXJkOmJlZm9yZSxcclxuLy8gLmljb24tc2hhcmUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRzaGFyZS1hbHQ7IH1cclxuLy8gLmljb24tcmVzaXplLWZ1bGw6YmVmb3JlIHsgY29udGVudDogJHJlc2l6ZS1mdWxsOyB9XHJcbi8vIC5pY29uLXJlc2l6ZS1zbWFsbDpiZWZvcmUgeyBjb250ZW50OiAkcmVzaXplLXNtYWxsOyB9XHJcbi8vIC5pY29uLXBsdXM6YmVmb3JlIHsgY29udGVudDogJHBsdXM7IH1cclxuLy8gLmljb24tbWludXM6YmVmb3JlIHsgY29udGVudDogJG1pbnVzOyB9XHJcbi5pY29uLWFzdGVyaXNrOmJlZm9yZSB7IGNvbnRlbnQ6ICRhc3RlcmlzazsgfVxyXG4uaWNvbi1leGNsYW1hdGlvbi1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6ICRleGNsYW1hdGlvbi1zaWduOyB9XHJcbi8vIC5pY29uLWdpZnQ6YmVmb3JlIHsgY29udGVudDogJGdpZnQ7IH1cclxuLy8gLmljb24tbGVhZjpiZWZvcmUgeyBjb250ZW50OiAkbGVhZjsgfVxyXG4vLyAuaWNvbi1maXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmaXJlOyB9XHJcbi8vIC5pY29uLWV5ZS1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6ICRleWUtb3BlbjsgfVxyXG4vLyAuaWNvbi1leWUtY2xvc2U6YmVmb3JlIHsgY29udGVudDogJGV5ZS1jbG9zZTsgfVxyXG4uaWNvbi13YXJuaW5nLXNpZ246YmVmb3JlIHsgY29udGVudDogJHdhcm5pbmctc2lnbjsgfVxyXG4vLyAuaWNvbi1wbGFuZTpiZWZvcmUgeyBjb250ZW50OiAkcGxhbmU7IH1cclxuLy8gLmljb24tY2FsZW5kYXI6YmVmb3JlIHsgY29udGVudDogJGNhbGVuZGFyOyB9XHJcbi8vIC5pY29uLXJhbmRvbTpiZWZvcmUgeyBjb250ZW50OiAkcmFuZG9tOyB9XHJcbi8vIC5pY29uLWNvbW1lbnQ6YmVmb3JlIHsgY29udGVudDogJGNvbW1lbnQ7IH1cclxuLy8gLmljb24tbWFnbmV0OmJlZm9yZSB7IGNvbnRlbnQ6ICRtYWduZXQ7IH1cclxuLmljb24tY2hldnJvbi11cDpiZWZvcmUgeyBjb250ZW50OiAkY2hldnJvbi11cDsgfVxyXG4uaWNvbi1jaGV2cm9uLWRvd246YmVmb3JlIHsgY29udGVudDogJGNoZXZyb24tZG93bjsgfVxyXG4uaWNvbi1yZXR3ZWV0OmJlZm9yZSB7IGNvbnRlbnQ6ICRyZXR3ZWV0OyB9XHJcbi5pY29uLXNob3BwaW5nLWNhcnQ6YmVmb3JlIHsgY29udGVudDogJHNob3BwaW5nLWNhcnQ7IGZvbnQtc2l6ZTogMThweDsgfVxyXG4vLyAuaWNvbi1mb2xkZXItY2xvc2U6YmVmb3JlIHsgY29udGVudDogJGZvbGRlci1jbG9zZTsgfVxyXG4vLyAuaWNvbi1mb2xkZXItb3BlbjpiZWZvcmUgeyBjb250ZW50OiAkZm9sZGVyLW9wZW47IH1cclxuLy8gLmljb24tcmVzaXplLXZlcnRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6ICRyZXNpemUtdmVydGljYWw7IH1cclxuLy8gLmljb24tcmVzaXplLWhvcml6b250YWw6YmVmb3JlIHsgY29udGVudDogJHJlc2l6ZS1ob3Jpem9udGFsOyB9XHJcbi8vIC5pY29uLWJhci1jaGFydDpiZWZvcmUgeyBjb250ZW50OiAkYmFyLWNoYXJ0OyB9XHJcbi8vIC5pY29uLXR3aXR0ZXItc2lnbjpiZWZvcmUgeyBjb250ZW50OiAkdHdpdHRlci1zaWduOyB9XHJcbi8vIC5pY29uLWZhY2Vib29rLXNpZ246YmVmb3JlIHsgY29udGVudDogJGZhY2Vib29rLXNpZ247IH1cclxuLy8gLmljb24tY2FtZXJhLXJldHJvOmJlZm9yZSB7IGNvbnRlbnQ6ICRjYW1lcmEtcmV0cm87IH1cclxuLy8gLmljb24ta2V5OmJlZm9yZSB7IGNvbnRlbnQ6ICRrZXk7IH1cclxuLy8gLmljb24tZ2VhcnM6YmVmb3JlLFxyXG4vLyAuaWNvbi1jb2dzOmJlZm9yZSB7IGNvbnRlbnQ6ICRjb2dzOyB9XHJcbi8vIC5pY29uLWNvbW1lbnRzOmJlZm9yZSB7IGNvbnRlbnQ6ICRjb21tZW50czsgfVxyXG4vLyAuaWNvbi10aHVtYnMtdXAtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICR0aHVtYnMtdXAtYWx0OyB9XHJcbi8vIC5pY29uLXRodW1icy1kb3duLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkdGh1bWJzLWRvd24tYWx0OyB9XHJcbi8vIC5pY29uLXN0YXItaGFsZjpiZWZvcmUgeyBjb250ZW50OiAkc3Rhci1oYWxmOyB9XHJcbi8vIC5pY29uLWhlYXJ0LWVtcHR5OmJlZm9yZSB7IGNvbnRlbnQ6ICRoZWFydC1lbXB0eTsgfVxyXG4vLyAuaWNvbi1zaWdub3V0OmJlZm9yZSB7IGNvbnRlbnQ6ICRzaWdub3V0OyB9XHJcbi8vIC5pY29uLWxpbmtlZGluLXNpZ246YmVmb3JlIHsgY29udGVudDogJGxpbmtlZGluLXNpZ247IH1cclxuLy8gLmljb24tcHVzaHBpbjpiZWZvcmUgeyBjb250ZW50OiAkcHVzaHBpbjsgfVxyXG4vLyAuaWNvbi1leHRlcm5hbC1saW5rOmJlZm9yZSB7IGNvbnRlbnQ6ICRleHRlcm5hbC1saW5rOyB9XHJcbi8vIC5pY29uLXNpZ25pbjpiZWZvcmUgeyBjb250ZW50OiAkc2lnbmluOyB9XHJcbi8vIC5pY29uLXRyb3BoeTpiZWZvcmUgeyBjb250ZW50OiAkdHJvcGh5OyB9XHJcbi8vIC5pY29uLWdpdGh1Yi1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6ICRnaXRodWItc2lnbjsgfVxyXG4vLyAuaWNvbi11cGxvYWQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICR1cGxvYWQtYWx0OyB9XHJcbi8vIC5pY29uLWxlbW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICRsZW1vbjsgfVxyXG4vLyAuaWNvbi1waG9uZTpiZWZvcmUgeyBjb250ZW50OiAkcGhvbmU7IH1cclxuLy8gLmljb24tdW5jaGVja2VkOmJlZm9yZSxcclxuLy8gLmljb24tY2hlY2stZW1wdHk6YmVmb3JlIHsgY29udGVudDogJGNoZWNrLWVtcHR5OyB9XHJcbi8vIC5pY29uLWJvb2ttYXJrLWVtcHR5OmJlZm9yZSB7IGNvbnRlbnQ6ICRib29rbWFyay1lbXB0eTsgfVxyXG4vLyAuaWNvbi1waG9uZS1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6ICRwaG9uZS1zaWduOyB9XHJcbi8vIC5pY29uLXR3aXR0ZXI6YmVmb3JlIHsgY29udGVudDogJHR3aXR0ZXI7IH1cclxuLy8gLmljb24tZmFjZWJvb2s6YmVmb3JlIHsgY29udGVudDogJGZhY2Vib29rOyB9XHJcbi8vIC5pY29uLWdpdGh1YjpiZWZvcmUgeyBjb250ZW50OiAkZ2l0aHViOyB9XHJcbi8vIC5pY29uLXVubG9jazpiZWZvcmUgeyBjb250ZW50OiAkdW5sb2NrOyB9XHJcbi8vIC5pY29uLWNyZWRpdC1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRjcmVkaXQtY2FyZDsgfVxyXG4vLyAuaWNvbi1yc3M6YmVmb3JlIHsgY29udGVudDogJHJzczsgfVxyXG4vLyAuaWNvbi1oZGQ6YmVmb3JlIHsgY29udGVudDogJGhkZDsgfVxyXG4vLyAuaWNvbi1idWxsaG9ybjpiZWZvcmUgeyBjb250ZW50OiAkYnVsbGhvcm47IH1cclxuLy8gLmljb24tYmVsbDpiZWZvcmUgeyBjb250ZW50OiAkYmVsbDsgfVxyXG4vLyAuaWNvbi1jZXJ0aWZpY2F0ZTpiZWZvcmUgeyBjb250ZW50OiAkY2VydGlmaWNhdGU7IH1cclxuLy8gLmljb24taGFuZC1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkaGFuZC1yaWdodDsgfVxyXG4vLyAuaWNvbi1oYW5kLWxlZnQ6YmVmb3JlIHsgY29udGVudDogJGhhbmQtbGVmdDsgfVxyXG4vLyAuaWNvbi1oYW5kLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRoYW5kLXVwOyB9XHJcbi8vIC5pY29uLWhhbmQtZG93bjpiZWZvcmUgeyBjb250ZW50OiAkaGFuZC1kb3duOyB9XHJcbi5pY29uLWNpcmNsZS1hcnJvdy1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRjaXJjbGUtYXJyb3ctbGVmdDsgfVxyXG4uaWNvbi1jaXJjbGUtYXJyb3ctcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGNpcmNsZS1hcnJvdy1yaWdodDsgfVxyXG4uaWNvbi1jaXJjbGUtYXJyb3ctdXA6YmVmb3JlIHsgY29udGVudDogJGNpcmNsZS1hcnJvdy11cDsgfVxyXG4uaWNvbi1jaXJjbGUtYXJyb3ctZG93bjpiZWZvcmUgeyBjb250ZW50OiAkY2lyY2xlLWFycm93LWRvd247IH1cclxuLy8gLmljb24tZ2xvYmU6YmVmb3JlIHsgY29udGVudDogJGdsb2JlOyB9XHJcbi8vIC5pY29uLXdyZW5jaDpiZWZvcmUgeyBjb250ZW50OiAkd3JlbmNoOyB9XHJcbi8vIC5pY29uLXRhc2tzOmJlZm9yZSB7IGNvbnRlbnQ6ICR0YXNrczsgfVxyXG4vLyAuaWNvbi1maWx0ZXI6YmVmb3JlIHsgY29udGVudDogJGZpbHRlcjsgfVxyXG4vLyAuaWNvbi1icmllZmNhc2U6YmVmb3JlIHsgY29udGVudDogJGJyaWVmY2FzZTsgfVxyXG4vLyAuaWNvbi1mdWxsc2NyZWVuOmJlZm9yZSB7IGNvbnRlbnQ6ICRmdWxsc2NyZWVuOyB9XHJcbi8vIC5pY29uLWdyb3VwOmJlZm9yZSB7IGNvbnRlbnQ6ICRncm91cDsgfVxyXG4vLyAuaWNvbi1saW5rOmJlZm9yZSB7IGNvbnRlbnQ6ICRsaW5rOyB9XHJcbi8vIC5pY29uLWNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6ICRjbG91ZDsgfVxyXG4vLyAuaWNvbi1iZWFrZXI6YmVmb3JlIHsgY29udGVudDogJGJlYWtlcjsgfVxyXG4vLyAuaWNvbi1jdXQ6YmVmb3JlIHsgY29udGVudDogJGN1dDsgfVxyXG4vLyAuaWNvbi1jb3B5OmJlZm9yZSB7IGNvbnRlbnQ6ICRjb3B5OyB9XHJcbi8vIC5pY29uLXBhcGVyY2xpcDpiZWZvcmUsXHJcbi8vIC5pY29uLXBhcGVyLWNsaXA6YmVmb3JlIHsgY29udGVudDogJHBhcGVyLWNsaXA7IH1cclxuLy8gLmljb24tc2F2ZTpiZWZvcmUgeyBjb250ZW50OiAkc2F2ZTsgfVxyXG4vLyAuaWNvbi1zaWduLWJsYW5rOmJlZm9yZSB7IGNvbnRlbnQ6ICRzaWduLWJsYW5rOyB9XHJcbi8vIC5pY29uLXJlb3JkZXI6YmVmb3JlIHsgY29udGVudDogJHJlb3JkZXI7IH1cclxuLmljb24tbGlzdC11bDpiZWZvcmUgeyBjb250ZW50OiAkbGlzdC11bDsgfVxyXG4uaWNvbi1saXN0LW9sOmJlZm9yZSB7IGNvbnRlbnQ6ICRsaXN0LW9sOyB9XHJcbi5pY29uLXN0cmlrZXRocm91Z2g6YmVmb3JlIHsgY29udGVudDogJHN0cmlrZXRocm91Z2g7IH1cclxuLmljb24tdW5kZXJsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICR1bmRlcmxpbmU7IH1cclxuLmljb24tdGFibGU6YmVmb3JlIHsgY29udGVudDogJHRhYmxlOyB9XHJcbi8vIC5pY29uLW1hZ2ljOmJlZm9yZSB7IGNvbnRlbnQ6ICRtYWdpYzsgfVxyXG4vLyAuaWNvbi10cnVjazpiZWZvcmUgeyBjb250ZW50OiAkdHJ1Y2s7IH1cclxuLy8gLmljb24tcGludGVyZXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICRwaW50ZXJlc3Q7IH1cclxuLy8gLmljb24tcGludGVyZXN0LXNpZ246YmVmb3JlIHsgY29udGVudDogJHBpbnRlcmVzdC1zaWduOyB9XHJcbi8vIC5pY29uLWdvb2dsZS1wbHVzLXNpZ246YmVmb3JlIHsgY29udGVudDogJGdvb2dsZS1wbHVzLXNpZ247IH1cclxuLy8gLmljb24tZ29vZ2xlLXBsdXM6YmVmb3JlIHsgY29udGVudDogJGdvb2dsZS1wbHVzOyB9XHJcbi8vIC5pY29uLW1vbmV5OmJlZm9yZSB7IGNvbnRlbnQ6ICRtb25leTsgfVxyXG4uaWNvbi1jYXJldC1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRjYXJldC1kb3duOyB9XHJcbi5pY29uLWNhcmV0LXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRjYXJldC11cDsgfVxyXG4uaWNvbi1jYXJldC1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRjYXJldC1sZWZ0OyB9XHJcbi5pY29uLWNhcmV0LXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRjYXJldC1yaWdodDsgfVxyXG4vLyAuaWNvbi1jb2x1bW5zOmJlZm9yZSB7IGNvbnRlbnQ6ICRjb2x1bW5zOyB9XHJcbi8vIC5pY29uLXNvcnQ6YmVmb3JlIHsgY29udGVudDogJHNvcnQ7IH1cclxuLy8gLmljb24tc29ydC1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRzb3J0LWRvd247IH1cclxuLy8gLmljb24tc29ydC11cDpiZWZvcmUgeyBjb250ZW50OiAkc29ydC11cDsgfVxyXG4vLyAuaWNvbi1lbnZlbG9wZTpiZWZvcmUgeyBjb250ZW50OiAkZW52ZWxvcGU7IH1cclxuLy8gLmljb24tbGlua2VkaW46YmVmb3JlIHsgY29udGVudDogJGxpbmtlZGluOyB9XHJcbi8vIC5pY29uLXJvdGF0ZS1sZWZ0OmJlZm9yZSxcclxuLy8gLmljb24tdW5kbzpiZWZvcmUgeyBjb250ZW50OiAkdW5kbzsgfVxyXG4vLyAuaWNvbi1sZWdhbDpiZWZvcmUgeyBjb250ZW50OiAkbGVnYWw7IH1cclxuLy8gLmljb24tZGFzaGJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRkYXNoYm9hcmQ7IH1cclxuLy8gLmljb24tY29tbWVudC1hbHQ6YmVmb3JlIHsgY29udGVudDogJGNvbW1lbnQtYWx0OyB9XHJcbi8vIC5pY29uLWNvbW1lbnRzLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkY29tbWVudHMtYWx0OyB9XHJcbi8vIC5pY29uLWJvbHQ6YmVmb3JlIHsgY29udGVudDogJGJvbHQ7IH1cclxuLy8gLmljb24tc2l0ZW1hcDpiZWZvcmUgeyBjb250ZW50OiAkc2l0ZW1hcDsgfVxyXG4vLyAuaWNvbi11bWJyZWxsYTpiZWZvcmUgeyBjb250ZW50OiAkdW1icmVsbGE7IH1cclxuLy8gLmljb24tcGFzdGU6YmVmb3JlIHsgY29udGVudDogJHBhc3RlOyB9XHJcbi8vIC5pY29uLWxpZ2h0YnVsYjpiZWZvcmUgeyBjb250ZW50OiAkbGlnaHRidWxiOyB9XHJcbi8vIC5pY29uLWV4Y2hhbmdlOmJlZm9yZSB7IGNvbnRlbnQ6ICRleGNoYW5nZTsgfVxyXG4vLyAuaWNvbi1jbG91ZC1kb3dubG9hZDpiZWZvcmUgeyBjb250ZW50OiAkY2xvdWQtZG93bmxvYWQ7IH1cclxuLy8gLmljb24tY2xvdWQtdXBsb2FkOmJlZm9yZSB7IGNvbnRlbnQ6ICRjbG91ZC11cGxvYWQ7IH1cclxuLy8gLmljb24tdXNlci1tZDpiZWZvcmUgeyBjb250ZW50OiAkdXNlci1tZDsgfVxyXG4vLyAuaWNvbi1zdGV0aG9zY29wZTpiZWZvcmUgeyBjb250ZW50OiAkc3RldGhvc2NvcGU7IH1cclxuLy8gLmljb24tc3VpdGNhc2U6YmVmb3JlIHsgY29udGVudDogJHN1aXRjYXNlOyB9XHJcbi8vIC5pY29uLWJlbGwtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRiZWxsLWFsdDsgfVxyXG4vLyAuaWNvbi1jb2ZmZWU6YmVmb3JlIHsgY29udGVudDogJGNvZmZlZTsgfVxyXG4vLyAuaWNvbi1mb29kOmJlZm9yZSB7IGNvbnRlbnQ6ICRmb29kOyB9XHJcbi8vIC5pY29uLWZpbGUtdGV4dC1hbHQ6YmVmb3JlIHsgY29udGVudDogJGZpbGUtdGV4dC1hbHQ7IH1cclxuLy8gLmljb24tYnVpbGRpbmc6YmVmb3JlIHsgY29udGVudDogJGJ1aWxkaW5nOyB9XHJcbi8vIC5pY29uLWhvc3BpdGFsOmJlZm9yZSB7IGNvbnRlbnQ6ICRob3NwaXRhbDsgfVxyXG4vLyAuaWNvbi1hbWJ1bGFuY2U6YmVmb3JlIHsgY29udGVudDogJGFtYnVsYW5jZTsgfVxyXG4vLyAuaWNvbi1tZWRraXQ6YmVmb3JlIHsgY29udGVudDogJG1lZGtpdDsgfVxyXG4vLyAuaWNvbi1maWdodGVyLWpldDpiZWZvcmUgeyBjb250ZW50OiAkZmlnaHRlci1qZXQ7IH1cclxuLy8gLmljb24tYmVlcjpiZWZvcmUgeyBjb250ZW50OiAkYmVlcjsgfVxyXG4vLyAuaWNvbi1oLXNpZ246YmVmb3JlIHsgY29udGVudDogJGgtc2lnbjsgfVxyXG4vLyAuaWNvbi1wbHVzLXNpZ24tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRwbHVzLXNpZ24tYWx0OyB9XHJcbi5pY29uLWRvdWJsZS1hbmdsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRkb3VibGUtYW5nbGUtbGVmdDsgfVxyXG4uaWNvbi1kb3VibGUtYW5nbGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGRvdWJsZS1hbmdsZS1yaWdodDsgfVxyXG4uaWNvbi1kb3VibGUtYW5nbGUtdXA6YmVmb3JlIHsgY29udGVudDogJGRvdWJsZS1hbmdsZS11cDsgfVxyXG4uaWNvbi1kb3VibGUtYW5nbGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiAkZG91YmxlLWFuZ2xlLWRvd247IH1cclxuLmljb24tYW5nbGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkYW5nbGUtbGVmdDsgfVxyXG4uaWNvbi1hbmdsZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiAkYW5nbGUtcmlnaHQ7IH1cclxuLmljb24tYW5nbGUtdXA6YmVmb3JlIHsgY29udGVudDogJGFuZ2xlLXVwOyB9XHJcbi5pY29uLWFuZ2xlLWRvd246YmVmb3JlIHsgY29udGVudDogJGFuZ2xlLWRvd247IH1cclxuLy8gLmljb24tZGVza3RvcDpiZWZvcmUgeyBjb250ZW50OiAkZGVza3RvcDsgfVxyXG4vLyAuaWNvbi1sYXB0b3A6YmVmb3JlIHsgY29udGVudDogJGxhcHRvcDsgfVxyXG4vLyAuaWNvbi10YWJsZXQ6YmVmb3JlIHsgY29udGVudDogJHRhYmxldDsgfVxyXG4vLyAuaWNvbi1tb2JpbGUtcGhvbmU6YmVmb3JlIHsgY29udGVudDogJG1vYmlsZS1waG9uZTsgfVxyXG4vLyAuaWNvbi1jaXJjbGUtYmxhbms6YmVmb3JlIHsgY29udGVudDogJGNpcmNsZS1ibGFuazsgfVxyXG4vLyAuaWNvbi1xdW90ZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICRxdW90ZS1sZWZ0OyB9XHJcbi8vIC5pY29uLXF1b3RlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRxdW90ZS1yaWdodDsgfVxyXG4vLyAuaWNvbi1zcGlubmVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRzcGlubmVyOyB9XHJcbi8vIC5pY29uLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAkY2lyY2xlOyB9XHJcbi8vIC5pY29uLW1haWwtcmVwbHk6YmVmb3JlLFxyXG4vLyAuaWNvbi1yZXBseTpiZWZvcmUgeyBjb250ZW50OiAkcmVwbHk7IH1cclxuLy8gLmljb24tZ2l0aHViLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZ2l0aHViLWFsdDsgfVxyXG4vLyAuaWNvbi1mb2xkZXItY2xvc2UtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRmb2xkZXItY2xvc2UtYWx0OyB9XHJcbi8vIC5pY29uLWZvbGRlci1vcGVuLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZm9sZGVyLW9wZW4tYWx0OyB9XHJcbi5pY29uLWV4cGFuZC1hbHQ6YmVmb3JlIHsgY29udGVudDogJGV4cGFuZC1hbHQ7IH1cclxuLmljb24tY29sbGFwc2UtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICRjb2xsYXBzZS1hbHQ7IH1cclxuLmljb24tc21pbGU6YmVmb3JlIHsgY29udGVudDogJHNtaWxlOyB9XHJcbi5pY29uLWZyb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRmcm93bjsgfVxyXG4uaWNvbi1tZWg6YmVmb3JlIHsgY29udGVudDogJG1laDsgfVxyXG4uaWNvbi1nYW1lcGFkOmJlZm9yZSB7IGNvbnRlbnQ6ICRnYW1lcGFkOyB9XHJcbi5pY29uLWtleWJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICRrZXlib2FyZDsgfVxyXG4uaWNvbi1mbGFnLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkZmxhZy1hbHQ7IH1cclxuLmljb24tZmxhZy1jaGVja2VyZWQ6YmVmb3JlIHsgY29udGVudDogJGZsYWctY2hlY2tlcmVkOyB9XHJcbi5pY29uLXRlcm1pbmFsOmJlZm9yZSB7IGNvbnRlbnQ6ICR0ZXJtaW5hbDsgfVxyXG4uaWNvbi1jb2RlOmJlZm9yZSB7IGNvbnRlbnQ6ICRjb2RlOyB9XHJcbi5pY29uLXJlcGx5LWFsbDpiZWZvcmUgeyBjb250ZW50OiAkcmVwbHktYWxsOyB9XHJcbi5pY29uLW1haWwtcmVwbHktYWxsOmJlZm9yZSB7IGNvbnRlbnQ6ICRtYWlsLXJlcGx5LWFsbDsgfVxyXG4uaWNvbi1zdGFyLWhhbGYtZnVsbDpiZWZvcmUsXHJcbi5pY29uLXN0YXItaGFsZi1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiAkc3Rhci1oYWxmLWVtcHR5OyB9XHJcbi5pY29uLWxvY2F0aW9uLWFycm93OmJlZm9yZSB7IGNvbnRlbnQ6ICRsb2NhdGlvbi1hcnJvdzsgfVxyXG4vLyAuaWNvbi1jcm9wOmJlZm9yZSB7IGNvbnRlbnQ6ICRjcm9wOyB9XHJcbi8vIC5pY29uLWNvZGUtZm9yazpiZWZvcmUgeyBjb250ZW50OiAkY29kZS1mb3JrOyB9XHJcbi8vIC5pY29uLXVubGluazpiZWZvcmUgeyBjb250ZW50OiAkdW5saW5rOyB9XHJcbi8vIC5pY29uLXF1ZXN0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICRxdWVzdGlvbjsgfVxyXG4uaWNvbi1pbmZvOmJlZm9yZSB7IGNvbnRlbnQ6ICRpbmZvOyB9XHJcbi8vIC5pY29uLWV4Y2xhbWF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICRleGNsYW1hdGlvbjsgfVxyXG4vLyAuaWNvbi1zdXBlcnNjcmlwdDpiZWZvcmUgeyBjb250ZW50OiAkc3VwZXJzY3JpcHQ7IH1cclxuLy8gLmljb24tc3Vic2NyaXB0OmJlZm9yZSB7IGNvbnRlbnQ6ICRzdWJzY3JpcHQ7IH1cclxuLy8gLmljb24tZXJhc2VyOmJlZm9yZSB7IGNvbnRlbnQ6ICRlcmFzZXI7IH1cclxuLy8gLmljb24tcHV6emxlLXBpZWNlOmJlZm9yZSB7IGNvbnRlbnQ6ICRwdXp6bGUtcGllY2U7IH1cclxuLy8gLmljb24tbWljcm9waG9uZTpiZWZvcmUgeyBjb250ZW50OiAkbWljcm9waG9uZTsgfVxyXG4vLyAuaWNvbi1taWNyb3Bob25lLW9mZjpiZWZvcmUgeyBjb250ZW50OiAkbWljcm9waG9uZS1vZmY7IH1cclxuLy8gLmljb24tc2hpZWxkOmJlZm9yZSB7IGNvbnRlbnQ6ICRzaGllbGQ7IH1cclxuLy8gLmljb24tY2FsZW5kYXItZW1wdHk6YmVmb3JlIHsgY29udGVudDogJGNhbGVuZGFyLWVtcHR5OyB9XHJcbi8vIC5pY29uLWZpcmUtZXh0aW5ndWlzaGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmaXJlLWV4dGluZ3Vpc2hlcjsgfVxyXG4vLyAuaWNvbi1yb2NrZXQ6YmVmb3JlIHsgY29udGVudDogJHJvY2tldDsgfVxyXG4vLyAuaWNvbi1tYXhjZG46YmVmb3JlIHsgY29udGVudDogJG1heGNkbjsgfVxyXG4uaWNvbi1jaGV2cm9uLXNpZ24tbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkY2hldnJvbi1zaWduLWxlZnQ7IH1cclxuLmljb24tY2hldnJvbi1zaWduLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICRjaGV2cm9uLXNpZ24tcmlnaHQ7IH1cclxuLmljb24tY2hldnJvbi1zaWduLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRjaGV2cm9uLXNpZ24tdXA7IH1cclxuLmljb24tY2hldnJvbi1zaWduLWRvd246YmVmb3JlIHsgY29udGVudDogJGNoZXZyb24tc2lnbi1kb3duOyB9XHJcbi8vIC5pY29uLWh0bWw1OmJlZm9yZSB7IGNvbnRlbnQ6ICRodG1sNTsgfVxyXG4vLyAuaWNvbi1jc3MzOmJlZm9yZSB7IGNvbnRlbnQ6ICRjc3MzOyB9XHJcbi8vIC5pY29uLWFuY2hvcjpiZWZvcmUgeyBjb250ZW50OiAkYW5jaG9yOyB9XHJcbi8vIC5pY29uLXVubG9jay1hbHQ6YmVmb3JlIHsgY29udGVudDogJHVubG9jay1hbHQ7IH1cclxuLy8gLmljb24tYnVsbHNleWU6YmVmb3JlIHsgY29udGVudDogJGJ1bGxzZXllOyB9XHJcbi8vIC5pY29uLWVsbGlwc2lzLWhvcml6b250YWw6YmVmb3JlIHsgY29udGVudDogJGVsbGlwc2lzLWhvcml6b250YWw7IH1cclxuLmljb24tZWxsaXBzaXMtdmVydGljYWw6YmVmb3JlIHsgY29udGVudDogJGVsbGlwc2lzLXZlcnRpY2FsOyB9XHJcbi8vIC5pY29uLXJzcy1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6ICRyc3Mtc2lnbjsgfVxyXG4vLyAuaWNvbi1wbGF5LXNpZ246YmVmb3JlIHsgY29udGVudDogJHBsYXktc2lnbjsgfVxyXG4vLyAuaWNvbi10aWNrZXQ6YmVmb3JlIHsgY29udGVudDogJHRpY2tldDsgfVxyXG4vLyAuaWNvbi1taW51cy1zaWduLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkbWludXMtc2lnbi1hbHQ7IH1cclxuLy8gLmljb24tY2hlY2stbWludXM6YmVmb3JlIHsgY29udGVudDogJGNoZWNrLW1pbnVzOyB9XHJcbi8vIC5pY29uLWxldmVsLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRsZXZlbC11cDsgfVxyXG4vLyAuaWNvbi1sZXZlbC1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICRsZXZlbC1kb3duOyB9XHJcbi8vIC5pY29uLWNoZWNrLXNpZ246YmVmb3JlIHsgY29udGVudDogJGNoZWNrLXNpZ247IH1cclxuLy8gLmljb24tZWRpdC1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6ICRlZGl0LXNpZ247IH1cclxuLy8gLmljb24tZXh0ZXJuYWwtbGluay1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6ICRleHRlcm5hbC1saW5rLXNpZ247IH1cclxuLy8gLmljb24tc2hhcmUtc2lnbjpiZWZvcmUgeyBjb250ZW50OiAkc2hhcmUtc2lnbjsgfVxyXG4vLyAuaWNvbi1jb21wYXNzOmJlZm9yZSB7IGNvbnRlbnQ6ICRjb21wYXNzOyB9XHJcbi8vIC5pY29uLWNvbGxhcHNlOmJlZm9yZSB7IGNvbnRlbnQ6ICRjb2xsYXBzZTsgfVxyXG4vLyAuaWNvbi1jb2xsYXBzZS10b3A6YmVmb3JlIHsgY29udGVudDogJGNvbGxhcHNlLXRvcDsgfVxyXG4vLyAuaWNvbi1leHBhbmQ6YmVmb3JlIHsgY29udGVudDogJGV4cGFuZDsgfVxyXG4vLyAuaWNvbi1ldXJvOmJlZm9yZSxcclxuLy8gLmljb24tZXVyOmJlZm9yZSB7IGNvbnRlbnQ6ICRldXI7IH1cclxuLy8gLmljb24tZ2JwOmJlZm9yZSB7IGNvbnRlbnQ6ICRnYnA7IH1cclxuLy8gLmljb24tZG9sbGFyOmJlZm9yZSxcclxuLy8gLmljb24tdXNkOmJlZm9yZSB7IGNvbnRlbnQ6ICR1c2Q7IH1cclxuLy8gLmljb24tcnVwZWU6YmVmb3JlLFxyXG4vLyAuaWNvbi1pbnI6YmVmb3JlIHsgY29udGVudDogJGlucjsgfVxyXG4vLyAuaWNvbi15ZW46YmVmb3JlLFxyXG4vLyAuaWNvbi1qcHk6YmVmb3JlIHsgY29udGVudDogJGpweTsgfVxyXG4vLyAuaWNvbi1yZW5taW5iaTpiZWZvcmUsXHJcbi8vIC5pY29uLWNueTpiZWZvcmUgeyBjb250ZW50OiAkY255OyB9XHJcbi8vIC5pY29uLXdvbjpiZWZvcmUsXHJcbi8vIC5pY29uLWtydzpiZWZvcmUgeyBjb250ZW50OiAka3J3OyB9XHJcbi8vIC5pY29uLWJpdGNvaW46YmVmb3JlLFxyXG4vLyAuaWNvbi1idGM6YmVmb3JlIHsgY29udGVudDogJGJ0YzsgfVxyXG4vLyAuaWNvbi1maWxlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmaWxlOyB9XHJcbi8vIC5pY29uLWZpbGUtdGV4dDpiZWZvcmUgeyBjb250ZW50OiAkZmlsZS10ZXh0OyB9XHJcbi8vIC5pY29uLXNvcnQtYnktYWxwaGFiZXQ6YmVmb3JlIHsgY29udGVudDogJHNvcnQtYnktYWxwaGFiZXQ7IH1cclxuLy8gLmljb24tc29ydC1ieS1hbHBoYWJldC1hbHQ6YmVmb3JlIHsgY29udGVudDogJHNvcnQtYnktYWxwaGFiZXQtYWx0OyB9XHJcbi8vIC5pY29uLXNvcnQtYnktYXR0cmlidXRlczpiZWZvcmUgeyBjb250ZW50OiAkc29ydC1ieS1hdHRyaWJ1dGVzOyB9XHJcbi8vIC5pY29uLXNvcnQtYnktYXR0cmlidXRlcy1hbHQ6YmVmb3JlIHsgY29udGVudDogJHNvcnQtYnktYXR0cmlidXRlcy1hbHQ7IH1cclxuLy8gLmljb24tc29ydC1ieS1vcmRlcjpiZWZvcmUgeyBjb250ZW50OiAkc29ydC1ieS1vcmRlcjsgfVxyXG4vLyAuaWNvbi1zb3J0LWJ5LW9yZGVyLWFsdDpiZWZvcmUgeyBjb250ZW50OiAkc29ydC1ieS1vcmRlci1hbHQ7IH1cclxuLy8gLmljb24tdGh1bWJzLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICR0aHVtYnMtdXA7IH1cclxuLy8gLmljb24tdGh1bWJzLWRvd246YmVmb3JlIHsgY29udGVudDogJHRodW1icy1kb3duOyB9XHJcbi8vIC5pY29uLXlvdXR1YmUtc2lnbjpiZWZvcmUgeyBjb250ZW50OiAkeW91dHViZS1zaWduOyB9XHJcbi8vIC5pY29uLXlvdXR1YmU6YmVmb3JlIHsgY29udGVudDogJHlvdXR1YmU7IH1cclxuLy8gLmljb24teGluZzpiZWZvcmUgeyBjb250ZW50OiAkeGluZzsgfVxyXG4vLyAuaWNvbi14aW5nLXNpZ246YmVmb3JlIHsgY29udGVudDogJHhpbmctc2lnbjsgfVxyXG4vLyAuaWNvbi15b3V0dWJlLXBsYXk6YmVmb3JlIHsgY29udGVudDogJHlvdXR1YmUtcGxheTsgfVxyXG4vLyAuaWNvbi1kcm9wYm94OmJlZm9yZSB7IGNvbnRlbnQ6ICRkcm9wYm94OyB9XHJcbi8vIC5pY29uLXN0YWNrZXhjaGFuZ2U6YmVmb3JlIHsgY29udGVudDogJHN0YWNrZXhjaGFuZ2U7IH1cclxuLy8gLmljb24taW5zdGFncmFtOmJlZm9yZSB7IGNvbnRlbnQ6ICRpbnN0YWdyYW07IH1cclxuLy8gLmljb24tZmxpY2tyOmJlZm9yZSB7IGNvbnRlbnQ6ICRmbGlja3I7IH1cclxuLy8gLmljb24tYWRuOmJlZm9yZSB7IGNvbnRlbnQ6ICRhZG47IH1cclxuLy8gLmljb24tYml0YnVja2V0OmJlZm9yZSB7IGNvbnRlbnQ6ICRiaXRidWNrZXQ7IH1cclxuLy8gLmljb24tYml0YnVja2V0LXNpZ246YmVmb3JlIHsgY29udGVudDogJGJpdGJ1Y2tldC1zaWduOyB9XHJcbi8vIC5pY29uLXR1bWJscjpiZWZvcmUgeyBjb250ZW50OiAkdHVtYmxyOyB9XHJcbi8vIC5pY29uLXR1bWJsci1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6ICR0dW1ibHItc2lnbjsgfVxyXG4vLyAuaWNvbi1sb25nLWFycm93LWRvd246YmVmb3JlIHsgY29udGVudDogJGxvbmctYXJyb3ctZG93bjsgfVxyXG4vLyAuaWNvbi1sb25nLWFycm93LXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICRsb25nLWFycm93LXVwOyB9XHJcbi8vIC5pY29uLWxvbmctYXJyb3ctbGVmdDpiZWZvcmUgeyBjb250ZW50OiAkbG9uZy1hcnJvdy1sZWZ0OyB9XHJcbi8vIC5pY29uLWxvbmctYXJyb3ctcmlnaHQ6YmVmb3JlIHsgY29udGVudDogJGxvbmctYXJyb3ctcmlnaHQ7IH1cclxuLy8gLmljb24tYXBwbGU6YmVmb3JlIHsgY29udGVudDogJGFwcGxlOyB9XHJcbi8vIC5pY29uLXdpbmRvd3M6YmVmb3JlIHsgY29udGVudDogJHdpbmRvd3M7IH1cclxuLy8gLmljb24tYW5kcm9pZDpiZWZvcmUgeyBjb250ZW50OiAkYW5kcm9pZDsgfVxyXG4vLyAuaWNvbi1saW51eDpiZWZvcmUgeyBjb250ZW50OiAkbGludXg7IH1cclxuLy8gLmljb24tZHJpYmJibGU6YmVmb3JlIHsgY29udGVudDogJGRyaWJiYmxlOyB9XHJcbi8vIC5pY29uLXNreXBlOmJlZm9yZSB7IGNvbnRlbnQ6ICRza3lwZTsgfVxyXG4vLyAuaWNvbi1mb3Vyc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICRmb3Vyc3F1YXJlOyB9XHJcbi8vIC5pY29uLXRyZWxsbzpiZWZvcmUgeyBjb250ZW50OiAkdHJlbGxvOyB9XHJcbi8vIC5pY29uLWZlbWFsZTpiZWZvcmUgeyBjb250ZW50OiAkZmVtYWxlOyB9XHJcbi8vIC5pY29uLW1hbGU6YmVmb3JlIHsgY29udGVudDogJG1hbGU7IH1cclxuLy8gLmljb24tZ2l0dGlwOmJlZm9yZSB7IGNvbnRlbnQ6ICRnaXR0aXA7IH1cclxuLy8gLmljb24tc3VuOmJlZm9yZSB7IGNvbnRlbnQ6ICRzdW47IH1cclxuLy8gLmljb24tbW9vbjpiZWZvcmUgeyBjb250ZW50OiAkbW9vbjsgfVxyXG4vLyAuaWNvbi1hcmNoaXZlOmJlZm9yZSB7IGNvbnRlbnQ6ICRhcmNoaXZlOyB9XHJcbi8vIC5pY29uLWJ1ZzpiZWZvcmUgeyBjb250ZW50OiAkYnVnOyB9XHJcbi8vIC5pY29uLXZrOmJlZm9yZSB7IGNvbnRlbnQ6ICR2azsgfVxyXG4vLyAuaWNvbi13ZWlibzpiZWZvcmUgeyBjb250ZW50OiAkd2VpYm87IH1cclxuLy8gLmljb24tcmVucmVuOmJlZm9yZSB7IGNvbnRlbnQ6ICRyZW5yZW47IH1cclxuXHJcblxyXG4iLCJcclxuXHJcbi8vIERlZmluZSBicmVha3BvaW50c1xyXG4kZGVza3RvcDogbmV3LWJyZWFrcG9pbnQobWluLXdpZHRoIDEwMjVweCk7XHJcbiR0YWJsZXQ6IG5ldy1icmVha3BvaW50KG1pbi13aWR0aCA3NjhweCBtYXgtd2lkdGggMTAyNHB4KTtcclxuJGl0dHk6IG5ldy1icmVha3BvaW50KG1pbi13aWR0aCAzODFweCBtYXgtd2lkdGggNzY3cHgpO1xyXG4kYml0dHk6IG5ldy1icmVha3BvaW50KG1pbi13aWR0aCAwcHggbWF4LXdpZHRoIDM4MHB4KTtcclxuXHJcbi8vIEJvdGggbW9iaWxlIHNpemVzXHJcbiRtb2JpbGU6IG5ldy1icmVha3BvaW50KG1pbi13aWR0aCAwcHggbWF4LXdpZHRoIDc2N3B4KTtcclxuXHJcbiRtb2JpbGUtdGFiOiBuZXctYnJlYWtwb2ludChtaW4td2lkdGggMHB4IG1heC13aWR0aCAxMDI0cHgpOyIsIi8vIE1peGluc1xyXG5AbWl4aW4gYW5pbWF0aW9uKCRwcm9wZXJ0aWVzKSB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb246ICRwcm9wZXJ0aWVzO1xyXG4gIC1tb3otYW5pbWF0aW9uOiAkcHJvcGVydGllcztcclxuICAtby1hbmltYXRpb246ICRwcm9wZXJ0aWVzO1xyXG4gIGFuaW1hdGlvbjogJHByb3BlcnRpZXM7XHJcbn1cclxuXHJcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXMpIHtcclxuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbn1cclxuXHJcbkBtaXhpbiBib3gtc2l6aW5nIHtcclxuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgLy8gKmJlaGF2aW9yOiB1cmwoJy4uL2pzL2JveHNpemluZy5odGMnKVxyXG59XHJcblxyXG4vKkBtaXhpbiBib3gtc2hhZG93KCRwcm9wZXJ0aWVzKSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkcHJvcGVydGllcztcclxuICAtbW96LWJveC1zaGFkb3c6ICRwcm9wZXJ0aWVzO1xyXG4gIGJveC1zaGFkb3c6ICRwcm9wZXJ0aWVzO1xyXG59Ki9cclxuXHJcbkBtaXhpbiBmb250YXdlc29tZSB7XHJcbiAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcclxufVxyXG5cclxuQG1peGluIGlubGluZS1ibG9jayB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHpvb206IDE7XHJcbiAgKmRpc3BsYXk6IGlubGluZTtcclxufVxyXG5cclxuQG1peGluIG9wYWNpdHkoJHZhbHVlKSB7XHJcbiAgb3BhY2l0eTogJHZhbHVlO1xyXG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eSA9ICR2YWx1ZSAqIDEwMCk7XHJcbiAgem9vbTogMTtcclxufVxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyLWNvbG9yKCRjb2xvcikge1xyXG4gICY6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICBjb2xvcjogJGNvbG9yO1xyXG4gIH1cclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG4gICYucGxhY2Vob2xkZXIge1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBleHBlcmltZW50YWwoJHByb3BlcnR5LCAkdmFsdWUsICRtb3o6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSwgJHdlYmtpdDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQsICRvOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW9wZXJhLCAkbXM6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbWljcm9zb2Z0LCAka2h0bWw6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Ita2h0bWwsICRvZmZpY2lhbDogdHJ1ZSkge1xyXG4gIEBpZiAkd2Via2l0IGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCB7XHJcbiAgICAtd2Via2l0LSN7JHByb3BlcnR5fTogJHZhbHVlOyB9XHJcbiAgQGlmICRraHRtbCBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCB7XHJcbiAgICAta2h0bWwtI3skcHJvcGVydHl9OiAkdmFsdWU7IH1cclxuICBAaWYgJG1veiBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1tb3ppbGxhIHtcclxuICAgIC1tb3otI3skcHJvcGVydHl9OiAkdmFsdWU7IH1cclxuICBAaWYgJG1zIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCB7XHJcbiAgICAtbXMtI3skcHJvcGVydHl9OiAkdmFsdWU7IH1cclxuICBAaWYgJG8gYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEge1xyXG4gICAgLW8tI3skcHJvcGVydHl9OiAkdmFsdWU7IH1cclxuICBAaWYgJG9mZmljaWFsIHtcclxuICAgICN7JHByb3BlcnR5fTogJHZhbHVlOyB9IH1cclxuXHJcbkBtaXhpbiBiYWNrZ3JvdW5kLXNpemUoJHNpemUtMTogJGRlZmF1bHQtYmFja2dyb3VuZC1zaXplLCAkc2l6ZS0yOiBmYWxzZSwgJHNpemUtMzogZmFsc2UsICRzaXplLTQ6IGZhbHNlLCAkc2l6ZS01OiBmYWxzZSwgJHNpemUtNjogZmFsc2UsICRzaXplLTc6IGZhbHNlLCAkc2l6ZS04OiBmYWxzZSwgJHNpemUtOTogZmFsc2UsICRzaXplLTEwOiBmYWxzZSkge1xyXG4gICRzaXplLTE6IGlmKHR5cGUtb2YoJHNpemUtMSkgPT0gc3RyaW5nLCB1bnF1b3RlKCRzaXplLTEpLCAkc2l6ZS0xKTtcclxuICAkc2l6ZXM6IGNvbXBhY3QoJHNpemUtMSwgJHNpemUtMiwgJHNpemUtMywgJHNpemUtNCwgJHNpemUtNSwgJHNpemUtNiwgJHNpemUtNywgJHNpemUtOCwgJHNpemUtOSwgJHNpemUtMTApO1xyXG4gIEBpbmNsdWRlIGV4cGVyaW1lbnRhbChiYWNrZ3JvdW5kLXNpemUsICRzaXplcywgLW1veiwgLXdlYmtpdCwgLW8sIG5vdCAtbXMsIG5vdCAta2h0bWwpOyB9XHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbigkcHJvcGVydGllcykge1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogJHByb3BlcnRpZXM7XHJcbiAgLW1vei10cmFuc2l0aW9uOiAkcHJvcGVydGllcztcclxuICAtby10cmFuc2l0aW9uOiAkcHJvcGVydGllcztcclxuICB0cmFuc2l0aW9uOiAkcHJvcGVydGllcztcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuQG1peGluIHRyYW5zZm9ybSgkcHJvcGVydGllcykge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiAkcHJvcGVydGllcztcclxuICAtbW96LXRyYW5zZm9ybTogJHByb3BlcnRpZXM7XHJcbiAgLW1zLXRyYW5zZm9ybTogJHByb3BlcnRpZXM7XHJcbiAgLW8tdHJhbnNmb3JtOiAkcHJvcGVydGllcztcclxuICB0cmFuc2Zvcm06ICRwcm9wZXJ0aWVzO1xyXG59XHJcblxyXG5AbWl4aW4gdmVydGljYWwtZ3JhZGllbnQoJGZyb20sICR0bykge1xyXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUsICRmcm9tKSwgY29sb3Itc3RvcCgxMDAlLCAkdG8pKTtcclxuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICRmcm9tLCAkdG8pO1xyXG4gIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgJGZyb20sICR0byk7XHJcbiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICRmcm9tLCAkdG8pO1xyXG4gIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICRmcm9tLCAkdG8pO1xyXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRmcm9tLCAkdG8pO1xyXG59XHJcblxyXG5AbWl4aW4gc2VsZWN0aW9uKCRjb2xvcikge1xyXG4gICY6OnNlbGVjdGlvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XHJcbiAgfVxyXG4gICY6Oi1tb3otc2VsZWN0aW9uIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBjbGVhcmZpeCB7XHJcbiAgKnpvb206IDE7XHJcbiAgJjpiZWZvcmUsXHJcbiAgJjphZnRlciB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgfVxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gZHJvcGRvd24tYXJyb3coJGNvbG9yOiAkYmFzZSwgJHRvcDogNXB4LCAkbGVmdDogMTVweCwgJHNpemU6IDlweCkge1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAwICRzaXplICRzaXplICRzaXplO1xyXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkY29sb3IgdHJhbnNwYXJlbnQ7XHJcbiAgICBoZWlnaHQ6IDBweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6ICRsZWZ0O1xyXG4gICAgdG9wOiAkdG9wO1xyXG4gICAgd2lkdGg6IDBweDtcclxuICAgIC8vIE1ha2UgY29ybmVycyBzbW9vdGhcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBkcm9wLWllLWdyYWRpZW50IHtcclxuICBmaWx0ZXI6IHVucXVvdGUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKVwiKTtcclxufVxyXG5cclxuLy8gUmVtb3ZlIHRoZSBidWxsZXRzLCBtYXJnaW4gYW5kIHBhZGRpbmcgZnJvbSB1bm9yZGVyZWQgbGlzdCBpdGVtc1xyXG5AbWl4aW4gbm9idWxsZXQtbm9zcGFjZSB7XHJcbiAgdWwge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZSBvdXRzaWRlO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDsgfVxyXG59XHJcblxyXG4vLyB0cmlhbmdsZVxyXG5cclxuXHJcbkBtaXhpbiB0cmlhbmdsZSgkZGlyZWN0aW9uLCAkY29sb3IsICRzaXplKSB7XHJcblxyXG4gICAgICAgIEBpZiAkZGlyZWN0aW9uID09IFwibGVmdFwiIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkc2l6ZSBzb2xpZCAkY29sb3I7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcInJpZ2h0XCIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogJHNpemUgc29saWQgJGNvbG9yO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJ1cFwiIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRzaXplIHNvbGlkICRjb2xvcjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJkb3duXCIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6ICRzaXplIHNvbGlkICRjb2xvcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICB3aWR0aDogMDtcclxufSIsIi8qXHJcblxyXG5cclxuICAgTWFnaWMgWm9vbSBQbHVzIHY1LjEuMiBcclxuICAgQ29weXJpZ2h0IDIwMTUgTWFnaWMgVG9vbGJveFxyXG4gICBCdXkgYSBsaWNlbnNlOiBodHRwczovL3d3dy5tYWdpY3Rvb2xib3guY29tL21hZ2ljem9vbXBsdXMvXHJcbiAgIExpY2Vuc2UgYWdyZWVtZW50OiBodHRwczovL3d3dy5tYWdpY3Rvb2xib3guY29tL2xpY2Vuc2UvXHJcblxyXG5cclxuKi9cclxuXHJcbi8qKlxyXG4gKiBDb3JlIHN0eWxlc1xyXG4gKi9cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6IFwibWFnaWN0b29sYm94LXRoaW5cIjtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBzcmM6IHVybChcImZvbnRzL21hZ2ljdG9vbGJveC10aGluLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcImRhdGE6Zm9udC9vcGVudHlwZTtiYXNlNjQsQUFFQUFBQU5BSUFBQXdCUVJrWlVUWEpMU0VnQUFBZEFBQUFBSEVkRVJVWUFLUUFQQUFBSElBQUFBQjVQVXk4eUFsWUw0UUFBQVZnQUFBQldZMjFoY0VBWVk3MEFBQUhVQUFBQlNtZGhjM0QvL3dBREFBQUhHQUFBQUFobmJIbG1NTVZPSndBQUF6UUFBQUdJYUdWaFpBbVdVWU1BQUFEY0FBQUFObWhvWldFUDlRYW1BQUFCRkFBQUFDUm9iWFI0TDBFQVFBQUFBYkFBQUFBa2JHOWpZUUdHQWdBQUFBTWdBQUFBRkcxaGVIQUFVQUFjQUFBQk9BQUFBQ0J1WVcxbDZNUGdkQUFBQkx3QUFBSDFjRzl6ZExhVHV5SUFBQWEwQUFBQVpBQUJBQUFBQVFBQUVXZHh6MThQUFBVQUN3Z0FBQUFBQU5EdGcvTUFBQUFBME8yRDh3QUEvZ0lJbkFhZUFBQUFDQUFDQUFBQUFBQUFBQUVBQUFhZS9nSUF1QWliQUFELy93aWNBQUVBQUFBQUFBQUFBQUFBQUFBQUFBQUpBQUVBQUFBSkFCa0FCUUFBQUFBQUFnQUFBQUVBQVFBQUFFQUFBQUFBQUFBQUFRWmVBWkFBQlFBSUJUTUZtUUFBQVI0Rk13V1pBQUFEMXdCbUFoSUFBQUFBQlFBQUFBQUFBQUFBQUFBQUFBQUFBQUFDQUFBQUFBQUFVR1pGWkFCQW9BR2dCZ1ptL21ZQXVBYWVBZjRBQUFBQkFBQUFBQUFBQkFBQUFBQUFBQUFDcWdBQUNKc0FBQU9sQUFBRHBRQUFDSnNBQUFpYkFBQUhmQUJBQUFBQUF3QUFBQU1BQUFBY0FBRUFBQUFBQUVRQUF3QUJBQUFBSEFBRUFDZ0FBQUFHQUFRQUFRQUNBQUNnQnYvL0FBQUFBS0FCLy84QUFHQUNBQUVBQUFBQUFBQUFBQUVHQUFBQkFBQUFBQUFBQUFFQ0FBQUFBZ0FBQUFBQUFBQUFBQUFBQUFBQUFBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBcUFDb0FLZ0JNQUdBQWRBQ0lBSndBeEFBRkFBQUFBQVFBQlpvQUFnQUZBQWdBQ3dBUEFBQVRFUWtCSVFFM0FSRUpBU0VERVNFUlpnRmQvdUVDdVA2a1BRRmQvbVlCWFAxSXBBUUFCTmY3N0FJSy9aa0NDMXo5OWdRVS9sSUNDdnJOQlpyNlpnQUJBQUQrQWdpY0JwNEFDd0FBQ1FFSENRRW5DUUUzQ1FFWEJIRUVLeVA3MWZ2Vkl3UXIrOVVqQkNzRUt5TUNVUHZWSXdRcis5VWpCQ3NFS3lQNzFRUXJJd0FBQUFFQUFQNENBNllHbmdBRkFBQVJBUmNKQVFjRGl4djhpUU4xR3dKUUJFNFgrOG43eVJjQUFBQUJBQUQrQWdPbUJwNEFCUUFBQ1FFbkNRRTNBNmI4ZHhzRGQveUhHd0pRKzdJWEJEY0VOeGNBQVFBQUFEY0luQVBkQUFVQUFDVUJOd2tCRndSTys3SVhCRGNFTnhjM0E0b2EvSWtEZVJvQUFBRUFBQUEzQ0p3RDNRQUZBQUFKQVFjSkFTY0VUZ1JPRi92Sis4a1hBOTM4ZHhzRGQveUhHd0FDQUVBQVFBSEFBY0FBRFFBWUFBQWxCeWNHSXlJbU5EWXlGaFVVRHdFV016STJOQ1lpQmhVVUFjQVhjU2szUDFsWmZsa2gxeWM1T0ZCUWNGQlhGM0VoV1g1WldUODJLUUluVUhCUVVEZzVBQUFBREFDV0FBRUFBQUFBQUFFQUVRQWtBQUVBQUFBQUFBSUFCQUJBQUFFQUFBQUFBQU1BTFFDaEFBRUFBQUFBQUFRQUVRRHpBQUVBQUFBQUFBVUFDd0VkQUFFQUFBQUFBQVlBRVFGTkFBTUFBUVFKQUFFQUlnQUFBQU1BQVFRSkFBSUFDQUEyQUFNQUFRUUpBQU1BV2dCRkFBTUFBUVFKQUFRQUlnRFBBQU1BQVFRSkFBVUFGZ0VGQUFNQUFRUUpBQVlBSWdFcEFFMEFZUUJuQUdrQVl3QlVBRzhBYndCc0FHSUFid0I0QUMwQVZBQm9BR2tBYmdBQVRXRm5hV05VYjI5c1ltOTRMVlJvYVc0QUFGUUFhQUJwQUc0QUFGUm9hVzRBQUVZQWJ3QnVBSFFBUmdCdkFISUFad0JsQUNBQU1nQXVBREFBSUFBNkFDQUFUUUJoQUdjQWFRQmpBRlFBYndCdkFHd0FZZ0J2QUhnQUxRQlVBR2dBYVFCdUFDQUFPZ0FnQURJQU53QXRBREVBTFFBeUFEQUFNUUExQUFCR2IyNTBSbTl5WjJVZ01pNHdJRG9nVFdGbmFXTlViMjlzWW05NExWUm9hVzRnT2lBeU55MHhMVEl3TVRVQUFFMEFZUUJuQUdrQVl3QlVBRzhBYndCc0FHSUFid0I0QUMwQVZBQm9BR2tBYmdBQVRXRm5hV05VYjI5c1ltOTRMVlJvYVc0QUFGWUFaUUJ5QUhNQWFRQnZBRzRBSUFBeEFDNEFNQUFBVm1WeWMybHZiaUF4TGpBQUFFMEFZUUJuQUdrQVl3QlVBRzhBYndCc0FHSUFid0I0QUMwQVZBQm9BR2tBYmdBQVRXRm5hV05VYjI5c1ltOTRMVlJvYVc0QUFBQUFBQUlBQUFBQUFBRC9tZ0JtQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNRQUFBQUVBQWdFQ0FRTUJCQUVGQVFZQkJ3ZDFibWxCTURBeEIzVnVhVUV3TURJSGRXNXBRVEF3TXdkMWJtbEJNREEwQjNWdWFVRXdNRFVIZFc1cFFUQXdOZ0FBQUFILy93QUNBQUVBQUFBTUFBQUFGZ0FBQUFJQUFRQURBQWdBQVFBRUFBQUFBZ0FBQUFBQUFBQUJBQUFBQU5Cd1FHRUFBQUFBME8yRDh3QUFBQURRN1lQelwiKTtcclxufVxyXG5cclxuLk1hZ2ljWm9vbSxcclxuLm16LWZpZ3VyZSxcclxuLm16LWxlbnMsXHJcbi5tei16b29tLXdpbmRvdyxcclxuLm16LWxvYWRpbmcsXHJcbi5tei1oaW50LFxyXG4ubXotZXhwYW5kIC5tei1leHBhbmQtc3RhZ2UsXHJcbi5tei1leHBhbmQgLm16LWV4cGFuZC1zdGFnZSAubXotaW1hZ2Utc3RhZ2UsXHJcbi5tei1leHBhbmQgLm16LWltYWdlLXN0YWdlID4gZmlndXJlIC5tei1jYXB0aW9uLFxyXG4ubXotdGh1bWIgaW1nLFxyXG4ubXotZXhwYW5kLXRodW1ibmFpbHMsXHJcbi5tei1leHBhbmQtY29udHJvbHMsXHJcbi5tei1idXR0b24ge1xyXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuLk1hZ2ljWm9vbSxcclxuLm16LWZpZ3VyZSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXNpemU6IDAgIWltcG9ydGFudDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICBkaXJlY3Rpb246IGx0ciAhaW1wb3J0YW50O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xyXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xyXG4gICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcclxufVxyXG4uTWFnaWNab29tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcclxuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XHJcbn1cclxuZmlndXJlLm16LWZpZ3VyZSB7XHJcbiAgICAtd2Via2l0LXBlcnNwZWN0aXZlOiAzMDBweDtcclxuICAgIHBlcnNwZWN0aXZlOiAzMDBweDtcclxuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG59XHJcbi5NYWdpY1pvb20gaW1nLFxyXG4ubXotZmlndXJlIGltZyB7XHJcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcclxuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG59XHJcbi5NYWdpY1pvb20gPiBpbWcsXHJcbi5tei1maWd1cmUgPiBpbWcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuLmllOC1tYWdpYyAuTWFnaWNab29tID4gaW1nLFxyXG4uaWU4LW1hZ2ljIC5tei1maWd1cmUgPiBpbWcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG4ubXotZmlndXJlLm16LW5vLXpvb20ubXotbm8tZXhwYW5kLFxyXG4ubXotZXhwYW5kIC5tei1maWd1cmUubXotbm8tem9vbSB7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcclxufVxyXG4ubXotZmlndXJlLm16LWFjdGl2ZSxcclxuLm16LWV4cGFuZCB7XHJcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xyXG4gICAgdG91Y2gtYWN0aW9uOiBub25lO1xyXG59XHJcblxyXG4ubXotbGVucyxcclxuLm16LXpvb20td2luZG93IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG4ubXotbGVucyBpbWcsXHJcbi5tei16b29tLXdpbmRvdyBpbWcge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XHJcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIG1heC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLm16LXpvb20td2luZG93IHtcclxuICAgIHotaW5kZXg6IDIwMDAwMDAwMDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcbn1cclxuLm16LXpvb20td2luZG93Lm16LW1hZ25pZmllciB7XHJcbiAgICAtd2Via2l0LW1hc2staW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgd2hpdGUsIGJsYWNrKTtcclxuICAgIC13ZWJraXQtbWFzay1jbGlwOiBjb250ZW50O1xyXG4gICAgY3Vyc29yOiBub25lO1xyXG59XHJcbi5tei16b29tLXdpbmRvdy5tei1tYWduaWZpZXIubXotZXhwYW5kZWQge1xyXG4gICAgei1pbmRleDogMjE0NzQ4MzY0NztcclxufVxyXG4ubXotem9vbS13aW5kb3cgaW1nICB7XHJcbiAgICBsZWZ0OiAtMTAwMCU7XHJcbiAgICByaWdodDogLTEwMDAlO1xyXG4gICAgdG9wOiAtMTAwMCU7XHJcbiAgICBib3R0b206IC0xMDAwJTtcclxuICAgIG1hcmdpbjogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCUgIWltcG9ydGFudDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJSAhaW1wb3J0YW50O1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJSAhaW1wb3J0YW50O1xyXG59XHJcbi5tei16b29tLXdpbmRvdy5tei1wcmV2aWV3IGltZyB7XHJcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcclxuICAgIGJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcclxuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcclxuICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG59XHJcbi5sdC1pZTktbWFnaWMgLm16LXpvb20td2luZG93IGltZyAge1xyXG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tei1leHBhbmQtY29udHJvbHMge1xyXG4gICAgei1pbmRleDogMjE0NzQ4MzY0NztcclxufVxyXG5cclxuLm16LWZhZGUge1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXM7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXM7XHJcbn1cclxuLm16LWhpZGRlbiB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG59XHJcbi5tei12aXNpYmxlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbi5tb2JpbGUtbWFnaWMgLm16LWV4cGFuZCAubXotZXhwYW5kLWJnIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBmbGF0ICFpbXBvcnRhbnQ7XHJcbiAgICB0cmFuc2Zvcm0tc3R5bGU6IGZsYXQgIWltcG9ydGFudDtcclxufVxyXG4ubW9iaWxlLW1hZ2ljIC5tei1leHBhbmQgLm16LWltYWdlLXN0YWdlID4gZmlndXJlIC5tei1jYXB0aW9uIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG4ubW9iaWxlLW1hZ2ljIC5tei1leHBhbmQtY29udHJvbHMubXotZmFkZSB7XHJcbiAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuLm1vYmlsZS1tYWdpYyAubXotZXhwYW5kIC5tei16b29tLXdpbmRvdyB7XHJcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcclxuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcblxyXG4vKipcclxuICogTWFpbiBmaWd1cmVcclxuICovXHJcbi5tei1maWd1cmUubXotYWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbn1cclxuLm16LWZpZ3VyZS5tei1uby16b29tLFxyXG4ubXotZmlndXJlLm16LWNsaWNrLXpvb20sXHJcbi5tei1maWd1cmUubXotYWN0aXZlIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xyXG4gICAgY3Vyc29yOiAtbW96LXpvb20taW47XHJcbiAgICBjdXJzb3I6IHpvb20taW47XHJcbn1cclxuLm16LWZpZ3VyZS5tei1hY3RpdmUubXotbm8tZXhwYW5kIHtcclxuICAgIGN1cnNvcjogY3Jvc3NoYWlyO1xyXG59XHJcbi5tei1maWd1cmUubXotYWN0aXZlLm16LWNsaWNrLXpvb20ubXotbm8tZXhwYW5kIHtcclxuICAgIGN1cnNvcjogY3Jvc3NoYWlyO1xyXG4gICAgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0O1xyXG4gICAgY3Vyc29yOiAtbW96LXpvb20tb3V0O1xyXG4gICAgY3Vyc29yOiB6b29tLW91dDtcclxufVxyXG4ubXotZmlndXJlLm16LWFjdGl2ZS5tei1tYWduaWZpZXItem9vbS5tei1ob3Zlci16b29tLm16LW5vLWV4cGFuZCB7XHJcbiAgICBjdXJzb3I6IG5vbmU7XHJcbn1cclxuXHJcblxyXG4ubXotZmlndXJlLm16LWFjdGl2ZSA+IGltZyB7XHJcbiAgICBmaWx0ZXI6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XFwnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcXCc+PGZpbHRlciBpZD1cXCdncmF5c2NhbGVcXCc+PGZlQ29sb3JNYXRyaXggdHlwZT1cXCdzYXR1cmF0ZVxcJyB2YWx1ZXM9XFwnMFxcJy8+PGZlQ29tcG9uZW50VHJhbnNmZXI+PGZlRnVuY0EgdHlwZT1cXCdsaW5lYXJcXCcgc2xvcGU9XFwnMC42XFwnLz48L2ZlQ29tcG9uZW50VHJhbnNmZXI+PC9maWx0ZXI+PC9zdmc+I2dyYXlzY2FsZVwiKTtcclxuICAgIC13ZWJraXQtZmlsdGVyOiBncmF5c2NhbGUoODAlKSBvcGFjaXR5KDYwJSk7XHJcbiAgICBmaWx0ZXI6IGdyYXlzY2FsZSg4MCUpIG9wYWNpdHkoNjAlKTtcclxufVxyXG4ubm8tY3NzZmlsdGVycy1tYWdpYyAubXotZmlndXJlLm16LWFjdGl2ZSA+IGltZyB7XHJcbiAgICBvcGFjaXR5OiAwLjY7XHJcbn1cclxuLmx0LWllMTAtbWFnaWMgLm16LWZpZ3VyZS5tei1hY3RpdmUgPiBpbWcge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2UoZ3JheVNjYWxlPTEsb3BhY2l0eT0wLjYpO1xyXG59XHJcbi5tei1maWd1cmUubXotYWN0aXZlLm16LWlubmVyLXpvb20sXHJcbi5sdC1pZTExLW1hZ2ljIC5tei1maWd1cmUubXotYWN0aXZlLm16LWlubmVyLXpvb20gPiBpbWcge1xyXG4gICAgb3BhY2l0eTogMDtcclxufVxyXG4ubHQtaWUxMS1tYWdpYyAubXotZmlndXJlLm16LWFjdGl2ZS5tei1pbm5lci16b29tLFxyXG4ubHQtaWUxMS1tYWdpYyAubXotZmlndXJlLm16LWFjdGl2ZS5tei1pbm5lci16b29tID4gLm16LXpvb20td2luZG93IHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbn1cclxuLmx0LWllMTAtbWFnaWMgLm16LWV4cGFuZCAubXotZmlndXJlLm16LWFjdGl2ZS5tei1pbm5lci16b29tLFxyXG4ubHQtaWUxMC1tYWdpYyAubXotZmlndXJlLm16LWFjdGl2ZS5tei1pbm5lci16b29tID4gaW1nIHtcclxuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcclxufVxyXG4uaWU5LW1hZ2ljIC5tei1leHBhbmQgLm16LWZpZ3VyZS5tei1hY3RpdmUubXotaW5uZXItem9vbSB7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFpvb20gbGVuc1xyXG4gKi9cclxuLm16LWxlbnMge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcclxuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNzAsMTcwLDE3MCwwLjcpO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDVweCByZ2JhKDAsMCwwLC4zKTtcclxuICAgIGN1cnNvcjogbm9uZTtcclxuICAgIHotaW5kZXg6IDEwO1xyXG4gICAgb3BhY2l0eTogMDtcclxufVxyXG4ubXotZmlndXJlLm16LWFjdGl2ZSAubXotbGVucyB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBjdWJpYy1iZXppZXIoMC4yNSwgMC41LCAwLjUsIDAuOSkgLjFzO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNSwgMC41LCAwLjkpIC4xcztcclxufVxyXG4ubXotZmlndXJlLm16LWFjdGl2ZS5tei1tYWduaWZpZXItem9vbSAubXotbGVucyB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgY3Vyc29yOiBub25lO1xyXG59XHJcblxyXG4vKipcclxuICogWm9vbSB3aW5kb3dcclxuICovXHJcbi5tei16b29tLXdpbmRvdyB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDNweCByZ2JhKDAsIDAsIDAsIC4yKTtcclxufVxyXG4ubXotem9vbS13aW5kb3cubXotbWFnbmlmaWVyIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC4zKTtcclxufVxyXG4ubXotem9vbS13aW5kb3cubXotbWFnbmlmaWVyOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7Ym90dG9tOiAwO1xyXG4gICAgbGVmdDogMDsgcmlnaHQ6IDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNzAsMTcwLDE3MCwwLjcpO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDIwcHggMXB4IHJnYmEoMCwwLDAsLjMpO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICB6LWluZGV4OiAxO1xyXG59XHJcbi5tei16b29tLXdpbmRvdy5tei1tYWduaWZpZXIubXotc3F1YXJlLFxyXG4ubXotem9vbS13aW5kb3cubXotbWFnbmlmaWVyLm16LXNxdWFyZTpiZWZvcmUge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xyXG59XHJcbi5sdC1pZTktbWFnaWMgLm16LXpvb20td2luZG93IHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNWU1ZTU7XHJcbn1cclxuLm16LXpvb20td2luZG93Lm16LWlubmVyIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuXHJcbi8qIENhcHRpb24gaW4gem9vbSB3aW5kb3cgKi9cclxuLm16LXpvb20td2luZG93IC5tei1jYXB0aW9uIHtcclxuICAgIGJhY2tncm91bmQ6ICM3Nzc7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtc2l6ZTogMTBwdDtcclxuICAgIG9wYWNpdHk6IDAuODtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIHotaW5kZXg6IDE1MDtcclxuICAgIHBhZGRpbmc6IDNweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XHJcbn1cclxuLmx0LWllOS1tYWdpYyAubXotem9vbS13aW5kb3cgLm16LWNhcHRpb24ge1xyXG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTgwKTtcclxufVxyXG4ubXotem9vbS13aW5kb3cuY2FwdGlvbi1ib3R0b20gLm16LWNhcHRpb24ge1xyXG4gICAgdG9wOiBhdXRvO1xyXG4gICAgYm90dG9tOiAwO1xyXG59XHJcbi5tei16b29tLXdpbmRvdy5tei1leHBhbmRlZCA+IC5tei1jYXB0aW9uIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qIFpvb20gd2luZG93IGFuaW1hdGlvbnMgKi9cclxuLm16LXpvb20td2luZG93Lm16LWRlYWN0aXZhdGluZyxcclxuLm16LXpvb20td2luZG93Lm16LWFjdGl2YXRpbmcge1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNSwgMC41LCAwLjkpLCAtd2Via2l0LXRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjUsIDAuNSwgMC45KTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjUsIDAuNSwgMC45KSwgdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNSwgMC41LCAwLjkpO1xyXG59XHJcbi5tei16b29tLXdpbmRvdy5tei1kZWFjdGl2YXRpbmcge1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAuMjVzLCAuMjVzLCAuMjVzO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMjVzLCAuMjVzLCAuMjVzO1xyXG59XHJcbi5tei16b29tLXdpbmRvdy5tei1wLXJpZ2h0LFxyXG4ubXotem9vbS13aW5kb3cubXotcC1sZWZ0LFxyXG4ubXotem9vbS13aW5kb3cubXotcC10b3AsXHJcbi5tei16b29tLXdpbmRvdy5tei1wLWJvdHRvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgei1pbmRleDogLTEwMDtcclxufVxyXG4ubXotem9vbS13aW5kb3cubXotcC1yaWdodCB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwJSwgMCwgMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwJSwgMCwgMCk7XHJcbn1cclxuLm16LXpvb20td2luZG93Lm16LXAtbGVmdCB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApO1xyXG59XHJcbi5tei16b29tLXdpbmRvdy5tei1wLXRvcCB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAlLCAwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMCUsIDApO1xyXG59XHJcbi5tei16b29tLXdpbmRvdy5tei1wLWJvdHRvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwJSwgMCk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwJSwgMCk7XHJcbn1cclxuLyogSW5uZXIgbW9kZSBhbmltYXRpb24gKi9cclxuLm16LXpvb20td2luZG93ID4gaW1nIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZSgxKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZSgxKTtcclxuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuLm16LXpvb20td2luZG93Lm16LXAtaW5uZXIubXotZGVhY3RpdmF0aW5nID4gaW1nLFxyXG4ubXotem9vbS13aW5kb3cubXotcC1pbm5lci5tei1hY3RpdmF0aW5nID4gaW1nIHtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gLjIycyBjdWJpYy1iZXppZXIoMC4yNSwgMC41LCAwLjUsIDAuOSk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMjJzIGN1YmljLWJlemllcigwLjI1LCAwLjUsIDAuNSwgMC45KTtcclxufVxyXG4vKiBNYWduaWZpZXIgbW9kZSBhbmltYXRpb24gKi9cclxuLm16LXpvb20td2luZG93Lm16LXAtbWFnbmlmaWVyIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpO1xyXG59XHJcbi8qIFByZXZpZXcgbW9kZSBhbmltYXRpb24gKi9cclxuLm16LXpvb20td2luZG93Lm16LXByZXZpZXcubXotZGVhY3RpdmF0aW5nLFxyXG4ubXotem9vbS13aW5kb3cubXotcHJldmlldy5tei1hY3RpdmF0aW5nLFxyXG4ubXotem9vbS13aW5kb3cubXotY3VzdG9tLm16LWRlYWN0aXZhdGluZyxcclxuLm16LXpvb20td2luZG93Lm16LWN1c3RvbS5tei1hY3RpdmF0aW5nIHtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjUsIDAuNSwgMC45KTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjUsIDAuNSwgMC45KTtcclxufVxyXG4ubXotem9vbS13aW5kb3cubXotcHJldmlldy5tei1kZWFjdGl2YXRpbmcsXHJcbi5tei16b29tLXdpbmRvdy5tei1jdXN0b20ubXotZGVhY3RpdmF0aW5nIHtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogLjJzO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMnM7XHJcbn1cclxuLm16LXpvb20td2luZG93Lm16LXAtcHJldmlldyxcclxuLm16LXpvb20td2luZG93Lm16LXAtY3VzdG9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogSGludCAmIExvYWRpbmdcclxuICovXHJcbi5tei1oaW50LFxyXG4ubXotbG9hZGluZyB7XHJcbiAgICBjb2xvcjogI2VlZTtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoNDksNTEsNjEsMC43KTtcclxuICAgIGZvbnQ6IG5vcm1hbCAxMnB4LzEuMmVtICdMdWNpZGEgR3JhbmRlJywgJ0x1Y2lkYSBTYW5zIFVuaWNvZGUnLCBWZXJkYW5hLCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZGlyZWN0aW9uOiBsdHI7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAxMDAwO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlO1xyXG59XHJcblxyXG4ubXotaGludCB7XHJcbiAgICBib3R0b206IDhweDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHBhZGRpbmc6IDAgMTAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZSwgei1pbmRleCAwLjI1cyBlYXNlO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2UsIHotaW5kZXggMC4yNXMgZWFzZTtcclxufVxyXG4ubXotaGludC1tZXNzYWdlIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoNDksNTEsNjEsMC43KTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDJlbTtcclxuICAgIHBhZGRpbmc6IC43ZW0gMS4xZW07XHJcbn1cclxuLm16LWhpbnQtbWVzc2FnZTpiZWZvcmUge1xyXG4gICAgY29udGVudDogJ1xcMDIyOTUnO1xyXG4gICAgZm9udC1mYW1pbHk6IHNlcmlmO1xyXG4gICAgZm9udC1zaXplOiAxLjVlbTtcclxuICAgIHNwZWFrOiBub25lO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgdmVydGljYWwtYWxpZ246IC0ycHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2U7XHJcbn1cclxuLm1vYmlsZS1tYWdpYyAubXotaGludC1tZXNzYWdlOmJlZm9yZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4ubXotaGludC1oaWRkZW4ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHotaW5kZXg6IC0xO1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAuNnM7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC42cztcclxufVxyXG4vKiBIaW50IGluIHRoZSBleHBhbmRlZCB2aWV3IG9uIG1vYmlsZSAqL1xyXG4ubW9iaWxlLW1hZ2ljIC5tei1leHBhbmQgLm16LWhpbnQge1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMWVtO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBib3R0b206IGF1dG87XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsLTUwJSk7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsLTUwJSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsLTUwJSk7XHJcblxyXG59XHJcbi5tb2JpbGUtbWFnaWMgLm16LWV4cGFuZCAubXotaGludC1tZXNzYWdlIHtcclxuICAgIHBhZGRpbmc6IDEuMWVtO1xyXG59XHJcbi5tb2JpbGUtbWFnaWMgLm16LWV4cGFuZCAubXotaGludC1tZXNzYWdlOmJlZm9yZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcbi5tb2JpbGUtbWFnaWMgLm16LWV4cGFuZCAubXotaGludC1oaWRkZW4ge1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAxcztcclxuICAgIHRyYW5zaXRpb24tZGVsYXk6IDFzO1xyXG4gICAgb3BhY2l0eTogMDtcclxufVxyXG5cclxuLyogTG9hZGluZyBpbmRpY2F0b3IgKi9cclxuLm16LWxvYWRpbmcge1xyXG4gICAgZm9udC1zaXplOiAwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgd2lkdGg6IDM2cHg7XHJcbiAgICBoZWlnaHQ6IDM2cHg7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxufVxyXG4ubXotbG9hZGluZzphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDsgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMDsgcmlnaHQ6IDA7XHJcbiAgICB3aWR0aDogMjRweDtcclxuICAgIGhlaWdodDogMjRweDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHRleHQtaW5kZW50OiAtOTk5OWVtO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTtcclxuICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG4ubXotbG9hZGluZy5zaG93biB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwcztcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMHM7XHJcbn1cclxuLm16LWxvYWRpbmcuc2hvd246YWZ0ZXIge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHNwaW4tbG9hZGluZyAuOXMgaW5maW5pdGUgbGluZWFyO1xyXG4gICAgICAgICAgICBhbmltYXRpb246IHNwaW4tbG9hZGluZyAuOXMgaW5maW5pdGUgbGluZWFyO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3Bpbi1sb2FkaW5nIHtcclxuICAgIDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgfVxyXG59XHJcbkBrZXlmcmFtZXMgc3Bpbi1sb2FkaW5nIHtcclxuICAgIDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubHQtaWUxMC1tYWdpYyAubXotbG9hZGluZyB7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBwYWRkaW5nOiAuN2VtIDEuMWVtO1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuLmx0LWllMTAtbWFnaWMgLm16LWxvYWRpbmc6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJ0xvYWRpbmcuLi4nO1xyXG4gICAgdGV4dC1pbmRlbnQ6IDA7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5sdC1pZTktbWFnaWMgLm16LWxvYWRpbmcge1xyXG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBsZWZ0OiAgMDtcclxuICAgIHdpZHRoOiAxMjZweDtcclxuICAgIG1hcmdpbjogYXV0bztcclxufVxyXG4ubHQtaWU5LW1hZ2ljIC5tei1oaW50LW1lc3NhZ2UsXHJcbi5sdC1pZTktbWFnaWMgLm16LWxvYWRpbmcuc2hvd24ge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KEdyYWRpZW50VHlwZT0wLFN0YXJ0Q29sb3JTdHI9JyM3YzMxMzMzRCcsIEVuZENvbG9yU3RyPScjN2MzMTMzM0QnKTtcclxufVxyXG4ubHQtaWU5LW1hZ2ljIC5tei1oaW50LWhpZGRlbiB7XHJcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7XHJcbn1cclxuXHJcblxyXG5cclxuLyoqXHJcbiAqIEV4cGFuZGVkIHZpZXdcclxuICovXHJcbi5tei1leHBhbmQsXHJcbi5tei1leHBhbmQgLm16LWV4cGFuZC1iZyxcclxuLm16LWV4cGFuZCAubXotZXhwYW5kLWJnID4gaW1nLFxyXG4ubXotZXhwYW5kIC5tei1leHBhbmQtYmcgPiBzdmcsXHJcbi5tei1leHBhbmQgLm16LWV4cGFuZC1zdGFnZSxcclxuLm16LWV4cGFuZCAubXotZXhwYW5kLXN0YWdlIC5tei1pbWFnZS1zdGFnZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7IGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7IHJpZ2h0OiAwO1xyXG59XHJcbi5tei1leHBhbmQgLm16LWV4cGFuZC1iZyxcclxuLm16LWV4cGFuZCAubXotZXhwYW5kLWJnID4gaW1nLFxyXG4ubXotZXhwYW5kIC5tei1leHBhbmQtYmcgPiBzdmcge1xyXG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG5cclxufVxyXG4ubXotZXhwYW5kIC5tei1leHBhbmQtYmcsXHJcbi5tei1leHBhbmQgLm16LWV4cGFuZC1iZyA+IHN2ZyAge1xyXG4gICAgbWluLXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICBtaW4taGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tei1leHBhbmQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAxKTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB6LWluZGV4OiAyMTAwMDAwMDAwO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAtd2Via2l0LXBlcnNwZWN0aXZlOiA2MDBweDtcclxuICAgICAgICAgICAgcGVyc3BlY3RpdmU6IDYwMHB4O1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xyXG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcclxufVxyXG5cclxuLyogRXhwYW5kZWQgdmlldyBiYWNrZ3JvdW5kICovXHJcbi5tei1leHBhbmQgLm16LWV4cGFuZC1iZyB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgei1pbmRleDogLTEwMDtcclxuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKSBzY2FsZSgxMCkgcm90YXRlKDAuMDFkZWcpO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDApIHNjYWxlKDEwLDEwKSByb3RhdGUoMC4wMWRlZyk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApIHNjYWxlKDEwKSByb3RhdGUoMC4wMWRlZyk7XHJcbiAgICAtd2Via2l0LXBlcnNwZWN0aXZlOiA2MDBweDtcclxuICAgICAgICAgICAgcGVyc3BlY3RpdmU6IDYwMHB4O1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbn1cclxuLm16LWV4cGFuZCAubXotZXhwYW5kLWJnID4gaW1nICB7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBmaWx0ZXI6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XFwnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcXCc+PGZpbHRlciBpZD1cXCdibHVyXFwnPjxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249XFwnODBcXCcgaW49XFwnU291cmNlR3JhcGhpY1xcJz48L2ZlR2F1c3NpYW5CbHVyPjwvZmlsdGVyPjwvc3ZnPiNibHVyXCIpO1xyXG4gICAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoMjBweCkgYnJpZ2h0bmVzcyg2MCUpO1xyXG4gICAgICAgICAgICBmaWx0ZXI6IGJsdXIoMjBweCkgYnJpZ2h0bmVzcyg2MCUpO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XHJcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcbi5tei1leHBhbmQgLm16LWV4cGFuZC1iZyA+IHN2ZyAge1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgb3BhY2l0eTogLjY7XHJcbn1cclxuXHJcbi5sdC1pZTEwLW1hZ2ljIC5tei1leHBhbmQgLm16LWV4cGFuZC1iZyB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuLmx0LWllOS1tYWdpYyAubXotZXhwYW5kIHtcclxuICAgIGJhY2tncm91bmQ6ICMxZjFmMWY7XHJcbn1cclxuXHJcbi8qKiBQbGFpbiBiYWNrZ3JvdW5kczogZGFyay1iZywgd2hpdGUtYmcgKiovXHJcbi5tei1leHBhbmQucGxhaW4tYmcgLm16LWV4cGFuZC1iZyxcclxuLm16LWV4cGFuZC5kYXJrLWJnIC5tei1leHBhbmQtYmcsXHJcbi5tei1leHBhbmQud2hpdGUtYmcgLm16LWV4cGFuZC1iZyB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuLm16LWV4cGFuZC5kYXJrLWJnIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxZjFmMWY7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMxLCAzMSwgMzEsIC45Nik7XHJcbn1cclxuLm16LWV4cGFuZC53aGl0ZS1iZyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4vKiBFeHBhbmRlZCB2aWV3IHN0YWdlICovXHJcbi5tei1leHBhbmQgLm16LWV4cGFuZC1zdGFnZSB7XHJcbiAgICB6LWluZGV4OiAyMTAwMDAwMDAwO1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG4ubXotZXhwYW5kIC5tei1leHBhbmQtc3RhZ2UgLm16LWltYWdlLXN0YWdlIHtcclxuICAgIHotaW5kZXg6IDUwO1xyXG4gICAgbGVmdDogMTIwcHg7XHJcbiAgICByaWdodDogMTIwcHg7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDAgNDBweCAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIC13ZWJraXQtcGVyc3BlY3RpdmU6IDYwMHB4O1xyXG4gICAgICAgICAgICBwZXJzcGVjdGl2ZTogNjAwcHg7XHJcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcbi5tei1leHBhbmQgLm16LWV4cGFuZC1zdGFnZS53aXRoLXRodW1icyAubXotaW1hZ2Utc3RhZ2Uge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEyMHB4O1xyXG59XHJcbi5tei1leHBhbmQgLm16LWV4cGFuZC1zdGFnZS5tei16b29tLWluIC5tei1pbWFnZS1zdGFnZSB7XHJcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi5tei1leHBhbmQgLm16LWltYWdlLXN0YWdlID4gZmlndXJlOmJlZm9yZSxcclxuLm16LWV4cGFuZCAubXotaW1hZ2Utc3RhZ2U6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGZvbnQtc2l6ZTogMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6IDA7XHJcbn1cclxuLm16LWV4cGFuZCAubXotaW1hZ2Utc3RhZ2UgPiBmaWd1cmUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICBmb250LXNpemU6IDA7XHJcbiAgICBsaW5lLWhlaWdodDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4ubXotZXhwYW5kIC5tei1maWd1cmUge1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxufVxyXG4ubXotZXhwYW5kIC5tei1maWd1cmUgPiBpbWcge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuLm16LWV4cGFuZCAubXotem9vbS1pbiAubXotaW1hZ2Utc3RhZ2UgPiBmaWd1cmUsXHJcbi5tei1leHBhbmQgLm16LXpvb20taW4gLm16LWltYWdlLXN0YWdlID4gZmlndXJlIC5tei1maWd1cmUubXotYWN0aXZhdGluZyxcclxuLm16LWV4cGFuZCAubXotem9vbS1pbiAubXotaW1hZ2Utc3RhZ2UgPiBmaWd1cmUgLm16LWZpZ3VyZS5tei1hY3RpdmUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuLm16LWV4cGFuZCAubXotZmlndXJlIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xyXG4gICAgY3Vyc29yOiAtbW96LXpvb20taW47XHJcbiAgICBjdXJzb3I6IHpvb20taW47XHJcbn1cclxuLm16LWV4cGFuZCAubXotZmlndXJlLm16LWFjdGl2ZSB7XHJcbiAgICBjdXJzb3I6IGNyb3NzaGFpcjtcclxuICAgIGN1cnNvcjogLXdlYmtpdC16b29tLW91dDtcclxuICAgIGN1cnNvcjogLW1vei16b29tLW91dDtcclxuICAgIGN1cnNvcjogem9vbS1vdXQ7XHJcbn1cclxuLyogV2hlbiBpbm5lciB6b29tIGlzIGFsd2F5cyBzaG93biAqL1xyXG4ubXotZXhwYW5kIC5tei1leHBhbmQtc3RhZ2UubXotem9vbS1pbi5tei1hbHdheXMtem9vbSAubXotaW1hZ2Utc3RhZ2UgPiBmaWd1cmUgPiBmaWd1cmUgPiBpbWcge1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4gICAgdG9wOiAtNTAwMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBib3R0b206IC01MDAwcHggIWltcG9ydGFudDtcclxuICAgIGxlZnQ6IC01MDAwcHggIWltcG9ydGFudDtcclxuICAgIHJpZ2h0OiAtNTAwMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcclxufVxyXG5cclxuLmx0LWllMTAtbWFnaWMgLm16LXpvb20td2luZG93Lm16LWV4cGFuZGVkIGltZyAgeyBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTsgfVxyXG4ubHQtaWUxMC1tYWdpYyAubXotZXhwYW5kIC5tei1maWd1cmUubXotbWFnbmlmaWVyLXpvb20ge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xyXG59XHJcblxyXG5cclxuLyogQ2FwdGlvbiBpbiBleHBhbmRlZCB2aWV3ICovXHJcbi5tei1leHBhbmQgLm16LWNhcHRpb24ge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICB0ZXh0LXNoYWRvdzogMHB4IDBweCA0NnB4ICMwMDA7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDRweDtcclxuICAgIGZvbnQ6IG5vcm1hbCAxMHB0LzFlbSAnTHVjaWRhIEdyYW5kZScsICdMdWNpZGEgU2FucyBVbmljb2RlJywgVmVyZGFuYSwgJ0hlbHZldGljYSBOZXVlJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIG9wYWNpdHk6IDA7XHJcbn1cclxuLm16LWV4cGFuZCAubXotY2FwdGlvbi5tei1zaG93IHtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlLW91dDtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZS1vdXQ7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG59XHJcbi5tei1leHBhbmQgLm16LWNhcHRpb24gYSB7XHJcbiAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG4ubXotZXhwYW5kLndoaXRlLWJnIC5tei1jYXB0aW9uIHtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuXHJcbi5sdC1pZTktbWFnaWMgLm16LWV4cGFuZCAubXotY2FwdGlvbiB7XHJcbiAgICB0b3A6IDEwMCU7XHJcbn1cclxuXHJcbi5tei1leHBhbmQgLm16LXpvb20td2luZG93IHtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxufVxyXG4ubHQtaWU5LW1hZ2ljIC5tei1leHBhbmQgLm16LXpvb20td2luZG93IHtcclxuICAgIGJvcmRlcjogMDtcclxufVxyXG5cclxuLyogRXhwYW5kZWQgdmlldyBvbiBtb2JpbGUgKi9cclxuLm1vYmlsZS1tYWdpYyAubXotZXhwYW5kLXN0YWdlIC5tei1leHBhbmQtdGh1bWJuYWlscyxcclxuLm1vYmlsZS1tYWdpYyAubXotZXhwYW5kLXN0YWdlIC5tei1pbWFnZS1zdGFnZSB7XHJcbiAgICBsZWZ0OiAwcHg7XHJcbiAgICByaWdodDogMHB4O1xyXG59XHJcbi5tb2JpbGUtbWFnaWMgLm16LWV4cGFuZCAubXotZXhwYW5kLXN0YWdlLndpdGgtdGh1bWJzIHtcclxuICAgIGJvdHRvbTogMHB4O1xyXG59XHJcbi5tb2JpbGUtbWFnaWMgLm16LWV4cGFuZC1zdGFnZSAubXotaW1hZ2Utc3RhZ2Uge1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG4ubW9iaWxlLW1hZ2ljIC5tei1leHBhbmQgLm16LWV4cGFuZC1zdGFnZS53aXRoLXRodW1icyAubXotaW1hZ2Utc3RhZ2Uge1xyXG4gICAgcGFkZGluZzogNXB4IDAgNjBweDtcclxufVxyXG4ubW9iaWxlLW1hZ2ljIC5tei1leHBhbmQgLm16LWV4cGFuZC1zdGFnZS5tei16b29tLWluIC5tei1pbWFnZS1zdGFnZSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMDtcclxufVxyXG4ubW9iaWxlLW1hZ2ljIC5tei1leHBhbmQgLm16LWV4cGFuZC10aHVtYm5haWxzIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBoZWlnaHQ6IDYwcHg7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQnV0dG9ucyAmIEFycm93c1xyXG4gKi9cclxuLm16LWV4cGFuZC1jb250cm9scyxcclxuYnV0dG9uLm16LWJ1dHRvbiB7XHJcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICAgIG91dGxpbmU6IDAgIWltcG9ydGFudDtcclxuIH1cclxuYnV0dG9uLm16LWJ1dHRvbiB7XHJcbiAgICBjb2xvcjogI2I0YjRiNCAhaW1wb3J0YW50O1xyXG4gICAgZm9udDogOTAwIDM0cHgvMSAnbWFnaWN0b29sYm94LXRoaW4nICFpbXBvcnRhbnQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB6LWluZGV4OiA5MCAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTgwLCAxODAsIDE4MCwgMCkgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwMCUgIWltcG9ydGFudDtcclxuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHNwZWFrOiBub25lO1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgICB3aWR0aDogNjBweCAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiA2MHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuYnV0dG9uLm16LWJ1dHRvbi5tei1idXR0b24tcHJldixcclxuYnV0dG9uLm16LWJ1dHRvbi5tei1idXR0b24tbmV4dCB7XHJcbiAgICBtYXJnaW46IGF1dG8gMTBweCAhaW1wb3J0YW50O1xyXG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcclxufVxyXG5idXR0b24ubXotYnV0dG9uLm16LWJ1dHRvbi1wcmV2IHtcclxuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcclxufVxyXG5idXR0b24ubXotYnV0dG9uLm16LWJ1dHRvbi1uZXh0IHtcclxuICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuYnV0dG9uLm16LWJ1dHRvbi5tei1idXR0b24tY2xvc2Uge1xyXG4gICAgZm9udC1zaXplOiAyNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW46IDEwcHggIWltcG9ydGFudDtcclxuICAgIHRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcclxuICAgIHotaW5kZXg6IDk1ICFpbXBvcnRhbnQ7XHJcbn1cclxuOnJvb3Q6bm90KC5tb2JpbGUtbWFnaWMpIGJ1dHRvbi5tei1idXR0b24ge1xyXG4gICAgY29sb3I6IHJnYmEoMTgwLCAxODAsIDE4MCwgLjc1KSAhaW1wb3J0YW50O1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC44NSkgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSguODUpICFpbXBvcnRhbnQ7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIC4yNXMsIGJvcmRlci1jb2xvciAuMjVzLCAtd2Via2l0LXRyYW5zZm9ybSAuMjVzICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIC4yNXMsIGJvcmRlci1jb2xvciAuMjVzLCB0cmFuc2Zvcm0gLjI1cyAhaW1wb3J0YW50O1xyXG5cclxufVxyXG46cm9vdDpub3QoLm1vYmlsZS1tYWdpYykgYnV0dG9uLm16LWJ1dHRvbjpob3ZlciB7XHJcbiAgICBjb2xvcjogcmdiYSgxODAsIDE4MCwgMTgwLCAxKSAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE4MCwgMTgwLCAxODAsIC42KSAhaW1wb3J0YW50O1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgIWltcG9ydGFudDtcclxufVxyXG4ubW9iaWxlLW1hZ2ljIGJ1dHRvbi5tei1idXR0b24ge1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAuMXMgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4xcyAhaW1wb3J0YW50O1xyXG59XHJcbi5tb2JpbGUtbWFnaWMgYnV0dG9uLm16LWJ1dHRvbjphY3RpdmUge1xyXG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE4MCwgMTgwLCAxODAsIC42KSAhaW1wb3J0YW50O1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC45NSkgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSguOTUpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbmJ1dHRvbi5tei1idXR0b24ubXotYnV0dG9uLWNsb3NlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxhMDAxXCI7IH1cclxuYnV0dG9uLm16LWJ1dHRvbi5tei1idXR0b24tcHJldjpiZWZvcmUgeyBjb250ZW50OiBcIlxcYTAwMlwiOyAgfVxyXG5idXR0b24ubXotYnV0dG9uLm16LWJ1dHRvbi1uZXh0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxhMDAzXCI7IH1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA3NjdweCkge1xyXG4gICAgYnV0dG9uLm16LWJ1dHRvbi1wcmV2LFxyXG4gICAgYnV0dG9uLm16LWJ1dHRvbi1uZXh0IHtcclxuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm1vYmlsZS1tYWdpYyAubXotZXhwYW5kIGJ1dHRvbi5tei1idXR0b24ge1xyXG4gICAgICAgIHdpZHRoOiA0NHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiA0NHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDksNTEsNjEsMC4zKSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLmx0LWllOS1tYWdpYyBidXR0b24ubXotYnV0dG9uIHtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT03NSk7XHJcbn1cclxuLmx0LWllOS1tYWdpYyBidXR0b24ubXotYnV0dG9uOmhvdmVyIHtcclxuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFRodW1ibmFpbHNcclxuICovXHJcblxyXG4gLyogVGh1bWJuYWlscyBvbiB0aGUgcGFnZSAqL1xyXG4ubXotdGh1bWIsIC5tei10aHVtYjpmb2N1cyB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBsaW5lLWhlaWdodDogMDtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuLm16LXRodW1iIGltZyB7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcbi5tei10aHVtYjpob3Zlcjpub3QoLm16LXRodW1iLXNlbGVjdGVkKSBpbWcge1xyXG4gICAgLXdlYmtpdC1maWx0ZXI6IGJyaWdodG5lc3MoNzUlKTtcclxuICAgICAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDc1JSk7XHJcbn1cclxuLm16LXRodW1iLXNlbGVjdGVkIGltZyB7XHJcbiAgICAtd2Via2l0LWZpbHRlcjogYnJpZ2h0bmVzcyg2MCUpO1xyXG4gICAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoNjAlKTtcclxufVxyXG4ubm8tY3NzZmlsdGVycy1tYWdpYyAubXotdGh1bWIge1xyXG4gICAgYmFja2dyb3VuZDogIzAwMDtcclxufVxyXG4ubm8tY3NzZmlsdGVycy1tYWdpYyAubXotdGh1bWI6aG92ZXI6bm90KC5tei10aHVtYi1zZWxlY3RlZCkgaW1nIHtcclxuICAgIG9wYWNpdHk6IC43NTtcclxuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT03NSk7XHJcbn1cclxuLm5vLWNzc2ZpbHRlcnMtbWFnaWMgLm16LXRodW1iLXNlbGVjdGVkIGltZyB7XHJcbiAgICBvcGFjaXR5OiAuNjtcclxuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT02MCk7XHJcbn1cclxuLmllOS1tYWdpYyAubXotdGh1bWIgaW1nIHtcclxuICAgIGJveC1zaGFkb3c6IDAgMCA0cHggMHB4IHJnYmEoMCwwLDAsMC4zKTtcclxufVxyXG5cclxuIC8qIFRodW1ibmFpbHMgaW4gZXhwYW5kZWQgdmlldyAqL1xyXG4ubXotZXhwYW5kLXRodW1ibmFpbHMge1xyXG4gICAgei1pbmRleDogNTA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiA2NXB4O1xyXG4gICAgcmlnaHQ6IDY1cHg7XHJcbiAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcbi5tei1leHBhbmQtdGh1bWJuYWlscyAubWFnaWMtdGh1bWJzIC5tYWdpYy10aHVtYiB7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDJweDtcclxufVxyXG4ubXotZXhwYW5kLXRodW1ibmFpbHMgLm1hZ2ljLXRodW1iID4gaW1nIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIGJveC1zaGFkb3c6MCAwIDVweCAxcHggcmdiYSgwLDAsMCwwLjMpO1xyXG59XHJcbi5tei1leHBhbmQtdGh1bWJuYWlscyAubWFnaWMtdGh1bWI6bm90KC5tYWdpYy10aHVtYi1zZWxlY3RlZCkgPiBpbWc6aG92ZXIge1xyXG4gICAgLXdlYmtpdC1maWx0ZXI6IGJyaWdodG5lc3MoNzAlKTtcclxuICAgICAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDcwJSk7XHJcbn1cclxuLm16LWV4cGFuZC10aHVtYm5haWxzIC5tYWdpYy10aHVtYi1zZWxlY3RlZCBpbWcge1xyXG4gICAgLXdlYmtpdC1maWx0ZXI6IGJyaWdodG5lc3MoNTAlKTtcclxuICAgICAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDUwJSk7XHJcbn1cclxuLm16LWV4cGFuZC10aHVtYm5haWxzIC5tYWdpYy10aHVtYnMgLm1hZ2ljLXRodW1icy1idXR0b24ge1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxufVxyXG4ubXotZXhwYW5kLXRodW1ibmFpbHMgLm1hZ2ljLXRodW1icyAubWFnaWMtdGh1bWJzLWJ1dHRvbi1kaXNhYmxlZCB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG59XHJcbi5uby1jc3NmaWx0ZXJzLW1hZ2ljIC5tei1leHBhbmQtdGh1bWJuYWlscyAubWFnaWMtdGh1bWI6aG92ZXI6bm90KC5tYWdpYy10aHVtYi1zZWxlY3RlZCkgaW1nIHtcclxuICAgIG9wYWNpdHk6IC43O1xyXG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTcwKTtcclxufVxyXG4ubm8tY3NzZmlsdGVycy1tYWdpYyAubXotZXhwYW5kLXRodW1ibmFpbHMgLm1hZ2ljLXRodW1iLXNlbGVjdGVkIGltZyB7XHJcbiAgICBvcGFjaXR5OiAuNTtcclxuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT01MCk7XHJcbn1cclxuXHJcbi8qKiBIaWRlIHRodW1ibmFpbHMgaW4gZXhwYW5kZWQgdmlldyB3aXRoIC5uby1leHBhbmQtdGh1bWJuYWlscyBjbGFzcyAqKi9cclxuLm16LWV4cGFuZC5uby1leHBhbmQtdGh1bWJuYWlscyAubXotZXhwYW5kLXN0YWdlLndpdGgtdGh1bWJzIC5tei1pbWFnZS1zdGFnZSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcclxufVxyXG4ubXotZXhwYW5kLm5vLWV4cGFuZC10aHVtYm5haWxzIC5tei1leHBhbmQtdGh1bWJuYWlscyB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcbi5tb2JpbGUtbWFnaWMgLm16LWV4cGFuZC5uby1leHBhbmQtdGh1bWJuYWlscyAubXotZXhwYW5kLXN0YWdlLndpdGgtdGh1bWJzIC5tei1pbWFnZS1zdGFnZSB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcbi5tYWdpYy10aHVtYnMsXHJcbi5tYWdpYy10aHVtYnMgLm1hZ2ljLXRodW1icy13cmFwcGVyLFxyXG4ubWFnaWMtdGh1bWJzIHVsLFxyXG4ubWFnaWMtdGh1bWJzIGxpLFxyXG4ubWFnaWMtdGh1bWJzIGxpOmJlZm9yZSxcclxuLm1hZ2ljLXRodW1icyBsaTphZnRlcixcclxuLm1hZ2ljLXRodW1icyBsaSBpbWcsXHJcbi5tYWdpYy10aHVtYnMgLm1hZ2ljLXRodW1icy1idXR0b24ge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG91dGxpbmU6IDA7XHJcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG4ubWFnaWMtdGh1bWJzIHtcclxuICAgIGRpcmVjdGlvbjogbHRyO1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICB6LWluZGV4OiAxMDA7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcGFkZGluZzogMCAzMHB4O1xyXG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcclxuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xyXG4gICAgdG91Y2gtYWN0aW9uOiBub25lO1xyXG59XHJcblxyXG4ubWFnaWMtdGh1bWJzIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLm1hZ2ljLXRodW1icy5uby1idXR0b25zIHtcclxuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLm1hZ2ljLXRodW1icy13cmFwcGVyIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ubWFnaWMtdGh1bWJzIHVsIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBmb250LXNpemU6IDA7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG4ubWFnaWMtdGh1bWJzLm5vLWJ1dHRvbnMgdWwge1xyXG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgLW1vei10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcclxuICAgIC1tcy10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcclxuICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLm1hZ2ljLXRodW1icyB1bCBsaSB7XHJcbiAgICBtYXJnaW46IDAgNHB4O1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuLm1hZ2ljLXRodW1icyB1bCBsaTphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogMDtcclxufVxyXG5cclxuLm1hZ2ljLXRodW1icyB1bCBsaSA+IGltZyB7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcbi5pZTgtbWFnaWMgLm1hZ2ljLXRodW1icyB1bCBsaSA+IGltZyB7XHJcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIG1heC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogdmVydGljYWwgKi9cclxuLm1hZ2ljLXRodW1icy5tYWdpYy10aHVtYnMtdmVydGljYWwge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcbi5tYWdpYy10aHVtYnMtdmVydGljYWwge1xyXG4gICAgcGFkZGluZzogMzBweCAwO1xyXG59XHJcbi5tYWdpYy10aHVtYnMtdmVydGljYWwgdWwge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG59XHJcbi5tYWdpYy10aHVtYnMtdmVydGljYWwgdWwgbGkge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuLm1hZ2ljLXRodW1icy12ZXJ0aWNhbCB1bCBsaSB7XHJcbiAgICBtYXJnaW46IDRweCAwO1xyXG59XHJcblxyXG4ubWFnaWMtdGh1bWJzLXZlcnRpY2FsIHVsIGxpID4gaW1nIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1heC1oZWlnaHQ6IG5vbmU7XHJcbn1cclxuLmllOC1tYWdpYyAubWFnaWMtdGh1bWJzLXZlcnRpY2FsIHVsIGxpID4gaW1nIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vKipcclxuICogQnV0dG9uc1xyXG4gKi9cclxuLm1hZ2ljLXRodW1icyAubWFnaWMtdGh1bWJzLWJ1dHRvbiB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB6LWluZGV4OiA5MDtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgICBmb250LWZhbWlseTogXCJtYWdpY3Rvb2xib3gtdGhpblwiO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcclxuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcclxuICAgIHNwZWFrOiBub25lO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogI2JiYjtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG5cclxuICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgdG9wOiAwOyBib3R0b206IDA7XHJcbn1cclxuLm1hZ2ljLXRodW1icyAubWFnaWMtdGh1bWJzLWJ1dHRvbi1wcmV2IHtcclxuICAgIGxlZnQ6IDA7XHJcbn1cclxuLm1hZ2ljLXRodW1icyAubWFnaWMtdGh1bWJzLWJ1dHRvbi1uZXh0IHtcclxuICAgIHJpZ2h0OiAwO1xyXG59XHJcblxyXG4ubWFnaWMtdGh1bWJzIC5tYWdpYy10aHVtYnMtYnV0dG9uLXByZXY6YmVmb3JlIHsgY29udGVudDogXCJcXGEwMDJcIjsgfVxyXG4ubWFnaWMtdGh1bWJzIC5tYWdpYy10aHVtYnMtYnV0dG9uLW5leHQ6YmVmb3JlIHsgY29udGVudDogXCJcXGEwMDNcIjsgfVxyXG4ubWFnaWMtdGh1bWJzLWJ1dHRvbjpiZWZvcmUge1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXM7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXM7XHJcbiAgICBvcGFjaXR5OiAuNjtcclxufVxyXG4ubWFnaWMtdGh1bWJzIC5tYWdpYy10aHVtYnMtYnV0dG9uOmhvdmVyOmJlZm9yZSB7IG9wYWNpdHk6IDE7IH1cclxuXHJcblxyXG4vKiBWZXJ0aWNhbCBidXR0b25zICovXHJcbi5tYWdpYy10aHVtYnMtdmVydGljYWwgLm1hZ2ljLXRodW1icy1idXR0b24ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICBsZWZ0OiAwOyByaWdodDogMDtcclxuICAgIHRvcDogYXV0bzsgYm90dG9tOiBhdXRvO1xyXG59XHJcbi5tYWdpYy10aHVtYnMtdmVydGljYWwgLm1hZ2ljLXRodW1icy1idXR0b24tcHJldiB7XHJcbiAgICB0b3A6IDA7XHJcbn1cclxuLm1hZ2ljLXRodW1icy12ZXJ0aWNhbCAubWFnaWMtdGh1bWJzLWJ1dHRvbi1uZXh0IHtcclxuICAgIGJvdHRvbTogMDtcclxufVxyXG4ubWFnaWMtdGh1bWJzLXZlcnRpY2FsIC5tYWdpYy10aHVtYnMtYnV0dG9uLXByZXY6YmVmb3JlIHsgY29udGVudDogXCJcXGEwMDVcIjsgfVxyXG4ubWFnaWMtdGh1bWJzLXZlcnRpY2FsIC5tYWdpYy10aHVtYnMtYnV0dG9uLW5leHQ6YmVmb3JlIHsgY29udGVudDogXCJcXGEwMDRcIjsgfVxyXG5cclxuXHJcbi5tYWdpYy10aHVtYnMubm8tYnV0dG9ucyAubWFnaWMtdGh1bWJzLWJ1dHRvbiB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tYWdpYy10aHVtYnMtYnV0dG9uLWRpc2FibGVkIHtcclxuICAgIG9wYWNpdHk6IDAuMjtcclxuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eSA9IDIwKTtcclxufVxyXG4iLCJcclxuLy8gQ29yZSB2YXJpYWJsZXMgYW5kIG1peGluc1xyXG5AaW1wb3J0IFwidmFyaWFibGVzXCI7IC8vIE1vZGlmeSB0aGlzIGZvciBjdXN0b20gY29sb3JzLCBmb250LXNpemVzLCBldGNcclxuQGltcG9ydCBcIm1peGluc1wiO1xyXG5cclxuLy8gQ1NTIFJlc2V0XHJcbkBpbXBvcnQgXCJyZXNldFwiO1xyXG5cclxuLy8gR3JpZCBzeXN0ZW0gYW5kIHBhZ2Ugc3RydWN0dXJlXHJcbkBpbXBvcnQgXCJzY2FmZm9sZGluZ1wiO1xyXG5cclxuXHJcbi8vIEJhc2UgQ1NTXHJcbkBpbXBvcnQgXCJ0eXBlXCI7XHJcbkBpbXBvcnQgXCJmb3Jtc1wiO1xyXG5AaW1wb3J0IFwidGFibGVzXCI7XHJcbi8vIENvbXBvbmVudHM6IGNvbW1vblxyXG5AaW1wb3J0IFwid2VsbHNcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudC1hbmltYXRpb25zXCI7XHJcbkBpbXBvcnQgXCJjbG9zZVwiO1xyXG5cclxuLy8gQ29tcG9uZW50czogQnV0dG9ucyAmIEFsZXJ0c1xyXG5AaW1wb3J0IFwiYnV0dG9uc1wiO1xyXG5AaW1wb3J0IFwiYnV0dG9uLWdyb3Vwc1wiO1xyXG5AaW1wb3J0IFwiYWxlcnRzXCI7IC8vIE5vdGU6IGFsZXJ0cyBzaGFyZSBjb21tb24gQ1NTIHdpdGggYnV0dG9ucyBhbmQgdGh1cyBoYXZlIHN0eWxlcyBpbiBidXR0b25zXHJcblxyXG4vLyBDb21wb25lbnRzOiBOYXZcclxuQGltcG9ydCBcIm5hdnNcIjtcclxuQGltcG9ydCBcIm5hdmJhclwiO1xyXG5AaW1wb3J0IFwiYnJlYWRjcnVtYnNcIjtcclxuQGltcG9ydCBcInBhZ2luYXRpb25cIjtcclxuXHJcbi8vIENvbXBvbmVudHM6IFBvcG92ZXJzXHJcbkBpbXBvcnQgXCJtb2RhbHNcIjtcclxuXHJcbi8vIFV0aWxpdHkgY2xhc3Nlc1xyXG5AaW1wb3J0IFwidXRpbGl0aWVzXCI7IC8vIEhhcyB0byBiZSBsYXN0IHRvIG92ZXJyaWRlIHdoZW4gbmVjZXNzYXJ5XHJcblxyXG4vL3Rlc3QgcHVzaCEiLCIvL1xyXG4vLyBWYXJpYWJsZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuQGluY2x1ZGUgZm9udC1mYWNlKE9wZW5TYW5zLCAnLi4vZm9udHMvT3BlblNhbnMtUmVndWxhci13ZWJmb250Jywgbm9ybWFsLCBub3JtYWwpO1xyXG5AaW5jbHVkZSBmb250LWZhY2UoT3BlblNhbnMsICcuLi9mb250cy9PcGVuU2Fucy1Cb2xkLXdlYmZvbnQnLCBib2xkLCBub3JtYWwpO1xyXG5AaW5jbHVkZSBmb250LWZhY2UoT3BlblNhbnMsICcuLi9mb250cy9PcGVuU2Fucy1JdGFsaWMtd2ViZm9udCcsIG5vcm1hbCwgaXRhbGljKTtcclxuQGluY2x1ZGUgZm9udC1mYWNlKE9wZW5TYW5zLCAnLi4vZm9udHMvT3BlblNhbnMtTGlnaHQtd2ViZm9udCcsIDMwMCwgbm9ybWFsKTtcclxuXHJcblxyXG4vLyBHbG9iYWwgdmFsdWVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiRiYXNlOiAjMTVjO1xyXG4kZmlybTogIzMzMzMzMztcclxuJGJvZHk6ICNlN2U3ZTc7XHJcblxyXG5cclxuLy8gR3JheXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4kYmxhY2s6ICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xyXG4kZ3JheURhcmtlc3Q6ICAgICAgICAgICAjNjU2NTY1ICFkZWZhdWx0O1xyXG4kZ3JheURhcmtlcjogICAgICAgICAgICAjMjIyICFkZWZhdWx0O1xyXG4kZ3JheURhcms6ICAgICAgICAgICAgICAjMzMzICFkZWZhdWx0O1xyXG4kZ3JheTogICAgICAgICAgICAgICAgICAjNTU1ICFkZWZhdWx0O1xyXG4kZ3JheUxpZ2h0OiAgICAgICAgICAgICAjOTk5ICFkZWZhdWx0O1xyXG4kZ3JheUxpZ2h0ZXI6ICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xyXG4kd2hpdGU6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIEFjY2VudCBjb2xvcnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4kYmx1ZTogICAgICAgICAgICAgICAgICAjNGI3YWJlICFkZWZhdWx0O1xyXG4kYmx1ZURhcms6ICAgICAgICAgICAgICAjMDA2NGNkICFkZWZhdWx0O1xyXG4kZ3JlZW46ICAgICAgICAgICAgICAgICAjNDZhNTQ2ICFkZWZhdWx0O1xyXG4kcmVkOiAgICAgICAgICAgICAgICAgICAjOWQyNjFkICFkZWZhdWx0O1xyXG4keWVsbG93OiAgICAgICAgICAgICAgICAjZmZjNDBkICFkZWZhdWx0O1xyXG4kb3JhbmdlOiAgICAgICAgICAgICAgICAjZjg5NDA2ICFkZWZhdWx0O1xyXG4kcGluazogICAgICAgICAgICAgICAgICAjYzMzMjVmICFkZWZhdWx0O1xyXG4kcHVycGxlOiAgICAgICAgICAgICAgICAjN2E0M2I2ICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIFNjYWZmb2xkaW5nXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuJGJvZHlCYWNrZ3JvdW5kOiAgICAgICAgI2ZmZmZmZiAhZGVmYXVsdDtcclxuJHRleHRDb2xvcjogICAgICAgICAgICAgJGdyYXlEYXJrICFkZWZhdWx0O1xyXG4kZm9vdGVyQmFja2dyb3VuZDogICAgICAjZGFkYWRhICFkZWZhdWx0O1xyXG5cclxuLy8gTGlua3NcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4kbGlua0NvbG9yOiAgICAgICAgICAgICAkYmFzZSAhZGVmYXVsdDtcclxuJGxpbmtDb2xvckhvdmVyOiAgICAgICAgZGFya2VuKCRsaW5rQ29sb3IsIDE1JSkgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gVHlwb2dyYXBoeVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgJ09wZW5TYW5zJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcclxuJGZvbnQtZmFtaWx5LXNlcmlmOiAgICAgICBHZW9yZ2lhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBUaW1lcywgc2VyaWYgIWRlZmF1bHQ7XHJcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgTW9uYWNvLCBNZW5sbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xyXG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xyXG4kZm9udEF3ZXNvbWU6ICAgICAgICAgICBGb250QXdlc29tZSAhZGVmYXVsdDtcclxuXHJcbiRmb250LXNpemUtYmFzZTogICAgICAgICAgMTNweCAhZGVmYXVsdDtcclxuJGZvbnQtc2l6ZS1sYXJnZTogICAgICAgICBjZWlsKCRmb250LXNpemUtYmFzZSAqIDEuMjUpICFkZWZhdWx0OyAvLyB+MThweFxyXG4kZm9udC1zaXplLXNtYWxsOiAgICAgICAgIGNlaWwoJGZvbnQtc2l6ZS1iYXNlICogMC44NSkgIWRlZmF1bHQ7IC8vIH4xMnB4XHJcblxyXG4kZm9udC1zaXplLWgxOiAgICAgICAgICAgIGZsb29yKCRmb250LXNpemUtYmFzZSAqIDIuNikgIWRlZmF1bHQ7IC8vIH4zNnB4XHJcbiRmb250LXNpemUtaDI6ICAgICAgICAgICAgZmxvb3IoJGZvbnQtc2l6ZS1iYXNlICogMi4xNSkgIWRlZmF1bHQ7IC8vIH4zMHB4XHJcbiRmb250LXNpemUtaDM6ICAgICAgICAgICAgY2VpbCgkZm9udC1zaXplLWJhc2UgKiAxLjcpICFkZWZhdWx0OyAvLyB+MjRweFxyXG4kZm9udC1zaXplLWg0OiAgICAgICAgICAgIGNlaWwoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7IC8vIH4xOHB4XHJcbiRmb250LXNpemUtaDU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xyXG4kZm9udC1zaXplLWg2OiAgICAgICAgICAgIGNlaWwoJGZvbnQtc2l6ZS1iYXNlICogMC44NSkgIWRlZmF1bHQ7IC8vIH4xMnB4XHJcblxyXG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgIDEuNDI4NTcxNDI5ICFkZWZhdWx0OyAvLyAyMC8xNFxyXG4kbGluZS1oZWlnaHQtY29tcHV0ZWQ6ICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0OyAvLyB+MjBweFxyXG5cclxuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAkZm9udC1mYW1pbHktYmFzZSAhZGVmYXVsdDtcclxuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICA0MDAgIWRlZmF1bHQ7XHJcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgMS4xICFkZWZhdWx0O1xyXG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XHJcbi8vIENvbXBvbmVudCBzaXppbmdcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBCYXNlZCBvbiAxNHB4IGZvbnQtc2l6ZSBhbmQgMjBweCBsaW5lLWhlaWdodFxyXG5cclxuJGZvbnRTaXplTGFyZ2U6ICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNTsgLy8gfjE4cHhcclxuJGZvbnRTaXplU21hbGw6ICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMC44NTsgLy8gfjEycHhcclxuJGZvbnRTaXplTWluaTogICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMC43NTsgLy8gfjExcHhcclxuXHJcbiRwYWRkaW5nTGFyZ2U6ICAgICAgICAgIDExcHggMTlweCAhZGVmYXVsdDsgLy8gNDRweFxyXG4kcGFkZGluZ1NtYWxsOiAgICAgICAgICA1cHggMTBweCAhZGVmYXVsdDsgIC8vIDI2cHhcclxuJHBhZGRpbmdNaW5pOiAgICAgICAgICAgMHB4IDZweCAhZGVmYXVsdDsgICAvLyAyMnB4XHJcblxyXG4kYmFzZUJvcmRlclJhZGl1czogICAgICAycHggIWRlZmF1bHQ7XHJcbiRib3JkZXJSYWRpdXNMYXJnZTogICAgIDZweCAhZGVmYXVsdDtcclxuJGJvcmRlclJhZGl1c1NtYWxsOiAgICAgMnB4ICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIFRhYmxlc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiR0YWJsZUJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0OyAvLyBvdmVyYWxsIGJhY2tncm91bmQtY29sb3JcclxuJHRhYmxlQmFja2dyb3VuZEFjY2VudDogICAgICAgICAgICAgI2Y5ZjlmOSAhZGVmYXVsdDsgLy8gZm9yIHN0cmlwaW5nXHJcbiR0YWJsZUJhY2tncm91bmRIb3ZlcjogICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7IC8vIGZvciBob3ZlclxyXG4kdGFibGVCb3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0OyAvLyB0YWJsZSBhbmQgY2VsbCBib3JkZXJcclxuXHJcbi8vIEJ1dHRvbnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4kYnRuQmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRidG5CYWNrZ3JvdW5kSGlnaGxpZ2h0OiAgICAgICAgICAgIGRhcmtlbigkd2hpdGUsIDEwJSkgIWRlZmF1bHQ7XHJcbiRidG5Cb3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICNkY2RjZGMgIWRlZmF1bHQ7XHJcblxyXG4kYnRuUHJpbWFyeUJhY2tncm91bmQ6ICAgICAgICAgICAgICAkbGlua0NvbG9yICFkZWZhdWx0O1xyXG4kYnRuUHJpbWFyeUJhY2tncm91bmRIaWdobGlnaHQ6ICAgICBhZGp1c3QtaHVlKCRidG5QcmltYXJ5QmFja2dyb3VuZCwgMjAlKSAhZGVmYXVsdDtcclxuXHJcbiRidG5JbmZvQmFja2dyb3VuZDogICAgICAgICAgICAgICAgICM1YmMwZGUgIWRlZmF1bHQ7XHJcbiRidG5JbmZvQmFja2dyb3VuZEhpZ2hsaWdodDogICAgICAgICMyZjk2YjQgIWRlZmF1bHQ7XHJcblxyXG4kYnRuU3VjY2Vzc0JhY2tncm91bmQ6ICAgICAgICAgICAgICAjNjJjNDYyICFkZWZhdWx0O1xyXG4kYnRuU3VjY2Vzc0JhY2tncm91bmRIaWdobGlnaHQ6ICAgICAjNTFhMzUxICFkZWZhdWx0O1xyXG5cclxuJGJ0bldhcm5pbmdCYWNrZ3JvdW5kOiAgICAgICAgICAgICAgbGlnaHRlbigkb3JhbmdlLCAxNSUpICFkZWZhdWx0O1xyXG4kYnRuV2FybmluZ0JhY2tncm91bmRIaWdobGlnaHQ6ICAgICAkb3JhbmdlICFkZWZhdWx0O1xyXG5cclxuJGJ0bkRhbmdlckJhY2tncm91bmQ6ICAgICAgICAgICAgICAgI2VlNWY1YiAhZGVmYXVsdDtcclxuJGJ0bkRhbmdlckJhY2tncm91bmRIaWdobGlnaHQ6ICAgICAgI2JkMzYyZiAhZGVmYXVsdDtcclxuXHJcbiRidG5JbnZlcnNlQmFja2dyb3VuZDogICAgICAgICAgICAgICM0NDQgIWRlZmF1bHQ7XHJcbiRidG5JbnZlcnNlQmFja2dyb3VuZEhpZ2hsaWdodDogICAgICRncmF5RGFya2VyICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIEZvcm1zXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuJGlucHV0QmFja2dyb3VuZDogICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRpbnB1dEJvcmRlcjogICAgICAgICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcclxuJGlucHV0Qm9yZGVyUmFkaXVzOiAgICAgICAgICAgICAkYmFzZUJvcmRlclJhZGl1cyAhZGVmYXVsdDtcclxuJGlucHV0RGlzYWJsZWRCYWNrZ3JvdW5kOiAgICAgICAkZ3JheUxpZ2h0ZXIgIWRlZmF1bHQ7XHJcbiRmb3JtQWN0aW9uc0JhY2tncm91bmQ6ICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcclxuJGlucHV0SGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZSArIDEwcHg7IC8vIGJhc2UgbGluZS1oZWlnaHQgKyA4cHggdmVydGljYWwgcGFkZGluZyArIDJweCB0b3AvYm90dG9tIGJvcmRlclxyXG5cclxuLy8gRHJvcGRvd25zXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuJGRyb3Bkb3duQmFja2dyb3VuZDogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRkcm9wZG93bkJvcmRlcjogICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwuMikgIWRlZmF1bHQ7XHJcbiRkcm9wZG93bkRpdmlkZXJUb3A6ICAgICAgICAgICAgI2U1ZTVlNSAhZGVmYXVsdDtcclxuJGRyb3Bkb3duRGl2aWRlckJvdHRvbTogICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcblxyXG4kZHJvcGRvd25MaW5rQ29sb3I6ICAgICAgICAgICAgICRncmF5RGFyayAhZGVmYXVsdDtcclxuJGRyb3Bkb3duTGlua0NvbG9ySG92ZXI6ICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRkcm9wZG93bkxpbmtDb2xvckFjdGl2ZTogICAgICAgJHdoaXRlICFkZWZhdWx0O1xyXG5cclxuJGRyb3Bkb3duTGlua0JhY2tncm91bmRBY3RpdmU6ICAkbGlua0NvbG9yICFkZWZhdWx0O1xyXG4kZHJvcGRvd25MaW5rQmFja2dyb3VuZEhvdmVyOiAgICRkcm9wZG93bkxpbmtCYWNrZ3JvdW5kQWN0aXZlICFkZWZhdWx0O1xyXG5cclxuXHJcblxyXG4vLyBDT01QT05FTlQgVkFSSUFCTEVTXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5cclxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIFVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3IG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXNcclxuLy8gVHJ5IHRvIGF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIDopXHJcbiR6aW5kZXhEcm9wZG93bjogICAgICAgICAgMTAwMCAhZGVmYXVsdDtcclxuJHppbmRleFBvcG92ZXI6ICAgICAgICAgICAxMDEwICFkZWZhdWx0O1xyXG4kemluZGV4VG9vbHRpcDogICAgICAgICAgIDEwMzAgIWRlZmF1bHQ7XHJcbiR6aW5kZXhGaXhlZE5hdmJhcjogICAgICAgMTAzMCAhZGVmYXVsdDtcclxuJHppbmRleE1vZGFsQmFja2Ryb3A6ICAgICAxMDQwICFkZWZhdWx0O1xyXG4kemluZGV4TW9kYWw6ICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gU3ByaXRlIGljb25zIHBhdGhcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4kaWNvblNwcml0ZVBhdGg6ICAgICAgICAgIFwiLi4vaW1nL2dseXBoaWNvbnMtaGFsZmxpbmdzLnBuZ1wiICFkZWZhdWx0O1xyXG4kaWNvbldoaXRlU3ByaXRlUGF0aDogICAgIFwiLi4vaW1nL2dseXBoaWNvbnMtaGFsZmxpbmdzLXdoaXRlLnBuZ1wiICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIElucHV0IHBsYWNlaG9sZGVyIHRleHQgY29sb3JcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4kcGxhY2Vob2xkZXJUZXh0OiAgICAgICAgICRncmF5TGlnaHQgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gSHIgYm9yZGVyIGNvbG9yXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuJGhyQm9yZGVyOiAgICAgICAgICAgICAgICAkZ3JheUxpZ2h0ZXIgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gSG9yaXpvbnRhbCBmb3JtcyAmIGxpc3RzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuJGhvcml6b250YWxDb21wb25lbnRPZmZzZXQ6ICAgICAgIDE4MHB4ICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIFdlbGxzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuJHdlbGxCYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gTmF2YmFyXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuJG5hdmJhci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xyXG4kbmF2YmFyLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICRsaW5lLWhlaWdodC1jb21wdXRlZCAhZGVmYXVsdDtcclxuJG5hdmJhci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAzcHg7XHJcbiRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgMjBweCAhZGVmYXVsdDtcclxuJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAoKCRuYXZiYXItaGVpZ2h0IC0gJGxpbmUtaGVpZ2h0LWNvbXB1dGVkKSAvIDIpICFkZWZhdWx0O1xyXG5cclxuJG5hdmJhci1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAjNzc3ICFkZWZhdWx0O1xyXG4kbmF2YmFyLWRlZmF1bHQtYmc6ICAgICAgICAgICAgICAgICNmOGY4ZjggIWRlZmF1bHQ7XHJcbiRuYXZiYXItZGVmYXVsdC1ib3JkZXI6ICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1iZywgNi41JSkgIWRlZmF1bHQ7XHJcblxyXG4vLyBOYXZiYXIgbGlua3NcclxuJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICM3NzcgIWRlZmF1bHQ7XHJcbiRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAjMzMzICFkZWZhdWx0O1xyXG4kbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcbiRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAjNTU1ICFkZWZhdWx0O1xyXG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1iZywgNi41JSkgIWRlZmF1bHQ7XHJcbiRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAjY2NjICFkZWZhdWx0O1xyXG4kbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1iZzogICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcblxyXG4vLyBOYXZiYXIgYnJhbmQgbGFiZWxcclxuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yICFkZWZhdWx0O1xyXG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvciwgMTAlKSAhZGVmYXVsdDtcclxuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWJnOiAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xyXG5cclxuLy8gTmF2YmFyIHRvZ2dsZVxyXG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWhvdmVyLWJnOiAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcclxuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1pY29uLWJhci1iZzogICAgICAgICNjY2MgIWRlZmF1bHQ7XHJcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtYm9yZGVyLWNvbG9yOiAgICAgICAjZGRkICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIFBhZ2luYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4kcGFnaW5hdGlvbkJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uQm9yZGVyOiAgICAgICAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb25BY3RpdmVCYWNrZ3JvdW5kOiAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIEhlcm8gdW5pdFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiRoZXJvVW5pdEJhY2tncm91bmQ6ICAgICAgICAgICAgICAkZ3JheUxpZ2h0ZXIgIWRlZmF1bHQ7XHJcbiRoZXJvVW5pdEhlYWRpbmdDb2xvcjogICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xyXG4kaGVyb1VuaXRMZWFkQ29sb3I6ICAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBGb3JtIHN0YXRlcyBhbmQgYWxlcnRzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuJHdhcm5pbmdUZXh0OiAgICAgICAgICAgICAkb3JhbmdlICFkZWZhdWx0O1xyXG4kd2FybmluZ0JhY2tncm91bmQ6ICAgICAgICNmY2Y4ZTMgIWRlZmF1bHQ7XHJcbiR3YXJuaW5nQm9yZGVyOiAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHdhcm5pbmdCYWNrZ3JvdW5kLCAtMTApLCAzJSkgIWRlZmF1bHQ7XHJcblxyXG4kZXJyb3JUZXh0OiAgICAgICAgICAgICAgICNiOTRhNDggIWRlZmF1bHQ7XHJcbiRlcnJvckJhY2tncm91bmQ6ICAgICAgICAgI2YyZGVkZSAhZGVmYXVsdDtcclxuJGVycm9yQm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkZXJyb3JCYWNrZ3JvdW5kLCAtMTApLCAzJSkgIWRlZmF1bHQ7XHJcblxyXG4kc3VjY2Vzc1RleHQ6ICAgICAgICAgICAgICM0Njg4NDcgIWRlZmF1bHQ7XHJcbiRzdWNjZXNzQmFja2dyb3VuZDogICAgICAgI2RmZjBkOCAhZGVmYXVsdDtcclxuJHN1Y2Nlc3NCb3JkZXI6ICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3VjY2Vzc0JhY2tncm91bmQsIC0xMCksIDUlKSAhZGVmYXVsdDtcclxuXHJcbiRpbmZvVGV4dDogICAgICAgICAgICAgICAgIzNhODdhZCAhZGVmYXVsdDtcclxuJGluZm9CYWNrZ3JvdW5kOiAgICAgICAgICAjZDllZGY3ICFkZWZhdWx0O1xyXG4kaW5mb0JvcmRlcjogICAgICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRpbmZvQmFja2dyb3VuZCwgLTEwKSwgNyUpICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIFRvb2x0aXBzIGFuZCBwb3BvdmVyc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiR0b29sdGlwQ29sb3I6ICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuJHRvb2x0aXBCYWNrZ3JvdW5kOiAgICAgICAjMDAwICFkZWZhdWx0O1xyXG4kdG9vbHRpcEFycm93V2lkdGg6ICAgICAgIDVweCAhZGVmYXVsdDtcclxuJHRvb2x0aXBBcnJvd0NvbG9yOiAgICAgICAkdG9vbHRpcEJhY2tncm91bmQgIWRlZmF1bHQ7XHJcblxyXG4kcG9wb3ZlckJhY2tncm91bmQ6ICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcbiRwb3BvdmVyQXJyb3dXaWR0aDogICAgICAgMTBweCAhZGVmYXVsdDtcclxuJHBvcG92ZXJBcnJvd0NvbG9yOiAgICAgICAjZmZmICFkZWZhdWx0O1xyXG4kcG9wb3ZlclRpdGxlQmFja2dyb3VuZDogIGRhcmtlbigkcG9wb3ZlckJhY2tncm91bmQsIDMlKSAhZGVmYXVsdDtcclxuXHJcbi8vIFNwZWNpYWwgZW5oYW5jZW1lbnQgZm9yIHBvcG92ZXJzXHJcbiRwb3BvdmVyQXJyb3dPdXRlcldpZHRoOiAgJHBvcG92ZXJBcnJvd1dpZHRoICsgMSAhZGVmYXVsdDtcclxuJHBvcG92ZXJBcnJvd091dGVyQ29sb3I6ICByZ2JhKDAsMCwwLC4yNSkgIWRlZmF1bHQ7IiwiLy9cclxuLy8gTWl4aW5zXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5cclxuLy8gVVRJTElUWSBNSVhJTlNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIENsZWFyZml4XHJcbi8vIC0tLS0tLS0tXHJcbi8vIEZvciBjbGVhcmluZyBmbG9hdHMgbGlrZSBhIGJvc3MgaDVicC5jb20vcVxyXG5AbWl4aW4gY2xlYXJmaXgge1xyXG4gICp6b29tOiAxO1xyXG4gICY6YmVmb3JlLFxyXG4gICY6YWZ0ZXIge1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgLy8gRml4ZXMgT3BlcmEvY29udGVudGVkaXRhYmxlIGJ1ZzpcclxuICAgIC8vIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyNjb21tZW50LTM2OTUyXHJcbiAgICBsaW5lLWhlaWdodDogMDtcclxuICB9XHJcbiAgJjphZnRlciB7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcbn1cclxuXHJcbi8vIFdlYmtpdC1zdHlsZSBmb2N1c1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cclxuQG1peGluIHRhYi1mb2N1cygpIHtcclxuICAvLyBEZWZhdWx0XHJcbiAgb3V0bGluZTogdGhpbiBkb3R0ZWQgIzMzMztcclxuICAvLyBXZWJraXRcclxuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XHJcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XHJcbn1cclxuXHJcbi8vIENlbnRlci1hbGlnbiBhIGJsb2NrIGxldmVsIGVsZW1lbnRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5AbWl4aW4gY2VudGVyLWJsb2NrKCkge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxufVxyXG5cclxuLy8gSUU3IGlubGluZS1ibG9ja1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcbkBtaXhpbiBpZTctaW5saW5lLWJsb2NrKCkge1xyXG4gICpkaXNwbGF5OiBpbmxpbmU7IC8qIElFNyBpbmxpbmUtYmxvY2sgaGFjayAqL1xyXG4gICp6b29tOiAxO1xyXG59XHJcblxyXG4vLyBJRTcgbGlrZXMgdG8gY29sbGFwc2Ugd2hpdGVzcGFjZSBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgaW5saW5lLWJsb2NrIGVsZW1lbnRzLlxyXG4vLyBFbXMgYmVjYXVzZSB3ZSdyZSBhdHRlbXB0aW5nIHRvIG1hdGNoIHRoZSB3aWR0aCBvZiBhIHNwYWNlIGNoYXJhY3Rlci4gTGVmdFxyXG4vLyB2ZXJzaW9uIGlzIGZvciBmb3JtIGJ1dHRvbnMsIHdoaWNoIHR5cGljYWxseSBjb21lIGFmdGVyIG90aGVyIGVsZW1lbnRzLCBhbmRcclxuLy8gcmlnaHQgdmVyc2lvbiBpcyBmb3IgaWNvbnMsIHdoaWNoIGNvbWUgYmVmb3JlLiBBcHBseWluZyBib3RoIGlzIG9rLCBidXQgaXQgd2lsbFxyXG4vLyBtZWFuIHRoYXQgc3BhY2UgYmV0d2VlbiB0aG9zZSBlbGVtZW50cyB3aWxsIGJlIC42ZW0gKH4yIHNwYWNlIGNoYXJhY3RlcnMpIGluIElFNyxcclxuLy8gaW5zdGVhZCBvZiB0aGUgMSBzcGFjZSBpbiBvdGhlciBicm93c2Vycy5cclxuQG1peGluIGllNy1yZXN0b3JlLWxlZnQtd2hpdGVzcGFjZSgpIHtcclxuICAqbWFyZ2luLWxlZnQ6IC4zZW07XHJcblxyXG4gICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgKm1hcmdpbi1sZWZ0OiAwO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGllNy1yZXN0b3JlLXJpZ2h0LXdoaXRlc3BhY2UoKSB7XHJcbiAgKm1hcmdpbi1yaWdodDogLjNlbTtcclxufVxyXG5cclxuLy8gU2l6aW5nIHNob3J0Y3V0c1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkBtaXhpbiBzaXplKCRoZWlnaHQsICR3aWR0aCkge1xyXG4gIHdpZHRoOiAkd2lkdGg7XHJcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xyXG59XHJcbkBtaXhpbiBzcXVhcmUoJHNpemUpIHtcclxuICBAaW5jbHVkZSBzaXplKCRzaXplLCAkc2l6ZSk7XHJcbn1cclxuXHJcbi8vIFBsYWNlaG9sZGVyIHRleHRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5AbWl4aW4gcGxhY2Vob2xkZXIoJGNvbG9yOiAkcGxhY2Vob2xkZXJUZXh0KSB7XHJcbiAgJjotbW96LXBsYWNlaG9sZGVyIHtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgIGNvbG9yOiAkY29sb3I7XHJcbiAgfVxyXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbi8vIFRleHQgb3ZlcmZsb3dcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXHJcbkBtaXhpbiB0ZXh0LW92ZXJmbG93KCkge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9jb21taXQvYWEwMzk2ZWFlNzU3XHJcbkBtaXhpbiBoaWRlLXRleHQge1xyXG4gIGZvbnQ6IDAvMCBhO1xyXG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBib3JkZXI6IDA7XHJcbn1cclxuXHJcblxyXG4vLyBGT05UU1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuQG1peGluIGZvbnQtZmFtaWx5LXNlcmlmKCkge1xyXG4gIGZvbnQtZmFtaWx5OiAkc2VyaWZGb250RmFtaWx5O1xyXG59XHJcbkBtaXhpbiBmb250LWZhbWlseS1zYW5zLXNlcmlmKCkge1xyXG4gIGZvbnQtZmFtaWx5OiAkc2Fuc0ZvbnRGYW1pbHk7XHJcbn1cclxuQG1peGluIGZvbnQtZmFtaWx5LW1vbm9zcGFjZSgpIHtcclxuICBmb250LWZhbWlseTogJG1vbm9Gb250RmFtaWx5O1xyXG59XHJcbkBtaXhpbiBmb250LXNob3J0aGFuZCgkc2l6ZTogJGZvbnQtc2l6ZS1iYXNlLCAkd2VpZ2h0OiBub3JtYWwsICRsaW5lSGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZSkge1xyXG4gIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgbGluZS1oZWlnaHQ6ICRsaW5lSGVpZ2h0O1xyXG59XHJcbkBtaXhpbiBmb250LXNlcmlmKCRzaXplOiAkZm9udC1zaXplLWJhc2UsICR3ZWlnaHQ6IG5vcm1hbCwgJGxpbmVIZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlKSB7XHJcbiAgQGluY2x1ZGUgZm9udC1mYW1pbHktc2VyaWYoKTtcclxuICBAaW5jbHVkZSBmb250LXNob3J0aGFuZCgkc2l6ZSwgJHdlaWdodCwgJGxpbmVIZWlnaHQpO1xyXG59XHJcbkBtaXhpbiBmb250LXNhbnMtc2VyaWYoJHNpemU6ICRmb250LXNpemUtYmFzZSwgJHdlaWdodDogbm9ybWFsLCAkbGluZUhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2UpIHtcclxuICBAaW5jbHVkZSBmb250LWZhbWlseS1zYW5zLXNlcmlmKCk7XHJcbiAgQGluY2x1ZGUgZm9udC1zaG9ydGhhbmQoJHNpemUsICR3ZWlnaHQsICRsaW5lSGVpZ2h0KTtcclxufVxyXG5AbWl4aW4gZm9udC1tb25vc3BhY2UoJHNpemU6ICRmb250LXNpemUtYmFzZSwgJHdlaWdodDogbm9ybWFsLCAkbGluZUhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2UpIHtcclxuICBAaW5jbHVkZSBmb250LWZhbWlseS1tb25vc3BhY2UoKTtcclxuICBAaW5jbHVkZSBmb250LXNob3J0aGFuZCgkc2l6ZSwgJHdlaWdodCwgJGxpbmVIZWlnaHQpO1xyXG59XHJcblxyXG5AbWl4aW4gZm9ybS1sYWJlbCB7XHJcbiAgbGFiZWwge1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgcGFkZGluZzogMTRweCAwIDAgMDtcclxuICAgICAgbGV0dGVyLXNwYWNpbmc6IC41cHg7XHJcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIEZPUk1TXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBCbG9jayBsZXZlbCBpbnB1dHNcclxuQG1peGluIGlucHV0LWJsb2NrLWxldmVsIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBtaW4taGVpZ2h0OiAkaW5wdXRIZWlnaHQ7IC8vIE1ha2UgaW5wdXRzIGF0IGxlYXN0IHRoZSBoZWlnaHQgb2YgdGhlaXIgYnV0dG9uIGNvdW50ZXJwYXJ0IChiYXNlIGxpbmUtaGVpZ2h0ICsgcGFkZGluZyArIGJvcmRlcilcclxuICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpOyAvLyBNYWtlcyBpbnB1dHMgYmVoYXZlIGxpa2UgdHJ1ZSBibG9jay1sZXZlbCBlbGVtZW50c1xyXG59XHJcblxyXG5cclxuXHJcbi8vIE1peGluIGZvciBmb3JtIGZpZWxkIHN0YXRlc1xyXG5AbWl4aW4gZm9ybUZpZWxkU3RhdGUoJHRleHRDb2xvcjogIzU1NSwgJGJvcmRlckNvbG9yOiAjY2NjLCAkYmFja2dyb3VuZENvbG9yOiAjZjVmNWY1KSB7XHJcbiAgLy8gU2V0IHRoZSB0ZXh0IGNvbG9yXHJcbiAgLmNvbnRyb2wtbGFiZWwsXHJcbiAgLmhlbHAtYmxvY2ssXHJcbiAgLmhlbHAtaW5saW5lIHtcclxuICAgIGNvbG9yOiAkdGV4dENvbG9yO1xyXG4gIH1cclxuICAvLyBTdHlsZSBpbnB1dHMgYWNjb3JkaW5nbHlcclxuICAuY2hlY2tib3gsXHJcbiAgLnJhZGlvLFxyXG4gIGlucHV0LFxyXG4gIHNlbGVjdCxcclxuICB0ZXh0YXJlYSB7XHJcbiAgICBjb2xvcjogJHRleHRDb2xvcjtcclxuICB9XHJcbiAgaW5wdXQsXHJcbiAgc2VsZWN0LFxyXG4gIHRleHRhcmVhIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlckNvbG9yO1xyXG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSk7IC8vIFJlZGVjbGFyZSBzbyB0cmFuc2l0aW9ucyB3b3JrXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlckNvbG9yLCAxMCUpO1xyXG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLCAwIDAgNnB4IGxpZ2h0ZW4oJGJvcmRlckNvbG9yLCAyMCUpKTtcclxuICAgIH1cclxuICB9XHJcbiAgLy8gR2l2ZSBhIHNtYWxsIGJhY2tncm91bmQgY29sb3IgZm9yIGlucHV0LXByZXBlbmQvLWFwcGVuZFxyXG4gIC5pbnB1dC1wcmVwZW5kIC5hZGQtb24sXHJcbiAgLmlucHV0LWFwcGVuZCAuYWRkLW9uIHtcclxuICAgIGNvbG9yOiAkdGV4dENvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmRDb2xvcjtcclxuICAgIGJvcmRlci1jb2xvcjogJHRleHRDb2xvcjtcclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuLy8gQ1NTMyBQUk9QRVJUSUVTXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBCb3JkZXIgUmFkaXVzXHJcbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXMpIHtcclxuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxufVxyXG5cclxuLy8gU2luZ2xlIENvcm5lciBCb3JkZXIgUmFkaXVzXHJcbkBtaXhpbiBib3JkZXItdG9wLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcclxuICAtd2Via2l0LWJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICAgIC1tb3otYm9yZGVyLXJhZGl1cy10b3BsZWZ0OiAkcmFkaXVzO1xyXG4gICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcclxufVxyXG5AbWl4aW4gYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xyXG4gIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICAgIC1tb3otYm9yZGVyLXJhZGl1cy10b3ByaWdodDogJHJhZGl1cztcclxuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xyXG59XHJcbkBtaXhpbiBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XHJcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcclxuICAgICAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbXJpZ2h0OiAkcmFkaXVzO1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XHJcbn1cclxuQG1peGluIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoJHJhZGl1cykge1xyXG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcclxuICAgICAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbWxlZnQ6ICRyYWRpdXM7XHJcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xyXG59XHJcblxyXG4vLyBTaW5nbGUgU2lkZSBCb3JkZXIgUmFkaXVzXHJcbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzKSB7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1cyk7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygkcmFkaXVzKTtcclxufVxyXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1cyk7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1cyk7XHJcbn1cclxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcclxuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygkcmFkaXVzKTtcclxuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRyYWRpdXMpO1xyXG59XHJcbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xyXG4gIEBpbmNsdWRlIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoJHJhZGl1cyk7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkcmFkaXVzKTtcclxufVxyXG5cclxuLy8gRHJvcCBzaGFkb3dzXHJcbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcclxuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7XHJcbiAgICAgLW1vei1ib3gtc2hhZG93OiAkc2hhZG93O1xyXG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcclxufVxyXG5cclxuLy8gVHJhbnNpdGlvbnNcclxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcclxuICAtd2Via2l0LXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xyXG4gICAgIC1tb3otdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XHJcbiAgICAgICAtby10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcclxuICAgICAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xyXG59XHJcbkBtaXhpbiB0cmFuc2l0aW9uLWRlbGF5KCR0cmFuc2l0aW9uLWRlbGF5KSB7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAkdHJhbnNpdGlvbi1kZWxheTtcclxuICAgICAtbW96LXRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xyXG4gICAgICAgLW8tdHJhbnNpdGlvbi1kZWxheTogJHRyYW5zaXRpb24tZGVsYXk7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAkdHJhbnNpdGlvbi1kZWxheTtcclxufVxyXG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbigkdHJhbnNpdGlvbi1kdXJhdGlvbikge1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb247XHJcbiAgICAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcclxuICAgICAgIC1vLXRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb247XHJcbn1cclxuXHJcbi8vIFRyYW5zZm9ybWF0aW9uc1xyXG5AbWl4aW4gcm90YXRlKCRkZWdyZWVzKSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XHJcbiAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XHJcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XHJcbn1cclxuQG1peGluIHNjYWxlKCRyYXRpbykge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xyXG4gICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xyXG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xyXG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xyXG59XHJcbkBtaXhpbiB0cmFuc2xhdGUoJHgsICR5KSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpO1xyXG4gICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTtcclxuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XHJcbiAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTtcclxufVxyXG5AbWl4aW4gc2tldygkeCwgJHkpIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2tldygkeCwgJHkpO1xyXG4gICAgIC1tb3otdHJhbnNmb3JtOiBza2V3KCR4LCAkeSk7XHJcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdpdHRlci9ib290c3RyYXAvaXNzdWVzLzQ4ODVcclxuICAgICAgIC1vLXRyYW5zZm9ybTogc2tldygkeCwgJHkpO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiBza2V3KCR4LCAkeSk7XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdpdHRlci9ib290c3RyYXAvaXNzdWVzLzUzMTlcclxufVxyXG5AbWl4aW4gdHJhbnNsYXRlM2QoJHgsICR5LCAkeikge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcclxuICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHgsICR5LCAkeik7XHJcbiAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR4LCAkeSwgJHopO1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcclxufVxyXG5cclxuLy8gQmFja2ZhY2UgdmlzaWJpbGl0eVxyXG4vLyBQcmV2ZW50IGJyb3dzZXJzIGZyb20gZmxpY2tlcmluZyB3aGVuIHVzaW5nIENTUyAzRCB0cmFuc2Zvcm1zLlxyXG4vLyBEZWZhdWx0IHZhbHVlIGlzIGB2aXNpYmxlYCwgYnV0IGNhbiBiZSBjaGFuZ2VkIHRvIGBoaWRkZW5cclxuLy8gU2VlIGdpdCBwdWxsIGh0dHBzOi8vZ2l0aHViLmNvbS9kYW5ueWtlYW5lL2Jvb3RzdHJhcC5naXQgYmFja2ZhY2UtdmlzaWJpbGl0eSBmb3IgZXhhbXBsZXNcclxuQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHkpe1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogJHZpc2liaWxpdHk7XHJcbiAgICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcclxuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6ICR2aXNpYmlsaXR5O1xyXG59XHJcblxyXG4vLyBCYWNrZ3JvdW5kIGNsaXBwaW5nXHJcbi8vIEhlYWRzIHVwOiBGRiAzLjYgYW5kIHVuZGVyIG5lZWQgXCJwYWRkaW5nXCIgaW5zdGVhZCBvZiBcInBhZGRpbmctYm94XCJcclxuQG1peGluIGJhY2tncm91bmQtY2xpcCgkY2xpcCkge1xyXG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiAkY2xpcDtcclxuICAgICAtbW96LWJhY2tncm91bmQtY2xpcDogJGNsaXA7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6ICRjbGlwO1xyXG59XHJcblxyXG4vLyBCYWNrZ3JvdW5kIHNpemluZ1xyXG5AbWl4aW4gYmFja2dyb3VuZC1zaXplKCRzaXplKSB7XHJcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6ICRzaXplO1xyXG4gICAgIC1tb3otYmFja2dyb3VuZC1zaXplOiAkc2l6ZTtcclxuICAgICAgIC1vLWJhY2tncm91bmQtc2l6ZTogJHNpemU7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRzaXplO1xyXG59XHJcblxyXG5cclxuLy8gQm94IHNpemluZ1xyXG5AbWl4aW4gYm94LXNpemluZygkYm94bW9kZWwpIHtcclxuICAtd2Via2l0LWJveC1zaXppbmc6ICRib3htb2RlbDtcclxuICAgICAtbW96LWJveC1zaXppbmc6ICRib3htb2RlbDtcclxuICAgICAgICAgIGJveC1zaXppbmc6ICRib3htb2RlbDtcclxufVxyXG5cclxuLy8gVXNlciBzZWxlY3RcclxuLy8gRm9yIHNlbGVjdGluZyB0ZXh0IG9uIHRoZSBwYWdlXHJcbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0KSB7XHJcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogJHNlbGVjdDtcclxuICAgICAtbW96LXVzZXItc2VsZWN0OiAkc2VsZWN0O1xyXG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XHJcbiAgICAgICAtby11c2VyLXNlbGVjdDogJHNlbGVjdDtcclxuICAgICAgICAgIHVzZXItc2VsZWN0OiAkc2VsZWN0O1xyXG59XHJcblxyXG4vLyBSZXNpemUgYW55dGhpbmdcclxuQG1peGluIHJlc2l6YWJsZSgkZGlyZWN0aW9uKSB7XHJcbiAgcmVzaXplOiAkZGlyZWN0aW9uOyAvLyBPcHRpb25zOiBob3Jpem9udGFsLCB2ZXJ0aWNhbCwgYm90aFxyXG4gIG92ZXJmbG93OiBhdXRvOyAvLyBTYWZhcmkgZml4XHJcbn1cclxuXHJcbi8vIENTUzMgQ29udGVudCBDb2x1bW5zXHJcbkBtaXhpbiBjb250ZW50LWNvbHVtbnMoJGNvbHVtbkNvdW50LCAkY29sdW1uR2FwOiAkZ3JpZEd1dHRlcldpZHRoKSB7XHJcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICRjb2x1bW5Db3VudDtcclxuICAgICAtbW96LWNvbHVtbi1jb3VudDogJGNvbHVtbkNvdW50O1xyXG4gICAgICAgICAgY29sdW1uLWNvdW50OiAkY29sdW1uQ291bnQ7XHJcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkY29sdW1uR2FwO1xyXG4gICAgIC1tb3otY29sdW1uLWdhcDogJGNvbHVtbkdhcDtcclxuICAgICAgICAgIGNvbHVtbi1nYXA6ICRjb2x1bW5HYXA7XHJcbn1cclxuXHJcbi8vIE9wdGlvbmFsIGh5cGhlbmF0aW9uXHJcbkBtaXhpbiBoeXBoZW5zKCRtb2RlOiBhdXRvKSB7XHJcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4gIC13ZWJraXQtaHlwaGVuczogJG1vZGU7XHJcbiAgICAgLW1vei1oeXBoZW5zOiAkbW9kZTtcclxuICAgICAgLW1zLWh5cGhlbnM6ICRtb2RlO1xyXG4gICAgICAgLW8taHlwaGVuczogJG1vZGU7XHJcbiAgICAgICAgICBoeXBoZW5zOiAkbW9kZTtcclxufVxyXG5cclxuLy8gT3BhY2l0eVxyXG5AbWl4aW4gb3BhY2l0eSgkb3BhY2l0eSkge1xyXG4gIG9wYWNpdHk6ICRvcGFjaXR5IC8gMTAwO1xyXG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0kb3BhY2l0eSk7XHJcbn1cclxuXHJcblxyXG5cclxuLy8gQkFDS0dST1VORFNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIEFkZCBhbiBhbHBoYXRyYW5zcGFyZW5jeSB2YWx1ZSB0byBhbnkgYmFja2dyb3VuZCBvciBib3JkZXIgY29sb3IgKHZpYSBFbHlzZSBIb2xsYWRheSlcclxuQG1peGluIHRyYW5zbHVjZW50LWJhY2tncm91bmQoJGNvbG9yOiAkd2hpdGUsICRhbHBoYTogMSkge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IGhzbGEoaHVlKCRjb2xvciksIHNhdHVyYXRpb24oJGNvbG9yKSwgbGlnaHRuZXNzKCRjb2xvciksICRhbHBoYSk7XHJcbn1cclxuXHJcbkBtaXhpbiB0cmFuc2x1Y2VudC1ib3JkZXIoJGNvbG9yOiAkd2hpdGUsICRhbHBoYTogMSkge1xyXG4gIGJvcmRlci1jb2xvcjogaHNsYShodWUoJGNvbG9yKSwgc2F0dXJhdGlvbigkY29sb3IpLCBsaWdodG5lc3MoJGNvbG9yKSwgJGFscGhhKTtcclxuICBAaW5jbHVkZSBiYWNrZ3JvdW5kLWNsaXAocGFkZGluZy1ib3gpO1xyXG59XHJcblxyXG4vLyBHcmFkaWVudCBCYXIgQ29sb3JzIGZvciBidXR0b25zIGFuZCBhbGVydHNcclxuQG1peGluIGdyYWRpZW50QmFyKCRwcmltYXJ5Q29sb3IsICRzZWNvbmRhcnlDb2xvciwgJHRleHRDb2xvcjogI2ZmZiwgJHRleHRTaGFkb3c6IDAgLTFweCAwIHJnYmEoMCwwLDAsLjI1KSkge1xyXG4gIGNvbG9yOiAkdGV4dENvbG9yO1xyXG4gIHRleHQtc2hhZG93OiAkdGV4dFNoYWRvdztcclxuICBAaW5jbHVkZSBncmFkaWVudC12ZXJ0aWNhbCgkcHJpbWFyeUNvbG9yLCAkc2Vjb25kYXJ5Q29sb3IpO1xyXG4gIGJvcmRlci1jb2xvcjogJHNlY29uZGFyeUNvbG9yICRzZWNvbmRhcnlDb2xvciBkYXJrZW4oJHNlY29uZGFyeUNvbG9yLCAxNSUpO1xyXG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLDAsMCwuMSkgcmdiYSgwLDAsMCwuMSkgZmFkZS1pbihyZ2JhKDAsMCwwLC4xKSwgMC4xNSk7XHJcbn1cclxuXHJcbi8vIEdyYWRpZW50c1xyXG5AbWl4aW4gZ3JhZGllbnQtaG9yaXpvbnRhbCgkc3RhcnRDb2xvcjogIzU1NSwgJGVuZENvbG9yOiAjMzMzKSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGVuZENvbG9yO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydENvbG9yLCAkZW5kQ29sb3IpOyAvLyBGRiAzLjYrXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMTAwJSAwLCBmcm9tKCRzdGFydENvbG9yKSwgdG8oJGVuZENvbG9yKSk7IC8vIFNhZmFyaSA0KywgQ2hyb21lIDIrXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0Q29sb3IsICRlbmRDb2xvcik7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWUgMTArXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydENvbG9yLCAkZW5kQ29sb3IpOyAvLyBPcGVyYSAxMS4xMFxyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0Q29sb3IsICRlbmRDb2xvcik7IC8vIFN0YW5kYXJkLCBJRTEwXHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnRDb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kQ29sb3IpfScsIEdyYWRpZW50VHlwZT0xKTsgLy8gSUU5IGFuZCBkb3duXHJcbn1cclxuQG1peGluIGdyYWRpZW50LXZlcnRpY2FsKCRzdGFydENvbG9yOiAjNTU1LCAkZW5kQ29sb3I6ICMzMzMpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJHN0YXJ0Q29sb3IsICRlbmRDb2xvciwgNjAlKTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICRzdGFydENvbG9yLCAkZW5kQ29sb3IpOyAvLyBGRiAzLjYrXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAxMDAlLCBmcm9tKCRzdGFydENvbG9yKSwgdG8oJGVuZENvbG9yKSk7IC8vIFNhZmFyaSA0KywgQ2hyb21lIDIrXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAkc3RhcnRDb2xvciwgJGVuZENvbG9yKTsgLy8gU2FmYXJpIDUuMSssIENocm9tZSAxMCtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAkc3RhcnRDb2xvciwgJGVuZENvbG9yKTsgLy8gT3BlcmEgMTEuMTBcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnRDb2xvciwgJGVuZENvbG9yKTsgLy8gU3RhbmRhcmQsIElFMTBcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydENvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmRDb2xvcil9JywgR3JhZGllbnRUeXBlPTApOyAvLyBJRTkgYW5kIGRvd25cclxufVxyXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0Q29sb3I6ICM1NTUsICRlbmRDb2xvcjogIzMzMywgJGRlZzogNDVkZWcpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZW5kQ29sb3I7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydENvbG9yLCAkZW5kQ29sb3IpOyAvLyBGRiAzLjYrXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0Q29sb3IsICRlbmRDb2xvcik7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWUgMTArXHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydENvbG9yLCAkZW5kQ29sb3IpOyAvLyBPcGVyYSAxMS4xMFxyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnRDb2xvciwgJGVuZENvbG9yKTsgLy8gU3RhbmRhcmQsIElFMTBcclxufVxyXG5AbWl4aW4gZ3JhZGllbnQtaG9yaXpvbnRhbC10aHJlZS1jb2xvcnMoJHN0YXJ0Q29sb3I6ICMwMGIzZWUsICRtaWRDb2xvcjogIzdhNDNiNiwgJGNvbG9yU3RvcDogNTAlLCAkZW5kQ29sb3I6ICNjMzMyNWYpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJG1pZENvbG9yLCAkZW5kQ29sb3IsIDgwJSk7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsZWZ0LCBsaW5lYXIsIDAgMCwgMCAxMDAlLCBmcm9tKCRzdGFydENvbG9yKSwgY29sb3Itc3RvcCgkY29sb3JTdG9wLCAkbWlkQ29sb3IpLCB0bygkZW5kQ29sb3IpKTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnRDb2xvciwgJG1pZENvbG9yICRjb2xvclN0b3AsICRlbmRDb2xvcik7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0Q29sb3IsICRtaWRDb2xvciAkY29sb3JTdG9wLCAkZW5kQ29sb3IpO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnRDb2xvciwgJG1pZENvbG9yICRjb2xvclN0b3AsICRlbmRDb2xvcik7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnRDb2xvciwgJG1pZENvbG9yICRjb2xvclN0b3AsICRlbmRDb2xvcik7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0Q29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZENvbG9yKX0nLCBHcmFkaWVudFR5cGU9MCk7IC8vIElFOSBhbmQgZG93biwgZ2V0cyBubyBjb2xvci1zdG9wIGF0IGFsbCBmb3IgcHJvcGVyIGZhbGxiYWNrXHJcbn1cclxuXHJcbkBtaXhpbiBncmFkaWVudC12ZXJ0aWNhbC10aHJlZS1jb2xvcnMoJHN0YXJ0Q29sb3I6ICMwMGIzZWUsICRtaWRDb2xvcjogIzdhNDNiNiwgJGNvbG9yU3RvcDogNTAlLCAkZW5kQ29sb3I6ICNjMzMyNWYpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJG1pZENvbG9yLCAkZW5kQ29sb3IsIDgwJSk7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAxMDAlLCBmcm9tKCRzdGFydENvbG9yKSwgY29sb3Itc3RvcCgkY29sb3JTdG9wLCAkbWlkQ29sb3IpLCB0bygkZW5kQ29sb3IpKTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkc3RhcnRDb2xvciwgJG1pZENvbG9yICRjb2xvclN0b3AsICRlbmRDb2xvcik7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAkc3RhcnRDb2xvciwgJG1pZENvbG9yICRjb2xvclN0b3AsICRlbmRDb2xvcik7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCRzdGFydENvbG9yLCAkbWlkQ29sb3IgJGNvbG9yU3RvcCwgJGVuZENvbG9yKTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0Q29sb3IsICRtaWRDb2xvciAkY29sb3JTdG9wLCAkZW5kQ29sb3IpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydENvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmRDb2xvcil9JywgR3JhZGllbnRUeXBlPTApOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xyXG59XHJcbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyQ29sb3I6ICM1NTUsICRvdXRlckNvbG9yOiAjMzMzKSAge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRvdXRlckNvbG9yO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQocmFkaWFsLCBjZW50ZXIgY2VudGVyLCAwLCBjZW50ZXIgY2VudGVyLCA0NjAsIGZyb20oJGlubmVyQ29sb3IpLCB0bygkb3V0ZXJDb2xvcikpO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyQ29sb3IsICRvdXRlckNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lckNvbG9yLCAkb3V0ZXJDb2xvcik7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyQ29sb3IsICRvdXRlckNvbG9yKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogIzU1NSwgJGFuZ2xlOiA0NWRlZykge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAxMDAlLCAxMDAlIDAsIGNvbG9yLXN0b3AoLjI1LCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkpLCBjb2xvci1zdG9wKC4yNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKC41LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoLjUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSksIGNvbG9yLXN0b3AoLjc1LCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkpLCBjb2xvci1zdG9wKC43NSwgdHJhbnNwYXJlbnQpLCB0byh0cmFuc3BhcmVudCkpO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgkYW5nbGUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XHJcbn1cclxuXHJcbi8vIFJlc2V0IGZpbHRlcnMgZm9yIElFXHJcbkBtaXhpbiByZXNldC1maWx0ZXIoKSB7XHJcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZD1mYWxzZSk7XHJcbn1cclxuXHJcblxyXG5cclxuLy8gQ09NUE9ORU5UIE1JWElOU1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xyXG5AbWl4aW4gbmF2LWRpdmlkZXIoJHRvcDogI2U1ZTVlNSwgJGJvdHRvbTogJHdoaXRlKSB7XHJcbiAgLy8gSUU3IG5lZWRzIGEgc2V0IHdpZHRoIHNpbmNlIHdlIGdhdmUgYSBoZWlnaHQuIFJlc3RyaWN0aW5nIGp1c3RcclxuICAvLyB0byBJRTcgdG8ga2VlcCB0aGUgMXB4IGxlZnQvcmlnaHQgc3BhY2UgaW4gb3RoZXIgYnJvd3NlcnMuXHJcbiAgLy8gSXQgaXMgdW5jbGVhciB3aGVyZSBJRSBpcyBnZXR0aW5nIHRoZSBleHRyYSBzcGFjZSB0aGF0IHdlIG5lZWRcclxuICAvLyB0byBuZWdhdGl2ZS1tYXJnaW4gYXdheSwgYnV0IHNvIGl0IGdvZXMuXHJcbiAgKndpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMXB4O1xyXG4gIG1hcmdpbjogKCgkbGluZS1oZWlnaHQtYmFzZSAvIDIpIC0gMSkgMXB4OyAvLyA4cHggMXB4XHJcbiAgKm1hcmdpbjogLTVweCAwIDVweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR0b3A7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3R0b207XHJcbn1cclxuXHJcbi8vIEJ1dHRvbiBiYWNrZ3JvdW5kc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cclxuQG1peGluIGJ1dHRvbkJhY2tncm91bmQoJHN0YXJ0Q29sb3IsICRlbmRDb2xvciwgJHRleHRDb2xvcjogI2ZmZiwgJHRleHRTaGFkb3c6IDAgLTFweCAwIHJnYmEoMCwwLDAsLjI1KSkge1xyXG4gIC8vIGdyYWRpZW50QmFyIHdpbGwgc2V0IHRoZSBiYWNrZ3JvdW5kIHRvIGEgcGxlYXNpbmcgYmxlbmQgb2YgdGhlc2UsIHRvIHN1cHBvcnQgSUU8PTlcclxuICBAaW5jbHVkZSBncmFkaWVudEJhcigkc3RhcnRDb2xvciwgJGVuZENvbG9yLCAkdGV4dENvbG9yLCAkdGV4dFNoYWRvdyk7XHJcbiAgKmJhY2tncm91bmQtY29sb3I6ICRlbmRDb2xvcjsgLyogRGFya2VuIElFNyBidXR0b25zIGJ5IGRlZmF1bHQgc28gdGhleSBzdGFuZCBvdXQgbW9yZSBnaXZlbiB0aGV5IHdvbid0IGhhdmUgYm9yZGVycyAqL1xyXG4gIEBpbmNsdWRlIHJlc2V0LWZpbHRlcigpO1xyXG5cclxuICAvLyBpbiB0aGVzZSBjYXNlcyB0aGUgZ3JhZGllbnQgd29uJ3QgY292ZXIgdGhlIGJhY2tncm91bmQsIHNvIHdlIG92ZXJyaWRlXHJcbiAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUsICYuYWN0aXZlLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XHJcbiAgICBjb2xvcjogJHRleHRDb2xvcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRlbmRDb2xvcjtcclxuICAgICpiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGVuZENvbG9yLCA1JSk7XHJcbiAgfVxyXG5cclxuICAvLyBJRSA3ICsgOCBjYW4ndCBoYW5kbGUgYm94LXNoYWRvdyB0byBzaG93IGFjdGl2ZSwgc28gd2UgZGFya2VuIGEgYml0IG91cnNlbHZlc1xyXG4gICY6YWN0aXZlLFxyXG4gICYuYWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkZW5kQ29sb3IsIDEwJSkgXFw5O1xyXG4gIH1cclxufVxyXG5cclxuLy8gTmF2YmFyIHZlcnRpY2FsIGFsaWduXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gVmVydGljYWxseSBjZW50ZXIgZWxlbWVudHMgaW4gdGhlIG5hdmJhci5cclxuLy8gRXhhbXBsZTogYW4gZWxlbWVudCBoYXMgYSBoZWlnaHQgb2YgMzBweCwgc28gd3JpdGUgb3V0IGAubmF2YmFyVmVydGljYWxBbGlnbigzMHB4KTtgIHRvIGNhbGN1bGF0ZSB0aGUgYXBwcm9wcmlhdGUgdG9wIG1hcmdpbi5cclxuQG1peGluIG5hdmJhclZlcnRpY2FsQWxpZ24oJGVsZW1lbnRIZWlnaHQpIHtcclxuICBtYXJnaW4tdG9wOiAoJG5hdmJhckhlaWdodCAtICRlbGVtZW50SGVpZ2h0KSAvIDI7XHJcbn1cclxuXHJcblxyXG4vLyBDZW50ZXJlZCBjb250YWluZXIgZWxlbWVudFxyXG5AbWl4aW4gY29udGFpbmVyLWZpeGVkKCkge1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xyXG59XHJcblxyXG5cclxuLy8gUmVtb3ZlIHRoZSBidWxsZXRzLCBtYXJnaW4gYW5kIHBhZGRpbmcgZnJvbSB1bm9yZGVyZWQgbGlzdCBpdGVtc1xyXG5AbWl4aW4gbm9idWxsZXQtbm9zcGFjZSB7XHJcbiAgdWwge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZSBvdXRzaWRlO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDsgfVxyXG59XHJcblxyXG4vLyBDcmVhdGVzIHZhcmlhYmxlIGdyaWQgZm9yIHByb2R1Y3QgbGlzdFxyXG5AbWl4aW4gcm91bmQtY29ybmVyLWdyaWQoJG4tY29sdW1ucywgJGNvcm5lci1yYWRpdXM6IDFlbSkge1xyXG4gICR1bml0LXdpZHRoOiAxMDAlLyRuLWNvbHVtbnM7XHJcbiAgbGkge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB3aWR0aDogJHVuaXQtd2lkdGg7XHJcbiAgfVxyXG5cclxuICAvKiBUYXJnZXQgdGhlIGZpcnN0IGJveCBpbiB0aGUgZmlyc3Qgcm93ICovXHJcbiAgbGk6Zmlyc3QtY2hpbGQge1xyXG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygkY29ybmVyLXJhZGl1cyk7XHJcbiAgfVxyXG5cclxuICAvKiBUYXJnZXQgdGhlIGxhc3QgYm94IGluIHRoZSBmaXJzdCByb3cgaW4gdGhlIGxhc3QgY29sdW1uICovXHJcbiAgbGk6bnRoLWNoaWxkKCN7JG4tY29sdW1uc30pIHtcclxuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRjb3JuZXItcmFkaXVzKTtcclxuICB9XHJcblxyXG4gIC8qIFRhcmdldCB0aGUgZmlyc3QgYm94IGluIHRoZSBsYXN0IHJvdyAqL1xyXG4gIGxpOm50aC1jaGlsZCgjeyRuLWNvbHVtbnN9bisxKSB7XHJcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRuLWNvbHVtbnMge1xyXG4gICAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkY29ybmVyLXJhZGl1cyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qIFRhcmdldCB0aGUgbGFzdCBib3ggaW4gdGhlIGxhc3Qgcm93IGluIHRoZSBsYXN0IGNvbHVtbiAqL1xyXG4gIGxpOm50aC1jaGlsZCgjeyRuLWNvbHVtbnN9bisjeyRuLWNvbHVtbnN9KTpsYXN0LWNoaWxkIHtcclxuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKCRjb3JuZXItcmFkaXVzKTtcclxuICB9XHJcblxyXG59XHJcblxyXG4vLyBIaWRpbmcgdGV4dCBhbmQgaW1hZ2UgcmVwbGFjZW1lbnRcclxuQG1peGluIGhpZGUtdGV4dCB7XHJcbiAgZm9udDogMC8wIGE7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4vLyBDcmVhdGUgZW1ib3NzaW5nIGVmZmVjdFxyXG4gIC8vIEBpbmx1ZGUgYm94LWVtYm9zcygwLjgsIDAuNSk7XHJcbkBtaXhpbiBib3gtZW1ib3NzKCRvcGFjaXR5LCAkb3BhY2l0eTIpIHtcclxuICBib3gtc2hhZG93OiB3aGl0ZSgkb3BhY2l0eSkgMCAxcHggMCwgaW5zZXQgYmxhY2soJG9wYWNpdHkyKSAwIDFweCAwO1xyXG59XHJcblxyXG4vLyBDcmVhdGUgbGV0dGVycHJlc3MgU3R5bGVcclxuQG1peGluIGxldHRlcnByZXNzKCRvcGFjaXR5KSB7XHJcbnRleHQtc2hhZG93OiB3aGl0ZSgkb3BhY2l0eSkgMCAxcHggMDtcclxufVxyXG5cclxuLy8gSG9yaXpvbnRhbCBOYXZpZ2F0aW9uIGxpc3RcclxuQG1peGluIG5hdmlnYXRpb24tbGlzdCB7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6bm9uZTtcclxuICAgIHBhZGRpbmc6MDtcclxuICAgIG1hcmdpbjowO1xyXG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xyXG4gICAgPiBsaXtcclxuICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgIGZsb2F0OmxlZnQ7XHJcbiAgICAgICAgJjpsYXN0LWNoaWxke1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gVmVydGljYWwgQWxpZ25cclxuJXZlcnRpY2FsLWFsaWduIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbn1cclxuXHJcbiVjb250YWluZXItc2hhZG93IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRib2R5LDUlKTtcclxuICBib3gtc2hhZG93OiAwcHggMXB4IDBweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7XHJcbn0iLCIvL1xyXG4vLyBSZXNldCBDU1NcclxuLy8gQWRhcHRlZCBmcm9tIGh0dHA6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuXHJcbi8vIERpc3BsYXkgaW4gSUU2LTkgYW5kIEZGM1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5hcnRpY2xlLFxyXG5hc2lkZSxcclxuZGV0YWlscyxcclxuZmlnY2FwdGlvbixcclxuZmlndXJlLFxyXG5mb290ZXIsXHJcbmhlYWRlcixcclxuaGdyb3VwLFxyXG5uYXYsXHJcbnNlY3Rpb24ge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4vLyBEaXNwbGF5IGJsb2NrIGluIElFNi05IGFuZCBGRjNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuYXVkaW8sXHJcbmNhbnZhcyxcclxudmlkZW8ge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAqZGlzcGxheTogaW5saW5lO1xyXG4gICp6b29tOiAxO1xyXG59XHJcblxyXG4vLyBQcmV2ZW50cyBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nICdhdWRpbycgd2l0aG91dCBjb250cm9sc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLy8gQmFzZSBzZXR0aW5nc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5odG1sIHtcclxuICBmb250LXNpemU6IDEwMCU7XHJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xyXG4gICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcclxufVxyXG4vLyBGb2N1cyBzdGF0ZXNcclxuYTpmb2N1cyB7XHJcbiAgQGluY2x1ZGUgdGFiLWZvY3VzKCk7XHJcbn1cclxuLy8gSG92ZXIgJiBBY3RpdmVcclxuYTpob3ZlcixcclxuYTphY3RpdmUge1xyXG4gIG91dGxpbmU6IDA7XHJcbn1cclxuXHJcbi8vIFByZXZlbnRzIHN1YiBhbmQgc3VwIGFmZmVjdGluZyBsaW5lLWhlaWdodCBpbiBhbGwgYnJvd3NlcnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuc3ViLFxyXG5zdXAge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBmb250LXNpemU6IDc1JTtcclxuICBsaW5lLWhlaWdodDogMDtcclxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbn1cclxuc3VwIHtcclxuICB0b3A6IC0wLjVlbTtcclxufVxyXG5zdWIge1xyXG4gIGJvdHRvbTogLTAuMjVlbTtcclxufVxyXG5cclxuLy8gSW1nIGJvcmRlciBpbiBhJ3MgYW5kIGltYWdlIHF1YWxpdHlcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuaW1nIHtcclxuICAvKiBSZXNwb25zaXZlIGltYWdlcyAoZW5zdXJlIGltYWdlcyBkb24ndCBzY2FsZSBiZXlvbmQgdGhlaXIgcGFyZW50cykgKi9cclxuICBtYXgtd2lkdGg6IDEwMCU7IC8qIFBhcnQgMTogU2V0IGEgbWF4aXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnQgKi9cclxuICB3aWR0aDogYXV0b1xcOTsgLyogSUU3LTggbmVlZCBoZWxwIGFkanVzdGluZyByZXNwb25zaXZlIGltYWdlcyAqL1xyXG4gIGhlaWdodDogYXV0bzsgLyogUGFydCAyOiBTY2FsZSB0aGUgaGVpZ2h0IGFjY29yZGluZyB0byB0aGUgd2lkdGgsIG90aGVyd2lzZSB5b3UgZ2V0IHN0cmV0Y2hpbmcgKi9cclxuXHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICBib3JkZXI6IDA7XHJcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcclxufVxyXG5cclxuLy8gUHJldmVudCBtYXgtd2lkdGggZnJvbSBhZmZlY3RpbmcgR29vZ2xlIE1hcHNcclxuI21hcF9jYW52YXMgaW1nLFxyXG4uZ29vZ2xlLW1hcHMgaW1nIHtcclxuICBtYXgtd2lkdGg6IG5vbmU7XHJcbn1cclxuXHJcbi8vIEZvcm1zXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIEZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMsIG1hcmdpbiBjaGFuZ2VzLCBtaXNjIGNvbnNpc3RlbmN5XHJcbmJ1dHRvbixcclxuaW5wdXQsXHJcbnNlbGVjdCxcclxudGV4dGFyZWEge1xyXG4gIG1hcmdpbjogMDtcclxuICBmb250LXNpemU6IDEwMCU7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG5idXR0b24sXHJcbmlucHV0IHtcclxuICAqb3ZlcmZsb3c6IHZpc2libGU7IC8vIElubmVyIHNwYWNpbmcgaWUgSUU2LzdcclxuICBsaW5lLWhlaWdodDogbm9ybWFsOyAvLyBGRjMvNCBoYXZlICFpbXBvcnRhbnQgb24gbGluZS1oZWlnaHQgaW4gVUEgc3R5bGVzaGVldFxyXG59XHJcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcclxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIgeyAvLyBJbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgb2RkaXRpZXMgaW4gRkYzLzRcclxuICBwYWRkaW5nOiAwO1xyXG4gIGJvcmRlcjogMDtcclxufVxyXG5idXR0b24sXHJcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLy8gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2AgY29udHJvbHMuXHJcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcclxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gQ29ycmVjdHMgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cclxuICAgIGN1cnNvcjogcG9pbnRlcjsgLy8gSW1wcm92ZXMgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlIGBpbnB1dGAgYW5kIG90aGVycy5cclxufVxyXG5sYWJlbCxcclxuc2VsZWN0LFxyXG5idXR0b24sXHJcbmlucHV0W3R5cGU9XCJidXR0b25cIl0sXHJcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcclxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcclxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxyXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyOyAvLyBJbXByb3ZlcyB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGUgYGlucHV0YCBhbmQgb3RoZXJzLlxyXG59XHJcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0geyAvLyBBcHBlYXJhbmNlIGluIFNhZmFyaS9DaHJvbWVcclxuICBAaW5jbHVkZSBib3gtc2l6aW5nKGNvbnRlbnQtYm94KTtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcclxufVxyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIElubmVyLXBhZGRpbmcgaXNzdWVzIGluIENocm9tZSBPU1gsIFNhZmFyaSA1XHJcbn1cclxudGV4dGFyZWEge1xyXG4gIG92ZXJmbG93OiBhdXRvOyAvLyBSZW1vdmUgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFNi05XHJcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgLy8gUmVhZGFiaWxpdHkgYW5kIGFsaWdubWVudCBjcm9zcy1icm93c2VyXHJcbn1cclxuXHJcblxyXG4vLyBQcmludGluZ1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvY3NzL21haW4uY3NzXHJcblxyXG5AbWVkaWEgcHJpbnQge1xyXG5cclxuICAqIHtcclxuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgYSxcclxuICBhOnZpc2l0ZWQge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgfVxyXG5cclxuICBhW2hyZWZdOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xyXG4gIH1cclxuXHJcbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xyXG4gIH1cclxuXHJcbiAgLy8gRG9uJ3Qgc2hvdyBsaW5rcyBmb3IgaW1hZ2VzLCBvciBqYXZhc2NyaXB0L2ludGVybmFsIGxpbmtzXHJcbiAgLmlyIGE6YWZ0ZXIsXHJcbiAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyLFxyXG4gIGFbaHJlZl49XCIjXCJdOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgfVxyXG5cclxuICBwcmUsXHJcbiAgYmxvY2txdW90ZSB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xyXG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xyXG4gIH1cclxuXHJcbiAgdGhlYWQge1xyXG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyAvLyBoNWJwLmNvbS90XHJcbiAgfVxyXG5cclxuICB0cixcclxuICBpbWcge1xyXG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xyXG4gIH1cclxuXHJcbiAgaW1nIHtcclxuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgQHBhZ2Uge1xyXG4gICAgbWFyZ2luOiAwLjVjbTtcclxuICB9XHJcblxyXG4gIHAsXHJcbiAgaDIsXHJcbiAgaDMge1xyXG4gICAgb3JwaGFuczogMztcclxuICAgIHdpZG93czogMztcclxuICB9XHJcblxyXG4gIGgyLFxyXG4gIGgzIHtcclxuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xyXG4gIH1cclxufVxyXG4iLCIvL1xyXG4vLyBTY2FmZm9sZGluZ1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuXHJcbi8vIEJvZHkgcmVzZXRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuYm9keSB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcclxuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcclxuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XHJcbiAgY29sb3I6ICR0ZXh0Q29sb3I7XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxufVxyXG5cclxuXHJcbi8vIExpbmtzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbmEge1xyXG4gIGNvbG9yOiAkbGlua0NvbG9yO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5hOmhvdmVyLFxyXG5hOmZvY3VzIHtcclxuICBjb2xvcjogJGxpbmtDb2xvckhvdmVyO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG59XHJcblxyXG5cclxuLy8gSW1hZ2VzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIFJvdW5kZWQgY29ybmVyc1xyXG4uaW1nLXJvdW5kZWQge1xyXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNnB4KTtcclxufVxyXG5cclxuLy8gQWRkIHBvbGFyb2lkLWVzcXVlIHRyaW1cclxuLmltZy1wb2xhcm9pZCB7XHJcbiAgcGFkZGluZzogNHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4yKTtcclxuICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMXB4IDNweCByZ2JhKDAsMCwwLC4xKSk7XHJcbn1cclxuXHJcbi8vIFBlcmZlY3QgY2lyY2xlXHJcbi5pbWctY2lyY2xlIHtcclxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwMHB4KTsgLy8gY3JhbmsgdGhlIGJvcmRlci1yYWRpdXMgc28gaXQgd29ya3Mgd2l0aCBtb3N0IHJlYXNvbmFibHkgc2l6ZWQgaW1hZ2VzXHJcbn1cclxuIiwiLy9cclxuLy8gVHlwb2dyYXBoeVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuXHJcbi8vIEJvZHkgdGV4dFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5wIHtcclxuICBtYXJnaW46IDAgMCAkbGluZS1oZWlnaHQtYmFzZSAvIDI7XHJcbn1cclxuLmxlYWQge1xyXG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1iYXNlO1xyXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICogMS41O1xyXG4gIGZvbnQtd2VpZ2h0OiAyMDA7XHJcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlICogMS41O1xyXG59XHJcblxyXG5cclxuLy8gRW1waGFzaXMgJiBtaXNjXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIEV4OiAxNHB4IGJhc2UgZm9udCAqIDg1JSA9IGFib3V0IDEycHhcclxuc21hbGwgICB7IGZvbnQtc2l6ZTogODUlOyB9XHJcblxyXG5zdHJvbmcgIHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cclxuZW0gICAgICB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxyXG5jaXRlICAgIHsgZm9udC1zdHlsZTogbm9ybWFsOyB9XHJcblxyXG4vLyBVdGlsaXR5IGNsYXNzZXNcclxuLm11dGVkICAgICAgICAgICAgICAgeyBjb2xvcjogJGdyYXlMaWdodDsgfVxyXG5hLm11dGVkOmhvdmVyLFxyXG5hLm11dGVkOmZvY3VzICAgICAgICB7IGNvbG9yOiBkYXJrZW4oJGdyYXlMaWdodCwgMTAlKTsgfVxyXG5cclxuLnRleHQtd2FybmluZyAgICAgICAgeyBjb2xvcjogJHdhcm5pbmdUZXh0OyB9XHJcbmEudGV4dC13YXJuaW5nOmhvdmVyLFxyXG5hLnRleHQtd2FybmluZzpmb2N1cyB7IGNvbG9yOiBkYXJrZW4oJHdhcm5pbmdUZXh0LCAxMCUpOyB9XHJcblxyXG4udGV4dC1lcnJvciAgICAgICAgICB7IGNvbG9yOiAkZXJyb3JUZXh0OyB9XHJcbmEudGV4dC1lcnJvcjpob3ZlcixcclxuYS50ZXh0LWVycm9yOmZvY3VzICAgeyBjb2xvcjogZGFya2VuKCRlcnJvclRleHQsIDEwJSk7IH1cclxuXHJcbi50ZXh0LWluZm8gICAgICAgICAgIHsgY29sb3I6ICRpbmZvVGV4dDsgfVxyXG5hLnRleHQtaW5mbzpob3ZlcixcclxuYS50ZXh0LWluZm86Zm9jdXMgICAgeyBjb2xvcjogZGFya2VuKCRpbmZvVGV4dCwgMTAlKTsgfVxyXG5cclxuLnRleHQtc3VjY2VzcyAgICAgICAgeyBjb2xvcjogJHN1Y2Nlc3NUZXh0OyB9XHJcbmEudGV4dC1zdWNjZXNzOmhvdmVyLFxyXG5hLnRleHQtc3VjY2Vzczpmb2N1cyB7IGNvbG9yOiBkYXJrZW4oJHN1Y2Nlc3NUZXh0LCAxMCUpOyB9XHJcblxyXG4udGV4dC1sZWZ0ICAgICAgICAgICB7IHRleHQtYWxpZ246IGxlZnQ7IH1cclxuLnRleHQtcmlnaHQgICAgICAgICAgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxyXG4udGV4dC1jZW50ZXIgICAgICAgICB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxyXG5cclxuXHJcbi8vIEhlYWRpbmdzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xyXG4gIG1hcmdpbjogKCRsaW5lLWhlaWdodC1iYXNlIC8gMikgMDtcclxuICBmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xyXG4gIGZvbnQtd2VpZ2h0OiAkaGVhZGluZ3MtZm9udC13ZWlnaHQ7XHJcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xyXG4gIGNvbG9yOiAkaGVhZGluZ3MtY29sb3I7XHJcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplbGVnaWJpbGl0eTsgLy8gRml4IHRoZSBjaGFyYWN0ZXIgc3BhY2luZyBmb3IgaGVhZGluZ3NcclxuICBzbWFsbCB7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICBjb2xvcjogJGdyYXlMaWdodDtcclxuICB9XHJcbn1cclxuXHJcbmgxLFxyXG5oMixcclxuaDMgeyBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2UgKiAyOyB9XHJcblxyXG5oMSB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICogMi43NTsgfSAvLyB+MzhweFxyXG5oMiB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICogMi4yNTsgfSAvLyB+MzJweFxyXG5oMyB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICogMS43NTsgfSAvLyB+MjRweFxyXG5oNCB7IGZvbnQtc2l6ZTogMjBweDsgbWFyZ2luLXRvcDogMDsgfVxyXG5oNSB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlOyB9XHJcbmg2IHsgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgKiAxOyB9IC8vIH4xMnB4XHJcblxyXG5oMSBzbWFsbCB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICogMS43NTsgfSAvLyB+MjRweFxyXG5oMiBzbWFsbCB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICogMS4yNTsgfSAvLyB+MThweFxyXG5oMyBzbWFsbCB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlOyB9XHJcbmg0IHNtYWxsIHsgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7IH1cclxuXHJcblxyXG4vLyBQYWdlIGhlYWRlclxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4ucGFnZS1oZWFkZXIge1xyXG4gIHBhZGRpbmctYm90dG9tOiAoJGxpbmUtaGVpZ2h0LWJhc2UgLyAyKSAtIDE7XHJcbiAgbWFyZ2luOiAkbGluZS1oZWlnaHQtYmFzZSAwICgkbGluZS1oZWlnaHQtYmFzZSAqIDEuNSk7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5TGlnaHRlcjtcclxufVxyXG5cclxuXHJcblxyXG4vLyBMaXN0c1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gVW5vcmRlcmVkIGFuZCBPcmRlcmVkIGxpc3RzXHJcbnVsLCBvbCB7XHJcbiAgcGFkZGluZzogMDtcclxuICBtYXJnaW46IDAgMCAxMHB4IDI1cHg7XHJcbn1cclxudWwgdWwsXHJcbnVsIG9sLFxyXG5vbCBvbCxcclxub2wgdWwge1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxubGkge1xyXG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcclxufVxyXG5cclxuLy8gUmVtb3ZlIGRlZmF1bHQgbGlzdCBzdHlsZXNcclxudWwudW5zdHlsZWQsXHJcbm9sLnVuc3R5bGVkIHtcclxuICBtYXJnaW4tbGVmdDogMDtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcblxyXG4vLyBTaW5nbGUtbGluZSBsaXN0IGl0ZW1zXHJcbnVsLmlubGluZSxcclxub2wuaW5saW5lIHtcclxuICBtYXJnaW4tbGVmdDogMDtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gID4gbGkge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgQGluY2x1ZGUgaWU3LWlubGluZS1ibG9jaygpO1xyXG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBEZXNjcmlwdGlvbiBMaXN0c1xyXG5kbCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWJhc2U7XHJcbn1cclxuZHQsXHJcbmRkIHtcclxuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XHJcbn1cclxuZHQge1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcbmRkIHtcclxuICBtYXJnaW4tbGVmdDogJGxpbmUtaGVpZ2h0LWJhc2UgLyAyO1xyXG59XHJcbi8vIEhvcml6b250YWwgbGF5b3V0IChsaWtlIGZvcm1zKVxyXG4uZGwtaG9yaXpvbnRhbCB7XHJcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTsgLy8gRW5zdXJlIGRsIGNsZWFycyBmbG9hdHMgaWYgZW1wdHkgZGQgZWxlbWVudHMgcHJlc2VudFxyXG4gIGR0IHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgd2lkdGg6ICRob3Jpem9udGFsQ29tcG9uZW50T2Zmc2V0IC0gMjA7XHJcbiAgICBjbGVhcjogbGVmdDtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgQGluY2x1ZGUgdGV4dC1vdmVyZmxvdygpO1xyXG4gIH1cclxuICBkZCB7XHJcbiAgICBtYXJnaW4tbGVmdDogJGhvcml6b250YWxDb21wb25lbnRPZmZzZXQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNSVNDXHJcbi8vIC0tLS1cclxuXHJcbi8vIEhvcml6b250YWwgcnVsZXNcclxuaHIge1xyXG4gIG1hcmdpbjogJGxpbmUtaGVpZ2h0LWJhc2UgMDtcclxuICBib3JkZXI6IDA7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRockJvcmRlcjtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHdoaXRlO1xyXG59XHJcblxyXG4vLyBBYmJyZXZpYXRpb25zIGFuZCBhY3Jvbnltc1xyXG5hYmJyW3RpdGxlXSxcclxuLy8gQWRkZWQgZGF0YS0qIGF0dHJpYnV0ZSB0byBoZWxwIG91dCBvdXIgdG9vbHRpcCBwbHVnaW4sIHBlciBodHRwczovL2dpdGh1Yi5jb20vdHdpdHRlci9ib290c3RyYXAvaXNzdWVzLzUyNTdcclxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7XHJcbiAgY3Vyc29yOiBoZWxwO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgJGdyYXlMaWdodDtcclxufVxyXG5hYmJyLmluaXRpYWxpc20ge1xyXG4gIGZvbnQtc2l6ZTogOTAlO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuXHJcbi8vIEJsb2NrcXVvdGVzXHJcbmJsb2NrcXVvdGUge1xyXG4gIHBhZGRpbmc6IDAgMCAwIDE1cHg7XHJcbiAgbWFyZ2luOiAwIDAgJGxpbmUtaGVpZ2h0LWJhc2U7XHJcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAkZ3JheUxpZ2h0ZXI7XHJcbiAgcCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgKiAxLjI1O1xyXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xyXG4gIH1cclxuICBzbWFsbCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcclxuICAgIGNvbG9yOiAkZ3JheUxpZ2h0O1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiAnXFwyMDE0IFxcMDBBMCc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBGbG9hdCByaWdodCB3aXRoIHRleHQtYWxpZ246IHJpZ2h0XHJcbiAgJi5wdWxsLXJpZ2h0IHtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCAkZ3JheUxpZ2h0ZXI7XHJcbiAgICBib3JkZXItbGVmdDogMDtcclxuICAgIHAsXHJcbiAgICBzbWFsbCB7XHJcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgfVxyXG4gICAgc21hbGwge1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIH1cclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJ1xcMDBBMCBcXDIwMTQnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBRdW90ZXNcclxucTpiZWZvcmUsXHJcbnE6YWZ0ZXIsXHJcbmJsb2NrcXVvdGU6YmVmb3JlLFxyXG5ibG9ja3F1b3RlOmFmdGVyIHtcclxuICBjb250ZW50OiBcIlwiO1xyXG59XHJcblxyXG4vLyBBZGRyZXNzZXNcclxuYWRkcmVzcyB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWJhc2U7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcclxufVxyXG5cclxuLmxpbWl0ZWQtc3VwcGx5IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBjb2xvcjogJG9yYW5nZTtcclxufVxyXG4iLCIvL1xyXG4vLyBGb3Jtc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuXHJcbi8vIEdFTkVSQUwgU1RZTEVTXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBNYWtlIGFsbCBmb3JtcyBoYXZlIHNwYWNlIGJlbG93IHRoZW1cclxuZm9ybSB7XHJcbiAgbWFyZ2luOiAwIDAgJGxpbmUtaGVpZ2h0LWJhc2U7XHJcbn1cclxuXHJcbmZpZWxkc2V0IHtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogMDtcclxuICBib3JkZXI6IDA7XHJcbn1cclxuXHJcbi8vIEdyb3VwcyBvZiBmaWVsZHMgd2l0aCBsYWJlbHMgb24gdG9wIChsZWdlbmRzKVxyXG5sZWdlbmQge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWJhc2U7XHJcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgKiAxLjU7XHJcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlICogMjtcclxuICBjb2xvcjogJGdyYXlEYXJrO1xyXG4gIGJvcmRlcjogMDtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTtcclxuXHJcbiAgLy8gU21hbGxcclxuICBzbWFsbCB7XHJcbiAgICBmb250LXNpemU6ICRsaW5lLWhlaWdodC1iYXNlICogLjc1O1xyXG4gICAgY29sb3I6ICRncmF5TGlnaHQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBTZXQgZm9udCBmb3IgZm9ybXNcclxubGFiZWwsXHJcbmlucHV0LFxyXG5idXR0b24sXHJcbnNlbGVjdCxcclxudGV4dGFyZWEge1xyXG4gIEBpbmNsdWRlIGZvbnQtc2hvcnRoYW5kKCRmb250LXNpemUtYmFzZSwgbm9ybWFsLCAkbGluZS1oZWlnaHQtYmFzZSk7IC8vIFNldCBzaXplLCB3ZWlnaHQsIGxpbmUtaGVpZ2h0IGhlcmVcclxufVxyXG5pbnB1dCxcclxuYnV0dG9uLFxyXG5zZWxlY3QsXHJcbnRleHRhcmVhIHtcclxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7IC8vIEFuZCBvbmx5IHNldCBmb250LWZhbWlseSBoZXJlIGZvciB0aG9zZSB0aGF0IG5lZWQgaXQgKG5vdGUgdGhlIG1pc3NpbmcgbGFiZWwgZWxlbWVudClcclxufVxyXG5cclxuLy8gSWRlbnRpZnkgY29udHJvbHMgYnkgdGhlaXIgbGFiZWxzXHJcbmxhYmVsIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbn1cclxuXHJcbi8vIEZvcm0gY29udHJvbHNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gU2hhcmVkIHNpemUgYW5kIHR5cGUgcmVzZXRzXHJcbnNlbGVjdCxcclxudGV4dGFyZWEsXHJcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXHJcbmlucHV0W3R5cGU9XCJkYXRldGltZVwiXSxcclxuaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxyXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXSxcclxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxyXG5pbnB1dFt0eXBlPVwidGltZVwiXSxcclxuaW5wdXRbdHlwZT1cIndlZWtcIl0sXHJcbmlucHV0W3R5cGU9XCJudW1iZXJcIl0sXHJcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcclxuaW5wdXRbdHlwZT1cInVybFwiXSxcclxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcclxuaW5wdXRbdHlwZT1cInRlbFwiXSxcclxuaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxyXG4udW5lZGl0YWJsZS1pbnB1dCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBhZGRpbmc6IDZweDtcclxuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtYmFzZSAvIDI7O1xyXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xyXG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcclxuICBjb2xvcjogJGdyYXk7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG4uaWU4IGlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXHJcbi5pZTkgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XHJcbiAgcGFkZGluZy1ib3R0b206IDhweDtcclxufVxyXG5cclxuLy8gUmVzZXQgYXBwZWFyYW5jZSBwcm9wZXJ0aWVzIGZvciB0ZXh0dWFsIGlucHV0cyBhbmQgdGV4dGFyZWFcclxuLy8gRGVjbGFyZSB3aWR0aCBmb3IgbGVnYWN5IChjYW4ndCBiZSBvbiBpbnB1dFt0eXBlPSpdIHNlbGVjdG9ycyBvciBpdCdzIHRvbyBzcGVjaWZpYylcclxuaW5wdXQsXHJcbnRleHRhcmVhLFxyXG4udW5lZGl0YWJsZS1pbnB1dCB7XHJcbiAgd2lkdGg6IDIwNnB4OyAvLyBwbHVzIDEycHggcGFkZGluZyBhbmQgMnB4IGJvcmRlclxyXG59XHJcbi8vIFJlc2V0IGhlaWdodCBzaW5jZSB0ZXh0YXJlYXMgaGF2ZSByb3dzXHJcbnRleHRhcmVhIHtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuLy8gRXZlcnl0aGluZyBlbHNlXHJcbnRleHRhcmVhLFxyXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxyXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXHJcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcclxuaW5wdXRbdHlwZT1cImRhdGVcIl0sXHJcbmlucHV0W3R5cGU9XCJtb250aFwiXSxcclxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXHJcbmlucHV0W3R5cGU9XCJ3ZWVrXCJdLFxyXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxyXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXHJcbmlucHV0W3R5cGU9XCJ1cmxcIl0sXHJcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXHJcbmlucHV0W3R5cGU9XCJ0ZWxcIl0sXHJcbmlucHV0W3R5cGU9XCJjb2xvclwiXSxcclxuLnVuZWRpdGFibGUtaW5wdXQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dEJhY2tncm91bmQ7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGlucHV0Qm9yZGVyO1xyXG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpO1xyXG4gIHRyYW5zaXRpb246IGJvcmRlciBsaW5lYXIgLjJzLCBib3gtc2hhZG93IGxpbmVhciAuMnM7XHJcblxyXG4gIC8vIEZvY3VzIHN0YXRlXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBib3JkZXItY29sb3I6ICRncmF5O1xyXG4gICAgb3V0bGluZTogMDtcclxuICAgIG91dGxpbmU6IHRoaW4gZG90dGVkIFxcOTsgLyogSUU2LTkgKi9cclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gUG9zaXRpb24gcmFkaW9zIGFuZCBjaGVja2JveGVzIGJldHRlclxyXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXHJcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XHJcbiAgbWFyZ2luOiA0cHggMCAwO1xyXG4gICptYXJnaW4tdG9wOiAwOyAvKiBJRTcgKi9cclxuICBtYXJnaW4tdG9wOiAxcHggXFw5OyAvKiBJRTgtOSAqL1xyXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbn1cclxuXHJcbi8vIFJlc2V0IHdpZHRoIG9mIGlucHV0IGltYWdlcywgYnV0dG9ucywgcmFkaW9zLCBjaGVja2JveGVzXHJcbmlucHV0W3R5cGU9XCJmaWxlXCJdLFxyXG5pbnB1dFt0eXBlPVwiaW1hZ2VcIl0sXHJcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXHJcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcclxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcclxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxyXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xyXG4gIHdpZHRoOiBhdXRvOyAvLyBPdmVycmlkZSBvZiBnZW5lcmljIGlucHV0IHNlbGVjdG9yXHJcbn1cclxuXHJcbi8vIFNldCB0aGUgaGVpZ2h0IG9mIHNlbGVjdCBhbmQgZmlsZSBjb250cm9scyB0byBtYXRjaCB0ZXh0IGlucHV0c1xyXG5zZWxlY3QsXHJcbmlucHV0W3R5cGU9XCJmaWxlXCJdIHtcclxuICBoZWlnaHQ6IDMwcHg7IC8qIEluIElFNywgdGhlIGhlaWdodCBvZiB0aGUgc2VsZWN0IGVsZW1lbnQgY2Fubm90IGJlIGNoYW5nZWQgYnkgaGVpZ2h0LCBvbmx5IGZvbnQtc2l6ZSAqL1xyXG4gICptYXJnaW4tdG9wOiA0cHg7IC8qIEZvciBJRTcsIGFkZCB0b3AgbWFyZ2luIHRvIGFsaWduIHNlbGVjdCB3aXRoIGxhYmVscyAqL1xyXG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xyXG59XHJcblxyXG4vLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBvYmV5IGhlaWdodCBieSBhcHBseWluZyBhIGJvcmRlclxyXG5zZWxlY3Qge1xyXG4gIHdpZHRoOiAyMjBweDsgLy8gZGVmYXVsdCBpbnB1dCB3aWR0aCArIDEwcHggb2YgcGFkZGluZyB0aGF0IGRvZXNuJ3QgZ2V0IGFwcGxpZWRcclxuICBib3gtc2hhZG93OiAwIDFweCAxcHggMCByZ2JhKDAsMCwwLDAuMjUpO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICBib3JkZXItcmFkaXVzOiAycHg7XHJcbn1cclxuXHJcbi8vIE1ha2UgbXVsdGlwbGUgc2VsZWN0IGVsZW1lbnRzIGhlaWdodCBub3QgZml4ZWRcclxuc2VsZWN0W211bHRpcGxlXSxcclxuc2VsZWN0W3NpemVdIHtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi8vIEZvY3VzIGZvciBzZWxlY3QsIGZpbGUsIHJhZGlvLCBhbmQgY2hlY2tib3hcclxuc2VsZWN0OmZvY3VzLFxyXG5pbnB1dFt0eXBlPVwiZmlsZVwiXTpmb2N1cyxcclxuaW5wdXRbdHlwZT1cInJhZGlvXCJdOmZvY3VzLFxyXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Zm9jdXMge1xyXG4gIEBpbmNsdWRlIHRhYi1mb2N1cygpO1xyXG59XHJcblxyXG5cclxuLy8gVW5lZGl0YWJsZSBpbnB1dHNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gTWFrZSB1bmVkaXRhYmxlIGlucHV0cyBsb29rIGluYWN0aXZlXHJcbi51bmVkaXRhYmxlLWlucHV0LFxyXG4udW5lZGl0YWJsZS10ZXh0YXJlYSB7XHJcbiAgY29sb3I6ICRncmF5TGlnaHQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRpbnB1dEJhY2tncm91bmQsIDElKTtcclxuICBib3JkZXItY29sb3I6ICRpbnB1dEJvcmRlcjtcclxuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMDI1KTtcclxuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG59XHJcblxyXG4vLyBGb3IgdGV4dCB0aGF0IG5lZWRzIHRvIGFwcGVhciBhcyBhbiBpbnB1dCBidXQgc2hvdWxkIG5vdCBiZSBhbiBpbnB1dFxyXG4udW5lZGl0YWJsZS1pbnB1dCB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gcHJldmVudCB0ZXh0IGZyb20gd3JhcHBpbmcsIGJ1dCBzdGlsbCBjdXQgaXQgb2ZmIGxpa2UgYW4gaW5wdXQgZG9lc1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi8vIE1ha2UgdW5lZGl0YWJsZSB0ZXh0YXJlYXMgYmVoYXZlIGxpa2UgYSB0ZXh0YXJlYVxyXG4udW5lZGl0YWJsZS10ZXh0YXJlYSB7XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG5cclxuLy8gUGxhY2Vob2xkZXJcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gUGxhY2Vob2xkZXIgdGV4dCBnZXRzIHNwZWNpYWwgc3R5bGVzIGJlY2F1c2Ugd2hlbiBicm93c2VycyBpbnZhbGlkYXRlIGVudGlyZSBsaW5lcyBpZiBpdCBkb2Vzbid0IHVuZGVyc3RhbmQgYSBzZWxlY3RvclxyXG5pbnB1dCxcclxudGV4dGFyZWEge1xyXG4gIEBpbmNsdWRlIHBsYWNlaG9sZGVyKCk7XHJcbn1cclxuXHJcblxyXG4vLyBDSEVDS0JPWEVTICYgUkFESU9TXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIEluZGVudCB0aGUgbGFiZWxzIHRvIHBvc2l0aW9uIHJhZGlvcy9jaGVja2JveGVzIGFzIGhhbmdpbmdcclxuLnJhZGlvLFxyXG4uY2hlY2tib3gge1xyXG4gIG1pbi1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlOyAvLyBjbGVhciB0aGUgZmxvYXRpbmcgaW5wdXQgaWYgdGhlcmUgaXMgbm8gbGFiZWwgdGV4dFxyXG4gIHBhZGRpbmctbGVmdDogMjBweDtcclxufVxyXG4ucmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxyXG4uY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcclxuICBmbG9hdDogbGVmdDtcclxuICBtYXJnaW4tbGVmdDogLTIwcHg7XHJcbn1cclxuXHJcbi8vIE1vdmUgdGhlIG9wdGlvbnMgbGlzdCBkb3duIHRvIGFsaWduIHdpdGggbGFiZWxzXHJcbi5jb250cm9scyA+IC5yYWRpbzpmaXJzdC1jaGlsZCxcclxuLmNvbnRyb2xzID4gLmNoZWNrYm94OmZpcnN0LWNoaWxkIHtcclxuICBwYWRkaW5nLXRvcDogNXB4OyAvLyBoYXMgdG8gYmUgcGFkZGluZyBiZWNhdXNlIG1hcmdpbiBjb2xsYXNwZXNcclxufVxyXG5cclxuLy8gUmFkaW9zIGFuZCBjaGVja2JveGVzIG9uIHNhbWUgbGluZVxyXG4vLyBUT0RPIHYzOiBDb252ZXJ0IC5pbmxpbmUgdG8gLmNvbnRyb2wtaW5saW5lXHJcbi5yYWRpby5pbmxpbmUsXHJcbi5jaGVja2JveC5pbmxpbmUge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBwYWRkaW5nLXRvcDogNXB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG4ucmFkaW8uaW5saW5lICsgLnJhZGlvLmlubGluZSxcclxuLmNoZWNrYm94LmlubGluZSArIC5jaGVja2JveC5pbmxpbmUge1xyXG4gIG1hcmdpbi1sZWZ0OiAxMHB4OyAvLyBzcGFjZSBvdXQgY29uc2VjdXRpdmUgaW5saW5lIGNvbnRyb2xzXHJcbn1cclxuXHJcblxyXG5cclxuLy8gSU5QVVQgU0laRVNcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbi8vIEdlbmVyYWwgY2xhc3NlcyBmb3IgcXVpY2sgc2l6ZXNcclxuLmlucHV0LWl0dHkgICAgICAgeyB3aWR0aDogMzBweDsgfVxyXG4uaW5wdXQtbWluaSAgICAgICB7IHdpZHRoOiA0M3B4OyB9XHJcbi5pbnB1dC1leHQgICAgICAgIHsgd2lkdGg6IDUwcHg7IH1cclxuLmlucHV0LXNtYWxsICAgICAgeyB3aWR0aDogOTBweDsgfVxyXG4uaW5wdXQtbWVkaXVtICAgICB7IHdpZHRoOiAxNTBweDsgfVxyXG4uaW5wdXQtbGFyZ2UgICAgICB7IHdpZHRoOiAyMTBweDsgfVxyXG4uaW5wdXQteGxhcmdlICAgICB7IHdpZHRoOiAyNzBweDsgfVxyXG4uaW5wdXQteHhsYXJnZSAgICB7IHdpZHRoOiA1MzBweDsgfVxyXG5cclxuLy8gR3JpZCBzdHlsZSBpbnB1dCBzaXplc1xyXG5pbnB1dFtjbGFzcyo9XCJzcGFuXCJdLFxyXG5zZWxlY3RbY2xhc3MqPVwic3BhblwiXSxcclxudGV4dGFyZWFbY2xhc3MqPVwic3BhblwiXSxcclxuLnVuZWRpdGFibGUtaW5wdXRbY2xhc3MqPVwic3BhblwiXSxcclxuLy8gUmVkZWNsYXJlIHNpbmNlIHRoZSBmbHVpZCByb3cgY2xhc3MgaXMgbW9yZSBzcGVjaWZpY1xyXG4ucm93LWZsdWlkIGlucHV0W2NsYXNzKj1cInNwYW5cIl0sXHJcbi5yb3ctZmx1aWQgc2VsZWN0W2NsYXNzKj1cInNwYW5cIl0sXHJcbi5yb3ctZmx1aWQgdGV4dGFyZWFbY2xhc3MqPVwic3BhblwiXSxcclxuLnJvdy1mbHVpZCAudW5lZGl0YWJsZS1pbnB1dFtjbGFzcyo9XCJzcGFuXCJdIHtcclxuICBmbG9hdDogbm9uZTtcclxuICBtYXJnaW4tbGVmdDogMDtcclxufVxyXG4vLyBFbnN1cmUgaW5wdXQtcHJlcGVuZC9hcHBlbmQgbmV2ZXIgd3JhcHNcclxuLmlucHV0LWFwcGVuZCBpbnB1dFtjbGFzcyo9XCJzcGFuXCJdLFxyXG4uaW5wdXQtYXBwZW5kIC51bmVkaXRhYmxlLWlucHV0W2NsYXNzKj1cInNwYW5cIl0sXHJcbi5pbnB1dC1wcmVwZW5kIGlucHV0W2NsYXNzKj1cInNwYW5cIl0sXHJcbi5pbnB1dC1wcmVwZW5kIC51bmVkaXRhYmxlLWlucHV0W2NsYXNzKj1cInNwYW5cIl0sXHJcbi5yb3ctZmx1aWQgaW5wdXRbY2xhc3MqPVwic3BhblwiXSxcclxuLnJvdy1mbHVpZCBzZWxlY3RbY2xhc3MqPVwic3BhblwiXSxcclxuLnJvdy1mbHVpZCB0ZXh0YXJlYVtjbGFzcyo9XCJzcGFuXCJdLFxyXG4ucm93LWZsdWlkIC51bmVkaXRhYmxlLWlucHV0W2NsYXNzKj1cInNwYW5cIl0sXHJcbi5yb3ctZmx1aWQgLmlucHV0LXByZXBlbmQgW2NsYXNzKj1cInNwYW5cIl0sXHJcbi5yb3ctZmx1aWQgLmlucHV0LWFwcGVuZCBbY2xhc3MqPVwic3BhblwiXSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG5cclxuXHJcbi8vIERJU0FCTEVEIFNUQVRFXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBEaXNhYmxlZCBhbmQgcmVhZC1vbmx5IGlucHV0c1xyXG5pbnB1dFtkaXNhYmxlZF0sXHJcbnNlbGVjdFtkaXNhYmxlZF0sXHJcbnRleHRhcmVhW2Rpc2FibGVkXSxcclxuaW5wdXRbcmVhZG9ubHldLFxyXG5zZWxlY3RbcmVhZG9ubHldLFxyXG50ZXh0YXJlYVtyZWFkb25seV0ge1xyXG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0RGlzYWJsZWRCYWNrZ3JvdW5kO1xyXG59XHJcbi8vIEV4cGxpY2l0bHkgcmVzZXQgdGhlIGNvbG9ycyBoZXJlXHJcbmlucHV0W3R5cGU9XCJyYWRpb1wiXVtkaXNhYmxlZF0sXHJcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXVtkaXNhYmxlZF0sXHJcbmlucHV0W3R5cGU9XCJyYWRpb1wiXVtyZWFkb25seV0sXHJcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXVtyZWFkb25seV0ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG5cclxuXHJcblxyXG4vLyBGT1JNIEZJRUxEIEZFRURCQUNLIFNUQVRFU1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gV2FybmluZ1xyXG4uY29udHJvbC1ncm91cC53YXJuaW5nIHtcclxuICBAaW5jbHVkZSBmb3JtRmllbGRTdGF0ZSgkd2FybmluZ1RleHQsICR3YXJuaW5nVGV4dCwgJHdhcm5pbmdCYWNrZ3JvdW5kKTtcclxufVxyXG4vLyBFcnJvclxyXG4uY29udHJvbC1ncm91cC5lcnJvciB7XHJcbiAgQGluY2x1ZGUgZm9ybUZpZWxkU3RhdGUoJGVycm9yVGV4dCwgJGVycm9yVGV4dCwgJGVycm9yQmFja2dyb3VuZCk7XHJcbn1cclxuLy8gU3VjY2Vzc1xyXG4uY29udHJvbC1ncm91cC5zdWNjZXNzIHtcclxuICBAaW5jbHVkZSBmb3JtRmllbGRTdGF0ZSgkc3VjY2Vzc1RleHQsICRzdWNjZXNzVGV4dCwgJHN1Y2Nlc3NCYWNrZ3JvdW5kKTtcclxufVxyXG4vLyBJbmZvXHJcbi5jb250cm9sLWdyb3VwLmluZm8ge1xyXG4gIEBpbmNsdWRlIGZvcm1GaWVsZFN0YXRlKCRpbmZvVGV4dCwgJGluZm9UZXh0LCAkaW5mb0JhY2tncm91bmQpO1xyXG59XHJcblxyXG4vLyBIVE1MNSBpbnZhbGlkIHN0YXRlc1xyXG4vLyBTaGFyZXMgc3R5bGVzIHdpdGggdGhlIC5jb250cm9sLWdyb3VwLmVycm9yIGFib3ZlXHJcbmlucHV0OmZvY3VzOmludmFsaWQsXHJcbnRleHRhcmVhOmZvY3VzOmludmFsaWQsXHJcbnNlbGVjdDpmb2N1czppbnZhbGlkIHtcclxuICBjb2xvcjogI2I5NGE0ODtcclxuICBib3JkZXItY29sb3I6ICNlZTVmNWI7XHJcbiAgJjpmb2N1cyB7XHJcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigjZWU1ZjViLCAxMCUpO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDZweCBsaWdodGVuKCNlZTVmNWIsIDIwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcbi8vIEZPUk0gQUNUSU9OU1xyXG4vLyAtLS0tLS0tLS0tLS1cclxuXHJcbi5mb3JtLWFjdGlvbnMge1xyXG4gIHBhZGRpbmc6ICgkbGluZS1oZWlnaHQtYmFzZSAtIDEpIDIwcHggJGxpbmUtaGVpZ2h0LWJhc2U7XHJcbiAgbWFyZ2luLXRvcDogJGxpbmUtaGVpZ2h0LWJhc2U7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWJhc2U7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm1BY3Rpb25zQmFja2dyb3VuZDtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTtcclxuICBAaW5jbHVkZSBjbGVhcmZpeCgpOyAvLyBBZGRpbmcgY2xlYXJmaXggdG8gYWxsb3cgZm9yIC5wdWxsLXJpZ2h0IGJ1dHRvbiBjb250YWluZXJzXHJcbn1cclxuXHJcblxyXG5cclxuLy8gSEVMUCBURVhUXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuLmhlbHAtYmxvY2ssXHJcbi5oZWxwLWlubGluZSB7XHJcbiAgY29sb3I6IGxpZ2h0ZW4oJHRleHRDb2xvciwgMTUlKTsgLy8gbGlnaHRlbiB0aGUgdGV4dCBzb21lIGZvciBjb250cmFzdFxyXG59XHJcblxyXG4uaGVscC1ibG9jayB7XHJcbiAgZGlzcGxheTogYmxvY2s7IC8vIGFjY291bnQgZm9yIGFueSBlbGVtZW50IHVzaW5nIGhlbHAtYmxvY2tcclxuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtYmFzZSAvIDI7XHJcbn1cclxuXHJcbi5oZWxwLWlubGluZSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIEBpbmNsdWRlIGllNy1pbmxpbmUtYmxvY2soKTtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIHBhZGRpbmctbGVmdDogNXB4O1xyXG59XHJcblxyXG5cclxuXHJcbi8vIElOUFVUIEdST1VQU1xyXG4vLyAtLS0tLS0tLS0tLS1cclxuXHJcbi8vIEFsbG93IHVzIHRvIHB1dCBzeW1ib2xzIGFuZCB0ZXh0IHdpdGhpbiB0aGUgaW5wdXQgZmllbGQgZm9yIGEgY2xlYW5lciBsb29rXHJcbi5pbnB1dC1hcHBlbmQsXHJcbi5pbnB1dC1wcmVwZW5kIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWJhc2UgLyAyO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgZm9udC1zaXplOiAwOyAvLyB3aGl0ZSBzcGFjZSBjb2xsYXBzZSBoYWNrXHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gUHJldmVudCBzcGFuIGFuZCBpbnB1dCBmcm9tIHNlcGFyYXRpbmdcclxuXHJcbiAgLy8gUmVzZXQgdGhlIHdoaXRlIHNwYWNlIGNvbGxhcHNlIGhhY2tcclxuICBpbnB1dCxcclxuICBzZWxlY3QsXHJcbiAgLnVuZWRpdGFibGUtaW5wdXQsXHJcbiAgLmRyb3Bkb3duLW1lbnUsXHJcbiAgLnBvcG92ZXIge1xyXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XHJcbiAgfVxyXG5cclxuICBpbnB1dCxcclxuICBzZWxlY3QsXHJcbiAgLnVuZWRpdGFibGUtaW5wdXQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBwbGFjZWQgaGVyZSBieSBkZWZhdWx0IHNvIHRoYXQgb24gOmZvY3VzIHdlIGNhbiBwbGFjZSB0aGUgaW5wdXQgYWJvdmUgdGhlIC5hZGQtb24gZm9yIGZ1bGwgYm9yZGVyIGFuZCBib3gtc2hhZG93IGdvb2RuZXNzXHJcbiAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBwcmV2ZW50IGJvdHRvbSBtYXJnaW4gZnJvbSBzY3Jld2luZyB1cCBhbGlnbm1lbnQgaW4gc3RhY2tlZCBmb3Jtc1xyXG4gICAgKm1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAgJGlucHV0Qm9yZGVyUmFkaXVzICRpbnB1dEJvcmRlclJhZGl1cyAwO1xyXG4gICAgLy8gTWFrZSBpbnB1dCBvbiB0b3Agd2hlbiBmb2N1c2VkIHNvIGJsdWUgYm9yZGVyIGFuZCBzaGFkb3cgYWx3YXlzIHNob3dcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICB6LWluZGV4OiAyO1xyXG4gICAgfVxyXG4gIH1cclxuICAuYWRkLW9uIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcclxuICAgIG1pbi13aWR0aDogMTZweDtcclxuICAgIHBhZGRpbmc6IDRweCA1cHg7XHJcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0ZXh0LXNoYWRvdzogMCAxcHggMCAkd2hpdGU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheUxpZ2h0ZXI7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG4gIH1cclxuICAuYWRkLW9uLFxyXG4gIC5idG4sXHJcbiAgLmJ0bi1ncm91cCA+IC5kcm9wZG93bi10b2dnbGUge1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgfVxyXG4gIC5hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkZ3JlZW4sIDMwKTtcclxuICAgIGJvcmRlci1jb2xvcjogJGdyZWVuO1xyXG4gIH1cclxufVxyXG5cclxuLmlucHV0LXByZXBlbmQge1xyXG4gIC5hZGQtb24sXHJcbiAgLmJ0biB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XHJcbiAgfVxyXG4gIC5hZGQtb246Zmlyc3QtY2hpbGQsXHJcbiAgLmJ0bjpmaXJzdC1jaGlsZCB7XHJcbiAgICAvLyBGWUksIGAuYnRuOmZpcnN0LWNoaWxkYCBhY2NvdW50cyBmb3IgYSBidXR0b24gZ3JvdXAgdGhhdCdzIHByZXBlbmRlZFxyXG4gICAgYm9yZGVyLXJhZGl1czogJGlucHV0Qm9yZGVyUmFkaXVzIDAgMCAkaW5wdXRCb3JkZXJSYWRpdXM7XHJcbiAgfVxyXG59XHJcblxyXG4uaW5wdXQtYXBwZW5kIHtcclxuICBpbnB1dCxcclxuICBzZWxlY3QsXHJcbiAgLnVuZWRpdGFibGUtaW5wdXQge1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGlucHV0Qm9yZGVyUmFkaXVzIDAgMCAkaW5wdXRCb3JkZXJSYWRpdXM7XHJcbiAgICArIC5idG4tZ3JvdXAgLmJ0bjpsYXN0LWNoaWxkIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMCAkaW5wdXRCb3JkZXJSYWRpdXMgJGlucHV0Qm9yZGVyUmFkaXVzIDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5hZGQtb24sXHJcbiAgLmJ0bixcclxuICAuYnRuLWdyb3VwIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xyXG4gIH1cclxuICAuYWRkLW9uOmxhc3QtY2hpbGQsXHJcbiAgLmJ0bjpsYXN0LWNoaWxkLFxyXG4gIC5idG4tZ3JvdXA6bGFzdC1jaGlsZCA+IC5kcm9wZG93bi10b2dnbGUge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMCAkaW5wdXRCb3JkZXJSYWRpdXMgJGlucHV0Qm9yZGVyUmFkaXVzIDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBSZW1vdmUgYWxsIGJvcmRlci1yYWRpdXMgZm9yIGlucHV0cyB3aXRoIGJvdGggcHJlcGVuZCBhbmQgYXBwZW5kXHJcbi5pbnB1dC1wcmVwZW5kLmlucHV0LWFwcGVuZCB7XHJcbiAgaW5wdXQsXHJcbiAgc2VsZWN0LFxyXG4gIC51bmVkaXRhYmxlLWlucHV0IHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICArIC5idG4tZ3JvdXAgLmJ0biB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgJGlucHV0Qm9yZGVyUmFkaXVzICRpbnB1dEJvcmRlclJhZGl1cyAwO1xyXG4gICAgfVxyXG4gIH1cclxuICAuYWRkLW9uOmZpcnN0LWNoaWxkLFxyXG4gIC5idG46Zmlyc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGlucHV0Qm9yZGVyUmFkaXVzIDAgMCAkaW5wdXRCb3JkZXJSYWRpdXM7XHJcbiAgfVxyXG4gIC5hZGQtb246bGFzdC1jaGlsZCxcclxuICAuYnRuOmxhc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwICRpbnB1dEJvcmRlclJhZGl1cyAkaW5wdXRCb3JkZXJSYWRpdXMgMDtcclxuICB9XHJcbiAgLmJ0bi1ncm91cDpmaXJzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8vIFNFQVJDSCBGT1JNXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG5pbnB1dC5zZWFyY2gtcXVlcnkge1xyXG4gIHBhZGRpbmctcmlnaHQ6IDE0cHg7XHJcbiAgcGFkZGluZy1yaWdodDogNHB4IFxcOTtcclxuICBwYWRkaW5nLWxlZnQ6IDE0cHg7XHJcbiAgcGFkZGluZy1sZWZ0OiA0cHggXFw5OyAvKiBJRTctOCBkb2Vzbid0IGhhdmUgYm9yZGVyLXJhZGl1cywgc28gZG9uJ3QgaW5kZW50IHRoZSBwYWRkaW5nICovXHJcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IG1hcmdpbiBvbiBhbGwgaW5wdXRzXHJcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcclxufVxyXG5cclxuLyogQWxsb3cgZm9yIGlucHV0IHByZXBlbmQvYXBwZW5kIGluIHNlYXJjaCBmb3JtcyAqL1xyXG4uZm9ybS1zZWFyY2ggLmlucHV0LWFwcGVuZCAuc2VhcmNoLXF1ZXJ5LFxyXG4uZm9ybS1zZWFyY2ggLmlucHV0LXByZXBlbmQgLnNlYXJjaC1xdWVyeSB7XHJcbiAgYm9yZGVyLXJhZGl1czogMDsgLy8gT3ZlcnJpZGUgZHVlIHRvIHNwZWNpZmljaXlcclxufVxyXG4uZm9ybS1zZWFyY2ggLmlucHV0LWFwcGVuZCAuc2VhcmNoLXF1ZXJ5IHtcclxuICBib3JkZXItcmFkaXVzOiAxNHB4IDAgMCAxNHB4O1xyXG59XHJcbi5mb3JtLXNlYXJjaCAuaW5wdXQtYXBwZW5kIC5idG4ge1xyXG4gIGJvcmRlci1yYWRpdXM6IDAgMTRweCAxNHB4IDA7XHJcbn1cclxuLmZvcm0tc2VhcmNoIC5pbnB1dC1wcmVwZW5kIC5zZWFyY2gtcXVlcnkge1xyXG4gIGJvcmRlci1yYWRpdXM6IDAgMTRweCAxNHB4IDA7XHJcbn1cclxuLmZvcm0tc2VhcmNoIC5pbnB1dC1wcmVwZW5kIC5idG4ge1xyXG4gIGJvcmRlci1yYWRpdXM6IDE0cHggMCAwIDE0cHg7XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8vIEhPUklaT05UQUwgJiBWRVJUSUNBTCBGT1JNU1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIENvbW1vbiBwcm9wZXJ0aWVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4uZm9ybS1zZWFyY2gsXHJcbi5mb3JtLWlubGluZSxcclxuLmZvcm0taG9yaXpvbnRhbCB7XHJcbiAgaW5wdXQsXHJcbiAgdGV4dGFyZWEsXHJcbiAgc2VsZWN0LFxyXG4gIC5oZWxwLWlubGluZSxcclxuICAudW5lZGl0YWJsZS1pbnB1dCxcclxuICAuaW5wdXQtcHJlcGVuZCxcclxuICAuaW5wdXQtYXBwZW5kIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIEBpbmNsdWRlIGllNy1pbmxpbmUtYmxvY2soKTtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIH1cclxuICAvLyBSZS1oaWRlIGhpZGRlbiBlbGVtZW50cyBkdWUgdG8gc3BlY2lmaXR5XHJcbiAgLmhpZGUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuLmZvcm0tc2VhcmNoIGxhYmVsLFxyXG4uZm9ybS1pbmxpbmUgbGFiZWwsXHJcbi5mb3JtLXNlYXJjaCAuYnRuLWdyb3VwLFxyXG4uZm9ybS1pbmxpbmUgLmJ0bi1ncm91cCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcbi8vIFJlbW92ZSBtYXJnaW4gZm9yIGlucHV0LXByZXBlbmQvLWFwcGVuZFxyXG4uZm9ybS1zZWFyY2ggLmlucHV0LWFwcGVuZCxcclxuLmZvcm0taW5saW5lIC5pbnB1dC1hcHBlbmQsXHJcbi5mb3JtLXNlYXJjaCAuaW5wdXQtcHJlcGVuZCxcclxuLmZvcm0taW5saW5lIC5pbnB1dC1wcmVwZW5kIHtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcbi8vIElubGluZSBjaGVja2JveC9yYWRpbyBsYWJlbHMgKHJlbW92ZSBwYWRkaW5nIG9uIGxlZnQpXHJcbi5mb3JtLXNlYXJjaCAucmFkaW8sXHJcbi5mb3JtLXNlYXJjaCAuY2hlY2tib3gsXHJcbi5mb3JtLWlubGluZSAucmFkaW8sXHJcbi5mb3JtLWlubGluZSAuY2hlY2tib3gge1xyXG4gIHBhZGRpbmctbGVmdDogMDtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuLy8gUmVtb3ZlIGZsb2F0IGFuZCBtYXJnaW4sIHNldCB0byBpbmxpbmUtYmxvY2tcclxuLmZvcm0tc2VhcmNoIC5yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXHJcbi5mb3JtLXNlYXJjaCAuY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxyXG4uZm9ybS1pbmxpbmUgLnJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcclxuLmZvcm0taW5saW5lIC5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIG1hcmdpbi1yaWdodDogM3B4O1xyXG4gIG1hcmdpbi1sZWZ0OiAwO1xyXG59XHJcblxyXG5cclxuLy8gTWFyZ2luIHRvIHNwYWNlIG91dCBmaWVsZHNldHNcclxuLmNvbnRyb2wtZ3JvdXAge1xyXG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1iYXNlIC8gMjtcclxufVxyXG5cclxuLy8gTGVnZW5kIGNvbGxhcHNlcyBtYXJnaW4sIHNvIG5leHQgZWxlbWVudCBpcyByZXNwb25zaWJsZSBmb3Igc3BhY2luZ1xyXG5sZWdlbmQgKyAuY29udHJvbC1ncm91cCB7XHJcbiAgbWFyZ2luLXRvcDogJGxpbmUtaGVpZ2h0LWJhc2U7XHJcbiAgLXdlYmtpdC1tYXJnaW4tdG9wLWNvbGxhcHNlOiBzZXBhcmF0ZTtcclxufVxyXG5cclxuLy8gSG9yaXpvbnRhbC1zcGVjaWZpYyBzdHlsZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi5mb3JtLWhvcml6b250YWwge1xyXG4gIC8vIEluY3JlYXNlIHNwYWNpbmcgYmV0d2VlbiBncm91cHNcclxuICAuY29udHJvbC1ncm91cCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtYmFzZTtcclxuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XHJcbiAgfVxyXG4gIC8vIEZsb2F0IHRoZSBsYWJlbHMgbGVmdFxyXG4gIC5jb250cm9sLWxhYmVsIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB3aWR0aDogJGhvcml6b250YWxDb21wb25lbnRPZmZzZXQgLSAyMDtcclxuICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICB9XHJcbiAgLy8gTW92ZSBvdmVyIGFsbCBpbnB1dCBjb250cm9scyBhbmQgY29udGVudFxyXG4gIC5jb250cm9scyB7XHJcbiAgICAvLyBTdXBlciBqYW5rIElFNyBmaXggdG8gZW5zdXJlIHRoZSBpbnB1dHMgaW4gLmlucHV0LWFwcGVuZCBhbmQgaW5wdXQtcHJlcGVuZFxyXG4gICAgLy8gZG9uJ3QgaW5oZXJpdCB0aGUgbWFyZ2luIG9mIHRoZSBwYXJlbnQsIGluIHRoaXMgY2FzZSAuY29udHJvbHNcclxuICAgICpkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAqcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6ICRob3Jpem9udGFsQ29tcG9uZW50T2Zmc2V0O1xyXG4gICAgKm1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICpwYWRkaW5nLWxlZnQ6ICRob3Jpem9udGFsQ29tcG9uZW50T2Zmc2V0O1xyXG4gICAgfVxyXG4gIH1cclxuICAvLyBSZW1vdmUgYm90dG9tIG1hcmdpbiBvbiBibG9jayBsZXZlbCBoZWxwIHRleHQgc2luY2UgdGhhdCdzIGFjY291bnRlZCBmb3Igb24gLmNvbnRyb2wtZ3JvdXBcclxuICAuaGVscC1ibG9jayB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxuICAvLyBBbmQgYXBwbHkgaXQgb25seSB0byAuaGVscC1ibG9jayBpbnN0YW5jZXMgdGhhdCBmb2xsb3cgYSBmb3JtIGNvbnRyb2xcclxuICBpbnB1dCxcclxuICBzZWxlY3QsXHJcbiAgdGV4dGFyZWEsXHJcbiAgLnVuZWRpdGFibGUtaW5wdXQsXHJcbiAgLmlucHV0LXByZXBlbmQsXHJcbiAgLmlucHV0LWFwcGVuZCB7XHJcbiAgICArIC5oZWxwLWJsb2NrIHtcclxuICAgICAgbWFyZ2luLXRvcDogJGxpbmUtaGVpZ2h0LWJhc2UgLyAyO1xyXG4gICAgfVxyXG4gIH1cclxuICAvLyBNb3ZlIG92ZXIgYnV0dG9ucyBpbiAuZm9ybS1hY3Rpb25zIHRvIGFsaWduIHdpdGggLmNvbnRyb2xzXHJcbiAgLmZvcm0tYWN0aW9ucyB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRob3Jpem9udGFsQ29tcG9uZW50T2Zmc2V0O1xyXG4gIH1cclxufVxyXG4iLCIvL1xyXG4vLyBUYWJsZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcblxyXG4vLyBCQVNFIFRBQkxFU1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxudGFibGUge1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGVCYWNrZ3JvdW5kO1xyXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XHJcbn1cclxuXHJcbi8vIEJBU0VMSU5FIFNUWUxFU1xyXG4vLyAtLS0tLS0tLS0tLS0tLS1cclxuXHJcbi50YWJsZSB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWJhc2U7XHJcbiAgLy8gQ2VsbHNcclxuICB0aCxcclxuICB0ZCB7XHJcbiAgICBwYWRkaW5nOiA4cHg7XHJcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkdGFibGVCb3JkZXI7XHJcbiAgfVxyXG4gIHRoIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIH1cclxuICAvLyBCb3R0b20gYWxpZ24gZm9yIGNvbHVtbiBoZWFkaW5nc1xyXG4gIHRoZWFkIHRoIHtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XHJcbiAgfVxyXG4gIC8vIFJlbW92ZSB0b3AgYm9yZGVyIGZyb20gdGhlYWQgYnkgZGVmYXVsdFxyXG4gIGNhcHRpb24gKyB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aCxcclxuICBjYXB0aW9uICsgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGQsXHJcbiAgY29sZ3JvdXAgKyB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aCxcclxuICBjb2xncm91cCArIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRkLFxyXG4gIHRoZWFkOmZpcnN0LWNoaWxkIHRyOmZpcnN0LWNoaWxkIHRoLFxyXG4gIHRoZWFkOmZpcnN0LWNoaWxkIHRyOmZpcnN0LWNoaWxkIHRkIHtcclxuICAgIGJvcmRlci10b3A6IDA7XHJcbiAgfVxyXG4gIC8vIEFjY291bnQgZm9yIG11bHRpcGxlIHRib2R5IGluc3RhbmNlc1xyXG4gIHRib2R5ICsgdGJvZHkge1xyXG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICR0YWJsZUJvcmRlcjtcclxuICB9XHJcblxyXG4gIC8vIE5lc3RpbmdcclxuICAudGFibGUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHlCYWNrZ3JvdW5kO1xyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG4vLyBDT05ERU5TRUQgVEFCTEUgVy8gSEFMRiBQQURESU5HXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi50YWJsZS1jb25kZW5zZWQge1xyXG4gIHRoLFxyXG4gIHRkIHtcclxuICAgIHBhZGRpbmc6IDRweCA1cHg7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gQk9SREVSRUQgVkVSU0lPTlxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4udGFibGUtYm9yZGVyZWQge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICR0YWJsZUJvcmRlcjtcclxuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlOyAvLyBEb25lIHNvIHdlIGNhbiByb3VuZCB0aG9zZSBjb3JuZXJzIVxyXG4gICpib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvLyBJRTcgY2FuJ3Qgcm91bmQgY29ybmVycyBhbnl3YXlcclxuICBib3JkZXItbGVmdDogMDtcclxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRiYXNlQm9yZGVyUmFkaXVzKTtcclxuICB0aCxcclxuICB0ZCB7XHJcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR0YWJsZUJvcmRlcjtcclxuICB9XHJcbiAgLy8gUHJldmVudCBhIGRvdWJsZSBib3JkZXJcclxuICBjYXB0aW9uICsgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGgsXHJcbiAgY2FwdGlvbiArIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRoLFxyXG4gIGNhcHRpb24gKyB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZCxcclxuICBjb2xncm91cCArIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRoLFxyXG4gIGNvbGdyb3VwICsgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGgsXHJcbiAgY29sZ3JvdXAgKyB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZCxcclxuICB0aGVhZDpmaXJzdC1jaGlsZCB0cjpmaXJzdC1jaGlsZCB0aCxcclxuICB0Ym9keTpmaXJzdC1jaGlsZCB0cjpmaXJzdC1jaGlsZCB0aCxcclxuICB0Ym9keTpmaXJzdC1jaGlsZCB0cjpmaXJzdC1jaGlsZCB0ZCB7XHJcbiAgICBib3JkZXItdG9wOiAwO1xyXG4gIH1cclxuICAvLyBGb3IgZmlyc3QgdGgvdGQgaW4gdGhlIGZpcnN0IHJvdyBpbiB0aGUgZmlyc3QgdGhlYWQgb3IgdGJvZHlcclxuICB0aGVhZDpmaXJzdC1jaGlsZCB0cjpmaXJzdC1jaGlsZCA+IHRoOmZpcnN0LWNoaWxkLFxyXG4gIHRib2R5OmZpcnN0LWNoaWxkIHRyOmZpcnN0LWNoaWxkID4gdGQ6Zmlyc3QtY2hpbGQsXHJcbiAgdGJvZHk6Zmlyc3QtY2hpbGQgdHI6Zmlyc3QtY2hpbGQgPiB0aDpmaXJzdC1jaGlsZCB7XHJcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLWxlZnQtcmFkaXVzKCRiYXNlQm9yZGVyUmFkaXVzKTtcclxuICB9XHJcbiAgLy8gRm9yIGxhc3QgdGgvdGQgaW4gdGhlIGZpcnN0IHJvdyBpbiB0aGUgZmlyc3QgdGhlYWQgb3IgdGJvZHlcclxuICB0aGVhZDpmaXJzdC1jaGlsZCB0cjpmaXJzdC1jaGlsZCA+IHRoOmxhc3QtY2hpbGQsXHJcbiAgdGJvZHk6Zmlyc3QtY2hpbGQgdHI6Zmlyc3QtY2hpbGQgPiB0ZDpsYXN0LWNoaWxkLFxyXG4gIHRib2R5OmZpcnN0LWNoaWxkIHRyOmZpcnN0LWNoaWxkID4gdGg6bGFzdC1jaGlsZCB7XHJcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkYmFzZUJvcmRlclJhZGl1cyk7XHJcbiAgfVxyXG4gIC8vIEZvciBmaXJzdCB0aC90ZCAoY2FuIGJlIGVpdGhlcikgaW4gdGhlIGxhc3Qgcm93IGluIHRoZSBsYXN0IHRoZWFkLCB0Ym9keSwgYW5kIHRmb290XHJcbiAgdGhlYWQ6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkID4gdGg6Zmlyc3QtY2hpbGQsXHJcbiAgdGJvZHk6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkID4gdGQ6Zmlyc3QtY2hpbGQsXHJcbiAgdGJvZHk6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkID4gdGg6Zmlyc3QtY2hpbGQsXHJcbiAgdGZvb3Q6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkID4gdGQ6Zmlyc3QtY2hpbGQsXHJcbiAgdGZvb3Q6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkID4gdGg6Zmlyc3QtY2hpbGQge1xyXG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkYmFzZUJvcmRlclJhZGl1cyk7XHJcbiAgfVxyXG4gIC8vIEZvciBsYXN0IHRoL3RkIChjYW4gYmUgZWl0aGVyKSBpbiB0aGUgbGFzdCByb3cgaW4gdGhlIGxhc3QgdGhlYWQsIHRib2R5LCBhbmQgdGZvb3RcclxuICB0aGVhZDpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgPiB0aDpsYXN0LWNoaWxkLFxyXG4gIHRib2R5Omxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZCA+IHRkOmxhc3QtY2hpbGQsXHJcbiAgdGJvZHk6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkID4gdGg6bGFzdC1jaGlsZCxcclxuICB0Zm9vdDpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgPiB0ZDpsYXN0LWNoaWxkLFxyXG4gIHRmb290Omxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZCA+IHRoOmxhc3QtY2hpbGQge1xyXG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJGJhc2VCb3JkZXJSYWRpdXMpO1xyXG4gIH1cclxuXHJcbiAgLy8gQ2xlYXIgYm9yZGVyLXJhZGl1cyBmb3IgZmlyc3QgYW5kIGxhc3QgdGQgaW4gdGhlIGxhc3Qgcm93IGluIHRoZSBsYXN0IHRib2R5IGZvciB0YWJsZSB3aXRoIHRmb290XHJcbiAgdGZvb3QgKyB0Ym9keTpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQge1xyXG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygwKTtcclxuICB9XHJcbiAgdGZvb3QgKyB0Ym9keTpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCB7XHJcbiAgICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygwKTtcclxuICB9XHJcblxyXG4gIC8vIFNwZWNpYWwgZml4ZXMgdG8gcm91bmQgdGhlIGxlZnQgYm9yZGVyIG9uIHRoZSBmaXJzdCB0ZC90aFxyXG4gIGNhcHRpb24gKyB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCxcclxuICBjYXB0aW9uICsgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsXHJcbiAgY29sZ3JvdXAgKyB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCxcclxuICBjb2xncm91cCArIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkIHtcclxuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoJGJhc2VCb3JkZXJSYWRpdXMpO1xyXG4gIH1cclxuICBjYXB0aW9uICsgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCxcclxuICBjYXB0aW9uICsgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCxcclxuICBjb2xncm91cCArIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRoOmxhc3QtY2hpbGQsXHJcbiAgY29sZ3JvdXAgKyB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkIHtcclxuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzKCRiYXNlQm9yZGVyUmFkaXVzKTtcclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuXHJcblxyXG4vLyBaRUJSQS1TVFJJUElOR1xyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gRGVmYXVsdCB6ZWJyYS1zdHJpcGUgc3R5bGVzIChhbHRlcm5hdGluZyBncmF5IGFuZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcylcclxuLnRhYmxlLXN0cmlwZWQge1xyXG4gIHRib2R5IHtcclxuICAgID4gdHI6bnRoLWNoaWxkKG9kZCkgPiB0ZCxcclxuICAgID4gdHI6bnRoLWNoaWxkKG9kZCkgPiB0aCB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZUJhY2tncm91bmRBY2NlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gSE9WRVIgRUZGRUNUXHJcbi8vIC0tLS0tLS0tLS0tLVxyXG4vLyBQbGFjZWQgaGVyZSBzaW5jZSBpdCBoYXMgdG8gY29tZSBhZnRlciB0aGUgcG90ZW50aWFsIHplYnJhIHN0cmlwaW5nXHJcbi50YWJsZS1ob3ZlciB7XHJcbiAgdGJvZHkge1xyXG4gICAgdHI6aG92ZXIgPiB0ZCxcclxuICAgIHRyOmhvdmVyID4gdGgge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGVCYWNrZ3JvdW5kSG92ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gVEFCTEUgQ0VMTCBTSVpJTkdcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIFJlc2V0IGRlZmF1bHQgZ3JpZCBiZWhhdmlvclxyXG50YWJsZSB0ZFtjbGFzcyo9XCJzcGFuXCJdLFxyXG50YWJsZSB0aFtjbGFzcyo9XCJzcGFuXCJdLFxyXG4ucm93LWZsdWlkIHRhYmxlIHRkW2NsYXNzKj1cInNwYW5cIl0sXHJcbi5yb3ctZmx1aWQgdGFibGUgdGhbY2xhc3MqPVwic3BhblwiXSB7XHJcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICBmbG9hdDogbm9uZTsgLy8gdW5kbyBkZWZhdWx0IGdyaWQgY29sdW1uIHN0eWxlc1xyXG4gIG1hcmdpbi1sZWZ0OiAwOyAvLyB1bmRvIGRlZmF1bHQgZ3JpZCBjb2x1bW4gc3R5bGVzXHJcbn1cclxuXHJcblxyXG5cclxuLy8gVEFCTEUgQkFDS0dST1VORFNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIC50YWJsZS1zdHJpcGVkXHJcblxyXG4udGFibGUgdGJvZHkgdHIge1xyXG4gICYuc3VjY2VzcyA+IHRkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWNjZXNzQmFja2dyb3VuZDtcclxuICB9XHJcbiAgJi5lcnJvciA+IHRkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRlcnJvckJhY2tncm91bmQ7XHJcbiAgfVxyXG4gICYud2FybmluZyA+IHRkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICR3YXJuaW5nQmFja2dyb3VuZDtcclxuICB9XHJcbiAgJi5pbmZvID4gdGQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGluZm9CYWNrZ3JvdW5kO1xyXG4gIH1cclxufVxyXG5cclxuLy8gSG92ZXIgc3RhdGVzIGZvciAudGFibGUtaG92ZXJcclxuLnRhYmxlLWhvdmVyIHRib2R5IHRyIHtcclxuICAmLnN1Y2Nlc3M6aG92ZXIgPiB0ZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHN1Y2Nlc3NCYWNrZ3JvdW5kLCA1JSk7XHJcbiAgfVxyXG4gICYuZXJyb3I6aG92ZXIgPiB0ZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGVycm9yQmFja2dyb3VuZCwgNSUpO1xyXG4gIH1cclxuICAmLndhcm5pbmc6aG92ZXIgPiB0ZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHdhcm5pbmdCYWNrZ3JvdW5kLCA1JSk7XHJcbiAgfVxyXG4gICYuaW5mbzpob3ZlciA+IHRkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkaW5mb0JhY2tncm91bmQsIDUlKTtcclxuICB9XHJcbn1cclxuIiwiLy9cclxuLy8gV2VsbHNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcblxyXG4vLyBCYXNlIGNsYXNzXHJcbi53ZWxsIHtcclxuICBtaW4taGVpZ2h0OiAyMHB4O1xyXG4gIHBhZGRpbmc6IDE5cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2VsbEJhY2tncm91bmQ7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgZGFya2VuKCR3ZWxsQmFja2dyb3VuZCwgNyUpO1xyXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJhc2VCb3JkZXJSYWRpdXMpO1xyXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA1KSk7XHJcbiAgYmxvY2txdW90ZSB7XHJcbiAgICBib3JkZXItY29sb3I6ICNkZGQ7XHJcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsLjE1KTtcclxuICB9XHJcbn1cclxuXHJcbi8vIFNpemVzXHJcbi53ZWxsLWxhcmdlIHtcclxuICBwYWRkaW5nOiAyNHB4O1xyXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlclJhZGl1c0xhcmdlKTtcclxufVxyXG4ud2VsbC1zbWFsbCB7XHJcbiAgcGFkZGluZzogOXB4O1xyXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlclJhZGl1c1NtYWxsKTtcclxufVxyXG4iLCIvL1xyXG4vLyBDb21wb25lbnQgYW5pbWF0aW9uc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuXHJcbi5mYWRlIHtcclxuICBvcGFjaXR5OiAwO1xyXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAuMTVzIGxpbmVhcik7XHJcbiAgJi5pbiB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuLmNvbGxhcHNlIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgaGVpZ2h0OiAwO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihoZWlnaHQgLjM1cyBlYXNlKTtcclxuICAmLmluIHtcclxuICAgIGhlaWdodDogYXV0bztcclxuICB9XHJcbn1cclxuIiwiLy9cclxuLy8gQ2xvc2UgaWNvbnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcblxyXG4uY2xvc2Uge1xyXG4gIGZsb2F0OiByaWdodDtcclxuICBmb250LXNpemU6IDIwcHg7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xyXG4gIGNvbG9yOiAkYmxhY2s7XHJcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwxKTtcclxuICBvcGFjaXR5OiAyMDtcclxuICAmOmhvdmVyLFxyXG4gICY6Zm9jdXMge1xyXG4gICAgY29sb3I6ICRibGFjaztcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIG9wYWNpdHk6IDQwO1xyXG4gIH1cclxufVxyXG5cclxuLy8gQWRkaXRpb25hbCBwcm9wZXJ0aWVzIGZvciBidXR0b24gdmVyc2lvblxyXG4vLyBpT1MgcmVxdWlyZXMgdGhlIGJ1dHRvbiBlbGVtZW50IGluc3RlYWQgb2YgYW4gYW5jaG9yIHRhZy5cclxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXHJcbmJ1dHRvbi5jbG9zZSB7XHJcbiAgcGFkZGluZzogMDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxufVxyXG4iLCIvL1xyXG4vLyBCdXR0b25zXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5cclxuLy8gQmFzZSBzdHlsZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIENvcmVcclxuLmJ0biB7XHJcbiAgZm9udC1zaXplOiAxMXB4O1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBAaW5jbHVkZSBpZTctaW5saW5lLWJsb2NrKCk7XHJcbiAgcGFkZGluZzogJHBhZGRpbmdTbWFsbDtcclxuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBGb3IgaW5wdXQuYnRuXHJcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkYnRuQm9yZGVyO1xyXG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLDAsMCwwLjEpO1xyXG4gIGNvbG9yOiAkZ3JheURhcms7XHJcbiAgYmFja2dyb3VuZDogI2YxZjFmMTtcclxuICBsaW5lYXItZ3JhZGllbnQ6IHRvcCwgI2Y1ZjVmNSwgI2YxZjFmMTtcclxuICBib3JkZXItY29sb3I6ICNjNmM2YzY7XHJcbiAgKmJvcmRlcjogMDsgLy8gUmVtb3ZlIHRoZSBib3JkZXIgdG8gcHJldmVudCBJRTcncyBibGFjayBib3JkZXIgb24gaW5wdXQ6Zm9jdXNcclxuXHJcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1c1NtYWxsO1xyXG4gIEBpbmNsdWRlIGllNy1yZXN0b3JlLWxlZnQtd2hpdGVzcGFjZSgpOyAvLyBHaXZlIElFNyBzb21lIGxvdmVcclxuICAvLyBIb3Zlci9mb2N1cyBzdGF0ZVxyXG4gICY6aG92ZXIsXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBjb2xvcjogJGdyYXlEYXJrZXI7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBib3JkZXItY29sb3I6ICNjNmM2YzY7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xyXG4gICAgbGluZWFyLWdyYWRpZW50OiB0b3AsICNmOGY4ZjgsICNmMWYxZjE7XHJcbiAgICBib3gtc2hhZG93OiAwIDFweCAwIHJnYmEoMCwwLDAsLjE1KTtcclxuXHJcbiAgICAvLyB0cmFuc2l0aW9uIGlzIG9ubHkgd2hlbiBnb2luZyB0byBob3Zlci9mb2N1cywgb3RoZXJ3aXNlIHRoZSBiYWNrZ3JvdW5kXHJcbiAgICAvLyBiZWhpbmQgdGhlIGdyYWRpZW50ICh0aGVyZSBmb3IgSUU8PTkgZmFsbGJhY2spIGdldHMgbWlzbWF0Y2hlZFxyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1wb3NpdGlvbiAuMXMgbGluZWFyO1xyXG4gIH1cclxuXHJcbiAgLy8gRm9jdXMgc3RhdGUgZm9yIGtleWJvYXJkIGFuZCBhY2Nlc3NpYmlsaXR5XHJcbiAgJjpmb2N1cyB7XHJcbiAgICBAaW5jbHVkZSB0YWItZm9jdXMoKTtcclxuICB9XHJcblxyXG4gIC8vIEFjdGl2ZSBzdGF0ZVxyXG4gICYuYWN0aXZlLFxyXG4gICY6YWN0aXZlIHtcclxuICAgIG91dGxpbmU6IDA7XHJcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMSksIDAgMXB4IDJweCByZ2JhKDAsMCwwLC4xKTtcclxuICB9XHJcblxyXG4gIC8vIERpc2FibGVkIHN0YXRlXHJcbiAgJi5kaXNhYmxlZCxcclxuICAmW2Rpc2FibGVkXSB7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG4gICAgb3BhY2l0eTogNjU7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcblxyXG5cclxuLy8gQnV0dG9uIFNpemVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBMYXJnZVxyXG4uYnRuLWxhcmdlIHtcclxuICBwYWRkaW5nOiAkcGFkZGluZ0xhcmdlO1xyXG4gIGZvbnQtc2l6ZTogJGZvbnRTaXplTGFyZ2U7XHJcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1c0xhcmdlO1xyXG59XHJcbi5idG4tbGFyZ2UgW2NsYXNzXj1cImljb24tXCJdLFxyXG4uYnRuLWxhcmdlIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xyXG4gIG1hcmdpbi10b3A6IDRweDtcclxufVxyXG5cclxuLy8gU21hbGxcclxuLmJ0bi1zbWFsbCB7XHJcbiAgcGFkZGluZzogJHBhZGRpbmdTbWFsbDtcclxuICBmb250LXNpemU6ICRmb250U2l6ZVNtYWxsO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXNTbWFsbDtcclxufVxyXG4uYnRuLXNtYWxsIFtjbGFzc149XCJpY29uLVwiXSxcclxuLmJ0bi1zbWFsbCBbY2xhc3MqPVwiIGljb24tXCJdIHtcclxuICBtYXJnaW4tdG9wOiAwO1xyXG59XHJcbi5idG4tbWluaSBbY2xhc3NePVwiaWNvbi1cIl0sXHJcbi5idG4tbWluaSBbY2xhc3MqPVwiIGljb24tXCJdIHtcclxuICBtYXJnaW4tdG9wOiAtMXB4O1xyXG59XHJcblxyXG4vLyBNaW5pXHJcbi5idG4tbWluaSB7XHJcbiAgcGFkZGluZzogJHBhZGRpbmdNaW5pO1xyXG4gIGZvbnQtc2l6ZTogJGZvbnRTaXplTWluaTtcclxuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzU21hbGw7XHJcbn1cclxuXHJcblxyXG4vLyBCbG9jayBidXR0b25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLmJ0bi1ibG9jayB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcclxufVxyXG5cclxuLy8gVmVydGljYWxseSBzcGFjZSBvdXQgbXVsdGlwbGUgYmxvY2sgYnV0dG9uc1xyXG4uYnRuLWJsb2NrICsgLmJ0bi1ibG9jayB7XHJcbiAgbWFyZ2luLXRvcDogNXB4O1xyXG59XHJcblxyXG4vLyBTcGVjaWZpY2l0eSBvdmVycmlkZXNcclxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcclxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxyXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcclxuICAmLmJ0bi1ibG9jayB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuLy8gQWx0ZXJuYXRlIGJ1dHRvbnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIFByb3ZpZGUgKnNvbWUqIGV4dHJhIGNvbnRyYXN0IGZvciB0aG9zZSB3aG8gY2FuIGdldCBpdFxyXG4uYnRuLXByaW1hcnkuYWN0aXZlLFxyXG4uYnRuLXdhcm5pbmcuYWN0aXZlLFxyXG4uYnRuLWRhbmdlci5hY3RpdmUsXHJcbi5idG4tc3VjY2Vzcy5hY3RpdmUsXHJcbi5idG4taW5mby5hY3RpdmUsXHJcbi5idG4taW52ZXJzZS5hY3RpdmUsXHJcbi5idG4tY2FydC5hY3RpdmUge1xyXG4gIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC43NSk7XHJcbn1cclxuXHJcbi8vIFNldCB0aGUgYmFja2dyb3VuZHNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4uYnRuLXByaW1hcnkge1xyXG4gIEBpbmNsdWRlIGJ1dHRvbkJhY2tncm91bmQoJGJ0blByaW1hcnlCYWNrZ3JvdW5kLCAkYnRuUHJpbWFyeUJhY2tncm91bmRIaWdobGlnaHQpO1xyXG59XHJcbi8vIFdhcm5pbmcgYXBwZWFycyBhcmUgb3JhbmdlXHJcbi5idG4td2FybmluZyB7XHJcbiAgQGluY2x1ZGUgYnV0dG9uQmFja2dyb3VuZCgkYnRuV2FybmluZ0JhY2tncm91bmQsICRidG5XYXJuaW5nQmFja2dyb3VuZEhpZ2hsaWdodCk7XHJcbn1cclxuLy8gRGFuZ2VyIGFuZCBlcnJvciBhcHBlYXIgYXMgcmVkXHJcbi5idG4tZGFuZ2VyIHtcclxuICBAaW5jbHVkZSBidXR0b25CYWNrZ3JvdW5kKCRidG5EYW5nZXJCYWNrZ3JvdW5kLCAkYnRuRGFuZ2VyQmFja2dyb3VuZEhpZ2hsaWdodCk7XHJcbn1cclxuLy8gU3VjY2VzcyBhcHBlYXJzIGFzIGdyZWVuXHJcbi5idG4tc3VjY2VzcyB7XHJcbiAgQGluY2x1ZGUgYnV0dG9uQmFja2dyb3VuZCgkYnRuU3VjY2Vzc0JhY2tncm91bmQsICRidG5TdWNjZXNzQmFja2dyb3VuZEhpZ2hsaWdodCk7XHJcbn1cclxuLy8gSW5mbyBhcHBlYXJzIGFzIGEgbmV1dHJhbCBibHVlXHJcbi5idG4taW5mbyB7XHJcbiAgQGluY2x1ZGUgYnV0dG9uQmFja2dyb3VuZCgkYnRuSW5mb0JhY2tncm91bmQsICRidG5JbmZvQmFja2dyb3VuZEhpZ2hsaWdodCk7XHJcbn1cclxuLy8gSW52ZXJzZSBhcHBlYXJzIGFzIGRhcmsgZ3JheVxyXG4uYnRuLWludmVyc2Uge1xyXG4gIEBpbmNsdWRlIGJ1dHRvbkJhY2tncm91bmQoJGJ0bkludmVyc2VCYWNrZ3JvdW5kLCAkYnRuSW52ZXJzZUJhY2tncm91bmRIaWdobGlnaHQpO1xyXG59XHJcblxyXG5cclxuLy8gQ3Jvc3MtYnJvd3NlciBKYW5rXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5idXR0b24uYnRuLFxyXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLmJ0biB7XHJcblxyXG4gIC8vIEZpcmVmb3ggMy42IG9ubHkgSSBiZWxpZXZlXHJcbiAgJjo6LW1vei1mb2N1cy1pbm5lciB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gIH1cclxuXHJcbiAgLy8gSUU3IGhhcyBzb21lIGRlZmF1bHQgcGFkZGluZyBvbiBidXR0b24gY29udHJvbHNcclxuICAqcGFkZGluZy10b3A6IDNweDtcclxuICAqcGFkZGluZy1ib3R0b206IDNweDtcclxuXHJcbiAgJi5idG4tbGFyZ2Uge1xyXG4gICAgKnBhZGRpbmctdG9wOiA3cHg7XHJcbiAgICAqcGFkZGluZy1ib3R0b206IDdweDtcclxuICB9XHJcbiAgJi5idG4tc21hbGwge1xyXG4gICAgKnBhZGRpbmctdG9wOiAzcHg7XHJcbiAgICAqcGFkZGluZy1ib3R0b206IDNweDtcclxuICB9XHJcbiAgJi5idG4tbWluaSB7XHJcbiAgICAqcGFkZGluZy10b3A6IDFweDtcclxuICAgICpwYWRkaW5nLWJvdHRvbTogMXB4O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIExpbmsgYnV0dG9uc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcclxuLmJ0bi1saW5rLFxyXG4uYnRuLWxpbms6YWN0aXZlLFxyXG4uYnRuLWxpbmtbZGlzYWJsZWRdIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG4gIGJveC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuLmJ0bi1saW5rIHtcclxuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBib3JkZXItcmFkaXVzOiAwO1xyXG59XHJcbi5idG4tbGluazpob3ZlcixcclxuLmJ0bi1saW5rOmZvY3VzIHtcclxuICBjb2xvcjogJGxpbmtDb2xvckhvdmVyO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcbi5idG4tbGlua1tkaXNhYmxlZF06aG92ZXIsXHJcbi5idG4tbGlua1tkaXNhYmxlZF06Zm9jdXMge1xyXG4gIGNvbG9yOiAkZ3JheURhcms7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG4uYml0dHktYnRuIHtcclxuICBAaW5jbHVkZSBtZWRpYSgkYml0dHkpIHtcclxuICAgIEBpbmNsdWRlIGZpbGwtcGFyZW50O1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBHb29nbGUgYnV0dG9uc1xyXG4ucmVkLFxyXG4ucmVkOmFjdGl2ZSxcclxuLnJlZDp2aXNpdGVkIHtcclxuICBjb2xvcjogI2ZmZjtcclxuICBib3JkZXItY29sb3I6ICNiMDI4MWE7XHJcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2FmMzAxZjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzUzNzI3O1xyXG5cclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxmcm9tKCNkZDRiMzkpLHRvKCNjNTM3MjcpKTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsI2RkNGIzOSwjYzUzNzI3KTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsI2RkNGIzOSwjYzUzNzI3KTtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwjZGQ0YjM5IDAlLCNjNTM3MjcgMTAwJSk7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjZGQ0YjM5LCNjNTM3MjcpO1xyXG4gICY6aG92ZXIsXHJcbiAgJjpmb2N1cyB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGJvcmRlci1jb2xvcjogI2IwMjgxYTtcclxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNhZjMwMWY7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzUzNzI3O1xyXG5cclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20oI2RkNGIzOSksdG8oI2M1MzcyNykpO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCNkZDRiMzksI2M1MzcyNyk7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsI2RkNGIzOSwjYzUzNzI3KTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCNkZDRiMzkgMCUsI2M1MzcyNyAxMDAlKTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sI2RkNGIzOSwjYzUzNzI3KTtcclxuICB9XHJcbn1cclxuXHJcbi5ibHVlLFxyXG4uYmx1ZTphY3RpdmUsXHJcbi5ibHVlOnZpc2l0ZWQge1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xyXG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XHJcbiAgb3V0bGluZTogbm9uZTtcclxuICBwYWRkaW5nOiAwIDA7XHJcbiAgd2lkdGg6IDYwcHg7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xyXG4gIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgYmFja2dyb3VuZDogIzQyODVmNDtcclxuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIzQzODdmZCwjNDY4M2VhKTtcclxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG9wLCM0Mzg3ZmQsIzQ2ODNlYSk7XHJcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0jNDM4N2ZkLGVuZENvbG9yc3RyPSM0NjgzZWEsR3JhZGllbnRUeXBlPTEpO1xyXG59XHJcbiN3YWxsZXQtYnV0dG9uIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9XHJcbiIsIi8vXHJcbi8vIEJ1dHRvbiBncm91cHNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcblxyXG4vLyBNYWtlIHRoZSBkaXYgYmVoYXZlIGxpa2UgYSBidXR0b25cclxuLmJ0bi1ncm91cCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBAaW5jbHVkZSBpZTctaW5saW5lLWJsb2NrKCk7XHJcbiAgZm9udC1zaXplOiAwOyAvLyByZW1vdmUgYXMgcGFydCAxIG9mIGZvbnQtc2l6ZSBpbmxpbmUtYmxvY2sgaGFja1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gcHJldmVudCBidXR0b25zIGZyb20gd3JhcHBpbmcgd2hlbiBpbiB0aWdodCBzcGFjZXMgKGUuZy4sIHRoZSB0YWJsZSBvbiB0aGUgdGVzdHMgcGFnZSlcclxuICBAaW5jbHVkZSBpZTctcmVzdG9yZS1sZWZ0LXdoaXRlc3BhY2UoKTtcclxufVxyXG5cclxuLy8gU3BhY2Ugb3V0IHNlcmllcyBvZiBidXR0b24gZ3JvdXBzXHJcbi5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHtcclxuICBtYXJnaW4tbGVmdDogNXB4O1xyXG59XHJcblxyXG4vLyBPcHRpb25hbDogR3JvdXAgbXVsdGlwbGUgYnV0dG9uIGdyb3VwcyB0b2dldGhlciBmb3IgYSB0b29sYmFyXHJcbi5idG4tdG9vbGJhciB7XHJcbiAgZm9udC1zaXplOiAwOyAvLyBIYWNrIHRvIHJlbW92ZSB3aGl0ZXNwYWNlIHRoYXQgcmVzdWx0cyBmcm9tIHVzaW5nIGlubGluZS1ibG9ja1xyXG4gIG1hcmdpbi10b3A6ICRsaW5lLWhlaWdodC1iYXNlIC8gMjtcclxuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtYmFzZSAvIDI7XHJcbiAgPiAuYnRuICsgLmJ0bixcclxuICA+IC5idG4tZ3JvdXAgKyAuYnRuLFxyXG4gID4gLmJ0biArIC5idG4tZ3JvdXAge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICB9XHJcbn1cclxuXHJcbi8vIEZsb2F0IHRoZW0sIHJlbW92ZSBib3JkZXIgcmFkaXVzLCB0aGVuIHJlLWFkZCB0byBmaXJzdCBhbmQgbGFzdCBlbGVtZW50c1xyXG4uYnRuLWdyb3VwID4gLmJ0biB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XHJcbn1cclxuLmJ0bi1ncm91cCA+IC5idG4gKyAuYnRuIHtcclxuICBtYXJnaW4tbGVmdDogLTFweDtcclxufVxyXG4uYnRuLWdyb3VwID4gLmJ0bixcclxuLmJ0bi1ncm91cCA+IC5kcm9wZG93bi1tZW51LFxyXG4uYnRuLWdyb3VwID4gLnBvcG92ZXIge1xyXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlOyAvLyByZWRlY2xhcmUgYXMgcGFydCAyIG9mIGZvbnQtc2l6ZSBpbmxpbmUtYmxvY2sgaGFja1xyXG59XHJcblxyXG4vLyBSZXNldCBmb250cyBmb3Igb3RoZXIgc2l6ZXNcclxuLmJ0bi1ncm91cCA+IC5idG4tbWluaSB7XHJcbiAgZm9udC1zaXplOiAkZm9udFNpemVNaW5pO1xyXG59XHJcbi5idG4tZ3JvdXAgPiAuYnRuLXNtYWxsIHtcclxuICBmb250LXNpemU6ICRmb250U2l6ZVNtYWxsO1xyXG59XHJcbi5idG4tZ3JvdXAgPiAuYnRuLWxhcmdlIHtcclxuICBmb250LXNpemU6ICRmb250U2l6ZUxhcmdlO1xyXG59XHJcblxyXG4vLyBTZXQgY29ybmVycyBpbmRpdmlkdWFsIGJlY2F1c2Ugc29tZXRpbWVzIGEgc2luZ2xlIGJ1dHRvbiBjYW4gYmUgaW4gYSAuYnRuLWdyb3VwIGFuZCB3ZSBuZWVkIDpmaXJzdC1jaGlsZCBhbmQgOmxhc3QtY2hpbGQgdG8gYm90aCBtYXRjaFxyXG4uYnRuLWdyb3VwID4gLmJ0bjpmaXJzdC1jaGlsZCB7XHJcbiAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1cygkYmFzZUJvcmRlclJhZGl1cyk7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkYmFzZUJvcmRlclJhZGl1cyk7XHJcbn1cclxuLy8gTmVlZCAuZHJvcGRvd24tdG9nZ2xlIHNpbmNlIDpsYXN0LWNoaWxkIGRvZXNuJ3QgYXBwbHkgZ2l2ZW4gYSAuZHJvcGRvd24tbWVudSBpbW1lZGlhdGVseSBhZnRlciBpdFxyXG4uYnRuLWdyb3VwID4gLmJ0bjpsYXN0LWNoaWxkLFxyXG4uYnRuLWdyb3VwID4gLmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJGJhc2VCb3JkZXJSYWRpdXMpO1xyXG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKCRiYXNlQm9yZGVyUmFkaXVzKTtcclxufVxyXG4vLyBSZXNldCBjb3JuZXJzIGZvciBsYXJnZSBidXR0b25zXHJcbi5idG4tZ3JvdXAgPiAuYnRuLmxhcmdlOmZpcnN0LWNoaWxkIHtcclxuICBtYXJnaW4tbGVmdDogMDtcclxuICBAaW5jbHVkZSBib3JkZXItdG9wLWxlZnQtcmFkaXVzKCRib3JkZXJSYWRpdXNMYXJnZSk7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkYm9yZGVyUmFkaXVzTGFyZ2UpO1xyXG59XHJcbi5idG4tZ3JvdXAgPiAuYnRuLmxhcmdlOmxhc3QtY2hpbGQsXHJcbi5idG4tZ3JvdXAgPiAubGFyZ2UuZHJvcGRvd24tdG9nZ2xlIHtcclxuICBAaW5jbHVkZSBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkYm9yZGVyUmFkaXVzTGFyZ2UpO1xyXG4gIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKCRib3JkZXJSYWRpdXNMYXJnZSk7XHJcbn1cclxuXHJcbi8vIE9uIGhvdmVyL2ZvY3VzL2FjdGl2ZSwgYnJpbmcgdGhlIHByb3BlciBidG4gdG8gZnJvbnRcclxuLmJ0bi1ncm91cCA+IC5idG46aG92ZXIsXHJcbi5idG4tZ3JvdXAgPiAuYnRuOmZvY3VzLFxyXG4uYnRuLWdyb3VwID4gLmJ0bjphY3RpdmUsXHJcbi5idG4tZ3JvdXAgPiAuYnRuLmFjdGl2ZSB7XHJcbiAgei1pbmRleDogMjtcclxufVxyXG5cclxuLy8gT24gYWN0aXZlIGFuZCBvcGVuLCBkb24ndCBzaG93IG91dGxpbmVcclxuLmJ0bi1ncm91cCAuZHJvcGRvd24tdG9nZ2xlOmFjdGl2ZSxcclxuLmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUge1xyXG4gIG91dGxpbmU6IDA7XHJcbn1cclxuXHJcblxyXG5cclxuLy8gU3BsaXQgYnV0dG9uIGRyb3Bkb3duc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBHaXZlIHRoZSBsaW5lIGJldHdlZW4gYnV0dG9ucyBzb21lIGRlcHRoXHJcbi5idG4tZ3JvdXAgPiAuYnRuICsgLmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XHJcbiAgcGFkZGluZy1yaWdodDogOHB4O1xyXG4gIGJveC1zaGFkb3c6IGluc2V0IDFweCAwIDAgcmdiYSgyNTUsMjU1LDI1NSwuMTI1KSwgaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4yKSwgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjA1KTtcclxuICAqcGFkZGluZy10b3A6IDVweDtcclxuICAqcGFkZGluZy1ib3R0b206IDVweDtcclxufVxyXG4uYnRuLWdyb3VwID4gLmJ0bi1taW5pICsgLmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgcGFkZGluZy1sZWZ0OiA1cHg7XHJcbiAgcGFkZGluZy1yaWdodDogNXB4O1xyXG4gICpwYWRkaW5nLXRvcDogMnB4O1xyXG4gICpwYWRkaW5nLWJvdHRvbTogMnB4O1xyXG59XHJcbi5idG4tZ3JvdXAgPiAuYnRuLXNtYWxsICsgLmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgKnBhZGRpbmctdG9wOiA1cHg7XHJcbiAgKnBhZGRpbmctYm90dG9tOiA0cHg7XHJcbn1cclxuLmJ0bi1ncm91cCA+IC5idG4tbGFyZ2UgKyAuZHJvcGRvd24tdG9nZ2xlIHtcclxuICBwYWRkaW5nLWxlZnQ6IDEycHg7XHJcbiAgcGFkZGluZy1yaWdodDogMTJweDtcclxuICAqcGFkZGluZy10b3A6IDdweDtcclxuICAqcGFkZGluZy1ib3R0b206IDdweDtcclxufVxyXG5cclxuLmJ0bi1ncm91cC5vcGVuIHtcclxuXHJcbiAgLy8gVGhlIGNsaWNrYWJsZSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBtZW51XHJcbiAgLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBhbmQgc2V0IHRoZSBzYW1lIGluc2V0IHNoYWRvdyBhcyB0aGUgOmFjdGl2ZSBzdGF0ZVxyXG4gIC5kcm9wZG93bi10b2dnbGUge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMnB4IDRweCByZ2JhKDAsMCwwLC4xNSksIDAgMXB4IDJweCByZ2JhKDAsMCwwLC4wNSk7XHJcbiAgfVxyXG5cclxuICAvLyBLZWVwIHRoZSBob3ZlcidzIGJhY2tncm91bmQgd2hlbiBkcm9wZG93biBpcyBvcGVuXHJcbiAgLmJ0bi5kcm9wZG93bi10b2dnbGUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ0bkJhY2tncm91bmRIaWdobGlnaHQ7XHJcbiAgfVxyXG4gIC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ0blByaW1hcnlCYWNrZ3JvdW5kSGlnaGxpZ2h0O1xyXG4gIH1cclxuICAuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRidG5XYXJuaW5nQmFja2dyb3VuZEhpZ2hsaWdodDtcclxuICB9XHJcbiAgLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRidG5EYW5nZXJCYWNrZ3JvdW5kSGlnaGxpZ2h0O1xyXG4gIH1cclxuICAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRidG5TdWNjZXNzQmFja2dyb3VuZEhpZ2hsaWdodDtcclxuICB9XHJcbiAgLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnRuSW5mb0JhY2tncm91bmRIaWdobGlnaHQ7XHJcbiAgfVxyXG4gIC5idG4taW52ZXJzZS5kcm9wZG93bi10b2dnbGUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ0bkludmVyc2VCYWNrZ3JvdW5kSGlnaGxpZ2h0O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIFJlcG9zaXRpb24gdGhlIGNhcmV0XHJcbi5idG4gLmNhcmV0IHtcclxuICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgbWFyZ2luLWxlZnQ6IDA7XHJcbn1cclxuLy8gQ2FyZXRzIGluIG90aGVyIGJ1dHRvbiBzaXplc1xyXG4uYnRuLWxhcmdlIC5jYXJldCB7XHJcbiAgbWFyZ2luLXRvcDogNnB4O1xyXG59XHJcbi5idG4tbGFyZ2UgLmNhcmV0IHtcclxuICBib3JkZXItbGVmdC13aWR0aDogIDVweDtcclxuICBib3JkZXItcmlnaHQtd2lkdGg6IDVweDtcclxuICBib3JkZXItdG9wLXdpZHRoOiAgIDVweDtcclxufVxyXG4uYnRuLW1pbmkgLmNhcmV0LFxyXG4uYnRuLXNtYWxsIC5jYXJldCB7XHJcbiAgbWFyZ2luLXRvcDogOHB4O1xyXG59XHJcbi8vIFVwc2lkZSBkb3duIGNhcmV0cyBmb3IgLmRyb3B1cFxyXG4uZHJvcHVwIC5idG4tbGFyZ2UgLmNhcmV0IHtcclxuICBib3JkZXItYm90dG9tLXdpZHRoOiA1cHg7XHJcbn1cclxuXHJcblxyXG5cclxuLy8gQWNjb3VudCBmb3Igb3RoZXIgY29sb3JzXHJcbi5idG4tcHJpbWFyeSxcclxuLmJ0bi13YXJuaW5nLFxyXG4uYnRuLWRhbmdlcixcclxuLmJ0bi1pbmZvLFxyXG4uYnRuLXN1Y2Nlc3MsXHJcbi5idG4taW52ZXJzZSB7XHJcbiAgLmNhcmV0IHtcclxuICAgIGJvcmRlci10b3AtY29sb3I6ICR3aGl0ZTtcclxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR3aGl0ZTtcclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuLy8gVmVydGljYWwgYnV0dG9uIGdyb3Vwc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIG1ha2VzIGJ1dHRvbnMgb25seSB0YWtlIHVwIHRoZSB3aWR0aCB0aGV5IG5lZWRcclxuICBAaW5jbHVkZSBpZTctaW5saW5lLWJsb2NrKCk7XHJcbn1cclxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4ge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGZsb2F0OiBub25lO1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xyXG59XHJcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuICsgLmJ0biB7XHJcbiAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgbWFyZ2luLXRvcDogLTFweDtcclxufVxyXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bjpmaXJzdC1jaGlsZCB7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYmFzZUJvcmRlclJhZGl1cyAkYmFzZUJvcmRlclJhZGl1cyAwIDApO1xyXG59XHJcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmxhc3QtY2hpbGQge1xyXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAwICRiYXNlQm9yZGVyUmFkaXVzICRiYXNlQm9yZGVyUmFkaXVzKTtcclxufVxyXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1sYXJnZTpmaXJzdC1jaGlsZCB7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyUmFkaXVzTGFyZ2UgJGJvcmRlclJhZGl1c0xhcmdlIDAgMCk7XHJcbn1cclxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tbGFyZ2U6bGFzdC1jaGlsZCB7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgJGJvcmRlclJhZGl1c0xhcmdlICRib3JkZXJSYWRpdXNMYXJnZSk7XHJcbn1cclxuIiwiLy9cclxuLy8gQWxlcnRzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5cclxuLy8gQmFzZSBzdHlsZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLmFsZXJ0IHtcclxuICBwYWRkaW5nOiA4cHggMTRweCA4cHggMTRweDtcclxuICBtYXJnaW4tdG9wOiAkbGluZS1oZWlnaHQtYmFzZTtcclxuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtYmFzZTtcclxuICB0ZXh0LXNoYWRvdzogMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC41KTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2FybmluZ0JhY2tncm91bmQ7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJHdhcm5pbmdCb3JkZXI7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYmFzZUJvcmRlclJhZGl1cyk7XHJcbiAgcCB7IG1hcmdpbjogMDsgfVxyXG59XHJcbi5hbGVydCxcclxuLmFsZXJ0IGg0IHtcclxuICAvLyBTcGVjaWZpZWQgZm9yIHRoZSBoNCB0byBwcmV2ZW50IGNvbmZsaWN0cyBvZiBjaGFuZ2luZyAkaGVhZGluZ3NDb2xvclxyXG4gIGNvbG9yOiAkd2FybmluZ1RleHQ7XHJcbn1cclxuLmFsZXJ0IGg0IHtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXHJcbi5hbGVydCAuY2xvc2Uge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB0b3A6IC0ycHg7XHJcbiAgcmlnaHQ6IC0yMXB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcclxufVxyXG5cclxuXHJcbi8vIEFsdGVybmF0ZSBzdHlsZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLmFsZXJ0LXN1Y2Nlc3Mge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRzdWNjZXNzQmFja2dyb3VuZDtcclxuICBib3JkZXItY29sb3I6ICRzdWNjZXNzQm9yZGVyO1xyXG4gIGNvbG9yOiAkc3VjY2Vzc1RleHQ7XHJcbn1cclxuLmFsZXJ0LXN1Y2Nlc3MgaDQge1xyXG4gIGNvbG9yOiAkc3VjY2Vzc1RleHQ7XHJcbn1cclxuLmFsZXJ0LWRhbmdlcixcclxuLmFsZXJ0LWVycm9yIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZXJyb3JCYWNrZ3JvdW5kO1xyXG4gIGJvcmRlci1jb2xvcjogJGVycm9yQm9yZGVyO1xyXG4gIGNvbG9yOiAkZXJyb3JUZXh0O1xyXG59XHJcbi5hbGVydC1kYW5nZXIgaDQsXHJcbi5hbGVydC1lcnJvciBoNCB7XHJcbiAgY29sb3I6ICRlcnJvclRleHQ7XHJcbn1cclxuLmFsZXJ0LWluZm8ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRpbmZvQmFja2dyb3VuZDtcclxuICBib3JkZXItY29sb3I6ICRpbmZvQm9yZGVyO1xyXG4gIGNvbG9yOiAkaW5mb1RleHQ7XHJcbn1cclxuLmFsZXJ0LWluZm8gaDQge1xyXG4gIGNvbG9yOiAkaW5mb1RleHQ7XHJcbn1cclxuLmFsZXJ0LWJhY2tvcmRlciB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgZm9udC1zaXplOiAxNXB4O1xyXG59XHJcblxyXG4vLyBCbG9jayBhbGVydHNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLmFsZXJ0LWJsb2NrIHtcclxuICBwYWRkaW5nLXRvcDogMTRweDtcclxuICBwYWRkaW5nLWJvdHRvbTogMTRweDtcclxufVxyXG4uYWxlcnQtYmxvY2sgPiBwLFxyXG4uYWxlcnQtYmxvY2sgPiB1bCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG4uYWxlcnQtYmxvY2sgcCArIHAge1xyXG4gIG1hcmdpbi10b3A6IDVweDtcclxufVxyXG4iLCIvL1xyXG4vLyBOYXZzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5cclxuLy8gQkFTRSBDTEFTU1xyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4ubmF2IHtcclxuICBtYXJnaW4tbGVmdDogMDtcclxuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtYmFzZTtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG59XHJcblxyXG4vLyBNYWtlIGxpbmtzIGJsb2NrIGxldmVsXHJcbi5uYXYgPiBsaSA+IGEge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcbi5uYXYgPiBsaSA+IGE6aG92ZXIsXHJcbi5uYXYgPiBsaSA+IGE6Zm9jdXMge1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheUxpZ2h0ZXI7XHJcbn1cclxuXHJcbi8vIFByZXZlbnQgSUU4IGZyb20gbWlzcGxhY2luZyBpbWdzXHJcbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9pc3N1ZXMvOTg0I2lzc3VlY29tbWVudC0zOTg1OTg5XHJcbi5uYXYgPiBsaSA+IGEgPiBpbWcge1xyXG4gIG1heC13aWR0aDogbm9uZTtcclxufVxyXG5cclxuLy8gUmVkZWNsYXJlIHB1bGwgY2xhc3NlcyBiZWNhdXNlIG9mIHNwZWNpZml0eVxyXG4ubmF2ID4gLnB1bGwtcmlnaHQge1xyXG4gIGZsb2F0OiByaWdodDtcclxufVxyXG5cclxuLy8gTmF2IGhlYWRlcnMgKGZvciBkcm9wZG93bnMgYW5kIGxpc3RzKVxyXG4ubmF2LWhlYWRlciB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcGFkZGluZzogM3B4IDE1cHg7XHJcbiAgZm9udC1zaXplOiAxMXB4O1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcclxuICBjb2xvcjogJGdyYXlMaWdodDtcclxuICB0ZXh0LXNoYWRvdzogMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC41KTtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcbi8vIFNwYWNlIHRoZW0gb3V0IHdoZW4gdGhleSBmb2xsb3cgYW5vdGhlciBsaXN0IGl0ZW0gKGxpbmspXHJcbi5uYXYgbGkgKyAubmF2LWhlYWRlciB7XHJcbiAgbWFyZ2luLXRvcDogOXB4O1xyXG59XHJcblxyXG5cclxuXHJcbi8vIE5BViBMSVNUXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4ubmF2LWxpc3Qge1xyXG4gIHBhZGRpbmctbGVmdDogMTVweDtcclxuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuLm5hdi1saXN0ID4gbGkgPiBhLFxyXG4ubmF2LWxpc3QgLm5hdi1oZWFkZXIge1xyXG4gIG1hcmdpbi1sZWZ0OiAgLTE1cHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcclxuICB0ZXh0LXNoYWRvdzogMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC41KTtcclxufVxyXG4ubmF2LWxpc3QgPiBsaSA+IGEge1xyXG4gIHBhZGRpbmc6IDNweCAxNXB4O1xyXG59XHJcbi5uYXYtbGlzdCA+IC5hY3RpdmUgPiBhLFxyXG4ubmF2LWxpc3QgPiAuYWN0aXZlID4gYTpob3ZlcixcclxuLm5hdi1saXN0ID4gLmFjdGl2ZSA+IGE6Zm9jdXMge1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAwIHJnYmEoMCwwLDAsLjIpO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRsaW5rQ29sb3I7XHJcbn1cclxuLm5hdi1saXN0IFtjbGFzc149XCJpY29uLVwiXSxcclxuLm5hdi1saXN0IFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xyXG4gIG1hcmdpbi1yaWdodDogMnB4O1xyXG59XHJcbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiB0aGUgZHJvcGRvd25cclxuLm5hdi1saXN0IC5kaXZpZGVyIHtcclxuICBAaW5jbHVkZSBuYXYtZGl2aWRlcigpO1xyXG59XHJcblxyXG5cclxuXHJcbi8vIFRBQlMgQU5EIFBJTExTXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIENvbW1vbiBzdHlsZXNcclxuLm5hdi10YWJzLFxyXG4ubmF2LXBpbGxzIHtcclxuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xyXG59XHJcbi5uYXYtdGFicyA+IGxpLFxyXG4ubmF2LXBpbGxzID4gbGkge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG59XHJcbi5uYXYtdGFicyA+IGxpID4gYSxcclxuLm5hdi1waWxscyA+IGxpID4gYSB7XHJcbiAgcGFkZGluZy1yaWdodDogOHB4O1xyXG4gIHBhZGRpbmctbGVmdDogOHB4O1xyXG4gIG1hcmdpbi1yaWdodDogNHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxNHB4OyAvLyBrZWVwcyB0aGUgb3ZlcmFsbCBoZWlnaHQgYW4gZXZlbiBudW1iZXJcclxufVxyXG5cclxuLy8gVEFCU1xyXG4vLyAtLS0tXHJcblxyXG4vLyBHaXZlIHRoZSB0YWJzIHNvbWV0aGluZyB0byBzaXQgb25cclxuLm5hdi10YWJzIHtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcclxufVxyXG4vLyBNYWtlIHRoZSBsaXN0LWl0ZW1zIG92ZXJsYXkgdGhlIGJvdHRvbSBib3JkZXJcclxuLm5hdi10YWJzID4gbGkge1xyXG4gIG1hcmdpbi1ib3R0b206IC0xcHg7XHJcbn1cclxuLy8gQWN0dWFsIHRhYnMgKGFzIGxpbmtzKVxyXG4ubmF2LXRhYnMgPiBsaSA+IGEge1xyXG4gIHBhZGRpbmctdG9wOiA0cHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDRweDtcclxuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHggNHB4IDAgMCk7XHJcbiAgJjpob3ZlcixcclxuICAmOmZvY3VzIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGdyYXlMaWdodGVyICRncmF5TGlnaHRlciAjZGRkO1xyXG4gIH1cclxufVxyXG4vLyBBY3RpdmUgc3RhdGUsIGFuZCBpdCdzIDpob3Zlci86Zm9jdXMgdG8gb3ZlcnJpZGUgbm9ybWFsIDpob3Zlci86Zm9jdXNcclxuLm5hdi10YWJzID4gLmFjdGl2ZSA+IGEsXHJcbi5uYXYtdGFicyA+IC5hY3RpdmUgPiBhOmhvdmVyLFxyXG4ubmF2LXRhYnMgPiAuYWN0aXZlID4gYTpmb2N1cyB7XHJcbiAgY29sb3I6ICRncmF5O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xyXG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIGN1cnNvcjogZGVmYXVsdDtcclxufVxyXG5cclxuXHJcbi8vIFBJTExTXHJcbi8vIC0tLS0tXHJcblxyXG4vLyBMaW5rcyByZW5kZXJlZCBhcyBwaWxsc1xyXG4ubmF2LXBpbGxzID4gbGkgPiBhIHtcclxuICBwYWRkaW5nLXRvcDogOHB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiA4cHg7XHJcbiAgbWFyZ2luLXRvcDogMnB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDJweDtcclxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDVweCk7XHJcbn1cclxuXHJcbi8vIEFjdGl2ZSBzdGF0ZVxyXG4ubmF2LXBpbGxzID4gLmFjdGl2ZSA+IGEsXHJcbi5uYXYtcGlsbHMgPiAuYWN0aXZlID4gYTpob3ZlcixcclxuLm5hdi1waWxscyA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcclxuICBjb2xvcjogJHdoaXRlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRsaW5rQ29sb3I7XHJcbn1cclxuXHJcblxyXG5cclxuLy8gU1RBQ0tFRCBOQVZcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbi8vIFN0YWNrZWQgdGFicyBhbmQgcGlsbHNcclxuLm5hdi1zdGFja2VkID4gbGkge1xyXG4gIGZsb2F0OiBub25lO1xyXG59XHJcbi5uYXYtc3RhY2tlZCA+IGxpID4gYSB7XHJcbiAgbWFyZ2luLXJpZ2h0OiAwOyAvLyBubyBuZWVkIGZvciB0aGUgZ2FwIGJldHdlZW4gbmF2IGl0ZW1zXHJcbn1cclxuXHJcbi8vIFRhYnNcclxuLm5hdi10YWJzLm5hdi1zdGFja2VkIHtcclxuICBib3JkZXItYm90dG9tOiAwO1xyXG59XHJcbi5uYXYtdGFicy5uYXYtc3RhY2tlZCA+IGxpID4gYSB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcclxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xyXG59XHJcbi5uYXYtdGFicy5uYXYtc3RhY2tlZCA+IGxpOmZpcnN0LWNoaWxkID4gYSB7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoNHB4KTtcclxufVxyXG4ubmF2LXRhYnMubmF2LXN0YWNrZWQgPiBsaTpsYXN0LWNoaWxkID4gYSB7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoNHB4KTtcclxufVxyXG4ubmF2LXRhYnMubmF2LXN0YWNrZWQgPiBsaSA+IGE6aG92ZXIsXHJcbi5uYXYtdGFicy5uYXYtc3RhY2tlZCA+IGxpID4gYTpmb2N1cyB7XHJcbiAgYm9yZGVyLWNvbG9yOiAjZGRkO1xyXG4gIHotaW5kZXg6IDI7XHJcbn1cclxuXHJcbi8vIFBpbGxzXHJcbi5uYXYtcGlsbHMubmF2LXN0YWNrZWQgPiBsaSA+IGEge1xyXG4gIG1hcmdpbi1ib3R0b206IDNweDtcclxufVxyXG4ubmF2LXBpbGxzLm5hdi1zdGFja2VkID4gbGk6bGFzdC1jaGlsZCA+IGEge1xyXG4gIG1hcmdpbi1ib3R0b206IDFweDsgLy8gZGVjcmVhc2UgbWFyZ2luIHRvIG1hdGNoIHNpemluZyBvZiBzdGFja2VkIHRhYnNcclxufVxyXG5cclxuXHJcblxyXG4vLyBEUk9QRE9XTlNcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4ubmF2LXRhYnMgLmRyb3Bkb3duLW1lbnUge1xyXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAwIDZweCA2cHgpOyAvLyByZW1vdmUgdGhlIHRvcCByb3VuZGVkIGNvcm5lcnMgaGVyZSBzaW5jZSB0aGVyZSBpcyBhIGhhcmQgZWRnZSBhYm92ZSB0aGUgbWVudVxyXG59XHJcbi5uYXYtcGlsbHMgLmRyb3Bkb3duLW1lbnUge1xyXG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoNnB4KTsgLy8gbWFrZSByb3VuZGVkIGNvcm5lcnMgbWF0Y2ggdGhlIHBpbGxzXHJcbn1cclxuXHJcbi8vIERlZmF1bHQgZHJvcGRvd24gbGlua3NcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBNYWtlIGNhcmV0cyB1c2UgbGlua0NvbG9yIHRvIHN0YXJ0XHJcbi5uYXYgLmRyb3Bkb3duLXRvZ2dsZSAuY2FyZXQge1xyXG4gIGJvcmRlci10b3AtY29sb3I6ICRsaW5rQ29sb3I7XHJcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGxpbmtDb2xvcjtcclxuICBtYXJnaW4tdG9wOiA2cHg7XHJcbn1cclxuLm5hdiAuZHJvcGRvd24tdG9nZ2xlOmhvdmVyIC5jYXJldCxcclxuLm5hdiAuZHJvcGRvd24tdG9nZ2xlOmZvY3VzIC5jYXJldCB7XHJcbiAgYm9yZGVyLXRvcC1jb2xvcjogJGxpbmtDb2xvckhvdmVyO1xyXG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICRsaW5rQ29sb3JIb3ZlcjtcclxufVxyXG4vKiBtb3ZlIGRvd24gY2FyZXRzIGZvciB0YWJzICovXHJcbi5uYXYtdGFicyAuZHJvcGRvd24tdG9nZ2xlIC5jYXJldCB7XHJcbiAgbWFyZ2luLXRvcDogOHB4O1xyXG59XHJcblxyXG4vLyBBY3RpdmUgZHJvcGRvd24gbGlua3NcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4ubmF2IC5hY3RpdmUgLmRyb3Bkb3duLXRvZ2dsZSAuY2FyZXQge1xyXG4gIGJvcmRlci10b3AtY29sb3I6ICNmZmY7XHJcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcclxufVxyXG4ubmF2LXRhYnMgLmFjdGl2ZSAuZHJvcGRvd24tdG9nZ2xlIC5jYXJldCB7XHJcbiAgYm9yZGVyLXRvcC1jb2xvcjogJGdyYXk7XHJcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGdyYXk7XHJcbn1cclxuXHJcbi8vIEFjdGl2ZTpob3Zlci86Zm9jdXMgZHJvcGRvd24gbGlua3NcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4ubmF2ID4gLmRyb3Bkb3duLmFjdGl2ZSA+IGE6aG92ZXIsXHJcbi5uYXYgPiAuZHJvcGRvd24uYWN0aXZlID4gYTpmb2N1cyB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4vLyBPcGVuIGRyb3Bkb3duc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi5uYXYtdGFicyAub3BlbiAuZHJvcGRvd24tdG9nZ2xlLFxyXG4ubmF2LXBpbGxzIC5vcGVuIC5kcm9wZG93bi10b2dnbGUsXHJcbi5uYXYgPiBsaS5kcm9wZG93bi5vcGVuLmFjdGl2ZSA+IGE6aG92ZXIsXHJcbi5uYXYgPiBsaS5kcm9wZG93bi5vcGVuLmFjdGl2ZSA+IGE6Zm9jdXMge1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXlMaWdodDtcclxuICBib3JkZXItY29sb3I6ICRncmF5TGlnaHQ7XHJcbn1cclxuLm5hdiBsaS5kcm9wZG93bi5vcGVuIC5jYXJldCxcclxuLm5hdiBsaS5kcm9wZG93bi5vcGVuLmFjdGl2ZSAuY2FyZXQsXHJcbi5uYXYgbGkuZHJvcGRvd24ub3BlbiBhOmhvdmVyIC5jYXJldCxcclxuLm5hdiBsaS5kcm9wZG93bi5vcGVuIGE6Zm9jdXMgLmNhcmV0IHtcclxuICBib3JkZXItdG9wLWNvbG9yOiAkd2hpdGU7XHJcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHdoaXRlO1xyXG4gIG9wYWNpdHk6IDEwMDtcclxufVxyXG5cclxuLy8gRHJvcGRvd25zIGluIHN0YWNrZWQgdGFic1xyXG4udGFicy1zdGFja2VkIC5vcGVuID4gYTpob3ZlcixcclxuLnRhYnMtc3RhY2tlZCAub3BlbiA+IGE6Zm9jdXMge1xyXG4gIGJvcmRlci1jb2xvcjogJGdyYXlMaWdodDtcclxufVxyXG5cclxuXHJcblxyXG4vLyBUQUJCQUJMRVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuXHJcbi8vIENPTU1PTiBTVFlMRVNcclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gQ2xlYXIgYW55IGZsb2F0c1xyXG4udGFiYmFibGUge1xyXG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XHJcbn1cclxuLnRhYi1jb250ZW50IHtcclxuICBvdmVyZmxvdzogYXV0bzsgLy8gcHJldmVudCBjb250ZW50IGZyb20gcnVubmluZyBiZWxvdyB0YWJzXHJcbn1cclxuXHJcbi8vIFJlbW92ZSBib3JkZXIgb24gYm90dG9tLCBsZWZ0LCByaWdodFxyXG4udGFicy1iZWxvdyA+IC5uYXYtdGFicyxcclxuLnRhYnMtcmlnaHQgPiAubmF2LXRhYnMsXHJcbi50YWJzLWxlZnQgPiAubmF2LXRhYnMge1xyXG4gIGJvcmRlci1ib3R0b206IDA7XHJcbn1cclxuXHJcbi8vIFNob3cvaGlkZSB0YWJiYWJsZSBhcmVhc1xyXG4udGFiLWNvbnRlbnQgPiAudGFiLXBhbmUsXHJcbi5waWxsLWNvbnRlbnQgPiAucGlsbC1wYW5lIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIHBhZGRpbmc6IDEwcHggMDtcclxuICBAaW5jbHVkZSBtZWRpYSgkYml0dHkpIHtcclxuICAgIGhlaWdodDogYXV0bztcclxuICB9XHJcbn1cclxuLnRhYi1jb250ZW50ID4gLmFjdGl2ZSxcclxuLnBpbGwtY29udGVudCA+IC5hY3RpdmUge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG5cclxuLy8gQk9UVE9NXHJcbi8vIC0tLS0tLVxyXG5cclxuLnRhYnMtYmVsb3cgPiAubmF2LXRhYnMge1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xyXG59XHJcbi50YWJzLWJlbG93ID4gLm5hdi10YWJzID4gbGkge1xyXG4gIG1hcmdpbi10b3A6IC0xcHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG4udGFicy1iZWxvdyA+IC5uYXYtdGFicyA+IGxpID4gYSB7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgNHB4IDRweCk7XHJcbiAgJjpob3ZlcixcclxuICAmOmZvY3VzIHtcclxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2RkZDtcclxuICB9XHJcbn1cclxuLnRhYnMtYmVsb3cgPiAubmF2LXRhYnMgPiAuYWN0aXZlID4gYSxcclxuLnRhYnMtYmVsb3cgPiAubmF2LXRhYnMgPiAuYWN0aXZlID4gYTpob3ZlcixcclxuLnRhYnMtYmVsb3cgPiAubmF2LXRhYnMgPiAuYWN0aXZlID4gYTpmb2N1cyB7XHJcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZGRkICNkZGQgI2RkZDtcclxufVxyXG5cclxuLy8gTEVGVCAmIFJJR0hUXHJcbi8vIC0tLS0tLS0tLS0tLVxyXG5cclxuLy8gQ29tbW9uIHN0eWxlc1xyXG4udGFicy1sZWZ0ID4gLm5hdi10YWJzID4gbGksXHJcbi50YWJzLXJpZ2h0ID4gLm5hdi10YWJzID4gbGkge1xyXG4gIGZsb2F0OiBub25lO1xyXG59XHJcbi50YWJzLWxlZnQgPiAubmF2LXRhYnMgPiBsaSA+IGEsXHJcbi50YWJzLXJpZ2h0ID4gLm5hdi10YWJzID4gbGkgPiBhIHtcclxuICBtaW4td2lkdGg6IDc0cHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gIG1hcmdpbi1ib3R0b206IDNweDtcclxufVxyXG5cclxuLy8gVGFicyBvbiB0aGUgbGVmdFxyXG4udGFicy1sZWZ0ID4gLm5hdi10YWJzIHtcclxuICBmbG9hdDogbGVmdDtcclxuICBtYXJnaW4tcmlnaHQ6IDE5cHg7XHJcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RkZDtcclxufVxyXG4udGFicy1sZWZ0ID4gLm5hdi10YWJzID4gbGkgPiBhIHtcclxuICBtYXJnaW4tcmlnaHQ6IC0xcHg7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyg0cHggMCAwIDRweCk7XHJcbn1cclxuLnRhYnMtbGVmdCA+IC5uYXYtdGFicyA+IGxpID4gYTpob3ZlcixcclxuLnRhYnMtbGVmdCA+IC5uYXYtdGFicyA+IGxpID4gYTpmb2N1cyB7XHJcbiAgYm9yZGVyLWNvbG9yOiAkZ3JheUxpZ2h0ZXIgI2RkZCAkZ3JheUxpZ2h0ZXIgJGdyYXlMaWdodGVyO1xyXG59XHJcbi50YWJzLWxlZnQgPiAubmF2LXRhYnMgLmFjdGl2ZSA+IGEsXHJcbi50YWJzLWxlZnQgPiAubmF2LXRhYnMgLmFjdGl2ZSA+IGE6aG92ZXIsXHJcbi50YWJzLWxlZnQgPiAubmF2LXRhYnMgLmFjdGl2ZSA+IGE6Zm9jdXMge1xyXG4gIGJvcmRlci1jb2xvcjogI2RkZCB0cmFuc3BhcmVudCAjZGRkICNkZGQ7XHJcbiAgKmJvcmRlci1yaWdodC1jb2xvcjogJHdoaXRlO1xyXG59XHJcblxyXG4vLyBUYWJzIG9uIHRoZSByaWdodFxyXG4udGFicy1yaWdodCA+IC5uYXYtdGFicyB7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG4gIG1hcmdpbi1sZWZ0OiAxOXB4O1xyXG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RkZDtcclxufVxyXG4udGFicy1yaWdodCA+IC5uYXYtdGFicyA+IGxpID4gYSB7XHJcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDRweCA0cHggMCk7XHJcbn1cclxuLnRhYnMtcmlnaHQgPiAubmF2LXRhYnMgPiBsaSA+IGE6aG92ZXIsXHJcbi50YWJzLXJpZ2h0ID4gLm5hdi10YWJzID4gbGkgPiBhOmZvY3VzIHtcclxuICBib3JkZXItY29sb3I6ICRncmF5TGlnaHRlciAkZ3JheUxpZ2h0ZXIgJGdyYXlMaWdodGVyICNkZGQ7XHJcbn1cclxuLnRhYnMtcmlnaHQgPiAubmF2LXRhYnMgLmFjdGl2ZSA+IGEsXHJcbi50YWJzLXJpZ2h0ID4gLm5hdi10YWJzIC5hY3RpdmUgPiBhOmhvdmVyLFxyXG4udGFicy1yaWdodCA+IC5uYXYtdGFicyAuYWN0aXZlID4gYTpmb2N1cyB7XHJcbiAgYm9yZGVyLWNvbG9yOiAjZGRkICNkZGQgI2RkZCB0cmFuc3BhcmVudDtcclxuICAqYm9yZGVyLWxlZnQtY29sb3I6ICR3aGl0ZTtcclxufVxyXG5cclxuXHJcblxyXG4vLyBESVNBQkxFRCBTVEFURVNcclxuLy8gLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBHcmF5IG91dCB0ZXh0XHJcbi5uYXYgPiAuZGlzYWJsZWQgPiBhIHtcclxuICBjb2xvcjogJGdyYXlMaWdodDtcclxufVxyXG4vLyBOdWtlIGhvdmVyL2ZvY3VzIGVmZmVjdHNcclxuLm5hdiA+IC5kaXNhYmxlZCA+IGE6aG92ZXIsXHJcbi5uYXYgPiAuZGlzYWJsZWQgPiBhOmZvY3VzIHtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgY3Vyc29yOiBkZWZhdWx0O1xyXG59XHJcbiIsIi8vIEBpbXBvcnQgXCJjb21wYXNzL2NzczNcIjtcclxuXHJcbi8vIFZhcmlhYmxlc1xyXG4kc3ViTWVudUl0ZW1XaWR0aDogMTU1cHg7ICAgICAvLyBNaW5pbXVtIHdpZHRoIGZvciBzdWJtZW51cycgaXRlbXNcclxuJGJhc2VNZW51QmFja2dyb3VuZDogI2ZmZjsgICAgICAvLyBCYXNlIGNvbG9yIHRoZW1lXHJcbiRzZWNvbmRhcnlNZW51QmFja2dyb3VuZDogJGJsdWU7ICAvLyBTZWNvbmRhcnkgY29sb3IgKGhpZ2hsaWdodHMsIHRyaWFuZ2xlcy4uLilcclxuJGJhc2VNZW51Q29sb3I6ICRncmF5RGFya2VyOyAgICAgICAvLyBQcm9wZXIgbWVudSBpdGVtcyBjb2xvclxyXG4kZ3V0dGVyOiAuOGVtOyAgICAgICAgICAgLy8gQmFzZSBndXR0ZXJcclxuJGlucHV0OiBcImlucHV0W3R5cGU9Y2hlY2tib3hdXCI7ICAgLy8gQ2hlY2tib3ggaGFjayBzZWxlY3RvclxyXG5cclxuLy8gTWVudSBiYWNrZ3JvdW5kIG1peGluXHJcbkBtaXhpbiBtZW51LWJhY2tncm91bmQoJGNvbG9yLCAkbWVudS1ncmFkaWVudDogdHJ1ZSkge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuICBAaWYgJG1lbnUtZ3JhZGllbnQgPT0gdHJ1ZSB7XHJcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLWltYWdlKGxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKSxcclxuICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSkpO1xyXG4gIH1cclxuICBAZWxzZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLy8gTWVudSBiYWNrZ3JvdW5kIG1peGluXHJcbi8vIFRoZSAkc2l6ZSBhcmd1bWVudCBzcGVjaWZpZXMgdGhlIGFjdHVhbCBzaXplIG9mIHRoZSB0cmlhbmdsZVxyXG4vLyBUaGUgJHNoaWZ0LWxlZnQgaGVscHMgb24gaG9yaXpvbnRhbCBwb3NpdGlvbmluZy5cclxuQG1peGluIHBzZXVkby10cmlhbmdsZSgkc2l6ZSwgJHNoaWZ0LWxlZnQpIHtcclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogJHNoaWZ0LWxlZnQgKiAkZ3V0dGVyO1xyXG4gICAgdG9wOiAtJHNpemUgKiAyO1xyXG4gICAgYm9yZGVyOiAkc2l6ZSBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRncmF5TGlnaHRlcjtcclxuICB9XHJcbn1cclxuXHJcbi8vIFNob3J0ZXN0IGNsZWFyZml4LiBFdmVyLiBJRTgrLlxyXG4vLyBodHRwOi8vd3d3LmNzcy0xMDEub3JnL2FydGljbGVzL2NsZWFyZml4L2xhdGVzdC1uZXctY2xlYXJmaXgtc28tZmFyLnBocFxyXG4lY2Y6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6XCJcIjtcclxuICBkaXNwbGF5OnRhYmxlO1xyXG4gIGNsZWFyOmJvdGg7XHJcbn1cclxuXHJcbi8vIEZpeCBmb3IgQW5kcm9pZFxyXG4vLyBodHRwOi8vdGltcGlldHJ1c2t5LmNvbS9hZHZhbmNlZC1jaGVja2JveC1oYWNrXHJcbmJvZHkge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uOiBidWdmaXggaW5maW5pdGUgMXM7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBidWdmaXgge1xyXG4gIGZyb20geyBwYWRkaW5nOiAwOyB9XHJcbiAgdG8geyBwYWRkaW5nOiAwOyB9XHJcbn1cclxuXHJcbi8vIE5ldyBib3ggbW9kZWwsIHNtYWxsIHJlc2V0LCBnbG9iYWwgc3R1ZmZcclxuLmFuaW1lbnUtd3JhcHBlciB7XHJcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDFweCAxcHggMCByZ2JhKDAsMCwwLDAuMjUpKTtcclxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XHJcbiAgICBoZWlnaHQ6IDQ1cHg7XHJcbiAgfVxyXG59XHJcbi5hbmltZW51LCAuZGVza3RvcC1tZW51IHtcclxuICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcclxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgfVxyXG4gICoge1xyXG4gICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcclxuICB9XHJcbiAgdWwge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDJweCk7XHJcbiAgfVxyXG5cclxuICBsaSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBhLnNlbGVjdGVkIHtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgIH1cclxuICAgIGEuY2hhdC1saW5rLFxyXG4gICAgLmNoYXQtbGluazpob3ZlciB7XHJcbiAgICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XHJcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XHJcbiAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgYmFja2dyb3VuZDogIzQyODVmNDtcclxuICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCM0Mzg3ZmQsIzQ2ODNlYSk7XHJcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0b3AsIzQzODdmZCwjNDY4M2VhKTtcclxuICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0jNDM4N2ZkLGVuZENvbG9yc3RyPSM0NjgzZWEsR3JhZGllbnRUeXBlPTEpO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgID4gdWwge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgIH1cclxuICAgICAgPiBhIHtcclxuICAgICAgICBjb2xvcjogbGlnaHRlbigkYmFzZU1lbnVDb2xvciwgMjAlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAjeyRpbnB1dH0ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAtOTk5OXB4O1xyXG4gICAgbGVmdDogLTk5OTlweDtcclxuICB9XHJcbiAgbGFiZWwge1xyXG4gICAgZGlzcGxheTpub25lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxufVxyXG4uZGVza3RvcC1tZW51IHtcclxuICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyk7XHJcbiAgQGluY2x1ZGUgb21lZ2E7XHJcbiAgbWFyZ2luLXRvcDogMTRweDtcclxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XHJcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XHJcbiAgfVxyXG4gIHVsIHsgZmxvYXQ6IHJpZ2h0OyB9XHJcbiAgLnNob3BwaW5nLWNhcnQtY291bnQge1xyXG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygzcHgpO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgcGFkZGluZzogNXB4IDEwcHg7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjYjAyODFhO1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2Q0M2YzYTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNkOTUzNGY7XHJcbiAgfVxyXG59XHJcbi8vIEZpcnN0IGxldmVsIC0+IG1haW4gbWVudSBpdGVtc1xyXG4vLyA8bmF2IGNsYXNzPVwiYW5pbWVudVwiPlxyXG4vLyAgICA8dWw+PC91bD5cclxuLy8gIDwvbmF2PlxyXG4uYW5pbWVudSA+IHVsLFxyXG4uZGVza3RvcC1tZW51ID4gdWwge1xyXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKSBpbnNldCk7XHJcbiAgQGV4dGVuZCAlY2Y7XHJcbiAgPiBsaSB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMXB4IDAgMCBsaWdodGVuKCRiYXNlTWVudUJhY2tncm91bmQsIDIwJSkpO1xyXG4gICAgPiBhIHtcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgIHBhZGRpbmc6ICRndXR0ZXIgMyAqICRndXR0ZXIgJGd1dHRlciAwO1xyXG4gICAgfVxyXG4gIH1cclxuICBhIHtcclxuICAgIGNvbG9yOiAkYmFzZU1lbnVDb2xvcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcblxyXG4gIC8vIFNlY29uZCBsZXZlbFxyXG4gIC8vIDxuYXYgY2xhc3M9XCJhbmltZW51XCI+XHJcbiAgLy8gICAgPHVsPlxyXG4gIC8vICAgICAgPHVsPjwvdWw+XHJcbiAgLy8gICAgPC91bD5cclxuICAvLyAgPC9uYXY+XHJcbiAgdWwge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxMDAlOyBsZWZ0OiAwO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIG1hcmdpbjogMiAqICRndXR0ZXIgMCAwIDA7XHJcbiAgICB6LWluZGV4OiAxMDA7XHJcbiAgICBAaW5jbHVkZSBtZW51LWJhY2tncm91bmQobGlnaHRlbigkYmFzZU1lbnVCYWNrZ3JvdW5kLCAxNSUpLCBmYWxzZSk7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLXByb3BlcnR5KFwibWFyZ2luLCBvcGFjaXR5XCIpO1xyXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1kdXJhdGlvbihcIi4xNXNcIik7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbihlYXNlLWluLW91dCk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheUxpZ2h0ZXI7XHJcbiAgICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLDAsMCwwLjgpO1xyXG4gICAgbGkge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDFweCAwIGxpZ2h0ZW4oJGJhc2VNZW51QmFja2dyb3VuZCwgNSUpLFxyXG4gICAgICAgIDAgMnB4IDAgbGlnaHRlbigkYmFzZU1lbnVCYWNrZ3JvdW5kLCAyNSUpKTtcclxuICAgICAgJjpmaXJzdC1jaGlsZCA+IGEge1xyXG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoM3B4IDNweCAwIDApO1xyXG4gICAgICB9XHJcbiAgICAgICY6bGFzdC1jaGlsZCA+IGEge1xyXG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCAwIDNweCAzcHgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgcGFkZGluZzogJGd1dHRlcjtcclxuICAgICAgd2lkdGg6ICRzdWJNZW51SXRlbVdpZHRoO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRiYXNlTWVudUJhY2tncm91bmQsIDE1JSk7XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnlNZW51QmFja2dyb3VuZDtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRzZWNvbmRhcnlNZW51QmFja2dyb3VuZDtcclxuICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5kZXNrdG9wLW1lbnUgPiB1bCB7XHJcbiAgbGkge1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgID4gYSB7XHJcbiAgICAgICY6aG92ZXIsXHJcbiAgICAgICY6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XHJcbiAgICB9XHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICBhOmxpbmsgeyBwYWRkaW5nLXJpZ2h0OiAwOyB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIHVsIHtcclxuICAgIGxlZnQ6IC0xMTBweDtcclxuICB9XHJcblxyXG59XHJcblxyXG4vLyBMYXN0IGJ1dCBub3QgbGVhc3Q6IHRoZSByZXNwb25zaXZlIHN0dWZmXHJcbkBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcclxuXHJcbiAgJXJldmVydC1saXN0IHtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIC5hbmltZW51IHtcclxuICAgICN7JGlucHV0fTpjaGVja2VkIH4gbGFiZWwsXHJcbiAgICAjeyRpbnB1dH0gfiBsYWJlbDpob3Zlciwge1xyXG4gICAgICBjb2xvcjogbGlnaHRlbigkYmFzZU1lbnVDb2xvciwgMjAlKTtcclxuICAgIH1cclxuICAgIGxhYmVsIHs7XHJcbiAgICAgIEBpbmNsdWRlIG1lbnUtYmFja2dyb3VuZCgkYmFzZU1lbnVCYWNrZ3JvdW5kKTtcclxuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpIGluc2V0KTtcclxuICAgICAgY29sb3I6ICRiYXNlTWVudUNvbG9yO1xyXG4gICAgICB0ZXh0LXNoYWRvdzogMCAxcHggMCAkYmFzZU1lbnVCYWNrZ3JvdW5kO1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgcGFkZGluZzogMS41ZW0gM2VtO1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogLS4xZW07XHJcbiAgICAgICAgbGVmdDogLjNlbTtcclxuICAgICAgICBjb250ZW50OiBcIlxcMjI2MVwiO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogM2VtO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBGaXJzdCBsZXZlbCAtPiBtYWluIG1lbnUgaXRlbXNcclxuICAgIC8vIDxuYXYgY2xhc3M9XCJhbmltZW51XCI+XHJcbiAgICAvLyAgICA8dWw+PC91bD5cclxuICAgIC8vICA8L25hdj5cclxuICAgID4gdWwge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGJhc2VNZW51QmFja2dyb3VuZDtcclxuICAgICAgbWFyZ2luOiAxLjRlbSAwICFpbXBvcnRhbnQ7XHJcbiAgICAgIHBhZGRpbmc6ICRndXR0ZXIgLyA0O1xyXG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xyXG4gICAgICBAaW5jbHVkZSBtZW51LWJhY2tncm91bmQoJGJhc2VNZW51QmFja2dyb3VuZCwgZmFsc2UpO1xyXG4gICAgICBAZXh0ZW5kICVyZXZlcnQtbGlzdDtcclxuICAgICAgbGkge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgICAgICAgQGluY2x1ZGUgbWVudS1iYWNrZ3JvdW5kKGRhcmtlbigkYmFzZU1lbnVCYWNrZ3JvdW5kLCAxMCUpLCBmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgID4gbGkge1xyXG4gICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xyXG4gICAgICAgIEBpbmNsdWRlIG1lbnUtYmFja2dyb3VuZCgkYmFzZU1lbnVCYWNrZ3JvdW5kLCBmYWxzZSk7XHJcblxyXG4gICAgICAgID4gYSB7XHJcbiAgICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgcGFkZGluZzogMS41ZW07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC8vIFNlY29uZCBsZXZlbFxyXG4gICAgICAvLyA8bmF2IGNsYXNzPVwiYW5pbWVudVwiPlxyXG4gICAgICAvLyAgICA8dWw+XHJcbiAgICAgIC8vICAgICAgPHVsPjwvdWw+XHJcbiAgICAgIC8vICAgIDwvdWw+XHJcbiAgICAgIC8vICA8L25hdj5cclxuICAgICAgdWwge1xyXG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcclxuICAgICAgICBAaW5jbHVkZSBtZW51LWJhY2tncm91bmQoZGFya2VuKCRiYXNlTWVudUJhY2tncm91bmQsIDEwJSksIGZhbHNlKTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgQGV4dGVuZCAlcmV2ZXJ0LWxpc3Q7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1wcm9wZXJ0eShcIm5vbmVcIik7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMgKiAkZ3V0dGVyO1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgIH0gLy8gZW5kIHNlY29uZCBsZXZlbFxyXG4gICAgfSAvLyBlbmQgZmlyc3QgbGV2ZWxcclxuICAgICN7JGlucHV0fTpjaGVja2VkIHtcclxuICAgICAgfiB1bCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IC8vIGVuZCAjeyRpbnB1dH06Y2hlY2tlZFxyXG4gIH0gLy8gZW5kIC5hbmltZW51XHJcblxyXG59IC8vZW5kIEBtZWRpYVxyXG5cclxuXHJcbi8vIEFkanVzdCBtZW51IHdoZW4gcmVzaXppbmcgW2luIHRoaXMgY2FzZV0uXHJcbi8vIFRvIGJlIHVwZGF0ZWQgZGVwZW5kaW5nIG9mIG1lbnUgaXRlbXMgbGVuZ3RoLlxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xyXG4gIC5hbmltZW51ID4gdWwge1xyXG4gICAgPiBsaSB7XHJcbiAgICAgID4gYSB7XHJcbiAgICAgICAgcGFkZGluZzogJGd1dHRlciAyICogJGd1dHRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnN2Zy1pY29uIHtcclxuICBtYXJnaW46IDVweCAxMHB4O1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgaGVpZ2h0OiAyOXB4O1xyXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG4gIH1cclxuICBhIHtcclxuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICB9XHJcbiAgLm5ldyB7XHJcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuICAgIHdpZHRoOiAyOXB4O1xyXG4gIH1cclxuICAuZWNvIHtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgaGVpZ2h0OiAyOXB4O1xyXG4gIH1cclxuICAudXNhIHtcclxuICAgIHdpZHRoOiAyOXB4O1xyXG4gICAgaGVpZ2h0OiAyOXB4O1xyXG4gIH1cclxuICAuc2FsZSB7XHJcbiAgICB3aWR0aDogMjlweDtcclxuICB9XHJcbn1cclxuIiwiLy9cclxuLy8gQnJlYWRjcnVtYnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLmJyZWFkY3J1bWItc2VhcmNoIHtcclxuICBtYXJnaW46IDA7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuXHJcbiAgPiBsaSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBAaW5jbHVkZSBpZTctaW5saW5lLWJsb2NrKCk7XHJcbiAgICB0ZXh0LXNoYWRvdzogMCAxcHggMCAkd2hpdGU7XHJcblxyXG4gICAgPiAuZGl2aWRlciB7XHJcbiAgICAgIHBhZGRpbmc6IDAgNXB4O1xyXG4gICAgICBjb2xvcjogJHJlZDtcclxuICAgIH1cclxuICB9XHJcbiAgLmFjdGl2ZSB7XHJcbiAgICBjb2xvcjogJGdyYXlMaWdodDtcclxuICB9XHJcbn1cclxuXHJcbi5icmVhZGNydW1iIHtcclxuICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTAgb2YgMTApO1xyXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNzBweDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gIH1cclxuICB1bCB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHBhZGRpbmc6IDRweCAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcclxuICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgfVxyXG4gIH1cclxuICA+IGxpIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIEBpbmNsdWRlIGllNy1pbmxpbmUtYmxvY2soKTtcclxuICAgIHRleHQtc2hhZG93OiAwIDFweCAwICR3aGl0ZTtcclxuXHJcbiAgICA+IC5kaXZpZGVyIHtcclxuICAgICAgcGFkZGluZzogMCA1cHg7XHJcbiAgICAgIGNvbG9yOiAkcmVkO1xyXG4gICAgfVxyXG4gIH1cclxuICAuYWN0aXZlIHtcclxuICAgIGNvbG9yOiAkZ3JheUxpZ2h0O1xyXG4gIH1cclxufVxyXG4iLCIucGFnaW5hdGlvbi10b3AsIC5wYWdpbmF0aW9uLWJvdHRvbSB7XHJcbiAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xyXG4gIEBpbmNsdWRlIG9tZWdhO1xyXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xyXG4gICAgZm9udC1zaXplOiAyMXB4O1xyXG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIC5udW1iZXItcmFuZ2Uge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4ucGFnaW5hdGlvbi1ib3R0b20ge1xyXG4gIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMik7XHJcbiAgQGluY2x1ZGUgb21lZ2E7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLnBhZ2Uge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMCAxMHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxZW07XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIGNvbG9yOiAkZ3JheURhcms7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA1KTtcclxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDJweCk7XHJcbiAgJjpmaXJzdC1jaGlsZCB7IG1hcmdpbi1yaWdodDogLTRweDsgfVxyXG4gICY6aG92ZXIge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMDgpO1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xyXG4gIH1cclxuICAmLmRpc2FibGVkIHtcclxuICAgIGNvbG9yOiAkZ3JheUxpZ2h0ZXI7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcclxuICAgIHBhZGRpbmc6IDAgNjBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkZ3JheUxpZ2h0ZXIsIDUlKTtcclxuICB9XHJcbn0iLCIvL1xyXG4vLyBNb2RhbHNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcblxyXG4ubW9kYWwtYmFja2Ryb3Age1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgei1pbmRleDogMHA7XHJcbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcclxuICAmLmZhZGUgeyBvcGFjaXR5OiAwOyB9XHJcbn1cclxuXHJcbi5tb2RhbC1iYWNrZHJvcCxcclxuLm1vZGFsLWJhY2tkcm9wLmZhZGUuaW4ge1xyXG4gIG9wYWNpdHk6IDgwO1xyXG59XHJcblxyXG4vLyBCYXNlIG1vZGFsXHJcbi5tb2RhbCB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMTAlO1xyXG4gIGxlZnQ6IDUwJTtcclxuICB6LWluZGV4OiAkemluZGV4TW9kYWw7XHJcbiAgd2lkdGg6IDU2MHB4O1xyXG4gIG1hcmdpbi1sZWZ0OiAtMjgwcHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMyk7XHJcbiAgKmJvcmRlcjogMXB4IHNvbGlkICM5OTk7IC8qIElFNi03ICovXHJcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gIGJveC1zaGFkb3c6IDAgM3B4IDdweCByZ2JhKDAsMCwwLDAuMyk7XHJcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuICAvLyBSZW1vdmUgZm9jdXMgb3V0bGluZSBmcm9tIG9wZW5lZCBtb2RhbFxyXG4gIG91dGxpbmU6IG5vbmU7XHJcblxyXG4gICYuZmFkZSB7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBsaW5lYXI7XHJcbiAgICB0b3A6IDI1JTtcclxuICB9XHJcbiAgJi5mYWRlLmluIHsgdG9wOiAyNSU7IH1cclxuICBmb3JtIHtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xyXG4gICAgdG9wOiAyJTtcclxuICB9XHJcbiAgQGluY2x1ZGUgbWVkaWEoJGJpdHR5KSB7XHJcbiAgICB0b3A6IDMlO1xyXG4gICAgcmlnaHQ6IDMlO1xyXG4gICAgbGVmdDogMyU7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcbn1cclxuLm1vZGFsLWhlYWRlciB7XHJcbiAgcGFkZGluZzogMTBweCA1MHB4IDEwcHggMTVweDtcclxuICBoNSB7IG1hcmdpbjogMDsgZGlzcGxheTogaW5saW5lOyB9XHJcbiAgLy8gQ2xvc2UgaWNvblxyXG4gIC5jbG9zZTpiZWZvcmUge1xyXG4gICAgY29udGVudDogJ1xcRjAwRCc7XHJcbiAgICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjhlbTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTBweDtcclxuICAgIHJpZ2h0OiAxcHg7XHJcbiAgfVxyXG4gIC8vIEhlYWRpbmdcclxuICBoMyB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICB9XHJcbn1cclxuXHJcbi8vIEJvZHkgKHdoZXJlIGFsbCBtb2RhbCBjb250ZW50IHJlc2lkZXMpXHJcbi5tb2RhbC1ib2R5IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxuICBtYXgtaGVpZ2h0OiA4MDBweDtcclxuICBwYWRkaW5nOiAwIDI1cHggMjVweCAxMHB4O1xyXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuICBoNSB7IGRpc3BsYXk6IGlubGluZTsgfVxyXG5cclxuICAucXVpY2tzaG9wX3dyYXBwZXIge1xyXG4gICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyO1xyXG4gICAgLnF1aWNrc2hvcF9jb250ZW50cyB7XHJcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMik7XHJcbiAgICAgIC5wcm9kdWN0X2ltYWdlIHtcclxuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCBvZiAxMik7XHJcblxyXG4gICAgICB9XHJcbiAgICAgIC5wcm9kdWN0X2luZm8ge1xyXG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg4IG9mIDEyKTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAuaGlnaGxpZ2h0LXN0b2NrIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC41cHg7XHJcbiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi8vIFJlbW92ZSBib3R0b20gbWFyZ2luIGlmIG5lZWQgYmVcclxuLm1vZGFsLWZvcm0ge1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi8vIEZvb3RlciAoZm9yIGFjdGlvbnMpXHJcbi5tb2RhbC1mb290ZXIge1xyXG4gIHBhZGRpbmc6IDE0cHggMTVweCAxNXB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IC8vIHJpZ2h0IGFsaWduIGJ1dHRvbnNcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2VsbEJhY2tncm91bmQ7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XHJcbiAgYm9yZGVyLXJhZGl1czogMCAwIDJweCAycHg7XHJcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAkd2hpdGU7XHJcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTsgLy8gY2xlYXIgaXQgaW4gY2FzZSBmb2xrcyB1c2UgLnB1bGwtKiBjbGFzc2VzIG9uIGJ1dHRvbnNcclxuICAuaGVscC10ZXh0IHsgZm9udC1zaXplOiAkZm9udFNpemVTbWFsbDsgfVxyXG5cclxuXHJcbiAgLy8gUHJvcGVybHkgc3BhY2Ugb3V0IGJ1dHRvbnNcclxuICAuYnRuICsgLmJ0biB7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gYWNjb3VudCBmb3IgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB3aGljaCBnZXRzIHRoZSBib3R0b20gbWFyZ2luIGxpa2UgYWxsIG90aGVyIGlucHV0c1xyXG4gIH1cclxuICAvLyBidXQgb3ZlcnJpZGUgdGhhdCBmb3IgYnV0dG9uIGdyb3Vwc1xyXG4gIC5idG4tZ3JvdXAgLmJ0biArIC5idG4ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XHJcbiAgfVxyXG4gIC8vIGFuZCBvdmVycmlkZSBpdCBmb3IgYmxvY2sgYnV0dG9ucyBhcyB3ZWxsXHJcbiAgLmJ0bi1ibG9jayArIC5idG4tYmxvY2sge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgfVxyXG59XHJcbiIsIi8vXHJcbi8vIFV0aWxpdHkgY2xhc3Nlc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuXHJcbi8vIFF1aWNrIGZsb2F0c1xyXG4ucHVsbC1yaWdodCB7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG59XHJcbi5wdWxsLWxlZnQge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG59XHJcblxyXG4vLyBUb2dnbGluZyBjb250ZW50XHJcbi5oaWRlIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcbi5zaG93IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLy8gVmlzaWJpbGl0eVxyXG4uaW52aXNpYmxlIHtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIEZvciBBZmZpeCBwbHVnaW5cclxuLmFmZml4IHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbn1cclxuXHJcbi8vIENsZWFyaW5nIGZsb2F0c1xyXG4uY2xlYXJmaXgge1xyXG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XHJcbn1cclxuXHJcbi8vIEFjY2Vzc2libGUgeWV0IGludmlzaWJsZSB0ZXh0XHJcbi5oaWRlLXRleHQge1xyXG4gIEBpbmNsdWRlIGhpZGUtdGV4dDtcclxufVxyXG5cclxuLy8gVXNlcyBib3gtc2l6aW5nIG1peGluLCBzbyBtdXN0IGJlIGRlZmluZWQgaGVyZVxyXG4uaW5wdXQtYmxvY2stbGV2ZWwge1xyXG4gIEBpbmNsdWRlIGlucHV0LWJsb2NrLWxldmVsKCk7XHJcbn1cclxuXHJcbi8vIEhpZGUgZnJvbSBkZXNrdG9wL3RhYmxldFxyXG4uaGlkZS1tb2JpbGUge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuLy8gSGlkZSBmcm9tIG1vYmlsZVxyXG4uYml0dHktaGlkZGVuIHtcclxuICBAaW5jbHVkZSBtZWRpYSgkYml0dHkpIHsgZGlzcGxheTogbm9uZTsgfVxyXG59XHJcblxyXG4vLyBFbGVtZW50IHdpdGggbm8gbWFyZ2luIG9yIHBhZGRpbmdcclxuLm5vbWFyZ2luIHtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuLm5vcGFkZGluZyB7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLmludHJvLWNlbnRlciB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBhZGRpbmctdG9wOiA1MHB4O1xyXG5cclxuICBkaXNwbGF5OiBibG9jaztcclxuICAubG9nbyB7XHJcbiAgICBzcGFuIHtcclxuICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICB3aWR0aDogNDc1cHg7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQW5RQUFBQkNDQVlBQUFEZTFVdFdBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQXlacFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1Tmkxak1EWTNJRGM1TGpFMU56YzBOeXdnTWpBeE5TOHdNeTh6TUMweU16bzBNRG8wTWlBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3VFUwOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXRiUzhpSUhodGJHNXpPbk4wVW1WbVBTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZjMVI1Y0dVdlVtVnpiM1Z5WTJWU1pXWWpJaUI0Yld4dWN6cDRiWEE5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM4aUlIaHRjRTFOT2tSdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNk1UWTVOelUxUVRJMlJFUTJNVEZGTlVJMVFqVkVRamRDTXpVM09UTkROeklpSUhodGNFMU5Pa2x1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2TVRZNU56VTFRVEUyUkVRMk1URkZOVUkxUWpWRVFqZENNelUzT1RORE56SWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJREl3TVRVZ0tGZHBibVJ2ZDNNcElqNGdQSGh0Y0UxTk9rUmxjbWwyWldSR2NtOXRJSE4wVW1WbU9tbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZNelE1UmpZeE4wVTJSRU5DTVRGRk5VSkdORE5FTVRrNE1EazVNMFZDTWpFaUlITjBVbVZtT21SdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNk16UTVSall4TjBZMlJFTkNNVEZGTlVKR05ETkVNVGs0TURrNU0wVkNNakVpTHo0Z1BDOXlaR1k2UkdWelkzSnBjSFJwYjI0K0lEd3ZjbVJtT2xKRVJqNGdQQzk0T25odGNHMWxkR0UrSUR3L2VIQmhZMnRsZENCbGJtUTlJbklpUHo3RmJKME5BQUFzU2tsRVFWUjQydXhkQ2J4V1EvK2YyNklVcFUzSmxyWHNpVVJFYmlXeWxFVGh0WHZ0Wlh0dEwxZFI0bC9XQ3IyOEVWbFN0OFZTV3BRaWFiRXZLZEpDbGtKN3BPVCtmMS9QNzNrZHA1azVNK2M1ejNPZm05LzM4eGszejVrek0yZVczM3puTjcvNVRVRkpTWWtTQ0FRQ2dVQWdFSlJkbEpNcUVBZ0VBb0ZBSUJCQ0p4QUlCQUtCUUNBUVFpY1FDQVFDZ1VBZ0VFSW5FQWdFQW9GQUlJUk9JQkFJQkFLQlFDQ0VUaUFRQ0FRQ2dVQWdoRTRnRUFnRUFvRkE0SWNLK0U5QlFVSHNCRG9WVGNiTCsxRW9wTkNVd2o0VUdsQ296dW5EMGQxcUN0OVJtRWZoWXdxVEtFd3Y3bG00UVpwQWtDbkVsNkpBSUJBSS91NG93R1FZaDlBUmtkdUYvbHhJNFJ3S3U4ZklldzJGb1JRZUkyTDNqalJGMlVHVG9SMVBvVDgxTlkvbXZOZGw1Q3doZEFLQlFDQVE1RG1oSXlLM0svMHBvbkF1aFlvSmxXTThoUnVJMkgwc1RWSW1DTjBIOU9jZ3phT0hpTkJkSTRST0lCQUlCSUxjb29JSGtRTjV1NEhDYlJTMlRyZ2NiU20wcGp6dW83KzNFN0g3VlpwR0lCQUlCQUtCSUVGQ3gxbzViSThlbnNXeWxLZHdJeE83MDRqVUxaTG1FV1FibWRpUEN2SVRYYnQyWGFsU05yeGhMTzdmdjM4RHFhRzhhcXNlOUtlNzRmR3gxRjVUcEpZRUFqT0NPMVNSaEk3SVZYUDY4d3FGR2prcVh4TUtzeW5mZGtUcVprdHpDUVFDZ1VCREJxRmcrTGRLSGNyRHdic1JGUG9RQ1pURGRuNzFDR1hLZ1JRT3ByQWJMNFlxYzUydW92QU5oVThvZkVwMXUwNXFMSDlSSVlMTXRhTS94Y3B0aTNVOWhiY292RUZoRG9YdkthemxkMnRSMkZ1bE5IeUYvUDgyMUtad0pvaWROSkVnUjBMdENmcHpRVlEwRW1nRE1zZ0RaZ3RMSXhaSEpaU0h1Qk1TQ094anFTWDltYUQrYXNmZG1NSWhGRTZWR25LcXczM3B6MVVVem5DWWs0SGY2SjBwVEp5ZklUbTFWbXF4akJBNkluTkhPWks1THluY1MrSDU0cDZGcTZJeVpGdThFeWhjUitFWVE3U0JGSzZYNWhIa0VOczV4T2xBWVVBR2ViUlMwWnJ1QWhLYTI0aXdGQWlzdUVmcEQrVjFnT2FPeHM4TXFTSWprWU1NZ3IzNitaQTNubnloTllmZWxNNGVWTThycEViem5OQVI2WUxhOWVVSU1nZDE3SzBnWDBUa2ZuUE5rT0p1cEQ4dkliQUc4QkVLdXdhaURLWndCY1dUbzR1Q1hNTEZwT0FZRW1MYmtSQmJHVE9QMHgzalZWTXA3YlpBSU5pY2tJRElOYk5FT1pxQ0VEcDkzZTNQOCs5dUdTYTFMQTZaby95eCs5Q0EzbDBnclpFRFFrY2txeEw5ZVNGQ1kvRXVKaWNpWFFzenlaemVIMHY1SGNRa0R0cVA1eWhjTEdST1VBcll6bkc4bkVqaDJSaUNESFlxN1QwSTNiZlNKQUtCRnBnZmZsZm1tNDUrbHlyU3lpRDRpMzFkcFV5YU1zVll4enpURncrMFZDbk5Ic2oyVnlxMVBTNUlHTG9CZ1pPbVRTM3Z3RzdoNkV6SlhJRFVZWnUybzByNXRUdVgvbitUTklzZ1R3bWQ4aUJsWVVDZzFYS011NjAwaDBDZ1IvLysvYkVqTk5VU1piTFUwbWJFQ2xyTmtRbVJPU2RDUjNuZVRYK1dxZFR0VVAxWmR0YVExc2dlL3FLaDYxUTBHUXorVmt0OEhIcG9UNlJyZlpLRllJM2NFR2tPUVNuQ1ZkQ2NRSUtxRWswcXZyNFNUL2VJVzAyYVF5Q3c0am9tZGVHeDhoQ056ZmVrZWpiRGxVcnZERDROeUxOaEtxWEJnN0ptRGN2RUhWVkt3UU52RndkelhKaUR2T0dRNXhFSkVraUJMNkVqM0U2aGtpRXU3bUx0a0RTWkV3anlCRHEvWmJEM0RCdGViNk5TSjdWZjlWZ2RZN3UxbytiUldrNVBDSjFBNEFFaWJSL1F1QUpCNlVhaEVRWFljeFhUNzZPa2RqYVRQOWlKdTlZU0JmYUduYW51dmpJOGY0clQyWXYrWEF5U0o2NWg4cHpRc1hidUg1YTRGeEtaKzFHcVRMQUZDanlUZG00NkJaejJMaC82dmIwUG9WT3A3ZFk2b2Qrd2JUVEJRUFNxUzZzSUJKR2ticEZLYWVvRWRrRER0b3ZoR2Vyd2VLckxWUTcxL1FYOXVVbXFNMzhSdEtHN1NETnhwVEdheU53NHFTN0JGZ3FUL1J4T3M3NnYrZjBVTnZaMVJRY0RXVnhqaUMrRVRpQVFKSVVqTGMvdWRTRnpnakpFNkRvVlRjYmtkSTRsWGsrcEtzSGZrTkNCY0wydCtYMEhDb2U1Sk16YkhhZHBIazJ3dkNaYnJnS0JJQ25zYW5rbXp2dTNJS1MzWEdHTHNMTWh6dlRpbm9WbDBzaDBhYXVtc0FlRXI3dmpWTXFET0h6dnBFOGFMbGNwZGZNN1BMbU9yVHRwZHFMMmdiOU9ySTE2YmM4ckpOaDUxRlVwRzBWY253S2JSSnorZ1dIdnlFcHRmdnc2eWJ5SnBFUEZEZy9nT0NvTzMwUGJjM3RqMnh6WHVMeEdZUWkxN2RjY0g4OTIwaVQxRzhWWmtxWDJ3VllBdEZjdFZPb21rZHE4eVBpSkF0VDdPSVF6bk5wbFZwYTdpbW5MOVRjdVExZk5NN1RyVE1mVjhRNmEzNkh4M2l0cFFzZmUzenNGNnJRRzF5bFc0WjlUbUVaaEdLM0tQL1pJYzArVjJub080d1BZTWdYaTRib2czTGJSV2FWY0ZjQ1A1Yk1VNTFLUHZBN2dNWHM0MTA5OUhqTWJ1Vi9BWVB0RGxUTGVuaGpqY0Vvd3J3cE10azluK1lEKzl3c0Y5SGVjbEh3dUV3TjdPSWptOFllNnczYzE0SEdJNzRFTkVueDV6cWVBL2oyUzhwcmxtVDVjUCtqY1A4eWl0T1lFNGhWd0dYRDdEb3piZCtTMitZRmwwRGorMXBXWkRpVEtDMzIzQzdmaFFWeW5KU3gzMEZkd09uSm9wbzZ6S1IvWXNacTJFWXRkMDZkMGFnYms1TDQ4UDFSUktmdldkUDFnbkkrMjJKaTVqSi8wbU55WHgyUkZidi9QZWRHSU1yK1RKZm0yamVWWmxhUXlvZTg4akw4dmpYcUdxRFVwN3ZtR1p5OVJQU3gzekEvZUFFNVJLWk9XeGp5K3FyRGNYczF6Q0haQ3hsQ2FiOGY0bnVNTjMvQ1gva1h4ZHVVNTRuam1HSkFoRjFPYzBRNTVWT1p2YUt0U2gwNTI0YkVKdVFiWFZSK3BsSG5QQ0VydloxZEMxOG9TWjJnWkpITFlzdnFYU3Azc01VM1d0VGhBa0dQQ1dVbnZQVXAvK3hLQnlNajdOUkU1WEQxem0wcmRTNnREVlFwN2NrRGNCK2dkQ0xvN2lOaGx0R0lpWXRhUS90ekprNVJ1V3hDMlhNZHl1SlBpNDFZTzNJZFlreWZMTUJielFFbXlmU0RzZTFycXB6WUhuSkw2RjhXSFFMMk8ybVY2ampWMHExZ2c2TkNCNnkwS1oyaCt3K1QyZnBJYU9oSU1xTXMrbHJGY2xja1JoTjl0RkI5Q29oc0ppZmtPeWFNZG50VDgzb3NuNlRTNWVJRkpaQkIxSGNvT3dnbjczUnQ0OFdFQ3h2WHUvSTJ3blZwQjd4NUMzN0F3Um4waGpZRThCc09UWHgwV3J0ZFRQSHpUNVQ1T1ZPa2QxRmMzRnRTbUNYTnIvcDZkZVN6ZVJPK2huMTlOZWMxMHpBbzM3dlRXL0Y2a1V0Y3ZwZ255UUNaeXVqNkJzWDB5aGJzbzd2V1U5eE14SjNNUUZMaThnbzJWenUzT3RqelpRZDdkdzNrOWxjR1k3YWJNTG9TbXFBakgzSlEvMnFVN3AxUFpRSUxxTVJFL2k4SkQ5TTVyM0JmbU85YkpQandtVDdLUUtlUnhOTGMvRnZkZGZSWmJqdmpCOHF3dDExY1NRRDFkN1JCdlo0TThVVHp1bGtmVTYvWTh2MTVrR1YvVldFR0JzWFVydllQeDBKM3F0dGpqZTNBdDJvbWEzOTlocFFqS2dqaDlRMzJvaW9wd2d3VlBDZlRuR3VZcHRRMTlvd1l2akxFUWU0RGV3YnorTUgyRDBiVmIyb2J1VUV2ZUU4c1ltZXZBcTU3YmxKL1BHelRBTFJUbVVScW54OG1iU05sT0ZERG9SMXJJaWc0RjNIRm0wdnNES1ZTTlFlUUtLUHliR2YwWnl1MUtsL0pNZW1lcnpEMkh1N1JOTlFwWUlJenhyQjk0aFgrTDNyMmJRdmtjRXJxTk5IaStabzFOR1B2d3FTL2JvQzFRK3UxV2FKYmcvSFJscG9RT2VWRDROMnQ1V25sOE04akErL1R1aVE1eFRiWisyM0lac0NpYXFpRnpMdVhmajh2K1ZBU1owd0ZDOU9zWWVlSmF3ZGMwWkU0SGFCdW4wVHYxSE5OK21CY0JYV0pvUC83bzU1VEdKWTd4ZnpIOFhvZkwwcG5ydHJuakdCaEU3OXdib3o3cnM1YXBsM0x6b1lpRjlHQjZyM2RwekJHVUx5YjZHVXhBSzN1ODJscVp2VUNFODdpU0Z6c25lYVNQcXpCbjA3dGRFdjVrMnhpNW12STdzS3pNNzF3M1g3Qkd6R2Q4UVhNNG5ONS8yWElJTG96MUZybURzdlJRS2Y5NmxUMi9BWXRTTE5ydVVlNXVYVEJtSHFMd0Ntc21yWVN1a2VINXl1S2VoWFBMQ0pFcndJUlAvOFN4OWUwelNBckNjQmlsZFMvUzlDQnp6Vm5yMGlxRHZBdFlXL2cyeUtFSG1kdUtTZVJkRkxhS2tTOG00aEZaYnArZFdPaDN6aUNabXpFb0thMEtPU0owNi9pdlRVc1hOVUhydGx2SFI3eFh6VkV3b0w4OHd1MGVoK2hDQ3pHSzBqa3VJcDVKMjFHRmhjdW9tRnJGOWt3NERvblpiclBaeWF4UG5pQkx2cVFGazhFSWRqOFRsMlM1QW5uOGg4bFlGRXdMZ2pyY3BzLzVUallxcFpXODBwTWN2Ukd6RGJHQVBqbkhoQUQ5ZFFKcjNuenhQZlczVHgzeXdFUTlJS1lzQm1GOGx0STRQY0hQdGpsaGhxWjRrb01NeUFjeUJ3M1Y4eW96RzJNUTdGbmNiNk5na252YjBQdFlFSGVQOFEzNzgyTGlvSmpseDdidWFOYUliNGIweEdneW1weWZTUU1RMFdqRUs5VWtjVCtSek5XYTN4OVVLZlY1VXJpZU8zdWtjQ1B5ZFFTditMZE9LRzhJbTZtVWJvdEtiWDc4TnFLTzBZWXZja05uZ3F4NThDWUNWb1BycDJFQ3lXSEw1akVLRnlaWXhCb1Jrek1Fb203ckZJU2tyeVZkblZDR1ppN3Q4dVRYVEFnZEM1VExMTTlCZHI3aDlFemZDTUV3RkpveW1xeStNOFRaWUZtcFlsTGVPWVpnNjhDTGlISVp0TnRibnZIVHE5dzR3SUx0Q2w2UjJ6Q1daVWVtQUttYlFtMnkxQkxIWkZNRHplUFRHZFJ0WDhwN0ZPWDliVVFiVm1JeXYwY0czOWxFNVJaWS9Pd1Q4OTFKRHYwYVczQlJyajIrNTNGWHk2Sm9lWkxTZXQ5MWU5Y0dTdU1UU3VzOVpUZHhHVTl4c0h2U2crTFB5ME15aHpvdFNpZzVqSSt4bEdiekNGdExteGVDKzJKOFExMlcvWFVzMGFCRXdKWnpmY3NpdlpENzhZMG1RbGZOMHZFeVFhTTRMTlpCWU00S0VZYXJITWtjVnJRd2JDMWhFaHQxM2RNVmxQWVhkU2ZOZnRCQzVzRDBYM1lnYzVoY0YzSVpvRUdFOGFOTkF3aTE3RXVVL3BGRTZteUczL2M3a2psTTdOOXhXKyt1TlBmNFpvbk1GZkRrRWtYbVFOTGY0YitvbjBNdEs5d0xLTjAzcUYwR0oxUk1VejlJcTl4TlpnZk5hWkRXSnFGZzhzL1lTZlBiZElxL0xFS2JVODFCT0xTd0NEajBNNWdjakVnZkdtQjdIbXpOL3NOQWFHSHJjNDZsYlhUWVFmbHRLYWxBV1o1MUlCem9yOURxTG1IaFZwTzFaUWZ3dTc2RVRtY2N2b3lGYVByd2hRMDNVOWtmc2Rtd3FOU2hrN1RENk45NUlZUCtNNU5sRCt3eXEvSjNZTEY3dnFFZXFyUEF0cEZERTlGdWFvZzdqNG5FYmhIZnVqWG5mVTFFZlJRcHU3bE91aTlPNUxiRWhIWnNRZ3U3T0tTZ3JtVUJoRGJERnZBWTd1ODF1SnlGUEk3VGkxSmIrZ2RaSm5wOFAyNWhHcDRtRVJRZlJCaDJvN3BEUTFWNThYRmlRcDkvcTRyMm5ZbisySm5LaFRrVzdreW1lT2J4Qy9mdjRIZ3JiMWpVbXNqU0pvT3NzMjNQNHgzY2N2R1NTbTB2UXd2Ymd1dTFsa1ZwOGdDRmYwYWtxOE1aTVJjeHNCczBhUVlIb1R4cERUQjlNOFpnUjViTDlUWHhyNk00ZzRPSG40S0VycnpuQjVVbWRnNFNPcHJZOTNaZ3k4L3p5bm9ta1lEZkEwU2pHV3ZnenJhUXF6NFVkd0s5Tjhmdy9DbGx2Nk1UUWhTcTRqRkV6RllGaUdCOUhrQzNLUE0rT3JZeGVuQWNuWFlPQnExZEl3WVk2bVp3Y2MvQ0x3UHZWZWZPMGwzWmo3UW5nYk1qSm4zWU8rS0drbEZVeHhzQzdWcWQyOFowZTBrL2JwY2tMckczSFlyNHc2RW1EWjZ2MU9hbjZ0Qm5ZRmN6VkNPRTlsZjZVM2lqSEZlQXRva0RCT0JoQXhFQWNXZ2I5aTFGLy84WkNCdTl1MWpwci9jN201N0JhSGlCUjcyMU5peGNackpnaFFadmdhYnNHRE0yK3hmWWdXSjdmVHpiR29hL0grUGxUS1YzS2VPSzRheU5TQjhlcU15QytuN0xlSzdQM3p6ZW9nM1p3QWRPUUVMN0dyU2VLM21CTlpIaVBzY1RyVzRMNVh4b0pueTNsY05yVGliM0F3TkVvanFUdGRzdHBQb2NQcml3eWRBSGQ5RnBDRUlFQ1F2dEljRTJaRE1CYUs0SHF0emY2OW5lVU0vQWlWVE80SFZXaTFUS2hBYmFheWdMTGxMUjl1VDlEWXRROUxHV2xQNFBvYjRDbVh3WnBmKzVZUTVyUjg4T1RlTDBLNlV4anRMQ29iL0xJNkttN2JsUHBQZ2ZNT2taNm5JekJNVzVKVGhYUWNPc1VuYUJZWHhNY1JzN2tuQndsTWNzL1JUajZGUktMM3lZRU4rTHNoY2J5Z0JjVEhFRzBic3pQS3Z6TE0xdnkxbnVMV2NOM01yUWQyQkg0Z1JEZXVkUkdaNE8xU1htN21mNW9Nd3N0Ym5wVG5tVzQyZnJDTjBtQTZrcnIvSVBZWVBBQnkyYUhHaE9UcU5KZjdONzUrZzNhT25Ra0RPSUdQeEhwYlovZExaM0ZibFR0OVZvNTA3akZad0pzS1VvSWlLM21VRG1yZFQ3S1kwbm1ibWJUbXhkVDNIK1MvRy9ESkc1Q3NxKy9RTVZlMGNpY292REQrZzNUUFpQVWhyRGVYTHRtQ1h0WE1XSWxSVzBOSmRRVy95c2FSK1VzVGMwY1NxMTFiR1ZwaCtBS0YrY1FGRk5FOHU2d0w4bnNsQVA0emlsUHduZXpwRG1xTkJrRzBkRDExSHBiWUFnUkRwRU9BcnR6bVU3V0NQSUwxWnVKM2ROZ0QxZmQ0dkdNcTBGYUdwNURvSnpnVzBDNGZUN1oxRE9Ja3FqVnloTmFHT2Z4amFYU3RsTW1sdzl0RlBSTnBCblJtanhndm5DZmduZm9ydnhBQnJKdzVUWmhqTUs2NWxJekF6bGlmNXhCK1g3QXk4TWxDSHZacGE4cjdHUUkrVGJSamRSMG0rUXU4TW83M21zWWEycWNnZlRvWnZQUTJST2Fmckd3eEhFbzVDMVFycEY5U2xoTWhkSy8zNTZILzFLWjMrTk1abVVPNU9yV1VQa2FyZlltT2VIWG56dzZsbHV2MXdDQzdkR0ZvVUZicm40eENRbnFOd25jZjJadE1KRkdXcEJWL0RZZlNaaTRXWGFxZXdiSm5PaGIxaEMzNEErTUVhbjA2Rm5YVlhnVkhDYTlacTJWT3FwL0VPNUFHRTR5TUo2OFUyRk9qS25JUS9UbU1XYlhCTWN4ejdUd3JqVmttd1BJbUczNk1oY2lOZ2hUeEREbHcxUklEUjEyeTdRSnBoT1dXSkZXS2dqY3lGaXQ1YlRlUzFMYmRWSm1lMnI0QTdpSEIyWkN3RVR5aXVtbFEyMXl3NVoxTkQ5RWlKME9yU3hUUHhoZkJoeXNiRTJKcUV6MlhYMnB2Uy9qeUFRbTFnTHBVT0hET3J3R2tyN3lnZ3lCOXhnZVFaajlYT3pmRThrMnZFdVMvMThiS2tmSUdxTFVibVN1ZERDeGphcHhzVXRFUzVRb0xINTBQZGIrWENJelJIOUhWRmFEM3Irb1VyT0pzb1ZwdmtzQ2NXRlNmUFZqelZ4VVhqQU5DWTliNld4MVRsOE9aNnEvTzIvSU1PSFVKaEtaZGs1eDIxMmxlVlpIeE9aQzN3elpLek5IT3VFREw0SmZqR1BwRHdHMjhnY2JQVU00eGh6L3gwTzdZWXRjSjFkNDFaaC9wTW1SNmFKZjArVmZ3aHV3VnhraWRlTnlJS3pQeCtLT3plaTRTOE1hZWNhYTdRY2FiekIyaU1uRUtuREJIQ3VNdHNzbmszNWhVK3JtVndiSUszT3JJV0xCTVZMNTcwdUMyMTFsdUYzR0hwZnlscFNmWVJXVFd0UmdDSHNBbVhXSUVKTGVXa0M1VFFSdWlEaGdwWlFWOTZkYU1BMkNnMWdwSGRVaEhaT1dlcThQUHZKMGdtSHVrcS9oWUJ4NGVwRHpHUkxzdytYM1JldmtOQ0pQR3pBUHRGTUJBV1R6Y1V4eUpBdjduVFFNanhwZWJaWEZzbzBQNFpXS1FwTG83UktYQTlQVzZLWTNORGdFSmpKVEFReXpQWGd5VUNMTWlFYjJHajRmUS9xbTUzaUpzcGo5UlRENDhjY2szbk5VRDZNOTkyVHFnQ01Md3J3ZlZhby9BODlRZ1A1SVgzdk1ibG9MTjdXTjkzSUE2MXBQOGR2eGtMUjVQY1RaTm0wT3hZMWgzWmxVNVlvbUU2c3c1bTM2N3o3cW1Vc2JrYm9USVhhamsrcXhnWHNSMTZNR1g2enNPSTBUSVBvTTE1UitBSXI1UThNejA3MTBHYmNSQ1ROU3pWTjhiRmQ5bjhXalUzTC82bTlpaVpqai81b1E5eG5pS1I5NHBNM3hVYzdQWjdrWU9UdFZwTUxsd2Q1UzFYMzNxRVVCcXVVYlFTMnJLTnMvTTVQb0xpbUxkZlZBYUh3bzZWdmhJLzh0ekdzK3NPRXpuYll4YVNsYTYzMDlwNXc0ZkdUbzRCRHZHVUphb1I2T2NhejJWSU9aWjkvMlFRSSt0c085Yk5JbVgxMzFXRTd3RGdUMUc0VVRxV0F3eFVEWWRSTUFkN2toOFZZYkVUaGRkYklSR0Y2REkyV2JVSWZ6dlkvTHYzd0YxNzg1Z28ybHlQUFUxdmN3YmQ3K09JWXBUZjdtZTlxazhxSGwweWF2SU9TcmdqS0R6ZXQ0SERTNVJhRmprbFd2a3IxZEhnTzJ1dFlHd0YydlZFaVBjMUZFRlVkYkhNNGZPRzVYcnBnY2drejNxUDhuN25JNjdRTjNic3F0VmR0S2t3c1gzUkVGR2FxR05zNFJGaHFob2hiRU4veXhMK1RaYkovSW4zNHdRZlFHRkc2VHhrbXRicjBiQStLa3g1MHBndVA1eEk1bXhHekF5UHYrNVRlQUJRYW4zR0JmNXZVOFAvTklPOXJFaHlNY0ZacE92azdQRVRpS3ZFcTVrcmxlRWNxcjU2Z1NYa2tnYks2YkxrQzJLN1RhV1hiaEZhTE9wdU1CU1NBUGpJUlJnT2gwMmxzVGZabkZVbkkrclJmUllzR2FvcEhPdDk2M0d4d2hPWFpzQnhNRUQ5NWFBQ3hOYjZ6cFcyY3JzbUNVVHY5T1k4WG43dkVLSFBjcTVsY3liRnRPN0JTRElJeDNyT2NTMVR1TUp3WEh6clppYmtRaDBTdXBUYURMSHpFVWZ0aUc1Ty9lWTdKYlMxak1uSHdOaUVXRm8vell1dEtaVFloQ1FKeXZaaGRIYTNLWW52WmZCdE85a3hyY3NSYzVZdVhYT3dKMmUraFNTblduRTg2dThEa2NtWnZIYUd6K2RmcHJCeFZtd25pWU11enovbXZUWE9ZaVUyWVRTQTFDZ2hBVS80VDRtWU1lN3BmSjlhZWFaajRncjZUVE5zd09EVVpsMHlDYkdERlV6T2hOalJ0MTY5S2sySWljcnZ3Q2hGYjUzVWMwNFh0RGJhU25xTjAxa1V0b3h3R1hFWExwQm0yNzRNdG4rNWszekd3S3dxUWhiYWFPS01jQ0dPWU5KajZvR25BSitIVHE3cG5mSis3VGh2RjFCU1ZCaks2L285ZFdNQVdyN0NVeXYrelk3dzFNUWpHcmhGeXhBYy81S3BDK0xRNkZyei9qUGhtMkcxZFJYSC9zTGVrOTZaR0pOM1EwdDhmeU9LQ002bDZnZHo2WTJlTTc1M0ZsdXlGbGtVZmdQdUFZUTk3V3hhTFp0dHEvc1F6clRtV1ozRnVTWHJmTVo3dDlweWJrNWJYNVFLVHBHbEYxN3hUMGVSY08zOXNiZmg5UVhIUHdyUUFzaG5EZjVGQjNqWVZlWkIwbUxZak1uVUV1Y2doYjlPM0w2VDZpZVhpZ043N1BlTGJmV0c2dzNNNUVibldGRWF4RnVSbUJ6S0hyU09vdDQ4aUV0ZVl3dU5wTXBjQWJLNFRWbWxJeHdyREpIQWdUK1NOREgxalJFS0VMdHNIbFh5M25IeDhWZFkzL0w3ZWMvc2tyOEZ1TG1hWElwbnptY3pYSnppMmdXODgwL285eDU5OHJRcjVNYlVBMnFvcDFKN1FSdGtXdXRrZWsxdm5zRDlnbXhpKytuQWxYOVIyK09YczdpZGJzUFd6Wlo3ZnRkcXl5S2xrdW5raGdYNitRNWFiYkt2TkNCMU41bEhHc2QxelBPak9NUHdlWENrWmZlZGxNdG5UdTdCbFdPZXdVcXJnU0FKODhZUERCRjhsRzFxRkJNcXVXeXpvVmtOWStYWlEwWTVsTVdod0VtNW5hcGN6S2J5VmhiNW1XLzJ1MXF4a1RjYXA2VU1RTFRYUFlLTTRNeXA5UjBLM1haYkgza2JQK0Q1anJXb0NhZVE3bVlON2g0Y2l0QnRwYk9BK0RodW1UV1hvTTAyeWQ2M09iMkNlRVZqME5aZ1J2ZUx4R3J3UWZNRGFxOUlZa3lXbFVFOVFpc0FHMm5ZQ0d5UTNtN1owRlJPZXF6WW1TSnBkODk4MmwrMFduRkNmc0FpVlV6b1ZUVDRoRndXaWZMQXFNcWxhZzl1aHByS1dYOXFxYVd6ZlJtelBaWG8vYURkajBvUlZ6N0FLYWp1UWkvVlo2anhKZHI1TUJQdnJMRVFiRUluclJXRnBGcnVjU1JqL2JKaWNYbzRnZERwRDNsR0d0TmJHS0ZlMmhmc0tsWHRVVTFzQWFNSkgyOThWc1VDQXowdjRBYXRQZmFJU2haMG9ORkM1dFNYTEZDYlp1MDFaS0R6YmZjR21FYVllcmhwbTJGTk9NRnlNbm0wUysyTXAxUlBtT0d5OTJuYThEaStsWm93enoyNXQrVmJmMDlhdWNqamJmZU12OHZwL1dxYmlub1VMaUV3OW8xSUd2RG9Nb3VjSFVyeXNkUzVLSHl1L3V3MlAxNFJXVmQ5WmtvSVI2UWN4aTJIYnR3OXF6eUFJZE5kNFpPcnFaVGVIdkUwRVp6ZXF3M0s4ZlpwazNuSHduV2Q4dEMrMHhBOFRnZnNzaDRLaGhxVThPb3hUZWtmY0xkaGZsRzZiYmFTSk5NWWdPUmpBRFRTL3czWnBWQUwxTVNXTGRXMnkwY1NCampvMjU2dGxCRFo3S1p5eXV6Snc3VnRaeG5vTHFkM2U4eHNybGNZSHNFSDdFMVJlSE1iQmRYZzRFQkRsSWdieXNZZmEzQytvaVF5QUNEMlhRSEhIbFNMNTNjQTNUSmg4TTJaelMvR25HSW9QVTc4RUVkK3FGQmF4dHQySEFSSGY2RTMydzl1RzhKM1d4VERJMEhBdkVtRm9UWVRobHl4OVBMWjJUU2RiaGxLK3djcXhuYnh0blFHaGEydDVOamYwYngyaE95N3V4Lzg2c1RiSVJUUEQ0ODhNL3c2VEU5ZzdlbnNXcDNiRjNaSjFFbXhMMTVQUmM3aGpQME5FYmswMmhWTkJRVUc1a3BLU01ObmR6b2ZRa1lCYlNjSWg3WWc2UEQ1TzFnZ2FDSXVwaHJSK1RqbjY5aUowSU1xNlEwTkxLYjBlZVU0RXZsSG1RemRISlVSSVN3WHN4c0YwK2hNSHBUcm4rM2FrQjJCdmJUb0lnRHFZNkpGV2pkTDhFSFk4QzM5NE9PM1pVcVZ1VTdCNVpyaVU0dUdta2VCaXpIVDk0T295TUNaZFlQUG5XajNML2N3RWtPOUpIbW5aVG1ZdnlPSTMyR3p0aHR0dUtIRkZ2MzUvbmxuOWl3MFR0SFRLdm1VQWo4Y3YwZVJmSmVtdnBqUngydEhrT1J3YWtUN0JIMmp5eHhhRnlYL09oVXRiTmZYMkZjWHZuRzk0L0gzQVpRbGdzdWRxUk1Uc2lKalZjSjR5MjVWTkMvemJkdW9xN2xWWTV5VGNwSjlhVnE0bHJMRTRsdXAwUHdxUFpwdk1wVG1kNWpjdlFzY3diYnZlcnZsdGRNU1ZNS3M4Q1ozcHROWUJTWG1VenlKc0o5UGFsL0ZKeitidW9jY1dST1pzQzhyMFl0b0hCK1hMUitFeWVncW44cUxlSkx0Z2p0UFVjVXcyb2pHNTFSYlEzcmFiTk9MWXY3b2VwTENkbUQ3S004OFdsbWZ2WnJIdTRKWEROUFlQVERvekhYbUFjOXZaRVFOMkdoR3dSTHhYWTR1UUFraWt6Wi9ZNDBRMmRhZEhYelRFaDR1UGMyTVU1MnlMZ0JrZDhmOUI5Q1ZTNXpXNVVud1FDOU14WmdpWEtRSGlEUzJONmFUV2hWU2ZlM20yQWJSS2x5ZlpzZGdQNENzV1l2VVF4Wm5pU2JpN1VEZzlicGxLU2tvMmVXZ0lWc2NnZERydGNwVFd5YlR0YXJKbk5MbWx3VW03Vm5rK01VeXpQT3RDazErRE1qenA3V2Q1WmoxVnlVUzhaaG42VnB2ZndiTmNTUXpGdzZubncvTHQ0L2htZ2VzdFVmWjJISk5WdDRDRkNtQnpJN2JROHN4MGhaK3JWdTlOeTdPVERQYU14bjVwZVRZMWkzMXBuWVdZL2lQcmhJN0lBaG9CdnVkV1JqVHdCMFFFdXZFbDhYSEpYQ091VE51RjRGQzczbVI0WnJ2cXFCOU4vZ2Q0a0FXVXhlWnY3eTk1Vldyekk3WjBUVDY0NEhUWStXUXdrVG1zZ0dBL1pqcW0vU3psRjdaYk1Ua1F4c21nb2E1YVZMWmJmRUpsUjNWdWE1OG5xYzZyZTdSUE0wNXZHUDM3ZVZ3TjVsdVlnZ0l0eHpacDZGWlpCaWxXWFM2dWNUQ1lvL3dTbWdpZFNVTTMwU0lvKytTNVJ1QWxaVFltaHBuSGt6SGNCK1FMYkpOTGxBSDE0U3JIcCtFeXhFVExOOEVNeGRXWmJuY1ZmZEs5dEdDelc2dXNXYWlZNUVWdjZ0TlZTL3RqcUF3N3hueXZTc1JpMytiMzFIVG9xNTdqRllNd0hmckswZ2JYT0g0RG5DYWI3Q1BYczF6S0prd0tnR1pVdGk1WkpYUk02c0M2VVFtL1JBZ3dITStmaSsxU0NzNUh0eW51SVJUZzVSOWJNRGJWS1k0Wm4wWGxXVzNRQXNGLzNoaEwrU2JUeEgrMEExazRpb21sNlJ2R1VWNDZyYVZ0ZTdvN0ViWGVGQ3BFa0Rua0NhUDVreTExY0svbWQzZ3pOMjA1dzQ1dUl0WHhEaEh0Z0ZNL3oxcnl6Z2hVWjVPVTJaNFBoMGNtVU4xdjc5QSs3WmdZcFU4cFlSQjhTcjkzU0tDWWNiWmNsYVhmQmZFS1grbWpZZ2k5YWdZeWliRlFiRmxvUFUxQ29sUU16UjFXcTBzaTZxMGxoZWZ5WVFLTUFkdUo1Y2FXeVFZeXVLZHRIWktIN2Jnc1lxSFNrNzZyTUdLU2hYYmlraHlUbW5JZVpnbTJ4ZVlQb2ZxQWpCNWlrWFBGcGRtbjRmUWM4cEwrdmtEaE1JLzNjR29aL2o5Tk41eWdIOWl1MHJNWi9IZDA2R2NseW43ejBVMVV4b1lSM3dBZThLQWx5aEMybzh3bUJsc1dRSU9TdkJ2WFNEYUlSTDFGRXo1Y1I0eFFkaDh0dUxvQzI2VVBVdnczZWJVQ213S2NBc1hrc3cyVEsyd0RZczhZVzdhN09wUU5XM2JuVVRtbVJjUzdsdFBVVFdMWVNweEtFejlJUzM4S3M5SVh3dE52R05pNGxnZGV3Yyt4Q0U0TVZxMzZ2VktiSDBjU0lRTnBNVzExM1VMaFZJb0RnZjBTeFY4YklITDFtSmpjcXV3bmR2clFld3MwN2JPQjZ2dGFaVDVCQ1h2SGVSU25MOGdmeGY4cVFPVFFKckFWd1NHWUJsbnV6RmR6bjlEVkw0VEx4OVFXdlRHd3FHMldoNGdjdEhMWEtiMWZRbWd6UjFFYzJGMzJ5cUI4dnFkY2c5cW1xQlhpYUlmODEvZ1FPZ2JNSXM0MDFDbTA2N0NuUTkrWUdIVTlEY1hEV01RMjlsTTVPbVhhVTludmRNVWw2VTJvWEQzUXpYWDNndEt6ZWp3aHZFUFBaNm44Z08wK3pOdW96S2VGMjRKK2cvd2RvT3hiNWRWVmZnS1RwT2tBR2JURXIzSWI5ZzlPbVBSYmJaYUwxNVpDbWJHNHY0L0tBTGszTnVLdTI2c3R6M1FIdm5CbDQ2Vks3enZ0ZUFvZlViNllSMTZPdW42T3RXa2RlVUc0TUlIdlBwajdFZVRvR1pUK1hKN1hZUWMrZy9KWUVjcC9KNTRmcm8rWXF4K08rQmJiN1F4OVVRNTZmM29nMzZxYXkrb0hjRi9SeVdtUTVESFF3TkY3Y3pYMWlIZEdNVWN4YWVmdXpzRUNhQUdWWmFqU1g2OEtEZWdrZW83ZHdUNFU5L3VJdm9HeGhjVVN2QUlNY1NaMFRCcGV4YWxXVmhsRzJYaHN4WUlwQ1R1ZWpVem1ubmZRQW4xQmt6b20xa2N0MGM3bThCUEZYY1MvN2FyY2pqN2ZTSG5ZT3ViNUtuV2kxclFGMklpMVlMOFNpVVBlSUMzUVN1M3VzUHFlemFUTDFENmpxSDJ3RFhtaEljcTIvUDZkRkE5NWY4Y0RZemVWSTNjQlZIZlRxYzVCUUV6Mmdkdno1UEFBeGZ1U0Z3S1ZlR1ViZFFMT3BxM2FEQ1VsSlQ0YXVpaS9ST2x0RnRPRUM4MmNpL1BTbjMwbmN0d0p5NjRFcmpCRXdZbGwrR3hjVFBHbXNHQmR3ZU1kV3hVN2NoODROTEQ2L3N4UjY1aXBjSnRGWlhvc1FqdURzUUVUaFA5UTNGbmNiemZ5R050Yi9la2FDSDBxWHdnZE5GWTNHSjVoY3NTMVN2ZHdXMnpMNU9KNlpiZFB5bHRRTzQ2ajczbUR2OE0wSDJDaGRqdkZ3MDdLVXBhM1RaV2IwK1Zzb0tWSzdWNWdvYldNeW9WNURUc3puN08yQ1pvc2JNM2hhckIyaGpTd3VQNVFVeCtMS0QyUWc5c3RmUnJrNGhzZWt4L3ptQ3pIWTNJSGp0TkUvZWs2Qy9KbFlVTGZIWjZUYmcyUUJNeEpLMW1KVWt1NW5Ueitpa21zRFRaUEUrQVRiMUhlQzFqVzF1RDhkdy9WNndxS2M0TkZVd2V5OWg3TFE5VHZFdTVuTFZrWllOdWx1aU1od3V5Q20za2hxek90S00ra2xUNmpLL29qZHJWd09uWXR6d05WdUY0YXNzeXV6UDNIajlBeGFaaE9aQUJDNXdXVkd5ZUM2RnhkS0Yvbm8rOUVHZ2F5RGR6VkVWRnJXWWlYZGdWQ2FkdlV0ZERTTFNHaWhvYWFIS0hKcktUTVIvMU5ncU05cGI4aEl0N2wzTmd0SStJMXlJRTJ6cWloWUNGaTJ5SXQ0SW5hMVk4Zk5EZW5VZnZNZGZYd0NCczZEYW1MdGVXSzFUME52dkhLZkt2SlJFZFZ2amVoWTBESUhSRkJDTEJvT2MreGVwcm1ndEF4cnVQOG9zZ014cE50TytKQWxUL0ErSjl2NmI4bnEzaW1EWlZWL2dLay9GMWxkc1NlTG44enkvTlpQQVoxZDE0bTdhaTRkV2doZVJFSEg5eHQwWHIzWWpsc00vUFprWlVMTGpoVTJXOXdpa3ZvZE9USzUxQU9aRzlualRZdGpMZFU5UDNnUVFLMzJDQnJCL0VXL2xrV09YRWRCMWZnUUdXZkhDNkF2cUp2UUY4YlpvbFd3VU1wdGkrbHQzVjRCOFBKSUpXMzY5QkpiMUYydTdwTWdSc0NtdmlRdVFEQWNKTlVuOEp1cmF0TFJDSmRNN2dSa25LNmpGTXh4MUM2M3ptMERRamZpY3JQOTVNT1dYT3VTS1FMYXZuT3ZDaElBbGhObmtUcHZwWkFXbkczWEZXRUJtNmtZLzYrYmt2U0FnSkVFRnM1bnlSVXAwMXpLTnd3RWJSVi9oZTU1eTJoWTdja3QyU1F4SGpENzNsNyt3Sjk4enlWTWxlSjY1SUZZK3dDbnZSTkUxd2lZT1ArVEUvVVFxTTN5TGJJVTZrYktHWW1WT3hERS9odWFIOWFKTmpzR0xzd0g1amgwRDh3Ti9YelNOdTJNRUEvU2Vyd0FzYmFXYmwySlVUNURXY0ZUQkw1b2wwMzg4amhmTUtJaU1OR0N0Z3lnRXVReDVYL25ZODJRQnNGTnlPdEtJL0ZNVWxEQ1FXY2xvWHRRU2JlMkdGSGRBYWxkVVBhM3M2UjFMM05Hb2ZKR2RZRnJnWnFEczJmUjl0Z2NqK0JWNGh4N29TY3g0SW9hNkM2eE9BK2sxZFJtU3dLSUN5YlVIcVRFeXFhOXluWEFNWWFCdWNtWlhhcG94T1Ezb1NPQmNReUZ0YlBKMUFQaCtSWXVHR2M0VERTa0F5U2FaUlBwMkxwbTdEOTM5dnpOZlFWMkY3MU5UeXZvL0lZOU0yamVMRzIzdk5WYkxQQjltbU9NbnRVU05KK0VPTWtrNzZDdHUwU1paUEsxNG9keTNOa3BqaVk3U3d6RXIwSnp0WFF4amFqYjN6VjR4MlkyN3p2R0xkaUJEbnN5T25GdmY3d2QzNy9wSkJqNkZ5T0Z6aXh4blorRXRkWkhoS2IwQVhJdzJJS1VMVmo3N3FIU20wenhLM2NpYnpDYTBocERxR1E4VDJWTk5GRHdPek5nbldseDZ1cnVMRWJVaHJENCtRTkVrWUJtcnJUUFRweEdoZ2toOUg3bDFGWUY2TmRObEVvWWxMcFNpWXdtVHpLSzlkdnN0MlptWFRqZWlUWWVBMzJGRFFnbmRnK1BJTFNTTkx1SWE0TkhRWW5Ubkc5eG4wbkdNYlJzK1dPK1pzRVN3V28xS05mTDZBeFV3QXlnRzMvTjJQV0FiUjhEL0NKeTF3S3R6VVVzSkREZHNxVUdFbkE3cTlVYnhyUWZCTnNrN281TGxwUTc4ZlFPNDhwczdmNjdST1kxSE5CWkRHNVRITjhCUWZKR2dlODVKdmtkSkxielZod1E0UHFleVhoUXBZN1o3aVNBR3lEVWJpRUZ5d1RZcFlYZG4zWWNhcVFZZHZnRm9zR0tyWGJOQzBtR1hxUEZTNkhVWHFmZXVZUG9nK24yMk1TNkdlYktOek04NVhQN2t3SmN3MGlVZ1cwK0MwNHRtdlhidHVWNG5pQmhyQWhjNVE0TzJQb2gwT1ZSaE1jdTdNUWVZQi91RHNRT2hWTjNvOVhKYWhvMkVwaFh6eDRkeG9tdVI5WmFLRkRZRzk5S3FXUmxWTjFOT0VqdjF1WHRtcWFQbEVIMnduWWNld1dXUFd0NXZLOHk0UHVaWG92a2Uxa0ltUVFjTVcvVHF6ZGhEVmZMYmhlNmpHSkJwRlp3Z0lkUnBERjlNN2lKUEttT29XeFpBZHFrejE0NWR5S0NWUTlqcktDMndBZC9LbTBScFRpbTJ4L2RIWmc3WlQrWHJ6Vmp1MnppUDVjUU8zekwxNTFvWXhRSDhQbUswMWlRSmJtc2hDQ0p1eE5INDJwQjI0MC9QNis0K0JzbTJIK0l5eGsrdmZvL1B1dEl1SDBFUWtwaksrelNYYWhmNk5NUi9EQ0JpZldLbkdmUTF1dTQ4bGlQdmY5S2V4T3hBYVlYRnhnZURZbkFRRUhVNHZYaWJpZ3o4TE9zamtMdkIyNW4yMWdHZklkOXdtVWV4SzlaN3F4NEFwRC8vUnhUNEN0b3RHZUpEejlQZjNwV3lBREx1T3hzaitUazAxTUVFQXVZRXN6TnJEdFk2dGpFOUhHV0RlZEZwM2g4YTJtTkpaNHRDSDZRUXQyd1FBYk1aam9RS2FVWiszZEYwemFuNmU0WVZjWER5djlsclB0d01zZ3l5Smd1YVo4a0UzM1VQbGdOM1U0azR6R0xKZXhLTmlHU1Rqa0kwZ1FEcVRCRjkzcmNiZm02RDNNYzIwcHoxMjRYeC9KL1hvbmxuTWJlVHl1NC9INEJjc2RqTWxGQ1JJSTlIdWNGaDJBdTNaNXJqNllBOGplOWl3ak5uQmJmYzB5QXZVL1huZUMxRE4veVBLVCtHcTF6a3gwTVI5VjRmeVc4cmllNUpnZURnMjBvZlFhc2ZMa2FKN2o2Z2ZrWm5wK1JSOFpnWk9tTVlxTzhiL0lJaE16cVpNL09BcWZ1RDZPNThBbTNCN1ZXRnY1Qzh1czcxbWhNWmNYN2JOWVk2bFozcGVVbUJ5dUN2NUc0TlBNT2p1OEtVVDZqczNuc2h0T3J3b0VBb0ZBOExkQk9ha0NBYU9KNGZmRlVqVUNnVUFnRU9RM0trZ1ZsSDEwS3BvTUZTdTJFSzZrME5mQkdiTU9wa3UxMzVjYUZnZ0VBb0ZBQ0owZ2UwUU85bExuTTVIYmkzK3VTNzhmaVVNU0h1azBZa0tvdzF0UzB3S0JRQ0FRNURka3k3WHNramtZVzhPWS9zRUFtUU53K0tPWFJ6b3dXaDVnZUF6ajRIZWx0Z1VDZ1VBZ0VFSW55QTV3Qjk1dmhtYzNFMUc3bThtYWpjemhKQ0N1VkRGNXBoNlVoQ3NaZ1VBZ0VBZ0UyWVdjY2kzRElFSUdmMWNQV2FKQXU5YUR3Z1MrVVNMOUhuend3SjFMZDJXK3FnakhwZmVrOTVibWV6M0lLVmVCUUNBUUNLRVRRbGVXQ1IwMHJIQ3dHT1ZXQkg2TzRPTUkvck5xcVQvOVE5bHdJNUc1dm1XaEhvVFFDUVFDZ2VEdkR0bHlMY01nd2dVSGlwMllyTm1BTy9MZ1JEUHRzRFdLek1IUjhuMVN3d0tCUUNBUUNLRVQ1SWJVd1NzNnJrNmFsMUNTc00zcnhHUlJJQkFJQkFLQkVEcEJqa2dkcmpuQmRUYkZHU2FGQXhLdEtiMDFVcXNDZ1VBZ0VKUWRpQTNkRm9aT1JaTngyQUgzd3gzczhSb2NFUmNSa1p0U0ZyOVpiT2dFQW9GQUlJUk9DTjJXU3V6Z2p3NFgzK01pWk5qTjFlSkhjRGdNLzNWem1NaU5KaUwzYVZuK1ZpRjBBb0ZBSVBpNzQvOEZHQURZTzFxc0pkMWQxd0FBQUFCSlJVNUVya0pnZ2c9PScpO1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XHJcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgIHdpZHRoOiAyOTBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsImJvZHkge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbn1cclxuLy8gTG9hZGluZyBiYXJcclxuLnBhY2UgLnBhY2UtcHJvZ3Jlc3Mge1xyXG4gIGJhY2tncm91bmQ6ICM0YjdhYmU7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHotaW5kZXg6IDIwMDA7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgaGVpZ2h0OiAycHg7XHJcblxyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogd2lkdGggMXM7XHJcbiAgLW1vei10cmFuc2l0aW9uOiB3aWR0aCAxcztcclxuICAtby10cmFuc2l0aW9uOiB3aWR0aCAxcztcclxuICB0cmFuc2l0aW9uOiB3aWR0aCAxcztcclxufVxyXG4jY292ZXIge1xyXG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9hamF4LWxvYWRlci5naWZcIikgbm8tcmVwZWF0IHNjcm9sbCBjZW50ZXIgY2VudGVyO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgei1pbmRleDogNDAwMDtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcbi5jb250ZW50IHtcclxuICBAaW5jbHVkZSBvdXRlci1jb250YWluZXI7XHJcbn1cclxuXHJcbmlucHV0LCB0ZXh0YXJlYSB7XHJcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOjA7XHJcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyhub25lKTtcclxufVxyXG5cclxuLm1haW4tYmcge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcclxuICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuYSB7XHJcbiAgY29sb3I6ICRiYXNlO1xyXG4gICY6aG92ZXIge1xyXG4gICAgY29sb3I6IGRhcmtlbigkYmFzZSwgMTAlKTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5kZXNrdG9wLXJlZ2lvbiB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkgeyBkaXNwbGF5OiBub25lOyB9XHJcbn1cclxuLmRlc2t0b3AtcmVnaW9uLTIge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtdGFiKSB7IGRpc3BsYXk6IG5vbmU7IH1cclxufVxyXG5cclxuLm1vYmlsZS1yZWdpb24ge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkgeyBkaXNwbGF5OiBibG9jazsgfVxyXG59XHJcbi5oaWdobGlnaHQtc3RvY2sge1xyXG4gIG1hcmdpbjogMDtcclxuICBjb2xvcjogJGdyZWVuO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59IiwiLm15X2FjY291bnQge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcclxuICBAaW5jbHVkZSBvbWVnYTtcclxuICAucmlnaHRfY29udGVudCB7XHJcbiAgICAgIGxhYmVsIHtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBwYWRkaW5nOiA4cHggMCAwIDA7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC41cHg7XHJcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgICB9XHJcbiAgICBmb3JtIHtcclxuICAgICAgLmNvbnRyb2xzIHtcclxuICAgICAgICBtYXJnaW46IDEwcHggMCAxMHB4IDE4MHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcclxuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMik7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICAucmVxdWlyZWQge1xyXG4gICAgICBjb2xvcjogJHJlZDtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMCk7XHJcbiAgICBAaW5jbHVkZSBvbWVnYTtcclxuICAgIEBpbmNsdWRlIHBhZCgpO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkgeyBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpOyB9XHJcbiAgICAubGlzdCB7XHJcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg5IG9mIDEwKTtcclxuICAgICAgQGluY2x1ZGUgc2hpZnQoMSk7XHJcblxyXG4gICAgICB1bCB7XHJcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyLWZpeGVkKCk7XHJcbiAgICAgICAgQGluY2x1ZGUgcGFkKDQwcHggMCAwIDApO1xyXG5cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgd2lkdGg6IDE2MHB4O1xyXG4gICAgICAgICAgaGVpZ2h0OiAxNTBweDtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIG1hcmdpbjogMCA2MHB4IDUwcHggMDtcclxuICAgICAgICAgICYuZmlyc3Qge1xyXG4gICAgICAgICAgICBjbGVhcjogbGVmdDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICYubGFzdCB7IG1hcmdpbi1yaWdodDogMDsgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIubm9fbmF2X3BhZ2Vfd3JhcHBlciB7XHJcbiAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcclxuICBAaW5jbHVkZSBvbWVnYTtcclxuICBAaW5jbHVkZSBwYWQoMzBweCAwKTtcclxuICBmb3JtIHtcclxuICAgIC5jb250cm9scyB7IG1hcmdpbjogMTBweCAwIDEwcHggMTgwcHg7IH1cclxuICB9XHJcbiAgbGFiZWwge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBwYWRkaW5nOiAxNHB4IDAgMCAwO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IC41cHg7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgfVxyXG4gIHNwYW4ucmVxdWlyZWQge1xyXG4gICAgY29sb3I6ICRyZWQ7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICB9XHJcbiAgLnBob25lX2VtYWlsX2NoYXQge1xyXG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQgb2YgMTIpO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xyXG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIgb2YgMTIpO1xyXG4gICAgICBAaW5jbHVkZSBvbWVnYTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBoNCB7IG1hcmdpbi10b3A6IDEwcHg7IH1cclxuICAgIH1cclxuICB9XHJcbiAgLmNvbnRhY3Qge1xyXG4gICAgbGFiZWwge1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgcGFkZGluZzogMTRweCAwIDAgMDtcclxuICAgICAgbGV0dGVyLXNwYWNpbmc6IC41cHg7XHJcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgIH1cclxuICAgIC5pbnB1dCB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQgb2YgOCk7XHJcbiAgICAgIGlucHV0IHsgd2lkdGg6IDEwMCU7IH1cclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xyXG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg4IG9mIDgpO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5pbnB1dF9yaWdodCB7IEBleHRlbmQgLmlucHV0OyAgQGluY2x1ZGUgb21lZ2E7IH1cclxuICAgIC50ZXh0YXJlYSB7XHJcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg4IG9mIDgpO1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgIHRleHRhcmVhIHsgd2lkdGg6IDEwMCU7IH1cclxuICAgIH1cclxuICAgIC5idG4geyBtYXJnaW4tdG9wOiAyMHB4OyB9XHJcbiAgfVxyXG4gIC5sb2dpbiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgYnV0dG9uIHsgbWFyZ2luOiAxNXB4IDA7IGRpc3BsYXk6IGJsb2NrOyAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xyXG4gICAgICBwYWRkaW5nOiAzMHB4IDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5jaGVja291dC1sb2dpbiB7XHJcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCBvZiAxMik7XHJcbiAgICBAaW5jbHVkZSBzaGlmdCgyKTtcclxuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XHJcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMik7XHJcbiAgICAgIEBpbmNsdWRlIG9tZWdhO1xyXG4gICAgICBAaW5jbHVkZSBzaGlmdCgwKTtcclxuICAgICAgcGFkZGluZzogMzBweCAwO1xyXG4gICAgfVxyXG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcclxuICAgIC50aGlzTG9naW4geyB3aWR0aDogMTAwJTsgfVxyXG4gICAgYnV0dG9uIHsgbWFyZ2luOiAxNXB4IDA7IGRpc3BsYXk6IGJsb2NrOyAgfVxyXG4gICAgaDQgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuXHJcbiAgICBociB7IG1hcmdpbjogMjBweCAwIDAgMDsgfVxyXG4gICAgcCB7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIGEgeyBjb2xvcjogJGJsdWU7IH1cclxuICAgIH1cclxuICB9XHJcbiAgLmd1ZXN0IHtcclxuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0IG9mIDEyKTtcclxuICAgIEBpbmNsdWRlIG9tZWdhO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xyXG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkZ3JheUxpZ2h0ZXI7XHJcbiAgICBtaW4taGVpZ2h0OiAzMDBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcclxuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcclxuICAgICAgQGluY2x1ZGUgb21lZ2E7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xyXG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyYXlMaWdodGVyO1xyXG4gICAgICBwYWRkaW5nOiAzMHB4IDA7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgfVxyXG4gICAgcCB7IGxpbmUtaGVpZ2h0OiAzMHB4OyB9XHJcbiAgfVxyXG4gIC50aGVMZWZ0LCAudGhlUmlnaHQge1xyXG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkgeyBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpOyB9XHJcbiAgfVxyXG4gIC50aGVSaWdodCB7XHJcbiAgICBAaW5jbHVkZSBvbWVnYTtcclxuICB9XHJcbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS10YWIpIHtcclxuICAgIHBhZGRpbmc6IDAgMjBweDtcclxuICB9XHJcbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xyXG4gICAgLkdDIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgIH1cclxuICAgIC8qIEZvcmNlIHRhYmxlIHRvIG5vdCBiZSBsaWtlIHRhYmxlcyBhbnltb3JlICovXHJcbiAgICB0YWJsZSwgdGhlYWQsIHRib2R5LCB0aCwgdGQsIHRyIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuICAgIHRoZWFkIHRyIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IC05OTk5cHg7XHJcbiAgICAgIGxlZnQ6IC05OTk5cHg7XHJcbiAgICB9XHJcblxyXG4gICAgdGQge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcbiAgICAuZm9ybS1idG5zIHtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgLmJ0biB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gRm9vdGVyXHJcbmZvb3RlciB7XHJcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XHJcbiAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcclxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLXRhYikgeyBwYWRkaW5nLWxlZnQ6IDVweDsgcGFkZGluZy1yaWdodDogNXB4OyB9XHJcbiAgcCxcclxuICAjZV93ZWxjb21lIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XHJcbiAgI2Vfd2VsY29tZSB7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gIH1cclxufVxyXG4uR0NESS1mb290ZXIge1xyXG4gIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMik7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4jc2Nyb2xsVXAge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDEwcHggNXB4O1xyXG4gICAgZm9udC1zaXplOiAzNnB4O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgQGluY2x1ZGUgbGV0dGVycHJlc3MoMTApO1xyXG4gICAgY29sb3I6IGxpZ2h0ZW4oJGJhc2UsMTAlKTtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogbWFyZ2luLWJvdHRvbSAxNTBtcyBsaW5lYXI7XHJcbiAgICAtbW96LXRyYW5zaXRpb246IG1hcmdpbi1ib3R0b20gMTUwbXMgbGluZWFyO1xyXG4gICAgdHJhbnNpdGlvbjogbWFyZ2luLWJvdHRvbSAxNTBtcyBsaW5lYXI7XHJcbiAgfVxyXG59XHJcbiIsIlxyXG4vLyBoZWFkZXJcclxuaGVhZGVyIHtcclxuICBiYWNrZ3JvdW5kOiAkd2VsbEJhY2tncm91bmQ7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5TGlnaHRlcjtcclxuICBtaW4taGVpZ2h0OiA0NHB4O1xyXG4gIHBhZGRpbmc6IDEwcHggMCAxNXB4O1xyXG4gIGZvbnQtc2l6ZTogMTNweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgei1pbmRleDogMTtcclxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLXRhYikge1xyXG4gICAgcGFkZGluZzogMnB4IDEwcHggOHB4IDEwcHg7XHJcbiAgfVxyXG5cclxuICAudG9wTG9nbyB7XHJcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNSk7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS10YWIpIHtcclxuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDUpO1xyXG4gICAgfVxyXG5cclxuICAgIC5sb2dvIHtcclxuICAgICAgc3BhbiB7XHJcbiAgICAgIGhlaWdodDogMzJweDtcclxuICAgICAgd2lkdGg6IDMwNXB4O1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQW5RQUFBQkNDQVlBQUFEZTFVdFdBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQXlacFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1Tmkxak1EWTNJRGM1TGpFMU56YzBOeXdnTWpBeE5TOHdNeTh6TUMweU16bzBNRG8wTWlBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3VFUwOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXRiUzhpSUhodGJHNXpPbk4wVW1WbVBTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZjMVI1Y0dVdlVtVnpiM1Z5WTJWU1pXWWpJaUI0Yld4dWN6cDRiWEE5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM4aUlIaHRjRTFOT2tSdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNk1UWTVOelUxUVRJMlJFUTJNVEZGTlVJMVFqVkVRamRDTXpVM09UTkROeklpSUhodGNFMU5Pa2x1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2TVRZNU56VTFRVEUyUkVRMk1URkZOVUkxUWpWRVFqZENNelUzT1RORE56SWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJREl3TVRVZ0tGZHBibVJ2ZDNNcElqNGdQSGh0Y0UxTk9rUmxjbWwyWldSR2NtOXRJSE4wVW1WbU9tbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZNelE1UmpZeE4wVTJSRU5DTVRGRk5VSkdORE5FTVRrNE1EazVNMFZDTWpFaUlITjBVbVZtT21SdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNk16UTVSall4TjBZMlJFTkNNVEZGTlVKR05ETkVNVGs0TURrNU0wVkNNakVpTHo0Z1BDOXlaR1k2UkdWelkzSnBjSFJwYjI0K0lEd3ZjbVJtT2xKRVJqNGdQQzk0T25odGNHMWxkR0UrSUR3L2VIQmhZMnRsZENCbGJtUTlJbklpUHo3RmJKME5BQUFzU2tsRVFWUjQydXhkQ2J4V1EvK2YyNklVcFUzSmxyWHNpVVJFYmlXeWxFVGh0WHZ0Wlh0dEwxZFI0bC9XQ3IyOEVWbFN0OFZTV3BRaWFiRXZLZEpDbGtKN3BPVCtmMS9QNzNrZHA1azVNK2M1ejNPZm05LzM4eGszejVrek0yZVczM3puTjcvNVRVRkpTWWtTQ0FRQ2dVQWdFSlJkbEpNcUVBZ0VBb0ZBSUJCQ0p4QUlCQUtCUUNBUVFpY1FDQVFDZ1VBZ0VFSW5FQWdFQW9GQUlJUk9JQkFJQkFLQlFDQ0VUaUFRQ0FRQ2dVQWdoRTRnRUFnRUFvRkE0SWNLK0U5QlFVSHNCRG9WVGNiTCsxRW9wTkNVd2o0VUdsQ296dW5EMGQxcUN0OVJtRWZoWXdxVEtFd3Y3bG00UVpwQWtDbkVsNkpBSUJBSS91NG93R1FZaDlBUmtkdUYvbHhJNFJ3S3U4ZklldzJGb1JRZUkyTDNqalJGMlVHVG9SMVBvVDgxTlkvbXZOZGw1Q3doZEFLQlFDQVE1RG1oSXlLM0svMHBvbkF1aFlvSmxXTThoUnVJMkgwc1RWSW1DTjBIOU9jZ3phT0hpTkJkSTRST0lCQUlCSUxjb29JSGtRTjV1NEhDYlJTMlRyZ2NiU20wcGp6dW83KzNFN0g3VlpwR0lCQUlCQUtCSUVGQ3gxbzViSThlbnNXeWxLZHdJeE83MDRqVUxaTG1FV1FibWRpUEN2SVRYYnQyWGFsU05yeGhMTzdmdjM4RHFhRzhhcXNlOUtlNzRmR3gxRjVUcEpZRUFqT0NPMVNSaEk3SVZYUDY4d3FGR2prcVh4TUtzeW5mZGtUcVprdHpDUVFDZ1VCREJxRmcrTGRLSGNyRHdic1JGUG9RQ1pURGRuNzFDR1hLZ1JRT3ByQWJMNFlxYzUydW92QU5oVThvZkVwMXUwNXFMSDlSSVlMTXRhTS94Y3B0aTNVOWhiY292RUZoRG9YdkthemxkMnRSMkZ1bE5IeUYvUDgyMUtad0pvaWROSkVnUjBMdENmcHpRVlEwRW1nRE1zZ0RaZ3RMSXhaSEpaU0h1Qk1TQ094anFTWDltYUQrYXNmZG1NSWhGRTZWR25LcXczM3B6MVVVem5DWWs0SGY2SjBwVEp5ZklUbTFWbXF4akJBNkluTkhPWks1THluY1MrSDU0cDZGcTZJeVpGdThFeWhjUitFWVE3U0JGSzZYNWhIa0VOczV4T2xBWVVBR2ViUlMwWnJ1QWhLYTI0aXdGQWlzdUVmcEQrVjFnT2FPeHM4TXFTSWprWU1NZ3IzNitaQTNubnloTllmZWxNNGVWTThycEViem5OQVI2WUxhOWVVSU1nZDE3SzBnWDBUa2ZuUE5rT0p1cEQ4dkliQUc4QkVLdXdhaURLWndCY1dUbzR1Q1hNTEZwT0FZRW1MYmtSQmJHVE9QMHgzalZWTXA3YlpBSU5pY2tJRElOYk5FT1pxQ0VEcDkzZTNQOCs5dUdTYTFMQTZaby95eCs5Q0EzbDBnclpFRFFrY2txeEw5ZVNGQ1kvRXVKaWNpWFFzenlaemVIMHY1SGNRa0R0cVA1eWhjTEdST1VBcll6bkc4bkVqaDJSaUNESFlxN1QwSTNiZlNKQUtCRnBnZmZsZm1tNDUrbHlyU3lpRDRpMzFkcFV5YU1zVll4enpURncrMFZDbk5Ic2oyVnlxMVBTNUlHTG9CZ1pPbVRTM3Z3RzdoNkV6SlhJRFVZWnUybzByNXRUdVgvbitUTklzZ1R3bWQ4aUJsWVVDZzFYS011NjAwaDBDZ1IvLysvYkVqTk5VU1piTFUwbWJFQ2xyTmtRbVJPU2RDUjNuZVRYK1dxZFR0VVAxWmR0YVExc2dlL3FLaDYxUTBHUXorVmt0OEhIcG9UNlJyZlpLRllJM2NFR2tPUVNuQ1ZkQ2NRSUtxRWswcXZyNFNUL2VJVzAyYVF5Q3c0am9tZGVHeDhoQ056ZmVrZWpiRGxVcnZERDROeUxOaEtxWEJnN0ptRGN2RUhWVkt3UU52RndkelhKaUR2T0dRNXhFSkVraUJMNkVqM0U2aGtpRXU3bUx0a0RTWkV3anlCRHEvWmJEM0RCdGViNk5TSjdWZjlWZ2RZN3UxbytiUldrNVBDSjFBNEFFaWJSL1F1QUpCNlVhaEVRWFljeFhUNzZPa2RqYVRQOWlKdTlZU0JmYUduYW51dmpJOGY0clQyWXYrWEF5U0o2NWg4cHpRc1hidUg1YTRGeEtaKzFHcVRMQUZDanlUZG00NkJaejJMaC82dmIwUG9WT3A3ZFk2b2Qrd2JUVEJRUFNxUzZzSUJKR2ticEZLYWVvRWRrRER0b3ZoR2Vyd2VLckxWUTcxL1FYOXVVbXFNMzhSdEtHN1NETnhwVEdheU53NHFTN0JGZ3FUL1J4T3M3NnYrZjBVTnZaMVJRY0RXVnhqaUMrRVRpQVFKSVVqTGMvdWRTRnpnakpFNkRvVlRjYmtkSTRsWGsrcEtzSGZrTkNCY0wydCtYMEhDb2U1Sk16YkhhZHBIazJ3dkNaYnJnS0JJQ25zYW5rbXp2dTNJS1MzWEdHTHNMTWh6dlRpbm9WbDBzaDBhYXVtc0FlRXI3dmpWTXFET0h6dnBFOGFMbGNwZGZNN1BMbU9yVHRwZHFMMmdiOU9ySTE2YmM4ckpOaDUxRlVwRzBWY253S2JSSnorZ1dIdnlFcHRmdnc2eWJ5SnBFUEZEZy9nT0NvTzMwUGJjM3RqMnh6WHVMeEdZUWkxN2RjY0g4OTIwaVQxRzhWWmtxWDJ3VllBdEZjdFZPb21rZHE4eVBpSkF0VDdPSVF6bk5wbFZwYTdpbW5MOVRjdVExZk5NN1RyVE1mVjhRNmEzNkh4M2l0cFFzZmUzenNGNnJRRzF5bFc0WjlUbUVaaEdLM0tQL1pJYzArVjJub080d1BZTWdYaTRib2czTGJSV2FWY0ZjQ1A1Yk1VNTFLUHZBN2dNWHM0MTA5OUhqTWJ1Vi9BWVB0RGxUTGVuaGpqY0Vvd3J3cE10azluK1lEKzl3c0Y5SGVjbEh3dUV3TjdPSWptOFllNnczYzE0SEdJNzRFTkVueDV6cWVBL2oyUzhwcmxtVDVjUCtqY1A4eWl0T1lFNGhWd0dYRDdEb3piZCtTMitZRmwwRGorMXBXWkRpVEtDMzIzQzdmaFFWeW5KU3gzMEZkd09uSm9wbzZ6S1IvWXNacTJFWXRkMDZkMGFnYms1TDQ4UDFSUktmdldkUDFnbkkrMjJKaTVqSi8wbU55WHgyUkZidi9QZWRHSU1yK1RKZm0yamVWWmxhUXlvZTg4akw4dmpYcUdxRFVwN3ZtR1p5OVJQU3gzekEvZUFFNVJLWk9XeGp5K3FyRGNYczF6Q0haQ3hsQ2FiOGY0bnVNTjMvQ1gva1h4ZHVVNTRuam1HSkFoRjFPYzBRNTVWT1p2YUt0U2gwNTI0YkVKdVFiWFZSK3BsSG5QQ0VydloxZEMxOG9TWjJnWkpITFlzdnFYU3Azc01VM1d0VGhBa0dQQ1dVbnZQVXAvK3hLQnlNajdOUkU1WEQxem0wcmRTNnREVlFwN2NrRGNCK2dkQ0xvN2lOaGx0R0lpWXRhUS90ekprNVJ1V3hDMlhNZHl1SlBpNDFZTzNJZFlreWZMTUJielFFbXlmU0RzZTFycXB6WUhuSkw2RjhXSFFMMk8ybVY2ampWMHExZ2c2TkNCNnkwS1oyaCt3K1QyZnBJYU9oSU1xTXMrbHJGY2xja1JoTjl0RkI5Q29oc0ppZmtPeWFNZG50VDgzb3NuNlRTNWVJRkpaQkIxSGNvT3dnbjczUnQ0OFdFQ3h2WHUvSTJ3blZwQjd4NUMzN0F3Um4waGpZRThCc09UWHgwV3J0ZFRQSHpUNVQ1T1ZPa2QxRmMzRnRTbUNYTnIvcDZkZVN6ZVJPK2huMTlOZWMxMHpBbzM3dlRXL0Y2a1V0Y3ZwZ255UUNaeXVqNkJzWDB5aGJzbzd2V1U5eE14SjNNUUZMaThnbzJWenUzT3RqelpRZDdkdzNrOWxjR1k3YWJNTG9TbXFBakgzSlEvMnFVN3AxUFpRSUxxTVJFL2k4SkQ5TTVyM0JmbU85YkpQandtVDdLUUtlUnhOTGMvRnZkZGZSWmJqdmpCOHF3dDExY1NRRDFkN1JCdlo0TThVVHp1bGtmVTYvWTh2MTVrR1YvVldFR0JzWFVydllQeDBKM3F0dGpqZTNBdDJvbWEzOTlocFFqS2dqaDlRMzJvaW9wd2d3VlBDZlRuR3VZcHRRMTlvd1l2akxFUWU0RGV3YnorTUgyRDBiVmIyb2J1VUV2ZUU4c1ltZXZBcTU3YmxKL1BHelRBTFJUbVVScW54OG1iU05sT0ZERG9SMXJJaWc0RjNIRm0wdnNES1ZTTlFlUUtLUHliR2YwWnl1MUtsL0pNZW1lcnpEMkh1N1JOTlFwWUlJenhyQjk0aFgrTDNyMmJRdmtjRXJxTk5IaStabzFOR1B2d3FTL2JvQzFRK3UxV2FKYmcvSFJscG9RT2VWRDROMnQ1V25sOE04akErL1R1aVE1eFRiWisyM0lac0NpYXFpRnpMdVhmajh2K1ZBU1owd0ZDOU9zWWVlSmF3ZGMwWkU0SGFCdW4wVHYxSE5OK21CY0JYV0pvUC83bzU1VEdKWTd4ZnpIOFhvZkwwcG5ydHJuakdCaEU3OXdib3o3cnM1YXBsM0x6b1lpRjlHQjZyM2RwekJHVUx5YjZHVXhBSzN1ODJscVp2VUNFODdpU0Z6c25lYVNQcXpCbjA3dGRFdjVrMnhpNW12STdzS3pNNzF3M1g3Qkd6R2Q4UVhNNG5ONS8yWElJTG96MUZybURzdlJRS2Y5NmxUMi9BWXRTTE5ydVVlNXVYVEJtSHFMd0Ntc21yWVN1a2VINXl1S2VoWFBMQ0pFcndJUlAvOFN4OWUwelNBckNjQmlsZFMvUzlDQnp6Vm5yMGlxRHZBdFlXL2cyeUtFSG1kdUtTZVJkRkxhS2tTOG00aEZaYnArZFdPaDN6aUNabXpFb0thMEtPU0owNi9pdlRVc1hOVUhydGx2SFI3eFh6VkV3b0w4OHd1MGVoK2hDQ3pHSzBqa3VJcDVKMjFHRmhjdW9tRnJGOWt3NERvblpiclBaeWF4UG5pQkx2cVFGazhFSWRqOFRsMlM1QW5uOGg4bFlGRXdMZ2pyY3BzLzVUallxcFpXODBwTWN2Ukd6RGJHQVBqbkhoQUQ5ZFFKcjNuenhQZlczVHgzeXdFUTlJS1lzQm1GOGx0STRQY0hQdGpsaGhxWjRrb01NeUFjeUJ3M1Y4eW96RzJNUTdGbmNiNk5na252YjBQdFlFSGVQOFEzNzgyTGlvSmpseDdidWFOYUliNGIweEdneW1weWZTUU1RMFdqRUs5VWtjVCtSek5XYTN4OVVLZlY1VXJpZU8zdWtjQ1B5ZFFTditMZE9LRzhJbTZtVWJvdEtiWDc4TnFLTzBZWXZja05uZ3F4NThDWUNWb1BycDJFQ3lXSEw1akVLRnlaWXhCb1Jrek1Fb203ckZJU2tyeVZkblZDR1ppN3Q4dVRYVEFnZEM1VExMTTlCZHI3aDlFemZDTUV3RkpveW1xeStNOFRaWUZtcFlsTGVPWVpnNjhDTGlISVp0TnRibnZIVHE5dzR3SUx0Q2w2UjJ6Q1daVWVtQUttYlFtMnkxQkxIWkZNRHplUFRHZFJ0WDhwN0ZPWDliVVFiVm1JeXYwY0czOWxFNVJaWS9Pd1Q4OTFKRHYwYVczQlJyajIrNTNGWHk2Sm9lWkxTZXQ5MWU5Y0dTdU1UU3VzOVpUZHhHVTl4c0h2U2crTFB5ME15aHpvdFNpZzVqSSt4bEdiekNGdExteGVDKzJKOFExMlcvWFVzMGFCRXdKWnpmY3NpdlpENzhZMG1RbGZOMHZFeVFhTTRMTlpCWU00S0VZYXJITWtjVnJRd2JDMWhFaHQxM2RNVmxQWVhkU2ZOZnRCQzVzRDBYM1lnYzVoY0YzSVpvRUdFOGFOTkF3aTE3RXVVL3BGRTZteUczL2M3a2psTTdOOXhXKyt1TlBmNFpvbk1GZkRrRWtYbVFOTGY0YitvbjBNdEs5d0xLTjAzcUYwR0oxUk1VejlJcTl4TlpnZk5hWkRXSnFGZzhzL1lTZlBiZElxL0xFS2JVODFCT0xTd0NEajBNNWdjakVnZkdtQjdIbXpOL3NOQWFHSHJjNDZsYlhUWVFmbHRLYWxBV1o1MUlCem9yOURxTG1IaFZwTzFaUWZ3dTc2RVRtY2N2b3lGYVByd2hRMDNVOWtmc2Rtd3FOU2hrN1RENk45NUlZUCtNNU5sRCt3eXEvSjNZTEY3dnFFZXFyUEF0cEZERTlGdWFvZzdqNG5FYmhIZnVqWG5mVTFFZlJRcHU3bE91aTlPNUxiRWhIWnNRZ3U3T0tTZ3JtVUJoRGJERnZBWTd1ODF1SnlGUEk3VGkxSmIrZ2RaSm5wOFAyNWhHcDRtRVJRZlJCaDJvN3BEUTFWNThYRmlRcDkvcTRyMm5ZbisySm5LaFRrVzdreW1lT2J4Qy9mdjRIZ3JiMWpVbXNqU0pvT3NzMjNQNHgzY2N2R1NTbTB2UXd2Ymd1dTFsa1ZwOGdDRmYwYWtxOE1aTVJjeHNCczBhUVlIb1R4cERUQjlNOFpnUjViTDlUWHhyNk00ZzRPSG40S0VycnpuQjVVbWRnNFNPcHJZOTNaZ3k4L3p5bm9ta1lEZkEwU2pHV3ZnenJhUXF6NFVkd0s5Tjhmdy9DbGx2Nk1UUWhTcTRqRkV6RllGaUdCOUhrQzNLUE0rT3JZeGVuQWNuWFlPQnExZEl3WVk2bVp3Y2MvQ0x3UHZWZWZPMGwzWmo3UW5nYk1qSm4zWU8rS0drbEZVeHhzQzdWcWQyOFowZTBrL2JwY2tMckczSFlyNHc2RW1EWjZ2MU9hbjZ0Qm5ZRmN6VkNPRTlsZjZVM2lqSEZlQXRva0RCT0JoQXhFQWNXZ2I5aTFGLy84WkNCdTl1MWpwci9jN201N0JhSGlCUjcyMU5peGNackpnaFFadmdhYnNHRE0yK3hmWWdXSjdmVHpiR29hL0grUGxUS1YzS2VPSzRheU5TQjhlcU15QytuN0xlSzdQM3p6ZW9nM1p3QWRPUUVMN0dyU2VLM21CTlpIaVBzY1RyVzRMNVh4b0pueTNsY05yVGliM0F3TkVvanFUdGRzdHBQb2NQcml3eWRBSGQ5RnBDRUlFQ1F2dEljRTJaRE1CYUs0SHF0emY2OW5lVU0vQWlWVE80SFZXaTFUS2hBYmFheWdMTGxMUjl1VDlEWXRROUxHV2xQNFBvYjRDbVh3WnBmKzVZUTVyUjg4T1RlTDBLNlV4anRMQ29iL0xJNkttN2JsUHBQZ2ZNT2taNm5JekJNVzVKVGhYUWNPc1VuYUJZWHhNY1JzN2tuQndsTWNzL1JUajZGUktMM3lZRU4rTHNoY2J5Z0JjVEhFRzBic3pQS3Z6TE0xdnkxbnVMV2NOM01yUWQyQkg0Z1JEZXVkUkdaNE8xU1htN21mNW9Nd3N0Ym5wVG5tVzQyZnJDTjBtQTZrcnIvSVBZWVBBQnkyYUhHaE9UcU5KZjdONzUrZzNhT25Ra0RPSUdQeEhwYlovZExaM0ZibFR0OVZvNTA3akZad0pzS1VvSWlLM21VRG1yZFQ3S1kwbm1ibWJUbXhkVDNIK1MvRy9ESkc1Q3NxKy9RTVZlMGNpY292REQrZzNUUFpQVWhyRGVYTHRtQ1h0WE1XSWxSVzBOSmRRVy95c2FSK1VzVGMwY1NxMTFiR1ZwaCtBS0YrY1FGRk5FOHU2d0w4bnNsQVA0emlsUHduZXpwRG1xTkJrRzBkRDExSHBiWUFnUkRwRU9BcnR6bVU3V0NQSUwxWnVKM2ROZ0QxZmQ0dkdNcTBGYUdwNURvSnpnVzBDNGZUN1oxRE9Ja3FqVnloTmFHT2Z4amFYU3RsTW1sdzl0RlBSTnBCblJtanhndm5DZmduZm9ydnhBQnJKdzVUWmhqTUs2NWxJekF6bGlmNXhCK1g3QXk4TWxDSHZacGE4cjdHUUkrVGJSamRSMG0rUXU4TW83M21zWWEycWNnZlRvWnZQUTJST2Fmckd3eEhFbzVDMVFycEY5U2xoTWhkSy8zNTZILzFLWjMrTk1abVVPNU9yV1VQa2FyZlltT2VIWG56dzZsbHV2MXdDQzdkR0ZvVUZicm40eENRbnFOd25jZjJadE1KRkdXcEJWL0RZZlNaaTRXWGFxZXdiSm5PaGIxaEMzNEErTUVhbjA2Rm5YVlhnVkhDYTlacTJWT3FwL0VPNUFHRTR5TUo2OFUyRk9qS25JUS9UbU1XYlhCTWN4ejdUd3JqVmttd1BJbUczNk1oY2lOZ2hUeEREbHcxUklEUjEyeTdRSnBoT1dXSkZXS2dqY3lGaXQ1YlRlUzFMYmRWSm1lMnI0QTdpSEIyWkN3RVR5aXVtbFEyMXl3NVoxTkQ5RWlKME9yU3hUUHhoZkJoeXNiRTJKcUV6MlhYMnB2Uy9qeUFRbTFnTHBVT0hET3J3R2tyN3lnZ3lCOXhnZVFaajlYT3pmRThrMnZFdVMvMThiS2tmSUdxTFVibVN1ZERDeGphcHhzVXRFUzVRb0xINTBQZGIrWENJelJIOUhWRmFEM3Irb1VyT0pzb1ZwdmtzQ2NXRlNmUFZqelZ4VVhqQU5DWTliNld4MVRsOE9aNnEvTzIvSU1PSFVKaEtaZGs1eDIxMmxlVlpIeE9aQzN3elpLek5IT3VFREw0SmZqR1BwRHdHMjhnY2JQVU00eGh6L3gwTzdZWXRjSjFkNDFaaC9wTW1SNmFKZjArVmZ3aHV3VnhraWRlTnlJS3pQeCtLT3plaTRTOE1hZWNhYTdRY2FiekIyaU1uRUtuREJIQ3VNdHNzbmszNWhVK3JtVndiSUszT3JJV0xCTVZMNTcwdUMyMTFsdUYzR0hwZnlscFNmWVJXVFd0UmdDSHNBbVhXSUVKTGVXa0M1VFFSdWlEaGdwWlFWOTZkYU1BMkNnMWdwSGRVaEhaT1dlcThQUHZKMGdtSHVrcS9oWUJ4NGVwRHpHUkxzdytYM1JldmtOQ0pQR3pBUHRGTUJBV1R6Y1V4eUpBdjduVFFNanhwZWJaWEZzbzBQNFpXS1FwTG83UktYQTlQVzZLWTNORGdFSmpKVEFReXpQWGd5VUNMTWlFYjJHajRmUS9xbTUzaUpzcGo5UlRENDhjY2szbk5VRDZNOTkyVHFnQ01Md3J3ZlZhby9BODlRZ1A1SVgzdk1ibG9MTjdXTjkzSUE2MXBQOGR2eGtMUjVQY1RaTm0wT3hZMWgzWmxVNVlvbUU2c3c1bTM2N3o3cW1Vc2JrYm9USVhhamsrcXhnWHNSMTZNR1g2enNPSTBUSVBvTTE1UitBSXI1UThNejA3MTBHYmNSQ1ROU3pWTjhiRmQ5bjhXalUzTC82bTlpaVpqai81b1E5eG5pS1I5NHBNM3hVYzdQWjdrWU9UdFZwTUxsd2Q1UzFYMzNxRVVCcXVVYlFTMnJLTnMvTTVQb0xpbUxkZlZBYUh3bzZWdmhJLzh0ekdzK3NPRXpuYll4YVNsYTYzMDlwNXc0ZkdUbzRCRHZHVUphb1I2T2NhejJWSU9aWjkvMlFRSSt0c085Yk5JbVgxMzFXRTd3RGdUMUc0VVRxV0F3eFVEWWRSTUFkN2toOFZZYkVUaGRkYklSR0Y2REkyV2JVSWZ6dlkvTHYzd0YxNzg1Z28ybHlQUFUxdmN3YmQ3K09JWXBUZjdtZTlxazhxSGwweWF2SU9TcmdqS0R6ZXQ0SERTNVJhRmprbFd2a3IxZEhnTzJ1dFlHd0YydlZFaVBjMUZFRlVkYkhNNGZPRzVYcnBnY2drejNxUDhuN25JNjdRTjNic3F0VmR0S2t3c1gzUkVGR2FxR05zNFJGaHFob2hiRU4veXhMK1RaYkovSW4zNHdRZlFHRkc2VHhrbXRicjBiQStLa3g1MHBndVA1eEk1bXhHekF5UHYrNVRlQUJRYW4zR0JmNXZVOFAvTklPOXJFaHlNY0ZacE92azdQRVRpS3ZFcTVrcmxlRWNxcjU2Z1NYa2tnYks2YkxrQzJLN1RhV1hiaEZhTE9wdU1CU1NBUGpJUlJnT2gwMmxzVGZabkZVbkkrclJmUllzR2FvcEhPdDk2M0d4d2hPWFpzQnhNRUQ5NWFBQ3hOYjZ6cFcyY3JzbUNVVHY5T1k4WG43dkVLSFBjcTVsY3liRnRPN0JTRElJeDNyT2NTMVR1TUp3WEh6clppYmtRaDBTdXBUYURMSHpFVWZ0aUc1Ty9lWTdKYlMxak1uSHdOaUVXRm8vell1dEtaVFloQ1FKeXZaaGRIYTNLWW52WmZCdE85a3hyY3NSYzVZdVhYT3dKMmUraFNTblduRTg2dThEa2NtWnZIYUd6K2RmcHJCeFZtd25pWU11enovbXZUWE9ZaVUyWVRTQTFDZ2hBVS80VDRtWU1lN3BmSjlhZWFaajRncjZUVE5zd09EVVpsMHlDYkdERlV6T2hOalJ0MTY5S2sySWljcnZ3Q2hGYjUzVWMwNFh0RGJhU25xTjAxa1V0b3h3R1hFWExwQm0yNzRNdG4rNWszekd3S3dxUWhiYWFPS01jQ0dPWU5KajZvR25BSitIVHE3cG5mSis3VGh2RjFCU1ZCaks2L285ZFdNQVdyN0NVeXYrelk3dzFNUWpHcmhGeXhBYy81S3BDK0xRNkZyei9qUGhtMkcxZFJYSC9zTGVrOTZaR0pOM1EwdDhmeU9LQ002bDZnZHo2WTJlTTc1M0ZsdXlGbGtVZmdQdUFZUTk3V3hhTFp0dHEvc1F6clRtV1ozRnVTWHJmTVo3dDlweWJrNWJYNVFLVHBHbEYxN3hUMGVSY08zOXNiZmg5UVhIUHdyUUFzaG5EZjVGQjNqWVZlWkIwbUxZak1uVUV1Y2doYjlPM0w2VDZpZVhpZ043N1BlTGJmV0c2dzNNNUVibldGRWF4RnVSbUJ6S0hyU09vdDQ4aUV0ZVl3dU5wTXBjQWJLNFRWbWxJeHdyREpIQWdUK1NOREgxalJFS0VMdHNIbFh5M25IeDhWZFkzL0w3ZWMvc2tyOEZ1TG1hWElwbnptY3pYSnppMmdXODgwL285eDU5OHJRcjVNYlVBMnFvcDFKN1FSdGtXdXRrZWsxdm5zRDlnbXhpKytuQWxYOVIyK09YczdpZGJzUFd6Wlo3ZnRkcXl5S2xrdW5raGdYNitRNWFiYkt2TkNCMU41bEhHc2QxelBPak9NUHdlWENrWmZlZGxNdG5UdTdCbFdPZXdVcXJnU0FKODhZUERCRjhsRzFxRkJNcXVXeXpvVmtOWStYWlEwWTVsTVdod0VtNW5hcGN6S2J5VmhiNW1XLzJ1MXF4a1RjYXA2VU1RTFRYUFlLTTRNeXA5UjBLM1haYkgza2JQK0Q1anJXb0NhZVE3bVlON2g0Y2l0QnRwYk9BK0RodW1UV1hvTTAyeWQ2M09iMkNlRVZqME5aZ1J2ZUx4R3J3UWZNRGFxOUlZa3lXbFVFOVFpc0FHMm5ZQ0d5UTNtN1owRlJPZXF6WW1TSnBkODk4MmwrMFduRkNmc0FpVlV6b1ZUVDRoRndXaWZMQXFNcWxhZzl1aHByS1dYOXFxYVd6ZlJtelBaWG8vYURkajBvUlZ6N0FLYWp1UWkvVlo2anhKZHI1TUJQdnJMRVFiRUluclJXRnBGcnVjU1JqL2JKaWNYbzRnZERwRDNsR0d0TmJHS0ZlMmhmc0tsWHRVVTFzQWFNSkgyOThWc1VDQXowdjRBYXRQZmFJU2haMG9ORkM1dFNYTEZDYlp1MDFaS0R6YmZjR21FYVllcmhwbTJGTk9NRnlNbm0wUysyTXAxUlBtT0d5OTJuYThEaStsWm93enoyNXQrVmJmMDlhdWNqamJmZU12OHZwL1dxYmlub1VMaUV3OW8xSUd2RG9Nb3VjSFVyeXNkUzVLSHl1L3V3MlAxNFJXVmQ5WmtvSVI2UWN4aTJIYnR3OXF6eUFJZE5kNFpPcnFaVGVIdkUwRVp6ZXF3M0s4ZlpwazNuSHduV2Q4dEMrMHhBOFRnZnNzaDRLaGhxVThPb3hUZWtmY0xkaGZsRzZiYmFTSk5NWWdPUmpBRFRTL3czWnBWQUwxTVNXTGRXMnkwY1NCampvMjU2dGxCRFo3S1p5eXV6Snc3VnRaeG5vTHFkM2U4eHNybGNZSHNFSDdFMVJlSE1iQmRYZzRFQkRsSWdieXNZZmEzQytvaVF5QUNEMlhRSEhIbFNMNTNjQTNUSmg4TTJaelMvR25HSW9QVTc4RUVkK3FGQmF4dHQySEFSSGY2RTMydzl1RzhKM1d4VERJMEhBdkVtRm9UWVRobHl4OVBMWjJUU2RiaGxLK3djcXhuYnh0blFHaGEydDVOamYwYngyaE95N3V4Lzg2c1RiSVJUUEQ0ODhNL3c2VEU5ZzdlbnNXcDNiRjNaSjFFbXhMMTVQUmM3aGpQME5FYmswMmhWTkJRVUc1a3BLU01ObmR6b2ZRa1lCYlNjSWg3WWc2UEQ1TzFnZ2FDSXVwaHJSK1RqbjY5aUowSU1xNlEwTkxLYjBlZVU0RXZsSG1RemRISlVSSVN3WHN4c0YwK2hNSHBUcm4rM2FrQjJCdmJUb0lnRHFZNkpGV2pkTDhFSFk4QzM5NE9PM1pVcVZ1VTdCNVpyaVU0dUdta2VCaXpIVDk0T295TUNaZFlQUG5XajNML2N3RWtPOUpIbW5aVG1ZdnlPSTMyR3p0aHR0dUtIRkZ2MzUvbmxuOWl3MFR0SFRLdm1VQWo4Y3YwZVJmSmVtdnBqUngydEhrT1J3YWtUN0JIMmp5eHhhRnlYL09oVXRiTmZYMkZjWHZuRzk0L0gzQVpRbGdzdWRxUk1Uc2lKalZjSjR5MjVWTkMvemJkdW9xN2xWWTV5VGNwSjlhVnE0bHJMRTRsdXAwUHdxUFpwdk1wVG1kNWpjdlFzY3diYnZlcnZsdGRNU1ZNS3M4Q1ozcHROWUJTWG1VenlKc0o5UGFsL0ZKeitidW9jY1dST1pzQzhyMFl0b0hCK1hMUitFeWVncW44cUxlSkx0Z2p0UFVjVXcyb2pHNTFSYlEzcmFiTk9MWXY3b2VwTENkbUQ3S004OFdsbWZ2WnJIdTRKWEROUFlQVERvekhYbUFjOXZaRVFOMkdoR3dSTHhYWTR1UUFraWt6Wi9ZNDBRMmRhZEhYelRFaDR1UGMyTVU1MnlMZ0JrZDhmOUI5Q1ZTNXpXNVVud1FDOU14WmdpWEtRSGlEUzJONmFUV2hWU2ZlM20yQWJSS2x5ZlpzZGdQNENzV1l2VVF4Wm5pU2JpN1VEZzlicGxLU2tvMmVXZ0lWc2NnZERydGNwVFd5YlR0YXJKbk5MbWx3VW03Vm5rK01VeXpQT3RDazErRE1qenA3V2Q1WmoxVnlVUzhaaG42VnB2ZndiTmNTUXpGdzZubncvTHQ0L2htZ2VzdFVmWjJISk5WdDRDRkNtQnpJN2JROHN4MGhaK3JWdTlOeTdPVERQYU14bjVwZVRZMWkzMXBuWVdZL2lQcmhJN0lBaG9CdnVkV1JqVHdCMFFFdXZFbDhYSEpYQ091VE51RjRGQzczbVI0WnJ2cXFCOU4vZ2Q0a0FXVXhlWnY3eTk1Vldyekk3WjBUVDY0NEhUWStXUXdrVG1zZ0dBL1pqcW0vU3psRjdaYk1Ua1F4c21nb2E1YVZMWmJmRUpsUjNWdWE1OG5xYzZyZTdSUE0wNXZHUDM3ZVZ3TjVsdVlnZ0l0eHpacDZGWlpCaWxXWFM2dWNUQ1lvL3dTbWdpZFNVTTMwU0lvKytTNVJ1QWxaVFltaHBuSGt6SGNCK1FMYkpOTGxBSDE0U3JIcCtFeXhFVExOOEVNeGRXWmJuY1ZmZEs5dEdDelc2dXNXYWlZNUVWdjZ0TlZTL3RqcUF3N3hueXZTc1JpMytiMzFIVG9xNTdqRllNd0hmckswZ2JYT0g0RG5DYWI3Q1BYczF6S0prd0tnR1pVdGk1WkpYUk02c0M2VVFtL1JBZ3dITStmaSsxU0NzNUh0eW51SVJUZzVSOWJNRGJWS1k0Wm4wWGxXVzNRQXNGLzNoaEwrU2JUeEgrMEExazRpb21sNlJ2R1VWNDZyYVZ0ZTdvN0ViWGVGQ3BFa0Rua0NhUDVreTExY0svbWQzZ3pOMjA1dzQ1dUl0WHhEaEh0Z0ZNL3oxcnl6Z2hVWjVPVTJaNFBoMGNtVU4xdjc5QSs3WmdZcFU4cFlSQjhTcjkzU0tDWWNiWmNsYVhmQmZFS1grbWpZZ2k5YWdZeWliRlFiRmxvUFUxQ29sUU16UjFXcTBzaTZxMGxoZWZ5WVFLTUFkdUo1Y2FXeVFZeXVLZHRIWktIN2Jnc1lxSFNrNzZyTUdLU2hYYmlraHlUbW5JZVpnbTJ4ZVlQb2ZxQWpCNWlrWFBGcGRtbjRmUWM4cEwrdmtEaE1JLzNjR29aL2o5Tk41eWdIOWl1MHJNWi9IZDA2R2NseW43ejBVMVV4b1lSM3dBZThLQWx5aEMybzh3bUJsc1dRSU9TdkJ2WFNEYUlSTDFGRXo1Y1I0eFFkaDh0dUxvQzI2VVBVdnczZWJVQ213S2NBc1hrc3cyVEsyd0RZczhZVzdhN09wUU5XM2JuVVRtbVJjUzdsdFBVVFdMWVNweEtFejlJUzM4S3M5SVh3dE52R05pNGxnZGV3Yyt4Q0U0TVZxMzZ2VktiSDBjU0lRTnBNVzExM1VMaFZJb0RnZjBTeFY4YklITDFtSmpjcXV3bmR2clFld3MwN2JPQjZ2dGFaVDVCQ1h2SGVSU25MOGdmeGY4cVFPVFFKckFWd1NHWUJsbnV6RmR6bjlEVkw0VEx4OVFXdlRHd3FHMldoNGdjdEhMWEtiMWZRbWd6UjFFYzJGMzJ5cUI4dnFkY2c5cW1xQlhpYUlmODEvZ1FPZ2JNSXM0MDFDbTA2N0NuUTkrWUdIVTlEY1hEV01RMjlsTTVPbVhhVTludmRNVWw2VTJvWEQzUXpYWDNndEt6ZWp3aHZFUFBaNm44Z08wK3pOdW96S2VGMjRKK2cvd2RvT3hiNWRWVmZnS1RwT2tBR2JURXIzSWI5ZzlPbVBSYmJaYUwxNVpDbWJHNHY0L0tBTGszTnVLdTI2c3R6M1FIdm5CbDQ2Vks3enZ0ZUFvZlViNllSMTZPdW42T3RXa2RlVUc0TUlIdlBwajdFZVRvR1pUK1hKN1hZUWMrZy9KWUVjcC9KNTRmcm8rWXF4K08rQmJiN1F4OVVRNTZmM29nMzZxYXkrb0hjRi9SeVdtUTVESFF3TkY3Y3pYMWlIZEdNVWN4YWVmdXpzRUNhQUdWWmFqU1g2OEtEZWdrZW83ZHdUNFU5L3VJdm9HeGhjVVN2QUlNY1NaMFRCcGV4YWxXVmhsRzJYaHN4WUlwQ1R1ZWpVem1ubmZRQW4xQmt6b20xa2N0MGM3bThCUEZYY1MvN2FyY2pqN2ZTSG5ZT3ViNUtuV2kxclFGMklpMVlMOFNpVVBlSUMzUVN1M3VzUHFlemFUTDFENmpxSDJ3RFhtaEljcTIvUDZkRkE5NWY4Y0RZemVWSTNjQlZIZlRxYzVCUUV6Mmdkdno1UEFBeGZ1U0Z3S1ZlR1ViZFFMT3BxM2FEQ1VsSlQ0YXVpaS9ST2x0RnRPRUM4MmNpL1BTbjMwbmN0d0p5NjRFcmpCRXdZbGwrR3hjVFBHbXNHQmR3ZU1kV3hVN2NoODROTEQ2L3N4UjY1aXBjSnRGWlhvc1FqdURzUUVUaFA5UTNGbmNiemZ5R050Yi9la2FDSDBxWHdnZE5GWTNHSjVoY3NTMVN2ZHdXMnpMNU9KNlpiZFB5bHRRTzQ2ajczbUR2OE0wSDJDaGRqdkZ3MDdLVXBhM1RaV2IwK1Zzb0tWSzdWNWdvYldNeW9WNURUc3puN08yQ1pvc2JNM2hhckIyaGpTd3VQNVFVeCtMS0QyUWc5c3RmUnJrNGhzZWt4L3ptQ3pIWTNJSGp0TkUvZWs2Qy9KbFlVTGZIWjZUYmcyUUJNeEpLMW1KVWt1NW5Ueitpa21zRFRaUEUrQVRiMUhlQzFqVzF1RDhkdy9WNndxS2M0TkZVd2V5OWg3TFE5VHZFdTVuTFZrWllOdWx1aU1od3V5Q20za2hxek90S00ra2xUNmpLL29qZHJWd09uWXR6d05WdUY0YXNzeXV6UDNIajlBeGFaaE9aQUJDNXdXVkd5ZUM2RnhkS0Yvbm8rOUVHZ2F5RGR6VkVWRnJXWWlYZGdWQ2FkdlV0ZERTTFNHaWhvYWFIS0hKcktUTVIvMU5ncU05cGI4aEl0N2wzTmd0SStJMXlJRTJ6cWloWUNGaTJ5SXQ0SW5hMVk4Zk5EZW5VZnZNZGZYd0NCczZEYW1MdGVXSzFUME52dkhLZkt2SlJFZFZ2amVoWTBESUhSRkJDTEJvT2MreGVwcm1ndEF4cnVQOG9zZ014cE50TytKQWxUL0ErSjl2NmI4bnEzaW1EWlZWL2dLay9GMWxkc1NlTG44enkvTlpQQVoxZDE0bTdhaTRkV2doZVJFSEg5eHQwWHIzWWpsc00vUFprWlVMTGpoVTJXOXdpa3ZvZE9USzUxQU9aRzlualRZdGpMZFU5UDNnUVFLMzJDQnJCL0VXL2xrV09YRWRCMWZnUUdXZkhDNkF2cUp2UUY4YlpvbFd3VU1wdGkrbHQzVjRCOFBKSUpXMzY5QkpiMUYydTdwTWdSc0NtdmlRdVFEQWNKTlVuOEp1cmF0TFJDSmRNN2dSa25LNmpGTXh4MUM2M3ptMERRamZpY3JQOTVNT1dYT3VTS1FMYXZuT3ZDaElBbGhObmtUcHZwWkFXbkczWEZXRUJtNmtZLzYrYmt2U0FnSkVFRnM1bnlSVXAwMXpLTnd3RWJSVi9oZTU1eTJoWTdja3QyU1F4SGpENzNsNyt3Sjk4enlWTWxlSjY1SUZZK3dDbnZSTkUxd2lZT1ArVEUvVVFxTTN5TGJJVTZrYktHWW1WT3hERS9odWFIOWFKTmpzR0xzd0g1amgwRDh3Ti9YelNOdTJNRUEvU2Vyd0FzYmFXYmwySlVUNURXY0ZUQkw1b2wwMzg4amhmTUtJaU1OR0N0Z3lnRXVReDVYL25ZODJRQnNGTnlPdEtJL0ZNVWxEQ1FXY2xvWHRRU2JlMkdGSGRBYWxkVVBhM3M2UjFMM05Hb2ZKR2RZRnJnWnFEczJmUjl0Z2NqK0JWNGh4N29TY3g0SW9hNkM2eE9BK2sxZFJtU3dLSUN5YlVIcVRFeXFhOXluWEFNWWFCdWNtWlhhcG94T1Ezb1NPQmNReUZ0YlBKMUFQaCtSWXVHR2M0VERTa0F5U2FaUlBwMkxwbTdEOTM5dnpOZlFWMkY3MU5UeXZvL0lZOU0yamVMRzIzdk5WYkxQQjltbU9NbnRVU05KK0VPTWtrNzZDdHUwU1paUEsxNG9keTNOa3BqaVk3U3d6RXIwSnp0WFF4amFqYjN6VjR4MlkyN3p2R0xkaUJEbnN5T25GdmY3d2QzNy9wSkJqNkZ5T0Z6aXh4blorRXRkWkhoS2IwQVhJdzJJS1VMVmo3N3FIU20wenhLM2NpYnpDYTBocERxR1E4VDJWTk5GRHdPek5nbldseDZ1cnVMRWJVaHJENCtRTkVrWUJtcnJUUFRweEdoZ2toOUg3bDFGWUY2TmRObEVvWWxMcFNpWXdtVHpLSzlkdnN0MlptWFRqZWlUWWVBMzJGRFFnbmRnK1BJTFNTTkx1SWE0TkhRWW5Ubkc5eG4wbkdNYlJzK1dPK1pzRVN3V28xS05mTDZBeFV3QXlnRzMvTjJQV0FiUjhEL0NKeTF3S3R6VVVzSkREZHNxVUdFbkE3cTlVYnhyUWZCTnNrN281TGxwUTc4ZlFPNDhwczdmNjdST1kxSE5CWkRHNVRITjhCUWZKR2dlODVKdmtkSkxielZod1E0UHFleVhoUXBZN1o3aVNBR3lEVWJpRUZ5d1RZcFlYZG4zWWNhcVFZZHZnRm9zR0tyWGJOQzBtR1hxUEZTNkhVWHFmZXVZUG9nK24yMk1TNkdlYktOek04NVhQN2t3SmN3MGlVZ1cwK0MwNHRtdlhidHVWNG5pQmhyQWhjNVE0TzJQb2gwT1ZSaE1jdTdNUWVZQi91RHNRT2hWTjNvOVhKYWhvMkVwaFh6eDRkeG9tdVI5WmFLRkRZRzk5S3FXUmxWTjFOT0VqdjF1WHRtcWFQbEVIMnduWWNld1dXUFd0NXZLOHk0UHVaWG92a2Uxa0ltUVFjTVcvVHF6ZGhEVmZMYmhlNmpHSkJwRlp3Z0lkUnBERjlNN2lKUEttT29XeFpBZHFrejE0NWR5S0NWUTlqcktDMndBZC9LbTBScFRpbTJ4L2RIWmc3WlQrWHJ6Vmp1MnppUDVjUU8zekwxNTFvWXhRSDhQbUswMWlRSmJtc2hDQ0p1eE5INDJwQjI0MC9QNis0K0JzbTJIK0l5eGsrdmZvL1B1dEl1SDBFUWtwaksrelNYYWhmNk5NUi9EQ0JpZldLbkdmUTF1dTQ4bGlQdmY5S2V4T3hBYVlYRnhnZURZbkFRRUhVNHZYaWJpZ3o4TE9zamtMdkIyNW4yMWdHZklkOXdtVWV4SzlaN3F4NEFwRC8vUnhUNEN0b3RHZUpEejlQZjNwV3lBREx1T3hzaitUazAxTUVFQXVZRXN6TnJEdFk2dGpFOUhHV0RlZEZwM2g4YTJtTkpaNHRDSDZRUXQyd1FBYk1aam9RS2FVWiszZEYwemFuNmU0WVZjWER5djlsclB0d01zZ3l5Smd1YVo4a0UzM1VQbGdOM1U0azR6R0xKZXhLTmlHU1Rqa0kwZ1FEcVRCRjkzcmNiZm02RDNNYzIwcHoxMjRYeC9KL1hvbmxuTWJlVHl1NC9INEJjc2RqTWxGQ1JJSTlIdWNGaDJBdTNaNXJqNllBOGplOWl3ak5uQmJmYzB5QXZVL1huZUMxRE4veVBLVCtHcTF6a3gwTVI5VjRmeVc4cmllNUpnZURnMjBvZlFhc2ZMa2FKN2o2Z2ZrWm5wK1JSOFpnWk9tTVlxTzhiL0lJaE16cVpNL09BcWZ1RDZPNThBbTNCN1ZXRnY1Qzh1czcxbWhNWmNYN2JOWVk2bFozcGVVbUJ5dUN2NUc0TlBNT2p1OEtVVDZqczNuc2h0T3J3b0VBb0ZBOExkQk9ha0NBYU9KNGZmRlVqVUNnVUFnRU9RM0trZ1ZsSDEwS3BvTUZTdTJFSzZrME5mQkdiTU9wa3UxMzVjYUZnZ0VBb0ZBQ0owZ2UwUU85bExuTTVIYmkzK3VTNzhmaVVNU0h1azBZa0tvdzF0UzB3S0JRQ0FRNURka3k3WHNramtZVzhPWS9zRUFtUU53K0tPWFJ6b3dXaDVnZUF6ajRIZWx0Z1VDZ1VBZ0VFSW55QTV3Qjk1dmhtYzNFMUc3bThtYWpjemhKQ0N1VkRGNXBoNlVoQ3NaZ1VBZ0VBZ0UyWVdjY2kzRElFSUdmMWNQV2FKQXU5YUR3Z1MrVVNMOUhuend3SjFMZDJXK3FnakhwZmVrOTVibWV6M0lLVmVCUUNBUUNLRVRRbGVXQ1IwMHJIQ3dHT1ZXQkg2TzRPTUkvck5xcVQvOVE5bHdJNUc1dm1XaEhvVFFDUVFDZ2VEdkR0bHlMY01nd2dVSGlwMllyTm1BTy9MZ1JEUHRzRFdLek1IUjhuMVN3d0tCUUNBUUNLRVQ1SWJVd1NzNnJrNmFsMUNTc00zcnhHUlJJQkFJQkFLQkVEcEJqa2dkcmpuQmRUYkZHU2FGQXhLdEtiMDFVcXNDZ1VBZ0VKUWRpQTNkRm9aT1JaTngyQUgzd3gzczhSb2NFUmNSa1p0U0ZyOVpiT2dFQW9GQUlJUk9DTjJXU3V6Z2p3NFgzK01pWk5qTjFlSkhjRGdNLzNWem1NaU5KaUwzYVZuK1ZpRjBBb0ZBSVBpNzQvOEZHQURZTzFxc0pkMWQxd0FBQUFCSlJVNUVya0pnZ2c9PScpO1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcclxuICAgICAgICBoZWlnaHQ6IDQycHg7XHJcbiAgICAgICAgd2lkdGg6IDEyMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFSRUFBQUJpQ0FZQUFBQjNWZWRWQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUF5WnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5pMWpNRFkzSURjNUxqRTFOemMwTnl3Z01qQXhOUzh3TXk4ek1DMHlNem8wTURvME1pQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cDRiWEJOVFQwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wyMXRMeUlnZUcxc2JuTTZjM1JTWldZOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlZKbFppTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJREl3TVRVZ0tGZHBibVJ2ZDNNcElpQjRiWEJOVFRwSmJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09qSTNOVU00TkVRMk5rUkVOakV4UlRWQlEwSTVRVEl6UWpsQ1JURTRNVU5HSWlCNGJYQk5UVHBFYjJOMWJXVnVkRWxFUFNKNGJYQXVaR2xrT2pJM05VTTRORVEzTmtSRU5qRXhSVFZCUTBJNVFUSXpRamxDUlRFNE1VTkdJajRnUEhodGNFMU5Pa1JsY21sMlpXUkdjbTl0SUhOMFVtVm1PbWx1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2TWpjMVF6ZzBSRFEyUkVRMk1URkZOVUZEUWpsQk1qTkNPVUpGTVRneFEwWWlJSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZNamMxUXpnMFJEVTJSRVEyTVRGRk5VRkRRamxCTWpOQ09VSkZNVGd4UTBZaUx6NGdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtJRHd2Y21SbU9sSkVSajRnUEM5NE9uaHRjRzFsZEdFK0lEdy9lSEJoWTJ0bGRDQmxibVE5SW5JaVB6N0poRjBhQUFBZzBFbEVRVlI0MnV4ZEM5eFdVL2JlWHpWRjVGSWgxMUladWFlRVNxU0wrMVFxQ1lYSmJSak1EUC9jUCtVYUpaUGJNSElyb1puU1JUUVVLUnJwSXMyNGhUS0pJWVN2Q3dyVi8zbDYxenZ0ZG52dmM5N3pudmZ6dlgxNy9YN3I5MzN2T2Z2c2ZjNitQSHV0dGRkZXUyVGR1blVxVUtCQWdaSlNsVkFGZ1FJRkNpQVNLRkNnQUNLQkFnVUtJQklvVUtBQUlvRUNCUW9VUUNSUW9FRGxTQ1g1UE55OWRBcWYzdy9jRHR3Q3ZBKzRBWGhiY0RVdzE0K1hnejhIdnc5K0Mvd1MrTFhSTjdYN01WUi9vSHdwdUNnVUtZZ0FQUGJBbno3ZzN1Q0dDYkpZQVI0SmZoQmdNaWMwUS9GUXM1RmRPK0ZQYmN1dGQrZjJIRE1yZ0VnQWtTandxSTgvcGVBendiOUs2UjFlQVBjRm1Md1ZtcU1vUUdRZS9oeGt1WFVYUU9TUEFVUXFIMVdMQ1I0RWpMN2c2OEJicHZ3T3g0STdvSXpCK0hzOXdHUjFhSlpBZ1lxSElnMnJJbjI4QXI2bEFBQ1NwYXJnSzhDdm9id0dvVmtDQmRwTVFBUUR1aFgrdkFrK3ZMeWtaZkJzbE5zaU5FMmdRRVd1em1BZ240QS9vMk5LSDZ2QS94U0o1VjN3RXZCS2ViWU8rTmNDUk8za3Q0L3FnazhqbUlUbUNSU29TRUVFQUhKRVRBQlpDTDREL05Ub205b3RpNkVhMGJaeVBQZ3k4RkdPWkErQUx3OU5FeWhRa1lJSUJ2cWUrRE1oQWtEbyszRXRCenpBNCtlNGhTSHRUL2p6REZra25iK0E2MnRKSGdOZmhIVEI1QjRvRnBXVTVPWHFWTEl1TE8va1RWVU1BS21CUDM4RGIrZDU1ZzF3VXd6MGUzTUJFQXVnVEZTWnBjSnhjdWxKOExrQlFBS1ZWOThQQUZJQUVGR1pGUktmVVhNUytFZ005UCtrVWJpb1FGMVZ4dS9rVFB4ZUU1b2tVSGtJTUNyalRSMG9UWFVHVWtoRFVWRmNSTU5wWnd6MFZXbStnRWdlajRlbUNGU2UvUjVDeUUraEd0S1hSSzRIMTNDazQ5NlhMbWtEU0tCQXZ4Q3REVldRTW9pSUZOTExrNjRQQUdScHFLNUFtME9maHhRUzFPWUNTQ0xucUl6WHFJM0dBVUNlRDFVVmFET2hrbEFGS1lPSWJPZnY3VWx6VTZpbVFKc1JCWU5xeWtUREtwZFpkM2ZjWjl5UHVjWDRZViswYjBIN0RuMVJqZ0UzQjlQL0plc3QrdzE0RVpoaENMamlOSEdubDJhbmF1OVpQYmt1NjdVenVEVzRDWGdubGJFNWZhY3lOaWJ1V3A0R0hsT2o0OUpQMGl4YlFqWDBBSGNBN3cvZVVkcWFLdW5iNEJmQmo2TnRQNUgwdkxlYkphdWZrZWJUQXJVUFZ3RzdnTnVvakVkelhaR012d1ovcURLRy9GRm9sMWtCUkNvK2lMVDMzQjlaaE9EQmdFai9CLzQ5ZUh0SHNqckNCSmNMd0dWNDduNzhIWVJPKzIyZTRIR3l5dXgyYnVaSXNoVzRzVERUL2huUDBHZm1Cb0RKN0R6QlkyLzh1UkY4aWtOczN3Rjh0UENOU0UvdjRHdFVKajZJYmRuK1k1VUpNcFZtKzV3ZzBxMnJmdW9LdDJRN0l2MU0vTDBNN2ZKYUtnZ1NmRU1LWWhNNXhITi9jcEVCQ0dlMkQyUVFiNS9EbzNTdXV4cjhQdkk0SlNGNDdBYm1ERC9HTTBCY092cUo0Smw0L2dId1ZnbkFvd1JNTVBpM1NDQng5UDZxQXJTelJVb3JkTnRzQSthazlGeU85WE1ZcFJJOE93QmNOUXpaaWdraVRSejN5aURLemk4UzhDaGhKOE8vWTBWMFQwcWNxZitPdk81Z25qa0FTSGEzYy9zOHlpNFJxV2dHQVNrSEFLa3V3TVZRRGRVVGxFdFY0dWtDdHcrL1p3YjQxRHl5dVlycURmS3Faa2dXWVJSWEFIV212dVBlZ2p4RmE0SlR6NVRmOTA0QTIzTEw5U0hnUzFNc2h4c0F0NVNaT2dwQVdvcU5JYTFZS3dmUVZvSjgyMEM5K1N5aWp0bCs0OEhINVZubTlnVUVrTzJsZnZaT0lUdXFmdytxVEdqT1FCVUlSTFp4M0Z1U1o5NEVrWDRwdnk5dEI3T01UbnB4VEFBcEF5OVdHY05hZmVYZkgwUzZDSGwvQ0YxOGlFK0ZVZEdiRlVrL2k4MmhUQ1NsUFNKVUR2cnRQSVA4V3dOSWZKSGU3b3dKSVA5VkdXUHVOcEozdGZMb1hDTE5EWThCSUp3WTVzamZIVVhGZGtsVnYwVytyNkJkSHRPbGtUdzM0Z1hLVTUxeDZaa1YwU0ZuZDZPVFVoUWZIUEhNVTJDcUczWFE4UTRDTjFVWlF5SWxpQkhLYjYwZmlETDI5ZHdmcHZ6eFVSamgvZ3h3WFlEQnI4R0hnaHVvekVvSXBSMmZBeCtOdnYwOVVnakRTbDdpZWY0SDhNM2d4cERlZGdPM0FITXcxNVdaL09OeWFDOSsrMG1lK3grSXRMb0QycVU5K0dSd2F3RVNic0Z3QWVqZGFKZGRFdW1NQVd3S0lvbXNjUUJKUlRSaTFiS29NYTRaaXdPMEd6cmxLK1lOWENOd3ZFNUdaL3lyMkFSc3RoVEdQL216eXNTQk5hV1FiaW9UWk1sRnQ0RkxBUnFiN0hRV05lVk81UEVvL3BJN3U5UXFwSGtJNlJkYTFKaDdQR1Z6V2I0clFHTVRvSkJOajQ4aWoxRUNnbDBMSklXdzdtNzFKSGtDZkQ3YTRudEwrL0FkYjZYRW9USkhqRlMzOUFPdVFwMmJxelFTYkNpRmtVU1dPKzdWcTZEdm0rMms5TU00M2lNZXQ3TUJpS1hEVGxlWkFFbXVwZDFqeEtmQkpOOW14ZjRZK0ZmYkFNUUFFNWJaVFZRaTVRQXhXNEFtcnNEczVYaUdrZVhhMlFERUFKT1ZrcytMQldxcjdzcnRmOFJ3RTcxdEFHSVFsM1dmZGR3N0MrMnljeGpDRldOUXVqcGI0d3I0dnZyR3FYTTg2UzVGQjQxOUJBWFN6byt3cS9ReHBCQ3FSQWM3MHI0aXMyUXNBcEJRRWp6VFk0TTZBK1Z0WVZ3NzM2T0NuaG9ueXB3QVNiYnM3d3JRVnFlN2hCVHdCU0lOdXFTWU91QXI4ZTlISGttSjB0Z0ZZUWhYREJCNXozRnZPMWxoU1VvMDVJMVB5SzRaL0d2dC8wNk9OUHllSktFRktGN1BjOXc3MmZqZHhaUFBsUUNHbkdSbXBLZkI5WGJIYlJwRDIycXFESmVoajNTa0hRRmdlRHVYc3BHZTdUUzBBS3FNYTdsN2lLZ3J0dWNPQVQrbU1vWmdxb1AxSTRvNk93emhpbUVUWWFTeTAxeWlQRGlScndnNjU4eUl3V2FYZ1V1bjFEYkFRcWZQcExQdDV1bGdqNkNUNXJ6Vm16TWo4cVdOb0tudE51NDFRcHFzYmFLMUk1djVBSVRYRTdZRnl4NnM3Qkg0R2ZQMmVlMS9sL0wvVUI1bHAzbncxSUhLdldJMXlnQU9iZ1dnL3dpWDB3K05tZjh5c1NYOUpRemhpZ0VpTDNudXMzSHZMdWQzT3Roejd3UDU2NU9ROHRIeFgvRGNZNWtMSThxZmxMUmcya2VndGhCNFcxcHU3NlA5djc4akN4NU5taFRBNk9uSy9VUzFVMnBEbHlxOExBdkVBQTh1YzE4b2F1a09NZlA5Ri9nKzhKUElaNzBLcG90OFVjYlZZRlF0bkRyRGhuRnRBR3NGeWFCWk9iOVRCOGYxanlEZHJKRC9mUWExRC9Nbyt5UFBQYjJqdTR6T0MvTDg5a1V4eW5aOSszK1N4cnpGYzJzanZqMW53YzV4L1J1QVJ3Y3dQWXZwTjNOVkRBQmhCREs2eXgvQjVYbncwQ3lBQktvZ0lDTGhDWWQ3MHZRcjUzZnE0YmcrVGZ2ZjZkdVNUd2ZEcy9STGNEMi9uU0hCdWNUc2ZPZ3JqMTBrU3pVZGFiN05zK3hsYWZZcngzWHUwWmtzYW03VTZZdTBpL0RjNTkzUkxxZUIveGxWYU5RU2IvQVJLWndrc3Q2T29Oek9aWjBnalJ4ZkhpK0RjanFxakVkbGxLcmhldGVxbU9XMlNscSs2T2V1NTh1MC8xMHovclo1VmtGZHgzVjlHZDRWc3FCV25tWFhTckVwOHdrLytMTEtMSHMzQUhEY0RQNGlETk1pQUJGSUl4UmxSM2pTUFl3QlhyZkFBRUxwWW9CSDM5ZjlCVDczWkxWWEhxL1JNS2FVc0NSSFcwQmMyak5HMmE1QnRTZnFzRW9CeWs1Q24rZVlmb1hZT3ZZRmFOQy9ad3o0NXpBOGkwc1NJZEczd2VWbVREMThQRHJwbGdWOEY2cE56UjMzUmdMb2REVmpmZ0tiU2h3NjFuTnZmb3p5ajBsYThPckpkYmxSN1RESDdmY2MvK3ZFNXhQWnI5Q3UrNnI0eHMwNEZIZEZqNDV4RjRGM0JXaGNESDR2RE1raUJoR1JSbTd4cE9YK0U1NWNWN01BVXNpRm92OWE3UnpnZ1lidGd0RzJYRTV5ZmFDVzVEd2p5ek5uTzI0djBaWjNTUzc5dkluczZrMUNaM25zQk5PMS82ZDU4amczWWRtOVUyN1NkNVRiRTVvMk9CN1JlalRxZEQvdy9lQVY1ZFRmYTRZaFgxaEpoRVNIcDlrUnMveDBpUTZmQm5nd3hpdUJ5N2ZlUHhRQVoxdjFHTzlJeitYUU14TzhEamVMSGVTNE55N2l0MDZEQUNRNVdmQ1Fua2JicXp6MmtLa2EyRk5WY0lVTTdJUDYzQ3ZITnFDYWVtR2FuVXI4ZEZ6dTZxeWJ1NUJtYW80ZzM5TVhNQ3FtMFhTTGttQmRMU3lJb0lQK3FESytJV1dlWitqSE1RK2Q3MUxaQ0pZVVFKcklySHFOSnhtWG5xOTAzSHZFOHh4M2VSNlFRd2ZsdS9qOFlUWXFxMGJIcGZSc2RjV2ViYTF5V05FQ2dOQVd4TlV4MTdMb0V5alBOS2E2bk1yb0tUb3lyclFvZGloKzI3WUY2RnUrOW5sVXdsakdiWi9ESkQ4R2pIcUtidkVKMzRtQXZFVVk5b1dWUkpRY2tjbnQyejk0bnFNbC95N3F2bFJGd052bEFCN053ZlEycEh2MkVaNms5QTg0M1JHRWlMTWQvVnVlODd6ZkZIUzJJMk4wMENNRXpGemY4RHpLc2tsblB0V3ZIOERoVm5DMUdCSUlvNUw5eGxNSGQxaXVEL09vYzdTTFRFWWQ3eHpSRHJSdlBlRXBPMTlwaEU2TWN4eTNhWUNlaExyZk1VYjdNQ1lybmZpeTlqaUdEbmhIUW1IbUlvV1FmZzdTU1BwVTR1bGtYTlo5V3NXTDJFVUo1bFhSM1drc1d5S292N1VNYUlyWUI0bzZWRDlHZmhTSGV3RkFub3JvWU15WEcrMXFlSkp4b0hEYi9LenNwaThKbHNQQU54ZUxQYURFTTRqcDRQU3VBd1RvSGVzTGlVZ0RJNE1TUHdOcFlxWDJYRDBaRE53SjdGdjF1Z1hQWGVkb241TUZnRnhFTzhNZ0FnN3FjYkgySE51RXo5S1EzaUNpSFQ3R3N4dWxhVGF5Nnp5SDJuZlgzSjVqL21pMFR5dnBFNjc2L1ZKbHdnVThqanIreGlKOVhLYmNma09rMGgxZm5IVnpqcGhBNmF0azNicDFZZlduMENBaUhZNmRnTnZVYTVmak8zSGduaFVGSUZwbit4MyszQjhqS2ZmakxKTC82MGNNM2l6OUtVWmtNdzZxS1BGNnRaVE5nY0xadDZHS0RxWk02ZWNJZ01pUG52WjVXTVVMRmNpeWFVdmhDczZlRWFDYkdvaEkrd3p3Mkh1eVJIQmZLSk5QRFpGVW9rSTJjcEk2Yk0yYXRlL3ZNdldOWFAzWnF3TkVmZ3pEdjBEcWpLSGF2Q1kya05mTDZYMDR5RTZNQ3lBaU5qOGdxbFVVWlkrSWFCNFRRTzd6QVlqWVJqNk5vZm9wR1JpTUtzYVZtMFl4QUlRclpaMTlBQ0pFZytqVUdOL1NRTXB1a2dPQXBFV1VwTWJGbU13YWkzcmJJZ2FBc0w2N3JWdXpKZ21BckplY2cwcFRUaUFpUUVKUm1MYUZxMk1NbG55SW5vck5VRjZTWXlyK3BOeU9ha21JZG9oTDRpU1VYYnRVYWRJNnE1aWI0WTVDdnAvSGFCdUNESStieVBkb2oyOEwxYWdBNHZVeFRsUW1FRkVhUktQL1NjajN4WHBUNTY0L1JpWWhoOTE0NVFVaTBsbC9Bak8rQTVkUGg0cktrUlp4MXVXU2JQdW9hRnllanJvT3pGV2VycUpuSnlWNmh2WkFYbjE5UVhNc1FESkRKTFlwZWRZRlF6VzJFZ2xIeFd3YlJnZWovWXJ4VkpQRXhXVWMyRTZGN0dTb1M0TGRhV0xqeUdjaTRpN25ac2h2U2hpNlJXSVQ4ZWppdTRzdTNrc2xjL1dtNFpUV2V5NXRqa3k2KzlSaEkrSFM0UlVxNHdrWmQ5V0ltOCtvRnQyZXdnbDREQXQ0amZLSE5ERHBIK0IrS1p5QXgyVnRHbkk3eDBoT3dIbFE3QlYxbEgwWGI5NDJFVXY3TUQ4dWdkTXY1MWM1QUYzV0FMc1J1QWVCb2toQnhPaTQrNm5Nc1l5SGlzNU5veUZYWktwckEzU3BkRko2TXRMYmN4bzY1MWVGL0RCMDFpM0VYc0VWSVZyNmFWRE0raVlzbC9kaFFDWXVIMDVBNTB4VlZRT1lOSk1adm8zVVN6MlIvQ2pGVWRMZ0VqZVhsa2NEUEZLTnZJNDJhU1FxQk5Xc2ZkV0cwQVhmU2h0US9SbVdsZndrM01NYmxxemVRWnI5RFJEWlJkbURZeThIaUh5VFEvdlVFY214dllBU2pkM1psVUFhd2JteXhaVWRIaFB5cWtzeURDQ3lHWUJJb09JbmdFZ0hoMTFsS2tEazZJcjg3Z0ZFaXNRbUVtaXpKOWZHdlk5RDFRU0tvbXFoQ29wZWlxQTB5VGdzakZFNkNKTEQ5QVRadUhZK3Z4bHFPRkFBa2MwWFBHamZPVnZBSTd2cGJpZGNieTFIUWNUTnA0bUFrSTMrR1dvNlVGQm5OazhBNFg0U2hnOGNvallPd2tRRDhzMDU1RU1YOEhzZHR4bFovNDFRMjRFQ2lHeWVSRTlpMTdMNFZRQ0hBUUlRUGdEaENndDNBN3YyL2p3czhYY0RCZkpTV0owcFhtbUVKL2I1M1AwcFJmUUhUeExQMXV4ejlKM2gwamQ5TlZ3K1B0d3N5SVBBSzN4ODA3QTZFMEFrVUhJUW9SVEpYY1JSUzdBTUs4bGpOT2paV2tlQUkrcXc5aXNBSUlPS29SNENpQVIxSmxCQ2tyTml1cXZvYzNZWXZaNm4rbkZIOXQ0eEFJVE9kNE5ERFFjS0lGSTVnSVFlb3UxVXhpMDhEYUt0cGJzQVZLQkFBVVFxQ1pEUWhmNXdsUWwrbkEvUnlOcEJPMlV3VUtCWUZHd2lteEYxTDUxQ2d5a2psdVd5K1kvT2FhVUFqNm5GK00zQkpoSkFKRkJod0lUK0l0emN4aUEvdElOa0k2L1JDWTMrSmU4S2VJd0RlTHhUek44YVFLUUNnRWhvaEVDQkF1VkR3U1lTS0ZDZ3ZNaTZkeWFFbjNUVEpaZGM4cGpLbkZhWHBSdnV1ZWVlL3BXc0Rocmd6My8wYTZpREVrczZ4aktoVy80czNQKzh5TCtaTVhJWVpKdWlleG0rNTV2S09nWk03YVdhcDlMNnFrejBLWjBZdGZ4SVZPRHFpQXFuaE1PWXFlWUJSVS9nMlVFcVVHVUFHZ2FSenA1cytEMStINFcybjFOazM4QUFXMzlRbVRpMmpZeDdCQkV1aVk4Q2o4UzNWZHJvOGI1ZHZKeEZiR0h3Nkpmd2o0aDhlUXFjN2VDb3NMVzg4cEFlS3BFbjhsMmczSWRaVlVRQStUK1ZDY25vQ3VISVkxUk9FbDRFZmlWaVVxME9vRmxWMlVERUZiYS9jd3dRY1oyWnVrMFlXNVdHcWtUOHJzZ0FjajNWMUpqSnkwUWlNZlBncWhoRExMU1ZpWmN4aWNkVmhvYld5UlhrdUJNcXFNVFRBTHpYSllCSXBTZjl6Qjd1Mi9scmtRQUlnMTFmYjF4bW5PQ2hvdHBRUXZtenlrU2VKMDJDaEdIYlVjM3Y1Y21MM1ZUME9UcVZRaElwMDBDRlo3d2VxbFdpU2ZSUjJGMytwNTVJRDhnNkFVUXFGMkZnM1ljQnlhTlZHU0I3Sm40dktaSlg1eWtCK3Y0aTdrMXFpL2YvekFJNGpWVDhFd1VxSllqb2xUTkRSTElhbWtvek00WXF3OGhZRFFPSVZGb2c0VUZjL3k2eTF6WnRlVGZZQUVTK2IyRm81ZmdnUWtzMGpXS3Q1VGZWbFdzY3Fvd09JczhMc3NkV1o1REhWZ0pTaDR2VXc1V2dEOEFUMEdodk9wNmg0ZTRZN2RKOHBKMHY3ME54a29jNzhRaUpTMnhMYzBqSGVqaGF2cStCeXF3cThkZ0NIaXN4bFNDSzU5WkZ2SGQxK1hZZUVVR2oyeWZnc1hodWVveHZiaWk2TTQvZjRESWlqWGs4aElzeFFaNUZIbDk3bnRWVng4VklPMWV1LzFwbGpvMW9JdmZvcGZvVTduOFVVNnpmUWVydVlHazNmcytMd25HZVAwemFMMHR2dVFhZHZDdVAxOWhINnA1SFc3d2xxc0w4aUhMWVhpZEwzWEd5NGxFazdDZWo4V3lTWTBucUdiOWpINGFHZDJHN25TZy96YU5hRDhOOS9mZkxlTDlsbGp5cWlEVGZVU1Q2YmVTYi9pVjk0WE5QK1pTTUR0QXVzZjY0TXNZNlBWZGxqaWlkaTJzREhlVjJFR0dCeDNkdzdId3E3YzE4MXVZRUlqTDQ5QUcvV3FTS0xJanNnelI3SVdOekczb0xUWlZaL3hIZzgrT0NDUEk4RDM5dVUvWUR4Ry9BL1RHc0RKUnJIakRGZ1RmV1NNdUtZdnBqdGV2WENpRHEzOG5LWllDZVhUMnZkam9Ib09lOU9kQjRUT1JleHEzTGNJOGI0ODVpWTFxZTQ2ekg0ejliZWNwZWhYU2xlUDRPeDMzOXU4Y2piUStWT1FiMFlyWHB0b1ordUgrdGI1bGQ2cVN2MUVsTjQzWmZBYlkveGhoVFY2dU5EOUg2azJFbnlZSS9BeXVkb3h4Yk1PUjliN1ZjcnlYUG51MTQ5azU1OXM0Y1FhVE02SCtjR09JZVU3cVYwUjQ2bVllYXM4L01NNzdwR1BtbUpvNDgxaURObzJ3SGZGZVo1ZjV2eEY3enZ6S1Fub1AvQlEwYytYZWdVUzYzUnp3b0lHN1M1WlFta2VZTWxQbTI3YVdxeExDSEtMRnJtQlpvbS9HMHEvYi9GNEtlSzdWclc3dU1zcmcrV0Q2a3RxZVJtUDlMU0x1bGNmMDc0emZCNmw0RFFHeVN3MmdwYzllSXp1RTdtWTVCZmw2MkFFaVd1b3RSemtadEl3QkVpUVExU1B4MmJLVDc3RkI2ZUVSbHpoRzIxVE5ueW9ISTYxeFBlWHorZGd1QVpLbTVEMUJ6bUxWTEJIalBWZjQ5WEI5Wm5xMHQvZkczbm1kWmI0T1J0bitPcnpiRCtIMGU4cmdkdkVVaFZRSnAzeGM4QUtMRVZzUDZtb24wTzF2dW01SU4rOE5FaTNTbGwwdVFuT0lBa0N3ZENINUZWcHhpZzRocExPSXN5blZ3WGFUcEZHRVBtZUJRQWJhMWZFaHZsVG1uTlV1VU5QcExmbjFGbE5ZUi9Eb2pDL05zNEtiU3dWVEVZT2xxdWI1QVFHR0dnT2VYK0k0Rm5uek8wTDZKSi8zWmZBRk9GL0hlcElrYUNGSnFLbFdaRllCYlZNYjNRS2Nia1ljTjdQVHlEbEViSEFUWlZvc05rTWtTZ1dSclN6dWNMek83U1hQa1hiUGhFbmRMWWR4UVNqbkpBTU9oTW1NUEVmV0w5SkxsMmNmQStzbDhWT0V1RlBYdGJyVngvTm5yOFYzTmNqSGxXSzd4V05ZUDZEc0M5a25UNjJRZ2s5ZFl4dEF5MjMzazJjMlVEbVFNVU9vWWJKbkVxUDQ5amVlcVdzbzMzM3RYRDRCdzRudGNiZkNGNFR0eFZha253ZE93ZTFLd2VEZ1htNGdKSXF1cFFxQlFkcVpENVZwTDZscFp2UTcvN3lOR1ZGUE1YbWtCa1RMdFE5aVpkWkdUK2w5TFhYOUdtdUVpK3Uyc3FRa0ROWjNTckx5anRldC9Fd0RjTWxzdW51MnNOdlhHWlVPZGp6em5hZVhXTUhSTUY3MHJLc3Nja1hBdU1zUktKYUJtR3FQbmlwai9FSjVkYVRRd1JmanBhc08yZnM2RXZVUkswRWtIOXV6eGx2OFF0ZTh6c1RGUnZmbWQwU0ZZQjA4WTMycEdpaWNJZGNuYW91VGJicE4zenBkNkdMOHZRam1QR0hYUTNMUnI0TnBKSXJabjZWbmFSTFJsMXI4anpWUUJaU1dTeXZYSzdYWmdHa3M1eTk5c21haW9wZzhTbFpDeFYyNDNWNXlrUDI0bjc4bDNPRXFmYkhCL25NTUdlSytsTHg2djI4S1E3aHFaWExMVVVtVU9TUitocXp0R1BoMDBteVlCNEVORGFtZTVOWFJKSDJVK281WDVxRXdlV1h0amExenJhS3AzY2RXWjdHQ2RiSWhXYmJYZkp4anF6MHNXY1p0VXkySnYwSTFRMTVrR09QeitVaHBRRjFWL1l6U2ViVmJvaG51bmdlK25icXpwa1ZjYmFibUMwRllIRU1sM2RReFg3VlhTNEhQa21SL0JRd1RoZFdwdDZiQnJtZFlFRUxuM3ZXVldQTUpTL25MajkwTHBESjlKUHV3MFBKdkdqSDUycEdWUTcyRFVYeGZkbUMzZmRsbGM0Mm9FMWJjQWxsa0h0aU1yZEhzTVhRak9NLzAwOEh1c0FkakhpdzFGeFFTU1VsazRzSjNmczdXOHd3TGsrYnVVd0xTZUlWWDNNSTNwWWhjeWJUT1hXY3dPSmxHaVBSRFBYd0VlQ241U0FLS0pzUmp4cEE0Z1V1WWF5MWc1TmFrNnM4b0NJc3A0aVJOMU1WM2JYN1BDWXE5dzJWSFd6eVNPZHpJUFVvcXlKWXlRem1RaWYzMnhmbS9VTVcyR3o1ZzBEczh1dGx6L1c4U2dzZHBwd0FlQ3U0Ti9xMGw5V1dvUTQzM3VOZDJyeGJMK3RKSE9WRW5Nb3lPZWM2MkdxUTE3WXZLaGJ5MkcwUDBqNm9mOXNwMTJhYXJILytSVlEwSnJuc3ZMSWQ4QlV2OHZlSXlvOStPZEJ1UlpEeWVZaG5LVXZjaVIxb3p1ZjdDc292bm9VdVQzWDh2MWt5UDZhN1llNWhvcWM4dWs2c3dxemVpMFV0RDRmeUFpZW1JYmZXQVp1cUFQUkE0M3lobGlMSVc1SkpoR0VaWDN0T042RytQM0Y2aW9sL1BvQks0R2Z6L2kvZlhCUVludVVqRUUxL1NVVlN1UDl6R1hWMDBEZGd2ajkvT2VNajVJQVVSR0dSTVAxVWF1QWxBVnU0OHFtY1dtZG9oaFNOMURkbFc3aklGbWY1bWFJNUJ3QUIxSFlCZGpkVzlEL0NkZGhmdGNOaDJWc0I3TWljTFhGNmRacmpWVjd0V2pWY3E5UmVWd1U5M0dkM1IxcEYzckczZlZjbEZuS002aW9Na2FpalhHNzNyU3VOVTBFZk5aaCtGdkl4QVJmWEJiUTAwNUsyYmxieGx4MytVSVpNN0E3K1U1R0Z3N21uK09JWG13TG9hcmpaZENDMFZySStxdnJzWEE3S0x2VW5pZjRkS1A5Rzh2a1ptWlBKdlNHUHFjSG5sdER5T1BKc3EvbXBFckFMdkFoT291VjJtdUZadVFhYlF2RlZCTVFqc1p2ei95dk1kS3ZNTlhodHBaMTVQM1lvZEx2cklZWEx2RWZOOGFTZFVaWFdlZllKblpkZHZJSkVQSFgrNlJSR3JsMFFtajFJK1ZIakZVR1Rwb3VaTXNjWTYxQUFnN0xHMHFWeGwyb0VKVGpaamdtQXFKbEVGN3dPMk9OcUJrOUJycXFhbEhpczJGVnFUd3pseXA0MFk2ODBpTkF4d3JaMG5xUFdyeVdSTTFxRFg2d1hNdmFWMnVTcXJPNkEwd1VZeHVKWnF4VHpjYWpvMFl6UHJMbXc0ekJKdy94UHlZeFFrcndUVEM3cUYrR2VwdTZQZHNjQnFCeDJ0QXd3SFV0NXplWjZVaEZlN2lTYnRWU2tEeW82Z0Q5TldoOGJlUDBmZllWN2hDa0YyaE1qMTNhZUI5SW1aeEw2ZFlWMXdsdWR6U2ovNmIwRGEwdlVjeTBTY2VqdGM2eHVXbEtkbWthRUNOczc5cGRWSjFacm5XOEYvZ1kyYXBEY2JKNHpVOWFhM2FkTHV6MHlaQ0F5RHlXcXFKWkZ1TFlXbFpBUWVMcWVic1RkZHBqekdyVUdUcW53TjFBUGtGYUpFaDRsSm5mdEtSdG1IS1VnbEYrTXZwbVNzRFZGK0JhY3FWQkhGL055ZU9uM0Q5c2ZLdUtIRjNXRzFJQVZGbjliaWtmbjU3YzhQdTQzTG1JNWorS2lWMWZMRmhqK0cyaE9maVBIajMzWGNuVW1kTVVWQXZiQzh0bjZtV3ZTbmZSK1E5elhpZmN3cmNCNmFwVGYxS2J2a0ZCdTJleG0vYlNraURjbndmYy9YcmRGa05zZEdwQlJxYzM0UHBnL0syb3g1bUdqTmhlOWt2a3FhYVdTVkdtbFlXTldKaHhKaHhyYUpNTVg3M0ZKOGRHNTFwQWxBZW13Qk5JKzM1U2Vzc0tZaE1jRHczeG5LdExFSVhHMmI4dmxrY2l2SnFhRTlISmNpTnR3eVlnZUpNWlJNaEMwR211M1pqbzl5cUZwRzVrRFRTK0UyeGVZUVl2L1gzT2x0dDZxaVhaTERXOTlUdFdsc2ZrcVZyL1pBdXR0YzQ1TE43aW4yRi9XQ1l3OE00NjFRNTNMajhPdDV0YVlUYTNNbFIzZ2pqTjlYSUd5emxVbXE0d0xqOGNCNU5NTnF3YnpCT1VEK0xGMnhrWGNaU1o4ek5QblRLUW9iYzRhZXZkS3hUOXMxSFVVdThYTW1oaDE1MmlaR3JCaE9RLzRzaThTelNrSndOMkZabDlyczhrRWNGMG9QeEpPUDcrOG9zUUhYc1k5SDd1YlRYaWthenFGMjhDZWhOUTV3c2xUcDlYV2JlZm1wVDU3SkNBUnJiOUUxWmVldW9YZVlTTEhkRGo1V0IzTnF3NCtnZHJHYU92amFVL3RyZ09RNmlxVkxuN0hlbnFZMlhaMWNhVWhxOVNVOVJHN3h6NlZ2eUh2S2huOE9yOHA3VnBHOVMvRCtXQWFOekNLeE1MMCtHQlQxVFZrTG84UGFwOU84bTBpYm1CSENUSlo5L0dXQjdBdkxqaGxSNk45ZkQrL1NVZXYrMzFFRXZMZTJWWXFobEgrZDdIeXRsNktvTUEyWGZsVWQ3TDBFWjl4a1RWWDl3RDF3ZktXb1NqYnkxWklKajIzTUhjZSs0SUxLZDBZZzI0dURYUGZabU9lSXVlRUdFZ3hNdlRhL1ZHV3JqNWFvT2FvUGJya25OOHh3d2I2SE1pd1NNZE9LTVpuTlNxYS9jL2hkSmlYc1V6dE9rd1cwdDBzQmFhY2pxbXMyb2tNU1picDdSUnJ0WjZvUUQvaE1ENUtxcjZCVXpuWTZXV2ZjYVpRa3JvZEVBUFRDNGhIaWdFVmJmMUVqQTd5TnNJOW9aSnNXUWptb2JBTWFKNjdnb0V3SGVhYUpES3IvTmtQWTdhaURkVTd2K2V3RXVmWXRGTHdOWVRCdmxLZUtObkErVkNqam9QaU9Nclh5akkvMkNwT3JNQ2crSTZPUnk3akpCcUpabFVDOVEvbWhwcVlLSWxNbE95Q1hHcjJNa1A2Z1FNNy9LYkpCeUVWY3V1S2xNRCtxempVL2NUT0dkT0x2UmdmQXpUN0pQUllvelZ5S3E1NkRLVU5MYU9VWlM3cWthWUhuUGgzSm91eXlJeENHdWpId1JNeTNWRlhxRC9zRlJsd3Q5dGpaZE5VRGE1U0poeHpHc3N6KzBjbXdKeUxXOWY1Q0ordkdZanpTVzJDU3hKQkhkOWZ3cmowRklkN3B4ZWNZdE11d2VpMTBkR0M5SWwxbzZHblVWaEt3bnMrSnk2YlIwUEpydUFLeGhFZUJsSzNPVWlKaTlwTnlEWlBiaFd2eFNFZW00QjBnUGcyQUdHWnJuQWM5aEVlVnpxL3JiQWlhSGl5ckhBVXh2MGNHNC81NEV1dEVkcm1vYXdEN2FrT0FXZTJhUk9PMHdVODZMdVZ6VWhrYlNUK1pMdmZPOXlxVGVWbm5zR0ZNTWU5aTdXaG1MOFB4K1lpamtIcDY5WmVMNlFkNkxkY3hOaWJOanR0MXhvcnJVMVNhK2hkSTJWTkVteGh4VXJPODlCVWpaSDVxSmFybTlmT3VYb3Fhd1R3eEgraFVSK1hFSDhmc3lHVFNWZXZ4VzhxaWhORDhPVWJlNklIMGJrYWl5a2xwVktaZUdiNjZXamZNRUNGb2NwNDJOZC94T1ZMY2hva3EyRittenJ0VGpOOUwyTEo5QmtaYVpxelBoR00xQWdRTGxSZUVZelVDQkFnVVFDUlFvVUFDUlFJRUNCUkFKRkNoUUFKRkFnUUlGeXBIK1g0QUJBRnFFSmRNOGdUMXRBQUFBQUVsRlRrU3VRbUNDJyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLnRvcFNlYXJjaCB7XHJcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XHJcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcclxuICAgIH1cclxuICAgIGlucHV0LCBidXR0b24ge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICB9XHJcbiAgICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcclxuICAgICAgd2lkdGg6IDE5MHB4O1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XHJcbiAgICAgICAgd2lkdGg6IDk1cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5zZWFyY2gtYnRuIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsIi5oZXJvIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgei1pbmRleDogMDtcclxuICAuZXJyb3Ige1xyXG4gICAgd2lkdGg6IDQwMHB4O1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIEBleHRlbmQgJWNvbnRhaW5lci1zaGFkb3c7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDIwcHggMDtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIH1cclxufVxyXG4uaG9tZS1wYWdlLW1vYmlsZSB7XHJcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9HbGFuY2UtQmlrZS1QaG90by1tb2JpbGUuanBnKSBuby1yZXBlYXQ7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6IDMyMHB4O1xyXG4gIGhlaWdodDogMjk1cHg7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbiNob21lX3NsaWRlIHtcclxuICBtYXJnaW46IDI1cHggMDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGhlaWdodDogNDMwcHg7XHJcbn1cclxuI2hvbWVfc2xpZGUgZGl2IHtcclxuICB6LWluZGV4OiAxO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBvcGFjaXR5OiAwLjA7XHJcbiAgaGVpZ2h0OiA0MzBweDtcclxuICB3aWR0aDogMTE3MHB4O1xyXG59XHJcbiNob21lX3NsaWRlIGRpdi5ob21lX3NsaWRlX2FjdGl2ZSB7XHJcbiAgei1pbmRleDogMztcclxuICBvcGFjaXR5OiAxLjA7XHJcbiAgaGVpZ2h0OiA0MzBweDtcclxuICB3aWR0aDogMTE3MHB4O1xyXG59XHJcbi5ib3R0b20taG9tZS1pbWdzIHtcclxuICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xyXG4gIEBpbmNsdWRlIG9tZWdhO1xyXG4gIC5tb2JpbGUtcmVnaW9uIHtcclxuICAgIGg0IHtcclxuICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gIH1cclxuICB1bCB7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgfVxyXG4gIGxpIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0IG9mIDEyKTtcclxuICAgICY6bGFzdC1jaGlsZCB7IEBpbmNsdWRlIG9tZWdhOyB9XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcclxuICAgIHVsIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG4gICAgbGkge1xyXG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBAaW5jbHVkZSBvbWVnYTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuIiwiZGl2IHtcclxuICAmLmpHcm93bCB7XHJcbiAgICB6LWluZGV4OiA5OTk5O1xyXG4gICAgY29sb3I6IGRhcmtlbigjZmZmLDUlKTtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICB9XHJcbiAgJi5pZTYge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgJi50b3AtcmlnaHQge1xyXG4gICAgICByaWdodDogYXV0bztcclxuICAgICAgYm90dG9tOiBhdXRvO1xyXG4gICAgICBsZWZ0OiBleHByZXNzaW9uKCggMCAtIGpHcm93bC5vZmZzZXRXaWR0aCArICggZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoID8gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIDogZG9jdW1lbnQuYm9keS5jbGllbnRXaWR0aCApICsgKCBpZ25vcmVNZTIgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCA/IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0IDogZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0ICkgKSArICdweCcgKTtcclxuICAgICAgdG9wOiBleHByZXNzaW9uKCggMCArICggaWdub3JlTWUgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wID8gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCA6IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wICkgKSArICdweCcgKTtcclxuICAgIH1cclxuICAgICYudG9wLWxlZnQge1xyXG4gICAgICBsZWZ0OiBleHByZXNzaW9uKCggMCArICggaWdub3JlTWUyID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQgPyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCA6IGRvY3VtZW50LmJvZHkuc2Nyb2xsTGVmdCApICkgKyAncHgnICk7XHJcbiAgICAgIHRvcDogZXhwcmVzc2lvbigoIDAgKyAoIGlnbm9yZU1lID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCA/IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgOiBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCApICkgKyAncHgnICk7XHJcbiAgICB9XHJcbiAgICAmLmJvdHRvbS1yaWdodCB7XHJcbiAgICAgIGxlZnQ6IGV4cHJlc3Npb24oKCAwIC0gakdyb3dsLm9mZnNldFdpZHRoICsgKCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggPyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGggOiBkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRoICkgKyAoIGlnbm9yZU1lMiA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0ID8gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQgOiBkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQgKSApICsgJ3B4JyApO1xyXG4gICAgICB0b3A6IGV4cHJlc3Npb24oKCAwIC0gakdyb3dsLm9mZnNldEhlaWdodCArICggZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCA/IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQgOiBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodCApICsgKCBpZ25vcmVNZSA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgPyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIDogZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgKSApICsgJ3B4JyApO1xyXG4gICAgfVxyXG4gICAgJi5ib3R0b20tbGVmdCB7XHJcbiAgICAgIGxlZnQ6IGV4cHJlc3Npb24oKCAwICsgKCBpZ25vcmVNZTIgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCA/IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0IDogZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0ICkgKSArICdweCcgKTtcclxuICAgICAgdG9wOiBleHByZXNzaW9uKCggMCAtIGpHcm93bC5vZmZzZXRIZWlnaHQgKyAoIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQgPyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0IDogZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQgKSArICggaWdub3JlTWUgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wID8gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCA6IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wICkgKSArICdweCcgKTtcclxuICAgIH1cclxuICAgICYuY2VudGVyIHtcclxuICAgICAgbGVmdDogZXhwcmVzc2lvbigoIDAgKyAoIGlnbm9yZU1lMiA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0ID8gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQgOiBkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQgKSApICsgJ3B4JyApO1xyXG4gICAgICB0b3A6IGV4cHJlc3Npb24oKCAwICsgKCBpZ25vcmVNZSA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AgPyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wIDogZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AgKSApICsgJ3B4JyApO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcbiAgJi5qR3Jvd2wge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIH1cclxufVxyXG5cclxuLyoqIFNwZWNpYWwgSUU2IFN0eWxlIFBvc2l0aW9uaW5nICoqL1xyXG5cclxuLyoqIE5vcm1hbCBTdHlsZSBQb3NpdGlvbnMgKiovXHJcblxyXG5ib2R5ID4gZGl2LmpHcm93bCB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG59XHJcblxyXG5kaXYge1xyXG4gICYuakdyb3dsIHtcclxuICAgICYudG9wLWxlZnQge1xyXG4gICAgICBsZWZ0OiAwcHg7XHJcbiAgICAgIHRvcDogMHB4O1xyXG4gICAgfVxyXG4gICAgJi50b3AtcmlnaHQge1xyXG4gICAgICByaWdodDogMHB4O1xyXG4gICAgICB0b3A6IDBweDtcclxuICAgIH1cclxuICAgICYuYm90dG9tLWxlZnQge1xyXG4gICAgICBsZWZ0OiAwcHg7XHJcbiAgICAgIGJvdHRvbTogMHB4O1xyXG4gICAgfVxyXG4gICAgJi5ib3R0b20tcmlnaHQge1xyXG4gICAgICByaWdodDogMHB4O1xyXG4gICAgICBib3R0b206IDBweDtcclxuICAgIH1cclxuICAgICYuY2VudGVyIHtcclxuICAgICAgdG9wOiAwcHg7XHJcbiAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDI1JTtcclxuICAgIH1cclxuICAgICYudG9wLWNlbnRlciB7XHJcbiAgICAgIHRvcDogMjAlO1xyXG4gICAgICB3aWR0aDogMzAlO1xyXG4gICAgICBsZWZ0OiAzNSU7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcclxuICAgICAgICB3aWR0aDogNzUlO1xyXG4gICAgICAgIGxlZnQ6IDE1JTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmLmNlbnRlciBkaXYge1xyXG4gICAgJi5qR3Jvd2wtbm90aWZpY2F0aW9uLCAmLmpHcm93bC1jbG9zZXIge1xyXG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxuICAmLmpHcm93bCBkaXYge1xyXG4gICAgJi5qR3Jvd2wtbm90aWZpY2F0aW9uLCAmLmpHcm93bC1jbG9zZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDgzLCA4MywgODMsIC45NSk7XHJcbiAgICAgIHpvb206IDE7XHJcbiAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAuYnRuIHtcclxuICAgICAgICBtYXJnaW46IDEwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYuakdyb3dsLW5vdGlmaWNhdGlvbiB7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgIG1hcmdpbjogMTBweDtcclxuICAgIH1cclxuICAgICYuakdyb3dsLWNsb3NlciB7XHJcbiAgICAgIG1hcmdpbjogMTBweDtcclxuICAgIH1cclxuICAgICYuakdyb3dsLW5vdGlmaWNhdGlvbiBkaXYge1xyXG4gICAgICAmLmpHcm93bC1oZWFkZXIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XHJcbiAgICAgIH1cclxuICAgICAgJi5qR3Jvd2wtY2xvc2Uge1xyXG4gICAgICAgIHotaW5kZXg6IDk5O1xyXG4gICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBmb250LXNpemU6IDFlbTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmpHcm93bC1jbG9zZXIge1xyXG4gICAgICBwYWRkaW5nLXRvcDogNHB4O1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogNHB4O1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIGZvbnQtc2l6ZTogLjllbTtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuICAgIGhyIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7IGhlaWdodDogMXB4O1xyXG4gICAgICBib3JkZXI6IDA7IGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xyXG4gICAgICBtYXJnaW46IDFlbSAwOyBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLyoqIENyb3NzIEJyb3dzZXIgU3R5bGluZyAqKi9cclxuLmJ0bi12aWV3Y2FydCB7XHJcbiAgbWFyZ2luLXRvcDogMjBweDtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLmJ0bi1jaGVja291dCB7XHJcbiAgQGV4dGVuZCAuYnRuLXZpZXdjYXJ0O1xyXG4gIGZsb2F0OiByaWdodDtcclxufVxyXG4vKiogSGlkZSBqR3Jvd2wgd2hlbiBwcmludGluZyAqKi9cclxuQG1lZGlhIHByaW50IHtcclxuICBkaXYuakdyb3dsIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59IiwiLnByb2R1Y3RfZGV0YWlscyB7XHJcbiAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcclxuICBAaW5jbHVkZSBvbWVnYTtcclxuICBAaW5jbHVkZSBwYWQoMjBweCAwKTtcclxuICBmb250LXNpemU6IDEycHg7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkgeyAgcGFkZGluZy1sZWZ0OiAxMHB4OyBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XHJcbiAgLnByaWNlLCAjcHJpY2Uge1xyXG4gICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgZm9udC1zaXplOiAyMXB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICBhIHsgY29sb3I6ICMwMDA7IH1cclxuICB9XHJcbiAgLnNhbGVwcmljZSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcclxuICAgIGNvbG9yOiAkZ3JheURhcms7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGNvbG9yOiByZWQ7XHJcbiAgfVxyXG4gIC5tYWluX3Byb2R1Y3RfaW1hZ2Uge1xyXG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYgb2YgMTIpO1xyXG4gICAgbWFyZ2luOiAwIDE1cHggMCAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMDtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcclxuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyIG9mIDEyKTtcclxuICAgICAgQGluY2x1ZGUgb21lZ2E7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgcGFkZGluZzogMCA2MHB4O1xyXG4gICAgfVxyXG4gICAgLmltYWdlLW92ZXItaWNvbiB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgLnN0YW5kb3V0IHtcclxuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcclxuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjNGI3YWJlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRiN2FiZTtcclxuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgIzQzODdmZCwgIzQ2ODNlYSk7XHJcbiAgfVxyXG4gICNtdWx0aXBsZV9wcm9kdWN0X2ltYWdlcyB7XHJcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMSBvZiAxMik7XHJcbiAgICBAaW5jbHVkZSBub2J1bGxldC1ub3NwYWNlO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xyXG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIgb2YgMTIpO1xyXG4gICAgICBAaW5jbHVkZSBvbWVnYTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgICNnYWxsZXJ5IHtcclxuICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGxpIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgLmllOCBpbWcge1xyXG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxuICAucHJvZHVjdF9pbmZvIHtcclxuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg1IG9mIDEyKTtcclxuICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICp3aWR0aDogNDAlO1xyXG4gICAgQGluY2x1ZGUgb21lZ2E7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XHJcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMiBvZiAxMik7XHJcbiAgICAgIEBpbmNsdWRlIG9tZWdhO1xyXG4gICAgICAjZGVzY3JpcHRpb24geyBtaW4taGVpZ2h0OiAyMDBweDsgfVxyXG4gICAgICAjc2l6ZUNoYXJ0IHsgbWluLWhlaWdodDogMzAwcHg7IH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKCRiaXR0eSkge1xyXG4gICAgICAjc2l6ZUNoYXJ0IHsgbWluLWhlaWdodDogNDAwcHg7IH1cclxuICAgIH1cclxuXHJcbiAgICAjaXRlbS10aXRsZSB7XHJcbiAgICAgIG1hcmdpbjogMTBweCAwIDAgMDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XHJcbiAgICB9XHJcbiAgICAubmF2IHtcclxuICAgICAgbWFyZ2luOiAyMHB4IDAgMCAwO1xyXG4gICAgfVxyXG4gICAgaHIgeyBiYWNrZ3JvdW5kOiBkYXJrZW4oJGJvZHksIDUlKTsgfVxyXG5cclxuXHJcbiAgfVxyXG4gIC5wcm9kdWN0X3Nob3Age1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xyXG4gICAgICB6LWluZGV4OiA5OTk7XHJcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCAtMXB4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4yNSkpO1xyXG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyYXlMaWdodGVyO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICBib3R0b206IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGJvZHksNSUpO1xyXG4gICAgICBib3gtc2hhZG93OiAwcHggMXB4IDBweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7XHJcbiAgICB9XHJcbiAgICBsYWJlbCB7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cclxuICAgIC5idG4tY2FydCB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICBib3JkZXItY29sb3I6ICNiMDI4MWE7XHJcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNhZjMwMWY7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjNTM3Mjc7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLGxlZnQgdG9wLGxlZnQgYm90dG9tLGZyb20oI2RkNGIzOSksdG8oI2M1MzcyNykpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsI2RkNGIzOSwjYzUzNzI3KTtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCNkZDRiMzksI2M1MzcyNyk7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCNkZDRiMzkgMCUsI2M1MzcyNyAxMDAlKTtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjZGQ0YjM5LCNjNTM3MjcpO1xyXG4gICAgfVxyXG5cclxuICAgIC5idG4td2lzaGxpc3Qge1xyXG4gICAgICBtYXJnaW46IDEwcHggMCAwO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICRibHVlO1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7IGRpc3BsYXk6IGJsb2NrOyB9XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ0bi1ibG9jayB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgIGhyIHsgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtlbigkZ3JheUxpZ2h0ZXIsIDEwJSk7fVxyXG4gICAgLnByaWNlLXNob3Age1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICBmb250LXNpemU6IDIxcHg7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgICBhIHsgY29sb3I6ICMwMDA7IH1cclxuICAgIH1cclxuXHJcbiAgICAuZGV0YWlsLXN0eWxlIHtcclxuICAgICAgLlNpemUtc3R5bGUtZHJvcGRvd24sXHJcbiAgICAgIC5Db2xvci1zdHlsZS1kcm9wZG93biB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMCAxMHB4IDIwcHggMTBweDtcclxuICAgICAgICBzZWxlY3QsIC5zZWxlY3RyaWNXcmFwcGVyIHsgd2lkdGg6YXV0bzsgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuc3RvY2stY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAwIDEwcHggMjBweCAxMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmludmVudG9yeSB7XHJcbiAgICAgICAgICBjb2xvcjogJGdyZWVuO1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5xdHktY29udGFpbiB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHggMTBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnZpcnR1YWxob2xkZXIge1xyXG4gIGxhYmVsIHtcclxuICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIHBhZGRpbmc6IDhweCAwIDAgMDtcclxuICAgIGxldHRlci1zcGFjaW5nOiAuNXB4O1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gIH1cclxuICBzcGFuLnJlcXVpcmVkIHtcclxuICAgIGNvbG9yOiAkcmVkO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgfVxyXG4gIC5pdGVtcyB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAuaXRlbWhvbGRlciB7XHJcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcclxuICAgICAgQGluY2x1ZGUgb21lZ2EoM24pO1xyXG4gICAgfVxyXG4gIH1cclxuICAuY3VzdG9tSG9sZGVyIHtcclxuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMik7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgLmRlc2lnbkNvbnRhaW5lciB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcclxuICAgIH1cclxuICAgIC5jaGVja291dENvbnRhaW5lcnMge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcclxuICAgICAgQGluY2x1ZGUgb21lZ2EoMm4pO1xyXG4gICAgfVxyXG4gICAgLnByb2R1Y3Rfc2hvcCB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xyXG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyk7XHJcbiAgICAgIEBpbmNsdWRlIG9tZWdhO1xyXG4gICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgIC5yZXNldC1idG4ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xyXG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMiBvZiAxMik7XHJcbiAgICAgICAgQGluY2x1ZGUgb21lZ2E7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLmNhdGVnb3J5X3Byb2R1Y3RzIHtcclxuXHRmb250LXNpemU6IDEycHg7XHJcblx0LnJpZ2h0X2NvbnRlbnQge1xyXG5cdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEwIG9mIDEyKTtcclxuXHRcdCp3aWR0aDogODAlO1xyXG5cdFx0cGFkZGluZzogMjBweCAwO1xyXG5cdFx0QGluY2x1ZGUgb21lZ2E7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XHJcblx0XHRcdEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMik7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHR9XHJcblx0XHQvLyBNYWtlIGg1IG9uIHNlYXJjaCByZXN1bHRzIGFsbG93IHRoZSByZXN1bHQgdG8gZmxvYXQgdG8gdGhlIHJpZ2h0XHJcblxyXG5cdH1cclxuXHQuZnVsbF93aWR0aF9jb250ZW50IHtcclxuXHRcdEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMik7XHJcblx0XHRAaW5jbHVkZSBvbWVnYTtcclxuXHRcdHBhZGRpbmc6IDIwcHggMDtcclxuXHRcdHVsIHtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0XHR9XHJcblx0XHQuc2VhcmNoX3RpdGxlIHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdGg0IHsgZGlzcGxheTogaW5saW5lOyB9XHJcblx0XHR9XHJcblx0XHQuc29ydGJ5IHtcclxuXHRcdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDgpO1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XHJcblx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHR9XHJcblx0XHRcdHNlbGVjdCB7XHJcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogMTJweDtcclxuXHRcdFx0XHQubGFiZWwgeyBmb250LXdlaWdodDogbm9ybWFsOyB9XHJcblx0XHRcdH1cclxuXHRcdFx0Zm9ybSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxyXG5cdFx0fVxyXG5cdFx0LnRleHQge1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmU7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcclxuXHRcdFx0XHRmb250LXNpemU6IDE0cHg7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnByb2R1Y3RfbGlzdCB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XHJcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdH1cclxuXHRcdHVsIHtcclxuXHRcdFx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEwIG9mIDEwKTtcclxuXHRcdFx0QGluY2x1ZGUgb21lZ2E7XHJcblx0XHRcdEBpbmNsdWRlIHBhZCgzMHB4IDAgMCAwKTtcclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJGl0dHkpIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xyXG5cdFx0XHRcdEBpbmNsdWRlIG9tZWdhO1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRiaXR0eSkgeyB3aWR0aDogMTAwJTsgfVxyXG5cdFx0XHRsaSB7XHJcblx0XHRcdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZTtcclxuXHRcdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0XHR3aWR0aDogMjYwcHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAyNzBweDtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0bWFyZ2luOiAwIDMwcHggNjBweCAwO1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHQucHJvZHVjdC1pbWFnZSB7XHJcblx0XHRcdFx0XHR3aWR0aDogMjAwcHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdCY6bnRoLWNoaWxkKDRuKzQpIHtcclxuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJGl0dHkpIHtcclxuXHRcdFx0XHRcdG1hcmdpbjogMTBweDtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0JjpudGgtY2hpbGQoM24rMykge1xyXG5cdFx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCRiaXR0eSkge1xyXG5cdFx0XHRcdFx0bWFyZ2luOiA1cHggMCBhdXRvIDVweDtcclxuXHRcdFx0XHRcdGZsb2F0OiBub25lO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LnF1aWNrX3Nob3Age1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdHRvcDogNDAlO1xyXG5cdFx0XHRcdFx0bGVmdDogMzIlO1xyXG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6ICRmb250U2l6ZU1pbmkgKiAxLjI1O1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMTBweDtcclxuXHRcdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xyXG5cdFx0XHRcdFx0b3BhY2l0eTogLjc7XHJcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAycHg7XHJcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZS1pbi1vdXQ7XHJcblx0XHRcdFx0XHQmOmhvdmVyLCAmOmZvY3VzIHtcclxuXHRcdFx0XHRcdFx0b3BhY2l0eTogMTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XHJcblx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC5pZTcgJi5xdWlja19zaG9wLFxyXG5cdFx0XHRcdC5pZTggJi5xdWlja19zaG9wIHsgZGlzcGxheTogbm9uZTsgfVxyXG5cdFx0XHRcdC50YWdzIHtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdHRvcDogMTBweDtcclxuXHRcdFx0XHRcdHJpZ2h0OiA1cHg7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgkYml0dHkpIHtcclxuXHRcdFx0XHRcdFx0cmlnaHQ6IDgwcHg7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQuaW1hZ2Utb3Zlci1pY29uIHtcclxuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDVweDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0LmNlbnRlcmVkIHtcclxuXHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRcdC5zYWxlcHJpY2Uge1xyXG5cdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICRncmF5RGFyaztcclxuXHRcdFx0XHRcdFx0Y29sb3I6IHJlZDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGEge1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0XHRcdFx0XHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nLXRvcDogNXB4O1xyXG5cclxuXHRcdFx0XHRcdFx0Jjpob3ZlciwgJjpmb2N1cyB7XHJcblx0XHRcdFx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLmllNyB7XHJcblx0QGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDkgb2YgMTIpO1xyXG5cdEBpbmNsdWRlIG9tZWdhO1xyXG59XHJcblxyXG4iLCIubGVmdF9uYXYge1xyXG4gIEBpbmNsdWRlIHNwYW4tY29sdW1ucygyIG9mIDEyKTtcclxuICBAaW5jbHVkZSBub2J1bGxldC1ub3NwYWNlO1xyXG4gIHotaW5kZXg6IDEwO1xyXG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICBwYWRkaW5nOiAzMnB4IDA7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgfVxyXG4gIGEge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgY29sb3I6ICRibGFjaztcclxuICAgICY6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxyXG4gICAgJi5zZWxlY3RlZCB7XHJcbiAgICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICY6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVsIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcclxuICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgbGkge1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheUxpZ2h0ZXI7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zaG9wLWJ5IHtcclxuICAgIEBleHRlbmQgJWNvbnRhaW5lci1zaGFkb3c7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIGxpOmxhc3QtY2hpbGQge1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuICAubW9kYWwtYm9keSB1bCBsaTpsYXN0LWNoaWxkIHtcclxuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcbiAgfVxyXG4gIC5wcm9kdWN0LWljb24tcG9wdXAge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxuICAuZ2lmdC1jYXJkIHtcclxuICAgIG1hcmdpbjogMjBweCAwO1xyXG4gIH1cclxufVxyXG4uZnJlZS1pdGVtcy1wb3B1cCB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59IiwiLnJpZ2h0X2NvbnRlbnQge1xyXG4gIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMCBvZiAxMik7XHJcbiAgKndpZHRoOiA4MCU7XHJcbiAgcGFkZGluZzogMjBweCAwO1xyXG4gIEBpbmNsdWRlIG9tZWdhO1xyXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHsgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTsgfVxyXG59XHJcbiAgLmNhdGVnb3J5LW5hbWUge1xyXG4gICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgY29sb3I6ICMzMzY2Y2M7XHJcbiAgICBtYXJnaW46IDAgMCAxNXB4IDA7XHJcbiAgICBsaW5lLWhlaWdodDogMS4xO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkgeyBmb250LXNpemU6IDEycHg7IH1cclxuICB9XHJcbi5jYXRlZ29yeS1wcm9kdWN0LWxpc3Qge1xyXG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcclxuICAgIEBpbmNsdWRlIG9tZWdhO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuXHJcbiAgICAuY2F0ZWdvcnktcGFnZS10aXRsZSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgY29sb3I6ICRncmF5RGFya2VyO1xyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBAZXh0ZW5kICVjb250YWluZXItc2hhZG93O1xyXG4gICAgICBib3JkZXI6IDE1cHggc29saWQgJGdyYXlMaWdodGVyO1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgIC5pbm5lci1jYXRlZ29yeSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGxpIHtcclxuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyk7XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xyXG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcclxuICAgICAgICAgIEBpbmNsdWRlIG9tZWdhO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNpbmdsZS1wcm9kdWN0IHtcclxuICAgICAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgICAgIC5wcm9kLWltZyB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxyXG4gICAgfVxyXG4gICAgLnByaWNlIHtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxufSIsIi5wYWdlX3dyYXBwZXIge1xyXG4gIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMik7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLXRhYikgeyBwYWRkaW5nOiAwIDIwcHg7IH1cclxuICAucmlnaHRfY29udGVudCB7XHJcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoOCBvZiAxMik7XHJcbiAgICBAaW5jbHVkZSBvbWVnYTtcclxuICAgIEBpbmNsdWRlIHBhZCgzMHB4IDApO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xyXG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIgb2YgMTIpO1xyXG4gICAgICBAaW5jbHVkZSBvbWVnYTtcclxuICAgIH1cclxuICAgIG9sIHsgbWFyZ2luLWxlZnQ6IDM1cHg7IH1cclxuICAgIC5zaXRlLW1hcCB7XHJcbiAgICAgIHVsIHsgbWFyZ2luLWxlZnQ6IDM1cHg7IH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLmNoZWNrb3V0LXN0ZXAge1xyXG4gIEBpbmNsdWRlIG5vYnVsbGV0LW5vc3BhY2U7XHJcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG5cclxuICBhIHtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcblxyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXMsXHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgIGNvbG9yOiBkYXJrZW4oJHdoaXRlLCAxMCUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS10YWIpIHtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgfVxyXG5cclxuICB1bCB7XHJcbiAgICBtYXJnaW46IDAgNTBweCAxMHB4IDUwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBsaSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW46IDAgMjBweCAyMHB4IDIwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmJsb2NrIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIC5jaXJjbGUge1xyXG4gICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5TGlnaHRlcjtcclxuICAgICAgY29sb3I6IGxpZ2h0ZW4oJGdyYXlEYXJrZXIsIDUlKTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICB3aWR0aDogMzZweDtcclxuICAgICAgaGVpZ2h0OiAzNnB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMzZweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvIDEwcHg7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYWN0aXZlIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5RGFya2VyO1xyXG4gICAgfVxyXG5cclxuICAgIC5wYXN0LFxyXG4gICAgLmIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRibHVlLCAxNSUpO1xyXG4gICAgICBjb2xvcjogJGJsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgLmEge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcclxuICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgYm94LXNoYWRvdzogMCAwIDAgNXB4IHJnYmEoMCwwLDAsMC4xKTtcclxuICAgIH1cclxuXHJcbiAgICBzcGFuIHtcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICBjb2xvcjogJGJsdWU7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uY2hlY2tvdXQge1xyXG4gIC5jb25maXJtLW9yZGVyIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICBoMyB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuXHJcbiAgICAub3JkZXItbnVtIHtcclxuICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICBjb2xvcjogI2UzMTkyOTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5vcmRlci1udW0ge1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgY29sb3I6ICRibHVlO1xyXG4gIH1cclxuXHJcbiAgLnByb2dyZXNzLWJ0bnMge1xyXG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcclxuICAgIEBpbmNsdWRlIG9tZWdhO1xyXG4gICAgbWFyZ2luOiAyMHB4IDA7XHJcblxyXG4gICAgLmJ0bi1jb250aW51ZSB7XHJcbiAgICAgIGZsb2F0OiByaWdodDtcclxuICAgIH1cclxuXHJcbiAgICAuYnRuLWJhY2sge1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jYy1jb250YWluIHtcclxuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMik7XHJcbiAgICBAaW5jbHVkZSBvbWVnYTtcclxuXHJcbiAgICAuYmxvY2sge1xyXG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyBvZiAxMik7XHJcblxyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIEBpbmNsdWRlIG9tZWdhO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XHJcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaW5wdXRbdHlwZT1yYWRpb10ge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5jaGVjay13aXRoLWxhYmVsICsgLmxhYmVsLWZvci1jaGVjayB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheUxpZ2h0ZXI7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuY2hlY2std2l0aC1sYWJlbDpjaGVja2VkICsgLmxhYmVsLWZvci1jaGVjayB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXlMaWdodGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXlEYXJrZXI7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB1bCB7XHJcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsaSB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG5cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBsYWJlbCB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHBhZGRpbmc6IDE0cHggMCAwIDA7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogLjVweDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICBmb250LXNpemU6IC44NzVlbTtcclxuICB9XHJcblxyXG4gIGxhYmVsLnJhZGlvIHtcclxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGxldHRlci1zcGFjaW5nOiAwO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxuXHJcbiAgbGFiZWwuY2hlY2tib3gge1xyXG4gICAgQGV4dGVuZCAucmFkaW87XHJcbiAgfVxyXG5cclxuICAuYmlsbGluZy1hZGRyZXNzIHtcclxuICAgIHNlbGVjdCB7XHJcbiAgICAgIHdpZHRoOiAyNzBweDtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcclxuICAgICAgICB3aWR0aDogMjIwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5naWZ0LW1zZy1jaGVjayB7XHJcbiAgICBtaW4taGVpZ2h0OiAyMHB4O1xyXG4gICAgcGFkZGluZzogMTlweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2VsbEJhY2tncm91bmQ7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZW4oJHdlbGxCYWNrZ3JvdW5kLCA3JSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkYmFzZUJvcmRlclJhZGl1cztcclxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNSk7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgfVxyXG5cclxuICAucGF5bWVudC1tZXRob2Qge1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuXHJcbiAgICBsYWJlbCB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIHVsIHtcclxuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIGxpIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcblxyXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICB9XHJcblxyXG4gIC5pbmxpbmUtYnRuIHtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcblxyXG4gIC5ibHVlX2xpbmsge1xyXG4gICAgY29sb3I6ICRibHVlO1xyXG4gIH1cclxuXHJcbiAgLnJlY2FwIHtcclxuICAgIHVsIHtcclxuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5idG4tc21hbGwge1xyXG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5iaWxsaW5nLWNvbnRhaW5lciB7XHJcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg5KTtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXlMaWdodGVyO1xyXG4gICAgICBwYWRkaW5nOiAwIDMwcHggMTBweDtcclxuXHJcbiAgICAgIC5hZGRyZXNzLCAuaW5mbyB7XHJcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQgb2YgOSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5pbmZvIHtcclxuICAgICAgICBAaW5jbHVkZSBvbWVnYTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zaGlwcGluZy1jb250YWluZXIge1xyXG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xyXG4gICAgICBAaW5jbHVkZSBvbWVnYTtcclxuICAgICAgcGFkZGluZzogMCAzMHB4IDEwcHg7XHJcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcblxyXG4gICAgICB1bCB7XHJcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQgb2YgMTIpO1xyXG5cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgQGluY2x1ZGUgb21lZ2E7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmJhc2tldC10b3RhbCB7XHJcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcclxuICAgICAgQGluY2x1ZGUgb21lZ2E7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XHJcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcclxuICAgICAgICBAaW5jbHVkZSBvbWVnYTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdWwge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkYm9keSw1JSk7XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICBAZXh0ZW5kICVjb250YWluZXItc2hhZG93O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsaS5jaGVja291dC1pbmZvIHtcclxuICAgICAgICAuYnRuIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuXHJcbiAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmFkZG1vcmUge1xyXG4gIHdpZHRoOiAxMjBweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5yb3ctb2ZmLCAuaGlkZGVuIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4ucm93LW9uLCAudmlzaWJsZSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWFyZ2luOiA1cHggMHB4O1xyXG59XHJcbiIsIi8vIEZpbHRlcnMgc29sciBzZWFyY2hcclxuLmZpbHRlciB7XHJcbiAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcclxuXHJcbiAgbGFiZWwge1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheUxpZ2h0ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuICBhOmxpbmssXHJcbiAgYTp2aXNpdGVkIHtcclxuICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xyXG4gICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5maWx0ZXItYnV0dG9ucyB7XHJcbiAgICAuc2l6ZSB7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIHBhZGRpbmc6IDRweCAxMnB4IDEycHg7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgd2lkdGg6IDUwcHg7XHJcbiAgICAgIGhlaWdodDogNTBweDtcclxuICAgICAgcG9pbnRlcjogY3Vyc29yO1xyXG4gICAgICBsaW5lLWhlaWdodDogMTdweDtcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICRibHVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLm1lbnUge1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gIHBlcnNwZWN0aXZlOiA3MDtcclxuICAtd2Via2l0LXBlcnNwZWN0aXZlOiA3MDtcclxuICBmb250LXNpemU6IDIxcHg7XHJcbiAgdWwge1xyXG4gICAgbWFyZ2luOiAxMHB4IDAgMCAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS10YWIpIHtcclxuICAgICAgd2lkdGg6IDUwJTtcclxuICAgIH1cclxuICB9XHJcbiAgdWwgbGkge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHBhZGRpbmc6IDlweCAwIDAgMzBweDtcclxuXHJcbiAgICAuc2hvcHBpbmctY2FydC1jb3VudCB7XHJcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMnB4KTtcclxuICAgICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgICBwYWRkaW5nOiAzcHggNXB4O1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAjYjAyODFhO1xyXG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjYWYzMDFmO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzUzNzI3O1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxsZWZ0IGJvdHRvbSxmcm9tKCNkZDRiMzkpLHRvKCNjNTM3MjcpKTtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCNkZDRiMzksI2M1MzcyNyk7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwjZGQ0YjM5LCNjNTM3MjcpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwjZGQ0YjM5IDAlLCNjNTM3MjcgMTAwJSk7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sI2RkNGIzOSwjYzUzNzI3KTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBtYXJnaW4tbGVmdDogLTEwcHg7XHJcbiAgICAgIG1hcmdpbi10b3A6IC0xNHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGE6bGluayxcclxuICAgIGE6aG92ZXIsXHJcbiAgICBhOmFjdGl2ZSxcclxuICAgIGE6dmlzaXRlZCxcclxuICAgIGE6Zm9jdXMgeyBjb2xvcjogJGdyYXlEYXJrZXI7IH1cclxuICAgIC8vICYuc2VhcmNoLWljb24ge1xyXG4gICAgLy8gICBkaXNwbGF5OiBub25lO1xyXG4gICAgLy8gICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XHJcbiAgICAvLyAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgLy8gICB9XHJcbiAgICAvLyB9XHJcbiAgfVxyXG59XHJcblxyXG4ubWVudS13cmFwcGVyLFxyXG4uZnJvbnQsXHJcbi5iYWNrIHtcclxuICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xyXG4gIEBpbmNsdWRlIG9tZWdhO1xyXG4gIGhlaWdodDogNTRweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2VsbEJhY2tncm91bmQ7XHJcbn1cclxuLm1lbnUtd3JhcHBlciB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB0cmFuc2l0aW9uOiAwLjZzO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogMC42cztcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuLy8gTW9iaWxlIHNlYWNoXHJcbi5mbGlwIC5mcm9udCB7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMS4zcztcclxuICB0cmFuc2l0aW9uOiBhbGwgMS4zcztcclxuICB0cmFuc2Zvcm06IHNjYWxlKDAuOSwgMC45KTtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45LCAwLjkpO1xyXG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XHJcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XHJcbiAgLyogSUUgOSAqL1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcclxuICAvKiBTYWZhcmkgYW5kIENocm9tZSAqL1xyXG4gIG9wYWNpdHk6IDAuNTtcclxufVxyXG4uZmxpcCAuYmFjayB7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC43cztcclxuICB0cmFuc2l0aW9uOiBhbGwgMC43cztcclxuICBvcGFjaXR5OiAxO1xyXG4gIHRvcDogMDtcclxuICBwYWRkaW5nLXRvcDogMTVweDtcclxufVxyXG4uZnJvbnQge1xyXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbn1cclxuLmJhY2sge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHRvcDogLTcwcHg7XHJcbiAgbGVmdDogMDtcclxufVxyXG4vKiBmcm9udCBwYW5lLCBwbGFjZWQgYWJvdmUgYmFjayAqL1xyXG4uZnJvbnQge1xyXG4gIHotaW5kZXg6IDI7XHJcbn1cclxuLmJhY2sge1xyXG4gIHotaW5kZXg6IDM7XHJcbn1cclxuLyogYmFjaywgaW5pdGlhbGx5IGhpZGRlbiBwYW5lICovXHJcbi5iYWNrIC5jbG9zZS1pY29uIHtcclxuICBwYWRkaW5nOiAwIDAgMCAxMHB4O1xyXG4gIG1hcmdpbjogMDtcclxuICBmbG9hdDogcmlnaHQ7XHJcbn1cclxuLmJhY2sgLnNlYXJjaC1idG4ge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIEBpbmNsdWRlIG1lZGlhKCRiaXR0eSkge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuLmJhY2sgaW5wdXQge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG59XHJcbi5jbG9zZS1pY29uIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgZm9udC1zaXplOiAyMXB4O1xyXG59XHJcblxyXG4iLCIjbm90aWZ5IHtcclxuICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xyXG4gIEBpbmNsdWRlIG9tZWdhO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbiAgbWFyZ2luLXRvcDogMTBweDtcclxufSIsIi5jcm9zcy1zZWxscy1jb250YWluZXIge1xyXG4gIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMiBvZiAxMik7XHJcbiAgQGluY2x1ZGUgb21lZ2E7XHJcbiAgQGluY2x1ZGUgbm9idWxsZXQtbm9zcGFjZTtcclxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7IGRpc3BsYXk6IG5vbmU7IH1cclxuICBoNSB7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcclxuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XHJcbiAgfVxyXG4gIGxpIHtcclxuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgIEBpbmNsdWRlIG9tZWdhO1xyXG4gICAgfVxyXG4gICAgLmNyb3NzLXNhbGUtcHJpY2Uge1xyXG4gICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi5mYXEtaCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcclxufVxyXG5cclxuLmZhcS1jIHtcclxuXHJcbn1cclxuXHJcbi5mYXEtdCB7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNWVtO1xyXG4gIGNvbG9yOiAjYWFhO1xyXG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xyXG4gIGZsb2F0OmxlZnQ7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICBwYWRkaW5nLXJpZ2h0OiAwLjhlbTtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAyMDBtcztcclxuICAtbW96LXRyYW5zaXRpb246IGFsbCAyMDBtcztcclxuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XHJcbn1cclxuXHJcbi5mYXEtbyB7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xyXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMjAwbXM7XHJcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMjAwbXM7XHJcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xyXG59XHJcblxyXG4uZmFxLXEge1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgcGFkZGluZzogMCAxNXB4IDEwcHggMDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG59XHJcblxyXG4uZmFxLWEge1xyXG4gIGNsZWFyOiBib3RoO1xyXG4gIGNvbG9yOiAjNjY2O1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgcGFkZGluZzogMCAwIDI1cHggMS41ZW07XHJcbiAgbWFyZ2luOiAwO1xyXG4gIC5zaXplLWNoYXJ0IHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuICAuc2l6ZS1jaGFydC1ub3RlIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbiAgLmZpdC1pbWFnZXMge1xyXG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xyXG4gIH1cclxuICAuY2hhcnQge1xyXG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDgpO1xyXG4gICAgQGluY2x1ZGUgb21lZ2E7XHJcbiAgfVxyXG59XHJcbiIsIi8qIFRoZSBtYWluIGNhbGVuZGFyIHdpZGdldC4gIERJViBjb250YWluaW5nIGEgdGFibGUuICovXHJcblxyXG5kaXYuY2FsZW5kYXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cclxuXHJcbi5jYWxlbmRhciwgLmNhbGVuZGFyIHRhYmxlIHtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjNTU2O1xyXG4gIGZvbnQtc2l6ZTogMTFweDtcclxuICBjb2xvcjogIzAwMDtcclxuICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgYmFja2dyb3VuZDogI2VlZjtcclxuICBmb250LWZhbWlseTogdGFob21hLHZlcmRhbmEsc2Fucy1zZXJpZjtcclxufVxyXG5cclxuLyogSGVhZGVyIHBhcnQgLS0gY29udGFpbnMgbmF2aWdhdGlvbiBidXR0b25zIGFuZCBkYXkgbmFtZXMuICovXHJcblxyXG4uY2FsZW5kYXIgLmJ1dHRvbiB7IC8qIFwiPDxcIiwgXCI8XCIsIFwiPlwiLCBcIj4+XCIgYnV0dG9ucyBoYXZlIHRoaXMgY2xhc3MgKi9cclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7ICAgIC8qIFRoZXkgYXJlIHRoZSBuYXZpZ2F0aW9uIGJ1dHRvbnMgKi9cclxuICBwYWRkaW5nOiAycHg7ICAgICAgICAgIC8qIE1ha2UgdGhlIGJ1dHRvbnMgc2VlbSBsaWtlIHRoZXkncmUgcHJlc3NpbmcgKi9cclxufVxyXG5cclxuLmNhbGVuZGFyIC5uYXYge1xyXG4gIGJhY2tncm91bmQ6ICM3NzggdXJsKG1lbnVhcnJvdy5naWYpIG5vLXJlcGVhdCAxMDAlIDEwMCU7XHJcbn1cclxuXHJcbi5jYWxlbmRhciB0aGVhZCAudGl0bGUgeyAvKiBUaGlzIGhvbGRzIHRoZSBjdXJyZW50IFwibW9udGgsIHllYXJcIiAqL1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkOyAgICAgIC8qIFByZXNzaW5nIGl0IHdpbGwgdGFrZSB5b3UgdG8gdGhlIGN1cnJlbnQgZGF0ZSAqL1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIGNvbG9yOiAjMDAwO1xyXG4gIHBhZGRpbmc6IDJweDtcclxufVxyXG5cclxuLmNhbGVuZGFyIHRoZWFkIC5oZWFkcm93IHsgLyogUm93IDxUUj4gY29udGFpbmluZyBuYXZpZ2F0aW9uIGJ1dHRvbnMgKi9cclxuICBiYWNrZ3JvdW5kOiAjNzc4O1xyXG4gIGNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4uY2FsZW5kYXIgdGhlYWQgLmRheW5hbWVzIHsgLyogUm93IDxUUj4gY29udGFpbmluZyB0aGUgZGF5IG5hbWVzICovXHJcbiAgYmFja2dyb3VuZDogI2JkZjtcclxufVxyXG5cclxuLmNhbGVuZGFyIHRoZWFkIC5uYW1lIHsgLyogQ2VsbHMgPFREPiBjb250YWluaW5nIHRoZSBkYXkgbmFtZXMgKi9cclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzU1NjtcclxuICBwYWRkaW5nOiAycHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGNvbG9yOiAjMDAwO1xyXG59XHJcblxyXG4uY2FsZW5kYXIgdGhlYWQgLndlZWtlbmQgeyAvKiBIb3cgYSB3ZWVrZW5kIGRheSBuYW1lIHNob3dzIGluIGhlYWRlciAqL1xyXG4gIGNvbG9yOiAjYTY2O1xyXG59XHJcblxyXG4uY2FsZW5kYXIgdGhlYWQgLmhpbGl0ZSB7IC8qIEhvdyBkbyB0aGUgYnV0dG9ucyBpbiBoZWFkZXIgYXBwZWFyIHdoZW4gaG92ZXIgKi9cclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWFmO1xyXG4gIGNvbG9yOiAjMDAwO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICMwNGY7XHJcbiAgcGFkZGluZzogMXB4O1xyXG59XHJcblxyXG4uY2FsZW5kYXIgdGhlYWQgLmFjdGl2ZSB7IC8qIEFjdGl2ZSAocHJlc3NlZCkgYnV0dG9ucyBpbiBoZWFkZXIgKi9cclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzdjO1xyXG4gIHBhZGRpbmc6IDJweCAwcHggMHB4IDJweDtcclxufVxyXG5cclxuLyogVGhlIGJvZHkgcGFydCAtLSBjb250YWlucyBhbGwgdGhlIGRheXMgaW4gbW9udGguICovXHJcblxyXG4uY2FsZW5kYXIgdGJvZHkgLmRheSB7IC8qIENlbGxzIDxURD4gY29udGFpbmluZyBtb250aCBkYXlzIGRhdGVzICovXHJcbiAgd2lkdGg6IDJlbTtcclxuICBjb2xvcjogIzQ1NjtcclxuICB0ZXh0LWFsaWduOiByaWdodDtcclxuICBwYWRkaW5nOiAycHggNHB4IDJweCAycHg7XHJcbn1cclxuLmNhbGVuZGFyIHRib2R5IC5kYXkub3RoZXJtb250aCB7XHJcbiAgZm9udC1zaXplOiA4MCU7XHJcbiAgY29sb3I6ICNiYmI7XHJcbn1cclxuLmNhbGVuZGFyIHRib2R5IC5kYXkub3RoZXJtb250aC5vd2Vla2VuZCB7XHJcbiAgY29sb3I6ICNmYmI7XHJcbn1cclxuXHJcbi5jYWxlbmRhciB0YWJsZSAud24ge1xyXG4gIHBhZGRpbmc6IDJweCAzcHggMnB4IDJweDtcclxuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjMDAwO1xyXG4gIGJhY2tncm91bmQ6ICNiZGY7XHJcbn1cclxuXHJcbi5jYWxlbmRhciB0Ym9keSAucm93aGlsaXRlIHRkIHtcclxuICBiYWNrZ3JvdW5kOiAjZGVmO1xyXG59XHJcblxyXG4uY2FsZW5kYXIgdGJvZHkgLnJvd2hpbGl0ZSB0ZC53biB7XHJcbiAgYmFja2dyb3VuZDogI2VlZjtcclxufVxyXG5cclxuLmNhbGVuZGFyIHRib2R5IHRkLmhpbGl0ZSB7IC8qIEhvdmVyZWQgY2VsbHMgPFREPiAqL1xyXG4gIGJhY2tncm91bmQ6ICNkZWY7XHJcbiAgcGFkZGluZzogMXB4IDNweCAxcHggMXB4O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNiYmI7XHJcbn1cclxuXHJcbi5jYWxlbmRhciB0Ym9keSB0ZC5hY3RpdmUgeyAvKiBBY3RpdmUgKHByZXNzZWQpIGNlbGxzIDxURD4gKi9cclxuICBiYWNrZ3JvdW5kOiAjY2RlO1xyXG4gIHBhZGRpbmc6IDJweCAycHggMHB4IDJweDtcclxufVxyXG5cclxuLmNhbGVuZGFyIHRib2R5IHRkLnNlbGVjdGVkIHsgLyogQ2VsbCBzaG93aW5nIHRvZGF5IGRhdGUgKi9cclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xyXG4gIHBhZGRpbmc6IDFweCAzcHggMXB4IDFweDtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIGNvbG9yOiAjMDAwO1xyXG59XHJcblxyXG4uY2FsZW5kYXIgdGJvZHkgdGQud2Vla2VuZCB7IC8qIENlbGxzIHNob3dpbmcgd2Vla2VuZCBkYXlzICovXHJcbiAgY29sb3I6ICNhNjY7XHJcbn1cclxuXHJcbi5jYWxlbmRhciB0Ym9keSB0ZC50b2RheSB7IC8qIENlbGwgc2hvd2luZyBzZWxlY3RlZCBkYXRlICovXHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgY29sb3I6ICMwMGY7XHJcbn1cclxuXHJcbi5jYWxlbmRhciB0Ym9keSAuZGlzYWJsZWQgeyBjb2xvcjogIzk5OTsgfVxyXG5cclxuLmNhbGVuZGFyIHRib2R5IC5lbXB0eWNlbGwgeyAvKiBFbXB0eSBjZWxscyAodGhlIGJlc3QgaXMgdG8gaGlkZSB0aGVtKSAqL1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLmNhbGVuZGFyIHRib2R5IC5lbXB0eXJvdyB7IC8qIEVtcHR5IHJvdyAoc29tZSBtb250aHMgbmVlZCBsZXNzIHRoYW4gNiByb3dzKSAqL1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8qIFRoZSBmb290ZXIgcGFydCAtLSBzdGF0dXMgYmFyIGFuZCBcIkNsb3NlXCIgYnV0dG9uICovXHJcblxyXG4uY2FsZW5kYXIgdGZvb3QgLmZvb3Ryb3cgeyAvKiBUaGUgPFRSPiBpbiBmb290ZXIgKG9ubHkgb25lIHJpZ2h0IG5vdykgKi9cclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgYmFja2dyb3VuZDogIzU1NjtcclxuICBjb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLmNhbGVuZGFyIHRmb290IC50dGlwIHsgLyogVG9vbHRpcCAoc3RhdHVzIGJhcikgY2VsbCA8VEQ+ICovXHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICBjb2xvcjogIzQ0NTtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgIzU1NjtcclxuICBwYWRkaW5nOiAxcHg7XHJcbn1cclxuXHJcbi5jYWxlbmRhciB0Zm9vdCAuaGlsaXRlIHsgLyogSG92ZXIgc3R5bGUgZm9yIGJ1dHRvbnMgaW4gZm9vdGVyICovXHJcbiAgYmFja2dyb3VuZDogI2FhZjtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjMDRmO1xyXG4gIGNvbG9yOiAjMDAwO1xyXG4gIHBhZGRpbmc6IDFweDtcclxufVxyXG5cclxuLmNhbGVuZGFyIHRmb290IC5hY3RpdmUgeyAvKiBBY3RpdmUgKHByZXNzZWQpIHN0eWxlIGZvciBidXR0b25zIGluIGZvb3RlciAqL1xyXG4gIGJhY2tncm91bmQ6ICM3N2M7XHJcbiAgcGFkZGluZzogMnB4IDBweCAwcHggMnB4O1xyXG59XHJcblxyXG4vKiBDb21ibyBib3hlcyAobWVudXMgdGhhdCBkaXNwbGF5IG1vbnRocy95ZWFycyBmb3IgZGlyZWN0IHNlbGVjdGlvbikgKi9cclxuXHJcbi5jYWxlbmRhciAuY29tYm8ge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIHRvcDogMHB4O1xyXG4gIGxlZnQ6IDBweDtcclxuICB3aWR0aDogNGVtO1xyXG4gIGN1cnNvcjogZGVmYXVsdDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjNjU1O1xyXG4gIGJhY2tncm91bmQ6ICNkZWY7XHJcbiAgY29sb3I6ICMwMDA7XHJcbiAgZm9udC1zaXplOiA5MCU7XHJcbiAgei1pbmRleDogMTAwO1xyXG59XHJcblxyXG4uY2FsZW5kYXIgLmNvbWJvIC5sYWJlbCxcclxuLmNhbGVuZGFyIC5jb21ibyAubGFiZWwtSUVmaXgge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBwYWRkaW5nOiAxcHg7XHJcbn1cclxuXHJcbi5jYWxlbmRhciAuY29tYm8gLmxhYmVsLUlFZml4IHtcclxuICB3aWR0aDogNGVtO1xyXG59XHJcblxyXG4uY2FsZW5kYXIgLmNvbWJvIC5oaWxpdGUge1xyXG4gIGJhY2tncm91bmQ6ICNhY2Y7XHJcbn1cclxuXHJcbi5jYWxlbmRhciAuY29tYm8gLmFjdGl2ZSB7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM0NmE7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0NmE7XHJcbiAgYmFja2dyb3VuZDogI2VlZjtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLmNhbGVuZGFyIHRkLnRpbWUge1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjMDAwO1xyXG4gIHBhZGRpbmc6IDFweCAwcHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmNGYwZTg7XHJcbn1cclxuXHJcbi5jYWxlbmRhciB0ZC50aW1lIC5ob3VyLFxyXG4uY2FsZW5kYXIgdGQudGltZSAubWludXRlLFxyXG4uY2FsZW5kYXIgdGQudGltZSAuYW1wbSB7XHJcbiAgcGFkZGluZzogMHB4IDNweCAwcHggNHB4O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICM4ODk7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLmNhbGVuZGFyIHRkLnRpbWUgLmFtcG0ge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmNhbGVuZGFyIHRkLnRpbWUgLmNvbG9uIHtcclxuICBwYWRkaW5nOiAwcHggMnB4IDBweCAzcHg7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5jYWxlbmRhciB0ZC50aW1lIHNwYW4uaGlsaXRlIHtcclxuICBib3JkZXItY29sb3I6ICMwMDA7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY2NztcclxuICBjb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLmNhbGVuZGFyIHRkLnRpbWUgc3Bhbi5hY3RpdmUge1xyXG4gIGJvcmRlci1jb2xvcjogI2YwMDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xyXG4gIGNvbG9yOiAjMGYwO1xyXG59XHJcbiIsIi5zdXBwb3J0LW5hdiB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIG1hcmdpbi10b3A6IDYwcHg7XHJcbiAgcmlnaHQ6IDE3NXB4O1xyXG4gIHotaW5kZXg6ICR6aW5kZXhNb2RhbDtcclxuICB3aWR0aDogMzAwcHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkO1xyXG4gIGJvcmRlci1jb2xvcjogI2JiYiAjYmJiICNhOGE4YTggI2JiYjtcclxuICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKDAsMCwwLDAuMik7XHJcbiAgQGluY2x1ZGUgYmFja2dyb3VuZC1jbGlwKHBhZGRpbmctYm94KTtcclxuICAvLyBSZW1vdmUgZm9jdXMgb3V0bGluZSBmcm9tIG9wZW5lZCBtb2RhbFxyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgJi5mYWRlIHtcclxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAuM3MgbGluZWFyKTtcclxuICAgIHRvcDogMjUlO1xyXG4gIH1cclxuICAmLmZhZGUuaW4geyB0b3A6IDI1JTsgfVxyXG4gIGZvcm0ge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XHJcbiAgICB0b3A6IDIlO1xyXG4gIH1cclxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XHJcbiAgICByaWdodDogMDtcclxuICB9XHJcbn1cclxuLnN1cHBvcnROYXYtaGVhZGVyIHtcclxuICBwYWRkaW5nOiAxMHB4IDUwcHggMTBweDtcclxuICBoZWlnaHQ6IDM1cHg7XHJcbiAgaDUgeyBtYXJnaW46IDA7IGRpc3BsYXk6IGlubGluZTsgfVxyXG4gIGJhY2tncm91bmQtY29sb3I6ICR3ZWxsQmFja2dyb3VuZDtcclxuICAvLyBDbG9zZSBpY29uXHJcbiAgLmNsb3NlOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAnXFxGMDBEJztcclxuICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XHJcbiAgICBjb2xvcjogIzAwMDtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDAuOGVtO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxMHB4O1xyXG4gICAgcmlnaHQ6IDFweDtcclxuICB9XHJcbiAgLy8gSGVhZGluZ1xyXG4gIGgzIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gIH1cclxufVxyXG4uc3VwcG9ydE5hdi1ib2R5IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxuICBtYXgtaGVpZ2h0OiA2MDBweDtcclxuICBwYWRkaW5nOiAwIDI1cHggMjVweCAyNXB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR3ZWxsQmFja2dyb3VuZDtcclxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxuICBoNSB7IGRpc3BsYXk6IGlubGluZTsgfVxyXG4gIHVsIHsgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XHJcbiAgLnRpdGxlIHtcclxuICAgICAgY29sb3I6ICRncmF5RGFyaztcclxuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICB9XHJcbiAgLmFjY291bnQge1xyXG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xyXG4gIH1cclxuICAuaGVscCB7XHJcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XHJcbiAgICBAaW5jbHVkZSBvbWVnYTtcclxuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RkZDtcclxuICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICB9XHJcbn1cclxuIiwiLml0ZW1zLWNvbnRhaW4ge1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDkpO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xyXG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcclxuICAgIEBpbmNsdWRlIG9tZWdhO1xyXG4gIH1cclxuICB0YWJsZSB7XHJcbiAgICBtYXJnaW46IDEwcHggMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XHJcbiAgICAvKiBGb3JjZSB0YWJsZSB0byBub3QgYmUgbGlrZSB0YWJsZXMgYW55bW9yZSAqL1xyXG4gICAgdGFibGUsIHRoZWFkLCB0Ym9keSwgdGgsIHRkLCB0ciB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIHRoZWFkIHRyIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IC05OTk5cHg7XHJcbiAgICAgIGxlZnQ6IC05OTk5cHg7XHJcbiAgICB9XHJcblxyXG4gICAgdGQge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5oZWFkZXJzIHtcclxuICAgIHRyIHRoIHtcclxuICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkZ3JheUxpZ2h0ZXI7XHJcbiAgICAgIHBhZGRpbmc6IDAgMCA1cHggMDtcclxuICAgIH1cclxuICAgIHRoOm50aC1jaGlsZCgzKSxcclxuICAgIHRoOm50aC1jaGlsZCg0KSxcclxuICAgIHRoOm50aC1jaGlsZCg1KSB7IHBhZGRpbmctcmlnaHQ6IDE1cHg7IH1cclxuICB9XHJcbiAgLml0ZW1zIHtcclxuICAgIHRyIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5TGlnaHRlcjtcclxuICAgIH1cclxuICAgIHRkIHtcclxuICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgJjpmaXJzdC1jaGlsZCB7IHBhZGRpbmctbGVmdDogMDsgfVxyXG4gICAgICAmOm50aC1jaGlsZCgzKSxcclxuICAgICAgJjpudGgtY2hpbGQoNCksXHJcbiAgICAgICY6bGFzdC1jaGlsZCB7IHBhZGRpbmc6IDVweCAxNXB4IDVweCAwIH1cclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDVweCAwICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgICAgaDUsIHAge1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMnB4IDA7XHJcbiAgICAgIH1cclxuICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHsgbWFyZ2luOiAwIDVweCAwIDA7IH1cclxuICAgICAgLnJlbW92ZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZm9udFNpemVTbWFsbDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICB9XHJcbiAgICAgICYuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIG1heC13aWR0aDogMzUwcHg7XHJcbiAgICAgICAgLmFsZXJ0IHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuZ2lmdGNhcmQtaW5wdXQge1xyXG4gICAgICB0ZDpsYXN0LWNoaWxkIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2NXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAubWVzc2FnZS1saW5lcyB7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gICAgICBtYXgtd2lkdGg6IDM1MHB4O1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDU1cHg7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNTBweDtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgICBpbnB1dCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbi5pdGVtLXRvdGFsIHtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB6LWluZGV4OiAtMTtcclxufVxyXG4uc2xpZGUtY29udGFpbiB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIC5zbGlkZS1lZGl0IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIG1hcmdpbi10b3A6IC00NXB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIHotaW5kZXg6IDU7XHJcbiAgICB3aWR0aDogODBweDtcclxuICAgIGhlaWdodDogODBweDtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDAgMCAwO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAgIGhlaWdodDogOTBweDtcclxuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjkpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4uYnRuLXVwZGF0ZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbjogMTBweCAwIDIwcHg7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgfVxyXG59XHJcbi5saW5rLWNhbmNlbCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmb250LXNpemU6IDEwcHg7XHJcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgbWFyZ2luLXRvcDogMjBweDtcclxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcbn1cclxuLmdpZnQtc2xpZGUge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB3aWR0aDogMTAwcHg7XHJcbiAgICBoZWlnaHQ6IDkwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuOSk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gIH1cclxufVxyXG4uZHJvcGRvd24geyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cclxufVxyXG5cclxuLmJhc2tldC10b3RhbCB7XHJcbiAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMpO1xyXG4gIEBpbmNsdWRlIG9tZWdhO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xyXG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcclxuICAgIEBpbmNsdWRlIG9tZWdhO1xyXG4gIH1cclxuICAuZ2lmdC1jYXJkLWNvbnRhaW4ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDEwcHggMCAyNXB4IGF1dG87XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG4gIHVsIHtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGJvZHksNSUpO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIEBleHRlbmQgJWNvbnRhaW5lci1zaGFkb3c7XHJcbiAgfVxyXG4gIGxpLmNoZWNrb3V0LWluZm8ge1xyXG4gICAgLmJ0biB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgbWFyZ2luOiA1cHggMDtcclxuICAgICAgc3BhbiB7IGZsb2F0OiByaWdodDsgfVxyXG4gICAgfVxyXG4gIH1cclxuICBsaS5wcm9tby1jb2RlIHtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgbGFiZWwgeyBwYWRkaW5nOiAwOyB9XHJcbiAgICBpbnB1dCB7IHdpZHRoOiA2OCU7IH1cclxuICAgIC5idG4ge1xyXG4gICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgIHBhZGRpbmc6IDZweDtcclxuICAgIH1cclxuICB9XHJcbn0iLCIjc3ViQ2F0TGlzdCB7IGRpc3BsYXk6IG5vbmUgfVxyXG5cclxuI21vYmlsZS1zdWJjYXQtY29udGFpbiB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNzRweDtcclxuICByaWdodDogMnB4O1xyXG4gIC50aW55bmF2IHtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcblxyXG5cclxuIiwiLnByb21vcyB7XHJcbiAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcclxuICBAaW5jbHVkZSBvbWVnYTtcclxuICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHsgZGlzcGxheTogbm9uZTsgfVxyXG59XHJcblxyXG4uZGFpbHktcHJvbW8ge1xyXG4gIG1hcmdpbjogMjBweCAwO1xyXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcclxuICAgIG1hcmdpbjogMjBweCAwIGF1dG87XHJcbiAgfVxyXG4gIGltZyB7IGZsb2F0OiBsZWZ0OyB9XHJcbiAgdWwge1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgfVxyXG4gIGJ1dHRvbiB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbn0iXSwibWFwcGluZ3MiOiI7QTBEQ0UsQ0FBQyxDQUFDO0ViWUksa0JBQW9CLEVhWEosVUFBVTtFYmdCMUIsZUFBaUIsRWFoQkQsVUFBVTtFYitCMUIsVUFBWSxFYS9CSSxVQUFVLEdBQy9COztBVzR3Qkg7Z0NBQ2dDO0FBRWhDLFVBQVU7RUFDUixXQUFXLEVBQUUsYUFBYztFQUMzQixHQUFHLEVBQUUsK0NBQUc7RUFDUixHQUFHLEVBQUUsc0RBQUcsQ0FBZ0YsMkJBQU0sRUFDNUYsZ0RBQUcsQ0FBMEUsY0FBTSxFQUNuRiwrQ0FBRyxDQUF5RSxrQkFBTSxFQUNsRixrRUFBRyxDQUE0RixhQUFNO0VBRXZHLFdBQVcsRUFBRSxNQUFPO0VBQ3BCLFVBQVUsRUFBRSxNQUFPOztBQUdyQjtnQ0FDZ0M7Q0FFaEMsQUFBQSxLQUFDLEVBQU8sT0FBTyxBQUFkO0NBQ0QsQUFBQSxLQUFDLEVBQU8sUUFBUSxBQUFmLEVBQWlCO0VBM0RoQixXQUFXLEVBQUUsV0FBWTtFQUN6QixXQUFXLEVBQUUsTUFBTztFQUNwQixVQUFVLEVBQUUsTUFBTztFQUNuQixlQUFlLEVBQUUsT0FBUTtFQUN6QixzQkFBc0IsRUFBRSxXQUFZO0VBQ3BDLGFBQWEsRUFBRSxJQUFLLEdBd0RyQjs7Q0FFRCxBQUFBLEtBQUMsRUFBTyxPQUFPLEFBQWQsQ0FBZSxPQUFPO0NBQ3ZCLEFBQUEsS0FBQyxFQUFPLFFBQVEsQUFBZixDQUFnQixPQUFPLENBQUM7RUFDdkIsZUFBZSxFQUFFLE9BQVE7RUFDekIsT0FBTyxFQUFFLFlBQWE7RUFDdEIsS0FBSyxFQUFFLElBQUssR0FDYjs7QUFFRCw4REFBOEQ7QUFDOUQsV0FBVyxBQUFBLE9BQU8sQ0FBQztFQUNqQixjQUFjLEVBQUUsSUFBSztFQUNyQixTQUFTLEVBQUcs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T0FBTyxFQUFFLENBQUUsR0FBSTtJQXJDM0IsYUFBYSxDQWlDWCxFQUFFLEFBQUEsV0FBVyxDQUtYLEtBQUssQ0FBQztNQUFFLEtBQUssRUFBRSxHQUFJLEdBQUk7SUF0QzNCLGFBQWEsQ0FpQ1gsRUFBRSxBQUFBLFdBQVcsQ0FNWCxJQUFJLENBQUM7TUFDSCxLQUFLLEVBQUUsS0FBTTtNQUNiLE9BQU8sRUFBRSxHQUFJLEdBQ2Q7O0FDMU1MLFdBQVcsQ0FBQztFQUFFLE9BQU8sRUFBRSxJQUFNLEdBQUU7O0FBRS9CLHNCQUFzQixDQUFDO0VBQ3JCLFFBQVEsRUFBRSxRQUFTO0VBQ25CLEdBQUcsRUFBRSxJQUFLO0VBQ1YsS0FBSyxFQUFFLEdBQUksR0FLWjtFQVJELHNCQUFzQixDQUlwQixRQUFRLENBQUM7SUFDUCxLQUFLLEVBQUUsSUFBSyxHQUNiOztBQ1JILE9BQU8sQ0FBQztFckRnREosT0FBTyxFQUFFLEtBQU07RUFDZixLQUFLLEVBQUUsSUFBSztFQUNaLFlBQVksRW5EeENOLFFBQVU7RW1EeUNoQixLQUFLLEVuRC9DQyxJQUFVO0VpRGNaLFlBQW9CLEVBQVMsQ0FBRTtFdURmckMsVUFBVSxFQUFFLElBQUssR0FFbEI7RUFMRCxPQUFPLEFyRHFERixXQUFXLENBQUM7SUFDWCxZQUFZLEVBQUUsQ0FBRSxHQUNqQjtFS2hCRCxNQUFNLENBQU4sTUFBTSxNQUFNLFNBQVMsRUFBRSxHQUFHLE9BQU8sU0FBUyxFQUFFLEtBQUs7SWdEdkNyRCxPQUFPLENBQUM7TUFJb0IsT0FBTyxFQUFFLElBQUssR0FDekM7O0FBRUQsWUFBWSxDQUFDO0VBQ1gsTUFBTSxFQUFFLE1BQU8sR0FjaEI7RWhEaUJHLE1BQU0sQ0FBTixNQUFNLE1BQU0sU0FBUyxFQUFFLEdBQUcsT0FBTyxTQUFTLEVBQUUsS0FBSztJZ0RoQ3JELFlBQVksQ0FBQztNQUdULE1BQU0sRUFBRSxXQUFZLEdBWXZCO0VBZkQsWUFBWSxDQUtWLEdBQUcsQ0FBQztJQUFFLEtBQUssRUFBRSxJQUFLLEdBQUk7RUFMeEIsWUFBWSxDQU1WLEVBQUUsQ0FBQztJQUNELGVBQWUsRUFBRSxJQUFLO0lBQ3RCLEtBQUssRUFBRSxJQUFLLEdBQ2I7RUFUSCxZQUFZLENBVVYsTUFBTSxDQUFDO0lBQ0wsS0FBSyxFQUFFLElBQUs7SUFDWixNQUFNLEVBQUUsS0FBTTtJQUNkLE9BQU8sRUFBRSxLQUFNLEdBQ2hCIiwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */