@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.0.6
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
@import url(../fonts/futurenato-icons/styles.css);
.slide-in-down.mui-enter, .slide-in-left.mui-enter, .slide-in-up.mui-enter, .slide-in-right.mui-enter, .slide-out-down.mui-leave, .slide-out-right.mui-leave, .slide-out-up.mui-leave, .slide-out-left.mui-leave, .fade-in.mui-enter, .fade-out.mui-leave, .hinge-in-from-top.mui-enter, .hinge-in-from-right.mui-enter, .hinge-in-from-bottom.mui-enter, .hinge-in-from-left.mui-enter, .hinge-in-from-middle-x.mui-enter, .hinge-in-from-middle-y.mui-enter, .hinge-out-from-top.mui-leave, .hinge-out-from-right.mui-leave, .hinge-out-from-bottom.mui-leave, .hinge-out-from-left.mui-leave, .hinge-out-from-middle-x.mui-leave, .hinge-out-from-middle-y.mui-leave, .scale-in-up.mui-enter, .scale-in-down.mui-enter, .scale-out-up.mui-leave, .scale-out-down.mui-leave, .spin-in.mui-enter, .spin-out.mui-leave, .spin-in-ccw.mui-enter, .spin-out-ccw.mui-leave {
  transition-duration: 500ms;
  transition-timing-function: linear; }

.mapboxgl-map {
  font: 12px/20px 'Helvetica Neue', Arial, Helvetica, sans-serif;
  overflow: hidden;
  position: relative;
  -webkit-tap-highlight-color: transparent; }

.mapboxgl-canvas-container.mapboxgl-interactive,
.mapboxgl-ctrl-nav-compass {
  cursor: -webkit-grab;
  cursor: grab; }

.mapboxgl-canvas-container.mapboxgl-interactive:active,
.mapboxgl-ctrl-nav-compass:active {
  cursor: -webkit-grabbing;
  cursor: grabbing; }

.mapboxgl-ctrl-top-left,
.mapboxgl-ctrl-top-right,
.mapboxgl-ctrl-bottom-left,
.mapboxgl-ctrl-bottom-right {
  position: absolute; }

.mapboxgl-ctrl-top-left {
  top: 0;
  left: 0; }

.mapboxgl-ctrl-top-right {
  top: 0;
  right: 0; }

.mapboxgl-ctrl-bottom-left {
  bottom: 0;
  left: 0; }

.mapboxgl-ctrl-bottom-right {
  right: 0;
  bottom: 0; }

.mapboxgl-ctrl {
  clear: both; }

.mapboxgl-ctrl-top-left .mapboxgl-ctrl {
  margin: 10px 0 0 10px;
  float: left; }

.mapboxgl-ctrl-top-right .mapboxgl-ctrl {
  margin: 10px 10px 0 0;
  float: right; }

.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl {
  margin: 0 0 10px 10px;
  float: left; }

.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl {
  margin: 0 10px 10px 0;
  float: right; }

.mapboxgl-ctrl-group {
  border-radius: 4px;
  box-shadow: 0px 0px 0px 2px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  background: #fff; }

.mapboxgl-ctrl-group > button {
  width: 30px;
  height: 30px;
  display: block;
  padding: 0;
  outline: none;
  border: none;
  border-bottom: 1px solid #ddd;
  box-sizing: border-box;
  background-color: transparent;
  cursor: pointer; }

/* https://bugzilla.mozilla.org/show_bug.cgi?id=140562 */
.mapboxgl-ctrl > button::-moz-focus-inner {
  border: 0;
  padding: 0; }

.mapboxgl-ctrl > button:last-child {
  border-bottom: 0; }

.mapboxgl-ctrl > button:hover {
  background-color: rgba(0, 0, 0, 0.05); }

.mapboxgl-ctrl-icon,
.mapboxgl-ctrl-icon > div.arrow {
  speak: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.mapboxgl-ctrl-icon.mapboxgl-ctrl-zoom-out {
  padding: 5px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%270%200%2020%2020%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%0A%20%20%3Cpath%20style%3D%27fill%3A%23333333%3B%27%20d%3D%27m%207%2C9%20c%20-0.554%2C0%20-1%2C0.446%20-1%2C1%200%2C0.554%200.446%2C1%201%2C1%20l%206%2C0%20c%200.554%2C0%201%2C-0.446%201%2C-1%200%2C-0.554%20-0.446%2C-1%20-1%2C-1%20z%27%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }

.mapboxgl-ctrl-icon.mapboxgl-ctrl-zoom-in {
  padding: 5px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%270%200%2020%2020%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%0A%20%20%3Cpath%20style%3D%27fill%3A%23333333%3B%27%20d%3D%27M%2010%206%20C%209.446%206%209%206.4459904%209%207%20L%209%209%20L%207%209%20C%206.446%209%206%209.446%206%2010%20C%206%2010.554%206.446%2011%207%2011%20L%209%2011%20L%209%2013%20C%209%2013.55401%209.446%2014%2010%2014%20C%2010.554%2014%2011%2013.55401%2011%2013%20L%2011%2011%20L%2013%2011%20C%2013.554%2011%2014%2010.554%2014%2010%20C%2014%209.446%2013.554%209%2013%209%20L%2011%209%20L%2011%207%20C%2011%206.4459904%2010.554%206%2010%206%20z%27%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }

.mapboxgl-ctrl-icon.mapboxgl-ctrl-geolocate {
  padding: 5px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20viewBox%3D%270%200%2020%2020%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3Cpath%20style%3D%27fill%3A%23333333%3B%27%20d%3D%27M13%2C7%20L10.5%2C11.75%20L10.25%2C10%20z%20M13.888%2C6.112%20C13.615%2C5.84%2013.382%2C6.076%2012.5%2C6.5%20C10.14%2C7.634%206%2C10%206%2C10%20L9.5%2C10.5%20L10%2C14%20C10%2C14%2012.366%2C9.86%2013.5%2C7.5%20C13.924%2C6.617%2014.16%2C6.385%2013.888%2C6.112%27%2F%3E%3C%2Fsvg%3E"); }

.mapboxgl-ctrl-icon.mapboxgl-ctrl-compass > div.arrow {
  width: 20px;
  height: 20px;
  margin: 5px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2020%2020%27%3E%0A%09%3Cpolygon%20fill%3D%27%23333333%27%20points%3D%276%2C9%2010%2C1%2014%2C9%27%2F%3E%0A%09%3Cpolygon%20fill%3D%27%23CCCCCC%27%20points%3D%276%2C11%2010%2C19%2014%2C11%20%27%2F%3E%0A%3C%2Fsvg%3E");
  background-repeat: no-repeat; }

.mapboxgl-ctrl.mapboxgl-ctrl-attrib {
  padding: 0 5px;
  background-color: rgba(255, 255, 255, 0.5);
  margin: 0; }

.mapboxgl-ctrl-attrib a {
  color: rgba(0, 0, 0, 0.75);
  text-decoration: none; }

.mapboxgl-ctrl-attrib a:hover {
  color: inherit;
  text-decoration: underline; }

.mapboxgl-ctrl-attrib .mapbox-improve-map {
  font-weight: bold;
  margin-left: 2px; }

.mapboxgl-popup {
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  will-change: transform;
  pointer-events: none; }

.mapboxgl-popup-anchor-top,
.mapboxgl-popup-anchor-top-left,
.mapboxgl-popup-anchor-top-right {
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
      flex-direction: column; }

.mapboxgl-popup-anchor-bottom,
.mapboxgl-popup-anchor-bottom-left,
.mapboxgl-popup-anchor-bottom-right {
  -webkit-flex-direction: column-reverse;
  -ms-flex-direction: column-reverse;
      flex-direction: column-reverse; }

.mapboxgl-popup-anchor-left {
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
      flex-direction: row; }

.mapboxgl-popup-anchor-right {
  -webkit-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
      flex-direction: row-reverse; }

.mapboxgl-popup-tip {
  width: 0;
  height: 0;
  border: 10px solid transparent;
  z-index: 1; }

.mapboxgl-popup-anchor-top .mapboxgl-popup-tip {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
  border-top: none;
  border-bottom-color: #fff; }

.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip {
  -webkit-align-self: flex-start;
      -ms-flex-item-align: start;
          align-self: flex-start;
  border-top: none;
  border-left: none;
  border-bottom-color: #fff; }

.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip {
  -webkit-align-self: flex-end;
      -ms-flex-item-align: end;
          align-self: flex-end;
  border-top: none;
  border-right: none;
  border-bottom-color: #fff; }

.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
  border-bottom: none;
  border-top-color: #fff; }

.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip {
  -webkit-align-self: flex-start;
      -ms-flex-item-align: start;
          align-self: flex-start;
  border-bottom: none;
  border-left: none;
  border-top-color: #fff; }

.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip {
  -webkit-align-self: flex-end;
      -ms-flex-item-align: end;
          align-self: flex-end;
  border-bottom: none;
  border-right: none;
  border-top-color: #fff; }

.mapboxgl-popup-anchor-left .mapboxgl-popup-tip {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
  border-left: none;
  border-right-color: #fff; }

.mapboxgl-popup-anchor-right .mapboxgl-popup-tip {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center;
  border-right: none;
  border-left-color: #fff; }

.mapboxgl-popup-close-button {
  position: absolute;
  right: 0;
  top: 0;
  border: none;
  border-radius: 0 3px 0 0;
  cursor: pointer;
  background-color: transparent; }

.mapboxgl-popup-close-button:hover {
  background-color: rgba(0, 0, 0, 0.05); }

.mapboxgl-popup-content {
  position: relative;
  background: #fff;
  border-radius: 3px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  padding: 10px 10px 15px;
  pointer-events: auto; }

.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content {
  border-top-left-radius: 0; }

.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content {
  border-top-right-radius: 0; }

.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content {
  border-bottom-left-radius: 0; }

.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content {
  border-bottom-right-radius: 0; }

.mapboxgl-crosshair,
.mapboxgl-crosshair .mapboxgl-interactive,
.mapboxgl-crosshair .mapboxgl-interactive:active {
  cursor: crosshair; }

.mapboxgl-boxzoom {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  background: #fff;
  border: 2px dotted #202020;
  opacity: 0.5; }

@media print {
  .mapbox-improve-map {
    display: none; } }

.leaflet-container {
  background: #fff;
  font: 12px/20px 'Helvetica Neue',Arial,Helvetica,sans-serif;
  color: #404040;
  color: rgba(0, 0, 0, 0.75);
  outline: 0;
  overflow: hidden;
  -ms-touch-action: none; }

.leaflet-container *, .leaflet-container :after, .leaflet-container :before {
  box-sizing: border-box; }

.leaflet-container h1, .leaflet-container h2, .leaflet-container h3, .leaflet-container h4, .leaflet-container h5, .leaflet-container h6, .leaflet-container p {
  font-size: 15px;
  line-height: 20px;
  margin: 0 0 10px; }

.leaflet-container .marker-description img {
  margin-bottom: 10px; }

.leaflet-container a {
  color: #3887BE;
  font-weight: 400;
  text-decoration: none; }

.leaflet-container a:hover, .leaflet-container.dark a {
  color: #63b6e5; }

.leaflet-container.dark a:hover {
  color: #8fcaec; }

.leaflet-container .mapbox-button, .leaflet-container.dark .mapbox-button {
  background-color: #3887be;
  display: inline-block;
  height: 40px;
  line-height: 40px;
  text-decoration: none;
  color: #fff;
  font-size: 12px;
  white-space: nowrap;
  text-overflow: ellipsis; }

.leaflet-container .mapbox-button:hover, .leaflet-container.dark .mapbox-button:hover {
  color: #fff;
  background-color: #3bb2d0; }

.leaflet-image-layer, .leaflet-layer, .leaflet-map-pane, .leaflet-marker-icon, .leaflet-marker-pane, .leaflet-marker-shadow, .leaflet-overlay-pane, .leaflet-overlay-pane svg, .leaflet-popup-pane, .leaflet-shadow-pane, .leaflet-tile, .leaflet-tile-container, .leaflet-tile-pane, .leaflet-zoom-box {
  position: absolute;
  left: 0;
  top: 0; }

.leaflet-marker-icon, .leaflet-marker-shadow, .leaflet-tile {
  -webkit-user-drag: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
      user-select: none; }

.leaflet-marker-icon, .leaflet-marker-shadow {
  display: block; }

.leaflet-tile {
  -webkit-filter: inherit;
          filter: inherit;
  visibility: hidden; }

.leaflet-tile-loaded {
  visibility: inherit; }

.leaflet-zoom-box {
  width: 0;
  height: 0; }

.leaflet-tile-pane {
  z-index: 2; }

.leaflet-objects-pane {
  z-index: 3; }

.leaflet-overlay-pane {
  z-index: 4; }

.leaflet-shadow-pane {
  z-index: 5; }

.leaflet-marker-pane {
  z-index: 6; }

.leaflet-popup-pane {
  z-index: 7; }

.leaflet-control {
  position: relative;
  z-index: 7;
  pointer-events: auto;
  float: left;
  clear: both; }

.leaflet-right .leaflet-control {
  float: right; }

.leaflet-top .leaflet-control {
  margin-top: 10px; }

.leaflet-bottom .leaflet-control {
  margin-bottom: 10px; }

.leaflet-left .leaflet-control {
  margin-left: 10px; }

.leaflet-right .leaflet-control {
  margin-right: 10px; }

.leaflet-bottom, .leaflet-top {
  position: absolute;
  z-index: 1000;
  pointer-events: none; }

.leaflet-top {
  top: 0; }

.leaflet-right {
  right: 0; }

.leaflet-bottom {
  bottom: 0; }

.leaflet-left {
  left: 0; }

.leaflet-fade-anim .leaflet-popup, .leaflet-fade-anim .leaflet-tile {
  opacity: 0;
  transition: opacity .2s linear; }

.leaflet-fade-anim .leaflet-map-pane .leaflet-popup, .leaflet-fade-anim .leaflet-tile-loaded {
  opacity: 1; }

.leaflet-zoom-anim .leaflet-zoom-animated {
  transition: -webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1);
  transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1); }

.leaflet-pan-anim .leaflet-tile, .leaflet-touching .leaflet-zoom-animated, .leaflet-zoom-anim .leaflet-tile {
  transition: none; }

.leaflet-zoom-anim .leaflet-zoom-hide {
  visibility: hidden; }

.leaflet-container {
  cursor: -webkit-grab;
  cursor: -moz-grab; }

.leaflet-container.leaflet-clickable, .leaflet-container.map-clickable, .leaflet-marker-icon, .leaflet-overlay-pane path {
  cursor: pointer; }

.leaflet-control, .leaflet-popup-pane {
  cursor: auto; }

.leaflet-dragging, .leaflet-dragging .leaflet-clickable, .leaflet-dragging .leaflet-container, .leaflet-dragging .map-clickable {
  cursor: move;
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing; }

.leaflet-zoom-box {
  background: #fff;
  border: 2px dotted #202020;
  opacity: .5; }

.leaflet-bar, .leaflet-control-layers {
  background-color: #fff;
  border: 1px solid #999;
  border-color: rgba(0, 0, 0, 0.4);
  border-radius: 3px;
  box-shadow: none; }

.leaflet-bar a, .leaflet-bar a:hover {
  color: #404040;
  color: rgba(0, 0, 0, 0.75);
  border-bottom: 1px solid #ddd;
  border-bottom-color: rgba(0, 0, 0, 0.1); }

.leaflet-bar a:active, .leaflet-bar a:hover {
  background-color: #f8f8f8;
  cursor: pointer; }

.leaflet-bar a:hover:first-child {
  border-radius: 3px 3px 0 0; }

.leaflet-bar a:hover:last-child {
  border-bottom: 0;
  border-radius: 0 0 3px 3px; }

.leaflet-bar a:hover:only-of-type {
  border-radius: 3px; }

.leaflet-bar .leaflet-disabled {
  cursor: default;
  opacity: .75; }

.leaflet-control-zoom-in, .leaflet-control-zoom-out {
  display: block;
  content: '';
  text-indent: -999em; }

.leaflet-control-layers .leaflet-control-layers-list, .leaflet-control-layers-expanded .leaflet-control-layers-toggle {
  display: none; }

.leaflet-control-layers-expanded .leaflet-control-layers-list {
  display: block;
  position: relative; }

.leaflet-control-layers-expanded {
  background: #fff;
  padding: 6px 10px 6px 6px;
  color: #404040;
  color: rgba(0, 0, 0, 0.75); }

.leaflet-control-layers-selector {
  margin-top: 2px;
  position: relative;
  top: 1px; }

.leaflet-control-layers label {
  display: block; }

.leaflet-control-layers-separator {
  height: 0;
  border-top: 1px solid #ddd;
  border-top-color: rgba(0, 0, 0, 0.1);
  margin: 5px -10px 5px -6px; }

.leaflet-container .leaflet-control-attribution {
  background-color: rgba(255, 255, 255, 0.5);
  margin: 0;
  box-shadow: none; }

.leaflet-container .leaflet-control-attribution a, .leaflet-container .map-info-container a {
  color: #404040; }

.leaflet-control-attribution a:hover, .map-info-container a:hover {
  color: inherit;
  text-decoration: underline; }

.leaflet-control-attribution, .leaflet-control-scale-line {
  padding: 0 5px; }

.leaflet-left .leaflet-control-scale {
  margin-left: 5px; }

.leaflet-bottom .leaflet-control-scale {
  margin-bottom: 5px; }

.leaflet-container .leaflet-control-attribution.leaflet-compact-attribution {
  margin: 10px;
  background: #fff;
  border-radius: 3px 13px 13px 3px;
  padding: 3px 31px 3px 3px;
  visibility: hidden; }

.leaflet-control-attribution.leaflet-compact-attribution:hover {
  visibility: visible; }

.leaflet-control-attribution.leaflet-compact-attribution:after {
  content: '';
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.5);
  background-position: 0 -78px;
  border-radius: 50%;
  position: absolute;
  display: inline-block;
  width: 26px;
  height: 26px;
  vertical-align: middle;
  bottom: 0;
  z-index: 1;
  visibility: visible;
  cursor: pointer; }

.leaflet-control-attribution.leaflet-compact-attribution:hover:after {
  background-color: #fff; }

.leaflet-right .leaflet-control-attribution.leaflet-compact-attribution:after {
  right: 0; }

.leaflet-left .leaflet-control-attribution.leaflet-compact-attribution:after {
  left: 0; }

.leaflet-control-scale-line {
  background-color: rgba(255, 255, 255, 0.5);
  border: 1px solid #999;
  border-color: rgba(0, 0, 0, 0.4);
  border-top: 0;
  padding: 2px 5px 1px;
  white-space: nowrap;
  overflow: hidden; }

.leaflet-control-scale-line:not(:first-child) {
  border-top: 2px solid #ddd;
  border-top-color: rgba(0, 0, 0, 0.1);
  border-bottom: 0;
  margin-top: -2px; }

.leaflet-control-scale-line:not(:first-child):not(:last-child) {
  border-bottom: 2px solid #777; }

.leaflet-popup {
  position: absolute;
  text-align: center;
  pointer-events: none; }

.leaflet-popup-content-wrapper {
  padding: 1px;
  text-align: left;
  pointer-events: all; }

.leaflet-popup-content {
  padding: 10px 10px 15px;
  margin: 0;
  line-height: inherit; }

.leaflet-popup-close-button + .leaflet-popup-content-wrapper .leaflet-popup-content {
  padding-top: 15px; }

.leaflet-popup-tip-container {
  width: 20px;
  height: 20px;
  margin: 0 auto;
  position: relative; }

.leaflet-popup-tip {
  width: 0;
  height: 0;
  margin: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid #fff;
  box-shadow: none; }

.leaflet-popup-close-button {
  text-indent: -999em;
  position: absolute;
  top: 0;
  right: 0;
  pointer-events: all; }

.leaflet-popup-close-button:hover {
  background-color: #f8f8f8; }

.leaflet-popup-scrolled {
  overflow: auto;
  border-bottom: 1px solid #ddd;
  border-top: 1px solid #ddd; }

.leaflet-div-icon {
  background: #fff;
  border: 1px solid #999;
  border-color: rgba(0, 0, 0, 0.4); }

.leaflet-editing-icon {
  border-radius: 3px; }

.leaflet-bar a, .leaflet-control-layers-toggle, .leaflet-popup-close-button, .map-tooltip.closable .close, .mapbox-button-icon:before, .mapbox-icon {
  content: '';
  display: inline-block;
  width: 26px;
  height: 26px;
  vertical-align: middle;
  background-repeat: no-repeat; }

.leaflet-bar a {
  display: block; }

.leaflet-container.dark .map-tooltip .close, .leaflet-control-attribution:after, .leaflet-control-layers-toggle, .leaflet-control-zoom-in, .leaflet-control-zoom-out, .leaflet-popup-close-button, .map-tooltip .close, .mapbox-icon {
  opacity: .75;
  background-image: url(images/icons-000000@2x.png);
  background-repeat: no-repeat;
  background-size: 26px 260px; }

.leaflet-container.dark .leaflet-control-attribution:after, .leaflet-container.dark .leaflet-control-layers-toggle, .leaflet-container.dark .leaflet-control-zoom-in, .leaflet-container.dark .leaflet-control-zoom-out, .leaflet-container.dark .mapbox-icon, .mapbox-button-icon:before {
  opacity: 1;
  background-image: url(images/icons-ffffff@2x.png);
  background-size: 26px 260px; }

.leaflet-bar .leaflet-control-zoom-in {
  background-position: 0 0; }

.leaflet-bar .leaflet-control-zoom-out {
  background-position: 0 -26px; }

.leaflet-popup-close-button, .map-tooltip.closable .close {
  background-position: -3px -55px;
  width: 20px;
  height: 20px;
  border-radius: 0 3px 0 0; }

.mapbox-icon-info {
  background-position: 0 -78px; }

.leaflet-control-layers-toggle {
  background-position: 0 -104px; }

.mapbox-icon.mapbox-icon-share, .mapbox-icon.mapbox-icon-share:before {
  background-position: 0 -130px; }

.mapbox-icon.mapbox-icon-geocoder, .mapbox-icon.mapbox-icon-geocoder:before {
  background-position: 0 -156px; }

.mapbox-icon-facebook, .mapbox-icon-facebook:before {
  background-position: 0 -182px; }

.mapbox-icon-twitter, .mapbox-icon-twitter:before {
  background-position: 0 -208px; }

.mapbox-icon-pinterest, .mapbox-icon-pinterest:before {
  background-position: 0 -234px; }

.leaflet-popup-content-wrapper, .map-legends, .map-tooltip {
  background: #fff;
  border-radius: 3px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); }

.map-legends, .map-tooltip {
  max-width: 300px; }

.map-legends .map-legend {
  padding: 10px; }

.map-tooltip {
  z-index: 999999;
  padding: 10px;
  min-width: 180px;
  max-height: 400px;
  overflow: auto;
  opacity: 1;
  transition: opacity 150ms; }

.map-tooltip .close {
  text-indent: -999em;
  overflow: hidden;
  display: none; }

.map-tooltip.closable .close {
  position: absolute;
  top: 0;
  right: 0;
  border-radius: 3px; }

.map-tooltip.closable .close:active {
  background-color: #f8f8f8; }

.leaflet-control-interaction {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 300px; }

.leaflet-popup-content .marker-title {
  font-weight: 700; }

.leaflet-control .mapbox-button {
  background-color: #fff;
  border: 1px solid #ddd;
  border-color: rgba(0, 0, 0, 0.1);
  padding: 5px 10px;
  border-radius: 3px; }

.mapbox-modal > div {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  overflow-y: auto; }

.mapbox-modal.active > div {
  z-index: 99999;
  transition: all .2s,z-index 0 0; }

.mapbox-modal .mapbox-modal-mask {
  background: rgba(0, 0, 0, 0.5);
  opacity: 0; }

.mapbox-modal.active .mapbox-modal-mask {
  opacity: 1; }

.mapbox-modal .mapbox-modal-content {
  -webkit-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%); }

.mapbox-modal.active .mapbox-modal-content {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0); }

.mapbox-modal-body {
  position: relative;
  background: #fff;
  padding: 20px;
  z-index: 1000;
  width: 50%;
  margin: 20px 0 20px 25%; }

.mapbox-share-buttons {
  margin: 0 0 20px; }

.mapbox-share-buttons a {
  width: 33.3333%;
  border-left: 1px solid #fff;
  text-align: center;
  border-radius: 0; }

.mapbox-share-buttons a:last-child {
  border-radius: 0 3px 3px 0; }

.mapbox-share-buttons a:first-child {
  border: 0;
  border-radius: 3px 0 0 3px; }

.mapbox-modal input {
  width: 100%;
  height: 40px;
  padding: 10px;
  border: 1px solid #ddd;
  border-color: rgba(0, 0, 0, 0.1);
  color: rgba(0, 0, 0, 0.5); }

.leaflet-control.mapbox-control-info {
  margin: 5px 30px 10px 10px;
  min-height: 26px; }

.leaflet-right .leaflet-control.mapbox-control-info {
  margin: 5px 10px 10px 30px; }

.mapbox-info-toggle {
  background-color: #fff;
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1; }

.leaflet-right .mapbox-control-info .mapbox-info-toggle {
  left: auto;
  right: 0; }

.mapbox-info-toggle:hover {
  background-color: #fff; }

.map-info-container {
  background: #fff;
  padding: 3px 5px 3px 27px;
  display: none;
  position: relative;
  bottom: 0;
  left: 0;
  border-radius: 13px 3px 3px 13px; }

.leaflet-right .map-info-container {
  left: auto;
  right: 0;
  padding: 3px 27px 3px 5px;
  border-radius: 3px 13px 13px 3px; }

.mapbox-control-info.active .map-info-container {
  display: inline-block; }

.leaflet-container .mapbox-improve-map {
  font-weight: 700; }

.leaflet-control-mapbox-geocoder {
  position: relative; }

.leaflet-control-mapbox-geocoder.searching {
  opacity: .75; }

.leaflet-control-mapbox-geocoder .leaflet-control-mapbox-geocoder-wrap {
  background: #fff;
  position: absolute;
  border: 1px solid #999;
  border-color: rgba(0, 0, 0, 0.4);
  overflow: hidden;
  left: 26px;
  height: 28px;
  width: 0;
  top: -1px;
  border-radius: 0 3px 3px 0;
  opacity: 0;
  transition: opacity 100ms; }

.leaflet-control-mapbox-geocoder.active .leaflet-control-mapbox-geocoder-wrap {
  width: 180px;
  opacity: 1; }

.leaflet-bar .leaflet-control-mapbox-geocoder-toggle, .leaflet-bar .leaflet-control-mapbox-geocoder-toggle:hover {
  border-bottom: 0; }

.leaflet-control-mapbox-geocoder-toggle {
  border-radius: 3px; }

.leaflet-control-mapbox-geocoder.active, .leaflet-control-mapbox-geocoder.active .leaflet-control-mapbox-geocoder-toggle {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

.leaflet-control-mapbox-geocoder .leaflet-control-mapbox-geocoder-form input {
  background: 0 0;
  border: 0;
  width: 180px;
  padding: 0 0 0 10px;
  height: 26px;
  outline: 0; }

.leaflet-control-mapbox-geocoder-results {
  width: 180px;
  position: absolute;
  left: 26px;
  top: 25px;
  border-radius: 0 0 3px 3px; }

.leaflet-control-mapbox-geocoder.active .leaflet-control-mapbox-geocoder-results {
  background: #fff;
  border: 1px solid #999;
  border-color: rgba(0, 0, 0, 0.4); }

.leaflet-control-mapbox-geocoder-results a, .leaflet-control-mapbox-geocoder-results span {
  padding: 0 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
  width: 100%;
  font-size: 12px;
  line-height: 26px;
  text-align: left;
  overflow: hidden; }

.leaflet-container.dark .leaflet-control .leaflet-control-mapbox-geocoder-results a:hover, .leaflet-control-mapbox-geocoder-results a:hover {
  background: #f8f8f8;
  opacity: 1; }

.leaflet-right .leaflet-control-mapbox-geocoder-results, .leaflet-right .leaflet-control-mapbox-geocoder-wrap {
  left: auto;
  right: 26px; }

.leaflet-right .leaflet-control-mapbox-geocoder-wrap {
  border-radius: 3px 0 0 3px; }

.leaflet-right .leaflet-control-mapbox-geocoder.active, .leaflet-right .leaflet-control-mapbox-geocoder.active .leaflet-control-mapbox-geocoder-toggle {
  border-radius: 0 3px 3px 0; }

.leaflet-bottom .leaflet-control-mapbox-geocoder-results {
  top: auto;
  bottom: 25px;
  border-radius: 3px 3px 0 0; }

.mapbox-logo-true:before {
  content: '';
  display: inline-block;
  width: 61px;
  height: 19px;
  vertical-align: middle; }

.mapbox-logo-true {
  background-repeat: no-repeat;
  background-size: 61px 19px;
  background-image: url("data:image/svg+xml;charset=utf-8;base64,PHN2ZyB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiIHdpZHRoPSI2NSIgaGVpZ2h0PSIyMCI+PGRlZnMvPjxtZXRhZGF0YT48cmRmOlJERj48Y2M6V29yayByZGY6YWJvdXQ9IiI+PGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+PGRjOnR5cGUgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIvPjxkYzp0aXRsZS8+PC9jYzpXb3JrPjwvcmRmOlJERj48L21ldGFkYXRhPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yNjEuODQ4MywtOTguNTAzOTUpIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjE3NDQxODM2LDAsMCwwLjE3NDQxODM2LDIyMC41MjI4MiwyOS4yMjkzNDIpIiBzdHlsZT0ib3BhY2l0eTowLjI1O2ZpbGw6I2ZmZmZmZjtzdHJva2U6IzAwMDAwMDtzdHJva2Utd2lkdGg6MTcuMjAwMDIzNjU7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLW9wYWNpdHk6MTtzdHJva2UtZGFzaGFycmF5Om5vbmUiPjxwYXRoIGQ9Ik0gNS4yOCAxLjUgQyA0LjU0IDEuNTYgMy45IDIuMjUgMy45MSAzIGwgMCAxMS44OCBjIDAuMDIgMC43NyAwLjcyIDEuNDcgMS41IDEuNDcgbCAxLjc1IDAgYyAwLjc4IDAgMS40OCAtMC42OSAxLjUgLTEuNDcgbCAwIC00LjI4IDAuNzIgMS4xOSBjIDAuNTMgMC44NyAyLjAzIDAuODcgMi41NiAwIGwgMC43MiAtMS4xOSAwIDQuMjggYyAwLjAyIDAuNzYgMC43IDEuNDUgMS40NyAxLjQ3IGwgMS43NSAwIGMgMC43OCAwIDEuNDggLTAuNjkgMS41IC0xLjQ3IGwgMCAtMC4xNiBjIDEuMDIgMS4xMiAyLjQ2IDEuODEgNC4wOSAxLjgxIGwgNC4wOSAwIDAgMS40NyBjIC0wIDAuNzggMC42OSAxLjQ4IDEuNDcgMS41IGwgMS43NSAwIGMgMC43OSAtMCAxLjUgLTAuNzEgMS41IC0xLjUgbCAwLjAyIC0xLjQ3IGMgMS43MiAwIDMuMDggLTAuNjQgNC4xNCAtMS42OSBsIDAgMC4xOSBjIDAgMC4zOSAwLjE2IDAuNzkgMC40NCAxLjA2IDAuMjggMC4yOCAwLjY3IDAuNDQgMS4wNiAwLjQ0IGwgMy4zMSAwIGMgMi4wMyAwIDMuODUgLTEuMDYgNC45MSAtMi42OSAxLjA1IDEuNjEgMi44NCAyLjY5IDQuODggMi42OSAxLjAzIDAgMS45OCAtMC4yNyAyLjgxIC0wLjc1IDAuMjggMC4zNSAwLjczIDAuNTcgMS4xOSAwLjU2IGwgMi4xMiAwIGMgMC40OCAwLjAxIDAuOTcgLTAuMjMgMS4yNSAtMC42MiBsIDAuOTEgLTEuMjggMC45MSAxLjI4IGMgMC4yOCAwLjM5IDAuNzQgMC42MyAxLjIyIDAuNjIgbCAyLjE2IDAgQyA2Mi42NyAxNi4zMyA2My40MiAxNC44OSA2Mi44MSAxNCBMIDYwLjIyIDEwLjM4IDYyLjYyIDcgQyA2My4yNiA2LjExIDYyLjUgNC42MiA2MS40MSA0LjYyIGwgLTIuMTYgMCBDIDU4Ljc4IDQuNjIgNTguMzEgNC44NiA1OC4wMyA1LjI1IEwgNTcuMzEgNi4yOCA1Ni41NiA1LjI1IEMgNTYuMjkgNC44NiA1NS44MiA0LjYyIDU1LjM0IDQuNjIgbCAtMi4xNiAwIGMgLTAuNDkgLTAgLTAuOTcgMC4yNSAtMS4yNSAwLjY2IC0wLjg2IC0wLjUxIC0xLjg0IC0wLjgxIC0yLjkxIC0wLjgxIC0yLjAzIDAgLTMuODMgMS4wOCAtNC44OCAyLjY5IEMgNDMuMSA1LjUzIDQxLjI3IDQuNDcgMzkuMTkgNC40NyBMIDM5LjE5IDMgQyAzOS4xOSAyLjYxIDM5LjAzIDIuMjEgMzguNzUgMS45NCAzOC40NyAxLjY2IDM4LjA4IDEuNSAzNy42OSAxLjUgbCAtMS43NSAwIGMgLTAuNzEgMCAtMS41IDAuODMgLTEuNSAxLjUgbCAwIDMuMTYgQyAzMy4zOCA1LjEgMzEuOTYgNC40NyAzMC4zOCA0LjQ3IGwgLTMuMzQgMCBjIC0wLjc3IDAuMDIgLTEuNDcgMC43MiAtMS40NyAxLjUgbCAwIDAuMzEgYyAtMS4wMiAtMS4xMiAtMi40NiAtMS44MSAtNC4wOSAtMS44MSAtMS42MyAwIC0zLjA3IDAuNyAtNC4wOSAxLjgxIEwgMTcuMzggMyBjIC0wIC0wLjc5IC0wLjcxIC0xLjUgLTEuNSAtMS41IEwgMTQuNSAxLjUgQyAxMy41NSAxLjUgMTIuMjggMS44NyAxMS42NiAyLjk0IGwgLTEgMS42OSAtMSAtMS42OSBDIDkuMDMgMS44NyA3Ljc3IDEuNSA2LjgxIDEuNSBsIC0xLjQxIDAgQyA1LjM2IDEuNSA1LjMyIDEuNSA1LjI4IDEuNSB6IG0gMTYuMTkgNy43MiBjIDAuNTMgMCAwLjk0IDAuMzUgMC45NCAxLjI4IGwgMCAxLjI4IC0wLjk0IDAgYyAtMC41MiAwIC0wLjk0IC0wLjM4IC0wLjk0IC0xLjI4IC0wIC0wLjkgMC40MiAtMS4yOCAwLjk0IC0xLjI4IHogbSA4LjgxIDAgYyAwLjgzIDAgMS4xOCAwLjY4IDEuMTkgMS4yOCAwLjAxIDAuOTQgLTAuNjIgMS4yOCAtMS4xOSAxLjI4IHogbSA4LjcyIDAgYyAwLjcyIDAgMS4zNyAwLjYgMS4zNyAxLjI4IDAgMC43NyAtMC41MSAxLjI4IC0xLjM3IDEuMjggeiBtIDEwLjAzIDAgYyAwLjU4IDAgMS4wOSAwLjUgMS4wOSAxLjI4IDAgMC43OCAtMC41MSAxLjI4IC0xLjA5IDEuMjggLTAuNTggMCAtMS4xMiAtMC41IC0xLjEyIC0xLjI4IDAgLTAuNzggMC41NCAtMS4yOCAxLjEyIC0xLjI4IHoiIHRyYW5zZm9ybT0ibWF0cml4KDUuNzMzMzQxNCwwLDAsNS43MzMzNDE0LDIzNi45MzMwOCwzOTcuMTc0OTgpIiBzdHlsZT0iZm9udC1zaXplOm1lZGl1bTtmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXN0cmV0Y2g6bm9ybWFsO3RleHQtaW5kZW50OjA7dGV4dC1hbGlnbjpzdGFydDt0ZXh0LWRlY29yYXRpb246bm9uZTtsaW5lLWhlaWdodDpub3JtYWw7bGV0dGVyLXNwYWNpbmc6bm9ybWFsO3dvcmQtc3BhY2luZzpub3JtYWw7dGV4dC10cmFuc2Zvcm06bm9uZTtkaXJlY3Rpb246bHRyO2Jsb2NrLXByb2dyZXNzaW9uOnRiO3dyaXRpbmctbW9kZTpsci10Yjt0ZXh0LWFuY2hvcjpzdGFydDtiYXNlbGluZS1zaGlmdDpiYXNlbGluZTtjb2xvcjojMDAwMDAwO2ZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtmaWxsLXJ1bGU6bm9uemVybztzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MTcuMjAwMDIzNjU7bWFya2VyOm5vbmU7dmlzaWJpbGl0eTp2aXNpYmxlO2Rpc3BsYXk6aW5saW5lO292ZXJmbG93OnZpc2libGU7ZW5hYmxlLWJhY2tncm91bmQ6YWNjdW11bGF0ZTtmb250LWZhbWlseTpTYW5zOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246U2FucyIvPjwvZz48ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjE3NDQxODM2LDAsMCwwLjE3NDQxODM2LDIyMC41MjI4MiwyOS4yMjkzNDIpIiBzdHlsZT0iZmlsbDojZmZmZmZmIj48cGF0aCBkPSJtIDUuNDEgMyAwIDEyIDEuNzUgMCAwIC05LjkxIDMuNSA1Ljk0IDMuNDcgLTUuOTQgMCA5LjkxIDEuNzUgMCAwIC0xMiBMIDE0LjUgMyBDIDEzLjggMyAxMy4yNSAzLjE2IDEyLjk0IDMuNjkgTCAxMC42NiA3LjU5IDguMzggMy42OSBDIDguMDcgMy4xNiA3LjUxIDMgNi44MSAzIHogTSAzNiAzIGwgMCAxMi4wMyAzLjI1IDAgYyAyLjQ0IDAgNC4zOCAtMS45MSA0LjM4IC00LjUzIDAgLTIuNjIgLTEuOTMgLTQuNDcgLTQuMzggLTQuNDcgQyAzOC43IDYuMDMgMzguMzIgNiAzNy43NSA2IGwgMCAtMyB6IE0gMjEuNDcgNS45NyBjIC0yLjQ0IDAgLTQuMTkgMS45MSAtNC4xOSA0LjUzIDAgMi42MiAxLjc1IDQuNTMgNC4xOSA0LjUzIGwgNC4xOSAwIDAgLTQuNTMgYyAwIC0yLjYyIC0xLjc1IC00LjUzIC00LjE5IC00LjUzIHogbSAyNy41NiAwIGMgLTIuNDEgMCAtNC4zOCAyLjAzIC00LjM4IDQuNTMgMCAyLjUgMS45NyA0LjUzIDQuMzggNC41MyAyLjQxIDAgNC4zNCAtMi4wMyA0LjM0IC00LjUzIDAgLTIuNSAtMS45NCAtNC41MyAtNC4zNCAtNC41MyB6IG0gLTIyIDAuMDMgMCAxMiAxLjc1IDAgMCAtMi45NyBjIDAuNTcgMCAxLjA0IC0wIDEuNTkgMCAyLjQ0IDAgNC4zNCAtMS45MSA0LjM0IC00LjUzIDAgLTIuNjIgLTEuOSAtNC41IC00LjM0IC00LjUgeiBtIDI2LjE2IDAgMy4wMyA0LjM4IC0zLjE5IDQuNjIgMi4xMiAwIEwgNTcuMzEgMTEuOTEgNTkuNDQgMTUgNjEuNTkgMTUgNTguMzggMTAuMzggNjEuNDEgNiA1OS4yNSA2IDU3LjMxIDguODEgNTUuMzQgNiB6IE0gMjEuNDcgNy43MiBjIDEuNCAwIDIuNDQgMS4xOSAyLjQ0IDIuNzggbCAwIDIuNzggLTIuNDQgMCBjIC0xLjQgMCAtMi40NCAtMS4yMSAtMi40NCAtMi43OCAtMCAtMS41NyAxLjA0IC0yLjc4IDIuNDQgLTIuNzggeiBtIDI3LjU2IDAgYyAxLjQ0IDAgMi41OSAxLjI0IDIuNTkgMi43OCAwIDEuNTQgLTEuMTUgMi43OCAtMi41OSAyLjc4IC0xLjQ0IDAgLTIuNjIgLTEuMjQgLTIuNjIgLTIuNzggMCAtMS41NCAxLjE4IC0yLjc4IDIuNjIgLTIuNzggeiBtIC0yMC4yNSAwLjAzIDEuNTkgMCBjIDEuNTkgMCAyLjU5IDEuMjggMi41OSAyLjc1IDAgMS40NyAtMS4xMyAyLjc4IC0yLjU5IDIuNzggbCAtMS41OSAwIHogbSA4Ljk3IDAgMS41IDAgYyAxLjQ3IDAgMi42MiAxLjI4IDIuNjIgMi43NSAwIDEuNDcgLTEuMDQgMi43OCAtMi42MiAyLjc4IGwgLTEuNSAwIHoiIHRyYW5zZm9ybT0ibWF0cml4KDUuNzMzMzQxNCwwLDAsNS43MzMzNDE0LDIzNi45MzMwOCwzOTcuMTc0OTgpIiBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO2ZpbGwtcnVsZTpub256ZXJvO3N0cm9rZTpub25lIi8+PC9nPjwvZz48L3N2Zz4="); }

.leaflet-container.dark .leaflet-bar {
  background-color: #404040;
  border-color: #202020;
  border-color: rgba(0, 0, 0, 0.75); }

.leaflet-container.dark .leaflet-bar a {
  color: #404040;
  border-color: rgba(0, 0, 0, 0.5); }

.leaflet-container.dark .leaflet-bar a:active, .leaflet-container.dark .leaflet-bar a:hover {
  background-color: #505050; }

.leaflet-container.dark .leaflet-control-attribution, .leaflet-container.dark .leaflet-control-attribution:after, .leaflet-container.dark .map-info-container, .leaflet-container.dark .mapbox-info-toggle {
  background-color: rgba(0, 0, 0, 0.5);
  color: #f8f8f8; }

.leaflet-container.dark .leaflet-control-attribution a, .leaflet-container.dark .leaflet-control-attribution a:hover, .leaflet-container.dark .map-info-container a, .leaflet-container.dark .map-info-container a:hover {
  color: #fff; }

.leaflet-container.dark .leaflet-control-attribution:hover:after {
  background-color: #000; }

.leaflet-container.dark .leaflet-control-layers-list span {
  color: #f8f8f8; }

.leaflet-container.dark .leaflet-control-layers-separator {
  border-top-color: rgba(255, 255, 255, 0.1); }

.leaflet-container.dark .leaflet-bar a.leaflet-disabled, .leaflet-container.dark .leaflet-control .mapbox-button.disabled {
  background-color: #252525;
  color: #404040; }

.leaflet-container.dark .leaflet-control-mapbox-geocoder > div {
  border-color: #202020;
  border-color: rgba(0, 0, 0, 0.75); }

.leaflet-container.dark .leaflet-control .leaflet-control-mapbox-geocoder-results a {
  border-color: #ddd #202020;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.75); }

.leaflet-container.dark .leaflet-control .leaflet-control-mapbox-geocoder-results span {
  border-color: #202020;
  border-color: rgba(0, 0, 0, 0.75); }

@media only screen and (max-width: 800px) {
  .mapbox-modal-body {
    width: 83.3333%;
    margin-left: 8.3333%; } }

@media only screen and (max-width: 640px) {
  .mapbox-modal-body {
    width: 100%;
    height: 100%;
    margin: 0; } }

@media print {
  .mapbox-improve-map {
    display: none; } }

.leaflet-vml-shape {
  width: 1px;
  height: 1px; }

.lvml {
  behavior: url(#default#VML);
  display: inline-block;
  position: absolute; }

.leaflet-container img.leaflet-tile {
  max-width: none !important; }

.leaflet-container img.leaflet-marker-icon {
  max-width: none; }

.leaflet-container img.leaflet-image-layer {
  max-width: 15000px !important; }

.leaflet-overlay-pane svg {
  -moz-user-select: none; }

.leaflet-oldie .mapbox-modal .mapbox-modal-content {
  display: none; }

.leaflet-oldie .mapbox-modal.active .mapbox-modal-content {
  display: block; }

.map-tooltip {
  width: 280px\8; }

.leaflet-oldie .leaflet-container.dark .map-tooltip .close, .leaflet-oldie .leaflet-control-layers-toggle, .leaflet-oldie .leaflet-control-zoom-in, .leaflet-oldie .leaflet-control-zoom-out, .leaflet-oldie .leaflet-popup-close-button, .leaflet-oldie .map-tooltip .close, .leaflet-oldie .mapbox-icon {
  background-image: url(data:image/png;base64,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); }

.leaflet-oldie .leaflet-container.dark .leaflet-control-layers-toggle, .leaflet-oldie .leaflet-container.dark .leaflet-control-zoom-in, .leaflet-oldie .leaflet-container.dark .leaflet-control-zoom-out, .leaflet-oldie .leaflet-container.dark .mapbox-icon, .leaflet-oldie .mapbox-button-icon:before {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAEECAYAAAA24SSRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAXYSURBVHic7ZxfiFVFHMc/a4uKWtDDtqJGZprYgwX5ByTdkkLbSgghCiKih14EBYtg6aEr9RRREKRUUs9hGEVtChKaYMkq2VqWmnUX2tKiNDNZY/Xbw/wue7x7zsw559626zY/GM6df7/P+c3MPfO7M3NumyTGQiaMCSWCIiiC6qVqoZC0lXgy1Cq0FanUck1XxVmSNL8WrzYT1LCMvz5qL1FnoAyoTNOVkpYb3hEUQREUQREUQRF0RYOqjHim9aHaTFDDEt2tCIqgCIqgCIqgCLoiQRULedNLgwCeq1NasbR8IilvqMhJpe5zrvpFQElYIYiksRsMLdd0aYoLwYqsqW5i9KjLLdHJj6AIiqAIiiCP5J2PpgLrgGXAYkvrA/YBrwF/BTXkmB2XSzqhbDlhZRqaypdLuuiB1ORiCOaDTM2wZLaFNMumZunzDYZ1wJy01ubyPfOazLE6qeIbDMsy0qsl6ngtWpyRfqOFInVKbWFXS9TxWtRXQl9mHR9oXwlQdp2xGt4t8YVt6iMor+/d8EM1OvkRFEERFEH/AWga8CCwFfjJwlZLm5ZHge/pPQ+4z8IKYGJGub+BT4GPLBwvCio7f6QeWfQ13TxgA7ATGPKUG7IyG6xOOj3nxDcFWAl0A/da2sdAL/AJcD6kwAc6bop6gT1kWzUZ6LKb6CbDqrx9dB535704S8BZ1o2zdEpSZ1HQ3MRddtmdp8kQzuKa9d8VBSUl9lEh0Pjro6ZKy00TERRBERRBLQZaCpxh9FHFUqBKiiJZ+n5gFfBHnrsKgUKb7t/j/PCwBNZwapKW1yGp3/KPSDrjKVsalIT0W3ypwZoGSoPU8pY2E/RCCqSiwJ55GdBVBusIlCu0Xpf3Na1guZbb1mnYJwtZtKmALm/Z6EBGUARFUASNV1A70AMcBP60aw9F93ADPkO7pD3mDwxKesOusvT2QP3czkmPKd2YUNpucVl+LlBo4jsITAduAIbrmnMAOAncnqflQn10M26JebgufdjSb8oDyQM6hlv3ru/4dkv/vFmgd4EZwPoErN3iM4BdeUGNjDpJqsrtmzc86mqwHkkH5X4t7JD0tEFyw3INzYwwuwisEVA9bPe/CarBdocsip5qBEVQBP3fQRWyX4jOCpUsZS2xhR2SQdwixq3A2lDhMkcTa7Ie2G6fwzfsmax8clrSJCu3py4vVV/ZphsALtjnFXkqtNwyWlLqR1Ub7obPA5OyKjXLolk+SFmQgEN18eD/PLXEI2j8gYqspwbrRE81giIogiKohUAdzQB1APdk5C3Ends6CXwLbAReBm7J1OZxINdKGpb0VEpeb4pT+aWkx8os0SxJKHlf0iOSOiXNkHQpBbRT0oQyoA5JH6YoPJ6SJknPeHR5+6gTWJ2SPjej/BceXV7QV8AHvsoJucTlvt5o8ZkraZa1fUheD+gJfo9+Bq4JlPkNt4Xgl9CdSJos6UlJF1IsOSvp/hw6vL8mFgCLgCXA44w+730IeIiM89314gP9ACzHHXD9xdIO49476gO2MfJjLCjRgYygCIqgCGqiFFl0WoM7j78ImA8cBQ7gzuaHp/wck1anpO2BqXy7lSu9I9YJ9APXWfycxfuBa4HbzDpwc9ZC4FQZi2qWXJK0WdI0ue3SuRp5P/lRSb8nLCvsQK5JNM2zkiZKeknSkKVdlPSmlX0gUXZNUdAWq3hY7tzj83K++FuS9icU32Hl91p8S1FQn1V8VVKb3Mrw25a3MgHabGkvWrwvTZ/ve7TArqeBq3H+3f66PIBf7VrzkuaTIj7Qj3ZdDJwF9jLy5wJdiXK1t+NrZxuOFgV9bddVwBPAN8ARS5tp15PAZxa/29IOpGrz9FG3Rsscy+uS9IqkBXLD/Z1GRl1yQEjuHANy7vFaSdMlrZa0K1Gm1PcISTMlDZiSbZa2I8VSSTolz2Mo9PQeBO7CvTE1iDtRc2dKuffwPX4CfVQfrpf0sKRjks5Zs27J6pP6EH3vCBp70D8db2VXFPfIagAAAABJRU5ErkJggg==); }

.leaflet-oldie .mapbox-logo-true {
  background-image: none; }

/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.5.0
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2016 Daniel Eden
 */
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite; }

.animated.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s; }

.animated.flipOutX,
.animated.flipOutY,
.animated.bounceIn,
.animated.bounceOut {
  -webkit-animation-duration: .75s;
  animation-duration: .75s; }

@-webkit-keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0); }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0); } }

@keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0); }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0); } }

.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  -ms-transform-origin: center bottom;
      transform-origin: center bottom; }

@-webkit-keyframes flash {
  from, 50%, to {
    opacity: 1; }
  25%, 75% {
    opacity: 0; } }

@keyframes flash {
  from, 50%, to {
    opacity: 1; }
  25%, 75% {
    opacity: 0; } }

.flash {
  -webkit-animation-name: flash;
  animation-name: flash; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse; }

@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1); }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1); }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1); }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1); }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1); }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1); }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1); }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1); }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.rubberBand {
  -webkit-animation-name: rubberBand;
  animation-name: rubberBand; }

@-webkit-keyframes shake {
  from, to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); } }

@keyframes shake {
  from, to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); } }

.shake {
  -webkit-animation-name: shake;
  animation-name: shake; }

@-webkit-keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg); }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg); }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg); }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg); }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

@keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg); }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg); }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg); }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg); }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.headShake {
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-name: headShake;
  animation-name: headShake; }

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg); }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg); }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg); }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg); }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg); } }

@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg); }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg); }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg); }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg); }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg); } }

.swing {
  -webkit-transform-origin: top center;
  -ms-transform-origin: top center;
      transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing; }

@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.tada {
  -webkit-animation-name: tada;
  animation-name: tada; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none; }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
  to {
    -webkit-transform: none;
    transform: none; } }

@keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none; }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
  to {
    -webkit-transform: none;
    transform: none; } }

.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble; }

@-webkit-keyframes jello {
  from, 11.1%, to {
    -webkit-transform: none;
    transform: none; }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg); }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg); }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg); }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg); }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg); }
  77.7% {
    -webkit-transform: skewX(0.39062deg) skewY(0.39062deg);
    transform: skewX(0.39062deg) skewY(0.39062deg); }
  88.8% {
    -webkit-transform: skewX(-0.19531deg) skewY(-0.19531deg);
    transform: skewX(-0.19531deg) skewY(-0.19531deg); } }

@keyframes jello {
  from, 11.1%, to {
    -webkit-transform: none;
    transform: none; }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg); }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg); }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg); }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg); }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg); }
  77.7% {
    -webkit-transform: skewX(0.39062deg) skewY(0.39062deg);
    transform: skewX(0.39062deg) skewY(0.39062deg); }
  88.8% {
    -webkit-transform: skewX(-0.19531deg) skewY(-0.19531deg);
    transform: skewX(-0.19531deg) skewY(-0.19531deg); } }

.jello {
  -webkit-animation-name: jello;
  animation-name: jello;
  -webkit-transform-origin: center;
  -ms-transform-origin: center;
      transform-origin: center; }

@-webkit-keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97); }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97); }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.bounceIn {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn; }

@-webkit-keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0); }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

@keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0); }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown; }

@-webkit-keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

@keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft; }

@-webkit-keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

@keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }

.bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight; }

@-webkit-keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp; }

@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); } }

@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); } }

.bounceOut {
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut; }

@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown; }

@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft; }

@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight; }

@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp; }

@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn; }

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown; }

@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig; }

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft; }

@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig; }

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight; }

@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig; }

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp; }

@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig; }

@-webkit-keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

@keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut; }

@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

@keyframes fadeOutDown {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown; }

@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

@keyframes fadeOutDownBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig; }

@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

@keyframes fadeOutLeft {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft; }

@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

@keyframes fadeOutLeftBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig; }

@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

@keyframes fadeOutRight {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight; }

@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

@keyframes fadeOutRightBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig; }

@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

@keyframes fadeOutUp {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp; }

@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

@keyframes fadeOutUpBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig; }

@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

@keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip; }

@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX; }

@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY; }

@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

.flipOutX {
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important; }

@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0; } }

@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0; } }

.flipOutY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY; }

@-webkit-keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1; }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1; }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

@-webkit-keyframes lightSpeedOut {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0; } }

@keyframes lightSpeedOut {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0; } }

.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

@-webkit-keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn; }

@-webkit-keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft; }

@-webkit-keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight; }

@-webkit-keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft; }

@-webkit-keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

@keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }

.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight; }

@-webkit-keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1; }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0; } }

@keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1; }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0; } }

.rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut; }

@-webkit-keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; } }

@keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; } }

.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft; }

@-webkit-keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

@keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight; }

@-webkit-keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

@keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft; }

@-webkit-keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0; } }

@keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0; } }

.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight; }

@-webkit-keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1; }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0; } }

@keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1; }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0; } }

.hinge {
  -webkit-animation-name: hinge;
  animation-name: hinge; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }

.rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }

@keyframes rollOut {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }

.rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut; }

@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

.zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn; }

@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInDown {
  -webkit-animation-name: zoomInDown;
  animation-name: zoomInDown; }

@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInLeft {
  -webkit-animation-name: zoomInLeft;
  animation-name: zoomInLeft; }

@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInRight {
  -webkit-animation-name: zoomInRight;
  animation-name: zoomInRight; }

@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomInUp {
  -webkit-animation-name: zoomInUp;
  animation-name: zoomInUp; }

@-webkit-keyframes zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }

@keyframes zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }

.zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut; }

@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  animation-name: zoomOutDown; }

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center; } }

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center; } }

.zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
  animation-name: zoomOutLeft; }

@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center; } }

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center; } }

.zoomOutRight {
  -webkit-animation-name: zoomOutRight;
  animation-name: zoomOutRight; }

@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.zoomOutUp {
  -webkit-animation-name: zoomOutUp;
  animation-name: zoomOutUp; }

@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown; }

@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft; }

@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight; }

@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp; }

@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

.slideOutDown {
  -webkit-animation-name: slideOutDown;
  animation-name: slideOutDown; }

@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

.slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft; }

@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

.slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight; }

@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

.slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp; }

/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
   * 1. Set default font family to sans-serif.
   * 2. Prevent iOS and IE text size adjust after device orientation change,
   *    without disabling user zoom.
   */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
   * Remove default margin.
   */
body {
  margin: 0; }

/* HTML5 display definitions
     ========================================================================== */
/**
   * Correct `block` display not defined for any HTML5 element in IE 8/9.
   * Correct `block` display not defined for `details` or `summary` in IE 10/11
   * and Firefox.
   * Correct `block` display not defined for `main` in IE 11.
   */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
   * 1. Correct `inline-block` display not defined in IE 8/9.
   * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
   */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

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

/**
   * Address `[hidden]` styling not present in IE 8/9/10.
   * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
   */
[hidden],
template {
  display: none; }

/* Links
     ========================================================================== */
/**
   * Remove the gray background color from active links in IE 10.
   */
a {
  background-color: transparent; }

/**
   * Improve readability of focused elements when they are also in an
   * active/hover state.
   */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
     ========================================================================== */
/**
   * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
   */
abbr[title] {
  border-bottom: 1px dotted; }

/**
   * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
   */
b,
strong {
  font-weight: bold; }

/**
   * Address styling not present in Safari and Chrome.
   */
dfn {
  font-style: italic; }

/**
   * Address variable `h1` font-size and margin within `section` and `article`
   * contexts in Firefox 4+, Safari, and Chrome.
   */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
   * Address styling not present in IE 8/9.
   */
mark {
  background: #ff0;
  color: #000; }

/**
   * Address inconsistent and variable font size in all browsers.
   */
small {
  font-size: 80%; }

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
     ========================================================================== */
/**
   * Remove border when inside `a` element in IE 8/9/10.
   */
img {
  border: 0; }

/**
   * Correct overflow not hidden in IE 9/10/11.
   */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
     ========================================================================== */
/**
   * Address margin not present in IE 8/9 and Safari.
   */
figure {
  margin: 1em 40px; }

/**
   * Address differences between Firefox and other browsers.
   */
hr {
  box-sizing: content-box;
  height: 0; }

/**
   * Contain overflow in all browsers.
   */
pre {
  overflow: auto; }

/**
   * Address odd `em`-unit font size rendering in all browsers.
   */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
     ========================================================================== */
/**
   * Known limitation: by default, Chrome and Safari on OS X allow very limited
   * styling of `select`, unless a `border` property is set.
   */
/**
   * 1. Correct color not being inherited.
   *    Known issue: affects color of disabled elements.
   * 2. Correct font properties not being inherited.
   * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
   */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
   * Address `overflow` set to `hidden` in IE 8/9/10/11.
   */
button {
  overflow: visible; }

/**
   * Address inconsistent `text-transform` inheritance for `button` and `select`.
   * All other form control elements do not inherit `text-transform` values.
   * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
   * Correct `select` style inheritance in Firefox.
   */
button,
select {
  text-transform: none; }

/**
   * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
   *    and `video` controls.
   * 2. Correct inability to style clickable `input` types in iOS.
   * 3. Improve usability and consistency of cursor style between image-type
   *    `input` and others.
   */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

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

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

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

/**
   * It's recommended that you don't attempt to style these elements.
   * Firefox's implementation doesn't respect box-sizing, padding, or width.
   *
   * 1. Address box sizing set to `content-box` in IE 8/9/10.
   * 2. Remove excess padding in IE 8/9/10.
   */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
   * Fix the cursor style for Chrome's increment/decrement buttons. For certain
   * `font-size` values of the `input`, it causes the cursor style of the
   * decrement button to change from `default` to `text`.
   */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

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

/**
   * Remove inner padding and search cancel button in Safari and Chrome on OS X.
   * Safari (but not Chrome) clips the cancel button when the search input has
   * padding (and `textfield` appearance).
   */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

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

/**
   * 1. Correct `color` not being inherited in IE 8/9/10/11.
   * 2. Remove padding so people aren't caught out if they zero out fieldsets.
   */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
   * Remove default vertical scrollbar in IE 8/9/10/11.
   */
textarea {
  overflow: auto; }

/**
   * Don't inherit the `font-weight` (applied by a rule above).
   * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
   */
optgroup {
  font-weight: bold; }

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

td,
th {
  padding: 0; }

.foundation-mq {
  font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"; }

html,
body {
  font-size: 100%;
  box-sizing: border-box; }

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

body {
  padding: 0;
  margin: 0;
  font-family: "Gotham A", "Gotham B", "Gotham", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #0a0a0a;
  background: #fefefe;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic;
  display: inline-block;
  vertical-align: middle; }

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0; }

select {
  width: 100%;
  border-radius: 0; }

#map_canvas img,
#map_canvas embed,
#map_canvas object,
.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important; }

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  background: transparent;
  padding: 0;
  border: 0;
  border-radius: 0;
  line-height: 1; }

.row {
  max-width: 100%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  margin-left: auto;
  margin-right: auto; }
  .row .row,
  .column-row .row {
    margin-left: -0.9375rem;
    margin-right: -0.9375rem; }

.column,
.columns {
  -webkit-flex: 1 1 0px;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  padding-left: 0.9375rem;
  padding-right: 0.9375rem; }

.small-1 {
  -webkit-flex: 0 0 8.33333%;
      -ms-flex: 0 0 8.33333%;
          flex: 0 0 8.33333%;
  max-width: 8.33333%; }

.small-2 {
  -webkit-flex: 0 0 16.66667%;
      -ms-flex: 0 0 16.66667%;
          flex: 0 0 16.66667%;
  max-width: 16.66667%; }

.small-3 {
  -webkit-flex: 0 0 25%;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
  max-width: 25%; }

.small-4 {
  -webkit-flex: 0 0 33.33333%;
      -ms-flex: 0 0 33.33333%;
          flex: 0 0 33.33333%;
  max-width: 33.33333%; }

.small-5 {
  -webkit-flex: 0 0 41.66667%;
      -ms-flex: 0 0 41.66667%;
          flex: 0 0 41.66667%;
  max-width: 41.66667%; }

.small-6 {
  -webkit-flex: 0 0 50%;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%; }

.small-7 {
  -webkit-flex: 0 0 58.33333%;
      -ms-flex: 0 0 58.33333%;
          flex: 0 0 58.33333%;
  max-width: 58.33333%; }

.small-8 {
  -webkit-flex: 0 0 66.66667%;
      -ms-flex: 0 0 66.66667%;
          flex: 0 0 66.66667%;
  max-width: 66.66667%; }

.small-9 {
  -webkit-flex: 0 0 75%;
      -ms-flex: 0 0 75%;
          flex: 0 0 75%;
  max-width: 75%; }

.small-10 {
  -webkit-flex: 0 0 83.33333%;
      -ms-flex: 0 0 83.33333%;
          flex: 0 0 83.33333%;
  max-width: 83.33333%; }

.small-11 {
  -webkit-flex: 0 0 91.66667%;
      -ms-flex: 0 0 91.66667%;
          flex: 0 0 91.66667%;
  max-width: 91.66667%; }

.small-12 {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%; }

@media screen and (min-width: 40em) {
  .medium-1 {
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .medium-2 {
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .medium-3 {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .medium-4 {
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .medium-5 {
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .medium-6 {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .medium-7 {
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .medium-8 {
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .medium-9 {
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .medium-10 {
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .medium-11 {
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .medium-12 {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; } }

@media screen and (min-width: 64em) {
  .large-1 {
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .large-2 {
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .large-3 {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .large-4 {
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .large-5 {
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .large-6 {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .large-7 {
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .large-8 {
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .large-9 {
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .large-10 {
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .large-11 {
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .large-12 {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; } }

@media screen and (min-width: 75em) {
  .xlarge-1 {
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .xlarge-2 {
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .xlarge-3 {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .xlarge-4 {
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .xlarge-5 {
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .xlarge-6 {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .xlarge-7 {
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .xlarge-8 {
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .xlarge-9 {
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .xlarge-10 {
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .xlarge-11 {
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .xlarge-12 {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; } }

@media screen and (min-width: 90em) {
  .xxlarge-1 {
    -webkit-flex: 0 0 8.33333%;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .xxlarge-2 {
    -webkit-flex: 0 0 16.66667%;
        -ms-flex: 0 0 16.66667%;
            flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .xxlarge-3 {
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%; }
  .xxlarge-4 {
    -webkit-flex: 0 0 33.33333%;
        -ms-flex: 0 0 33.33333%;
            flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .xxlarge-5 {
    -webkit-flex: 0 0 41.66667%;
        -ms-flex: 0 0 41.66667%;
            flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .xxlarge-6 {
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%; }
  .xxlarge-7 {
    -webkit-flex: 0 0 58.33333%;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .xxlarge-8 {
    -webkit-flex: 0 0 66.66667%;
        -ms-flex: 0 0 66.66667%;
            flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .xxlarge-9 {
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%; }
  .xxlarge-10 {
    -webkit-flex: 0 0 83.33333%;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .xxlarge-11 {
    -webkit-flex: 0 0 91.66667%;
        -ms-flex: 0 0 91.66667%;
            flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .xxlarge-12 {
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%; } }

@media screen and (min-width: 40em) {
  .medium-expand {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

@media screen and (min-width: 64em) {
  .large-expand {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

@media screen and (min-width: 75em) {
  .xlarge-expand {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

@media screen and (min-width: 90em) {
  .xxlarge-expand {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; } }

.shrink {
  -webkit-flex: 0 0 auto;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }

.row.medium-unstack .column {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media screen and (min-width: 40em) {
    .row.medium-unstack .column {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

.row.large-unstack .column {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media screen and (min-width: 64em) {
    .row.large-unstack .column {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

.row.xlarge-unstack .column {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media screen and (min-width: 75em) {
    .row.xlarge-unstack .column {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

.row.xxlarge-unstack .column {
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
  @media screen and (min-width: 90em) {
    .row.xxlarge-unstack .column {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }

.small-order-1 {
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.small-order-2 {
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2; }

.small-order-3 {
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3; }

.small-order-4 {
  -webkit-order: 4;
      -ms-flex-order: 4;
          order: 4; }

.small-order-5 {
  -webkit-order: 5;
      -ms-flex-order: 5;
          order: 5; }

.small-order-6 {
  -webkit-order: 6;
      -ms-flex-order: 6;
          order: 6; }

@media screen and (min-width: 40em) {
  .medium-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .medium-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .medium-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .medium-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .medium-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .medium-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 64em) {
  .large-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .large-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .large-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .large-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .large-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .large-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 75em) {
  .xlarge-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .xlarge-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .xlarge-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .xlarge-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .xlarge-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .xlarge-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 90em) {
  .xxlarge-order-1 {
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .xxlarge-order-2 {
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2; }
  .xxlarge-order-3 {
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3; }
  .xxlarge-order-4 {
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4; }
  .xxlarge-order-5 {
    -webkit-order: 5;
        -ms-flex-order: 5;
            order: 5; }
  .xxlarge-order-6 {
    -webkit-order: 6;
        -ms-flex-order: 6;
            order: 6; } }

.row.align-right {
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.row.align-center {
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.row.align-justify {
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.row.align-spaced {
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around; }

.row.align-top {
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start; }

.column.align-top {
  -webkit-align-self: flex-start;
      -ms-flex-item-align: start;
          align-self: flex-start; }

.row.align-bottom {
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end; }

.column.align-bottom {
  -webkit-align-self: flex-end;
      -ms-flex-item-align: end;
          align-self: flex-end; }

.row.align-middle {
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.column.align-middle {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
          align-self: center; }

.row.align-stretch {
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }

.column.align-stretch {
  -webkit-align-self: stretch;
      -ms-flex-item-align: stretch;
          align-self: stretch; }

div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

p {
  font-size: inherit;
  line-height: 1.6;
  margin-bottom: 1rem;
  text-rendering: optimizeLegibility; }

em,
i {
  font-style: italic;
  line-height: inherit; }

strong,
b {
  font-weight: bold;
  line-height: inherit; }

small {
  font-size: 80%;
  line-height: inherit; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Gotham A", "Gotham B", "Gotham", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: bold;
  font-style: normal;
  color: inherit;
  text-rendering: optimizeLegibility;
  margin-top: 0;
  margin-bottom: 0.5rem;
  line-height: 1.4; }
  h1 small,
  h2 small,
  h3 small,
  h4 small,
  h5 small,
  h6 small {
    color: #CECECE;
    line-height: 0; }

h1 {
  font-size: 1.5rem; }

h2 {
  font-size: 1.25rem; }

h3 {
  font-size: 1.1875rem; }

h4 {
  font-size: 1.125rem; }

h5 {
  font-size: 1.0625rem; }

h6 {
  font-size: 1rem; }

@media screen and (min-width: 40em) {
  h1 {
    font-size: 3rem; }
  h2 {
    font-size: 2.5rem; }
  h3 {
    font-size: 1.9375rem; }
  h4 {
    font-size: 1.5625rem; }
  h5 {
    font-size: 1.25rem; }
  h6 {
    font-size: 1rem; } }

a {
  color: #0774CB;
  text-decoration: none;
  line-height: inherit;
  cursor: pointer; }
  a:hover, a:focus {
    color: #0664af; }
  a img {
    border: 0; }

hr {
  max-width: 100%;
  height: 0;
  border-right: 0;
  border-top: 0;
  border-bottom: 1px solid #CECECE;
  border-left: 0;
  margin: 1.25rem auto;
  clear: both; }

ul,
ol,
dl {
  line-height: 1.6;
  margin-bottom: 1rem;
  list-style-position: outside; }

li {
  font-size: inherit; }

ul {
  list-style-type: disc;
  margin-left: 1.25rem; }

ol {
  margin-left: 1.25rem; }

ul ul, ol ul, ul ol, ol ol {
  margin-left: 1.25rem;
  margin-bottom: 0;
  list-style-type: inherit; }

dl {
  margin-bottom: 1rem; }
  dl dt {
    margin-bottom: 0.3rem;
    font-weight: bold; }

blockquote {
  margin: 0 0 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #CECECE; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #2C2C2C; }

cite {
  display: block;
  font-size: 0.8125rem;
  color: #2C2C2C; }
  cite:before {
    content: '\2014 \0020'; }

abbr {
  color: #0a0a0a;
  cursor: help;
  border-bottom: 1px dotted #0a0a0a; }

code {
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  color: #0a0a0a;
  background-color: #e6e6e6;
  border: 1px solid #CECECE;
  padding: 0.125rem 0.3125rem 0.0625rem; }

kbd {
  padding: 0.125rem 0.25rem 0;
  margin: 0;
  background-color: #e6e6e6;
  color: #0a0a0a;
  font-family: Consolas, "Liberation Mono", Courier, monospace; }

.subheader {
  margin-top: 0.2rem;
  margin-bottom: 0.5rem;
  font-weight: normal;
  line-height: 1.4;
  color: #2C2C2C; }

.lead {
  font-size: 125%;
  line-height: 1.6; }

.stat {
  font-size: 2.5rem;
  line-height: 1; }
  p + .stat {
    margin-top: -1rem; }

.no-bullet {
  margin-left: 0;
  list-style: none; }

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

.text-center {
  text-align: center; }

.text-justify {
  text-align: justify; }

@media screen and (min-width: 40em) {
  .medium-text-left {
    text-align: left; }
  .medium-text-right {
    text-align: right; }
  .medium-text-center {
    text-align: center; }
  .medium-text-justify {
    text-align: justify; } }

@media screen and (min-width: 64em) {
  .large-text-left {
    text-align: left; }
  .large-text-right {
    text-align: right; }
  .large-text-center {
    text-align: center; }
  .large-text-justify {
    text-align: justify; } }

@media screen and (min-width: 75em) {
  .xlarge-text-left {
    text-align: left; }
  .xlarge-text-right {
    text-align: right; }
  .xlarge-text-center {
    text-align: center; }
  .xlarge-text-justify {
    text-align: justify; } }

@media screen and (min-width: 90em) {
  .xxlarge-text-left {
    text-align: left; }
  .xxlarge-text-right {
    text-align: right; }
  .xxlarge-text-center {
    text-align: center; }
  .xxlarge-text-justify {
    text-align: justify; } }

.show-for-print {
  display: none !important; }

@media print {
  * {
    background: transparent !important;
    color: black !important;
    box-shadow: none !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  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; } }

.button {
  display: inline-block;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  transition: all 0.25s ease-out;
  vertical-align: middle;
  border: 1px solid transparent;
  border-radius: 0;
  padding: 0.85em 1em;
  margin: 0 1rem 1rem 0;
  font-size: 0.9rem;
  background: #0774CB;
  color: #fff; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background: #0663ad;
    color: #fff; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-left: 0;
    margin-right: 0; }
  .button.primary {
    background: #0774CB;
    color: #fff; }
    .button.primary:hover, .button.primary:focus {
      background: #065da2;
      color: #fff; }
  .button.secondary {
    background: #777;
    color: #fff; }
    .button.secondary:hover, .button.secondary:focus {
      background: #5f5f5f;
      color: #fff; }
  .button.success {
    background: #3adb76;
    color: #fff; }
    .button.success:hover, .button.success:focus {
      background: #22bb5b;
      color: #fff; }
  .button.alert {
    background: #ec5840;
    color: #fff; }
    .button.alert:hover, .button.alert:focus {
      background: #da3116;
      color: #fff; }
  .button.warning {
    background: #ffae00;
    color: #fff; }
    .button.warning:hover, .button.warning:focus {
      background: #cc8b00;
      color: #fff; }
  .button.hollow {
    border: 1px solid #0774CB;
    color: #0774CB; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #043a66;
      color: #043a66; }
    .button.hollow.primary {
      border: 1px solid #0774CB;
      color: #0774CB; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #043a66;
        color: #043a66; }
    .button.hollow.secondary {
      border: 1px solid #777;
      color: #777; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #3c3c3c;
        color: #3c3c3c; }
    .button.hollow.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #157539;
        color: #157539; }
    .button.hollow.alert {
      border: 1px solid #ec5840;
      color: #ec5840; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #881f0e;
        color: #881f0e; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed;
    pointer-events: none; }
  .button.dropdown::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    border-color: #fefefe transparent transparent;
    border-top-style: solid;
    position: relative;
    top: 0.4em;
    float: right;
    margin-left: 1em;
    display: inline-block; }
  .button.arrow-only::after {
    margin-left: 0;
    float: none;
    top: 0.2em; }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.4375rem;
  padding: 0.5rem;
  border: 1px solid #CECECE;
  margin: 0 0 1rem;
  font-family: inherit;
  font-size: 1rem;
  color: #2C2C2C;
  background-color: #fefefe;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
  border-radius: 0;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
  -moz-appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    border: 1px solid #2C2C2C;
    background: #fefefe;
    outline: none;
    box-shadow: 0 0 5px #CECECE;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

textarea {
  max-width: 100%; }
  textarea[rows] {
    height: auto; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #e6e6e6;
  cursor: default; }

[type='submit'],
[type='button'] {
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none; }

input[type='search'] {
  box-sizing: border-box; }

[type='file'],
[type='checkbox'],
[type='radio'] {
  margin: 0 0 1rem; }

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0;
  vertical-align: baseline; }

label > [type='checkbox'],
label > [type='label'] {
  margin-right: 0.5rem; }

[type='file'] {
  width: 100%; }

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.8;
  color: #0a0a0a; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

.help-text {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #333; }

.input-group {
  display: table;
  width: 100%;
  margin-bottom: 1rem; }
  .input-group > *:first-child {
    border-radius: 0 0 0 0; }
  .input-group > *:last-child > * {
    border-radius: 0 0 0 0; }

.input-group-label, .input-group-field, .input-group-button {
  display: table-cell;
  margin: 0;
  vertical-align: middle; }

.input-group-label {
  text-align: center;
  width: 1%;
  height: 100%;
  padding: 0 1rem;
  background: #e6e6e6;
  color: #0a0a0a;
  border: 1px solid #CECECE; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

.input-group-field {
  border-radius: 0;
  height: 2.5rem; }

.input-group-button {
  height: 100%;
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  width: 1%; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button {
    margin: 0; }

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

legend {
  margin-bottom: 0.5rem; }

.fieldset {
  border: 1px solid #CECECE;
  padding: 1.25rem;
  margin: 1.125rem 0; }
  .fieldset legend {
    background: #fefefe;
    padding: 0 0.1875rem;
    margin: 0;
    margin-left: -0.1875rem; }

select {
  height: 2.4375rem;
  padding: 0.5rem;
  border: 1px solid #CECECE;
  border-radius: 0;
  margin: 0 0 1rem;
  font-size: 1rem;
  font-family: inherit;
  line-height: normal;
  color: #2C2C2C;
  background-color: #fafafa;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="32" height="24" viewBox="0 0 32 24"><polygon points="0,0 32,0 16,24" style="fill: rgb(51, 51, 51)"></polygon></svg>');
  background-size: 9px 6px;
  background-position: right 0.5rem center;
  background-repeat: no-repeat; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:disabled {
    background-color: #e6e6e6;
    cursor: default; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto; }

.is-invalid-input:not(:focus) {
  background-color: rgba(236, 88, 64, 0.1);
  border-color: #ec5840; }

.is-invalid-label {
  color: #ec5840; }

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: bold;
  color: #ec5840; }
  .form-error.is-visible {
    display: block; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

@media screen and (min-width: 0em) and (max-width: 39.9375em) {
  .hide-for-small-only {
    display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 40em) {
  .show-for-small-only {
    display: none !important; } }

@media screen and (min-width: 40em) {
  .hide-for-medium {
    display: none !important; } }

@media screen and (max-width: 39.9375em) {
  .show-for-medium {
    display: none !important; } }

@media screen and (min-width: 40em) and (max-width: 63.9375em) {
  .hide-for-medium-only {
    display: none !important; } }

@media screen and (max-width: 39.9375em), screen and (min-width: 64em) {
  .show-for-medium-only {
    display: none !important; } }

@media screen and (min-width: 64em) {
  .hide-for-large {
    display: none !important; } }

@media screen and (max-width: 63.9375em) {
  .show-for-large {
    display: none !important; } }

@media screen and (min-width: 64em) and (max-width: 74.9375em) {
  .hide-for-large-only {
    display: none !important; } }

@media screen and (max-width: 63.9375em), screen and (min-width: 75em) {
  .show-for-large-only {
    display: none !important; } }

@media screen and (min-width: 75em) {
  .hide-for-xlarge {
    display: none !important; } }

@media screen and (max-width: 74.9375em) {
  .show-for-xlarge {
    display: none !important; } }

@media screen and (min-width: 75em) and (max-width: 89.9375em) {
  .hide-for-xlarge-only {
    display: none !important; } }

@media screen and (max-width: 74.9375em), screen and (min-width: 90em) {
  .show-for-xlarge-only {
    display: none !important; } }

@media screen and (min-width: 90em) {
  .hide-for-xxlarge {
    display: none !important; } }

@media screen and (max-width: 89.9375em) {
  .show-for-xxlarge {
    display: none !important; } }

@media screen and (min-width: 90em) {
  .hide-for-xxlarge-only {
    display: none !important; } }

@media screen and (max-width: 89.9375em) {
  .show-for-xxlarge-only {
    display: none !important; } }

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0); }

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  height: auto;
  width: auto;
  overflow: visible;
  clip: auto; }

.show-for-landscape,
.hide-for-portrait {
  display: block !important; }
  @media screen and (orientation: landscape) {
    .show-for-landscape,
    .hide-for-portrait {
      display: block !important; } }
  @media screen and (orientation: portrait) {
    .show-for-landscape,
    .hide-for-portrait {
      display: none !important; } }

.hide-for-landscape,
.show-for-portrait {
  display: none !important; }
  @media screen and (orientation: landscape) {
    .hide-for-landscape,
    .show-for-portrait {
      display: none !important; } }
  @media screen and (orientation: portrait) {
    .hide-for-landscape,
    .show-for-portrait {
      display: block !important; } }

.float-left {
  float: left !important; }

.float-right {
  float: right !important; }

.float-center {
  display: block;
  margin-left: auto;
  margin-right: auto; }

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

.clearfix::after {
  clear: both; }

.accordion {
  list-style-type: none;
  background: #fefefe;
  border: 1px solid #e6e6e6;
  border-radius: 0;
  margin-left: 0; }

.accordion-title {
  display: block;
  padding: 1.25rem 1rem;
  line-height: 1;
  font-size: 0.75rem;
  color: #0774CB;
  position: relative;
  border-bottom: 1px solid #e6e6e6; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #e6e6e6; }
  :last-child > .accordion-title {
    border-bottom-width: 0; }
  .accordion-title::before {
    content: '+';
    position: absolute;
    right: 1rem;
    top: 50%;
    margin-top: -0.5rem; }
  .is-active > .accordion-title::before {
    content: '–'; }

.accordion-content {
  padding: 1.25rem 1rem;
  display: none;
  border-bottom: 1px solid #e6e6e6; }

.badge {
  display: inline-block;
  padding: 0.3em;
  min-width: 2.1em;
  font-size: 0.6rem;
  text-align: center;
  border-radius: 50%;
  background: #0774CB;
  color: #fefefe; }
  .badge.secondary {
    background: #777;
    color: #fefefe; }
  .badge.success {
    background: #3adb76;
    color: #fefefe; }
  .badge.alert {
    background: #ec5840;
    color: #fefefe; }
  .badge.warning {
    background: #ffae00;
    color: #fefefe; }

.breadcrumbs {
  list-style: none;
  margin: 0 0 1rem 0; }
  .breadcrumbs::before, .breadcrumbs::after {
    content: ' ';
    display: table; }
  .breadcrumbs::after {
    clear: both; }
  .breadcrumbs li {
    float: left;
    color: #0a0a0a;
    font-size: 0.6875rem;
    cursor: default;
    text-transform: uppercase; }
    .breadcrumbs li:not(:last-child)::after {
      color: #CECECE;
      content: "/";
      margin: 0 0.75rem;
      position: relative;
      top: 1px;
      opacity: 1; }
  .breadcrumbs a {
    color: #0774CB; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #CECECE; }

.button-group {
  margin-bottom: 1rem;
  font-size: 0.9rem; }
  .button-group::before, .button-group::after {
    content: ' ';
    display: table; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    float: left;
    margin: 0;
    font-size: inherit; }
    .button-group .button:not(:last-child) {
      border-right: 1px solid #fefefe; }
  .button-group.tiny {
    font-size: 0.6rem; }
  .button-group.small {
    font-size: 0.75rem; }
  .button-group.large {
    font-size: 1.25rem; }
  .button-group.expanded .button:nth-last-child(2):first-child,
  .button-group.expanded .button:nth-last-child(2):first-child ~ .button {
    width: 50%; }
  .button-group.expanded .button:nth-last-child(3):first-child,
  .button-group.expanded .button:nth-last-child(3):first-child ~ .button {
    width: 33.33333%; }
  .button-group.expanded .button:nth-last-child(4):first-child,
  .button-group.expanded .button:nth-last-child(4):first-child ~ .button {
    width: 25%; }
  .button-group.expanded .button:nth-last-child(5):first-child,
  .button-group.expanded .button:nth-last-child(5):first-child ~ .button {
    width: 20%; }
  .button-group.expanded .button:nth-last-child(6):first-child,
  .button-group.expanded .button:nth-last-child(6):first-child ~ .button {
    width: 16.66667%; }
  .button-group.primary .button {
    background: #0774CB;
    color: #fff; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background: #065da2;
      color: #fff; }
  .button-group.secondary .button {
    background: #777;
    color: #fff; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background: #5f5f5f;
      color: #fff; }
  .button-group.success .button {
    background: #3adb76;
    color: #fff; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background: #22bb5b;
      color: #fff; }
  .button-group.alert .button {
    background: #ec5840;
    color: #fff; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background: #da3116;
      color: #fff; }
  .button-group.warning .button {
    background: #ffae00;
    color: #fff; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background: #cc8b00;
      color: #fff; }
  .button-group.stacked .button, .button-group.stacked-for-small .button {
    width: 100%;
    border-right: 0; }
  @media screen and (min-width: 40em) {
    .button-group.stacked-for-small .button {
      width: auto; }
      .button-group.stacked-for-small .button:not(:last-child) {
        border-right: 1px solid #fefefe; } }

.callout {
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(10, 10, 10, 0.25);
  border-radius: 0;
  position: relative;
  color: #0a0a0a;
  background-color: white; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #d4ebfe; }
  .callout.secondary {
    background-color: #ebebeb; }
  .callout.success {
    background-color: #e1faea; }
  .callout.alert {
    background-color: #fce6e2; }
  .callout.warning {
    background-color: #fff3d9; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

.close-button {
  position: absolute;
  color: #2C2C2C;
  right: 1rem;
  top: 0.5rem;
  font-size: 2em;
  line-height: 1;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #0a0a0a; }

.is-drilldown {
  position: relative;
  overflow: hidden; }

.is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  height: 100%;
  width: 100%;
  background: #fefefe;
  transition: -webkit-transform 0.15s linear;
  transition: transform 0.15s linear; }
  .is-drilldown-submenu.is-active {
    z-index: 1;
    display: block;
    -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
            transform: translateX(-100%); }
  .is-drilldown-submenu.is-closing {
    -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
            transform: translateX(100%); }

.is-drilldown-submenu-parent > a {
  position: relative; }
  .is-drilldown-submenu-parent > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    border-color: transparent transparent transparent #0774CB;
    border-left-style: solid;
    position: absolute;
    top: 50%;
    margin-top: -6px;
    right: 1rem; }

.js-drilldown-back::before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  border-color: transparent #0774CB transparent transparent;
  border-right-style: solid;
  float: left;
  margin-right: 0.75rem;
  margin-left: 0.6rem;
  margin-top: 14px; }

.dropdown-pane {
  background-color: #fefefe;
  border: 1px solid #CECECE;
  display: block;
  padding: 1rem;
  position: absolute;
  visibility: hidden;
  width: 300px;
  z-index: 10;
  border-radius: 0; }
  .dropdown-pane.is-open {
    visibility: visible; }

.dropdown-pane.tiny {
  width: 100px; }

.dropdown-pane.small {
  width: 200px; }

.dropdown-pane.large {
  width: 400px; }

[data-whatinput='mouse'] .dropdown.menu a {
  outline: 0; }

.dropdown.menu .is-dropdown-submenu-parent {
  position: relative; }
  .dropdown.menu .is-dropdown-submenu-parent a::after {
    float: right;
    margin-top: 3px;
    margin-left: 10px; }
  .dropdown.menu .is-dropdown-submenu-parent.is-down-arrow a {
    padding-right: 1.5rem;
    position: relative; }
  .dropdown.menu .is-dropdown-submenu-parent.is-down-arrow > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: #0774CB transparent transparent;
    border-top-style: solid;
    position: absolute;
    top: 0.825rem;
    right: 5px; }
  .dropdown.menu .is-dropdown-submenu-parent.is-left-arrow > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #0774CB transparent transparent;
    border-right-style: solid;
    float: left;
    margin-left: 0;
    margin-right: 10px; }
  .dropdown.menu .is-dropdown-submenu-parent.is-right-arrow > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #0774CB;
    border-left-style: solid; }
  .dropdown.menu .is-dropdown-submenu-parent.is-left-arrow.opens-inner .submenu {
    right: 0;
    left: auto; }
  .dropdown.menu .is-dropdown-submenu-parent.is-right-arrow.opens-inner .submenu {
    left: 0;
    right: auto; }
  .dropdown.menu .is-dropdown-submenu-parent.opens-inner .submenu {
    top: 100%; }

.no-js .dropdown.menu ul {
  display: none; }

.dropdown.menu .submenu {
  display: none;
  position: absolute;
  top: 0;
  left: 100%;
  min-width: 200px;
  z-index: 1;
  background: #fefefe;
  border: 1px solid #CECECE; }
  .dropdown.menu .submenu > li {
    width: 100%; }
  .dropdown.menu .submenu.first-sub {
    top: 100%;
    left: 0;
    right: auto; }
  .dropdown.menu .submenu:not(.js-dropdown-nohover) > .is-dropdown-submenu-parent:hover > .dropdown.menu .submenu, .dropdown.menu .submenu.js-dropdown-active {
    display: block; }

.dropdown.menu .is-dropdown-submenu-parent.opens-left .submenu {
  left: auto;
  right: 100%; }

.dropdown.menu.align-right .submenu.first-sub {
  top: 100%;
  left: auto;
  right: 0; }

.is-dropdown-menu.vertical {
  width: 100px; }
  .is-dropdown-menu.vertical.align-right {
    float: right; }
  .is-dropdown-menu.vertical > li .submenu {
    top: 0;
    left: 100%; }

.flex-video {
  position: relative;
  height: 0;
  padding-top: 1.5625rem;
  padding-bottom: 75%;
  margin-bottom: 1rem;
  overflow: hidden; }
  .flex-video iframe,
  .flex-video object,
  .flex-video embed,
  .flex-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .flex-video.widescreen {
    padding-bottom: 56.25%; }
  .flex-video.vimeo {
    padding-top: 0; }

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  border-radius: 0;
  background: #0774CB;
  color: #fefefe; }
  .label.secondary {
    background: #777;
    color: #fefefe; }
  .label.success {
    background: #3adb76;
    color: #fefefe; }
  .label.alert {
    background: #ec5840;
    color: #fefefe; }
  .label.warning {
    background: #ffae00;
    color: #fefefe; }

.media-object {
  margin-bottom: 1rem;
  display: block; }
  .media-object img {
    max-width: none; }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    .media-object.stack-for-small .media-object-section {
      display: block;
      padding: 0;
      padding-bottom: 1rem; }
      .media-object.stack-for-small .media-object-section img {
        width: 100%; } }

.media-object-section {
  display: table-cell;
  vertical-align: top; }
  .media-object-section:first-child {
    padding-right: 1rem; }
  .media-object-section:last-child:not( + .media-object-section:first-child) {
    padding-left: 1rem; }
  .media-object-section.middle {
    vertical-align: middle; }
  .media-object-section.bottom {
    vertical-align: bottom; }

.menu {
  margin: 0;
  list-style-type: none; }
  .menu > li {
    display: table-cell;
    vertical-align: middle; }
    [data-whatinput='mouse'] .menu > li {
      outline: 0; }
  .menu > li:not(.menu-text) > a {
    display: block;
    padding: 0.7rem 1rem;
    line-height: 1; }
  .menu input,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu > li > a > img,
  .menu > li > a > i {
    vertical-align: middle; }
  .menu > li > a > span {
    vertical-align: middle; }
  .menu > li > a > img,
  .menu > li > a > i {
    display: inline-block;
    margin-right: 0.25rem; }
  .menu > li {
    display: table-cell; }
  .menu.vertical > li {
    display: block; }
  @media screen and (min-width: 40em) {
    .menu.medium-horizontal > li {
      display: table-cell; }
    .menu.medium-vertical > li {
      display: block; } }
  @media screen and (min-width: 64em) {
    .menu.large-horizontal > li {
      display: table-cell; }
    .menu.large-vertical > li {
      display: block; } }
  @media screen and (min-width: 75em) {
    .menu.xlarge-horizontal > li {
      display: table-cell; }
    .menu.xlarge-vertical > li {
      display: block; } }
  @media screen and (min-width: 90em) {
    .menu.xxlarge-horizontal > li {
      display: table-cell; }
    .menu.xxlarge-vertical > li {
      display: block; } }
  .menu.simple a {
    padding: 0;
    margin-right: 1rem; }
  .menu.align-right > li {
    float: right; }
  .menu.expanded {
    display: table;
    width: 100%; }
    .menu.expanded > li:nth-last-child(2):first-child,
    .menu.expanded > li:nth-last-child(2):first-child ~ li {
      width: 50%; }
    .menu.expanded > li:nth-last-child(3):first-child,
    .menu.expanded > li:nth-last-child(3):first-child ~ li {
      width: 33.33333%; }
    .menu.expanded > li:nth-last-child(4):first-child,
    .menu.expanded > li:nth-last-child(4):first-child ~ li {
      width: 25%; }
    .menu.expanded > li:nth-last-child(5):first-child,
    .menu.expanded > li:nth-last-child(5):first-child ~ li {
      width: 20%; }
    .menu.expanded > li:nth-last-child(6):first-child,
    .menu.expanded > li:nth-last-child(6):first-child ~ li {
      width: 16.66667%; }
    .menu.expanded > li:first-child:last-child {
      width: 100%; }
  .menu.icon-top > li > a {
    text-align: center; }
    .menu.icon-top > li > a > img,
    .menu.icon-top > li > a > i {
      display: block;
      margin: 0 auto 0.25rem; }
  .menu.nested {
    margin-left: 1rem; }

.menu-text {
  font-weight: bold;
  color: inherit;
  line-height: 1;
  padding-top: 0;
  padding-bottom: 0;
  padding: 0.7rem 1rem; }

.no-js [data-responsive-menu] ul {
  display: none; }

html,
body {
  height: 100%; }

.off-canvas-wrapper {
  width: 100%;
  overflow-x: hidden;
  position: relative;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-overflow-scrolling: auto; }

.off-canvas-wrapper-inner {
  position: relative;
  width: 100%;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease; }
  .off-canvas-wrapper-inner::before, .off-canvas-wrapper-inner::after {
    content: ' ';
    display: table; }
  .off-canvas-wrapper-inner::after {
    clear: both; }

.off-canvas-content,
.off-canvas-content {
  min-height: 100%;
  background: #fefefe;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  z-index: 1;
  box-shadow: 0 0 10px rgba(10, 10, 10, 0.5); }

.js-off-canvas-exit {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(254, 254, 254, 0.25);
  cursor: pointer;
  transition: background 0.5s ease; }
  .is-off-canvas-open .js-off-canvas-exit {
    display: block; }

.off-canvas {
  position: absolute;
  background: #e6e6e6;
  z-index: -1;
  max-height: 100%;
  overflow-y: auto;
  -webkit-transform: translateX(0px);
      -ms-transform: translateX(0px);
          transform: translateX(0px); }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.position-left {
    left: -250px;
    top: 0;
    width: 250px; }
    .is-open-left {
      -webkit-transform: translateX(250px);
          -ms-transform: translateX(250px);
              transform: translateX(250px); }
  .off-canvas.position-right {
    right: -250px;
    top: 0;
    width: 250px; }
    .is-open-right {
      -webkit-transform: translateX(-250px);
          -ms-transform: translateX(-250px);
              transform: translateX(-250px); }

@media screen and (min-width: 40em) {
  .position-left.reveal-for-medium {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-medium {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 250px; } }

@media screen and (min-width: 64em) {
  .position-left.reveal-for-large {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-large {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 250px; } }

@media screen and (min-width: 75em) {
  .position-left.reveal-for-xlarge {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-xlarge ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-xlarge {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-xlarge ~ .off-canvas-content {
      margin-right: 250px; } }

@media screen and (min-width: 90em) {
  .position-left.reveal-for-xxlarge {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-xxlarge ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-xxlarge {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-xxlarge ~ .off-canvas-content {
      margin-right: 250px; } }

.orbit {
  position: relative; }

.orbit-container {
  position: relative;
  margin: 0;
  overflow: hidden;
  list-style: none; }

.orbit-slide {
  width: 100%;
  max-height: 100%; }
  .orbit-slide.no-motionui.is-active {
    top: 0;
    left: 0; }

.orbit-figure {
  margin: 0; }

.orbit-image {
  margin: 0;
  width: 100%;
  max-width: 100%; }

.orbit-caption {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding: 1rem;
  margin-bottom: 0;
  color: #fefefe;
  background-color: rgba(10, 10, 10, 0.5); }

.orbit-previous, .orbit-next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #fefefe; }
  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
    outline: 0; }
  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
    background-color: rgba(10, 10, 10, 0.5); }

.orbit-previous {
  left: 0; }

.orbit-next {
  left: auto;
  right: 0; }

.orbit-bullets {
  position: relative;
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  text-align: center; }
  [data-whatinput='mouse'] .orbit-bullets {
    outline: 0; }
  .orbit-bullets button {
    width: 1.2rem;
    height: 1.2rem;
    margin: 0.1rem;
    background-color: #CECECE;
    border-radius: 50%; }
    .orbit-bullets button:hover {
      background-color: #2C2C2C; }
    .orbit-bullets button.is-active {
      background-color: #2C2C2C; }

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    content: ' ';
    display: table; }
  .pagination::after {
    clear: both; }
  .pagination li {
    font-size: 0.875rem;
    margin-right: 0.0625rem;
    display: none;
    border-radius: 0; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media screen and (min-width: 40em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    color: #0a0a0a;
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 0; }
    .pagination a:hover,
    .pagination button:hover {
      background: #e6e6e6; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #0774CB;
    color: #fefefe;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #CECECE;
    cursor: default; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    content: '…';
    padding: 0.1875rem 0.625rem;
    color: #0a0a0a; }

.pagination-previous a::before,
.pagination-previous.disabled::before {
  content: '«';
  display: inline-block;
  margin-right: 0.5rem; }

.pagination-next a::after,
.pagination-next.disabled::after {
  content: '»';
  display: inline-block;
  margin-left: 0.5rem; }

.progress {
  background-color: #CECECE;
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 0; }
  .progress.primary .progress-meter {
    background-color: #0774CB; }
  .progress.secondary .progress-meter {
    background-color: #777; }
  .progress.success .progress-meter {
    background-color: #3adb76; }
  .progress.alert .progress-meter {
    background-color: #ec5840; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }

.progress-meter {
  position: relative;
  display: block;
  width: 0%;
  height: 100%;
  background-color: #0774CB;
  border-radius: 0; }
  .progress-meter .progress-meter-text {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    margin: 0;
    font-size: 0.75rem;
    font-weight: bold;
    color: #fefefe;
    white-space: nowrap; }

.slider {
  position: relative;
  height: 0.5rem;
  margin-top: 1.25rem;
  margin-bottom: 2.25rem;
  background-color: #e6e6e6;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -ms-touch-action: none;
      touch-action: none; }

.slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  max-width: 100%;
  height: 0.5rem;
  background-color: #CECECE;
  transition: all 0.2s ease-in-out; }
  .slider-fill.is-dragging {
    transition: all 0s linear; }

.slider-handle {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  position: absolute;
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  background-color: #0774CB;
  transition: all 0.2s ease-in-out;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  border-radius: 0; }
  [data-whatinput='mouse'] .slider-handle {
    outline: 0; }
  .slider-handle:hover {
    background-color: #0663ad; }
  .slider-handle.is-dragging {
    transition: all 0s linear; }

.slider.disabled,
.slider[disabled] {
  opacity: 0.25;
  cursor: not-allowed; }

.slider.vertical {
  display: inline-block;
  width: 0.5rem;
  height: 12.5rem;
  margin: 0 1.25rem;
  -webkit-transform: scale(1, -1);
      -ms-transform: scale(1, -1);
          transform: scale(1, -1); }
  .slider.vertical .slider-fill {
    top: 0;
    width: 0.5rem;
    max-height: 100%; }
  .slider.vertical .slider-handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.4rem;
    height: 1.4rem;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }

.sticky-container {
  position: relative; }

.sticky {
  position: absolute;
  z-index: 0;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0); }

.sticky.is-stuck {
  position: fixed;
  z-index: 5; }
  .sticky.is-stuck.is-at-top {
    top: 0; }
  .sticky.is-stuck.is-at-bottom {
    bottom: 0; }

.sticky.is-anchored {
  position: absolute;
  left: auto;
  right: auto; }
  .sticky.is-anchored.is-at-bottom {
    bottom: 0; }

body.is-reveal-open {
  overflow: hidden; }

.reveal-overlay {
  display: none;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1005;
  background-color: rgba(10, 10, 10, 0.45);
  overflow-y: scroll; }

.reveal {
  display: none;
  z-index: 1006;
  padding: 1rem;
  border: 1px solid #CECECE;
  margin: 100px auto 0 auto;
  background-color: #fefefe;
  border-radius: 0;
  position: absolute;
  overflow-y: auto; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media screen and (min-width: 40em) {
    .reveal {
      min-height: 0; } }
  .reveal .column,
  .reveal .columns {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media screen and (min-width: 40em) {
    .reveal {
      width: 600px;
      max-width: 100%; } }
  .reveal.collapse {
    padding: 0; }
  @media screen and (min-width: 40em) {
    .reveal .reveal {
      left: auto;
      right: auto;
      margin: 0 auto; } }
  @media screen and (min-width: 40em) {
    .reveal.tiny {
      width: 30%;
      max-width: 100%; } }
  @media screen and (min-width: 40em) {
    .reveal.small {
      width: 50%;
      max-width: 100%; } }
  @media screen and (min-width: 40em) {
    .reveal.large {
      width: 90%;
      max-width: 100%; } }
  .reveal.full {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    max-width: none;
    margin-left: 0;
    border: none; }

.switch {
  margin-bottom: 1rem;
  outline: 0;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  color: #fefefe;
  font-weight: bold;
  font-size: 0.875rem; }

.switch-input {
  opacity: 0;
  position: absolute; }

.switch-paddle {
  background: #CECECE;
  cursor: pointer;
  display: block;
  position: relative;
  width: 4rem;
  height: 2rem;
  transition: all 0.25s ease-out;
  border-radius: 0;
  color: inherit;
  font-weight: inherit; }
  input + .switch-paddle {
    margin: 0; }
  .switch-paddle::after {
    background: #fefefe;
    content: '';
    display: block;
    position: absolute;
    height: 1.5rem;
    left: 0.25rem;
    top: 0.25rem;
    width: 1.5rem;
    transition: all 0.25s ease-out;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    border-radius: 0; }
  input:checked ~ .switch-paddle {
    background: #0774CB; }
    input:checked ~ .switch-paddle::after {
      left: 2.25rem; }
  [data-whatinput='mouse'] input:focus ~ .switch-paddle {
    outline: 0; }

.switch-active, .switch-inactive {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }

.switch-active {
  left: 8%;
  display: none; }
  input:checked + label > .switch-active {
    display: block; }

.switch-inactive {
  right: 15%; }
  input:checked + label > .switch-inactive {
    display: none; }

.switch.tiny .switch-paddle {
  width: 3rem;
  height: 1.5rem;
  font-size: 0.625rem; }

.switch.tiny .switch-paddle::after {
  width: 1rem;
  height: 1rem; }

.switch.tiny input:checked ~ .switch-paddle:after {
  left: 1.75rem; }

.switch.small .switch-paddle {
  width: 3.5rem;
  height: 1.75rem;
  font-size: 0.75rem; }

.switch.small .switch-paddle::after {
  width: 1.25rem;
  height: 1.25rem; }

.switch.small input:checked ~ .switch-paddle:after {
  left: 2rem; }

.switch.large .switch-paddle {
  width: 5rem;
  height: 2.5rem;
  font-size: 1rem; }

.switch.large .switch-paddle::after {
  width: 2rem;
  height: 2rem; }

.switch.large input:checked ~ .switch-paddle:after {
  left: 2.75rem; }

table {
  margin-bottom: 1rem;
  border-radius: 0; }
  thead,
  tbody,
  tfoot {
    border: 1px solid #f1f1f1;
    background-color: #fefefe; }
  caption {
    font-weight: bold;
    padding: 0.5rem 0.625rem 0.625rem; }
  thead,
  tfoot {
    background: #f8f8f8;
    color: #0a0a0a; }
    thead tr,
    tfoot tr {
      background: transparent; }
    thead th,
    thead td,
    tfoot th,
    tfoot td {
      padding: 0.5rem 0.625rem 0.625rem;
      font-weight: bold;
      text-align: left; }
  tbody tr:nth-child(even) {
    background-color: #f1f1f1; }
  tbody th,
  tbody td {
    padding: 0.5rem 0.625rem 0.625rem; }

@media screen and (max-width: 63.9375em) {
  table.stack thead {
    display: none; }
  table.stack tfoot {
    display: none; }
  table.stack tr,
  table.stack th,
  table.stack td {
    display: block; }
  table.stack td {
    border-top: 0; } }

table.scroll {
  display: block;
  width: 100%;
  overflow-y: scroll; }

table.hover tr:hover {
  background-color: #f9f9f9; }

table.hover tr:nth-of-type(even):hover {
  background-color: #ececec; }

.tabs {
  margin: 0;
  list-style-type: none;
  background: #fefefe;
  border: 1px solid #e6e6e6; }
  .tabs::before, .tabs::after {
    content: ' ';
    display: table; }
  .tabs::after {
    clear: both; }
  .tabs.simple > li > a {
    padding: 0; }
    .tabs.simple > li > a:hover {
      background: transparent; }
  .tabs.vertical > li {
    width: auto;
    float: none;
    display: block; }
  .tabs.primary {
    background: #0774CB; }
    .tabs.primary > li > a {
      color: #fefefe; }
      .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
        background: #076ec1; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.25rem 1.5rem;
    line-height: 1;
    font-size: 12px;
    color: #0774CB; }
    .tabs-title > a:hover {
      background: #fefefe; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #e6e6e6; }

.tabs-content {
  background: #fefefe;
  transition: all 0.5s ease;
  border: 1px solid #e6e6e6;
  border-top: 0; }
  .tabs-content.vertical {
    border: 1px solid #e6e6e6;
    border-left: 0; }

.tabs-panel {
  display: none;
  padding: 1rem; }
  .tabs-panel.is-active {
    display: block; }

.thumbnail {
  border: solid 4px #fefefe;
  box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
  display: inline-block;
  line-height: 0;
  max-width: 100%;
  transition: box-shadow 200ms ease-out;
  border-radius: 0;
  margin-bottom: 1rem; }
  .thumbnail:hover, .thumbnail:focus {
    box-shadow: 0 0 6px 1px rgba(7, 116, 203, 0.5); }

.title-bar {
  background: #0a0a0a;
  color: #fefefe;
  padding: 0.5rem; }
  .title-bar::before, .title-bar::after {
    content: ' ';
    display: table; }
  .title-bar::after {
    clear: both; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.5rem; }

.title-bar-left {
  float: left; }

.title-bar-right {
  float: right;
  text-align: right; }

.title-bar-title {
  font-weight: bold;
  vertical-align: middle;
  display: inline-block; }

.menu-icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  cursor: pointer;
  width: 20px;
  height: 16px; }
  .menu-icon::after {
    content: '';
    position: absolute;
    display: block;
    width: 100%;
    height: 2px;
    background: #fefefe;
    top: 0;
    left: 0;
    box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe; }
  .menu-icon:hover::after {
    background: #CECECE;
    box-shadow: 0 7px 0 #CECECE, 0 14px 0 #CECECE; }

.has-tip {
  border-bottom: dotted 1px #2C2C2C;
  font-weight: bold;
  position: relative;
  display: inline-block;
  cursor: help; }

.tooltip {
  background-color: #0a0a0a;
  color: #fefefe;
  font-size: 80%;
  padding: 0.75rem;
  position: absolute;
  z-index: 10;
  top: calc(100% + 0.6495rem);
  max-width: 10rem !important;
  border-radius: 0; }
  .tooltip::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: transparent transparent #0a0a0a;
    border-bottom-style: solid;
    bottom: 100%;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .tooltip.top::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: #0a0a0a transparent transparent;
    border-top-style: solid;
    top: 100%;
    bottom: auto; }
  .tooltip.left::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: transparent transparent transparent #0a0a0a;
    border-left-style: solid;
    bottom: auto;
    left: 100%;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .tooltip.right::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: transparent #0a0a0a transparent transparent;
    border-right-style: solid;
    bottom: auto;
    left: auto;
    right: 100%;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }

.top-bar {
  padding: 1rem; }
  .top-bar::before, .top-bar::after {
    content: ' ';
    display: table; }
  .top-bar::after {
    clear: both; }
  .top-bar,
  .top-bar ul {
    background-color: #fefefe; }
  .top-bar a {
    color: #fff; }
  .top-bar input {
    width: 200px;
    margin-right: 1rem; }
  .top-bar input.button {
    width: auto; }

.stacked-for-small .top-bar-right {
  width: 100%; }

.stacked-for-small .top-bar-left {
  width: 100%; }

@media screen and (max-width: 63.9375em) {
  .stacked-for-medium .top-bar-right {
    width: 100%; }
  .stacked-for-medium .top-bar-left {
    width: 100%; } }

@media screen and (max-width: 74.9375em) {
  .stacked-for-large .top-bar-right {
    width: 100%; }
  .stacked-for-large .top-bar-left {
    width: 100%; } }

@media screen and (max-width: 89.9375em) {
  .stacked-for-xlarge .top-bar-right {
    width: 100%; }
  .stacked-for-xlarge .top-bar-left {
    width: 100%; } }

@media screen and (max-width: ) {
  .stacked-for-xxlarge .top-bar-right {
    width: 100%; }
  .stacked-for-xxlarge .top-bar-left {
    width: 100%; } }

.top-bar-right {
  width: 100%; }

.top-bar-left {
  width: 100%; }

.top-bar-left {
  float: left; }

.top-bar-right {
  float: right; }

.slide-in-down.mui-enter {
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%);
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-down.mui-enter.mui-enter-active {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0); }

.slide-in-left.mui-enter {
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%);
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-left.mui-enter.mui-enter-active {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0); }

.slide-in-up.mui-enter {
  -webkit-transform: translateY(100%);
      -ms-transform: translateY(100%);
          transform: translateY(100%);
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-up.mui-enter.mui-enter-active {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0); }

.slide-in-right.mui-enter {
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%);
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-in-right.mui-enter.mui-enter-active {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0); }

.slide-out-down.mui-leave {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-down.mui-leave.mui-leave-active {
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%); }

.slide-out-right.mui-leave {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-right.mui-leave.mui-leave-active {
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%); }

.slide-out-up.mui-leave {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-up.mui-leave.mui-leave-active {
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%); }

.slide-out-left.mui-leave {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

.slide-out-left.mui-leave.mui-leave-active {
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%); }

.fade-in.mui-enter {
  opacity: 0;
  transition-property: opacity; }

.fade-in.mui-enter.mui-enter-active {
  opacity: 1; }

.fade-out.mui-leave {
  opacity: 1;
  transition-property: opacity; }

.fade-out.mui-leave.mui-leave-active {
  opacity: 0; }

.hinge-in-from-top.mui-enter {
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  -webkit-transform-origin: top;
      -ms-transform-origin: top;
          transform-origin: top;
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-top.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-right.mui-enter {
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: right;
      -ms-transform-origin: right;
          transform-origin: right;
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-right.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-bottom.mui-enter {
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  -webkit-transform-origin: bottom;
      -ms-transform-origin: bottom;
          transform-origin: bottom;
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-bottom.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-left.mui-enter {
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  -webkit-transform-origin: left;
      -ms-transform-origin: left;
          transform-origin: left;
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-left.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-x.mui-enter {
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-middle-x.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-in-from-middle-y.mui-enter {
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  opacity: 0; }

.hinge-in-from-middle-y.mui-enter.mui-enter-active {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  opacity: 1; }

.hinge-out-from-top.mui-leave {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: top;
      -ms-transform-origin: top;
          transform-origin: top;
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-top.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-right.mui-leave {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: right;
      -ms-transform-origin: right;
          transform-origin: right;
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-right.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.hinge-out-from-bottom.mui-leave {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: bottom;
      -ms-transform-origin: bottom;
          transform-origin: bottom;
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-bottom.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(90deg);
          transform: perspective(2000px) rotateX(90deg);
  opacity: 0; }

.hinge-out-from-left.mui-leave {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: left;
      -ms-transform-origin: left;
          transform-origin: left;
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-left.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(90deg);
          transform: perspective(2000px) rotateY(90deg);
  opacity: 0; }

.hinge-out-from-middle-x.mui-leave {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-middle-x.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateX(-90deg);
          transform: perspective(2000px) rotateX(-90deg);
  opacity: 0; }

.hinge-out-from-middle-y.mui-leave {
  -webkit-transform: perspective(2000px) rotate(0deg);
          transform: perspective(2000px) rotate(0deg);
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  opacity: 1; }

.hinge-out-from-middle-y.mui-leave.mui-leave-active {
  -webkit-transform: perspective(2000px) rotateY(-90deg);
          transform: perspective(2000px) rotateY(-90deg);
  opacity: 0; }

.scale-in-up.mui-enter {
  -webkit-transform: scale(0.5);
      -ms-transform: scale(0.5);
          transform: scale(0.5);
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  opacity: 0; }

.scale-in-up.mui-enter.mui-enter-active {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  opacity: 1; }

.scale-in-down.mui-enter {
  -webkit-transform: scale(1.5);
      -ms-transform: scale(1.5);
          transform: scale(1.5);
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  opacity: 0; }

.scale-in-down.mui-enter.mui-enter-active {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  opacity: 1; }

.scale-out-up.mui-leave {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  opacity: 1; }

.scale-out-up.mui-leave.mui-leave-active {
  -webkit-transform: scale(1.5);
      -ms-transform: scale(1.5);
          transform: scale(1.5);
  opacity: 0; }

.scale-out-down.mui-leave {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  opacity: 1; }

.scale-out-down.mui-leave.mui-leave-active {
  -webkit-transform: scale(0.5);
      -ms-transform: scale(0.5);
          transform: scale(0.5);
  opacity: 0; }

.spin-in.mui-enter {
  -webkit-transform: rotate(-0.75turn);
      -ms-transform: rotate(-0.75turn);
          transform: rotate(-0.75turn);
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  opacity: 0; }

.spin-in.mui-enter.mui-enter-active {
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  opacity: 1; }

.spin-out.mui-leave {
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  opacity: 1; }

.spin-out.mui-leave.mui-leave-active {
  -webkit-transform: rotate(0.75turn);
      -ms-transform: rotate(0.75turn);
          transform: rotate(0.75turn);
  opacity: 0; }

.spin-in-ccw.mui-enter {
  -webkit-transform: rotate(0.75turn);
      -ms-transform: rotate(0.75turn);
          transform: rotate(0.75turn);
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  opacity: 0; }

.spin-in-ccw.mui-enter.mui-enter-active {
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  opacity: 1; }

.spin-out-ccw.mui-leave {
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  transition-property: -webkit-transform, opacity;
  transition-property: transform, opacity;
  opacity: 1; }

.spin-out-ccw.mui-leave.mui-leave-active {
  -webkit-transform: rotate(-0.75turn);
      -ms-transform: rotate(-0.75turn);
          transform: rotate(-0.75turn);
  opacity: 0; }

.slow {
  transition-duration: 750ms !important; }

.fast {
  transition-duration: 250ms !important; }

.linear {
  transition-timing-function: linear !important; }

.ease {
  transition-timing-function: ease !important; }

.ease-in {
  transition-timing-function: ease-in !important; }

.ease-out {
  transition-timing-function: ease-out !important; }

.ease-in-out {
  transition-timing-function: ease-in-out !important; }

.bounce-in {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  transition-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  transition-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  transition-delay: 300ms !important; }

.long-delay {
  transition-delay: 700ms !important; }

.shake {
  -webkit-animation-name: shake-7;
          animation-name: shake-7; }

@-webkit-keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    -webkit-transform: translateX(7%);
            transform: translateX(7%); }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    -webkit-transform: translateX(-7%);
            transform: translateX(-7%); } }

@keyframes shake-7 {
  0%, 10%, 20%, 30%, 40%, 50%, 60%, 70%, 80%, 90% {
    -webkit-transform: translateX(7%);
            transform: translateX(7%); }
  5%, 15%, 25%, 35%, 45%, 55%, 65%, 75%, 85%, 95% {
    -webkit-transform: translateX(-7%);
            transform: translateX(-7%); } }

.spin-cw {
  -webkit-animation-name: spin-cw-1turn;
          animation-name: spin-cw-1turn; }

@-webkit-keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn); }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

@keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(-1turn);
            transform: rotate(-1turn); }
  100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

.spin-ccw {
  -webkit-animation-name: spin-cw-1turn;
          animation-name: spin-cw-1turn; }

@keyframes spin-cw-1turn {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0); }
  100% {
    -webkit-transform: rotate(1turn);
            transform: rotate(1turn); } }

.wiggle {
  -webkit-animation-name: wiggle-7deg;
          animation-name: wiggle-7deg; }

@-webkit-keyframes wiggle-7deg {
  40%, 50%, 60% {
    -webkit-transform: rotate(7deg);
            transform: rotate(7deg); }
  35%, 45%, 55%, 65% {
    -webkit-transform: rotate(-7deg);
            transform: rotate(-7deg); }
  0%, 30%, 70%, 100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

@keyframes wiggle-7deg {
  40%, 50%, 60% {
    -webkit-transform: rotate(7deg);
            transform: rotate(7deg); }
  35%, 45%, 55%, 65% {
    -webkit-transform: rotate(-7deg);
            transform: rotate(-7deg); }
  0%, 30%, 70%, 100% {
    -webkit-transform: rotate(0);
            transform: rotate(0); } }

.infinite {
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite; }

.slow {
  -webkit-animation-duration: 750ms !important;
          animation-duration: 750ms !important; }

.fast {
  -webkit-animation-duration: 250ms !important;
          animation-duration: 250ms !important; }

.linear {
  -webkit-animation-timing-function: linear !important;
          animation-timing-function: linear !important; }

.ease {
  -webkit-animation-timing-function: ease !important;
          animation-timing-function: ease !important; }

.ease-in {
  -webkit-animation-timing-function: ease-in !important;
          animation-timing-function: ease-in !important; }

.ease-out {
  -webkit-animation-timing-function: ease-out !important;
          animation-timing-function: ease-out !important; }

.ease-in-out {
  -webkit-animation-timing-function: ease-in-out !important;
          animation-timing-function: ease-in-out !important; }

.bounce-in {
  -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important;
          animation-timing-function: cubic-bezier(0.485, 0.155, 0.24, 1.245) !important; }

.bounce-out {
  -webkit-animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important;
          animation-timing-function: cubic-bezier(0.485, 0.155, 0.515, 0.845) !important; }

.bounce-in-out {
  -webkit-animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important;
          animation-timing-function: cubic-bezier(0.76, -0.245, 0.24, 1.245) !important; }

.short-delay {
  -webkit-animation-delay: 300ms !important;
          animation-delay: 300ms !important; }

.long-delay {
  -webkit-animation-delay: 700ms !important;
          animation-delay: 700ms !important; }

.tabs {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative; }
  .tabs:before {
    position: absolute;
    left: -2px;
    width: 4px;
    height: 100%;
    content: '';
    background-color: #0774CB; }
  .tabs li.tabs-title {
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    text-align: center;
    font-family: "Tungsten A", "Tungsten B", "Tungsten", Georgia;
    float: none; }
    .tabs li.tabs-title a {
      font-size: 24px;
      padding: .5rem;
      color: #2C2C2C; }
    .tabs li.tabs-title.is-active a {
      background: #2C2C2C;
      color: #fefefe; }

.owl-carousel .owl-controls .owl-nav .owl-prev,
.owl-carousel .owl-controls .owl-nav .owl-next {
  position: absolute;
  top: 50%;
  font-size: 2rem;
  background: rgba(0, 0, 0, 0.25);
  color: #fefefe; }

.owl-carousel .owl-controls .owl-nav .owl-next {
  right: 0; }

.owl-carousel .owl-controls .owl-dots {
  text-align: center;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%); }
  .owl-carousel .owl-controls .owl-dots .owl-dot {
    opacity: .5;
    display: inline-block;
    margin: 0 .5rem; }
    .owl-carousel .owl-controls .owl-dots .owl-dot span {
      width: .75rem;
      height: .75rem;
      display: block;
      border-radius: 50%;
      background-color: #2C2C2C; }
    .owl-carousel .owl-controls .owl-dots .owl-dot.active {
      opacity: .9; }

/* 
 *  Owl Carousel - Animate Plugin
 */
.owl-carousel .animated {
  -webkit-animation-duration: 1000ms;
  animation-duration: 1000ms;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.owl-carousel .owl-animated-in {
  z-index: 0; }

.owl-carousel .owl-animated-out {
  z-index: 1; }

.owl-carousel .fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut; }

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

/* 
 * 	Owl Carousel - Auto Height Plugin
 */
.owl-height {
  transition: height 500ms ease-in-out; }

/* 
 *  Core Owl Carousel CSS File
 */
.owl-carousel {
  display: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1; }

.owl-carousel .owl-stage {
  position: relative;
  -ms-touch-action: pan-Y; }

.owl-carousel .owl-stage:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0; }

.owl-carousel .owl-stage-outer {
  position: relative;
  overflow: hidden;
  /* fix for flashing background */
  -webkit-transform: translate3d(0px, 0px, 0px); }

.owl-carousel .owl-controls .owl-nav .owl-prev,
.owl-carousel .owl-controls .owl-nav .owl-next,
.owl-carousel .owl-controls .owl-dot {
  cursor: pointer;
  cursor: hand;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.owl-carousel.owl-loaded {
  display: block; }

.owl-carousel.owl-loading {
  opacity: 0;
  display: block; }

.owl-carousel.owl-hidden {
  opacity: 0; }

.owl-carousel .owl-refresh .owl-item {
  display: none; }

.owl-carousel .owl-item {
  position: relative;
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.owl-carousel .owl-item img {
  display: block;
  width: 100%;
  -webkit-transform-style: preserve-3d; }

.owl-carousel.owl-text-select-on .owl-item {
  -webkit-user-select: auto;
  -moz-user-select: auto;
  -ms-user-select: auto;
  user-select: auto; }

.owl-carousel .owl-grab {
  cursor: move;
  cursor: -webkit-grab;
  cursor: -o-grab;
  cursor: -ms-grab;
  cursor: grab; }

.owl-carousel.owl-rtl {
  direction: rtl; }

.owl-carousel.owl-rtl .owl-item {
  float: right; }

/* No Js */
.no-js .owl-carousel {
  display: block; }

/* 
 * 	Owl Carousel - Lazy Load Plugin
 */
.owl-carousel .owl-item .owl-lazy {
  opacity: 0;
  transition: opacity 400ms ease; }

.owl-carousel .owl-item img {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d; }

/* 
 * 	Owl Carousel - Video Plugin
 */
.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000; }

.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url("owl.video.play.png") no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  transition: scale 100ms ease; }

.owl-carousel .owl-video-play-icon:hover {
  transition: scale(1.3, 1.3); }

.owl-carousel .owl-video-playing .owl-video-tn,
.owl-carousel .owl-video-playing .owl-video-play-icon {
  display: none; }

.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity 400ms ease; }

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1; }

html.touch * {
  -webkit-overflow-scrolling: touch; }

::-moz-selection {
  /* Code for Firefox */
  color: #fefefe;
  background: #0774CB; }

::selection {
  color: #fefefe;
  background: #0774CB; }

.secondary-font {
  font-family: "Tungsten A", "Tungsten B", "Tungsten", Georgia; }

[class*="-meta"],
[class*="-category"],
[class*="-author"] {
  font-family: "Tungsten A", "Tungsten B", "Tungsten", Georgia;
  font-size: 1.25rem; }

article .article-content a:not(.button) {
  text-shadow: 0.03em 0 #fefefe, -0.03em 0 #fefefe, 0 0.03em #fefefe, 0 -0.03em #fefefe, 0.06em 0 #fefefe, -0.06em 0 #fefefe, 0.09em 0 #fefefe, -0.09em 0 #fefefe, 0.12em 0 #fefefe, -0.12em 0 #fefefe, 0.15em 0 #fefefe, -0.15em 0 #fefefe;
  background-image: linear-gradient(#2C2C2C, #2C2C2C);
  background-size: 1px 1px;
  background-repeat: repeat-x;
  background-position: 0% 95%;
  color: #2C2C2C;
  text-decoration: none; }
  article .article-content a:not(.button)::-moz-selection {
    text-shadow: 0.03em 0 #0774CB, -0.03em 0 #0774CB, 0 0.03em #0774CB, 0 -0.03em #0774CB, 0.06em 0 #0774CB, -0.06em 0 #0774CB, 0.09em 0 #0774CB, -0.09em 0 #0774CB, 0.12em 0 #0774CB, -0.12em 0 #0774CB, 0.15em 0 #0774CB, -0.15em 0 #0774CB;
    background: #0774CB; }
  article .article-content a:not(.button)::selection {
    text-shadow: 0.03em 0 #0774CB, -0.03em 0 #0774CB, 0 0.03em #0774CB, 0 -0.03em #0774CB, 0.06em 0 #0774CB, -0.06em 0 #0774CB, 0.09em 0 #0774CB, -0.09em 0 #0774CB, 0.12em 0 #0774CB, -0.12em 0 #0774CB, 0.15em 0 #0774CB, -0.15em 0 #0774CB;
    background: #0774CB; }
  article .article-content a:not(.button)::-moz-selection {
    text-shadow: 0.03em 0 #0774CB, -0.03em 0 #0774CB, 0 0.03em #0774CB, 0 -0.03em #0774CB, 0.06em 0 #0774CB, -0.06em 0 #0774CB, 0.09em 0 #0774CB, -0.09em 0 #0774CB, 0.12em 0 #0774CB, -0.12em 0 #0774CB, 0.15em 0 #0774CB, -0.15em 0 #0774CB;
    background: #0774CB; }
  article .article-content a:not(.button) *,
  article .article-content a:not(.button) *:after, article .article-content a:not(.button):after,
  article .article-content a:not(.button) *:before, article .article-content a:not(.button):before {
    text-shadow: none; }
  article .article-content a:not(.button):visited {
    color: #2C2C2C; }
  article .article-content a:not(.button):hover {
    color: #0774CB; }

h1.archive-header {
  text-align: center;
  border-bottom: 1px solid #CECECE;
  padding: 1rem 0;
  margin-bottom: 0; }

h2.subheading {
  text-align: center;
  background: #e6e6e6;
  padding: .75rem 0;
  font-size: 1.25rem; }

.section-header {
  border-bottom: 1px solid #CECECE;
  padding-bottom: 1rem;
  margin-bottom: 2rem; }

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  color: #0a0a0a; }
  h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
    color: #0774CB; }

#home-twitter-feed {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.twitterFeed-container {
  border: 1px solid #CECECE;
  max-height: 100%;
  width: 100%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1; }
  .twitterFeed-container header {
    border-bottom: 1px solid #CECECE; }
    .twitterFeed-container header .feed-participate {
      float: right; }
    .twitterFeed-container header .feed-title {
      padding: .25rem .5rem;
      font-size: .75rem; }
      .twitterFeed-container header .feed-title .title {
        font-weight: bold; }
    .twitterFeed-container header .feed-participate a {
      color: #F5F5F5;
      font-weight: bold;
      text-transform: uppercase;
      background: #2C2C2C;
      padding: 1rem;
      font-size: .75rem;
      display: inline-block; }
      .twitterFeed-container header .feed-participate a:hover {
        background-color: #393939; }
  .twitterFeed-container .feed {
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    overflow: hidden; }
    .twitterFeed-container .feed #twitterFeed {
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      height: 100%;
      position: relative;
      overflow-y: auto;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
      .twitterFeed-container .feed #twitterFeed > iframe {
        height: 100% !important;
        -webkit-flex: 1;
            -ms-flex: 1;
                flex: 1; }
      .twitterFeed-container .feed #twitterFeed.loading:after {
        content: '';
        background: #fefefe url("../img/ajax-loader.gif") no-repeat center center;
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%; }
      .twitterFeed-container .feed #twitterFeed iframe#twitter-widget-0 {
        width: 100% !important; }
    .twitterFeed-container .feed ul {
      list-style: none;
      padding: 0;
      margin: 0; }
      .twitterFeed-container .feed ul li {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row;
        border-bottom: 1px solid #CECECE;
        padding: 1rem; }
        .twitterFeed-container .feed ul li .tweet-avatar img {
          border-radius: 50%; }
        .twitterFeed-container .feed ul li .tweet-content {
          -webkit-flex-grow: 1;
              -ms-flex-positive: 1;
                  flex-grow: 1;
          margin-left: 1rem; }
          .twitterFeed-container .feed ul li .tweet-content .tweet-content-text {
            font-size: .75rem; }
  .twitterFeed-container footer {
    border-top: 1px solid #CECECE; }
    .twitterFeed-container footer a {
      font-weight: bold;
      text-transform: uppercase;
      color: #2C2C2C;
      display: block;
      background: #F5F5F5;
      padding: 1rem;
      text-align: center; }
      .twitterFeed-container footer a:hover {
        background-color: #F9F9F9; }

#sidebar-relatedArticles-tabs .tabs-panel {
  padding: 0; }

ul.articles-list {
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: article-counter; }
  ul.articles-list li {
    border-bottom: 1px solid #CECECE;
    counter-increment: article-counter; }
    ul.articles-list li:last-child {
      border-bottom: none; }
    ul.articles-list li a {
      display: block;
      color: #2C2C2C;
      position: relative;
      padding: 1rem;
      min-height: 100px; }
      ul.articles-list li a .article-info {
        position: relative;
        z-index: 2;
        padding-left: 25%;
        text-shadow: 0 0 3px #fefefe; }
        ul.articles-list li a .article-info .article-title {
          margin-bottom: 0; }
      ul.articles-list li a .article-image {
        position: absolute;
        overflow: hidden;
        left: 0;
        top: 0;
        bottom: 0;
        -webkit-align-self: center;
            -ms-flex-item-align: center;
                align-self: center;
        width: 37.5%; }
        ul.articles-list li a .article-image:before {
          content: counter(article-counter);
          font-size: 1.5em;
          text-align: center;
          position: absolute;
          width: 66.666666%;
          -webkit-align-self: center;
              -ms-flex-item-align: center;
                  align-self: center;
          font-weight: bold;
          top: 50%;
          z-index: 1;
          -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
          transform: translateY(-50%); }
        ul.articles-list li a .article-image:after {
          content: '';
          position: absolute;
          left: 0;
          top: 0;
          width: 100%;
          height: 100%;
          z-index: 2;
          /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&0.01+0,1+100 */
          /* FF3.6-15 */
          /* Chrome10-25,Safari5.1-6 */
          background: linear-gradient(to right, rgba(255, 255, 255, 0.01) 0%, white 100%);
          /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
          filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#03ffffff', endColorstr='#ffffff',GradientType=1 );
          /* IE6-9 */ }
        ul.articles-list li a .article-image img {
          opacity: 0;
          transition: 0.5s all;
          position: relative;
          z-index: 2;
          height: 100%;
          width: auto;
          max-width: none;
          -webkit-transform: translateX(-25%);
          -ms-transform: translateX(-25%);
          transform: translateX(-25%); }
      ul.articles-list li a:hover .article-image img {
        opacity: 1; }

#sidebar-main .twitterFeed-container .feed {
  height: 600px;
  -webkit-flex: none;
      -ms-flex: none;
          flex: none; }

#main-menu {
  position: fixed;
  background-color: rgba(21, 133, 207, 0.9);
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  width: 100%;
  height: 100%;
  z-index: -1;
  -webkit-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%);
  transition: 0.5s -webkit-transform;
  transition: 0.5s transform; }
  #main-menu.open {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-transform: translateY(0%);
    -ms-transform: translateY(0%);
    transform: translateY(0%); }
  #main-menu a.menu-close {
    position: absolute;
    top: .5rem;
    right: 1rem;
    font-weight: 100;
    font-size: 3rem;
    color: #fefefe; }
  #main-menu .menu-container {
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-align-self: center;
        -ms-flex-item-align: center;
            align-self: center;
    width: 100%;
    max-width: 960px;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center; }
    #main-menu .menu-container > .row {
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1; }
    #main-menu .menu-container ul.menu li a {
      text-transform: uppercase;
      font-weight: bold;
      color: #fefefe; }
      #main-menu .menu-container ul.menu li a:after {
        border-left-color: #fefefe; }
    #main-menu .menu-container ul.menu li ul.is-drilldown-sub {
      background: #0a0a0a; }
      #main-menu .menu-container ul.menu li ul.is-drilldown-sub li.js-drilldown-back:before {
        border-right-color: #fefefe; }
    #main-menu .menu-container .timeline-feed {
      max-height: 80vh;
      overflow: auto;
      color: #fefefe; }
      #main-menu .menu-container .timeline-feed ul li a {
        color: #fefefe; }
        #main-menu .menu-container .timeline-feed ul li a h3 {
          font-size: 1.3rem; }

#scroll-menu {
  position: fixed;
  top: 0;
  height: 3rem;
  width: 100%;
  background: #fefefe;
  z-index: 9999;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.15);
  transition: 1s all;
  -webkit-transform: translateY(-110%);
  -ms-transform: translateY(-110%);
  transform: translateY(-110%); }
  #scroll-menu.show {
    -webkit-transform: translateY(0%);
    -ms-transform: translateY(0%);
    transform: translateY(0%); }
  #scroll-menu ul.left-nav,
  #scroll-menu ul.right-nav {
    list-style: none;
    margin: 0;
    padding: 0;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    #scroll-menu ul.left-nav li,
    #scroll-menu ul.right-nav li {
      display: inline-block; }
      #scroll-menu ul.left-nav li a,
      #scroll-menu ul.right-nav li a {
        display: block;
        height: 3rem;
        line-height: 3rem;
        vertical-align: middle;
        padding: 0 1rem;
        color: #0a0a0a; }
        #scroll-menu ul.left-nav li a.facebook,
        #scroll-menu ul.right-nav li a.facebook {
          background: #45619D;
          color: #fefefe; }
        #scroll-menu ul.left-nav li a.twitter,
        #scroll-menu ul.right-nav li a.twitter {
          background: #3B94D9;
          color: #fefefe; }
        #scroll-menu ul.left-nav li a i,
        #scroll-menu ul.right-nav li a i {
          margin-right: 1rem;
          display: inline-block;
          -webkit-transform: translateY(10%) scale(1.75);
          -ms-transform: translateY(10%) scale(1.75);
          transform: translateY(10%) scale(1.75); }
  #scroll-menu .brand img {
    height: 3rem; }
  #scroll-menu ul.right-nav {
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
    @media screen and (min-width: 0em) and (max-width: 39.9375em) {
      #scroll-menu ul.right-nav {
        -webkit-flex: none;
            -ms-flex: none;
                flex: none;
        position: relative; } }
    #scroll-menu ul.right-nav a {
      border-left: 1px solid #CECECE; }
      #scroll-menu ul.right-nav a.menu-open {
        background: #2C2C2C;
        color: #F5F5F5; }
        #scroll-menu ul.right-nav a.menu-open i {
          margin-right: 0; }
        #scroll-menu ul.right-nav a.menu-open:hover {
          background: #464646; }

.archive-nav-container {
  width: 100%;
  background: #fefefe;
  width: 100%; }
  .archive-nav-container.is-stuck {
    padding-top: 3rem; }
  .archive-nav-container .archive-nav {
    text-align: center; }

#map-container {
  height: 600px;
  margin-bottom: 1em;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative; }
  #map-container.controller-open #map-controller {
    width: 480px; }
  #map-container.loading:after {
    content: '';
    background: #fefefe url("../img/ajax-loader.gif") no-repeat center center;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%; }
  #map-container #map-controller {
    width: 480px;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background: rgba(255, 255, 255, 0.85); }
    #map-container #map-controller h4 {
      border-bottom: 1px solid #CECECE;
      text-align: center;
      padding: 1rem 0;
      margin: 0;
      font-size: 1.25rem; }
    #map-container #map-controller .competition-header {
      width: 100%;
      height: 122px;
      background-image: url("../img/NATO-Competition-Tile.jpg");
      background-size: 100%;
      background-repeat: no-repeat;
      background-position: center top; }
    #map-container #map-controller .summit-info-container {
      height: 100%;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
      #map-container #map-controller .summit-info-container .submission-header {
        position: relative; }
        #map-container #map-controller .summit-info-container .submission-header .button {
          margin: 0;
          position: relative;
          z-index: 2; }
        #map-container #map-controller .summit-info-container .submission-header .submission-name {
          font-weight: bold;
          text-align: center;
          position: absolute;
          left: 0;
          top: 0;
          width: 100%;
          height: 100%;
          line-height: 2.5rem;
          vertical-align: middle; }
      #map-container #map-controller .summit-info-container .summit-info {
        padding: 2rem; }
        #map-container #map-controller .summit-info-container .summit-info > img {
          float: left;
          margin-right: 1rem;
          margin-bottom: 1rem; }
    #map-container #map-controller .submissions-container {
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1;
      overflow-y: auto;
      border-left: 1px solid #CECECE;
      border-bottom: 1px solid #CECECE; }
      #map-container #map-controller .submissions-container a.submission {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        width: 50%;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        float: left;
        border-bottom: 1px solid #CECECE;
        padding: .75rem;
        color: #0a0a0a;
        transition: 0.15s all;
        position: relative; }
        #map-container #map-controller .submissions-container a.submission:nth-child(2n) {
          border-left: 1px solid #CECECE; }
        #map-container #map-controller .submissions-container a.submission img, #map-container #map-controller .submissions-container a.submission i {
          width: 40px;
          border-radius: 50%;
          margin-right: .5rem;
          height: 40px;
          font-size: 40px;
          text-align: center; }
        #map-container #map-controller .submissions-container a.submission i {
          -webkit-transform: scale(0.85);
              -ms-transform: scale(0.85);
                  transform: scale(0.85); }
        #map-container #map-controller .submissions-container a.submission.finalist:after {
          position: absolute;
          right: .5rem;
          top: 1.25rem;
          font-family: "futurenato-icons" !important;
          font-style: normal !important;
          font-weight: normal !important;
          font-variant: normal !important;
          text-transform: none !important;
          speak: none;
          line-height: 1;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale;
          font-size: .75em;
          margin-right: .25em;
          content: "n";
          color: #0774CB;
          font-size: 2rem; }
        #map-container #map-controller .submissions-container a.submission.finalist:hover:after {
          color: #fefefe; }
        #map-container #map-controller .submissions-container a.submission .submission-info {
          -webkit-flex: 1;
              -ms-flex: 1;
                  flex: 1; }
          #map-container #map-controller .submissions-container a.submission .submission-info h6 {
            font-size: .8rem;
            height: 2em; }
          #map-container #map-controller .submissions-container a.submission .submission-info .submission-meta {
            color: #b5b5b5;
            text-transform: uppercase;
            font-size: .9rem; }
          #map-container #map-controller .submissions-container a.submission .submission-info h6, #map-container #map-controller .submissions-container a.submission .submission-info .submission-meta {
            transition: 0.15s all; }
        #map-container #map-controller .submissions-container a.submission:hover {
          background-color: #0774CB; }
          #map-container #map-controller .submissions-container a.submission:hover .submission-info h6, #map-container #map-controller .submissions-container a.submission:hover .submission-info .submission-meta {
            color: #fefefe; }
    #map-container #map-controller .view-container {
      position: relative;
      overflow-x: hidden;
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
      #map-container #map-controller .view-container > div > div {
        max-width: 100%; }
      #map-container #map-controller .view-container .welcome-message-container {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        padding: 2rem;
        font-size: 125%;
        text-align: center;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-flex: 1;
            -ms-flex: 1;
                flex: 1; }
      #map-container #map-controller .view-container .full-submission {
        height: 100%;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex: 1;
            -ms-flex: 1;
                flex: 1;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column; }
        #map-container #map-controller .view-container .full-submission .submission-header {
          position: relative; }
          #map-container #map-controller .view-container .full-submission .submission-header .button {
            margin: 0;
            position: relative;
            z-index: 2; }
          #map-container #map-controller .view-container .full-submission .submission-header .submission-name {
            font-weight: bold;
            text-align: center;
            position: absolute;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            line-height: 2.5rem;
            vertical-align: middle; }
        #map-container #map-controller .view-container .full-submission .submission-view-container {
          -webkit-flex: 1;
              -ms-flex: 1;
                  flex: 1;
          overflow: auto; }
          #map-container #map-controller .view-container .full-submission .submission-view-container .submission-share {
            margin-bottom: 1rem;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-flex-direction: row;
                -ms-flex-direction: row;
                    flex-direction: row; }
            #map-container #map-controller .view-container .full-submission .submission-view-container .submission-share > div {
              color: #fefefe;
              display: inline-block;
              padding: .5rem 1rem;
              margin: 0 .5rem;
              -webkit-flex: 1;
                  -ms-flex: 1;
                      flex: 1;
              text-align: center; }
              #map-container #map-controller .view-container .full-submission .submission-view-container .submission-share > div:first-child {
                margin-left: 0; }
              #map-container #map-controller .view-container .full-submission .submission-view-container .submission-share > div:last-child {
                margin-right: 0; }
            #map-container #map-controller .view-container .full-submission .submission-view-container .submission-share .submission-share-facebook {
              background-color: #45619D; }
            #map-container #map-controller .view-container .full-submission .submission-view-container .submission-share .submission-share-twitter {
              background-color: #3B94D9; }
            #map-container #map-controller .view-container .full-submission .submission-view-container .submission-share .submission-share-linkedin {
              background-color: #0077b5; }
          #map-container #map-controller .view-container .full-submission .submission-view-container .submission-essay {
            padding: 1.5rem; }
    #map-container #map-controller .animate-switch {
      position: absolute;
      top: 0;
      width: 100%;
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1; }
    #map-container #map-controller .animate-switch.ng-animate {
      transition: all cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.5s; }
    #map-container #map-controller .animate-switch.ng-leave.ng-leave-active {
      -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
      transform: translateX(-100%); }
    #map-container #map-controller .submissions-container.ng-leave.ng-leave-active {
      -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
      transform: translateX(-100%); }
    #map-container #map-controller .full-submission.ng-leave.ng-leave-active {
      -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
      transform: translateX(100%); }
    #map-container #map-controller .animate-switch.ng-enter {
      -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
      transform: translateX(100%); }
    #map-container #map-controller .submissions-container.ng-enter {
      -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
      transform: translateX(-100%); }
    #map-container #map-controller .full-submission.ng-enter {
      -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
      transform: translateX(100%); }
    #map-container #map-controller .animate-switch.ng-leave,
    #map-container #map-controller .animate-switch.ng-enter.ng-enter-active {
      -webkit-transform: translateX(0%);
      -ms-transform: translateX(0%);
      transform: translateX(0%); }
  #map-container #map {
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1; }
    #map-container #map .mapbox-logo {
      display: none; }
    #map-container #map .leaflet-overlay-pane g path {
      fill: #0774CB;
      stroke-width: 0;
      fill-opacity: .05;
      stroke: #0774CB;
      transition: 0.5s all; }
      #map-container #map .leaflet-overlay-pane g path:hover {
        fill-opacity: .1; }
    #map-container #map .leaflet-left {
      left: 480px; }
    #map-container #map .leaflet-popup .leaflet-popup-close-button {
      display: none; }
    #map-container #map .leaflet-popup .leaflet-popup-content-wrapper, #map-container #map .leaflet-popup .map-legends, #map-container #map .leaflet-popup .map-tooltip {
      color: #fefefe;
      background: #2C2C2C; }
      #map-container #map .leaflet-popup .leaflet-popup-content-wrapper .leaflet-popup-content, #map-container #map .leaflet-popup .map-legends .leaflet-popup-content, #map-container #map .leaflet-popup .map-tooltip .leaflet-popup-content {
        text-transform: uppercase;
        padding: .25rem .5rem;
        font-size: .9rem;
        text-align: center;
        padding: 0;
        min-width: 300px; }
        #map-container #map .leaflet-popup .leaflet-popup-content-wrapper .leaflet-popup-content img, #map-container #map .leaflet-popup .map-legends .leaflet-popup-content img, #map-container #map .leaflet-popup .map-tooltip .leaflet-popup-content img {
          width: 300px; }
        #map-container #map .leaflet-popup .leaflet-popup-content-wrapper .leaflet-popup-content .submission-author, #map-container #map .leaflet-popup .map-legends .leaflet-popup-content .submission-author, #map-container #map .leaflet-popup .map-tooltip .leaflet-popup-content .submission-author {
          position: absolute;
          left: 1px;
          right: 1px;
          bottom: 20px;
          background: rgba(0, 0, 0, 0.5);
          padding: .15rem .25rem; }
          #map-container #map .leaflet-popup .leaflet-popup-content-wrapper .leaflet-popup-content .submission-author.summit, #map-container #map .leaflet-popup .map-legends .leaflet-popup-content .submission-author.summit, #map-container #map .leaflet-popup .map-tooltip .leaflet-popup-content .submission-author.summit {
            padding-top: .5rem;
            padding-bottom: .5rem; }
            #map-container #map .leaflet-popup .leaflet-popup-content-wrapper .leaflet-popup-content .submission-author.summit h6, #map-container #map .leaflet-popup .map-legends .leaflet-popup-content .submission-author.summit h6, #map-container #map .leaflet-popup .map-tooltip .leaflet-popup-content .submission-author.summit h6 {
              margin-bottom: 0;
              font-size: 1.25rem; }
    #map-container #map .leaflet-popup .leaflet-popup-tip-container .leaflet-popup-tip {
      border-top-color: #2C2C2C; }
    #map-container #map .map-marker.active {
      z-index: 1000 !important; }
    #map-container #map .map-marker.summit {
      z-index: 900 !important; }
    #map-container #map .map-marker .summit-marker {
      width: 32px;
      height: 32px;
      background-image: url("../img/warsaw-summit-logo.svg");
      background-size: 32px;
      background-repeat: no-repeat;
      background-position: center center;
      -webkit-transform: translateX(-10px);
          -ms-transform: translateX(-10px);
              transform: translateX(-10px);
      z-index: 900; }
    #map-container #map .map-marker .marker {
      position: relative; }
      #map-container #map .map-marker .marker .dot,
      #map-container #map .map-marker .marker .pulsar {
        height: 30px;
        width: 30px;
        background: #464646;
        border-radius: 50%;
        position: relative;
        z-index: 2;
        line-height: 30px;
        font-size: 15px;
        vertical-align: middle;
        text-align: center;
        color: #fefefe;
        -webkit-transform: scale(0.5);
        -ms-transform: scale(0.5);
        transform: scale(0.5);
        transition: 0.5s all; }
        #map-container #map .map-marker .marker .dot i,
        #map-container #map .map-marker .marker .pulsar i {
          position: relative;
          top: 1px; }
      #map-container #map .map-marker .marker .dot {
        box-shadow: 0 0 6px #fefefe; }
      #map-container #map .map-marker .marker .pulsar {
        position: absolute;
        background-color: #0e90f7;
        opacity: .7;
        transition: 1s all;
        box-shadow: 0 0 0 3px #0774CB; }
      #map-container #map .map-marker .marker.winner {
        -webkit-transform: scale(1.5) translateX(-75%);
        -ms-transform: scale(1.5) translateX(-75%);
        transform: scale(1.5) translateX(-75%); }
        #map-container #map .map-marker .marker.winner .dot {
          background-color: #0774CB; }
      #map-container #map .map-marker .marker:hover .pulsar, #map-container #map .map-marker .marker.active .pulsar {
        -webkit-animation: pulse 1s ease infinite;
        animation: pulse 1s ease infinite; }
      #map-container #map .map-marker .marker:hover .dot, #map-container #map .map-marker .marker.active .dot {
        background-color: #0774CB;
        -webkit-animation: jump 0.3333s ease 1 forwards;
        animation: jump 0.3333s ease 1 forwards; }

@-webkit-keyframes pulse {
  from {
    opacity: 1;
    -webkit-transform: scale(0.5); }
  to {
    opacity: 0;
    -webkit-transform: scale(1); } }

@keyframes pulse {
  from {
    opacity: 1;
    -webkit-transform: scale(0.5);
    -ms-transform: scale(0.5);
    transform: scale(0.5); }
  to {
    opacity: 0;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1); } }

@-webkit-keyframes jump {
  0% {
    -webkit-transform: scale(0.5); }
  66.66% {
    -webkit-transform: scale(1); }
  100% {
    -webkit-transform: scale(0.75); } }

@keyframes jump {
  0% {
    -webkit-transform: scale(0.5);
    -ms-transform: scale(0.5);
    transform: scale(0.5); }
  66.66% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1); }
  100% {
    -webkit-transform: scale(0.75);
    -ms-transform: scale(0.75);
    transform: scale(0.75); } }

#homepage-map {
  position: relative; }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    #homepage-map {
      display: none; } }
  #homepage-map .intro-container {
    width: 100%;
    -webkit-align-self: center;
        -ms-flex-item-align: center;
            align-self: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding-left: 25%;
    padding-right: 25%;
    text-align: center;
    margin-bottom: 10rem; }
    #homepage-map .intro-container .their-stories {
      margin-bottom: 1rem; }
    #homepage-map .intro-container .get-started {
      margin-top: 1rem; }
  #homepage-map .map-intro {
    position: absolute;
    z-index: 1000;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    background: #fefefe;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    overflow: hidden; }
    #homepage-map .map-intro .map-image,
    #homepage-map .map-intro .vignette {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%; }
    #homepage-map .map-intro .map-image {
      background-image: url("../img/backgrounds/worldmap.png");
      background-size: cover; }
    #homepage-map .map-intro .vignette {
      box-shadow: inset 0 0 200px #0a0a0a; }
  #homepage-map .map-titles {
    position: absolute;
    top: 1rem;
    left: 1rem;
    font-size: .75rem; }
    #homepage-map .map-titles > div {
      color: #e6e6e6;
      background: #2C2C2C;
      padding: .25rem 1rem;
      margin-bottom: .25rem;
      display: inline-block; }
    #homepage-map .map-titles .map-title {
      color: #fefefe;
      font-weight: bold;
      margin-bottom: .5rem; }
  #homepage-map .cycle-control {
    position: absolute;
    bottom: 1rem;
    right: 1rem; }
    #homepage-map .cycle-control a {
      font-size: 1.5rem;
      background-color: #fefefe;
      height: 3rem;
      width: 3rem;
      text-align: center;
      line-height: 3rem;
      vertical-align: middle;
      border-radius: 50%;
      display: block;
      border: 2px solid #0774CB; }
      #homepage-map .cycle-control a:before {
        position: relative;
        top: 3px; }
      #homepage-map .cycle-control a.icon-play-fill:before {
        left: 4px; }
      #homepage-map .cycle-control a.icon-pause-fill:before {
        left: 2px; }
  #homepage-map .article-previews {
    position: absolute;
    bottom: 1rem;
    left: 1rem;
    width: 300px; }
    #homepage-map .article-previews .article-preview {
      width: 300px;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
      #homepage-map .article-previews .article-preview .article-image {
        margin-right: 1rem; }
      #homepage-map .article-previews .article-preview .article-title {
        -webkit-flex: 1;
            -ms-flex: 1;
                flex: 1;
        font-size: 14px;
        line-height: 16px; }
        #homepage-map .article-previews .article-preview .article-title a {
          font-size: 10px;
          font-weight: bold;
          text-transform: uppercase;
          margin-top: 6px; }

@-webkit-keyframes mapZoomOut {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.25) translateY(10%); }
  10% {
    opacity: .25; }
  100% {
    -webkit-transform: scale(1); } }

@keyframes mapZoomOut {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.25) translateY(10%);
    -ms-transform: scale(1.25) translateY(10%);
    transform: scale(1.25) translateY(10%); }
  10% {
    opacity: .25; }
  100% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1); } }

ul.social-media-links {
  list-style: none;
  margin: 0;
  padding: 0; }
  ul.social-media-links.boxes li {
    float: left; }
    ul.social-media-links.boxes li a {
      display: block;
      width: 3rem;
      height: 3rem;
      font-size: 1rem;
      line-height: 3rem;
      text-align: center;
      vertical-align: middle;
      border: 1px solid #2C2C2C;
      background: #131313;
      color: #e6e6e6;
      transition: 0.5s all; }
      ul.social-media-links.boxes li a i {
        position: relative;
        top: 1px;
        transition: 0.5s all; }
      ul.social-media-links.boxes li a:hover.facebook, ul.social-media-links.boxes li a:active.facebook, ul.social-media-links.boxes li a:focus.facebook {
        background-color: #45619D; }
      ul.social-media-links.boxes li a:hover.twitter, ul.social-media-links.boxes li a:active.twitter, ul.social-media-links.boxes li a:focus.twitter {
        background-color: #3B94D9; }
      ul.social-media-links.boxes li a:hover.linkedin, ul.social-media-links.boxes li a:active.linkedin, ul.social-media-links.boxes li a:focus.linkedin {
        background-color: #0077b5; }
      ul.social-media-links.boxes li a:hover.periscope, ul.social-media-links.boxes li a:active.periscope, ul.social-media-links.boxes li a:focus.periscope {
        background-color: #40a4c4; }
      ul.social-media-links.boxes li a:hover.instagram, ul.social-media-links.boxes li a:active.instagram, ul.social-media-links.boxes li a:focus.instagram {
        background-color: #3f729b; }
      ul.social-media-links.boxes li a:hover.youtube, ul.social-media-links.boxes li a:active.youtube, ul.social-media-links.boxes li a:focus.youtube {
        background-color: #cd201f; }
      ul.social-media-links.boxes li a:hover i, ul.social-media-links.boxes li a:active i, ul.social-media-links.boxes li a:focus i {
        -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
        transform: scale(1.1); }

.icon:not(i):before {
  margin-right: .25rem;
  position: relative;
  top: .1em; }

.icon-publication:before {
  position: relative;
  top: 3px; }

.live-dot {
  position: relative; }
  .live-dot:after {
    content: '';
    background-color: #E94822;
    border-radius: 50%;
    height: .5em;
    width: .5em;
    display: inline-block;
    margin-left: .25em;
    position: relative;
    bottom: 1px; }

header#main {
  border-bottom: 1px solid #CECECE;
  position: relative;
  z-index: 1500; }
  header#main .logo {
    float: left;
    position: relative; }
    header#main .logo #futurenato-logo {
      height: 75px; }
      @media screen and (min-width: 64em) and (max-width: 74.9375em) {
        header#main .logo #futurenato-logo {
          height: 50px; } }
      @media screen and (min-width: 40em) and (max-width: 63.9375em) {
        header#main .logo #futurenato-logo {
          height: 35px;
          width: auto;
          -webkit-transform: scale(2) translateX(25%) translateY(1px);
          -ms-transform: scale(2) translateX(25%) translateY(1px);
          transform: scale(2) translateX(25%) translateY(1px); } }
      @media screen and (min-width: 0em) and (max-width: 39.9375em) {
        header#main .logo #futurenato-logo {
          height: 35px;
          width: auto; } }
    header#main .logo .project-of {
      position: absolute;
      bottom: -.5rem;
      right: 4%;
      font-size: .75rem; }
      @media screen and (min-width: 64em) and (max-width: 74.9375em) {
        header#main .logo .project-of {
          bottom: -.8rem; } }
      @media screen and (min-width: 40em) and (max-width: 63.9375em) {
        header#main .logo .project-of {
          display: none; } }
      @media screen and (min-width: 0em) and (max-width: 39.9375em) {
        header#main .logo .project-of {
          display: none; } }
  header#main #header-menu-container #header-menu {
    display: none; }
    @media screen and (min-width: 64em) {
      header#main #header-menu-container #header-menu {
        display: block; } }
  header#main .top-bar a {
    color: #0774CB;
    text-transform: uppercase; }
  header#main .top-bar-right {
    position: relative;
    overflow: hidden; }
    @media screen and (min-width: 0em) and (max-width: 39.9375em) {
      header#main .top-bar-right {
        float: right; } }
  header#main .top-bar-right,
  header#main .top-bar-left {
    transition: 0.5s all;
    position: relative;
    z-index: 10;
    width: auto; }
    @media screen and (min-width: 0em) and (max-width: 39.9375em) {
      header#main .top-bar-right,
      header#main .top-bar-left {
        width: auto; } }
  header#main .top-bar-right .menu,
  header#main .top-bar-left .menu {
    transition: 0.5s all; }
  header#main ul.menu {
    float: left; }
    header#main ul.menu li {
      height: 75px;
      position: relative; }
      @media screen and (min-width: 64em) and (max-width: 74.9375em) {
        header#main ul.menu li {
          height: 50px; } }
      @media screen and (min-width: 40em) and (max-width: 63.9375em) {
        header#main ul.menu li {
          height: 35px; } }
      @media screen and (min-width: 40em) and (max-width: 63.9375em) {
        header#main ul.menu li {
          height: 35px; } }
      @media screen and (min-width: 0em) and (max-width: 39.9375em) {
        header#main ul.menu li {
          height: 35px; } }
      header#main ul.menu li.menu-text {
        padding: 0; }
    header#main ul.menu a {
      color: #0a0a0a;
      padding-left: 2em;
      padding-right: 2em;
      font-weight: bold;
      vertical-align: middle;
      position: relative; }
      @media screen and (min-width: 64em) and (max-width: 74.9375em) {
        header#main ul.menu a {
          padding-left: 1em;
          padding-right: 1em; } }
      header#main ul.menu a.menu-open {
        padding-top: 0;
        padding-bottom: 0;
        padding-right: 0;
        padding-left: 0; }
        @media screen and (min-width: 0em) and (max-width: 39.9375em) {
          header#main ul.menu a.menu-open {
            padding-right: 0;
            padding-left: 0; }
            header#main ul.menu a.menu-open span {
              display: none; } }
        header#main ul.menu a.menu-open i {
          background: #2C2C2C;
          color: #fefefe;
          display: inline-block;
          padding: .5rem;
          font-size: 1.5rem;
          width: 2.5rem;
          height: 2.5rem;
          margin-left: .5rem; }
        header#main ul.menu a.menu-open:hover i {
          background-color: #464646; }
  header#main i.icon-search {
    transition: 0.5s all;
    position: relative;
    z-index: 2; }
  header#main .header-search-container {
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    height: 100%; }
    header#main .header-search-container .header-search {
      opacity: 0.00000001;
      width: 100%;
      margin-top: 1rem;
      transition: 0.5s all; }
      header#main .header-search-container .header-search input {
        width: 90%;
        margin-left: 10%;
        line-height: 75px;
        box-shadow: none;
        border: none;
        height: 75px;
        font-size: 40px;
        vertical-align: middle;
        font-family: Gotham; }
        @media screen and (min-width: 64em) and (max-width: 74.9375em) {
          header#main .header-search-container .header-search input {
            height: 50px;
            line-height: 50px; } }
  header#main.search-open .top-bar-right .menu {
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%); }
  header#main.search-open .top-bar-left {
    -webkit-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    transform: translateX(-100%); }
  header#main.search-open i.icon-search {
    -webkit-transform: translateX(1000%) scale(2);
    -ms-transform: translateX(1000%) scale(2);
    transform: translateX(1000%) scale(2);
    color: #CECECE; }
  header#main.search-open .header-search-container .header-search {
    opacity: 1; }
  header#main.search-open .twitter-typeahead {
    width: 100%; }
    header#main.search-open .twitter-typeahead .tt-menu {
      width: 100%;
      background: white;
      -webkit-transform: translateY(1px);
          -ms-transform: translateY(1px);
              transform: translateY(1px);
      box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.1); }
      header#main.search-open .twitter-typeahead .tt-menu .tt-suggestion,
      header#main.search-open .twitter-typeahead .tt-menu .loading-results,
      header#main.search-open .twitter-typeahead .tt-menu .no-results {
        width: 100%;
        font-size: 1rem;
        padding: .5rem .5rem .5rem 10%; }
      header#main.search-open .twitter-typeahead .tt-menu .tt-suggestion.type-people:before {
        font-family: "futurenato-icons" !important;
        font-style: normal !important;
        font-weight: normal !important;
        font-variant: normal !important;
        text-transform: none !important;
        speak: none;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-size: .75em;
        margin-right: .25em;
        content: "E"; }
      header#main.search-open .twitter-typeahead .tt-menu .tt-suggestion.type-articles:before {
        font-family: "futurenato-icons" !important;
        font-style: normal !important;
        font-weight: normal !important;
        font-variant: normal !important;
        text-transform: none !important;
        speak: none;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-size: .75em;
        margin-right: .25em;
        content: "l"; }
      header#main.search-open .twitter-typeahead .tt-menu .tt-suggestion.type-publications:before {
        font-family: "futurenato-icons" !important;
        font-style: normal !important;
        font-weight: normal !important;
        font-variant: normal !important;
        text-transform: none !important;
        speak: none;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-size: .75em;
        margin-right: .25em;
        content: "B"; }
      header#main.search-open .twitter-typeahead .tt-menu .tt-suggestion[class*="type-"]:before {
        font-size: 2em;
        top: .5rem;
        position: relative;
        float: left;
        margin-right: 1rem; }
      header#main.search-open .twitter-typeahead .tt-menu .tt-suggestion:hover {
        background: #e6e6e6;
        cursor: pointer; }
      header#main.search-open .twitter-typeahead .tt-menu .loading-results {
        vertical-align: middle;
        line-height: 31px; }
        header#main.search-open .twitter-typeahead .tt-menu .loading-results:before {
          content: '';
          background: #fefefe url("../img/ajax-loader.gif") no-repeat center center;
          height: 31px;
          width: 31px;
          margin-right: .5rem;
          display: inline-block;
          vertical-align: top; }

@media screen and (min-width: 40em) and (max-width: 63.9375em) {
  .home header#main {
    position: absolute;
    width: 100%;
    border-bottom: 0; }
    .home header#main > .top-bar {
      background: transparent; }
      .home header#main > .top-bar ul {
        background: transparent; }
        .home header#main > .top-bar ul a.menu-open {
          padding-right: 0;
          padding-left: 0; } }

@media screen and (min-width: 64em) and (max-width: 74.9375em) {
  .home header#main {
    position: absolute;
    width: 100%; } }

.section-breaker {
  padding: 4rem 0;
  text-align: center;
  background-attachment: fixed;
  box-shadow: inset 0 0 50px #e6e6e6; }
  .section-breaker > aside, .section-breaker div {
    max-width: 900px;
    margin-right: auto;
    margin-left: auto; }
  .section-breaker.worldmap {
    background-image: url(../img/backgrounds/worldmap.png); }

html.touch .section-breaker.worldmap {
  background-position: center bottom;
  background-size: contain; }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    html.touch .section-breaker.worldmap {
      background-size: cover; } }

footer#mainFooter {
  background: #2C2C2C;
  color: #fefefe;
  border-bottom: 0.5rem solid #0a0a0a;
  padding: 1.5rem 0; }
  footer#mainFooter .menu li a {
    color: #fefefe;
    font-weight: bold;
    text-transform: uppercase; }
  footer#mainFooter .widget {
    margin-bottom: 1rem; }
    footer#mainFooter .widget > h3 {
      color: #CECECE;
      border-bottom: 1px solid #e6e6e6;
      font-family: "Tungsten A", "Tungsten B", "Tungsten", Georgia;
      text-transform: uppercase;
      font-size: 1.5rem;
      padding-bottom: .5rem;
      margin-bottom: .5rem; }

body {
  background: #fefefe;
  -webkit-font-smoothing: antialiased; }

@media screen and (min-width: 40em) and (max-width: 63.9375em) {
  #homepage-map,
  #home-twitter-feed,
  #home-publications-container {
    display: none; } }

@media screen and (min-width: 0em) and (max-width: 39.9375em) {
  #homepage-map,
  #home-twitter-feed,
  #home-publications-container {
    display: none; } }

@media screen and (min-width: 64em) and (max-width: 74.9375em) {
  #home-twitter-feed {
    display: none; } }

@media screen and (min-width: 64em) and (max-width: 74.9375em) {
  #featured-posts {
    height: 100vh;
    padding-top: 83px; }
    #featured-posts #featured-hero {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      height: 100%;
      overflow: hidden; }
      #featured-posts #featured-hero > article {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex; }
        #featured-posts #featured-hero > article > .article-image {
          overflow: hidden; }
          #featured-posts #featured-hero > article > .article-image img {
            -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
            transform: translateX(-50%);
            max-width: none;
            position: relative;
            left: 50%; } }

#featured-posts > .columns {
  padding: 0; }

@media screen and (min-width: 64em) and (max-width: 74.9375em) {
  body[data-whatinput="touch"] #featured-posts {
    height: 97vh; } }

@media screen and (min-width: 40em) and (max-width: 63.9375em) {
  #featured-hero {
    padding-right: 0; } }

@media screen and (min-width: 0em) and (max-width: 39.9375em) {
  #featured-hero {
    padding-right: 0;
    padding-left: 0; } }

#featured-hero article {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: #2C2C2C; }
  @media screen and (min-width: 64em) {
    #featured-hero article {
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; } }
  @media screen and (min-width: 40em) and (max-width: 63.9375em) {
    #featured-hero article {
      height: 100vh; } }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    #featured-hero article {
      height: 100vh; } }
  #featured-hero article .article-header {
    -webkit-align-self: center;
        -ms-flex-item-align: center;
            align-self: center;
    color: #fefefe;
    width: 100%;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    padding: 2rem;
    overflow: hidden; }
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {
      #featured-hero article .article-header {
        padding: 1rem; } }
    @media screen and (min-width: 0em) and (max-width: 39.9375em) {
      #featured-hero article .article-header {
        padding: 1rem; } }
    #featured-hero article .article-header .article-meta,
    #featured-hero article .article-header .article-excerpt {
      padding-bottom: 1rem; }
      @media screen and (min-width: 0em) and (max-width: 39.9375em) {
        #featured-hero article .article-header .article-meta,
        #featured-hero article .article-header .article-excerpt {
          padding-bottom: 0.25rem; } }
    @media screen and (min-width: 0em) and (max-width: 39.9375em) {
      #featured-hero article .article-header .article-meta {
        font-size: 1rem; } }
    #featured-hero article .article-header .article-title {
      font-size: 2vw; }
      @media screen and (min-width: 40em) and (max-width: 63.9375em) {
        #featured-hero article .article-header .article-title {
          font-size: 3.5vw; } }
      @media screen and (min-width: 0em) and (max-width: 39.9375em) {
        #featured-hero article .article-header .article-title {
          font-size: 7vw; } }
      #featured-hero article .article-header .article-title a {
        color: #fefefe; }
        #featured-hero article .article-header .article-title a:hover {
          color: #0774CB; }
    #featured-hero article .article-header .article-category:before {
      left: 2rem; }
    @media screen and (min-width: 75em) {
      #featured-hero article .article-header {
        width: 33.333333%;
        -webkit-flex: 0 0 33.333333%;
            -ms-flex: 0 0 33.333333%;
                flex: 0 0 33.333333%;
        -webkit-order: 1;
            -ms-flex-order: 1;
                order: 1; } }
    #featured-hero article .article-header h2 {
      line-height: 1.2em; }
  #featured-hero article .article-image {
    width: 100%;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    overflow: hidden;
    position: relative; }
    #featured-hero article .article-image .button {
      position: absolute;
      bottom: .5rem;
      right: .5rem;
      font-family: "Tungsten A", "Tungsten B", "Tungsten", Georgia; }
    @media screen and (min-width: 75em) {
      #featured-hero article .article-image {
        width: 66.6666666%;
        -webkit-order: 2;
            -ms-flex-order: 2;
                order: 2;
        max-height: 500px; } }
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {
      #featured-hero article .article-image {
        -webkit-flex: 1;
            -ms-flex: 1;
                flex: 1; } }
    @media screen and (min-width: 0em) and (max-width: 39.9375em) {
      #featured-hero article .article-image {
        -webkit-flex: 1;
            -ms-flex: 1;
                flex: 1; } }
    #featured-hero article .article-image img {
      max-width: none;
      left: 50%;
      position: relative;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%); }
      @media screen and (min-width: 75em) {
        #featured-hero article .article-image img {
          -webkit-transform: translateX(-50%);
              -ms-transform: translateX(-50%);
                  transform: translateX(-50%); } }
      @media screen and (min-width: 0em) and (max-width: 39.9375em) {
        #featured-hero article .article-image img {
          max-width: 100%; } }

#featured-secondary .article-meta {
  margin-bottom: 1.5rem; }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    #featured-secondary .article-meta {
      margin-bottom: .25rem; } }

#featured-secondary h3 {
  font-size: 1.5vw;
  height: 4em;
  margin-top: 0; }
  @media screen and (min-width: 64em) and (max-width: 74.9375em) {
    #featured-secondary h3 {
      font-size: 2vw; } }
  @media screen and (min-width: 40em) and (max-width: 63.9375em) {
    #featured-secondary h3 {
      font-size: 2.5vw; } }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    #featured-secondary h3 {
      font-size: 5vw;
      height: auto; } }
  @media screen and (min-width: 75em) {
    #featured-secondary h3 {
      font-size: 1.25vw; } }

#featured-secondary:not(.owl-carousel) {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  overflow: hidden;
  max-width: 100%; }
  @media screen and (min-width: 64em) {
    #featured-secondary:not(.owl-carousel) article {
      max-width: 33.333333%;
      -webkit-flex: 0 0 33.333333%;
          -ms-flex: 0 0 33.333333%;
              flex: 0 0 33.333333%; } }
  @media screen and (min-width: 90em) {
    #featured-secondary:not(.owl-carousel) article {
      max-width: 25%;
      -webkit-flex: 0 0 25%;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%; } }
  @media screen and (min-width: 40em) and (max-width: 63.9375em) {
    #featured-secondary:not(.owl-carousel) article {
      max-width: 50%;
      -webkit-flex: 0 0 50%;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%; } }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    #featured-secondary:not(.owl-carousel) article {
      max-width: 100%;
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%; } }

#home-publications-container {
  margin-bottom: 1rem; }

@media screen and (min-width: 0em) and (max-width: 39.9375em) {
  #home-natosource-container {
    padding: 0; }
    #home-natosource-container .timeline-feed ul.article-feed {
      margin-left: .5rem; } }

@media screen and (min-width: 40em) {
  .row.no-pad > div:first-child {
    padding-left: 0; }
  .row.no-pad > div:last-child {
    padding-right: 0; } }

#home-natosource-container .timeline-feed {
  height: 100%;
  position: relative; }
  #home-natosource-container .timeline-feed:after {
    position: absolute;
    height: 4rem;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: transparent;
    background-image: linear-gradient(to top,white 0%, rgba(255, 255, 255, 0.5) 75%, rgba(255, 255, 255, 0) 100%);
    content: '';
    z-index: 100; }
  #home-natosource-container .timeline-feed .article-feed {
    padding-bottom: 4rem; }

.single > .row {
  padding: 0; }
  .single > .row > .column,
  .single > .row > .columns {
    padding: 0; }

article {
  max-width: 100vw; }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    article p {
      font-size: 5vw; } }
  article .article-title {
    margin-top: 1.5rem; }
  article .article-category {
    color: #E94822;
    position: relative; }
    article .article-category:before {
      position: absolute;
      content: '';
      height: 1px;
      background: #E94822;
      top: 50%;
      width: 100%; }
    article .article-category .category-title {
      text-transform: uppercase;
      display: inline-block;
      padding: .25rem .5rem;
      border: 1px solid #E94822;
      background: #2C2C2C;
      position: relative;
      z-index: 2;
      color: #E94822; }
      article .article-category .category-title:hover {
        background-color: #E94822;
        color: #fefefe; }
  article a {
    color: #E94822; }
  article.card {
    padding: 1rem; }
    article.card .card-inner {
      border: 1px solid #CECECE;
      overflow: hidden; }
    article.card .article-image img {
      transition: 1s; }
    article.card .article-header {
      padding: 1rem;
      position: relative;
      background: #fefefe;
      transition: 1s;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; }
      article.card .article-header .article-meta {
        -webkit-order: 0;
            -ms-flex-order: 0;
                order: 0; }
        @media screen and (min-width: 0em) and (max-width: 39.9375em) {
          article.card .article-header .article-meta {
            font-size: .8rem;
            margin-bottom: .5rem; } }
      article.card .article-header .article-excerpt {
        -webkit-order: 2;
            -ms-flex-order: 2;
                order: 2; }
      article.card .article-header .article-title {
        -webkit-order: 1;
            -ms-flex-order: 1;
                order: 1; }
        article.card .article-header .article-title a {
          color: #0a0a0a; }
          article.card .article-header .article-title a:hover {
            color: #E94822; }
      article.card .article-header:before {
        position: absolute;
        content: '';
        height: 8px;
        top: -4px;
        left: 33%;
        right: 33%;
        background-color: #E94822;
        transition: 1s; }
  article.related-article {
    position: relative;
    height: 300px;
    background-size: cover;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    transition: 0.5s all;
    overflow: hidden; }
    article.related-article header {
      padding: 1.5rem;
      -webkit-align-self: flex-end;
          -ms-flex-item-align: end;
              align-self: flex-end;
      width: 100%;
      color: #fefefe;
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      background: rgba(0, 0, 0, 0.75);
      transition: 0.5s all; }
      article.related-article header .article-header {
        -webkit-align-self: flex-end;
            -ms-flex-item-align: end;
                align-self: flex-end;
        -webkit-flex: 1;
            -ms-flex: 1;
                flex: 1;
        transition: 0.5s all; }
      article.related-article header .article-title {
        font-size: 1rem;
        text-align: right; }
        @media screen and (min-width: 0em) and (max-width: 39.9375em) {
          article.related-article header .article-title {
            font-size: 5vw; } }
      article.related-article header .article-meta {
        text-align: right; }
      article.related-article header .article-category {
        position: absolute;
        width: 100%;
        top: 1rem; }
        article.related-article header .article-category:before {
          left: 2rem; }
    article.related-article:hover header {
      background: rgba(0, 0, 0, 0.5); }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    article.single header, article.archive header, article.page header {
      width: 100%;
      padding: 1rem; } }
  article.single header h1, article.archive header h1, article.page header h1 {
    font-size: 50px;
    font-weight: bold; }
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {
      article.single header h1, article.archive header h1, article.page header h1 {
        font-size: 3rem; } }
    @media screen and (min-width: 0em) and (max-width: 39.9375em) {
      article.single header h1, article.archive header h1, article.page header h1 {
        font-size: 5vw; } }
  article.single header .category-title, article.archive header .category-title, article.page header .category-title {
    background: #fefefe; }
    article.single header .category-title:hover, article.archive header .category-title:hover, article.page header .category-title:hover {
      background: #E94822; }
  article.single header .article-meta, article.archive header .article-meta, article.page header .article-meta {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 1rem;
    font-size: 1.25rem; }
    article.single header .article-meta .article-category, article.archive header .article-meta .article-category, article.page header .article-meta .article-category {
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1; }
      @media screen and (min-width: 0em) and (max-width: 39.9375em) {
        article.single header .article-meta .article-category, article.archive header .article-meta .article-category, article.page header .article-meta .article-category {
          width: auto;
          -webkit-flex: 0;
              -ms-flex: 0;
                  flex: 0; } }
    article.single header .article-meta .article-author, article.archive header .article-meta .article-author, article.page header .article-meta .article-author {
      padding: 0 1rem; }
    article.single header .article-meta .article-time, article.archive header .article-meta .article-time, article.page header .article-meta .article-time {
      position: relative;
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1; }
      article.single header .article-meta .article-time:before, article.archive header .article-meta .article-time:before, article.page header .article-meta .article-time:before {
        content: '';
        height: 1px;
        width: 100%;
        background: #2C2C2C;
        position: absolute;
        top: 50%; }
      article.single header .article-meta .article-time .time,
      article.single header .article-meta .article-time .date, article.archive header .article-meta .article-time .time,
      article.archive header .article-meta .article-time .date, article.page header .article-meta .article-time .time,
      article.page header .article-meta .article-time .date {
        display: inline-block;
        background: #fefefe;
        position: relative; }
      article.single header .article-meta .article-time .time, article.archive header .article-meta .article-time .time, article.page header .article-meta .article-time .time {
        padding-right: 1rem; }
        article.single header .article-meta .article-time .time:before, article.archive header .article-meta .article-time .time:before, article.page header .article-meta .article-time .time:before {
          font-family: "futurenato-icons" !important;
          font-style: normal !important;
          font-weight: normal !important;
          font-variant: normal !important;
          text-transform: none !important;
          speak: none;
          line-height: 1;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale;
          font-size: .75em;
          margin-right: .25em;
          content: "d"; }
        @media screen and (min-width: 0em) and (max-width: 39.9375em) {
          article.single header .article-meta .article-time .time, article.archive header .article-meta .article-time .time, article.page header .article-meta .article-time .time {
            display: none; } }
      article.single header .article-meta .article-time .date, article.archive header .article-meta .article-time .date, article.page header .article-meta .article-time .date {
        padding-left: 1rem;
        float: right; }
        article.single header .article-meta .article-time .date:before, article.archive header .article-meta .article-time .date:before, article.page header .article-meta .article-time .date:before {
          font-family: "futurenato-icons" !important;
          font-style: normal !important;
          font-weight: normal !important;
          font-variant: normal !important;
          text-transform: none !important;
          speak: none;
          line-height: 1;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale;
          font-size: .75em;
          margin-right: .25em;
          content: "t"; }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    article.single header, article.archive header, article.page header {
      padding-left: 1rem;
      padding-right: 1rem; } }
  @media screen and (min-width: 40em) and (max-width: 63.9375em) {
    article.single header .article-meta, article.archive header .article-meta, article.page header .article-meta {
      clear: both; } }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    article.single header .article-meta, article.archive header .article-meta, article.page header .article-meta {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    article.single header .article-meta .article-category, article.archive header .article-meta .article-category, article.page header .article-meta .article-category {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      width: 100%;
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2; } }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    article.single header .article-meta .article-category:before, article.archive header .article-meta .article-category:before, article.page header .article-meta .article-category:before {
      left: 1rem; } }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    article.single header .article-meta .article-author, article.archive header .article-meta .article-author, article.page header .article-meta .article-author {
      padding: 0;
      -webkit-order: 0;
          -ms-flex-order: 0;
              order: 0;
      margin-bottom: .25rem;
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      width: 100%; } }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    article.single header .article-meta .article-time, article.archive header .article-meta .article-time, article.page header .article-meta .article-time {
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1;
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      width: 100%; } }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    article.single header .article-meta .article-time .date, article.archive header .article-meta .article-time .date, article.page header .article-meta .article-time .date {
      float: none;
      padding: 0;
      margin-bottom: .5rem; } }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    article.single header .article-meta .article-time:before, article.archive header .article-meta .article-time:before, article.page header .article-meta .article-time:before {
      display: none; } }
  article.single footer, article.archive footer, article.page footer {
    width: 100%;
    padding: 1rem; }
    @media screen and (min-width: 64em) {
      article.single footer, article.archive footer, article.page footer {
        max-width: 900px;
        margin-left: auto;
        margin-right: auto;
        padding: 0; } }
    article.single footer .article-tags, article.archive footer .article-tags, article.page footer .article-tags {
      margin-top: 1rem;
      margin-bottom: 1rem; }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    article.single .article-excerpt, article.archive .article-excerpt, article.page .article-excerpt {
      padding-left: 1rem;
      padding-right: 1rem; } }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    article.single .article-content, article.archive .article-content, article.page .article-content {
      padding-left: 1rem;
      padding-right: 1rem; } }
  article.single .article-content iframe, article.archive .article-content iframe, article.page .article-content iframe {
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 2rem;
    margin-top: 1rem;
    display: block;
    max-width: 100%; }
  article.single .article-content .wp-caption, article.archive .article-content .wp-caption, article.page .article-content .wp-caption {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1rem;
    max-width: 100%; }
    article.single .article-content .wp-caption p, article.archive .article-content .wp-caption p, article.page .article-content .wp-caption p {
      font-size: 1rem;
      padding: .5rem 1rem 0;
      font-style: italic; }
  article.archive h2 a {
    color: #0a0a0a; }
  article.archive .featured-image {
    max-width: 25%;
    padding-right: 1rem;
    padding-bottom: 1rem;
    float: left; }
    @media screen and (min-width: 0em) and (max-width: 39.9375em) {
      article.archive .featured-image {
        float: none;
        max-width: none;
        padding-right: 0;
        width: 100%; }
        article.archive .featured-image img {
          width: 100%; } }
  @media screen and (min-width: 40em) and (max-width: 63.9375em) {
    article.archive header .article-meta {
      clear: both; } }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    article.archive header .article-meta {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    article.archive header .article-meta .article-category {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      width: 100%;
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2; } }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    article.archive header .article-meta .article-category:before {
      left: 1rem; } }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    article.archive header .article-meta .article-author {
      padding: 0;
      -webkit-order: 0;
          -ms-flex-order: 0;
              order: 0;
      margin-bottom: .25rem;
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      width: 100%; } }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    article.archive header .article-meta .article-time {
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; } }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    article.archive header .article-meta .article-time .date {
      float: none;
      padding: 0;
      margin-bottom: .5rem; } }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    article.archive header .article-meta .article-time:before {
      display: none; } }
  article.archive .article-excerpt {
    clear: both; }
  article.single.article.with-image, article.single.competition_entry.with-image, article.single.page.with-image {
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 100%;
    padding-top: 50vh;
    position: relative; }
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {
      article.single.article.with-image, article.single.competition_entry.with-image, article.single.page.with-image {
        padding-top: 0; } }
    @media screen and (min-width: 0em) and (max-width: 39.9375em) {
      article.single.article.with-image, article.single.competition_entry.with-image, article.single.page.with-image {
        padding-top: 0; } }
    article.single.article.with-image > .wp-post-image, article.single.competition_entry.with-image > .wp-post-image, article.single.page.with-image > .wp-post-image {
      position: absolute;
      width: 100%;
      left: 0;
      top: 0; }
      @media screen and (min-width: 40em) and (max-width: 63.9375em) {
        article.single.article.with-image > .wp-post-image, article.single.competition_entry.with-image > .wp-post-image, article.single.page.with-image > .wp-post-image {
          position: relative; } }
      @media screen and (min-width: 0em) and (max-width: 39.9375em) {
        article.single.article.with-image > .wp-post-image, article.single.competition_entry.with-image > .wp-post-image, article.single.page.with-image > .wp-post-image {
          position: relative; } }
  article.single.article > header,
  article.single.article .article-content,
  article.single.article footer, article.single.competition_entry > header,
  article.single.competition_entry .article-content,
  article.single.competition_entry footer, article.single.page > header,
  article.single.page .article-content,
  article.single.page footer {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    background: #fefefe;
    padding: 2rem;
    position: relative;
    z-index: 1; }
    @media screen and (max-width: 63.9375em) {
      article.single.article > header,
      article.single.article .article-content,
      article.single.article footer, article.single.competition_entry > header,
      article.single.competition_entry .article-content,
      article.single.competition_entry footer, article.single.page > header,
      article.single.page .article-content,
      article.single.page footer {
        width: 100%;
        padding: 1rem; } }
  article.single.article header, article.single.competition_entry header, article.single.page header {
    border-bottom: 1px dashed #CECECE; }
    article.single.article header h1, article.single.competition_entry header h1, article.single.page header h1 {
      margin-bottom: 2rem; }
      @media screen and (min-width: 0em) and (max-width: 39.9375em) {
        article.single.article header h1, article.single.competition_entry header h1, article.single.page header h1 {
          font-size: 5vw; } }
  article.single.publication {
    width: 100%; }
    article.single.publication.with-image {
      background-repeat: no-repeat;
      background-position: top center;
      background-size: 100%;
      padding-top: 30vh;
      position: relative; }
      @media screen and (min-width: 40em) and (max-width: 63.9375em) {
        article.single.publication.with-image {
          padding-top: 0; } }
      @media screen and (min-width: 0em) and (max-width: 39.9375em) {
        article.single.publication.with-image {
          padding-top: 0; } }
      article.single.publication.with-image > .wp-post-image {
        position: absolute;
        width: 100%;
        left: 0;
        top: 0; }
        @media screen and (min-width: 40em) and (max-width: 63.9375em) {
          article.single.publication.with-image > .wp-post-image {
            position: relative; } }
        @media screen and (min-width: 0em) and (max-width: 39.9375em) {
          article.single.publication.with-image > .wp-post-image {
            position: relative; } }
      article.single.publication.with-image header {
        padding: 2rem; }
        @media screen and (min-width: 0em) and (max-width: 39.9375em) {
          article.single.publication.with-image header {
            padding: 1rem;
            text-align: center; } }
    article.single.publication header,
    article.single.publication .article-content,
    article.single.publication .room-for-debate-responses,
    article.single.publication .article-contributors {
      margin-left: auto;
      margin-right: auto;
      max-width: 900px;
      background: #fefefe;
      position: relative;
      z-index: 2;
      padding: 2rem; }
      @media screen and (min-width: 40em) and (max-width: 63.9375em) {
        article.single.publication header,
        article.single.publication .article-content,
        article.single.publication .room-for-debate-responses,
        article.single.publication .article-contributors {
          width: 100%;
          padding: 1rem; } }
      @media screen and (min-width: 0em) and (max-width: 39.9375em) {
        article.single.publication header,
        article.single.publication .article-content,
        article.single.publication .room-for-debate-responses,
        article.single.publication .article-contributors {
          width: 100%;
          padding: 1rem; } }
    article.single.publication header .article-meta {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      position: relative; }
      @media screen and (min-width: 0em) and (max-width: 39.9375em) {
        article.single.publication header .article-meta {
          -webkit-flex-direction: column-reverse;
              -ms-flex-direction: column-reverse;
                  flex-direction: column-reverse; } }
      article.single.publication header .article-meta:before {
        height: 1px;
        width: 100%;
        content: '';
        position: absolute;
        top: 50%;
        background: #0a0a0a;
        z-index: 1; }
        @media screen and (min-width: 0em) and (max-width: 39.9375em) {
          article.single.publication header .article-meta:before {
            display: none; } }
      article.single.publication header .article-meta .button {
        margin-bottom: 0;
        position: relative;
        font-size: 1.25rem;
        line-height: 1.25rem; }
        article.single.publication header .article-meta .button i {
          margin-right: .25rem;
          font-size: 1.75rem;
          vertical-align: sub; }
        @media screen and (min-width: 0em) and (max-width: 39.9375em) {
          article.single.publication header .article-meta .button {
            margin-right: 0; } }
        article.single.publication header .article-meta .button:before {
          height: 1px;
          width: 10px;
          content: '';
          position: absolute;
          top: 50%;
          right: 0;
          background: #fefefe; }
          @media screen and (min-width: 0em) and (max-width: 39.9375em) {
            article.single.publication header .article-meta .button:before {
              display: none; } }
      article.single.publication header .article-meta > div {
        -webkit-flex: 1;
            -ms-flex: 1;
                flex: 1;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        position: relative;
        z-index: 2; }
      article.single.publication header .article-meta .article-date {
        text-align: right;
        -webkit-flex-direction: row-reverse;
            -ms-flex-direction: row-reverse;
                flex-direction: row-reverse; }
        article.single.publication header .article-meta .article-date .date {
          padding-left: 1rem;
          background-color: #fefefe;
          float: right; }
          article.single.publication header .article-meta .article-date .date:before {
            font-family: "futurenato-icons" !important;
            font-style: normal !important;
            font-weight: normal !important;
            font-variant: normal !important;
            text-transform: none !important;
            speak: none;
            line-height: 1;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            font-size: .75em;
            margin-right: .25em;
            content: "t"; }
          @media screen and (min-width: 0em) and (max-width: 39.9375em) {
            article.single.publication header .article-meta .article-date .date {
              float: none;
              padding-left: 0; } }
    article.single.publication .article-content {
      padding-top: 1rem;
      text-align: justify; }
      @media screen and (min-width: 75em) {
        article.single.publication .article-content {
          -webkit-columns: 2;
          -moz-columns: 2;
          columns: 2;
          -webkit-column-gap: 3rem;
          -moz-column-gap: 3rem;
          column-gap: 3rem; } }
  article.single .article-content {
    font-size: 21px;
    line-height: 1.5em; }

html.no-touch article.card .article-header .article-meta {
  -webkit-order: 0;
      -ms-flex-order: 0;
          order: 0; }

html.no-touch article.card .article-header .article-title {
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

html.no-touch article.card .article-header .article-excerpt {
  position: absolute;
  top: 100%;
  background-color: #fefefe;
  left: 0;
  right: 0;
  height: 100%;
  padding: 0 1rem 1rem; }

html.no-touch article.card:hover .article-image img {
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1); }

html.no-touch article.card:hover .article-header {
  -webkit-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%); }
  html.no-touch article.card:hover .article-header:before {
    left: 0;
    right: 0; }

html.no-touch .timeline-feed ul li a article .article-container .article-excerpt {
  position: absolute;
  top: 100%;
  width: 100%; }
  html.no-touch .timeline-feed ul li a article .article-container .article-excerpt p {
    white-space: nowrap;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis; }

html.no-touch .timeline-feed ul li:hover a article .article-container {
  -webkit-transform: translateY(-2.1rem);
  -ms-transform: translateY(-2.1rem);
  transform: translateY(-2.1rem); }

.timeline-feed {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column; }
  .timeline-feed header {
    padding: 1rem;
    border: 1px solid #CECECE; }
    .timeline-feed header h5 {
      margin: 0;
      position: relative; }
      .timeline-feed header h5 a.view-all {
        font-weight: normal;
        position: absolute;
        right: 0;
        -webkit-transform: scale(0.75);
        -ms-transform: scale(0.75);
        transform: scale(0.75); }
  .timeline-feed .article-feed-container {
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    overflow: auto; }
  .timeline-feed ul {
    list-style: none;
    margin-left: 2rem;
    padding-left: 2rem;
    border-left: 1px solid #CECECE; }
    .timeline-feed ul li {
      border-bottom: 1px solid #CECECE;
      padding: 0 .5rem;
      margin: .5rem 0;
      position: relative; }
      .timeline-feed ul li:before {
        position: absolute;
        content: '';
        top: 50%;
        left: -2.5rem;
        background: #fefefe;
        border: 1px solid #CECECE;
        width: 1rem;
        height: 1rem;
        z-index: 10;
        border-radius: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        transition: 1s; }
      .timeline-feed ul li:after {
        position: absolute;
        content: '';
        height: 1px;
        background-color: #CECECE;
        left: -1.5rem;
        top: 50%;
        width: 1rem; }
      .timeline-feed ul li a {
        color: #0a0a0a; }
        .timeline-feed ul li a article {
          padding: .5rem 0 0;
          margin-bottom: 1rem;
          overflow: hidden; }
          .timeline-feed ul li a article .article-container {
            position: relative;
            transition: 0.35s; }
            .timeline-feed ul li a article .article-container .article-title {
              margin-top: 0; }
              .timeline-feed ul li a article .article-container .article-title h3 {
                margin: 0;
                position: relative; }
                @media screen and (min-width: 64em) {
                  .timeline-feed ul li a article .article-container .article-title h3 {
                    font-size: 2vw; } }
            @media screen and (min-width: 64em) {
              .timeline-feed ul li a article .article-container .article-excerpt {
                font-size: 1vw; } }
      .timeline-feed ul li:hover:before {
        border-color: #0a0a0a;
        border-width: 5px; }
      .timeline-feed ul li:hover a article .article-container .article-title {
        color: #0774CB; }

ul.footer-related-articles {
  list-style: none;
  padding: 0;
  margin: 0; }

.article-contributors header {
  border-bottom: 1px solid #CECECE;
  margin-bottom: 1.5rem; }

.article-contributors ul.author-bios {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .article-contributors ul.author-bios li {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    min-width: 50%;
    margin-bottom: 1rem; }
    @media screen and (min-width: 0em) and (max-width: 39.9375em) {
      .article-contributors ul.author-bios li {
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        min-width: none;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        text-align: center; } }
    .article-contributors ul.author-bios li .author-photo {
      margin-right: 1rem; }
      @media screen and (min-width: 0em) and (max-width: 39.9375em) {
        .article-contributors ul.author-bios li .author-photo {
          margin-right: 0; } }
      .article-contributors ul.author-bios li .author-photo a {
        border-radius: 50%;
        box-shadow: 0 0 2px rgba(0, 0, 0, 0.25);
        border: 5px solid #fefefe;
        display: inline-block; }
        @media screen and (min-width: 0em) and (max-width: 39.9375em) {
          .article-contributors ul.author-bios li .author-photo a {
            margin-bottom: 1rem; } }
        .article-contributors ul.author-bios li .author-photo a a {
          display: inline-block; }
        .article-contributors ul.author-bios li .author-photo a img {
          border-radius: 50%;
          box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.5); }
        .article-contributors ul.author-bios li .author-photo a img {
          border-radius: 50%; }
    .article-contributors ul.author-bios li .author-info {
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1; }
      .article-contributors ul.author-bios li .author-info .author-posts {
        font-weight: bold; }

blockquote {
  border-left: none;
  border-top: 5px solid #0a0a0a;
  border-bottom: 5px solid #0a0a0a;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
  font-weight: bold; }
  blockquote:first-letter {
    font-size: 300%;
    float: left;
    margin-right: 1rem;
    margin-bottom: 0;
    line-height: 100%; }
  blockquote cite {
    font-weight: normal;
    padding-left: 35%;
    position: relative;
    margin-top: .5rem;
    font-family: "Abril Text", Georgia, serif;
    text-style: italic;
    font-size: 1rem;
    color: #2C2C2C; }
    blockquote cite:before {
      width: 33%;
      content: '';
      height: 1px;
      background: #2C2C2C;
      position: absolute;
      left: 0;
      top: 45%; }

.tags ul {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: left; }
  .tags ul li {
    display: inline-block; }
    .tags ul li a {
      display: inline-block;
      height: 2rem;
      line-height: 2rem;
      position: relative;
      font-size: 1rem;
      margin-left: 20px;
      padding: 0 10px 0 12px;
      background: #e6e6e6;
      color: #2C2C2C;
      border-radius: 4px;
      -webkit-transform-origin: left center;
      -ms-transform-origin: left center;
      transform-origin: left center;
      transition: 0.25s all;
      -webkit-filter: drop-shadow(1px 1px 1px #CECECE);
      filter: drop-shadow(1px 1px 1px #CECECE); }
      .tags ul li a:hover {
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg); }
      .tags ul li a:before {
        content: '';
        position: absolute;
        top: 0;
        left: -14px;
        border-color: transparent #e6e6e6 transparent transparent;
        border-style: solid;
        border-width: 1rem 1rem 1rem 0; }
      .tags ul li a:after {
        content: '';
        position: absolute;
        top: .75rem;
        left: -.25rem;
        height: .5rem;
        width: .5rem;
        border-radius: 50%;
        background: #fefefe;
        z-index: 2;
        box-shadow: inset 1px 1px 1px #CECECE; }

.nav-single {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  margin-bottom: 1rem;
  width: 100%; }
  .nav-single:last-child {
    margin-bottom: 4rem; }

.related-articles-container .owl-carousel .owl-controls {
  position: absolute;
  bottom: 0;
  width: 100%; }
  .related-articles-container .owl-carousel .owl-controls .owl-dots .owl-dot span {
    background-color: #eee; }

@media screen and (min-width: 0em) and (max-width: 39.9375em) {
  #main > .row > .column {
    padding: 0; } }

article.page .article-content {
  margin-top: 2rem;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto; }

article.single.bio {
  width: 100%;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto; }
  article.single.bio header {
    margin-top: 3rem;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    border-bottom: 1px dashed #CECECE;
    padding-bottom: 2rem;
    margin-bottom: 2rem; }
    article.single.bio header .bio-photo {
      margin-right: 3rem;
      border-radius: 50%;
      border: 7px solid #fefefe;
      box-shadow: 0px 0px 3px #CECECE;
      float: left; }
      article.single.bio header .bio-photo img {
        border-radius: 50%; }
    article.single.bio header .bio-summary {
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1; }
      article.single.bio header .bio-summary .bio-title {
        margin-bottom: 1.5rem;
        padding-left: 1rem;
        font-style: italic; }
        article.single.bio header .bio-summary .bio-title:before {
          position: relative;
          font-size: 1.5rem; }
      article.single.bio header .bio-summary .bio-meta {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row;
        position: relative;
        margin-bottom: 2rem;
        font-size: 1.25rem; }
        article.single.bio header .bio-summary .bio-meta:before {
          height: 1px;
          background: #2C2C2C;
          width: 100%;
          top: 50%;
          content: '';
          z-index: 1;
          position: absolute; }
        article.single.bio header .bio-summary .bio-meta > div {
          -webkit-flex: 1;
              -ms-flex: 1;
                  flex: 1;
          -webkit-flex-direction: row;
              -ms-flex-direction: row;
                  flex-direction: row;
          -webkit-align-items: center;
              -ms-flex-align: center;
                  align-items: center;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          z-index: 2; }
        article.single.bio header .bio-summary .bio-meta .bio-posts .bio-posts-count {
          border: 1px solid #2C2C2C;
          padding: .5rem 1rem;
          display: inline-block;
          background: #fefefe;
          position: relative; }
          article.single.bio header .bio-summary .bio-meta .bio-posts .bio-posts-count:after {
            position: absolute;
            content: '';
            height: 1px;
            background: #2C2C2C;
            top: 50%;
            right: 0;
            width: 10px; }
        article.single.bio header .bio-summary .bio-meta .bio-last-post {
          -webkit-flex-direction: row-reverse;
              -ms-flex-direction: row-reverse;
                  flex-direction: row-reverse; }
          article.single.bio header .bio-summary .bio-meta .bio-last-post span {
            background: #fefefe;
            padding-left: .5rem; }

.archive-bios {
  padding-top: 2rem; }
  .archive-bios .bios-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .archive-bios .bios-container .bio-container {
      max-width: 33.333333%;
      -webkit-flex: 0 0 33.333333%;
          -ms-flex: 0 0 33.333333%;
              flex: 0 0 33.333333%;
      padding: 1rem; }
      @media screen and (min-width: 75em) {
        .archive-bios .bios-container .bio-container {
          max-width: 25%;
          -webkit-flex: 0 0 25%;
              -ms-flex: 0 0 25%;
                  flex: 0 0 25%; } }
      @media screen and (min-width: 40em) and (max-width: 63.9375em) {
        .archive-bios .bios-container .bio-container {
          max-width: 50%;
          -webkit-flex: 0 0 50%;
              -ms-flex: 0 0 50%;
                  flex: 0 0 50%; } }
      @media screen and (min-width: 0em) and (max-width: 39.9375em) {
        .archive-bios .bios-container .bio-container {
          max-width: 100%;
          -webkit-flex: 0 0 100%;
              -ms-flex: 0 0 100%;
                  flex: 0 0 100%; } }
      .archive-bios .bios-container .bio-container .bio {
        border: 1px solid #CECECE;
        padding: 1rem;
        text-align: center;
        background: #fefefe;
        -webkit-filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0.3));
        filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0.3));
        transition: 0.33s all;
        position: relative; }
        .archive-bios .bios-container .bio-container .bio:hover {
          background: #fbfbfb;
          -webkit-filter: drop-shadow(0 3px 3px rgba(0, 0, 0, 0.3));
          filter: drop-shadow(0 3px 3px rgba(0, 0, 0, 0.3));
          -webkit-transform: translateY(-3px);
          -ms-transform: translateY(-3px);
          transform: translateY(-3px); }
        .archive-bios .bios-container .bio-container .bio .bio-photo {
          margin-bottom: 1rem; }
          .archive-bios .bios-container .bio-container .bio .bio-photo img {
            border-radius: 50%; }
        .archive-bios .bios-container .bio-container .bio h5 {
          margin-bottom: 0rem; }
        .archive-bios .bios-container .bio-container .bio .bio-articles {
          font-weight: bold;
          margin-bottom: 1rem; }
        .archive-bios .bios-container .bio-container .bio .bio-excerpt {
          margin-bottom: 2rem; }
        .archive-bios .bios-container .bio-container .bio .bio-contact {
          text-align: center; }
          @media screen and (min-width: 40em) {
            .archive-bios .bios-container .bio-container .bio .bio-contact {
              position: absolute;
              left: 0;
              bottom: 1rem;
              width: 100%; } }
          .archive-bios .bios-container .bio-container .bio .bio-contact ul {
            list-style: none;
            margin: 0;
            padding: 0; }
            .archive-bios .bios-container .bio-container .bio .bio-contact ul li {
              display: inline-block; }

.publications-widget {
  border: 1px solid #CECECE; }
  .publications-widget.no-box {
    border: none; }
    .publications-widget.no-box > ul > li {
      margin-bottom: 1rem; }
      .publications-widget.no-box > ul > li .publication-meta,
      .publications-widget.no-box > ul > li .publication-title {
        padding-left: 0;
        padding-right: 0; }
  .publications-widget header {
    border-bottom: 1px solid #CECECE;
    text-align: center;
    padding: 1rem; }
    .publications-widget header h5 {
      margin: 0; }
  .publications-widget ul {
    list-style: none;
    padding: 0;
    margin: 0; }
    .publications-widget ul li .publication-meta {
      padding: .5rem .5rem 0 .5rem; }
    .publications-widget ul li .publication-title {
      padding: .5rem;
      font-weight: bold;
      font-size: 1.75rem; }

a.pub-link {
  color: #0a0a0a; }
  a.pub-link span {
    color: #0774CB; }
  a.pub-link:hover {
    color: #0774CB; }

ul.publication-quick-facts {
  list-style: none;
  padding: 0;
  margin: 0;
  border-top: 1px solid #CECECE;
  border-bottom: 1px solid #CECECE;
  margin-top: 1rem;
  margin-bottom: 1rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start; }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    ul.publication-quick-facts {
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; } }
  @media screen and (min-width: 40em) and (max-width: 63.9375em) {
    ul.publication-quick-facts {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; } }
  @media screen and (min-width: 64em) and (max-width: 74.9375em) {
    ul.publication-quick-facts {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; } }
  ul.publication-quick-facts li {
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    text-align: center;
    position: relative;
    padding: .5rem; }
    @media screen and (min-width: 64em) and (max-width: 74.9375em) {
      ul.publication-quick-facts li {
        -webkit-flex: 0 0 33.3333333%;
            -ms-flex: 0 0 33.3333333%;
                flex: 0 0 33.3333333%; } }
    @media screen and (min-width: 40em) and (max-width: 63.9375em) {
      ul.publication-quick-facts li {
        -webkit-flex: 0 0 50%;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%; } }
    @media screen and (min-width: 0em) and (max-width: 39.9375em) {
      ul.publication-quick-facts li {
        width: 100%; } }
    ul.publication-quick-facts li .stat-icon i {
      font-size: 5rem; }
    ul.publication-quick-facts li .stat-icon img {
      height: 5rem;
      margin-bottom: 1rem; }
    ul.publication-quick-facts li .stat {
      font-weight: bold; }

#publications-container {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 2rem; }

.archive #archive-navigation-container > div > div {
  background: #e6e6e6; }

.archive #archive-navigation-container #archive-navigation {
  font-size: 12px; }

.archive #article-container {
  margin-top: 2rem; }
  @media screen and (min-width: 64em) {
    .archive #article-container {
      max-width: 900px;
      margin-left: auto;
      margin-right: auto; } }
  .archive #article-container article {
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px dashed #e6e6e6; }

.archive .pagination-container {
  text-align: center;
  margin-bottom: 2rem; }

.pagination li {
  font-size: 1.5rem; }
  .pagination li > a,
  .pagination li > button, .pagination li.current,
  .pagination li span {
    padding: .1875rem 1.3rem;
    display: inline-block; }
  .pagination li span.current {
    padding: .1875rem 1.3rem; }

.room-for-debate {
  background: #F5F5F5;
  padding: .5rem; }
  .room-for-debate ul.room-for-debate-responses {
    position: relative;
    padding-left: 50px;
    list-style: none; }
    .room-for-debate ul.room-for-debate-responses::before, .room-for-debate ul.room-for-debate-responses::after {
      content: ' ';
      display: table; }
    .room-for-debate ul.room-for-debate-responses::after {
      clear: both; }
    .room-for-debate ul.room-for-debate-responses:before {
      font-family: "futurenato-icons" !important;
      font-style: normal !important;
      font-weight: normal !important;
      font-variant: normal !important;
      text-transform: none !important;
      speak: none;
      line-height: 1;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-size: .75em;
      margin-right: .25em;
      content: "u";
      position: absolute;
      top: 10px;
      left: 10px;
      font-size: 1.5rem; }
    .room-for-debate ul.room-for-debate-responses li {
      float: left;
      margin-right: 1rem; }
      .room-for-debate ul.room-for-debate-responses li a {
        border-radius: 50%;
        display: inline-block; }
        .room-for-debate ul.room-for-debate-responses li a[data-tooltip] {
          cursor: pointer;
          border-bottom: none; }
        .room-for-debate ul.room-for-debate-responses li a img {
          border-radius: 50%;
          border: 3px solid #fefefe;
          box-shadow: 0 0 3px #CECECE; }

.room-for-debate-response {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 1rem;
  border-bottom: 1px dashed #CECECE;
  margin-bottom: 1rem; }
  .room-for-debate-response:last-child {
    border-bottom: 0; }
  @media screen and (min-width: 0em) and (max-width: 39.9375em) {
    .room-for-debate-response {
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .room-for-debate-response .responder {
    margin-right: 1rem;
    text-align: center;
    max-width: 160px; }
    @media screen and (min-width: 0em) and (max-width: 39.9375em) {
      .room-for-debate-response .responder {
        width: 100%;
        max-width: none;
        margin-right: 0; } }
    .room-for-debate-response .responder .responder-image {
      margin-bottom: 1rem;
      border-radius: 50%;
      box-shadow: 0 0 2px rgba(0, 0, 0, 0.25);
      border: 5px solid #fefefe;
      display: inline-block; }
      @media screen and (min-width: 0em) and (max-width: 39.9375em) {
        .room-for-debate-response .responder .responder-image {
          margin-bottom: 1rem; } }
      .room-for-debate-response .responder .responder-image a {
        display: inline-block; }
      .room-for-debate-response .responder .responder-image img {
        border-radius: 50%;
        box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.5); }
    .room-for-debate-response .responder .responder-name {
      margin-bottom: 0; }
    .room-for-debate-response .responder .responder-title {
      font-size: .9rem; }
    .room-for-debate-response .responder img {
      border-radius: 50%; }
  .room-for-debate-response .response {
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1; }
    .room-for-debate-response .response .response-container {
      position: relative;
      margin-left: 20px;
      padding: 1rem;
      background-color: #f3f3f3;
      border-radius: 1rem;
      margin-bottom: 1rem; }
      .room-for-debate-response .response .response-container .response-meta {
        color: #c1c1c1;
        margin-bottom: .5rem; }
      @media screen and (min-width: 0em) and (max-width: 39.9375em) {
        .room-for-debate-response .response .response-container {
          margin-top: 30px;
          margin-left: 0; } }
      .room-for-debate-response .response .response-container:before {
        content: '';
        display: block;
        width: 0;
        height: 0;
        border: inset 20px;
        border-color: transparent #f3f3f3 transparent transparent;
        border-right-style: solid;
        position: absolute;
        left: -40px;
        top: 55px; }
        @media screen and (min-width: 0em) and (max-width: 39.9375em) {
          .room-for-debate-response .response .response-container:before {
            content: '';
            display: block;
            width: 0;
            height: 0;
            border: inset 20px;
            border-color: transparent transparent #f3f3f3;
            border-bottom-style: solid;
            position: absolute;
            left: 50%;
            top: -40px;
            -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
            transform: translateX(-50%); } }
    .room-for-debate-response .response .response-actions {
      text-align: right; }

article.room-for-debate {
  background: #fefefe; }
  article.room-for-debate header .article-meta .article-author {
    padding-left: 0; }
  article.room-for-debate header .article-tags {
    margin-bottom: 2rem; }
  article.room-for-debate.single header,
  article.room-for-debate.single .article-content,
  article.room-for-debate.single footer {
    max-width: 900px;
    margin-left: auto;
    margin-right: auto; }
  article.room-for-debate.single header {
    margin-top: 1rem;
    padding-bottom: 2rem;
    margin-bottom: 2rem;
    border-bottom: 1px dashed #CECECE; }
    article.room-for-debate.single header .response-to {
      padding-top: 2rem;
      border-top: 1px dashed #CECECE;
      margin-top: 1rem; }
      article.room-for-debate.single header .response-to > article {
        margin-left: 3rem;
        position: relative; }
        article.room-for-debate.single header .response-to > article header {
          margin-bottom: 0;
          padding-bottom: 0;
          border-bottom: none; }
          article.room-for-debate.single header .response-to > article header h2 {
            font-size: 2rem; }
        article.room-for-debate.single header .response-to > article:before {
          font-family: "futurenato-icons" !important;
          font-style: normal !important;
          font-weight: normal !important;
          font-variant: normal !important;
          text-transform: none !important;
          speak: none;
          line-height: 1;
          -webkit-font-smoothing: antialiased;
          -moz-osx-font-smoothing: grayscale;
          font-size: .75em;
          margin-right: .25em;
          content: "u";
          position: absolute;
          left: -3rem;
          top: 0;
          font-size: 2rem; }

.page.sponsors .sponsors-container {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 2rem; }

ul.sponsors {
  list-style: none;
  margin: 0;
  padding: 0;
  margin-bottom: 1rem; }
  ul.sponsors.grid {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    ul.sponsors.grid li {
      -webkit-flex: 0 0 33.333333%;
          -ms-flex: 0 0 33.333333%;
              flex: 0 0 33.333333%;
      max-width: 33.333333%;
      padding: 1rem; }
      @media screen and (min-width: 75em) {
        ul.sponsors.grid li {
          -webkit-flex: 0 0 25%;
              -ms-flex: 0 0 25%;
                  flex: 0 0 25%;
          max-width: 25%; } }
      @media screen and (min-width: 40em) and (max-width: 63.9375em) {
        ul.sponsors.grid li {
          -webkit-flex: 0 0 50%;
              -ms-flex: 0 0 50%;
                  flex: 0 0 50%;
          max-width: 50%; } }
      @media screen and (min-width: 0em) and (max-width: 39.9375em) {
        ul.sponsors.grid li {
          -webkit-flex: 1;
              -ms-flex: 1;
                  flex: 1;
          max-width: none; } }
      ul.sponsors.grid li .sponsor {
        border: 1px solid #CECECE;
        padding: 1rem;
        text-align: center; }
        ul.sponsors.grid li .sponsor .sponsor-logo {
          margin-bottom: 1rem; }
        ul.sponsors.grid li .sponsor .sponsor-name {
          font-weight: bold; }

.sponsor-logos ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .sponsor-logos ul li {
    display: block;
    padding: .5rem;
    padding-top: 33.3333333%;
    -webkit-flex: 0 0 33.333333%;
        -ms-flex: 0 0 33.333333%;
            flex: 0 0 33.333333%;
    max-width: 33.333333%;
    position: relative; }
    @media screen and (min-width: 90em) {
      .sponsor-logos ul li {
        -webkit-flex: 0 0 25%;
            -ms-flex: 0 0 25%;
                flex: 0 0 25%;
        max-width: 25%;
        padding-top: 25%; } }
    .sponsor-logos ul li img {
      width: 95%;
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translateY(-50%) translateX(-50%);
          -ms-transform: translateY(-50%) translateX(-50%);
              transform: translateY(-50%) translateX(-50%); }

#sidebar-sponsors .owl-item .sponsor-image {
  padding-top: 66.66666666%;
  position: relative; }
  #sidebar-sponsors .owl-item .sponsor-image img {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    -webkit-transform: translateX(-50%) translateY(-50%);
        -ms-transform: translateX(-50%) translateY(-50%);
            transform: translateX(-50%) translateY(-50%); }

.not-found-container {
  min-height: 200px;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .not-found-container .not-found-inner {
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1; }

article.single.competition_entry.with-image {
  padding-top: 1rem; }
  article.single.competition_entry.with-image > .wp-post-image {
    position: relative;
    border: 10px solid #fefefe;
    box-shadow: 0 0 10px #CECECE;
    margin-left: auto;
    margin-right: auto;
    display: block;
    margin-bottom: 1rem; }
    @media screen and (min-width: 64em) {
      article.single.competition_entry.with-image > .wp-post-image {
        max-width: 75%; } }

article.single.competition_entry > header h1 {
  margin-bottom: 0; }

article.single.competition_entry > header .article-author {
  padding: 0;
  margin-bottom: 1rem; }

article.single.competition_entry > footer .article-contributors ul.author-bios li {
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1; }

.fn_category-military a:not(.button) {
  color: #495235; }
  .fn_category-military a:not(.button).pub-link span, .fn_category-military a:not(.button).pub-link:hover {
    color: #495235; }

.fn_category-military .article-header:before {
  background-color: #495235 !important; }

.fn_category-military .article-title a:hover {
  color: #495235 !important; }

.fn_category-military .article-category {
  color: #495235; }
  .fn_category-military .article-category .category-title {
    color: #495235;
    border-color: #495235; }
    .fn_category-military .article-category .category-title:hover {
      background-color: #495235; }
  .fn_category-military .article-category:before {
    background-color: #495235; }

.fn_category-military.related-article .article-category span {
  background-color: #495235;
  color: #fefefe; }

.fn_category-military .publication-title a {
  color: #0a0a0a; }
  .fn_category-military .publication-title a span {
    color: #495235; }
  .fn_category-military .publication-title a:hover {
    color: #495235; }

.fn_category-nato a:not(.button) {
  color: #0774CB; }
  .fn_category-nato a:not(.button).pub-link span, .fn_category-nato a:not(.button).pub-link:hover {
    color: #0774CB; }

.fn_category-nato .article-header:before {
  background-color: #0774CB !important; }

.fn_category-nato .article-title a:hover {
  color: #0774CB !important; }

.fn_category-nato .article-category {
  color: #0774CB; }
  .fn_category-nato .article-category .category-title {
    color: #0774CB;
    border-color: #0774CB; }
    .fn_category-nato .article-category .category-title:hover {
      background-color: #0774CB; }
  .fn_category-nato .article-category:before {
    background-color: #0774CB; }

.fn_category-nato.related-article .article-category span {
  background-color: #0774CB;
  color: #fefefe; }

.fn_category-nato .publication-title a {
  color: #0a0a0a; }
  .fn_category-nato .publication-title a span {
    color: #0774CB; }
  .fn_category-nato .publication-title a:hover {
    color: #0774CB; }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCJwYXJ0aWFscy9fZm9udHMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL19zZXR0aW5ncy5zY3NzIiwicGFydGlhbHMvX21hcGJveC5zY3NzIiwicGFydGlhbHMvX21hcGJveGpzLnNjc3MiLCJwYXJ0aWFscy9fYW5pbWF0ZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiX3NldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NvbHVtbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fdW5pdC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxvYXQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYmFkZ2Uuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC12aWRlby5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb3JiaXQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Byb2dyZXNzLWJhci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zdGlja3kuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RodW1ibmFpbC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b3AtYmFyLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdXRpbC9fa2V5ZnJhbWUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc2xpZGUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2ZhZGUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy9lZmZlY3RzL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL196b29tLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NwaW4uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy91dGlsL19hbmltYXRpb24uc2NzcyIsInBhcnRpYWxzL190YWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2FkZG9ucy9fcHJlZml4ZXIuc2NzcyIsInBhcnRpYWxzL19vd2xDYXJvdXNlbC5zY3NzIiwicGFydGlhbHMvX21peGlucy5zY3NzIiwiX3R5cG9ncmFwaHkuc2NzcyIsInBhcnRpYWxzL190d2l0dGVyRmVlZC5zY3NzIiwicGFydGlhbHMvX3NpZGViYXIuc2NzcyIsInBhcnRpYWxzL19tZW51LnNjc3MiLCJwYXJ0aWFscy9fbWFwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm91cmJvbi9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2NzczMvX2tleWZyYW1lcy5zY3NzIiwicGFydGlhbHMvX3NvY2lhbC5zY3NzIiwicGFydGlhbHMvX2ljb25zLnNjc3MiLCJwYXJ0aWFscy9faGVhZGVyLnNjc3MiLCJwYXJ0aWFscy9fZm9vdGVyLnNjc3MiLCJwYXJ0aWFscy9faG9tZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2JvdXJib24vYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9jc3MzL19saW5lYXItZ3JhZGllbnQuc2NzcyIsInBhcnRpYWxzL19hcnRpY2xlcy5zY3NzIiwicGFydGlhbHMvX3BhZ2Uuc2NzcyIsInBhcnRpYWxzL19wZW9wbGUuc2NzcyIsInBhcnRpYWxzL19wdWJsaWNhdGlvbnMuc2NzcyIsInBhcnRpYWxzL19hcmNoaXZlLnNjc3MiLCJwYXJ0aWFscy9fcm9vbUZvckRlYmF0ZS5zY3NzIiwicGFydGlhbHMvX3BhZ2VzLnNjc3MiLCJwYXJ0aWFscy9fc3BvbnNvcnMuc2NzcyIsInBhcnRpYWxzL180MDQuc2NzcyIsInBhcnRpYWxzL19jb21wZXRpdGlvbnMuc2NzcyIsInBhcnRpYWxzL19jb2xvcnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUNBakI7Ozs7O0dBS0c7QUNISCxr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aUJDdEZhLEVEdUZkOztBQUlEOzs7Ozs7Ozs7RUFNSSwyQkFBMkIsRUFDNUI7O0FBSUg7RUFDRSx5QkFBeUI7RUFDekIsc0JBQXNCO0VBQ3RCLHdCQUF3QjtFQUN4QixXQUFXO0VBQ1gsVUFBVTtFQUNWLGlCQzVHYTtFRDZHYixlQUFlLEVBQ2hCOztBRXRHRDtFQWhFRSxnQkRrQmU7RUNkZixzQkFBYztFQUFkLHFCQUFjO0VBQWQsY0FBYztFQUNkLDRCQUFvQjtNQUFwQix3QkFBb0I7VUFBcEIsb0JBQW9CO0VBR3RCLGtCQWRhO0VBZWIsbUJBZmEsRUE4RVo7RUFSRDs7SUF4REEsd0JBWG1CO0lBWW5CLHlCQVptQixFQTBFaEI7O0FBSUg7O0VBN0JBLHNCQXRCYztNQXNCZCxrQkF0QmM7VUFzQmQsY0F0QmM7RUF1QmQsd0JBSGlCO0VBSWpCLHlCQUppQixFQWlDaEI7O0FBV0s7RUFDRSwyQkN4RmM7TUR3RmQsdUJDeEZjO1VEd0ZkLG1CQ3hGYztFRHlGZCxvQkN6RmMsRUQwRmY7O0FBSEQ7RUFDRSw0QkN4RmM7TUR3RmQsd0JDeEZjO1VEd0ZkLG9CQ3hGYztFRHlGZCxxQkN6RmMsRUQwRmY7O0FBSEQ7RUFDRSxzQkN4RmM7TUR3RmQsa0JDeEZjO1VEd0ZkLGNDeEZjO0VEeUZkLGVDekZjLEVEMEZmOztBQUhEO0VBQ0UsNEJDeEZjO01Ed0ZkLHdCQ3hGYztVRHdGZCxvQkN4RmM7RUR5RmQscUJDekZjLEVEMEZmOztBQUhEO0VBQ0UsNEJDeEZjO01Ed0ZkLHdCQ3hGYztVRHdGZCxvQkN4RmM7RUR5RmQscUJDekZjLEVEMEZmOztBQUhEO0VBQ0Usc0JDeEZjO01Ed0ZkLGtCQ3hGYztVRHdGZCxjQ3hGYztFRHlGZCxlQ3pGYyxFRDBGZjs7QUFIRDtFQUNFLDRCQ3hGYztNRHdGZCx3QkN4RmM7VUR3RmQsb0JDeEZjO0VEeUZkLHFCQ3pGYyxFRDBGZjs7QUFIRDtFQUNFLDRCQ3hGYztNRHdGZCx3QkN4RmM7VUR3RmQsb0JDeEZjO0VEeUZkLHFCQ3pGYyxFRDBGZjs7QUFIRDtFQUNFLHNCQ3hGYztNRHdGZCxrQkN4RmM7VUR3RmQsY0N4RmM7RUR5RmQsZUN6RmMsRUQwRmY7O0FBSEQ7RUFDRSw0QkN4RmM7TUR3RmQsd0JDeEZjO1VEd0ZkLG9CQ3hGYztFRHlGZCxxQkN6RmMsRUQwRmY7O0FBSEQ7RUFDRSw0QkN4RmM7TUR3RmQsd0JDeEZjO1VEd0ZkLG9CQ3hGYztFRHlGZCxxQkN6RmMsRUQwRmY7O0FBSEQ7RUFDRSx1QkN4RmM7TUR3RmQsbUJDeEZjO1VEd0ZkLGVDeEZjO0VEeUZkLGdCQ3pGYyxFRDBGZjs7QUVlTDtFRmxCSTtJQUNFLDJCQ3hGYztRRHdGZCx1QkN4RmM7WUR3RmQsbUJDeEZjO0lEeUZkLG9CQ3pGYyxFRDBGZjtFQUhEO0lBQ0UsNEJDeEZjO1FEd0ZkLHdCQ3hGYztZRHdGZCxvQkN4RmM7SUR5RmQscUJDekZjLEVEMEZmO0VBSEQ7SUFDRSxzQkN4RmM7UUR3RmQsa0JDeEZjO1lEd0ZkLGNDeEZjO0lEeUZkLGVDekZjLEVEMEZmO0VBSEQ7SUFDRSw0QkN4RmM7UUR3RmQsd0JDeEZjO1lEd0ZkLG9CQ3hGYztJRHlGZCxxQkN6RmMsRUQwRmY7RUFIRDtJQUNFLDRCQ3hGYztRRHdGZCx3QkN4RmM7WUR3RmQsb0JDeEZjO0lEeUZkLHFCQ3pGYyxFRDBGZjtFQUhEO0lBQ0Usc0JDeEZjO1FEd0ZkLGtCQ3hGYztZRHdGZCxjQ3hGYztJRHlGZCxlQ3pGYyxFRDBGZjtFQUhEO0lBQ0UsNEJDeEZjO1FEd0ZkLHdCQ3hGYztZRHdGZCxvQkN4RmM7SUR5RmQscUJDekZjLEVEMEZmO0VBSEQ7SUFDRSw0QkN4RmM7UUR3RmQsd0JDeEZjO1lEd0ZkLG9CQ3hGYztJRHlGZCxxQkN6RmMsRUQwRmY7RUFIRDtJQUNFLHNCQ3hGYztRRHdGZCxrQkN4RmM7WUR3RmQsY0N4RmM7SUR5RmQsZUN6RmMsRUQwRmY7RUFIRDtJQUNFLDRCQ3hGYztRRHdGZCx3QkN4RmM7WUR3RmQsb0JDeEZjO0lEeUZkLHFCQ3pGYyxFRDBGZjtFQUhEO0lBQ0UsNEJDeEZjO1FEd0ZkLHdCQ3hGYztZRHdGZCxvQkN4RmM7SUR5RmQscUJDekZjLEVEMEZmO0VBSEQ7SUFDRSx1QkN4RmM7UUR3RmQsbUJDeEZjO1lEd0ZkLGVDeEZjO0lEeUZkLGdCQ3pGYyxFRDBGZixFQUFBOztBRWVMO0VGbEJJO0lBQ0UsMkJDeEZjO1FEd0ZkLHVCQ3hGYztZRHdGZCxtQkN4RmM7SUR5RmQsb0JDekZjLEVEMEZmO0VBSEQ7SUFDRSw0QkN4RmM7UUR3RmQsd0JDeEZjO1lEd0ZkLG9CQ3hGYztJRHlGZCxxQkN6RmMsRUQwRmY7RUFIRDtJQUNFLHNCQ3hGYztRRHdGZCxrQkN4RmM7WUR3RmQsY0N4RmM7SUR5RmQsZUN6RmMsRUQwRmY7RUFIRDtJQUNFLDRCQ3hGYztRRHdGZCx3QkN4RmM7WUR3RmQsb0JDeEZjO0lEeUZkLHFCQ3pGYyxFRDBGZjtFQUhEO0lBQ0UsNEJDeEZjO1FEd0ZkLHdCQ3hGYztZRHdGZCxvQkN4RmM7SUR5RmQscUJDekZjLEVEMEZmO0VBSEQ7SUFDRSxzQkN4RmM7UUR3RmQsa0JDeEZjO1lEd0ZkLGNDeEZjO0lEeUZkLGVDekZjLEVEMEZmO0VBSEQ7SUFDRSw0QkN4RmM7UUR3RmQsd0JDeEZjO1lEd0ZkLG9CQ3hGYztJRHlGZCxxQkN6RmMsRUQwRmY7RUFIRDtJQUNFLDRCQ3hGYztRRHdGZCx3QkN4RmM7WUR3RmQsb0JDeEZjO0lEeUZkLHFCQ3pGYyxFRDBGZjtFQUhEO0lBQ0Usc0JDeEZjO1FEd0ZkLGtCQ3hGYztZRHdGZCxjQ3hGYztJRHlGZCxlQ3pGYyxFRDBGZjtFQUhEO0lBQ0UsNEJDeEZjO1FEd0ZkLHdCQ3hGYztZRHdGZCxvQkN4RmM7SUR5RmQscUJDekZjLEVEMEZmO0VBSEQ7SUFDRSw0QkN4RmM7UUR3RmQsd0JDeEZjO1lEd0ZkLG9CQ3hGYztJRHlGZCxxQkN6RmMsRUQwRmY7RUFIRDtJQUNFLHVCQ3hGYztRRHdGZCxtQkN4RmM7WUR3RmQsZUN4RmM7SUR5RmQsZ0JDekZjLEVEMEZmLEVBQUE7O0FFZUw7RUZsQkk7SUFDRSwyQkN4RmM7UUR3RmQsdUJDeEZjO1lEd0ZkLG1CQ3hGYztJRHlGZCxvQkN6RmMsRUQwRmY7RUFIRDtJQUNFLDRCQ3hGYztRRHdGZCx3QkN4RmM7WUR3RmQsb0JDeEZjO0lEeUZkLHFCQ3pGYyxFRDBGZjtFQUhEO0lBQ0Usc0JDeEZjO1FEd0ZkLGtCQ3hGYztZRHdGZCxjQ3hGYztJRHlGZCxlQ3pGYyxFRDBGZjtFQUhEO0lBQ0UsNEJDeEZjO1FEd0ZkLHdCQ3hGYztZRHdGZCxvQkN4RmM7SUR5RmQscUJDekZjLEVEMEZmO0VBSEQ7SUFDRSw0QkN4RmM7UUR3RmQsd0JDeEZjO1lEd0ZkLG9CQ3hGYztJRHlGZCxxQkN6RmMsRUQwRmY7RUFIRDtJQUNFLHNCQ3hGYztRRHdGZCxrQkN4RmM7WUR3RmQsY0N4RmM7SUR5RmQsZUN6RmMsRUQwRmY7RUFIRDtJQUNFLDRCQ3hGYztRRHdGZCx3QkN4RmM7WUR3RmQsb0JDeEZjO0lEeUZkLHFCQ3pGYyxFRDBGZjtFQUhEO0lBQ0UsNEJDeEZjO1FEd0ZkLHdCQ3hGYztZRHdGZCxvQkN4RmM7SUR5RmQscUJDekZjLEVEMEZmO0VBSEQ7SUFDRSxzQkN4RmM7UUR3RmQsa0JDeEZjO1lEd0ZkLGNDeEZjO0lEeUZkLGVDekZjLEVEMEZmO0VBSEQ7SUFDRSw0QkN4RmM7UUR3RmQsd0JDeEZjO1lEd0ZkLG9CQ3hGYztJRHlGZCxxQkN6RmMsRUQwRmY7RUFIRDtJQUNFLDRCQ3hGYztRRHdGZCx3QkN4RmM7WUR3RmQsb0JDeEZjO0lEeUZkLHFCQ3pGYyxFRDBGZjtFQUhEO0lBQ0UsdUJDeEZjO1FEd0ZkLG1CQ3hGYztZRHdGZCxlQ3hGYztJRHlGZCxnQkN6RmMsRUQwRmYsRUFBQTs7QUVlTDtFRmxCSTtJQUNFLDJCQ3hGYztRRHdGZCx1QkN4RmM7WUR3RmQsbUJDeEZjO0lEeUZkLG9CQ3pGYyxFRDBGZjtFQUhEO0lBQ0UsNEJDeEZjO1FEd0ZkLHdCQ3hGYztZRHdGZCxvQkN4RmM7SUR5RmQscUJDekZjLEVEMEZmO0VBSEQ7SUFDRSxzQkN4RmM7UUR3RmQsa0JDeEZjO1lEd0ZkLGNDeEZjO0lEeUZkLGVDekZjLEVEMEZmO0VBSEQ7SUFDRSw0QkN4RmM7UUR3RmQsd0JDeEZjO1lEd0ZkLG9CQ3hGYztJRHlGZCxxQkN6RmMsRUQwRmY7RUFIRDtJQUNFLDRCQ3hGYztRRHdGZCx3QkN4RmM7WUR3RmQsb0JDeEZjO0lEeUZkLHFCQ3pGYyxFRDBGZjtFQUhEO0lBQ0Usc0JDeEZjO1FEd0ZkLGtCQ3hGYztZRHdGZCxjQ3hGYztJRHlGZCxlQ3pGYyxFRDBGZjtFQUhEO0lBQ0UsNEJDeEZjO1FEd0ZkLHdCQ3hGYztZRHdGZCxvQkN4RmM7SUR5RmQscUJDekZjLEVEMEZmO0VBSEQ7SUFDRSw0QkN4RmM7UUR3RmQsd0JDeEZjO1lEd0ZkLG9CQ3hGYztJRHlGZCxxQkN6RmMsRUQwRmY7RUFIRDtJQUNFLHNCQ3hGYztRRHdGZCxrQkN4RmM7WUR3RmQsY0N4RmM7SUR5RmQsZUN6RmMsRUQwRmY7RUFIRDtJQUNFLDRCQ3hGYztRRHdGZCx3QkN4RmM7WUR3RmQsb0JDeEZjO0lEeUZkLHFCQ3pGYyxFRDBGZjtFQUhEO0lBQ0UsNEJDeEZjO1FEd0ZkLHdCQ3hGYztZRHdGZCxvQkN4RmM7SUR5RmQscUJDekZjLEVEMEZmO0VBSEQ7SUFDRSx1QkN4RmM7UUR3RmQsbUJDeEZjO1lEd0ZkLGVDeEZjO0lEeUZkLGdCQ3pGYyxFRDBGZixFQUFBOztBRWVMO0VGTkk7SUFDRSxzQkE3RU07UUE2RU4sa0JBN0VNO1lBNkVOLGNBN0VNLEVBOEVQLEVBQUE7O0FFSUw7RUZOSTtJQUNFLHNCQTdFTTtRQTZFTixrQkE3RU07WUE2RU4sY0E3RU0sRUE4RVAsRUFBQTs7QUVJTDtFRk5JO0lBQ0Usc0JBN0VNO1FBNkVOLGtCQTdFTTtZQTZFTixjQTdFTSxFQThFUCxFQUFBOztBRUlMO0VGTkk7SUFDRSxzQkE3RU07UUE2RU4sa0JBN0VNO1lBNkVOLGNBN0VNLEVBOEVQLEVBQUE7O0FBTVA7RUFDRSx1QkFsRmU7TUFrRmYsbUJBbEZlO1VBa0ZmLGVBbEZlLEVBbUZoQjs7QUFNSztFQUNFLHVCQUEyQjtNQUEzQixtQkFBMkI7VUFBM0IsZUFBMkIsRUFLNUI7RUVoQkw7SUZVSTtNQUlJLHNCQWhHSTtVQWdHSixrQkFoR0k7Y0FnR0osY0FoR0ksRUFrR1AsRUFBQTs7QUFQSDtFQUVJLHVCQUEyQjtNQUEzQixtQkFBMkI7VUFBM0IsZUFBMkIsRUFLNUI7RUVoQkw7SUZVSTtNQUlJLHNCQWhHSTtVQWdHSixrQkFoR0k7Y0FnR0osY0FoR0ksRUFrR1AsRUFBQTs7QUFQSDtFQUVJLHVCQUEyQjtNQUEzQixtQkFBMkI7VUFBM0IsZUFBMkIsRUFLNUI7RUVoQkw7SUZVSTtNQUlJLHNCQWhHSTtVQWdHSixrQkFoR0k7Y0FnR0osY0FoR0ksRUFrR1AsRUFBQTs7QUFQSDtFQUVJLHVCQUEyQjtNQUEzQixtQkFBMkI7VUFBM0IsZUFBMkIsRUFLNUI7RUVoQkw7SUZTRTtNQUtNLHNCQWhHSTtVQWdHSixrQkFoR0k7Y0FnR0osY0FoR0ksRUFrR1AsRUFBQTs7QUFTRDtFQXhFTixpQkF1RWtCO01BdkVsQixrQkF1RWtCO1VBdkVsQixTQXVFa0IsRUFHWDs7QUFGRDtFQXhFTixpQkF1RWtCO01BdkVsQixrQkF1RWtCO1VBdkVsQixTQXVFa0IsRUFHWDs7QUFGRDtFQXhFTixpQkF1RWtCO01BdkVsQixrQkF1RWtCO1VBdkVsQixTQXVFa0IsRUFHWDs7QUFGRDtFQXhFTixpQkF1RWtCO01BdkVsQixrQkF1RWtCO1VBdkVsQixTQXVFa0IsRUFHWDs7QUFGRDtFQXhFTixpQkF1RWtCO01BdkVsQixrQkF1RWtCO1VBdkVsQixTQXVFa0IsRUFHWDs7QUFGRDtFQXhFTixpQkF1RWtCO01BdkVsQixrQkF1RWtCO1VBdkVsQixTQXVFa0IsRUFHWDs7QUUzQkw7RUZ5Qkk7SUF4RU4saUJBdUVrQjtRQXZFbEIsa0JBdUVrQjtZQXZFbEIsU0F1RWtCLEVBR1g7RUFGRDtJQXhFTixpQkF1RWtCO1FBdkVsQixrQkF1RWtCO1lBdkVsQixTQXVFa0IsRUFHWDtFQUZEO0lBeEVOLGlCQXVFa0I7UUF2RWxCLGtCQXVFa0I7WUF2RWxCLFNBdUVrQixFQUdYO0VBRkQ7SUF4RU4saUJBdUVrQjtRQXZFbEIsa0JBdUVrQjtZQXZFbEIsU0F1RWtCLEVBR1g7RUFGRDtJQXhFTixpQkF1RWtCO1FBdkVsQixrQkF1RWtCO1lBdkVsQixTQXVFa0IsRUFHWDtFQUZEO0lBeEVOLGlCQXVFa0I7UUF2RWxCLGtCQXVFa0I7WUF2RWxCLFNBdUVrQixFQUdYLEVBQUE7O0FFM0JMO0VGeUJJO0lBeEVOLGlCQXVFa0I7UUF2RWxCLGtCQXVFa0I7WUF2RWxCLFNBdUVrQixFQUdYO0VBRkQ7SUF4RU4saUJBdUVrQjtRQXZFbEIsa0JBdUVrQjtZQXZFbEIsU0F1RWtCLEVBR1g7RUFGRDtJQXhFTixpQkF1RWtCO1FBdkVsQixrQkF1RWtCO1lBdkVsQixTQXVFa0IsRUFHWDtFQUZEO0lBeEVOLGlCQXVFa0I7UUF2RWxCLGtCQXVFa0I7WUF2RWxCLFNBdUVrQixFQUdYO0VBRkQ7SUF4RU4saUJBdUVrQjtRQXZFbEIsa0JBdUVrQjtZQXZFbEIsU0F1RWtCLEVBR1g7RUFGRDtJQXhFTixpQkF1RWtCO1FBdkVsQixrQkF1RWtCO1lBdkVsQixTQXVFa0IsRUFHWCxFQUFBOztBRTNCTDtFRnlCSTtJQXhFTixpQkF1RWtCO1FBdkVsQixrQkF1RWtCO1lBdkVsQixTQXVFa0IsRUFHWDtFQUZEO0lBeEVOLGlCQXVFa0I7UUF2RWxCLGtCQXVFa0I7WUF2RWxCLFNBdUVrQixFQUdYO0VBRkQ7SUF4RU4saUJBdUVrQjtRQXZFbEIsa0JBdUVrQjtZQXZFbEIsU0F1RWtCLEVBR1g7RUFGRDtJQXhFTixpQkF1RWtCO1FBdkVsQixrQkF1RWtCO1lBdkVsQixTQXVFa0IsRUFHWDtFQUZEO0lBeEVOLGlCQXVFa0I7UUF2RWxCLGtCQXVFa0I7WUF2RWxCLFNBdUVrQixFQUdYO0VBRkQ7SUF4RU4saUJBdUVrQjtRQXZFbEIsa0JBdUVrQjtZQXZFbEIsU0F1RWtCLEVBR1gsRUFBQTs7QUUzQkw7RUZ5Qkk7SUF4RU4saUJBdUVrQjtRQXZFbEIsa0JBdUVrQjtZQXZFbEIsU0F1RWtCLEVBR1g7RUFGRDtJQXhFTixpQkF1RWtCO1FBdkVsQixrQkF1RWtCO1lBdkVsQixTQXVFa0IsRUFHWDtFQUZEO0lBeEVOLGlCQXVFa0I7UUF2RWxCLGtCQXVF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cUJKM01zQixFSTRNdkI7O0FBR0Q7RUFDRSxxQkpoTnNCLEVJaU52Qjs7QUFHRDtFQUVJLHFCSnJOMkI7RUlzTjNCLGlCQUFpQjtFQUNqQix5QkFBeUIsRUFDMUI7O0FBSUg7RUFDRSxvQko1TnlCLEVJa08xQjtFQVBEO0lBSUksc0JKN044QjtJSThOOUIsa0JKOVNtQixFSStTcEI7O0FBSUg7RUFDRSxpQkozUDBCO0VJNFAxQix1Q0NsVWtCO0VEbVVsQiwrQko1VWlCLEVJa1ZsQjtFQVREO0lBTUksaUJKalFvQjtJSWtRcEIsZUovVWEsRUlnVmQ7O0FBSUg7RUFDRSxlQUFlO0VBQ2YscUJDOVVrQjtFRCtVbEIsZUp2VmUsRUk0VmhCO0VBUkQ7SUFNSSx1QkFBdUIsRUFDeEI7O0FBSUg7RUFDRSxlSi9WVztFSWdXWCxhQUFhO0VBQ2Isa0NKaldXLEVJa1daOztBQUdEO0VBQ0UsNkRKblRtRTtFSW9UbkUsb0JKcFZ5QjtFSXFWekIsZUp4V1c7RUl5V1gsMEJKNVdnQjtFSTZXaEIsMEJKNVdpQjtFSTZXakIsc0NDcFdrQixFRHFXbkI7O0FBR0Q7RUFDRSw0QkN0VzhCO0VEdVc5QixVQUFVO0VBQ1YsMEJKclhnQjtFSXNYaEIsZUpuWFc7RUlvWFgsNkRKalVtRSxFSWtVcEU7O0FFcllEO0VBQ0UsbUJOd0l5QjtFTXZJekIsc0JOd0k0QjtFTXZJNUIsb0JOZ0N5QjtFTS9CekIsaUJOa0lzQjtFTWpJdEIsZU5VZSxFTVRoQjs7QUFHRDtFQUNFLGdCTjBIOEI7RU16SDlCLGlCTjBIaUIsRU16SGxCOztBQUdEO0VBQ0Usa0JOMkhtQjtFTTFIbkIsZUFBZSxFQUtoQjtFQUhDO0lBQ0Usa0JBQWtCLEVBQ25COztBQUlIO0VBQ0UsZUFBaUM7RUFDakMsaUJBQWlCLEVBQ2xCOztBQzdEUztFQUNFLGlCQVJlLEVBU2hCOztBQUZEO0VBQ0Usa0JBUnNCLEVBU3ZCOztBQUZEO0VBQ0UsbUJBUjhCLEVBUy9COztBQUZEO0VBQ0Usb0JBUnVDLEVBU3hDOztBSnNIVDtFSTdIUTtJQUNFLGlCQUhlLEVBSWhCO0VBRkQ7SUFD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M0I7O0F6RExIO0V1RG1DRSxxQ0FGaUI7TUFFakIsaUNBRmlCO1VBRWpCLDZCQUZpQixFRWhCaEI7O0F6RGRIO0V1RGdDRSxXdkRoQ2tDO0UwREFsQyw2QkFBNkIsRURFNUI7O0F6REZIO0V1RGdDRSxXdkRoQ3FDLEV5RGNwQzs7QXpEYkg7RXVEK0JFLFd2RC9Ca0M7RTBERGxDLDZCQUE2QixFREU1Qjs7QXpEREg7RXVEK0JFLFd2RC9CcUMsRXlEYXBDOztBekRWSDtFdUQ0QkUsdURJckNZO1VKcUNaLCtDSXJDWTtFSnFDWiw4QkFGaUI7TUFFakIsMEJBRmlCO1VBRWpCLHNCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQ3hDLFdBQTJCLEVITjVCOztBekRFSDtFdUQ0QkUsb0RJVnNDO1VKVXRDLDRDSVZzQztFQ0pwQyxXQUEyQixFSEo1Qjs7QXpEVEg7RXVEMkJFLHVESXBDYztVSm9DZCwrQ0lwQ2M7RUpvQ2QsZ0NBRmlCO01BRWpCLDRCQUZpQjtVQUVqQix3QkFGaUI7RUt2QmYsZ0RBQXdDO0VBQXhDLHdDQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QXpER0g7RXVEMkJFLG9ESVZzQztVSlV0Qyw0Q0lWc0M7RUNKcEMsV0FBMkIsRUhKNUI7O0F6RFJIO0V1RDBCRSxzREluQ2U7VUptQ2YsOENJbkNlO0VKbUNmLGlDQUZpQjtNQUVqQiw2QkFGaUI7VUFFakIseUJBRmlCO0VLdkJmLGdEQUF3QztFQUF4Qyx3Q0FBd0M7RUFDeEMsV0FBMkIsRUhONUI7O0F6RElIO0V1RDBCRSxvRElWc0M7VUpVdEMsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBekRQSDtFdUR5QkUsc0RJbENhO1VKa0NiLDhDSWxDYTtFSmtDYiwrQkFGaUI7TUFFakIsMkJBRmlCO1VBRWpCLHVCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQ3hDLFdBQTJCLEVITjVCOztBekRLSDtFdUR5QkUsb0RJVnNDO1VKVXRDLDRDSVZzQztFQ0pwQyxXQUEyQixFSEo1Qjs7QXpETkg7RXVEd0JFLHVESXJDWTtVSnFDWiwrQ0lyQ1k7RUpxQ1osaUNBRmlCO01BRWpCLDZCQUZpQjtVQUVqQix5QkFGaUI7RUt2QmYsZ0RBQXdDO0VBQXhDLHdDQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QXpETUg7RXVEd0JFLG9ESVZzQztVSlV0Qyw0Q0lWc0M7RUNKcEMsV0FBMkIsRUhKNUI7O0F6RExIO0V1RHVCRSx1RElwQ2M7VUpvQ2QsK0NJcENjO0VKb0NkLGlDQUZpQjtNQUVqQiw2QkFGaUI7VUFFakIseUJBRmlCO0VLdkJmLGdEQUF3QztFQUF4Qyx3Q0FBd0M7RUFDeEMsV0FBMkIsRUhONUI7O0F6RE9IO0V1RHVCRSxvRElWc0M7VUpVdEMsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBekRKSDtFdURzQkUsb0RJUndDO1VKUXhDLDRDSVJ3QztFSlF4Qyw4QkFGaUI7TUFFakIsMEJBRmlCO1VBRWpCLHNCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQ3hDLFdBQThCLEVITi9COztBekRRSDtFdURzQkUsdURJckNZO1VKcUNaLCtDSXJDWTtFQ3VCVixXQUE4QixFSEovQjs7QXpESEg7RXVEcUJFLG9ESVJ3QztVSlF4Qyw0Q0lSd0M7RUpReEMsZ0NBRmlCO01BRWpCLDRCQUZpQjtVQUVqQix3QkFGaUI7RUt2QmYsZ0RBQXdDO0VBQXhDLHdDQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QXpEU0g7RXVEcUJFLHVESXBDYztVSm9DZCwrQ0lwQ2M7RUNzQlosV0FBOEIsRUhKL0I7O0F6REZIO0V1RG9CRSxvRElSd0M7VUpReEMsNENJUndDO0VKUXhDLGlDQUZpQjtNQUVqQiw2QkFGaUI7VUFFakIseUJBRmlCO0VLdkJmLGdEQUF3QztFQUF4Qyx3Q0FBd0M7RUFDeEMsV0FBOEIsRUhOL0I7O0F6RFVIO0V1RG9CRSxzREluQ2U7VUptQ2YsOENJbkNlO0VDcUJiLFdBQThCLEVISi9COztBekRESDtFdURtQkUsb0RJUndDO1VKUXhDLDRDSVJ3QztFSlF4QywrQkFGaUI7TUFFakIsMkJBRmlCO1VBRWpCLHVCQUZpQjtFS3ZCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQ3hDLFdBQThCLEVITi9COztBekRXSDtFdURtQkUsc0RJbENhO1VKa0NiLDhDSWxDYTtFQ29CWCxXQUE4QixFSEovQjs7QXpEQUg7RXVEa0JFLG9ESVJ3QztVSlF4Qyw0Q0lSd0M7RUpReEMsaUNBRmlCO01BRWpCLDZCQUZpQjtVQUVqQix5QkFGaUI7RUt2QmYsZ0RBQXdDO0VBQXhDLHdDQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QXpEWUg7RXVEa0JFLHVESXJDWTtVSnFDWiwrQ0lyQ1k7RUN1QlYsV0FBOEIsRUhKL0I7O0F6RENIO0V1RGlCRSxvRElSd0M7VUpReEMsNENJUndDO0VKUXhDLGlDQUZpQjtNQUVqQiw2QkFGaUI7VUFFakIseUJBRmlCO0VLdkJmLGdEQUF3QztFQUF4Qyx3Q0FBd0M7RUFDeEMsV0FBOEIsRUhOL0I7O0F6RGFIO0V1RGlCRSx1RElwQ2M7VUpvQ2QsK0NJcENjO0VDc0JaLFdBQThCLEVISi9COztBekRJSDtFdURjRSw4QkFGaUI7TUFFakIsMEJBRmlCO1VBRWpCLHNCQUZpQjtFTTNCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQ3hDLFdBQTJCLEVKRjVCOztBekRnQkg7RXVEY0UsNEJBRmlCO01BRWpCLHdCQUZpQjtVQUVqQixvQkFGaUI7RU1oQmYsV0FBMkIsRUpBNUI7O0F6REtIO0V1RGFFLDhCQUZpQjtNQUVqQiwwQkFGaUI7VUFFakIsc0JBRmlCO0VNM0JmLGdEQUF3QztFQUF4Qyx3Q0FBd0M7RUFDeEMsV0FBMkIsRUpGNUI7O0F6RGlCSDtFdURhRSw0QkFGaUI7TUFFakIsd0JBRmlCO1VBRWpCLG9CQUZpQjtFTWhCZixXQUEyQixFSkE1Qjs7QXpETUg7RXVEWUUsNEJBRmlCO01BRWpCLHdCQUZpQjtVQUVqQixvQkFGaUI7RU0zQmYsZ0RBQXdDO0VBQXhDLHdDQUF3QztFQUN4QyxXQUE4QixFSkYvQjs7QXpEa0JIO0V1RFlFLDhCQUZpQjtNQUVqQiwwQkFGaUI7VUFFakIsc0JBRmlCO0VNaEJmLFdBQThCLEVKQS9COztBekRPSDtFdURXRSw0QkFGaUI7TUFFakIsd0JBRmlCO1VBRWpCLG9CQUZpQjtFTTNCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQ3hDLFdBQThCLEVKRi9COztBekRtQkg7RXVEV0UsOEJBRmlCO01BRWpCLDBCQUZpQjtVQUVqQixzQkFGaUI7RU1oQmYsV0FBOEIsRUpBL0I7O0F6RFVIO0V1RFFFLHFDQUZpQjtNQUVqQixpQ0FGaUI7VUFFakIsNkJBRmlCO0VPM0JmLGdEQUF3QztFQUF4Qyx3Q0FBd0M7RUFDeEMsV0FBMkIsRUxGNUI7O0F6RHNCSDtFdURRRSw2QkFGaUI7TUFFakIseUJBRmlCO1VBRWpCLHFCQUZpQjtFT2hCZixXQUEyQixFTEE1Qjs7QXpEV0g7RXVET0UsNkJBRmlCO01BRWpCLHlCQUZpQjtVQUVqQixxQkFGaUI7RU8zQmYsZ0RBQXdDO0VBQXhDLHdDQUF3QztFQUN4QyxXQUE4QixFTEYvQjs7QXpEdUJIO0V1RE9FLG9DQUZpQjtNQUVqQixnQ0FGaUI7VUFFakIsNEJBRmlCO0VPaEJmLFdBQThCLEVMQS9COztBekRZSDtFdURNRSxvQ0FGaUI7TUFFakIsZ0NBRmlCO1VBRWpCLDRCQUZpQjtFTzNCZixnREFBd0M7RUFBeEMsd0NBQXdDO0VBQ3hDLFdBQTJCLEVMRjVCOztBekR3Qkg7RXVETUUsNkJBRmlCO01BRWpCLHlCQUZpQjtVQUVqQixxQkFGaUI7RU9oQmYsV0FBMkIsRUxBNUI7O0F6RGFIO0V1REtFLDZCQUZpQjtNQUVqQix5QkFGaUI7VUFFakIscUJBRmlCO0VPM0JmLGdEQUF3QztFQUF4Qyx3Q0FBd0M7RUFDeEMsV0FBOEIsRUxGL0I7O0F6RHlCSDtFdURLRSxxQ0FGaUI7TUFFakIsaUNBRmlCO1VBRWpCLDZCQUZpQjtFT2hCZixXQUE4QixFTEEvQjs7QXpEb0JDO0VBQUUsc0NBQXNDLEVBQUk7O0FBQTVDO0VBQUUsc0NBQXNDLEVBQUk7O0FBTTVDO0VBQUUsOENBQTZDLEVBQUk7O0FBQW5EO0VBQUUsNENBQTZDLEVBQUk7O0FBQW5EO0VBQUUsK0NBQTZDLEVBQUk7O0FBQW5EO0VBQUUsZ0RBQTZDLEVBQUk7O0FBQW5EO0VBQUUsbURBQTZDLEVBQUk7O0FBQW5EO0VBQUUsK0VBQTZDLEVBQUk7O0FBQW5EO0VBQUUsZ0ZBQTZDLEVBQUk7O0FBQW5EO0VBQUUsK0VBQTZDLEVBQUk7O0FBTW5EO0VBQUUsbUNBQW1DLEVBQUk7O0FBQXpDO0VBQUUsbUNBQW1DLEVBQUk7O0FBUTdDO0UrRHRFQSxnQ0FBdUI7VUFBdkIsd0JBQXVCLEUvRHNFc0I7O0F1RGpFN0M7RUFHSTtJQUdJLGtDQUFVO1lBQVYsMEJBQVUsRUFBQTtFQUhkO0lBR0ksbUNBQVU7WUFBViwyQkFBVSxFQUFBLEVBQUE7O0FBTmxCO0VBR0k7SUFHSSxrQ0FBVTtZQUFWLDBCQUFVLEVBQUE7RUFIZDtJQUdJLG1DQUFVO1lBQVYsMkJBQVUsRUFBQSxFQUFBOztBdkQ0RGxCO0UrRHZFQSxzQ0FBdUI7VUFBdkIsOEJBQXVCLEUvRHVFcUI7O0F1RGxFNUM7RUFHSTtJQUdJLGtDQUFVO1lBQVYsMEJBQVUsRUFBQTtFQUhkO0lBR0ksNkJBQVU7WUFBVixxQkFBVSxFQUFBLEVBQUE7O0FBTmxCO0VBR0k7SUFHSSxrQ0FBVTtZQUFWLDBCQUFVLEVBQUE7RUFIZDtJQUdJLDZCQUFVO1lBQVYscUJBQVUsRUFBQSxFQUFBOztBdkQ2RGxCO0UrRHhFQSxzQ0FBdUI7VUFBdkIsOEJBQXVCLEUvRHdFMEI7O0F1RG5FakQ7RUFHSTtJQUdJLDZCQUFVO1lBQVYscUJBQVUsRUFBQTtFQUhkO0lBR0ksaUNBQVU7WUFBVix5QkFBVSxFQUFBLEVBQUE7O0F2RDhEbEI7RStEekVBLG9DQUF1QjtVQUF2Qiw0QkFBdUIsRS9EeUV1Qjs7QXVEcEU5QztFQUdJO0lBR0ksZ0NBQVU7WUFBVix3QkFBVSxFQUFBO0VBSGQ7SUFHSSxpQ0FBVTtZQUFWLHlCQUFVLEVBQUE7RUFIZDtJQUdJLDZCQUFVO1lBQVYscUJBQVUsRUFBQSxFQUFBOztBQU5sQjtFQUdJO0lBR0ksZ0NBQVU7WUFBVix3QkFBVSxFQUFBO0VBSGQ7SUFHSSxpQ0FBVTtZQUFWLHlCQUFVLEVBQUE7RUFIZDtJQUdJLDZCQUFVO1lBQVYscUJBQVUsRUFBQSxFQUFBOztBdkRrRWxCO0VBQVksNENBQW9DO1VBQXBDLG9DQUFvQyxFQUFJOztBQUloRDtFQUFFLDZDQUFxQztVQUFyQyxxQ0FBcUMsRUFBSTs7QUFBM0M7RUFBRSw2Q0FBcUM7VUFBckMscUNBQXFDLEVBQUk7O0FBTTNDO0VBQUUscURBQTRDO1VBQTVDLDZDQUE0QyxFQUFJOztBQUFsRDtFQUFFLG1EQUE0QztVQUE1QywyQ0FBNEMsRUFBSTs7QUFBbEQ7RUFBRSxzREFBNEM7VUFBNUMsOENBQTRDLEVBQUk7O0FBQWxEO0VBQUUsdURBQTRDO1VBQTVDLCtDQUE0QyxFQUFJOztBQUFsRDtFQUFFLDBEQUE0QztVQUE1QyxrREFBNEMsRUFBSTs7QUFBbEQ7RUFBRSxzRkFBNEM7VUFBNUMsOEVBQTRDLEVBQUk7O0FBQWxEO0VBQUUsdUZBQTRDO1VBQTVDLCtFQUE0QyxFQUFJOztBQUFsRDtFQUFFLHNGQUE0QztVQUE1Qyw4RUFBNEMsRUFBSTs7QUFNbEQ7RUFBRSwwQ0FBa0M7VUFBbEMsa0NBQWtDLEVBQUk7O0FBQXhDO0VBQUUsMENBQWtDO1VBQWxDLGtDQUFrQyxFQUFJOztBZ0VsRzlDO0VBQ0Usc0JBQWM7RUFBZCxxQkFBYztFQUFkLGNBQWM7RUFDZCxtQkFBbUIsRUE4QnBCO0VBaENEO0lBS0ksbUJBQW1CO0lBQ25CLFdBQVc7SUFDWCxXQUFXO0lBQ1gsYUFBYTtJQUNiLFlBQVk7SUFDWiwwQjFEeUNVLEUwRHhDWDtFQUVDO0lBQ0EsZ0JBQVE7UUFBUixZQUFRO1lBQVIsUUFBUTtJQUNSLG1CQUFtQjtJQUNuQiw2RDFENERtRTtJMEQzRG5FLFlBQVksRUFjYjtJQVpDO01BQ0UsZ0JBQWdCO01BQ2hCLGVBQWU7TUFDZixlMUR3Q2EsRTBEdkNkO0lBdkJMO01BMkJRLG9CMURtQ1c7TTBEbENYLGUxRG9DTyxFMERuQ1I7O0FBS1A7O0VBS0ksbUJBQW1CO0VBQ25CLFNBQVM7RUFDVCxnQkFBZ0I7RUFDaEIsZ0NBQWdCO0VBQ2hCLGUxRHFCVyxFMERwQlg7O0FBRUQ7RUFDQyxTQUFTLEVBQ1Q7O0FBZEo7RUFpQkcsbUJBQW1CO0VDaEJkLG9DRGlCd0I7RUNUeEIsZ0NEU3dCO0VDRHhCLDRCREN3QixFQW9CN0I7RUF0Q0g7SUFxQkksWUFBWTtJQUNaLHNCQUFzQjtJQUN0QixnQkFBZ0IsRUFjaEI7SUFyQ0o7TUEwQkssY0FBYztNQUNkLGVBQWU7TUFDZixlQUFlO01BQ2YsbUJBQW1CO01BQ25CLDBCMURGYyxFMERHZDtJQVhGO01BY0UsWUFBWSxFQUNaOztBRXJFTDs7R0FFRztBQUNIO0VBQ0UsbUNBQW1DO0VBQ25DLDJCQUEyQjtFQUMzQixrQ0FBa0M7RUFDbEMsMEJBQTBCLEVBQzNCOztBQUNhO0VBQ1osV0FBVyxFQUNaOztBQUNEO0VBQ0UsV0FBVyxFQUNaOztBQUNEO0VBQ0UsZ0NBQWdDO0VBQ2hDLHdCQUF3QixFQUN6Qjs7QUFFRDtFQUNFO0lBQ0UsV0FBVyxFQUFBO0VBR2I7SUFDRSxXQUFXLEVBQUEsRUFBQTs7QUFHZjtFQUNFO0lBQ0UsV0FBVyxFQUFBO0VBR2I7SUFDRSxXQUFXLEVBQUEsRUFBQTs7QUFJZjs7R0FFRztBQUNIO0VBS0UscUNBQXFDLEVBQ3RDOztBQUVEOztHQUVHO0FBQ0g7RUFDRSxjQUFjO0VBQ2QsWUFBWTtFQUNaLHlDQUF5QztFQUN6QyxvRUFBb0U7RUFDcEUsbUJBQW1CO0VBQ25CLFdBQVcsRUFDWjs7QUFDRDtFQUNFLG1CQUFtQjtFQUNuQix3QkFBd0IsRUFDekI7O0FBQ0Q7RUFDRSxhQUFhO0VBQ2IsZUFBZTtFQUNmLFlBQVk7RUFDWixtQkFBbUI7RUFDbkIsZUFBZTtFQUNmLFVBQVUsRUFDWDs7QUFDRDtFQUNFLG1CQUFtQjtFQUNuQixpQkFBaUI7RUFDakIsaUNBQWlDO0VBQ2pDLDhDQUE4QixFQUMvQjs7QUFDb0M7OztFQUduQyxnQkFBZ0I7RUFDaEIsYUFBYTtFQUNiLDBCQUEwQjtFQUMxQix5QkFBeUI7RUFDekIsdUJBQXVCO0VBQ3ZCLHNCQUFzQjtFQUN0QixrQkFBa0IsRUFDbkI7O0FBQ1k7RUFDWCxlQUFlLEVBQ2hCOztBQUNEO0VBQ0UsV0FBVztFQUNYLGVBQWUsRUFDaEI7O0FBQ0Q7RUFDRSxXQUFXLEVBQ1o7O0FBQ0Q7RUFDRSxjQUFjLEVBQ2Y7O0FBQ0Q7RUFDRSxtQkFBbUI7RUFDbkIsZ0JBQWdCO0VBQ2hCLFlBQVk7RUFDWixvQ0FBb0M7RUFDcEMseUNBQXlDO0VBQ3pDLDRCQUE0QjtFQUM1QiwwQkFBMEI7RUFDMUIsdUJBQXVCO0VBQ3ZCLHNCQUFzQjtFQUN0QixrQkFBa0IsRUFDbkI7O0FBQ3VCO0VBQ3RCLGVBQWU7RUFDZixZQUFZO0VBQ1oscUNBQXFDLEVBQ3RDOztBQUNnQztFQUMvQiwwQkFBMEI7RUFDMUIsdUJBQXVCO0VBQ3ZCLHNCQUFzQjtFQUN0QixrQkFBa0IsRUFDbkI7O0FBQ0Q7RUFDRSxhQUFhO0VBQ2IscUJBQXFCO0VBQ3JCLGdCQUFnQjtFQUNoQixpQkFBaUI7RUFDakIsYUFBYSxFQUNkOztBQUNEO0VBQ0UsZUFBZSxFQUNoQjs7QUFDcUI7RUFDcEIsYUFBYSxFQUNkOztBQUVELFdBQVc7QUFDWDtFQUNFLGVBQWUsRUFDaEI7O0FBRUQ7O0dBRUc7QUFDcUI7RUFDdEIsV0FBVztFQUtYLCtCQUErQixFQUNoQzs7QUFDdUI7RUFDdEIscUNBQTZCO1VBQTdCLDZCQUE2QixFQUM5Qjs7QUFFRDs7R0FFRztBQUNXO0VBQ1osbUJBQW1CO0VBQ25CLGFBQWE7RUFDYixpQkFBaUIsRUFDbEI7O0FBQ0Q7RUFDRSxtQkFBbUI7RUFDbkIsYUFBYTtFQUNiLFlBQVk7RUFDWixVQUFVO0VBQ1YsU0FBUztFQUNULG1CQUFtQjtFQUNuQixrQkFBa0I7RUFDbEIsZ0RBQStDO0VBQy9DLGdCQUFnQjtFQUNoQixXQUFXO0VBQ1gsb0NBQW9DO0VBS3BDLDZCQUE2QixFQUM5Qjs7QUFDRDtFQUtFLDRCQUFpQixFQUNsQjs7QUFDZ0M7O0VBRS9CLGNBQWMsRUFDZjs7QUFDRDtFQUNFLFdBQVc7RUFDWCxhQUFhO0VBQ2IsbUNBQW1DO0VBQ25DLDZCQUE2QjtFQUk3Qix5QkFBeUI7RUFLekIsK0JBQStCLEVBQ2hDOztBQUNhO0VBQ1osbUJBQW1CO0VBQ25CLFdBQVcsRUFDWjs7QUN2TlU7RUFDVixrQ0FBa0MsRUFDbEM7O0FDRkQ7RUFBbUIsc0JBQXNCO0VBQ3JDLGU5RCtEVztFOEQ5RFgsb0I5RGlEVSxFOERoRGI7O0FBRUQ7RUFDSSxlOUQwRFc7RThEekRYLG9COUQ0Q1UsRThEM0NiOztBQUVEO0VBQ0UsNkQ5RGlFcUUsRThEaEV0RTs7QXZFbXpORDs7O0V1RTl5TkUsNkQ5RDJEcUU7RThEMURyRSxtQkFBbUIsRUFDcEI7O0FBK0REO0VBeERFLDBPOURzQ2E7RThEdkJiLG9EQUFpQztFQUNqQyx5QkFBeUI7RUFDekIsNEJBQTRCO0VBQzVCLDRCQUE0QjtFQXNCNUIsZTlESmlCO0U4REtqQixzQkFBc0IsRUFxQnZCO0VBTkQ7SUF4REUsME85RHlCWTtJOERBVixvQjlEQVUsRThEQ1g7RUE4Qkg7SUF4REUsME85RHlCWTtJOERBVixvQjlEQVUsRThEQ1g7RUE4Qkg7SUF4REUsME85RHlCWTtJOERNVixvQjlETlUsRThET1g7RUF3Qkg7OztJQVJJLGtCQUFrQixFQUNuQjtFQU9tQztJQUpsQyxlOURoQmUsRThEaUJoQjtFQUdIO0lBSUksZTlEbkNVLEU4RG9DWDs7QUFHRDtFQUNBLG1CQUFtQjtFQUNuQixpQzlEL0JtQjtFOERnQ25CLGdCQUFnQjtFQUNoQixpQkFBaUIsRUFDbEI7O0FBRUM7RUFDQSxtQkFBbUI7RUFDbkIsb0I5RHZDa0I7RThEd0NsQixrQkFBa0I7RUFDbEIsbUJBQW1CLEVBQ3BCOztBQUVEO0VBQ0UsaUM5RDVDbUI7RThENkNuQixxQkFBcUI7RUFDckIsb0JBQW9CLEVBQ3JCOztBQUVEO0VBRUksZTlEakRXLEU4RHFEWjtFQU5IO0lBSU0sZTlEL0RRLEU4RGdFVDs7QUNuSEw7RUFDQyxzQkFBYztFQUFkLHFCQUFjO0VBQWQsY0FBYyxFQUNkOztBQUVEO0VBQ0UsMEIvRHdEbUI7RStEdkRuQixpQkFBaUI7RUFDakIsWUFBWTtFQUNaLHNCQUFjO0VBQWQscUJBQWM7RUFBZCxjQUFjO0VBQ2QsK0JBQXVCO01BQXZCLDJCQUF1QjtVQUF2Qix1QkFBdUI7RUFDdkIsZ0JBQVE7TUFBUixZQUFRO1VBQVIsUUFBUSxFQStIVDtFQTdIQztJQUNFLGlDL0RnRGlCLEUrRGJsQjtJQWpDQztNQUNFLGFBQWEsRUFDZDtJQWJMO01BZ0JNLHNCQUFzQjtNQUN0QixrQkFBa0IsRUFTbkI7TUFIQztRQUNFLGtCQUFrQixFQUNuQjtJQUtEO01BQ0UsZS9Ed0JjO00rRHZCZCxrQkFBa0I7TUFDbEIsMEJBQTBCO01BQzFCLG9CL0R3Qlc7TStEdkJYLGNBQWM7TUFDZCxrQkFBa0I7TUFDbEIsc0JBQXNCLEVBS3ZCO01BMUNQO1FBd0NVLDBCQUF5QixFQUMxQjtFQXpDVDtJQStDSSxnQkFBUTtRQUFSLFlBQVE7WUFBUixRQUFRO0lBQ1Isc0JBQWM7SUFBZCxxQkFBYztJQUFkLGNBQWM7SUFDZCwrQkFBdUI7UUFBdkIsMkJBQXVCO1lBQXZCLHVCQUF1QjtJQUN2QixpQkFBaUIsRUE2RGxCO0lBM0RDO01BQ0UsZ0JBQVE7VUFBUixZQUFRO2NBQVIsUUFBUTtNQUNSLHNCQUFjO01BQWQscUJBQWM7TUFBZCxjQUFjO01BQ2QsYUFBYTtNQUNiLG1CQUFtQjtNQUNuQixpQkFBaUI7TUFDakIsK0JBQXVCO1VBQXZCLDJCQUF1QjtjQUF2Qix1QkFBdUIsRUFzQnhCO01BaEZMO1FBNkRPLHdCQUF3QjtRQUN4QixnQkFBUTtZQUFSLFlBQVE7Z0JBQVIsUUFBUSxFQUNSO01BWEg7UUFlTSxZQUFZO1FBQ1osMEVBQXdFO1FBQ3hFLG1CQUFtQjtRQUNuQixRQUFRO1FBQ1IsT0FBTztRQUNQLFlBQVk7UUFDWixhQUFhLEVBQ2Q7TUExRVQ7UUE4RVEsdUJBQXVCLEVBQ3hCO0lBR0g7TUFDRSxpQkFBaUI7TUFDakIsV0FBVztNQUNYLFVBQVUsRUF5Qlg7TUE5R0w7UUF3RlEsc0JBQWM7UUFBZCxxQkFBYztRQUFkLGNBQWM7UUFDZCw0QkFBb0I7WUFBcEIsd0JBQW9CO2dCQUFwQixvQkFBb0I7UUFFcEIsaUMvRGxDYTtRK0RtQ2IsY0FBYyxFQWlCZjtRQWRHO1VBQ0UsbUJBQW1CLEVBQ3BCO1FBR0g7VUFDRSxxQkFBYTtjQUFiLHFCQUFhO2tCQUFiLGFBQWE7VUFDYixrQkFBa0IsRUFLbkI7VUFIQztZQUNFLGtCQUFrQixFQUNuQjtFQU9UO0lBQ0UsOEIvRHpEaUIsRStEMEVsQjtJQWRDO01BQ0Usa0JBQWtCO01BQ2xCLDBCQUEwQjtNQUMxQixlL0Q5RGE7TStEK0RiLGVBQWU7TUFDZixvQi9EbkVnQjtNK0RvRWhCLGNBQWM7TUFDZCxtQkFBbUIsRUFNcEI7TUFsSUw7UUErSFEsMEIvRHpFZSxFK0QwRWhCOztBQ3BJUDtFQUVJLFdBQVcsRUFDWjs7QUFHRDtFQUNBLGlCQUFpQjtFQUNqQixVQUFVO0VBQ1YsV0FBVztFQUNYLCtCQUErQixFQXNGaEM7RUExRkQ7SUFPSSxpQ2hFZ0RpQjtJZ0U5Q2pCLG1DQUFtQyxFQWdGcEM7SUF6Rkg7TUFXTSxvQkFBb0IsRUFDckI7SUFaTDtNQWVNLGVBQWU7TUFDZixlaEV3Q2E7TWdFdkNiLG1CQUFtQjtNQUNuQixjQUFjO01BQ2Qsa0JBQWtCLEVBcUVuQjtNQXhGTDtRQXNCUSxtQkFBbUI7UUFDbkIsV0FBVztRQUNYLGtCQUFrQjtRQUNsQiw2QmhFaUNPLEVnRTNCUjtRQUpDO1VBQ0UsaUJBQWlCLEVBQ2xCO01BN0JUO1FBa0NRLG1CQUFtQjtRQUNuQixpQkFBaUI7UUFDakIsUUFBUTtRQUNSLE9BQU87UUFDUCxVQUFVO1FBQ1YsMkJBQW1CO1lBQW5CLDRCQUFtQjtnQkFBbkIsbUJBQW1CO1FBQ25CLGFBQWEsRUF5Q2Q7UUFoREQ7VUFVSSxrQ0FBZ0I7VUFDaEIsaUJBQWlCO1VBQ2pCLG1CQUFtQjtVQUNuQixtQkFBbUI7VUFDbkIsa0JBQWtCO1VBQ2xCLDJCQUFtQjtjQUFuQiw0QkFBbUI7a0JBQW5CLG1CQUFtQjtVQUNuQixrQkFBa0I7VUFDbEIsU0FBUztVQUNULFdBQVc7VUx0QmIsb0NLdUIrQjtVTGYvQixnQ0tlK0I7VUxQL0IsNEJLTytCLEVBQzlCO1FBckRUO1VBd0RVLFlBQVk7VUFDWixtQkFBbUI7VUFDbkIsUUFBUTtVQUNSLE9BQU87VUFDUCxZQUFZO1VBQ1osYUFBYTtVQUNiLFdBQVc7VUFDWCw4SEFBOEg7VUFDaEMsY0FBYztVQUNaLDZCQUE2QjtVQUM3SCxnRkFBMkI7VUFBaUUsc0RBQXNEO1VBQ2xKLHNIQUFxSDtVQUFFLFdBQVcsRUFFbkk7UUFFRDtVQUNFLFdBQVc7VUwzQmIscUJLNEI2QjtVQUMzQixtQkFBbUI7VUFDbkIsV0FBVztVQUNYLGFBQWE7VUFDYixZQUFZO1VBQ1osZ0JBQWdCO1VMakRsQixvQ0trRCtCO1VMMUMvQixnQ0swQytCO1VMbEMvQiw0QktrQytCLEVBQzlCO01BSWM7UUFDYixXQUFXLEVBQ1o7O0FBTVQ7RUFHTSxjQUFjO0VBQ2QsbUJBQVc7TUFBWCxlQUFXO1VBQVgsV0FBVyxFQUNaOztBQ3ZHTDtFQUNFLGdCQUFnQjtFQUNoQiwwQ0FBc0I7RUFDdEIsc0JBQWM7RUFBZCxxQkFBYztFQUFkLGNBQWM7RUFDZCwrQkFBdUI7TUFBdkIsMkJBQXVCO1VBQXZCLHVCQUF1QjtFQUN2QixnQkFBUTtNQUFSLFlBQVE7VUFBUixRQUFRO0VBQ1IsWUFBWTtFQUNaLGFBQWE7RUFDYixZQUFZO0VOMkJOLHFDTXpCdUI7RU5pQ3ZCLGlDTWpDdUI7RU55Q3ZCLDZCTXpDdUI7RU55Q3ZCLG1DTWpDMkI7RU5pQzNCLDJCTWpDMkIsRUFtRWxDO0VBckZEO0lBY0ksc0JBQWM7SUFBZCxxQkFBYztJQUFkLGNBQWM7SU5xQlYsa0NNcEJ5QjtJTjRCekIsOEJNNUJ5QjtJTm9DekIsMEJNcEN5QixFQUM5QjtFQUlBO0lBQ0MsbUJBQW1CO0lBQ25CLFdBQVc7SUFDWCxZQUFZO0lBQ1osaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixlakVzQ1csRWlFckNaO0VBRUQ7SUFDRSxnQkFBUTtRQUFSLFlBQVE7WUFBUixRQUFRO0lBQ1Isc0JBQWM7SUFBZCxxQkFBYztJQUFkLGNBQWM7SUFDZCw0QkFBb0I7UUFBcEIsd0JBQW9CO1lBQXBCLG9CQUFvQjtJQUNwQiwyQkFBbUI7UUFBbkIsNEJBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQixZQUFZO0lBQ1osaUJBQWlCO0lBQ2pCLDRCQUFvQjtRQUFwQix1QkFBb0I7WUFBcEIsb0JBQW9CO0lBQ3BCLG1CQUFtQixFQStDcEI7SUFwRkg7TUF3Q00sZ0JBQVE7VUFBUixZQUFRO2NBQVIsUUFBUSxFQUNUO0lBSUc7TUFDRSwwQkFBMEI7TUFDMUIsa0JBQWtCO01BQ2xCLGVqRWdCSyxFaUVYTjtNQVJEO1FBTUksMkJqRWFHLEVpRVpKO0lBR0Q7TUFDQSxvQmpFT0ssRWlFQU47TUEvRFQ7UUE0RGMsNEJqRUlDLEVpRUhGO0lBN0RiO01Bb0VNLGlCQUFpQjtNQUNqQixlQUFlO01BQ2YsZWpFTlMsRWlFbUJWO01BbkZMO1FBMkVZLGVqRVhHLEVpRWdCSjtRQUhDO1VBQ0Usa0JBQWtCLEVBQ25COztBQVFiO0VBQ0UsZ0JBQWdCO0VBQ2hCLE9BQU87RUFDUCxhQUFhO0VBQ2IsWUFBWTtFQUNaLG9CakU1QmE7RWlFNkJiLGNBQWM7RUFDZCxzQkFBYztFQUFkLHFCQUFjO0VBQWQsY0FBYztFQUNkLDZDQUE2QjtFTjVDdkIsbUJNK0NxQjtFTi9EckIscUNNZ0V3QjtFTnhEeEIsaUNNd0R3QjtFTmhEeEIsNkJNZ0R3QixFQWdGL0I7RUE1RkQ7SU5wRFEsa0NNbUUwQjtJTjNEMUIsOEJNMkQwQjtJTm5EMUIsMEJNbUQwQixFQUMvQjtFQWhCSDs7SUFvQkksaUJBQWlCO0lBQ2pCLFVBQVU7SUFDVixXQUFXO0lBQ1gsZ0JBQVE7UUFBUixZQUFRO1lBQVIsUUFBUTtJQUNSLHNCQUFjO0lBQWQscUJBQWM7SUFBZCxjQUFjLEVBOEJmO0lBdERIOztNQTJCTSxzQkFBc0IsRUEwQnZCO01BckRMOztRQThCUSxlQUFlO1FBQ2YsYUFBYTtRQUNiLGtCQUFrQjtRQUNsQix1QkFBdUI7UUFDdkIsZ0JBQWdCO1FBQ2hCLGVqRTNETyxFaUU0RVI7UUF2QkQ7O1VBU0ksb0JqRTNEYztVaUU0RGQsZWpFOURLLEVpRStETjtRQVhIOztVQWNJLG9CakUvRGE7VWlFZ0ViLGVqRW5FSyxFaUVvRU47UUFFRDs7VUFDRSxtQkFBbUI7VUFDbkIsc0JBQXNCO1VOckd4QiwrQ01zRzBDO1VOOUYxQywyQ004RjBDO1VOdEYxQyx1Q01zRjBDLEVBQ3pDO0VBbkRUO0lBMERNLGFBQWEsRUFDZDtFQUdEO0lBQ0Esb0NBQTRCO1FBQTVCLGdDQUE0QjtZQUE1Qiw0QkFBNEIsRUEyQjdCO0k5RDNDQztNOERlQTtRQUlDLG1CQUFXO1lBQVgsZUFBVztnQkFBWCxXQUFXO1FBQ1gsbUJBQW1CLEVBdUJyQixFQUFBO0lBMUZIO01BdUVNLCtCakVqR2UsRWlFbUhoQjtNQW5CRDtRQUlJLG9CakVuR1c7UWlFb0dYLGVqRXZHYyxFaUVnSGY7UUFQQztVQUNDLGdCQUFnQixFQUNoQjtRQS9FVDtVQWtGVSxvQkFBbUIsRUFDcEI7O0FBV1Q7RUFDRSxZQUFZO0VBQ1osb0JqRXZIYTtFaUV3SGIsWUFBWSxFQVViO0VBYkQ7SUFNSSxrQkFBa0IsRUFDbkI7RUFQSDtJQVVJLG1CQUFtQixFQUVwQjs7QUNqTUg7RUFDRSxjQUFjO0VBQ2QsbUJBQW1CO0VBQ25CLHNCQUFjO0VBQWQscUJBQWM7RUFBZCxjQUFjO0VBQ2QsbUJBQW1CLEVBaWRwQjtFQXJkRDtJQVFNLGFBQWEsRUFDZDtFQVRMO0lBY1UsWUFBWTtJQUNaLDBFQUF3RTtJQUN4RSxtQkFBbUI7SUFDbkIsUUFBUTtJQUNSLE9BQU87SUFDUCxZQUFZO0lBQ1osYUFBYSxFQUNkO0VBckJUO0lBeUJJLGFBQWE7SUFDYixzQkFBYztJQUFkLHFCQUFjO0lBQWQsY0FBYztJQUNkLCtCQUF1QjtRQUF2QiwyQkFBdUI7WUFBdkIsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQixPQUFPO0lBQ1AsUUFBUTtJQUNSLGFBQWE7SUFDYixzQ0FBZ0IsRUFpUmpCO0lBalRIO01BbUNNLGlDbEUwQmU7TWtFekJmLG1CQUFtQjtNQUNuQixnQkFBZ0I7TUFDaEIsVUFBVTtNQUNWLG1CQUFtQixFQUNwQjtJQXhDTDtNQTJDSyxZQUFZO01BQ1osY0FBYztNQUNkLDBEQUFxQjtNQUNyQixzQkFBc0I7TUFDdEIsNkJBQTZCO01BQzdCLGdDQUFnQyxFQUNoQztJQUVEO01BQ0MsYUFBYTtNQUNWLHNCQUFjO01BQWQscUJBQWM7TUFBZCxjQUFjO01BQ2QsZ0JBQVE7VUFBUixZQUFRO2NBQVIsUUFBUTtNQUNSLCtCQUF1QjtVQUF2QiwyQkFBdUI7Y0FBdkIsdUJBQXVCLEVBZ0MxQjtNQXZGTDtRQTBEVSxtQkFBbUIsRUFtQnBCO1FBN0VUO1VBNkRZLFVBQVU7VUFDVixtQkFBbUI7VUFDbkIsV0FBVyxFQUNaO1FBaEVYO1VBbUVZLGtCQUFrQjtVQUNsQixtQkFBbUI7VUFDbkIsbUJBQW1CO1VBQ25CLFFBQVE7VUFDUixPQUFPO1VBQ1AsWUFBWTtVQUNaLGFBQWE7VUFDYixvQkFBb0I7VUFDcEIsdUJBQXVCLEVBQ3hCO01BNUVYO1FBK0VNLGNBQWMsRUFPZDtRQXRGTjtVQWtGTyxZQUFZO1VBQ1osbUJBQW1CO1VBQ25CLG9CQUFvQixFQUNwQjtJQUlIO01BQ0UsZ0JBQVE7VUFBUixZQUFRO2NBQVIsUUFBUTtNQUNSLGlCQUFpQjtNQUNqQiwrQmxFL0JlO01rRWdDZixpQ2xFaENlLEVrRTZHaEI7TUExS0w7UUFnR1Esc0JBQWM7UUFBZCxxQkFBYztRQUFkLGNBQWM7UUFDZCxXQUFXO1FBQ1gsNEJBQW9CO1lBQXBCLHVCQUFvQjtnQkFBcEIsb0JBQW9CO1FBQ3BCLFlBQVk7UUFDWixpQ2xFdkNhO1FrRXdDYixnQkFBZ0I7UUFDaEIsZWxFdkNPO1EyRFpQLHNCT29ENkI7UUFDN0IsbUJBQW1CLEVBaUVwQjtRQTFFQTtVQVlHLCtCbEU5Q1csRWtFK0NaO1FBRUQ7VUFDRSxZQUFZO1VBQ1osbUJBQW1CO1VBQ25CLG9CQUFvQjtVQUNwQixhQUFhO1VBQ2IsZ0JBQWdCO1VBQ2hCLG1CQUFtQixFQUNwQjtRQXJIVDtVQXdIUywrQkFBZ0I7Y0FBaEIsMkJBQWdCO2tCQUFoQix1QkFBZ0IsRUFDaEI7UUF6SFQ7VUE2SFUsbUJBQW1CO1VBQ25CLGFBQWE7VUFDYixhQUFhO1VMMUhyQiwyQ0FBMkM7VUFDM0MsOEJBQThCO1VBQzlCLCtCQUErQjtVQUMvQixnQ0FBZ0M7VUFDaEMsZ0NBQWdDO1VBQ2hDLFlBQVk7VUFDWixlQUFlO1VBQ2Ysb0NBQW9DO1VBQ3BDLG1DQUFtQztVQUNuQyxpQkFBaUI7VUFDakIsb0JBQW9CO1VBRXBCLGFLZ0gyQjtVQUNuQixlbEUvRUk7VWtFZ0ZKLGdCQUFnQixFQUNoQjtRQXBJVjtVQXdJVyxlbEV4RUksRWtFeUVKO1FBSUg7VUFDRSxnQkFBUTtjQUFSLFlBQVE7a0JBQVIsUUFBUSxFQWdCVDtVQTlKVDtZQWlKWSxpQkFBaUI7WUFDakIsWUFBWSxFQUNiO1VBbkpYO1lBc0pZLGVBQWE7WUFDYiwwQkFBMEI7WUFDMUIsaUJBQWlCLEVBQ2xCO1VBekpYO1lQbURRLHNCT3lHaUMsRUFDOUI7UUE3Slg7VUFpS1UsMEJsRTlHSSxFa0VxSEw7VUFKRztZQUNFLGVsRXJHQyxFa0VzR0Y7SUF0S2I7TUE2S00sbUJBQWtCO01BQ2xCLG1CQUFtQjtNQUNuQixnQkFBUTtVQUFSLFlBQVE7Y0FBUixRQUFRO01BQ1Isc0JBQWM7TUFBZCxxQkFBYztNQUFkLGNBQWMsRUF3RmY7TUF4UUw7UUFtTE8sZ0JBQWdCLEVBQ2hCO01BRUo7UUFDQyxzQkFBYztRQUFkLHFCQUFjO1FBQWQsY0FBYztRQUNkLGNBQWM7UUFDZCxnQkFBZ0I7UUFDaEIsbUJBQW1CO1FBQ25CLCtCQUF1QjtZQUF2QiwyQkFBdUI7Z0JBQXZCLHVCQUF1QjtRQUN2QixnQkFBUTtZQUFSLFlBQVE7Z0JBQVIsUUFBUSxFQUNSO01BN0xKO1FBZ01RLGFBQWE7UUFDYixzQkFBYztRQUFkLHFCQUFjO1FBQWQsY0FBYztRQUNkLGdCQUFRO1lBQVIsWUFBUTtnQkFBUixRQUFRO1FBQ1IsK0JBQXVCO1lBQXZCLDJCQUF1QjtnQkFBdkIsdUJBQXVCLEVBb0V4QjtRQXZRUDtVQXNNVSxtQkFBbUIsRUFtQnBCO1VBakJDO1lBQ0UsVUFBVTtZQUNWLG1CQUFtQjtZQUNuQixXQUFXLEVBQ1o7VUFFRDtZQUNFLGtCQUFrQjtZQUNsQixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLFFBQVE7WUFDUixPQUFPO1lBQ1AsWUFBWTtZQUNaLGFBQWE7WUFDYixvQkFBb0I7WUFDcEIsdUJBQXVCLEVBQ3hCO1FBR0g7VUFDRSxnQkFBUTtjQUFSLFlBQVE7a0JBQVIsUUFBUTtVQUNSLGVBQWUsRUF3Q2hCO1VBclFUO1lBZ09LLG9CQUFvQjtZQUNwQixzQkFBYztZQUFkLHFCQUFjO1lBQWQsY0FBYztZQUNkLDRCQUFvQjtnQkFBcEIsd0JBQW9CO29CQUFwQixvQkFBb0IsRUE4QnBCO1lBaFFMO2NBcU9NLGVsRXJLUztja0VzS1Qsc0JBQXNCO2NBQ3RCLG9CQUFvQjtjQUNwQixnQkFBZ0I7Y0FDaEIsZ0JBQVE7a0JBQVIsWUFBUTtzQkFBUixRQUFRO2NBQ1IsbUJBQW1CLEVBU25CO2NBblBOO2dCQTZPTyxlQUFlLEVBQ2Y7Y0E5T1A7Z0JBaVBPLGdCQUFnQixFQUNoQjtZQWxQUDtjQXNQTSwwQmxFcExrQixFa0VxTGxCO1lBdlBOO2NBMFBNLDBCbEV2TGlCLEVrRXdMakI7WUEzUE47Y0E4UE0sMEJsRXZMa0IsRWtFd0xsQjtVQS9QTjtZQW1RWSxnQkFBZ0IsRUFDakI7SUFwUVg7TUEyUU0sbUJBQW1CO01BQ25CLE9BQU87TUFDUCxZQUFZO01BQ1osZ0JBQVE7VUFBUixZQUFRO2NBQVIsUUFBUSxFQUNUO0lBL1FMO01QbURRLDBETytObUUsRUFDdEU7SUFuUkw7TVBtQ1EscUNPbVAyQjtNUDNPM0IsaUNPMk8yQjtNUG5PM0IsNkJPbU8yQixFQUM5QjtJQUU4QjtNUHRQM0IscUNPdVAyQjtNUC9PM0IsaUNPK08yQjtNUHZPM0IsNkJPdU8yQixFQUM5QjtJQUV3QjtNUDFQckIsb0NPMlAyQjtNUG5QM0IsZ0NPbVAyQjtNUDNPM0IsNEJPMk8yQixFQUM5QjtJQUVjO01QOVBYLG9DTytQMkI7TVB2UDNCLGdDT3VQMkI7TVAvTzNCLDRCTytPMkIsRUFDOUI7SUFFcUI7TVBsUWxCLHFDT21RMkI7TVAzUDNCLGlDTzJQMkI7TVBuUDNCLDZCT21QMkIsRUFDOUI7SUF2U0w7TVBtQ1Esb0NPdVEyQjtNUC9QM0IsZ0NPK1AyQjtNUHZQM0IsNEJPdVAyQixFQUM5QjtJQTNTTDs7TVBtQ1Esa0NPNFEyQjtNUHBRM0IsOEJPb1EyQjtNUDVQM0IsMEJPNFAyQixFQUM5QjtFQWhUTDtJQW9USSxnQkFBUTtRQUFSLFlBQVE7WUFBUixRQUFRLEVBK0pUO0lBN0pDO01BQ0UsY0FBYyxFQUNmO0lBeFRMO01BNlRVLGNsRTFRSTtNa0UyUUosZ0JBQWdCO01BQ2hCLGtCQUFrQjtNQUNsQixnQmxFN1FJO00yREFOLHFCTzhROEIsRUFLN0I7TUFWRDtRQVFJLGlCQUFpQixFQUNsQjtJQUtQO01BQ0MsWUFBWSxFQUNaO0lBNVVMO01BbVZRLGNBQWMsRUFDZjtJQXBWUDtNQXVWUSxlbEV2Uk87TWtFd1JQLG9CbEUxUlcsRWtFMFRaO01BeFhQO1FBMlZVLDBCQUEwQjtRQUMxQixzQkFBc0I7UUFDdEIsaUJBQWlCO1FBQ2pCLG1CQUFtQjtRQUNuQixXQUFXO1FBQ1gsaUJBQWlCLEVBdUJsQjtRQXZYVDtVQW1XVyxhQUFhLEVBQ2I7UUFwV1g7VUF1V1csbUJBQW1CO1VBQ25CLFVBQVU7VUFDVixXQUFXO1VBQ1gsYUFBYTtVQUNiLCtCQUFnQjtVQUNoQix1QkFBdUIsRUFVdkI7VUFoQkQ7WUFTRSxtQkFBbUI7WUFDbkIsc0JBQXNCLEVBS3RCO1lBSkE7Y0FDQyxpQkFBaUI7Y0FDakIsbUJBQW1CLEVBQ25CO0lBcFhiO01BNFhVLDBCbEU5VFMsRWtFK1RWO0lBSUw7TUFHRSx5QkFBeUIsRUFDekI7SUFyWU47TUF3WU0sd0JBQXdCLEVBQ3hCO0lBellOO01BNFlNLFlBQVk7TUFDWixhQUFhO01BQ2IsdURBQXFCO01BQ3JCLHNCQUFzQjtNQUN0Qiw2QkFBNkI7TUFDN0IsbUNBQW1DO01BQ25DLHFDQUFxQjtVQUFyQixpQ0FBcUI7Y0FBckIsNkJBQXFCO01BQ3JCLGFBQWEsRUFDYjtJQUVBO01BR0UsbUJBQW1CLEVBd0RwQjtNQXREQzs7UUFFRSxhQUxnQjtRQU1oQixZQU5nQjtRQU9oQixvQkFBbUI7UUFDbkIsbUJBQW1CO1FBQ25CLG1CQUFtQjtRQUNuQixXQUFXO1FBQ1gsa0JBWGdCO1FBWWhCLGdCQUF1QjtRQUN2Qix1QkFBdUI7UUFDdkIsbUJBQW1CO1FBQ25CLGVsRXZXSztRMkQ3QlAsOEJPcVkwQjtRUDdYMUIsMEJPNlgwQjtRUHJYMUIsc0JPcVgwQjtRUHJYMUIscUJPdVg4QixFQU03QjtRQUpDOztVQUNFLG1CQUFtQjtVQUNuQixTQUFTLEVBQ1Y7TUEvYVg7UUFtYlUsNEJsRW5YSyxFa0VvWE47TUFwYlQ7UUF1YlUsbUJBQW1CO1FBQ25CLDBCQUF5QjtRQUN6QixZQUFZO1FQdFlkLG1CT3VZNEI7UUFDMUIsOEJsRXhZSSxFa0V5WUw7TUE1YlQ7UVBtQ1EsK0NPNFoyQztRUHBaM0MsMkNPb1oyQztRUDVZM0MsdUNPNFkyQyxFQUsxQztRQXBjVDtVQWtjWSwwQmxFL1lFLEVrRWdaSDtNQUtEO1FQcmFGLDBDT3NhNkM7UVB0WjdDLGtDT3NaNkMsRUFDMUM7TUFDRDtRQUNFLDBCbEV6WkU7UTJEaEJOLGdETzBha0Q7UVAxWmxELHdDTzBaa0QsRUFDL0M7O0FDbmNQO0VENmNGO0lBQ0UsV0FBVztJUHRiUCw4Qk91Ym9CLEVBQUE7RUFFMUI7SUFDRSxXQUFXO0lQMWJQLDRCTzJib0IsRUFBQSxFQUFBOztBQy9ieEI7RUR5YkY7SUFDRSxXQUFXO0lQdGJQLDhCT3Vib0I7SVAvYXBCLDBCTythb0I7SVB2YXBCLHNCT3Vhb0IsRUFBQTtFQUUxQjtJQUNFLFdBQVc7SVAxYlAsNEJPMmJvQjtJUG5icEIsd0JPbWJvQjtJUDNhcEIsb0JPMmFvQixFQUFBLEVBQUE7O0FDbmR4QjtFRHdkRjtJUGhjTSw4Qk9pY29CLEVBQUE7RUFFMUI7SVBuY00sNEJPb2NvQixFQUFBO0VBRTFCO0lQdGNNLCtCT3Vjb0IsRUFBQSxFQUFBOztBQzNjeEI7RURvY0Y7SVBoY00sOEJPaWNvQjtJUHpicEIsMEJPeWJvQjtJUGpicEIsc0JPaWJvQixFQUFBO0VBRTFCO0lQbmNNLDRCT29jb0I7SVA1YnBCLHdCTzRib0I7SVBwYnBCLG9CT29ib0IsRUFBQTtFQUUxQjtJ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OUM7O0FBakJMO0VBc0JNLDBCQUFrQyxFQUNuQzs7QUFHSDtFQUVHLGVwRjNDUyxFb0Z3RFY7RUF6Q0o7SUE4Qk8sZXBGN0NPO0lvRjhDUCxzQnBGOUNPLEVvRm1EUjtJQVBEO01BS0ksMEJwRmpESyxFb0ZrRE47RUFUTjtJQWFLLDBCcEZ0RE8sRW9GdURSOztBQXhDTjtFQTZDSywwQnBGNURTO0VvRjZEVCxlcEZoRFUsRW9GaURWOztBQS9DTDtFQXFESyxlcEZ4RFUsRW9GaUVWO0VBOURMO0lBd0RNLGVwRnZFUSxFb0Z3RVI7RUF6RE47SUE0RE0sZXBGM0VRLEVvRjRFUiIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuMC42XG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuQGltcG9ydCB1cmwoLi4vZm9udHMvZnV0dXJlbmF0by1pY29ucy9zdHlsZXMuY3NzKTtcbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlciwgLnNsaWRlLWluLWxlZnQubXVpLWVudGVyLCAuc2xpZGUtaW4tdXAubXVpLWVudGVyLCAuc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyLCAuc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlLCAuc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZSwgLnNsaWRlLW91dC11cC5tdWktbGVhdmUsIC5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUsIC5mYWRlLWluLm11aS1lbnRlciwgLmZhZGUtb3V0Lm11aS1sZWF2ZSwgLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlciwgLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyLCAuaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyLCAuaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlciwgLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyLCAuaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIsIC5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlLCAuaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlLCAuaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZSwgLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlLCAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlLCAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlLCAuc2NhbGUtaW4tdXAubXVpLWVudGVyLCAuc2NhbGUtaW4tZG93bi5tdWktZW50ZXIsIC5zY2FsZS1vdXQtdXAubXVpLWxlYXZlLCAuc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlLCAuc3Bpbi1pbi5tdWktZW50ZXIsIC5zcGluLW91dC5tdWktbGVhdmUsIC5zcGluLWluLWNjdy5tdWktZW50ZXIsIC5zcGluLW91dC1jY3cubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7IH1cblxuLm1hcGJveGdsLW1hcCB7XG4gIGZvbnQ6IDEycHgvMjBweCAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLm1hcGJveGdsLWNhbnZhcy1jb250YWluZXIubWFwYm94Z2wtaW50ZXJhY3RpdmUsXG4ubWFwYm94Z2wtY3RybC1uYXYtY29tcGFzcyB7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xuICBjdXJzb3I6IC1tb3otZ3JhYjtcbiAgY3Vyc29yOiBncmFiOyB9XG5cbi5tYXBib3hnbC1jYW52YXMtY29udGFpbmVyLm1hcGJveGdsLWludGVyYWN0aXZlOmFjdGl2ZSxcbi5tYXBib3hnbC1jdHJsLW5hdi1jb21wYXNzOmFjdGl2ZSB7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZztcbiAgY3Vyc29yOiAtbW96LWdyYWJiaW5nO1xuICBjdXJzb3I6IGdyYWJiaW5nOyB9XG5cbi5tYXBib3hnbC1jdHJsLXRvcC1sZWZ0LFxuLm1hcGJveGdsLWN0cmwtdG9wLXJpZ2h0LFxuLm1hcGJveGdsLWN0cmwtYm90dG9tLWxlZnQsXG4ubWFwYm94Z2wtY3RybC1ib3R0b20tcmlnaHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLm1hcGJveGdsLWN0cmwtdG9wLWxlZnQge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7IH1cblxuLm1hcGJveGdsLWN0cmwtdG9wLXJpZ2h0IHtcbiAgdG9wOiAwO1xuICByaWdodDogMDsgfVxuXG4ubWFwYm94Z2wtY3RybC1ib3R0b20tbGVmdCB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDsgfVxuXG4ubWFwYm94Z2wtY3RybC1ib3R0b20tcmlnaHQge1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwOyB9XG5cbi5tYXBib3hnbC1jdHJsIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLm1hcGJveGdsLWN0cmwtdG9wLWxlZnQgLm1hcGJveGdsLWN0cmwge1xuICBtYXJnaW46IDEwcHggMCAwIDEwcHg7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5tYXBib3hnbC1jdHJsLXRvcC1yaWdodCAubWFwYm94Z2wtY3RybCB7XG4gIG1hcmdpbjogMTBweCAxMHB4IDAgMDtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5tYXBib3hnbC1jdHJsLWJvdHRvbS1sZWZ0IC5tYXBib3hnbC1jdHJsIHtcbiAgbWFyZ2luOiAwIDAgMTBweCAxMHB4O1xuICBmbG9hdDogbGVmdDsgfVxuXG4ubWFwYm94Z2wtY3RybC1ib3R0b20tcmlnaHQgLm1hcGJveGdsLWN0cmwge1xuICBtYXJnaW46IDAgMTBweCAxMHB4IDA7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4ubWFwYm94Z2wtY3RybC1ncm91cCB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgLW1vei1ib3gtc2hhZG93OiAwcHggMHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG5cbi5tYXBib3hnbC1jdHJsLWdyb3VwID4gYnV0dG9uIHtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLyogaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwNTYyICovXG4ubWFwYm94Z2wtY3RybCA+IGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4ubWFwYm94Z2wtY3RybCA+IGJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogMDsgfVxuXG4ubWFwYm94Z2wtY3RybCA+IGJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNSk7IH1cblxuLm1hcGJveGdsLWN0cmwtaWNvbixcbi5tYXBib3hnbC1jdHJsLWljb24gPiBkaXYuYXJyb3cge1xuICBzcGVhazogbm9uZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuLm1hcGJveGdsLWN0cmwtaWNvbi5tYXBib3hnbC1jdHJsLXpvb20tb3V0IHtcbiAgcGFkZGluZzogNXB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHZpZXdCb3glM0QlMjcwJTIwMCUyMDIwJTIwMjAlMjclMjB4bWxucyUzRCUyN2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyNyUzRSUwQSUyMCUyMCUzQ3BhdGglMjBzdHlsZSUzRCUyN2ZpbGwlM0ElMjMzMzMzMzMlM0IlMjclMjBkJTNEJTI3bSUyMDclMkM5JTIwYyUyMC0wLjU1NCUyQzAlMjAtMSUyQzAuNDQ2JTIwLTElMkMxJTIwMCUyQzAuNTU0JTIwMC40NDYlMkMxJTIwMSUyQzElMjBsJTIwNiUyQzAlMjBjJTIwMC41NTQlMkMwJTIwMSUyQy0wLjQ0NiUyMDElMkMtMSUyMDAlMkMtMC41NTQlMjAtMC40NDYlMkMtMSUyMC0xJTJDLTElMjB6JTI3JTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIpOyB9XG5cbi5tYXBib3hnbC1jdHJsLWljb24ubWFwYm94Z2wtY3RybC16b29tLWluIHtcbiAgcGFkZGluZzogNXB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHZpZXdCb3glM0QlMjcwJTIwMCUyMDIwJTIwMjAlMjclMjB4bWxucyUzRCUyN2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyNyUzRSUwQSUyMCUyMCUzQ3BhdGglMjBzdHlsZSUzRCUyN2ZpbGwlM0ElMjMzMzMzMzMlM0IlMjclMjBkJTNEJTI3TSUyMDEwJTIwNiUyMEMlMjA5LjQ0NiUyMDYlMjA5JTIwNi40NDU5OTA0JTIwOSUyMDclMjBMJTIwOSUyMDklMjBMJTIwNyUyMDklMjBDJTIwNi40NDYlMjA5JTIwNiUyMDkuNDQ2JTIwNiUyMDEwJTIwQyUyMDYlMjAxMC41NTQlMjA2LjQ0NiUyMDExJTIwNyUyMDExJTIwTCUyMDklMjAxMSUyMEwlMjA5JTIwMTMlMjBDJTIwOSUyMDEzLjU1NDAxJTIwOS40NDYlMjAxNCUyMDEwJTIwMTQlMjBDJTIwMTAuNTU0JTIwMTQlMjAxMSUyMDEzLjU1NDAxJTIwMTElMjAxMyUyMEwlMjAxMSUyMDExJTIwTCUyMDEzJTIwMTElMjBDJTIwMTMuNTU0JTIwMTElMjAxNCUyMDEwLjU1NCUyMDE0JTIwMTAlMjBDJTIwMTQlMjA5LjQ0NiUyMDEzLjU1NCUyMDklMjAxMyUyMDklMjBMJTIwMTElMjA5JTIwTCUyMDExJTIwNyUyMEMlMjAxMSUyMDYuNDQ1OTkwNCUyMDEwLjU1NCUyMDYlMjAxMCUyMDYlMjB6JTI3JTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIpOyB9XG5cbi5tYXBib3hnbC1jdHJsLWljb24ubWFwYm94Z2wtY3RybC1nZW9sb2NhdGUge1xuICBwYWRkaW5nOiA1cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIwdmlld0JveCUzRCUyNzAlMjAwJTIwMjAlMjAyMCUyNyUyMHhtbG5zJTNEJTI3aHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTI3JTNFJTNDcGF0aCUyMHN0eWxlJTNEJTI3ZmlsbCUzQSUyMzMzMzMzMyUzQiUyNyUyMGQlM0QlMjdNMTMlMkM3JTIwTDEwLjUlMkMxMS43NSUyMEwxMC4yNSUyQzEwJTIweiUyME0xMy44ODglMkM2LjExMiUyMEMxMy42MTUlMkM1Ljg0JTIwMTMuMzgyJTJDNi4wNzYlMjAxMi41JTJDNi41JTIwQzEwLjE0JTJDNy42MzQlMjA2JTJDMTAlMjA2JTJDMTAlMjBMOS41JTJDMTAuNSUyMEwxMCUyQzE0JTIwQzEwJTJDMTQlMjAxMi4zNjYlMkM5Ljg2JTIwMTMuNSUyQzcuNSUyMEMxMy45MjQlMkM2LjYxNyUyMDE0LjE2JTJDNi4zODUlMjAxMy44ODglMkM2LjExMiUyNyUyRiUzRSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4ubWFwYm94Z2wtY3RybC1pY29uLm1hcGJveGdsLWN0cmwtY29tcGFzcyA+IGRpdi5hcnJvdyB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIG1hcmdpbjogNXB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHhtbG5zJTNEJTI3aHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTI3JTIwdmlld0JveCUzRCUyNzAlMjAwJTIwMjAlMjAyMCUyNyUzRSUwQSUwOSUzQ3BvbHlnb24lMjBmaWxsJTNEJTI3JTIzMzMzMzMzJTI3JTIwcG9pbnRzJTNEJTI3NiUyQzklMjAxMCUyQzElMjAxNCUyQzklMjclMkYlM0UlMEElMDklM0Nwb2x5Z29uJTIwZmlsbCUzRCUyNyUyM0NDQ0NDQyUyNyUyMHBvaW50cyUzRCUyNzYlMkMxMSUyMDEwJTJDMTklMjAxNCUyQzExJTIwJTI3JTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5tYXBib3hnbC1jdHJsLm1hcGJveGdsLWN0cmwtYXR0cmliIHtcbiAgcGFkZGluZzogMCA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5tYXBib3hnbC1jdHJsLWF0dHJpYiBhIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4ubWFwYm94Z2wtY3RybC1hdHRyaWIgYTpob3ZlciB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4ubWFwYm94Z2wtY3RybC1hdHRyaWIgLm1hcGJveC1pbXByb3ZlLW1hcCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tbGVmdDogMnB4OyB9XG5cbi5tYXBib3hnbC1wb3B1cCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5tYXBib3hnbC1wb3B1cC1hbmNob3ItdG9wLFxuLm1hcGJveGdsLXBvcHVwLWFuY2hvci10b3AtbGVmdCxcbi5tYXBib3hnbC1wb3B1cC1hbmNob3ItdG9wLXJpZ2h0IHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5tYXBib3hnbC1wb3B1cC1hbmNob3ItYm90dG9tLFxuLm1hcGJveGdsLXBvcHVwLWFuY2hvci1ib3R0b20tbGVmdCxcbi5tYXBib3hnbC1wb3B1cC1hbmNob3ItYm90dG9tLXJpZ2h0IHtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuXG4ubWFwYm94Z2wtcG9wdXAtYW5jaG9yLWxlZnQge1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cblxuLm1hcGJveGdsLXBvcHVwLWFuY2hvci1yaWdodCB7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLm1hcGJveGdsLXBvcHVwLXRpcCB7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgei1pbmRleDogMTsgfVxuXG4ubWFwYm94Z2wtcG9wdXAtYW5jaG9yLXRvcCAubWFwYm94Z2wtcG9wdXAtdGlwIHtcbiAgLXdlYmtpdC1hbGlnbi1zZWxmOiBjZW50ZXI7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjsgfVxuXG4ubWFwYm94Z2wtcG9wdXAtYW5jaG9yLXRvcC1sZWZ0IC5tYXBib3hnbC1wb3B1cC10aXAge1xuICAtd2Via2l0LWFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmOyB9XG5cbi5tYXBib3hnbC1wb3B1cC1hbmNob3ItdG9wLXJpZ2h0IC5tYXBib3hnbC1wb3B1cC10aXAge1xuICAtd2Via2l0LWFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmOyB9XG5cbi5tYXBib3hnbC1wb3B1cC1hbmNob3ItYm90dG9tIC5tYXBib3hnbC1wb3B1cC10aXAge1xuICAtd2Via2l0LWFsaWduLXNlbGY6IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItdG9wLWNvbG9yOiAjZmZmOyB9XG5cbi5tYXBib3hnbC1wb3B1cC1hbmNob3ItYm90dG9tLWxlZnQgLm1hcGJveGdsLXBvcHVwLXRpcCB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gIGJvcmRlci10b3AtY29sb3I6ICNmZmY7IH1cblxuLm1hcGJveGdsLXBvcHVwLWFuY2hvci1ib3R0b20tcmlnaHQgLm1hcGJveGdsLXBvcHVwLXRpcCB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gIGJvcmRlci10b3AtY29sb3I6ICNmZmY7IH1cblxuLm1hcGJveGdsLXBvcHVwLWFuY2hvci1sZWZ0IC5tYXBib3hnbC1wb3B1cC10aXAge1xuICAtd2Via2l0LWFsaWduLXNlbGY6IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZmZmOyB9XG5cbi5tYXBib3hnbC1wb3B1cC1hbmNob3ItcmlnaHQgLm1hcGJveGdsLXBvcHVwLXRpcCB7XG4gIC13ZWJraXQtYWxpZ24tc2VsZjogY2VudGVyO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZmY7IH1cblxuLm1hcGJveGdsLXBvcHVwLWNsb3NlLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwIDNweCAwIDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLm1hcGJveGdsLXBvcHVwLWNsb3NlLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNSk7IH1cblxuLm1hcGJveGdsLXBvcHVwLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgcGFkZGluZzogMTBweCAxMHB4IDE1cHg7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG5cbi5tYXBib3hnbC1wb3B1cC1hbmNob3ItdG9wLWxlZnQgLm1hcGJveGdsLXBvcHVwLWNvbnRlbnQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOyB9XG5cbi5tYXBib3hnbC1wb3B1cC1hbmNob3ItdG9wLXJpZ2h0IC5tYXBib3hnbC1wb3B1cC1jb250ZW50IHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cblxuLm1hcGJveGdsLXBvcHVwLWFuY2hvci1ib3R0b20tbGVmdCAubWFwYm94Z2wtcG9wdXAtY29udGVudCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cblxuLm1hcGJveGdsLXBvcHVwLWFuY2hvci1ib3R0b20tcmlnaHQgLm1hcGJveGdsLXBvcHVwLWNvbnRlbnQge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsgfVxuXG4ubWFwYm94Z2wtY3Jvc3NoYWlyLFxuLm1hcGJveGdsLWNyb3NzaGFpciAubWFwYm94Z2wtaW50ZXJhY3RpdmUsXG4ubWFwYm94Z2wtY3Jvc3NoYWlyIC5tYXBib3hnbC1pbnRlcmFjdGl2ZTphY3RpdmUge1xuICBjdXJzb3I6IGNyb3NzaGFpcjsgfVxuXG4ubWFwYm94Z2wtYm94em9vbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDJweCBkb3R0ZWQgIzIwMjAyMDtcbiAgb3BhY2l0eTogMC41OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gIC5tYXBib3gtaW1wcm92ZS1tYXAge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ubGVhZmxldC1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBmb250OiAxMnB4LzIwcHggJ0hlbHZldGljYSBOZXVlJyxBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZjtcbiAgY29sb3I6ICM0MDQwNDA7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNzUpO1xuICBvdXRsaW5lOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lOyB9XG5cbi5sZWFmbGV0LWNvbnRhaW5lciAqLCAubGVhZmxldC1jb250YWluZXIgOmFmdGVyLCAubGVhZmxldC1jb250YWluZXIgOmJlZm9yZSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5sZWFmbGV0LWNvbnRhaW5lciBoMSwgLmxlYWZsZXQtY29udGFpbmVyIGgyLCAubGVhZmxldC1jb250YWluZXIgaDMsIC5sZWFmbGV0LWNvbnRhaW5lciBoNCwgLmxlYWZsZXQtY29udGFpbmVyIGg1LCAubGVhZmxldC1jb250YWluZXIgaDYsIC5sZWFmbGV0LWNvbnRhaW5lciBwIHtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgbWFyZ2luOiAwIDAgMTBweDsgfVxuXG4ubGVhZmxldC1jb250YWluZXIgLm1hcmtlci1kZXNjcmlwdGlvbiBpbWcge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5sZWFmbGV0LWNvbnRhaW5lciBhIHtcbiAgY29sb3I6ICMzODg3QkU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4ubGVhZmxldC1jb250YWluZXIgYTpob3ZlciwgLmxlYWZsZXQtY29udGFpbmVyLmRhcmsgYSB7XG4gIGNvbG9yOiAjNjNiNmU1OyB9XG5cbi5sZWFmbGV0LWNvbnRhaW5lci5kYXJrIGE6aG92ZXIge1xuICBjb2xvcjogIzhmY2FlYzsgfVxuXG4ubGVhZmxldC1jb250YWluZXIgLm1hcGJveC1idXR0b24sIC5sZWFmbGV0LWNvbnRhaW5lci5kYXJrIC5tYXBib3gtYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM4ODdiZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDQwcHg7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDEycHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9XG5cbi5sZWFmbGV0LWNvbnRhaW5lciAubWFwYm94LWJ1dHRvbjpob3ZlciwgLmxlYWZsZXQtY29udGFpbmVyLmRhcmsgLm1hcGJveC1idXR0b246aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNiYjJkMDsgfVxuXG4ubGVhZmxldC1pbWFnZS1sYXllciwgLmxlYWZsZXQtbGF5ZXIsIC5sZWFmbGV0LW1hcC1wYW5lLCAubGVhZmxldC1tYXJrZXItaWNvbiwgLmxlYWZsZXQtbWFya2VyLXBhbmUsIC5sZWFmbGV0LW1hcmtlci1zaGFkb3csIC5sZWFmbGV0LW92ZXJsYXktcGFuZSwgLmxlYWZsZXQtb3ZlcmxheS1wYW5lIHN2ZywgLmxlYWZsZXQtcG9wdXAtcGFuZSwgLmxlYWZsZXQtc2hhZG93LXBhbmUsIC5sZWFmbGV0LXRpbGUsIC5sZWFmbGV0LXRpbGUtY29udGFpbmVyLCAubGVhZmxldC10aWxlLXBhbmUsIC5sZWFmbGV0LXpvb20tYm94IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLmxlYWZsZXQtbWFya2VyLWljb24sIC5sZWFmbGV0LW1hcmtlci1zaGFkb3csIC5sZWFmbGV0LXRpbGUge1xuICAtd2Via2l0LXVzZXItZHJhZzogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLmxlYWZsZXQtbWFya2VyLWljb24sIC5sZWFmbGV0LW1hcmtlci1zaGFkb3cge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ubGVhZmxldC10aWxlIHtcbiAgZmlsdGVyOiBpbmhlcml0O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLmxlYWZsZXQtdGlsZS1sb2FkZWQge1xuICB2aXNpYmlsaXR5OiBpbmhlcml0OyB9XG5cbi5sZWFmbGV0LXpvb20tYm94IHtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDsgfVxuXG4ubGVhZmxldC10aWxlLXBhbmUge1xuICB6LWluZGV4OiAyOyB9XG5cbi5sZWFmbGV0LW9iamVjdHMtcGFuZSB7XG4gIHotaW5kZXg6IDM7IH1cblxuLmxlYWZsZXQtb3ZlcmxheS1wYW5lIHtcbiAgei1pbmRleDogNDsgfVxuXG4ubGVhZmxldC1zaGFkb3ctcGFuZSB7XG4gIHotaW5kZXg6IDU7IH1cblxuLmxlYWZsZXQtbWFya2VyLXBhbmUge1xuICB6LWluZGV4OiA2OyB9XG5cbi5sZWFmbGV0LXBvcHVwLXBhbmUge1xuICB6LWluZGV4OiA3OyB9XG5cbi5sZWFmbGV0LWNvbnRyb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDc7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBmbG9hdDogbGVmdDtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmxlYWZsZXQtcmlnaHQgLmxlYWZsZXQtY29udHJvbCB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4ubGVhZmxldC10b3AgLmxlYWZsZXQtY29udHJvbCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLmxlYWZsZXQtYm90dG9tIC5sZWFmbGV0LWNvbnRyb2wge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5sZWFmbGV0LWxlZnQgLmxlYWZsZXQtY29udHJvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG5cbi5sZWFmbGV0LXJpZ2h0IC5sZWFmbGV0LWNvbnRyb2wge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuLmxlYWZsZXQtYm90dG9tLCAubGVhZmxldC10b3Age1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5sZWFmbGV0LXRvcCB7XG4gIHRvcDogMDsgfVxuXG4ubGVhZmxldC1yaWdodCB7XG4gIHJpZ2h0OiAwOyB9XG5cbi5sZWFmbGV0LWJvdHRvbSB7XG4gIGJvdHRvbTogMDsgfVxuXG4ubGVhZmxldC1sZWZ0IHtcbiAgbGVmdDogMDsgfVxuXG4ubGVhZmxldC1mYWRlLWFuaW0gLmxlYWZsZXQtcG9wdXAsIC5sZWFmbGV0LWZhZGUtYW5pbSAubGVhZmxldC10aWxlIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBsaW5lYXI7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgbGluZWFyO1xuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IC4ycyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGxpbmVhcjsgfVxuXG4ubGVhZmxldC1mYWRlLWFuaW0gLmxlYWZsZXQtbWFwLXBhbmUgLmxlYWZsZXQtcG9wdXAsIC5sZWFmbGV0LWZhZGUtYW5pbSAubGVhZmxldC10aWxlLWxvYWRlZCB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmxlYWZsZXQtem9vbS1hbmltIC5sZWFmbGV0LXpvb20tYW5pbWF0ZWQge1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuMjVzIGN1YmljLWJlemllcigwLCAwLCAwLjI1LCAxKTtcbiAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAwLjI1cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSk7XG4gIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSAwLjI1cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yNSwgMSk7IH1cblxuLmxlYWZsZXQtcGFuLWFuaW0gLmxlYWZsZXQtdGlsZSwgLmxlYWZsZXQtdG91Y2hpbmcgLmxlYWZsZXQtem9vbS1hbmltYXRlZCwgLmxlYWZsZXQtem9vbS1hbmltIC5sZWFmbGV0LXRpbGUge1xuICAtd2Via2l0LXRyYW5zaXRpb246IG5vbmU7XG4gIC1tb3otdHJhbnNpdGlvbjogbm9uZTtcbiAgLW8tdHJhbnNpdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogbm9uZTsgfVxuXG4ubGVhZmxldC16b29tLWFuaW0gLmxlYWZsZXQtem9vbS1oaWRlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5sZWFmbGV0LWNvbnRhaW5lciB7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xuICBjdXJzb3I6IC1tb3otZ3JhYjsgfVxuXG4ubGVhZmxldC1jb250YWluZXIubGVhZmxldC1jbGlja2FibGUsIC5sZWFmbGV0LWNvbnRhaW5lci5tYXAtY2xpY2thYmxlLCAubGVhZmxldC1tYXJrZXItaWNvbiwgLmxlYWZsZXQtb3ZlcmxheS1wYW5lIHBhdGgge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmxlYWZsZXQtY29udHJvbCwgLmxlYWZsZXQtcG9wdXAtcGFuZSB7XG4gIGN1cnNvcjogYXV0bzsgfVxuXG4ubGVhZmxldC1kcmFnZ2luZywgLmxlYWZsZXQtZHJhZ2dpbmcgLmxlYWZsZXQtY2xpY2thYmxlLCAubGVhZmxldC1kcmFnZ2luZyAubGVhZmxldC1jb250YWluZXIsIC5sZWFmbGV0LWRyYWdnaW5nIC5tYXAtY2xpY2thYmxlIHtcbiAgY3Vyc29yOiBtb3ZlO1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmc7XG4gIGN1cnNvcjogLW1vei1ncmFiYmluZzsgfVxuXG4ubGVhZmxldC16b29tLWJveCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMnB4IGRvdHRlZCAjMjAyMDIwO1xuICBvcGFjaXR5OiAuNTsgfVxuXG4ubGVhZmxldC1iYXIsIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4ubGVhZmxldC1iYXIgYSwgLmxlYWZsZXQtYmFyIGE6aG92ZXIge1xuICBjb2xvcjogIzQwNDA0MDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cblxuLmxlYWZsZXQtYmFyIGE6YWN0aXZlLCAubGVhZmxldC1iYXIgYTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4ubGVhZmxldC1iYXIgYTpob3ZlcjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDNweCAzcHggMCAwOyB9XG5cbi5sZWFmbGV0LWJhciBhOmhvdmVyOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItcmFkaXVzOiAwIDAgM3B4IDNweDsgfVxuXG4ubGVhZmxldC1iYXIgYTpob3Zlcjpvbmx5LW9mLXR5cGUge1xuICBib3JkZXItcmFkaXVzOiAzcHg7IH1cblxuLmxlYWZsZXQtYmFyIC5sZWFmbGV0LWRpc2FibGVkIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBvcGFjaXR5OiAuNzU7IH1cblxuLmxlYWZsZXQtY29udHJvbC16b29tLWluLCAubGVhZmxldC1jb250cm9sLXpvb20tb3V0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6ICcnO1xuICB0ZXh0LWluZGVudDogLTk5OWVtOyB9XG5cbi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWxpc3QsIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWV4cGFuZGVkIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXRvZ2dsZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmxlYWZsZXQtY29udHJvbC1sYXllcnMtZXhwYW5kZWQgLmxlYWZsZXQtY29udHJvbC1sYXllcnMtbGlzdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmxlYWZsZXQtY29udHJvbC1sYXllcnMtZXhwYW5kZWQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwYWRkaW5nOiA2cHggMTBweCA2cHggNnB4O1xuICBjb2xvcjogIzQwNDA0MDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43NSk7IH1cblxuLmxlYWZsZXQtY29udHJvbC1sYXllcnMtc2VsZWN0b3Ige1xuICBtYXJnaW4tdG9wOiAycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxcHg7IH1cblxuLmxlYWZsZXQtY29udHJvbC1sYXllcnMgbGFiZWwge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ubGVhZmxldC1jb250cm9sLWxheWVycy1zZXBhcmF0b3Ige1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xuICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIG1hcmdpbjogNXB4IC0xMHB4IDVweCAtNnB4OyB9XG5cbi5sZWFmbGV0LWNvbnRhaW5lciAubGVhZmxldC1jb250cm9sLWF0dHJpYnV0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICBtYXJnaW46IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLmxlYWZsZXQtY29udGFpbmVyIC5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24gYSwgLmxlYWZsZXQtY29udGFpbmVyIC5tYXAtaW5mby1jb250YWluZXIgYSB7XG4gIGNvbG9yOiAjNDA0MDQwOyB9XG5cbi5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24gYTpob3ZlciwgLm1hcC1pbmZvLWNvbnRhaW5lciBhOmhvdmVyIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24sIC5sZWFmbGV0LWNvbnRyb2wtc2NhbGUtbGluZSB7XG4gIHBhZGRpbmc6IDAgNXB4OyB9XG5cbi5sZWFmbGV0LWxlZnQgLmxlYWZsZXQtY29udHJvbC1zY2FsZSB7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7IH1cblxuLmxlYWZsZXQtYm90dG9tIC5sZWFmbGV0LWNvbnRyb2wtc2NhbGUge1xuICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cblxuLmxlYWZsZXQtY29udGFpbmVyIC5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24ubGVhZmxldC1jb21wYWN0LWF0dHJpYnV0aW9uIHtcbiAgbWFyZ2luOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAzcHggMTNweCAxM3B4IDNweDtcbiAgcGFkZGluZzogM3B4IDMxcHggM3B4IDNweDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24ubGVhZmxldC1jb21wYWN0LWF0dHJpYnV0aW9uOmhvdmVyIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4ubGVhZmxldC1jb250cm9sLWF0dHJpYnV0aW9uLmxlYWZsZXQtY29tcGFjdC1hdHRyaWJ1dGlvbjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTc4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAyNnB4O1xuICBoZWlnaHQ6IDI2cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24ubGVhZmxldC1jb21wYWN0LWF0dHJpYnV0aW9uOmhvdmVyOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4ubGVhZmxldC1yaWdodCAubGVhZmxldC1jb250cm9sLWF0dHJpYnV0aW9uLmxlYWZsZXQtY29tcGFjdC1hdHRyaWJ1dGlvbjphZnRlciB7XG4gIHJpZ2h0OiAwOyB9XG5cbi5sZWFmbGV0LWxlZnQgLmxlYWZsZXQtY29udHJvbC1hdHRyaWJ1dGlvbi5sZWFmbGV0LWNvbXBhY3QtYXR0cmlidXRpb246YWZ0ZXIge1xuICBsZWZ0OiAwOyB9XG5cbi5sZWFmbGV0LWNvbnRyb2wtc2NhbGUtbGluZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIGJvcmRlci10b3A6IDA7XG4gIHBhZGRpbmc6IDJweCA1cHggMXB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5sZWFmbGV0LWNvbnRyb2wtc2NhbGUtbGluZTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZGRkO1xuICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIG1hcmdpbi10b3A6IC0ycHg7IH1cblxuLmxlYWZsZXQtY29udHJvbC1zY2FsZS1saW5lOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzc3NzsgfVxuXG4ubGVhZmxldC1wb3B1cCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4ubGVhZmxldC1wb3B1cC1jb250ZW50LXdyYXBwZXIge1xuICBwYWRkaW5nOiAxcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cblxuLmxlYWZsZXQtcG9wdXAtY29udGVudCB7XG4gIHBhZGRpbmc6IDEwcHggMTBweCAxNXB4O1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbi5sZWFmbGV0LXBvcHVwLWNsb3NlLWJ1dHRvbiArIC5sZWFmbGV0LXBvcHVwLWNvbnRlbnQtd3JhcHBlciAubGVhZmxldC1wb3B1cC1jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDE1cHg7IH1cblxuLmxlYWZsZXQtcG9wdXAtdGlwLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmxlYWZsZXQtcG9wdXAtdGlwIHtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXItbGVmdDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiAxMHB4IHNvbGlkICNmZmY7XG4gIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLmxlYWZsZXQtcG9wdXAtY2xvc2UtYnV0dG9uIHtcbiAgdGV4dC1pbmRlbnQ6IC05OTllbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBwb2ludGVyLWV2ZW50czogYWxsOyB9XG5cbi5sZWFmbGV0LXBvcHVwLWNsb3NlLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7IH1cblxuLmxlYWZsZXQtcG9wdXAtc2Nyb2xsZWQge1xuICBvdmVyZmxvdzogYXV0bztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkOyB9XG5cbi5sZWFmbGV0LWRpdi1pY29uIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7IH1cblxuLmxlYWZsZXQtZWRpdGluZy1pY29uIHtcbiAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG5cbi5sZWFmbGV0LWJhciBhLCAubGVhZmxldC1jb250cm9sLWxheWVycy10b2dnbGUsIC5sZWFmbGV0LXBvcHVwLWNsb3NlLWJ1dHRvbiwgLm1hcC10b29sdGlwLmNsb3NhYmxlIC5jbG9zZSwgLm1hcGJveC1idXR0b24taWNvbjpiZWZvcmUsIC5tYXBib3gtaWNvbiB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAyNnB4O1xuICBoZWlnaHQ6IDI2cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLmxlYWZsZXQtYmFyIGEge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ubGVhZmxldC1jb250YWluZXIuZGFyayAubWFwLXRvb2x0aXAgLmNsb3NlLCAubGVhZmxldC1jb250cm9sLWF0dHJpYnV0aW9uOmFmdGVyLCAubGVhZmxldC1jb250cm9sLWxheWVycy10b2dnbGUsIC5sZWFmbGV0LWNvbnRyb2wtem9vbS1pbiwgLmxlYWZsZXQtY29udHJvbC16b29tLW91dCwgLmxlYWZsZXQtcG9wdXAtY2xvc2UtYnV0dG9uLCAubWFwLXRvb2x0aXAgLmNsb3NlLCAubWFwYm94LWljb24ge1xuICBvcGFjaXR5OiAuNzU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvaWNvbnMtMDAwMDAwQDJ4LnBuZyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMjZweCAyNjBweDsgfVxuXG4ubGVhZmxldC1jb250YWluZXIuZGFyayAubGVhZmxldC1jb250cm9sLWF0dHJpYnV0aW9uOmFmdGVyLCAubGVhZmxldC1jb250YWluZXIuZGFyayAubGVhZmxldC1jb250cm9sLWxheWVycy10b2dnbGUsIC5sZWFmbGV0LWNvbnRhaW5lci5kYXJrIC5sZWFmbGV0LWNvbnRyb2wtem9vbS1pbiwgLmxlYWZsZXQtY29udGFpbmVyLmRhcmsgLmxlYWZsZXQtY29udHJvbC16b29tLW91dCwgLmxlYWZsZXQtY29udGFpbmVyLmRhcmsgLm1hcGJveC1pY29uLCAubWFwYm94LWJ1dHRvbi1pY29uOmJlZm9yZSB7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvaWNvbnMtZmZmZmZmQDJ4LnBuZyk7XG4gIGJhY2tncm91bmQtc2l6ZTogMjZweCAyNjBweDsgfVxuXG4ubGVhZmxldC1iYXIgLmxlYWZsZXQtY29udHJvbC16b29tLWluIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG5cbi5sZWFmbGV0LWJhciAubGVhZmxldC1jb250cm9sLXpvb20tb3V0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjZweDsgfVxuXG4ubGVhZmxldC1wb3B1cC1jbG9zZS1idXR0b24sIC5tYXAtdG9vbHRpcC5jbG9zYWJsZSAuY2xvc2Uge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtM3B4IC01NXB4O1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBib3JkZXItcmFkaXVzOiAwIDNweCAwIDA7IH1cblxuLm1hcGJveC1pY29uLWluZm8ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC03OHB4OyB9XG5cbi5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXRvZ2dsZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEwNHB4OyB9XG5cbi5tYXBib3gtaWNvbi5tYXBib3gtaWNvbi1zaGFyZSwgLm1hcGJveC1pY29uLm1hcGJveC1pY29uLXNoYXJlOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEzMHB4OyB9XG5cbi5tYXBib3gtaWNvbi5tYXBib3gtaWNvbi1nZW9jb2RlciwgLm1hcGJveC1pY29uLm1hcGJveC1pY29uLWdlb2NvZGVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE1NnB4OyB9XG5cbi5tYXBib3gtaWNvbi1mYWNlYm9vaywgLm1hcGJveC1pY29uLWZhY2Vib29rOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE4MnB4OyB9XG5cbi5tYXBib3gtaWNvbi10d2l0dGVyLCAubWFwYm94LWljb24tdHdpdHRlcjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMDhweDsgfVxuXG4ubWFwYm94LWljb24tcGludGVyZXN0LCAubWFwYm94LWljb24tcGludGVyZXN0OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIzNHB4OyB9XG5cbi5sZWFmbGV0LXBvcHVwLWNvbnRlbnQtd3JhcHBlciwgLm1hcC1sZWdlbmRzLCAubWFwLXRvb2x0aXAge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cblxuLm1hcC1sZWdlbmRzLCAubWFwLXRvb2x0aXAge1xuICBtYXgtd2lkdGg6IDMwMHB4OyB9XG5cbi5tYXAtbGVnZW5kcyAubWFwLWxlZ2VuZCB7XG4gIHBhZGRpbmc6IDEwcHg7IH1cblxuLm1hcC10b29sdGlwIHtcbiAgei1pbmRleDogOTk5OTk5O1xuICBwYWRkaW5nOiAxMHB4O1xuICBtaW4td2lkdGg6IDE4MHB4O1xuICBtYXgtaGVpZ2h0OiA0MDBweDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG9wYWNpdHk6IDE7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcztcbiAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zO1xuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zOyB9XG5cbi5tYXAtdG9vbHRpcCAuY2xvc2Uge1xuICB0ZXh0LWluZGVudDogLTk5OWVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tYXAtdG9vbHRpcC5jbG9zYWJsZSAuY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuXG4ubWFwLXRvb2x0aXAuY2xvc2FibGUgLmNsb3NlOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7IH1cblxuLmxlYWZsZXQtY29udHJvbC1pbnRlcmFjdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMHB4O1xuICByaWdodDogMTBweDtcbiAgd2lkdGg6IDMwMHB4OyB9XG5cbi5sZWFmbGV0LXBvcHVwLWNvbnRlbnQgLm1hcmtlci10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmxlYWZsZXQtY29udHJvbCAubWFwYm94LWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG5cbi5tYXBib3gtbW9kYWwgPiBkaXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogLTE7XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cblxuLm1hcGJveC1tb2RhbC5hY3RpdmUgPiBkaXYge1xuICB6LWluZGV4OiA5OTk5OTtcbiAgdHJhbnNpdGlvbjogYWxsIC4ycyx6LWluZGV4IDAgMDsgfVxuXG4ubWFwYm94LW1vZGFsIC5tYXBib3gtbW9kYWwtbWFzayB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4ubWFwYm94LW1vZGFsLmFjdGl2ZSAubWFwYm94LW1vZGFsLW1hc2sge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5tYXBib3gtbW9kYWwgLm1hcGJveC1tb2RhbC1jb250ZW50IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG5cbi5tYXBib3gtbW9kYWwuYWN0aXZlIC5tYXBib3gtbW9kYWwtY29udGVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5tYXBib3gtbW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcGFkZGluZzogMjBweDtcbiAgei1pbmRleDogMTAwMDtcbiAgd2lkdGg6IDUwJTtcbiAgbWFyZ2luOiAyMHB4IDAgMjBweCAyNSU7IH1cblxuLm1hcGJveC1zaGFyZS1idXR0b25zIHtcbiAgbWFyZ2luOiAwIDAgMjBweDsgfVxuXG4ubWFwYm94LXNoYXJlLWJ1dHRvbnMgYSB7XG4gIHdpZHRoOiAzMy4zMzMzJTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLm1hcGJveC1zaGFyZS1idXR0b25zIGE6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgM3B4IDNweCAwOyB9XG5cbi5tYXBib3gtc2hhcmUtYnV0dG9ucyBhOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAzcHggMCAwIDNweDsgfVxuXG4ubWFwYm94LW1vZGFsIGlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDBweDtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cblxuLmxlYWZsZXQtY29udHJvbC5tYXBib3gtY29udHJvbC1pbmZvIHtcbiAgbWFyZ2luOiA1cHggMzBweCAxMHB4IDEwcHg7XG4gIG1pbi1oZWlnaHQ6IDI2cHg7IH1cblxuLmxlYWZsZXQtcmlnaHQgLmxlYWZsZXQtY29udHJvbC5tYXBib3gtY29udHJvbC1pbmZvIHtcbiAgbWFyZ2luOiA1cHggMTBweCAxMHB4IDMwcHg7IH1cblxuLm1hcGJveC1pbmZvLXRvZ2dsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTsgfVxuXG4ubGVhZmxldC1yaWdodCAubWFwYm94LWNvbnRyb2wtaW5mbyAubWFwYm94LWluZm8tdG9nZ2xlIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7IH1cblxuLm1hcGJveC1pbmZvLXRvZ2dsZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuLm1hcC1pbmZvLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBhZGRpbmc6IDNweCA1cHggM3B4IDI3cHg7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBib3JkZXItcmFkaXVzOiAxM3B4IDNweCAzcHggMTNweDsgfVxuXG4ubGVhZmxldC1yaWdodCAubWFwLWluZm8tY29udGFpbmVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDNweCAyN3B4IDNweCA1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweCAxM3B4IDEzcHggM3B4OyB9XG5cbi5tYXBib3gtY29udHJvbC1pbmZvLmFjdGl2ZSAubWFwLWluZm8tY29udGFpbmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5sZWFmbGV0LWNvbnRhaW5lciAubWFwYm94LWltcHJvdmUtbWFwIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4ubGVhZmxldC1jb250cm9sLW1hcGJveC1nZW9jb2RlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ubGVhZmxldC1jb250cm9sLW1hcGJveC1nZW9jb2Rlci5zZWFyY2hpbmcge1xuICBvcGFjaXR5OiAuNzU7IH1cblxuLmxlYWZsZXQtY29udHJvbC1tYXBib3gtZ2VvY29kZXIgLmxlYWZsZXQtY29udHJvbC1tYXBib3gtZ2VvY29kZXItd3JhcCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxlZnQ6IDI2cHg7XG4gIGhlaWdodDogMjhweDtcbiAgd2lkdGg6IDA7XG4gIHRvcDogLTFweDtcbiAgYm9yZGVyLXJhZGl1czogMCAzcHggM3B4IDA7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAxMDBtcztcbiAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDEwMG1zO1xuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDEwMG1zO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEwMG1zOyB9XG5cbi5sZWFmbGV0LWNvbnRyb2wtbWFwYm94LWdlb2NvZGVyLmFjdGl2ZSAubGVhZmxldC1jb250cm9sLW1hcGJveC1nZW9jb2Rlci13cmFwIHtcbiAgd2lkdGg6IDE4MHB4O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5sZWFmbGV0LWJhciAubGVhZmxldC1jb250cm9sLW1hcGJveC1nZW9jb2Rlci10b2dnbGUsIC5sZWFmbGV0LWJhciAubGVhZmxldC1jb250cm9sLW1hcGJveC1nZW9jb2Rlci10b2dnbGU6aG92ZXIge1xuICBib3JkZXItYm90dG9tOiAwOyB9XG5cbi5sZWFmbGV0LWNvbnRyb2wtbWFwYm94LWdlb2NvZGVyLXRvZ2dsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuXG4ubGVhZmxldC1jb250cm9sLW1hcGJveC1nZW9jb2Rlci5hY3RpdmUsIC5sZWFmbGV0LWNvbnRyb2wtbWFwYm94LWdlb2NvZGVyLmFjdGl2ZSAubGVhZmxldC1jb250cm9sLW1hcGJveC1nZW9jb2Rlci10b2dnbGUge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cblxuLmxlYWZsZXQtY29udHJvbC1tYXBib3gtZ2VvY29kZXIgLmxlYWZsZXQtY29udHJvbC1tYXBib3gtZ2VvY29kZXItZm9ybSBpbnB1dCB7XG4gIGJhY2tncm91bmQ6IDAgMDtcbiAgYm9yZGVyOiAwO1xuICB3aWR0aDogMTgwcHg7XG4gIHBhZGRpbmc6IDAgMCAwIDEwcHg7XG4gIGhlaWdodDogMjZweDtcbiAgb3V0bGluZTogMDsgfVxuXG4ubGVhZmxldC1jb250cm9sLW1hcGJveC1nZW9jb2Rlci1yZXN1bHRzIHtcbiAgd2lkdGg6IDE4MHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDI2cHg7XG4gIHRvcDogMjVweDtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDNweCAzcHg7IH1cblxuLmxlYWZsZXQtY29udHJvbC1tYXBib3gtZ2VvY29kZXIuYWN0aXZlIC5sZWFmbGV0LWNvbnRyb2wtbWFwYm94LWdlb2NvZGVyLXJlc3VsdHMge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxuXG4ubGVhZmxldC1jb250cm9sLW1hcGJveC1nZW9jb2Rlci1yZXN1bHRzIGEsIC5sZWFmbGV0LWNvbnRyb2wtbWFwYm94LWdlb2NvZGVyLXJlc3VsdHMgc3BhbiB7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMjZweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ubGVhZmxldC1jb250YWluZXIuZGFyayAubGVhZmxldC1jb250cm9sIC5sZWFmbGV0LWNvbnRyb2wtbWFwYm94LWdlb2NvZGVyLXJlc3VsdHMgYTpob3ZlciwgLmxlYWZsZXQtY29udHJvbC1tYXBib3gtZ2VvY29kZXItcmVzdWx0cyBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgb3BhY2l0eTogMTsgfVxuXG4ubGVhZmxldC1yaWdodCAubGVhZmxldC1jb250cm9sLW1hcGJveC1nZW9jb2Rlci1yZXN1bHRzLCAubGVhZmxldC1yaWdodCAubGVhZmxldC1jb250cm9sLW1hcGJveC1nZW9jb2Rlci13cmFwIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDI2cHg7IH1cblxuLmxlYWZsZXQtcmlnaHQgLmxlYWZsZXQtY29udHJvbC1tYXBib3gtZ2VvY29kZXItd3JhcCB7XG4gIGJvcmRlci1yYWRpdXM6IDNweCAwIDAgM3B4OyB9XG5cbi5sZWFmbGV0LXJpZ2h0IC5sZWFmbGV0LWNvbnRyb2wtbWFwYm94LWdlb2NvZGVyLmFjdGl2ZSwgLmxlYWZsZXQtcmlnaHQgLmxlYWZsZXQtY29udHJvbC1tYXBib3gtZ2VvY29kZXIuYWN0aXZlIC5sZWFmbGV0LWNvbnRyb2wtbWFwYm94LWdlb2NvZGVyLXRvZ2dsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDAgM3B4IDNweCAwOyB9XG5cbi5sZWFmbGV0LWJvdHRvbSAubGVhZmxldC1jb250cm9sLW1hcGJveC1nZW9jb2Rlci1yZXN1bHRzIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDI1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDNweCAzcHggMCAwOyB9XG5cbi5tYXBib3gtbG9nby10cnVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA2MXB4O1xuICBoZWlnaHQ6IDE5cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLm1hcGJveC1sb2dvLXRydWUge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDYxcHggMTlweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LFBITjJaeUI0Yld4dWN6cGtZejBpYUhSMGNEb3ZMM0IxY213dWIzSm5MMlJqTDJWc1pXMWxiblJ6THpFdU1TOGlJSGh0Ykc1ek9tTmpQU0pvZEhSd09pOHZZM0psWVhScGRtVmpiMjF0YjI1ekxtOXlaeTl1Y3lNaUlIaHRiRzV6T25Ka1pqMGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M4d01pOHlNaTF5WkdZdGMzbHVkR0Y0TFc1ekl5SWdlRzFzYm5NNmMzWm5QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JaUIyWlhKemFXOXVQU0l4TGpFaUlIZHBaSFJvUFNJMk5TSWdhR1ZwWjJoMFBTSXlNQ0krUEdSbFpuTXZQanh0WlhSaFpHRjBZVDQ4Y21SbU9sSkVSajQ4WTJNNlYyOXlheUJ5WkdZNllXSnZkWFE5SWlJK1BHUmpPbVp2Y20xaGRENXBiV0ZuWlM5emRtY3JlRzFzUEM5a1l6cG1iM0p0WVhRK1BHUmpPblI1Y0dVZ2NtUm1PbkpsYzI5MWNtTmxQU0pvZEhSd09pOHZjSFZ5YkM1dmNtY3ZaR012WkdOdGFYUjVjR1V2VTNScGJHeEpiV0ZuWlNJdlBqeGtZenAwYVhSc1pTOCtQQzlqWXpwWGIzSnJQand2Y21SbU9sSkVSajQ4TDIxbGRHRmtZWFJoUGp4bklIUnlZVzV6Wm05eWJUMGlkSEpoYm5Oc1lYUmxLQzB5TmpFdU9EUTRNeXd0T1RndU5UQXpPVFVwSWo0OFp5QjBjbUZ1YzJadmNtMDlJbTFoZEhKcGVDZ3dMakUzTkRReE9ETTJMREFzTUN3d0xqRTNORFF4T0RNMkxESXlNQzQxTWpJNE1pd3lPUzR5TWprek5ESXBJaUJ6ZEhsc1pUMGliM0JoWTJsMGVUb3dMakkxTzJacGJHdzZJMlptWm1abVpqdHpkSEp2YTJVNkl6QXdNREF3TUR0emRISnZhMlV0ZDJsa2RHZzZNVGN1TWpBd01ESXpOalU3YzNSeWIydGxMV3hwYm1WallYQTZjbTkxYm1RN2MzUnliMnRsTFd4cGJtVnFiMmx1T25KdmRXNWtPM04wY205clpTMXRhWFJsY214cGJXbDBPalE3YzNSeWIydGxMVzl3WVdOcGRIazZNVHR6ZEhKdmEyVXRaR0Z6YUdGeWNtRjVPbTV2Ym1VaVBqeHdZWFJvSUdROUlrMGdOUzR5T0NBeExqVWdReUEwTGpVMElERXVOVFlnTXk0NUlESXVNalVnTXk0NU1TQXpJR3dnTUNBeE1TNDRPQ0JqSURBdU1ESWdNQzQzTnlBd0xqY3lJREV1TkRjZ01TNDFJREV1TkRjZ2JDQXhMamMxSURBZ1l5QXdMamM0SURBZ01TNDBPQ0F0TUM0Mk9TQXhMalVnTFRFdU5EY2diQ0F3SUMwMExqSTRJREF1TnpJZ01TNHhPU0JqSURBdU5UTWdNQzQ0TnlBeUxqQXpJREF1T0RjZ01pNDFOaUF3SUd3Z01DNDNNaUF0TVM0eE9TQXdJRFF1TWpnZ1l5QXdMakF5SURBdU56WWdNQzQzSURFdU5EVWdNUzQwTnlBeExqUTNJR3dnTVM0M05TQXdJR01nTUM0M09DQXdJREV1TkRnZ0xUQXVOamtnTVM0MUlDMHhMalEzSUd3Z01DQXRNQzR4TmlCaklERXVNRElnTVM0eE1pQXlMalEySURFdU9ERWdOQzR3T1NBeExqZ3hJR3dnTkM0d09TQXdJREFnTVM0ME55QmpJQzB3SURBdU56Z2dNQzQyT1NBeExqUTRJREV1TkRjZ01TNDFJR3dnTVM0M05TQXdJR01nTUM0M09TQXRNQ0F4TGpVZ0xUQXVOekVnTVM0MUlDMHhMalVnYkNBd0xqQXlJQzB4TGpRM0lHTWdNUzQzTWlBd0lETXVNRGdnTFRBdU5qUWdOQzR4TkNBdE1TNDJPU0JzSURBZ01DNHhPU0JqSURBZ01DNHpPU0F3TGpFMklEQXVOemtnTUM0ME5DQXhMakEySURBdU1qZ2dNQzR5T0NBd0xqWTNJREF1TkRRZ01TNHdOaUF3TGpRMElHd2dNeTR6TVNBd0lHTWdNaTR3TXlBd0lETXVPRFVnTFRFdU1EWWdOQzQ1TVNBdE1pNDJPU0F4TGpBMUlERXVOakVnTWk0NE5DQXlMalk1SURRdU9EZ2dNaTQyT1NBeExqQXpJREFnTVM0NU9DQXRNQzR5TnlBeUxqZ3hJQzB3TGpjMUlEQXVNamdnTUM0ek5TQXdMamN6SURBdU5UY2dNUzR4T1NBd0xqVTJJR3dnTWk0eE1pQXdJR01nTUM0ME9DQXdMakF4SURBdU9UY2dMVEF1TWpNZ01TNHlOU0F0TUM0Mk1pQnNJREF1T1RFZ0xURXVNamdnTUM0NU1TQXhMakk0SUdNZ01DNHlPQ0F3TGpNNUlEQXVOelFnTUM0Mk15QXhMakl5SURBdU5qSWdiQ0F5TGpFMklEQWdReUEyTWk0Mk55QXhOaTR6TXlBMk15NDBNaUF4TkM0NE9TQTJNaTQ0TVNBeE5DQk1JRFl3TGpJeUlERXdMak00SURZeUxqWXlJRGNnUXlBMk15NHlOaUEyTGpFeElEWXlMalVnTkM0Mk1pQTJNUzQwTVNBMExqWXlJR3dnTFRJdU1UWWdNQ0JESURVNExqYzRJRFF1TmpJZ05UZ3VNekVnTkM0NE5pQTFPQzR3TXlBMUxqSTFJRXdnTlRjdU16RWdOaTR5T0NBMU5pNDFOaUExTGpJMUlFTWdOVFl1TWprZ05DNDROaUExTlM0NE1pQTBMall5SURVMUxqTTBJRFF1TmpJZ2JDQXRNaTR4TmlBd0lHTWdMVEF1TkRrZ0xUQWdMVEF1T1RjZ01DNHlOU0F0TVM0eU5TQXdMalkySUMwd0xqZzJJQzB3TGpVeElDMHhMamcwSUMwd0xqZ3hJQzB5TGpreElDMHdMamd4SUMweUxqQXpJREFnTFRNdU9ETWdNUzR3T0NBdE5DNDRPQ0F5TGpZNUlFTWdORE11TVNBMUxqVXpJRFF4TGpJM0lEUXVORGNnTXprdU1Ua2dOQzQwTnlCTUlETTVMakU1SURNZ1F5QXpPUzR4T1NBeUxqWXhJRE01TGpBeklESXVNakVnTXpndU56VWdNUzQ1TkNBek9DNDBOeUF4TGpZMklETTRMakE0SURFdU5TQXpOeTQyT1NBeExqVWdiQ0F0TVM0M05TQXdJR01nTFRBdU56RWdNQ0F0TVM0MUlEQXVPRE1nTFRFdU5TQXhMalVnYkNBd0lETXVNVFlnUXlBek15NHpPQ0ExTGpFZ016RXVPVFlnTkM0ME55QXpNQzR6T0NBMExqUTNJR3dnTFRNdU16UWdNQ0JqSUMwd0xqYzNJREF1TURJZ0xURXVORGNnTUM0M01pQXRNUzQwTnlBeExqVWdiQ0F3SURBdU16RWdZeUF0TVM0d01pQXRNUzR4TWlBdE1pNDBOaUF0TVM0NE1TQXROQzR3T1NBdE1TNDRNU0F0TVM0Mk15QXdJQzB6TGpBM0lEQXVOeUF0TkM0d09TQXhMamd4SUV3Z01UY3VNemdnTXlCaklDMHdJQzB3TGpjNUlDMHdMamN4SUMweExqVWdMVEV1TlNBdE1TNDFJRXdnTVRRdU5TQXhMalVnUXlBeE15NDFOU0F4TGpVZ01USXVNamdnTVM0NE55QXhNUzQyTmlBeUxqazBJR3dnTFRFZ01TNDJPU0F0TVNBdE1TNDJPU0JESURrdU1ETWdNUzQ0TnlBM0xqYzNJREV1TlNBMkxqZ3hJREV1TlNCc0lDMHhMalF4SURBZ1F5QTFMak0ySURFdU5TQTFMak15SURFdU5TQTFMakk0SURFdU5TQjZJRzBnTVRZdU1Ua2dOeTQzTWlCaklEQXVOVE1nTUNBd0xqazBJREF1TXpVZ01DNDVOQ0F4TGpJNElHd2dNQ0F4TGpJNElDMHdMamswSURBZ1l5QXRNQzQxTWlBd0lDMHdMamswSUMwd0xqTTRJQzB3TGprMElDMHhMakk0SUMwd0lDMHdMamtnTUM0ME1pQXRNUzR5T0NBd0xqazBJQzB4TGpJNElIb2diU0E0TGpneElEQWdZeUF3TGpneklEQWdNUzR4T0NBd0xqWTRJREV1TVRrZ01TNHlPQ0F3TGpBeElEQXVPVFFnTFRBdU5qSWdNUzR5T0NBdE1TNHhPU0F4TGpJNElIb2diU0E0TGpjeUlEQWdZeUF3TGpjeUlEQWdNUzR6TnlBd0xqWWdNUzR6TnlBeExqSTRJREFnTUM0M055QXRNQzQxTVNBeExqSTRJQzB4TGpNM0lERXVNamdnZWlCdElERXdMakF6SURBZ1l5QXdMalU0SURBZ01TNHdPU0F3TGpVZ01TNHdPU0F4TGpJNElEQWdNQzQzT0NBdE1DNDFNU0F4TGpJNElDMHhMakE1SURFdU1qZ2dMVEF1TlRnZ01DQXRNUzR4TWlBdE1DNDFJQzB4TGpFeUlDMHhMakk0SURBZ0xUQXVOemdnTUM0MU5DQXRNUzR5T0NBeExqRXlJQzB4TGpJNElIb2lJSFJ5WVc1elptOXliVDBpYldGMGNtbDRLRFV1TnpNek16UXhOQ3d3TERBc05TNDNNek16TkRFMExESXpOaTQ1TXpNd09Dd3pPVGN1TVRjME9UZ3BJaUJ6ZEhsc1pUMGlabTl1ZEMxemFYcGxPbTFsWkdsMWJUdG1iMjUwTFhOMGVXeGxPbTV2Y20xaGJEdG1iMjUwTFhaaGNtbGhiblE2Ym05eWJXRnNPMlp2Ym5RdGQyVnBaMmgwT201dmNtMWhiRHRtYjI1MExYTjBjbVYwWTJnNmJtOXliV0ZzTzNSbGVIUXRhVzVrWlc1ME9qQTdkR1Y0ZEMxaGJHbG5ianB6ZEdGeWREdDBaWGgwTFdSbFkyOXlZWFJwYjI0NmJtOXVaVHRzYVc1bExXaGxhV2RvZERwdWIzSnRZV3c3YkdWMGRHVnlMWE53WVdOcGJtYzZibTl5YldGc08zZHZjbVF0YzNCaFkybHVaenB1YjNKdFlXdzdkR1Y0ZEMxMGNtRnVjMlp2Y20wNmJtOXVaVHRrYVhKbFkzUnBiMjQ2YkhSeU8ySnNiMk5yTFhCeWIyZHlaWE56YVc5dU9uUmlPM2R5YVhScGJtY3RiVzlrWlRwc2NpMTBZanQwWlhoMExXRnVZMmh2Y2pwemRHRnlkRHRpWVhObGJHbHVaUzF6YUdsbWREcGlZWE5sYkdsdVpUdGpiMnh2Y2pvak1EQXdNREF3TzJacGJHdzZJekF3TURBd01EdG1hV3hzTFc5d1lXTnBkSGs2TVR0bWFXeHNMWEoxYkdVNmJtOXVlbVZ5Ynp0emRISnZhMlU2Ym05dVpUdHpkSEp2YTJVdGQybGtkR2c2TVRjdU1qQXdNREl6TmpVN2JXRnlhMlZ5T201dmJtVTdkbWx6YVdKcGJHbDBlVHAyYVhOcFlteGxPMlJwYzNCc1lYazZhVzVzYVc1bE8yOTJaWEptYkc5M09uWnBjMmxpYkdVN1pXNWhZbXhsTFdKaFkydG5jbTkxYm1RNllXTmpkVzExYkdGMFpUdG1iMjUwTFdaaGJXbHNlVHBUWVc1ek95MXBibXR6WTJGd1pTMW1iMjUwTFhOd1pXTnBabWxqWVhScGIyNDZVMkZ1Y3lJdlBqd3ZaejQ4WnlCMGNtRnVjMlp2Y20wOUltMWhkSEpwZUNnd0xqRTNORFF4T0RNMkxEQXNNQ3d3TGpFM05EUXhPRE0yTERJeU1DNDFNakk0TWl3eU9TNHlNamt6TkRJcElpQnpkSGxzWlQwaVptbHNiRG9qWm1abVptWm1JajQ4Y0dGMGFDQmtQU0p0SURVdU5ERWdNeUF3SURFeUlERXVOelVnTUNBd0lDMDVMamt4SURNdU5TQTFMamswSURNdU5EY2dMVFV1T1RRZ01DQTVMamt4SURFdU56VWdNQ0F3SUMweE1pQk1JREUwTGpVZ015QkRJREV6TGpnZ015QXhNeTR5TlNBekxqRTJJREV5TGprMElETXVOamtnVENBeE1DNDJOaUEzTGpVNUlEZ3VNemdnTXk0Mk9TQkRJRGd1TURjZ015NHhOaUEzTGpVeElETWdOaTQ0TVNBeklIb2dUU0F6TmlBeklHd2dNQ0F4TWk0d015QXpMakkxSURBZ1l5QXlMalEwSURBZ05DNHpPQ0F0TVM0NU1TQTBMak00SUMwMExqVXpJREFnTFRJdU5qSWdMVEV1T1RNZ0xUUXVORGNnTFRRdU16Z2dMVFF1TkRjZ1F5QXpPQzQzSURZdU1ETWdNemd1TXpJZ05pQXpOeTQzTlNBMklHd2dNQ0F0TXlCNklFMGdNakV1TkRjZ05TNDVOeUJqSUMweUxqUTBJREFnTFRRdU1Ua2dNUzQ1TVNBdE5DNHhPU0EwTGpVeklEQWdNaTQyTWlBeExqYzFJRFF1TlRNZ05DNHhPU0EwTGpVeklHd2dOQzR4T1NBd0lEQWdMVFF1TlRNZ1l5QXdJQzB5TGpZeUlDMHhMamMxSUMwMExqVXpJQzAwTGpFNUlDMDBMalV6SUhvZ2JTQXlOeTQxTmlBd0lHTWdMVEl1TkRFZ01DQXROQzR6T0NBeUxqQXpJQzAwTGpNNElEUXVOVE1nTUNBeUxqVWdNUzQ1TnlBMExqVXpJRFF1TXpnZ05DNDFNeUF5TGpReElEQWdOQzR6TkNBdE1pNHdNeUEwTGpNMElDMDBMalV6SURBZ0xUSXVOU0F0TVM0NU5DQXROQzQxTXlBdE5DNHpOQ0F0TkM0MU15QjZJRzBnTFRJeUlEQXVNRE1nTUNBeE1pQXhMamMxSURBZ01DQXRNaTQ1TnlCaklEQXVOVGNnTUNBeExqQTBJQzB3SURFdU5Ua2dNQ0F5TGpRMElEQWdOQzR6TkNBdE1TNDVNU0EwTGpNMElDMDBMalV6SURBZ0xUSXVOaklnTFRFdU9TQXROQzQxSUMwMExqTTBJQzAwTGpVZ2VpQnRJREkyTGpFMklEQWdNeTR3TXlBMExqTTRJQzB6TGpFNUlEUXVOaklnTWk0eE1pQXdJRXdnTlRjdU16RWdNVEV1T1RFZ05Ua3VORFFnTVRVZ05qRXVOVGtnTVRVZ05UZ3VNemdnTVRBdU16Z2dOakV1TkRFZ05pQTFPUzR5TlNBMklEVTNMak14SURndU9ERWdOVFV1TXpRZ05pQjZJRTBnTWpFdU5EY2dOeTQzTWlCaklERXVOQ0F3SURJdU5EUWdNUzR4T1NBeUxqUTBJREl1TnpnZ2JDQXdJREl1TnpnZ0xUSXVORFFnTUNCaklDMHhMalFnTUNBdE1pNDBOQ0F0TVM0eU1TQXRNaTQwTkNBdE1pNDNPQ0F0TUNBdE1TNDFOeUF4TGpBMElDMHlMamM0SURJdU5EUWdMVEl1TnpnZ2VpQnRJREkzTGpVMklEQWdZeUF4TGpRMElEQWdNaTQxT1NBeExqSTBJREl1TlRrZ01pNDNPQ0F3SURFdU5UUWdMVEV1TVRVZ01pNDNPQ0F0TWk0MU9TQXlMamM0SUMweExqUTBJREFnTFRJdU5qSWdMVEV1TWpRZ0xUSXVOaklnTFRJdU56Z2dNQ0F0TVM0MU5DQXhMakU0SUMweUxqYzRJREl1TmpJZ0xUSXVOemdnZWlCdElDMHlNQzR5TlNBd0xqQXpJREV1TlRrZ01DQmpJREV1TlRrZ01DQXlMalU1SURFdU1qZ2dNaTQxT1NBeUxqYzFJREFnTVM0ME55QXRNUzR4TXlBeUxqYzRJQzB5TGpVNUlESXVOemdnYkNBdE1TNDFPU0F3SUhvZ2JTQTRMamszSURBZ01TNDFJREFnWXlBeExqUTNJREFnTWk0Mk1pQXhMakk0SURJdU5qSWdNaTQzTlNBd0lERXVORGNnTFRFdU1EUWdNaTQzT0NBdE1pNDJNaUF5TGpjNElHd2dMVEV1TlNBd0lIb2lJSFJ5WVc1elptOXliVDBpYldGMGNtbDRLRFV1TnpNek16UXhOQ3d3TERBc05TNDNNek16TkRFMExESXpOaTQ1TXpNd09Dd3pPVGN1TVRjME9UZ3BJaUJ6ZEhsc1pUMGlabWxzYkRvalptWm1abVptTzJacGJHd3RiM0JoWTJsMGVUb3hPMlpwYkd3dGNuVnNaVHB1YjI1NlpYSnZPM04wY205clpUcHViMjVsSWk4K1BDOW5Qand2Wno0OEwzTjJaejQ9XCIpOyB9XG5cbi5sZWFmbGV0LWNvbnRhaW5lci5kYXJrIC5sZWFmbGV0LWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0MDQwNDA7XG4gIGJvcmRlci1jb2xvcjogIzIwMjAyMDtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNzUpOyB9XG5cbi5sZWFmbGV0LWNvbnRhaW5lci5kYXJrIC5sZWFmbGV0LWJhciBhIHtcbiAgY29sb3I6ICM0MDQwNDA7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG5cbi5sZWFmbGV0LWNvbnRhaW5lci5kYXJrIC5sZWFmbGV0LWJhciBhOmFjdGl2ZSwgLmxlYWZsZXQtY29udGFpbmVyLmRhcmsgLmxlYWZsZXQtYmFyIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTA1MDUwOyB9XG5cbi5sZWFmbGV0LWNvbnRhaW5lci5kYXJrIC5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24sIC5sZWFmbGV0LWNvbnRhaW5lci5kYXJrIC5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb246YWZ0ZXIsIC5sZWFmbGV0LWNvbnRhaW5lci5kYXJrIC5tYXAtaW5mby1jb250YWluZXIsIC5sZWFmbGV0LWNvbnRhaW5lci5kYXJrIC5tYXBib3gtaW5mby10b2dnbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGNvbG9yOiAjZjhmOGY4OyB9XG5cbi5sZWFmbGV0LWNvbnRhaW5lci5kYXJrIC5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24gYSwgLmxlYWZsZXQtY29udGFpbmVyLmRhcmsgLmxlYWZsZXQtY29udHJvbC1hdHRyaWJ1dGlvbiBhOmhvdmVyLCAubGVhZmxldC1jb250YWluZXIuZGFyayAubWFwLWluZm8tY29udGFpbmVyIGEsIC5sZWFmbGV0LWNvbnRhaW5lci5kYXJrIC5tYXAtaW5mby1jb250YWluZXIgYTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5sZWFmbGV0LWNvbnRhaW5lci5kYXJrIC5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb246aG92ZXI6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG5cbi5sZWFmbGV0LWNvbnRhaW5lci5kYXJrIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWxpc3Qgc3BhbiB7XG4gIGNvbG9yOiAjZjhmOGY4OyB9XG5cbi5sZWFmbGV0LWNvbnRhaW5lci5kYXJrIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXNlcGFyYXRvciB7XG4gIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsgfVxuXG4ubGVhZmxldC1jb250YWluZXIuZGFyayAubGVhZmxldC1iYXIgYS5sZWFmbGV0LWRpc2FibGVkLCAubGVhZmxldC1jb250YWluZXIuZGFyayAubGVhZmxldC1jb250cm9sIC5tYXBib3gtYnV0dG9uLmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI1MjUyNTtcbiAgY29sb3I6ICM0MDQwNDA7IH1cblxuLmxlYWZsZXQtY29udGFpbmVyLmRhcmsgLmxlYWZsZXQtY29udHJvbC1tYXBib3gtZ2VvY29kZXIgPiBkaXYge1xuICBib3JkZXItY29sb3I6ICMyMDIwMjA7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjc1KTsgfVxuXG4ubGVhZmxldC1jb250YWluZXIuZGFyayAubGVhZmxldC1jb250cm9sIC5sZWFmbGV0LWNvbnRyb2wtbWFwYm94LWdlb2NvZGVyLXJlc3VsdHMgYSB7XG4gIGJvcmRlci1jb2xvcjogI2RkZCAjMjAyMDIwO1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKSByZ2JhKDAsIDAsIDAsIDAuNzUpOyB9XG5cbi5sZWFmbGV0LWNvbnRhaW5lci5kYXJrIC5sZWFmbGV0LWNvbnRyb2wgLmxlYWZsZXQtY29udHJvbC1tYXBib3gtZ2VvY29kZXItcmVzdWx0cyBzcGFuIHtcbiAgYm9yZGVyLWNvbG9yOiAjMjAyMDIwO1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43NSk7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAubWFwYm94LW1vZGFsLWJvZHkge1xuICAgIHdpZHRoOiA4My4zMzMzJTtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzJTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLm1hcGJveC1tb2RhbC1ib2R5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwOyB9IH1cblxuQG1lZGlhIHByaW50IHtcbiAgLm1hcGJveC1pbXByb3ZlLW1hcCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5sZWFmbGV0LXZtbC1zaGFwZSB7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4OyB9XG5cbi5sdm1sIHtcbiAgYmVoYXZpb3I6IHVybCgjZGVmYXVsdCNWTUwpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4ubGVhZmxldC1jb250YWluZXIgaW1nLmxlYWZsZXQtdGlsZSB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5sZWFmbGV0LWNvbnRhaW5lciBpbWcubGVhZmxldC1tYXJrZXItaWNvbiB7XG4gIG1heC13aWR0aDogbm9uZTsgfVxuXG4ubGVhZmxldC1jb250YWluZXIgaW1nLmxlYWZsZXQtaW1hZ2UtbGF5ZXIge1xuICBtYXgtd2lkdGg6IDE1MDAwcHggIWltcG9ydGFudDsgfVxuXG4ubGVhZmxldC1vdmVybGF5LXBhbmUgc3ZnIHtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ubGVhZmxldC1vbGRpZSAubWFwYm94LW1vZGFsIC5tYXBib3gtbW9kYWwtY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmxlYWZsZXQtb2xkaWUgLm1hcGJveC1tb2RhbC5hY3RpdmUgLm1hcGJveC1tb2RhbC1jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLm1hcC10b29sdGlwIHtcbiAgd2lkdGg6IDI4MHB4XFw4OyB9XG5cbi5sZWFmbGV0LW9sZGllIC5sZWFmbGV0LWNvbnRhaW5lci5kYXJrIC5tYXAtdG9vbHRpcCAuY2xvc2UsIC5sZWFmbGV0LW9sZGllIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXRvZ2dsZSwgLmxlYWZsZXQtb2xkaWUgLmxlYWZsZXQtY29udHJvbC16b29tLWluLCAubGVhZmxldC1vbGRpZSAubGVhZmxldC1jb250cm9sLXpvb20tb3V0LCAubGVhZmxldC1vbGRpZSAubGVhZmxldC1wb3B1cC1jbG9zZS1idXR0b24sIC5sZWFmbGV0LW9sZGllIC5tYXAtdG9vbHRpcCAuY2xvc2UsIC5sZWFmbGV0LW9sZGllIC5tYXBib3gtaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJvQUFBRUVDQVlBQUFBMjRTU1JBQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQU4xd0FBRGRjQlFpaWJlQUFBQUJsMFJWaDBVMjltZEhkaGNtVUFkM2QzTG1sdWEzTmpZWEJsTG05eVo1dnVQQm9BQUFYblNVUkJWSGljN1p4ZmlGVkZHTUIvMzNwUlVRc0t0bzAwMkRZM01jSjZ5QllrRVNReHBZVHlwYUI2NktFWFlSV0xZT2xocjlSVFJHV1JVa2s5UnlFVStZOUNsRUNKVlRLbFB5YldCaWxxa1l1V3JxQk9EL05kUFY3UG1UUG4zTlB0YXQvQWNPNlpQOS92Zk4vTW1mbDJaczZLYzQ1MmhLNjJVQXhrSUFOZEVVUmtWRVJHQzljck9qS0lpQU53emttUmVwMWxPaldYYTJpamFVN2phR1dnS3NMMTEwYTFFblYrTFFNcWJMcXlvYk82dDRFTVpDQURHY2hBQnJxbVFVbFBOU1dPVmdhcUlwaTdaU0FER2NoQUJqS1FnYTQ5a0lqVVJhUWVtMTRhcEdFNEtWUi9EMGZYZHM1RlJhQU9PTDFlK2gxZFA3WmdFNndReERuWHZzN1FXYVpMRTF3VVZtUk5kWTF6cnA2d1JGMGtmcUhZbkh3REdjaEFCakpRSUVUTlJ5SXlGVmdCekFQbWF2SUlzQXQ0eHpuM2Q2NlFpTmwxUG5DWXkwNUpjendNekc5cEtsZkloUUNrRVMva3dVS1FxUm1hOUdwTTAyeHFHWGRyQmRDWFptMk56YUZQNjZTR1VHZVlsNUUrV3FKTzBIUkhTRytQWHRKTjU0QWpWYmhialFjYkJTamlha0g0aFIwcCtoQ2hPaUhRcmhLZzdEcnQ2dDcvL1F0YjlSQVU1WHRYTWFpYWsyOGdBeG5JUU8wR2ljZzBFWGxNUkRhSXlGR05HelJ0V2hRcE1BLzFBNnVBTDRCelpNOUg1N1RNS3FDLzhIeVVQRmhaSkxpTUk0c2gwL1VESzRGdHdIaWczTGlXV2FsMVVrUHNERHNGV0Fnc0JaWm84aFpnTTdEZE9YY21WMGlnalE0QmE0SEZ3T1JBdWNsYVppMXdxTlUyT2dOc1Z3MjJhTm9TMVhBaE1DWHg0T2t1Yk9CSlp3S0R3RmJnTE5tOTdxeVdHUVJtdHVvRldSc1YwdWphYkNQelZBMWtJQU1acUJOQUlqSWdJbVBOUnhVeksrU3NtdFJKbjRQcW1qOEFqQ1h6c21UbGFUU2NrLzh6Y0RSWC9RaU5NcDhTNkFiMmE1bnZHNXBseWlvRGFvTHMxL3NCWUt3eVVCb2trVGRRSmVpVlpnaTZVUitVVlFJMFFXSGRvWEtGdktEWXo3Uml5blhjdGs3TFBsbWVSbXNLeUFxV05RZlNRQVl5a0lHdVM1Q0kxRVJrU0VUMmlzaHB2UTZKU0xFOTNCeWZvUWJzUkhlTmdmZTR2T084RTZpRjZoZHhUb1pVNk9xR1VJV3YxdlNocWtCN1ZZTmFVM3BOMC9mR2d2TGE2QzVnazNQdWZKTzV6d09iZ0R1cmFxTThqYlpXcGRFbndHM0FZS09YNlhWUTA3K3NTcU5RcjNQNFF4UzlMWGVHQkd4SXpUaUdYd1I4UVNIUnNDajdaanhBYnhGWWFWQUtiTWUvQmtyQWR1UnBaSjZxZ1F4a29QOERLRFJZMXNrL3M1VzZZRmhvVUczbkZuWmVPSUpmeExnWFdCN3pCRm1teXpQVDQ0bXk5elhTQzA5OE9aQ1R3Q1F0dHpPWlZ6Vm9YMWE1TEhtZHRZeVdETTI5eWprbkl0S0YzeFNlbEZXdktvMW1oQ0NsUUxvMXNDOTVUOFQvZWJyK3hycU9BQlZaVDgydFk1NnFnUXhrSUFOMUNraEV1bHNHaVVpM2lDekt5SnNqSXB1Qll5THlvNGlzRnBIWFJlVHVURkxBcjFzT25BZWVUOG5iek5XKzNyZkFNMlVjeUFjU1FqNEZuZ1I2OE90MEYxTkEyNEN1TXFCdTRQTVVnWWRTMGh6d1lxbEZKK0FlTlYzczMwYUxTb0VVdGpFU2NvSEUzbmtaMEF5MWZSN28zWkNjR05BRVlIY081QS9nNXBaQUNwc01QRWY2VWV4VHdDTjVNdkk2dzJ6Z2FlQnQ0SFFLNUJzQzU3dWJZK2pQbGwvd0h6bjFBeWMwN1FEK3U2TVI0R1BuM0xsQS9TdUNPWkFHTXBDQkRGUmhpRjUwRXBGbCtQUDQ5d096Z0lQQUhtQ0xjKzZ6WEFFUkUxOFArYjdEUnFBbkpDZnZmRjBQL21UZ0xacjBsOTd2QjI3Q0wzSE8wcndUd0J6bjNQSENHaVUwdVFpc0E2Ymh6VDBUL1Q0WmVBcjRzNkZabWFsOFdjSTBMd0VUZ2Rmd0h6WTFYS3ozdGV5amliTExpb0xXYThVRGVHL29aYnhEK1FId2RVTHdnMXIrSzcxZlh4UTBvaFhmQWdTL012eWg1aTFNZ05acDJxdDZQNUltTC9RZXpkYnJTZUFHNEViVkpKa0g4THRlSitwMUZpa2hCUHBOcjNPZGM2ZlVOSGRvMm9KRXVjYlg4WTJ6RFFlTGdyN1Q2MklSZVJiNEFYOW1HR0M2WG84QnUwVmtPdkNRcHUxSmxSWm9vNlZjL1dMMmFkNEM0QTI4Q1d2QVI1VHRkVTBkd3FIL2V3SHZIaThIYmdVZXhoK2V1RFJDRkg2UFZPaDAvRkt6dzN1bTRNOHpwQTFEeHdrTVF6RmpYUjkrZC85TjFXSThCWkk3MWtVNTZBcThIWGdDK0FrLzVvM2dYK3JVTm1tTzVuc2JxUDJnZndDeXZKelBOb0tYaUFBQUFBQkpSVTVFcmtKZ2dnPT0pOyB9XG5cbi5sZWFmbGV0LW9sZGllIC5sZWFmbGV0LWNvbnRhaW5lci5kYXJrIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXRvZ2dsZSwgLmxlYWZsZXQtb2xkaWUgLmxlYWZsZXQtY29udGFpbmVyLmRhcmsgLmxlYWZsZXQtY29udHJvbC16b29tLWluLCAubGVhZmxldC1vbGRpZSAubGVhZmxldC1jb250YWluZXIuZGFyayAubGVhZmxldC1jb250cm9sLXpvb20tb3V0LCAubGVhZmxldC1vbGRpZSAubGVhZmxldC1jb250YWluZXIuZGFyayAubWFwYm94LWljb24sIC5sZWFmbGV0LW9sZGllIC5tYXBib3gtYnV0dG9uLWljb246YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQm9BQUFFRUNBWUFBQUEyNFNTUkFBQUFCSE5DU1ZRSUNBZ0lmQWhraUFBQUFBbHdTRmx6QUFBTjF3QUFEZGNCUWlpYmVBQUFBQmwwUlZoMFUyOW1kSGRoY21VQWQzZDNMbWx1YTNOallYQmxMbTl5WjV2dVBCb0FBQVhZU1VSQlZIaWM3WnhmaUZWRkhNYy9hNHVLV3RERHRxSkdacHJZZ3dYNUJ5VGRra0xiU2dnaENpS2loMTRFQll0ZzZhRXI5UlJSRUtSVVVzOWhHRVZ0Q2hLYVlNa3EyVnFXbW5VWDJ0S2lORE5aWS9YYncvd3VlN3g3enN3NTU5NjI2elkvR002ZGY3L1ArYzNNUGZPN00zTnVteVRHUWlhTUNTV0NJaWlDNnFWcW9aQzBsWGd5MUNxMEZhblVjazFYeFZtU05MOFdyellUMUxDTXZ6NXFMMUZub0F5b1ROT1ZrcFliM2hFVVFSRVVRUkVVUVJGMFJZT3FqSGltOWFIYVRGRERFdDJ0Q0lxZ0NJcWdDSXFnQ0xvaVFSVUxlZE5MZ3dDZXExTmFzYlI4SWlsdnFNaEpwZTV6cnZwRlFFbFlJWWlrc1JzTUxkZDBhWW9Md1lxc3FXNWk5S2pMTGRISmo2QUlpcUFJaWlDUDVKMlBwZ0xyZ0dYQVlrdnJBL1lCcndGL0JUWGttQjJYU3pxaGJEbGhaUnFheXBkTHV1aUIxT1JpQ09hRFRNMndaTGFGTk11bVp1bnpEWVoxd0p5MDF1YnlQZk9hekxFNnFlSWJETXN5MHFzbDZuZ3RXcHlSZnFPRkluVktiV0ZYUzlUeFd0UlhRbDltSFI5b1h3bFFkcDJ4R3Q0dDhZVnQ2aU1vcisvZDhFTTFPdmtSRkVFUkZFSC9BV2dhOENDd0Zmakp3bFpMbTVaSGdlL3BQUSs0ejhJS1lHSkd1YitCVDRHUExCd3ZDaW83ZjZRZVdmUTEzVHhnQTdBVEdQS1VHN0l5RzZ4T09qM254RGNGV0FsMEEvZGEyc2RBTC9BSmNENmt3QWM2Ym9wNmdUMWtXelVaNkxLYjZDYkRxcng5ZEI1MzU3MDRTOEJaMW8yemRFcFNaMUhRM01SZGR0bWRwOGtRenVLYTlkOFZCU1VsOWxFaDBQanJvNlpLeTAwVEVSUkJFUlJCTFFaYUNweGg5RkhGVXFCS2lpSlorbjVnRmZCSG5yc0tnVUtiN3Qvai9QQ3dCTlp3YXBLVzF5R3AzL0tQU0RyaktWc2FsSVQwVzN5cHdab0dTb1BVOHBZMkUvUkNDcVNpd0o1NUdkQlZCdXNJbEN1MFhwZjNOYTFndVpiYjFtbllKd3RadEttQUxtL1o2RUJHVUFSRlVBU05WMUE3MEFNY0JQNjBhdzlGOTNBRFBrTzdwRDNtRHd4S2VzT3VzdlQyUVAzY3prbVBLZDJZVU5wdWNWbCtMbEJvNGpzSVRBZHVBSWJybW5NQU9BbmNucWZsUW4xME0yNkplYmd1ZmRqU2I4b0R5UU02aGx2M3J1LzRka3YvdkZtZ2Q0RVp3UG9Fck4zaU00QmRlVUdOakRwSnFzcnRtemM4Nm1xd0hra0g1WDR0N0pEMHRFRnl3M0lOell3d3V3aXNFVkE5YlBlL0NhckJkb2NzaXA1cUJFVlFCUDNmUVJXeVg0ak9DcFVzWlMyeGhSMlNRZHdpeHEzQTJsRGhNa2NUYTdJZTJHNmZ3emZzbWF4OGNsclNKQ3UzcHk0dlZWL1pwaHNBTHRqbkZYa3F0Tnd5V2xMcVIxVWI3b2JQQTVPeUtqWExvbGsrU0ZtUWdFTjE4ZUQvUExYRUkyajhnWXFzcHdiclJFODFnaUlvZ2lLb2hVQWR6UUIxQVBkazVDM0VuZHM2Q1h3TGJBUmVCbTdKMU9aeElOZEtHcGIwVkVwZWI0cFQrYVdreDhvczBTeEpLSGxmMGlPU09pWE5rSFFwQmJSVDBvUXlvQTVKSDZZb1BKNlNKa25QZUhSNSs2Z1RXSjJTUGplai9CY2VYVjdRVjhBSHZzb0p1Y1RsdnQ1bzhaa3JhWmExZlVoZUQrZ0pmbzkrQnE0SmxQa050NFhnbDlDZFNKb3M2VWxKRjFJc09TdnAvaHc2dkw4bUZnQ0xnQ1hBNDR3KzczMEllSWlNODkzMTRnUDlBQ3pISFhEOXhkSU80OTQ3NmdPMk1mSmpMQ2pSZ1l5Z0NJcWdDR3FpRkZsMFdvTTdqNzhJbUE4Y0JRN2d6dWFIcC93Y2sxYW5wTzJCcVh5N2xTdTlJOVlKOUFQWFdmeWN4ZnVCYTRIYnpEcHdjOVpDNEZRWmkycVdYSkswV2RJMHVlM1N1UnA1UC9sUlNiOG5MQ3ZzUUs1Sk5NMnpraVpLZWtuU2tLVmRsUFNtbFgwZ1VYWk5VZEFXcTNoWTd0emo4M0srK0Z1UzlpY1UzMkhsOTFwOFMxRlFuMVY4VlZLYjNNcncyNWEzTWdIYWJHa3ZXcnd2VFovdmU3VEFycWVCcTNIKzNmNjZQSUJmN1Zyemt1YVRJajdRajNaZERKd0Y5akx5NXdKZGlYSzF0K05yWnh1T0ZnVjliZGRWd0JQQU44QVJTNXRwMTVQQVp4YS8yOUlPcEdyejlGRzNSc3NjeSt1UzlJcWtCWExEL1oxR1JsMXlRRWp1SEFOeTd2RmFTZE1sclphMEsxR20xUGNJU1RNbERaaVNiWmEySThWU1NUb2x6Mk1vOVBRZUJPN0N2VEUxaUR0UmMyZEt1ZmZ3UFg0Q2ZWUWZycGYwc0tSamtzNVpzMjdKNnBQNkVIM3ZDQnA3MEQ4ZGIyVlhGUGZJYWdBQUFBQkpSVTVFcmtKZ2dnPT0pOyB9XG5cbi5sZWFmbGV0LW9sZGllIC5tYXBib3gtbG9nby10cnVlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuXG4vKiFcbiAqIGFuaW1hdGUuY3NzIC1odHRwOi8vZGFuZWRlbi5tZS9hbmltYXRlXG4gKiBWZXJzaW9uIC0gMy41LjBcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAtIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYgRGFuaWVsIEVkZW5cbiAqL1xuLmFuaW1hdGVkIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7IH1cblxuLmFuaW1hdGVkLmluZmluaXRlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuLmFuaW1hdGVkLmhpbmdlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDJzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDJzOyB9XG5cbi5hbmltYXRlZC5mbGlwT3V0WCxcbi5hbmltYXRlZC5mbGlwT3V0WSxcbi5hbmltYXRlZC5ib3VuY2VJbixcbi5hbmltYXRlZC5ib3VuY2VPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogLjc1cztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNzVzOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2Uge1xuICBmcm9tLCAyMCUsIDUzJSwgODAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICA0MCUsIDQzJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApOyB9XG4gIDcwJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApOyB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTRweCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG4gIGZyb20sIDIwJSwgNTMlLCA4MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIDQwJSwgNDMlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCk7IH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7IH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTRweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKTsgfSB9XG5cbi5ib3VuY2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxhc2gge1xuICBmcm9tLCA1MCUsIHRvIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDI1JSwgNzUlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBmbGFzaCB7XG4gIGZyb20sIDUwJSwgdG8ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMjUlLCA3NSUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uZmxhc2gge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGFzaDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsYXNoOyB9XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0gfVxuXG4ucHVsc2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBydWJiZXJCYW5kIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9XG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpOyB9XG4gIDY1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJ1YmJlckJhbmQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH1cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7IH1cbiAgNjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfSB9XG5cbi5ydWJiZXJCYW5kIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcnViYmVyQmFuZDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlIHtcbiAgZnJvbSwgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIDEwJSwgMzAlLCA1MCUsIDcwJSwgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOyB9XG4gIDIwJSwgNDAlLCA2MCUsIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNoYWtlIHtcbiAgZnJvbSwgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIDEwJSwgMzAlLCA1MCUsIDcwJSwgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOyB9XG4gIDIwJSwgNDAlLCA2MCUsIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7IH0gfVxuXG4uc2hha2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBoZWFkU2hha2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDYuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTsgfVxuICAxOC41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7IH1cbiAgMzEuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTsgfVxuICA0My41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGhlYWRTaGFrZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgNi41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpOyB9XG4gIDE4LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTsgfVxuICAzMS41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpOyB9XG4gIDQzLjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbi5oZWFkU2hha2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaGVhZFNoYWtlO1xuICBhbmltYXRpb24tbmFtZTogaGVhZFNoYWtlOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzd2luZyB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHN3aW5nIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTsgfSB9XG5cbi5zd2luZyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmc7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZzsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdGFkYSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfVxuICAxMCUsIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7IH1cbiAgMzAlLCA1MCUsIDcwJSwgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7IH1cbiAgNDAlLCA2MCUsIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfSB9XG5cbkBrZXlmcmFtZXMgdGFkYSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfVxuICAxMCUsIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7IH1cbiAgMzAlLCA1MCUsIDcwJSwgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7IH1cbiAgNDAlLCA2MCUsIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfSB9XG5cbi50YWRhIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdGFkYTtcbiAgYW5pbWF0aW9uLW5hbWU6IHRhZGE7IH1cblxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgd29iYmxlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9XG4gIDE1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTsgfVxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTsgfVxuICA0NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9IH1cblxuQGtleWZyYW1lcyB3b2JibGUge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgMTUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpOyB9XG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpOyB9XG4gIDQ1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG4ud29iYmxlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogd29iYmxlO1xuICBhbmltYXRpb24tbmFtZTogd29iYmxlOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBqZWxsbyB7XG4gIGZyb20sIDExLjElLCB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9XG4gIDIyLjIlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7IH1cbiAgMzMuMyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpOyB9XG4gIDQ0LjQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpOyB9XG4gIDU1LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpOyB9XG4gIDY2LjYlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7IH1cbiAgNzcuNyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyZGVnKSBza2V3WSgwLjM5MDYyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjJkZWcpIHNrZXdZKDAuMzkwNjJkZWcpOyB9XG4gIDg4LjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuMTk1MzFkZWcpIHNrZXdZKC0wLjE5NTMxZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxZGVnKSBza2V3WSgtMC4xOTUzMWRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGplbGxvIHtcbiAgZnJvbSwgMTEuMSUsIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgMjIuMiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTsgfVxuICAzMy4zJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7IH1cbiAgNDQuNCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7IH1cbiAgNTUuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7IH1cbiAgNjYuNiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTsgfVxuICA3Ny43JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjJkZWcpIHNrZXdZKDAuMzkwNjJkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMC4zOTA2MmRlZykgc2tld1koMC4zOTA2MmRlZyk7IH1cbiAgODguOCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMWRlZykgc2tld1koLTAuMTk1MzFkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuMTk1MzFkZWcpIHNrZXdZKC0wLjE5NTMxZGVnKTsgfSB9XG5cbi5qZWxsbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGplbGxvO1xuICBhbmltYXRpb24tbmFtZTogamVsbG87XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluIHtcbiAgZnJvbSwgMjAlLCA0MCUsIDYwJSwgODAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7IH1cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluIHtcbiAgZnJvbSwgMjAlLCA0MCUsIDYwJSwgODAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7IH1cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0gfVxuXG4uYm91bmNlSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApOyB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7IH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG5cbi5ib3VuY2VJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7IH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9IH1cblxuLmJvdW5jZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7IH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG4uYm91bmNlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblVwIHtcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7IH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYm91bmNlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXQge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTsgfVxuICA1MCUsIDU1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VPdXQge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTsgfVxuICA1MCUsIDU1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpOyB9IH1cblxuLmJvdW5jZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7IH1cbiAgNDAlLCA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApOyB9XG4gIDQwJSwgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOyB9IH1cblxuLmJvdW5jZU91dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsgfSB9XG5cbi5ib3VuY2VPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsgfSB9XG5cbi5ib3VuY2VPdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApOyB9XG4gIDQwJSwgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRVcCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTsgfVxuICA0MCUsIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsgfSB9XG5cbi5ib3VuY2VPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uZmFkZUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG4uZmFkZUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG5cbi5mYWRlSW5Eb3duQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG5cbi5mYWRlSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9IH1cblxuLmZhZGVJbkxlZnRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZzsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG5cbi5mYWRlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG5cbi5mYWRlSW5SaWdodEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG4uZmFkZUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH0gfVxuXG4uZmFkZUluVXBCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uZmFkZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsgfSB9XG5cbi5mYWRlT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd247IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7IH0gfVxuXG4uZmFkZU91dERvd25CaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7IH0gfVxuXG4uZmFkZU91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsgfSB9XG5cbi5mYWRlT3V0TGVmdEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7IH0gfVxuXG4uZmFkZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7IH0gfVxuXG4uZmFkZU91dFJpZ2h0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsgfSB9XG5cbi5mYWRlT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7IH0gfVxuXG4uZmFkZU91dFVwQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgwLjk1LCAwLjk1LCAwLjk1KTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfSB9XG5cbkBrZXlmcmFtZXMgZmxpcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDAuOTUsIDAuOTUsIDAuOTUpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH0gfVxuXG4uYW5pbWF0ZWQuZmxpcCB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXA7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblgge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZsaXBJblgge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7IH0gfVxuXG4uZmxpcEluWCB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOyB9IH1cblxuQGtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOyB9IH1cblxuLmZsaXBJblkge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZO1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFgge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOyB9XG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsgfVxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmZsaXBPdXRYIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFg7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOyB9XG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsgfVxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmZsaXBPdXRZIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFk7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZEluIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4ubGlnaHRTcGVlZEluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluO1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluO1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5saWdodFNwZWVkT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVJbiB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4ucm90YXRlSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4ucm90YXRlSW5Eb3duTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4ucm90YXRlSW5Eb3duUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnJvdGF0ZUluVXBMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnJvdGF0ZUluVXBSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5yb3RhdGVPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLnJvdGF0ZU91dERvd25MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5yb3RhdGVPdXREb3duUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLnJvdGF0ZU91dFVwTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4ucm90YXRlT3V0VXBSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBoaW5nZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH1cbiAgMjAlLCA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9XG4gIDQwJSwgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGhpbmdlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfVxuICAyMCUsIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH1cbiAgNDAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA3MDBweCwgMCk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5oaW5nZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhpbmdlO1xuICBhbmltYXRpb24tbmFtZTogaGluZ2U7IH1cblxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG5cbkBrZXlmcmFtZXMgcm9sbEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG5cbi5yb2xsSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47IH1cblxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyByb2xsT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7IH0gfVxuXG4ucm9sbE91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsT3V0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHpvb21JbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi56b29tSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW47XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW47IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTsgfSB9XG5cbkBrZXlmcmFtZXMgem9vbUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpOyB9IH1cblxuLnpvb21JbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluRG93bjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpOyB9IH1cblxuQGtleWZyYW1lcyB6b29tSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7IH0gfVxuXG4uem9vbUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpOyB9IH1cblxuQGtleWZyYW1lcyB6b29tSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpOyB9IH1cblxuLnpvb21JblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5SaWdodDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTsgfSB9XG5cbkBrZXlmcmFtZXMgem9vbUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTsgfSB9XG5cbi56b29tSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JblVwO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluVXA7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uem9vbU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0RG93biB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTsgfSB9XG5cbkBrZXlmcmFtZXMgem9vbU91dERvd24ge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7IH0gfVxuXG4uem9vbU91dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXREb3duOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7IH0gfVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXRMZWZ0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjsgfSB9XG5cbi56b29tT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjsgfSB9XG5cbkBrZXlmcmFtZXMgem9vbU91dFJpZ2h0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyOyB9IH1cblxuLnpvb21PdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRSaWdodDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFVwIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpOyB9IH1cblxuQGtleWZyYW1lcyB6b29tT3V0VXAge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7IH0gfVxuXG4uem9vbU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dFVwOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluRG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5zbGlkZUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLnNsaWRlSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLnNsaWRlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLnNsaWRlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5VcDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsgfSB9XG5cbi5zbGlkZU91dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dERvd247IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9IH1cblxuLnNsaWRlT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9IH1cblxuLnNsaWRlT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsgfSB9XG5cbi5zbGlkZU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0VXA7IH1cblxuLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyoqXG4gICAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gICAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4gICAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbiAgICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAgICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICAgKiBhbmQgRmlyZWZveC5cbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAgICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAgICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgKi9cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAgICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAgICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAgICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICAgKi9cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIExpbmtzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qKlxuICAgKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gICAqIGFjdGl2ZS9ob3ZlciBzdGF0ZS5cbiAgICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAgICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICAgKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAgICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gICAqL1xuaW1nIHtcbiAgYm9yZGVyOiAwOyB9XG5cbi8qKlxuICAgKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAgICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICAgKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAgICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gICAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbi8qIEZvcm1zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAgICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICAgKi9cbi8qKlxuICAgKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovXG4gIG1hcmdpbjogMDtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICAgKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICAgKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICAgKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gICAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gICAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gICAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICAgKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gICAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gICAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAgICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiAzICovIH1cblxuLyoqXG4gICAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gICAqL1xuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi8qKlxuICAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gICAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAgICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gICAqL1xuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbi8qKlxuICAgKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gICAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gICAqXG4gICAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gICAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gICAqL1xuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gICAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gICAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAgICovXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAgICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAyICovIH1cblxuLyoqXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICAgKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gICAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAgICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAgICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICAgKi9cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtOyB9XG5cbi8qKlxuICAgKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gICAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAgICovXG5sZWdlbmQge1xuICBib3JkZXI6IDA7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICAgKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqXG4gICAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAgICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gICAqL1xub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKiBUYWJsZXNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gICAqL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDsgfVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZtZWRpdW09NDBlbSZsYXJnZT02NGVtJnhsYXJnZT03NWVtJnh4bGFyZ2U9OTBlbVwiOyB9XG5cbmh0bWwsXG5ib2R5IHtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgXCJHb3RoYW1cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbnNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbiNtYXBfY2FudmFzIGltZyxcbiNtYXBfY2FudmFzIGVtYmVkLFxuI21hcF9jYW52YXMgb2JqZWN0LFxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG4ucm93IHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5yb3cgLnJvdyxcbiAgLmNvbHVtbi1yb3cgLnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtOyB9XG5cbi5jb2x1bW4sXG4uY29sdW1ucyB7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH1cblxuLnNtYWxsLTEge1xuICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gIG1heC13aWR0aDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLTIge1xuICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtMyB7XG4gIGZsZXg6IDAgMCAyNSU7XG4gIG1heC13aWR0aDogMjUlOyB9XG5cbi5zbWFsbC00IHtcbiAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLTUge1xuICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtNiB7XG4gIGZsZXg6IDAgMCA1MCU7XG4gIG1heC13aWR0aDogNTAlOyB9XG5cbi5zbWFsbC03IHtcbiAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLTgge1xuICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtOSB7XG4gIGZsZXg6IDAgMCA3NSU7XG4gIG1heC13aWR0aDogNzUlOyB9XG5cbi5zbWFsbC0xMCB7XG4gIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC0xMSB7XG4gIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC0xMiB7XG4gIGZsZXg6IDAgMCAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5sYXJnZS00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5sYXJnZS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlOyB9XG4gIC5sYXJnZS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAueHhsYXJnZS0yIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueHhsYXJnZS04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLnh4bGFyZ2UtMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtZXhwYW5kIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG4uc2hyaW5rIHtcbiAgZmxleDogMCAwIGF1dG87IH1cblxuLnJvdy5tZWRpdW0tdW5zdGFjayAuY29sdW1uIHtcbiAgZmxleDogMCAwIDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yb3cubWVkaXVtLXVuc3RhY2sgLmNvbHVtbiB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuLnJvdy5sYXJnZS11bnN0YWNrIC5jb2x1bW4ge1xuICBmbGV4OiAwIDAgMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnJvdy5sYXJnZS11bnN0YWNrIC5jb2x1bW4ge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG5cbi5yb3cueGxhcmdlLXVuc3RhY2sgLmNvbHVtbiB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAucm93LnhsYXJnZS11bnN0YWNrIC5jb2x1bW4ge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG5cbi5yb3cueHhsYXJnZS11bnN0YWNrIC5jb2x1bW4ge1xuICBmbGV4OiAwIDAgMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLnJvdy54eGxhcmdlLXVuc3RhY2sgLmNvbHVtbiB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuLnNtYWxsLW9yZGVyLTEge1xuICBvcmRlcjogMTsgfVxuXG4uc21hbGwtb3JkZXItMiB7XG4gIG9yZGVyOiAyOyB9XG5cbi5zbWFsbC1vcmRlci0zIHtcbiAgb3JkZXI6IDM7IH1cblxuLnNtYWxsLW9yZGVyLTQge1xuICBvcmRlcjogNDsgfVxuXG4uc21hbGwtb3JkZXItNSB7XG4gIG9yZGVyOiA1OyB9XG5cbi5zbWFsbC1vcmRlci02IHtcbiAgb3JkZXI6IDY7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLm1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubWVkaXVtLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLm1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5sYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLmxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5sYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC54bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueHhsYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAueHhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueHhsYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAueHhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAueHhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueHhsYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbi5yb3cuYWxpZ24tcmlnaHQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5yb3cuYWxpZ24tY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLnJvdy5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5yb3cuYWxpZ24tc3BhY2VkIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLnJvdy5hbGlnbi10b3Age1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4uY29sdW1uLmFsaWduLXRvcCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cblxuLnJvdy5hbGlnbi1ib3R0b20ge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmNvbHVtbi5hbGlnbi1ib3R0b20ge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuXG4ucm93LmFsaWduLW1pZGRsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmNvbHVtbi5hbGlnbi1taWRkbGUge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLnJvdy5hbGlnbi1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLmNvbHVtbi5hbGlnbi1zdHJldGNoIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnAge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgXCJHb3RoYW1cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgaDEgc21hbGwsXG4gIGgyIHNtYWxsLFxuICBoMyBzbWFsbCxcbiAgaDQgc21hbGwsXG4gIGg1IHNtYWxsLFxuICBoNiBzbWFsbCB7XG4gICAgY29sb3I6ICNDRUNFQ0U7XG4gICAgbGluZS1oZWlnaHQ6IDA7IH1cblxuaDEge1xuICBmb250LXNpemU6IDEuNXJlbTsgfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMS4xODc1cmVtOyB9XG5cbmg0IHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG5cbmg2IHtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogM3JlbTsgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07IH1cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMS45Mzc1cmVtOyB9XG4gIGg0IHtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTsgfVxuICBoNSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIGg2IHtcbiAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG5hIHtcbiAgY29sb3I6ICMwNzc0Q0I7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogIzA2NjRhZjsgfVxuICBhIGltZyB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbmhyIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDRUNFQ0U7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgY2xlYXI6IGJvdGg7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTsgfVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG51bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IGluaGVyaXQ7IH1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIGRsIGR0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNTYyNXJlbSAxLjI1cmVtIDAgMS4xODc1cmVtO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNDRUNFQ0U7IH1cbiAgYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGNvbG9yOiAjMkMyQzJDOyB9XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGNvbG9yOiAjMkMyQzJDOyB9XG4gIGNpdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7IH1cblxuYWJiciB7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBjdXJzb3I6IGhlbHA7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzBhMGEwYTsgfVxuXG5jb2RlIHtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBib3JkZXI6IDFweCBzb2xpZCAjQ0VDRUNFO1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjMxMjVyZW0gMC4wNjI1cmVtOyB9XG5cbmtiZCB7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW0gMDtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7IH1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzJDMkMyQzsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBwICsgLnN0YXQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbi5uby1idWxsZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5sYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAueGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAueGxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC54bGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAueGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnh4bGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC54eGxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC54eGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnh4bGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgdGguc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIC5pciBhOmFmdGVyLFxuICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICBhW2hyZWZePScjJ106YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuNWNtOyB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfSB9XG5cbi5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwYWRkaW5nOiAwLjg1ZW0gMWVtO1xuICBtYXJnaW46IDAgMXJlbSAxcmVtIDA7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBiYWNrZ3JvdW5kOiAjMDc3NENCO1xuICBjb2xvcjogI2ZmZjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDY2M2FkO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24udGlueSB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24ubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMDc3NENCO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogIzA2NWRhMjtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNzc3O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICM1ZjVmNWY7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnV0dG9uLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMjJiYjViO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLmJ1dHRvbi5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2VjNTg0MDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogI2RhMzExNjtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24ud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI2ZmYWUwMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnV0dG9uLmhvbGxvdyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzA3NzRDQjtcbiAgICBjb2xvcjogIzA3NzRDQjsgfVxuICAgIC5idXR0b24uaG9sbG93LCAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDQzYTY2O1xuICAgICAgY29sb3I6ICMwNDNhNjY7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMwNzc0Q0I7XG4gICAgICBjb2xvcjogIzA3NzRDQjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzA0M2E2NjtcbiAgICAgICAgY29sb3I6ICMwNDNhNjY7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc3NztcbiAgICAgIGNvbG9yOiAjNzc3OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNjM2MzYztcbiAgICAgICAgY29sb3I6ICMzYzNjM2M7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzE1NzUzOTtcbiAgICAgICAgY29sb3I6ICMxNTc1Mzk7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5hbGVydCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZWM1ODQwO1xuICAgICAgY29sb3I6ICNlYzU4NDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzg4MWYwZTtcbiAgICAgICAgY29sb3I6ICM4ODFmMGU7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgICAgICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC40ZW07XG4gICAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuYnV0dG9uLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB0b3A6IDAuMmVtOyB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjQ0VDRUNFO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogIzJDMkMyQztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMTAsIDEwLCAxMCwgMC4xKTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lOyB9XG4gIFt0eXBlPSd0ZXh0J106Zm9jdXMsIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCBbdHlwZT0nZGF0ZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmZvY3VzLCBbdHlwZT0nd2VlayddOmZvY3VzLCBbdHlwZT0nZW1haWwnXTpmb2N1cywgW3R5cGU9J251bWJlciddOmZvY3VzLCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIFt0eXBlPSd0ZWwnXTpmb2N1cywgW3R5cGU9J3RpbWUnXTpmb2N1cywgW3R5cGU9J3VybCddOmZvY3VzLCBbdHlwZT0nY29sb3InXTpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMyQzJDMkM7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI0NFQ0VDRTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICB0ZXh0YXJlYVtyb3dzXSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG5bdHlwZT0nc3VibWl0J10sXG5bdHlwZT0nYnV0dG9uJ10ge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTsgfVxuXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuW3R5cGU9J2ZpbGUnXSxcblt0eXBlPSdjaGVja2JveCddLFxuW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW46IDAgMCAxcmVtOyB9XG5cblt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG5bdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5sYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxubGFiZWwgPiBbdHlwZT0nbGFiZWwnXSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cblt0eXBlPSdmaWxlJ10ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG4gIGxhYmVsLm1pZGRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMzMzM7IH1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5pbnB1dC1ncm91cCA+ICo6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmlucHV0LWdyb3VwID4gKjpsYXN0LWNoaWxkID4gKiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwsIC5pbnB1dC1ncm91cC1maWVsZCwgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIG1hcmdpbjogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBib3JkZXI6IDFweCBzb2xpZCAjQ0VDRUNFOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtZmllbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBoZWlnaHQ6IDIuNXJlbTsgfVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDElOyB9XG4gIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24ge1xuICAgIG1hcmdpbjogMDsgfVxuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4uZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjQ0VDRUNFO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBtYXJnaW46IDEuMTI1cmVtIDA7IH1cbiAgLmZpZWxkc2V0IGxlZ2VuZCB7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICBwYWRkaW5nOiAwIDAuMTg3NXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07IH1cblxuc2VsZWN0IHtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0NFQ0VDRTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMyQzJDMkM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDMyIDI0XCI+PHBvbHlnb24gcG9pbnRzPVwiMCwwIDMyLDAgMTYsMjRcIiBzdHlsZT1cImZpbGw6IHJnYig1MSwgNTEsIDUxKVwiPjwvcG9seWdvbj48L3N2Zz4nKTtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwLjVyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM2LCA4OCwgNjQsIDAuMSk7XG4gIGJvcmRlci1jb2xvcjogI2VjNTg0MDsgfVxuXG4uaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjZWM1ODQwOyB9XG5cbi5mb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNlYzU4NDA7IH1cbiAgLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmhpZGUtZm9yLXhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gIC5zaG93LWZvci14bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnNob3ctZm9yLXhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5oaWRlLWZvci14eGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLXh4bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmhpZGUtZm9yLXh4bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODkuOTM3NWVtKSB7XG4gIC5zaG93LWZvci14eGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApOyB9XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvOyB9XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4uZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LWNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5jbGVhcmZpeDo6YmVmb3JlLCAuY2xlYXJmaXg6OmFmdGVyIHtcbiAgY29udGVudDogJyAnO1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4uY2xlYXJmaXg6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmFjY29yZGlvbiB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGNvbG9yOiAjMDc3NENCO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2OyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cbiAgOmxhc3QtY2hpbGQgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwOyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJysnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMXJlbTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtOyB9XG4gIC5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICfigJMnOyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7IH1cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjNlbTtcbiAgbWluLXdpZHRoOiAyLjFlbTtcbiAgZm9udC1zaXplOiAwLjZyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiAjMDc3NENCO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2Uuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNzc3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogI2VjNTg0MDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYmFkZ2Uud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI2ZmYWUwMDtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4uYnJlYWRjcnVtYnMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7IH1cbiAgLmJyZWFkY3J1bWJzOjpiZWZvcmUsIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnJlYWRjcnVtYnMgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLmJyZWFkY3J1bWJzIGxpOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjQ0VDRUNFO1xuICAgICAgY29udGVudDogXCIvXCI7XG4gICAgICBtYXJnaW46IDAgMC43NXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMXB4O1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuYnJlYWRjcnVtYnMgYSB7XG4gICAgY29sb3I6ICMwNzc0Q0I7IH1cbiAgICAuYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuYnJlYWRjcnVtYnMgLmRpc2FibGVkIHtcbiAgICBjb2xvcjogI0NFQ0VDRTsgfVxuXG4uYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAwLjlyZW07IH1cbiAgLmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7IH1cbiAgICAuYnV0dG9uLWdyb3VwIC5idXR0b246bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAudGlueSB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246bnRoLWxhc3QtY2hpbGQoMik6Zmlyc3QtY2hpbGQsXG4gIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpudGgtbGFzdC1jaGlsZCgyKTpmaXJzdC1jaGlsZCB+IC5idXR0b24ge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOm50aC1sYXN0LWNoaWxkKDMpOmZpcnN0LWNoaWxkLFxuICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246bnRoLWxhc3QtY2hpbGQoMyk6Zmlyc3QtY2hpbGQgfiAuYnV0dG9uIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpudGgtbGFzdC1jaGlsZCg0KTpmaXJzdC1jaGlsZCxcbiAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOm50aC1sYXN0LWNoaWxkKDQpOmZpcnN0LWNoaWxkIH4gLmJ1dHRvbiB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246bnRoLWxhc3QtY2hpbGQoNSk6Zmlyc3QtY2hpbGQsXG4gIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpudGgtbGFzdC1jaGlsZCg1KTpmaXJzdC1jaGlsZCB+IC5idXR0b24ge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOm50aC1sYXN0LWNoaWxkKDYpOmZpcnN0LWNoaWxkLFxuICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246bnRoLWxhc3QtY2hpbGQoNik6Zmlyc3QtY2hpbGQgfiAuYnV0dG9uIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDc3NENCO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwNjVkYTI7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjNzc3O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNWY1ZjVmO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogIzIyYmI1YjtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogI2VjNTg0MDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNkYTMxMTY7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogI2ZmYWUwMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjY2M4YjAwO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2ZlZmVmZTsgfSB9XG5cbi5jYWxsb3V0IHtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuICAuY2FsbG91dCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY2FsbG91dCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jYWxsb3V0LnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNGViZmU7IH1cbiAgLmNhbGxvdXQuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViOyB9XG4gIC5jYWxsb3V0LnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMWZhZWE7IH1cbiAgLmNhbGxvdXQuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2U2ZTI7IH1cbiAgLmNhbGxvdXQud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNkOTsgfVxuICAuY2FsbG91dC5zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuICAuY2FsbG91dC5sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cblxuLmNsb3NlLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICMyQzJDMkM7XG4gIHJpZ2h0OiAxcmVtO1xuICB0b3A6IDAuNXJlbTtcbiAgZm9udC1zaXplOiAyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jbG9zZS1idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmNsb3NlLWJ1dHRvbjpob3ZlciwgLmNsb3NlLWJ1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cblxuLmlzLWRyaWxsZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogLTE7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7IH1cbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWFjdGl2ZSB7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1jbG9zaW5nIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDc3NENCO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uanMtZHJpbGxkb3duLWJhY2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzA3NzRDQiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDAuNnJlbTtcbiAgbWFyZ2luLXRvcDogMTRweDsgfVxuXG4uZHJvcGRvd24tcGFuZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDRUNFQ0U7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxcmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMwMHB4O1xuICB6LWluZGV4OiAxMDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5kcm9wZG93bi1wYW5lLnRpbnkge1xuICB3aWR0aDogMTAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUuc21hbGwge1xuICB3aWR0aDogMjAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUubGFyZ2Uge1xuICB3aWR0aDogNDAwcHg7IH1cblxuW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5kcm9wZG93bi5tZW51IGEge1xuICBvdXRsaW5lOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJvcGRvd24ubWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgYTo6YWZ0ZXIge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50LmlzLWRvd24tYXJyb3cgYSB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJvcGRvd24ubWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQuaXMtZG93bi1hcnJvdyA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDc3NENCIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuODI1cmVtO1xuICAgIHJpZ2h0OiA1cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50LmlzLWxlZnQtYXJyb3cgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzA3NzRDQiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAuZHJvcGRvd24ubWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQuaXMtcmlnaHQtYXJyb3cgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzA3NzRDQjtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7IH1cbiAgLmRyb3Bkb3duLm1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50LmlzLWxlZnQtYXJyb3cub3BlbnMtaW5uZXIgLnN1Ym1lbnUge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50LmlzLXJpZ2h0LWFycm93Lm9wZW5zLWlubmVyIC5zdWJtZW51IHtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1pbm5lciAuc3VibWVudSB7XG4gICAgdG9wOiAxMDAlOyB9XG5cbi5uby1qcyAuZHJvcGRvd24ubWVudSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmRyb3Bkb3duLm1lbnUgLnN1Ym1lbnUge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgei1pbmRleDogMTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0NFQ0VDRTsgfVxuICAuZHJvcGRvd24ubWVudSAuc3VibWVudSA+IGxpIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudSAuc3VibWVudS5maXJzdC1zdWIge1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51IC5zdWJtZW51Om5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAuZHJvcGRvd24ubWVudSAuc3VibWVudSwgLmRyb3Bkb3duLm1lbnUgLnN1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZHJvcGRvd24ubWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCAuc3VibWVudSB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxMDAlOyB9XG5cbi5kcm9wZG93bi5tZW51LmFsaWduLXJpZ2h0IC5zdWJtZW51LmZpcnN0LXN1YiB7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7IH1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7IH1cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCA+IGxpIC5zdWJtZW51IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMTAwJTsgfVxuXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLXRvcDogMS41NjI1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuICAuZmxleC12aWRlby52aW1lbyB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICMwNzc0Q0I7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICM3Nzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmxhYmVsLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmxhYmVsLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjZWM1ODQwO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5tZWRpYS1vYmplY3Qge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAubWVkaWEtb2JqZWN0IGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfVxuICAgICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmxhc3QtY2hpbGQ6bm90KCArIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpmaXJzdC1jaGlsZCkge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ubWlkZGxlIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbi5ib3R0b20ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cblxuLm1lbnUge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAubWVudSA+IGxpIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm1lbnUgPiBsaSB7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gIC5tZW51ID4gbGk6bm90KC5tZW51LXRleHQpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLm1lbnUgaW5wdXQsXG4gIC5tZW51IGEsXG4gIC5tZW51IGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVudSA+IGxpID4gYSA+IGltZyxcbiAgLm1lbnUgPiBsaSA+IGEgPiBpIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5tZW51ID4gbGkgPiBhID4gc3BhbiB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAubWVudSA+IGxpID4gYSA+IGltZyxcbiAgLm1lbnUgPiBsaSA+IGEgPiBpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG4gIC5tZW51ID4gbGkge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cbiAgLm1lbnUudmVydGljYWwgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4gICAgLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAubWVudS54bGFyZ2UtaG9yaXpvbnRhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cbiAgICAubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4gICAgLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLm1lbnUuc2ltcGxlIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0ID4gbGkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAubWVudS5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubWVudS5leHBhbmRlZCA+IGxpOm50aC1sYXN0LWNoaWxkKDIpOmZpcnN0LWNoaWxkLFxuICAgIC5tZW51LmV4cGFuZGVkID4gbGk6bnRoLWxhc3QtY2hpbGQoMik6Zmlyc3QtY2hpbGQgfiBsaSB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLm1lbnUuZXhwYW5kZWQgPiBsaTpudGgtbGFzdC1jaGlsZCgzKTpmaXJzdC1jaGlsZCxcbiAgICAubWVudS5leHBhbmRlZCA+IGxpOm50aC1sYXN0LWNoaWxkKDMpOmZpcnN0LWNoaWxkIH4gbGkge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5tZW51LmV4cGFuZGVkID4gbGk6bnRoLWxhc3QtY2hpbGQoNCk6Zmlyc3QtY2hpbGQsXG4gICAgLm1lbnUuZXhwYW5kZWQgPiBsaTpudGgtbGFzdC1jaGlsZCg0KTpmaXJzdC1jaGlsZCB+IGxpIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAubWVudS5leHBhbmRlZCA+IGxpOm50aC1sYXN0LWNoaWxkKDUpOmZpcnN0LWNoaWxkLFxuICAgIC5tZW51LmV4cGFuZGVkID4gbGk6bnRoLWxhc3QtY2hpbGQoNSk6Zmlyc3QtY2hpbGQgfiBsaSB7XG4gICAgICB3aWR0aDogMjAlOyB9XG4gICAgLm1lbnUuZXhwYW5kZWQgPiBsaTpudGgtbGFzdC1jaGlsZCg2KTpmaXJzdC1jaGlsZCxcbiAgICAubWVudS5leHBhbmRlZCA+IGxpOm50aC1sYXN0LWNoaWxkKDYpOmZpcnN0LWNoaWxkIH4gbGkge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5tZW51LmV4cGFuZGVkID4gbGk6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAubWVudS5pY29uLXRvcCA+IGxpID4gYSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEgPiBpbWcsXG4gICAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEgPiBpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMC4yNXJlbTsgfVxuICAubWVudS5uZXN0ZWQge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG5cbi5tZW51LXRleHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDAuN3JlbSAxcmVtOyB9XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5odG1sLFxuYm9keSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiBhdXRvOyB9XG5cbi5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlOyB9XG4gIC5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXI6OmJlZm9yZSwgLm9mZi1jYW52YXMtd3JhcHBlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAub2ZmLWNhbnZhcy13cmFwcGVyLWlubmVyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLm9mZi1jYW52YXMtY29udGVudCxcbi5vZmYtY2FudmFzLWNvbnRlbnQge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC41KTsgfVxuXG4uanMtb2ZmLWNhbnZhcy1leGl0IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU0LCAyNTQsIDI1NCwgMC4yNSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjVzIGVhc2U7IH1cbiAgLmlzLW9mZi1jYW52YXMtb3BlbiAuanMtb2ZmLWNhbnZhcy1leGl0IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ub2ZmLWNhbnZhcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgei1pbmRleDogLTE7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0IHtcbiAgICBsZWZ0OiAtMjUwcHg7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAyNTBweDsgfVxuICAgIC5pcy1vcGVuLWxlZnQge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodCB7XG4gICAgcmlnaHQ6IC0yNTBweDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDI1MHB4OyB9XG4gICAgLmlzLW9wZW4tcmlnaHQge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSB7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3IteHhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfSB9XG5cbi5vcmJpdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ub3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLm9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLm9yYml0LXNsaWRlLm5vLW1vdGlvbnVpLmlzLWFjdGl2ZSB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cblxuLm9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG4ub3JiaXQtaW1hZ2Uge1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLm9yYml0LWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNSk7IH1cblxuLm9yYml0LXByZXZpb3VzLCAub3JiaXQtbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtcHJldmlvdXMsIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtbmV4dCB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub3JiaXQtcHJldmlvdXM6aG92ZXIsIC5vcmJpdC1uZXh0OmhvdmVyLCAub3JiaXQtcHJldmlvdXM6YWN0aXZlLCAub3JiaXQtbmV4dDphY3RpdmUsIC5vcmJpdC1wcmV2aW91czpmb2N1cywgLm9yYml0LW5leHQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC41KTsgfVxuXG4ub3JiaXQtcHJldmlvdXMge1xuICBsZWZ0OiAwOyB9XG5cbi5vcmJpdC1uZXh0IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7IH1cblxuLm9yYml0LWJ1bGxldHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDAuOHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1idWxsZXRzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vcmJpdC1idWxsZXRzIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDEuMnJlbTtcbiAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICBtYXJnaW46IDAuMXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0VDRUNFO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAgIC5vcmJpdC1idWxsZXRzIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkMyQzJDOyB9XG4gICAgLm9yYml0LWJ1bGxldHMgYnV0dG9uLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkMyQzJDOyB9XG5cbi5wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLnBhZ2luYXRpb246OmJlZm9yZSwgLnBhZ2luYXRpb246OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnBhZ2luYXRpb246OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucGFnaW5hdGlvbiBsaSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMDYyNXJlbTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAucGFnaW5hdGlvbiBsaTpsYXN0LWNoaWxkLCAucGFnaW5hdGlvbiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucGFnaW5hdGlvbiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gIC5wYWdpbmF0aW9uIGEsXG4gIC5wYWdpbmF0aW9uIGJ1dHRvbiB7XG4gICAgY29sb3I6ICMwYTBhMGE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAucGFnaW5hdGlvbiBhOmhvdmVyLFxuICAgIC5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIC5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYmFja2dyb3VuZDogIzA3NzRDQjtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLnBhZ2luYXRpb24gLmRpc2FibGVkIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29sb3I6ICNDRUNFQ0U7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgLnBhZ2luYXRpb24gLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5wYWdpbmF0aW9uIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICfigKYnO1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuXG4ucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4ucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgY29udGVudDogJ8KrJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG4ucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICBjb250ZW50OiAnwrsnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cblxuLnByb2dyZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0NFQ0VDRTtcbiAgaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIC5wcm9ncmVzcy5wcmltYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA3NzRDQjsgfVxuICAucHJvZ3Jlc3Muc2Vjb25kYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NzsgfVxuICAucHJvZ3Jlc3Muc3VjY2VzcyAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7IH1cbiAgLnByb2dyZXNzLmFsZXJ0IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VjNTg0MDsgfVxuICAucHJvZ3Jlc3Mud2FybmluZyAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7IH1cblxuLnByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwNzc0Q0I7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgLnByb2dyZXNzLW1ldGVyIC5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lOyB9XG5cbi5zbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNDRUNFQ0U7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OyB9XG4gIC5zbGlkZXItZmlsbC5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjsgfVxuXG4uc2xpZGVyLWhhbmRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjRyZW07XG4gIGhlaWdodDogMS40cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDc3NENCO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5zbGlkZXItaGFuZGxlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5zbGlkZXItaGFuZGxlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDY2M2FkOyB9XG4gIC5zbGlkZXItaGFuZGxlLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyOyB9XG5cbi5zbGlkZXIuZGlzYWJsZWQsXG4uc2xpZGVyW2Rpc2FibGVkXSB7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLnNsaWRlci52ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDAuNXJlbTtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7IH1cbiAgLnNsaWRlci52ZXJ0aWNhbCAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMC41cmVtO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLnNsaWRlci52ZXJ0aWNhbCAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDEuNHJlbTtcbiAgICBoZWlnaHQ6IDEuNHJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cblxuLnN0aWNreS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnN0aWNreSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4uc3RpY2t5LmlzLXN0dWNrIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA1OyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtdG9wIHtcbiAgICB0b3A6IDA7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG4uc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogYXV0bzsgfVxuICAuc3RpY2t5LmlzLWFuY2hvcmVkLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbmJvZHkuaXMtcmV2ZWFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5yZXZlYWwtb3ZlcmxheSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAxMDA1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNDUpO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxuLnJldmVhbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHotaW5kZXg6IDEwMDY7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDRUNFQ0U7XG4gIG1hcmdpbjogMTAwcHggYXV0byAwIGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnJldmVhbCB7XG4gICAgb3V0bGluZTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICBtaW4taGVpZ2h0OiAwOyB9IH1cbiAgLnJldmVhbCAuY29sdW1uLFxuICAucmV2ZWFsIC5jb2x1bW5zIHtcbiAgICBtaW4td2lkdGg6IDA7IH1cbiAgLnJldmVhbCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHdpZHRoOiA2MDBweDtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIC5yZXZlYWwuY29sbGFwc2Uge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwgLnJldmVhbCB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnRpbnkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnNtYWxsIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbC5sYXJnZSB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgLnJldmVhbC5mdWxsIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgYm9yZGVyOiBub25lOyB9XG5cbi5zd2l0Y2gge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdXRsaW5lOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLnN3aXRjaC1pbnB1dCB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4uc3dpdGNoLXBhZGRsZSB7XG4gIGJhY2tncm91bmQ6ICNDRUNFQ0U7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDRyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cbiAgaW5wdXQgKyAuc3dpdGNoLXBhZGRsZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgYmFja2dyb3VuZDogIzA3NzRDQjsgfVxuICAgIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICAgbGVmdDogMi4yNXJlbTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gaW5wdXQ6Zm9jdXMgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuXG4uc3dpdGNoLWFjdGl2ZSwgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4uc3dpdGNoLWFjdGl2ZSB7XG4gIGxlZnQ6IDglO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3dpdGNoLWluYWN0aXZlIHtcbiAgcmlnaHQ6IDE1JTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZSB7XG4gIHdpZHRoOiAzcmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgZm9udC1zaXplOiAwLjYyNXJlbTsgfVxuXG4uc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTsgfVxuXG4uc3dpdGNoLnRpbnkgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOmFmdGVyIHtcbiAgbGVmdDogMS43NXJlbTsgfVxuXG4uc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlIHtcbiAgd2lkdGg6IDMuNXJlbTtcbiAgaGVpZ2h0OiAxLjc1cmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07IH1cblxuLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICB3aWR0aDogMS4yNXJlbTtcbiAgaGVpZ2h0OiAxLjI1cmVtOyB9XG5cbi5zd2l0Y2guc21hbGwgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOmFmdGVyIHtcbiAgbGVmdDogMnJlbTsgfVxuXG4uc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlIHtcbiAgd2lkdGg6IDVyZW07XG4gIGhlaWdodDogMi41cmVtO1xuICBmb250LXNpemU6IDFyZW07IH1cblxuLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAycmVtOyB9XG5cbi5zd2l0Y2gubGFyZ2UgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOmFmdGVyIHtcbiAgbGVmdDogMi43NXJlbTsgfVxuXG50YWJsZSB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2YxZjFmMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gIGNhcHRpb24ge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuICB0aGVhZCxcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICB0aGVhZCB0cixcbiAgICB0Zm9vdCB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgIHRoZWFkIHRoLFxuICAgIHRoZWFkIHRkLFxuICAgIHRmb290IHRoLFxuICAgIHRmb290IHRkIHtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7IH1cbiAgdGJvZHkgdGgsXG4gIHRib2R5IHRkIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIHRhYmxlLnN0YWNrIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRyLFxuICB0YWJsZS5zdGFjayB0aCxcbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBib3JkZXItdG9wOiAwOyB9IH1cblxudGFibGUuc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxudGFibGUuaG92ZXIgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5OyB9XG5cbnRhYmxlLmhvdmVyIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYzsgfVxuXG4udGFicyB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2OyB9XG4gIC50YWJzOjpiZWZvcmUsIC50YWJzOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC50YWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnRhYnMuc2ltcGxlID4gbGkgPiBhIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnRhYnMuc2ltcGxlID4gbGkgPiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC50YWJzLnZlcnRpY2FsID4gbGkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC50YWJzLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICMwNzc0Q0I7IH1cbiAgICAudGFicy5wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgICAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzA3NmVjMTsgfVxuXG4udGFicy10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC50YWJzLXRpdGxlID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAjMDc3NENCOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cbiAgICAudGFicy10aXRsZSA+IGE6Zm9jdXMsIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuXG4udGFicy1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLXRvcDogMDsgfVxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi50YWJzLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTsgfVxuICAudGFicy1wYW5lbC5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi50aHVtYm5haWwge1xuICBib3JkZXI6IHNvbGlkIDRweCAjZmVmZWZlO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgxMCwgMTAsIDEwLCAwLjIpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLnRodW1ibmFpbDpob3ZlciwgLnRodW1ibmFpbDpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDZweCAxcHggcmdiYSg3LCAxMTYsIDIwMywgMC41KTsgfVxuXG4udGl0bGUtYmFyIHtcbiAgYmFja2dyb3VuZDogIzBhMGEwYTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHBhZGRpbmc6IDAuNXJlbTsgfVxuICAudGl0bGUtYmFyOjpiZWZvcmUsIC50aXRsZS1iYXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnRpdGxlLWJhcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC50aXRsZS1iYXIgLm1lbnUtaWNvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cblxuLnRpdGxlLWJhci1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnRpdGxlLWJhci1yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRpdGxlLWJhci10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLm1lbnUtaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7IH1cbiAgLm1lbnUtaWNvbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2ZlZmVmZSwgMCAxNHB4IDAgI2ZlZmVmZTsgfVxuICAubWVudS1pY29uOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI0NFQ0VDRTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICNDRUNFQ0UsIDAgMTRweCAwICNDRUNFQ0U7IH1cblxuLmhhcy10aXAge1xuICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICMyQzJDMkM7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBoZWxwOyB9XG5cbi50b29sdGlwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICB0b3A6IGNhbGMoMTAwJSArIDAuNjQ5NXJlbSk7XG4gIG1heC13aWR0aDogMTByZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAudG9vbHRpcDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBhMGEwYTtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3R0b206IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgLnRvb2x0aXAudG9wOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgYm9yZGVyLWNvbG9yOiAjMGEwYTBhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIHRvcDogMTAwJTtcbiAgICBib3R0b206IGF1dG87IH1cbiAgLnRvb2x0aXAubGVmdDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBhMGEwYTtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC50b29sdGlwLnJpZ2h0OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMGEwYTBhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi50b3AtYmFyIHtcbiAgcGFkZGluZzogMXJlbTsgfVxuICAudG9wLWJhcjo6YmVmb3JlLCAudG9wLWJhcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAudG9wLWJhcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC50b3AtYmFyLFxuICAudG9wLWJhciB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICAudG9wLWJhciBhIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAudG9wLWJhciBpbnB1dCB7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAudG9wLWJhciBpbnB1dC5idXR0b24ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG5cbi5zdGFja2VkLWZvci1zbWFsbCAudG9wLWJhci1yaWdodCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zdGFja2VkLWZvci1zbWFsbCAudG9wLWJhci1sZWZ0IHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItcmlnaHQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItbGVmdCB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItbGVmdCB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OS45Mzc1ZW0pIHtcbiAgLnN0YWNrZWQtZm9yLXhsYXJnZSAudG9wLWJhci1yaWdodCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnN0YWNrZWQtZm9yLXhsYXJnZSAudG9wLWJhci1sZWZ0IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICkge1xuICAuc3RhY2tlZC1mb3IteHhsYXJnZSAudG9wLWJhci1yaWdodCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnN0YWNrZWQtZm9yLXh4bGFyZ2UgLnRvcC1iYXItbGVmdCB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4udG9wLWJhci1yaWdodCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi50b3AtYmFyLWxlZnQge1xuICB3aWR0aDogMTAwJTsgfVxuXG4udG9wLWJhci1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnRvcC1iYXItcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG5cbi5mYWRlLWluLm11aS1lbnRlciB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlciB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlciB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlciB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNsb3cge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuLnNoYWtlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlLTc7IH1cblxuQGtleWZyYW1lcyBzaGFrZS03IHtcbiAgMCUsIDEwJSwgMjAlLCAzMCUsIDQwJSwgNTAlLCA2MCUsIDcwJSwgODAlLCA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg3JSk7IH1cbiAgNSUsIDE1JSwgMjUlLCAzNSUsIDQ1JSwgNTUlLCA2NSUsIDc1JSwgODUlLCA5NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNyUpOyB9IH1cblxuLnNwaW4tY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi5zcGluLWNjdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7IH0gfVxuXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZS03ZGVnOyB9XG5cbkBrZXlmcmFtZXMgd2lnZ2xlLTdkZWcge1xuICA0MCUsIDUwJSwgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg3ZGVnKTsgfVxuICAzNSUsIDQ1JSwgNTUlLCA2NSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC03ZGVnKTsgfVxuICAwJSwgMzAlLCA3MCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLmluZmluaXRlIHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuLnNsb3cge1xuICBhbmltYXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICBhbmltYXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmxpbmVhciB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7IH1cblxuLmxvbmctZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuLnRhYnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnRhYnM6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTJweDtcbiAgICB3aWR0aDogNHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDc3NENCOyB9XG4gIC50YWJzIGxpLnRhYnMtdGl0bGUge1xuICAgIGZsZXg6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiBcIlR1bmdzdGVuIEFcIiwgXCJUdW5nc3RlbiBCXCIsIFwiVHVuZ3N0ZW5cIiwgR2VvcmdpYTtcbiAgICBmbG9hdDogbm9uZTsgfVxuICAgIC50YWJzIGxpLnRhYnMtdGl0bGUgYSB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBwYWRkaW5nOiAuNXJlbTtcbiAgICAgIGNvbG9yOiAjMkMyQzJDOyB9XG4gICAgLnRhYnMgbGkudGFicy10aXRsZS5pcy1hY3RpdmUgYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMkMyQzJDO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLWNvbnRyb2xzIC5vd2wtbmF2IC5vd2wtcHJldixcbi5vd2wtY2Fyb3VzZWwgLm93bC1jb250cm9scyAub3dsLW5hdiAub3dsLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBmb250LXNpemU6IDJyZW07XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1jb250cm9scyAub3dsLW5hdiAub3dsLW5leHQge1xuICByaWdodDogMDsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtY29udHJvbHMgLm93bC1kb3RzIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1jb250cm9scyAub3dsLWRvdHMgLm93bC1kb3Qge1xuICAgIG9wYWNpdHk6IC41O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgLjVyZW07IH1cbiAgICAub3dsLWNhcm91c2VsIC5vd2wtY29udHJvbHMgLm93bC1kb3RzIC5vd2wtZG90IHNwYW4ge1xuICAgICAgd2lkdGg6IC43NXJlbTtcbiAgICAgIGhlaWdodDogLjc1cmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkMyQzJDOyB9XG4gICAgLm93bC1jYXJvdXNlbCAub3dsLWNvbnRyb2xzIC5vd2wtZG90cyAub3dsLWRvdC5hY3RpdmUge1xuICAgICAgb3BhY2l0eTogLjk7IH1cblxuLyogXG4gKiAgT3dsIENhcm91c2VsIC0gQW5pbWF0ZSBQbHVnaW5cbiAqL1xuLm93bC1jYXJvdXNlbCAuYW5pbWF0ZWQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xuICBhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1hbmltYXRlZC1pbiB7XG4gIHotaW5kZXg6IDA7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLWFuaW1hdGVkLW91dCB7XG4gIHotaW5kZXg6IDE7IH1cblxuLm93bC1jYXJvdXNlbCAuZmFkZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4vKiBcbiAqIFx0T3dsIENhcm91c2VsIC0gQXV0byBIZWlnaHQgUGx1Z2luXG4gKi9cbi5vd2wtaGVpZ2h0IHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBoZWlnaHQgNTAwbXMgZWFzZS1pbi1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogaGVpZ2h0IDUwMG1zIGVhc2UtaW4tb3V0O1xuICAtbXMtdHJhbnNpdGlvbjogaGVpZ2h0IDUwMG1zIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiBoZWlnaHQgNTAwbXMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGhlaWdodCA1MDBtcyBlYXNlLWluLW91dDsgfVxuXG4vKiBcbiAqICBDb3JlIE93bCBDYXJvdXNlbCBDU1MgRmlsZVxuICovXG4ub3dsLWNhcm91c2VsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIHBvc2l0aW9uIHJlbGF0aXZlIGFuZCB6LWluZGV4IGZpeCB3ZWJraXQgcmVuZGVyaW5nIGZvbnRzIGlzc3VlICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi1ZOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiLlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY2xlYXI6IGJvdGg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIGhlaWdodDogMDsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Utb3V0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qIGZpeCBmb3IgZmxhc2hpbmcgYmFja2dyb3VuZCAqL1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLWNvbnRyb2xzIC5vd2wtbmF2IC5vd2wtcHJldixcbi5vd2wtY2Fyb3VzZWwgLm93bC1jb250cm9scyAub3dsLW5hdiAub3dsLW5leHQsXG4ub3dsLWNhcm91c2VsIC5vd2wtY29udHJvbHMgLm93bC1kb3Qge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGN1cnNvcjogaGFuZDtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5vd2wtY2Fyb3VzZWwub3dsLWxvYWRlZCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5vd2wtY2Fyb3VzZWwub3dsLWxvYWRpbmcge1xuICBvcGFjaXR5OiAwO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ub3dsLWNhcm91c2VsLm93bC1oaWRkZW4ge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1yZWZyZXNoIC5vd2wtaXRlbSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7IH1cblxuLm93bC1jYXJvdXNlbC5vd2wtdGV4dC1zZWxlY3Qtb24gLm93bC1pdGVtIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogYXV0bztcbiAgLW1vei11c2VyLXNlbGVjdDogYXV0bztcbiAgLW1zLXVzZXItc2VsZWN0OiBhdXRvO1xuICB1c2VyLXNlbGVjdDogYXV0bzsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtZ3JhYiB7XG4gIGN1cnNvcjogbW92ZTtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XG4gIGN1cnNvcjogLW8tZ3JhYjtcbiAgY3Vyc29yOiAtbXMtZ3JhYjtcbiAgY3Vyc29yOiBncmFiOyB9XG5cbi5vd2wtY2Fyb3VzZWwub3dsLXJ0bCB7XG4gIGRpcmVjdGlvbjogcnRsOyB9XG5cbi5vd2wtY2Fyb3VzZWwub3dsLXJ0bCAub3dsLWl0ZW0ge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLyogTm8gSnMgKi9cbi5uby1qcyAub3dsLWNhcm91c2VsIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogXG4gKiBcdE93bCBDYXJvdXNlbCAtIExhenkgTG9hZCBQbHVnaW5cbiAqL1xuLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLm93bC1sYXp5IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7XG4gIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlO1xuICAtbXMtdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSBpbWcge1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOyB9XG5cbi8qIFxuICogXHRPd2wgQ2Fyb3VzZWwgLSBWaWRlbyBQbHVnaW5cbiAqL1xuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheS1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDgwcHg7XG4gIHdpZHRoOiA4MHB4O1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTQwcHg7XG4gIG1hcmdpbi10b3A6IC00MHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJvd2wudmlkZW8ucGxheS5wbmdcIikgbm8tcmVwZWF0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDE7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LXRyYW5zaXRpb246IHNjYWxlIDEwMG1zIGVhc2U7XG4gIC1tb3otdHJhbnNpdGlvbjogc2NhbGUgMTAwbXMgZWFzZTtcbiAgLW1zLXRyYW5zaXRpb246IHNjYWxlIDEwMG1zIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IHNjYWxlIDEwMG1zIGVhc2U7XG4gIHRyYW5zaXRpb246IHNjYWxlIDEwMG1zIGVhc2U7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbjpob3ZlciB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogc2NhbGUoMS4zLCAxLjMpO1xuICAtbW96LXRyYW5zaXRpb246IHNjYWxlKDEuMywgMS4zKTtcbiAgLW1zLXRyYW5zaXRpb246IHNjYWxlKDEuMywgMS4zKTtcbiAgLW8tdHJhbnNpdGlvbjogc2NhbGUoMS4zLCAxLjMpO1xuICB0cmFuc2l0aW9uOiBzY2FsZSgxLjMsIDEuMyk7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby10bixcbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tcGxheS1pY29uIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tdG4ge1xuICBvcGFjaXR5OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAtbW96LWJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgLW8tYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTtcbiAgLW1zLXRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTtcbiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLWZyYW1lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxOyB9XG5cbmh0bWwudG91Y2ggKiB7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuXG46Oi1tb3otc2VsZWN0aW9uIHtcbiAgLyogQ29kZSBmb3IgRmlyZWZveCAqL1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgYmFja2dyb3VuZDogIzA3NzRDQjsgfVxuXG46OnNlbGVjdGlvbiB7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBiYWNrZ3JvdW5kOiAjMDc3NENCOyB9XG5cbi5zZWNvbmRhcnktZm9udCB7XG4gIGZvbnQtZmFtaWx5OiBcIlR1bmdzdGVuIEFcIiwgXCJUdW5nc3RlbiBCXCIsIFwiVHVuZ3N0ZW5cIiwgR2VvcmdpYTsgfVxuXG5bY2xhc3MqPVwiLW1ldGFcIl0sXG5bY2xhc3MqPVwiLWNhdGVnb3J5XCJdLFxuW2NsYXNzKj1cIi1hdXRob3JcIl0ge1xuICBmb250LWZhbWlseTogXCJUdW5nc3RlbiBBXCIsIFwiVHVuZ3N0ZW4gQlwiLCBcIlR1bmdzdGVuXCIsIEdlb3JnaWE7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG5hcnRpY2xlIC5hcnRpY2xlLWNvbnRlbnQgYTpub3QoLmJ1dHRvbikge1xuICB0ZXh0LXNoYWRvdzogMC4wM2VtIDAgI2ZlZmVmZSwgLTAuMDNlbSAwICNmZWZlZmUsIDAgMC4wM2VtICNmZWZlZmUsIDAgLTAuMDNlbSAjZmVmZWZlLCAwLjA2ZW0gMCAjZmVmZWZlLCAtMC4wNmVtIDAgI2ZlZmVmZSwgMC4wOWVtIDAgI2ZlZmVmZSwgLTAuMDllbSAwICNmZWZlZmUsIDAuMTJlbSAwICNmZWZlZmUsIC0wLjEyZW0gMCAjZmVmZWZlLCAwLjE1ZW0gMCAjZmVmZWZlLCAtMC4xNWVtIDAgI2ZlZmVmZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCMyQzJDMkMsICMyQzJDMkMpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDFweCAxcHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCUgOTUlO1xuICBjb2xvcjogIzJDMkMyQztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIGFydGljbGUgLmFydGljbGUtY29udGVudCBhOm5vdCguYnV0dG9uKTo6c2VsZWN0aW9uIHtcbiAgICB0ZXh0LXNoYWRvdzogMC4wM2VtIDAgIzA3NzRDQiwgLTAuMDNlbSAwICMwNzc0Q0IsIDAgMC4wM2VtICMwNzc0Q0IsIDAgLTAuMDNlbSAjMDc3NENCLCAwLjA2ZW0gMCAjMDc3NENCLCAtMC4wNmVtIDAgIzA3NzRDQiwgMC4wOWVtIDAgIzA3NzRDQiwgLTAuMDllbSAwICMwNzc0Q0IsIDAuMTJlbSAwICMwNzc0Q0IsIC0wLjEyZW0gMCAjMDc3NENCLCAwLjE1ZW0gMCAjMDc3NENCLCAtMC4xNWVtIDAgIzA3NzRDQjtcbiAgICBiYWNrZ3JvdW5kOiAjMDc3NENCOyB9XG4gIGFydGljbGUgLmFydGljbGUtY29udGVudCBhOm5vdCguYnV0dG9uKTo6LW1vei1zZWxlY3Rpb24ge1xuICAgIHRleHQtc2hhZG93OiAwLjAzZW0gMCAjMDc3NENCLCAtMC4wM2VtIDAgIzA3NzRDQiwgMCAwLjAzZW0gIzA3NzRDQiwgMCAtMC4wM2VtICMwNzc0Q0IsIDAuMDZlbSAwICMwNzc0Q0IsIC0wLjA2ZW0gMCAjMDc3NENCLCAwLjA5ZW0gMCAjMDc3NENCLCAtMC4wOWVtIDAgIzA3NzRDQiwgMC4xMmVtIDAgIzA3NzRDQiwgLTAuMTJlbSAwICMwNzc0Q0IsIDAuMTVlbSAwICMwNzc0Q0IsIC0wLjE1ZW0gMCAjMDc3NENCO1xuICAgIGJhY2tncm91bmQ6ICMwNzc0Q0I7IH1cbiAgYXJ0aWNsZSAuYXJ0aWNsZS1jb250ZW50IGE6bm90KC5idXR0b24pICosXG4gIGFydGljbGUgLmFydGljbGUtY29udGVudCBhOm5vdCguYnV0dG9uKSAqOmFmdGVyLCBhcnRpY2xlIC5hcnRpY2xlLWNvbnRlbnQgYTpub3QoLmJ1dHRvbik6YWZ0ZXIsXG4gIGFydGljbGUgLmFydGljbGUtY29udGVudCBhOm5vdCguYnV0dG9uKSAqOmJlZm9yZSwgYXJ0aWNsZSAuYXJ0aWNsZS1jb250ZW50IGE6bm90KC5idXR0b24pOmJlZm9yZSB7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7IH1cbiAgYXJ0aWNsZSAuYXJ0aWNsZS1jb250ZW50IGE6bm90KC5idXR0b24pOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAjMkMyQzJDOyB9XG4gIGFydGljbGUgLmFydGljbGUtY29udGVudCBhOm5vdCguYnV0dG9uKTpob3ZlciB7XG4gICAgY29sb3I6ICMwNzc0Q0I7IH1cblxuaDEuYXJjaGl2ZS1oZWFkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQ0VDRUNFO1xuICBwYWRkaW5nOiAxcmVtIDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuaDIuc3ViaGVhZGluZyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgcGFkZGluZzogLjc1cmVtIDA7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG4uc2VjdGlvbi1oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0NFQ0VDRTtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDJyZW07IH1cblxuaDEgYSwgaDIgYSwgaDMgYSwgaDQgYSwgaDUgYSwgaDYgYSB7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG4gIGgxIGE6aG92ZXIsIGgyIGE6aG92ZXIsIGgzIGE6aG92ZXIsIGg0IGE6aG92ZXIsIGg1IGE6aG92ZXIsIGg2IGE6aG92ZXIge1xuICAgIGNvbG9yOiAjMDc3NENCOyB9XG5cbiNob21lLXR3aXR0ZXItZmVlZCB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLnR3aXR0ZXJGZWVkLWNvbnRhaW5lciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDRUNFQ0U7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4OiAxOyB9XG4gIC50d2l0dGVyRmVlZC1jb250YWluZXIgaGVhZGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0NFQ0VDRTsgfVxuICAgIC50d2l0dGVyRmVlZC1jb250YWluZXIgaGVhZGVyIC5mZWVkLXBhcnRpY2lwYXRlIHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgIC50d2l0dGVyRmVlZC1jb250YWluZXIgaGVhZGVyIC5mZWVkLXRpdGxlIHtcbiAgICAgIHBhZGRpbmc6IC4yNXJlbSAuNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogLjc1cmVtOyB9XG4gICAgICAudHdpdHRlckZlZWQtY29udGFpbmVyIGhlYWRlciAuZmVlZC10aXRsZSAudGl0bGUge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgIC50d2l0dGVyRmVlZC1jb250YWluZXIgaGVhZGVyIC5mZWVkLXBhcnRpY2lwYXRlIGEge1xuICAgICAgY29sb3I6ICNGNUY1RjU7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBiYWNrZ3JvdW5kOiAjMkMyQzJDO1xuICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAudHdpdHRlckZlZWQtY29udGFpbmVyIGhlYWRlciAuZmVlZC1wYXJ0aWNpcGF0ZSBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM5MzkzOTsgfVxuICAudHdpdHRlckZlZWQtY29udGFpbmVyIC5mZWVkIHtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLnR3aXR0ZXJGZWVkLWNvbnRhaW5lciAuZmVlZCAjdHdpdHRlckZlZWQge1xuICAgICAgZmxleDogMTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgLnR3aXR0ZXJGZWVkLWNvbnRhaW5lciAuZmVlZCAjdHdpdHRlckZlZWQgPiBpZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgZmxleDogMTsgfVxuICAgICAgLnR3aXR0ZXJGZWVkLWNvbnRhaW5lciAuZmVlZCAjdHdpdHRlckZlZWQubG9hZGluZzphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlIHVybChcIi4uL2ltZy9hamF4LWxvYWRlci5naWZcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAudHdpdHRlckZlZWQtY29udGFpbmVyIC5mZWVkICN0d2l0dGVyRmVlZCBpZnJhbWUjdHdpdHRlci13aWRnZXQtMCB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgICAudHdpdHRlckZlZWQtY29udGFpbmVyIC5mZWVkIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAudHdpdHRlckZlZWQtY29udGFpbmVyIC5mZWVkIHVsIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDRUNFQ0U7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07IH1cbiAgICAgICAgLnR3aXR0ZXJGZWVkLWNvbnRhaW5lciAuZmVlZCB1bCBsaSAudHdlZXQtYXZhdGFyIGltZyB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gICAgICAgIC50d2l0dGVyRmVlZC1jb250YWluZXIgLmZlZWQgdWwgbGkgLnR3ZWV0LWNvbnRlbnQge1xuICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAgICAgICAgIC50d2l0dGVyRmVlZC1jb250YWluZXIgLmZlZWQgdWwgbGkgLnR3ZWV0LWNvbnRlbnQgLnR3ZWV0LWNvbnRlbnQtdGV4dCB7XG4gICAgICAgICAgICBmb250LXNpemU6IC43NXJlbTsgfVxuICAudHdpdHRlckZlZWQtY29udGFpbmVyIGZvb3RlciB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNDRUNFQ0U7IH1cbiAgICAudHdpdHRlckZlZWQtY29udGFpbmVyIGZvb3RlciBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiAjMkMyQzJDO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kOiAjRjVGNUY1O1xuICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLnR3aXR0ZXJGZWVkLWNvbnRhaW5lciBmb290ZXIgYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGOUY5Rjk7IH1cblxuI3NpZGViYXItcmVsYXRlZEFydGljbGVzLXRhYnMgLnRhYnMtcGFuZWwge1xuICBwYWRkaW5nOiAwOyB9XG5cbnVsLmFydGljbGVzLWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGNvdW50ZXItcmVzZXQ6IGFydGljbGUtY291bnRlcjsgfVxuICB1bC5hcnRpY2xlcy1saXN0IGxpIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0NFQ0VDRTtcbiAgICBjb3VudGVyLWluY3JlbWVudDogYXJ0aWNsZS1jb3VudGVyOyB9XG4gICAgdWwuYXJ0aWNsZXMtbGlzdCBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICB1bC5hcnRpY2xlcy1saXN0IGxpIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb2xvcjogIzJDMkMyQztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICBtaW4taGVpZ2h0OiAxMDBweDsgfVxuICAgICAgdWwuYXJ0aWNsZXMtbGlzdCBsaSBhIC5hcnRpY2xlLWluZm8ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjUlO1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDNweCAjZmVmZWZlOyB9XG4gICAgICAgIHVsLmFydGljbGVzLWxpc3QgbGkgYSAuYXJ0aWNsZS1pbmZvIC5hcnRpY2xlLXRpdGxlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICB1bC5hcnRpY2xlcy1saXN0IGxpIGEgLmFydGljbGUtaW1hZ2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAzNy41JTsgfVxuICAgICAgICB1bC5hcnRpY2xlcy1saXN0IGxpIGEgLmFydGljbGUtaW1hZ2U6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBjb3VudGVyKGFydGljbGUtY291bnRlcik7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHdpZHRoOiA2Ni42NjY2NjYlO1xuICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgICAgICB1bC5hcnRpY2xlcy1saXN0IGxpIGEgLmFydGljbGUtaW1hZ2U6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jZmZmZmZmKzAsZmZmZmZmKzEwMCYwLjAxKzAsMSsxMDAgKi9cbiAgICAgICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDEpIDAlLCB3aGl0ZSAxMDAlKTtcbiAgICAgICAgICAvKiBGRjMuNi0xNSAqL1xuICAgICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMSkgMCUsIHdoaXRlIDEwMCUpO1xuICAgICAgICAgIC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXG4gICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDEpIDAlLCB3aGl0ZSAxMDAlKTtcbiAgICAgICAgICAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cbiAgICAgICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nIzAzZmZmZmZmJywgZW5kQ29sb3JzdHI9JyNmZmZmZmYnLEdyYWRpZW50VHlwZT0xICk7XG4gICAgICAgICAgLyogSUU2LTkgKi8gfVxuICAgICAgICB1bC5hcnRpY2xlcy1saXN0IGxpIGEgLmFydGljbGUtaW1hZ2UgaW1nIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC41cyBhbGw7XG4gICAgICAgICAgLW1vei10cmFuc2l0aW9uOiAwLjVzIGFsbDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAwLjVzIGFsbDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpO1xuICAgICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpO1xuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1JSk7XG4gICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUlKTsgfVxuICAgICAgdWwuYXJ0aWNsZXMtbGlzdCBsaSBhOmhvdmVyIC5hcnRpY2xlLWltYWdlIGltZyB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cblxuI3NpZGViYXItbWFpbiAudHdpdHRlckZlZWQtY29udGFpbmVyIC5mZWVkIHtcbiAgaGVpZ2h0OiA2MDBweDtcbiAgZmxleDogbm9uZTsgfVxuXG4jbWFpbi1tZW51IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIxLCAxMzMsIDIwNywgMC45KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleDogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogLTE7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjVzIHRyYW5zZm9ybTtcbiAgLW1vei10cmFuc2l0aW9uOiAwLjVzIHRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbjogMC41cyB0cmFuc2Zvcm07IH1cbiAgI21haW4tbWVudS5vcGVuIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpOyB9XG4gICNtYWluLW1lbnUgYS5tZW51LWNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAuNXJlbTtcbiAgICByaWdodDogMXJlbTtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAjbWFpbi1tZW51IC5tZW51LWNvbnRhaW5lciB7XG4gICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogOTYwcHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAjbWFpbi1tZW51IC5tZW51LWNvbnRhaW5lciA+IC5yb3cge1xuICAgICAgZmxleDogMTsgfVxuICAgICNtYWluLW1lbnUgLm1lbnUtY29udGFpbmVyIHVsLm1lbnUgbGkgYSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgICAgI21haW4tbWVudSAubWVudS1jb250YWluZXIgdWwubWVudSBsaSBhOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZWZlZmU7IH1cbiAgICAjbWFpbi1tZW51IC5tZW51LWNvbnRhaW5lciB1bC5tZW51IGxpIHVsLmlzLWRyaWxsZG93bi1zdWIge1xuICAgICAgYmFja2dyb3VuZDogIzBhMGEwYTsgfVxuICAgICAgI21haW4tbWVudSAubWVudS1jb250YWluZXIgdWwubWVudSBsaSB1bC5pcy1kcmlsbGRvd24tc3ViIGxpLmpzLWRyaWxsZG93bi1iYWNrOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogI2ZlZmVmZTsgfVxuICAgICNtYWluLW1lbnUgLm1lbnUtY29udGFpbmVyIC50aW1lbGluZS1mZWVkIHtcbiAgICAgIG1heC1oZWlnaHQ6IDgwdmg7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgICAjbWFpbi1tZW51IC5tZW51LWNvbnRhaW5lciAudGltZWxpbmUtZmVlZCB1bCBsaSBhIHtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAgICAgI21haW4tbWVudSAubWVudS1jb250YWluZXIgLnRpbWVsaW5lLWZlZWQgdWwgbGkgYSBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07IH1cblxuI3Njcm9sbC1tZW51IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGhlaWdodDogM3JlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIHotaW5kZXg6IDk5OTk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJveC1zaGFkb3c6IDBweCAxcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAtd2Via2l0LXRyYW5zaXRpb246IDFzIGFsbDtcbiAgLW1vei10cmFuc2l0aW9uOiAxcyBhbGw7XG4gIHRyYW5zaXRpb246IDFzIGFsbDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTExMCUpO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTEwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTExMCUpO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTExMCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTExMCUpOyB9XG4gICNzY3JvbGwtbWVudS5zaG93IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTsgfVxuICAjc2Nyb2xsLW1lbnUgdWwubGVmdC1uYXYsXG4gICNzY3JvbGwtbWVudSB1bC5yaWdodC1uYXYge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgI3Njcm9sbC1tZW51IHVsLmxlZnQtbmF2IGxpLFxuICAgICNzY3JvbGwtbWVudSB1bC5yaWdodC1uYXYgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAjc2Nyb2xsLW1lbnUgdWwubGVmdC1uYXYgbGkgYSxcbiAgICAgICNzY3JvbGwtbWVudSB1bC5yaWdodC1uYXYgbGkgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgICAgICNzY3JvbGwtbWVudSB1bC5sZWZ0LW5hdiBsaSBhLmZhY2Vib29rLFxuICAgICAgICAjc2Nyb2xsLW1lbnUgdWwucmlnaHQtbmF2IGxpIGEuZmFjZWJvb2sge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICM0NTYxOUQ7XG4gICAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAgICAgI3Njcm9sbC1tZW51IHVsLmxlZnQtbmF2IGxpIGEudHdpdHRlcixcbiAgICAgICAgI3Njcm9sbC1tZW51IHVsLnJpZ2h0LW5hdiBsaSBhLnR3aXR0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMzQjk0RDk7XG4gICAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAgICAgI3Njcm9sbC1tZW51IHVsLmxlZnQtbmF2IGxpIGEgaSxcbiAgICAgICAgI3Njcm9sbC1tZW51IHVsLnJpZ2h0LW5hdiBsaSBhIGkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAlKSBzY2FsZSgxLjc1KTtcbiAgICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMCUpIHNjYWxlKDEuNzUpO1xuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAlKSBzY2FsZSgxLjc1KTtcbiAgICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAlKSBzY2FsZSgxLjc1KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAlKSBzY2FsZSgxLjc1KTsgfVxuICAjc2Nyb2xsLW1lbnUgLmJyYW5kIGltZyB7XG4gICAgaGVpZ2h0OiAzcmVtOyB9XG4gICNzY3JvbGwtbWVudSB1bC5yaWdodC1uYXYge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgI3Njcm9sbC1tZW51IHVsLnJpZ2h0LW5hdiB7XG4gICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG4gICAgI3Njcm9sbC1tZW51IHVsLnJpZ2h0LW5hdiBhIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0NFQ0VDRTsgfVxuICAgICAgI3Njcm9sbC1tZW51IHVsLnJpZ2h0LW5hdiBhLm1lbnUtb3BlbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyQzJDMkM7XG4gICAgICAgIGNvbG9yOiAjRjVGNUY1OyB9XG4gICAgICAgICNzY3JvbGwtbWVudSB1bC5yaWdodC1uYXYgYS5tZW51LW9wZW4gaSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAgICNzY3JvbGwtbWVudSB1bC5yaWdodC1uYXYgYS5tZW51LW9wZW46aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICM0NjQ2NDY7IH1cblxuLmFyY2hpdmUtbmF2LWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICB3aWR0aDogMTAwJTsgfVxuICAuYXJjaGl2ZS1uYXYtY29udGFpbmVyLmlzLXN0dWNrIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTsgfVxuICAuYXJjaGl2ZS1uYXYtY29udGFpbmVyIC5hcmNoaXZlLW5hdiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbiNtYXAtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiA2MDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgI21hcC1jb250YWluZXIuY29udHJvbGxlci1vcGVuICNtYXAtY29udHJvbGxlciB7XG4gICAgd2lkdGg6IDQ4MHB4OyB9XG4gICNtYXAtY29udGFpbmVyLmxvYWRpbmc6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmUgdXJsKFwiLi4vaW1nL2FqYXgtbG9hZGVyLmdpZlwiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gICNtYXAtY29udGFpbmVyICNtYXAtY29udHJvbGxlciB7XG4gICAgd2lkdGg6IDQ4MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7IH1cbiAgICAjbWFwLWNvbnRhaW5lciAjbWFwLWNvbnRyb2xsZXIgaDQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDRUNFQ0U7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAxcmVtIDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgICAjbWFwLWNvbnRhaW5lciAjbWFwLWNvbnRyb2xsZXIgLmNvbXBldGl0aW9uLWhlYWRlciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTIycHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvTkFUTy1Db21wZXRpdGlvbi1UaWxlLmpwZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wOyB9XG4gICAgI21hcC1jb250YWluZXIgI21hcC1jb250cm9sbGVyIC5zdW1taXQtaW5mby1jb250YWluZXIge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAjbWFwLWNvbnRhaW5lciAjbWFwLWNvbnRyb2xsZXIgLnN1bW1pdC1pbmZvLWNvbnRhaW5lciAuc3VibWlzc2lvbi1oZWFkZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgI21hcC1jb250YWluZXIgI21hcC1jb250cm9sbGVyIC5zdW1taXQtaW5mby1jb250YWluZXIgLnN1Ym1pc3Npb24taGVhZGVyIC5idXR0b24ge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgei1pbmRleDogMjsgfVxuICAgICAgICAjbWFwLWNvbnRhaW5lciAjbWFwLWNvbnRyb2xsZXIgLnN1bW1pdC1pbmZvLWNvbnRhaW5lciAuc3VibWlzc2lvbi1oZWFkZXIgLnN1Ym1pc3Npb24tbmFtZSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgICAjbWFwLWNvbnRhaW5lciAjbWFwLWNvbnRyb2xsZXIgLnN1bW1pdC1pbmZvLWNvbnRhaW5lciAuc3VtbWl0LWluZm8ge1xuICAgICAgICBwYWRkaW5nOiAycmVtOyB9XG4gICAgICAgICNtYXAtY29udGFpbmVyICNtYXAtY29udHJvbGxlciAuc3VtbWl0LWluZm8tY29udGFpbmVyIC5zdW1taXQtaW5mbyA+IGltZyB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICAjbWFwLWNvbnRhaW5lciAjbWFwLWNvbnRyb2xsZXIgLnN1Ym1pc3Npb25zLWNvbnRhaW5lciB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0NFQ0VDRTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQ0VDRUNFOyB9XG4gICAgICAjbWFwLWNvbnRhaW5lciAjbWFwLWNvbnRyb2xsZXIgLnN1Ym1pc3Npb25zLWNvbnRhaW5lciBhLnN1Ym1pc3Npb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDRUNFQ0U7XG4gICAgICAgIHBhZGRpbmc6IC43NXJlbTtcbiAgICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC4xNXMgYWxsO1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IDAuMTVzIGFsbDtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4xNXMgYWxsO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgI21hcC1jb250YWluZXIgI21hcC1jb250cm9sbGVyIC5zdWJtaXNzaW9ucy1jb250YWluZXIgYS5zdWJtaXNzaW9uOm50aC1jaGlsZCgybikge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0NFQ0VDRTsgfVxuICAgICAgICAjbWFwLWNvbnRhaW5lciAjbWFwLWNvbnRyb2xsZXIgLnN1Ym1pc3Npb25zLWNvbnRhaW5lciBhLnN1Ym1pc3Npb24gaW1nLCAjbWFwLWNvbnRhaW5lciAjbWFwLWNvbnRyb2xsZXIgLnN1Ym1pc3Npb25zLWNvbnRhaW5lciBhLnN1Ym1pc3Npb24gaSB7XG4gICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLjVyZW07XG4gICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgI21hcC1jb250YWluZXIgI21hcC1jb250cm9sbGVyIC5zdWJtaXNzaW9ucy1jb250YWluZXIgYS5zdWJtaXNzaW9uIGkge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44NSk7IH1cbiAgICAgICAgI21hcC1jb250YWluZXIgI21hcC1jb250cm9sbGVyIC5zdWJtaXNzaW9ucy1jb250YWluZXIgYS5zdWJtaXNzaW9uLmZpbmFsaXN0OmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IC41cmVtO1xuICAgICAgICAgIHRvcDogMS4yNXJlbTtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJmdXR1cmVuYXRvLWljb25zXCIgIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgIHNwZWFrOiBub25lO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgICAgZm9udC1zaXplOiAuNzVlbTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC4yNWVtO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiblwiO1xuICAgICAgICAgIGNvbG9yOiAjMDc3NENCO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTsgfVxuICAgICAgICAjbWFwLWNvbnRhaW5lciAjbWFwLWNvbnRyb2xsZXIgLnN1Ym1pc3Npb25zLWNvbnRhaW5lciBhLnN1Ym1pc3Npb24uZmluYWxpc3Q6aG92ZXI6YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgICAgICNtYXAtY29udGFpbmVyICNtYXAtY29udHJvbGxlciAuc3VibWlzc2lvbnMtY29udGFpbmVyIGEuc3VibWlzc2lvbiAuc3VibWlzc2lvbi1pbmZvIHtcbiAgICAgICAgICBmbGV4OiAxOyB9XG4gICAgICAgICAgI21hcC1jb250YWluZXIgI21hcC1jb250cm9sbGVyIC5zdWJtaXNzaW9ucy1jb250YWluZXIgYS5zdWJtaXNzaW9uIC5zdWJtaXNzaW9uLWluZm8gaDYge1xuICAgICAgICAgICAgZm9udC1zaXplOiAuOHJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMmVtOyB9XG4gICAgICAgICAgI21hcC1jb250YWluZXIgI21hcC1jb250cm9sbGVyIC5zdWJtaXNzaW9ucy1jb250YWluZXIgYS5zdWJtaXNzaW9uIC5zdWJtaXNzaW9uLWluZm8gLnN1Ym1pc3Npb24tbWV0YSB7XG4gICAgICAgICAgICBjb2xvcjogI2I1YjViNTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LXNpemU6IC45cmVtOyB9XG4gICAgICAgICAgI21hcC1jb250YWluZXIgI21hcC1jb250cm9sbGVyIC5zdWJtaXNzaW9ucy1jb250YWluZXIgYS5zdWJtaXNzaW9uIC5zdWJtaXNzaW9uLWluZm8gaDYsICNtYXAtY29udGFpbmVyICNtYXAtY29udHJvbGxlciAuc3VibWlzc2lvbnMtY29udGFpbmVyIGEuc3VibWlzc2lvbiAuc3VibWlzc2lvbi1pbmZvIC5zdWJtaXNzaW9uLW1ldGEge1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjE1cyBhbGw7XG4gICAgICAgICAgICAtbW96LXRyYW5zaXRpb246IDAuMTVzIGFsbDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMTVzIGFsbDsgfVxuICAgICAgICAjbWFwLWNvbnRhaW5lciAjbWFwLWNvbnRyb2xsZXIgLnN1Ym1pc3Npb25zLWNvbnRhaW5lciBhLnN1Ym1pc3Npb246aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzc0Q0I7IH1cbiAgICAgICAgICAjbWFwLWNvbnRhaW5lciAjbWFwLWNvbnRyb2xsZXIgLnN1Ym1pc3Npb25zLWNvbnRhaW5lciBhLnN1Ym1pc3Npb246aG92ZXIgLnN1Ym1pc3Npb24taW5mbyBoNiwgI21hcC1jb250YWluZXIgI21hcC1jb250cm9sbGVyIC5zdWJtaXNzaW9ucy1jb250YWluZXIgYS5zdWJtaXNzaW9uOmhvdmVyIC5zdWJtaXNzaW9uLWluZm8gLnN1Ym1pc3Npb24tbWV0YSB7XG4gICAgICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgICNtYXAtY29udGFpbmVyICNtYXAtY29udHJvbGxlciAudmlldy1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgZmxleDogMTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgICNtYXAtY29udGFpbmVyICNtYXAtY29udHJvbGxlciAudmlldy1jb250YWluZXIgPiBkaXYgPiBkaXYge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgICNtYXAtY29udGFpbmVyICNtYXAtY29udHJvbGxlciAudmlldy1jb250YWluZXIgLndlbGNvbWUtbWVzc2FnZS1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICBmb250LXNpemU6IDEyNSU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleDogMTsgfVxuICAgICAgI21hcC1jb250YWluZXIgI21hcC1jb250cm9sbGVyIC52aWV3LWNvbnRhaW5lciAuZnVsbC1zdWJtaXNzaW9uIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgICNtYXAtY29udGFpbmVyICNtYXAtY29udHJvbGxlciAudmlldy1jb250YWluZXIgLmZ1bGwtc3VibWlzc2lvbiAuc3VibWlzc2lvbi1oZWFkZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAgICNtYXAtY29udGFpbmVyICNtYXAtY29udHJvbGxlciAudmlldy1jb250YWluZXIgLmZ1bGwtc3VibWlzc2lvbiAuc3VibWlzc2lvbi1oZWFkZXIgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAgICAgI21hcC1jb250YWluZXIgI21hcC1jb250cm9sbGVyIC52aWV3LWNvbnRhaW5lciAuZnVsbC1zdWJtaXNzaW9uIC5zdWJtaXNzaW9uLWhlYWRlciAuc3VibWlzc2lvbi1uYW1lIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgICAgI21hcC1jb250YWluZXIgI21hcC1jb250cm9sbGVyIC52aWV3LWNvbnRhaW5lciAuZnVsbC1zdWJtaXNzaW9uIC5zdWJtaXNzaW9uLXZpZXctY29udGFpbmVyIHtcbiAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgIG92ZXJmbG93OiBhdXRvOyB9XG4gICAgICAgICAgI21hcC1jb250YWluZXIgI21hcC1jb250cm9sbGVyIC52aWV3LWNvbnRhaW5lciAuZnVsbC1zdWJtaXNzaW9uIC5zdWJtaXNzaW9uLXZpZXctY29udGFpbmVyIC5zdWJtaXNzaW9uLXNoYXJlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgICAgICAgICAgI21hcC1jb250YWluZXIgI21hcC1jb250cm9sbGVyIC52aWV3LWNvbnRhaW5lciAuZnVsbC1zdWJtaXNzaW9uIC5zdWJtaXNzaW9uLXZpZXctY29udGFpbmVyIC5zdWJtaXNzaW9uLXNoYXJlID4gZGl2IHtcbiAgICAgICAgICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgcGFkZGluZzogLjVyZW0gMXJlbTtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIC41cmVtO1xuICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgICAgICAgI21hcC1jb250YWluZXIgI21hcC1jb250cm9sbGVyIC52aWV3LWNvbnRhaW5lciAuZnVsbC1zdWJtaXNzaW9uIC5zdWJtaXNzaW9uLXZpZXctY29udGFpbmVyIC5zdWJtaXNzaW9uLXNoYXJlID4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgICAgICAgICAjbWFwLWNvbnRhaW5lciAjbWFwLWNvbnRyb2xsZXIgLnZpZXctY29udGFpbmVyIC5mdWxsLXN1Ym1pc3Npb24gLnN1Ym1pc3Npb24tdmlldy1jb250YWluZXIgLnN1Ym1pc3Npb24tc2hhcmUgPiBkaXY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAgICAgICAjbWFwLWNvbnRhaW5lciAjbWFwLWNvbnRyb2xsZXIgLnZpZXctY29udGFpbmVyIC5mdWxsLXN1Ym1pc3Npb24gLnN1Ym1pc3Npb24tdmlldy1jb250YWluZXIgLnN1Ym1pc3Npb24tc2hhcmUgLnN1Ym1pc3Npb24tc2hhcmUtZmFjZWJvb2sge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDU2MTlEOyB9XG4gICAgICAgICAgICAjbWFwLWNvbnRhaW5lciAjbWFwLWNvbnRyb2xsZXIgLnZpZXctY29udGFpbmVyIC5mdWxsLXN1Ym1pc3Npb24gLnN1Ym1pc3Npb24tdmlldy1jb250YWluZXIgLnN1Ym1pc3Npb24tc2hhcmUgLnN1Ym1pc3Npb24tc2hhcmUtdHdpdHRlciB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzQjk0RDk7IH1cbiAgICAgICAgICAgICNtYXAtY29udGFpbmVyICNtYXAtY29udHJvbGxlciAudmlldy1jb250YWluZXIgLmZ1bGwtc3VibWlzc2lvbiAuc3VibWlzc2lvbi12aWV3LWNvbnRhaW5lciAuc3VibWlzc2lvbi1zaGFyZSAuc3VibWlzc2lvbi1zaGFyZS1saW5rZWRpbiB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDc3YjU7IH1cbiAgICAgICAgICAjbWFwLWNvbnRhaW5lciAjbWFwLWNvbnRyb2xsZXIgLnZpZXctY29udGFpbmVyIC5mdWxsLXN1Ym1pc3Npb24gLnN1Ym1pc3Npb24tdmlldy1jb250YWluZXIgLnN1Ym1pc3Npb24tZXNzYXkge1xuICAgICAgICAgICAgcGFkZGluZzogMS41cmVtOyB9XG4gICAgI21hcC1jb250YWluZXIgI21hcC1jb250cm9sbGVyIC5hbmltYXRlLXN3aXRjaCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsZXg6IDE7IH1cbiAgICAjbWFwLWNvbnRhaW5lciAjbWFwLWNvbnRyb2xsZXIgLmFuaW1hdGUtc3dpdGNoLm5nLWFuaW1hdGUge1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpIDAuNXM7XG4gICAgICAtbW96LXRyYW5zaXRpb246IGFsbCBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCkgMC41cztcbiAgICAgIHRyYW5zaXRpb246IGFsbCBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCkgMC41czsgfVxuICAgICNtYXAtY29udGFpbmVyICNtYXAtY29udHJvbGxlciAuYW5pbWF0ZS1zd2l0Y2gubmctbGVhdmUubmctbGVhdmUtYWN0aXZlIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgICAjbWFwLWNvbnRhaW5lciAjbWFwLWNvbnRyb2xsZXIgLnN1Ym1pc3Npb25zLWNvbnRhaW5lci5uZy1sZWF2ZS5uZy1sZWF2ZS1hY3RpdmUge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAgICNtYXAtY29udGFpbmVyICNtYXAtY29udHJvbGxlciAuZnVsbC1zdWJtaXNzaW9uLm5nLWxlYXZlLm5nLWxlYXZlLWFjdGl2ZSB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuICAgICNtYXAtY29udGFpbmVyICNtYXAtY29udHJvbGxlciAuYW5pbWF0ZS1zd2l0Y2gubmctZW50ZXIge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgICAjbWFwLWNvbnRhaW5lciAjbWFwLWNvbnRyb2xsZXIgLnN1Ym1pc3Npb25zLWNvbnRhaW5lci5uZy1lbnRlciB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gICAgI21hcC1jb250YWluZXIgI21hcC1jb250cm9sbGVyIC5mdWxsLXN1Ym1pc3Npb24ubmctZW50ZXIge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgICAjbWFwLWNvbnRhaW5lciAjbWFwLWNvbnRyb2xsZXIgLmFuaW1hdGUtc3dpdGNoLm5nLWxlYXZlLFxuICAgICNtYXAtY29udGFpbmVyICNtYXAtY29udHJvbGxlciAuYW5pbWF0ZS1zd2l0Y2gubmctZW50ZXIubmctZW50ZXItYWN0aXZlIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7IH1cbiAgI21hcC1jb250YWluZXIgI21hcCB7XG4gICAgZmxleDogMTsgfVxuICAgICNtYXAtY29udGFpbmVyICNtYXAgLm1hcGJveC1sb2dvIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAjbWFwLWNvbnRhaW5lciAjbWFwIC5sZWFmbGV0LW92ZXJsYXktcGFuZSBnIHBhdGgge1xuICAgICAgZmlsbDogIzA3NzRDQjtcbiAgICAgIHN0cm9rZS13aWR0aDogMDtcbiAgICAgIGZpbGwtb3BhY2l0eTogLjA1O1xuICAgICAgc3Ryb2tlOiAjMDc3NENCO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjVzIGFsbDtcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogMC41cyBhbGw7XG4gICAgICB0cmFuc2l0aW9uOiAwLjVzIGFsbDsgfVxuICAgICAgI21hcC1jb250YWluZXIgI21hcCAubGVhZmxldC1vdmVybGF5LXBhbmUgZyBwYXRoOmhvdmVyIHtcbiAgICAgICAgZmlsbC1vcGFjaXR5OiAuMTsgfVxuICAgICNtYXAtY29udGFpbmVyICNtYXAgLmxlYWZsZXQtbGVmdCB7XG4gICAgICBsZWZ0OiA0ODBweDsgfVxuICAgICNtYXAtY29udGFpbmVyICNtYXAgLmxlYWZsZXQtcG9wdXAgLmxlYWZsZXQtcG9wdXAtY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAjbWFwLWNvbnRhaW5lciAjbWFwIC5sZWFmbGV0LXBvcHVwIC5sZWFmbGV0LXBvcHVwLWNvbnRlbnQtd3JhcHBlciwgI21hcC1jb250YWluZXIgI21hcCAubGVhZmxldC1wb3B1cCAubWFwLWxlZ2VuZHMsICNtYXAtY29udGFpbmVyICNtYXAgLmxlYWZsZXQtcG9wdXAgLm1hcC10b29sdGlwIHtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgYmFja2dyb3VuZDogIzJDMkMyQzsgfVxuICAgICAgI21hcC1jb250YWluZXIgI21hcCAubGVhZmxldC1wb3B1cCAubGVhZmxldC1wb3B1cC1jb250ZW50LXdyYXBwZXIgLmxlYWZsZXQtcG9wdXAtY29udGVudCwgI21hcC1jb250YWluZXIgI21hcCAubGVhZmxldC1wb3B1cCAubWFwLWxlZ2VuZHMgLmxlYWZsZXQtcG9wdXAtY29udGVudCwgI21hcC1jb250YWluZXIgI21hcCAubGVhZmxldC1wb3B1cCAubWFwLXRvb2x0aXAgLmxlYWZsZXQtcG9wdXAtY29udGVudCB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHBhZGRpbmc6IC4yNXJlbSAuNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAuOXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtaW4td2lkdGg6IDMwMHB4OyB9XG4gICAgICAgICNtYXAtY29udGFpbmVyICNtYXAgLmxlYWZsZXQtcG9wdXAgLmxlYWZsZXQtcG9wdXAtY29udGVudC13cmFwcGVyIC5sZWFmbGV0LXBvcHVwLWNvbnRlbnQgaW1nLCAjbWFwLWNvbnRhaW5lciAjbWFwIC5sZWFmbGV0LXBvcHVwIC5tYXAtbGVnZW5kcyAubGVhZmxldC1wb3B1cC1jb250ZW50IGltZywgI21hcC1jb250YWluZXIgI21hcCAubGVhZmxldC1wb3B1cCAubWFwLXRvb2x0aXAgLmxlYWZsZXQtcG9wdXAtY29udGVudCBpbWcge1xuICAgICAgICAgIHdpZHRoOiAzMDBweDsgfVxuICAgICAgICAjbWFwLWNvbnRhaW5lciAjbWFwIC5sZWFmbGV0LXBvcHVwIC5sZWFmbGV0LXBvcHVwLWNvbnRlbnQtd3JhcHBlciAubGVhZmxldC1wb3B1cC1jb250ZW50IC5zdWJtaXNzaW9uLWF1dGhvciwgI21hcC1jb250YWluZXIgI21hcCAubGVhZmxldC1wb3B1cCAubWFwLWxlZ2VuZHMgLmxlYWZsZXQtcG9wdXAtY29udGVudCAuc3VibWlzc2lvbi1hdXRob3IsICNtYXAtY29udGFpbmVyICNtYXAgLmxlYWZsZXQtcG9wdXAgLm1hcC10b29sdGlwIC5sZWFmbGV0LXBvcHVwLWNvbnRlbnQgLnN1Ym1pc3Npb24tYXV0aG9yIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMXB4O1xuICAgICAgICAgIHJpZ2h0OiAxcHg7XG4gICAgICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgICAgICBwYWRkaW5nOiAuMTVyZW0gLjI1cmVtOyB9XG4gICAgICAgICAgI21hcC1jb250YWluZXIgI21hcCAubGVhZmxldC1wb3B1cCAubGVhZmxldC1wb3B1cC1jb250ZW50LXdyYXBwZXIgLmxlYWZsZXQtcG9wdXAtY29udGVudCAuc3VibWlzc2lvbi1hdXRob3Iuc3VtbWl0LCAjbWFwLWNvbnRhaW5lciAjbWFwIC5sZWFmbGV0LXBvcHVwIC5tYXAtbGVnZW5kcyAubGVhZmxldC1wb3B1cC1jb250ZW50IC5zdWJtaXNzaW9uLWF1dGhvci5zdW1taXQsICNtYXAtY29udGFpbmVyICNtYXAgLmxlYWZsZXQtcG9wdXAgLm1hcC10b29sdGlwIC5sZWFmbGV0LXBvcHVwLWNvbnRlbnQgLnN1Ym1pc3Npb24tYXV0aG9yLnN1bW1pdCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogLjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjVyZW07IH1cbiAgICAgICAgICAgICNtYXAtY29udGFpbmVyICNtYXAgLmxlYWZsZXQtcG9wdXAgLmxlYWZsZXQtcG9wdXAtY29udGVudC13cmFwcGVyIC5sZWFmbGV0LXBvcHVwLWNvbnRlbnQgLnN1Ym1pc3Npb24tYXV0aG9yLnN1bW1pdCBoNiwgI21hcC1jb250YWluZXIgI21hcCAubGVhZmxldC1wb3B1cCAubWFwLWxlZ2VuZHMgLmxlYWZsZXQtcG9wdXAtY29udGVudCAuc3VibWlzc2lvbi1hdXRob3Iuc3VtbWl0IGg2LCAjbWFwLWNvbnRhaW5lciAjbWFwIC5sZWFmbGV0LXBvcHVwIC5tYXAtdG9vbHRpcCAubGVhZmxldC1wb3B1cC1jb250ZW50IC5zdWJtaXNzaW9uLWF1dGhvci5zdW1taXQgaDYge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgICAjbWFwLWNvbnRhaW5lciAjbWFwIC5sZWFmbGV0LXBvcHVwIC5sZWFmbGV0LXBvcHVwLXRpcC1jb250YWluZXIgLmxlYWZsZXQtcG9wdXAtdGlwIHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICMyQzJDMkM7IH1cbiAgICAjbWFwLWNvbnRhaW5lciAjbWFwIC5tYXAtbWFya2VyLmFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAxMDAwICFpbXBvcnRhbnQ7IH1cbiAgICAjbWFwLWNvbnRhaW5lciAjbWFwIC5tYXAtbWFya2VyLnN1bW1pdCB7XG4gICAgICB6LWluZGV4OiA5MDAgIWltcG9ydGFudDsgfVxuICAgICNtYXAtY29udGFpbmVyICNtYXAgLm1hcC1tYXJrZXIgLnN1bW1pdC1tYXJrZXIge1xuICAgICAgd2lkdGg6IDMycHg7XG4gICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvd2Fyc2F3LXN1bW1pdC1sb2dvLnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMzJweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcbiAgICAgIHotaW5kZXg6IDkwMDsgfVxuICAgICNtYXAtY29udGFpbmVyICNtYXAgLm1hcC1tYXJrZXIgLm1hcmtlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICNtYXAtY29udGFpbmVyICNtYXAgLm1hcC1tYXJrZXIgLm1hcmtlciAuZG90LFxuICAgICAgI21hcC1jb250YWluZXIgI21hcCAubWFwLW1hcmtlciAubWFya2VyIC5wdWxzYXIge1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNDY0NjQ2O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjVzIGFsbDtcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiAwLjVzIGFsbDtcbiAgICAgICAgdHJhbnNpdGlvbjogMC41cyBhbGw7IH1cbiAgICAgICAgI21hcC1jb250YWluZXIgI21hcCAubWFwLW1hcmtlciAubWFya2VyIC5kb3QgaSxcbiAgICAgICAgI21hcC1jb250YWluZXIgI21hcCAubWFwLW1hcmtlciAubWFya2VyIC5wdWxzYXIgaSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogMXB4OyB9XG4gICAgICAjbWFwLWNvbnRhaW5lciAjbWFwIC5tYXAtbWFya2VyIC5tYXJrZXIgLmRvdCB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCA2cHggI2ZlZmVmZTsgfVxuICAgICAgI21hcC1jb250YWluZXIgI21hcCAubWFwLW1hcmtlciAubWFya2VyIC5wdWxzYXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwZTkwZjc7XG4gICAgICAgIG9wYWNpdHk6IC43O1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IDFzIGFsbDtcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiAxcyBhbGw7XG4gICAgICAgIHRyYW5zaXRpb246IDFzIGFsbDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICMwNzc0Q0I7IH1cbiAgICAgICNtYXAtY29udGFpbmVyICNtYXAgLm1hcC1tYXJrZXIgLm1hcmtlci53aW5uZXIge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS41KSB0cmFuc2xhdGVYKC03NSUpO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMS41KSB0cmFuc2xhdGVYKC03NSUpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjUpIHRyYW5zbGF0ZVgoLTc1JSk7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMS41KSB0cmFuc2xhdGVYKC03NSUpO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSkgdHJhbnNsYXRlWCgtNzUlKTsgfVxuICAgICAgICAjbWFwLWNvbnRhaW5lciAjbWFwIC5tYXAtbWFya2VyIC5tYXJrZXIud2lubmVyIC5kb3Qge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzc0Q0I7IH1cbiAgICAgICNtYXAtY29udGFpbmVyICNtYXAgLm1hcC1tYXJrZXIgLm1hcmtlcjpob3ZlciAucHVsc2FyLCAjbWFwLWNvbnRhaW5lciAjbWFwIC5tYXAtbWFya2VyIC5tYXJrZXIuYWN0aXZlIC5wdWxzYXIge1xuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogcHVsc2UgMXMgZWFzZSBpbmZpbml0ZTtcbiAgICAgICAgLW1vei1hbmltYXRpb246IHB1bHNlIDFzIGVhc2UgaW5maW5pdGU7XG4gICAgICAgIGFuaW1hdGlvbjogcHVsc2UgMXMgZWFzZSBpbmZpbml0ZTsgfVxuICAgICAgI21hcC1jb250YWluZXIgI21hcCAubWFwLW1hcmtlciAubWFya2VyOmhvdmVyIC5kb3QsICNtYXAtY29udGFpbmVyICNtYXAgLm1hcC1tYXJrZXIgLm1hcmtlci5hY3RpdmUgLmRvdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzc0Q0I7XG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBqdW1wIDAuMzMzM3MgZWFzZSAxIGZvcndhcmRzO1xuICAgICAgICAtbW96LWFuaW1hdGlvbjoganVtcCAwLjMzMzNzIGVhc2UgMSBmb3J3YXJkcztcbiAgICAgICAgYW5pbWF0aW9uOiBqdW1wIDAuMzMzM3MgZWFzZSAxIGZvcndhcmRzOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBwdWxzZSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuQC1tb3ota2V5ZnJhbWVzIHB1bHNlIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMC41KTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMganVtcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC41KTsgfVxuICA2Ni42NiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC43NSk7IH0gfVxuXG5ALW1vei1rZXlmcmFtZXMganVtcCB7XG4gIDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMC41KTsgfVxuICA2Ni42NiUge1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAxMDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMC43NSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGp1bXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpOyB9XG4gIDY2LjY2JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7IH0gfVxuXG4jaG9tZXBhZ2UtbWFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICNob21lcGFnZS1tYXAge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICNob21lcGFnZS1tYXAgLmludHJvLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmctbGVmdDogMjUlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1JTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMTByZW07IH1cbiAgICAjaG9tZXBhZ2UtbWFwIC5pbnRyby1jb250YWluZXIgLnRoZWlyLXN0b3JpZXMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAgICNob21lcGFnZS1tYXAgLmludHJvLWNvbnRhaW5lciAuZ2V0LXN0YXJ0ZWQge1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAjaG9tZXBhZ2UtbWFwIC5tYXAtaW50cm8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgI2hvbWVwYWdlLW1hcCAubWFwLWludHJvIC5tYXAtaW1hZ2UsXG4gICAgI2hvbWVwYWdlLW1hcCAubWFwLWludHJvIC52aWduZXR0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAjaG9tZXBhZ2UtbWFwIC5tYXAtaW50cm8gLm1hcC1pbWFnZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvYmFja2dyb3VuZHMvd29ybGRtYXAucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAgICNob21lcGFnZS1tYXAgLm1hcC1pbnRybyAudmlnbmV0dGUge1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDIwMHB4ICMwYTBhMGE7IH1cbiAgI2hvbWVwYWdlLW1hcCAubWFwLXRpdGxlcyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMXJlbTtcbiAgICBsZWZ0OiAxcmVtO1xuICAgIGZvbnQtc2l6ZTogLjc1cmVtOyB9XG4gICAgI2hvbWVwYWdlLW1hcCAubWFwLXRpdGxlcyA+IGRpdiB7XG4gICAgICBjb2xvcjogI2U2ZTZlNjtcbiAgICAgIGJhY2tncm91bmQ6ICMyQzJDMkM7XG4gICAgICBwYWRkaW5nOiAuMjVyZW0gMXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC4yNXJlbTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICNob21lcGFnZS1tYXAgLm1hcC10aXRsZXMgLm1hcC10aXRsZSB7XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLjVyZW07IH1cbiAgI2hvbWVwYWdlLW1hcCAuY3ljbGUtY29udHJvbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMXJlbTtcbiAgICByaWdodDogMXJlbTsgfVxuICAgICNob21lcGFnZS1tYXAgLmN5Y2xlLWNvbnRyb2wgYSB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICB3aWR0aDogM3JlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgIzA3NzRDQjsgfVxuICAgICAgI2hvbWVwYWdlLW1hcCAuY3ljbGUtY29udHJvbCBhOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAzcHg7IH1cbiAgICAgICNob21lcGFnZS1tYXAgLmN5Y2xlLWNvbnRyb2wgYS5pY29uLXBsYXktZmlsbDpiZWZvcmUge1xuICAgICAgICBsZWZ0OiA0cHg7IH1cbiAgICAgICNob21lcGFnZS1tYXAgLmN5Y2xlLWNvbnRyb2wgYS5pY29uLXBhdXNlLWZpbGw6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogMnB4OyB9XG4gICNob21lcGFnZS1tYXAgLmFydGljbGUtcHJldmlld3Mge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDFyZW07XG4gICAgbGVmdDogMXJlbTtcbiAgICB3aWR0aDogMzAwcHg7IH1cbiAgICAjaG9tZXBhZ2UtbWFwIC5hcnRpY2xlLXByZXZpZXdzIC5hcnRpY2xlLXByZXZpZXcge1xuICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgI2hvbWVwYWdlLW1hcCAuYXJ0aWNsZS1wcmV2aWV3cyAuYXJ0aWNsZS1wcmV2aWV3IC5hcnRpY2xlLWltYWdlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gICAgICAjaG9tZXBhZ2UtbWFwIC5hcnRpY2xlLXByZXZpZXdzIC5hcnRpY2xlLXByZXZpZXcgLmFydGljbGUtdGl0bGUge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4OyB9XG4gICAgICAgICNob21lcGFnZS1tYXAgLmFydGljbGUtcHJldmlld3MgLmFydGljbGUtcHJldmlldyAuYXJ0aWNsZS10aXRsZSBhIHtcbiAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA2cHg7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIG1hcFpvb21PdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yNSkgdHJhbnNsYXRlWSgxMCUpOyB9XG4gIDEwJSB7XG4gICAgb3BhY2l0eTogLjI1OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbkAtbW96LWtleWZyYW1lcyBtYXBab29tT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEuMjUpIHRyYW5zbGF0ZVkoMTAlKTsgfVxuICAxMCUge1xuICAgIG9wYWNpdHk6IC4yNTsgfVxuICAxMDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIG1hcFpvb21PdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yNSkgdHJhbnNsYXRlWSgxMCUpO1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxLjI1KSB0cmFuc2xhdGVZKDEwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4yNSkgdHJhbnNsYXRlWSgxMCUpO1xuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMS4yNSkgdHJhbnNsYXRlWSgxMCUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yNSkgdHJhbnNsYXRlWSgxMCUpOyB9XG4gIDEwJSB7XG4gICAgb3BhY2l0eTogLjI1OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxudWwuc29jaWFsLW1lZGlhLWxpbmtzIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIHVsLnNvY2lhbC1tZWRpYS1saW5rcy5ib3hlcyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICB1bC5zb2NpYWwtbWVkaWEtbGlua3MuYm94ZXMgbGkgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAzcmVtO1xuICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDNyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzJDMkMyQztcbiAgICAgIGJhY2tncm91bmQ6ICMxMzEzMTM7XG4gICAgICBjb2xvcjogI2U2ZTZlNjtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC41cyBhbGw7XG4gICAgICAtbW96LXRyYW5zaXRpb246IDAuNXMgYWxsO1xuICAgICAgdHJhbnNpdGlvbjogMC41cyBhbGw7IH1cbiAgICAgIHVsLnNvY2lhbC1tZWRpYS1saW5rcy5ib3hlcyBsaSBhIGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMXB4O1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuNXMgYWxsO1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IDAuNXMgYWxsO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjVzIGFsbDsgfVxuICAgICAgdWwuc29jaWFsLW1lZGlhLWxpbmtzLmJveGVzIGxpIGE6aG92ZXIuZmFjZWJvb2ssIHVsLnNvY2lhbC1tZWRpYS1saW5rcy5ib3hlcyBsaSBhOmFjdGl2ZS5mYWNlYm9vaywgdWwuc29jaWFsLW1lZGlhLWxpbmtzLmJveGVzIGxpIGE6Zm9jdXMuZmFjZWJvb2sge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDU2MTlEOyB9XG4gICAgICB1bC5zb2NpYWwtbWVkaWEtbGlua3MuYm94ZXMgbGkgYTpob3Zlci50d2l0dGVyLCB1bC5zb2NpYWwtbWVkaWEtbGlua3MuYm94ZXMgbGkgYTphY3RpdmUudHdpdHRlciwgdWwuc29jaWFsLW1lZGlhLWxpbmtzLmJveGVzIGxpIGE6Zm9jdXMudHdpdHRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzQjk0RDk7IH1cbiAgICAgIHVsLnNvY2lhbC1tZWRpYS1saW5rcy5ib3hlcyBsaSBhOmhvdmVyLmxpbmtlZGluLCB1bC5zb2NpYWwtbWVkaWEtbGlua3MuYm94ZXMgbGkgYTphY3RpdmUubGlua2VkaW4sIHVsLnNvY2lhbC1tZWRpYS1saW5rcy5ib3hlcyBsaSBhOmZvY3VzLmxpbmtlZGluIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzdiNTsgfVxuICAgICAgdWwuc29jaWFsLW1lZGlhLWxpbmtzLmJveGVzIGxpIGE6aG92ZXIucGVyaXNjb3BlLCB1bC5zb2NpYWwtbWVkaWEtbGlua3MuYm94ZXMgbGkgYTphY3RpdmUucGVyaXNjb3BlLCB1bC5zb2NpYWwtbWVkaWEtbGlua3MuYm94ZXMgbGkgYTpmb2N1cy5wZXJpc2NvcGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDBhNGM0OyB9XG4gICAgICB1bC5zb2NpYWwtbWVkaWEtbGlua3MuYm94ZXMgbGkgYTpob3Zlci5pbnN0YWdyYW0sIHVsLnNvY2lhbC1tZWRpYS1saW5rcy5ib3hlcyBsaSBhOmFjdGl2ZS5pbnN0YWdyYW0sIHVsLnNvY2lhbC1tZWRpYS1saW5rcy5ib3hlcyBsaSBhOmZvY3VzLmluc3RhZ3JhbSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZjcyOWI7IH1cbiAgICAgIHVsLnNvY2lhbC1tZWRpYS1saW5rcy5ib3hlcyBsaSBhOmhvdmVyLnlvdXR1YmUsIHVsLnNvY2lhbC1tZWRpYS1saW5rcy5ib3hlcyBsaSBhOmFjdGl2ZS55b3V0dWJlLCB1bC5zb2NpYWwtbWVkaWEtbGlua3MuYm94ZXMgbGkgYTpmb2N1cy55b3V0dWJlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NkMjAxZjsgfVxuICAgICAgdWwuc29jaWFsLW1lZGlhLWxpbmtzLmJveGVzIGxpIGE6aG92ZXIgaSwgdWwuc29jaWFsLW1lZGlhLWxpbmtzLmJveGVzIGxpIGE6YWN0aXZlIGksIHVsLnNvY2lhbC1tZWRpYS1saW5rcy5ib3hlcyBsaSBhOmZvY3VzIGkge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG5cbi5pY29uOm5vdChpKTpiZWZvcmUge1xuICBtYXJnaW4tcmlnaHQ6IC4yNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC4xZW07IH1cblxuLmljb24tcHVibGljYXRpb246YmVmb3JlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDNweDsgfVxuXG4ubGl2ZS1kb3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmxpdmUtZG90OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTk0ODIyO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBoZWlnaHQ6IC41ZW07XG4gICAgd2lkdGg6IC41ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAuMjVlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm90dG9tOiAxcHg7IH1cblxuaGVhZGVyI21haW4ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0NFQ0VDRTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxNTAwOyB9XG4gIGhlYWRlciNtYWluIC5sb2dvIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBoZWFkZXIjbWFpbiAubG9nbyAjZnV0dXJlbmF0by1sb2dvIHtcbiAgICAgIGhlaWdodDogNzVweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgICAgICBoZWFkZXIjbWFpbiAubG9nbyAjZnV0dXJlbmF0by1sb2dvIHtcbiAgICAgICAgICBoZWlnaHQ6IDUwcHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICBoZWFkZXIjbWFpbiAubG9nbyAjZnV0dXJlbmF0by1sb2dvIHtcbiAgICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDIpIHRyYW5zbGF0ZVgoMjUlKSB0cmFuc2xhdGVZKDFweCk7XG4gICAgICAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDIpIHRyYW5zbGF0ZVgoMjUlKSB0cmFuc2xhdGVZKDFweCk7XG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMikgdHJhbnNsYXRlWCgyNSUpIHRyYW5zbGF0ZVkoMXB4KTtcbiAgICAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKDIpIHRyYW5zbGF0ZVgoMjUlKSB0cmFuc2xhdGVZKDFweCk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgyKSB0cmFuc2xhdGVYKDI1JSkgdHJhbnNsYXRlWSgxcHgpOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICBoZWFkZXIjbWFpbiAubG9nbyAjZnV0dXJlbmF0by1sb2dvIHtcbiAgICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIGhlYWRlciNtYWluIC5sb2dvIC5wcm9qZWN0LW9mIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLS41cmVtO1xuICAgICAgcmlnaHQ6IDQlO1xuICAgICAgZm9udC1zaXplOiAuNzVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAgICAgaGVhZGVyI21haW4gLmxvZ28gLnByb2plY3Qtb2Yge1xuICAgICAgICAgIGJvdHRvbTogLS44cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgaGVhZGVyI21haW4gLmxvZ28gLnByb2plY3Qtb2Yge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgIGhlYWRlciNtYWluIC5sb2dvIC5wcm9qZWN0LW9mIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgaGVhZGVyI21haW4gI2hlYWRlci1tZW51LWNvbnRhaW5lciAjaGVhZGVyLW1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICBoZWFkZXIjbWFpbiAjaGVhZGVyLW1lbnUtY29udGFpbmVyICNoZWFkZXItbWVudSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgaGVhZGVyI21haW4gLnRvcC1iYXIgYSB7XG4gICAgY29sb3I6ICMwNzc0Q0I7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBoZWFkZXIjbWFpbiAudG9wLWJhci1yaWdodCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIGhlYWRlciNtYWluIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgaGVhZGVyI21haW4gLnRvcC1iYXItcmlnaHQsXG4gIGhlYWRlciNtYWluIC50b3AtYmFyLWxlZnQge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC41cyBhbGw7XG4gICAgLW1vei10cmFuc2l0aW9uOiAwLjVzIGFsbDtcbiAgICB0cmFuc2l0aW9uOiAwLjVzIGFsbDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTA7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIGhlYWRlciNtYWluIC50b3AtYmFyLXJpZ2h0LFxuICAgICAgaGVhZGVyI21haW4gLnRvcC1iYXItbGVmdCB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgaGVhZGVyI21haW4gLnRvcC1iYXItcmlnaHQgLm1lbnUsXG4gIGhlYWRlciNtYWluIC50b3AtYmFyLWxlZnQgLm1lbnUge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC41cyBhbGw7XG4gICAgLW1vei10cmFuc2l0aW9uOiAwLjVzIGFsbDtcbiAgICB0cmFuc2l0aW9uOiAwLjVzIGFsbDsgfVxuICBoZWFkZXIjbWFpbiB1bC5tZW51IHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIGhlYWRlciNtYWluIHVsLm1lbnUgbGkge1xuICAgICAgaGVpZ2h0OiA3NXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgICAgIGhlYWRlciNtYWluIHVsLm1lbnUgbGkge1xuICAgICAgICAgIGhlaWdodDogNTBweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgIGhlYWRlciNtYWluIHVsLm1lbnUgbGkge1xuICAgICAgICAgIGhlaWdodDogMzVweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgIGhlYWRlciNtYWluIHVsLm1lbnUgbGkge1xuICAgICAgICAgIGhlaWdodDogMzVweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgaGVhZGVyI21haW4gdWwubWVudSBsaSB7XG4gICAgICAgICAgaGVpZ2h0OiAzNXB4OyB9IH1cbiAgICAgIGhlYWRlciNtYWluIHVsLm1lbnUgbGkubWVudS10ZXh0IHtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgIGhlYWRlciNtYWluIHVsLm1lbnUgYSB7XG4gICAgICBjb2xvcjogIzBhMGEwYTtcbiAgICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgICAgIGhlYWRlciNtYWluIHVsLm1lbnUgYSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMWVtOyB9IH1cbiAgICAgIGhlYWRlciNtYWluIHVsLm1lbnUgYS5tZW51LW9wZW4ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgICBoZWFkZXIjbWFpbiB1bC5tZW51IGEubWVudS1vcGVuIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgICAgICAgIGhlYWRlciNtYWluIHVsLm1lbnUgYS5tZW51LW9wZW4gc3BhbiB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgICBoZWFkZXIjbWFpbiB1bC5tZW51IGEubWVudS1vcGVuIGkge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMyQzJDMkM7XG4gICAgICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IC41cmVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgIHdpZHRoOiAyLjVyZW07XG4gICAgICAgICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC41cmVtOyB9XG4gICAgICAgIGhlYWRlciNtYWluIHVsLm1lbnUgYS5tZW51LW9wZW46aG92ZXIgaSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ2NDY0NjsgfVxuICBoZWFkZXIjbWFpbiBpLmljb24tc2VhcmNoIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuNXMgYWxsO1xuICAgIC1tb3otdHJhbnNpdGlvbjogMC41cyBhbGw7XG4gICAgdHJhbnNpdGlvbjogMC41cyBhbGw7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgaGVhZGVyI21haW4gLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgaGVhZGVyI21haW4gLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIC5oZWFkZXItc2VhcmNoIHtcbiAgICAgIG9wYWNpdHk6IDAuMDAwMDAwMDE7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IDAuNXMgYWxsO1xuICAgICAgLW1vei10cmFuc2l0aW9uOiAwLjVzIGFsbDtcbiAgICAgIHRyYW5zaXRpb246IDAuNXMgYWxsOyB9XG4gICAgICBoZWFkZXIjbWFpbiAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgLmhlYWRlci1zZWFyY2ggaW5wdXQge1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTAlO1xuICAgICAgICBsaW5lLWhlaWdodDogNzVweDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBoZWlnaHQ6IDc1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgZm9udC1mYW1pbHk6IEdvdGhhbTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgICAgICAgaGVhZGVyI21haW4gLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIC5oZWFkZXItc2VhcmNoIGlucHV0IHtcbiAgICAgICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4OyB9IH1cbiAgaGVhZGVyI21haW4uc2VhcmNoLW9wZW4gLnRvcC1iYXItcmlnaHQgLm1lbnUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuICBoZWFkZXIjbWFpbi5zZWFyY2gtb3BlbiAudG9wLWJhci1sZWZ0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICBoZWFkZXIjbWFpbi5zZWFyY2gtb3BlbiBpLmljb24tc2VhcmNoIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAwJSkgc2NhbGUoMik7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwMCUpIHNjYWxlKDIpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwMCUpIHNjYWxlKDIpO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAwJSkgc2NhbGUoMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMDAlKSBzY2FsZSgyKTtcbiAgICBjb2xvcjogI0NFQ0VDRTsgfVxuICBoZWFkZXIjbWFpbi5zZWFyY2gtb3BlbiAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgLmhlYWRlci1zZWFyY2gge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgaGVhZGVyI21haW4uc2VhcmNoLW9wZW4gLnR3aXR0ZXItdHlwZWFoZWFkIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIGhlYWRlciNtYWluLnNlYXJjaC1vcGVuIC50d2l0dGVyLXR5cGVhaGVhZCAudHQtbWVudSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7XG4gICAgICBib3gtc2hhZG93OiAwcHggM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgICAgIGhlYWRlciNtYWluLnNlYXJjaC1vcGVuIC50d2l0dGVyLXR5cGVhaGVhZCAudHQtbWVudSAudHQtc3VnZ2VzdGlvbixcbiAgICAgIGhlYWRlciNtYWluLnNlYXJjaC1vcGVuIC50d2l0dGVyLXR5cGVhaGVhZCAudHQtbWVudSAubG9hZGluZy1yZXN1bHRzLFxuICAgICAgaGVhZGVyI21haW4uc2VhcmNoLW9wZW4gLnR3aXR0ZXItdHlwZWFoZWFkIC50dC1tZW51IC5uby1yZXN1bHRzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgcGFkZGluZzogLjVyZW0gLjVyZW0gLjVyZW0gMTAlOyB9XG4gICAgICBoZWFkZXIjbWFpbi5zZWFyY2gtb3BlbiAudHdpdHRlci10eXBlYWhlYWQgLnR0LW1lbnUgLnR0LXN1Z2dlc3Rpb24udHlwZS1wZW9wbGU6YmVmb3JlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZnV0dXJlbmF0by1pY29uc1wiICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIHNwZWFrOiBub25lO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgIGZvbnQtc2l6ZTogLjc1ZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogLjI1ZW07XG4gICAgICAgIGNvbnRlbnQ6IFwiRVwiOyB9XG4gICAgICBoZWFkZXIjbWFpbi5zZWFyY2gtb3BlbiAudHdpdHRlci10eXBlYWhlYWQgLnR0LW1lbnUgLnR0LXN1Z2dlc3Rpb24udHlwZS1hcnRpY2xlczpiZWZvcmUge1xuICAgICAgICBmb250LWZhbWlseTogXCJmdXR1cmVuYXRvLWljb25zXCIgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgZm9udC1zaXplOiAuNzVlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAuMjVlbTtcbiAgICAgICAgY29udGVudDogXCJsXCI7IH1cbiAgICAgIGhlYWRlciNtYWluLnNlYXJjaC1vcGVuIC50d2l0dGVyLXR5cGVhaGVhZCAudHQtbWVudSAudHQtc3VnZ2VzdGlvbi50eXBlLXB1YmxpY2F0aW9uczpiZWZvcmUge1xuICAgICAgICBmb250LWZhbWlseTogXCJmdXR1cmVuYXRvLWljb25zXCIgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgZm9udC1zaXplOiAuNzVlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAuMjVlbTtcbiAgICAgICAgY29udGVudDogXCJCXCI7IH1cbiAgICAgIGhlYWRlciNtYWluLnNlYXJjaC1vcGVuIC50d2l0dGVyLXR5cGVhaGVhZCAudHQtbWVudSAudHQtc3VnZ2VzdGlvbltjbGFzcyo9XCJ0eXBlLVwiXTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDJlbTtcbiAgICAgICAgdG9wOiAuNXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gICAgICBoZWFkZXIjbWFpbi5zZWFyY2gtb3BlbiAudHdpdHRlci10eXBlYWhlYWQgLnR0LW1lbnUgLnR0LXN1Z2dlc3Rpb246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIGhlYWRlciNtYWluLnNlYXJjaC1vcGVuIC50d2l0dGVyLXR5cGVhaGVhZCAudHQtbWVudSAubG9hZGluZy1yZXN1bHRzIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMxcHg7IH1cbiAgICAgICAgaGVhZGVyI21haW4uc2VhcmNoLW9wZW4gLnR3aXR0ZXItdHlwZWFoZWFkIC50dC1tZW51IC5sb2FkaW5nLXJlc3VsdHM6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlIHVybChcIi4uL2ltZy9hamF4LWxvYWRlci5naWZcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgaGVpZ2h0OiAzMXB4O1xuICAgICAgICAgIHdpZHRoOiAzMXB4O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLjVyZW07XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuaG9tZSBoZWFkZXIjbWFpbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgICAuaG9tZSBoZWFkZXIjbWFpbiA+IC50b3AtYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuaG9tZSBoZWFkZXIjbWFpbiA+IC50b3AtYmFyIHVsIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLmhvbWUgaGVhZGVyI21haW4gPiAudG9wLWJhciB1bCBhLm1lbnUtb3BlbiB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gIC5ob21lIGhlYWRlciNtYWluIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uc2VjdGlvbi1icmVha2VyIHtcbiAgcGFkZGluZzogNHJlbSAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCA1MHB4ICNlNmU2ZTY7IH1cbiAgLnNlY3Rpb24tYnJlYWtlciA+IGFzaWRlLCAuc2VjdGlvbi1icmVha2VyIGRpdiB7XG4gICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnNlY3Rpb24tYnJlYWtlci53b3JsZG1hcCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9iYWNrZ3JvdW5kcy93b3JsZG1hcC5wbmcpOyB9XG5cbmh0bWwudG91Y2ggLnNlY3Rpb24tYnJlYWtlci53b3JsZG1hcCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b207XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICBodG1sLnRvdWNoIC5zZWN0aW9uLWJyZWFrZXIud29ybGRtYXAge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfSB9XG5cbmZvb3RlciNtYWluRm9vdGVyIHtcbiAgYmFja2dyb3VuZDogIzJDMkMyQztcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGJvcmRlci1ib3R0b206IDAuNXJlbSBzb2xpZCAjMGEwYTBhO1xuICBwYWRkaW5nOiAxLjVyZW0gMDsgfVxuICBmb290ZXIjbWFpbkZvb3RlciAubWVudSBsaSBhIHtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIGZvb3RlciNtYWluRm9vdGVyIC53aWRnZXQge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICBmb290ZXIjbWFpbkZvb3RlciAud2lkZ2V0ID4gaDMge1xuICAgICAgY29sb3I6ICNDRUNFQ0U7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlR1bmdzdGVuIEFcIiwgXCJUdW5nc3RlbiBCXCIsIFwiVHVuZ3N0ZW5cIiwgR2VvcmdpYTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAuNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtOyB9XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICNob21lcGFnZS1tYXAsXG4gICNob21lLXR3aXR0ZXItZmVlZCxcbiAgI2hvbWUtcHVibGljYXRpb25zLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAjaG9tZXBhZ2UtbWFwLFxuICAjaG9tZS10d2l0dGVyLWZlZWQsXG4gICNob21lLXB1YmxpY2F0aW9ucy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICNob21lLXR3aXR0ZXItZmVlZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgI2ZlYXR1cmVkLXBvc3RzIHtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHBhZGRpbmctdG9wOiA4M3B4OyB9XG4gICAgI2ZlYXR1cmVkLXBvc3RzICNmZWF0dXJlZC1oZXJvIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAjZmVhdHVyZWQtcG9zdHMgI2ZlYXR1cmVkLWhlcm8gPiBhcnRpY2xlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgICAjZmVhdHVyZWQtcG9zdHMgI2ZlYXR1cmVkLWhlcm8gPiBhcnRpY2xlID4gLmFydGljbGUtaW1hZ2Uge1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICAgICAjZmVhdHVyZWQtcG9zdHMgI2ZlYXR1cmVkLWhlcm8gPiBhcnRpY2xlID4gLmFydGljbGUtaW1hZ2UgaW1nIHtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbGVmdDogNTAlOyB9IH1cblxuI2ZlYXR1cmVkLXBvc3RzID4gLmNvbHVtbnMge1xuICBwYWRkaW5nOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgYm9keVtkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdICNmZWF0dXJlZC1wb3N0cyB7XG4gICAgaGVpZ2h0OiA5N3ZoOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAjZmVhdHVyZWQtaGVybyB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAjZmVhdHVyZWQtaGVybyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG4jZmVhdHVyZWQtaGVybyBhcnRpY2xlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJDMkMyQzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI2ZlYXR1cmVkLWhlcm8gYXJ0aWNsZSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICNmZWF0dXJlZC1oZXJvIGFydGljbGUge1xuICAgICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICNmZWF0dXJlZC1oZXJvIGFydGljbGUge1xuICAgICAgaGVpZ2h0OiAxMDB2aDsgfSB9XG4gICNmZWF0dXJlZC1oZXJvIGFydGljbGUgLmFydGljbGUtaGVhZGVyIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3JkZXI6IDI7XG4gICAgcGFkZGluZzogMnJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgI2ZlYXR1cmVkLWhlcm8gYXJ0aWNsZSAuYXJ0aWNsZS1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiAxcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICNmZWF0dXJlZC1oZXJvIGFydGljbGUgLmFydGljbGUtaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMXJlbTsgfSB9XG4gICAgI2ZlYXR1cmVkLWhlcm8gYXJ0aWNsZSAuYXJ0aWNsZS1oZWFkZXIgLmFydGljbGUtbWV0YSxcbiAgICAjZmVhdHVyZWQtaGVybyBhcnRpY2xlIC5hcnRpY2xlLWhlYWRlciAuYXJ0aWNsZS1leGNlcnB0IHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgI2ZlYXR1cmVkLWhlcm8gYXJ0aWNsZSAuYXJ0aWNsZS1oZWFkZXIgLmFydGljbGUtbWV0YSxcbiAgICAgICAgI2ZlYXR1cmVkLWhlcm8gYXJ0aWNsZSAuYXJ0aWNsZS1oZWFkZXIgLmFydGljbGUtZXhjZXJwdCB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgI2ZlYXR1cmVkLWhlcm8gYXJ0aWNsZSAuYXJ0aWNsZS1oZWFkZXIgLmFydGljbGUtbWV0YSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gICAgI2ZlYXR1cmVkLWhlcm8gYXJ0aWNsZSAuYXJ0aWNsZS1oZWFkZXIgLmFydGljbGUtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAydnc7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgI2ZlYXR1cmVkLWhlcm8gYXJ0aWNsZSAuYXJ0aWNsZS1oZWFkZXIgLmFydGljbGUtdGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMy41dnc7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgICNmZWF0dXJlZC1oZXJvIGFydGljbGUgLmFydGljbGUtaGVhZGVyIC5hcnRpY2xlLXRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IDd2dzsgfSB9XG4gICAgICAjZmVhdHVyZWQtaGVybyBhcnRpY2xlIC5hcnRpY2xlLWhlYWRlciAuYXJ0aWNsZS10aXRsZSBhIHtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAgICAgI2ZlYXR1cmVkLWhlcm8gYXJ0aWNsZSAuYXJ0aWNsZS1oZWFkZXIgLmFydGljbGUtdGl0bGUgYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICMwNzc0Q0I7IH1cbiAgICAjZmVhdHVyZWQtaGVybyBhcnRpY2xlIC5hcnRpY2xlLWhlYWRlciAuYXJ0aWNsZS1jYXRlZ29yeTpiZWZvcmUge1xuICAgICAgbGVmdDogMnJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICNmZWF0dXJlZC1oZXJvIGFydGljbGUgLmFydGljbGUtaGVhZGVyIHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMzMyU7XG4gICAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMzMlO1xuICAgICAgICBvcmRlcjogMTsgfSB9XG4gICAgI2ZlYXR1cmVkLWhlcm8gYXJ0aWNsZSAuYXJ0aWNsZS1oZWFkZXIgaDIge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtOyB9XG4gICNmZWF0dXJlZC1oZXJvIGFydGljbGUgLmFydGljbGUtaW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG9yZGVyOiAxO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgI2ZlYXR1cmVkLWhlcm8gYXJ0aWNsZSAuYXJ0aWNsZS1pbWFnZSAuYnV0dG9uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLjVyZW07XG4gICAgICByaWdodDogLjVyZW07XG4gICAgICBmb250LWZhbWlseTogXCJUdW5nc3RlbiBBXCIsIFwiVHVuZ3N0ZW4gQlwiLCBcIlR1bmdzdGVuXCIsIEdlb3JnaWE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAjZmVhdHVyZWQtaGVybyBhcnRpY2xlIC5hcnRpY2xlLWltYWdlIHtcbiAgICAgICAgd2lkdGg6IDY2LjY2NjY2NjYlO1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgbWF4LWhlaWdodDogNTAwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICNmZWF0dXJlZC1oZXJvIGFydGljbGUgLmFydGljbGUtaW1hZ2Uge1xuICAgICAgICBmbGV4OiAxOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICNmZWF0dXJlZC1oZXJvIGFydGljbGUgLmFydGljbGUtaW1hZ2Uge1xuICAgICAgICBmbGV4OiAxOyB9IH1cbiAgICAjZmVhdHVyZWQtaGVybyBhcnRpY2xlIC5hcnRpY2xlLWltYWdlIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICAgI2ZlYXR1cmVkLWhlcm8gYXJ0aWNsZSAuYXJ0aWNsZS1pbWFnZSBpbWcge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgI2ZlYXR1cmVkLWhlcm8gYXJ0aWNsZSAuYXJ0aWNsZS1pbWFnZSBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG5cbiNmZWF0dXJlZC1zZWNvbmRhcnkgLmFydGljbGUtbWV0YSB7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAjZmVhdHVyZWQtc2Vjb25kYXJ5IC5hcnRpY2xlLW1ldGEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLjI1cmVtOyB9IH1cblxuI2ZlYXR1cmVkLXNlY29uZGFyeSBoMyB7XG4gIGZvbnQtc2l6ZTogMS41dnc7XG4gIGhlaWdodDogNGVtO1xuICBtYXJnaW4tdG9wOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAjZmVhdHVyZWQtc2Vjb25kYXJ5IGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMnZ3OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICNmZWF0dXJlZC1zZWNvbmRhcnkgaDMge1xuICAgICAgZm9udC1zaXplOiAyLjV2dzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICNmZWF0dXJlZC1zZWNvbmRhcnkgaDMge1xuICAgICAgZm9udC1zaXplOiA1dnc7XG4gICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgI2ZlYXR1cmVkLXNlY29uZGFyeSBoMyB7XG4gICAgICBmb250LXNpemU6IDEuMjV2dzsgfSB9XG5cbiNmZWF0dXJlZC1zZWNvbmRhcnk6bm90KC5vd2wtY2Fyb3VzZWwpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI2ZlYXR1cmVkLXNlY29uZGFyeTpub3QoLm93bC1jYXJvdXNlbCkgYXJ0aWNsZSB7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzMyU7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAjZmVhdHVyZWQtc2Vjb25kYXJ5Om5vdCgub3dsLWNhcm91c2VsKSBhcnRpY2xlIHtcbiAgICAgIG1heC13aWR0aDogMjUlO1xuICAgICAgZmxleDogMCAwIDI1JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAjZmVhdHVyZWQtc2Vjb25kYXJ5Om5vdCgub3dsLWNhcm91c2VsKSBhcnRpY2xlIHtcbiAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgZmxleDogMCAwIDUwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICNmZWF0dXJlZC1zZWNvbmRhcnk6bm90KC5vd2wtY2Fyb3VzZWwpIGFydGljbGUge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgZmxleDogMCAwIDEwMCU7IH0gfVxuXG4jaG9tZS1wdWJsaWNhdGlvbnMtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgI2hvbWUtbmF0b3NvdXJjZS1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAjaG9tZS1uYXRvc291cmNlLWNvbnRhaW5lciAudGltZWxpbmUtZmVlZCB1bC5hcnRpY2xlLWZlZWQge1xuICAgICAgbWFyZ2luLWxlZnQ6IC41cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucm93Lm5vLXBhZCA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5yb3cubm8tcGFkID4gZGl2Omxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG4jaG9tZS1uYXRvc291cmNlLWNvbnRhaW5lciAudGltZWxpbmUtZmVlZCB7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICNob21lLW5hdG9zb3VyY2UtY29udGFpbmVyIC50aW1lbGluZS1mZWVkOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiA0cmVtO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSwgd2hpdGUgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSA3NSUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCx3aGl0ZSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIDc1JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtcbiAgICBjb250ZW50OiAnJztcbiAgICB6LWluZGV4OiAxMDA7IH1cbiAgI2hvbWUtbmF0b3NvdXJjZS1jb250YWluZXIgLnRpbWVsaW5lLWZlZWQgLmFydGljbGUtZmVlZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDRyZW07IH1cblxuLnNpbmdsZSA+IC5yb3cge1xuICBwYWRkaW5nOiAwOyB9XG4gIC5zaW5nbGUgPiAucm93ID4gLmNvbHVtbixcbiAgLnNpbmdsZSA+IC5yb3cgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZzogMDsgfVxuXG5hcnRpY2xlIHtcbiAgbWF4LXdpZHRoOiAxMDB2dzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICBhcnRpY2xlIHAge1xuICAgICAgZm9udC1zaXplOiA1dnc7IH0gfVxuICBhcnRpY2xlIC5hcnRpY2xlLXRpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cbiAgYXJ0aWNsZSAuYXJ0aWNsZS1jYXRlZ29yeSB7XG4gICAgY29sb3I6ICNFOTQ4MjI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgYXJ0aWNsZSAuYXJ0aWNsZS1jYXRlZ29yeTpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGJhY2tncm91bmQ6ICNFOTQ4MjI7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgYXJ0aWNsZSAuYXJ0aWNsZS1jYXRlZ29yeSAuY2F0ZWdvcnktdGl0bGUge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IC4yNXJlbSAuNXJlbTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFOTQ4MjI7XG4gICAgICBiYWNrZ3JvdW5kOiAjMkMyQzJDO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGNvbG9yOiAjRTk0ODIyOyB9XG4gICAgICBhcnRpY2xlIC5hcnRpY2xlLWNhdGVnb3J5IC5jYXRlZ29yeS10aXRsZTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFOTQ4MjI7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIGFydGljbGUgYSB7XG4gICAgY29sb3I6ICNFOTQ4MjI7IH1cbiAgYXJ0aWNsZS5jYXJkIHtcbiAgICBwYWRkaW5nOiAxcmVtOyB9XG4gICAgYXJ0aWNsZS5jYXJkIC5jYXJkLWlubmVyIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNDRUNFQ0U7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgYXJ0aWNsZS5jYXJkIC5hcnRpY2xlLWltYWdlIGltZyB7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IDFzO1xuICAgICAgLW1vei10cmFuc2l0aW9uOiAxcztcbiAgICAgIHRyYW5zaXRpb246IDFzOyB9XG4gICAgYXJ0aWNsZS5jYXJkIC5hcnRpY2xlLWhlYWRlciB7XG4gICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMXM7XG4gICAgICAtbW96LXRyYW5zaXRpb246IDFzO1xuICAgICAgdHJhbnNpdGlvbjogMXM7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgYXJ0aWNsZS5jYXJkIC5hcnRpY2xlLWhlYWRlciAuYXJ0aWNsZS1tZXRhIHtcbiAgICAgICAgb3JkZXI6IDA7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgICAgYXJ0aWNsZS5jYXJkIC5hcnRpY2xlLWhlYWRlciAuYXJ0aWNsZS1tZXRhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjhyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTsgfSB9XG4gICAgICBhcnRpY2xlLmNhcmQgLmFydGljbGUtaGVhZGVyIC5hcnRpY2xlLWV4Y2VycHQge1xuICAgICAgICBvcmRlcjogMjsgfVxuICAgICAgYXJ0aWNsZS5jYXJkIC5hcnRpY2xlLWhlYWRlciAuYXJ0aWNsZS10aXRsZSB7XG4gICAgICAgIG9yZGVyOiAxOyB9XG4gICAgICAgIGFydGljbGUuY2FyZCAuYXJ0aWNsZS1oZWFkZXIgLmFydGljbGUtdGl0bGUgYSB7XG4gICAgICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAgICAgICBhcnRpY2xlLmNhcmQgLmFydGljbGUtaGVhZGVyIC5hcnRpY2xlLXRpdGxlIGE6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICNFOTQ4MjI7IH1cbiAgICAgIGFydGljbGUuY2FyZCAuYXJ0aWNsZS1oZWFkZXI6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgIHRvcDogLTRweDtcbiAgICAgICAgbGVmdDogMzMlO1xuICAgICAgICByaWdodDogMzMlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTk0ODIyO1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IDFzO1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IDFzO1xuICAgICAgICB0cmFuc2l0aW9uOiAxczsgfVxuICBhcnRpY2xlLnJlbGF0ZWQtYXJ0aWNsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMzAwcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjVzIGFsbDtcbiAgICAtbW96LXRyYW5zaXRpb246IDAuNXMgYWxsO1xuICAgIHRyYW5zaXRpb246IDAuNXMgYWxsO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBhcnRpY2xlLnJlbGF0ZWQtYXJ0aWNsZSBoZWFkZXIge1xuICAgICAgcGFkZGluZzogMS41cmVtO1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgZmxleDogMTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjc1KTtcbiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC41cyBhbGw7XG4gICAgICAtbW96LXRyYW5zaXRpb246IDAuNXMgYWxsO1xuICAgICAgdHJhbnNpdGlvbjogMC41cyBhbGw7IH1cbiAgICAgIGFydGljbGUucmVsYXRlZC1hcnRpY2xlIGhlYWRlciAuYXJ0aWNsZS1oZWFkZXIge1xuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjVzIGFsbDtcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiAwLjVzIGFsbDtcbiAgICAgICAgdHJhbnNpdGlvbjogMC41cyBhbGw7IH1cbiAgICAgIGFydGljbGUucmVsYXRlZC1hcnRpY2xlIGhlYWRlciAuYXJ0aWNsZS10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgICAgYXJ0aWNsZS5yZWxhdGVkLWFydGljbGUgaGVhZGVyIC5hcnRpY2xlLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNXZ3OyB9IH1cbiAgICAgIGFydGljbGUucmVsYXRlZC1hcnRpY2xlIGhlYWRlciAuYXJ0aWNsZS1tZXRhIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIGFydGljbGUucmVsYXRlZC1hcnRpY2xlIGhlYWRlciAuYXJ0aWNsZS1jYXRlZ29yeSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRvcDogMXJlbTsgfVxuICAgICAgICBhcnRpY2xlLnJlbGF0ZWQtYXJ0aWNsZSBoZWFkZXIgLmFydGljbGUtY2F0ZWdvcnk6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiAycmVtOyB9XG4gICAgYXJ0aWNsZS5yZWxhdGVkLWFydGljbGU6aG92ZXIgaGVhZGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICBhcnRpY2xlLnNpbmdsZSBoZWFkZXIsIGFydGljbGUuYXJjaGl2ZSBoZWFkZXIsIGFydGljbGUucGFnZSBoZWFkZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAxcmVtOyB9IH1cbiAgYXJ0aWNsZS5zaW5nbGUgaGVhZGVyIGgxLCBhcnRpY2xlLmFyY2hpdmUgaGVhZGVyIGgxLCBhcnRpY2xlLnBhZ2UgaGVhZGVyIGgxIHtcbiAgICBmb250LXNpemU6IDUwcHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICBhcnRpY2xlLnNpbmdsZSBoZWFkZXIgaDEsIGFydGljbGUuYXJjaGl2ZSBoZWFkZXIgaDEsIGFydGljbGUucGFnZSBoZWFkZXIgaDEge1xuICAgICAgICBmb250LXNpemU6IDNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgYXJ0aWNsZS5zaW5nbGUgaGVhZGVyIGgxLCBhcnRpY2xlLmFyY2hpdmUgaGVhZGVyIGgxLCBhcnRpY2xlLnBhZ2UgaGVhZGVyIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiA1dnc7IH0gfVxuICBhcnRpY2xlLnNpbmdsZSBoZWFkZXIgLmNhdGVnb3J5LXRpdGxlLCBhcnRpY2xlLmFyY2hpdmUgaGVhZGVyIC5jYXRlZ29yeS10aXRsZSwgYXJ0aWNsZS5wYWdlIGhlYWRlciAuY2F0ZWdvcnktdGl0bGUge1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cbiAgICBhcnRpY2xlLnNpbmdsZSBoZWFkZXIgLmNhdGVnb3J5LXRpdGxlOmhvdmVyLCBhcnRpY2xlLmFyY2hpdmUgaGVhZGVyIC5jYXRlZ29yeS10aXRsZTpob3ZlciwgYXJ0aWNsZS5wYWdlIGhlYWRlciAuY2F0ZWdvcnktdGl0bGU6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI0U5NDgyMjsgfVxuICBhcnRpY2xlLnNpbmdsZSBoZWFkZXIgLmFydGljbGUtbWV0YSwgYXJ0aWNsZS5hcmNoaXZlIGhlYWRlciAuYXJ0aWNsZS1tZXRhLCBhcnRpY2xlLnBhZ2UgaGVhZGVyIC5hcnRpY2xlLW1ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAgIGFydGljbGUuc2luZ2xlIGhlYWRlciAuYXJ0aWNsZS1tZXRhIC5hcnRpY2xlLWNhdGVnb3J5LCBhcnRpY2xlLmFyY2hpdmUgaGVhZGVyIC5hcnRpY2xlLW1ldGEgLmFydGljbGUtY2F0ZWdvcnksIGFydGljbGUucGFnZSBoZWFkZXIgLmFydGljbGUtbWV0YSAuYXJ0aWNsZS1jYXRlZ29yeSB7XG4gICAgICBmbGV4OiAxOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgYXJ0aWNsZS5zaW5nbGUgaGVhZGVyIC5hcnRpY2xlLW1ldGEgLmFydGljbGUtY2F0ZWdvcnksIGFydGljbGUuYXJjaGl2ZSBoZWFkZXIgLmFydGljbGUtbWV0YSAuYXJ0aWNsZS1jYXRlZ29yeSwgYXJ0aWNsZS5wYWdlIGhlYWRlciAuYXJ0aWNsZS1tZXRhIC5hcnRpY2xlLWNhdGVnb3J5IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBmbGV4OiAwOyB9IH1cbiAgICBhcnRpY2xlLnNpbmdsZSBoZWFkZXIgLmFydGljbGUtbWV0YSAuYXJ0aWNsZS1hdXRob3IsIGFydGljbGUuYXJjaGl2ZSBoZWFkZXIgLmFydGljbGUtbWV0YSAuYXJ0aWNsZS1hdXRob3IsIGFydGljbGUucGFnZSBoZWFkZXIgLmFydGljbGUtbWV0YSAuYXJ0aWNsZS1hdXRob3Ige1xuICAgICAgcGFkZGluZzogMCAxcmVtOyB9XG4gICAgYXJ0aWNsZS5zaW5nbGUgaGVhZGVyIC5hcnRpY2xlLW1ldGEgLmFydGljbGUtdGltZSwgYXJ0aWNsZS5hcmNoaXZlIGhlYWRlciAuYXJ0aWNsZS1tZXRhIC5hcnRpY2xlLXRpbWUsIGFydGljbGUucGFnZSBoZWFkZXIgLmFydGljbGUtbWV0YSAuYXJ0aWNsZS10aW1lIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXg6IDE7IH1cbiAgICAgIGFydGljbGUuc2luZ2xlIGhlYWRlciAuYXJ0aWNsZS1tZXRhIC5hcnRpY2xlLXRpbWU6YmVmb3JlLCBhcnRpY2xlLmFyY2hpdmUgaGVhZGVyIC5hcnRpY2xlLW1ldGEgLmFydGljbGUtdGltZTpiZWZvcmUsIGFydGljbGUucGFnZSBoZWFkZXIgLmFydGljbGUtbWV0YSAuYXJ0aWNsZS10aW1lOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyQzJDMkM7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7IH1cbiAgICAgIGFydGljbGUuc2luZ2xlIGhlYWRlciAuYXJ0aWNsZS1tZXRhIC5hcnRpY2xlLXRpbWUgLnRpbWUsXG4gICAgICBhcnRpY2xlLnNpbmdsZSBoZWFkZXIgLmFydGljbGUtbWV0YSAuYXJ0aWNsZS10aW1lIC5kYXRlLCBhcnRpY2xlLmFyY2hpdmUgaGVhZGVyIC5hcnRpY2xlLW1ldGEgLmFydGljbGUtdGltZSAudGltZSxcbiAgICAgIGFydGljbGUuYXJjaGl2ZSBoZWFkZXIgLmFydGljbGUtbWV0YSAuYXJ0aWNsZS10aW1lIC5kYXRlLCBhcnRpY2xlLnBhZ2UgaGVhZGVyIC5hcnRpY2xlLW1ldGEgLmFydGljbGUtdGltZSAudGltZSxcbiAgICAgIGFydGljbGUucGFnZSBoZWFkZXIgLmFydGljbGUtbWV0YSAuYXJ0aWNsZS10aW1lIC5kYXRlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIGFydGljbGUuc2luZ2xlIGhlYWRlciAuYXJ0aWNsZS1tZXRhIC5hcnRpY2xlLXRpbWUgLnRpbWUsIGFydGljbGUuYXJjaGl2ZSBoZWFkZXIgLmFydGljbGUtbWV0YSAuYXJ0aWNsZS10aW1lIC50aW1lLCBhcnRpY2xlLnBhZ2UgaGVhZGVyIC5hcnRpY2xlLW1ldGEgLmFydGljbGUtdGltZSAudGltZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgICAgICAgYXJ0aWNsZS5zaW5nbGUgaGVhZGVyIC5hcnRpY2xlLW1ldGEgLmFydGljbGUtdGltZSAudGltZTpiZWZvcmUsIGFydGljbGUuYXJjaGl2ZSBoZWFkZXIgLmFydGljbGUtbWV0YSAuYXJ0aWNsZS10aW1lIC50aW1lOmJlZm9yZSwgYXJ0aWNsZS5wYWdlIGhlYWRlciAuYXJ0aWNsZS1tZXRhIC5hcnRpY2xlLXRpbWUgLnRpbWU6YmVmb3JlIHtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJmdXR1cmVuYXRvLWljb25zXCIgIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgIHNwZWFrOiBub25lO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgICAgZm9udC1zaXplOiAuNzVlbTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC4yNWVtO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiZFwiOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAgIGFydGljbGUuc2luZ2xlIGhlYWRlciAuYXJ0aWNsZS1tZXRhIC5hcnRpY2xlLXRpbWUgLnRpbWUsIGFydGljbGUuYXJjaGl2ZSBoZWFkZXIgLmFydGljbGUtbWV0YSAuYXJ0aWNsZS10aW1lIC50aW1lLCBhcnRpY2xlLnBhZ2UgaGVhZGVyIC5hcnRpY2xlLW1ldGEgLmFydGljbGUtdGltZSAudGltZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAgIGFydGljbGUuc2luZ2xlIGhlYWRlciAuYXJ0aWNsZS1tZXRhIC5hcnRpY2xlLXRpbWUgLmRhdGUsIGFydGljbGUuYXJjaGl2ZSBoZWFkZXIgLmFydGljbGUtbWV0YSAuYXJ0aWNsZS10aW1lIC5kYXRlLCBhcnRpY2xlLnBhZ2UgaGVhZGVyIC5hcnRpY2xlLW1ldGEgLmFydGljbGUtdGltZSAuZGF0ZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICAgIGFydGljbGUuc2luZ2xlIGhlYWRlciAuYXJ0aWNsZS1tZXRhIC5hcnRpY2xlLXRpbWUgLmRhdGU6YmVmb3JlLCBhcnRpY2xlLmFyY2hpdmUgaGVhZGVyIC5hcnRpY2xlLW1ldGEgLmFydGljbGUtdGltZSAuZGF0ZTpiZWZvcmUsIGFydGljbGUucGFnZSBoZWFkZXIgLmFydGljbGUtbWV0YSAuYXJ0aWNsZS10aW1lIC5kYXRlOmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiZnV0dXJlbmF0by1pY29uc1wiICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICBzcGVhazogbm9uZTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogLjc1ZW07XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAuMjVlbTtcbiAgICAgICAgICBjb250ZW50OiBcInRcIjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICBhcnRpY2xlLnNpbmdsZSBoZWFkZXIsIGFydGljbGUuYXJjaGl2ZSBoZWFkZXIsIGFydGljbGUucGFnZSBoZWFkZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICBhcnRpY2xlLnNpbmdsZSBoZWFkZXIgLmFydGljbGUtbWV0YSwgYXJ0aWNsZS5hcmNoaXZlIGhlYWRlciAuYXJ0aWNsZS1tZXRhLCBhcnRpY2xlLnBhZ2UgaGVhZGVyIC5hcnRpY2xlLW1ldGEge1xuICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICBhcnRpY2xlLnNpbmdsZSBoZWFkZXIgLmFydGljbGUtbWV0YSwgYXJ0aWNsZS5hcmNoaXZlIGhlYWRlciAuYXJ0aWNsZS1tZXRhLCBhcnRpY2xlLnBhZ2UgaGVhZGVyIC5hcnRpY2xlLW1ldGEge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgYXJ0aWNsZS5zaW5nbGUgaGVhZGVyIC5hcnRpY2xlLW1ldGEgLmFydGljbGUtY2F0ZWdvcnksIGFydGljbGUuYXJjaGl2ZSBoZWFkZXIgLmFydGljbGUtbWV0YSAuYXJ0aWNsZS1jYXRlZ29yeSwgYXJ0aWNsZS5wYWdlIGhlYWRlciAuYXJ0aWNsZS1tZXRhIC5hcnRpY2xlLWNhdGVnb3J5IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvcmRlcjogMjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIGFydGljbGUuc2luZ2xlIGhlYWRlciAuYXJ0aWNsZS1tZXRhIC5hcnRpY2xlLWNhdGVnb3J5OmJlZm9yZSwgYXJ0aWNsZS5hcmNoaXZlIGhlYWRlciAuYXJ0aWNsZS1tZXRhIC5hcnRpY2xlLWNhdGVnb3J5OmJlZm9yZSwgYXJ0aWNsZS5wYWdlIGhlYWRlciAuYXJ0aWNsZS1tZXRhIC5hcnRpY2xlLWNhdGVnb3J5OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAxcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgYXJ0aWNsZS5zaW5nbGUgaGVhZGVyIC5hcnRpY2xlLW1ldGEgLmFydGljbGUtYXV0aG9yLCBhcnRpY2xlLmFyY2hpdmUgaGVhZGVyIC5hcnRpY2xlLW1ldGEgLmFydGljbGUtYXV0aG9yLCBhcnRpY2xlLnBhZ2UgaGVhZGVyIC5hcnRpY2xlLW1ldGEgLmFydGljbGUtYXV0aG9yIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBvcmRlcjogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IC4yNXJlbTtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICBhcnRpY2xlLnNpbmdsZSBoZWFkZXIgLmFydGljbGUtbWV0YSAuYXJ0aWNsZS10aW1lLCBhcnRpY2xlLmFyY2hpdmUgaGVhZGVyIC5hcnRpY2xlLW1ldGEgLmFydGljbGUtdGltZSwgYXJ0aWNsZS5wYWdlIGhlYWRlciAuYXJ0aWNsZS1tZXRhIC5hcnRpY2xlLXRpbWUge1xuICAgICAgb3JkZXI6IDE7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgYXJ0aWNsZS5zaW5nbGUgaGVhZGVyIC5hcnRpY2xlLW1ldGEgLmFydGljbGUtdGltZSAuZGF0ZSwgYXJ0aWNsZS5hcmNoaXZlIGhlYWRlciAuYXJ0aWNsZS1tZXRhIC5hcnRpY2xlLXRpbWUgLmRhdGUsIGFydGljbGUucGFnZSBoZWFkZXIgLmFydGljbGUtbWV0YSAuYXJ0aWNsZS10aW1lIC5kYXRlIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgYXJ0aWNsZS5zaW5nbGUgaGVhZGVyIC5hcnRpY2xlLW1ldGEgLmFydGljbGUtdGltZTpiZWZvcmUsIGFydGljbGUuYXJjaGl2ZSBoZWFkZXIgLmFydGljbGUtbWV0YSAuYXJ0aWNsZS10aW1lOmJlZm9yZSwgYXJ0aWNsZS5wYWdlIGhlYWRlciAuYXJ0aWNsZS1tZXRhIC5hcnRpY2xlLXRpbWU6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBhcnRpY2xlLnNpbmdsZSBmb290ZXIsIGFydGljbGUuYXJjaGl2ZSBmb290ZXIsIGFydGljbGUucGFnZSBmb290ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICBhcnRpY2xlLnNpbmdsZSBmb290ZXIsIGFydGljbGUuYXJjaGl2ZSBmb290ZXIsIGFydGljbGUucGFnZSBmb290ZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDkwMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICBhcnRpY2xlLnNpbmdsZSBmb290ZXIgLmFydGljbGUtdGFncywgYXJ0aWNsZS5hcmNoaXZlIGZvb3RlciAuYXJ0aWNsZS10YWdzLCBhcnRpY2xlLnBhZ2UgZm9vdGVyIC5hcnRpY2xlLXRhZ3Mge1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgYXJ0aWNsZS5zaW5nbGUgLmFydGljbGUtZXhjZXJwdCwgYXJ0aWNsZS5hcmNoaXZlIC5hcnRpY2xlLWV4Y2VycHQsIGFydGljbGUucGFnZSAuYXJ0aWNsZS1leGNlcnB0IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICBhcnRpY2xlLnNpbmdsZSAuYXJ0aWNsZS1jb250ZW50LCBhcnRpY2xlLmFyY2hpdmUgLmFydGljbGUtY29udGVudCwgYXJ0aWNsZS5wYWdlIC5hcnRpY2xlLWNvbnRlbnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMXJlbTsgfSB9XG4gIGFydGljbGUuc2luZ2xlIC5hcnRpY2xlLWNvbnRlbnQgaWZyYW1lLCBhcnRpY2xlLmFyY2hpdmUgLmFydGljbGUtY29udGVudCBpZnJhbWUsIGFydGljbGUucGFnZSAuYXJ0aWNsZS1jb250ZW50IGlmcmFtZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIGFydGljbGUuc2luZ2xlIC5hcnRpY2xlLWNvbnRlbnQgLndwLWNhcHRpb24sIGFydGljbGUuYXJjaGl2ZSAuYXJ0aWNsZS1jb250ZW50IC53cC1jYXB0aW9uLCBhcnRpY2xlLnBhZ2UgLmFydGljbGUtY29udGVudCAud3AtY2FwdGlvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgYXJ0aWNsZS5zaW5nbGUgLmFydGljbGUtY29udGVudCAud3AtY2FwdGlvbiBwLCBhcnRpY2xlLmFyY2hpdmUgLmFydGljbGUtY29udGVudCAud3AtY2FwdGlvbiBwLCBhcnRpY2xlLnBhZ2UgLmFydGljbGUtY29udGVudCAud3AtY2FwdGlvbiBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIHBhZGRpbmc6IC41cmVtIDFyZW0gMDtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICBhcnRpY2xlLmFyY2hpdmUgaDIgYSB7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgYXJ0aWNsZS5hcmNoaXZlIC5mZWF0dXJlZC1pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgYXJ0aWNsZS5hcmNoaXZlIC5mZWF0dXJlZC1pbWFnZSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIGFydGljbGUuYXJjaGl2ZSAuZmVhdHVyZWQtaW1hZ2UgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICBhcnRpY2xlLmFyY2hpdmUgaGVhZGVyIC5hcnRpY2xlLW1ldGEge1xuICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICBhcnRpY2xlLmFyY2hpdmUgaGVhZGVyIC5hcnRpY2xlLW1ldGEge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgYXJ0aWNsZS5hcmNoaXZlIGhlYWRlciAuYXJ0aWNsZS1tZXRhIC5hcnRpY2xlLWNhdGVnb3J5IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvcmRlcjogMjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIGFydGljbGUuYXJjaGl2ZSBoZWFkZXIgLmFydGljbGUtbWV0YSAuYXJ0aWNsZS1jYXRlZ29yeTpiZWZvcmUge1xuICAgICAgbGVmdDogMXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIGFydGljbGUuYXJjaGl2ZSBoZWFkZXIgLmFydGljbGUtbWV0YSAuYXJ0aWNsZS1hdXRob3Ige1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG9yZGVyOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLjI1cmVtO1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIGFydGljbGUuYXJjaGl2ZSBoZWFkZXIgLmFydGljbGUtbWV0YSAuYXJ0aWNsZS10aW1lIHtcbiAgICAgIG9yZGVyOiAxOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgYXJ0aWNsZS5hcmNoaXZlIGhlYWRlciAuYXJ0aWNsZS1tZXRhIC5hcnRpY2xlLXRpbWUgLmRhdGUge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICBhcnRpY2xlLmFyY2hpdmUgaGVhZGVyIC5hcnRpY2xlLW1ldGEgLmFydGljbGUtdGltZTpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIGFydGljbGUuYXJjaGl2ZSAuYXJ0aWNsZS1leGNlcnB0IHtcbiAgICBjbGVhcjogYm90aDsgfVxuICBhcnRpY2xlLnNpbmdsZS5hcnRpY2xlLndpdGgtaW1hZ2UsIGFydGljbGUuc2luZ2xlLmNvbXBldGl0aW9uX2VudHJ5LndpdGgtaW1hZ2UsIGFydGljbGUuc2luZ2xlLnBhZ2Uud2l0aC1pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogNTB2aDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICBhcnRpY2xlLnNpbmdsZS5hcnRpY2xlLndpdGgtaW1hZ2UsIGFydGljbGUuc2luZ2xlLmNvbXBldGl0aW9uX2VudHJ5LndpdGgtaW1hZ2UsIGFydGljbGUuc2luZ2xlLnBhZ2Uud2l0aC1pbWFnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIGFydGljbGUuc2luZ2xlLmFydGljbGUud2l0aC1pbWFnZSwgYXJ0aWNsZS5zaW5nbGUuY29tcGV0aXRpb25fZW50cnkud2l0aC1pbWFnZSwgYXJ0aWNsZS5zaW5nbGUucGFnZS53aXRoLWltYWdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICAgIGFydGljbGUuc2luZ2xlLmFydGljbGUud2l0aC1pbWFnZSA+IC53cC1wb3N0LWltYWdlLCBhcnRpY2xlLnNpbmdsZS5jb21wZXRpdGlvbl9lbnRyeS53aXRoLWltYWdlID4gLndwLXBvc3QtaW1hZ2UsIGFydGljbGUuc2luZ2xlLnBhZ2Uud2l0aC1pbWFnZSA+IC53cC1wb3N0LWltYWdlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICBhcnRpY2xlLnNpbmdsZS5hcnRpY2xlLndpdGgtaW1hZ2UgPiAud3AtcG9zdC1pbWFnZSwgYXJ0aWNsZS5zaW5nbGUuY29tcGV0aXRpb25fZW50cnkud2l0aC1pbWFnZSA+IC53cC1wb3N0LWltYWdlLCBhcnRpY2xlLnNpbmdsZS5wYWdlLndpdGgtaW1hZ2UgPiAud3AtcG9zdC1pbWFnZSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICBhcnRpY2xlLnNpbmdsZS5hcnRpY2xlLndpdGgtaW1hZ2UgPiAud3AtcG9zdC1pbWFnZSwgYXJ0aWNsZS5zaW5nbGUuY29tcGV0aXRpb25fZW50cnkud2l0aC1pbWFnZSA+IC53cC1wb3N0LWltYWdlLCBhcnRpY2xlLnNpbmdsZS5wYWdlLndpdGgtaW1hZ2UgPiAud3AtcG9zdC1pbWFnZSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cbiAgYXJ0aWNsZS5zaW5nbGUuYXJ0aWNsZSA+IGhlYWRlcixcbiAgYXJ0aWNsZS5zaW5nbGUuYXJ0aWNsZSAuYXJ0aWNsZS1jb250ZW50LFxuICBhcnRpY2xlLnNpbmdsZS5hcnRpY2xlIGZvb3RlciwgYXJ0aWNsZS5zaW5nbGUuY29tcGV0aXRpb25fZW50cnkgPiBoZWFkZXIsXG4gIGFydGljbGUuc2luZ2xlLmNvbXBldGl0aW9uX2VudHJ5IC5hcnRpY2xlLWNvbnRlbnQsXG4gIGFydGljbGUuc2luZ2xlLmNvbXBldGl0aW9uX2VudHJ5IGZvb3RlciwgYXJ0aWNsZS5zaW5nbGUucGFnZSA+IGhlYWRlcixcbiAgYXJ0aWNsZS5zaW5nbGUucGFnZSAuYXJ0aWNsZS1jb250ZW50LFxuICBhcnRpY2xlLnNpbmdsZS5wYWdlIGZvb3RlciB7XG4gICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICBwYWRkaW5nOiAycmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICBhcnRpY2xlLnNpbmdsZS5hcnRpY2xlID4gaGVhZGVyLFxuICAgICAgYXJ0aWNsZS5zaW5nbGUuYXJ0aWNsZSAuYXJ0aWNsZS1jb250ZW50LFxuICAgICAgYXJ0aWNsZS5zaW5nbGUuYXJ0aWNsZSBmb290ZXIsIGFydGljbGUuc2luZ2xlLmNvbXBldGl0aW9uX2VudHJ5ID4gaGVhZGVyLFxuICAgICAgYXJ0aWNsZS5zaW5nbGUuY29tcGV0aXRpb25fZW50cnkgLmFydGljbGUtY29udGVudCxcbiAgICAgIGFydGljbGUuc2luZ2xlLmNvbXBldGl0aW9uX2VudHJ5IGZvb3RlciwgYXJ0aWNsZS5zaW5nbGUucGFnZSA+IGhlYWRlcixcbiAgICAgIGFydGljbGUuc2luZ2xlLnBhZ2UgLmFydGljbGUtY29udGVudCxcbiAgICAgIGFydGljbGUuc2luZ2xlLnBhZ2UgZm9vdGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07IH0gfVxuICBhcnRpY2xlLnNpbmdsZS5hcnRpY2xlIGhlYWRlciwgYXJ0aWNsZS5zaW5nbGUuY29tcGV0aXRpb25fZW50cnkgaGVhZGVyLCBhcnRpY2xlLnNpbmdsZS5wYWdlIGhlYWRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjQ0VDRUNFOyB9XG4gICAgYXJ0aWNsZS5zaW5nbGUuYXJ0aWNsZSBoZWFkZXIgaDEsIGFydGljbGUuc2luZ2xlLmNvbXBldGl0aW9uX2VudHJ5IGhlYWRlciBoMSwgYXJ0aWNsZS5zaW5nbGUucGFnZSBoZWFkZXIgaDEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgIGFydGljbGUuc2luZ2xlLmFydGljbGUgaGVhZGVyIGgxLCBhcnRpY2xlLnNpbmdsZS5jb21wZXRpdGlvbl9lbnRyeSBoZWFkZXIgaDEsIGFydGljbGUuc2luZ2xlLnBhZ2UgaGVhZGVyIGgxIHtcbiAgICAgICAgICBmb250LXNpemU6IDV2dzsgfSB9XG4gIGFydGljbGUuc2luZ2xlLnB1YmxpY2F0aW9uIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIGFydGljbGUuc2luZ2xlLnB1YmxpY2F0aW9uLndpdGgtaW1hZ2Uge1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICBwYWRkaW5nLXRvcDogMzB2aDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICBhcnRpY2xlLnNpbmdsZS5wdWJsaWNhdGlvbi53aXRoLWltYWdlIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgYXJ0aWNsZS5zaW5nbGUucHVibGljYXRpb24ud2l0aC1pbWFnZSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICAgICAgYXJ0aWNsZS5zaW5nbGUucHVibGljYXRpb24ud2l0aC1pbWFnZSA+IC53cC1wb3N0LWltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgICBhcnRpY2xlLnNpbmdsZS5wdWJsaWNhdGlvbi53aXRoLWltYWdlID4gLndwLXBvc3QtaW1hZ2Uge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgICAgYXJ0aWNsZS5zaW5nbGUucHVibGljYXRpb24ud2l0aC1pbWFnZSA+IC53cC1wb3N0LWltYWdlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG4gICAgICBhcnRpY2xlLnNpbmdsZS5wdWJsaWNhdGlvbi53aXRoLWltYWdlIGhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDJyZW07IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgICAgYXJ0aWNsZS5zaW5nbGUucHVibGljYXRpb24ud2l0aC1pbWFnZSBoZWFkZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgYXJ0aWNsZS5zaW5nbGUucHVibGljYXRpb24gaGVhZGVyLFxuICAgIGFydGljbGUuc2luZ2xlLnB1YmxpY2F0aW9uIC5hcnRpY2xlLWNvbnRlbnQsXG4gICAgYXJ0aWNsZS5zaW5nbGUucHVibGljYXRpb24gLnJvb20tZm9yLWRlYmF0ZS1yZXNwb25zZXMsXG4gICAgYXJ0aWNsZS5zaW5nbGUucHVibGljYXRpb24gLmFydGljbGUtY29udHJpYnV0b3JzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgcGFkZGluZzogMnJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICBhcnRpY2xlLnNpbmdsZS5wdWJsaWNhdGlvbiBoZWFkZXIsXG4gICAgICAgIGFydGljbGUuc2luZ2xlLnB1YmxpY2F0aW9uIC5hcnRpY2xlLWNvbnRlbnQsXG4gICAgICAgIGFydGljbGUuc2luZ2xlLnB1YmxpY2F0aW9uIC5yb29tLWZvci1kZWJhdGUtcmVzcG9uc2VzLFxuICAgICAgICBhcnRpY2xlLnNpbmdsZS5wdWJsaWNhdGlvbiAuYXJ0aWNsZS1jb250cmlidXRvcnMge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmc6IDFyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgIGFydGljbGUuc2luZ2xlLnB1YmxpY2F0aW9uIGhlYWRlcixcbiAgICAgICAgYXJ0aWNsZS5zaW5nbGUucHVibGljYXRpb24gLmFydGljbGUtY29udGVudCxcbiAgICAgICAgYXJ0aWNsZS5zaW5nbGUucHVibGljYXRpb24gLnJvb20tZm9yLWRlYmF0ZS1yZXNwb25zZXMsXG4gICAgICAgIGFydGljbGUuc2luZ2xlLnB1YmxpY2F0aW9uIC5hcnRpY2xlLWNvbnRyaWJ1dG9ycyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZzogMXJlbTsgfSB9XG4gICAgYXJ0aWNsZS5zaW5nbGUucHVibGljYXRpb24gaGVhZGVyIC5hcnRpY2xlLW1ldGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgIGFydGljbGUuc2luZ2xlLnB1YmxpY2F0aW9uIGhlYWRlciAuYXJ0aWNsZS1tZXRhIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuICAgICAgYXJ0aWNsZS5zaW5nbGUucHVibGljYXRpb24gaGVhZGVyIC5hcnRpY2xlLW1ldGE6YmVmb3JlIHtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogIzBhMGEwYTtcbiAgICAgICAgei1pbmRleDogMTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgICBhcnRpY2xlLnNpbmdsZS5wdWJsaWNhdGlvbiBoZWFkZXIgLmFydGljbGUtbWV0YTpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICBhcnRpY2xlLnNpbmdsZS5wdWJsaWNhdGlvbiBoZWFkZXIgLmFydGljbGUtbWV0YSAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtOyB9XG4gICAgICAgIGFydGljbGUuc2luZ2xlLnB1YmxpY2F0aW9uIGhlYWRlciAuYXJ0aWNsZS1tZXRhIC5idXR0b24gaSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAuMjVyZW07XG4gICAgICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBzdWI7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgICAgICAgYXJ0aWNsZS5zaW5nbGUucHVibGljYXRpb24gaGVhZGVyIC5hcnRpY2xlLW1ldGEgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgICAgICBhcnRpY2xlLnNpbmdsZS5wdWJsaWNhdGlvbiBoZWFkZXIgLmFydGljbGUtbWV0YSAuYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgICAgIGFydGljbGUuc2luZ2xlLnB1YmxpY2F0aW9uIGhlYWRlciAuYXJ0aWNsZS1tZXRhIC5idXR0b246YmVmb3JlIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICBhcnRpY2xlLnNpbmdsZS5wdWJsaWNhdGlvbiBoZWFkZXIgLmFydGljbGUtbWV0YSA+IGRpdiB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjsgfVxuICAgICAgYXJ0aWNsZS5zaW5nbGUucHVibGljYXRpb24gaGVhZGVyIC5hcnRpY2xlLW1ldGEgLmFydGljbGUtZGF0ZSB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgICAgICAgYXJ0aWNsZS5zaW5nbGUucHVibGljYXRpb24gaGVhZGVyIC5hcnRpY2xlLW1ldGEgLmFydGljbGUtZGF0ZSAuZGF0ZSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICAgICAgYXJ0aWNsZS5zaW5nbGUucHVibGljYXRpb24gaGVhZGVyIC5hcnRpY2xlLW1ldGEgLmFydGljbGUtZGF0ZSAuZGF0ZTpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiZnV0dXJlbmF0by1pY29uc1wiICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgc3BlYWs6IG5vbmU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjc1ZW07XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC4yNWVtO1xuICAgICAgICAgICAgY29udGVudDogXCJ0XCI7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgICAgIGFydGljbGUuc2luZ2xlLnB1YmxpY2F0aW9uIGhlYWRlciAuYXJ0aWNsZS1tZXRhIC5hcnRpY2xlLWRhdGUgLmRhdGUge1xuICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgICBhcnRpY2xlLnNpbmdsZS5wdWJsaWNhdGlvbiAuYXJ0aWNsZS1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICBhcnRpY2xlLnNpbmdsZS5wdWJsaWNhdGlvbiAuYXJ0aWNsZS1jb250ZW50IHtcbiAgICAgICAgICAtd2Via2l0LWNvbHVtbnM6IDI7XG4gICAgICAgICAgLW1vei1jb2x1bW5zOiAyO1xuICAgICAgICAgIGNvbHVtbnM6IDI7XG4gICAgICAgICAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAzcmVtO1xuICAgICAgICAgIC1tb3otY29sdW1uLWdhcDogM3JlbTtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiAzcmVtOyB9IH1cbiAgYXJ0aWNsZS5zaW5nbGUgLmFydGljbGUtY29udGVudCB7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTsgfVxuXG5odG1sLm5vLXRvdWNoIGFydGljbGUuY2FyZCAuYXJ0aWNsZS1oZWFkZXIgLmFydGljbGUtbWV0YSB7XG4gIG9yZGVyOiAwOyB9XG5cbmh0bWwubm8tdG91Y2ggYXJ0aWNsZS5jYXJkIC5hcnRpY2xlLWhlYWRlciAuYXJ0aWNsZS10aXRsZSB7XG4gIG9yZGVyOiAxOyB9XG5cbmh0bWwubm8tdG91Y2ggYXJ0aWNsZS5jYXJkIC5hcnRpY2xlLWhlYWRlciAuYXJ0aWNsZS1leGNlcnB0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMXJlbSAxcmVtOyB9XG5cbmh0bWwubm8tdG91Y2ggYXJ0aWNsZS5jYXJkOmhvdmVyIC5hcnRpY2xlLWltYWdlIGltZyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cblxuaHRtbC5uby10b3VjaCBhcnRpY2xlLmNhcmQ6aG92ZXIgLmFydGljbGUtaGVhZGVyIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG4gIGh0bWwubm8tdG91Y2ggYXJ0aWNsZS5jYXJkOmhvdmVyIC5hcnRpY2xlLWhlYWRlcjpiZWZvcmUge1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7IH1cblxuaHRtbC5uby10b3VjaCAudGltZWxpbmUtZmVlZCB1bCBsaSBhIGFydGljbGUgLmFydGljbGUtY29udGFpbmVyIC5hcnRpY2xlLWV4Y2VycHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgaHRtbC5uby10b3VjaCAudGltZWxpbmUtZmVlZCB1bCBsaSBhIGFydGljbGUgLmFydGljbGUtY29udGFpbmVyIC5hcnRpY2xlLWV4Y2VycHQgcCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9XG5cbmh0bWwubm8tdG91Y2ggLnRpbWVsaW5lLWZlZWQgdWwgbGk6aG92ZXIgYSBhcnRpY2xlIC5hcnRpY2xlLWNvbnRhaW5lciB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yLjFyZW0pO1xuICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMi4xcmVtKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMi4xcmVtKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yLjFyZW0pO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIuMXJlbSk7IH1cblxuLnRpbWVsaW5lLWZlZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC50aW1lbGluZS1mZWVkIGhlYWRlciB7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0VDRUNFOyB9XG4gICAgLnRpbWVsaW5lLWZlZWQgaGVhZGVyIGg1IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLnRpbWVsaW5lLWZlZWQgaGVhZGVyIGg1IGEudmlldy1hbGwge1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7IH1cbiAgLnRpbWVsaW5lLWZlZWQgLmFydGljbGUtZmVlZC1jb250YWluZXIge1xuICAgIGZsZXg6IDE7XG4gICAgb3ZlcmZsb3c6IGF1dG87IH1cbiAgLnRpbWVsaW5lLWZlZWQgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDJyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0NFQ0VDRTsgfVxuICAgIC50aW1lbGluZS1mZWVkIHVsIGxpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQ0VDRUNFO1xuICAgICAgcGFkZGluZzogMCAuNXJlbTtcbiAgICAgIG1hcmdpbjogLjVyZW0gMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLnRpbWVsaW5lLWZlZWQgdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IC0yLjVyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNDRUNFQ0U7XG4gICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMXM7XG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogMXM7XG4gICAgICAgIHRyYW5zaXRpb246IDFzOyB9XG4gICAgICAudGltZWxpbmUtZmVlZCB1bCBsaTphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0VDRUNFO1xuICAgICAgICBsZWZ0OiAtMS41cmVtO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6IDFyZW07IH1cbiAgICAgIC50aW1lbGluZS1mZWVkIHVsIGxpIGEge1xuICAgICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgICAgICAudGltZWxpbmUtZmVlZCB1bCBsaSBhIGFydGljbGUge1xuICAgICAgICAgIHBhZGRpbmc6IC41cmVtIDAgMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICAgICAudGltZWxpbmUtZmVlZCB1bCBsaSBhIGFydGljbGUgLmFydGljbGUtY29udGFpbmVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC4zNXM7XG4gICAgICAgICAgICAtbW96LXRyYW5zaXRpb246IDAuMzVzO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4zNXM7IH1cbiAgICAgICAgICAgIC50aW1lbGluZS1mZWVkIHVsIGxpIGEgYXJ0aWNsZSAuYXJ0aWNsZS1jb250YWluZXIgLmFydGljbGUtdGl0bGUge1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAgICAgICAgIC50aW1lbGluZS1mZWVkIHVsIGxpIGEgYXJ0aWNsZSAuYXJ0aWNsZS1jb250YWluZXIgLmFydGljbGUtdGl0bGUgaDMge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgICAgICAgICAudGltZWxpbmUtZmVlZCB1bCBsaSBhIGFydGljbGUgLmFydGljbGUtY29udGFpbmVyIC5hcnRpY2xlLXRpdGxlIGgzIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAydnc7IH0gfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgICAudGltZWxpbmUtZmVlZCB1bCBsaSBhIGFydGljbGUgLmFydGljbGUtY29udGFpbmVyIC5hcnRpY2xlLWV4Y2VycHQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXZ3OyB9IH1cbiAgICAgIC50aW1lbGluZS1mZWVkIHVsIGxpOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzBhMGEwYTtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiA1cHg7IH1cbiAgICAgIC50aW1lbGluZS1mZWVkIHVsIGxpOmhvdmVyIGEgYXJ0aWNsZSAuYXJ0aWNsZS1jb250YWluZXIgLmFydGljbGUtdGl0bGUge1xuICAgICAgICBjb2xvcjogIzA3NzRDQjsgfVxuXG51bC5mb290ZXItcmVsYXRlZC1hcnRpY2xlcyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDsgfVxuXG4uYXJ0aWNsZS1jb250cmlidXRvcnMgaGVhZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDRUNFQ0U7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuXG4uYXJ0aWNsZS1jb250cmlidXRvcnMgdWwuYXV0aG9yLWJpb3Mge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuYXJ0aWNsZS1jb250cmlidXRvcnMgdWwuYXV0aG9yLWJpb3MgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1pbi13aWR0aDogNTAlO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5hcnRpY2xlLWNvbnRyaWJ1dG9ycyB1bC5hdXRob3ItYmlvcyBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IG5vbmU7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgLmFydGljbGUtY29udHJpYnV0b3JzIHVsLmF1dGhvci1iaW9zIGxpIC5hdXRob3ItcGhvdG8ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgLmFydGljbGUtY29udHJpYnV0b3JzIHVsLmF1dGhvci1iaW9zIGxpIC5hdXRob3ItcGhvdG8ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgICAuYXJ0aWNsZS1jb250cmlidXRvcnMgdWwuYXV0aG9yLWJpb3MgbGkgLmF1dGhvci1waG90byBhIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMnB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgICAgIGJvcmRlcjogNXB4IHNvbGlkICNmZWZlZmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgICAuYXJ0aWNsZS1jb250cmlidXRvcnMgdWwuYXV0aG9yLWJpb3MgbGkgLmF1dGhvci1waG90byBhIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH0gfVxuICAgICAgICAuYXJ0aWNsZS1jb250cmlidXRvcnMgdWwuYXV0aG9yLWJpb3MgbGkgLmF1dGhvci1waG90byBhIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgICAuYXJ0aWNsZS1jb250cmlidXRvcnMgdWwuYXV0aG9yLWJpb3MgbGkgLmF1dGhvci1waG90byBhIGltZyB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAycHggcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG4gICAgICAgIC5hcnRpY2xlLWNvbnRyaWJ1dG9ycyB1bC5hdXRob3ItYmlvcyBsaSAuYXV0aG9yLXBob3RvIGEgaW1nIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgICAuYXJ0aWNsZS1jb250cmlidXRvcnMgdWwuYXV0aG9yLWJpb3MgbGkgLmF1dGhvci1pbmZvIHtcbiAgICAgIGZsZXg6IDE7IH1cbiAgICAgIC5hcnRpY2xlLWNvbnRyaWJ1dG9ycyB1bC5hdXRob3ItYmlvcyBsaSAuYXV0aG9yLWluZm8gLmF1dGhvci1wb3N0cyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUge1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgYm9yZGVyLXRvcDogNXB4IHNvbGlkICMwYTBhMGE7XG4gIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjMGEwYTBhO1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgYmxvY2txdW90ZTpmaXJzdC1sZXR0ZXIge1xuICAgIGZvbnQtc2l6ZTogMzAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsaW5lLWhlaWdodDogMTAwJTsgfVxuICBibG9ja3F1b3RlIGNpdGUge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgcGFkZGluZy1sZWZ0OiAzNSU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IC41cmVtO1xuICAgIGZvbnQtZmFtaWx5OiBcIkFicmlsIFRleHRcIiwgR2VvcmdpYSwgc2VyaWY7XG4gICAgdGV4dC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjb2xvcjogIzJDMkMyQzsgfVxuICAgIGJsb2NrcXVvdGUgY2l0ZTpiZWZvcmUge1xuICAgICAgd2lkdGg6IDMzJTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjMkMyQzJDO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogNDUlOyB9XG5cbi50YWdzIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC50YWdzIHVsIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAudGFncyB1bCBsaSBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICBwYWRkaW5nOiAwIDEwcHggMCAxMnB4O1xuICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgICAgIGNvbG9yOiAjMkMyQzJDO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gICAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gICAgICAtby10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAwLjI1cyBhbGw7XG4gICAgICAtbW96LXRyYW5zaXRpb246IDAuMjVzIGFsbDtcbiAgICAgIHRyYW5zaXRpb246IDAuMjVzIGFsbDtcbiAgICAgIC13ZWJraXQtZmlsdGVyOiBkcm9wLXNoYWRvdygxcHggMXB4IDFweCAjQ0VDRUNFKTtcbiAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMXB4IDFweCAxcHggI0NFQ0VDRSk7IH1cbiAgICAgIC50YWdzIHVsIGxpIGE6aG92ZXIge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAgICAgLnRhZ3MgdWwgbGkgYTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IC0xNHB4O1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNlNmU2ZTYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXJlbSAxcmVtIDFyZW0gMDsgfVxuICAgICAgLnRhZ3MgdWwgbGkgYTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLjc1cmVtO1xuICAgICAgICBsZWZ0OiAtLjI1cmVtO1xuICAgICAgICBoZWlnaHQ6IC41cmVtO1xuICAgICAgICB3aWR0aDogLjVyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMXB4IDFweCAxcHggI0NFQ0VDRTsgfVxuXG4ubmF2LXNpbmdsZSB7XG4gIG1heC13aWR0aDogOTAwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLm5hdi1zaW5nbGU6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNHJlbTsgfVxuXG4ucmVsYXRlZC1hcnRpY2xlcy1jb250YWluZXIgLm93bC1jYXJvdXNlbCAub3dsLWNvbnRyb2xzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5yZWxhdGVkLWFydGljbGVzLWNvbnRhaW5lciAub3dsLWNhcm91c2VsIC5vd2wtY29udHJvbHMgLm93bC1kb3RzIC5vd2wtZG90IHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICNtYWluID4gLnJvdyA+IC5jb2x1bW4ge1xuICAgIHBhZGRpbmc6IDA7IH0gfVxuXG5hcnRpY2xlLnBhZ2UgLmFydGljbGUtY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG4gIG1heC13aWR0aDogOTAwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuYXJ0aWNsZS5zaW5nbGUuYmlvIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogOTAwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgYXJ0aWNsZS5zaW5nbGUuYmlvIGhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgI0NFQ0VDRTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gICAgYXJ0aWNsZS5zaW5nbGUuYmlvIGhlYWRlciAuYmlvLXBob3RvIHtcbiAgICAgIG1hcmdpbi1yaWdodDogM3JlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJvcmRlcjogN3B4IHNvbGlkICNmZWZlZmU7XG4gICAgICBib3gtc2hhZG93OiAwcHggMHB4IDNweCAjQ0VDRUNFO1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgIGFydGljbGUuc2luZ2xlLmJpbyBoZWFkZXIgLmJpby1waG90byBpbWcge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgICBhcnRpY2xlLnNpbmdsZS5iaW8gaGVhZGVyIC5iaW8tc3VtbWFyeSB7XG4gICAgICBmbGV4OiAxOyB9XG4gICAgICBhcnRpY2xlLnNpbmdsZS5iaW8gaGVhZGVyIC5iaW8tc3VtbWFyeSAuYmlvLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAgICAgICBhcnRpY2xlLnNpbmdsZS5iaW8gaGVhZGVyIC5iaW8tc3VtbWFyeSAuYmlvLXRpdGxlOmJlZm9yZSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gICAgICBhcnRpY2xlLnNpbmdsZS5iaW8gaGVhZGVyIC5iaW8tc3VtbWFyeSAuYmlvLW1ldGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAgICAgICBhcnRpY2xlLnNpbmdsZS5iaW8gaGVhZGVyIC5iaW8tc3VtbWFyeSAuYmlvLW1ldGE6YmVmb3JlIHtcbiAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMkMyQzJDO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgICAgIGFydGljbGUuc2luZ2xlLmJpbyBoZWFkZXIgLmJpby1zdW1tYXJ5IC5iaW8tbWV0YSA+IGRpdiB7XG4gICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAgIGFydGljbGUuc2luZ2xlLmJpbyBoZWFkZXIgLmJpby1zdW1tYXJ5IC5iaW8tbWV0YSAuYmlvLXBvc3RzIC5iaW8tcG9zdHMtY291bnQge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyQzJDMkM7XG4gICAgICAgICAgcGFkZGluZzogLjVyZW0gMXJlbTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgICBhcnRpY2xlLnNpbmdsZS5iaW8gaGVhZGVyIC5iaW8tc3VtbWFyeSAuYmlvLW1ldGEgLmJpby1wb3N0cyAuYmlvLXBvc3RzLWNvdW50OmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMkMyQzJDO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4OyB9XG4gICAgICAgIGFydGljbGUuc2luZ2xlLmJpbyBoZWFkZXIgLmJpby1zdW1tYXJ5IC5iaW8tbWV0YSAuYmlvLWxhc3QtcG9zdCB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gICAgICAgICAgYXJ0aWNsZS5zaW5nbGUuYmlvIGhlYWRlciAuYmlvLXN1bW1hcnkgLmJpby1tZXRhIC5iaW8tbGFzdC1wb3N0IHNwYW4ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogLjVyZW07IH1cblxuLmFyY2hpdmUtYmlvcyB7XG4gIHBhZGRpbmctdG9wOiAycmVtOyB9XG4gIC5hcmNoaXZlLWJpb3MgLmJpb3MtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5hcmNoaXZlLWJpb3MgLmJpb3MtY29udGFpbmVyIC5iaW8tY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMzJTtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMzMlO1xuICAgICAgcGFkZGluZzogMXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICAuYXJjaGl2ZS1iaW9zIC5iaW9zLWNvbnRhaW5lciAuYmlvLWNvbnRhaW5lciB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAyNSU7XG4gICAgICAgICAgZmxleDogMCAwIDI1JTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgIC5hcmNoaXZlLWJpb3MgLmJpb3MtY29udGFpbmVyIC5iaW8tY29udGFpbmVyIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgICBmbGV4OiAwIDAgNTAlOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAuYXJjaGl2ZS1iaW9zIC5iaW9zLWNvbnRhaW5lciAuYmlvLWNvbnRhaW5lciB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIGZsZXg6IDAgMCAxMDAlOyB9IH1cbiAgICAgIC5hcmNoaXZlLWJpb3MgLmJpb3MtY29udGFpbmVyIC5iaW8tY29udGFpbmVyIC5iaW8ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0VDRUNFO1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgICAgIC13ZWJraXQtZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMCByZ2JhKDAsIDAsIDAsIDAuMykpO1xuICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAwIHJnYmEoMCwgMCwgMCwgMC4zKSk7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC4zM3MgYWxsO1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IDAuMzNzIGFsbDtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4zM3MgYWxsO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLmFyY2hpdmUtYmlvcyAuYmlvcy1jb250YWluZXIgLmJpby1jb250YWluZXIgLmJpbzpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZiZmJmYjtcbiAgICAgICAgICAtd2Via2l0LWZpbHRlcjogZHJvcC1zaGFkb3coMCAzcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4zKSk7XG4gICAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDNweCAzcHggcmdiYSgwLCAwLCAwLCAwLjMpKTtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTtcbiAgICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTtcbiAgICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpO1xuICAgICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtM3B4KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7IH1cbiAgICAgICAgLmFyY2hpdmUtYmlvcyAuYmlvcy1jb250YWluZXIgLmJpby1jb250YWluZXIgLmJpbyAuYmlvLXBob3RvIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgICAgICAgLmFyY2hpdmUtYmlvcyAuYmlvcy1jb250YWluZXIgLmJpby1jb250YWluZXIgLmJpbyAuYmlvLXBob3RvIGltZyB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgICAgICAgLmFyY2hpdmUtYmlvcyAuYmlvcy1jb250YWluZXIgLmJpby1jb250YWluZXIgLmJpbyBoNSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHJlbTsgfVxuICAgICAgICAuYXJjaGl2ZS1iaW9zIC5iaW9zLWNvbnRhaW5lciAuYmlvLWNvbnRhaW5lciAuYmlvIC5iaW8tYXJ0aWNsZXMge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICAgICAgLmFyY2hpdmUtYmlvcyAuYmlvcy1jb250YWluZXIgLmJpby1jb250YWluZXIgLmJpbyAuYmlvLWV4Y2VycHQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgICAgICAgLmFyY2hpdmUtYmlvcyAuYmlvcy1jb250YWluZXIgLmJpby1jb250YWluZXIgLmJpbyAuYmlvLWNvbnRhY3Qge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAgIC5hcmNoaXZlLWJpb3MgLmJpb3MtY29udGFpbmVyIC5iaW8tY29udGFpbmVyIC5iaW8gLmJpby1jb250YWN0IHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICBib3R0b206IDFyZW07XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAgICAgICAuYXJjaGl2ZS1iaW9zIC5iaW9zLWNvbnRhaW5lciAuYmlvLWNvbnRhaW5lciAuYmlvIC5iaW8tY29udGFjdCB1bCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAgICAgLmFyY2hpdmUtYmlvcyAuYmlvcy1jb250YWluZXIgLmJpby1jb250YWluZXIgLmJpbyAuYmlvLWNvbnRhY3QgdWwgbGkge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLnB1YmxpY2F0aW9ucy13aWRnZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjQ0VDRUNFOyB9XG4gIC5wdWJsaWNhdGlvbnMtd2lkZ2V0Lm5vLWJveCB7XG4gICAgYm9yZGVyOiBub25lOyB9XG4gICAgLnB1YmxpY2F0aW9ucy13aWRnZXQubm8tYm94ID4gdWwgPiBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgICAucHVibGljYXRpb25zLXdpZGdldC5uby1ib3ggPiB1bCA+IGxpIC5wdWJsaWNhdGlvbi1tZXRhLFxuICAgICAgLnB1YmxpY2F0aW9ucy13aWRnZXQubm8tYm94ID4gdWwgPiBsaSAucHVibGljYXRpb24tdGl0bGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnB1YmxpY2F0aW9ucy13aWRnZXQgaGVhZGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0NFQ0VDRTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMXJlbTsgfVxuICAgIC5wdWJsaWNhdGlvbnMtd2lkZ2V0IGhlYWRlciBoNSB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLnB1YmxpY2F0aW9ucy13aWRnZXQgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAucHVibGljYXRpb25zLXdpZGdldCB1bCBsaSAucHVibGljYXRpb24tbWV0YSB7XG4gICAgICBwYWRkaW5nOiAuNXJlbSAuNXJlbSAwIC41cmVtOyB9XG4gICAgLnB1YmxpY2F0aW9ucy13aWRnZXQgdWwgbGkgLnB1YmxpY2F0aW9uLXRpdGxlIHtcbiAgICAgIHBhZGRpbmc6IC41cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXNpemU6IDEuNzVyZW07IH1cblxuYS5wdWItbGluayB7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG4gIGEucHViLWxpbmsgc3BhbiB7XG4gICAgY29sb3I6ICMwNzc0Q0I7IH1cbiAgYS5wdWItbGluazpob3ZlciB7XG4gICAgY29sb3I6ICMwNzc0Q0I7IH1cblxudWwucHVibGljYXRpb24tcXVpY2stZmFjdHMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQ0VDRUNFO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0NFQ0VDRTtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZy10b3A6IDJyZW07XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICB1bC5wdWJsaWNhdGlvbi1xdWljay1mYWN0cyB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIHVsLnB1YmxpY2F0aW9uLXF1aWNrLWZhY3RzIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgdWwucHVibGljYXRpb24tcXVpY2stZmFjdHMge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIHVsLnB1YmxpY2F0aW9uLXF1aWNrLWZhY3RzIGxpIHtcbiAgICBmbGV4OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogLjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4gICAgICB1bC5wdWJsaWNhdGlvbi1xdWljay1mYWN0cyBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMzMzJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgdWwucHVibGljYXRpb24tcXVpY2stZmFjdHMgbGkge1xuICAgICAgICBmbGV4OiAwIDAgNTAlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIHVsLnB1YmxpY2F0aW9uLXF1aWNrLWZhY3RzIGxpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIHVsLnB1YmxpY2F0aW9uLXF1aWNrLWZhY3RzIGxpIC5zdGF0LWljb24gaSB7XG4gICAgICBmb250LXNpemU6IDVyZW07IH1cbiAgICB1bC5wdWJsaWNhdGlvbi1xdWljay1mYWN0cyBsaSAuc3RhdC1pY29uIGltZyB7XG4gICAgICBoZWlnaHQ6IDVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgdWwucHVibGljYXRpb24tcXVpY2stZmFjdHMgbGkgLnN0YXQge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuI3B1YmxpY2F0aW9ucy1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDkwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwYWRkaW5nLXRvcDogMnJlbTsgfVxuXG4uYXJjaGl2ZSAjYXJjaGl2ZS1uYXZpZ2F0aW9uLWNvbnRhaW5lciA+IGRpdiA+IGRpdiB7XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cblxuLmFyY2hpdmUgI2FyY2hpdmUtbmF2aWdhdGlvbi1jb250YWluZXIgI2FyY2hpdmUtbmF2aWdhdGlvbiB7XG4gIGZvbnQtc2l6ZTogMTJweDsgfVxuXG4uYXJjaGl2ZSAjYXJ0aWNsZS1jb250YWluZXIge1xuICBtYXJnaW4tdG9wOiAycmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYXJjaGl2ZSAjYXJ0aWNsZS1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9IH1cbiAgLmFyY2hpdmUgI2FydGljbGUtY29udGFpbmVyIGFydGljbGUge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjZTZlNmU2OyB9XG5cbi5hcmNoaXZlIC5wYWdpbmF0aW9uLWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuXG4ucGFnaW5hdGlvbiBsaSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gIC5wYWdpbmF0aW9uIGxpID4gYSxcbiAgLnBhZ2luYXRpb24gbGkgPiBidXR0b24sIC5wYWdpbmF0aW9uIGxpLmN1cnJlbnQsXG4gIC5wYWdpbmF0aW9uIGxpIHNwYW4ge1xuICAgIHBhZGRpbmc6IC4xODc1cmVtIDEuM3JlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnBhZ2luYXRpb24gbGkgc3Bhbi5jdXJyZW50IHtcbiAgICBwYWRkaW5nOiAuMTg3NXJlbSAxLjNyZW07IH1cblxuLnJvb20tZm9yLWRlYmF0ZSB7XG4gIGJhY2tncm91bmQ6ICNGNUY1RjU7XG4gIHBhZGRpbmc6IC41cmVtOyB9XG4gIC5yb29tLWZvci1kZWJhdGUgdWwucm9vbS1mb3ItZGViYXRlLXJlc3BvbnNlcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLnJvb20tZm9yLWRlYmF0ZSB1bC5yb29tLWZvci1kZWJhdGUtcmVzcG9uc2VzOjpiZWZvcmUsIC5yb29tLWZvci1kZWJhdGUgdWwucm9vbS1mb3ItZGViYXRlLXJlc3BvbnNlczo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAucm9vbS1mb3ItZGViYXRlIHVsLnJvb20tZm9yLWRlYmF0ZS1yZXNwb25zZXM6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnJvb20tZm9yLWRlYmF0ZSB1bC5yb29tLWZvci1kZWJhdGUtcmVzcG9uc2VzOmJlZm9yZSB7XG4gICAgICBmb250LWZhbWlseTogXCJmdXR1cmVuYXRvLWljb25zXCIgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgICAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBzcGVhazogbm9uZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgZm9udC1zaXplOiAuNzVlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogLjI1ZW07XG4gICAgICBjb250ZW50OiBcInVcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuICAgIC5yb29tLWZvci1kZWJhdGUgdWwucm9vbS1mb3ItZGViYXRlLXJlc3BvbnNlcyBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAgICAgLnJvb20tZm9yLWRlYmF0ZSB1bC5yb29tLWZvci1kZWJhdGUtcmVzcG9uc2VzIGxpIGEge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgICAucm9vbS1mb3ItZGViYXRlIHVsLnJvb20tZm9yLWRlYmF0ZS1yZXNwb25zZXMgbGkgYVtkYXRhLXRvb2x0aXBdIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgICAgICAucm9vbS1mb3ItZGViYXRlIHVsLnJvb20tZm9yLWRlYmF0ZS1yZXNwb25zZXMgbGkgYSBpbWcge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmVmZWZlO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAzcHggI0NFQ0VDRTsgfVxuXG4ucm9vbS1mb3ItZGViYXRlLXJlc3BvbnNlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgI0NFQ0VDRTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAucm9vbS1mb3ItZGViYXRlLXJlc3BvbnNlOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMGVtKSBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnJvb20tZm9yLWRlYmF0ZS1yZXNwb25zZSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgLnJvb20tZm9yLWRlYmF0ZS1yZXNwb25zZSAucmVzcG9uZGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1heC13aWR0aDogMTYwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgIC5yb29tLWZvci1kZWJhdGUtcmVzcG9uc2UgLnJlc3BvbmRlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgLnJvb20tZm9yLWRlYmF0ZS1yZXNwb25zZSAucmVzcG9uZGVyIC5yZXNwb25kZXItaW1hZ2Uge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAycHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICAgIGJvcmRlcjogNXB4IHNvbGlkICNmZWZlZmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAucm9vbS1mb3ItZGViYXRlLXJlc3BvbnNlIC5yZXNwb25kZXIgLnJlc3BvbmRlci1pbWFnZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfSB9XG4gICAgICAucm9vbS1mb3ItZGViYXRlLXJlc3BvbnNlIC5yZXNwb25kZXIgLnJlc3BvbmRlci1pbWFnZSBhIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAucm9vbS1mb3ItZGViYXRlLXJlc3BvbnNlIC5yZXNwb25kZXIgLnJlc3BvbmRlci1pbWFnZSBpbWcge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAycHggcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG4gICAgLnJvb20tZm9yLWRlYmF0ZS1yZXNwb25zZSAucmVzcG9uZGVyIC5yZXNwb25kZXItbmFtZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnJvb20tZm9yLWRlYmF0ZS1yZXNwb25zZSAucmVzcG9uZGVyIC5yZXNwb25kZXItdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAuOXJlbTsgfVxuICAgIC5yb29tLWZvci1kZWJhdGUtcmVzcG9uc2UgLnJlc3BvbmRlciBpbWcge1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gIC5yb29tLWZvci1kZWJhdGUtcmVzcG9uc2UgLnJlc3BvbnNlIHtcbiAgICBmbGV4OiAxOyB9XG4gICAgLnJvb20tZm9yLWRlYmF0ZS1yZXNwb25zZSAucmVzcG9uc2UgLnJlc3BvbnNlLWNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzO1xuICAgICAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICAgIC5yb29tLWZvci1kZWJhdGUtcmVzcG9uc2UgLnJlc3BvbnNlIC5yZXNwb25zZS1jb250YWluZXIgLnJlc3BvbnNlLW1ldGEge1xuICAgICAgICBjb2xvcjogI2MxYzFjMTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAucm9vbS1mb3ItZGViYXRlLXJlc3BvbnNlIC5yZXNwb25zZSAucmVzcG9uc2UtY29udGFpbmVyIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgICAgIC5yb29tLWZvci1kZWJhdGUtcmVzcG9uc2UgLnJlc3BvbnNlIC5yZXNwb25zZS1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXI6IGluc2V0IDIwcHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2YzZjNmMyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtNDBweDtcbiAgICAgICAgdG9wOiA1NXB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBlbSkgYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgICAgICAgIC5yb29tLWZvci1kZWJhdGUtcmVzcG9uc2UgLnJlc3BvbnNlIC5yZXNwb25zZS1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlcjogaW5zZXQgMjBweDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2YzZjNmMztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdG9wOiAtNDBweDtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9IH1cbiAgICAucm9vbS1mb3ItZGViYXRlLXJlc3BvbnNlIC5yZXNwb25zZSAucmVzcG9uc2UtYWN0aW9ucyB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG5hcnRpY2xlLnJvb20tZm9yLWRlYmF0ZSB7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cbiAgYXJ0aWNsZS5yb29tLWZvci1kZWJhdGUgaGVhZGVyIC5hcnRpY2xlLW1ldGEgLmFydGljbGUtYXV0aG9yIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgYXJ0aWNsZS5yb29tLWZvci1kZWJhdGUgaGVhZGVyIC5hcnRpY2xlLXRhZ3Mge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgYXJ0aWNsZS5yb29tLWZvci1kZWJhdGUuc2luZ2xlIGhlYWRlcixcbiAgYXJ0aWNsZS5yb29tLWZvci1kZWJhdGUuc2luZ2xlIC5hcnRpY2xlLWNvbnRlbnQsXG4gIGFydGljbGUucm9vbS1mb3ItZGViYXRlLnNpbmdsZSBmb290ZXIge1xuICAgIG1heC13aWR0aDogOTAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIGFydGljbGUucm9vbS1mb3ItZGViYXRlLnNpbmdsZSBoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICNDRUNFQ0U7IH1cbiAgICBhcnRpY2xlLnJvb20tZm9yLWRlYmF0ZS5zaW5nbGUgaGVhZGVyIC5yZXNwb25zZS10byB7XG4gICAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBkYXNoZWQgI0NFQ0VDRTtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgICAgIGFydGljbGUucm9vbS1mb3ItZGViYXRlLnNpbmdsZSBoZWFkZXIgLnJlc3BvbnNlLXRvID4gYXJ0aWNsZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzcmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgYXJ0aWNsZS5yb29tLWZvci1kZWJhdGUuc2luZ2xlIGhlYWRlciAucmVzcG9uc2UtdG8gPiBhcnRpY2xlIGhlYWRlciB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gICAgICAgICAgYXJ0aWNsZS5yb29tLWZvci1kZWJhdGUuc2luZ2xlIGhlYWRlciAucmVzcG9uc2UtdG8gPiBhcnRpY2xlIGhlYWRlciBoMiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDJyZW07IH1cbiAgICAgICAgYXJ0aWNsZS5yb29tLWZvci1kZWJhdGUuc2luZ2xlIGhlYWRlciAucmVzcG9uc2UtdG8gPiBhcnRpY2xlOmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiZnV0dXJlbmF0by1pY29uc1wiICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICBzcGVhazogbm9uZTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogLjc1ZW07XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAuMjVlbTtcbiAgICAgICAgICBjb250ZW50OiBcInVcIjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogLTNyZW07XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTsgfVxuXG4ucGFnZS5zcG9uc29ycyAuc3BvbnNvcnMtY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiA5MDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZy10b3A6IDJyZW07IH1cblxudWwuc3BvbnNvcnMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgdWwuc3BvbnNvcnMuZ3JpZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICB1bC5zcG9uc29ycy5ncmlkIGxpIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMlO1xuICAgICAgcGFkZGluZzogMXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICB1bC5zcG9uc29ycy5ncmlkIGxpIHtcbiAgICAgICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgICAgIG1heC13aWR0aDogMjUlOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgdWwuc3BvbnNvcnMuZ3JpZCBsaSB7XG4gICAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgICBtYXgtd2lkdGg6IDUwJTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAgICAgdWwuc3BvbnNvcnMuZ3JpZCBsaSB7XG4gICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7IH0gfVxuICAgICAgdWwuc3BvbnNvcnMuZ3JpZCBsaSAuc3BvbnNvciB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNDRUNFQ0U7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICB1bC5zcG9uc29ycy5ncmlkIGxpIC5zcG9uc29yIC5zcG9uc29yLWxvZ28ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICAgICAgdWwuc3BvbnNvcnMuZ3JpZCBsaSAuc3BvbnNvciAuc3BvbnNvci1uYW1lIHtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uc3BvbnNvci1sb2dvcyB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zcG9uc29yLWxvZ29zIHVsIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAuNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMzMuMzMzMzMzMyU7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgICAgIC5zcG9uc29yLWxvZ29zIHVsIGxpIHtcbiAgICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgICAgbWF4LXdpZHRoOiAyNSU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyNSU7IH0gfVxuICAgIC5zcG9uc29yLWxvZ29zIHVsIGxpIGltZyB7XG4gICAgICB3aWR0aDogOTUlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTsgfVxuXG4jc2lkZWJhci1zcG9uc29ycyAub3dsLWl0ZW0gLnNwb25zb3ItaW1hZ2Uge1xuICBwYWRkaW5nLXRvcDogNjYuNjY2NjY2NjYlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgI3NpZGViYXItc3BvbnNvcnMgLm93bC1pdGVtIC5zcG9uc29yLWltYWdlIGltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4ubm90LWZvdW5kLWNvbnRhaW5lciB7XG4gIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5ub3QtZm91bmQtY29udGFpbmVyIC5ub3QtZm91bmQtaW5uZXIge1xuICAgIGZsZXg6IDE7IH1cblxuYXJ0aWNsZS5zaW5nbGUuY29tcGV0aXRpb25fZW50cnkud2l0aC1pbWFnZSB7XG4gIHBhZGRpbmctdG9wOiAxcmVtOyB9XG4gIGFydGljbGUuc2luZ2xlLmNvbXBldGl0aW9uX2VudHJ5LndpdGgtaW1hZ2UgPiAud3AtcG9zdC1pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMTBweCBzb2xpZCAjZmVmZWZlO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4ICNDRUNFQ0U7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICBhcnRpY2xlLnNpbmdsZS5jb21wZXRpdGlvbl9lbnRyeS53aXRoLWltYWdlID4gLndwLXBvc3QtaW1hZ2Uge1xuICAgICAgICBtYXgtd2lkdGg6IDc1JTsgfSB9XG5cbmFydGljbGUuc2luZ2xlLmNvbXBldGl0aW9uX2VudHJ5ID4gaGVhZGVyIGgxIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5hcnRpY2xlLnNpbmdsZS5jb21wZXRpdGlvbl9lbnRyeSA+IGhlYWRlciAuYXJ0aWNsZS1hdXRob3Ige1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbmFydGljbGUuc2luZ2xlLmNvbXBldGl0aW9uX2VudHJ5ID4gZm9vdGVyIC5hcnRpY2xlLWNvbnRyaWJ1dG9ycyB1bC5hdXRob3ItYmlvcyBsaSB7XG4gIGZsZXg6IDE7IH1cblxuLmZuX2NhdGVnb3J5LW1pbGl0YXJ5IGE6bm90KC5idXR0b24pIHtcbiAgY29sb3I6ICM0OTUyMzU7IH1cbiAgLmZuX2NhdGVnb3J5LW1pbGl0YXJ5IGE6bm90KC5idXR0b24pLnB1Yi1saW5rIHNwYW4sIC5mbl9jYXRlZ29yeS1taWxpdGFyeSBhOm5vdCguYnV0dG9uKS5wdWItbGluazpob3ZlciB7XG4gICAgY29sb3I6ICM0OTUyMzU7IH1cblxuLmZuX2NhdGVnb3J5LW1pbGl0YXJ5IC5hcnRpY2xlLWhlYWRlcjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDk1MjM1ICFpbXBvcnRhbnQ7IH1cblxuLmZuX2NhdGVnb3J5LW1pbGl0YXJ5IC5hcnRpY2xlLXRpdGxlIGE6aG92ZXIge1xuICBjb2xvcjogIzQ5NTIzNSAhaW1wb3J0YW50OyB9XG5cbi5mbl9jYXRlZ29yeS1taWxpdGFyeSAuYXJ0aWNsZS1jYXRlZ29yeSB7XG4gIGNvbG9yOiAjNDk1MjM1OyB9XG4gIC5mbl9jYXRlZ29yeS1taWxpdGFyeSAuYXJ0aWNsZS1jYXRlZ29yeSAuY2F0ZWdvcnktdGl0bGUge1xuICAgIGNvbG9yOiAjNDk1MjM1O1xuICAgIGJvcmRlci1jb2xvcjogIzQ5NTIzNTsgfVxuICAgIC5mbl9jYXRlZ29yeS1taWxpdGFyeSAuYXJ0aWNsZS1jYXRlZ29yeSAuY2F0ZWdvcnktdGl0bGU6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ5NTIzNTsgfVxuICAuZm5fY2F0ZWdvcnktbWlsaXRhcnkgLmFydGljbGUtY2F0ZWdvcnk6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDk1MjM1OyB9XG5cbi5mbl9jYXRlZ29yeS1taWxpdGFyeS5yZWxhdGVkLWFydGljbGUgLmFydGljbGUtY2F0ZWdvcnkgc3BhbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM0OTUyMzU7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5mbl9jYXRlZ29yeS1taWxpdGFyeSAucHVibGljYXRpb24tdGl0bGUgYSB7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5mbl9jYXRlZ29yeS1taWxpdGFyeSAucHVibGljYXRpb24tdGl0bGUgYSBzcGFuIHtcbiAgICBjb2xvcjogIzQ5NTIzNTsgfVxuICAuZm5fY2F0ZWdvcnktbWlsaXRhcnkgLnB1YmxpY2F0aW9uLXRpdGxlIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjNDk1MjM1OyB9XG5cbi5mbl9jYXRlZ29yeS1uYXRvIGE6bm90KC5idXR0b24pIHtcbiAgY29sb3I6ICMwNzc0Q0I7IH1cbiAgLmZuX2NhdGVnb3J5LW5hdG8gYTpub3QoLmJ1dHRvbikucHViLWxpbmsgc3BhbiwgLmZuX2NhdGVnb3J5LW5hdG8gYTpub3QoLmJ1dHRvbikucHViLWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiAjMDc3NENCOyB9XG5cbi5mbl9jYXRlZ29yeS1uYXRvIC5hcnRpY2xlLWhlYWRlcjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDc3NENCICFpbXBvcnRhbnQ7IH1cblxuLmZuX2NhdGVnb3J5LW5hdG8gLmFydGljbGUtdGl0bGUgYTpob3ZlciB7XG4gIGNvbG9yOiAjMDc3NENCICFpbXBvcnRhbnQ7IH1cblxuLmZuX2NhdGVnb3J5LW5hdG8gLmFydGljbGUtY2F0ZWdvcnkge1xuICBjb2xvcjogIzA3NzRDQjsgfVxuICAuZm5fY2F0ZWdvcnktbmF0byAuYXJ0aWNsZS1jYXRlZ29yeSAuY2F0ZWdvcnktdGl0bGUge1xuICAgIGNvbG9yOiAjMDc3NENCO1xuICAgIGJvcmRlci1jb2xvcjogIzA3NzRDQjsgfVxuICAgIC5mbl9jYXRlZ29yeS1uYXRvIC5hcnRpY2xlLWNhdGVnb3J5IC5jYXRlZ29yeS10aXRsZTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDc3NENCOyB9XG4gIC5mbl9jYXRlZ29yeS1uYXRvIC5hcnRpY2xlLWNhdGVnb3J5OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA3NzRDQjsgfVxuXG4uZm5fY2F0ZWdvcnktbmF0by5yZWxhdGVkLWFydGljbGUgLmFydGljbGUtY2F0ZWdvcnkgc3BhbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwNzc0Q0I7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5mbl9jYXRlZ29yeS1uYXRvIC5wdWJsaWNhdGlvbi10aXRsZSBhIHtcbiAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmZuX2NhdGVnb3J5LW5hdG8gLnB1YmxpY2F0aW9uLXRpdGxlIGEgc3BhbiB7XG4gICAgY29sb3I6ICMwNzc0Q0I7IH1cbiAgLmZuX2NhdGVnb3J5LW5hdG8gLnB1YmxpY2F0aW9uLXRpdGxlIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjMDc3NENCOyB9XG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi4wLjZcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIFNhc3MgdXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyBHbG9iYWwgdmFyaWFibGVzIGFuZCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleC12aWRlbyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC12aWRlbztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xufVxuIiwiLy8gQGluY2x1ZGUgZm9udC1mYWNlKFwiZnV0dXJlbmF0by1pY29uc1wiLCBcImFzc2V0cy9mb250cy9mdXR1cmVuYXRvLWljb25zL2ZvbnRzL2Z1dHVyZW5hdG8taWNvbnNcIik7XG5cbkBpbXBvcnQgXCIuLi9mb250cy9mdXR1cmVuYXRvLWljb25zL3N0eWxlcy5jc3NcIjtcbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGUsIFNwYWNlQWZ0ZXJDb21tYSwgU2luZ2xlTGluZVBlclByb3BlcnR5XG5cbiVtdWktZGVmYXVsdHMge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IG1hcC1nZXQoJG1vdGlvbi11aS1lYXNpbmdzLCBkZWZhdWx0KTtcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLXRyYW5zaXRpb25zIHtcbiAgLy8gU2xpZGVcbiAgLnNsaWRlLWluLWRvd24gICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBkb3duKTsgfVxuICAuc2xpZGUtaW4tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHJpZ2h0KTsgfVxuICAuc2xpZGUtaW4tdXAgICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGJvdHRvbSk7IH1cbiAgLnNsaWRlLWluLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBsZWZ0KTsgfVxuICAuc2xpZGUtb3V0LWRvd24gICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGJvdHRvbSk7IH1cbiAgLnNsaWRlLW91dC1yaWdodCAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCByaWdodCk7IH1cbiAgLnNsaWRlLW91dC11cCAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCB0b3ApOyB9XG4gIC5zbGlkZS1vdXQtbGVmdCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgbGVmdCk7IH1cblxuICAvLyBGYWRlXG4gIC5mYWRlLWluICB7IEBpbmNsdWRlIG11aS1mYWRlKGluLCAgMCwgMSk7IH1cbiAgLmZhZGUtb3V0IHsgQGluY2x1ZGUgbXVpLWZhZGUob3V0LCAxLCAwKTsgfVxuXG4gIC8vIEhpbmdlXG4gIC5oaW5nZS1pbi1mcm9tLXRvcCAgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1yaWdodCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1ib3R0b20gICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGJvdHRvbSk7IH1cbiAgLmhpbmdlLWluLWZyb20tbGVmdCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBsZWZ0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteCAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteSAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCwgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tdG9wICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWJvdHRvbSAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBib3R0b20pOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgbGVmdCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQsIGNlbnRlcik7IH1cblxuICAvLyBTY2FsZVxuICAuc2NhbGUtaW4tdXAgICAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDAuNSwgMSk7IH1cbiAgLnNjYWxlLWluLWRvd24gIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAxLjUsIDEpOyB9XG4gIC5zY2FsZS1vdXQtdXAgICB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMS41KTsgfVxuICAuc2NhbGUtb3V0LWRvd24geyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDAuNSk7IH1cblxuICAvLyBTcGluXG4gIC5zcGluLWluICAgICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY3cpOyB9XG4gIC5zcGluLW91dCAgICB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY3cpOyB9XG4gIC5zcGluLWluLWNjdyAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGNjdyk7IH1cbiAgLnNwaW4tb3V0LWNjdyB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY2N3KTsgfVxuXG4gIC8vIFRyYW5zaXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgdHJhbnNpdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQW5pbWF0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktYW5pbWF0aW9ucyB7XG4gIC5zaGFrZSAgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc2hha2UpOyB9XG4gIC5zcGluLWN3ICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3Bpbik7IH1cbiAgLnNwaW4tY2N3IHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKGNjdykpOyB9XG4gIC53aWdnbGUgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24od2lnZ2xlKTsgfVxuXG4gIC8vIEFuaW1hdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbiAgLmluZmluaXRlIHsgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgYW5pbWF0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEZvcm1hdCBmb3IgQ1NTIGNsYXNzZXMgY3JlYXRlZCB3aXRoIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gYXBwZW5kIFt0cnVlXSAtIERlZmluZXMgaWYgc2VsZWN0b3JzIGFyZSBjaGFpbmVkIHRvIHRoZSBzZWxlY3RvciAoYC5jbGFzcy5lbnRlcmApLCBvciBhcHBlbmRlZCBhcyBhIG5ldyBjbGFzcyAoYC5jbGFzcy1lbnRlcmApLlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJ211aS0nXSAtIFByZWZpeCB0byBhZGQgYmVmb3JlIHRoZSBzdGF0ZSBvZiBhIGNsYXNzLiBFbnRlciBhbiBlbXB0eSBzdHJpbmcgdG8gdXNlIG5vIHByZWZpeC5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWyctYWN0aXZlJ10gLSBTdWZmaXggdG8gYWRkIHRvIHRoZSBhY3RpdmUgc3RhdGUgY2xhc3MuXG4kbW90aW9uLXVpLWNsYXNzZXM6IChcbiAgY2hhaW46IHRydWUsXG4gIHByZWZpeDogJ211aS0nLFxuICBhY3RpdmU6ICctYWN0aXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBTdGF0ZSBuYW1lcyB0byByZWZlcmVuY2Ugd2hlbiB3cml0aW5nIG1vdGlvbiBjbGFzc2VzLiBUbyB1c2UgbXVsdGlwbGUgY2xhc3MgbmFtZXMgZm9yIG9uZSBzdGF0ZSwgZW50ZXIgYSBsaXN0IG9mIHN0cmluZ3MgaW5zdGVhZCBvZiBvbmUgc3RyaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zdGF0ZXM6IChcbiAgaW46ICdlbnRlcicsXG4gIG91dDogJ2xlYXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNwZWVkIHRoYXQgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMgcGxheSBhdCwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBzcGVlZC5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3BlZWRzOiAoXG4gIGRlZmF1bHQ6IDUwMG1zLFxuICBzbG93OiA3NTBtcyxcbiAgZmFzdDogMjUwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkZWxheSB0byBhZGQgYmVmb3JlIG1vdGlvbiwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBkZWxheS5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZGVsYXlzOiAoXG4gIGRlZmF1bHQ6IDAsXG4gIHNob3J0OiAzMDBtcyxcbiAgbG9uZzogNzAwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBlYXNpbmcgZm9yIHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGVhc2luZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZWFzaW5nczogKFxuICBkZWZhdWx0OiBsaW5lYXIsXG4gIGxpbmVhcjogbGluZWFyLFxuICBlYXNlOiBlYXNlLFxuICBlYXNlLWluOiBlYXNlLWluLFxuICBlYXNlLW91dDogZWFzZS1vdXQsXG4gIGVhc2UtaW4tb3V0OiBlYXNlLWluLW91dCxcbiAgYm91bmNlLWluOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSksXG4gIGJvdW5jZS1vdXQ6IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSksXG4gIGJvdW5jZS1pbi1vdXQ6IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBNaXNjZWxsYW5lb3VzIHNldHRpbmdzIHJlbGF0ZWQgdG8gTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbZmFsc2VdIC0gRGVmaW5lcyBpZiBzbGlkZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIGhpbmdlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc2NhbGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzcGluIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4kbW90aW9uLXVpLXNldHRpbmdzOiAoXG4gIHNsaWRlLWFuZC1mYWRlOiBmYWxzZSxcbiAgaGluZ2UtYW5kLWZhZGU6IHRydWUsXG4gIHNjYWxlLWFuZC1mYWRlOiB0cnVlLFxuICBzcGluLWFuZC1mYWRlOiB0cnVlLFxuICBhY3RpdmF0ZS1xdWV1ZS1jbGFzczogJ2lzLWFuaW1hdGluZycsXG4pICFkZWZhdWx0O1xuIiwiLm1hcGJveGdsLW1hcCB7XG4gICAgZm9udDogMTJweC8yMHB4ICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xufVxuXG4ubWFwYm94Z2wtY2FudmFzLWNvbnRhaW5lci5tYXBib3hnbC1pbnRlcmFjdGl2ZSxcbi5tYXBib3hnbC1jdHJsLW5hdi1jb21wYXNzIHtcbiAgICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcbiAgICBjdXJzb3I6IC1tb3otZ3JhYjtcbiAgICBjdXJzb3I6IGdyYWI7XG59XG4ubWFwYm94Z2wtY2FudmFzLWNvbnRhaW5lci5tYXBib3hnbC1pbnRlcmFjdGl2ZTphY3RpdmUsXG4ubWFwYm94Z2wtY3RybC1uYXYtY29tcGFzczphY3RpdmUge1xuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZztcbiAgICBjdXJzb3I6IC1tb3otZ3JhYmJpbmc7XG4gICAgY3Vyc29yOiBncmFiYmluZztcbn1cblxuLm1hcGJveGdsLWN0cmwtdG9wLWxlZnQsXG4ubWFwYm94Z2wtY3RybC10b3AtcmlnaHQsXG4ubWFwYm94Z2wtY3RybC1ib3R0b20tbGVmdCxcbi5tYXBib3hnbC1jdHJsLWJvdHRvbS1yaWdodCAgeyBwb3NpdGlvbjphYnNvbHV0ZTsgfVxuLm1hcGJveGdsLWN0cmwtdG9wLWxlZnQgICAgICB7IHRvcDowOyBsZWZ0OjA7IH1cbi5tYXBib3hnbC1jdHJsLXRvcC1yaWdodCAgICAgeyB0b3A6MDsgcmlnaHQ6MDsgfVxuLm1hcGJveGdsLWN0cmwtYm90dG9tLWxlZnQgICB7IGJvdHRvbTowOyBsZWZ0OjA7IH1cbi5tYXBib3hnbC1jdHJsLWJvdHRvbS1yaWdodCAgeyByaWdodDowOyBib3R0b206MDsgfVxuXG4ubWFwYm94Z2wtY3RybCB7IGNsZWFyOmJvdGg7IH1cbi5tYXBib3hnbC1jdHJsLXRvcC1sZWZ0IC5tYXBib3hnbC1jdHJsIHsgbWFyZ2luOjEwcHggMCAwIDEwcHg7IGZsb2F0OmxlZnQ7IH1cbi5tYXBib3hnbC1jdHJsLXRvcC1yaWdodCAubWFwYm94Z2wtY3RybHsgbWFyZ2luOjEwcHggMTBweCAwIDA7IGZsb2F0OnJpZ2h0OyB9XG4ubWFwYm94Z2wtY3RybC1ib3R0b20tbGVmdCAubWFwYm94Z2wtY3RybCB7IG1hcmdpbjowIDAgMTBweCAxMHB4OyBmbG9hdDpsZWZ0OyB9XG4ubWFwYm94Z2wtY3RybC1ib3R0b20tcmlnaHQgLm1hcGJveGdsLWN0cmwgeyBtYXJnaW46MCAxMHB4IDEwcHggMDsgZmxvYXQ6cmlnaHQ7IH1cblxuLm1hcGJveGdsLWN0cmwtZ3JvdXAge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggMnB4IHJnYmEoMCwwLDAsMC4xKTtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMnB4IHJnYmEoMCwwLDAsMC4xKTtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggcmdiYSgwLDAsMCwwLjEpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbn1cbi5tYXBib3hnbC1jdHJsLWdyb3VwID4gYnV0dG9uIHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuLyogaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQwNTYyICovXG4ubWFwYm94Z2wtY3RybCA+IGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG4ubWFwYm94Z2wtY3RybCA+IGJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xufVxuLm1hcGJveGdsLWN0cmwgPiBidXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC4wNSk7XG59XG4ubWFwYm94Z2wtY3RybC1pY29uLFxuLm1hcGJveGdsLWN0cmwtaWNvbiA+IGRpdi5hcnJvdyB7XG4gICAgc3BlYWs6IG5vbmU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cbi5tYXBib3hnbC1jdHJsLWljb24ubWFwYm94Z2wtY3RybC16b29tLW91dCB7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnJTIwdmlld0JveCUzRCUyNzAlMjAwJTIwMjAlMjAyMCUyNyUyMHhtbG5zJTNEJTI3aHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTI3JTNFJTBBJTIwJTIwJTNDcGF0aCUyMHN0eWxlJTNEJTI3ZmlsbCUzQSUyMzMzMzMzMyUzQiUyNyUyMGQlM0QlMjdtJTIwNyUyQzklMjBjJTIwLTAuNTU0JTJDMCUyMC0xJTJDMC40NDYlMjAtMSUyQzElMjAwJTJDMC41NTQlMjAwLjQ0NiUyQzElMjAxJTJDMSUyMGwlMjA2JTJDMCUyMGMlMjAwLjU1NCUyQzAlMjAxJTJDLTAuNDQ2JTIwMSUyQy0xJTIwMCUyQy0wLjU1NCUyMC0wLjQ0NiUyQy0xJTIwLTElMkMtMSUyMHolMjclMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIik7XG59XG4ubWFwYm94Z2wtY3RybC1pY29uLm1hcGJveGdsLWN0cmwtem9vbS1pbiAge1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHZpZXdCb3glM0QlMjcwJTIwMCUyMDIwJTIwMjAlMjclMjB4bWxucyUzRCUyN2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyNyUzRSUwQSUyMCUyMCUzQ3BhdGglMjBzdHlsZSUzRCUyN2ZpbGwlM0ElMjMzMzMzMzMlM0IlMjclMjBkJTNEJTI3TSUyMDEwJTIwNiUyMEMlMjA5LjQ0NiUyMDYlMjA5JTIwNi40NDU5OTA0JTIwOSUyMDclMjBMJTIwOSUyMDklMjBMJTIwNyUyMDklMjBDJTIwNi40NDYlMjA5JTIwNiUyMDkuNDQ2JTIwNiUyMDEwJTIwQyUyMDYlMjAxMC41NTQlMjA2LjQ0NiUyMDExJTIwNyUyMDExJTIwTCUyMDklMjAxMSUyMEwlMjA5JTIwMTMlMjBDJTIwOSUyMDEzLjU1NDAxJTIwOS40NDYlMjAxNCUyMDEwJTIwMTQlMjBDJTIwMTAuNTU0JTIwMTQlMjAxMSUyMDEzLjU1NDAxJTIwMTElMjAxMyUyMEwlMjAxMSUyMDExJTIwTCUyMDEzJTIwMTElMjBDJTIwMTMuNTU0JTIwMTElMjAxNCUyMDEwLjU1NCUyMDE0JTIwMTAlMjBDJTIwMTQlMjA5LjQ0NiUyMDEzLjU1NCUyMDklMjAxMyUyMDklMjBMJTIwMTElMjA5JTIwTCUyMDExJTIwNyUyMEMlMjAxMSUyMDYuNDQ1OTkwNCUyMDEwLjU1NCUyMDYlMjAxMCUyMDYlMjB6JTI3JTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIpO1xufVxuLm1hcGJveGdsLWN0cmwtaWNvbi5tYXBib3hnbC1jdHJsLWdlb2xvY2F0ZSAge1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyUyMHZpZXdCb3glM0QlMjcwJTIwMCUyMDIwJTIwMjAlMjclMjB4bWxucyUzRCUyN2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyNyUzRSUzQ3BhdGglMjBzdHlsZSUzRCUyN2ZpbGwlM0ElMjMzMzMzMzMlM0IlMjclMjBkJTNEJTI3TTEzJTJDNyUyMEwxMC41JTJDMTEuNzUlMjBMMTAuMjUlMkMxMCUyMHolMjBNMTMuODg4JTJDNi4xMTIlMjBDMTMuNjE1JTJDNS44NCUyMDEzLjM4MiUyQzYuMDc2JTIwMTIuNSUyQzYuNSUyMEMxMC4xNCUyQzcuNjM0JTIwNiUyQzEwJTIwNiUyQzEwJTIwTDkuNSUyQzEwLjUlMjBMMTAlMkMxNCUyMEMxMCUyQzE0JTIwMTIuMzY2JTJDOS44NiUyMDEzLjUlMkM3LjUlMjBDMTMuOTI0JTJDNi42MTclMjAxNC4xNiUyQzYuMzg1JTIwMTMuODg4JTJDNi4xMTIlMjclMkYlM0UlM0MlMkZzdmclM0VcIik7XG59XG5cbi5tYXBib3hnbC1jdHJsLWljb24ubWFwYm94Z2wtY3RybC1jb21wYXNzID4gZGl2LmFycm93IHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luOiA1cHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmclMjB4bWxucyUzRCUyN2h0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyNyUyMHZpZXdCb3glM0QlMjcwJTIwMCUyMDIwJTIwMjAlMjclM0UlMEElMDklM0Nwb2x5Z29uJTIwZmlsbCUzRCUyNyUyMzMzMzMzMyUyNyUyMHBvaW50cyUzRCUyNzYlMkM5JTIwMTAlMkMxJTIwMTQlMkM5JTI3JTJGJTNFJTBBJTA5JTNDcG9seWdvbiUyMGZpbGwlM0QlMjclMjNDQ0NDQ0MlMjclMjBwb2ludHMlM0QlMjc2JTJDMTElMjAxMCUyQzE5JTIwMTQlMkMxMSUyMCUyNyUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4ubWFwYm94Z2wtY3RybC5tYXBib3hnbC1jdHJsLWF0dHJpYiB7XG4gICAgcGFkZGluZzogMCA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjUpO1xuICAgIG1hcmdpbjogMDtcbn1cbi5tYXBib3hnbC1jdHJsLWF0dHJpYiBhIHtcbiAgICBjb2xvcjogcmdiYSgwLDAsMCwwLjc1KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4ubWFwYm94Z2wtY3RybC1hdHRyaWIgYTpob3ZlciB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4ubWFwYm94Z2wtY3RybC1hdHRyaWIgLm1hcGJveC1pbXByb3ZlLW1hcCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLWxlZnQ6IDJweDtcbn1cblxuLm1hcGJveGdsLXBvcHVwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5tYXBib3hnbC1wb3B1cC1hbmNob3ItdG9wLFxuLm1hcGJveGdsLXBvcHVwLWFuY2hvci10b3AtbGVmdCxcbi5tYXBib3hnbC1wb3B1cC1hbmNob3ItdG9wLXJpZ2h0IHtcbiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5tYXBib3hnbC1wb3B1cC1hbmNob3ItYm90dG9tLFxuLm1hcGJveGdsLXBvcHVwLWFuY2hvci1ib3R0b20tbGVmdCxcbi5tYXBib3hnbC1wb3B1cC1hbmNob3ItYm90dG9tLXJpZ2h0IHtcbiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG59XG4ubWFwYm94Z2wtcG9wdXAtYW5jaG9yLWxlZnQge1xuICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuLm1hcGJveGdsLXBvcHVwLWFuY2hvci1yaWdodCB7XG4gICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xufVxuLm1hcGJveGdsLXBvcHVwLXRpcCB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB6LWluZGV4OiAxO1xufVxuLm1hcGJveGdsLXBvcHVwLWFuY2hvci10b3AgLm1hcGJveGdsLXBvcHVwLXRpcCB7XG4gICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcbn1cbi5tYXBib3hnbC1wb3B1cC1hbmNob3ItdG9wLWxlZnQgLm1hcGJveGdsLXBvcHVwLXRpcCB7XG4gICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmO1xufVxuLm1hcGJveGdsLXBvcHVwLWFuY2hvci10b3AtcmlnaHQgLm1hcGJveGdsLXBvcHVwLXRpcCB7XG4gICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmO1xufVxuLm1hcGJveGdsLXBvcHVwLWFuY2hvci1ib3R0b20gLm1hcGJveGdsLXBvcHVwLXRpcCB7XG4gICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZjtcbn1cbi5tYXBib3hnbC1wb3B1cC1hbmNob3ItYm90dG9tLWxlZnQgLm1hcGJveGdsLXBvcHVwLXRpcCB7XG4gICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZmO1xufVxuLm1hcGJveGdsLXBvcHVwLWFuY2hvci1ib3R0b20tcmlnaHQgLm1hcGJveGdsLXBvcHVwLXRpcCB7XG4gICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZmO1xufVxuLm1hcGJveGdsLXBvcHVwLWFuY2hvci1sZWZ0IC5tYXBib3hnbC1wb3B1cC10aXAge1xuICAgIC13ZWJraXQtYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICNmZmY7XG59XG4ubWFwYm94Z2wtcG9wdXAtYW5jaG9yLXJpZ2h0IC5tYXBib3hnbC1wb3B1cC10aXAge1xuICAgIC13ZWJraXQtYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICNmZmY7XG59XG4ubWFwYm94Z2wtcG9wdXAtY2xvc2UtYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDNweCAwIDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XG59XG4ubWFwYm94Z2wtcG9wdXAtY2xvc2UtYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuMDUpO1xufVxuLm1hcGJveGdsLXBvcHVwLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLDAsMCwwLjEwKTtcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTVweDtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cbi5tYXBib3hnbC1wb3B1cC1hbmNob3ItdG9wLWxlZnQgLm1hcGJveGdsLXBvcHVwLWNvbnRlbnQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG59XG4ubWFwYm94Z2wtcG9wdXAtYW5jaG9yLXRvcC1yaWdodCAubWFwYm94Z2wtcG9wdXAtY29udGVudCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG59XG4ubWFwYm94Z2wtcG9wdXAtYW5jaG9yLWJvdHRvbS1sZWZ0IC5tYXBib3hnbC1wb3B1cC1jb250ZW50IHtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuLm1hcGJveGdsLXBvcHVwLWFuY2hvci1ib3R0b20tcmlnaHQgLm1hcGJveGdsLXBvcHVwLWNvbnRlbnQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xufVxuXG4ubWFwYm94Z2wtY3Jvc3NoYWlyLFxuLm1hcGJveGdsLWNyb3NzaGFpciAubWFwYm94Z2wtaW50ZXJhY3RpdmUsXG4ubWFwYm94Z2wtY3Jvc3NoYWlyIC5tYXBib3hnbC1pbnRlcmFjdGl2ZTphY3RpdmUge1xuICAgIGN1cnNvcjogY3Jvc3NoYWlyO1xufVxuLm1hcGJveGdsLWJveHpvb20ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDJweCBkb3R0ZWQgIzIwMjAyMDtcbiAgICBvcGFjaXR5OiAwLjU7XG59XG5AbWVkaWEgcHJpbnQge1xuICAgIC5tYXBib3gtaW1wcm92ZS1tYXAge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgfVxufVxuIiwiLmxlYWZsZXQtY29udGFpbmVye2JhY2tncm91bmQ6I2ZmZjtmb250OjEycHgvMjBweCAnSGVsdmV0aWNhIE5ldWUnLEFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmO2NvbG9yOiM0MDQwNDA7Y29sb3I6cmdiYSgwLDAsMCwuNzUpO291dGxpbmU6MDtvdmVyZmxvdzpoaWRkZW47LW1zLXRvdWNoLWFjdGlvbjpub25lfS5sZWFmbGV0LWNvbnRhaW5lciAqLC5sZWFmbGV0LWNvbnRhaW5lciA6YWZ0ZXIsLmxlYWZsZXQtY29udGFpbmVyIDpiZWZvcmV7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS5sZWFmbGV0LWNvbnRhaW5lciBoMSwubGVhZmxldC1jb250YWluZXIgaDIsLmxlYWZsZXQtY29udGFpbmVyIGgzLC5sZWFmbGV0LWNvbnRhaW5lciBoNCwubGVhZmxldC1jb250YWluZXIgaDUsLmxlYWZsZXQtY29udGFpbmVyIGg2LC5sZWFmbGV0LWNvbnRhaW5lciBwe2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjIwcHg7bWFyZ2luOjAgMCAxMHB4fS5sZWFmbGV0LWNvbnRhaW5lciAubWFya2VyLWRlc2NyaXB0aW9uIGltZ3ttYXJnaW4tYm90dG9tOjEwcHh9LmxlYWZsZXQtY29udGFpbmVyIGF7Y29sb3I6IzM4ODdCRTtmb250LXdlaWdodDo0MDA7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmxlYWZsZXQtY29udGFpbmVyIGE6aG92ZXIsLmxlYWZsZXQtY29udGFpbmVyLmRhcmsgYXtjb2xvcjojNjNiNmU1fS5sZWFmbGV0LWNvbnRhaW5lci5kYXJrIGE6aG92ZXJ7Y29sb3I6IzhmY2FlY30ubGVhZmxldC1jb250YWluZXIgLm1hcGJveC1idXR0b24sLmxlYWZsZXQtY29udGFpbmVyLmRhcmsgLm1hcGJveC1idXR0b257YmFja2dyb3VuZC1jb2xvcjojMzg4N2JlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2hlaWdodDo0MHB4O2xpbmUtaGVpZ2h0OjQwcHg7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y29sb3I6I2ZmZjtmb250LXNpemU6MTJweDt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc30ubGVhZmxldC1jb250YWluZXIgLm1hcGJveC1idXR0b246aG92ZXIsLmxlYWZsZXQtY29udGFpbmVyLmRhcmsgLm1hcGJveC1idXR0b246aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzYmIyZDB9LmxlYWZsZXQtaW1hZ2UtbGF5ZXIsLmxlYWZsZXQtbGF5ZXIsLmxlYWZsZXQtbWFwLXBhbmUsLmxlYWZsZXQtbWFya2VyLWljb24sLmxlYWZsZXQtbWFya2VyLXBhbmUsLmxlYWZsZXQtbWFya2VyLXNoYWRvdywubGVhZmxldC1vdmVybGF5LXBhbmUsLmxlYWZsZXQtb3ZlcmxheS1wYW5lIHN2ZywubGVhZmxldC1wb3B1cC1wYW5lLC5sZWFmbGV0LXNoYWRvdy1wYW5lLC5sZWFmbGV0LXRpbGUsLmxlYWZsZXQtdGlsZS1jb250YWluZXIsLmxlYWZsZXQtdGlsZS1wYW5lLC5sZWFmbGV0LXpvb20tYm94e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MH0ubGVhZmxldC1tYXJrZXItaWNvbiwubGVhZmxldC1tYXJrZXItc2hhZG93LC5sZWFmbGV0LXRpbGV7LXdlYmtpdC11c2VyLWRyYWc6bm9uZTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9LmxlYWZsZXQtbWFya2VyLWljb24sLmxlYWZsZXQtbWFya2VyLXNoYWRvd3tkaXNwbGF5OmJsb2NrfS5sZWFmbGV0LXRpbGV7ZmlsdGVyOmluaGVyaXQ7dmlzaWJpbGl0eTpoaWRkZW59LmxlYWZsZXQtdGlsZS1sb2FkZWR7dmlzaWJpbGl0eTppbmhlcml0fS5sZWFmbGV0LXpvb20tYm94e3dpZHRoOjA7aGVpZ2h0OjB9LmxlYWZsZXQtdGlsZS1wYW5le3otaW5kZXg6Mn0ubGVhZmxldC1vYmplY3RzLXBhbmV7ei1pbmRleDozfS5sZWFmbGV0LW92ZXJsYXktcGFuZXt6LWluZGV4OjR9LmxlYWZsZXQtc2hhZG93LXBhbmV7ei1pbmRleDo1fS5sZWFmbGV0LW1hcmtlci1wYW5le3otaW5kZXg6Nn0ubGVhZmxldC1wb3B1cC1wYW5le3otaW5kZXg6N30ubGVhZmxldC1jb250cm9se3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6Nztwb2ludGVyLWV2ZW50czphdXRvO2Zsb2F0OmxlZnQ7Y2xlYXI6Ym90aH0ubGVhZmxldC1yaWdodCAubGVhZmxldC1jb250cm9se2Zsb2F0OnJpZ2h0fS5sZWFmbGV0LXRvcCAubGVhZmxldC1jb250cm9se21hcmdpbi10b3A6MTBweH0ubGVhZmxldC1ib3R0b20gLmxlYWZsZXQtY29udHJvbHttYXJnaW4tYm90dG9tOjEwcHh9LmxlYWZsZXQtbGVmdCAubGVhZmxldC1jb250cm9se21hcmdpbi1sZWZ0OjEwcHh9LmxlYWZsZXQtcmlnaHQgLmxlYWZsZXQtY29udHJvbHttYXJnaW4tcmlnaHQ6MTBweH0ubGVhZmxldC1ib3R0b20sLmxlYWZsZXQtdG9we3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMDtwb2ludGVyLWV2ZW50czpub25lfS5sZWFmbGV0LXRvcHt0b3A6MH0ubGVhZmxldC1yaWdodHtyaWdodDowfS5sZWFmbGV0LWJvdHRvbXtib3R0b206MH0ubGVhZmxldC1sZWZ0e2xlZnQ6MH0ubGVhZmxldC1mYWRlLWFuaW0gLmxlYWZsZXQtcG9wdXAsLmxlYWZsZXQtZmFkZS1hbmltIC5sZWFmbGV0LXRpbGV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBsaW5lYXI7LW1vei10cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGxpbmVhcjstby10cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGxpbmVhcjt0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGxpbmVhcn0ubGVhZmxldC1mYWRlLWFuaW0gLmxlYWZsZXQtbWFwLXBhbmUgLmxlYWZsZXQtcG9wdXAsLmxlYWZsZXQtZmFkZS1hbmltIC5sZWFmbGV0LXRpbGUtbG9hZGVke29wYWNpdHk6MX0ubGVhZmxldC16b29tLWFuaW0gLmxlYWZsZXQtem9vbS1hbmltYXRlZHstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yNSwxKTstbW96LXRyYW5zaXRpb246LW1vei10cmFuc2Zvcm0gLjI1cyBjdWJpYy1iZXppZXIoMCwwLC4yNSwxKTstby10cmFuc2l0aW9uOi1vLXRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllcigwLDAsLjI1LDEpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4yNXMgY3ViaWMtYmV6aWVyKDAsMCwuMjUsMSl9LmxlYWZsZXQtcGFuLWFuaW0gLmxlYWZsZXQtdGlsZSwubGVhZmxldC10b3VjaGluZyAubGVhZmxldC16b29tLWFuaW1hdGVkLC5sZWFmbGV0LXpvb20tYW5pbSAubGVhZmxldC10aWxley13ZWJraXQtdHJhbnNpdGlvbjpub25lOy1tb3otdHJhbnNpdGlvbjpub25lOy1vLXRyYW5zaXRpb246bm9uZTt0cmFuc2l0aW9uOm5vbmV9LmxlYWZsZXQtem9vbS1hbmltIC5sZWFmbGV0LXpvb20taGlkZXt2aXNpYmlsaXR5OmhpZGRlbn0ubGVhZmxldC1jb250YWluZXJ7Y3Vyc29yOi13ZWJraXQtZ3JhYjtjdXJzb3I6LW1vei1ncmFifS5sZWFmbGV0LWNvbnRhaW5lci5sZWFmbGV0LWNsaWNrYWJsZSwubGVhZmxldC1jb250YWluZXIubWFwLWNsaWNrYWJsZSwubGVhZmxldC1tYXJrZXItaWNvbiwubGVhZmxldC1vdmVybGF5LXBhbmUgcGF0aHtjdXJzb3I6cG9pbnRlcn0ubGVhZmxldC1jb250cm9sLC5sZWFmbGV0LXBvcHVwLXBhbmV7Y3Vyc29yOmF1dG99LmxlYWZsZXQtZHJhZ2dpbmcsLmxlYWZsZXQtZHJhZ2dpbmcgLmxlYWZsZXQtY2xpY2thYmxlLC5sZWFmbGV0LWRyYWdnaW5nIC5sZWFmbGV0LWNvbnRhaW5lciwubGVhZmxldC1kcmFnZ2luZyAubWFwLWNsaWNrYWJsZXtjdXJzb3I6bW92ZTtjdXJzb3I6LXdlYmtpdC1ncmFiYmluZztjdXJzb3I6LW1vei1ncmFiYmluZ30ubGVhZmxldC16b29tLWJveHtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOjJweCBkb3R0ZWQgIzIwMjAyMDtvcGFjaXR5Oi41fS5sZWFmbGV0LWJhciwubGVhZmxldC1jb250cm9sLWxheWVyc3tiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjOTk5O2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC40KTtib3JkZXItcmFkaXVzOjNweDtib3gtc2hhZG93Om5vbmV9LmxlYWZsZXQtYmFyIGEsLmxlYWZsZXQtYmFyIGE6aG92ZXJ7Y29sb3I6IzQwNDA0MDtjb2xvcjpyZ2JhKDAsMCwwLC43NSk7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZDtib3JkZXItYm90dG9tLWNvbG9yOnJnYmEoMCwwLDAsLjEpfS5sZWFmbGV0LWJhciBhOmFjdGl2ZSwubGVhZmxldC1iYXIgYTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmOGY4Zjg7Y3Vyc29yOnBvaW50ZXJ9LmxlYWZsZXQtYmFyIGE6aG92ZXI6Zmlyc3QtY2hpbGR7Ym9yZGVyLXJhZGl1czozcHggM3B4IDAgMH0ubGVhZmxldC1iYXIgYTpob3ZlcjpsYXN0LWNoaWxke2JvcmRlci1ib3R0b206MDtib3JkZXItcmFkaXVzOjAgMCAzcHggM3B4fS5sZWFmbGV0LWJhciBhOmhvdmVyOm9ubHktb2YtdHlwZXtib3JkZXItcmFkaXVzOjNweH0ubGVhZmxldC1iYXIgLmxlYWZsZXQtZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHQ7b3BhY2l0eTouNzV9LmxlYWZsZXQtY29udHJvbC16b29tLWluLC5sZWFmbGV0LWNvbnRyb2wtem9vbS1vdXR7ZGlzcGxheTpibG9jaztjb250ZW50OicnO3RleHQtaW5kZW50Oi05OTllbX0ubGVhZmxldC1jb250cm9sLWxheWVycyAubGVhZmxldC1jb250cm9sLWxheWVycy1saXN0LC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWV4cGFuZGVkIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXRvZ2dsZXtkaXNwbGF5Om5vbmV9LmxlYWZsZXQtY29udHJvbC1sYXllcnMtZXhwYW5kZWQgLmxlYWZsZXQtY29udHJvbC1sYXllcnMtbGlzdHtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLWV4cGFuZGVke2JhY2tncm91bmQ6I2ZmZjtwYWRkaW5nOjZweCAxMHB4IDZweCA2cHg7Y29sb3I6IzQwNDA0MDtjb2xvcjpyZ2JhKDAsMCwwLC43NSl9LmxlYWZsZXQtY29udHJvbC1sYXllcnMtc2VsZWN0b3J7bWFyZ2luLXRvcDoycHg7cG9zaXRpb246cmVsYXRpdmU7dG9wOjFweH0ubGVhZmxldC1jb250cm9sLWxheWVycyBsYWJlbHtkaXNwbGF5OmJsb2NrfS5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXNlcGFyYXRvcntoZWlnaHQ6MDtib3JkZXItdG9wOjFweCBzb2xpZCAjZGRkO2JvcmRlci10b3AtY29sb3I6cmdiYSgwLDAsMCwuMSk7bWFyZ2luOjVweCAtMTBweCA1cHggLTZweH0ubGVhZmxldC1jb250YWluZXIgLmxlYWZsZXQtY29udHJvbC1hdHRyaWJ1dGlvbntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjUpO21hcmdpbjowO2JveC1zaGFkb3c6bm9uZX0ubGVhZmxldC1jb250YWluZXIgLmxlYWZsZXQtY29udHJvbC1hdHRyaWJ1dGlvbiBhLC5sZWFmbGV0LWNvbnRhaW5lciAubWFwLWluZm8tY29udGFpbmVyIGF7Y29sb3I6IzQwNDA0MH0ubGVhZmxldC1jb250cm9sLWF0dHJpYnV0aW9uIGE6aG92ZXIsLm1hcC1pbmZvLWNvbnRhaW5lciBhOmhvdmVye2NvbG9yOmluaGVyaXQ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX0ubGVhZmxldC1jb250cm9sLWF0dHJpYnV0aW9uLC5sZWFmbGV0LWNvbnRyb2wtc2NhbGUtbGluZXtwYWRkaW5nOjAgNXB4fS5sZWFmbGV0LWxlZnQgLmxlYWZsZXQtY29udHJvbC1zY2FsZXttYXJnaW4tbGVmdDo1cHh9LmxlYWZsZXQtYm90dG9tIC5sZWFmbGV0LWNvbnRyb2wtc2NhbGV7bWFyZ2luLWJvdHRvbTo1cHh9LmxlYWZsZXQtY29udGFpbmVyIC5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24ubGVhZmxldC1jb21wYWN0LWF0dHJpYnV0aW9ue21hcmdpbjoxMHB4O2JhY2tncm91bmQ6I2ZmZjtib3JkZXItcmFkaXVzOjNweCAxM3B4IDEzcHggM3B4O3BhZGRpbmc6M3B4IDMxcHggM3B4IDNweDt2aXNpYmlsaXR5OmhpZGRlbn0ubGVhZmxldC1jb250cm9sLWF0dHJpYnV0aW9uLmxlYWZsZXQtY29tcGFjdC1hdHRyaWJ1dGlvbjpob3Zlcnt2aXNpYmlsaXR5OnZpc2libGV9LmxlYWZsZXQtY29udHJvbC1hdHRyaWJ1dGlvbi5sZWFmbGV0LWNvbXBhY3QtYXR0cmlidXRpb246YWZ0ZXJ7Y29udGVudDonJztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTc4cHg7Ym9yZGVyLXJhZGl1czo1MCU7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MjZweDtoZWlnaHQ6MjZweDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Ym90dG9tOjA7ei1pbmRleDoxO3Zpc2liaWxpdHk6dmlzaWJsZTtjdXJzb3I6cG9pbnRlcn0ubGVhZmxldC1jb250cm9sLWF0dHJpYnV0aW9uLmxlYWZsZXQtY29tcGFjdC1hdHRyaWJ1dGlvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LmxlYWZsZXQtcmlnaHQgLmxlYWZsZXQtY29udHJvbC1hdHRyaWJ1dGlvbi5sZWFmbGV0LWNvbXBhY3QtYXR0cmlidXRpb246YWZ0ZXJ7cmlnaHQ6MH0ubGVhZmxldC1sZWZ0IC5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24ubGVhZmxldC1jb21wYWN0LWF0dHJpYnV0aW9uOmFmdGVye2xlZnQ6MH0ubGVhZmxldC1jb250cm9sLXNjYWxlLWxpbmV7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KTtib3JkZXI6MXB4IHNvbGlkICM5OTk7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjQpO2JvcmRlci10b3A6MDtwYWRkaW5nOjJweCA1cHggMXB4O3doaXRlLXNwYWNlOm5vd3JhcDtvdmVyZmxvdzpoaWRkZW59LmxlYWZsZXQtY29udHJvbC1zY2FsZS1saW5lOm5vdCg6Zmlyc3QtY2hpbGQpe2JvcmRlci10b3A6MnB4IHNvbGlkICNkZGQ7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDAsMCwwLC4xKTtib3JkZXItYm90dG9tOjA7bWFyZ2luLXRvcDotMnB4fS5sZWFmbGV0LWNvbnRyb2wtc2NhbGUtbGluZTpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpe2JvcmRlci1ib3R0b206MnB4IHNvbGlkICM3Nzd9LmxlYWZsZXQtcG9wdXB7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7cG9pbnRlci1ldmVudHM6bm9uZX0ubGVhZmxldC1wb3B1cC1jb250ZW50LXdyYXBwZXJ7cGFkZGluZzoxcHg7dGV4dC1hbGlnbjpsZWZ0O3BvaW50ZXItZXZlbnRzOmFsbH0ubGVhZmxldC1wb3B1cC1jb250ZW50e3BhZGRpbmc6MTBweCAxMHB4IDE1cHg7bWFyZ2luOjA7bGluZS1oZWlnaHQ6aW5oZXJpdH0ubGVhZmxldC1wb3B1cC1jbG9zZS1idXR0b24rLmxlYWZsZXQtcG9wdXAtY29udGVudC13cmFwcGVyIC5sZWFmbGV0LXBvcHVwLWNvbnRlbnR7cGFkZGluZy10b3A6MTVweH0ubGVhZmxldC1wb3B1cC10aXAtY29udGFpbmVye3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7bWFyZ2luOjAgYXV0bztwb3NpdGlvbjpyZWxhdGl2ZX0ubGVhZmxldC1wb3B1cC10aXB7d2lkdGg6MDtoZWlnaHQ6MDttYXJnaW46MDtib3JkZXItbGVmdDoxMHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDoxMHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3A6MTBweCBzb2xpZCAjZmZmO2JveC1zaGFkb3c6bm9uZX0ubGVhZmxldC1wb3B1cC1jbG9zZS1idXR0b257dGV4dC1pbmRlbnQ6LTk5OWVtO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7cG9pbnRlci1ldmVudHM6YWxsfS5sZWFmbGV0LXBvcHVwLWNsb3NlLWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmOGY4Zjh9LmxlYWZsZXQtcG9wdXAtc2Nyb2xsZWR7b3ZlcmZsb3c6YXV0bztib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZGRkO2JvcmRlci10b3A6MXB4IHNvbGlkICNkZGR9LmxlYWZsZXQtZGl2LWljb257YmFja2dyb3VuZDojZmZmO2JvcmRlcjoxcHggc29saWQgIzk5OTtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuNCl9LmxlYWZsZXQtZWRpdGluZy1pY29ue2JvcmRlci1yYWRpdXM6M3B4fS5sZWFmbGV0LWJhciBhLC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXRvZ2dsZSwubGVhZmxldC1wb3B1cC1jbG9zZS1idXR0b24sLm1hcC10b29sdGlwLmNsb3NhYmxlIC5jbG9zZSwubWFwYm94LWJ1dHRvbi1pY29uOmJlZm9yZSwubWFwYm94LWljb257Y29udGVudDonJztkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoyNnB4O2hlaWdodDoyNnB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXR9LmxlYWZsZXQtYmFyIGF7ZGlzcGxheTpibG9ja30ubGVhZmxldC1jb250YWluZXIuZGFyayAubWFwLXRvb2x0aXAgLmNsb3NlLC5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb246YWZ0ZXIsLmxlYWZsZXQtY29udHJvbC1sYXllcnMtdG9nZ2xlLC5sZWFmbGV0LWNvbnRyb2wtem9vbS1pbiwubGVhZmxldC1jb250cm9sLXpvb20tb3V0LC5sZWFmbGV0LXBvcHVwLWNsb3NlLWJ1dHRvbiwubWFwLXRvb2x0aXAgLmNsb3NlLC5tYXBib3gtaWNvbntvcGFjaXR5Oi43NTtiYWNrZ3JvdW5kLWltYWdlOnVybChpbWFnZXMvaWNvbnMtMDAwMDAwQDJ4LnBuZyk7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZToyNnB4IDI2MHB4fS5sZWFmbGV0LWNvbnRhaW5lci5kYXJrIC5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb246YWZ0ZXIsLmxlYWZsZXQtY29udGFpbmVyLmRhcmsgLmxlYWZsZXQtY29udHJvbC1sYXllcnMtdG9nZ2xlLC5sZWFmbGV0LWNvbnRhaW5lci5kYXJrIC5sZWFmbGV0LWNvbnRyb2wtem9vbS1pbiwubGVhZmxldC1jb250YWluZXIuZGFyayAubGVhZmxldC1jb250cm9sLXpvb20tb3V0LC5sZWFmbGV0LWNvbnRhaW5lci5kYXJrIC5tYXBib3gtaWNvbiwubWFwYm94LWJ1dHRvbi1pY29uOmJlZm9yZXtvcGFjaXR5OjE7YmFja2dyb3VuZC1pbWFnZTp1cmwoaW1hZ2VzL2ljb25zLWZmZmZmZkAyeC5wbmcpO2JhY2tncm91bmQtc2l6ZToyNnB4IDI2MHB4fS5sZWFmbGV0LWJhciAubGVhZmxldC1jb250cm9sLXpvb20taW57YmFja2dyb3VuZC1wb3NpdGlvbjowIDB9LmxlYWZsZXQtYmFyIC5sZWFmbGV0LWNvbnRyb2wtem9vbS1vdXR7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0yNnB4fS5sZWFmbGV0LXBvcHVwLWNsb3NlLWJ1dHRvbiwubWFwLXRvb2x0aXAuY2xvc2FibGUgLmNsb3Nle2JhY2tncm91bmQtcG9zaXRpb246LTNweCAtNTVweDt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O2JvcmRlci1yYWRpdXM6MCAzcHggMCAwfS5tYXBib3gtaWNvbi1pbmZve2JhY2tncm91bmQtcG9zaXRpb246MCAtNzhweH0ubGVhZmxldC1jb250cm9sLWxheWVycy10b2dnbGV7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xMDRweH0ubWFwYm94LWljb24ubWFwYm94LWljb24tc2hhcmUsLm1hcGJveC1pY29uLm1hcGJveC1pY29uLXNoYXJlOmJlZm9yZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTEzMHB4fS5tYXBib3gtaWNvbi5tYXBib3gtaWNvbi1nZW9jb2RlciwubWFwYm94LWljb24ubWFwYm94LWljb24tZ2VvY29kZXI6YmVmb3Jle2JhY2tncm91bmQtcG9zaXRpb246MCAtMTU2cHh9Lm1hcGJveC1pY29uLWZhY2Vib29rLC5tYXBib3gtaWNvbi1mYWNlYm9vazpiZWZvcmV7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xODJweH0ubWFwYm94LWljb24tdHdpdHRlciwubWFwYm94LWljb24tdHdpdHRlcjpiZWZvcmV7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0yMDhweH0ubWFwYm94LWljb24tcGludGVyZXN0LC5tYXBib3gtaWNvbi1waW50ZXJlc3Q6YmVmb3Jle2JhY2tncm91bmQtcG9zaXRpb246MCAtMjM0cHh9LmxlYWZsZXQtcG9wdXAtY29udGVudC13cmFwcGVyLC5tYXAtbGVnZW5kcywubWFwLXRvb2x0aXB7YmFja2dyb3VuZDojZmZmO2JvcmRlci1yYWRpdXM6M3B4O2JveC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwwLDAsLjEpfS5tYXAtbGVnZW5kcywubWFwLXRvb2x0aXB7bWF4LXdpZHRoOjMwMHB4fS5tYXAtbGVnZW5kcyAubWFwLWxlZ2VuZHtwYWRkaW5nOjEwcHh9Lm1hcC10b29sdGlwe3otaW5kZXg6OTk5OTk5O3BhZGRpbmc6MTBweDttaW4td2lkdGg6MTgwcHg7bWF4LWhlaWdodDo0MDBweDtvdmVyZmxvdzphdXRvO29wYWNpdHk6MTstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAxNTBtczstbW96LXRyYW5zaXRpb246b3BhY2l0eSAxNTBtczstby10cmFuc2l0aW9uOm9wYWNpdHkgMTUwbXM7dHJhbnNpdGlvbjpvcGFjaXR5IDE1MG1zfS5tYXAtdG9vbHRpcCAuY2xvc2V7dGV4dC1pbmRlbnQ6LTk5OWVtO292ZXJmbG93OmhpZGRlbjtkaXNwbGF5Om5vbmV9Lm1hcC10b29sdGlwLmNsb3NhYmxlIC5jbG9zZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2JvcmRlci1yYWRpdXM6M3B4fS5tYXAtdG9vbHRpcC5jbG9zYWJsZSAuY2xvc2U6YWN0aXZle2JhY2tncm91bmQtY29sb3I6I2Y4ZjhmOH0ubGVhZmxldC1jb250cm9sLWludGVyYWN0aW9ue3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMHB4O3JpZ2h0OjEwcHg7d2lkdGg6MzAwcHh9LmxlYWZsZXQtcG9wdXAtY29udGVudCAubWFya2VyLXRpdGxle2ZvbnQtd2VpZ2h0OjcwMH0ubGVhZmxldC1jb250cm9sIC5tYXBib3gtYnV0dG9ue2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICNkZGQ7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjEpO3BhZGRpbmc6NXB4IDEwcHg7Ym9yZGVyLXJhZGl1czozcHh9Lm1hcGJveC1tb2RhbD5kaXZ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7ei1pbmRleDotMTtvdmVyZmxvdy15OmF1dG99Lm1hcGJveC1tb2RhbC5hY3RpdmU+ZGl2e3otaW5kZXg6OTk5OTk7dHJhbnNpdGlvbjphbGwgLjJzLHotaW5kZXggMCAwfS5tYXBib3gtbW9kYWwgLm1hcGJveC1tb2RhbC1tYXNre2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNSk7b3BhY2l0eTowfS5tYXBib3gtbW9kYWwuYWN0aXZlIC5tYXBib3gtbW9kYWwtbWFza3tvcGFjaXR5OjF9Lm1hcGJveC1tb2RhbCAubWFwYm94LW1vZGFsLWNvbnRlbnR7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSl9Lm1hcGJveC1tb2RhbC5hY3RpdmUgLm1hcGJveC1tb2RhbC1jb250ZW50ey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9Lm1hcGJveC1tb2RhbC1ib2R5e3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQ6I2ZmZjtwYWRkaW5nOjIwcHg7ei1pbmRleDoxMDAwO3dpZHRoOjUwJTttYXJnaW46MjBweCAwIDIwcHggMjUlfS5tYXBib3gtc2hhcmUtYnV0dG9uc3ttYXJnaW46MCAwIDIwcHh9Lm1hcGJveC1zaGFyZS1idXR0b25zIGF7d2lkdGg6MzMuMzMzMyU7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkICNmZmY7dGV4dC1hbGlnbjpjZW50ZXI7Ym9yZGVyLXJhZGl1czowfS5tYXBib3gtc2hhcmUtYnV0dG9ucyBhOmxhc3QtY2hpbGR7Ym9yZGVyLXJhZGl1czowIDNweCAzcHggMH0ubWFwYm94LXNoYXJlLWJ1dHRvbnMgYTpmaXJzdC1jaGlsZHtib3JkZXI6MDtib3JkZXItcmFkaXVzOjNweCAwIDAgM3B4fS5tYXBib3gtbW9kYWwgaW5wdXR7d2lkdGg6MTAwJTtoZWlnaHQ6NDBweDtwYWRkaW5nOjEwcHg7Ym9yZGVyOjFweCBzb2xpZCAjZGRkO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4xKTtjb2xvcjpyZ2JhKDAsMCwwLC41KX0ubGVhZmxldC1jb250cm9sLm1hcGJveC1jb250cm9sLWluZm97bWFyZ2luOjVweCAzMHB4IDEwcHggMTBweDttaW4taGVpZ2h0OjI2cHh9LmxlYWZsZXQtcmlnaHQgLmxlYWZsZXQtY29udHJvbC5tYXBib3gtY29udHJvbC1pbmZve21hcmdpbjo1cHggMTBweCAxMHB4IDMwcHh9Lm1hcGJveC1pbmZvLXRvZ2dsZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC41KTtib3JkZXItcmFkaXVzOjUwJTtwb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MDtsZWZ0OjA7ei1pbmRleDoxfS5sZWFmbGV0LXJpZ2h0IC5tYXBib3gtY29udHJvbC1pbmZvIC5tYXBib3gtaW5mby10b2dnbGV7bGVmdDphdXRvO3JpZ2h0OjB9Lm1hcGJveC1pbmZvLXRvZ2dsZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lm1hcC1pbmZvLWNvbnRhaW5lcntiYWNrZ3JvdW5kOiNmZmY7cGFkZGluZzozcHggNXB4IDNweCAyN3B4O2Rpc3BsYXk6bm9uZTtwb3NpdGlvbjpyZWxhdGl2ZTtib3R0b206MDtsZWZ0OjA7Ym9yZGVyLXJhZGl1czoxM3B4IDNweCAzcHggMTNweH0ubGVhZmxldC1yaWdodCAubWFwLWluZm8tY29udGFpbmVye2xlZnQ6YXV0bztyaWdodDowO3BhZGRpbmc6M3B4IDI3cHggM3B4IDVweDtib3JkZXItcmFkaXVzOjNweCAxM3B4IDEzcHggM3B4fS5tYXBib3gtY29udHJvbC1pbmZvLmFjdGl2ZSAubWFwLWluZm8tY29udGFpbmVye2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5sZWFmbGV0LWNvbnRhaW5lciAubWFwYm94LWltcHJvdmUtbWFwe2ZvbnQtd2VpZ2h0OjcwMH0ubGVhZmxldC1jb250cm9sLW1hcGJveC1nZW9jb2Rlcntwb3NpdGlvbjpyZWxhdGl2ZX0ubGVhZmxldC1jb250cm9sLW1hcGJveC1nZW9jb2Rlci5zZWFyY2hpbmd7b3BhY2l0eTouNzV9LmxlYWZsZXQtY29udHJvbC1tYXBib3gtZ2VvY29kZXIgLmxlYWZsZXQtY29udHJvbC1tYXBib3gtZ2VvY29kZXItd3JhcHtiYWNrZ3JvdW5kOiNmZmY7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOjFweCBzb2xpZCAjOTk5O2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC40KTtvdmVyZmxvdzpoaWRkZW47bGVmdDoyNnB4O2hlaWdodDoyOHB4O3dpZHRoOjA7dG9wOi0xcHg7Ym9yZGVyLXJhZGl1czowIDNweCAzcHggMDtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgMTAwbXM7LW1vei10cmFuc2l0aW9uOm9wYWNpdHkgMTAwbXM7LW8tdHJhbnNpdGlvbjpvcGFjaXR5IDEwMG1zO3RyYW5zaXRpb246b3BhY2l0eSAxMDBtc30ubGVhZmxldC1jb250cm9sLW1hcGJveC1nZW9jb2Rlci5hY3RpdmUgLmxlYWZsZXQtY29udHJvbC1tYXBib3gtZ2VvY29kZXItd3JhcHt3aWR0aDoxODBweDtvcGFjaXR5OjF9LmxlYWZsZXQtYmFyIC5sZWFmbGV0LWNvbnRyb2wtbWFwYm94LWdlb2NvZGVyLXRvZ2dsZSwubGVhZmxldC1iYXIgLmxlYWZsZXQtY29udHJvbC1tYXBib3gtZ2VvY29kZXItdG9nZ2xlOmhvdmVye2JvcmRlci1ib3R0b206MH0ubGVhZmxldC1jb250cm9sLW1hcGJveC1nZW9jb2Rlci10b2dnbGV7Ym9yZGVyLXJhZGl1czozcHh9LmxlYWZsZXQtY29udHJvbC1tYXBib3gtZ2VvY29kZXIuYWN0aXZlLC5sZWFmbGV0LWNvbnRyb2wtbWFwYm94LWdlb2NvZGVyLmFjdGl2ZSAubGVhZmxldC1jb250cm9sLW1hcGJveC1nZW9jb2Rlci10b2dnbGV7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS5sZWFmbGV0LWNvbnRyb2wtbWFwYm94LWdlb2NvZGVyIC5sZWFmbGV0LWNvbnRyb2wtbWFwYm94LWdlb2NvZGVyLWZvcm0gaW5wdXR7YmFja2dyb3VuZDowIDA7Ym9yZGVyOjA7d2lkdGg6MTgwcHg7cGFkZGluZzowIDAgMCAxMHB4O2hlaWdodDoyNnB4O291dGxpbmU6MH0ubGVhZmxldC1jb250cm9sLW1hcGJveC1nZW9jb2Rlci1yZXN1bHRze3dpZHRoOjE4MHB4O3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MjZweDt0b3A6MjVweDtib3JkZXItcmFkaXVzOjAgMCAzcHggM3B4fS5sZWFmbGV0LWNvbnRyb2wtbWFwYm94LWdlb2NvZGVyLmFjdGl2ZSAubGVhZmxldC1jb250cm9sLW1hcGJveC1nZW9jb2Rlci1yZXN1bHRze2JhY2tncm91bmQ6I2ZmZjtib3JkZXI6MXB4IHNvbGlkICM5OTk7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjQpfS5sZWFmbGV0LWNvbnRyb2wtbWFwYm94LWdlb2NvZGVyLXJlc3VsdHMgYSwubGVhZmxldC1jb250cm9sLW1hcGJveC1nZW9jb2Rlci1yZXN1bHRzIHNwYW57cGFkZGluZzowIDEwcHg7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXA7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjI2cHg7dGV4dC1hbGlnbjpsZWZ0O292ZXJmbG93OmhpZGRlbn0ubGVhZmxldC1jb250YWluZXIuZGFyayAubGVhZmxldC1jb250cm9sIC5sZWFmbGV0LWNvbnRyb2wtbWFwYm94LWdlb2NvZGVyLXJlc3VsdHMgYTpob3ZlciwubGVhZmxldC1jb250cm9sLW1hcGJveC1nZW9jb2Rlci1yZXN1bHRzIGE6aG92ZXJ7YmFja2dyb3VuZDojZjhmOGY4O29wYWNpdHk6MX0ubGVhZmxldC1yaWdodCAubGVhZmxldC1jb250cm9sLW1hcGJveC1nZW9jb2Rlci1yZXN1bHRzLC5sZWFmbGV0LXJpZ2h0IC5sZWFmbGV0LWNvbnRyb2wtbWFwYm94LWdlb2NvZGVyLXdyYXB7bGVmdDphdXRvO3JpZ2h0OjI2cHh9LmxlYWZsZXQtcmlnaHQgLmxlYWZsZXQtY29udHJvbC1tYXBib3gtZ2VvY29kZXItd3JhcHtib3JkZXItcmFkaXVzOjNweCAwIDAgM3B4fS5sZWFmbGV0LXJpZ2h0IC5sZWFmbGV0LWNvbnRyb2wtbWFwYm94LWdlb2NvZGVyLmFjdGl2ZSwubGVhZmxldC1yaWdodCAubGVhZmxldC1jb250cm9sLW1hcGJveC1nZW9jb2Rlci5hY3RpdmUgLmxlYWZsZXQtY29udHJvbC1tYXBib3gtZ2VvY29kZXItdG9nZ2xle2JvcmRlci1yYWRpdXM6MCAzcHggM3B4IDB9LmxlYWZsZXQtYm90dG9tIC5sZWFmbGV0LWNvbnRyb2wtbWFwYm94LWdlb2NvZGVyLXJlc3VsdHN7dG9wOmF1dG87Ym90dG9tOjI1cHg7Ym9yZGVyLXJhZGl1czozcHggM3B4IDAgMH0ubWFwYm94LWxvZ28tdHJ1ZTpiZWZvcmV7Y29udGVudDonJztkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDo2MXB4O2hlaWdodDoxOXB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ubWFwYm94LWxvZ28tdHJ1ZXtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1zaXplOjYxcHggMTlweDtiYWNrZ3JvdW5kLWltYWdlOnVybCgnZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LFBITjJaeUI0Yld4dWN6cGtZejBpYUhSMGNEb3ZMM0IxY213dWIzSm5MMlJqTDJWc1pXMWxiblJ6THpFdU1TOGlJSGh0Ykc1ek9tTmpQU0pvZEhSd09pOHZZM0psWVhScGRtVmpiMjF0YjI1ekxtOXlaeTl1Y3lNaUlIaHRiRzV6T25Ka1pqMGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M4d01pOHlNaTF5WkdZdGMzbHVkR0Y0TFc1ekl5SWdlRzFzYm5NNmMzWm5QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JaUIyWlhKemFXOXVQU0l4TGpFaUlIZHBaSFJvUFNJMk5TSWdhR1ZwWjJoMFBTSXlNQ0krUEdSbFpuTXZQanh0WlhSaFpHRjBZVDQ4Y21SbU9sSkVSajQ4WTJNNlYyOXlheUJ5WkdZNllXSnZkWFE5SWlJK1BHUmpPbVp2Y20xaGRENXBiV0ZuWlM5emRtY3JlRzFzUEM5a1l6cG1iM0p0WVhRK1BHUmpPblI1Y0dVZ2NtUm1PbkpsYzI5MWNtTmxQU0pvZEhSd09pOHZjSFZ5YkM1dmNtY3ZaR012WkdOdGFYUjVjR1V2VTNScGJHeEpiV0ZuWlNJdlBqeGtZenAwYVhSc1pTOCtQQzlqWXpwWGIzSnJQand2Y21SbU9sSkVSajQ4TDIxbGRHRmtZWFJoUGp4bklIUnlZVzV6Wm05eWJUMGlkSEpoYm5Oc1lYUmxLQzB5TmpFdU9EUTRNeXd0T1RndU5UQXpPVFVwSWo0OFp5QjBjbUZ1YzJadmNtMDlJbTFoZEhKcGVDZ3dMakUzTkRReE9ETTJMREFzTUN3d0xqRTNORFF4T0RNMkxESXlNQzQxTWpJNE1pd3lPUzR5TWprek5ESXBJaUJ6ZEhsc1pUMGliM0JoWTJsMGVUb3dMakkxTzJacGJHdzZJMlptWm1abVpqdHpkSEp2YTJVNkl6QXdNREF3TUR0emRISnZhMlV0ZDJsa2RHZzZNVGN1TWpBd01ESXpOalU3YzNSeWIydGxMV3hwYm1WallYQTZjbTkxYm1RN2MzUnliMnRsTFd4cGJtVnFiMmx1T25KdmRXNWtPM04wY205clpTMXRhWFJsY214cGJXbDBPalE3YzNSeWIydGxMVzl3WVdOcGRIazZNVHR6ZEhKdmEyVXRaR0Z6YUdGeWNtRjVPbTV2Ym1VaVBqeHdZWFJvSUdROUlrMGdOUzR5T0NBeExqVWdReUEwTGpVMElERXVOVFlnTXk0NUlESXVNalVnTXk0NU1TQXpJR3dnTUNBeE1TNDRPQ0JqSURBdU1ESWdNQzQzTnlBd0xqY3lJREV1TkRjZ01TNDFJREV1TkRjZ2JDQXhMamMxSURBZ1l5QXdMamM0SURBZ01TNDBPQ0F0TUM0Mk9TQXhMalVnTFRFdU5EY2diQ0F3SUMwMExqSTRJREF1TnpJZ01TNHhPU0JqSURBdU5UTWdNQzQ0TnlBeUxqQXpJREF1T0RjZ01pNDFOaUF3SUd3Z01DNDNNaUF0TVM0eE9TQXdJRFF1TWpnZ1l5QXdMakF5SURBdU56WWdNQzQzSURFdU5EVWdNUzQwTnlBeExqUTNJR3dnTVM0M05TQXdJR01nTUM0M09DQXdJREV1TkRnZ0xUQXVOamtnTVM0MUlDMHhMalEzSUd3Z01DQXRNQzR4TmlCaklERXVNRElnTVM0eE1pQXlMalEySURFdU9ERWdOQzR3T1NBeExqZ3hJR3dnTkM0d09TQXdJREFnTVM0ME55QmpJQzB3SURBdU56Z2dNQzQyT1NBeExqUTRJREV1TkRjZ01TNDFJR3dnTVM0M05TQXdJR01nTUM0M09TQXRNQ0F4TGpVZ0xUQXVOekVnTVM0MUlDMHhMalVnYkNBd0xqQXlJQzB4TGpRM0lHTWdNUzQzTWlBd0lETXVNRGdnTFRBdU5qUWdOQzR4TkNBdE1TNDJPU0JzSURBZ01DNHhPU0JqSURBZ01DNHpPU0F3TGpFMklEQXVOemtnTUM0ME5DQXhMakEySURBdU1qZ2dNQzR5T0NBd0xqWTNJREF1TkRRZ01TNHdOaUF3TGpRMElHd2dNeTR6TVNBd0lHTWdNaTR3TXlBd0lETXVPRFVnTFRFdU1EWWdOQzQ1TVNBdE1pNDJPU0F4TGpBMUlERXVOakVnTWk0NE5DQXlMalk1SURRdU9EZ2dNaTQyT1NBeExqQXpJREFnTVM0NU9DQXRNQzR5TnlBeUxqZ3hJQzB3TGpjMUlEQXVNamdnTUM0ek5TQXdMamN6SURBdU5UY2dNUzR4T1NBd0xqVTJJR3dnTWk0eE1pQXdJR01nTUM0ME9DQXdMakF4SURBdU9UY2dMVEF1TWpNZ01TNHlOU0F0TUM0Mk1pQnNJREF1T1RFZ0xURXVNamdnTUM0NU1TQXhMakk0SUdNZ01DNHlPQ0F3TGpNNUlEQXVOelFnTUM0Mk15QXhMakl5SURBdU5qSWdiQ0F5TGpFMklEQWdReUEyTWk0Mk55QXhOaTR6TXlBMk15NDBNaUF4TkM0NE9TQTJNaTQ0TVNBeE5DQk1JRFl3TGpJeUlERXdMak00SURZeUxqWXlJRGNnUXlBMk15NHlOaUEyTGpFeElEWXlMalVnTkM0Mk1pQTJNUzQwTVNBMExqWXlJR3dnTFRJdU1UWWdNQ0JESURVNExqYzRJRFF1TmpJZ05UZ3VNekVnTkM0NE5pQTFPQzR3TXlBMUxqSTFJRXdnTlRjdU16RWdOaTR5T0NBMU5pNDFOaUExTGpJMUlFTWdOVFl1TWprZ05DNDROaUExTlM0NE1pQTBMall5SURVMUxqTTBJRFF1TmpJZ2JDQXRNaTR4TmlBd0lHTWdMVEF1TkRrZ0xUQWdMVEF1T1RjZ01DNHlOU0F0TVM0eU5TQXdMalkySUMwd0xqZzJJQzB3TGpVeElDMHhMamcwSUMwd0xqZ3hJQzB5TGpreElDMHdMamd4SUMweUxqQXpJREFnTFRNdU9ETWdNUzR3T0NBdE5DNDRPQ0F5TGpZNUlFTWdORE11TVNBMUxqVXpJRFF4TGpJM0lEUXVORGNnTXprdU1Ua2dOQzQwTnlCTUlETTVMakU1SURNZ1F5QXpPUzR4T1NBeUxqWXhJRE01TGpBeklESXVNakVnTXpndU56VWdNUzQ1TkNBek9DNDBOeUF4TGpZMklETTRMakE0SURFdU5TQXpOeTQyT1NBeExqVWdiQ0F0TVM0M05TQXdJR01nTFRBdU56RWdNQ0F0TVM0MUlEQXVPRE1nTFRFdU5TQXhMalVnYkNBd0lETXVNVFlnUXlBek15NHpPQ0ExTGpFZ016RXVPVFlnTkM0ME55QXpNQzR6T0NBMExqUTNJR3dnTFRNdU16UWdNQ0JqSUMwd0xqYzNJREF1TURJZ0xURXVORGNnTUM0M01pQXRNUzQwTnlBeExqVWdiQ0F3SURBdU16RWdZeUF0TVM0d01pQXRNUzR4TWlBdE1pNDBOaUF0TVM0NE1TQXROQzR3T1NBdE1TNDRNU0F0TVM0Mk15QXdJQzB6TGpBM0lEQXVOeUF0TkM0d09TQXhMamd4SUV3Z01UY3VNemdnTXlCaklDMHdJQzB3TGpjNUlDMHdMamN4SUMweExqVWdMVEV1TlNBdE1TNDFJRXdnTVRRdU5TQXhMalVnUXlBeE15NDFOU0F4TGpVZ01USXVNamdnTVM0NE55QXhNUzQyTmlBeUxqazBJR3dnTFRFZ01TNDJPU0F0TVNBdE1TNDJPU0JESURrdU1ETWdNUzQ0TnlBM0xqYzNJREV1TlNBMkxqZ3hJREV1TlNCc0lDMHhMalF4SURBZ1F5QTFMak0ySURFdU5TQTFMak15SURFdU5TQTFMakk0SURFdU5TQjZJRzBnTVRZdU1Ua2dOeTQzTWlCaklEQXVOVE1nTUNBd0xqazBJREF1TXpVZ01DNDVOQ0F4TGpJNElHd2dNQ0F4TGpJNElDMHdMamswSURBZ1l5QXRNQzQxTWlBd0lDMHdMamswSUMwd0xqTTRJQzB3TGprMElDMHhMakk0SUMwd0lDMHdMamtnTUM0ME1pQXRNUzR5T0NBd0xqazBJQzB4TGpJNElIb2diU0E0TGpneElEQWdZeUF3TGpneklEQWdNUzR4T0NBd0xqWTRJREV1TVRrZ01TNHlPQ0F3TGpBeElEQXVPVFFnTFRBdU5qSWdNUzR5T0NBdE1TNHhPU0F4TGpJNElIb2diU0E0TGpjeUlEQWdZeUF3TGpjeUlEQWdNUzR6TnlBd0xqWWdNUzR6TnlBeExqSTRJREFnTUM0M055QXRNQzQxTVNBeExqSTRJQzB4TGpNM0lERXVNamdnZWlCdElERXdMakF6SURBZ1l5QXdMalU0SURBZ01TNHdPU0F3TGpVZ01TNHdPU0F4TGpJNElEQWdNQzQzT0NBdE1DNDFNU0F4TGpJNElDMHhMakE1SURFdU1qZ2dMVEF1TlRnZ01DQXRNUzR4TWlBdE1DNDFJQzB4TGpFeUlDMHhMakk0SURBZ0xUQXVOemdnTUM0MU5DQXRNUzR5T0NBeExqRXlJQzB4TGpJNElIb2lJSFJ5WVc1elptOXliVDBpYldGMGNtbDRLRFV1TnpNek16UXhOQ3d3TERBc05TNDNNek16TkRFMExESXpOaTQ1TXpNd09Dd3pPVGN1TVRjME9UZ3BJaUJ6ZEhsc1pUMGlabTl1ZEMxemFYcGxPbTFsWkdsMWJUdG1iMjUwTFhOMGVXeGxPbTV2Y20xaGJEdG1iMjUwTFhaaGNtbGhiblE2Ym05eWJXRnNPMlp2Ym5RdGQyVnBaMmgwT201dmNtMWhiRHRtYjI1MExYTjBjbVYwWTJnNmJtOXliV0ZzTzNSbGVIUXRhVzVrWlc1ME9qQTdkR1Y0ZEMxaGJHbG5ianB6ZEdGeWREdDBaWGgwTFdSbFkyOXlZWFJwYjI0NmJtOXVaVHRzYVc1bExXaGxhV2RvZERwdWIzSnRZV3c3YkdWMGRHVnlMWE53WVdOcGJtYzZibTl5YldGc08zZHZjbVF0YzNCaFkybHVaenB1YjNKdFlXdzdkR1Y0ZEMxMGNtRnVjMlp2Y20wNmJtOXVaVHRrYVhKbFkzUnBiMjQ2YkhSeU8ySnNiMk5yTFhCeWIyZHlaWE56YVc5dU9uUmlPM2R5YVhScGJtY3RiVzlrWlRwc2NpMTBZanQwWlhoMExXRnVZMmh2Y2pwemRHRnlkRHRpWVhObGJHbHVaUzF6YUdsbWREcGlZWE5sYkdsdVpUdGpiMnh2Y2pvak1EQXdNREF3TzJacGJHdzZJekF3TURBd01EdG1hV3hzTFc5d1lXTnBkSGs2TVR0bWFXeHNMWEoxYkdVNmJtOXVlbVZ5Ynp0emRISnZhMlU2Ym05dVpUdHpkSEp2YTJVdGQybGtkR2c2TVRjdU1qQXdNREl6TmpVN2JXRnlhMlZ5T201dmJtVTdkbWx6YVdKcGJHbDBlVHAyYVhOcFlteGxPMlJwYzNCc1lYazZhVzVzYVc1bE8yOTJaWEptYkc5M09uWnBjMmxpYkdVN1pXNWhZbXhsTFdKaFkydG5jbTkxYm1RNllXTmpkVzExYkdGMFpUdG1iMjUwTFdaaGJXbHNlVHBUWVc1ek95MXBibXR6WTJGd1pTMW1iMjUwTFhOd1pXTnBabWxqWVhScGIyNDZVMkZ1Y3lJdlBqd3ZaejQ4WnlCMGNtRnVjMlp2Y20wOUltMWhkSEpwZUNnd0xqRTNORFF4T0RNMkxEQXNNQ3d3TGpFM05EUXhPRE0yTERJeU1DNDFNakk0TWl3eU9TNHlNamt6TkRJcElpQnpkSGxzWlQwaVptbHNiRG9qWm1abVptWm1JajQ4Y0dGMGFDQmtQU0p0SURVdU5ERWdNeUF3SURFeUlERXVOelVnTUNBd0lDMDVMamt4SURNdU5TQTFMamswSURNdU5EY2dMVFV1T1RRZ01DQTVMamt4SURFdU56VWdNQ0F3SUMweE1pQk1JREUwTGpVZ015QkRJREV6TGpnZ015QXhNeTR5TlNBekxqRTJJREV5TGprMElETXVOamtnVENBeE1DNDJOaUEzTGpVNUlEZ3VNemdnTXk0Mk9TQkRJRGd1TURjZ015NHhOaUEzTGpVeElETWdOaTQ0TVNBeklIb2dUU0F6TmlBeklHd2dNQ0F4TWk0d015QXpMakkxSURBZ1l5QXlMalEwSURBZ05DNHpPQ0F0TVM0NU1TQTBMak00SUMwMExqVXpJREFnTFRJdU5qSWdMVEV1T1RNZ0xUUXVORGNnTFRRdU16Z2dMVFF1TkRjZ1F5QXpPQzQzSURZdU1ETWdNemd1TXpJZ05pQXpOeTQzTlNBMklHd2dNQ0F0TXlCNklFMGdNakV1TkRjZ05TNDVOeUJqSUMweUxqUTBJREFnTFRRdU1Ua2dNUzQ1TVNBdE5DNHhPU0EwTGpVeklEQWdNaTQyTWlBeExqYzFJRFF1TlRNZ05DNHhPU0EwTGpVeklHd2dOQzR4T1NBd0lEQWdMVFF1TlRNZ1l5QXdJQzB5TGpZeUlDMHhMamMxSUMwMExqVXpJQzAwTGpFNUlDMDBMalV6SUhvZ2JTQXlOeTQxTmlBd0lHTWdMVEl1TkRFZ01DQXROQzR6T0NBeUxqQXpJQzAwTGpNNElEUXVOVE1nTUNBeUxqVWdNUzQ1TnlBMExqVXpJRFF1TXpnZ05DNDFNeUF5TGpReElEQWdOQzR6TkNBdE1pNHdNeUEwTGpNMElDMDBMalV6SURBZ0xUSXVOU0F0TVM0NU5DQXROQzQxTXlBdE5DNHpOQ0F0TkM0MU15QjZJRzBnTFRJeUlEQXVNRE1nTUNBeE1pQXhMamMxSURBZ01DQXRNaTQ1TnlCaklEQXVOVGNnTUNBeExqQTBJQzB3SURFdU5Ua2dNQ0F5TGpRMElEQWdOQzR6TkNBdE1TNDVNU0EwTGpNMElDMDBMalV6SURBZ0xUSXVOaklnTFRFdU9TQXROQzQxSUMwMExqTTBJQzAwTGpVZ2VpQnRJREkyTGpFMklEQWdNeTR3TXlBMExqTTRJQzB6TGpFNUlEUXVOaklnTWk0eE1pQXdJRXdnTlRjdU16RWdNVEV1T1RFZ05Ua3VORFFnTVRVZ05qRXVOVGtnTVRVZ05UZ3VNemdnTVRBdU16Z2dOakV1TkRFZ05pQTFPUzR5TlNBMklEVTNMak14SURndU9ERWdOVFV1TXpRZ05pQjZJRTBnTWpFdU5EY2dOeTQzTWlCaklERXVOQ0F3SURJdU5EUWdNUzR4T1NBeUxqUTBJREl1TnpnZ2JDQXdJREl1TnpnZ0xUSXVORFFnTUNCaklDMHhMalFnTUNBdE1pNDBOQ0F0TVM0eU1TQXRNaTQwTkNBdE1pNDNPQ0F0TUNBdE1TNDFOeUF4TGpBMElDMHlMamM0SURJdU5EUWdMVEl1TnpnZ2VpQnRJREkzTGpVMklEQWdZeUF4TGpRMElEQWdNaTQxT1NBeExqSTBJREl1TlRrZ01pNDNPQ0F3SURFdU5UUWdMVEV1TVRVZ01pNDNPQ0F0TWk0MU9TQXlMamM0SUMweExqUTBJREFnTFRJdU5qSWdMVEV1TWpRZ0xUSXVOaklnTFRJdU56Z2dNQ0F0TVM0MU5DQXhMakU0SUMweUxqYzRJREl1TmpJZ0xUSXVOemdnZWlCdElDMHlNQzR5TlNBd0xqQXpJREV1TlRrZ01DQmpJREV1TlRrZ01DQXlMalU1SURFdU1qZ2dNaTQxT1NBeUxqYzFJREFnTVM0ME55QXRNUzR4TXlBeUxqYzRJQzB5TGpVNUlESXVOemdnYkNBdE1TNDFPU0F3SUhvZ2JTQTRMamszSURBZ01TNDFJREFnWXlBeExqUTNJREFnTWk0Mk1pQXhMakk0SURJdU5qSWdNaTQzTlNBd0lERXVORGNnTFRFdU1EUWdNaTQzT0NBdE1pNDJNaUF5TGpjNElHd2dMVEV1TlNBd0lIb2lJSFJ5WVc1elptOXliVDBpYldGMGNtbDRLRFV1TnpNek16UXhOQ3d3TERBc05TNDNNek16TkRFMExESXpOaTQ1TXpNd09Dd3pPVGN1TVRjME9UZ3BJaUJ6ZEhsc1pUMGlabWxzYkRvalptWm1abVptTzJacGJHd3RiM0JoWTJsMGVUb3hPMlpwYkd3dGNuVnNaVHB1YjI1NlpYSnZPM04wY205clpUcHViMjVsSWk4K1BDOW5Qand2Wno0OEwzTjJaejQ9Jyl9LmxlYWZsZXQtY29udGFpbmVyLmRhcmsgLmxlYWZsZXQtYmFye2JhY2tncm91bmQtY29sb3I6IzQwNDA0MDtib3JkZXItY29sb3I6IzIwMjAyMDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuNzUpfS5sZWFmbGV0LWNvbnRhaW5lci5kYXJrIC5sZWFmbGV0LWJhciBhe2NvbG9yOiM0MDQwNDA7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjUpfS5sZWFmbGV0LWNvbnRhaW5lci5kYXJrIC5sZWFmbGV0LWJhciBhOmFjdGl2ZSwubGVhZmxldC1jb250YWluZXIuZGFyayAubGVhZmxldC1iYXIgYTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM1MDUwNTB9LmxlYWZsZXQtY29udGFpbmVyLmRhcmsgLmxlYWZsZXQtY29udHJvbC1hdHRyaWJ1dGlvbiwubGVhZmxldC1jb250YWluZXIuZGFyayAubGVhZmxldC1jb250cm9sLWF0dHJpYnV0aW9uOmFmdGVyLC5sZWFmbGV0LWNvbnRhaW5lci5kYXJrIC5tYXAtaW5mby1jb250YWluZXIsLmxlYWZsZXQtY29udGFpbmVyLmRhcmsgLm1hcGJveC1pbmZvLXRvZ2dsZXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjUpO2NvbG9yOiNmOGY4Zjh9LmxlYWZsZXQtY29udGFpbmVyLmRhcmsgLmxlYWZsZXQtY29udHJvbC1hdHRyaWJ1dGlvbiBhLC5sZWFmbGV0LWNvbnRhaW5lci5kYXJrIC5sZWFmbGV0LWNvbnRyb2wtYXR0cmlidXRpb24gYTpob3ZlciwubGVhZmxldC1jb250YWluZXIuZGFyayAubWFwLWluZm8tY29udGFpbmVyIGEsLmxlYWZsZXQtY29udGFpbmVyLmRhcmsgLm1hcC1pbmZvLWNvbnRhaW5lciBhOmhvdmVye2NvbG9yOiNmZmZ9LmxlYWZsZXQtY29udGFpbmVyLmRhcmsgLmxlYWZsZXQtY29udHJvbC1hdHRyaWJ1dGlvbjpob3ZlcjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiMwMDB9LmxlYWZsZXQtY29udGFpbmVyLmRhcmsgLmxlYWZsZXQtY29udHJvbC1sYXllcnMtbGlzdCBzcGFue2NvbG9yOiNmOGY4Zjh9LmxlYWZsZXQtY29udGFpbmVyLmRhcmsgLmxlYWZsZXQtY29udHJvbC1sYXllcnMtc2VwYXJhdG9ye2JvcmRlci10b3AtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMSl9LmxlYWZsZXQtY29udGFpbmVyLmRhcmsgLmxlYWZsZXQtYmFyIGEubGVhZmxldC1kaXNhYmxlZCwubGVhZmxldC1jb250YWluZXIuZGFyayAubGVhZmxldC1jb250cm9sIC5tYXBib3gtYnV0dG9uLmRpc2FibGVke2JhY2tncm91bmQtY29sb3I6IzI1MjUyNTtjb2xvcjojNDA0MDQwfS5sZWFmbGV0LWNvbnRhaW5lci5kYXJrIC5sZWFmbGV0LWNvbnRyb2wtbWFwYm94LWdlb2NvZGVyPmRpdntib3JkZXItY29sb3I6IzIwMjAyMDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuNzUpfS5sZWFmbGV0LWNvbnRhaW5lci5kYXJrIC5sZWFmbGV0LWNvbnRyb2wgLmxlYWZsZXQtY29udHJvbC1tYXBib3gtZ2VvY29kZXItcmVzdWx0cyBhe2JvcmRlci1jb2xvcjojZGRkICMyMDIwMjA7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjEpIHJnYmEoMCwwLDAsLjc1KX0ubGVhZmxldC1jb250YWluZXIuZGFyayAubGVhZmxldC1jb250cm9sIC5sZWFmbGV0LWNvbnRyb2wtbWFwYm94LWdlb2NvZGVyLXJlc3VsdHMgc3Bhbntib3JkZXItY29sb3I6IzIwMjAyMDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuNzUpfUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo4MDBweCl7Lm1hcGJveC1tb2RhbC1ib2R5e3dpZHRoOjgzLjMzMzMlO21hcmdpbi1sZWZ0OjguMzMzMyV9fUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo2NDBweCl7Lm1hcGJveC1tb2RhbC1ib2R5e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7bWFyZ2luOjB9fUBtZWRpYSBwcmludHsubWFwYm94LWltcHJvdmUtbWFwe2Rpc3BsYXk6bm9uZX19LmxlYWZsZXQtdm1sLXNoYXBle3dpZHRoOjFweDtoZWlnaHQ6MXB4fS5sdm1se2JlaGF2aW9yOnVybCgjZGVmYXVsdCNWTUwpO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOmFic29sdXRlfS5sZWFmbGV0LWNvbnRhaW5lciBpbWcubGVhZmxldC10aWxle21heC13aWR0aDpub25lIWltcG9ydGFudH0ubGVhZmxldC1jb250YWluZXIgaW1nLmxlYWZsZXQtbWFya2VyLWljb257bWF4LXdpZHRoOm5vbmV9LmxlYWZsZXQtY29udGFpbmVyIGltZy5sZWFmbGV0LWltYWdlLWxheWVye21heC13aWR0aDoxNTAwMHB4IWltcG9ydGFudH0ubGVhZmxldC1vdmVybGF5LXBhbmUgc3Zney1tb3otdXNlci1zZWxlY3Q6bm9uZX0ubGVhZmxldC1vbGRpZSAubWFwYm94LW1vZGFsIC5tYXBib3gtbW9kYWwtY29udGVudHtkaXNwbGF5Om5vbmV9LmxlYWZsZXQtb2xkaWUgLm1hcGJveC1tb2RhbC5hY3RpdmUgLm1hcGJveC1tb2RhbC1jb250ZW50e2Rpc3BsYXk6YmxvY2t9Lm1hcC10b29sdGlwe3dpZHRoOjI4MHB4XFw4fS5sZWFmbGV0LW9sZGllIC5sZWFmbGV0LWNvbnRhaW5lci5kYXJrIC5tYXAtdG9vbHRpcCAuY2xvc2UsLmxlYWZsZXQtb2xkaWUgLmxlYWZsZXQtY29udHJvbC1sYXllcnMtdG9nZ2xlLC5sZWFmbGV0LW9sZGllIC5sZWFmbGV0LWNvbnRyb2wtem9vbS1pbiwubGVhZmxldC1vbGRpZSAubGVhZmxldC1jb250cm9sLXpvb20tb3V0LC5sZWFmbGV0LW9sZGllIC5sZWFmbGV0LXBvcHVwLWNsb3NlLWJ1dHRvbiwubGVhZmxldC1vbGRpZSAubWFwLXRvb2x0aXAgLmNsb3NlLC5sZWFmbGV0LW9sZGllIC5tYXBib3gtaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJvQUFBRUVDQVlBQUFBMjRTU1JBQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQU4xd0FBRGRjQlFpaWJlQUFBQUJsMFJWaDBVMjltZEhkaGNtVUFkM2QzTG1sdWEzTmpZWEJsTG05eVo1dnVQQm9BQUFYblNVUkJWSGljN1p4ZmlGVkZHTUIvMzNwUlVRc0t0bzAwMkRZM01jSjZ5QllrRVNReHBZVHlwYUI2NktFWFlSV0xZT2xocjlSVFJHV1JVa2s5UnlFVStZOUNsRUNKVlRLbFB5YldCaWxxa1l1V3JxQk9EL05kUFY3UG1UUG4zTlB0YXQvQWNPNlpQOS92Zk4vTW1mbDJaczZLYzQ1MmhLNjJVQXhrSUFOZEVVUmtWRVJHQzljck9qS0lpQU53emttUmVwMWxPaldYYTJpamFVN2phR1dnS3NMMTEwYTFFblYrTFFNcWJMcXlvYk82dDRFTVpDQURHY2hBQnJxbVFVbFBOU1dPVmdhcUlwaTdaU0FER2NoQUJqS1FnYTQ5a0lqVVJhUWVtMTRhcEdFNEtWUi9EMGZYZHM1RlJhQU9PTDFlK2gxZFA3WmdFNndReERuWHZzN1FXYVpMRTF3VVZtUk5kWTF6cnA2d1JGMGtmcUhZbkh3REdjaEFCakpRSUVUTlJ5SXlGVmdCekFQbWF2SUlzQXQ0eHpuM2Q2NlFpTmwxUG5DWXkwNUpjendNekc5cEtsZkloUUNrRVMva3dVS1FxUm1hOUdwTTAyeHFHWGRyQmRDWFptMk56YUZQNjZTR1VHZVlsNUUrV3FKTzBIUkhTRytQWHRKTjU0QWpWYmhialFjYkJTamlha0g0aFIwcCtoQ2hPaUhRcmhLZzdEcnQ2dDcvL1F0YjlSQVU1WHRYTWFpYWsyOGdBeG5JUU8wR2ljZzBFWGxNUkRhSXlGR05HelJ0V2hRcE1BLzFBNnVBTDRCelpNOUg1N1RNS3FDLzhIeVVQRmhaSkxpTUk0c2gwL1VESzRGdHdIaWczTGlXV2FsMVVrUHNERHNGV0Fnc0JaWm84aFpnTTdEZE9YY21WMGlnalE0QmE0SEZ3T1JBdWNsYVppMXdxTlUyT2dOc1Z3MjJhTm9TMVhBaE1DWHg0T2t1Yk9CSlp3S0R3RmJnTE5tOTdxeVdHUVJtdHVvRldSc1YwdWphYkNQelZBMWtJQU1acUJOQUlqSWdJbVBOUnhVeksrU3NtdFJKbjRQcW1qOEFqQ1h6c21UbGFUU2NrLzh6Y0RSWC9RaU5NcDhTNkFiMmE1bnZHNXBseWlvRGFvTHMxL3NCWUt3eVVCb2trVGRRSmVpVlpnaTZVUitVVlFJMFFXSGRvWEtGdktEWXo3Uml5blhjdGs3TFBsbWVSbXNLeUFxV05RZlNRQVl5a0lHdVM1Q0kxRVJrU0VUMmlzaHB2UTZKU0xFOTNCeWZvUWJzUkhlTmdmZTR2T084RTZpRjZoZHhUb1pVNk9xR1VJV3YxdlNocWtCN1ZZTmFVM3BOMC9mR2d2TGE2QzVnazNQdWZKTzV6d09iZ0R1cmFxTThqYlpXcGRFbndHM0FZS09YNlhWUTA3K3NTcU5RcjNQNFF4UzlMWGVHQkd4SXpUaUdYd1I4UVNIUnNDajdaanhBYnhGWWFWQUtiTWUvQmtyQWR1UnBaSjZxZ1F4a29QOERLRFJZMXNrL3M1VzZZRmhvVUczbkZuWmVPSUpmeExnWFdCN3pCRm1teXpQVDQ0bXk5elhTQzA5OE9aQ1R3Q1F0dHpPWlZ6Vm9YMWE1TEhtZHRZeVdETTI5eWprbkl0S0YzeFNlbEZXdktvMW1oQ0NsUUxvMXNDOTVUOFQvZWJyK3hycU9BQlZaVDgydFk1NnFnUXhrSUFOMUNraEV1bHNHaVVpM2lDekt5SnNqSXB1Qll5THlvNGlzRnBIWFJlVHVURkxBcjFzT25BZWVUOG5iek5XKzNyZkFNMlVjeUFjU1FqNEZuZ1I2OE90MEYxTkEyNEN1TXFCdTRQTVVnWWRTMGh6d1lxbEZKK0FlTlYzczMwYUxTb0VVdGpFU2NvSEUzbmtaMEF5MWZSN28zWkNjR05BRVlIY081QS9nNXBaQUNwc01QRWY2VWV4VHdDTjVNdkk2dzJ6Z2FlQnQ0SFFLNUJzQzU3dWJZK2pQbGwvd0h6bjFBeWMwN1FEK3U2TVI0R1BuM0xsQS9TdUNPWkFHTXBDQkRGUmhpRjUwRXBGbCtQUDQ5d096Z0lQQUhtQ0xjKzZ6WEFFUkUxOFArYjdEUnFBbkpDZnZmRjBQL21UZ0xacjBsOTd2QjI3Q0wzSE8wcndUd0J6bjNQSENHaVUwdVFpc0E2Ymh6VDBUL1Q0WmVBcjRzNkZabWFsOFdjSTBMd0VUZ2Rmd0h6WTFYS3ozdGV5amliTExpb0xXYThVRGVHL29aYnhEK1FId2RVTHdnMXIrSzcxZlh4UTBvaFhmQWdTL012eWg1aTFNZ05acDJxdDZQNUltTC9RZXpkYnJTZUFHNEViVkpKa0g4THRlSitwMUZpa2hCUHBOcjNPZGM2ZlVOSGRvMm9KRXVjYlg4WTJ6RFFlTGdyN1Q2MklSZVJiNEFYOW1HR0M2WG84QnUwVmtPdkNRcHUxSmxSWm9vNlZjL1dMMmFkNEM0QTI4Q1d2QVI1VHRkVTBkd3FIL2V3SHZIaThIYmdVZXhoK2V1RFJDRkg2UFZPaDAvRkt6dzN1bTRNOHpwQTFEeHdrTVF6RmpYUjkrZC85TjFXSThCWkk3MWtVNTZBcThIWGdDK0FrLzVvM2dYK3JVTm1tTzVuc2JxUDJnZndDeXZKelBOb0tYaUFBQUFBQkpSVTVFcmtKZ2dnPT0pfS5sZWFmbGV0LW9sZGllIC5sZWFmbGV0LWNvbnRhaW5lci5kYXJrIC5sZWFmbGV0LWNvbnRyb2wtbGF5ZXJzLXRvZ2dsZSwubGVhZmxldC1vbGRpZSAubGVhZmxldC1jb250YWluZXIuZGFyayAubGVhZmxldC1jb250cm9sLXpvb20taW4sLmxlYWZsZXQtb2xkaWUgLmxlYWZsZXQtY29udGFpbmVyLmRhcmsgLmxlYWZsZXQtY29udHJvbC16b29tLW91dCwubGVhZmxldC1vbGRpZSAubGVhZmxldC1jb250YWluZXIuZGFyayAubWFwYm94LWljb24sLmxlYWZsZXQtb2xkaWUgLm1hcGJveC1idXR0b24taWNvbjpiZWZvcmV7YmFja2dyb3VuZC1pbWFnZTp1cmwoZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCb0FBQUVFQ0FZQUFBQTI0U1NSQUFBQUJITkNTVlFJQ0FnSWZBaGtpQUFBQUFsd1NGbHpBQUFOMXdBQURkY0JRaWliZUFBQUFCbDBSVmgwVTI5bWRIZGhjbVVBZDNkM0xtbHVhM05qWVhCbExtOXlaNXZ1UEJvQUFBWFlTVVJCVkhpYzdaeGZpRlZGSE1jL2E0dUtXdEREdHFKR1pwcllnd1g1QnlUZGtrTGJTZ2doQ2lLaWgxNEVCWXRnNmFFcjlSUlJFS1JVVXM5aEdFVnRDaEthWU1rcTJWcVdtblVYMnRLaU5ETlpZL1hidy93dWU3eDd6c3c1NTk2MjZ6WS9HTTZkZjcvUCtjM01QZk83TTNOdW15VEdRaWFNQ1NXQ0lpaUM2cVZxb1pDMGxYZ3kxQ3EwRmFuVWNrMVh4Vm1TTkw4V3J6WVQxTENNdno1cUwxRm5vQXlvVE5PVmtwWWIzaEVVUVJFVVFSRVVRUkYwUllPcWpIaW05YUhhVEZEREV0MnRDSXFnQ0lxZ0NJcWdDTG9pUVJVTGVkTkxnd0NlcTFOYXNiUjhJaWx2cU1oSnBlNXpydnBGUUVsWUlZaWtzUnNNTGRkMGFZb0x3WXFzcVc1aTlLakxMZEhKajZBSWlxQUlpaUNQNUoyUHBnTHJnR1hBWWt2ckEvWUJyd0YvQlRYa21CMlhTenFoYkRsaFpScWF5cGRMdXVpQjFPUmlDT2FEVE0yd1pMYUZOTXVtWnVuekRZWjF3SnkwMXVieVBmT2F6TEU2cWVJYkRNc3kwcXNsNm5ndFdweVJmcU9GSW5WS2JXRlhTOVR4V3RSWFFsOW1IUjlvWHdsUWRwMnhHdDR0OFlWdDZpTW9yKy9kOEVNMU92a1JGRUVSRkVIL0FXZ2E4Q0N3RmZqSndsWkxtNVpIZ2UvcFBRKzR6OElLWUdKR3ViK0JUNEdQTEJ3dkNpbzdmNlFlV2ZRMTNUeGdBN0FUR1BLVUc3SXlHNnhPT2ozbnhEY0ZXQWwwQS9kYTJzZEFML0FKY0Q2a3dBYzZib3A2Z1Qxa1d6VVo2TEtiNkNiRHFyeDlkQjUzNTcwNFM4QloxbzJ6ZEVwU1oxSFEzTVJkZHRtZHA4a1F6dUthOWQ4VkJTVWw5bEVoMFBqcm82Wkt5MDBURVJSQkVSUkJMUVphQ3B4aDlGSEZVcUJLaWlKWituNWdGZkJIbnJzS2dVS2I3dC9qL1BDd0JOWndhcEtXMXlHcDMvS1BTRHJqS1ZzYWxJVDBXM3lwd1pvR1NvUFU4cFkyRS9SQ0NxU2l3SjU1R2RCVkJ1c0lsQ3UwWHBmM05hMWd1WmJiMW1uWUp3dFp0S21BTG0vWjZFQkdVQVJGVUFTTlYxQTcwQU1jQlA2MGF3OUY5M0FEUGtPN3BEM21Ed3hLZXNPdXN2VDJRUDNjemttUEtkMllVTnB1Y1ZsK0xsQm80anNJVEFkdUFJYnJtbk1BT0FuY25xZmxRbjEwTTI2SmViZ3VmZGpTYjhvRHlRTTZobHYzcnUvNGRrdi92Rm1nZDRFWndQb0VyTjNpTTRCZGVVR05qRHBKcXNydG16Yzg2bXF3SGtrSDVYNHQ3SkQwdEVGeXczSU56WXd3dXdpc0VWQTliUGUvQ2FyQmRvY3NpcDVxQkVWUUJQM2ZRUld5WDRqT0NwVXNaUzJ4aFIyU1Fkd2l4cTNBMmxEaE1rY1RhN0llMkc2Znd6ZnNtYXg4Y2xyU0pDdTNweTR2VlYvWnBoc0FMdGpuRlhrcXROd3lXbExxUjFVYjdvYlBBNU95S2pYTG9saytTRm1RZ0VOMThlRC9QTFhFSTJqOGdZcXNwd2JyUkU4MWdpSW9naUtvaFVBZHpRQjFBUGRrNUMzRW5kczZDWHdMYkFSZUJtN0oxT1p4SU5kS0dwYjBWRXBlYjRwVCthV2t4OG9zMFN4SktIbGYwaU9TT2lYTmtIUXBCYlJUMG9ReW9BNUpINllvUEo2U0prblBlSFI1KzZnVFdKMlNQamVqL0JjZVhWN1FWOEFIdnNvSnVjVGx2dDVvOFprcmFaYTFmVWhlRCtnSmZvOStCcTRKbFBrTnQ0WGdsOUNkU0pvczZVbEpGMUlzT1N2cC9odzZ2TDhtRmdDTGdDWEE0NHcrNzMwSWVJaU04OTMxNGdQOUFDekhIWEQ5eGRJTzQ5NDc2Z08yTWZKakxDalJnWXlnQ0lxZ0NHcWlGRmwwV29NN2o3OEltQThjQlE3Z3p1YUhwL3djazFhbnBPMkJxWHk3bFN1OUk5WUo5QVBYV2Z5Y3hmdUJhNEhiekRwd2M5WkM0RlFaaTJxV1hKSzBXZEkwdWUzU3VScDVQL2xSU2I4bkxDdnNRSzVKTk0yemtpWktla25Ta0tWZGxQU21sWDBnVVhaTlVkQVdxM2hZN3R6ajgzSysrRnVTOWljVTMySGw5MXA4UzFGUW4xVjhWVktiM01ydzI1YTNNZ0hhYkdrdldyd3ZUWi92ZTdUQXJxZUJxM0grM2Y2NlBJQmY3VnJ6a3VhVElqN1FqM1pkREp3RjlqTHk1d0pkaVhLMXQrTnJaeHVPRmdWOWJkZFZ3QlBBTjhBUlM1dHAxNVBBWnhhLzI5SU9wR3J6OUZHM1Jzc2N5K3VTOUlxa0JYTEQvWjFHUmwxeVFFanVIQU55N3ZGYVNkTWxyWmEwSzFHbTFQY0lTVE1sRFppU2JaYTJJOFZTU1RvbHoyTW85UFFlQk83Q3ZURTFpRHRSYzJkS3VmZndQWDRDZlZRZnJwZjBzS1Jqa3M1WnMyN0o2cFA2RUgzdkNCcDcwRDhkYjJWWEZQZklhZ0FBQUFCSlJVNUVya0pnZ2c9PSl9LmxlYWZsZXQtb2xkaWUgLm1hcGJveC1sb2dvLXRydWV7YmFja2dyb3VuZC1pbWFnZTpub25lfVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vKiFcbiAqIGFuaW1hdGUuY3NzIC1odHRwOi8vZGFuZWRlbi5tZS9hbmltYXRlXG4gKiBWZXJzaW9uIC0gMy41LjBcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAtIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTYgRGFuaWVsIEVkZW5cbiAqL1xuXG4uYW5pbWF0ZWQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuLmFuaW1hdGVkLmluZmluaXRlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG59XG5cbi5hbmltYXRlZC5oaW5nZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbn1cblxuLmFuaW1hdGVkLmZsaXBPdXRYLFxuLmFuaW1hdGVkLmZsaXBPdXRZLFxuLmFuaW1hdGVkLmJvdW5jZUluLFxuLmFuaW1hdGVkLmJvdW5jZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAuNzVzO1xuICBhbmltYXRpb24tZHVyYXRpb246IC43NXM7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2Uge1xuICBmcm9tLCAyMCUsIDUzJSwgODAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgfVxuXG4gIDQwJSwgNDMlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwtNHB4LDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlIHtcbiAgZnJvbSwgMjAlLCA1MyUsIDgwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gIH1cblxuICA0MCUsIDQzJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUwLCAwLjg1NSwgMC4wNjApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsLTRweCwwKTtcbiAgfVxufVxuXG4uYm91bmNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGFzaCB7XG4gIGZyb20sIDUwJSwgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyNSUsIDc1JSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsYXNoIHtcbiAgZnJvbSwgNTAlLCB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDI1JSwgNzUlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5mbGFzaCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xuICBhbmltYXRpb24tbmFtZTogZmxhc2g7XG59XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2Uge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBwdWxzZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4ucHVsc2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcnViYmVyQmFuZCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgfVxuXG4gIDY1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk1LCAxLjA1LCAxKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgLjk1LCAxKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBydWJiZXJCYW5kIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICB9XG5cbiAgNjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4ucnViYmVyQmFuZCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBydWJiZXJCYW5kO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2hha2Uge1xuICBmcm9tLCB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAxMCUsIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDIwJSwgNDAlLCA2MCUsIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzaGFrZSB7XG4gIGZyb20sIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDEwJSwgMzAlLCA1MCUsIDcwJSwgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICB9XG5cbiAgMjAlLCA0MCUsIDYwJSwgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgfVxufVxuXG4uc2hha2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGVhZFNoYWtlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDYuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgfVxuXG4gIDE4LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgfVxuXG4gIDMxLjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gIH1cblxuICA0My41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGhlYWRTaGFrZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICA2LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG4gIH1cblxuICAxOC41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XG4gIH1cblxuICAzMS41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xuICB9XG5cbiAgNDMuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuLmhlYWRTaGFrZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBoZWFkU2hha2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBoZWFkU2hha2U7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzd2luZyB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHN3aW5nIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICB9XG59XG5cbi5zd2luZyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmc7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHRhZGEge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICAxMCUsIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICAzMCUsIDUwJSwgNzAlLCA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuXG4gIDQwJSwgNjAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHRhZGEge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICAxMCUsIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICAzMCUsIDUwJSwgNzAlLCA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuXG4gIDQwJSwgNjAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4udGFkYSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHRhZGE7XG4gIGFuaW1hdGlvbi1uYW1lOiB0YWRhO1xufVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHdvYmJsZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIDE1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG5cbiAgNDUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHdvYmJsZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIDE1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG5cbiAgNDUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4ud29iYmxlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogd29iYmxlO1xuICBhbmltYXRpb24tbmFtZTogd29iYmxlO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgamVsbG8ge1xuICBmcm9tLCAxMS4xJSwgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIDIyLjIlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gIH1cblxuICAzMy4zJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gIH1cblxuICA0NC40JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcbiAgfVxuXG4gIDU1LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICB9XG5cbiAgNjYuNiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcbiAgfVxuXG4gIDc3LjclIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gIH1cblxuICA4OC44JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBqZWxsbyB7XG4gIGZyb20sIDExLjElLCB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgMjIuMiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgfVxuXG4gIDMzLjMlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgfVxuXG4gIDQ0LjQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICB9XG5cbiAgNTUuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gIH1cblxuICA2Ni42JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICB9XG5cbiAgNzcuNyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcbiAgfVxuXG4gIDg4LjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcbiAgfVxufVxuXG4uamVsbG8ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBqZWxsbztcbiAgYW5pbWF0aW9uLW5hbWU6IGplbGxvO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW4ge1xuICBmcm9tLCAyMCUsIDQwJSwgNjAlLCA4MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOTcsIC45NywgLjk3KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjk3LCAuOTcsIC45Nyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbiB7XG4gIGZyb20sIDIwJSwgNDAlLCA2MCUsIDgwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45NywgLjk3LCAuOTcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTcsIC45NywgLjk3KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG4uYm91bmNlSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uYm91bmNlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDI1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uYm91bmNlSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgZnJvbSwgNjAlLCA3NSUsIDkwJSwgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICB9XG5cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uYm91bmNlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiAgfVxuXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuICBmcm9tLCA2MCUsIDc1JSwgOTAlLCB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4gIH1cblxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45LCAuOSwgLjkpO1xuICB9XG5cbiAgNTAlLCA1NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOSwgLjksIC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjksIC45LCAuOSk7XG4gIH1cblxuICA1MCUsIDU1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cbn1cblxuLmJvdW5jZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG5cbiAgNDAlLCA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG5cbiAgNDAlLCA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uYm91bmNlT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbi5ib3VuY2VPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG4uYm91bmNlT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cblxuICA0MCUsIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cblxuICA0MCUsIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG59XG5cbi5ib3VuY2VPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmZhZGVJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5Eb3duQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluTGVmdEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluUmlnaHRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5mYWRlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4uZmFkZUluVXBCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmZhZGVPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dERvd25CaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRMZWZ0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRSaWdodEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFVwQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoLjk1LCAuOTUsIC45NSk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCguOTUsIC45NSwgLjk1KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKC45NSwgLjk1LCAuOTUpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbn1cblxuLmFuaW1hdGVkLmZsaXAge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcEluWCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG5cbi5mbGlwSW5YIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cblxuLmZsaXBJblkge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZO1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uZmxpcE91dFgge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcE91dFkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5mbGlwT3V0WSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZO1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFk7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmxpZ2h0U3BlZWRJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmxpZ2h0U3BlZWRPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJbiB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluRG93bkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJbkRvd25SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluVXBMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJblVwUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dERvd25MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0RG93blJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93blJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0VXBMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0VXBSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGluZ2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgMjAlLCA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgNDAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgaGluZ2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgMjAlLCA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgNDAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5oaW5nZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhpbmdlO1xuICBhbmltYXRpb24tbmFtZTogaGluZ2U7XG59XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm9sbEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi5yb2xsSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG59XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb2xsT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgfVxufVxuXG4ucm9sbE91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uem9vbUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG4uem9vbUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG4uem9vbUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbi56b29tSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogem9vbUluUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuLnpvb21JblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnpvb21PdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0O1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXREb3duIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0RG93biB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICB9XG59XG5cbi56b29tT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dERvd247XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIH1cbn1cblxuLnpvb21PdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXRSaWdodCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgfVxufVxuXG4uem9vbU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFVwIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0VXAge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTtcbiAgfVxufVxuXG4uem9vbU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dFVwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluRG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLnNsaWRlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluVXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuLnNsaWRlT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuLnNsaWRlT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuLnNsaWRlT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBQcmltYXJ5IGNvbG9yIGZvciBpbnRlcmFjdGl2ZSBjb21wb25lbnRzIGxpa2UgbGlua3MgYW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRwcmltYXJ5LWNvbG9yOiAjMjE5OWU4ICFkZWZhdWx0O1xuXG4vLy8gU2Vjb25kYXJ5IGNvbG9yLCB1c2VkIHdpdGggY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgdGhlIGAuc2Vjb25kYXJ5YCBjbGFzcy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlY29uZGFyeS1jb2xvcjogIzc3NyAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIGluZGljYXRlIGEgcG9zaXRpdmUgc3RhdHVzIG9yIGFjdGlvbiwgdXNlZCB3aXRoIHRoZSBgLnN1Y2Nlc3NgIGNsYXNzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3VjY2Vzcy1jb2xvcjogIzNhZGI3NiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIGluZGljYXRlIGEgY2F1dGlvbiBzdGF0dXMgb3IgYWN0aW9uLCB1c2VkIHdpdGggdGhlIGAud2FybmluZ2AgY2xhc3MuXG4vLy8gQHR5cGUgQ29sb3JcbiR3YXJuaW5nLWNvbG9yOiAjZmZhZTAwICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gaW5kaWNhdGUgYSBuZWdhdGl2ZSBzdGF0dXMgb3IgYWN0aW9uLCB1c2VkIHdpdGggdGhlIGAuYWxlcnRgIGNsYXNzLlxuLy8vIEB0eXBlIENvbG9yXG4kYWxlcnQtY29sb3I6ICNlYzU4NDAgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgbWFwIHVzZWQgdG8gaXRlcmF0ZSB0aHJvdWdoIGNvbG9ycywgdG8gZ2VuZXJhdGUgQ1NTIGNsYXNzZXMgd2l0aCBsZXNzIGNvZGVcbiRmb3VuZGF0aW9uLWNvbG9yczogKFxuICBwcmltYXJ5OiAkcHJpbWFyeS1jb2xvcixcbiAgc2Vjb25kYXJ5OiAkc2Vjb25kYXJ5LWNvbG9yLFxuICBzdWNjZXNzOiAkc3VjY2Vzcy1jb2xvcixcbiAgYWxlcnQ6ICRhbGVydC1jb2xvcixcbiAgd2FybmluZzogJHdhcm5pbmctY29sb3IsXG4pO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgLXpmLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwsXG4gIGJvZHkge1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6YmVmb3JlLFxuICAqOmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuXG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIElkU2VsZWN0b3JcbiAgI21hcF9jYW52YXMsXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cbn1cblxuLy8vIExvYWRzIG5vcm1hbGl6ZS5jc3MuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLXpmLW5vcm1hbGl6ZSB7XG4gIC8qISBub3JtYWxpemUuY3NzIHYzLjAuMyB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuICAvKipcbiAgICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAgICogMi4gUHJldmVudCBpT1MgYW5kIElFIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgZGV2aWNlIG9yaWVudGF0aW9uIGNoYW5nZSxcbiAgICogICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxuICAgKi9cblxuICBodG1sIHtcbiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICAgKi9cblxuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gICAqIGFuZCBGaXJlZm94LlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICAgKi9cblxuICBhcnRpY2xlLFxuICBhc2lkZSxcbiAgZGV0YWlscyxcbiAgZmlnY2FwdGlvbixcbiAgZmlndXJlLFxuICBmb290ZXIsXG4gIGhlYWRlcixcbiAgaGdyb3VwLFxuICBtYWluLFxuICBtZW51LFxuICBuYXYsXG4gIHNlY3Rpb24sXG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLyoqXG4gICAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gICAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICovXG5cbiAgYXVkaW8sXG4gIGNhbnZhcyxcbiAgcHJvZ3Jlc3MsXG4gIHZpZGVvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICAgKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICAgKi9cblxuICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAgICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICAgKi9cblxuICBbaGlkZGVuXSxcbiAgdGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvKiBMaW5rc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICovXG5cbiAgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvKipcbiAgICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuICAgKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gICAqL1xuXG4gIGE6YWN0aXZlLFxuICBhOmhvdmVyIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGIsXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBkZm4ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gICAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAgICovXG5cbiAgbWFyayB7XG4gICAgYmFja2dyb3VuZDogI2ZmMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICB9XG5cbiAgLyoqXG4gICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbiAgc3ViLFxuICBzdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cblxuICAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICAgKi9cblxuICBpbWcge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAgICovXG5cbiAgc3ZnOm5vdCg6cm9vdCkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICAgKi9cblxuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMWVtIDQwcHg7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICAgKi9cblxuICBociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuICBwcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbiAgY29kZSxcbiAga2JkLFxuICBwcmUsXG4gIHNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxuXG4gIC8qIEZvcm1zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gICAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAgICovXG5cbiAgLyoqXG4gICAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAgICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gICAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gICAgbWFyZ2luOiAwOyAvKiAzICovXG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gICAqL1xuXG4gIGJ1dHRvbiB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICAgKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICAgKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICAgKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gICAqL1xuXG4gIGJ1dHRvbixcbiAgc2VsZWN0IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC8qKlxuICAgKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICAgKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAgICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICAgKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICAgKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gICAqL1xuXG4gIGJ1dHRvbixcbiAgaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gIGlucHV0W3R5cGU9XCJyZXNldFwiXSxcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKi9cblxuICBidXR0b25bZGlzYWJsZWRdLFxuICBodG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAgICovXG5cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBpbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICAgKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAgICovXG5cbiAgaW5wdXQge1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIH1cblxuICAvKipcbiAgICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICAgKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICAgKlxuICAgKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICAgKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICAgKi9cblxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICAgKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICAgKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gICAqL1xuXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC8qKlxuICAgKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG5cbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICAgKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gICAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAgICovXG5cbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAgICovXG5cbiAgZmllbGRzZXQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgbWFyZ2luOiAwIDJweDtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gIH1cblxuICAvKipcbiAgICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICAgKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gICAqL1xuXG4gIGxlZ2VuZCB7XG4gICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gICAqL1xuXG4gIHRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8qKlxuICAgKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gICAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICAgKi9cblxuICBvcHRncm91cCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICAvKiBUYWJsZXNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICAgKi9cblxuICB0YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgfVxuXG4gIHRkLFxuICB0aCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuIiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENsb3NlIEJ1dHRvblxuLy8gIDE1LiBEcmlsbGRvd25cbi8vICAxNi4gRHJvcGRvd25cbi8vICAxNy4gRHJvcGRvd24gTWVudVxuLy8gIDE4LiBGbGV4IFZpZGVvXG4vLyAgMTkuIEZvcm1zXG4vLyAgMjAuIExhYmVsXG4vLyAgMjEuIE1lZGlhIE9iamVjdFxuLy8gIDIyLiBNZW51XG4vLyAgMjMuIE9mZi1jYW52YXNcbi8vICAyNC4gT3JiaXRcbi8vICAyNS4gUGFnaW5hdGlvblxuLy8gIDI2LiBQcm9ncmVzcyBCYXJcbi8vICAyNy4gUmV2ZWFsXG4vLyAgMjguIFNsaWRlclxuLy8gIDI5LiBTd2l0Y2hcbi8vICAzMC4gVGFibGVcbi8vICAzMS4gVGFic1xuLy8gIDMyLiBUaHVtYm5haWxcbi8vICAzMy4gVG9vbHRpcFxuLy8gIDM0LiBUb3AgQmFyXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbi8vICRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApO1xuJGdsb2JhbC13aWR0aDogMTAwJTtcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG4kY29udGFpbmVyLW1heC13aWR0aDogOTAwcHg7XG4kcmVkOiAjRTk0ODIyO1xuJGJsdWU6ICMwNzc0Q0I7XG4kZ3JlZW46ICM0OTUyMzU7XG4kcHJpbWFyeS1jb2xvcjogJGJsdWU7XG4kc2Vjb25kYXJ5LWNvbG9yOiAjNzc3O1xuJHN1Y2Nlc3MtY29sb3I6ICMzYWRiNzY7XG4kd2FybmluZy1jb2xvcjogI2ZmYWUwMDtcbiRhbGVydC1jb2xvcjogI2VjNTg0MDtcbiRsaWdodGVzdC1ncmF5OiAjRjlGOUY5O1xuJGxpZ2h0ZXItZ3JheTogI0Y1RjVGNTtcbiRsaWdodC1ncmF5OiAjZTZlNmU2O1xuJG1lZGl1bS1ncmF5OiAjQ0VDRUNFO1xuJGRhcmstZ3JheTogIzJDMkMyQztcbiRibGFjazogIzBhMGEwYTtcbiR3aGl0ZTogI2ZlZmVmZTtcblxuJGNvbG9yLWZhY2Vib29rOiAjNDU2MTlEO1xuJGNvbG9yLXR3aXR0ZXI6ICMzQjk0RDk7XG4kY29sb3ItcGVyaXNjb3BlOiAjNDBhNGM0O1xuJGNvbG9yLXlvdXR1YmU6ICNjZDIwMWY7XG4kY29sb3ItaW5zdGFncmFtOiAjM2Y3MjliO1xuJGNvbG9yLWxpbmtlZGluOiAjMDA3N2I1O1xuXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2s7XG4kYm9keS1mb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIFwiR290aGFtXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuJHNlY29uZGFyeS1mb250LWZhbWlseTogXCJUdW5nc3RlbiBBXCIsIFwiVHVuZ3N0ZW4gQlwiLCBcIlR1bmdzdGVuXCIsIEdlb3JnaWE7XG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZTtcbiR0ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcbiRnbG9iYWwtcmFkaXVzOiAwO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJHJlbS1iYXNlOiAxNnB4O1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UgeGxhcmdlIHh4bGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IDMwcHg7XG4kYmxvY2stZ3JpZC1tYXg6IDY7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiRoZWFkZXItc2l6ZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAyNCxcbiAgICAnaDInOiAyMCxcbiAgICAnaDMnOiAxOSxcbiAgICAnaDQnOiAxOCxcbiAgICAnaDUnOiAxNyxcbiAgICAnaDYnOiAxNixcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogNDgsXG4gICAgJ2gyJzogNDAsXG4gICAgJ2gzJzogMzEsXG4gICAgJ2g0JzogMjUsXG4gICAgJ2g1JzogMjAsXG4gICAgJ2g2JzogMTYsXG4gICksXG4pO1xuJGhlYWRlci1jb2xvcjogaW5oZXJpdDtcbiRoZWFkZXItbGluZWhlaWdodDogMS40O1xuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kc21hbGwtZm9udC1zaXplOiA4MCU7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjaztcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XG5cbi8vIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1O1xuJGxlYWQtbGluZWhlaWdodDogMS42O1xuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xuXG4vLyA2LiBBYmlkZVxuLy8gLS0tLS0tLS1cblxuJGFiaWRlLWlucHV0czogdHJ1ZTtcbiRhYmlkZS1sYWJlbHM6IHRydWU7XG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiAkYWxlcnQtY29sb3I7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiAkYWxlcnQtY29sb3I7XG4kaW5wdXQtZXJyb3ItY29sb3I6ICRhbGVydC1jb2xvcjtcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gNy4gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZTtcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6IGZvcmVncm91bmQoJGJhZGdlLWJhY2tncm91bmQpO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDogdHJ1ZTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW07XG4kYnV0dG9uLW1hcmdpbjogMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAjZmZmO1xuJGJ1dHRvbi1jb2xvci1hbHQ6ICMwMDA7XG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcblxuLy8gMTQuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogMXJlbTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IDAuNXJlbTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAyZW07XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuXG4vLyAxNS4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuXG4vLyAxNi4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxNnJlbTtcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pO1xuXG4vLyAxNy4gRHJvcGRvd24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG5cbi8vIDE4LiBGbGV4IFZpZGVvXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kZmxleHZpZGVvLXBhZGRpbmctdG9wOiByZW0tY2FsYygyNSk7XG4kZmxleHZpZGVvLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiRmbGV4dmlkZW8tcmF0aW86IDQgYnkgMztcbiRmbGV4dmlkZW8tcmF0aW8td2lkZXNjcmVlbjogMTYgYnkgOTtcblxuLy8gMTkuIEZvcm1zXG4vLyAtLS0tLS0tLS1cblxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcbiRoZWxwdGV4dC1jb2xvcjogIzMzMztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogI2ZhZmFmYTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICMzMzM7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRkYXJrLWdyYXk7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5O1xuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogZGVmYXVsdDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjAuIExhYmVsXG4vLyAtLS0tLS0tLS1cblxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGxhYmVsLWNvbG9yOiBmb3JlZ3JvdW5kKCRsYWJlbC1iYWNrZ3JvdW5kKTtcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xuXG4vLyAyMi4gTWVudVxuLy8gLS0tLS0tLS1cblxuJG1lbnUtbWFyZ2luOiAwO1xuJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbTtcbiRtZW51LWl0ZW0tcGFkZGluZzogMC43cmVtIDFyZW07XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG4kbWVudS1leHBhbmQtbWF4OiA2O1xuXG4vLyAyMy4gT2ZmLWNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJG9mZmNhbnZhcy1zaXplOiAyNTBweDtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kb2ZmY2FudmFzLXppbmRleDogLTE7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuJG1haW5jb250ZW50LXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNSk7XG5cbi8vIDI0LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjUuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiBmb3JlZ3JvdW5kKCRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50KTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuXG4vLyAyNi4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI3LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1vZmZzZXQ6IHJlbS1jYWxjKDEwMCk7XG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xuXG4vLyAyOC4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAkc2xpZGVyLWhlaWdodDtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXG4vLyAyOS4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDMwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuXG4vLyAzMS4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1pdGVtLWNvbG9yOiBmb3JlZ3JvdW5kKCR0YWItYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkdGFiLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyAzMi4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMzMuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1waXAtb2Zmc2V0OiAxLjI1cmVtO1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMzQuIFRvcCBCYXJcbi8vIC0tLS0tLS0tLS0tXG5cbiR0b3BiYXItcGFkZGluZzogMXJlbTtcbiR0b3BiYXItYmFja2dyb3VuZDogJHdoaXRlO1xuJHRvcGJhci1saW5rLWNvbG9yOiAjZmZmO1xuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbGV4LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBjb250YWluZXIgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxMaXN0fSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1yb3ctd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgcm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UgZm9yIHRoaXMgcm93LiBJZiBzZXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCksIHRoZSBnbG9iYWwgY29sdW1uIGNvdW50IHdpbGwgYmUgdXNlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRiYXNlIFt0cnVlXSAtIFNldCB0byBgZmFsc2VgIHRvIHByZXZlbnQgYmFzaWMgc3R5bGVzIGZyb20gYmVpbmcgb3V0cHV0LiBVc2VmdWwgaWYgeW91J3JlIGNhbGxpbmcgdGhpcyBtaXhpbiBvbiB0aGUgc2FtZSBlbGVtZW50IHR3aWNlLCBhcyBpdCBwcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIG91dHB1dC5cbkBtaXhpbiBmbGV4LWdyaWQtcm93KFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICR3aWR0aDogJGdyaWQtcm93LXdpZHRoLFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJhc2U6IHRydWVcbikge1xuICAkYmVoYXZpb3I6IC16Zi1nZXQtb3B0aW9ucygkYmVoYXZpb3IsIG5lc3QgY29sbGFwc2UpO1xuICAkbWFyZ2luOiBhdXRvO1xuXG4gIEBpZiBtYXAtZ2V0KCRiZWhhdmlvciwgbmVzdCkge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKCRncmlkLWNvbHVtbi1ndXR0ZXIpIC8gMiAqIC0xO1xuICB9XG4gIEBlbHNlIHtcbiAgICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgfVxuXG4gIEBpZiAkYmFzZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICB9XG5cbiAgbWFyZ2luLWxlZnQ6ICRtYXJnaW47XG4gIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zLCAkYmFzZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBgZmxleGAgcHJvcGVydHkgZm9yIGEgZmxleCBncmlkIGNvbHVtbi4gSXQgYWNjZXB0cyBhbGwgb2YgdGhlIHNhbWUgdmFsdWVzIGFzIHRoZSBiYXNpYyBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIGFsb25nIHdpdGggdHdvIGV4dHJhczpcbi8vLyAgIC0gYG51bGxgICh0aGUgZGVmYXVsdCkgd2lsbCBtYWtlIHRoZSBjb2x1bW4gZXhwYW5kIHRvIGZpbGwgc3BhY2UuXG4vLy8gICAtIGBzaHJpbmtgIHdpbGwgbWFrZSB0aGUgY29sdW1uIGNvbnRyYWN0LCBzbyBpdCBvbmx5IHRha2VzIHVwIHRoZSBob3Jpem9udGFsIHNwYWNlIGl0IG5lZWRzLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW251bGxdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi5cbkBmdW5jdGlvbiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zOiBudWxsKSB7XG4gICRmbGV4OiAxIDEgMHB4O1xuXG4gIEBpZiAkY29sdW1ucyA9PSBzaHJpbmsge1xuICAgICRmbGV4OiAwIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICAkZmxleDogMCAwIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxuXG4gIEByZXR1cm4gJGZsZXg7XG59XG5cbi8vLyBDcmVhdGVzIGEgY29sdW1uIGZvciBhIGZsZXggZ3JpZC4gQnkgZGVmYXVsdCwgdGhlIGNvbHVtbiB3aWxsIHN0cmV0Y2ggdG8gdGhlIGZ1bGwgd2lkdGggb2YgaXRzIGNvbnRhaW5lciwgYnV0IHRoaXMgY2FuIGJlIG92ZXJyaWRkZW4gd2l0aCBzaXppbmcgY2xhc3Nlcywgb3IgYnkgdXNpbmcgdGhlIGB1bnN0YWNrYCBjbGFzcyBvbiB0aGUgcGFyZW50IGZsZXggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW251bGxdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBmbGV4LWdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2UgYmV0d2VlbiBjb2x1bW5zLCBhZGRlZCBhcyBhIGxlZnQgYW5kIHJpZ2h0IHBhZGRpbmcuXG5AbWl4aW4gZmxleC1ncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XG5cbiAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkY29sdW1ucyk7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlcjtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlcjtcblxuICAvLyBtYXgtd2lkdGggZml4ZXMgSUUgMTAvMTEgbm90IHJlc3BlY3RpbmcgdGhlIGZsZXgtYmFzaXMgcHJvcGVydHlcbiAgQGlmICRjb2x1bW5zICE9IG51bGwgYW5kICRjb2x1bW5zICE9IHNocmluayB7XG4gICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggZ3JpZCBjb2x1bW4uIENvbHVtbnMgd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtZ3JpZC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1ncmlkIHtcbiAgLy8gUm93XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XG5cbiAgICAvLyBOZXN0aW5nIGJlaGF2aW9yXG4gICAgJiAmLFxuICAgIC5jb2x1bW4tcm93ICYge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdyhuZXN0LCAkYmFzZTogZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtblxuICAlZmxleC1jb2x1bW4ge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW47XG4gIH1cblxuICAuY29sdW1uLFxuICAuY29sdW1ucyB7XG4gICAgQGV4dGVuZCAlZmxleC1jb2x1bW47XG4gIH1cblxuICAvLyBTaXppbmcgKHBlcmNlbnRhZ2UpXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgICAgLiN7JHNpemV9LSN7JGl9IHtcbiAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRpKTtcbiAgICAgICAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNpemluZyAoZXhwYW5kKVxuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAuI3skc2l6ZX0tZXhwYW5kIHtcbiAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTaXppbmcgKHNocmluaylcbiAgLnNocmluayB7XG4gICAgZmxleDogZmxleC1ncmlkLWNvbHVtbihzaHJpbmspO1xuICB9XG5cbiAgLy8gQXV0by1zdGFja2luZy91bnN0YWNraW5nXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSBzbWFsbCB7XG4gICAgICAucm93LiN7JHNpemV9LXVuc3RhY2sge1xuICAgICAgICAuY29sdW1uIHtcbiAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKDEwMCUpO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDYge1xuICAgICAgICAuI3skc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1vcmRlcigkaSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIChcbiAgICAncmlnaHQnOiBmbGV4LWVuZCxcbiAgICAnY2VudGVyJzogY2VudGVyLFxuICAgICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgICAnc3BhY2VkJzogc3BhY2UtYXJvdW5kLFxuICApIHtcbiAgICAucm93LmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogJHByb3A7XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAoXG4gICAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAgICdtaWRkbGUnOiBjZW50ZXIsXG4gICAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuICApIHtcbiAgICAucm93LmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIGFsaWduLWl0ZW1zOiAkcHJvcDtcbiAgICB9XG5cbiAgICAuY29sdW1uLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIGFsaWduLXNlbGY6ICRwcm9wO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRjb2x1bW5zXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBwZXJjZW50YWdlIHZhbHVlIHdpbGwgbWFrZSB0aGUgY29sdW1uIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBzaW5nbGUgZGlnaXQgd2lsbCBtYWtlIHRoZSBjb2x1bW4gc3BhbiB0aGF0IG51bWJlciBvZiBjb2x1bW5zIHdpZGUsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGNvbHVtbiBjb3VudCBvZiB0aGUgcGFyZW50IHJvdy5cbi8vLyAgIC0gQSBzdHJpbmcgb2YgdGhlIGZvcm1hdCBcInggb2YgeVwiIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBjYWxjdWxhdGVkIHBlcmNlbnRhZ2UgdmFsdWUuXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcbiAgJHdpZHRoOiAwJTtcblxuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgYW5kIGNvbHVtbiBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkY29sdW1ucykgPT0gJyUnIHtcbiAgICAgICR3aWR0aDogJGNvbHVtbnM7XG4gICAgfVxuICAgIEBlbHNlIGlmICRjb2x1bW5zIDwgMSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBleHByZXNzaW9uc1xuICBAZWxzZSBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJGNvbHVtbnMpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKG50aCgkY29sdW1ucywgMSkgLyBudGgoJGNvbHVtbnMsIDMpKTtcbiAgICB9XG4gIH1cblxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpIC8gMjtcblxuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyO1xuXG4gIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uIHJvdy4gVGhpcyBpcyB0aGUgZXF1aXZhbGVudCBvZiBhZGRpbmcgYC5yb3dgIGFuZCBgLmNvbHVtbmAgdG8gdGhlIHNhbWUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFdpZHRoIG9mIHRoZSBndXR0ZXJzIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBjb2x1bW4gcm93LlxuQG1peGluIGdyaWQtY29sdW1uLXJvdyhcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtcm93O1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkZ3V0dGVyOiAkZ3V0dGVyKTtcbiAgXG4gICYsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQGZ1bmN0aW9uIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBtaXhpbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXJvdygpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcm93XG5AbWl4aW4gZ3JpZC1jb2wtcm93KFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXIpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWtwb2ludHNcbi8vLy9cblxuLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcy5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE0NDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiBzbWFsbCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRuZXh0LWJwOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuXG4gICAgICAgIEBpZiAkbmV4dC1icCA9PSBudWxsIHtcbiAgICAgICAgICAkYnAtbWF4OiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAkYnAtbWF4OiAkbmV4dC1icDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcbiAgfVxuXG4gIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgdGhlIGlucHV0IGlzIFwiMCB1cFwiIG9yIFwiMCBkb3duXCJcbiAgQGlmICRicCA+IDAgb3IgJGRpciA9PSAnb25seScge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xuICAgICAgJG1heDogMDtcblxuICAgICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzLCBzdWJ0cmFjdCB0aGUgYnJlYWtwb2ludCB2YWx1ZSBieSBvbmUgXCJwaXhlbFwiLCBvciAxLzE2ZW0uXG4gICAgICBAaWYgJG5hbWVkIHtcbiAgICAgICAgJG1heDogJGJwLW1heDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJG1heDogJGJwO1xuICAgICAgfVxuXG4gICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICB9XG5cbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgc3RyaXAtdW5pdCgkYnApID4gMCB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRyZW0tYmFzZWAuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuXG4gIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgQGlmICRzdHIgPT0gJycge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgQGVsc2Uge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuICAvLyBTdG9yZSB0aGUgdmFsdWVzIG9mIHRoZSBtYXAgYXMgYSBsaXN0LCBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gd2l0aCBudGhcbiAgJHZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcblxuICAvLyBHaGV0dG8gZm9yIGxvb3BcbiAgJGk6IDE7XG4gICRmb3VuZDogZmFsc2U7XG4gIEBlYWNoICR2YWwgaW4gbWFwLWtleXMoJG1hcCkge1xuICAgIEBpZiAkZm91bmQgPT0gZmFsc2Uge1xuICAgICAgQGlmICgka2V5ID09ICR2YWwpIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfVxuICAgICAgJGk6ICRpICsgMTtcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAkaSA+IGxlbmd0aCgkbWFwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBudGgoJHZhbHVlcywgJGkpO1xuICB9XG59XG5cbi8vIExlZ2FjeSBicmVha3BvaW50IHZhcmlhYmxlc1xuLy8gVGhlc2Ugd2lsbCBiZSByZW1vdmVkIGluIDYuMlxuJHNtYWxsLXVwOiBudWxsO1xuJHNtYWxsLW9ubHk6IG51bGw7XG4kbWVkaXVtLXVwOiBudWxsO1xuJG1lZGl1bS1vbmx5OiBudWxsO1xuJGxhcmdlLXVwOiBudWxsO1xuJGxhcmdlLW9ubHk6IG51bGw7XG4keGxhcmdlLXVwOiBudWxsO1xuJHhsYXJnZS1vbmx5OiBudWxsO1xuJHh4bGFyZ2UtdXA6IG51bGw7XG4keHhsYXJnZS1vbmx5OiBudWxsO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHNjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9O1xuICAkbWVkaXVtLW9ubHk6IHNjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX07XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfTtcbiAgJGxhcmdlLW9ubHk6IHNjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9O1xuICAkeGxhcmdlLW9ubHk6IHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX07XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHNjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfTtcbiAgJHh4bGFyZ2Utb25seTogc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSBvbmx5KX07XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT7igJQ8aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBvZiBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHNpemVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zaXplczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6IDI0LFxuICAgICdoMic6IDIwLFxuICAgICdoMyc6IDE5LFxuICAgICdoNCc6IDE4LFxuICAgICdoNSc6IDE3LFxuICAgICdoNic6IDE2LFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiA0OCxcbiAgICAnaDInOiA0MCxcbiAgICAnaDMnOiAzMSxcbiAgICAnaDQnOiAyNSxcbiAgICAnaDUnOiAyMCxcbiAgICAnaDYnOiAxNixcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZW9jcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206ICRoZWFkZXItbWFyZ2luLWJvdHRvbTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRlci1saW5laGVpZ2h0O1xuXG4gICAgc21hbGwge1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc2l6ZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgICAjeyRoZWFkZXJ9IHsgZm9udC1zaXplOiByZW0tY2FsYygkZm9udC1zaXplKTsgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciB7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgfVxuXG4gIC8vIENvZGVcbiAgY29kZSB7XG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuXG4vLy8gRGVmaW5lcyB0aGUgYmFzZSBmb250IHNpemUgb2YgdGhlIHBhZ2UsIHdoaWNoIGlzIHRoZSB2YWx1ZSBgMXJlbWAgaXMgZXF1YWwgdG8uXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGdyb3VwIGdsb2JhbFxuJHJlbS1iYXNlOiAxNnB4ICFkZWZhdWx0O1xuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFskcmVtLWJhc2VdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiAkcmVtLWJhc2UpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRyZW0tYmFzZTtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlKTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJHJlbS1iYXNlYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbJHJlbS1iYXNlXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogJHJlbS1iYXNlKSB7XG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtXG4gIEBpZiAodW5pdCgkdmFsdWUpICE9ICdyZW0nKSB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG4gIH1cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgKCR2YWx1ZSA9PSAwcmVtKSB7ICR2YWx1ZTogMDsgfVxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgLy8gVXNlIHRvIHJlbW92ZSB0aGUgYnVsbGV0cyBmcm9tIGFuIHVub3JkZXJlZCBsaXN0XG4gIC5uby1idWxsZXQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICdzbWFsbCcge1xuICAgICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSB7ICAgICAgICAgICAgXG4gICAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeVxuLy8vL1xuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBhbGxcblxuQG1peGluIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzIHtcbiAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICAqIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICB0YWJsZS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB0aGVhZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRyLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB0ZC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG5cbiAgICAvLyBEaXNwbGF5IHRoZSBVUkwgb2YgYSBsaW5rIGFmdGVyIHRoZSB0ZXh0XG4gICAgYSxcbiAgICBhOnZpc2l0ZWQgeyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTt9XG4gICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cblxuICAgIC8vIERvbid0IGRpc3BsYXkgdGhlIFVSTCBmb3IgaW1hZ2VzIG9yIEphdmFTY3JpcHQvaW50ZXJuYWwgbGlua3NcbiAgICAuaXIgYTphZnRlcixcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICAgIGFbaHJlZl49JyMnXTphZnRlciB7IGNvbnRlbnQ6ICcnOyB9XG5cbiAgICAvLyBEaXNwbGF5IHdoYXQgYW4gYWJicmV2aWF0aW9uIHN0YW5kcyBmb3IgYWZ0ZXIgdGhlIHRleHRcbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknOyB9XG5cbiAgICAvLyBQcmV2ZW50IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgYSBibG9ja3F1b3RlIG9yIHByZWZvcm1hdHRlZCB0ZXh0IGJsb2NrXG4gICAgcHJlLFxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBoNWJwLmNvbS90XG4gICAgdGhlYWQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cblxuICAgIHRyLFxuICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgaW1nIHsgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuICAgIEBwYWdlIHsgbWFyZ2luOiAwLjVjbTsgfVxuXG4gICAgcCxcbiAgICBoMixcbiAgICBoMyB7XG4gICAgICBvcnBoYW5zOiAzO1xuICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIC8vIEF2b2lkIHBhZ2UgYnJlYWtzIGFmdGVyIGEgaGVhZGluZ1xuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucywgaWYgdGhlIGJhY2tncm91bmQgaXMgbGlnaHQuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICMwMDAgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIG9wYWNpdHkgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogaXNpdGxpZ2h0KCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6IC0yMCUpO1xuICB9XG5cbiAgQGlmIGxpZ2h0bmVzcygkYmFja2dyb3VuZCkgPj0gNzAlIHtcbiAgICAkY29sb3I6ICRidXR0b24tY29sb3ItYWx0O1xuICB9XG4gIEBlbHNlIHtcbiAgICAkY29sb3I6ICRidXR0b24tY29sb3I7XG4gIH1cblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBSZW1vdmVzIGJhY2tncm91bmQgZmlsbCBvbiBob3ZlciBhbmQgZm9jdXMgZm9yIGhvbGxvdyBidXR0b25zLlxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xuICAmLFxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3I6ICRwcmltYXJ5LWNvbG9yKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtNTAlKTtcblxuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBkaXNhYmxlZCBzdHlsZXMgdG8gYSBidXR0b24gYnkgZmFkaW5nIHRoZSBlbGVtZW50LCByZXNldGluZyB0aGUgY3Vyc29yLCBhbmQgZGlzYWJsaW5nIHBvaW50ZXIgZXZlbnRzLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgJi50aW55ICAgICB7IGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCB0aW55KTsgfVxuICAgICYuc21hbGwgICAgeyBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgc21hbGwpOyB9XG4gICAgJi5sYXJnZSAgICB7IGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBsYXJnZSk7IH1cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1jb2xvcnMge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLiN7JG5hbWV9LmRyb3Bkb3duOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9sbG93IHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgJi5ob2xsb3cge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tY29sb3JzIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHRvcDogMC4yZW07XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0ICR0cmlhbmdsZS1zaXplO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogIzY2NixcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6IGZsb29yKCgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSkpO1xuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYigje3JlZCgkY29sb3IpfSwgI3tncmVlbigkY29sb3IpfSwgI3tibHVlKCRjb2xvcil9KSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAzMiAyNFwiPjxwb2x5Z29uIHBvaW50cz1cIjAsMCAzMiwwIDE2LDI0XCIgc3R5bGU9XCJmaWxsOiAjeyRyZ2J9XCI+PC9wb2x5Z29uPjwvc3ZnPicpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDUwJSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkaSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vIFJlbW92ZSBpbiA2LjEuXG4vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgYW4gZWxlbWVudCB1c2luZyBgdHJhbnNmb3JtYC5cbkBtaXhpbiB2LWFsaWduLW1pZGRsZSB7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogZGVmYXVsdCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuXG4gICAgICBbdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICBbdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdsYWJlbCddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICMzMzMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuXG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgJiA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgMCAwICRnbG9iYWwtcmFkaXVzO1xuICAgIH1cblxuICAgICYgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgJiA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIG1hcmdpbjogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDElO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMSU7XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogI2ZhZmFmYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICMzMzMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyKTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoJGZvcm0tc3BhY2luZyAvIDIpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB9XG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiAkYWxlcnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogJGFsZXJ0LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogJGFsZXJ0LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRhbGVydC1jb2xvclxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJhY2tncm91bmQsIDAuMSk7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gKDEvMTYpO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gKDEvMTYpO1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmICRsb3dlci1ib3VuZC1zaXplID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gc21hbGwge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsb2F0XG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXMge1xuICAuZmxvYXQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICAuY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZDtcbiAgYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICBjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiB0aGUgbGFzdCB0aXRsZVxuICA6bGFzdC1jaGlsZCA+ICYge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIH1cblxuICBAaWYgJGFjY29yZGlvbi1wbHVzbWludXMge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnKyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUgPiAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ+KAkyc7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYWNjb3JkaW9uIGNvbnRlbnQuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbnRlbnQgcGFuZSBiZWxvdyBhbiBhY2NvcmRpb24gaXRlbSdzIHRpdGxlLlxuQG1peGluIGFjY29yZGlvbi1jb250ZW50IHtcbiAgcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXI7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIC8vIFRoaXMgY2xhc3MgZG9lc24ndCBuZWVkIHN0eWxlcyFcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJhZGdlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvcjogZm9yZWdyb3VuZCgkYmFkZ2UtYmFja2dyb3VuZCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgYSBiYWRnZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1taW53aWR0aDogMi4xZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBiYWRnZS5cbkBtaXhpbiBiYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmc7XG4gIG1pbi13aWR0aDogJGJhZGdlLW1pbndpZHRoO1xuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1iYWRnZSB7XG4gIC5iYWRnZSB7XG4gICAgQGluY2x1ZGUgYmFkZ2U7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1jb2xvcnMge1xuICAgICAgQGlmICRuYW1lICE9IHByaW1hcnkge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgICAgY29sb3I6IGZvcmVncm91bmQoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYnNcbi8vLy9cblxuLy8vIE1hcmdpbiBhcm91bmQgYSBicmVhZGNydW1icyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgYWN0aXZlIGJyZWFkY3J1bWIgbGluay5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBkaXNhYmxlZCBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJyZWFkY3J1bWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIG1ha2VzIGJyZWFkY3J1bWIgbGlua3MgdXBwZXJjYXNlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBhIHNsYXNoIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcblxuICAvLyBJdGVtIHdyYXBwZXJcbiAgbGkge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ7XG4gICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCB7XG4gICAgICAvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG4gICAgICAkc2xhc2g6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ2x0cicsICcvJywgJ1xcXFwnKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGFzaDtcbiAgICAgICAgbWFyZ2luOiAwICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzIHtcbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBicmVhZGNydW1icy1jb250YWluZXI7XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uLWdyb3VwXG4vLy8vXG5cbi8vLyBNYXJnaW4gZm9yIGJ1dHRvbiBncm91cHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbicgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBidXR0b25zIHRoYXQgY2FuIGJlIGluIGFuIGV2ZW4td2lkdGggYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBBZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjaGlsZC1zZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tYm90dG9tOiAkYnV0dG9uZ3JvdXAtbWFyZ2luO1xuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06ICRidXR0b25ncm91cC1zcGFjaW5nIHNvbGlkICRib2R5LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC13aWR0aCBidXR0b24gZ3JvdXAsIG1ha2luZyBlYWNoIGJ1dHRvbiBlcXVhbCB3aWR0aC5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkY291bnQgW2F1dG9dIC0gTnVtYmVyIG9mIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuIFNldCB0byBgYXV0b2AgdG8gZ2VuZXJhdGUgQ1NTIHRoYXQgd2lsbCBhY2NvdW50IGZvciBhIHZhcmlhYmxlIG51bWJlciBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1leHBhbmQoXG4gICRjb3VudDogYXV0byxcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkY291bnQgPT0gYXV0byB7XG4gICAgICBAaW5jbHVkZSBhdXRvLXdpZHRoKCRidXR0b25ncm91cC1leHBhbmQtbWF4LCAkc2VsZWN0b3IpO1xuICAgIH1cbiAgICBAZWxzZSBpZiB0eXBlLW9mKCRjb3VudCkgPT0gJ251bWJlcicge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRjb3VudCk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBTdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgfVxufVxuXG4vLy8gVW4tc3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXVuc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICB3aWR0aDogYXV0bztcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogJGJ1dHRvbmdyb3VwLXNwYWNpbmcgc29saWQgJGJvZHktYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwIHtcbiAgLmJ1dHRvbi1ncm91cCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwO1xuXG4gICAgLy8gU2l6ZXNcbiAgICAmLnRpbnkgICAgIHsgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIHRpbnkpOyB9XG4gICAgJi5zbWFsbCAgICB7IGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBzbWFsbCk7IH1cbiAgICAmLmxhcmdlICAgIHsgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGxhcmdlKTsgfVxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kOyB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLWNvbG9ycyB7XG4gICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmdWFsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZnVhbHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBpbm5lciBwYWRkaW5nIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgbWFyZ2luOiAkY2FsbG91dC1tYXJnaW47XG4gIHBhZGRpbmc6ICRjYWxsb3V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGNhbGxvdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkY2FsbG91dC1yYWRpdXM7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICRjYWxsb3V0LWZvbnQtY29sb3I7XG5cbiAgLy8gUmVzcGVjdCB0aGUgcGFkZGluZywgZm9vbC5cbiAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBxdWljayBzdHlsZXMgZm9yIGEgY2FsbG91dCB1c2luZyBhIHNpbmdsZSBjb2xvciBhcyBhIGJhc2VsaW5lLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dC1zdHlsZSgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgJGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XG4gIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1jb2xvcnMge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSguNXJlbSk7XG4gICAgfVxuXG4gICAgJi5sYXJnZSB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoM3JlbSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjbG9zZS1idXR0b25cbi8vLy9cblxuLy8vIERlZmF1bHQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVGhlIGZpcnN0IHZhbHVlIHNob3VsZCBiZSBgcmlnaHRgIG9yIGBsZWZ0YCwgYW5kIHRoZSBzZWNvbmQgdmFsdWUgc2hvdWxkIGJlIGB0b3BgIG9yIGBib3R0b21gLlxuLy8vIEB0eXBlIExpc3RcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgKG9yIGxlZnQpIG9mZnNldCBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0IGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tc2l6ZTogMmVtICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBjbG9zZSBidXR0b24uIEl0IGFmZmVjdHMgdGhlIHNwYWNpbmcgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uIHdoZW4gYmVpbmcgaG92ZXJlZCBvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgI3skeH06ICRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDtcbiAgI3skeX06ICRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw7XG4gIGZvbnQtc2l6ZTogJGNsb3NlYnV0dG9uLXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkY2xvc2VidXR0b24tbGluZWhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcmlsbGRvd25cbi8vLy9cblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydHkgdG8gdXNlIGZvciBhbmltYXRpbmcgbWVudXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBhcnJvd3MgdG8gZHJpbGxkb3duIGl0ZW1zIHdpdGggc3VibWVudXMsIGFzIHdlbGwgYXMgdGhlIGJhY2sgYnV0dG9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHN1Ym1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnUge1xuICAvLyBBcHBsaWVkIHRvIHRoZSBNZW51IGNvbnRhaW5lclxuICAuaXMtZHJpbGxkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIEFwcGxpZWQgdG8gbmVzdGVkIDx1bD5zXG4gIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogLTE7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiAkZHJpbGxkb3duLXRyYW5zaXRpb247XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgfVxuXG4gICAgJi5pcy1jbG9zaW5nIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJGRyaWxsZG93bi1hcnJvd3Mge1xuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkcHJpbWFyeS1jb2xvciwgJGdsb2JhbC1yaWdodCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmpzLWRyaWxsZG93bi1iYWNrOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgJHByaW1hcnktY29sb3IsICRnbG9iYWwtbGVmdCk7XG4gICAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwLjZyZW07IC8vIExpbmVzIHRoZSB0aXAgb2YgdGhlIGFycm93IHdpdGggdGhlIGl0ZW1zIGJlbG93XG4gICAgICBtYXJnaW4tdG9wOiAxNHB4OyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHRcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMTZyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmFja2dyb3VuZDtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWR0aDogMzAwcHg7XG4gIHotaW5kZXg6IDEwO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuXG4gICYuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93biB7XG4gIC5kcm9wZG93bi1wYW5lIHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXI7XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGRyb3Bkb3duLXNpemVzIHtcbiAgICAuZHJvcGRvd24tcGFuZS4jeyRuYW1lfSB7XG4gICAgICB3aWR0aDogJHNpemU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93bi1tZW51XG4vLy8vXG5cbi8vLyBFbmFibGVzIGFycm93cyBmb3IgaXRlbXMgd2l0aCBkcm9wZG93biBtZW51cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgfVxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIGE6OmFmdGVyIHtcbiAgICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMTBweDtcbiAgICAgIH1cblxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgJi5pcy1kb3duLWFycm93IGEge1xuICAgICAgICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogMS41cmVtO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgICAgICAmLmlzLWRvd24tYXJyb3cgPiBhOjphZnRlciB7XG4gICAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDVweCwgJGFuY2hvci1jb2xvciwgZG93bik7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogcmVtLWNhbGMoMnB4KSArIHJlbS1jYWxjKGdldC1zaWRlKCRtZW51LWl0ZW0tcGFkZGluZywgdG9wKSk7XG4gICAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgICB9XG4gICAgICAgICYuaXMtbGVmdC1hcnJvdyA+IGE6OmFmdGVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNXB4LCAkYW5jaG9yLWNvbG9yLCAkZ2xvYmFsLWxlZnQpO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgfVxuICAgICAgICAmLmlzLXJpZ2h0LWFycm93ID4gYTo6YWZ0ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg1cHgsICRhbmNob3ItY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaXMtbGVmdC1hcnJvdy5vcGVucy1pbm5lciAuc3VibWVudXtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgICAmLmlzLXJpZ2h0LWFycm93Lm9wZW5zLWlubmVyIC5zdWJtZW51e1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgICYub3BlbnMtaW5uZXIgLnN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuc3VibWVudSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuICAgICAgYm9yZGVyOiAkZHJvcGRvd25tZW51LWJvcmRlcjtcblxuICAgICAgPiBsaSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAmLmZpcnN0LXN1YiB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG5cbiAgICAgICY6bm90KC5qcy1kcm9wZG93bi1ub2hvdmVyKSA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpob3ZlciA+ICYsXG4gICAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0IC5zdWJtZW51IHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIC5zdWJtZW51LmZpcnN0LXN1YiB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICAgIHdpZHRoOiAxMDBweDtcblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxuICAgID4gbGkgLnN1Ym1lbnUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsZXgtdmlkZW9cbi8vLy9cblxuLy8vIFBhZGRpbmcgYWJvdmUgYSBmbGV4IHZpZGVvIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4dmlkZW8tcGFkZGluZy10b3A6IHJlbS1jYWxjKDI1KSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZWxvdyBhIGZsZXggdmlkZW8gY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXh2aWRlby1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIHVzZWQgdG8gY3JlYXRlIGEgNDozIGFzcGVjdCByYXRpby5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4dmlkZW8tcmF0aW86IDQgYnkgMyAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgdXNlZCB0byBjcmVhdGUgYSAxNjo5IGFzcGVjdCByYXRpby5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4dmlkZW8tcmF0aW8td2lkZXNjcmVlbjogMTYgYnkgOSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSBwZXJjZW50YWdlIGhlaWdodCB0aGF0IGNhbiBiZSB1c2VkIGFzIHBhZGRpbmcgaW4gYSBmbGV4IHZpZGVvIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIHRoYXQgY2FuIGJlIHVzZWQgYXMgdGhlIGBwYWRkaW5nLWJvdHRvbWAgcGFyYW1ldGVyIG9mIGEgZmxleCB2aWRlbyBjb250YWluZXIuXG5AZnVuY3Rpb24gZmxleC12aWRlbygkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG5cbi8vLyBDcmVhdGVzIGEgZmxleCB2aWRlbyBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gWyRmbGV4dmlkZW8tcmF0aW9dIC0gUmF0aW8gdG8gdXNlIGZvciB0aGUgY29udGFpbmVyLCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gZmxleC12aWRlbygkcmF0aW86ICRmbGV4dmlkZW8tcmF0aW8pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctdG9wOiAkZmxleHZpZGVvLXBhZGRpbmctdG9wO1xuICBwYWRkaW5nLWJvdHRvbTogZmxleC12aWRlbygkcmF0aW8pO1xuICBtYXJnaW4tYm90dG9tOiAkZmxleHZpZGVvLW1hcmdpbi1ib3R0b207XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8ge1xuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgZmxleC12aWRlbztcblxuICAgICYud2lkZXNjcmVlbiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogZmxleC12aWRlbygkZmxleHZpZGVvLXJhdGlvLXdpZGVzY3JlZW4pO1xuICAgIH1cblxuICAgICYudmltZW8ge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBsYWJlbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3I6IGZvcmVncm91bmQoJGxhYmVsLWJhY2tncm91bmQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYmFzZSBzdHlsZXMgZm9yIGEgbGFiZWwuXG5AbWl4aW4gbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRsYWJlbC1wYWRkaW5nO1xuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1yYWRpdXM7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWxhYmVsIHtcbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBsYWJlbDtcblxuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLWNvbG9ycyB7XG4gICAgICBAaWYgJG5hbWUgIT0gcHJpbWFyeSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgICBjb2xvcjogZm9yZWdyb3VuZCgkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpdGggb2YgaW1hZ2VzIHdpdGhpbiBhIG1lZGlhIG9iamVjdCwgd2hlbiB0aGUgb2JqZWN0IGlzIHN0YWNrZWQgdmVydGljYWxseS4gU2V0IHRvICdhdXRvJyB0byB1c2UgdGhlIGltYWdlJ3MgbmF0dXJhbCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbWVkaWEgb2JqZWN0IGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3QtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b207XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoKyAjeyZ9OmZpcnN0LWNoaWxkKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXN0YWNrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgICYuc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXN0YWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XG5cbiAgICAmLm1pZGRsZSB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAmLmJvdHRvbSB7IHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVudVxuLy8vL1xuXG4vLy8gTWFyZ2luIG9mIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIExlZnQtaGFuZCBtYXJnaW4gb2YgYSBuZXN0ZWQgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbi1uZXN0ZWQ6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pdGVtLXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGFuIGljb24gYW5kIHRleHQgaW4gYSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBgZXhwYW5kLW5gIGNsYXNzZXMgdG8gaW5jbHVkZSBpbiB0aGUgQ1NTLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgbWFyZ2luOiAkbWVudS1tYXJnaW47XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAvLyBMaXN0IGl0ZW1zIGFyZSB0YWJsZSBjZWxsIHRvIGFsbG93IGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnRcbiAgPiBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC8vIFJlc2V0IGxpbmUgaGVpZ2h0IHRvIG1ha2UgdGhlIGhlaWdodCBvZiB0aGUgb3ZlcmFsbCBpdGVtIGVhc2llciB0byBjYWxjdWxhdGVcbiAgPiBsaTpub3QoLm1lbnUtdGV4dCkgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtLXBhZGRpbmc7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gRXhwYW5kcyB0aGUgaXRlbXMgb2YgYSBNZW51LCBzbyBlYWNoIGl0ZW0gaXMgdGhlIHNhbWUgd2lkdGguXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJGNvdW50IFthdXRvXSAtIE51bWJlciBvZiBpdGVtcyBpbiB0aGUgTWVudS4gWW91IGNhbiBoYXJkY29kZSBhIG51bWJlciwgb3IgdXNlIGBhdXRvYCB0byBnZW5lcmF0ZSBDU1MgdGhhdCB3aWxsIGFkYXB0IHRvIHRoZSBudW1iZXIgb2YgaXRlbXMgaW5zaWRlIHRoZSBtZW51LlxuQG1peGluIG1lbnUtZXhwYW5kKCRjb3VudDogYXV0bykge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgPiBsaSB7XG4gICAgQGlmICRjb3VudCA9PSBhdXRvIHtcbiAgICAgIEBpbmNsdWRlIGF1dG8td2lkdGgoJG1lbnUtZXhwYW5kLW1heCk7XG4gICAgfVxuICAgIEBlbHNlIGlmIHR5cGUtb2YoJGNvdW50KSA9PSAnbnVtYmVyJyB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGNvdW50KTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbkBtaXhpbiBtZW51LXNpbXBsZSB7XG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IGdldC1zaWRlKCRtZW51LWl0ZW0tcGFkZGluZywgJGdsb2JhbC1yaWdodCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG5lc3RlZCBNZW51LCBieSBhZGRpbmcgYG1hcmdpbi1sZWZ0YCB0byB0aGUgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkcGFkZGluZyBbYXV0b10gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbkBtaXhpbiBtZW51LW5lc3RlZCgkbWFyZ2luOiAkbWVudS1tYXJnaW4tbmVzdGVkKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRtYXJnaW47XG59XG5cbi8vLyBBZGRzIHN1cHBvcnQgZm9yIGljb25zIHRvIE1lbnUgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkcG9zaXRpb24gW3NpZGVdIC0gUG9zaXRpb25pbmcgZm9yIGljb25zLiBDYW4gYmUgYHNpZGVgIChsZWZ0LCBvciByaWdodCBvbiBSVEwpIG9yIGB0b3BgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGJhc2UgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gcHJldmVudCB0aGUgc2hhcmVkIENTUyBiZXR3ZWVuIHNpZGUtIGFuZCB0b3AtYWxpZ25lZCBpY29ucyBmcm9tIGJlaW5nIHByaW50ZWQuIFNldCB0aGlzIHRvIGBmYWxzZWAgaWYgeW91J3JlIGNhbGxpbmcgdGhlIG1peGluIG11bHRpcGxlIHRpbWVzIG9uIHRoZSBzYW1lIGVsZW1lbnQuXG5AbWl4aW4gbWVudS1pY29ucygkcG9zaXRpb246IHNpZGUsICRiYXNlOiB0cnVlKSB7XG4gIEBpZiAkYmFzZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgPiBpbWcsXG4gICAgICA+IGkge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuXG4gICAgICA+IHNwYW4ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcG9zaXRpb24gPT0gc2lkZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgPiBpbWcsXG4gICAgICA+IGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWVudS1pY29uLXNwYWNpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgID4gbGkgPiBhIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgPiBpbWcsXG4gICAgICA+IGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gJG1lbnUtaWNvbi1zcGFjaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwYWRkaW5nOiAkbWVudS1pdGVtLXBhZGRpbmc7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG5cbiAgICAvLyBPcmllbnRhdGlvblxuICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gc21hbGwge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgID4gbGkge1xuICAgICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcblxuICAgICAgPiBsaTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgaWNvbnNcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnModG9wLCAkYmFzZTogZmFsc2UpO1xuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmLm5lc3RlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZDtcbiAgICB9XG4gIH1cblxuICAubWVudS10ZXh0IHtcbiAgICBAaW5jbHVkZSBtZW51LXRleHQ7XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggb2YgYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1zaXplOiAyNTBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXppbmRleDogLTEgIWRlZmF1bHQ7XG5cbi8vLyBMZW5ndGggb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzICFkZWZhdWx0O1xuXG4vLy8gVGltaW5nIGZ1bmN0aW9uIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG92ZXJsYXkgdGhhdCBhcHBlYXJzIHdoZW4gYW4gb2ZmLWNhbnZhcyBtZW51IGlzIG9wZW4uXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBDU1MgY2xhc3MgdXNlZCBmb3IgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGUgb2ZmLWNhbnZhcyBtaXhpbnMgdXNlIHRoaXMgdG8gdGFyZ2V0IHRoZSBwYWdlIGJvZHkuXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB0byBwbGFjZSB1bmRlciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoaXMgc2hhZG93IG92ZXJsYXBzIHRoZSBvZmYtY2FudmFzIG1lbnVzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJG1haW5jb250ZW50LXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuICAvLyBFeHRyYSBwcm9wZXJ0aWVzIG5lZWRlZCBvbiA8aHRtbD4gYW5kIDxib2R5PiB0byBtYWtlIG9mZi1jYW52YXMgd29ya1xuICBodG1sLFxuICBib2R5IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogYXV0bztcbiAgfVxuXG4gIC5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXIge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICB9XG5cbiAgLy8gQ29udGFpbmVyIGZvciBwYWdlIGNvbnRlbnRcbiAgLm9mZi1jYW52YXMtY29udGVudCxcbiAgLiN7JG1haW5jb250ZW50LWNsYXNzfSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRtYWluY29udGVudC1zaGFkb3cpIHtcbiAgICAgIGJveC1zaGFkb3c6ICRtYWluY29udGVudC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2xpY2stdG8tZXhpdCBvdmVybGF5IChnZW5lcmF0ZWQgYnkgSmF2YVNjcmlwdClcbiAgLmpzLW9mZi1jYW52YXMtZXhpdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIC5pcy1vZmYtY2FudmFzLW9wZW4gJiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIG1lbnUuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZDtcbiAgei1pbmRleDogJG9mZmNhbnZhcy16aW5kZXg7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpO1xufVxuXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkc2l6ZTogJG9mZmNhbnZhcy1zaXplLFxuICAkZml4ZWQ6IGZhbHNlXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsZWZ0OiAtJHNpemU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2l6ZTtcbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHJpZ2h0OiAtJHNpemU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2l6ZTtcbiAgfVxuXG4gIC8vIEdlbmVyYXRlcyBhbiBvcGVuIHN0YXRlIGNsYXNzIHRoYXQgbWF0Y2hlcyB0aGUgd2lkdGggb2YgdGhlIG1lbnVcbiAgQGF0LXJvb3Qge1xuICAgIC5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkcG9zaXRpb24gW2xlZnRdIC0gUG9zaXRpb24gb2YgdGhlIG9mZi1jYW52YXMgbWVudSBiZWluZyByZXZlYWxlZC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiAgJHBvc2l0aW9uOiBsZWZ0XG4pIHtcbiAgI3skcG9zaXRpb259OiAwO1xuICB6LWluZGV4OiBhdXRvO1xuXG4gIEBpZiAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG5cbiAgJiB+IC4jeyRtYWluY29udGVudC1jbGFzc30ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06ICRvZmZjYW52YXMtc2l6ZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vZmYtY2FudmFzIHtcbiAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNpY3M7XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcblxuICAgICYucG9zaXRpb24tbGVmdCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0KTsgfVxuICAgICYucG9zaXRpb24tcmlnaHQgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihyaWdodCk7IH1cbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIG1lbnUgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0KTtcbiAgICAgICAgfVxuICAgICAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwocmlnaHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvcmJpdFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYWN0aXZlIGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpYW1ldGVyIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBiZXR3ZWVuIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpc3RhbmNlIGZyb20gc2xpZGUgcmVnaW9uIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmcm9tIE9yYml0J3MgYnVsbGV0cyB0byB3aGF0ZXZlciBjb250ZW50IG1heSBsdXJrIGJlbG93IGl0LlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY29udHJvbHMgd2hlbiBob3ZlcmVkLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHotaW5kZXggZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBvdXRlciBPcmJpdCB3cmFwcGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXRgIGNsYXNzLlxuQG1peGluIG9yYml0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIE9yYml0IHNsaWRlIGNvbnRhaW5lci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNvbnRhaW5lcmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluZGl2aWR1YWwgc2xpZGVzIG9mIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXNsaWRlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAmLm5vLW1vdGlvbnVpIHtcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gb3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG5AbWl4aW4gb3JiaXQtaW1hZ2Uge1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gb3JiaXQgc2xpZGUgY2FwdGlvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNhcHRpb25gIGNsYXNzLlxuQG1peGluIG9yYml0LWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRvcmJpdC1jYXB0aW9uLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGNvbG9yOiBmb3JlZ3JvdW5kKCRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgdGhlIG5leHQvcHJldmlvdXMgYnV0dG9ucyBpbiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgc2hhcmVkIGJldHdlZW4gdGhlIGAub3JiaXQtbmV4dGAgYW5kIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzZXMgaW4gdGhlIGRlZmF1bHQgQ1NTLlxuQG1peGluIG9yYml0LWNvbnRyb2wge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgei1pbmRleDogJG9yYml0LWNvbnRyb2wtemluZGV4O1xuICBwYWRkaW5nOiAkb3JiaXQtY29udHJvbC1wYWRkaW5nO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXByZXZpb3VzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1wcmV2aW91cyB7XG4gICN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgbmV4dCBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1uZXh0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1uZXh0IHtcbiAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY29udGFpbmVyIG9mIE9yYml0IGJ1bGxldHMuIC8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWJ1bGxldHNgIGNsYXNzLlxuQG1peGluIG9yYml0LWJ1bGxldHMge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wO1xuICBtYXJnaW4tYm90dG9tOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b207XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBidXR0b24ge1xuICAgIHdpZHRoOiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIGhlaWdodDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBtYXJnaW46ICRvcmJpdC1idWxsZXQtbWFyZ2luO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb3JiaXQge1xuICAub3JiaXQge1xuICAgIEBpbmNsdWRlIG9yYml0LXdyYXBwZXI7XG4gIH1cblxuICAub3JiaXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250YWluZXI7XG4gIH1cblxuICAub3JiaXQtc2xpZGUge1xuICAgIEBpbmNsdWRlIG9yYml0LXNsaWRlO1xuICB9XG5cbiAgLm9yYml0LWZpZ3VyZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtZmlndXJlO1xuICB9XG5cbiAgLm9yYml0LWltYWdlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1pbWFnZTtcbiAgfVxuXG4gIC5vcmJpdC1jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jYXB0aW9uO1xuICB9XG5cbiAgJW9yYml0LWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRyb2w7XG4gIH1cblxuICAub3JiaXQtcHJldmlvdXMge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtcHJldmlvdXM7XG4gIH1cblxuICAub3JiaXQtbmV4dCB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1uZXh0O1xuICB9XG5cbiAgLm9yYml0LWJ1bGxldHMge1xuICAgIEBpbmNsdWRlIG9yYml0LWJ1bGxldHM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHBhZ2luYXRpb25cbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gb2YgdGhlIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IG1hcmdpbiB0byBzZXBhcmF0ZSBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogZm9yZWdyb3VuZCgkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZWxsaXBzaXMgaW4gYSBwYWdpbmF0aW9uIG1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgZmFsc2VgLCBkb24ndCBkaXNwbGF5IHBhZ2UgbnVtYmVyIGxpbmtzIG9uIG1vYmlsZSwgb25seSBuZXh0L3ByZXZpb3VzIGxpbmtzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFycm93cyBhcmUgYWRkZWQgdG8gdGhlIG5leHQgYW5kIHByZXZpb3VzIGxpbmtzIG9mIHBhZ2luYXRpb24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcGFnaW5hdGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTtcblxuICAvLyBMaXN0IGl0ZW1cbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tZm9udC1zaXplO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkcGFnaW5hdGlvbi1yYWRpdXM7XG5cbiAgICBAaWYgbm90ICRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtcyB7XG4gICAgICAmOmxhc3QtY2hpbGQsXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhLFxuICBidXR0b24ge1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCB7XG4gIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZztcbiAgYmFja2dyb3VuZDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQge1xuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc7XG4gIGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMge1xuICBjb250ZW50OiAn4oCmJztcbiAgcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nO1xuICBjb2xvcjogJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXBhZ2luYXRpb24ge1xuICAucGFnaW5hdGlvbiB7XG4gICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXI7XG5cbiAgICAuY3VycmVudCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudDtcbiAgICB9XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1lbGxpcHNpcztcbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZ2luYXRpb24tYXJyb3dzIHtcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnwqsnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICfCuyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwLjVyZW07XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm9ncmVzcy1iYXJcbi8vLy9cblxuLy8vIEhlaWdodCBvZiBhIHByb2dyZXNzIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIHByb2dyZXNzIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgYSBwcm9ncmVzcyBiYXIncyBtZXRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgYSBwcm9ncmVzcyBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHByb2dyZXNzIGJhciBjb250YWluZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIG1ldGVyIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0ZXh0IGluIHRoZSBwcm9ncmVzcyBtZXRlci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgI3skZ2xvYmFsLWxlZnR9OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb2dyZXNzLWJhciB7XG4gIC8vIFByb2dyZXNzIGJhclxuICAucHJvZ3Jlc3Mge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLWNvbnRhaW5lcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tY29sb3JzIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByb2dyZXNzIGJhciBtZXRlclxuICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyO1xuXG4gICAgLy8gUHJvZ3Jlc3MgYmFyIG1ldGVyIHRleHRcbiAgICAucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gICAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlci10ZXh0O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIFtUT0RPXSBDaGVjayBob3cgcGx1Z2luIGNvbmZpcm1zIGRpc2FibGVkIG9yIHZlcnRpY2FsIHN0YXR1c1xuLy8gW1RPRE9dIENoZWNrIGlmIHRyYW5zaXRpb246IGFsbDsgaXMgbmVjZXNzYXJ5XG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGhlaWdodCBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2xpZGVyIHdpZHRoIG9mIGEgdmVydGljYWwgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogJHNsaWRlci1oZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNsaWRlcidzIHRyYWNrLlxuLy8vIEB0eXBlIENvbG9yXG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgYWN0aXZlIGZpbGwgY29sb3Igb2YgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaGVpZ2h0IG9mIHRoZSBoYW5kbGUgb2YgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiB0aGUgaGFuZGxlIG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgaGFuZGxlIGZvciB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSBhbW91bnQgb2YgYSBkaXNhYmxlZCBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0aWVzIHRvIGFwcGx5IHRvIHRoZSBzbGlkZXIgaGFuZGxlIGFuZCBmaWxsLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBhY3RpdmUgZmlsbCBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGhlIHNsaWRlciBoYW5kbGVzLlxuQG1peGluIHNsaWRlci1oYW5kbGUge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuICB9XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG5AbWl4aW4gc2xpZGVyLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5AbWl4aW4gc2xpZGVyLXZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG5cbiAgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXNsaWRlciB7XG4gIC8vIENvbnRhaW5lclxuICAuc2xpZGVyIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItY29udGFpbmVyO1xuICB9XG5cbiAgLy8gRmlsbCBhcmVhXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWZpbGw7XG4gIH1cblxuICAvLyBEcmFnZ2FibGUgaGFuZGxlXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItaGFuZGxlO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLnNsaWRlci5kaXNhYmxlZCxcbiAgLnNsaWRlcltkaXNhYmxlZF0ge1xuICAgIEBpbmNsdWRlIHNsaWRlci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIHNsaWRlclxuICAuc2xpZGVyLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItdmVydGljYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gIH1cblxuICAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNTtcblxuICAgICYuaXMtYXQtdG9wIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gT2Zmc2V0IGZyb20gdGhlIHRvcCBvZiB0aGUgd2luZG93IHdoZW4gYSBtb2RhbCBpcyBhZGRlZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtb2Zmc2V0OiByZW0tY2FsYygxMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICAvLyBtYXJnaW46IDEwMHB4IGF1dG8gMCAxMDBweDtcbiAgbWFyZ2luOiAxMDBweCBhdXRvIDAgYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbixcbiAgLmNvbHVtbnMge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgRHVwbGljYXRlUHJvcGVydHlcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYm9yZGVyOiBub25lO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXZlYWwge1xuICBib2R5LmlzLXJldmVhbC1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIFxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yIGZvciBtZWRpdW0tYW5kLXVwIG1vZGFsc1xuICAgIC8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgJXJldmVhbC1jZW50ZXJlZCB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHN3aXRjaFxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGFjdGl2ZSBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2gsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnRpbnkgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAuc21hbGwgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5sYXJnZSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2hcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyIGFuZCBwYWRkbGUuXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoIHBhZGRsZVxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHN3aXRjaCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBtYWtlIHRoZW0gdmFyaWFibGVzXG4vLyBhc2sgYWJvdXQgYWNjZXNzaWJpbGl0eSBvbiBsYWJlbFxuLy8gY2hhbmdlIGNsYXNzIG5hbWUgZm9yIHRleHRcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBjb250YWluZXIgY2xhc3MuXG5AbWl4aW4gc3dpdGNoLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBjb2xvcjogJHdoaXRlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1yYWRpdXM7XG5cbiAgLy8gUmVzZXR0aW5nIHRoZXNlIDxsYWJlbD4gcHJlc2V0cyBzbyB0eXBlIHN0eWxlcyBjYXNjYWRlIGRvd25cbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuXG4gIC8vIE5lZWRlZCB0byBvdmVycmlkZSBzcGVjaWZpY2l0eVxuICBpbnB1dCArICYge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIFRoZSBwYWRkbGUgaXRzZWxmXG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDAuMjVyZW07XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgdmlzdWFsIHN0eWxlIHdoZW4gdGhlIHN3aXRjaCBpcyBhY3RpdmVcbiAgaW5wdXQ6Y2hlY2tlZCB+ICYge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IDIuMjVyZW07XG4gICAgfVxuICB9XG5cbiAgaW5wdXQ6Zm9jdXMgfiAmIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cbkBtaXhpbiBzd2l0Y2gtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWFjdGl2ZSB7XG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5hY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xuICAjeyRnbG9iYWwtcmlnaHR9OiAxNSU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN3aXRjaCBieSBtb2RpZnlpbmcgdGhlIHNpemUgb2YgdGhlIGJvZHkgYW5kIHBhZGRsZS4gQXBwbHkgdGhpcyB0byBhIHN3aXRjaCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbNHJlbV0gLSBXaWR0aCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzJyZW1dIC0gSGVpZ2h0IG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS13aWR0aCBbMS41cmVtXSAtIFdpZHRoIG9mIHRoZSBzd2l0Y2ggcGFkZGxlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGxlLW9mZnNldCBbMC4yNXJlbV0gLSBTcGFjaW5nIGJldHdlZW4gdGhlIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBzd2l0Y2ggYm9keS5cbkBtaXhpbiBzd2l0Y2gtc2l6ZShcbiAgJGZvbnQtc2l6ZTogMXJlbSxcbiAgJHdpZHRoOiA0cmVtLFxuICAkaGVpZ2h0OiAycmVtLFxuICAkcGFkZGxlLXdpZHRoOiAxLjVyZW0sXG4gICRwYWRkbGUtb2Zmc2V0OiAwLjI1cmVtXG4pIHtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRoZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1sZWZ0LWFjdGl2ZTogJHdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRwYWRkbGUtb2Zmc2V0O1xuXG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIH1cblxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1sZWZ0LWFjdGl2ZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zd2l0Y2gge1xuICAvLyBDb250YWluZXIgY2xhc3NcbiAgLnN3aXRjaCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIDxpbnB1dD4gZWxlbWVudFxuICAuc3dpdGNoLWlucHV0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtaW5wdXQ7XG4gIH1cblxuICAvLyA8bGFiZWw+IGVsZW1lbnRcbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1wYWRkbGU7XG4gIH1cblxuICAvLyBCYXNlIGxhYmVsIHRleHQgc3R5bGVzXG4gICVzd2l0Y2gtdGV4dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQ7XG4gIH1cblxuICAvLyBBY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWFjdGl2ZTtcbiAgfVxuXG4gIC8vIEluYWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWluYWN0aXZlO1xuICB9XG5cbiAgLy8gU3dpdGNoIHNpemVzXG4gIC5zd2l0Y2gudGlueSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTApLCAzcmVtLCAkc3dpdGNoLWhlaWdodC10aW55LCAxcmVtLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5zbWFsbCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTIpLCAzLjVyZW0sICRzd2l0Y2gtaGVpZ2h0LXNtYWxsLCAxLjI1cmVtLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5sYXJnZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTYpLCA1cmVtLCAkc3dpdGNoLWhlaWdodC1sYXJnZSwgMnJlbSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIE1lcmdlYWJsZVNlbGVjdG9yLCBRdWFsaWZ5aW5nRWxlbWVudFxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZ1YWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZnVhbHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZnVhbHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZ1YWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmdWFsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZnVhbHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZ1YWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmdWFsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBzdHJpcGVkIHJvd3MuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmdWFsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgc3RyaXBlIG9uIHJvd3Mgb2YgdGhlIHRhYmxlcywgZXhjbHVkaW5nIHRoZSBoZWFkZXIgYW5kIGZvb3RlciBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnlvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleW93b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmdWFsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZnVhbHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZnVhbHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmdWFsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgaGVhZGVyIHdoZW4gdXNpbmcgc3RhY2tlZCB0YWJsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmdWFsdCB2YWx1ZSBpcyBldmVuLlxuQG1peGluIHRhYmxlKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gIEBhdC1yb290IHtcbiAgICB0aGVhZCxcbiAgICB0Ym9keSxcbiAgICB0Zm9vdCB7XG4gICAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBDYXB0aW9uXG4gICAgY2FwdGlvbiB7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgICB0aGVhZCxcbiAgICB0Zm9vdCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XG5cbiAgICAgIC8vIFJvd3Mgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICAgIHRyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG5cbiAgICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgICB0aCxcbiAgICAgIHRkIHtcbiAgICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICB0ZXh0LWFsaWduOiAjeyRnbG9iYWwtbGVmdH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVGFibGUgcm93c1xuICAgIHRib2R5IHtcbiAgICAgIHRyIHtcbiAgICAgICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBldmVuLCBkYXJrZW4gdGhlIGV2ZW4gcm93cy5cbiAgICAgICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIG9kZCwgZGFya2VuIHRoZSBvZGQgcm93cy5cbiAgICAgICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGgsXG4gICAgICB0ZCB7XG4gICAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuXG4gICAgLy9EYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy9EYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRyLFxuICB0aCxcbiAgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFibGUge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGU7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgQGluY2x1ZGUgdGFibGUtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgdGFibGUuc2Nyb2xsIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1zY3JvbGw7XG4gIH1cblxuICB0YWJsZS5ob3ZlciB7XG4gICAgQGluY2x1ZGUgdGFibGUtaG92ZXI7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsaWdodG5lc3Mgb2YgYCRjb2xvcmAsIGFuZCBpZiBpdCBwYXNzZXMgdGhlIGAkdGhyZXNob2xkYCBvZiBsaWdodG5lc3MsIGl0IHJldHVybnMgdGhlIGAkeWVzYCBjb2xvci4gT3RoZXJ3aXNlLCBpdCByZXR1cm5zIHRoZSBgJG5vYCBjb2xvci4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gZHluYW1pY2FsbHkgb3V0cHV0IGEgZm9yZWdyb3VuZCBjb2xvciBiYXNlZCBvbiBhIGdpdmVuIGJhY2tncm91bmQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbGlnaHRuZXNzIG9mLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR5ZXMgWyRibGFja10gLSBDb2xvciB0byByZXR1cm4gaWYgYCRjb2xvcmAgaXMgbGlnaHQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJG5vIFskd2hpdGVdIC0gQ29sb3IgdG8gcmV0dXJuIGlmIGAkY29sb3JgIGlzIGRhcmsuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs2MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBUaGUgJHllcyBjb2xvciBvciAkbm8gY29sb3IuXG5AZnVuY3Rpb24gZm9yZWdyb3VuZCgkY29sb3IsICR5ZXM6ICRibGFjaywgJG5vOiAkd2hpdGUsICR0aHJlc2hvbGQ6IDYwJSkge1xuICBAaWYgJGNvbG9yID09IHRyYW5zcGFyZW50IHtcbiAgICAkY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gIH1cbiAgQGlmIChsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQpIHtcbiAgICBAcmV0dXJuICR5ZXM7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJG5vO1xuICB9XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBsaWdodGVyIGlmIGl0J3MgbGlnaHQsIG9yIGRhcmtlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gYWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1pdGVtLWNvbG9yOiBmb3JlZ3JvdW5kKCR0YWItYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGBleHBhbmQtbmAgY2xhc3NlcyB0byBpbmNsdWRlIGluIHRoZSBDU1MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkdGFiLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgbWFyZ2luOiAkdGFiLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR0YWItY29udGVudC1ib3JkZXI7XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICA+IGxpID4gYSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbFxuICAgICYudmVydGljYWwge1xuICAgICAgPiBsaSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUHJpbWFyeSBjb2xvclxuICAgICYucHJpbWFyeSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICAgPiBsaSA+IGEge1xuICAgICAgICBjb2xvcjogZm9yZWdyb3VuZCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgICA+IGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgY29sb3I6ICR0YWItaXRlbS1jb2xvcjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgfVxuICAgICAgXG4gICAgICAmOmZvY3VzLFxuICAgICAgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHRhYi1jb250ZW50LWJvcmRlcjtcbiAgICBib3JkZXItdG9wOiAwO1xuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkdGFiLWNvbnRlbnQtYm9yZGVyO1xuICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB9XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZztcblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGh1bWJuYWlsXG4vLy8vXG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wcnRpZXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRodW1ibmFpbCBzdHlsZXMgdG8gYW4gZWxlbWVudC5cbkBtaXhpbiB0aHVtYm5haWwge1xuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiAkdGh1bWJuYWlsLXRyYW5zaXRpb247XG4gIGJvcmRlci1yYWRpdXM6ICR0aHVtYm5haWwtcmFkaXVzO1xuICBtYXJnaW4tYm90dG9tOiAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b207XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGh1bWJuYWlsIHtcbiAgLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aXRsZS1iYXJcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBXZWlnaHRcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhciBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiB0aGUgbWVudSBpY29uIGFuZCB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRpdGxlLWJhciB7XG4gIC50aXRsZS1iYXIge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIGJhY2tncm91bmQ6ICR0aXRsZWJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGl0bGViYXItY29sb3I7XG4gICAgcGFkZGluZzogJHRpdGxlYmFyLXBhZGRpbmc7XG5cbiAgICAubWVudS1pY29uIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHRpdGxlYmFyLXBhZGRpbmc7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gIC50aXRsZS1iYXItcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gIC50aXRsZS1iYXItdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGViYXItdGV4dC1mb250LXdlaWdodDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gIC5tZW51LWljb24ge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigkY29sb3I6ICR0aXRsZWJhci1pY29uLWNvbG9yLCAkY29sb3ItaG92ZXI6ICR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyKTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGZvbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIG9mZnNldCBmb3IgdG9vbHRpcHMuIFRoaXMgY29udHJvbHMgaG93IGZhciB0aGUgcGlwIGlzIGluZGVudGVkIGZyb20gdGhlIGxlZnQgZWRnZSBvZiB0aGUgdG9vbHRpcC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC1vZmZzZXQ6IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gaGFzLXRpcCB7XG4gIGJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjdXJzb3I6IGhlbHA7XG59XG5cbkBtaXhpbiB0b29sdGlwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgdG9wOiBjYWxjKDEwMCUgKyAjeyR0b29sdGlwLXBpcC1oZWlnaHR9KTtcbiAgbWF4LXdpZHRoOiAxMHJlbSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1yYWRpdXM7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCB1cCk7XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG5cbiAgJi50b3A6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgZG93bik7XG4gICAgdG9wOiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgfVxuXG4gICYubGVmdDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG5cbiAgJi5yaWdodDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBsZWZ0KTtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9vbHRpcCB7XG4gIC5oYXMtdGlwIHtcbiAgICBAaW5jbHVkZSBoYXMtdGlwO1xuICB9XG5cbiAgLnRvb2x0aXAge1xuICAgIEBpbmNsdWRlIHRvb2x0aXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvcC1iYXJcbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhci4gVGhpcyBjb2xvciBhbHNvIGNhc2NhZGVzIHRvIG1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGZvciBsaW5rcyBpbnNpZGUgYSB0b3AgYmFyIG1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItbGluay1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBgPGlucHV0PmAgZWxlbWVudHMgaW5zaWRlIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0b3AgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiB0b3AtYmFyLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XG5cbiAgJixcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3I7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgd2lkdGg6ICR0b3BiYXItaW5wdXQtd2lkdGg7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gIH1cblxuICBpbnB1dC5idXR0b24ge1xuICAgIHdpZHRoOmF1dG87XG4gIH1cbn1cblxuLy8vIG1ha2VzIHNlY3Rpb25zIHN0YWNrZWRcbkBtaXhpbiB0b3AtYmFyLXN0YWNrZWQoKSB7XG4gIC8vIFN1Yi1zZWN0aW9uc1xuICAudG9wLWJhci1yaWdodCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnRvcC1iYXItbGVmdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcbiAgfVxuICAvLyBnZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIC5zdGFja2VkLWZvci0jeyRzaXplfSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICAgICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBzdGFjayBvbiBzbWFsbCBzY3JlZW5zIGFzIGRlZmF1bHRcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuICB9XG5cbiAgLy8gU3ViLXNlY3Rpb25zXG4gIC50b3AtYmFyLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC50b3AtYmFyLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbn1cbiIsIi8vIEludGVybmFsIGNvdW50ZXIgZm9yIGNyZWF0aW5nIHVuaXF1ZSBrZXlmcmFtZSBuYW1lc1xuJC1tdWktY3VzdG9tOiAwO1xuXG4vLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucy4gVXNlIHRoaXMgZnVuY3Rpb24gaW5zdGVhZCBvZiBgbXVpLWFuaW1hdGlvbmAgaWYgeW91IHdhbnQgdG8gY3JlYXRlIGEga2V5ZnJhbWUgYW5pbWF0aW9uICp3aXRob3V0KiBhdXRvbWF0aWNhbGx5IGFzc2lnbmluZyBpdCB0byB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBrZXlmcmFtZS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWtleWZyYW1lcygkbmFtZSwgJGVmZmVjdHMuLi4pIHtcbiAgJG9iajogLW11aS1wcm9jZXNzLWFyZ3MoJGVmZmVjdHMuLi4pO1xuICAkb2JqOiBtYXAtcmVtb3ZlKCRvYmosIG5hbWUpO1xuXG4gIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgIC8vIE5vdyBpdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgQGVhY2ggJHBjdCwgJHByb3BzIGluICRvYmoge1xuICAgICAgI3stbXVpLWtleWZyYW1lLXBjdCgkcGN0KX0ge1xuICAgICAgICAvLyBMYXN0bHksIGl0ZXJhdGUgdGhyb3VnaCBlYWNoIENTUyBwcm9wZXJ0eSB3aXRoaW4gYSBwZXJjZW50YWdlIGFuZCBwcmludCBpdCBvdXRcbiAgICAgICAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkcHJvcHMge1xuICAgICAgICAgICN7JHByb3B9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzdHJpbmcgZm9yIGEgQ1NTIGtleWZyYW1lLCBieSBjb252ZXJ0aW5nIGEgbGlzdCBvZiBudW1iZXJzIHRvIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGlucHV0IC0gTGlzdCBvZiBudW1iZXJzIHRvIHVzZS5cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IEEgc2V0IG9mIGNvbW1hLXNlcGFyYXRlZCBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXBjdCgkaW5wdXQpIHtcbiAgJG91dHB1dDogKCk7XG5cbiAgQGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbnVtYmVyJyB7XG4gICAgJG91dHB1dDogKCRpbnB1dCAqIDElKTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ2xpc3QnIHtcbiAgICBAZWFjaCAkaSBpbiAkaW5wdXQge1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICgkaSAqIDElKSwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG91dHB1dDtcbn1cblxuLy8vIFByaW50cyB0aGUgQ1NTIHByb3BlcnRpZXMgZnJvbSBhIHNwZWNpZmljIGtleSBpbiBhIGtleWZyYW1lcyBtYXAuIFVzZWQgdG8gYm9ycm93IENTUyBmcm9tIGtleWZyYW1lIGZ1bmN0aW9ucyBmb3IgdXNlIGluIHRyYW5zaXRpb25zLlxuLy8vIEBwYXJhbSB7TWFwfSAka2YgLSBLZXlmcmFtZSBtYXAgdG8gZXh0cmFjdCBmcm9tLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAka2V5IC0gS2V5IGluIHRoZSBtYXAgdG8gcHJpbnQgdGhlIENTUyBvZi5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtbXVpLWtleWZyYW1lLWdldCgka2YsICRrZXkpIHtcbiAgJG1hcDogbWFwLWdldCgka2YsICRrZXkpO1xuXG4gIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJG1hcCBvciAoKSB7XG4gICAgLy8gU29tZSBrZXlmcmFtZSBtYXBzIHN0b3JlIHRyYW5zZm9ybXMgYXMgcXVvdGVkIHN0cmluZ3NcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdzdHJpbmcnIHtcbiAgICAgICR2YWx1ZTogdW5xdW90ZSgkdmFsdWUpO1xuICAgIH1cbiAgICAjeyRwcm9wfTogJHZhbHVlO1xuICB9XG59XG5cbi8vLyBSZWZvcm1hdHMgYSBtYXAgY29udGFpbmluZyBrZXlzIHdpdGggYSBsaXN0IG9mIHZhbHVlcywgc28gdGhhdCBlYWNoIGtleSBpcyBhIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBzcGxpdCB1cC5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgcmVmb3JtYXR0ZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCkge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gU3BsaXQga2V5cyB3aXRoIG11bHRpcGxlIHZhbHVlcyBpbnRvIGluZGl2aWR1YWwga2V5c1xuICBAZWFjaCAka2V5LCAkaXRlbSBpbiAkbWFwIHtcbiAgICAka2V5LXR5cGU6IHR5cGUtb2YoJGtleSk7XG5cbiAgICBAaWYgJGtleS10eXBlID09ICdudW1iZXInIHtcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkaXRlbSkpO1xuICAgIH0gQGVsc2UgaWYgJGtleS10eXBlID09ICdsaXN0JyB7XG4gICAgICBAZWFjaCAkayBpbiAka2V5IHtcbiAgICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrOiAkaXRlbSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyBhIHNlcmllcyBvZiBrZXlmcmFtZSBvYmplY3RzIGludG8gb25lLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwcy4uLiAtIEEgc2VyaWVzIG9mIG1hcHMgdG8gbWVyZ2UsIGFzIGluZGl2aWR1YWwgcGFyYW1ldGVycy5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQga2V5ZnJhbWUgb2JqZWN0LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtY29tYmluZSgkbWFwcy4uLikge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2ggbWFwIHBhc3NlZCBpblxuICBAZWFjaCAkbWFwIGluICRtYXBzIHtcbiAgICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbWFwOiBjYWxsKCRtYXApO1xuICAgIH1cblxuICAgICRtYXA6IC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCk7XG5cbiAgICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBpbiB0aGUgbWFwXG4gICAgLy8gJGtleSBpcyB0aGUga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIC8vICR2YWx1ZSBpcyBhIG1hcCBvZiBDU1MgcHJvcGVydGllc1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAgICRuZXctdmFsdWU6ICgpO1xuXG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJG5ldy1tYXAsICRrZXkpIHtcbiAgICAgICAgLy8gSWYgdGhlIG1hcCBhbHJlYWR5IGhhcyB0aGUga2V5ZnJhbWUgJSwgYXBwZW5kIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogLW11aS1tZXJnZS1wcm9wZXJ0aWVzKG1hcC1nZXQoJG5ldy1tYXAsICRrZXkpLCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIE90aGVyd2lzZSwgY3JlYXRlIGEgbmV3IG1hcCB3aXRoIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogJHZhbHVlO1xuICAgICAgfVxuXG4gICAgICAvLyBGaW5hbGx5LCBtZXJnZSB0aGUgbW9kaWZpZWQga2V5ZnJhbWUgdmFsdWUgaW50byB0aGUgb3V0cHV0IG1hcFxuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRuZXctdmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICAvLyBNYWtlIGEgbmFtZSBmb3IgdGhlIGtleWZyYW1lc1xuICAkLW11aS1jdXN0b206ICQtbXVpLWN1c3RvbSArIDEgIWdsb2JhbDtcbiAgJG1hcC1uYW1lOiAobmFtZTogJ2N1c3RvbS0jeyQtbXVpLWN1c3RvbX0nKTtcbiAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgJG1hcC1uYW1lKTtcblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgdHdvIG1hcHMgb2YgQ1NTIHByb3BlcnRpZXMgaW50byBvbmUgbWFwLiBJZiBib3RoIG1hcHMgaGF2ZSBhIHRyYW5zZm9ybSBwcm9wZXJ0eSwgdGhlIHZhbHVlcyBmcm9tIGVhY2ggd2lsbCBiZSBjb21iaW5lZCBpbnRvIG9uZSBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge01hcH0gJG9uZSAtIEZpcnN0IG1hcCB0byBtZXJnZS5cbi8vLyBAcGFyYW0ge01hcH0gJHR3byAtIFNlY29uZCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLW1lcmdlLXByb3BlcnRpZXMoJG9uZSwgJHR3bykge1xuICBAaWYgbWFwLWhhcy1rZXkoJG9uZSwgdHJhbnNmb3JtKSBhbmQgbWFwLWhhcy1rZXkoJHR3bywgdHJhbnNmb3JtKSB7XG4gICAgJHRyYW5zZm9ybTogam9pbihtYXAtZ2V0KCRvbmUsIHRyYW5zZm9ybSksIG1hcC1nZXQoJHR3bywgdHJhbnNmb3JtKSk7XG4gICAgJG9uZTogbWFwLW1lcmdlKCRvbmUsICh0cmFuc2Zvcm06ICR0cmFuc2Zvcm0pKTtcbiAgICAkdHdvOiBtYXAtcmVtb3ZlKCR0d28sIHRyYW5zZm9ybSk7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1tZXJnZSgkb25lLCAkdHdvKTtcbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2xpZGluZyB0cmFuc2l0aW9uIGJ5IHRyYW5zbGF0aW5nIHRoZSBlbGVtZW50IGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbbGVmdF0gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHNsaWRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJGFtb3VudCBbMTAwJV0gLSBMZW5ndGggb2YgdGhlIHNsaWRlIGFzIGEgcGVyY2VudGFnZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zbGlkZSAoXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGxlZnQsXG4gICRhbW91bnQ6IDEwMCUsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNsaWRlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc2xpZGU6IHNsaWRlKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgLy8gQ1NTIE91dHB1dFxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQXBwbGllcyBiYXNpYyB0cmFuc2l0aW9uIHNldHRpbmdzIHRvIGFuIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gdHJhbnNpdGlvbi1iYXNpY3MoXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgQGV4dGVuZCAlbXVpLWRlZmF1bHRzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgc2V0dXAgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBzZXR1cCBmb3IgdHJhbnNpdGlvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLXN0YXJ0KCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIGFjdGl2ZSBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIGFjdGl2YXRlIGEgdHJhbnNpdGlvbiBvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLWVuZCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSwgdHJ1ZSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWdnZXIgYW5pbWF0aW9uLCB3aGljaCBjYW4gYmUgdXNlZCB3aXRoIEFuZ3VsYXIncyBgbmctcmVwZWF0YC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXktYW1vdW50IC0gQW1vdW50IG9mIHRpbWUgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgdG8gYWRkIGJldHdlZW4gZWFjaCBpdGVtJ3MgYW5pbWF0aW9uLlxuQG1peGluIHN0YWdnZXIoJGRlbGF5LWFtb3VudCkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXktYW1vdW50O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwOyAvLyBQcmV2ZW50IGFjY2lkZW50YWwgQ1NTIGluaGVyaXRhbmNlXG59XG4iLCIvLy8gQ3JlYXRlcyBhIGZhZGUgdHJhbnNpdGlvbiBieSBhZGp1c3RpbmcgdGhlIG9wYWNpdHkgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFswXSAtIE9wYWNpdHkgdG8gc3RhcnQgYXQuIE11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG8gWzFdIC0gT3BhY2l0eSB0byBlbmQgb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktZmFkZShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IDAsXG4gICR0bzogMSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZmFkZTogZmFkZSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMCk7XG5cbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDEwMCk7XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgZWZmZWN0IGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbkBmdW5jdGlvbiBoaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogZnJvbS1iYWNrXG4pIHtcbiAgLy8gUm90YXRpb24gZGlyZWN0aW9ucyB3aGVuIGhpbmdpbmcgZnJvbSBiYWNrIHZzLiBmcm9udFxuICAkcm90YXRpb24tYW1vdW50OiA5MGRlZztcbiAgJHJvdGF0aW9ucy1iYWNrOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgKTtcbiAgJHJvdGF0aW9ucy1mcm9tOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgKTtcblxuICAvLyBSb3RhdGlvbiBvcmlnaW5cbiAgJHJvdGF0aW9uOiAnJztcbiAgQGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWZyb250IHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1mcm9tLCAkZnJvbSk7XG4gIH0gQGVsc2UgaWYgJHR1cm4tb3JpZ2luID09IGZyb20tYmFjayB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtYmFjaywgJGZyb20pO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAnJHR1cm4tb3JpZ2luIG11c3QgYmUgZWl0aGVyIFwiZnJvbS1iYWNrXCIgb3IgXCJmcm9tLWZyb250XCInO1xuICB9XG5cbiAgLy8gU3RhcnQgYW5kIGVuZCBzdGF0ZVxuICAkc3RhcnQ6ICcnO1xuICAkZW5kOiAnJztcbiAgQGlmICRzdGF0ZSA9PSBpbiB7XG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcbiAgfSBAZWxzZSB7XG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcbiAgfVxuXG4gIC8vIFR1cm4gYXhpc1xuICAkb3JpZ2luOiAnJztcbiAgQGlmICRheGlzID09IGVkZ2Uge1xuICAgICRvcmlnaW46ICRmcm9tO1xuICB9IEBlbHNlIHtcbiAgICAkb3JpZ2luOiBjZW50ZXI7XG4gIH1cblxuICAka2V5ZnJhbWVzOiAoXG4gICAgbmFtZTogJ2hpbmdlLSN7JHN0YXRlfS0jeyRmcm9tfS0jeyRheGlzfS0jeyR0dXJuLW9yaWdpbn0nLFxuICAgIDA6ICh0cmFuc2Zvcm06ICRzdGFydCwgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbiksXG4gICAgMTAwOiAodHJhbnNmb3JtOiAkZW5kKSxcbiAgKTtcblxuICBAcmV0dXJuICRrZXlmcmFtZXM7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW2Zyb20tYmFja10gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IGZyb20tYmFjayxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgaGluZ2UtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRoaW5nZTogaGluZ2UoJHN0YXRlLCAkZnJvbSwgJGF4aXMsICRwZXJzcGVjdGl2ZSwgJHR1cm4tb3JpZ2luKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNjYWxpbmcgdHJhbnNpdGlvbi4gQSBzY2FsZSBvZiBgMWAgbWVhbnMgdGhlIGVsZW1lbnQgaXMgdGhlIHNhbWUgc2l6ZS4gTGFyZ2VyIG51bWJlcnMgbWFrZSB0aGUgZWxlbWVudCBiaWdnZXIsIHdoaWxlIG51bWJlcnMgbGVzcyB0aGFuIDEgbWFrZSB0aGUgZWxlbWVudCBzbWFsbGVyLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMS41XSAtIFNpemUgdG8gc3RhcnQgYXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFsxXSAtIFNpemUgdG8gZW5kIGF0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktem9vbShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IDEuNSxcbiAgJHRvOiAxLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzY2FsZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNjYWxlOiB6b29tKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc3Bpbm5pbmcgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC4gVGhlIGB0dXJuYCB1bml0IGlzIHVzZWQgdG8gc3BlY2lmeSBob3cgZmFyIHRvIHJvdGF0ZS4gYDF0dXJuYCBpcyBlcXVhbCB0byBhIDM2MC1kZWdyZWUgc3Bpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRkaXJlY3Rpb24gW2N3XSAtIERpcmVjdGlvbiB0byBzcGluLiBTaG91bGQgYmUgYGN3YCAoY2xvY2t3aXNlKSBvciBgY2N3YCAoY291bnRlcmNsb2Nrd2lzZSkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhbW91bnQgWzAuNzV0dXJuXSAtIEFtb3VudCB0byBlbGVtZW50IHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNwaW4oXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGN3LFxuICAkYW1vdW50OiAwLjc1dHVybixcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc3Bpbi1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNwaW46IHNwaW4oJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgYW5kIGFzc2lnbnMgaXQgdG8gdGhlIGVsZW1lbnQgYnkgYWRkaW5nIHRoZSBgYW5pbWF0aW9uLW5hbWVgIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWktYW5pbWF0aW9uKCRhcmdzLi4uKSB7XG4gICRuYW1lOiBtYXAtZ2V0KC1tdWktcHJvY2Vzcy1hcmdzKCRhcmdzLi4uKSwgbmFtZSk7XG4gIEBpbmNsdWRlIG11aS1rZXlmcmFtZXMoJG5hbWUsICRhcmdzLi4uKTtcbiAgYW5pbWF0aW9uLW5hbWU6IHVucXVvdGUoJG5hbWUpO1xufVxuIiwiLnRhYnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtMnB4O1xuICAgIHdpZHRoOiA0cHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICB9XG5cbiAgbGkudGFicy10aXRsZSB7XG4gICAgZmxleDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6ICRzZWNvbmRhcnktZm9udC1mYW1pbHk7XG4gICAgZmxvYXQ6IG5vbmU7XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIHBhZGRpbmc6IC41cmVtO1xuICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRkYXJrLWdyYXk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5vd2wtY2Fyb3VzZWwge1xuXHQub3dsLWNvbnRyb2xzIHtcblx0XHQub3dsLW5hdiB7XG5cdFx0XHQub3dsLXByZXYsXG5cdFx0XHQub3dsLW5leHQge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRmb250LXNpemU6IDJyZW07XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4yNSk7XG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdC5vd2wtbmV4dCB7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQub3dsLWRvdHMge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0QGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuXHRcdFx0XG5cdFx0XHQub3dsLWRvdCB7XG5cdFx0XHRcdG9wYWNpdHk6IC41O1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdG1hcmdpbjogMCAuNXJlbTtcblx0XHRcdFx0XG5cdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdHdpZHRoOiAuNzVyZW07XG5cdFx0XHRcdFx0aGVpZ2h0OiAuNzVyZW07XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWdyYXk7XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdCYuYWN0aXZlIHtcblx0XHRcdFx0XHRvcGFjaXR5OiAuOTtcblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBBIG1peGluIGZvciBnZW5lcmF0aW5nIHZlbmRvciBwcmVmaXhlcyBvbiBub24tc3RhbmRhcmRpemVkIHByb3BlcnRpZXMuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHByb3BlcnR5XG4vLy8gICBQcm9wZXJ0eSB0byBwcmVmaXhcbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlXG4vLy8gICBWYWx1ZSB0byB1c2Vcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHByZWZpeGVzXG4vLy8gICBQcmVmaXhlcyB0byBkZWZpbmVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItcmFkaXVzLCAxMHB4LCB3ZWJraXQgbXMgc3BlYyk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMTBweDtcbi8vLyAgICAgLW1vei1ib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8vICAgfVxuLy8vXG4vLy8gQHJlcXVpcmUge3ZhcmlhYmxlfSAkcHJlZml4LWZvci13ZWJraXRcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW1vemlsbGFcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLW1pY3Jvc29mdFxuLy8vIEByZXF1aXJlIHt2YXJpYWJsZX0gJHByZWZpeC1mb3Itb3BlcmFcbi8vLyBAcmVxdWlyZSB7dmFyaWFibGV9ICRwcmVmaXgtZm9yLXNwZWNcblxuQG1peGluIHByZWZpeGVyKCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXMpIHtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgIEBpZiAkcHJlZml4ID09IHdlYmtpdCB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itd2Via2l0IHtcbiAgICAgICAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbW96IHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1tb3ppbGxhIHtcbiAgICAgICAgLW1vei0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbXMge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1pY3Jvc29mdCB7XG4gICAgICAgIC1tcy0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gbyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itb3BlcmEge1xuICAgICAgICAtby0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRwcmVmaXggPT0gc3BlYyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itc3BlYyB7XG4gICAgICAgICN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgIHtcbiAgICAgIEB3YXJuIFwiVW5yZWNvZ25pemVkIHByZWZpeDogI3skcHJlZml4fVwiO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpIHtcbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1tb3ppbGxhOiAgIGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW1pY3Jvc29mdDogZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1zcGVjOiAgICAgIGZhbHNlICFnbG9iYWw7XG59XG4iLCIvKiBcbiAqICBPd2wgQ2Fyb3VzZWwgLSBBbmltYXRlIFBsdWdpblxuICovXG4ub3dsLWNhcm91c2VsIC5hbmltYXRlZCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG4ub3dsLWNhcm91c2VsIC5vd2wtYW5pbWF0ZWQtaW4ge1xuICB6LWluZGV4OiAwO1xufVxuLm93bC1jYXJvdXNlbCAub3dsLWFuaW1hdGVkLW91dCB7XG4gIHotaW5kZXg6IDE7XG59XG4ub3dsLWNhcm91c2VsIC5mYWRlT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLyogXG4gKiBcdE93bCBDYXJvdXNlbCAtIEF1dG8gSGVpZ2h0IFBsdWdpblxuICovXG4ub3dsLWhlaWdodCB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogaGVpZ2h0IDUwMG1zIGVhc2UtaW4tb3V0O1xuICAtbW96LXRyYW5zaXRpb246IGhlaWdodCA1MDBtcyBlYXNlLWluLW91dDtcbiAgLW1zLXRyYW5zaXRpb246IGhlaWdodCA1MDBtcyBlYXNlLWluLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogaGVpZ2h0IDUwMG1zIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgNTAwbXMgZWFzZS1pbi1vdXQ7XG59XG5cbi8qIFxuICogIENvcmUgT3dsIENhcm91c2VsIENTUyBGaWxlXG4gKi9cbi5vd2wtY2Fyb3VzZWwge1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogcG9zaXRpb24gcmVsYXRpdmUgYW5kIHotaW5kZXggZml4IHdlYmtpdCByZW5kZXJpbmcgZm9udHMgaXNzdWUgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xufVxuLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4tWTtcbn1cbi5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiLlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY2xlYXI6IGJvdGg7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIGhlaWdodDogMDtcbn1cbi5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZS1vdXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLyogZml4IGZvciBmbGFzaGluZyBiYWNrZ3JvdW5kICovXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTtcbn1cbi5vd2wtY2Fyb3VzZWwgLm93bC1jb250cm9scyAub3dsLW5hdiAub3dsLXByZXYsXG4ub3dsLWNhcm91c2VsIC5vd2wtY29udHJvbHMgLm93bC1uYXYgLm93bC1uZXh0LFxuLm93bC1jYXJvdXNlbCAub3dsLWNvbnRyb2xzIC5vd2wtZG90IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjdXJzb3I6IGhhbmQ7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi5vd2wtY2Fyb3VzZWwub3dsLWxvYWRlZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm93bC1jYXJvdXNlbC5vd2wtbG9hZGluZyB7XG4gIG9wYWNpdHk6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLm93bC1jYXJvdXNlbC5vd2wtaGlkZGVuIHtcbiAgb3BhY2l0eTogMDtcbn1cbi5vd2wtY2Fyb3VzZWwgLm93bC1yZWZyZXNoIC5vd2wtaXRlbSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBmbG9hdDogbGVmdDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xufVxuLm93bC1jYXJvdXNlbC5vd2wtdGV4dC1zZWxlY3Qtb24gLm93bC1pdGVtIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogYXV0bztcbiAgLW1vei11c2VyLXNlbGVjdDogYXV0bztcbiAgLW1zLXVzZXItc2VsZWN0OiBhdXRvO1xuICB1c2VyLXNlbGVjdDogYXV0bztcbn1cbi5vd2wtY2Fyb3VzZWwgLm93bC1ncmFiIHtcbiAgY3Vyc29yOiBtb3ZlO1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcbiAgY3Vyc29yOiAtby1ncmFiO1xuICBjdXJzb3I6IC1tcy1ncmFiO1xuICBjdXJzb3I6IGdyYWI7XG59XG4ub3dsLWNhcm91c2VsLm93bC1ydGwge1xuICBkaXJlY3Rpb246IHJ0bDtcbn1cbi5vd2wtY2Fyb3VzZWwub3dsLXJ0bCAub3dsLWl0ZW0ge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi8qIE5vIEpzICovXG4ubm8tanMgLm93bC1jYXJvdXNlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiBcbiAqIFx0T3dsIENhcm91c2VsIC0gTGF6eSBMb2FkIFBsdWdpblxuICovXG4ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSAub3dsLWxhenkge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7XG4gIC1tcy10cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlO1xufVxuLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gaW1nIHtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbn1cblxuLyogXG4gKiBcdE93bCBDYXJvdXNlbCAtIFZpZGVvIFBsdWdpblxuICovXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8td3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xufVxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiA4MHB4O1xuICB3aWR0aDogODBweDtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC00MHB4O1xuICBtYXJnaW4tdG9wOiAtNDBweDtcbiAgYmFja2dyb3VuZDogdXJsKFwib3dsLnZpZGVvLnBsYXkucG5nXCIpIG5vLXJlcGVhdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB6LWluZGV4OiAxO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBzY2FsZSAxMDBtcyBlYXNlO1xuICAtbW96LXRyYW5zaXRpb246IHNjYWxlIDEwMG1zIGVhc2U7XG4gIC1tcy10cmFuc2l0aW9uOiBzY2FsZSAxMDBtcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBzY2FsZSAxMDBtcyBlYXNlO1xuICB0cmFuc2l0aW9uOiBzY2FsZSAxMDBtcyBlYXNlO1xufVxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbjpob3ZlciB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogc2NhbGUoMS4zLCAxLjMpO1xuICAtbW96LXRyYW5zaXRpb246IHNjYWxlKDEuMywgMS4zKTtcbiAgLW1zLXRyYW5zaXRpb246IHNjYWxlKDEuMywgMS4zKTtcbiAgLW8tdHJhbnNpdGlvbjogc2NhbGUoMS4zLCAxLjMpO1xuICB0cmFuc2l0aW9uOiBzY2FsZSgxLjMsIDEuMyk7XG59XG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXRuLFxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby1wbGF5LWljb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXRuIHtcbiAgb3BhY2l0eTogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgLW1vei1iYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIC1vLWJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7XG4gIC1tcy10cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlO1xufVxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLWZyYW1lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xufVxuIiwiaHRtbC50b3VjaCAqIHtcblx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG5AbWl4aW4gZm5JY29uICgkY29kZSkge1xuICBmb250LWZhbWlseTogXCJmdXR1cmVuYXRvLWljb25zXCIgIWltcG9ydGFudDtcbiAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgZm9udC1zaXplOiAuNzVlbTtcbiAgbWFyZ2luLXJpZ2h0OiAuMjVlbTtcblxuICBjb250ZW50OiAkY29kZTtcbn1cblxuQG1peGluIHBlcnNvblBob3RvKCkge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJveC1zaGFkb3c6IDAgMCAycHggcmdiYSgwLDAsMCwwLjI1KTtcbiAgYm9yZGVyOiA1cHggc29saWQgJHdoaXRlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0ICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG4gIFxuICBhIHtcblx0ICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMnB4IHJnYmEoMCwwLDAsMC41KTtcbiAgfVxufVxuXG5AbWl4aW4gZm5Db250YWluZXIoKSB7XG4gIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmctdG9wOiAycmVtO1xufVxuIiwiOjotbW96LXNlbGVjdGlvbiB7IC8qIENvZGUgZm9yIEZpcmVmb3ggKi9cbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJhY2tncm91bmQ6ICRibHVlO1xufVxuXG46OnNlbGVjdGlvbiB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbn1cblxuLnNlY29uZGFyeS1mb250IHtcbiAgZm9udC1mYW1pbHk6ICRzZWNvbmRhcnktZm9udC1mYW1pbHk7XG59XG5cbltjbGFzcyo9XCItbWV0YVwiXSxcbltjbGFzcyo9XCItY2F0ZWdvcnlcIl0sXG5bY2xhc3MqPVwiLWF1dGhvclwiXSB7XG4gIGZvbnQtZmFtaWx5OiAkc2Vjb25kYXJ5LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6IDEuMjVyZW07XG59XG5cbiRjb2xvci10ZXh0OiAgICAgICAgJGRhcmstZ3JheTtcbiRjb2xvci1iYWNrZ3JvdW5kOiAgJHdoaXRlO1xuJGNvbG9yLXNlbGVjdGlvbjogICAkYmx1ZTtcblxuQG1peGluIHRleHQtdW5kZXJsaW5lLWNyb3AoJGJhY2tncm91bmQpIHtcbiAgdGV4dC1zaGFkb3c6ICAuMDNlbSAwICRiYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgIC0uMDNlbSAwICRiYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgIDAgLjAzZW0gJGJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgMCAtLjAzZW0gJGJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgLjA2ZW0gMCAkYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAtLjA2ZW0gMCAkYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAuMDllbSAwICRiYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgIC0uMDllbSAwICRiYWNrZ3JvdW5kLFxuICAgICAgICAgICAgICAgIC4xMmVtIDAgJGJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgLS4xMmVtIDAgJGJhY2tncm91bmQsXG4gICAgICAgICAgICAgICAgLjE1ZW0gMCAkYmFja2dyb3VuZCxcbiAgICAgICAgICAgICAgICAtLjE1ZW0gMCAkYmFja2dyb3VuZDtcbn1cblxuQG1peGluIHRleHQtdW5kZXJsaW5lKCRjb2xvci1iZywgJGNvbG9yLXRleHQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRjb2xvci10ZXh0LCAkY29sb3ItdGV4dCk7XG4gIGJhY2tncm91bmQtc2l6ZTogMXB4IDFweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwJSA5NSU7XG59XG5cbkBtaXhpbiB0ZXh0LXNlbGVjdGlvbigkc2VsZWN0aW9uKSB7XG4gICY6OnNlbGVjdGlvbiB7XG4gICAgQGluY2x1ZGUgdGV4dC11bmRlcmxpbmUtY3JvcCgkc2VsZWN0aW9uKTtcblxuICAgIGJhY2tncm91bmQ6ICRzZWxlY3Rpb247XG4gIH1cblxuICAmOjotbW96LXNlbGVjdGlvbiB7XG4gICAgQGluY2x1ZGUgdGV4dC11bmRlcmxpbmUtY3JvcCgkc2VsZWN0aW9uKTtcblxuICAgIGJhY2tncm91bmQ6ICRzZWxlY3Rpb247XG4gIH1cbn1cblxuQG1peGluIGxpbmstdW5kZXJsaW5lKCRiYWNrZ3JvdW5kLCAkdGV4dCwgJHNlbGVjdGlvbil7XG4gIEBpbmNsdWRlIHRleHQtdW5kZXJsaW5lLWNyb3AoJGJhY2tncm91bmQpO1xuICBAaW5jbHVkZSB0ZXh0LXVuZGVybGluZSgkYmFja2dyb3VuZCwgJHRleHQpO1xuICBAaW5jbHVkZSB0ZXh0LXNlbGVjdGlvbigkc2VsZWN0aW9uKTtcblxuICBjb2xvcjogJHRleHQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAqLFxuICAqOmFmdGVyLFxuICAmOmFmdGVyLFxuICAqOmJlZm9yZSxcbiAgJjpiZWZvcmUge1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICB9XG5cbiAgJjp2aXNpdGVkIHtcbiAgICBjb2xvcjogJHRleHQ7XG4gIH1cbn1cblxuYXJ0aWNsZSAuYXJ0aWNsZS1jb250ZW50IGE6bm90KC5idXR0b24pIHtcbiAgQGluY2x1ZGUgbGluay11bmRlcmxpbmUoJGNvbG9yLWJhY2tncm91bmQsICRjb2xvci10ZXh0LCAkY29sb3Itc2VsZWN0aW9uKTtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGJsdWU7XG4gIH1cbn1cblxuaDEuYXJjaGl2ZS1oZWFkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gIHBhZGRpbmc6IDFyZW0gMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuaDIuc3ViaGVhZGluZyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4gIHBhZGRpbmc6IC43NXJlbSAwO1xuICBmb250LXNpemU6IDEuMjVyZW07XG59XG5cbi5zZWN0aW9uLWhlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuXG5oMSxoMixoMyxoNCxoNSxoNiB7XG4gIGEge1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgfVxuICB9XG59IiwiI2hvbWUtdHdpdHRlci1mZWVkIHtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLnR3aXR0ZXJGZWVkLWNvbnRhaW5lciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXg6IDE7XG5cbiAgaGVhZGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuXG4gICAgLmZlZWQtcGFydGljaXBhdGUge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxuICAgIC5mZWVkLXRpdGxlIHtcbiAgICAgIHBhZGRpbmc6IC4yNXJlbSAuNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xuXG4gICAgICAucHJldGl0bGUge1xuXG4gICAgICB9XG5cbiAgICAgIC50aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mZWVkLXBhcnRpY2lwYXRlIHtcblxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkbGlnaHRlci1ncmF5O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgYmFja2dyb3VuZDogJGRhcmstZ3JheTtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAmOmhvdmVye1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGRhcmstZ3JheSwgNSUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZlZWQge1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAjdHdpdHRlckZlZWQge1xuICAgICAgZmxleDogMTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIFxuICAgICAgJj5pZnJhbWUge1xuXHQgICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcblx0ICAgICAgZmxleDogMTtcbiAgICAgIH1cblxuICAgICAgJi5sb2FkaW5nIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlIHVybCgnLi4vaW1nL2FqYXgtbG9hZGVyLmdpZicpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWZyYW1lI3R3aXR0ZXItd2lkZ2V0LTAge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcblxuICAgICAgICAudHdlZXQtYXZhdGFyIHtcbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50d2VldC1jb250ZW50IHtcbiAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG5cbiAgICAgICAgICAudHdlZXQtY29udGVudC10ZXh0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZm9vdGVyIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuXG5cbiAgICBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kOiAkbGlnaHRlci1ncmF5O1xuICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodGVzdC1ncmF5O1xuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbn1cbiIsIiNzaWRlYmFyLXJlbGF0ZWRBcnRpY2xlcy10YWJzIHtcbiAgLnRhYnMtcGFuZWwge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxudWwuYXJ0aWNsZXMtbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgY291bnRlci1yZXNldDogYXJ0aWNsZS1jb3VudGVyO1xuXG4gIGxpIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuXG4gICAgY291bnRlci1pbmNyZW1lbnQ6IGFydGljbGUtY291bnRlcjtcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgbWluLWhlaWdodDogMTAwcHg7XG5cbiAgICAgIC5hcnRpY2xlLWluZm8ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjUlO1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDNweCAkd2hpdGU7XG5cbiAgICAgICAgLmFydGljbGUtdGl0bGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICAuYXJ0aWNsZS1pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDM3LjUlO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBjb3VudGVyKGFydGljbGUtY291bnRlcik7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHdpZHRoOiA2Ni42NjY2NjYlO1xuICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAvKiBQZXJtYWxpbmsgLSB1c2UgdG8gZWRpdCBhbmQgc2hhcmUgdGhpcyBncmFkaWVudDogaHR0cDovL2NvbG9yemlsbGEuY29tL2dyYWRpZW50LWVkaXRvci8jZmZmZmZmKzAsZmZmZmZmKzEwMCYwLjAxKzAsMSsxMDAgKi9cbiAgICAgICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAgcmdiYSgyNTUsMjU1LDI1NSwwLjAxKSAwJSwgcmdiYSgyNTUsMjU1LDI1NSwxKSAxMDAlKTsgLyogRkYzLjYtMTUgKi9cbiAgICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAgcmdiYSgyNTUsMjU1LDI1NSwwLjAxKSAwJSxyZ2JhKDI1NSwyNTUsMjU1LDEpIDEwMCUpOyAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xuICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIHJnYmEoMjU1LDI1NSwyNTUsMC4wMSkgMCUscmdiYSgyNTUsMjU1LDI1NSwxKSAxMDAlKTsgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXG4gICAgICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyMwM2ZmZmZmZicsIGVuZENvbG9yc3RyPScjZmZmZmZmJyxHcmFkaWVudFR5cGU9MSApOyAvKiBJRTYtOSAqL1xuXG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiguNXMgYWxsKTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC0yNSUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgLmFydGljbGUtaW1hZ2UgaW1nIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiNzaWRlYmFyLW1haW4ge1xuICAudHdpdHRlckZlZWQtY29udGFpbmVyIHtcbiAgICAuZmVlZCB7XG4gICAgICBoZWlnaHQ6IDYwMHB4O1xuICAgICAgZmxleDogbm9uZTtcbiAgICB9XG4gIH1cblxufVxuIiwiI21haW4tbWVudSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMSwgMTMzLCAyMDcsMC45KTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleDogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogLTE7XG4gIC8vIG9wYWNpdHk6IDAuMDAwMDAwMDAxO1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtMTAwJSkpO1xuXG4gICYub3BlbiB7XG4gICAgLy8gb3BhY2l0eTogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDAlKSk7XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uKC41cyB0cmFuc2Zvcm0pO1xuXG4gIGEubWVudS1jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLjVyZW07XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICBmb250LXNpemU6IDNyZW07XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gIC5tZW51LWNvbnRhaW5lciB7XG4gICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogOTYwcHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmPi5yb3cge1xuICAgICAgZmxleDogMTtcbiAgICB9XG5cbiAgICB1bC5tZW51IHtcbiAgICAgIGxpIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHVsLmlzLWRyaWxsZG93bi1zdWIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcblxuICAgICAgICAgIGxpLmpzLWRyaWxsZG93bi1iYWNrIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRpbWVsaW5lLWZlZWQge1xuICAgICAgbWF4LWhlaWdodDogODB2aDtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgdWwge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4jc2Nyb2xsLW1lbnUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiAzcmVtO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICB6LWluZGV4OiA5OTk5O1xuICBkaXNwbGF5OiBmbGV4O1xuICBib3gtc2hhZG93OiAwcHggMXB4IDEwcHggcmdiYSgwLDAsMCwwLjE1KTtcblxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oIDFzIGFsbCApO1xuICBAaW5jbHVkZSB0cmFuc2Zvcm0oIHRyYW5zbGF0ZVkoLTExMCUpICk7XG5cbiAgJi5zaG93IHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oIHRyYW5zbGF0ZVkoMCUpICk7XG4gIH1cblxuICB1bC5sZWZ0LW5hdixcbiAgdWwucmlnaHQtbmF2IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG5cbiAgICAgICAgJi5mYWNlYm9vayB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWZhY2Vib29rO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cblxuICAgICAgICAmLnR3aXR0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci10d2l0dGVyO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cblxuICAgICAgICBpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDEwJSkgc2NhbGUoMS43NSkpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYnJhbmQge1xuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6IDNyZW07XG4gICAgfVxuICB9XG5cbiAgdWwucmlnaHQtbmF2IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdCAgICBmbGV4OiBub25lO1xuXHQgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG5cbiAgICAgICYubWVudS1vcGVuIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGRhcmstZ3JheTtcbiAgICAgICAgY29sb3I6ICRsaWdodGVyLWdyYXk7XG4gICAgICAgIFxuICAgICAgICBpIHtcblx0ICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCAkZGFyay1ncmF5LCAxMCUgKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcblxuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi5hcmNoaXZlLW5hdi1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICB3aWR0aDogMTAwJTtcblxuICAmLmlzLXN0dWNrIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgfVxuXG4gIC5hcmNoaXZlLW5hdiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIH1cbn1cbiIsIiNtYXAtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiA2MDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJi5jb250cm9sbGVyLW9wZW4ge1xuICAgICNtYXAtY29udHJvbGxlciB7XG4gICAgICB3aWR0aDogNDgwcHg7XG4gICAgfVxuICB9XG4gIFxuICAmLmxvYWRpbmcge1xuXHQgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZSB1cmwoJy4uL2ltZy9hamF4LWxvYWRlci5naWYnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gIH1cblxuICAjbWFwLWNvbnRyb2xsZXIge1xuICAgIHdpZHRoOiA0ODBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC44NSk7XG5cbiAgICBoNCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZzogMXJlbSAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIH1cbiAgICBcbiAgICAuY29tcGV0aXRpb24taGVhZGVyIHtcblx0ICAgIHdpZHRoOiAxMDAlO1xuXHQgICAgaGVpZ2h0OiAxMjJweDtcblx0ICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL05BVE8tQ29tcGV0aXRpb24tVGlsZS5qcGcnKTtcblx0ICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcblx0ICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdCAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wO1xuICAgIH1cbiAgICBcbiAgICAuc3VtbWl0LWluZm8tY29udGFpbmVyIHtcblx0ICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAuc3VibWlzc2lvbi1oZWFkZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuc3VibWlzc2lvbi1uYW1lIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cdCAgICAuc3VtbWl0LWluZm8ge1xuXHRcdCAgICBwYWRkaW5nOiAycmVtO1xuXHRcdCAgICBcblx0XHQgICAgJj5pbWcge1xuXHRcdFx0ICAgIGZsb2F0OiBsZWZ0O1xuXHRcdFx0ICAgIG1hcmdpbi1yaWdodDogMXJlbTtcblx0XHRcdCAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRcdCAgICB9XG5cdCAgICB9XG4gICAgfVxuXG4gICAgLnN1Ym1pc3Npb25zLWNvbnRhaW5lciB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcblxuICAgICAgYS5zdWJtaXNzaW9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgICAgIHBhZGRpbmc6IC43NXJlbTtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiggLjE1cyBhbGwgKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcsIGkge1xuICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC41cmVtO1xuICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBpIHtcblx0ICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC44NSk7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYuZmluYWxpc3Qge1xuXHQgICAgICAgICY6YWZ0ZXIge1xuXHRcdCAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXHRcdCAgICAgICAgcmlnaHQ6IC41cmVtO1xuXHRcdCAgICAgICAgdG9wOiAxLjI1cmVtO1xuXHRcdCAgICAgICAgXG5cdFx0ICAgICAgICBAaW5jbHVkZSBmbkljb24oJ24nKTtcblx0XHQgICAgICAgIGNvbG9yOiAkYmx1ZTtcblx0XHQgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgXG5cdCAgICAgICAgJjpob3ZlciB7XG5cdFx0ICAgICAgICAmOmFmdGVyIHtcblx0XHRcdCAgICAgICAgY29sb3I6ICR3aGl0ZTtcblx0XHQgICAgICAgIH1cblx0ICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3VibWlzc2lvbi1pbmZvIHtcbiAgICAgICAgICBmbGV4OiAxO1xuXG4gICAgICAgICAgaDYge1xuICAgICAgICAgICAgZm9udC1zaXplOiAuOHJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMmVtO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5zdWJtaXNzaW9uLW1ldGEge1xuICAgICAgICAgICAgY29sb3I6IGRhcmtlbigkbWVkaXVtLWdyYXksIDEwJSk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAuOXJlbTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBoNiwgLnN1Ym1pc3Npb24tbWV0YSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCAuMTVzIGFsbCApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuXG4gICAgICAgICAgLnN1Ym1pc3Npb24taW5mbyB7XG4gICAgICAgICAgICBoNiwgLnN1Ym1pc3Npb24tbWV0YSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnZpZXctY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgZmxleDogMTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBcbiAgICAgICY+ZGl2PmRpdiB7XG5cdCAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuXHQgIC53ZWxjb21lLW1lc3NhZ2UtY29udGFpbmVyIHtcblx0XHQgIGRpc3BsYXk6IGZsZXg7XG5cdFx0ICBwYWRkaW5nOiAycmVtO1xuXHRcdCAgZm9udC1zaXplOiAxMjUlO1xuXHRcdCAgdGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdCAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHQgIGZsZXg6IDE7XG5cdCAgfVxuXG4gICAgICAuZnVsbC1zdWJtaXNzaW9uIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIC5zdWJtaXNzaW9uLWhlYWRlciB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5zdWJtaXNzaW9uLW5hbWUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMi41cmVtO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3VibWlzc2lvbi12aWV3LWNvbnRhaW5lciB7XG4gICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICBvdmVyZmxvdzogYXV0bztcblx0XHQgIFxuXHRcdCAgLnN1Ym1pc3Npb24tc2hhcmUge1xuXHRcdFx0ICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRcdFx0ICBkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0ICBcblx0XHRcdCAgJj5kaXYge1xuXHRcdFx0XHQgIGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdCAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHQgIHBhZGRpbmc6IC41cmVtIDFyZW07XG5cdFx0XHRcdCAgbWFyZ2luOiAwIC41cmVtO1xuXHRcdFx0XHQgIGZsZXg6IDE7XG5cdFx0XHRcdCAgdGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHQgIFxuXHRcdFx0XHQgICY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRcdCAgbWFyZ2luLWxlZnQ6IDA7XG5cdFx0XHRcdCAgfVxuXHRcdFx0XHQgIFxuXHRcdFx0XHQgICY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0ICBtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRcdCAgfVxuXHRcdFx0ICB9XG5cdFx0XHQgIFxuXHRcdFx0ICAuc3VibWlzc2lvbi1zaGFyZS1mYWNlYm9vayB7XG5cdFx0XHRcdCAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWZhY2Vib29rO1xuXHRcdFx0ICB9XG5cdFx0XHQgIFxuXHRcdFx0ICAuc3VibWlzc2lvbi1zaGFyZS10d2l0dGVyIHtcblx0XHRcdFx0ICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdHdpdHRlcjtcblx0XHRcdCAgfVxuXHRcdFx0ICBcblx0XHRcdCAgLnN1Ym1pc3Npb24tc2hhcmUtbGlua2VkaW4ge1xuXHRcdFx0XHQgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1saW5rZWRpbjtcblx0XHRcdCAgfVxuXHRcdCAgfVxuXHRcdCAgXG4gICAgICAgICAgLnN1Ym1pc3Npb24tZXNzYXkge1xuICAgICAgICAgICAgcGFkZGluZzogMS41cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFuaW1hdGUtc3dpdGNoIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxleDogMTtcbiAgICB9XG5cbiAgICAuYW5pbWF0ZS1zd2l0Y2gubmctYW5pbWF0ZSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCBjdWJpYy1iZXppZXIoMC4yNTAsIDAuNDYwLCAwLjQ1MCwgMC45NDApIDAuNXMpO1xuICAgIH1cblxuICAgIC5hbmltYXRlLXN3aXRjaC5uZy1sZWF2ZS5uZy1sZWF2ZS1hY3RpdmUge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTEwMCUpKTtcbiAgICB9XG5cbiAgICAuc3VibWlzc2lvbnMtY29udGFpbmVyLm5nLWxlYXZlLm5nLWxlYXZlLWFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtMTAwJSkpO1xuICAgIH1cblxuICAgIC5mdWxsLXN1Ym1pc3Npb24ubmctbGVhdmUubmctbGVhdmUtYWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKDEwMCUpKTtcbiAgICB9XG5cbiAgICAuYW5pbWF0ZS1zd2l0Y2gubmctZW50ZXIge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoMTAwJSkpO1xuICAgIH1cblxuICAgIC5zdWJtaXNzaW9ucy1jb250YWluZXIubmctZW50ZXIge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTEwMCUpKTtcbiAgICB9XG5cbiAgICAuZnVsbC1zdWJtaXNzaW9uLm5nLWVudGVyIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKDEwMCUpKTtcbiAgICB9XG5cbiAgICAuYW5pbWF0ZS1zd2l0Y2gubmctbGVhdmUsXG4gICAgLmFuaW1hdGUtc3dpdGNoLm5nLWVudGVyLm5nLWVudGVyLWFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgwJSkpO1xuICAgIH1cbiAgfVxuXG4gICNtYXAge1xuICAgIGZsZXg6IDE7XG5cbiAgICAubWFwYm94LWxvZ28ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubGVhZmxldC1vdmVybGF5LXBhbmUge1xuICAgICAgZyB7XG4gICAgICAgIHBhdGgge1xuICAgICAgICAgIGZpbGw6ICRibHVlO1xuICAgICAgICAgIHN0cm9rZS13aWR0aDogMDtcbiAgICAgICAgICBmaWxsLW9wYWNpdHk6IC4wNTtcbiAgICAgICAgICBzdHJva2U6ICRibHVlO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oIC41cyBhbGwgKTtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgZmlsbC1vcGFjaXR5OiAuMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmxlYWZsZXQtbGVmdCB7XG5cdCAgICBsZWZ0OiA0ODBweDtcbiAgICB9XG5cbiAgICAubGVhZmxldC1wb3B1cCB7XG5cdCAgICBcblx0ICAgICRwb3B1cC1iZzogJGRhcmstZ3JheTtcblx0ICAgIFxuICAgICAgLmxlYWZsZXQtcG9wdXAtY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmxlYWZsZXQtcG9wdXAtY29udGVudC13cmFwcGVyLCAubWFwLWxlZ2VuZHMsIC5tYXAtdG9vbHRpcCB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwb3B1cC1iZztcblxuICAgICAgICAubGVhZmxldC1wb3B1cC1jb250ZW50IHtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIHBhZGRpbmc6IC4yNXJlbSAuNXJlbTtcbiAgICAgICAgICBmb250LXNpemU6IC45cmVtO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIG1pbi13aWR0aDogMzAwcHg7XG4gICAgICAgICAgXG4gICAgICAgICAgaW1nIHtcblx0ICAgICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgXG4gICAgICAgICAgLnN1Ym1pc3Npb24tYXV0aG9yIHtcblx0ICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ICAgICAgICAgIGxlZnQ6IDFweDtcblx0ICAgICAgICAgIHJpZ2h0OiAxcHg7XG5cdCAgICAgICAgICBib3R0b206IDIwcHg7XG5cdCAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNSk7XG5cdCAgICAgICAgICBwYWRkaW5nOiAuMTVyZW0gLjI1cmVtO1xuXHQgICAgICAgICAgXG5cdCAgICAgICAgICAmLnN1bW1pdCB7XG5cdFx0ICAgICAgICAgIHBhZGRpbmctdG9wOiAuNXJlbTtcblx0XHQgICAgICAgICAgcGFkZGluZy1ib3R0b206IC41cmVtO1xuXHRcdCAgICAgICAgICBoNiB7XG5cdFx0XHQgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdCAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG5cdFx0ICAgICAgICAgIH1cblx0ICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmxlYWZsZXQtcG9wdXAtdGlwLWNvbnRhaW5lciB7XG4gICAgICAgIC5sZWFmbGV0LXBvcHVwLXRpcCB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcHVwLWJnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1hcC1tYXJrZXIge1xuXHQgICAgXG5cdCAgICAmLmFjdGl2ZSB7XG5cdFx0ICAgIHotaW5kZXg6IDEwMDAgIWltcG9ydGFudDtcblx0ICAgIH1cblx0ICAgIFxuXHQgICAgJi5zdW1taXQge1xuXHRcdCAgICB6LWluZGV4OiA5MDAgIWltcG9ydGFudDtcblx0ICAgIH1cblx0ICAgIFxuXHQgICAgLnN1bW1pdC1tYXJrZXIge1xuXHRcdCAgICB3aWR0aDogMzJweDtcblx0XHQgICAgaGVpZ2h0OiAzMnB4O1xuXHRcdCAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy93YXJzYXctc3VtbWl0LWxvZ28uc3ZnJyk7XG5cdFx0ICAgIGJhY2tncm91bmQtc2l6ZTogMzJweDtcblx0XHQgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHQgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblx0XHQgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcblx0XHQgICAgei1pbmRleDogOTAwO1xuXHQgICAgfVxuXHQgICAgXG4gICAgICAubWFya2Vye1xuXG4gICAgICAgICRtYXJrZXItc2l6ZTogMzBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5kb3QsXG4gICAgICAgIC5wdWxzYXIge1xuICAgICAgICAgIGhlaWdodDogJG1hcmtlci1zaXplO1xuICAgICAgICAgIHdpZHRoOiAkbWFya2VyLXNpemU7XG4gICAgICAgICAgYmFja2dyb3VuZDogbGlnaHRlbigkZGFyay1ncmF5LCAxMCUpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICBsaW5lLWhlaWdodDogJG1hcmtlci1zaXplO1xuICAgICAgICAgIGZvbnQtc2l6ZTogJG1hcmtlci1zaXplIC8yO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKC41KSk7XG5cbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCAuNXMgYWxsICk7XG5cbiAgICAgICAgICBpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogMXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5kb3Qge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCA2cHggJHdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnB1bHNhciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGJsdWUsMTAlKTtcbiAgICAgICAgICBvcGFjaXR5OiAuNztcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDFzIGFsbClcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggJGJsdWU7XG4gICAgICAgIH1cblxuICAgICAgICAmLndpbm5lciB7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKCBzY2FsZSgxLjUpIHRyYW5zbGF0ZVgoLTc1JSkgKTtcblxuICAgICAgICAgIC5kb3Qge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIC5wdWxzYXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYW5pbWF0aW9uKHB1bHNlIDFzIGVhc2UgaW5maW5pdGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuZG90IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgICAgICAgQGluY2x1ZGUgYW5pbWF0aW9uKGp1bXAgLjMzMzNzIGVhc2UgMSBmb3J3YXJkcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG5AaW5jbHVkZSBrZXlmcmFtZXMocHVsc2UpIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoLjUpKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMSkpO1xuICB9XG59XG5cbkBpbmNsdWRlIGtleWZyYW1lcyhqdW1wKSB7XG4gIDAlICAge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSguNSkpO1xuICB9XG4gIDY2LjY2JSAge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxKSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKC43NSkpO1xuICB9XG59XG5cbiNob21lcGFnZS1tYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5pbnRyby1jb250YWluZXIge1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctbGVmdDogMjUlO1xuICAgICAgcGFkZGluZy1yaWdodDogMjUlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTByZW07XG5cbiAgICAgIGg1IHtcbiAgICAgIH1cblxuICAgICAgLnRoZS1taXNzaW9uIHtcbiAgICAgIH1cblxuICAgICAgLnRoZWlyLXN0b3JpZXMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgfVxuXG4gICAgICAuZ2V0LXN0YXJ0ZWQge1xuXHQgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgfVxuICAgIH1cblxuICAubWFwLWludHJvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAubWFwLWltYWdlLFxuICAgIC52aWduZXR0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLm1hcC1pbWFnZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvYmFja2dyb3VuZHMvd29ybGRtYXAucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB9XG5cbiAgICAudmlnbmV0dGUge1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDIwMHB4ICRibGFjaztcbiAgICB9XG5cbiAgICBcbiAgfVxuXG4gIC5tYXAtdGl0bGVzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxcmVtO1xuICAgIGxlZnQ6IDFyZW07XG4gICAgZm9udC1zaXplOiAuNzVyZW07XG5cbiAgICAmPmRpdiB7XG4gICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgICBiYWNrZ3JvdW5kOiAkZGFyay1ncmF5O1xuICAgICAgcGFkZGluZzogLjI1cmVtIDFyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAuMjVyZW07XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLm1hcC10aXRsZSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgICB9XG4gIH1cblxuICAuY3ljbGUtY29udHJvbCB7XG5cdCAgcG9zaXRpb246IGFic29sdXRlO1xuXHQgIGJvdHRvbTogMXJlbTtcblx0ICByaWdodDogMXJlbTtcblx0ICBcblx0ICBhIHtcblx0XHQgIGZvbnQtc2l6ZTogMS41cmVtO1xuXHRcdCAgXG5cdFx0ICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdFx0ICBoZWlnaHQ6IDNyZW07XG5cdFx0ICB3aWR0aDogM3JlbTtcblx0XHQgIHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHQgIGxpbmUtaGVpZ2h0OiAzcmVtO1xuXHRcdCAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHQgIGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHQgIFxuXHRcdCAgICBkaXNwbGF5OiBibG9jaztcblx0XHQgIGJvcmRlcjogMnB4IHNvbGlkICRibHVlO1xuXHRcdCAgXG5cdFx0ICAmOmJlZm9yZSB7XG5cdFx0XHQgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdCAgdG9wOiAzcHg7XG5cdFx0ICB9XG5cdFx0ICBcblx0XHQgICYuaWNvbi1wbGF5LWZpbGx7XG5cdFx0XHQgICY6YmVmb3JlIHtcblx0XHRcdFx0ICBsZWZ0OiA0cHg7XG5cdFx0XHQgIH1cblx0XHQgIH1cblx0XHQgIFxuXHRcdCAgJi5pY29uLXBhdXNlLWZpbGx7XG5cdFx0XHQgICY6YmVmb3JlIHtcblx0XHRcdFx0ICBsZWZ0OiAycHg7XG5cdFx0XHQgIH1cblx0XHQgIH1cblx0ICB9XG4gIH1cblxuICAuYXJ0aWNsZS1wcmV2aWV3cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMXJlbTtcbiAgICBsZWZ0OiAxcmVtO1xuICAgIHdpZHRoOiAzMDBweDtcblxuICAgIC5hcnRpY2xlLXByZXZpZXcge1xuICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgLmFydGljbGUtaW1hZ2Uge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICB9XG5cbiAgICAgIC5hcnRpY2xlLXRpdGxlIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUga2V5ZnJhbWVzKG1hcFpvb21PdXQpIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMjUpIHRyYW5zbGF0ZVkoMTAlKSk7XG4gIH1cbiAgMTAlIHtcbiAgICBvcGFjaXR5OiAuMjU7XG4gIH1cbiAgMTAwJSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEpKTtcbiAgfVxufVxuIiwiLy8gQWRkcyBrZXlmcmFtZXMgYmxvY2tzIGZvciBzdXBwb3J0ZWQgcHJlZml4ZXMsIHJlbW92aW5nIHJlZHVuZGFudCBwcmVmaXhlcyBpbiB0aGUgYmxvY2sncyBjb250ZW50XG5AbWl4aW4ga2V5ZnJhbWVzKCRuYW1lKSB7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdDogICAgJHByZWZpeC1mb3Itd2Via2l0O1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhOiAgICRwcmVmaXgtZm9yLW1vemlsbGE7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1pY3Jvc29mdDogJHByZWZpeC1mb3ItbWljcm9zb2Z0O1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1vcGVyYTogICAgICRwcmVmaXgtZm9yLW9wZXJhO1xuICAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjOiAgICAgICRwcmVmaXgtZm9yLXNwZWM7XG5cbiAgQGlmICRvcmlnaW5hbC1wcmVmaXgtZm9yLXdlYmtpdCB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpO1xuICAgICRwcmVmaXgtZm9yLXdlYmtpdDogdHJ1ZSAhZ2xvYmFsO1xuICAgIEAtd2Via2l0LWtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpO1xuICAgICRwcmVmaXgtZm9yLW1vemlsbGE6IHRydWUgIWdsb2JhbDtcbiAgICBALW1vei1rZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQgICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiAkb3JpZ2luYWwtcHJlZml4LWZvci1taWNyb3NvZnQgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICAkb3JpZ2luYWwtcHJlZml4LWZvci1vcGVyYSAgICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjICAgICAgIWdsb2JhbDtcblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYyB7XG4gICAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsInVsLnNvY2lhbC1tZWRpYS1saW5rcyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICAmLmJveGVzIHtcbiAgICBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogM3JlbTtcbiAgICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG5cbiAgICAgICAgYmFja2dyb3VuZDogZGFya2VuKCRkYXJrLWdyYXksIDEwJSk7XG4gICAgICAgIGNvbG9yOiAkbGlnaHQtZ3JheTtcblxuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKC41cyBhbGwpO1xuXG4gICAgICAgIGkge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKC41cyBhbGwpXG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgJi5mYWNlYm9vayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZmFjZWJvb2s7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi50d2l0dGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10d2l0dGVyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYubGlua2VkaW4ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWxpbmtlZGluO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYucGVyaXNjb3BlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wZXJpc2NvcGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5pbnN0YWdyYW0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWluc3RhZ3JhbTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLnlvdXR1YmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXlvdXR1YmU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS4xKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuaWNvbjpub3QoaSkge1xuICAmOmJlZm9yZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuMjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLjFlbTtcbiAgfVxufVxuXG4uaWNvbi1wdWJsaWNhdGlvbjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDNweDtcbn1cblxuLmxpdmUtZG90IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcblx0JjphZnRlciB7XG5cdCAgICBjb250ZW50OiAnJztcblx0ICAgIGJhY2tncm91bmQtY29sb3I6ICNFOTQ4MjI7XG5cdCAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cdCAgICBoZWlnaHQ6IC41ZW07XG5cdCAgICB3aWR0aDogLjVlbTtcblx0ICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0ICAgIG1hcmdpbi1sZWZ0OiAuMjVlbTtcblx0ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ICAgIGJvdHRvbTogMXB4O1xuXHR9XG59IiwiaGVhZGVyI21haW4ge1xuICAkc2VhcmNoLXRyYW5zaXRpb24tbGVuZ3RoOiAuNXM7XG4gICRtZW51LWhlaWdodC14bGFyZ2U6IDc1cHg7XG4gICRtZW51LWhlaWdodC1sYXJnZTogNTBweDtcbiAgJG1lbnUtaGVpZ2h0LW1lZGl1bTogMzVweDtcbiAgJG1lbnUtaGVpZ2h0LXNtYWxsOiAkbWVudS1oZWlnaHQtbWVkaXVtO1xuXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTUwMDtcblxuICAubG9nbyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgI2Z1dHVyZW5hdG8tbG9nbyB7XG4gICAgICBoZWlnaHQ6ICRtZW51LWhlaWdodC14bGFyZ2U7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xuICAgICAgICBoZWlnaHQ6ICRtZW51LWhlaWdodC1sYXJnZTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICBoZWlnaHQ6ICRtZW51LWhlaWdodC1tZWRpdW07XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMikgdHJhbnNsYXRlWCgyNSUpIHRyYW5zbGF0ZVkoMXB4KSk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBoZWlnaHQ6ICRtZW51LWhlaWdodC1zbWFsbDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnByb2plY3Qtb2Yge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtLjVyZW07XG4gICAgICByaWdodDogNCU7XG4gICAgICBmb250LXNpemU6IC43NXJlbTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XG4gICAgICAgIGJvdHRvbTogLS44cmVtO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNoZWFkZXItbWVudS1jb250YWluZXIge1xuXG4gICAgI2hlYWRlci1tZW51e1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIC50b3AtYmFyIGEge1xuICAgIGNvbG9yOiAkYmx1ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLnRvcC1iYXItcmlnaHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnRvcC1iYXItcmlnaHQsXG4gIC50b3AtYmFyLWxlZnQge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oICRzZWFyY2gtdHJhbnNpdGlvbi1sZW5ndGggYWxsICk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbiAgXG4gIC50b3AtYmFyLXJpZ2h0IC5tZW51LFxuICAudG9wLWJhci1sZWZ0IC5tZW51IHtcblx0ICBAaW5jbHVkZSB0cmFuc2l0aW9uKCAkc2VhcmNoLXRyYW5zaXRpb24tbGVuZ3RoIGFsbCApO1xuICB9XG5cbiAgdWwubWVudSB7XG5cbiAgICBmbG9hdDogbGVmdDtcblxuICAgIGxpIHtcbiAgICAgIGhlaWdodDogNzVweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XG4gICAgICAgIGhlaWdodDogJG1lbnUtaGVpZ2h0LWxhcmdlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgIGhlaWdodDogJG1lbnUtaGVpZ2h0LW1lZGl1bTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICBoZWlnaHQ6ICRtZW51LWhlaWdodC1zbWFsbDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGhlaWdodDogJG1lbnUtaGVpZ2h0LXNtYWxsO1xuICAgICAgfVxuXG4gICAgICAmLm1lbnUtdGV4dCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vICY6YWZ0ZXIge1xuICAgICAgICAvLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgLy8gICBjb250ZW50OiAnJztcbiAgICAgICAgLy8gICBib3R0b206IDA7XG4gICAgICAgIC8vICAgbGVmdDogMDtcbiAgICAgICAgLy8gICBoZWlnaHQ6IDRweDtcbiAgICAgICAgLy8gICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICAgICAgLy8gICB3aWR0aDogMTAwJTtcbiAgICAgICAgLy8gICBAaW5jbHVkZSB0cmFuc2Zvcm0oIHNjYWxlWCgwKSApO1xuICAgICAgICAvLyAgIEBpbmNsdWRlIHRyYW5zaXRpb24oIC4zM3MgYWxsICk7XG4gICAgICAgIC8vIH1cbiAgICAgICAgLy9cbiAgICAgICAgLy8gJjpob3ZlciB7XG4gICAgICAgIC8vICAgJjphZnRlciB7XG4gICAgICAgIC8vICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oIHNjYWxlWCguNzUpICk7XG4gICAgICAgIC8vICAgfVxuICAgICAgICAvLyB9XG5cbiAgICAgICAgJi5tZW51LW9wZW4ge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXJrLWdyYXk7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogLjVyZW07XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAyLjVyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAuNXJlbTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRkYXJrLWdyYXksIDEwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgfVxuXG4gIGkuaWNvbi1zZWFyY2gge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oICRzZWFyY2gtdHJhbnNpdGlvbi1sZW5ndGggYWxsICk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG5cblxuICAgICAgLmhlYWRlci1zZWFyY2gge1xuICAgICAgICBvcGFjaXR5OiAwLjAwMDAwMDAxO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiggJHNlYXJjaC10cmFuc2l0aW9uLWxlbmd0aCBhbGwgKTtcblxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTAlO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiA3NXB4O1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGhlaWdodDogNzVweDtcbiAgICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICBmb250LWZhbWlseTogR290aGFtO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XG4gICAgICAgICAgICBoZWlnaHQ6ICRtZW51LWhlaWdodC1sYXJnZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkbWVudS1oZWlnaHQtbGFyZ2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zZWFyY2gtb3BlbiB7XG4gICAgICAudG9wLWJhci1yaWdodCAubWVudSB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKDEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC0xMDAlKSk7XG4gICAgICB9XG5cbiAgICAgIGkuaWNvbi1zZWFyY2gge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgxMDAwJSkgc2NhbGUoMikpO1xuICAgICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgfVxuXG4gICAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIge1xuXG4gICAgICAgIC5oZWFkZXItc2VhcmNoIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC50d2l0dGVyLXR5cGVhaGVhZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC50dC1tZW51IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAzcHggNXB4IHJnYmEoMCwwLDAsMC4xKTtcblxuICAgICAgICAgICAgLnR0LXN1Z2dlc3Rpb24sXG4gICAgICAgICAgICAubG9hZGluZy1yZXN1bHRzLFxuICAgICAgICAgICAgLm5vLXJlc3VsdHMge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAuNXJlbSAuNXJlbSAuNXJlbSAxMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50dC1zdWdnZXN0aW9uIHtcblx0ICAgICAgICAgICAgXG5cdCAgICAgICAgICAgIFxuXHQgICAgICAgICAgICBcblx0ICAgICAgICAgICYudHlwZS1wZW9wbGUge1xuXHRcdCAgICAgICAgICAmOmJlZm9yZSB7XG5cdFx0ICAgICAgICAgIFx0QGluY2x1ZGUgZm5JY29uKCdFJyk7XG5cdFx0ICAgICAgICAgIH1cblx0ICAgICAgICAgIH1cblx0ICAgICAgICAgIFxuXHQgICAgICAgICAgJi50eXBlLWFydGljbGVzIHtcblx0XHQgICAgICAgICAgJjpiZWZvcmUge1xuXHRcdCAgICAgICAgICBcdEBpbmNsdWRlIGZuSWNvbignbCcpO1xuXHRcdCAgICAgICAgICB9XG5cdCAgICAgICAgICB9XG5cdCAgICAgICAgICBcblx0ICAgICAgICAgICYudHlwZS1wdWJsaWNhdGlvbnMge1xuXHRcdCAgICAgICAgICY6YmVmb3JlIHtcblx0XHQgICAgICAgICBcdEBpbmNsdWRlIGZuSWNvbignQicpO1xuXHRcdCAgICAgICAgIH1cblx0ICAgICAgICAgIH1cblx0ICAgICAgICAgIFxuXHQgICAgICAgICAgJltjbGFzcyo9XCJ0eXBlLVwiXSB7XG5cdFx0ICAgICAgICAgICAgJjpiZWZvcmUge1xuXHRcdFx0ICAgICAgICAgICAgZm9udC1zaXplOiAyZW07XG5cdFx0XHQgICAgICAgICAgICB0b3A6IC41cmVtO1xuXHRcdFx0ICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cdFx0XHQgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG5cdFx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIFxuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxvYWRpbmctcmVzdWx0cyB7XG4gICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMXB4O1xuXG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGUgdXJsKCcuLi9pbWcvYWpheC1sb2FkZXIuZ2lmJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLjVyZW07XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG5cbn1cblxuLmhvbWUge1xuICBoZWFkZXIjbWFpbiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuXG4gICAgICAmPi50b3AtYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHVsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgIGEubWVudS1vcGVuIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xuXHQgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ICB3aWR0aDogMTAwJTtcdFx0ICBcblx0ICB9XG4gIH1cbn1cbiIsIi5zZWN0aW9uLWJyZWFrZXIge1xuICBwYWRkaW5nOiA0cmVtIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDUwcHggJGxpZ2h0LWdyYXk7XG4gIC8vIG1hcmdpbi10b3A6IDJyZW07XG5cbiAgJj5hc2lkZSxkaXYge1xuXHQgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG5cdCAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHQgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgJi53b3JsZG1hcCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vaW1nL2JhY2tncm91bmRzL3dvcmxkbWFwLnBuZyk7XG4gIH1cbn1cblxuaHRtbC50b3VjaCB7XG5cdC5zZWN0aW9uLWJyZWFrZXJ7XG5cdFx0Ji53b3JsZG1hcCB7XG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tO1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRcdFx0XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRcdH1cblx0XHQgIH1cblx0fVxufVxuXG5mb290ZXIjbWFpbkZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICRkYXJrLWdyYXk7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgYm9yZGVyLWJvdHRvbTogLjVyZW0gc29saWQgJGJsYWNrO1xuICBwYWRkaW5nOiAxLjVyZW0gMDtcblxuICAubWVudSB7XG4gICAgbGkge1xuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLndpZGdldCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBcbiAgICAmPmgzIHtcbiAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgICBmb250LWZhbWlseTogJHNlY29uZGFyeS1mb250LWZhbWlseTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAuNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgIH1cbiAgfVxufVxuIiwiYm9keSB7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG5cbiNob21lcGFnZS1tYXAsXG4jaG9tZS10d2l0dGVyLWZlZWQsXG4jaG9tZS1wdWJsaWNhdGlvbnMtY29udGFpbmVyIHtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuI2hvbWUtdHdpdHRlci1mZWVkIHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG4jZmVhdHVyZWQtcG9zdHMge1xuXHRcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XG5cdFx0aGVpZ2h0OiAxMDB2aDtcblx0XHRwYWRkaW5nLXRvcDogODNweDtcblx0XHRcblx0XHQjZmVhdHVyZWQtaGVybyB7XG5cdFx0ICBkaXNwbGF5OiBmbGV4O1xuXHRcdCAgaGVpZ2h0OiAxMDAlO1xuXHRcdCAgb3ZlcmZsb3c6IGhpZGRlbjtcblx0XHQgIFxuXHRcdCAgJj5hcnRpY2xlIHtcblx0XHRcdCAgZGlzcGxheTogZmxleDtcblx0XHRcdCAgXG5cdFx0XHQgICY+LmFydGljbGUtaW1hZ2Uge1xuXHRcdFx0XHQgIG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdCAgLy9mbGV4LXNocmluazogMTAwO1xuXHRcdFx0XHQgIFxuXHRcdFx0XHQgIGltZyB7XG5cdFx0XHRcdFx0ICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtNTAlKSk7XG5cdFx0XHRcdFx0ICBtYXgtd2lkdGg6IG5vbmU7XG5cdFx0XHRcdFx0ICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0ICBsZWZ0OiA1MCU7XG5cdFx0XHRcdFx0ICBcblx0XHRcdFx0ICB9XG5cdFx0XHRcdCAgXG5cdFx0XHRcdCAgXG5cdFx0XHQgIH1cblx0XHQgIH1cblx0XHR9XG5cdH1cblx0XG4gICY+LmNvbHVtbnMge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuYm9keVtkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdIHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XG5cdFx0I2ZlYXR1cmVkLXBvc3RzIHtcblx0XHRcdGhlaWdodDogOTd2aDtcblx0XHRcdCNmZWF0dXJlZC1oZXJvIHtcblx0XHRcdFx0LmFydGljbGUtaGVhZGVyIHtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4jZmVhdHVyZWQtaGVybyB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpe1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbiAgYXJ0aWNsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWdyYXk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKXtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcblx0XHRoZWlnaHQ6IDEwMHZoO1xuXHR9XG5cdFxuXHRAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRoZWlnaHQ6IDEwMHZoO1xuXHR9XG5cbiAgICAuYXJ0aWNsZS1oZWFkZXIge1xuICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgb3JkZXI6IDI7XG4gICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIFxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuXHQgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgfVxuICAgICAgXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0ICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIH1cblxuICAgICAgLmFydGljbGUtbWV0YSxcbiAgICAgIC5hcnRpY2xlLWV4Y2VycHQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHQgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjI1cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBcbiAgICAgIC5hcnRpY2xlLW1ldGEge1xuXHQgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHQgICAgICBmb250LXNpemU6IDFyZW07XG5cdCAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmFydGljbGUtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDJ2dztcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAzLjV2dztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogN3Z3O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBcblxuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5hcnRpY2xlLWNhdGVnb3J5IHtcbiAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgbGVmdDogMnJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCkge1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMzJTtcbiAgICAgICAgZmxleDogMCAwIDMzLjMzMzMzMyU7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgfVxuXG4gICAgICBoMiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYXJ0aWNsZS1pbWFnZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG9yZGVyOiAxO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIFxuICAgICAgLmJ1dHRvbiB7XG5cdFx0ICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ICBib3R0b206IC41cmVtO1xuXHRcdCAgcmlnaHQ6IC41cmVtO1xuXHRcdCAgZm9udC1mYW1pbHk6ICRzZWNvbmRhcnktZm9udC1mYW1pbHk7XG5cdCAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCkge1xuICAgICAgICB3aWR0aDogNjYuNjY2NjY2NiU7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuXHQgICAgICBmbGV4OiAxO1xuICAgICAgfVxuICAgICAgXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0ICAgICAgZmxleDogMTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgaW1nIHtcblx0ICAgICAgbWF4LXdpZHRoOiBub25lO1xuXHQgICAgICBsZWZ0OiA1MCU7XG5cdCAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHQgICAgICBcblx0ICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgdXApIHtcblx0XHQgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdCAgICAgIH1cblx0ICAgICAgXG5cdCAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdCAgICAgIG1heC13aWR0aDogMTAwJTtcblx0ICAgICAgfVxuXHQgICAgICBcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI2ZlYXR1cmVkLXNlY29uZGFyeSB7XG5cbiAgLmFydGljbGUtbWV0YSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHQgICAgbWFyZ2luLWJvdHRvbTogLjI1cmVtO1xuICAgIH1cbiAgfVxuXG4gIGgzIHtcbiAgICBmb250LXNpemU6IDEuNXZ3O1xuICAgIGhlaWdodDogNGVtO1xuICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpIHtcbiAgICAgIGZvbnQtc2l6ZTogMnZ3O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgIGZvbnQtc2l6ZTogMi41dnc7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICBmb250LXNpemU6IDV2dztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcblx0ICAgICAgICBmb250LXNpemU6IDEuMjV2dztcbiAgICAgICAgfVxuICB9XG4gIFxuICAmOm5vdCgub3dsLWNhcm91c2VsKSB7XG5cbiAgXHRcdGRpc3BsYXk6IGZsZXg7XG4gIFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuICBcdFx0ZmxleC13cmFwOiBub3dyYXA7XG4gIFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuICBcdFx0bWF4LXdpZHRoOiAxMDAlO1xuICBcblx0ICBhcnRpY2xlIHtcblx0XHQgIFxuXHQgIFx0XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRtYXgtd2lkdGg6IDMzLjMzMzMzMyU7XG5cdFx0XHRmbGV4OiAwIDAgMzMuMzMzMzMzJTtcblx0XHR9XG5cdFx0XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG5cdFx0ICBcdG1heC13aWR0aDogMjUlO1xuXHRcdFx0ZmxleDogMCAwIDI1JTtcblx0ICBcdH1cblx0XHRcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG5cdFx0XHRtYXgtd2lkdGg6IDUwJTtcblx0XHRcdGZsZXg6IDAgMCA1MCU7XG5cdFx0fVxuXHRcdFxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0ZmxleDogMCAwIDEwMCU7XG5cdFx0fVxuXHQgIH1cbiAgfVxufVxuXG4jaG9tZS1wdWJsaWNhdGlvbnMtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuI2hvbWUtbmF0b3NvdXJjZS1jb250YWluZXIge1xuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgLnRpbWVsaW5lLWZlZWQge1xuICAgICAgdWwuYXJ0aWNsZS1mZWVkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC41cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucm93Lm5vLXBhZCB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgJj5kaXZ7XG4gICAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgICBwYWRkaW5nLWxlZnQ6MDtcbiAgICAgIH1cbiAgICAgICY6bGFzdC1jaGlsZHtcbiAgICAgICAgcGFkZGluZy1yaWdodDowO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4jaG9tZS1uYXRvc291cmNlLWNvbnRhaW5lciB7XG4gIC50aW1lbGluZS1mZWVkIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQodG8gdG9wLHJnYmEoMjU1LDI1NSwyNTUsMSkgMCUsIHJnYmEoMjU1LDI1NSwyNTUsLjUpIDc1JSwgcmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlLCRmYWxsYmFjazogdHJhbnNwYXJlbnQpO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB6LWluZGV4OiAxMDA7XG4gICAgfVxuXG4gICAgLmFydGljbGUtZmVlZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNHJlbTtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJHBvcywgJGcxLCAkZzI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnMzogbnVsbCwgJGc0OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkZzU6IG51bGwsICRnNjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGc3OiBudWxsLCAkZzg6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRnOTogbnVsbCwgJGcxMDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGZhbGxiYWNrOiBudWxsKSB7XG4gIC8vIERldGVjdCB3aGF0IHR5cGUgb2YgdmFsdWUgZXhpc3RzIGluICRwb3NcbiAgJHBvcy10eXBlOiB0eXBlLW9mKG50aCgkcG9zLCAxKSk7XG4gICRwb3Mtc3BlYzogbnVsbDtcbiAgJHBvcy1kZWdyZWU6IG51bGw7XG5cbiAgLy8gSWYgJHBvcyBpcyBtaXNzaW5nIGZyb20gbWl4aW4sIHJlYXNzaWduIHZhcnMgYW5kIGFkZCBkZWZhdWx0IHBvc2l0aW9uXG4gIEBpZiAoJHBvcy10eXBlID09IGNvbG9yKSBvciAobnRoKCRwb3MsIDEpID09IFwidHJhbnNwYXJlbnRcIikgIHtcbiAgICAkZzEwOiAkZzk7ICRnOTogJGc4OyAkZzg6ICRnNzsgJGc3OiAkZzY7ICRnNjogJGc1O1xuICAgICRnNTogJGc0OyAkZzQ6ICRnMzsgJGczOiAkZzI7ICRnMjogJGcxOyAkZzE6ICRwb3M7XG4gICAgJHBvczogbnVsbDtcbiAgfVxuXG4gIEBpZiAkcG9zIHtcbiAgICAkcG9zaXRpb25zOiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJHBvcyk7XG4gICAgJHBvcy1kZWdyZWU6IG50aCgkcG9zaXRpb25zLCAxKTtcbiAgICAkcG9zLXNwZWM6ICAgbnRoKCRwb3NpdGlvbnMsIDIpO1xuICB9XG5cbiAgJGZ1bGw6ICRnMSwgJGcyLCAkZzMsICRnNCwgJGc1LCAkZzYsICRnNywgJGc4LCAkZzksICRnMTA7XG5cbiAgLy8gU2V0ICRnMSBhcyB0aGUgZGVmYXVsdCBmYWxsYmFjayBjb2xvclxuICAkZmFsbGJhY2stY29sb3I6IG50aCgkZzEsIDEpO1xuXG4gIC8vIElmICRmYWxsYmFjayBpcyBhIGNvbG9yIHVzZSB0aGF0IGNvbG9yIGFzIHRoZSBmYWxsYmFjayBjb2xvclxuICBAaWYgKHR5cGUtb2YoJGZhbGxiYWNrKSA9PSBjb2xvcikgb3IgKCRmYWxsYmFjayA9PSBcInRyYW5zcGFyZW50XCIpIHtcbiAgICAkZmFsbGJhY2stY29sb3I6ICRmYWxsYmFjaztcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRmYWxsYmFjay1jb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJHBvcy1kZWdyZWUgJGZ1bGwpOyAvLyBTYWZhcmkgNS4xKywgQ2hyb21lXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVucXVvdGUoXCJsaW5lYXItZ3JhZGllbnQoI3skcG9zLXNwZWN9I3skZnVsbH0pXCIpO1xufVxuIiwiLnNpbmdsZSB7XG4gICY+LnJvdyB7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY+LmNvbHVtbixcbiAgICAmPi5jb2x1bW5zIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG59XG5cbmFydGljbGUge1xuXG4gICRjYXQtY29sb3I6ICRyZWQ7XG4gIG1heC13aWR0aDogMTAwdnc7XG5cbiAgcCB7XG5cdCAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0ICBmb250LXNpemU6IDV2dztcblx0ICB9XG4gIH1cbiBcbiAgLmFydGljbGUtdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgfVxuXG4gIC5hcnRpY2xlLWNhdGVnb3J5IHtcbiAgICBjb2xvcjogJGNhdC1jb2xvcjtcbiAgICAvLyBmb250LXNpemU6IC43NXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgYmFja2dyb3VuZDogJGNhdC1jb2xvcjtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmNhdGVnb3J5LXRpdGxlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAuMjVyZW0gLjVyZW07XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY2F0LWNvbG9yO1xuICAgICAgYmFja2dyb3VuZDogJGRhcmstZ3JheTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBjb2xvcjogJGNhdC1jb2xvcjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXQtY29sb3I7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgY29sb3I6ICRjYXQtY29sb3I7XG4gIH1cblxuICAmLmNhcmQge1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgXG4gICAgLmNhcmQtaW5uZXIge1xuXHQgICAgYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIFxuICAgIFxuXG4gICAgJGFuaW0tbGVuZ3RoOiAxcztcblxuICAgIC5hcnRpY2xlLWltYWdlIHtcbiAgICAgIGltZyB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oICRhbmltLWxlbmd0aCApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hcnRpY2xlLWhlYWRlciB7XG5cbiAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCAkYW5pbS1sZW5ndGggKTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgXG4gICAgICAuYXJ0aWNsZS1tZXRhIHtcblx0ICAgICAgb3JkZXI6IDA7XG5cdCAgICAgIFxuXHQgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHQgICAgICBmb250LXNpemU6IC44cmVtO1xuXHRcdCAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuXHQgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5hcnRpY2xlLWV4Y2VycHQge1xuICAgICAgICBcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIFxuICAgICAgfVxuXG4gICAgICAuYXJ0aWNsZS10aXRsZSB7XG5cdCAgICAgIG9yZGVyOiAxO1xuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRjYXQtY29sb3I7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgIHRvcDogLTRweDtcbiAgICAgICAgbGVmdDogMzMlO1xuICAgICAgICByaWdodDogMzMlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2F0LWNvbG9yO1xuXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oICRhbmltLWxlbmd0aCApO1xuICAgICAgfVxuICAgIH1cblxuICAgIFxuICB9XG5cbiAgJi5yZWxhdGVkLWFydGljbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDMwMHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTpjb3ZlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbiguNXMgYWxsKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgaGVhZGVyIHtcbiAgICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgZmxleDogMTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjc1KTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oLjVzIGFsbCk7XG5cbiAgICAgIC5hcnRpY2xlLWhlYWRlciB7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKC41cyBhbGwpO1xuICAgICAgfVxuXG4gICAgICAuYXJ0aWNsZS10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0ICAgICAgICBmb250LXNpemU6IDV2dztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgXG4gICAgICAuYXJ0aWNsZS1tZXRhIHtcblx0ICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB9XG5cbiAgICAgIC5hcnRpY2xlLWNhdGVnb3J5LFxuICAgICAgLmFydGljbGUtdGl0bGUsXG4gICAgICAuYXJ0aWNsZS1tZXRhIHtcbiAgICAgIH1cblxuICAgICAgLmFydGljbGUtY2F0ZWdvcnl7XG5cdCAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXHQgICAgIHdpZHRoOiAxMDAlO1xuXHQgICAgIHRvcDogMXJlbTtcblx0ICAgICBcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGxlZnQ6IDJyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuY2F0ZWdvcnktdGl0bGUge1xuLy8gICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgaGVhZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjUpO1xuICAgICAgfVxuICAgICAgLmFydGljbGUtaGVhZGVyIHtcbi8vICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKCB0cmFuc2xhdGVZKC0xMHB4KSApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cblxuICAmLnNpbmdsZSxcbiAgJi5hcmNoaXZlLFxuICAmLnBhZ2Uge1xuICAgIGhlYWRlciB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICB9XG4gICAgICBcbiAgICAgIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiA1MHB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcblx0XHRcdGZvbnQtc2l6ZTogM3JlbTtcblx0XHR9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgZm9udC1zaXplOiA1dnc7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNhdGVnb3J5LXRpdGxlICB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY2F0LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5hcnRpY2xlLW1ldGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG5cbiAgICAgICAgLmFydGljbGUtY2F0ZWdvcnkge1xuICAgICAgICAgIGZsZXg6IDE7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgZmxleDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYXJ0aWNsZS1hdXRob3Ige1xuICAgICAgICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcnRpY2xlLXRpbWUge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBmbGV4OiAxO1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGRhcmstZ3JheTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC50aW1lLFxuICAgICAgICAgIC5kYXRlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAudGltZXtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZuSWNvbignZCcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuZGF0ZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZuSWNvbigndCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZmxvYXQ6cmlnaHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIGhlYWRlciB7XG5cdFx0XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDFyZW07XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuXHRcdH1cblx0XHRcblx0ICAgIC5hcnRpY2xlLW1ldGEge1xuXHQgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG5cdCAgICAgICAgY2xlYXI6IGJvdGg7XG5cdCAgICAgIH1cblx0ICAgICAgXG5cdCAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdCAgICAgIGZsZXgtd3JhcDogd3JhcDtcblx0ICAgICAgfVxuXHQgICAgICBcblx0ICAgICAgLmFydGljbGUtY2F0ZWdvcnkge1xuXHRcdCAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0ICAgICAgZmxleDogMCAwIDEwMCU7XG5cdFx0XHQgICAgICB3aWR0aDogMTAwJTtcblx0XHRcdCAgICAgIG9yZGVyOiAyO1xuXHRcdCAgICAgIH1cblx0XHQgICAgICBcblx0XHQgICAgICAmOmJlZm9yZSB7XG5cdFx0XHQgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdFx0ICAgICAgbGVmdDogMXJlbTtcblx0XHRcdCAgICAgIH1cblx0XHQgICAgICB9XG5cdCAgICAgIH1cblx0ICAgICAgXG5cdCAgICAgIC5hcnRpY2xlLWF1dGhvciB7XG5cdFx0ICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHQgICAgICBwYWRkaW5nOiAwO1xuXHRcdFx0ICAgICAgb3JkZXI6IDA7XG5cdFx0XHQgICAgICBtYXJnaW4tYm90dG9tOiAuMjVyZW07XG5cdFx0XHQgICAgICBmbGV4OiAwIDAgMTAwJTtcblx0XHRcdCAgICAgIHdpZHRoOiAxMDAlO1xuXHRcdCAgICAgIH1cblx0ICAgICAgfVxuXHQgICAgICBcblx0ICAgICAgLmFydGljbGUtdGltZSB7XG5cdFx0ICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHQgICAgICBvcmRlcjogMTtcblx0XHRcdCAgICAgIGZsZXg6IDAgMCAxMDAlO1xuXHRcdFx0ICAgICAgd2lkdGg6IDEwMCU7XG5cdFx0ICAgICAgfVxuXHRcdCAgICAgIFxuXHRcdCAgICAgIC5kYXRlIHtcblx0XHRcdCAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHQgICAgICBmbG9hdDogbm9uZTtcblx0XHRcdFx0ICAgICAgcGFkZGluZzogMDtcblx0XHRcdFx0ICAgICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG5cdFx0XHQgICAgICB9XG5cdFx0ICAgICAgfVxuXHRcdCAgICAgIFxuXHRcdCAgICAgICY6YmVmb3JlIHtcblx0XHRcdCAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHQgICAgICBkaXNwbGF5OiBub25lO1xuXHRcdFx0ICAgICAgfVxuXHRcdCAgICAgIH1cblx0ICAgICAgfVxuXHQgICAgfVxuICAgIH1cblxuICAgIFxuICAgIGZvb3RlciB7XG5cdCAgICBcblx0ICAgIHdpZHRoOiAxMDAlO1xuXHRcdHBhZGRpbmc6IDFyZW07XG5cdCAgICBcblx0ICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cdCAgICBcblx0ICAgIC5hcnRpY2xlLXRhZ3Mge1xuXHRcdCAgICBtYXJnaW4tdG9wOiAxcmVtO1xuXHRcdCAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHQgICAgfVxuICAgIH1cbiAgICBcbiAgICAuYXJ0aWNsZS1leGNlcnB0IHtcblx0ICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdCAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG5cdFx0ICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG5cdCAgICB9XG4gICAgfVxuXG5cdC5hcnRpY2xlLWNvbnRlbnQge1xuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAxcmVtO1xuXHRcdFx0cGFkZGluZy1yaWdodDogMXJlbTtcblx0XHR9XG5cdFx0XG5cdFx0aWZyYW1lIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDJyZW07XG5cdFx0XHRtYXJnaW4tdG9wOiAxcmVtO1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRcblx0XHRcdCZbc3JjKj1cInlvdXR1YmUuY29tXCJdIHtcbi8vIFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC53cC1jYXB0aW9uIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdFxuXHRcdFx0cCB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMXJlbTtcblx0XHRcdFx0cGFkZGluZzogLjVyZW0gMXJlbSAwO1xuXHRcdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHRcbiAgXG4gIH1cblxuICAmLmFyY2hpdmUge1xuICAgIGgyIHtcbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgfVxuICAgIH1cbiAgICAuZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgbWF4LXdpZHRoOiAyNSU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBcbiAgICAgICAgaW1nIHtcblx0ICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblx0XG5cdGhlYWRlciB7XG5cdFx0XG5cdCAgICAuYXJ0aWNsZS1tZXRhIHtcblx0ICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuXHQgICAgICAgIGNsZWFyOiBib3RoO1xuXHQgICAgICB9XG5cdCAgICAgIFxuXHQgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHQgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cdCAgICAgIH1cblx0ICAgICAgXG5cdCAgICAgIC5hcnRpY2xlLWNhdGVnb3J5IHtcblx0XHQgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHRcdCAgICAgIGZsZXg6IDAgMCAxMDAlO1xuXHRcdFx0ICAgICAgd2lkdGg6IDEwMCU7XG5cdFx0XHQgICAgICBvcmRlcjogMjtcblx0XHQgICAgICB9XG5cdFx0ICAgICAgXG5cdFx0ICAgICAgJjpiZWZvcmUge1xuXHRcdFx0ICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0XHRcdCAgICAgIGxlZnQ6IDFyZW07XG5cdFx0XHQgICAgICB9XG5cdFx0ICAgICAgfVxuXHQgICAgICB9XG5cdCAgICAgIFxuXHQgICAgICAuYXJ0aWNsZS1hdXRob3Ige1xuXHRcdCAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0ICAgICAgcGFkZGluZzogMDtcblx0XHRcdCAgICAgIG9yZGVyOiAwO1xuXHRcdFx0ICAgICAgbWFyZ2luLWJvdHRvbTogLjI1cmVtO1xuXHRcdFx0ICAgICAgZmxleDogMCAwIDEwMCU7XG5cdFx0XHQgICAgICB3aWR0aDogMTAwJTtcblx0XHQgICAgICB9XG5cdCAgICAgIH1cblx0ICAgICAgXG5cdCAgICAgIC5hcnRpY2xlLXRpbWUge1xuXHRcdCAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0ICAgICAgb3JkZXI6IDE7XG5cdFx0ICAgICAgfVxuXHRcdCAgICAgIFxuXHRcdCAgICAgIC5kYXRlIHtcblx0XHRcdCAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHQgICAgICBmbG9hdDogbm9uZTtcblx0XHRcdFx0ICAgICAgcGFkZGluZzogMDtcblx0XHRcdFx0ICAgICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG5cdFx0XHQgICAgICB9XG5cdFx0ICAgICAgfVxuXHRcdCAgICAgIFxuXHRcdCAgICAgICY6YmVmb3JlIHtcblx0XHRcdCAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHRcdFx0XHQgICAgICBkaXNwbGF5OiBub25lO1xuXHRcdFx0ICAgICAgfVxuXHRcdCAgICAgIH1cblx0ICAgICAgfVxuXHQgICAgfVxuICAgIH1cblxuICAgIC5hcnRpY2xlLWV4Y2VycHQge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICB9XG5cbiAgJi5zaW5nbGUge1xuXG4gICAgJi5hcnRpY2xlLFxuICAgICYuY29tcGV0aXRpb25fZW50cnksXG4gICAgJi5wYWdlIHtcblxuICAgICAgJi53aXRoLWltYWdlIHtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogNTB2aDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB9XG5cdFx0XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmPi53cC1wb3N0LWltYWdlIHtcblx0ICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdCAgICAgICAgd2lkdGg6IDEwMCU7XG5cdCAgICAgICAgbGVmdDogMDtcblx0ICAgICAgICB0b3A6IDA7XG5cdCAgICAgICAgXG5cdCAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuXHRcdCAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBcblx0ICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0XHQgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJj5oZWFkZXIsXG4gICAgICAuYXJ0aWNsZS1jb250ZW50LFxuICAgICAgZm9vdGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICB9XG5cbiAgICAgIGhlYWRlciB7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiA1dnc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuYXJ0aWNsZS1tZXRhIHtcbi8vIFx0ICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICRtZWRpdW0tZ3JheTtcblxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi5wdWJsaWNhdGlvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgJi53aXRoLWltYWdlIHtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogMzB2aDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuXHQgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0ICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJj4ud3AtcG9zdC1pbWFnZSB7XG5cdCAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXHQgICAgICAgIHdpZHRoOiAxMDAlO1xuXHQgICAgICAgIGxlZnQ6IDA7XG5cdCAgICAgICAgdG9wOiAwO1xuXHQgICAgICAgIFxuXHQgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcblx0XHQgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgXG5cdCAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0ICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdCAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaGVhZGVyIHtcblx0ICAgICAgcGFkZGluZzogMnJlbTtcblx0ICAgICAgXG5cdCAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgIFx0cGFkZGluZzogMXJlbTtcbiAgICAgICAgICBcdHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaGVhZGVyLFxuICAgICAgLmFydGljbGUtY29udGVudCxcbiAgICAgIC5yb29tLWZvci1kZWJhdGUtcmVzcG9uc2VzLFxuICAgICAgLmFydGljbGUtY29udHJpYnV0b3JzIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICBcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgfVxuICAgICAgXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgfVxuICAgICAgXG4gICAgICB9XG5cbiAgICAgIGhlYWRlciB7XG4gICAgICAgIC5hcnRpY2xlLW1ldGEge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIFxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHQgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdCAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG5cbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC4yNXJlbTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogc3ViO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0ICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0ICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJj5kaXYge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmFydGljbGUtZGF0ZSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblxuICAgICAgICAgICAgLmRhdGUge1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZuSWNvbigndCcpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGZsb2F0OnJpZ2h0O1xuICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdCAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG5cdCAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5hcnRpY2xlLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcblxuICAgICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKSB7XG4gICAgICAgICAgQGluY2x1ZGUgY29sdW1ucygyKTtcbiAgICAgICAgICBAaW5jbHVkZSBjb2x1bW4tZ2FwKDNyZW0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgXG4gICAgLmFydGljbGUtY29udGVudCB7XG4gICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICBsaW5lLWhlaWdodDogMS41ZW07XG4vLyAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgIH1cblxuICB9XG5cbn1cblxuaHRtbC5uby10b3VjaCBhcnRpY2xlLmNhcmQge1xuXHQuYXJ0aWNsZS1oZWFkZXIge1xuXHRcdC5hcnRpY2xlLW1ldGF7XG5cdFx0XHRvcmRlcjogMDtcblx0XHR9XG5cdFx0LmFydGljbGUtdGl0bGUge1xuXHRcdFx0b3JkZXI6IDE7XG5cdFx0fVxuXHRcdC5hcnRpY2xlLWV4Y2VycHQge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHQgICAgICAgIHRvcDogMTAwJTtcblx0ICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cdCAgICAgICAgbGVmdDogMDtcblx0ICAgICAgICByaWdodDogMDtcblx0ICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cdCAgICAgICAgcGFkZGluZzogMCAxcmVtIDFyZW07XG5cdFx0fVxuXHR9XG5cdCY6aG92ZXIge1xuXG4gICAgICAuYXJ0aWNsZS1pbWFnZSB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMSkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5hcnRpY2xlLWhlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC0xMDAlKSk7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG59XG5cbmh0bWwubm8tdG91Y2ggLnRpbWVsaW5lLWZlZWQge1xuXHRcblx0dWwge1xuXHRcdGxpIHtcblx0XHRcdGEge1xuXHRcdFx0XHRhcnRpY2xlIHtcblx0XHRcdFx0XHQuYXJ0aWNsZS1jb250YWluZXIge1xuXHRcdFx0XHRcdFx0LmFydGljbGUtZXhjZXJwdCB7XG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0ICAgICAgICAgICAgICB0b3A6IDEwMCU7XG5cdFx0XHRcdCAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cdFx0XHRcdCAgICAgICAgICAgICAgXG5cdFx0XHRcdCAgICAgICAgICAgIHAge1xuXHRcdFx0XHRcdCAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdFx0XHQgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdCAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0XHQgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdFx0XHQgICAgICAgICAgICAgIH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdFxuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YSB7XG5cdFx0ICAgICAgICAgIGFydGljbGUge1xuXHRcdCAgICAgICAgICAgIC5hcnRpY2xlLWNvbnRhaW5lciB7XG5cdFx0ICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtMi4xcmVtKSlcblx0XHQgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0XG59XG5cbi50aW1lbGluZS1mZWVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICBoZWFkZXIge1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuXG4gICAgaDUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgXG4gICAgICBhLnZpZXctYWxsIHtcblx0ICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuXHQgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ICAgICAgICAgICAgICByaWdodDogMDtcblx0ICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoLjc1KSk7XG5cdCAgICAgICAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYXJ0aWNsZS1mZWVkLWNvbnRhaW5lciB7XG4gICAgZmxleDogMTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAycmVtO1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcblxuICAgIGxpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgICBwYWRkaW5nOiAwIC41cmVtO1xuICAgICAgbWFyZ2luOiAuNXJlbSAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAtMi41cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICAgICAgd2lkdGg6IDFyZW07XG4gICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDFzKTtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDonJztcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICAgICAgbGVmdDogLTEuNXJlbTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgfVxuXG4gICAgICBhIHtcblxuICAgICAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgICAgIGFydGljbGUge1xuXG4gICAgICAgICAgcGFkZGluZzogLjVyZW0gMCAwO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgIC5hcnRpY2xlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCAuMzVzICk7XG5cbiAgICAgICAgICAgIC5hcnRpY2xlLXRpdGxlIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcblx0XHRcdCAgXG5cdFx0XHQgIFxuICAgICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnZ3O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hcnRpY2xlLWV4Y2VycHQge1xuICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXZ3O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICBhcnRpY2xlIHtcbiAgICAgICAgICAgIC5hcnRpY2xlLWNvbnRhaW5lciB7XG4vLyAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC0yLjFyZW0pKVxuICAgICAgICAgICAgICAuYXJ0aWNsZS10aXRsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cbn1cblxudWwuZm9vdGVyLXJlbGF0ZWQtYXJ0aWNsZXMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbi5hcnRpY2xlLWNvbnRyaWJ1dG9ycyB7XG4gIGhlYWRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIH1cblxuICB1bC5hdXRob3ItYmlvcyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1pbi13aWR0aDogNTAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtaW4td2lkdGg6IG5vbmU7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLmF1dGhvci1waG90byB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHQgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuXHRcdGEge1xuXHQgICAgICAgIEBpbmNsdWRlIHBlcnNvblBob3RvKCk7XG5cdFxuXHQgICAgICAgIGltZyB7XG5cdCAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cdCAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5hdXRob3ItaW5mbyB7XG4gICAgICAgIGZsZXg6IDE7XG5cbiAgICAgICAgLmF1dGhvci1wb3N0cyB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuYmxvY2txdW90ZSB7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICBib3JkZXItdG9wOiA1cHggc29saWQgJGJsYWNrO1xuICBib3JkZXItYm90dG9tOiA1cHggc29saWQgJGJsYWNrO1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIFxuICAmOmZpcnN0LWxldHRlciB7XG5cdCAgZm9udC1zaXplOiAzMDAlO1xuXHQgICAgZmxvYXQ6IGxlZnQ7XG5cdCAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG5cdCAgICBtYXJnaW4tYm90dG9tOiAwO1xuXHQgICAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICBjaXRlIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHBhZGRpbmctbGVmdDogMzUlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiAuNXJlbTtcbiAgICBmb250LWZhbWlseTogXCJBYnJpbCBUZXh0XCIsIEdlb3JnaWEsIHNlcmlmO1xuICAgIHRleHQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6ICRkYXJrLWdyYXk7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICB3aWR0aDogMzMlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGJhY2tncm91bmQ6ICRkYXJrLWdyYXk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiA0NSU7XG4gICAgfVxuICB9XG59XG5cbi50YWdzIHtcbiAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG5cbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDEycHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybS1vcmlnaW4obGVmdCBjZW50ZXIpO1xuICAgICAgICAvLyBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDNkZWcpKTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiguMjVzIGFsbCk7XG4gICAgICAgIEBpbmNsdWRlIGZpbHRlcihkcm9wLXNoYWRvdygxcHggMXB4IDFweCAkbWVkaXVtLWdyYXkpKTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDBkZWcpKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IC0xNHB4O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJGxpZ2h0LWdyYXkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDFyZW0gMXJlbSAxcmVtIDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAuNzVyZW07XG4gICAgICAgICAgbGVmdDogLS4yNXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IC41cmVtO1xuICAgICAgICAgIHdpZHRoOiAuNXJlbTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMXB4IDFweCAxcHggJG1lZGl1bS1ncmF5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5uYXYtc2luZ2xlIHtcblx0bWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdG1hcmdpbi1yaWdodDogYXV0bztcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHR3aWR0aDogMTAwJTtcblx0XG5cdCY6bGFzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogNHJlbTtcblx0fVxufVxuXG4ucmVsYXRlZC1hcnRpY2xlcy1jb250YWluZXIge1xuXHQub3dsLWNhcm91c2VsIHtcblx0XHQub3dsLWNvbnRyb2xzIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XG5cdFx0XHQub3dsLWRvdHMge1xuXHRcdFx0XHQub3dsLWRvdCB7XG5cdFx0XHRcdFx0c3BhbiB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4jbWFpbiA+IC5yb3cgPiAuY29sdW1uIHtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0cGFkZGluZzogMDtcblx0fVxufSIsImFydGljbGUge1xuXHQmLnBhZ2Uge1xuXHRcdC5hcnRpY2xlLWNvbnRlbnQge1xuXHRcdFx0bWFyZ2luLXRvcDogMnJlbTtcblx0XHRcdG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG5cdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHR9XG5cdH1cbn0iLCJhcnRpY2xlIHtcblx0Ji5zaW5nbGUge1xuXHRcdCYuYmlvIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgICBoZWFkZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICRtZWRpdW0tZ3JheTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgICAgICAgLmJpby1waG90byB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzcmVtO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBib3JkZXI6IDdweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAzcHggJG1lZGl1bS1ncmF5O1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIFxuICAgICAgICAgIGltZyB7XG5cdCAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJpby1zdW1tYXJ5IHtcbiAgICAgICAgICBmbGV4OiAxO1xuXG4gICAgICAgICAgLmJpby10aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuYmlvLW1ldGEge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZGFyay1ncmF5O1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY+ZGl2IHtcbiAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJpby1wb3N0cyB7XG4gICAgICAgICAgICAgIC5iaW8tcG9zdHMtY291bnQge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogLjVyZW0gMXJlbTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXJrLWdyYXk7XG4gICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJpby1sYXN0LXBvc3Qge1xuICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG5cbiAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogLjVyZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cblx0fVxufVxuXG4uYXJjaGl2ZS1iaW9zIHtcblx0cGFkZGluZy10b3A6IDJyZW07XG5cdFxuICAuYmlvcy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLmJpby1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMlO1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzMyU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgIG1heC13aWR0aDogMjUlO1xuICAgICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIH1cblxuICAgICAgcGFkZGluZzogMXJlbTtcblxuICAgICAgLmJpbyB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIEBpbmNsdWRlIGZpbHRlcihkcm9wLXNoYWRvdygwIDAgMCByZ2JhKDAsMCwwLDAuMykpKTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbiggLjMzcyBhbGwgKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbiggJHdoaXRlLCAxJSk7XG4gICAgICAgICAgQGluY2x1ZGUgZmlsdGVyKGRyb3Atc2hhZG93KDAgM3B4IDNweCByZ2JhKDAsMCwwLDAuMykpKTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtM3B4KSk7XG4gICAgICAgIH1cblxuICAgICAgICAuYmlvLXBob3RvIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaDUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDByZW07XG4gICAgICAgIH1cblxuICAgICAgICAuYmlvLWFydGljbGVzIHtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJpby1leGNlcnB0IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJpby1jb250YWN0IHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcblx0ICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ICAgICAgICAgIGxlZnQ6IDA7XG5cdCAgICAgICAgICBib3R0b206IDFyZW07XG5cdCAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB1bCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIucHVibGljYXRpb25zLXdpZGdldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcblxuICAmLm5vLWJveCB7XG4gICAgYm9yZGVyOiBub25lO1xuXG4gICAgJj51bHtcblxuICAgICAmPmxpIHtcbiAgICAgICAgLnB1YmxpY2F0aW9uLW1ldGEsXG4gICAgICAgIC5wdWJsaWNhdGlvbi10aXRsZSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGhlYWRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMXJlbTtcblxuICAgIGg1IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcblxuICAgIGxpIHtcblxuICAgICAgLnB1YmxpY2F0aW9uLW1ldGEge1xuICAgICAgICBwYWRkaW5nOiAuNXJlbSAuNXJlbSAwIC41cmVtO1xuICAgICAgfVxuXG4gICAgICAucHVibGljYXRpb24tdGl0bGUge1xuICAgICAgICBwYWRkaW5nOiAuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG5hLnB1Yi1saW5rIHtcbiAgY29sb3I6ICRibGFjaztcbiAgc3BhbiB7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICB9XG59XG5cbnVsLnB1YmxpY2F0aW9uLXF1aWNrLWZhY3RzIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdCAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcblx0ICBmbGV4LXdyYXA6IHdyYXA7XG5cdCAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XG5cdCAgZmxleC13cmFwOiB3cmFwO1xuXHQgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICBsaSB7XG4gICAgZmxleDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IC41cmVtO1xuICAgIFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xuXHQgICAgZmxleDogMCAwIDMzLjMzMzMzMzMlO1xuICAgIH1cbiAgICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG5cdCAgICBmbGV4OiAwIDAgNTAlO1xuICAgIH1cbiAgICBcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0ICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5zdGF0LWljb24ge1xuICAgICAgaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiA1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zdGF0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIC5zdGF0LWxhYmVsIHtcblxuICAgIH1cblxuICB9XG59XG5cbiNwdWJsaWNhdGlvbnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgZm5Db250YWluZXIoKTtcbn1cbiIsIi5hcmNoaXZlIHtcbiAgI2FyY2hpdmUtbmF2aWdhdGlvbi1jb250YWluZXIge1xuICAgICY+ZGl2PmRpdiB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiAgICB9XG5cbiAgICAjYXJjaGl2ZS1uYXZpZ2F0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG4gIH1cblxuICAjYXJ0aWNsZS1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDJyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgYXJ0aWNsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICRsaWdodC1ncmF5O1xuICAgIH1cbiAgfVxuXG4gIC5wYWdpbmF0aW9uLWNvbnRhaW5lciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIH1cbn1cblxuLnBhZ2luYXRpb24gbGkge1xuICBmb250LXNpemU6IDEuNXJlbTtcblxuICAmPmEsXG4gICY+YnV0dG9uLFxuICAmLmN1cnJlbnQsXG4gIHNwYW4ge1xuICAgIHBhZGRpbmc6IC4xODc1cmVtIDEuM3JlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgXG4gIHNwYW4uY3VycmVudCB7XG5cdCBwYWRkaW5nOiAuMTg3NXJlbSAxLjNyZW07IFxuICB9XG59XG5cblxuIiwiLnJvb20tZm9yLWRlYmF0ZSB7XG4gIGJhY2tncm91bmQ6ICRsaWdodGVyLWdyYXk7XG4gIHBhZGRpbmc6IC41cmVtO1xuXG4gIHVsLnJvb20tZm9yLWRlYmF0ZS1yZXNwb25zZXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGZuSWNvbihcInVcIik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICBsZWZ0OiAxMHB4O1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG5cdCAgXG5cdCAgYXtcblx0XHQmW2RhdGEtdG9vbHRpcF0ge1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0XHR9XG5cdFx0XG5cdFx0XG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0ICBcblx0ICAgICAgaW1nIHtcblx0ICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRib3JkZXI6IDNweCBzb2xpZCAkd2hpdGU7XG5cdFx0XHRib3gtc2hhZG93OiAwIDAgM3B4ICRtZWRpdW0tZ3JheTtcblx0ICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucm9vbS1mb3ItZGViYXRlLXJlc3BvbnNlIHtcbiAgZGlzcGxheTogZmxleDtcblxuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAkbWVkaXVtLWdyYXk7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcblx0ICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgLnJlc3BvbmRlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXgtd2lkdGg6IDE2MHB4O1xuICAgIFxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXHQgICAgd2lkdGg6IDEwMCU7XG5cdCAgICBtYXgtd2lkdGg6IG5vbmU7XG5cdCAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLnJlc3BvbmRlci1pbWFnZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgICBAaW5jbHVkZSBwZXJzb25QaG90bygpO1xuICAgIH1cblxuICAgIC5yZXNwb25kZXItbmFtZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5yZXNwb25kZXItdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAuOXJlbTtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIH1cbiAgfVxuXG4gIC5yZXNwb25zZSB7XG4gICAgZmxleDogMTtcbiAgICBcblxuICAgIC5yZXNwb25zZS1jb250YWluZXIge1xuICAgICAgJHJlc3BvbnNlLWJveC1jb2xvcjogbGlnaHRlbigkbGlnaHQtZ3JheSw1JSk7XG5cbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZXNwb25zZS1ib3gtY29sb3I7XG4gICAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAgICAgLnJlc3BvbnNlLW1ldGEge1xuICAgICAgICBjb2xvcjogZGFya2VuKCRtZWRpdW0tZ3JheSw1JSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgICAgfVxuXG5cdCAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cdFx0ICBtYXJnaW4tdG9wOiAzMHB4O1xuXHRcdCAgbWFyZ2luLWxlZnQ6IDA7XG5cdCAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgyMHB4LCAkcmVzcG9uc2UtYm94LWNvbG9yLCAnbGVmdCcpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IC00MHB4O1xuICAgICAgICB0b3A6IDU1cHg7XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblx0ICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoMjBweCwgJHJlc3BvbnNlLWJveC1jb2xvciwgJ3VwJyk7XG5cdCAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXHQgICAgICAgIGxlZnQ6IDUwJTtcblx0ICAgICAgICB0b3A6IC00MHB4O1xuXHQgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC01MCUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5yZXNwb25zZS1hY3Rpb25zIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG5hcnRpY2xlIHtcblx0Ji5yb29tLWZvci1kZWJhdGUge1xuXHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0XHRcblx0XHRoZWFkZXIge1xuXHRcdFx0LmFydGljbGUtbWV0YSB7XG5cdFx0XHRcdC5hcnRpY2xlLWF1dGhvciB7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHRcblx0XHRcdFx0XG5cdFx0XHR9XG5cdFx0XHQuYXJ0aWNsZS10YWdzIHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAycmVtO1xuXHRcdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdCYuc2luZ2xlIHtcblx0XHRcdFxuXHRcdFx0aGVhZGVyLFxuXHRcdFx0LmFydGljbGUtY29udGVudCxcblx0XHRcdGZvb3RlciB7XG5cdFx0XHRcdG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdGhlYWRlciB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDFyZW07XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAycmVtO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAycmVtO1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICRtZWRpdW0tZ3JheTtcblx0XHRcdFx0XG5cdFx0XHRcdC5yZXNwb25zZS10byB7XG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDJyZW07XG5cdFx0XHRcdFx0Ym9yZGVyLXRvcDogMXB4IGRhc2hlZCAkbWVkaXVtLWdyYXk7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMXJlbTtcblx0XHRcdFx0XHRcblx0XHRcdFx0XHQmPmFydGljbGUge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDNyZW07XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdGhlYWRlciB7XG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiBub25lO1xuXHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0aDIge1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMnJlbTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGZuSWNvbigndScpO1xuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHRcdGxlZnQ6IC0zcmVtO1xuXHRcdFx0XHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMnJlbTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdFxuXHRcdH1cblx0fVxufSIsIi5wYWdlIHtcblxuICAmLnNwb25zb3JzIHtcblxuICAgIC5zcG9uc29ycy1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgZm5Db250YWluZXIoKTtcbiAgICB9XG5cbiAgfVxuXG59XG4iLCJ1bC5zcG9uc29ycyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAmLmdyaWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgbGkge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzMyU7XG4gICAgICBwYWRkaW5nOiAxcmVtO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgICBtYXgtd2lkdGg6IDI1JTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLnNwb25zb3Ige1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAuc3BvbnNvci1sb2dvIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNwb25zb3ItbmFtZSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxufVxuXG4uc3BvbnNvci1sb2dvcyB7XG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAuNXJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAzMy4zMzMzMzMzJTtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2Ugb25seSkge1xuICAgICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgICBtYXgtd2lkdGg6IDI1JTtcbiAgICAgICAgcGFkZGluZy10b3A6IDI1JTtcbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDk1JTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI3NpZGViYXItc3BvbnNvcnMge1xuXHQub3dsLWl0ZW0ge1xuXHRcdC5zcG9uc29yLWltYWdlIHtcblx0XHRcdHBhZGRpbmctdG9wOiA2Ni42NjY2NjY2NiU7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcblx0XHRcdGltZyB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLm5vdC1mb3VuZC1jb250YWluZXIge1xuXHRtaW4taGVpZ2h0OiAyMDBweDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XG5cdC5ub3QtZm91bmQtaW5uZXIge1xuXHRcdGZsZXg6IDE7XG5cdH1cbn0iLCJhcnRpY2xlIHtcblx0Ji5zaW5nbGUge1xuXHRcdCYuY29tcGV0aXRpb25fZW50cnkge1xuXHRcdFx0Ji53aXRoLWltYWdlIHtcblx0XHRcdFx0cGFkZGluZy10b3A6IDFyZW07XG5cdFx0XHRcdCY+LndwLXBvc3QtaW1hZ2Uge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRib3JkZXI6IDEwcHggc29saWQgJHdoaXRlO1xuXHRcdFx0XHRcdGJveC1zaGFkb3c6IDAgMCAxMHB4ICRtZWRpdW0tZ3JheTtcblx0XHRcdFx0XHRcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblx0XHRcdFx0XHRcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG5cdFx0XHRcdFx0XHRtYXgtd2lkdGg6IDc1JTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0Jj5oZWFkZXIge1xuXHRcdFx0XHRoMSB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0fVxuXHRcdFx0XHQuYXJ0aWNsZS1hdXRob3Ige1xuXHRcdFx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQmPmZvb3RlciB7XG5cdFx0XHRcdC5hcnRpY2xlLWNvbnRyaWJ1dG9ycyB7XG5cdFx0XHRcdFx0dWwuYXV0aG9yLWJpb3Mge1xuXHRcdFx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdFx0XHRmbGV4OiAxO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi5mbl9jYXRlZ29yeS1taWxpdGFyeSB7XG4gICRoaWdobGlnaHQtY29sb3I6ICRncmVlbjtcblxuICBhOm5vdCguYnV0dG9uKSB7XG4gICAgY29sb3I6ICRoaWdobGlnaHQtY29sb3I7XG5cbiAgICAmLnB1Yi1saW5rIHtcbiAgICAgIHNwYW4sXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRoaWdobGlnaHQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmFydGljbGUtaGVhZGVyIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGlnaGxpZ2h0LWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmFydGljbGUtdGl0bGUgYSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGhpZ2hsaWdodC1jb2xvciAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5hcnRpY2xlLWNhdGVnb3J5LFxuICAge1xuICAgICBjb2xvcjogJGhpZ2hsaWdodC1jb2xvcjtcbiAgICAgLmNhdGVnb3J5LXRpdGxlIHtcbiAgICAgICBjb2xvcjogJGhpZ2hsaWdodC1jb2xvcjtcbiAgICAgICBib3JkZXItY29sb3I6ICRoaWdobGlnaHQtY29sb3I7XG5cbiAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoaWdobGlnaHQtY29sb3I7XG4gICAgICAgfVxuICAgICB9XG5cbiAgICAgJjpiZWZvcmUge1xuICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoaWdobGlnaHQtY29sb3I7XG4gICAgIH1cbiAgIH1cbiAgIFxuICAgJi5yZWxhdGVkLWFydGljbGUge1xuXHQgICAuYXJ0aWNsZS1jYXRlZ29yeSBzcGFuIHtcblx0XHQgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGlnaGxpZ2h0LWNvbG9yO1xuXHRcdCAgIGNvbG9yOiAkd2hpdGU7XG5cdCAgIH1cbiAgIH1cbiAgIFxuICAgLnB1YmxpY2F0aW9uLXRpdGxlIHtcblx0ICAgYSB7XG5cdFx0ICAgXG5cdFx0ICAgY29sb3I6ICRibGFjaztcblx0XHQgICBcblx0XHQgICBzcGFuIHtcblx0XHRcdCAgIGNvbG9yOiAkaGlnaGxpZ2h0LWNvbG9yO1xuXHRcdCAgIH1cblx0XHQgICBcblx0XHQgICAmOmhvdmVyIHtcblx0XHRcdCAgIGNvbG9yOiAkaGlnaGxpZ2h0LWNvbG9yO1xuXHRcdCAgIH1cblx0ICAgfVxuICAgfVxufVxuXG4uZm5fY2F0ZWdvcnktbmF0byB7XG4gICRoaWdobGlnaHQtY29sb3I6ICRibHVlO1xuXG4gIGE6bm90KC5idXR0b24pIHtcbiAgICBjb2xvcjogJGhpZ2hsaWdodC1jb2xvcjtcblxuICAgICYucHViLWxpbmsge1xuICAgICAgc3BhbixcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGhpZ2hsaWdodC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYXJ0aWNsZS1oZWFkZXIge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoaWdobGlnaHQtY29sb3IgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuYXJ0aWNsZS10aXRsZSBhIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkaGlnaGxpZ2h0LWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmFydGljbGUtY2F0ZWdvcnksXG4gICB7XG4gICAgIGNvbG9yOiAkaGlnaGxpZ2h0LWNvbG9yO1xuICAgICAuY2F0ZWdvcnktdGl0bGUge1xuICAgICAgIGNvbG9yOiAkaGlnaGxpZ2h0LWNvbG9yO1xuICAgICAgIGJvcmRlci1jb2xvcjogJGhpZ2hsaWdodC1jb2xvcjtcblxuICAgICAgICY6aG92ZXIge1xuICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhpZ2hsaWdodC1jb2xvcjtcbiAgICAgICB9XG4gICAgIH1cblxuICAgICAmOmJlZm9yZSB7XG4gICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhpZ2hsaWdodC1jb2xvcjtcbiAgICAgfVxuICAgfVxuICAgXG4gICAmLnJlbGF0ZWQtYXJ0aWNsZSB7XG5cdCAgIC5hcnRpY2xlLWNhdGVnb3J5IHNwYW4ge1xuXHRcdCAgIGJhY2tncm91bmQtY29sb3I6ICRoaWdobGlnaHQtY29sb3I7XG5cdFx0ICAgY29sb3I6ICR3aGl0ZTtcblx0ICAgfVxuICAgfVxuICAgXG4gICAucHVibGljYXRpb24tdGl0bGUge1xuXHQgICBhIHtcblx0XHQgICBcblx0XHQgICBjb2xvcjogJGJsYWNrO1xuXHRcdCAgIFxuXHRcdCAgIHNwYW4ge1xuXHRcdFx0ICAgY29sb3I6ICRoaWdobGlnaHQtY29sb3I7XG5cdFx0ICAgfVxuXHRcdCAgIFxuXHRcdCAgICY6aG92ZXIge1xuXHRcdFx0ICAgY29sb3I6ICRoaWdobGlnaHQtY29sb3I7XG5cdFx0ICAgfVxuXHQgICB9XG4gICB9XG59XG5cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */
