/**
 * Owl Carousel v2.3.4
 * Copyright 2013-2018 David Deutsch
 * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
 */
.owl-carousel, .owl-carousel .owl-item {
  -webkit-tap-highlight-color: transparent;
  position: relative; }

.owl-carousel {
  display: none;
  width: 100%;
  z-index: 1; }

.owl-carousel .owl-stage {
  position: relative;
  -ms-touch-action: pan-Y;
  touch-action: manipulation;
  -moz-backface-visibility: hidden; }

.owl-carousel .owl-stage:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0; }

.owl-carousel .owl-stage-outer {
  position: relative;
  overflow: hidden;
  -webkit-transform: translate3d(0, 0, 0); }

.owl-carousel .owl-item, .owl-carousel .owl-wrapper {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0); }

.owl-carousel .owl-item {
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  -webkit-touch-callout: none; }

.owl-carousel .owl-item img {
  display: block;
  width: 100%; }

.owl-carousel .owl-dots.disabled, .owl-carousel .owl-nav.disabled {
  display: none; }

.no-js .owl-carousel, .owl-carousel.owl-loaded {
  display: block; }

.owl-carousel .owl-dot, .owl-carousel .owl-nav .owl-next, .owl-carousel .owl-nav .owl-prev {
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.owl-carousel .owl-nav button.owl-next, .owl-carousel .owl-nav button.owl-prev, .owl-carousel button.owl-dot {
  background: 0 0;
  color: inherit;
  border: none;
  padding: 0 !important;
  font: inherit; }

.owl-carousel.owl-loading {
  opacity: 0;
  display: block; }

.owl-carousel.owl-hidden {
  opacity: 0; }

.owl-carousel.owl-refresh .owl-item {
  visibility: hidden; }

.owl-carousel.owl-drag .owl-item {
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.owl-carousel.owl-grab {
  cursor: move;
  cursor: -webkit-grab;
  cursor: grab; }

.owl-carousel.owl-rtl {
  direction: rtl; }

.owl-carousel.owl-rtl .owl-item {
  float: right; }

.owl-carousel .animated {
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -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; }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

.owl-height {
  -webkit-transition: height .5s ease-in-out;
  transition: height .5s ease-in-out; }

.owl-carousel .owl-item .owl-lazy {
  opacity: 0;
  -webkit-transition: opacity .4s ease;
  transition: opacity .4s ease; }

.owl-carousel .owl-item .owl-lazy:not([src]), .owl-carousel .owl-item .owl-lazy[src^=""] {
  max-height: 0; }

.owl-carousel .owl-item img.owl-lazy {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d; }

.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000; }

.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url(owl.video.play.png) no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  -webkit-transition: -webkit-transform .1s ease;
  transition: -webkit-transform .1s ease;
  transition: transform .1s ease;
  transition: transform .1s ease, -webkit-transform .1s ease; }

.owl-carousel .owl-video-play-icon:hover {
  -webkit-transform: scale(1.3, 1.3);
          transform: scale(1.3, 1.3); }

.owl-carousel .owl-video-playing .owl-video-play-icon, .owl-carousel .owl-video-playing .owl-video-tn {
  display: none; }

.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  -webkit-transition: opacity .4s ease;
  transition: opacity .4s ease; }

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%; }

/**
 * Owl Carousel v2.3.4
 * Copyright 2013-2018 David Deutsch
 * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
 */
.owl-theme .owl-dots, .owl-theme .owl-nav {
  text-align: center;
  -webkit-tap-highlight-color: transparent; }

.owl-theme .owl-nav {
  margin-top: 10px; }

.owl-theme .owl-nav [class*=owl-] {
  color: #FFF;
  font-size: 14px;
  margin: 5px;
  padding: 4px 7px;
  background: #D6D6D6;
  display: inline-block;
  cursor: pointer;
  border-radius: 3px; }

.owl-theme .owl-nav [class*=owl-]:hover {
  background: #869791;
  color: #FFF;
  text-decoration: none; }

.owl-theme .owl-nav .disabled {
  opacity: .5;
  cursor: default; }

.owl-theme .owl-nav.disabled + .owl-dots {
  margin-top: 10px; }

.owl-theme .owl-dots .owl-dot {
  display: inline-block;
  zoom: 1; }

.owl-theme .owl-dots .owl-dot span {
  width: 10px;
  height: 10px;
  margin: 5px 7px;
  background: #D6D6D6;
  display: block;
  -webkit-backface-visibility: visible;
  -webkit-transition: opacity .2s ease;
  transition: opacity .2s ease;
  border-radius: 30px; }

.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
  background: #869791; }

/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.7.0
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2018 Daniel Eden
 */
@-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;
  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;
  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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes wobble {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

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

@-webkit-keyframes jello {
  from,
  11.1%,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  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;
  transform-origin: center; }

@-webkit-keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3); }
  28% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3); }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

@keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3); }
  28% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3); }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

.heartBeat {
  -webkit-animation-name: heartBeat;
  animation-name: heartBeat;
  -webkit-animation-duration: 1.3s;
  animation-duration: 1.3s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out; }

@-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-duration: 0.75s;
  animation-duration: 0.75s;
  -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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.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-duration: 0.75s;
  animation-duration: 0.75s;
  -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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

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

.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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

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

.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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

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

.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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

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

.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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

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

.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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

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

.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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

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

.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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

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

.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) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) scale3d(1, 1, 1) 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) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) 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) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  to {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

@keyframes flip {
  from {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) scale3d(1, 1, 1) 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) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) 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) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  to {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -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-duration: 0.75s;
  animation-duration: 0.75s;
  -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-animation-duration: 0.75s;
  animation-duration: 0.75s;
  -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); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@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); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    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-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-name: hinge;
  animation-name: hinge; }

@-webkit-keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom; }
  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg); }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); } }

@keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom; }
  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg); }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); } }

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

/* 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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@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: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.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; }

.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.delay-1s {
  -webkit-animation-delay: 1s;
  animation-delay: 1s; }

.animated.delay-2s {
  -webkit-animation-delay: 2s;
  animation-delay: 2s; }

.animated.delay-3s {
  -webkit-animation-delay: 3s;
  animation-delay: 3s; }

.animated.delay-4s {
  -webkit-animation-delay: 4s;
  animation-delay: 4s; }

.animated.delay-5s {
  -webkit-animation-delay: 5s;
  animation-delay: 5s; }

.animated.fast {
  -webkit-animation-duration: 800ms;
  animation-duration: 800ms; }

.animated.faster {
  -webkit-animation-duration: 500ms;
  animation-duration: 500ms; }

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

.animated.slower {
  -webkit-animation-duration: 3s;
  animation-duration: 3s; }

@media (prefers-reduced-motion) {
  .animated {
    -webkit-animation: unset !important;
    animation: unset !important;
    -webkit-transition: none !important;
    transition: none !important; } }

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after {
  content: '';
  content: none; }

q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

html, body {
  height: 100%; }

#is-mobile {
  display: block; }
  @media (max-width: 767px) {
    #is-mobile {
      display: none; } }

.container {
  max-width: 100%;
  width: 100%;
  margin: 0 auto;
  padding-left: 8%;
  padding-right: 8%; }
  .container__full {
    max-width: none;
    width: 100%;
    margin: 0 auto;
    overflow-x: hidden;
    padding: 0 16px; }

.row {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  -ms-flex: 0 1 auto;
  -webkit-box-flex: 0;
  flex: 0 1 auto;
  -ms-flex-direction: row;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -16px;
  margin-right: -16px; }
  .row-start {
    -ms-flex-pack: start;
    -webkit-box-pack: start;
    justify-content: flex-start;
    text-align: start; }
  .row-center {
    -ms-flex-pack: center;
    -webkit-box-pack: center;
    justify-content: center;
    text-align: center; }
  .row-end {
    -ms-flex-pack: end;
    -webkit-box-pack: end;
    justify-content: flex-end;
    text-align: end; }

.col {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -ms-flex: 0 0 auto;
  -webkit-box-flex: 0;
  flex: 0 0 auto;
  padding: 0 16px;
  -ms-flex-positive: 1;
  -webkit-box-flex: 1;
  flex-grow: 1;
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
  max-width: 100%;
  overflow: hidden; }
  .col-first {
    -ms-flex-order: -1;
    -webkit-box-ordinal-group: 0;
    order: -1; }
  .col-last {
    -ms-flex-order: 1;
    -webkit-box-ordinal-group: 2;
    order: 1; }

.col-0 {
  display: none; }

.col-1 {
  -ms-flex-preferred-size: 12.5%;
  flex-basis: 12.5%;
  max-width: 12.5%;
  width: 12.5%; }

.col-2 {
  -ms-flex-preferred-size: 25%;
  flex-basis: 25%;
  max-width: 25%;
  width: 25%; }

.col-3 {
  -ms-flex-preferred-size: 37.5%;
  flex-basis: 37.5%;
  max-width: 37.5%;
  width: 37.5%; }

.col-2-5 {
  -ms-flex-preferred-size: 33.333%;
  flex-basis: 33.333%;
  max-width: 33.333%;
  width: 33.333%; }

.col-4 {
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
  max-width: 50%;
  width: 50%; }

.col-5 {
  -ms-flex-preferred-size: 62.5%;
  flex-basis: 62.5%;
  max-width: 62.5%;
  width: 62.5%; }

.col-5-5 {
  -ms-flex-preferred-size: 66.666%;
  flex-basis: 66.666%;
  max-width: 66.666%;
  width: 66.666%; }

.col-6 {
  -ms-flex-preferred-size: 75%;
  flex-basis: 75%;
  max-width: 75%;
  width: 75%; }

.col-7 {
  -ms-flex-preferred-size: 87.5%;
  flex-basis: 87.5%;
  max-width: 87.5%;
  width: 87.5%; }

.col-8 {
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  max-width: 100%;
  width: 100%; }

.col-offset-0 {
  margin-left: 0; }

.col-offset-1 {
  margin-left: 12.5%; }

.col-offset-2 {
  margin-left: 25%; }

.col-offset-2-5 {
  margin-left: 33.333%; }

.col-offset-3 {
  margin-left: 37.5%; }

.col-offset-4 {
  margin-left: 50%; }

.col-offset-5 {
  margin-left: 62.5%; }

.col-offset-5-5 {
  margin-left: 66.666%; }

.col-offset-6 {
  margin-left: 75%; }

.col-offset-7 {
  margin-left: 82.5%; }

@media (max-width: 767px) {
  .row-sm-start {
    -ms-flex-pack: start;
    -webkit-box-pack: start;
    justify-content: flex-start;
    text-align: start; }
  .row-sm-center {
    -ms-flex-pack: center;
    -webkit-box-pack: center;
    justify-content: center;
    text-align: center; }
  .row-sm-end {
    -ms-flex-pack: end;
    -webkit-box-pack: end;
    justify-content: flex-end;
    text-align: end; }
  .col-sm-first {
    -ms-flex-order: -1;
    -webkit-box-ordinal-group: 0;
    order: -1; }
  .col-sm-last {
    -ms-flex-order: 1;
    -webkit-box-ordinal-group: 2;
    order: 1; }
  .col-sm-0 {
    display: none; }
  .col-sm-1 {
    -ms-flex-preferred-size: 12.5%;
    flex-basis: 12.5%;
    max-width: 12.5%;
    width: 12.5%; }
  .col-sm-2 {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    max-width: 25%;
    width: 25%; }
  .col-sm-2-5 {
    -ms-flex-preferred-size: 33.333%;
    flex-basis: 33.333%;
    max-width: 33.333%;
    width: 33.333%; }
  .col-sm-3 {
    -ms-flex-preferred-size: 37.5%;
    flex-basis: 37.5%;
    max-width: 37.5%;
    width: 37.5%; }
  .col-sm-4 {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
    width: 50%; }
  .col-sm-5 {
    -ms-flex-preferred-size: 62.5%;
    flex-basis: 62.5%;
    max-width: 62.5%;
    width: 62.5%; }
  .col-sm-5-5 {
    -ms-flex-preferred-size: 66.666%;
    flex-basis: 66.666%;
    max-width: 66.666%;
    width: 66.666%; }
  .col-sm-6 {
    -ms-flex-preferred-size: 75%;
    flex-basis: 75%;
    max-width: 75%;
    width: 75%; }
  .col-sm-7 {
    -ms-flex-preferred-size: 87.5%;
    flex-basis: 87.5%;
    max-width: 87.5%;
    width: 87.5%; }
  .col-sm-8 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
    width: 100%; }
  .col-sm-offset-0 {
    margin-left: 0; }
  .col-sm-offset-1 {
    margin-left: 12.5%; }
  .col-sm-offset-2 {
    margin-left: 25%; }
  .col-sm-offset-2-5 {
    margin-left: 33.333%; }
  .col-sm-offset-3 {
    margin-left: 37.5%; }
  .col-sm-offset-4 {
    margin-left: 50%; }
  .col-sm-offset-5 {
    margin-left: 62.5%; }
  .col-sm-offset-5-5 {
    margin-left: 66.666%; }
  .col-sm-offset-6 {
    margin-left: 75%; }
  .col-sm-offset-7 {
    margin-left: 82.5%; } }

@media (min-width: 768px) and (max-width: 1023px) {
  .row-md-start {
    -ms-flex-pack: start;
    -webkit-box-pack: start;
    justify-content: flex-start;
    text-align: start; }
  .row-md-center {
    -ms-flex-pack: center;
    -webkit-box-pack: center;
    justify-content: center;
    text-align: center; }
  .row-md-end {
    -ms-flex-pack: end;
    -webkit-box-pack: end;
    justify-content: flex-end;
    text-align: end; }
  .col-md-first {
    -ms-flex-order: -1;
    -webkit-box-ordinal-group: 0;
    order: -1; }
  .col-md-last {
    -ms-flex-order: 1;
    -webkit-box-ordinal-group: 2;
    order: 1; }
  .col-md-0 {
    display: none; }
  .col-md-1 {
    -ms-flex-preferred-size: 12.5%;
    flex-basis: 12.5%;
    max-width: 12.5%;
    width: 12.5%; }
  .col-md-2 {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    max-width: 25%;
    width: 25%; }
  .col-md-2-5 {
    -ms-flex-preferred-size: 33.333%;
    flex-basis: 33.333%;
    max-width: 33.333%;
    width: 33.333%; }
  .col-md-3 {
    -ms-flex-preferred-size: 37.5%;
    flex-basis: 37.5%;
    max-width: 37.5%;
    width: 37.5%; }
  .col-md-4 {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
    width: 50%; }
  .col-md-5 {
    -ms-flex-preferred-size: 62.5%;
    flex-basis: 62.5%;
    max-width: 62.5%;
    width: 62.5%; }
  .col-md-5-5 {
    -ms-flex-preferred-size: 66.666%;
    flex-basis: 66.666%;
    max-width: 66.666%;
    width: 66.666%; }
  .col-md-6 {
    -ms-flex-preferred-size: 75%;
    flex-basis: 75%;
    max-width: 75%; }
  .col-md-7 {
    -ms-flex-preferred-size: 87.5%;
    flex-basis: 87.5%;
    max-width: 87.5%;
    width: 75%; }
  .col-md-8 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
    width: 100%; }
  .col-md-offset-0 {
    margin-left: 0; }
  .col-md-offset-1 {
    margin-left: 12.5%; }
  .col-md-offset-2 {
    margin-left: 25%; }
  .col-md-offset-2-5 {
    margin-left: 33.333%; }
  .col-md-offset-3 {
    margin-left: 37.5%; }
  .col-md-offset-4 {
    margin-left: 50%; }
  .col-md-offset-5 {
    margin-left: 62.5%; }
  .col-md-offset-5-5 {
    margin-left: 66.666%; }
  .col-md-offset-6 {
    margin-left: 75%; }
  .col-md-offset-7 {
    margin-left: 82.5%; } }

body {
  font-family: "Helvetica", nimbus-sans, sans-serif;
  letter-spacing: 0.01em;
  font-size: 1em; }

h1, h2, h3, h4, h5, h6 {
  font-family: "Helvetica", nimbus-sans, sans-serif;
  margin: 0 0 1em 0;
  font-weight: 500;
  display: block;
  line-height: 1.4em; }

h1 {
  font-size: 1.5em; }

h2 {
  font-size: 1.3em; }

h3 {
  font-size: 1.2em; }

h4 {
  text-transform: uppercase;
  font-size: 0.9em; }

h4, h5, h6 {
  font-size: 1em; }

p {
  line-height: 1.6em;
  font-weight: 300;
  margin-bottom: 1em; }
  p:last-of-type {
    margin-bottom: 0; }

a {
  color: #999;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  -webkit-transition: all 0.3s linear;
  transition: all 0.3s linear;
  font-weight: 400; }
  a:hover, a:active, a:focus {
    color: #000;
    cursor: pointer;
    border-color: #000; }

b, strong {
  font-weight: 400; }

i, em {
  font-style: italic; }

ol {
  list-style: decimal; }

ul {
  list-style: square; }

ol, ul {
  margin: 1em 0 3em 2em; }
  ol li, ul li {
    margin-bottom: 0.5em;
    line-height: 1.6em; }

blockquote {
  margin: 1em 0;
  font-style: italic;
  font-size: 1.8em; }
  blockquote p {
    line-height: 1.4em;
    margin-bottom: 0.5em; }

img {
  max-width: 100%;
  width: 100%;
  height: auto; }
  img.left {
    float: left;
    margin: 20px;
    margin-left: -20px; }
  img.right {
    float: right;
    margin: 20px;
    margin-right: -20px; }
  img.aligncenter {
    display: block;
    margin: 0 auto; }

.img-circle {
  -webkit-clip-path: circle(50% at 50% 50%);
  clip-path: circle(50% at 50% 50%); }

.img-diamond {
  -webkit-clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);
  clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%); }

.img-triangle {
  -webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%); }

.img-pentagon {
  -webkit-clip-path: polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);
  clip-path: polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%); }

.img-hexagon {
  -webkit-clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%); }

.img-octagon {
  -webkit-clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);
  clip-path: polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%); }

figure {
  margin: 0;
  padding: 0; }
  figure figcaption {
    font-style: italic;
    border-top: 1px solid #EEE;
    padding: 10px;
    text-align: center; }

table {
  border: 0;
  width: 100%;
  margin: 3em 0; }
  table thead {
    background: none;
    border: 0; }
    table thead tr {
      background: transparent; }
      table thead tr th {
        padding: 1.5em 0.2em;
        text-align: left;
        font-weight: bold;
        font-size: 1.1em; }
  table tbody {
    border: 0; }
    table tbody tr {
      background-color: transparent !important; }
      table tbody tr td {
        padding: 0.4em 0.2em;
        line-height: 1.6em; }
        table tbody tr td a {
          font-size: 0.9em;
          font-family: "Helvetica", nimbus-sans, sans-serif;
          margin: 1.5em 0;
          display: block; }
        table tbody tr td ul {
          margin-bottom: 0.2em; }
        table tbody tr td p {
          margin: 0; }

.btn {
  display: inline-block;
  font-size: 1em;
  font-weight: 700;
  line-height: 50px;
  border: 2px solid #000;
  text-align: center;
  overflow: hidden;
  position: relative;
  text-decoration: none;
  color: #000;
  -webkit-transition: all .3s linear;
  transition: all .3s linear; }
  .btn:hover {
    background: #000;
    color: #FFF; }

#backtotop {
  opacity: 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s; }

.icon {
  display: block;
  width: 44px;
  height: 44px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 44px; }
  .icon__search {
    background-position: center right;
    background-image: url("../assets/images/icon-search.png");
    background-size: 16px; }
  .icon__arrow--left {
    background-image: url("../assets/images/icon-arrow--left.png"); }
  .icon__arrow--right {
    background-image: url("../assets/images/icon-arrow--right.png"); }
  .icon__plus {
    background-image: url("../assets/images/icon-plus.png"); }
  @media (max-width: 767px) {
    .icon {
      width: 36px;
      height: 36px;
      background-size: 36px; } }

.owl-next.disabled, .owl-prev.disabled {
  opacity: 0.5; }

.cookie {
  background-color: rgba(0, 0, 0, 0.7);
  padding: 0.6em 0 0.5em 0;
  width: 100%;
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 9999; }
  .cookie-inner {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding-left: 6%;
    padding-right: 6%;
    position: relative; }
    @media (max-width: 1023px) {
      .cookie-inner {
        padding-left: 5px;
        padding-right: 5px;
        width: 100%; } }
  .cookie-content {
    color: #FFF;
    font-size: 0.9em;
    font-family: "Helvetica", nimbus-sans, sans-serif;
    text-align: center; }
    .cookie-content a {
      text-decoration: none;
      border-bottom: 2px solid transparent;
      padding-bottom: 0.2em; }
      .cookie-content a:hover {
        color: #FFF;
        border-color: #FFF; }
  .cookie:hover {
    cursor: pointer; }

.header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9900;
  /*&-social {
        @include grid-col(2);
        text-align: right;
        padding-top: 100px;
        @include respond-to(sm) {
            display: none;
        }
    }*/ }
  .header-inner {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding-left: 6%;
    padding-right: 6%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    @media (max-width: 1023px) {
      .header-inner {
        padding-left: 5px;
        padding-right: 5px;
        width: 100%; } }
  .header-nav {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 8.33333%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%; }
    @media (max-width: 767px) {
      .header-nav {
        -webkit-box-ordinal-group: 4;
            -ms-flex-order: 3;
                order: 3;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        max-width: 100%;
        width: auto;
        -webkit-box-flex: 1;
            -ms-flex: 1 1 auto;
                flex: 1 1 auto;
        text-align: right; } }
  .header-info {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 160px;
    flex: 0 0 160px;
    width: 160px;
    height: 200px; }
    @media (max-width: 767px) {
      .header-info {
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1;
        margin-left: 8.33333%;
        height: 160px;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 130px;
        flex: 0 0 130px;
        width: 130px; } }
  .header-search {
    text-align: right;
    padding-top: 100px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    max-width: 100%;
    width: auto;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
    @media (max-width: 767px) {
      .header-search {
        -webkit-box-ordinal-group: 3;
            -ms-flex-order: 2;
                order: 2;
        display: none; } }
  .header-title {
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
    position: relative;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-image: url("../assets/images/logo.png");
    background-position: left center;
    background-repeat: no-repeat;
    background-color: #FFF; }
    .header-title a {
      display: block;
      width: 100%;
      height: 100%;
      text-indent: -9999px;
      border: 0;
      -webkit-transition: none;
      transition: none; }
    .header-title.dark {
      background-image: url("../assets/images/logo--dark.png");
      background-color: #343434; }

@media (max-width: 767px) {
  body.is-home .header-info {
    margin-left: 0;
    opacity: 0.5; } }

.navbar {
  padding: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background: rgba(0, 0, 0, 0.7);
  display: none; }
  @media (max-width: 767px) {
    .navbar {
      overflow: auto;
      background: rgba(0, 0, 0, 0.9); } }
  .navbar.open {
    display: block; }
  .navbar-inner {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding-left: 6%;
    padding-right: 6%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    @media (max-width: 1023px) {
      .navbar-inner {
        padding-left: 5px;
        padding-right: 5px;
        width: 100%; } }
  .navbar-navi {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 8.33333%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 8.33333%;
            flex: 0 0 8.33333%; }
    @media (max-width: 767px) {
      .navbar-navi {
        -webkit-box-ordinal-group: 4;
            -ms-flex-order: 3;
                order: 3;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        max-width: 100%;
        width: auto;
        -webkit-box-flex: 1;
            -ms-flex: 1 1 auto;
                flex: 1 1 auto;
        text-align: right; } }
  .navbar-info {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 160px;
    flex: 0 0 160px;
    width: 160px;
    height: 200px; }
    @media (max-width: 767px) {
      .navbar-info {
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1;
        margin-left: 8.33333%;
        height: 160px;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 130px;
        flex: 0 0 130px;
        width: 130px; } }
  .navbar-navigation {
    width: 70.83333%;
    margin-left: 8.33333%;
    display: inline-block;
    margin-right: -4px;
    vertical-align: top;
    position: relative;
    padding-top: 5em; }
    @media (max-width: 1023px) {
      .navbar-navigation {
        width: 50%;
        margin-left: 8.33333%;
        display: inline-block;
        margin-right: -4px;
        vertical-align: top; } }
    @media (max-width: 767px) {
      .navbar-navigation {
        width: 66.66667%;
        margin-left: 8.33333%;
        display: inline-block;
        margin-right: -4px;
        vertical-align: top;
        padding-top: 0;
        padding-bottom: 3em;
        display: block;
        position: absolute;
        top: 12em;
        left: 0; } }
    .navbar-navigation ul {
      display: block;
      margin: 0;
      padding: 0;
      list-style: none;
      width: 50%; }
      @media (max-width: 767px) {
        .navbar-navigation ul {
          padding-left: 10px; } }
      .navbar-navigation ul li {
        margin-bottom: 0.8em; }
        .navbar-navigation ul li a {
          color: #FFF;
          line-height: 1.2em;
          display: inline;
          font-family: "Helvetica", nimbus-sans, sans-serif;
          font-size: 1.8em;
          text-decoration: none;
          border-bottom: 2px solid transparent; }
          .navbar-navigation ul li a:hover {
            border-bottom-color: #FFF; }
      @media (max-width: 767px) {
        .navbar-navigation ul {
          width: 100%; } }
    .navbar-navigation .active a {
      border-bottom-color: #FFF; }
    .navbar-navigation .active .navbar-submenu {
      display: block; }
      .navbar-navigation .active .navbar-submenu li a {
        border-bottom-color: transparent; }
      .navbar-navigation .active .navbar-submenu li.active a {
        border-bottom-color: #FFF !important; }
    .navbar-navigation .navbar-nav li a {
      font-weight: 700; }
    .navbar-navigation .navbar-submenu {
      position: absolute;
      right: 0;
      top: 0;
      display: none;
      padding-top: 5em;
      height: 100%;
      padding-left: 0; }
      .navbar-navigation .navbar-submenu li a {
        font-weight: 400; }
        .navbar-navigation .navbar-submenu li a:hover {
          border-bottom: 2px solid #FFF; }
      @media (max-width: 767px) {
        .navbar-navigation .navbar-submenu {
          position: relative;
          padding-top: 2em;
          padding-bottom: 0; } }
  .navbar-toggle {
    width: 60px;
    height: 60px;
    display: block;
    border: 0;
    margin-top: 8em;
    position: relative;
    background-color: transparent;
    cursor: pointer; }
    .navbar-toggle span, .navbar-toggle:after, .navbar-toggle:before {
      display: block;
      width: 22px;
      height: 3px;
      background-color: #FFF;
      content: "";
      position: absolute;
      left: 5px;
      -webkit-transition: all 0.2s;
      transition: all 0.2s; }
    .navbar-toggle span {
      display: block;
      top: 50%;
      margin-top: -3px; }
    .navbar-toggle:before {
      top: 18px;
      width: 28px; }
    .navbar-toggle:after {
      bottom: 21px;
      width: 10px; }
    .navbar-toggle:focus {
      outline: 0; }
    @media (max-width: 767px) {
      .navbar-toggle {
        margin-top: 4.5em;
        margin-left: auto; } }
  .navbar-close {
    width: 60px;
    height: 60px;
    display: block;
    border: 0;
    margin-top: 7.8em;
    position: relative;
    background-color: transparent;
    cursor: pointer; }
    .navbar-close:after, .navbar-close:before {
      display: block;
      width: 25px;
      height: 3px;
      background-color: #000;
      content: "";
      position: absolute;
      left: 3px;
      z-index: 2; }
    .navbar-close span {
      display: block;
      background-color: #FFF;
      width: 60px;
      height: 60px;
      left: -15px;
      position: absolute;
      top: 0;
      border-radius: 60px;
      z-index: 0; }
    .navbar-close:before {
      top: 28px;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }
    .navbar-close:after {
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg);
      bottom: 29px; }
    .navbar-close:focus {
      outline: 0; }
    @media (max-width: 767px) {
      .navbar-close {
        margin-top: 4.5em;
        margin-left: auto; } }

.footer {
  padding: 2em 0 4em;
  background-color: #111;
  color: #FFF;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding-left: 6%;
  padding-right: 6%; }
  @media (max-width: 1023px) {
    .footer {
      padding-left: 5px;
      padding-right: 5px;
      width: 100%; } }
  .footer-inner {
    border-top: 2px solid #FFF;
    padding-top: 2em; }
  .footer-info {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 25%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%; }
  .footer-nav {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 50%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%; }
  .footer-social {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 25%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    text-align: right;
    margin-top: 0.5em;
    display: none; }
  @media (max-width: 767px) {
    .footer .footer {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    .footer .footer-inner {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 83.33333%;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 83.33333%;
              flex: 0 0 83.33333%;
      margin-left: 8.33333%; }
    .footer .footer-info, .footer .footer-nav, .footer .footer-social {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 100%;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      text-align: left; }
    .footer .footer-links li {
      margin-right: 1em; } }
  .footer-copyright {
    display: inline-block;
    line-height: 40px;
    font-weight: 400;
    font-size: 1em; }
  .footer-links {
    margin: 0; }
    .footer-links li {
      display: inline-block;
      margin: 0 2em 0 0; }
      .footer-links li a {
        line-height: 40px;
        color: #FFF;
        text-decoration: none;
        padding-bottom: 0.3em;
        font-size: 1em; }
        .footer-links li a:hover {
          color: #FFF;
          border-color: #FFF; }
      .footer-links li:last-of-type {
        float: right;
        margin-right: 0; }
        .footer-links li:last-of-type a {
          color: #AAA; }
          .footer-links li:last-of-type a:hover {
            border-color: #AAA; }
        @media (max-width: 767px) {
          .footer-links li:last-of-type {
            float: none; } }

.breadcrumbs {
  background: #FFF;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding-left: 6%;
  padding-right: 6%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media (max-width: 1023px) {
    .breadcrumbs {
      padding-left: 5px;
      padding-right: 5px;
      width: 100%; } }
  .breadcrumbs-inner {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 83.33333%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 83.33333%;
            flex: 0 0 83.33333%;
    margin-left: 8.33333%; }
    @media (max-width: 767px) {
      .breadcrumbs-inner {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 83.33333%;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 83.33333%;
                flex: 0 0 83.33333%;
        margin-left: 8.33333%; } }
  .breadcrumbs ul {
    margin: 1em 0;
    list-style: none; }
    .breadcrumbs ul li {
      display: inline-block;
      margin: 0 1em 0 0;
      font-size: 0.9em;
      font-weight: 600; }
      .breadcrumbs ul li a {
        font-weight: 400;
        padding-bottom: 0.2em; }
  .breadcrumbs ul li.separator {
    font-weight: 400;
    color: #999; }

.page-header {
  background-color: #599cbc;
  background-size: cover;
  background-position: center center; }
  .page__reviews .page-header {
    background-position: center bottom; }
  .page-header .page-overlay {
    background-color: rgba(0, 0, 0, 0.4);
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding-left: 6%;
    padding-right: 6%;
    padding-bottom: 100px; }
    @media (max-width: 1023px) {
      .page-header .page-overlay {
        padding-left: 5px;
        padding-right: 5px;
        width: 100%; } }
    .page-header .page-overlay.no-image {
      background-color: transparent; }
  .page-header .page-inner {
    width: 83.33333%;
    margin-left: 8.33333%;
    display: inline-block;
    margin-right: -4px;
    vertical-align: top;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    position: relative; }
    @media (max-width: 767px) {
      .page-header .page-inner {
        width: 83.33333%;
        margin-left: 8.33333%;
        display: inline-block;
        margin-right: -4px;
        vertical-align: top; } }
  @media (max-width: 1023px) {
    .page-header img {
      height: 260px; } }

.page-title {
  font-size: 6em;
  font-weight: 700;
  color: #FFF;
  margin-bottom: 0.2em;
  line-height: 1em;
  letter-spacing: -0.02em;
  width: 66.66667%;
  display: block;
  margin-right: -4px;
  vertical-align: top; }
  @media (max-width: 1023px) {
    .page-title {
      width: 91.66667%;
      display: block;
      margin-right: -4px;
      vertical-align: top; } }
  @media (max-width: 767px) {
    .page-title {
      width: 100%;
      display: inline-block;
      margin-right: -4px;
      vertical-align: top;
      font-size: 3.2em; } }

.page-excerpt {
  margin-bottom: 3em;
  width: 50%;
  display: block;
  margin-right: -4px;
  vertical-align: top;
  color: #FFF;
  font-size: 1.2em; }
  @media (max-width: 1023px) {
    .page-excerpt {
      width: 91.66667%;
      display: block;
      margin-right: -4px;
      vertical-align: top; } }
  @media (max-width: 767px) {
    .page-excerpt {
      width: 100%;
      display: inline-block;
      margin-right: -4px;
      vertical-align: top;
      font-size: 1.2em; } }

.home__background {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
  z-index: -100; }
  .home__background .video,
  .home__background iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  @media (min-aspect-ratio: 16 / 9) {
    .home__background .video,
    .home__background iframe {
      height: 300%;
      top: -100%; } }
  @media (max-aspect-ratio: 16 / 9) {
    .home__background {
      min-height: 350px; }
      .home__background .video,
      .home__background iframe {
        width: 300%;
        left: -100%;
        background: url(../assets/images/video-background.jpg) no-repeat;
        background-size: cover; } }
  @media (max-width: 767px) {
    .home__background {
      width: 100%;
      left: 0;
      height: 45%; } }

.home__slides .owl-nav {
  height: 100px;
  width: 8.33333%;
  display: inline-block;
  margin-right: -4px;
  vertical-align: top;
  display: block;
  position: absolute;
  right: 6%;
  top: 50%; }
  @media (max-width: 767px) {
    .home__slides .owl-nav {
      height: 80px; } }
  .home__slides .owl-nav button.owl-prev, .home__slides .owl-nav button.owl-next {
    position: absolute;
    right: 0;
    background-color: transparent;
    display: block; }
    .home__slides .owl-nav button.owl-prev:focus, .home__slides .owl-nav button.owl-next:focus {
      outline: 0; }
  .home__slides .owl-nav button.owl-next {
    bottom: 0; }
  .home__slides .owl-nav button.owl-prev {
    top: 0; }

.home__slides .owl-nav-inner {
  position: relative;
  height: 100%; }

.home__slides .owl-progress {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding-left: 6%;
  padding-right: 6%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: absolute;
  bottom: 5em;
  height: 1px;
  width: 100%; }
  @media (max-width: 1023px) {
    .home__slides .owl-progress {
      padding-left: 5px;
      padding-right: 5px;
      width: 100%; } }

.home__slides .owl-progress-inner {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 83.33333%;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 83.33333%;
          flex: 0 0 83.33333%;
  margin-left: 8.33333%;
  background: rgba(255, 255, 255, 0.3);
  position: relative; }
  .home__slides .owl-progress-inner span {
    display: block;
    background: #FFF;
    height: 3px;
    position: absolute;
    bottom: -2px;
    left: 0; }

.slide {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding-left: 6%;
  padding-right: 6%; }
  @media (max-width: 1023px) {
    .slide {
      padding-left: 5px;
      padding-right: 5px;
      width: 100%; } }
  .slide-inner {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 50%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    margin-left: 8.33333%;
    display: table; }
    @media (max-width: 767px) {
      .slide-inner {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 66.66667%;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 66.66667%;
                flex: 0 0 66.66667%;
        margin-left: 8.33333%;
        padding-top: 240px; } }
  .slide-content {
    display: table-cell;
    vertical-align: bottom;
    padding-bottom: 140px; }
    @media (max-width: 767px) {
      .slide-content {
        vertical-align: middle; } }
  .slide-title {
    font-size: 6.3em;
    font-weight: bold;
    color: #FFF;
    line-height: 1em;
    margin-bottom: 0.25em;
    letter-spacing: -0.05em; }
    @media (max-width: 767px) {
      .slide-title {
        font-size: 2.8em;
        margin-bottom: 0.5em; } }
  .slide-excerpt {
    font-size: 1.2em;
    color: #FFF;
    width: 58.33333%;
    display: inline-block;
    margin-right: -4px;
    vertical-align: top; }
    @media (max-width: 767px) {
      .slide-excerpt {
        width: 83.33333%;
        display: inline-block;
        margin-right: -4px;
        vertical-align: top;
        font-size: 1em; } }
  .slide-link {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    border: 0; }
  .slide-icon {
    display: block;
    margin-bottom: 1.5em; }

body.is-home {
  background-color: black; }
  @media (max-width: 767px) {
    body.is-home .home__slides {
      padding-top: 18%; } }
  @media (max-width: 767px) {
    body.is-home .home__slides .owl-progress {
      display: none; } }
  @media (max-width: 767px) {
    body.is-home .slide {
      padding: 0; } }
  @media (max-width: 767px) {
    body.is-home .slide-inner {
      width: 100%;
      margin: 0; } }
  @media (max-width: 767px) {
    body.is-home .slide-content {
      background-color: black;
      top: 45%;
      width: 100%;
      left: 0;
      padding: 6%;
      height: 55%; } }

.social {
  list-style: none;
  margin: 0;
  padding: 0; }
  .social li {
    display: inline-block;
    margin-left: 1em; }
    .social li a {
      font-size: 1em;
      color: #FFF; }

.search-icon {
  width: 44px;
  height: 44px;
  position: relative;
  display: inline-block;
  vertical-align: middle; }
  .search-icon .search-submit {
    width: 44px;
    height: 44px;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    border: 0;
    background-color: transparent;
    z-index: 20; }
    .search-icon .search-submit:hover {
      cursor: pointer; }

.search-input {
  border: 0;
  color: #FFF;
  background: transparent;
  font-size: 1em;
  margin-top: 5px;
  width: 200px;
  -webkit-appearance: none; }
  .search-input:active, .search-input:focus {
    outline: 0; }
  .search-input::-webkit-input-placeholder {
    color: #FFF; }
  .search-input:-ms-input-placeholder {
    color: #FFF; }
  .search-input::-ms-input-placeholder {
    color: #FFF; }
  .search-input::placeholder {
    color: #FFF; }

.section {
  padding-top: 4em;
  padding-bottom: 4em;
  /*&.left .section-content { margin-right: auto; }
    &.center .section-content { margin: 0 auto; }
    &.right .section-content { margin-left: auto; }*/ }
  @media (max-width: 767px) {
    .section {
      padding-top: 2em;
      padding-bottom: 2em; } }
  .section-row {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0 -1em; }
    .section-row.one .block {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 100%;
      padding: 0 1em;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%; }
    .section-row.two .block {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 50%;
      padding: 0 1em;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%; }
    .section-row.three .block {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 33.33333%;
      padding: 0 1em;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%; }
    .section-row.four .block {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 25%;
      padding: 0 1em;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%; }
    .section-row.five .block {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 20%;
      padding: 0 1em;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%; }
    .section-row.six .block {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 16.66667%;
      padding: 0 1em;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 16.66667%;
              flex: 0 0 16.66667%; }
    @media (max-width: 767px) {
      .section-row.one .block, .section-row.two .block, .section-row.three .block, .section-row.four .block, .section-row.five .block, .section-row.six .block {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 100%;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        margin-bottom: 1em;
        padding: 0; } }
  .section-title {
    margin-bottom: 0.5em;
    font-weight: 700;
    font-size: 4em;
    line-height: 1em;
    margin-top: 0; }
    @media (max-width: 767px) {
      .section-title {
        font-size: 3em; } }
  .section-content {
    font-size: 1.1em; }
    .section-content h1, .section-content h2, .section-content h3, .section-content h4, .section-content h5, .section-content h6 {
      margin-top: 1.5em;
      margin-bottom: 1em; }
    .section-content ul, .section-content ol {
      font-weight: 300;
      margin-bottom: 1em; }
      .section-content ul li, .section-content ol li {
        margin-bottom: 0.2em; }
    .section-content ul {
      list-style-type: disc; }
  .section__text {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding-left: 6%;
    padding-right: 6%; }
    @media (max-width: 1023px) {
      .section__text {
        padding-left: 5px;
        padding-right: 5px;
        width: 100%; } }
    .section__text .section-inner {
      width: 66.66667%;
      margin-left: 8.33333%;
      display: inline-block;
      margin-right: -4px;
      vertical-align: top; }
    .section__text .section-title {
      margin-bottom: 1em; }
    @media (min-width: 768px) and (max-width: 1023px) {
      .section__text .section-inner {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 83.33333%;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 83.33333%;
                flex: 0 0 83.33333%;
        margin-left: 8.33333%; } }
    @media (max-width: 767px) {
      .section__text .section-inner {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 83.33333%;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 83.33333%;
                flex: 0 0 83.33333%;
        margin-left: 8.33333%; } }
  .section__image {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding-left: 6%;
    padding-right: 6%; }
    @media (max-width: 1023px) {
      .section__image {
        padding-left: 5px;
        padding-right: 5px;
        width: 100%; } }
    .section__image .section-inner {
      width: 66.66667%;
      margin-left: 8.33333%;
      display: inline-block;
      margin-right: -4px;
      vertical-align: top; }
    @media (min-width: 768px) and (max-width: 1023px) {
      .section__image .section-inner {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 83.33333%;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 83.33333%;
                flex: 0 0 83.33333%;
        margin-left: 8.33333%; } }
    @media (max-width: 767px) {
      .section__image .section-inner {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 83.33333%;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 83.33333%;
                flex: 0 0 83.33333%;
        margin-left: 8.33333%; } }
  .section__video {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding-left: 6%;
    padding-right: 6%;
    padding-bottom: 0; }
    @media (max-width: 1023px) {
      .section__video {
        padding-left: 5px;
        padding-right: 5px;
        width: 100%; } }
    .section__video .section-inner {
      width: 66.66667%;
      margin-left: 8.33333%;
      display: inline-block;
      margin-right: -4px;
      vertical-align: top; }
    .section__video .section-content {
      position: relative;
      padding-bottom: 56.25%;
      padding-top: 25px;
      height: 0; }
      .section__video .section-content iframe, .section__video .section-content object, .section__video .section-content embed {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
    @media (min-width: 768px) and (max-width: 1023px) {
      .section__video .section-inner {
        width: 83.33333%;
        margin-left: 8.33333%;
        display: inline-block;
        margin-right: -4px;
        vertical-align: top; } }
    @media (max-width: 767px) {
      .section__video .section-inner {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 83.33333%;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 83.33333%;
                flex: 0 0 83.33333%;
        margin-left: 8.33333%; } }
  .section__carousel {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding-left: 6%;
    padding-right: 6%; }
    @media (max-width: 1023px) {
      .section__carousel {
        padding-left: 5px;
        padding-right: 5px;
        width: 100%; } }
    .section__carousel .section-inner {
      width: 75%;
      margin-left: 8.33333%;
      display: inline-block;
      margin-right: -4px;
      vertical-align: top; }
    .section__carousel .owl-nav {
      position: absolute;
      right: -8.333%;
      top: 50%;
      margin-top: -40px;
      width: 8.33333%;
      display: inline-block;
      margin-right: -4px;
      vertical-align: top;
      text-align: center; }
      .section__carousel .owl-nav .owl-prev, .section__carousel .owl-nav .owl-next {
        display: block;
        outline: 0;
        width: 44px;
        height: 44px;
        margin-bottom: 0.5em;
        margin-left: 1em;
        border-radius: 44px;
        background-color: #599cbc !important;
        -webkit-transition: background-color 0.3s linear;
        transition: background-color 0.3s linear; }
        .section__carousel .owl-nav .owl-prev i, .section__carousel .owl-nav .owl-next i {
          color: #FFF; }
        .section__carousel .owl-nav .owl-prev:hover, .section__carousel .owl-nav .owl-next:hover {
          background-color: #111 !important; }
  .section__textimage {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding-left: 6%;
    padding-right: 6%; }
    @media (max-width: 1023px) {
      .section__textimage {
        padding-left: 5px;
        padding-right: 5px;
        width: 100%; } }
    .section__textimage .section-inner {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    .section__textimage .section-title {
      font-size: 4em;
      margin-top: 0;
      margin-bottom: 0.8em; }
      @media (max-width: 767px) {
        .section__textimage .section-title {
          font-size: 2.8em; } }
    .section__textimage .section-content {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 33.33333%;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      margin-left: 8.33333%; }
    .section__textimage .section-image {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 41.66667%;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 41.66667%;
              flex: 0 0 41.66667%;
      margin-left: 8.33333%; }
    @media (max-width: 767px) {
      .section__textimage .section-content, .section__textimage .section-image {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 83.33333%;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 83.33333%;
                flex: 0 0 83.33333%;
        margin-left: 8.33333%;
        margin-bottom: 2em; } }
  .section__listing {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding-left: 6%;
    padding-right: 6%; }
    @media (max-width: 1023px) {
      .section__listing {
        padding-left: 5px;
        padding-right: 5px;
        width: 100%; } }
    .section__listing .section-inner {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 83.33333%;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 83.33333%;
              flex: 0 0 83.33333%;
      margin-left: 8.33333%; }
      @media (max-width: 767px) {
        .section__listing .section-inner {
          -webkit-box-sizing: border-box;
                  box-sizing: border-box;
          width: 83.33333%;
          -webkit-box-flex: 0;
              -ms-flex: 0 0 83.33333%;
                  flex: 0 0 83.33333%;
          margin-left: 8.33333%; } }
    @media (max-width: 767px) {
      .section__listing .section-row {
        margin: 0; } }
  .section__repeater {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding-left: 6%;
    padding-right: 6%; }
    @media (max-width: 1023px) {
      .section__repeater {
        padding-left: 5px;
        padding-right: 5px;
        width: 100%; } }
    .section__repeater .section-inner {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    .section__repeater .section-header {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 50%;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%;
      margin-left: 8.33333%; }
    .section__repeater .section-main {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 83.33333%;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 83.33333%;
              flex: 0 0 83.33333%;
      margin-left: 8.33333%;
      margin-top: 4em; }
    @media (max-width: 767px) {
      .section__repeater .section-header, .section__repeater .section-main {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 83.33333%;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 83.33333%;
                flex: 0 0 83.33333%;
        margin-left: 8.33333%; }
      .section__repeater.values .section-title {
        margin-bottom: 0; } }
  .section__principles .section-inner {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding-left: 6%;
    padding-right: 6%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    @media (max-width: 1023px) {
      .section__principles .section-inner {
        padding-left: 5px;
        padding-right: 5px;
        width: 100%; } }
  .section__principles .section-header {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 50%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    margin-left: 8.33333%; }
  .section__principles .section-main {
    margin-top: 4em; }
  .section__principles .section-row {
    margin: 0;
    border-top: 2px solid #EEE;
    padding-top: 4em; }
  @media (max-width: 767px) {
    .section__principles .section-header, .section__principles .section-main {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 83.33333%;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 83.33333%;
              flex: 0 0 83.33333%;
      margin-left: 8.33333%; } }
  .section__banner {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding-left: 6%;
    padding-right: 6%; }
    @media (max-width: 1023px) {
      .section__banner {
        padding-left: 5px;
        padding-right: 5px;
        width: 100%; } }
    .section__banner .section-inner {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
    .section__banner .section-icon {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 8.33333%;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 8.33333%;
              flex: 0 0 8.33333%;
      text-align: center; }
      .section__banner .section-icon i {
        font-size: 2em; }
    .section__banner .section-content {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 50%;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%; }
    .section__banner .section-buttons {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 33.33333%;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      margin-left: 8.33333%;
      text-align: center; }
      .section__banner .section-buttons ul {
        list-style: none;
        margin: 0; }
        .section__banner .section-buttons ul li {
          margin-bottom: 1em; }
          .section__banner .section-buttons ul li a {
            background-color: #599cbc;
            display: inline-block;
            padding: 0.6em 1em 0.5em 1em;
            color: #FFF;
            font-weight: 500;
            font-size: 1.2em; }
            .section__banner .section-buttons ul li a:hover {
              background-color: #000;
              border-color: transparent; }
          .section__banner .section-buttons ul li:last-of-type {
            margin-bottom: 0; }
    .section__banner .section-title {
      font-size: 2em;
      margin-top: 0;
      margin-bottom: 0; }
    .section__banner p {
      margin-top: 1em; }
    @media (max-width: 767px) {
      .section__banner {
        padding-top: 4em;
        padding-bottom: 4em; }
        .section__banner .section-inner {
          -webkit-box-sizing: border-box;
                  box-sizing: border-box;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
          -webkit-box-align: start;
              -ms-flex-align: start;
                  align-items: flex-start; }
        .section__banner .section-buttons {
          -webkit-box-sizing: border-box;
                  box-sizing: border-box;
          width: 83.33333%;
          -webkit-box-flex: 0;
              -ms-flex: 0 0 83.33333%;
                  flex: 0 0 83.33333%;
          margin-left: 8.33333%; }
          .section__banner .section-buttons a {
            width: 100%; }
        .section__banner .section-icon {
          -webkit-box-sizing: border-box;
                  box-sizing: border-box;
          width: 8.33333%;
          -webkit-box-flex: 0;
              -ms-flex: 0 0 8.33333%;
                  flex: 0 0 8.33333%;
          margin-left: 8.33333%;
          text-align: left;
          margin-top: 0.5em; }
          .section__banner .section-icon i {
            font-size: 1.6em;
            margin-bottom: 0.5em; }
        .section__banner .section-content {
          -webkit-box-sizing: border-box;
                  box-sizing: border-box;
          width: 66.66667%;
          -webkit-box-flex: 0;
              -ms-flex: 0 0 66.66667%;
                  flex: 0 0 66.66667%;
          margin-left: 8.33333%;
          margin-bottom: 2em; } }
  .section__companystructure {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding-left: 6%;
    padding-right: 6%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    min-height: 700px;
    padding-top: 2em; }
    @media (max-width: 1023px) {
      .section__companystructure {
        padding-left: 5px;
        padding-right: 5px;
        width: 100%; } }
    .section__companystructure .section-inner {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 83.33333%;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 83.33333%;
              flex: 0 0 83.33333%;
      margin-left: 8.33333%; }
    .section__companystructure .section-content {
      position: relative; }
    .section__companystructure ul {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      padding: 0;
      margin: 0;
      position: absolute;
      left: 0;
      clear: left;
      margin: 2em 0;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
    .section__companystructure li {
      padding: 1em;
      margin: 0;
      border: 5px solid #FFF;
      list-style: none;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      font-weight: 600;
      color: #000;
      text-align: center;
      background: #EEE;
      cursor: pointer; }
      @media (max-width: 767px) {
        .section__companystructure li {
          width: 100%;
          -webkit-box-flex: 0;
              -ms-flex-positive: 0;
                  flex-grow: 0;
          padding: 5px 0;
          font-size: 10px;
          border-width: 2px; } }
    .section__companystructure li.active {
      background: #599cbc;
      color: #FFF; }
    .section__companystructure ul li ul {
      display: none; }
    .section__companystructure ul li.active > ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
  .section__spacer {
    padding-bottom: 0; }
    @media (max-width: 767px) {
      .section__spacer {
        padding: 0; } }
  .section.fourfifth .section-content {
    width: 80%; }
  .section.threequarters .section-content {
    width: 75%; }
  .section.twothirds .section-content {
    width: 66.666%; }
  .section.half .section-content {
    width: 50%; }
  .section.third .section-content {
    width: 33.333%; }
  .section.quarter .section-content {
    width: 25%; }
  .section.fifth .section-content {
    width: 20%; }
  @media (max-width: 767px) {
    .section.fourfifth, .section.threequarters, .section.twothirds, .section.half, .section.third, .section.quarter, .section.fifth {
      width: 100%; } }
  @media (max-width: 767px) {
    .section.left, .section.center, .section.right {
      margin: inherit auto; } }
  .section.bgcolour {
    padding-top: 0;
    padding-bottom: 0; }
    .section.bgcolour .section-colour {
      padding: 4em 0; }
  .section.light .section-title,
  .section.light .section-content,
  .section.light .section-icon {
    color: #FFF; }

.block {
  position: relative; }
  .block-title {
    font-weight: 600;
    color: #000;
    font-size: 1.8em; }
  .block-subtitle {
    color: #FFF;
    margin-top: -0.5em;
    display: block; }
  .block-date {
    display: block;
    text-transform: uppercase;
    color: #999;
    margin-top: 0.5em;
    margin-bottom: 1em; }
  .block__article {
    padding: 2em 0;
    -webkit-transition: all 0.3s linear;
    transition: all 0.3s linear; }
    .block__article .block-inner {
      width: 100%;
      max-width: 100%;
      margin: 0 auto;
      padding-left: 6%;
      padding-right: 6%;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      border: 0; }
      @media (max-width: 1023px) {
        .block__article .block-inner {
          padding-left: 5px;
          padding-right: 5px;
          width: 100%; } }
    .block__article .block-header {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 41.66667%;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 41.66667%;
              flex: 0 0 41.66667%;
      margin-left: 8.33333%; }
    .block__article .block-image {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 25%;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      margin-left: 8.33333%; }
    .block__article .block-title {
      line-height: 1.2em;
      /*font-size: 1.4em;
            line-height: 1.2em;
            color: #000;*/ }
    .block__article:hover {
      background-color: #EEE; }
    @media (max-width: 767px) {
      .block__article .block-header, .block__article .block-image {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 83.33333%;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 83.33333%;
                flex: 0 0 83.33333%;
        margin-left: 8.33333%; }
      .block__article .block-image {
        margin-bottom: 1em; } }
  .block__search {
    padding: 2em 0;
    -webkit-transition: all 0.3s linear;
    transition: all 0.3s linear; }
    .block__search .block-inner {
      width: 100%;
      max-width: 100%;
      margin: 0 auto;
      padding-left: 6%;
      padding-right: 6%;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      border: 0; }
      @media (max-width: 1023px) {
        .block__search .block-inner {
          padding-left: 5px;
          padding-right: 5px;
          width: 100%; } }
    .block__search .block-header {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 41.66667%;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 41.66667%;
              flex: 0 0 41.66667%;
      margin-left: 8.33333%; }
    .block__search .block-button {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 8.33333%;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 8.33333%;
              flex: 0 0 8.33333%;
      margin-left: 33.33333%;
      background: #599cbc;
      text-align: center;
      color: #FFF;
      padding: 0.5em; }
    .block__search .block-title {
      margin-bottom: 0;
      /*color: #000;
            line-height: 1em;
            font-size: 1.4em;*/ }
    .block__search .block-subtitle {
      /*text-transform: uppercase;
            margin-bottom: 0.75em;
            display: block;
            font-size: 0.9em;*/ }
    .block__search:nth-of-type(odd) {
      background: #EEE; }
    .block__search:hover {
      background: #599cbc; }
      .block__search:hover .block-title {
        color: #FFF; }
      .block__search:hover .block-subtitle {
        color: #CCC; }
      .block__search:hover .block-button {
        background: #000; }
  .block__repeater {
    margin-bottom: 2em;
    width: 100%; }
  .block__principles {
    border-bottom: 2px solid #EEE;
    margin-bottom: 4em; }
    .block__principles .block-inner {
      width: 100%;
      max-width: 100%;
      margin: 0 auto;
      padding-left: 6%;
      padding-right: 6%;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      padding-bottom: 4em; }
      @media (max-width: 1023px) {
        .block__principles .block-inner {
          padding-left: 5px;
          padding-right: 5px;
          width: 100%; } }
      @media (max-width: 767px) {
        .block__principles .block-inner {
          padding-top: 2em; } }
    .block__principles .block-main {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 33.33333%;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      margin-left: 8.33333%;
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; }
      @media (max-width: 767px) {
        .block__principles .block-main {
          -webkit-box-sizing: border-box;
                  box-sizing: border-box;
          width: 100%;
          -webkit-box-flex: 0;
              -ms-flex: 0 0 100%;
                  flex: 0 0 100%;
          margin-left: 0%; } }
    .block__principles .block-image {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 41.66667%;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 41.66667%;
              flex: 0 0 41.66667%;
      margin-left: 16.66667%;
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; }
      @media (max-width: 767px) {
        .block__principles .block-image {
          -webkit-box-sizing: border-box;
                  box-sizing: border-box;
          width: 100%;
          -webkit-box-flex: 0;
              -ms-flex: 0 0 100%;
                  flex: 0 0 100%;
          margin-left: 0%;
          margin-top: 2em; } }
    .block__principles .block-title {
      font-size: 2.8em;
      margin-bottom: 0.5em; }
    .block__principles .block-content {
      font-size: 1.8em; }
      .block__principles .block-content p {
        line-height: 1.4em;
        font-weight: 500; }
    .block__principles:last-of-type .block-inner {
      border-bottom: 0; }
  .block__values .block-main {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    @media (max-width: 767px) {
      .block__values .block-main {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        padding-left: 6%;
        padding-right: 6%; } }
  @media (max-width: 767px) and (max-width: 1023px) {
    .block__values .block-main {
      padding-left: 5px;
      padding-right: 5px;
      width: 100%; } }
  .block__values .block-image {
    display: none; }
  .block__values .block-title {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 25%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    margin-left: 4.16667%;
    font-size: 5.5em;
    margin-top: 0;
    margin-bottom: 0.5em;
    color: #599cbc;
    display: block;
    text-align: center;
    border-radius: 100%; }
    @media (max-width: 767px) {
      .block__values .block-title {
        font-size: 5em;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 25%;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 25%;
                flex: 0 0 25%; } }
  .block__values .block-content {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 58.33333%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 58.33333%;
            flex: 0 0 58.33333%;
    margin-left: 4.16667%;
    font-size: 1em;
    margin-top: 1.6em;
    margin-bottom: 1em; }
    @media (max-width: 767px) {
      .block__values .block-content {
        padding-left: 1em; } }
  .block__team {
    margin-top: 1em;
    margin-bottom: 1em;
    height: 400px; }
    .block__team .block-inner {
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center;
      height: 100%;
      display: table;
      width: 100%;
      border: 0; }
    .block__team .block-details {
      background: rgba(0, 0, 0, 0.5);
      display: table-cell;
      width: 100%;
      padding: 2.4em;
      height: 100%;
      vertical-align: bottom; }
      @media (max-width: 767px) {
        .block__team .block-details {
          padding: 1em; } }
    .block__team .block-title {
      color: #FFF;
      margin-bottom: 0.4em;
      font-size: 2.2em; }
      @media (max-width: 767px) {
        .block__team .block-title {
          font-size: 1.6em; } }
    .block__team .block-content {
      color: #FFF; }
    @media (max-width: 767px) {
      .block__team {
        height: 300px; } }
  .block__review {
    margin-top: 0.75em;
    margin-bottom: 2em; }
    .block__review .block-inner {
      width: 100%;
      height: 100%;
      display: block;
      border: 0;
      position: relative; }
      .block__review .block-inner:hover .block-icon {
        background: #000 !important; }
    .block__review .block-details {
      position: absolute;
      bottom: -0.75em;
      left: 0;
      width: 100%;
      background: #FFF;
      color: #000; }
      @media (max-width: 767px) {
        .block__review .block-details {
          bottom: 0; } }
    .block__review .block-title {
      font-size: 1.6em;
      padding-top: 0.5em; }
    .block__review .block-icon {
      position: absolute;
      top: 0;
      right: 0;
      width: 40px;
      height: 40px;
      text-align: center;
      background: #599cbc; }
      .block__review .block-icon i {
        line-height: 40px;
        color: #FFF; }

.article {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding-left: 6%;
  padding-right: 6%;
  padding-top: 4em;
  padding-bottom: 6em;
  background: #EEE; }
  @media (max-width: 1023px) {
    .article {
      padding-left: 5px;
      padding-right: 5px;
      width: 100%; } }
  .article-inner {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
  .article-header {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 25%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    margin-left: 8.33333%; }
  .article-main {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 50%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    margin-left: 8.33333%; }
  @media (max-width: 767px) {
    .article .article-header,
    .article .article-main {
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      width: 83.33333%;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 83.33333%;
              flex: 0 0 83.33333%;
      margin-left: 8.33333%; } }
  .article-link {
    border: 0; }
  .article-title {
    font-weight: 700;
    font-size: 3em;
    line-height: 1.2em;
    margin-bottom: 0.5em; }
  .article-subtitle {
    /*font-size: 1em;
        text-transform: uppercase;*/ }
  .article-date {
    font-size: 0.9em;
    margin-bottom: 1em;
    display: block;
    text-transform: uppercase;
    color: #999; }
  .article-excerpt {
    font-size: 1.2em;
    margin-top: 1em;
    margin-bottom: 1em; }
    @media (max-width: 767px) {
      .article-excerpt {
        font-size: 1.4em;
        margin-bottom: 2em; } }
  .article-content {
    font-size: 1.1em; }
    .article-content h1, .article-content h2, .article-content h3, .article-content h4, .article-content h5, .article-content h6 {
      margin: 1em 0; }
  .article-image {
    margin: 0 0 2em 0; }
  .article-video .video {
    margin: 0 0 2em 0;
    position: relative;
    padding-bottom: 56.25%;
    /* 16:9 */
    padding-top: 25px;
    height: 0; }
  .article-video .video iframe,
  .article-video .video object,
  .article-video .video embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZlbmRvci9fb3dsY2Fyb3VzZWwuc2NzcyIsInZlbmRvci9fYW5pbWF0ZS5zY3NzIiwidXRpbHMvX3Jlc2V0LnNjc3MiLCJjb21tb24vX2dsb2JhbC5zY3NzIiwidXRpbHMvX21peGlucy5zY3NzIiwiY29tbW9uL19ncmlkLnNjc3MiLCJ1dGlscy9fdmFyaWFibGVzLnNjc3MiLCJjb21tb24vX3R5cG9ncmFwaHkuc2NzcyIsImNvbW1vbi9faW1hZ2VzLnNjc3MiLCJjb21tb24vX3RhYmxlcy5zY3NzIiwiY29tbW9uL19idXR0b24uc2NzcyIsImNvbW1vbi9faWNvbnMuc2NzcyIsImNvbXBvbmVudHMvX2Nvb2tpZS5zY3NzIiwiY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCJjb21wb25lbnRzL19uYXZpZ2F0aW9uLnNjc3MiLCJjb21wb25lbnRzL19mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCJjb21wb25lbnRzL19wYWdlLnNjc3MiLCJjb21wb25lbnRzL19ob21lLnNjc3MiLCJjb21wb25lbnRzL19zbGlkZS5zY3NzIiwiY29tcG9uZW50cy9fc29jaWFsLnNjc3MiLCJjb21wb25lbnRzL19zZWFyY2guc2NzcyIsImNvbXBvbmVudHMvX3NlY3Rpb24uc2NzcyIsImNvbXBvbmVudHMvX2Jsb2NrLnNjc3MiLCJjb21wb25lbnRzL19hcnRpY2xlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNIO0VBQXNDLHlDQUF1QztFQUFDLG1CQUFpQixFQUFFOztBQUFEO0VBQWMsY0FBWTtFQUFDLFlBQVU7RUFBQyxXQUFTLEVBQUU7O0FBQUQ7RUFBeUIsbUJBQWlCO0VBQUMsd0JBQXNCO0VBQUMsMkJBQXlCO0VBQUMsaUNBQStCLEVBQUU7O0FBQUQ7RUFBK0IsYUFBVztFQUFDLGVBQWE7RUFBQyxZQUFVO0VBQUMsbUJBQWlCO0VBQUMsZUFBYTtFQUFDLFVBQVEsRUFBRTs7QUFBRDtFQUErQixtQkFB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Q0ksa0JBQWlCLEVBQ3BCO0VBRUE7SUFFTyxrQkFBaUI7SUFDakIsbUJBQWtCO0lBQ2xCLHVCQUFzQjtJQUFFLFVBQVU7SUFDbEMsa0JBQWlCO0lBQ2pCLFVBQVMsRUFDWjtFQVBKOzs7SUFXTyxtQkFBa0I7SUFDbEIsT0FBTTtJQUNOLFFBQU87SUFDUCxZQUFXO0lBQ1gsYUFBWSxFQUNmIiwiZmlsZSI6Im1haW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBPd2wgQ2Fyb3VzZWwgdjIuMy40XG4gKiBDb3B5cmlnaHQgMjAxMy0yMDE4IERhdmlkIERldXRzY2hcbiAqIExpY2Vuc2VkIHVuZGVyOiBTRUUgTElDRU5TRSBJTiBodHRwczovL2dpdGh1Yi5jb20vT3dsQ2Fyb3VzZWwyL093bENhcm91c2VsMi9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cbi5vd2wtY2Fyb3VzZWwsLm93bC1jYXJvdXNlbCAub3dsLWl0ZW17LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3Bvc2l0aW9uOnJlbGF0aXZlfS5vd2wtY2Fyb3VzZWx7ZGlzcGxheTpub25lO3dpZHRoOjEwMCU7ei1pbmRleDoxfS5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZXtwb3NpdGlvbjpyZWxhdGl2ZTstbXMtdG91Y2gtYWN0aW9uOnBhbi1ZO3RvdWNoLWFjdGlvbjptYW5pcHVsYXRpb247LW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbn0ub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2U6YWZ0ZXJ7Y29udGVudDpcIi5cIjtkaXNwbGF5OmJsb2NrO2NsZWFyOmJvdGg7dmlzaWJpbGl0eTpoaWRkZW47bGluZS1oZWlnaHQ6MDtoZWlnaHQ6MH0ub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Utb3V0ZXJ7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKX0ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSwub3dsLWNhcm91c2VsIC5vd2wtd3JhcHBlcnstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCl9Lm93bC1jYXJvdXNlbCAub3dsLWl0ZW17bWluLWhlaWdodDoxcHg7ZmxvYXQ6bGVmdDstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy13ZWJraXQtdG91Y2gtY2FsbG91dDpub25lfS5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIGltZ3tkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCV9Lm93bC1jYXJvdXNlbCAub3dsLWRvdHMuZGlzYWJsZWQsLm93bC1jYXJvdXNlbCAub3dsLW5hdi5kaXNhYmxlZHtkaXNwbGF5Om5vbmV9Lm5vLWpzIC5vd2wtY2Fyb3VzZWwsLm93bC1jYXJvdXNlbC5vd2wtbG9hZGVke2Rpc3BsYXk6YmxvY2t9Lm93bC1jYXJvdXNlbCAub3dsLWRvdCwub3dsLWNhcm91c2VsIC5vd2wtbmF2IC5vd2wtbmV4dCwub3dsLWNhcm91c2VsIC5vd2wtbmF2IC5vd2wtcHJldntjdXJzb3I6cG9pbnRlcjstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LWtodG1sLXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9Lm93bC1jYXJvdXNlbCAub3dsLW5hdiBidXR0b24ub3dsLW5leHQsLm93bC1jYXJvdXNlbCAub3dsLW5hdiBidXR0b24ub3dsLXByZXYsLm93bC1jYXJvdXNlbCBidXR0b24ub3dsLWRvdHtiYWNrZ3JvdW5kOjAgMDtjb2xvcjppbmhlcml0O2JvcmRlcjpub25lO3BhZGRpbmc6MCFpbXBvcnRhbnQ7Zm9udDppbmhlcml0fS5vd2wtY2Fyb3VzZWwub3dsLWxvYWRpbmd7b3BhY2l0eTowO2Rpc3BsYXk6YmxvY2t9Lm93bC1jYXJvdXNlbC5vd2wtaGlkZGVue29wYWNpdHk6MH0ub3dsLWNhcm91c2VsLm93bC1yZWZyZXNoIC5vd2wtaXRlbXt2aXNpYmlsaXR5OmhpZGRlbn0ub3dsLWNhcm91c2VsLm93bC1kcmFnIC5vd2wtaXRlbXstbXMtdG91Y2gtYWN0aW9uOnBhbi15O3RvdWNoLWFjdGlvbjpwYW4teTstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7LW1vei11c2VyLXNlbGVjdDpub25lOy1tcy11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmV9Lm93bC1jYXJvdXNlbC5vd2wtZ3JhYntjdXJzb3I6bW92ZTtjdXJzb3I6Z3JhYn0ub3dsLWNhcm91c2VsLm93bC1ydGx7ZGlyZWN0aW9uOnJ0bH0ub3dsLWNhcm91c2VsLm93bC1ydGwgLm93bC1pdGVte2Zsb2F0OnJpZ2h0fS5vd2wtY2Fyb3VzZWwgLmFuaW1hdGVke2FuaW1hdGlvbi1kdXJhdGlvbjoxczthbmltYXRpb24tZmlsbC1tb2RlOmJvdGh9Lm93bC1jYXJvdXNlbCAub3dsLWFuaW1hdGVkLWlue3otaW5kZXg6MH0ub3dsLWNhcm91c2VsIC5vd2wtYW5pbWF0ZWQtb3V0e3otaW5kZXg6MX0ub3dsLWNhcm91c2VsIC5mYWRlT3V0e2FuaW1hdGlvbi1uYW1lOmZhZGVPdXR9QGtleWZyYW1lcyBmYWRlT3V0ezAle29wYWNpdHk6MX0xMDAle29wYWNpdHk6MH19Lm93bC1oZWlnaHR7dHJhbnNpdGlvbjpoZWlnaHQgLjVzIGVhc2UtaW4tb3V0fS5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIC5vd2wtbGF6eXtvcGFjaXR5OjA7dHJhbnNpdGlvbjpvcGFjaXR5IC40cyBlYXNlfS5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIC5vd2wtbGF6eTpub3QoW3NyY10pLC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIC5vd2wtbGF6eVtzcmNePVwiXCJde21heC1oZWlnaHQ6MH0ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSBpbWcub3dsLWxhenl7dHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkfS5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDoxMDAlO2JhY2tncm91bmQ6IzAwMH0ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheS1pY29ue3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDo4MHB4O3dpZHRoOjgwcHg7bGVmdDo1MCU7dG9wOjUwJTttYXJnaW4tbGVmdDotNDBweDttYXJnaW4tdG9wOi00MHB4O2JhY2tncm91bmQ6dXJsKG93bC52aWRlby5wbGF5LnBuZykgbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyO3otaW5kZXg6MTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xcyBlYXNlfS5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5LWljb246aG92ZXJ7LW1zLXRyYW5zZm9ybTpzY2FsZSgxLjMsMS4zKTt0cmFuc2Zvcm06c2NhbGUoMS4zLDEuMyl9Lm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby1wbGF5LWljb24sLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby10bntkaXNwbGF5Om5vbmV9Lm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXRue29wYWNpdHk6MDtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZTpjb250YWluO3RyYW5zaXRpb246b3BhY2l0eSAuNHMgZWFzZX0ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tZnJhbWV7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoxO2hlaWdodDoxMDAlO3dpZHRoOjEwMCV9XG5cbi8qKlxuICogT3dsIENhcm91c2VsIHYyLjMuNFxuICogQ29weXJpZ2h0IDIwMTMtMjAxOCBEYXZpZCBEZXV0c2NoXG4gKiBMaWNlbnNlZCB1bmRlcjogU0VFIExJQ0VOU0UgSU4gaHR0cHM6Ly9naXRodWIuY29tL093bENhcm91c2VsMi9Pd2xDYXJvdXNlbDIvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG4ub3dsLXRoZW1lIC5vd2wtZG90cywub3dsLXRoZW1lIC5vd2wtbmF2e3RleHQtYWxpZ246Y2VudGVyOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH0ub3dsLXRoZW1lIC5vd2wtbmF2e21hcmdpbi10b3A6MTBweH0ub3dsLXRoZW1lIC5vd2wtbmF2IFtjbGFzcyo9b3dsLV17Y29sb3I6I0ZGRjtmb250LXNpemU6MTRweDttYXJnaW46NXB4O3BhZGRpbmc6NHB4IDdweDtiYWNrZ3JvdW5kOiNENkQ2RDY7ZGlzcGxheTppbmxpbmUtYmxvY2s7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyLXJhZGl1czozcHh9Lm93bC10aGVtZSAub3dsLW5hdiBbY2xhc3MqPW93bC1dOmhvdmVye2JhY2tncm91bmQ6Izg2OTc5MTtjb2xvcjojRkZGO3RleHQtZGVjb3JhdGlvbjpub25lfS5vd2wtdGhlbWUgLm93bC1uYXYgLmRpc2FibGVke29wYWNpdHk6LjU7Y3Vyc29yOmRlZmF1bHR9Lm93bC10aGVtZSAub3dsLW5hdi5kaXNhYmxlZCsub3dsLWRvdHN7bWFyZ2luLXRvcDoxMHB4fS5vd2wtdGhlbWUgLm93bC1kb3RzIC5vd2wtZG90e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3pvb206MX0ub3dsLXRoZW1lIC5vd2wtZG90cyAub3dsLWRvdCBzcGFue3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHg7bWFyZ2luOjVweCA3cHg7YmFja2dyb3VuZDojRDZENkQ2O2Rpc3BsYXk6YmxvY2s7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OnZpc2libGU7dHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO2JvcmRlci1yYWRpdXM6MzBweH0ub3dsLXRoZW1lIC5vd2wtZG90cyAub3dsLWRvdC5hY3RpdmUgc3Bhbiwub3dsLXRoZW1lIC5vd2wtZG90cyAub3dsLWRvdDpob3ZlciBzcGFue2JhY2tncm91bmQ6Izg2OTc5MX0iLCIgQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vKiFcbiAqIGFuaW1hdGUuY3NzIC1odHRwOi8vZGFuZWRlbi5tZS9hbmltYXRlXG4gKiBWZXJzaW9uIC0gMy43LjBcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAtIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTggRGFuaWVsIEVkZW5cbiAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlIHtcbiAgZnJvbSxcbiAgMjAlLFxuICA1MyUsXG4gIDgwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICA0MCUsXG4gIDQzJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlIHtcbiAgZnJvbSxcbiAgMjAlLFxuICA1MyUsXG4gIDgwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICA0MCUsXG4gIDQzJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwcHgsIDApO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApO1xuICB9XG59XG5cbi5ib3VuY2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsYXNoIHtcbiAgZnJvbSxcbiAgNTAlLFxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDI1JSxcbiAgNzUlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxhc2gge1xuICBmcm9tLFxuICA1MCUsXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMjUlLFxuICA3NSUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmZsYXNoIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxhc2g7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGFzaDtcbn1cblxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBwdWxzZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbi5wdWxzZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xuICBhbmltYXRpb24tbmFtZTogcHVsc2U7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBydWJiZXJCYW5kIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICB9XG5cbiAgNjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBydWJiZXJCYW5kIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICB9XG5cbiAgNjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuLnJ1YmJlckJhbmQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBydWJiZXJCYW5kO1xuICBhbmltYXRpb24tbmFtZTogcnViYmVyQmFuZDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlIHtcbiAgZnJvbSxcbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cblxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2hha2Uge1xuICBmcm9tLFxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAxMCUsXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cbn1cblxuLnNoYWtlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGhlYWRTaGFrZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICA2LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG4gIH1cblxuICAxOC41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XG4gIH1cblxuICAzMS41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xuICB9XG5cbiAgNDMuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBoZWFkU2hha2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgNi41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xuICB9XG5cbiAgMTguNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xuICB9XG5cbiAgMzEuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTtcbiAgfVxuXG4gIDQzLjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbi5oZWFkU2hha2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaGVhZFNoYWtlO1xuICBhbmltYXRpb24tbmFtZTogaGVhZFNoYWtlO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmcge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzd2luZyB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTtcbiAgfVxufVxuXG4uc3dpbmcge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHN3aW5nO1xuICBhbmltYXRpb24tbmFtZTogc3dpbmc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB0YWRhIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgMTAlLFxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cblxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB0YWRhIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgMTAlLFxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cblxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuLnRhZGEge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB0YWRhO1xuICBhbmltYXRpb24tbmFtZTogdGFkYTtcbn1cblxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5cbkAtd2Via2l0LWtleWZyYW1lcyB3b2JibGUge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDE1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG5cbiAgNDUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgd29iYmxlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAxNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuXG4gIDQ1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4ud29iYmxlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogd29iYmxlO1xuICBhbmltYXRpb24tbmFtZTogd29iYmxlO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgamVsbG8ge1xuICBmcm9tLFxuICAxMS4xJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgMjIuMiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgfVxuXG4gIDMzLjMlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgfVxuXG4gIDQ0LjQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICB9XG5cbiAgNTUuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gIH1cblxuICA2Ni42JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICB9XG5cbiAgNzcuNyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcbiAgfVxuXG4gIDg4LjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGplbGxvIHtcbiAgZnJvbSxcbiAgMTEuMSUsXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDIyLjIlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gIH1cblxuICAzMy4zJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gIH1cblxuICA0NC40JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcbiAgfVxuXG4gIDU1LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICB9XG5cbiAgNjYuNiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcbiAgfVxuXG4gIDc3LjclIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gIH1cblxuICA4OC44JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gIH1cbn1cblxuLmplbGxvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogamVsbG87XG4gIGFuaW1hdGlvbi1uYW1lOiBqZWxsbztcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGhlYXJ0QmVhdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuXG4gIDE0JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICB9XG5cbiAgMjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuXG4gIDQyJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGhlYXJ0QmVhdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuXG4gIDE0JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICB9XG5cbiAgMjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuXG4gIDQyJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuXG4uaGVhcnRCZWF0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaGVhcnRCZWF0O1xuICBhbmltYXRpb24tbmFtZTogaGVhcnRCZWF0O1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMS4zcztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjNzO1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluIHtcbiAgZnJvbSxcbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NywgMC45NywgMC45Nyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbiB7XG4gIGZyb20sXG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cblxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45NywgMC45NywgMC45Nyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG5cbi5ib3VuY2VJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1cztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1cztcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTMwMDBweCwgMCk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1cHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uYm91bmNlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5ib3VuY2VJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cblxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cblxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZUluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uYm91bmNlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gIH1cblxuICA1MCUsXG4gIDU1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXQge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgfVxuXG4gIDUwJSxcbiAgNTUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxufVxuXG4uYm91bmNlT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuNzVzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuNzVzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgfVxuXG4gIDQwJSxcbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgfVxuXG4gIDQwJSxcbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZU91dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG4uYm91bmNlT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuLmJvdW5jZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICB9XG5cbiAgNDAlLFxuICA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICB9XG5cbiAgNDAlLFxuICA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uYm91bmNlT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5mYWRlSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5mYWRlSW5Eb3duQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5mYWRlSW5MZWZ0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5mYWRlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVJblJpZ2h0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVJblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZUluVXBCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmZhZGVPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dERvd25CaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dExlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRMZWZ0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRSaWdodEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuLmZhZGVPdXRVcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuXG4uZmFkZU91dFVwQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgLTE3MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSkgdHJhbnNsYXRlM2QoMCwgMCwgMClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSkgdHJhbnNsYXRlM2QoMCwgMCwgMClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDAuOTUsIDAuOTUsIDAuOTUpIHRyYW5zbGF0ZTNkKDAsIDAsIDApXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDAuOTUsIDAuOTUsIDAuOTUpIHRyYW5zbGF0ZTNkKDAsIDAsIDApXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbn1cblxuLmFuaW1hdGVkLmZsaXAge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcEluWCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG5cbi5mbGlwSW5YIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cblxuLmZsaXBJblkge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZO1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWTtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uZmxpcE91dFgge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC43NXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC43NXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFg7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwT3V0WSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmZsaXBPdXRZIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuNzVzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuNzVzO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZEluIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbiB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLmxpZ2h0U3BlZWRJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmxpZ2h0U3BlZWRPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW5Eb3duTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJbkRvd25SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJblVwTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluVXBSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0RG93bkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXREb3duUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXRVcExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXRVcFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBoaW5nZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cblxuICAyMCUsXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cblxuICA0MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBoaW5nZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cblxuICAyMCUsXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cblxuICA0MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmhpbmdlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDJzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDJzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBoaW5nZTtcbiAgYW5pbWF0aW9uLW5hbWU6IGhpbmdlO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgamFja0luVGhlQm94IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSByb3RhdGUoMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSByb3RhdGUoMzBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgamFja0luVGhlQm94IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSByb3RhdGUoMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSByb3RhdGUoMzBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5cbi5qYWNrSW5UaGVCb3gge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBqYWNrSW5UaGVCb3g7XG4gIGFuaW1hdGlvbi1uYW1lOiBqYWNrSW5UaGVCb3g7XG59XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb2xsSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4ucm9sbEluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbEluO1xuICBhbmltYXRpb24tbmFtZTogcm9sbEluO1xufVxuXG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm9sbE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gIH1cbn1cblxuLnJvbGxPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xuICBhbmltYXRpb24tbmFtZTogcm9sbE91dDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnpvb21JbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21Jbjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cblxuLnpvb21JbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluRG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cblxuLnpvb21JbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogem9vbUluTGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21JblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuXG4uem9vbUluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5cbi56b29tSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JblVwO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluVXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi56b29tT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0RG93biB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbU91dERvd24ge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuXG4uem9vbU91dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXREb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dExlZnQge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0TGVmdCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgfVxufVxuXG4uem9vbU91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRMZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFJpZ2h0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0UmlnaHQge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgfVxufVxuXG4uem9vbU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dFJpZ2h0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFVwIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB6b29tT3V0VXAge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuXG4uem9vbU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dFVwO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluRG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG4uc2xpZGVJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0O1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuLnNsaWRlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZUluVXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuLnNsaWRlT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuLnNsaWRlT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG5cbi5zbGlkZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuLnNsaWRlT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDtcbn1cblxuLmFuaW1hdGVkIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cbi5hbmltYXRlZC5pbmZpbml0ZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xufVxuXG4uYW5pbWF0ZWQuZGVsYXktMXMge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMXM7XG59XG5cbi5hbmltYXRlZC5kZWxheS0ycyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAycztcbiAgYW5pbWF0aW9uLWRlbGF5OiAycztcbn1cblxuLmFuaW1hdGVkLmRlbGF5LTNzIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDNzO1xuICBhbmltYXRpb24tZGVsYXk6IDNzO1xufVxuXG4uYW5pbWF0ZWQuZGVsYXktNHMge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogNHM7XG4gIGFuaW1hdGlvbi1kZWxheTogNHM7XG59XG5cbi5hbmltYXRlZC5kZWxheS01cyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiA1cztcbiAgYW5pbWF0aW9uLWRlbGF5OiA1cztcbn1cblxuLmFuaW1hdGVkLmZhc3Qge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogODAwbXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogODAwbXM7XG59XG5cbi5hbmltYXRlZC5mYXN0ZXIge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7XG59XG5cbi5hbmltYXRlZC5zbG93IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDJzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDJzO1xufVxuXG4uYW5pbWF0ZWQuc2xvd2VyIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDNzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDNzO1xufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb24pIHtcbiAgLmFuaW1hdGVkIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogdW5zZXQgIWltcG9ydGFudDtcbiAgICBhbmltYXRpb246IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59IiwiLyogaHR0cDovL21leWVyd2ViLmNvbS9lcmljL3Rvb2xzL2Nzcy9yZXNldC8gXG4gICB2Mi4wIHwgMjAxMTAxMjZcbiAgIExpY2Vuc2U6IG5vbmUgKHB1YmxpYyBkb21haW4pXG4qL1xuXG4qIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLCBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsIGEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSwgZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLCBzbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLCBiLCB1LCBpLCBjZW50ZXIsIGRsLCBkdCwgZGQsIG9sLCB1bCwgbGksIGZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLCB0YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCwgYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZW1iZWQsIGZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksIHRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBmb250LXNpemU6IDEwMCU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4vKiBIVE1MNSBkaXNwbGF5LXJvbGUgcmVzZXQgZm9yIG9sZGVyIGJyb3dzZXJzICovXG5cbmFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbmJvZHkge1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG5vbCwgdWwge1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbmJsb2NrcXVvdGUsIHEge1xuICBxdW90ZXM6IG5vbmU7IH1cblxuYmxvY2txdW90ZSB7XG4gICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBjb250ZW50OiBub25lOyB9IH1cblxucSB7XG4gICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBjb250ZW50OiBub25lOyB9IH1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfSIsImh0bWwsYm9keSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4jaXMtbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuIiwiLy8gUmVzcG9uc2l2ZVxuQG1peGluIHJlc3BvbmQtdG8oJG1lZGlhKSB7XG4gICAgQGlmICRtZWRpYSA9PSBzbSB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQge1xuICAgICAgICAvL0BtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7IEBjb250ZW50OyB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbWVkaWEgPT0gbGcge1xuICAgICAgICAvL0BtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgeyBAY29udGVudDsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7IEBjb250ZW50OyB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRtZWRpYSA9PSBtZC11cHRvIHtcbiAgICAgICAgLy9AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHsgQGNvbnRlbnQ7IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjNweCkgeyBAY29udGVudDsgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbWVkaWEgPT0gbWQtYW5kdXAge1xuICAgICAgICAvL0BtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkgeyBAY29udGVudDsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsgQGNvbnRlbnQ7IH1cbiAgICB9XG59XG5cblxuLy8gR3JpZFxuXG5AbWl4aW4gY29udGFpbmVyKFxuICAgICRtYXgtd2lkdGg6ICRtYXgtd2lkdGgtbGFyZ2Vcbikge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nLWxlZnQ6IDYlO1xuXHRwYWRkaW5nLXJpZ2h0OiA2JTtcbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1kLXVwdG8pIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIFxufVxuXG5AbWl4aW4gY29sKFxuICAgICRjb2w6IG51bGwsXG4gICAgJGdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucyxcbiAgICAkb2Zmc2V0OiBudWxsLFxuICAgICR2ZXJ0aWNhbC1hbGlnbjogdG9wLFxuICAgICRkaXNwbGF5OiBpbmxpbmUtYmxvY2tcbikge1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCRjb2wgLyAkZ3JpZC1jb2x1bW5zKTtcbiAgICBAaWYgJG9mZnNldCB7XG5cdFx0bWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoJG9mZnNldCAvICRncmlkLWNvbHVtbnMpO1xuXHR9XG4gICAgZGlzcGxheTogJGRpc3BsYXk7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiAkdmVydGljYWwtYWxpZ247XG4gICAgQGNvbnRlbnQ7XG59XG5cbkBtaXhpbiBvZmZzZXQoXG4gICAgJG9mZnNldDogbnVsbCxcbikge1xuICAgIEBpZiAkb2Zmc2V0IHtcblx0XHRtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgkb2Zmc2V0IC8gJGdyaWQtY29sdW1ucyk7XG5cdH1cbiAgICBAY29udGVudDtcbn1cblxuQG1peGluIGdyaWQtcm93KFxuICAgICRmbGV4LWRpc3BsYXk6IGZsZXgsXG4gICAgJGZsZXgtZGlyZWN0aW9uOiBudWxsLCBcbiAgICAkZmxleC13cmFwOiB3cmFwLCBcbiAgICAkZmxleC1mbG93OiBudWxsLCBcbiAgICAkanVzdGlmeS1jb250ZW50OiBudWxsLCBcbiAgICAkYWxpZ24taXRlbXM6IG51bGwsIFxuICAgICRhbGlnbi1jb250ZW50OiBudWxsLCBcbiAgICAkZ3V0dGVyOiBudWxsXG4pIHtcbiAgICBcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIEBpZiAkZmxleC1kaXNwbGF5IHtcblx0XHRkaXNwbGF5OiAkZmxleC1kaXNwbGF5O1xuXHR9XG4gICAgXG5cdEBpZiAkZmxleC1kaXJlY3Rpb24ge1xuXHRcdGZsZXgtZGlyZWN0aW9uOiAkZmxleC1kaXJlY3Rpb247XG5cdH1cblx0QGlmICRmbGV4LXdyYXAge1xuXHRcdGZsZXgtd3JhcDogJGZsZXgtd3JhcDtcblx0fVxuXHRAaWYgJGZsZXgtZmxvdyB7XG5cdFx0ZmxleC1mbG93OiAkZmxleC1mbG93O1xuXHR9XG5cdEBpZiAkanVzdGlmeS1jb250ZW50IHtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6ICRqdXN0aWZ5LWNvbnRlbnQ7XG5cdH1cblx0QGlmICRhbGlnbi1pdGVtcyB7XG5cdFx0YWxpZ24taXRlbXM6ICRhbGlnbi1pdGVtcztcblx0fVxuXHRAaWYgJGFsaWduLWNvbnRlbnQge1xuXHRcdGFsaWduLWNvbnRlbnQ6ICRhbGlnbi1jb250ZW50O1xuXHR9XG5cdEBpZiAkZ3V0dGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1tYXJnaW4oJG1hcmdpbjogMCAkZ3V0dGVyIC8gMiAqIC0xKTtcbiAgICB9XG5cdEBjb250ZW50O1xufVxuXG5AbWl4aW4gZ3JpZC1jb2woXG4gICAgJGNvbDogbnVsbCwgXG4gICAgJGdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucywgXG4gICAgJGNvbC1vZmZzZXQ6IG51bGwsIFxuICAgICRndXR0ZXI6IG51bGwsIFxuICAgICRhbGlnbi1zZWxmOiBudWxsLCBcbiAgICAkZmxleC1ncm93OiAwLCBcbiAgICAkZmxleC1zaHJpbms6IDEsIFxuICAgICRmbGV4LWJhc2lzOiBhdXRvLCBcbiAgICAkb3JkZXI6IG51bGxcbikge1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG5cdEBpZiB0eXBlLW9mKCRjb2wpID09IG51bWJlciB7XG5cdFx0JGZsZXgtZ3JvdzogMDtcblx0XHQkZmxleC1zaHJpbms6IDA7XG4gICAgICAgICRmbGV4LWJhc2lzOiBwZXJjZW50YWdlKCRjb2wgLyAkZ3JpZC1jb2x1bW5zKTtcbiAgICAgICAgd2lkdGg6ICRmbGV4LWJhc2lzO1xuXHR9IEBlbHNlIGlmIHR5cGUtb2YoJGNvbCkgPT0gc3RyaW5nIGFuZCAkY29sID09ICdhdXRvJyB7XG5cdFx0JGZsZXgtZ3JvdzogMTtcblx0XHQkZmxleC1zaHJpbms6IDE7XG5cdFx0JGZsZXgtYmFzaXM6IGF1dG87XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdHdpZHRoOiBhdXRvO1xuXHR9IEBlbHNlIGlmIHR5cGUtb2YoJGNvbCkgPT0gc3RyaW5nIGFuZCAkY29sID09ICdlcXVhbCcge1xuXHRcdCRmbGV4LWdyb3c6IDE7XG5cdFx0JGZsZXgtc2hyaW5rOiAxO1xuXHRcdCRmbGV4LWJhc2lzOiAwO1xuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkY29sKSA9PSBzdHJpbmcgYW5kICRjb2wgPT0gJ2JyZWFrcG9pbnQnIHtcblx0XHQkZmxleC1ncm93OiAwO1xuXHRcdCRmbGV4LXNocmluazogMTtcblx0XHQkZmxleC1iYXNpczogYXV0bztcblx0XHR3aWR0aDogMTAwJTtcblx0fSBAZWxzZSBpZiB0eXBlLW9mKCRjb2wpID09IHN0cmluZyBhbmQgJGNvbCA9PSAnbm9uZScge1xuXHRcdCRmbGV4LWdyb3c6IDA7XG5cdFx0JGZsZXgtc2hyaW5rOiAwO1xuXHRcdCRmbGV4LWJhc2lzOiBhdXRvO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICAkZmxleC1ncm93OiAxO1xuXHRcdCRmbGV4LXNocmluazogMTtcblx0XHQkZmxleC1iYXNpczogMDtcbiAgICB9XG4gICAgXG4gICAgQGlmICRndXR0ZXIgYW5kIHVuaXRsZXNzKCRndXR0ZXIpID09IGZhbHNlIHtcbiAgICAgICAgLy9AaW5jbHVkZSBncmlkLW1hcmdpbigkbWFyZ2luOiAwICRndXR0ZXIgLyAyKTtcbiAgICAgICAgcGFkZGluZzogMCAkZ3V0dGVyIC8gMjtcbiAgICB9XG5cblx0ZmxleDogJGZsZXgtZ3JvdyAkZmxleC1zaHJpbmsgJGZsZXgtYmFzaXM7XG5cbiAgICBAaWYgJGNvbC1vZmZzZXQgYW5kIHVuaXRsZXNzKCRjb2wtb2Zmc2V0KSA9PSB0cnVlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoJGNvbC1vZmZzZXQgLyAkZ3JpZC1jb2x1bW5zKTtcbiAgICB9XG4gICAgXG5cdEBpZiAkYWxpZ24tc2VsZiB7XG5cdFx0YWxpZ24tc2VsZjogJGFsaWduLXNlbGY7XG5cdH1cblxuXHRAaWYgdHlwZS1vZigkb3JkZXIpID09IG51bWJlciB7XG5cdFx0b3JkZXI6ICRvcmRlcjtcblx0fVxuXHRAY29udGVudDtcbn1cblxuQG1peGluIGdyaWQtbWFyZ2luKFxuICAgICRtYXJnaW46IG51bGwsIFxuICAgICRtYXJnaW4tdG9wOiBudWxsLCBcbiAgICAkbWFyZ2luLXJpZ2h0OiBudWxsLCBcbiAgICAkbWFyZ2luLWJvdHRvbTogbnVsbCwgXG4gICAgJG1hcmdpbi1sZWZ0OiBudWxsXG4pIHtcblx0QGlmICRtYXJnaW4gIT0gbnVsbCB7XG5cdFx0bWFyZ2luOiAkbWFyZ2luO1xuXHR9XG5cdEBpZiAkbWFyZ2luLXRvcCAhPSBudWxsIHtcblx0XHRtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcblx0fVxuXHRAaWYgJG1hcmdpbi1ib3R0b20gIT0gbnVsbCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cdH1cblx0QGlmICRtYXJnaW4tbGVmdCAhPSBudWxsIHtcblx0XHRtYXJnaW4tbGVmdDogJG1hcmdpbi1sZWZ0O1xuXHR9XG5cdEBpZiAkbWFyZ2luLXJpZ2h0ICE9IG51bGwge1xuXHRcdG1hcmdpbi1yaWdodDogJG1hcmdpbi1yaWdodDtcblx0fVxufSIsIi5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogJG1heC13aWR0aC1sYXJnZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICAvL21heC13aWR0aDogMTgwMHB4O1xuXHRwYWRkaW5nLWxlZnQ6IDglO1xuXHRwYWRkaW5nLXJpZ2h0OiA4JTtcbiAgICBcbiAgICAmX19mdWxsIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZzogMCAxNnB4O1xuICAgIH1cbn1cblxuLnJvdyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtbXMtZmxleDogMCAxIGF1dG87XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW4tbGVmdDogLTE2cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTZweDsgXG4gICAgJi1zdGFydCB7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xuICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICB9XG4gICAgJi1jZW50ZXIge1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgJi1lbmQge1xuICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XG4gICAgICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgdGV4dC1hbGlnbjogZW5kO1xuICAgIH1cbn1cblxuLmNvbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtbXMtZmxleDogMCAwIGF1dG87XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBwYWRkaW5nOiAwIDE2cHg7XG4gICAgLXdlYmtpdC1mbGV4LWdyb3c6IDE7XG4gICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDA7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAmLWZpcnN0IHtcbiAgICAgICAgLW1zLWZsZXgtb3JkZXI6IC0xO1xuICAgICAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAwO1xuICAgICAgICBvcmRlcjogLTE7XG4gICAgfVxuICAgICYtbGFzdCB7XG4gICAgICAgIC1tcy1mbGV4LW9yZGVyOiAxO1xuICAgICAgICAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAyO1xuICAgICAgICBvcmRlcjogMTtcbiAgICB9XG59XG4gXG4uY29sLTAgeyBkaXNwbGF5OiBub25lOyB9XG4uY29sLTEgeyAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTIuNSU7IGZsZXgtYmFzaXM6IDEyLjUlOyBtYXgtd2lkdGg6IDEyLjUlOyB3aWR0aDogMTIuNSU7IH1cbi5jb2wtMiB7IC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAyNSU7IGZsZXgtYmFzaXM6IDI1JTsgbWF4LXdpZHRoOiAyNSU7IHdpZHRoOiAyNSU7IH1cbi5jb2wtMyB7IC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAzNy41JTsgZmxleC1iYXNpczogMzcuNSU7IG1heC13aWR0aDogMzcuNSU7IHdpZHRoOiAzNy41JTsgfVxuLmNvbC0yLTUgeyAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMzMuMzMzJTsgZmxleC1iYXNpczogMzMuMzMzJTsgbWF4LXdpZHRoOiAzMy4zMzMlOyB3aWR0aDogMzMuMzMzJTsgfVxuLmNvbC00IHsgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDUwJTsgZmxleC1iYXNpczogNTAlOyBtYXgtd2lkdGg6IDUwJTsgd2lkdGg6IDUwJTsgfVxuLmNvbC01IHsgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDYyLjUlOyBmbGV4LWJhc2lzOiA2Mi41JTsgbWF4LXdpZHRoOiA2Mi41JTsgd2lkdGg6IDYyLjUlOyB9XG4uY29sLTUtNSB7IC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA2Ni42NjYlOyBmbGV4LWJhc2lzOiA2Ni42NjYlOyBtYXgtd2lkdGg6IDY2LjY2NiU7IHdpZHRoOiA2Ni42NjYlOyB9XG4uY29sLTYgeyAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNzUlOyBmbGV4LWJhc2lzOiA3NSU7IG1heC13aWR0aDogNzUlOyB3aWR0aDogNzUlOyB9XG4uY29sLTcgeyAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogODcuNSU7IGZsZXgtYmFzaXM6IDg3LjUlOyBtYXgtd2lkdGg6IDg3LjUlOyB3aWR0aDogODcuNSU7IH1cbi5jb2wtOCB7IC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAxMDAlOyBmbGV4LWJhc2lzOiAxMDAlOyBtYXgtd2lkdGg6IDEwMCU7IHdpZHRoOiAxMDAlOyB9XG4uY29sLW9mZnNldC0wIHsgbWFyZ2luLWxlZnQ6IDA7IH1cbi5jb2wtb2Zmc2V0LTEgeyBtYXJnaW4tbGVmdDogMTIuNSU7IH1cbi5jb2wtb2Zmc2V0LTIgeyBtYXJnaW4tbGVmdDogMjUlOyB9XG4uY29sLW9mZnNldC0yLTUgeyBtYXJnaW4tbGVmdDogMzMuMzMzJTsgfVxuLmNvbC1vZmZzZXQtMyB7IG1hcmdpbi1sZWZ0OiAzNy41JTsgfVxuLmNvbC1vZmZzZXQtNCB7IG1hcmdpbi1sZWZ0OiA1MCU7IH1cbi5jb2wtb2Zmc2V0LTUgeyBtYXJnaW4tbGVmdDogNjIuNSU7IH1cbi5jb2wtb2Zmc2V0LTUtNSB7IG1hcmdpbi1sZWZ0OjY2LjY2NiU7IH1cbi5jb2wtb2Zmc2V0LTYgeyBtYXJnaW4tbGVmdDogNzUlOyB9XG4uY29sLW9mZnNldC03IHsgbWFyZ2luLWxlZnQ6IDgyLjUlOyB9XG5cbkBpbmNsdWRlIHJlc3BvbmQtdG8oc20pIHtcbiAgICAucm93LXNtLXN0YXJ0IHsgLW1zLWZsZXgtcGFjazogc3RhcnQ7IC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0OyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IHRleHQtYWxpZ246IHN0YXJ0OyB9XG4gICAgLnJvdy1zbS1jZW50ZXIgeyAtbXMtZmxleC1wYWNrOiBjZW50ZXI7IC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5yb3ctc20tZW5kIHsgLW1zLWZsZXgtcGFjazogZW5kOyAtd2Via2l0LWJveC1wYWNrOiBlbmQ7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IHRleHQtYWxpZ246IGVuZDsgfVxuICAgIC5jb2wtc20tZmlyc3QgeyAtbXMtZmxleC1vcmRlcjogLTE7IC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDA7IG9yZGVyOiAtMTsgfVxuICAgIC5jb2wtc20tbGFzdCB7IC1tcy1mbGV4LW9yZGVyOiAxOyAtd2Via2l0LWJveC1vcmRpbmFsLWdyb3VwOiAyOyBvcmRlcjogMTsgfVxuICAgIC5jb2wtc20tMCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY29sLXNtLTEgeyAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTIuNSU7IGZsZXgtYmFzaXM6IDEyLjUlOyBtYXgtd2lkdGg6IDEyLjUlOyB3aWR0aDogMTIuNSU7IH1cbiAgICAuY29sLXNtLTIgeyAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMjUlOyBmbGV4LWJhc2lzOiAyNSU7IG1heC13aWR0aDogMjUlOyB3aWR0aDogMjUlOyB9XG4gICAgLmNvbC1zbS0yLTUgeyAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMzMuMzMzJTsgZmxleC1iYXNpczogMzMuMzMzJTsgbWF4LXdpZHRoOiAzMy4zMzMlOyB3aWR0aDogMzMuMzMzJTsgfVxuICAgIC5jb2wtc20tMyB7IC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAzNy41JTsgZmxleC1iYXNpczogMzcuNSU7IG1heC13aWR0aDogMzcuNSU7IHdpZHRoOiAzNy41JTsgfVxuICAgIC5jb2wtc20tNCB7IC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA1MCU7IGZsZXgtYmFzaXM6IDUwJTsgbWF4LXdpZHRoOiA1MCU7IHdpZHRoOiA1MCU7IH1cbiAgICAuY29sLXNtLTUgeyAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNjIuNSU7IGZsZXgtYmFzaXM6IDYyLjUlOyBtYXgtd2lkdGg6IDYyLjUlOyB3aWR0aDogNjIuNSU7IH1cbiAgICAuY29sLXNtLTUtNSB7IC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA2Ni42NjYlOyBmbGV4LWJhc2lzOiA2Ni42NjYlOyBtYXgtd2lkdGg6IDY2LjY2NiU7IHdpZHRoOiA2Ni42NjYlOyB9XG4gICAgLmNvbC1zbS02IHsgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDc1JTsgZmxleC1iYXNpczogNzUlOyBtYXgtd2lkdGg6IDc1JTsgd2lkdGg6IDc1JTsgfVxuICAgIC5jb2wtc20tNyB7IC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA4Ny41JTsgZmxleC1iYXNpczogODcuNSU7IG1heC13aWR0aDogODcuNSU7IHdpZHRoOiA4Ny41JTsgfVxuICAgIC5jb2wtc20tOCB7IC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAxMDAlOyBmbGV4LWJhc2lzOiAxMDAlOyBtYXgtd2lkdGg6IDEwMCU7IHdpZHRoOiAxMDAlOyB9XG4gICAgLmNvbC1zbS1vZmZzZXQtMCB7IG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmNvbC1zbS1vZmZzZXQtMSB7IG1hcmdpbi1sZWZ0OiAxMi41JTsgfVxuICAgIC5jb2wtc20tb2Zmc2V0LTIgeyBtYXJnaW4tbGVmdDogMjUlOyB9XG4gICAgLmNvbC1zbS1vZmZzZXQtMi01IHsgbWFyZ2luLWxlZnQ6IDMzLjMzMyU7IH1cbiAgICAuY29sLXNtLW9mZnNldC0zIHsgbWFyZ2luLWxlZnQ6IDM3LjUlOyB9XG4gICAgLmNvbC1zbS1vZmZzZXQtNCB7IG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgICAuY29sLXNtLW9mZnNldC01IHsgbWFyZ2luLWxlZnQ6IDYyLjUlOyB9XG4gICAgLmNvbC1zbS1vZmZzZXQtNS01IHsgbWFyZ2luLWxlZnQ6IDY2LjY2NiU7IH1cbiAgICAuY29sLXNtLW9mZnNldC02IHsgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAgIC5jb2wtc20tb2Zmc2V0LTcgeyBtYXJnaW4tbGVmdDogODIuNSU7IH1cbn1cblxuQGluY2x1ZGUgcmVzcG9uZC10byhtZCkge1xuICAgIC5yb3ctbWQtc3RhcnQgeyAtbXMtZmxleC1wYWNrOiBzdGFydDsgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgdGV4dC1hbGlnbjogc3RhcnQ7IH1cbiAgICAucm93LW1kLWNlbnRlciB7IC1tcy1mbGV4LXBhY2s6IGNlbnRlcjsgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnJvdy1tZC1lbmQgeyAtbXMtZmxleC1wYWNrOiBlbmQ7IC13ZWJraXQtYm94LXBhY2s6IGVuZDsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgdGV4dC1hbGlnbjogZW5kOyB9XG4gICAgLmNvbC1tZC1maXJzdCB7IC1tcy1mbGV4LW9yZGVyOiAtMTsgLXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDogMDsgb3JkZXI6IC0xOyB9XG4gICAgLmNvbC1tZC1sYXN0IHsgLW1zLWZsZXgtb3JkZXI6IDE7IC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6IDI7IG9yZGVyOiAxOyB9XG4gICAgLmNvbC1tZC0wIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jb2wtbWQtMSB7IC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAxMi41JTsgZmxleC1iYXNpczogMTIuNSU7IG1heC13aWR0aDogMTIuNSU7IHdpZHRoOiAxMi41JTsgfVxuICAgIC5jb2wtbWQtMiB7IC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAyNSU7IGZsZXgtYmFzaXM6IDI1JTsgbWF4LXdpZHRoOiAyNSU7IHdpZHRoOiAyNSU7IH1cbiAgICAuY29sLW1kLTItNSB7IC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAzMy4zMzMlOyBmbGV4LWJhc2lzOiAzMy4zMzMlOyBtYXgtd2lkdGg6IDMzLjMzMyU7IHdpZHRoOiAzMy4zMzMlOyB9XG4gICAgLmNvbC1tZC0zIHsgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDM3LjUlOyBmbGV4LWJhc2lzOiAzNy41JTsgbWF4LXdpZHRoOiAzNy41JTsgd2lkdGg6IDM3LjUlOyB9XG4gICAgLmNvbC1tZC00IHsgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDUwJTsgZmxleC1iYXNpczogNTAlOyBtYXgtd2lkdGg6IDUwJTsgd2lkdGg6IDUwJTsgfVxuICAgIC5jb2wtbWQtNSB7IC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA2Mi41JTsgZmxleC1iYXNpczogNjIuNSU7IG1heC13aWR0aDogNjIuNSU7IHdpZHRoOiA2Mi41JTsgfVxuICAgIC5jb2wtbWQtNS01IHsgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDY2LjY2NiU7IGZsZXgtYmFzaXM6IDY2LjY2NiU7IG1heC13aWR0aDogNjYuNjY2JTsgd2lkdGg6IDY2LjY2NiU7IH1cbiAgICAuY29sLW1kLTYgeyAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNzUlOyBmbGV4LWJhc2lzOiA3NSU7IG1heC13aWR0aDogNzUlOyB9XG4gICAgLmNvbC1tZC03IHsgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDg3LjUlOyBmbGV4LWJhc2lzOiA4Ny41JTsgbWF4LXdpZHRoOiA4Ny41JTsgd2lkdGg6IDc1JTsgfVxuICAgIC5jb2wtbWQtOCB7IC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAxMDAlOyBmbGV4LWJhc2lzOiAxMDAlOyBtYXgtd2lkdGg6IDEwMCU7IHdpZHRoOiAxMDAlOyB9XG4gICAgLmNvbC1tZC1vZmZzZXQtMCB7IG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmNvbC1tZC1vZmZzZXQtMSB7IG1hcmdpbi1sZWZ0OiAxMi41JTsgfVxuICAgIC5jb2wtbWQtb2Zmc2V0LTIgeyBtYXJnaW4tbGVmdDogMjUlOyB9XG4gICAgLmNvbC1tZC1vZmZzZXQtMi01IHsgbWFyZ2luLWxlZnQ6IDMzLjMzMyU7IH1cbiAgICAuY29sLW1kLW9mZnNldC0zIHsgbWFyZ2luLWxlZnQ6IDM3LjUlOyB9XG4gICAgLmNvbC1tZC1vZmZzZXQtNCB7IG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgICAuY29sLW1kLW9mZnNldC01IHsgbWFyZ2luLWxlZnQ6IDYyLjUlOyB9XG4gICAgLmNvbC1tZC1vZmZzZXQtNS01IHsgbWFyZ2luLWxlZnQ6IDY2LjY2NiU7IH1cbiAgICAuY29sLW1kLW9mZnNldC02IHsgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAgIC5jb2wtbWQtb2Zmc2V0LTcgeyBtYXJnaW4tbGVmdDogODIuNSU7IH1cbn0iLCIkY29sb3ItcHJpbWFyeTogIzU5OWNiYztcbiRjb2xvci1zZWNvbmRhcnk6ICMxMTE7XG5cbiRmb250LXByaW1hcnk6IFwiSGVsdmV0aWNhXCIsIG5pbWJ1cy1zYW5zLCBzYW5zLXNlcmlmO1xuJGZvbnQtc2Vjb25kYXJ5OiBcIkhlbHZldGljYVwiLCBuaW1idXMtc2Fucywgc2Fucy1zZXJpZjtcblxuJGdsb2JhbC1wYWRkaW5nOiA4ZW07XG4kbWF4LXdpZHRoOiAxMjAwcHg7XG4kbWF4LXdpZHRoLWxhcmdlOiAxMDAlO1xuJG1heC13aWR0aC1tZWRpdW06IDEwMDBweDtcbiRtYXgtd2lkdGgtc21hbGw6IDgwMHB4O1xuJG1heC13aWR0aC1mdWxsOiA5OCU7XG5cbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtZ3V0dGVyOiAyMHB4OyIsImJvZHkge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1wcmltYXJ5O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG4gICAgZm9udC1zaXplOiAxZW07XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1wcmltYXJ5O1xuICAgIG1hcmdpbjogMCAwIDFlbSAwO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xufVxuXG5oMSB7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbn1cblxuaDIge1xuICAgIGZvbnQtc2l6ZTogMS4zZW07XG59XG5cbmgzIHtcbiAgICBmb250LXNpemU6IDEuMmVtO1xufVxuXG5oNCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDAuOWVtO1xufVxuXG5oNCwgaDUsIGg2IHtcbiAgICBmb250LXNpemU6IDFlbTtcbn1cblxucCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbmEge1xuICAgIGNvbG9yOiAjOTk5O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgJjpob3ZlciwgJjphY3RpdmUsICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDA7XG4gICAgfVxufVxuXG5iLCBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59IFxuXG5pLCBlbSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5vbCB7XG4gICAgbGlzdC1zdHlsZTogZGVjaW1hbDtcbn1cblxudWwge1xuICAgIGxpc3Qtc3R5bGU6IHNxdWFyZTtcbn1cblxub2wsIHVsIHtcbiAgICBtYXJnaW46IDFlbSAwIDNlbSAyZW07XG4gICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuICAgIH1cbn1cblxuYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAxZW0gMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1zaXplOiAxLjhlbTtcbiAgICBcbiAgICBwIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICB9XG59IiwiaW1nIHtcbiAgICBcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIFxuICAgICYubGVmdCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW46IDIwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICB9XG4gICAgXG4gICAgJi5yaWdodCB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgXG4gICAgICAgIG1hcmdpbjogMjBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMjBweDtcbiAgICB9XG5cbiAgICAmLmFsaWduY2VudGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjowIGF1dG87XG4gICAgfVxuXG59XG5cbi5pbWcge1xuICAgICYtY2lyY2xlIHtcbiAgICAgICAgLXdlYmtpdC1jbGlwLXBhdGg6IGNpcmNsZSg1MCUgYXQgNTAlIDUwJSk7XG4gICAgICAgIGNsaXAtcGF0aDogY2lyY2xlKDUwJSBhdCA1MCUgNTAlKTtcbiAgICB9XG4gICAgJi1kaWFtb25kIHtcbiAgICAgICAgLXdlYmtpdC1jbGlwLXBhdGg6IHBvbHlnb24oXG4gICAgICAgICAgICA1MCUgMCwgMTAwJSA1MCUsIDUwJSAxMDAlLCAwIDUwJVxuICAgICAgICApO1xuICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oXG4gICAgICAgICAgICA1MCUgMCwgMTAwJSA1MCUsIDUwJSAxMDAlLCAwIDUwJVxuICAgICAgICApO1xuICAgIH1cbiAgICBcbiAgICAmLXRyaWFuZ2xlIHtcbiAgICAgICAgLXdlYmtpdC1jbGlwLXBhdGg6IHBvbHlnb24oXG4gICAgICAgICAgICA1MCUgMCUsIDAlIDEwMCUsIDEwMCUgMTAwJVxuICAgICAgICApO1xuICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oXG4gICAgICAgICAgICA1MCUgMCUsIDAlIDEwMCUsIDEwMCUgMTAwJVxuICAgICAgICApO1xuICAgIH1cbiAgICBcbiAgICAmLXBlbnRhZ29uIHtcbiAgICAgICAgLXdlYmtpdC1jbGlwLXBhdGg6IHBvbHlnb24oXG4gICAgICAgICAgICA1MCUgMCUsIDEwMCUgMzglLCA4MiUgMTAwJSwgMTglIDEwMCUsIDAlIDM4JVxuICAgICAgICApO1xuICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oXG4gICAgICAgICAgICA1MCUgMCUsIDEwMCUgMzglLCA4MiUgMTAwJSwgMTglIDEwMCUsIDAlIDM4JVxuICAgICAgICApO1xuICAgIH1cbiAgICBcbiAgICAmLWhleGFnb24ge1xuICAgICAgICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbihcbiAgICAgICAgICAgIDUwJSAwJSwgMTAwJSAyNSUsIDEwMCUgNzUlLCA1MCUgMTAwJSwgMCUgNzUlLCAwJSAyNSVcbiAgICAgICAgKTtcbiAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKFxuICAgICAgICAgICAgNTAlIDAlLCAxMDAlIDI1JSwgMTAwJSA3NSUsIDUwJSAxMDAlLCAwJSA3NSUsIDAlIDI1JVxuICAgICAgICApO1xuICAgIH1cbiAgICBcbiAgICAmLW9jdGFnb24ge1xuICAgICAgICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbihcbiAgICAgICAgICAgIDMwJSAwJSwgNzAlIDAlLCAxMDAlIDMwJSwgMTAwJSA3MCUsIDcwJSAxMDAlLCAzMCUgMTAwJSwgMCUgNzAlLCAwJSAzMCVcbiAgICAgICAgKTtcbiAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKFxuICAgICAgICAgICAgMzAlIDAlLCA3MCUgMCUsIDEwMCUgMzAlLCAxMDAlIDcwJSwgNzAlIDEwMCUsIDMwJSAxMDAlLCAwJSA3MCUsIDAlIDMwJVxuICAgICAgICApO1xuICAgIH1cbiAgICBcbn1cblxuZmlndXJlIHtcbiAgICBtYXJnaW46IDA7IHBhZGRpbmc6IDA7XG4gICAgXG4gICAgZmlnY2FwdGlvbiB7XG4gICAgICAgIGZvbnQtc3R5bGU6aXRhbGljO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0VFRTtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICBcbn0iLCJ0YWJsZSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogM2VtIDA7XG4gICAgXG4gICAgdGhlYWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIFxuICAgICAgICB0ciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjVlbSAwLjJlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgfVxuICAgIHRib2R5IHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB0ciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC40ZW0gMC4yZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtc2Vjb25kYXJ5O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDEuNWVtIDA7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuMmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cblxufSIsIi5idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGxpbmVhcjtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgfVxufVxuXG4jYmFja3RvdG9we1xuXHRvcGFjaXR5OjA7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbn0iLCIuaWNvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDQ0cHg7XG5cbiAgICAmX19zZWFyY2gge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vYXNzZXRzL2ltYWdlcy9pY29uLXNlYXJjaC5wbmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNnB4O1xuICAgIH1cbiAgICBcbiAgICAmX19hcnJvdyB7XG4gICAgICAgICYtLWxlZnQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9hc3NldHMvaW1hZ2VzL2ljb24tYXJyb3ctLWxlZnQucG5nJyk7XG4gICAgICAgIH1cbiAgICAgICAgJi0tcmlnaHQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9hc3NldHMvaW1hZ2VzL2ljb24tYXJyb3ctLXJpZ2h0LnBuZycpO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICZfX3BsdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2Fzc2V0cy9pbWFnZXMvaWNvbi1wbHVzLnBuZycpO1xuICAgIH1cbiAgICBcbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtKSB7XG4gICAgICAgIHdpZHRoOiAzNnB4O1xuICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMzZweDtcbiAgICB9XG4gICAgXG59XG5cbi5vd2wtbmV4dC5kaXNhYmxlZCwgLm93bC1wcmV2LmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG59XG4iLCIuY29va2llIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNyk7XG4gICAgcGFkZGluZzogMC42ZW0gMCAwLjVlbSAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICBcbiAgICAmLWlubmVyIHtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyKCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgXG4gICAgJi1jb250ZW50IHtcbiAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zZWNvbmRhcnk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgXG4gICAgICAgIGEge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuMmVtO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjRkZGO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxufSIsIi5oZWFkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA5OTAwO1xuICAgIFxuICAgIC8vIFN0cnVjdHVyZVxuICAgICYtaW5uZXIge1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXIoKTtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgICB9XG5cbiAgICAmLW5hdiB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKDEpO1xuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtKSB7XG4gICAgICAgICAgICBvcmRlcjogMztcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKGF1dG8pO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi1pbmZvIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCAxNjBweDtcbiAgICAgICAgZmxleDogMCAwIDE2MHB4O1xuICAgICAgICB3aWR0aDogMTYwcHg7XG4gICAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc20pIHtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgQGluY2x1ZGUgb2Zmc2V0KDEpO1xuICAgICAgICAgICAgaGVpZ2h0OiAxNjBweDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgICAgICAtbXMtZmxleDogMCAwIDEzMHB4O1xuICAgICAgICAgICAgZmxleDogMCAwIDEzMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEzMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICYtc2VhcmNoIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woYXV0byk7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc20pIHtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAvKiYtc29jaWFsIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woMik7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc20pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9Ki9cbiAgICBcbiAgICAvLyBFbGVtZW50c1xuICAgICYtdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9hc3NldHMvaW1hZ2VzL2xvZ28ucG5nJyk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtKSB7XG4gICAgICAgICAgICAvL3dpZHRoOiAxMjBweDtcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgJi5kYXJrIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vYXNzZXRzL2ltYWdlcy9sb2dvLS1kYXJrLnBuZycpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM0MzQzNDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5ib2R5LmlzLWhvbWUge1xuICAgIC5oZWFkZXItaW5mbyB7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjA7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIubmF2YmFyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNyk7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtKSB7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuOSk7XG4gICAgfVxuICAgICYub3BlbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBcbiAgICAmLWlubmVyIHtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyKCk7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG4gICAgfVxuICAgIFxuICAgICYtbmF2aSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKDEpO1xuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtKSB7XG4gICAgICAgICAgICBvcmRlcjogMztcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKGF1dG8pO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi1pbmZvIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMDtcbiAgICAgICAgLW1zLWZsZXg6IDAgMCAxNjBweDtcbiAgICAgICAgZmxleDogMCAwIDE2MHB4O1xuICAgICAgICB3aWR0aDogMTYwcHg7XG4gICAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc20pIHtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgQGluY2x1ZGUgb2Zmc2V0KDEpO1xuICAgICAgICAgICAgaGVpZ2h0OiAxNjBweDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgICAgICAtbXMtZmxleDogMCAwIDEzMHB4O1xuICAgICAgICAgICAgZmxleDogMCAwIDEzMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEzMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICYtbmF2aWdhdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGNvbCg4LjUsICRvZmZzZXQ6MSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy10b3A6IDVlbTtcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZC11cHRvKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjb2woNiwkb2Zmc2V0OjEpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc20pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbCg4LCRvZmZzZXQ6MSk7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMTJlbTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwOyBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC44ZW07IFxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zZWNvbmRhcnk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44ZW07XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNGRkY7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5hY3RpdmUge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI0ZGRjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5uYXZiYXItc3VibWVudSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZlIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI0ZGRiFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5uYXZiYXItbmF2IHtcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5hY3RpdmUsICY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5uYXZiYXItc3VibWVudSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNWVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjRkZGO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbSkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbiAgICBcbiAgICAmLXRvZ2dsZSB7XG4gICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDhlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIHNwYW4sICY6YWZ0ZXIsICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNXB4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICB0b3A6IDE4cHg7XG4gICAgICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJvdHRvbTogMjFweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0LjVlbTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICYtY2xvc2Uge1xuICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiA3LjhlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBcbiAgICAgICAgJjphZnRlciwgJjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAzcHg7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB9XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuICAgICAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICBsZWZ0OiAtMTVweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDYwcHg7XG4gICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHRvcDogMjhweDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICBib3R0b206IDI5cHg7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc20pIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQuNWVtO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuZm9vdGVyIHtcbiAgICBwYWRkaW5nOiAyZW0gMCA0ZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzExMTtcbiAgICBjb2xvcjogI0ZGRjtcbiAgICBAaW5jbHVkZSBjb250YWluZXIoKTtcbiAgICBcbiAgICBcbiAgICAmLWlubmVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNGRkY7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyZW07XG4gICAgfVxuICAgIFxuICAgICYtaW5mbyB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKDMpO1xuICAgIH1cbiAgICBcbiAgICAmLW5hdiB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKDYpO1xuICAgIH1cbiAgICBcbiAgICAmLXNvY2lhbCB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKDMpO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgbWFyZ2luLXRvcDogMC41ZW07XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc20pIHtcbiAgICAgICAgLmZvb3RlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuICAgICAgICB9XG4gICAgICAgIC5mb290ZXItaW5uZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woMTAsJGNvbC1vZmZzZXQ6MSk7XG4gICAgICAgIH1cbiAgICAgICAgLmZvb3Rlci1pbmZvLCAuZm9vdGVyLW5hdiwgLmZvb3Rlci1zb2NpYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woMTIpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgICAgICAuZm9vdGVyLWxpbmtzIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICYtY29weXJpZ2h0IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgfVxuICAgIFxuICAgICYtbGlua3Mge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMCAyZW0gMCAwO1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjNlbTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI0ZGRjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNBQUE7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjQUFBO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc20pIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc20pIHtcbiAgICAgICAgICAgIC8vbWFyZ2luLXRvcDogLTJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbn0iLCIuYnJlYWRjcnVtYnMge1xuICAgIGJhY2tncm91bmQ6ICNGRkY7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyKCk7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3coKTtcbiAgICAmLWlubmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woMTAsJGNvbC1vZmZzZXQ6MSk7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc20pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKCRjb2w6MTAsJGNvbC1vZmZzZXQ6MSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi1saXN0IHtcbiAgICAgICAgXG4gICAgfVxuICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDFlbSAwIDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuMmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHVsIGxpLnNlcGFyYXRvciB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAjOTk5O1xuICAgIH1cbn0iLCIucGFnZSB7XG4gICAgXG4gICAgJi1oZWFkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcblxuICAgICAgICAucGFnZV9fcmV2aWV3cyAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b207IC8vIGhhY2sgdG8gc2hvdyB0aGUgcm9vZiBvZiB0aGUgYnVpbGRpbmdcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLnBhZ2Utb3ZlcmxheSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBjb250YWluZXIoKTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgICAgICAgICAgICYubm8taW1hZ2Uge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAucGFnZS1pbm5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjb2woJGNvbDoxMCwkb2Zmc2V0OjEpO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC41KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc20pIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2woJGNvbDoxMCwkb2Zmc2V0OjEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8obWQtdXB0bykge1xuICAgICAgICAgICAgaW1nIHsgaGVpZ2h0OiAyNjBweDsgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC8vIENvbXBvbmVudHNcbiAgICAmLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiA2ZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gICAgICAgIEBpbmNsdWRlIGNvbCgkY29sOjgsJGRpc3BsYXk6YmxvY2spO1xuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1kLXVwdG8pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbCgkY29sOjExLCRkaXNwbGF5OmJsb2NrKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjb2woJGNvbDoxMik7XG4gICAgICAgICAgICBmb250LXNpemU6IDMuMmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICYtZXhjZXJwdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNlbTtcbiAgICAgICAgQGluY2x1ZGUgY29sKCRjb2w6NiwkZGlzcGxheTpibG9jayk7XG4gICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKG1kLXVwdG8pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbCgkY29sOjExLCRkaXNwbGF5OmJsb2NrKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjb2woJGNvbDoxMik7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxufVxuIiwiLmhvbWUge1xuICAgIFxuICAgICZfX2JhY2tncm91bmQge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgei1pbmRleDogLTEwMDtcblxuICAgICAgICAudmlkZW8sXG4gICAgICAgIGlmcmFtZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIChtaW4tYXNwZWN0LXJhdGlvOiAxNi85KSB7XG4gICAgICAgICAgICAudmlkZW8sXG4gICAgICAgICAgICBpZnJhbWUge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzAwJTtcbiAgICAgICAgICAgICAgICB0b3A6IC0xMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBtZWRpYSAobWF4LWFzcGVjdC1yYXRpbzogMTYvOSkge1xuICAgICAgICAgICAgLnZpZGVvLFxuICAgICAgICAgICAgaWZyYW1lIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzAwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMTAwJTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOnVybCguLi9hc3NldHMvaW1hZ2VzL3ZpZGVvLWJhY2tncm91bmQuanBnKSBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDM1MHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc20pIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGhlaWdodDogNDUlO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICZfX3NsaWRlcyB7XG4gICAgICAgIC5vd2wtbmF2IHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBjb2woMSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiA2JTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbSkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgYnV0dG9uLm93bC1wcmV2LCBidXR0b24ub3dsLW5leHQge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHsgb3V0bGluZTogMDsgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnV0dG9uLm93bC1uZXh0IHsgYm90dG9tOiAwOyB9XG4gICAgICAgICAgICBidXR0b24ub3dsLXByZXYgeyB0b3A6IDA7IH1cbiAgICAgICAgfVxuICAgICAgICAub3dsLW5hdi1pbm5lciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgLm93bC1wcm9ncmVzcyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjb250YWluZXIoKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDVlbTtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgLm93bC1wcm9ncmVzcy1pbm5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbCgkY29sOjEwLCRjb2wtb2Zmc2V0OjEpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjMpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI0ZGRjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtMnB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuc2xpZGUge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcigpO1xuICAgICYtaW5uZXIge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbCg2LCRjb2wtb2Zmc2V0OjEpO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woOCwkY29sLW9mZnNldDoxKTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyNDBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTQwcHg7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc20pIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiA2LjNlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjI1ZW07XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNWVtO1xuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuOGVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi1leGNlcnB0IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgIEBpbmNsdWRlIGNvbCg3KTtcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgY29sKDEwKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICB9XG4gICAgfVxuICAgICYtbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgICAmLWljb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gICAgfVxufVxuXG5cbmJvZHkuaXMtaG9tZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgLmhvbWVfX3NsaWRlcyB7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc20pIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxOCU7XG4gICAgICAgIH1cbiAgICAgICAgLm93bC1wcm9ncmVzcyB7XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5zbGlkZSB7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc20pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnNsaWRlLWlubmVyIHtcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbSkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2xpZGUtY29udGVudCB7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgICAgICAgICB0b3A6IDQ1JTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDYlO1xuICAgICAgICAgICAgaGVpZ2h0OiA1NSU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuc29jaWFsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnNlYXJjaCB7XG4gICAgJi1pY29uIHtcbiAgICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICAgIGhlaWdodDogNDRweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIC5zZWFyY2gtc3VibWl0IHtcbiAgICAgICAgICAgIHdpZHRoOiA0NHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB6LWluZGV4OiAyMDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLWlucHV0IHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5zZWN0aW9uIHtcbiAgICBcbiAgICBwYWRkaW5nLXRvcDogNGVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA0ZW07XG4gICAgXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbSkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMmVtO1xuICAgIH1cblxuICAgIC8vIExheW91dFxuICAgICYtaW5uZXIgeyBcbiAgICB9XG4gICAgXG4gICAgJi1yb3cge1xuICAgICAgICBAaW5jbHVkZSBncmlkLXJvdygkZ3V0dGVyOjJlbSk7XG4gICAgICAgICYub25lIHsgLmJsb2NrIHsgQGluY2x1ZGUgZ3JpZC1jb2woMTIsJGd1dHRlcjoyZW0pOyB9IH1cbiAgICAgICAgJi50d28geyAuYmxvY2sgeyBAaW5jbHVkZSBncmlkLWNvbCg2LCRndXR0ZXI6MmVtKTsgfSB9XG4gICAgICAgICYudGhyZWUgeyAuYmxvY2sgeyBAaW5jbHVkZSBncmlkLWNvbCg0LCRndXR0ZXI6MmVtKTsgfSB9XG4gICAgICAgICYuZm91ciB7IC5ibG9jayB7IEBpbmNsdWRlIGdyaWQtY29sKDMsJGd1dHRlcjoyZW0pOyB9IH1cbiAgICAgICAgJi5maXZlIHsgLmJsb2NrIHsgQGluY2x1ZGUgZ3JpZC1jb2woMiwkZ3JpZC1jb2x1bW5zOjEwLCRndXR0ZXI6MmVtKTsgfSB9XG4gICAgICAgICYuc2l4IHsgLmJsb2NrIHsgQGluY2x1ZGUgZ3JpZC1jb2woMiwkZ3V0dGVyOjJlbSk7IH0gfVxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtKSB7XG4gICAgICAgICAgICAmLm9uZSwgJi50d28sICYudGhyZWUsICYuZm91ciwgJi5maXZlLCAmLnNpeCB7IC5ibG9jayB7IEBpbmNsdWRlIGdyaWQtY29sKDEyKTsgbWFyZ2luLWJvdHRvbTogMWVtOyBwYWRkaW5nOiAwOyB9IH1cbiAgICAgICAgfVxuIFxuICAgIH1cbiAgICBcbiAgICAvLyBFbGVtZW50c1xuICAgICYtdGl0bGUge1xuICAgICAgICAvL2ZvbnQtc2l6ZTogMmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiA0ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIC8vbWFyZ2luLWJvdHRvbTogMC44ZW07XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc20pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogM2VtO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICYtY29udGVudCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMS41ZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgIH1cbiAgICAgICAgdWwsIG9sIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4yZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIFxuICAgIC8vIEN1c3RvbWlzYXRpb25cbiAgICAmX190ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyKCk7XG4gICAgICAgIC5zZWN0aW9uLWlubmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbCgkY29sOjgsJG9mZnNldDoxKTtcbiAgICAgICAgfVxuICAgICAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZCkge1xuICAgICAgICAgICAgLnNlY3Rpb24taW5uZXIgeyBAaW5jbHVkZSBncmlkLWNvbCgkY29sOjEwLCRjb2wtb2Zmc2V0OjEpOyB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbSkge1xuICAgICAgICAgICAgLnNlY3Rpb24taW5uZXIgeyBAaW5jbHVkZSBncmlkLWNvbCgkY29sOjEwLCRjb2wtb2Zmc2V0OjEpOyB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcigpO1xuICAgICAgICAuc2VjdGlvbi1pbm5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjb2woJGNvbDo4LCRvZmZzZXQ6MSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZCkge1xuICAgICAgICAgICAgLnNlY3Rpb24taW5uZXIgeyBAaW5jbHVkZSBncmlkLWNvbCgkY29sOjEwLCRjb2wtb2Zmc2V0OjEpOyB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbSkge1xuICAgICAgICAgICAgLnNlY3Rpb24taW5uZXIgeyBAaW5jbHVkZSBncmlkLWNvbCgkY29sOjEwLCRjb2wtb2Zmc2V0OjEpOyB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJl9fdmlkZW8ge1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXIoKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIC5zZWN0aW9uLWlubmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbCgkY29sOjgsJG9mZnNldDoxKTtcbiAgICAgICAgfVxuICAgICAgICAuc2VjdGlvbi1jb250ZW50IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIGlmcmFtZSwgb2JqZWN0LCBlbWJlZCB7IFxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhtZCkge1xuICAgICAgICAgICAgLnNlY3Rpb24taW5uZXIgeyBAaW5jbHVkZSBjb2woJGNvbDoxMCwkb2Zmc2V0OjEpOyB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbSkge1xuICAgICAgICAgICAgLnNlY3Rpb24taW5uZXIgeyBAaW5jbHVkZSBncmlkLWNvbCgkY29sOjEwLCRjb2wtb2Zmc2V0OjEpOyB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJl9fY2Fyb3VzZWwge1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXIoKTtcbiAgICAgICAgLnNlY3Rpb24taW5uZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgY29sKCRjb2w6OSwkb2Zmc2V0OjEpO1xuICAgICAgICB9XG4gICAgICAgIC5vd2wtbmF2IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAtOC4zMzMlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtNDBweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbCgxKTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC5vd2wtcHJldiwgLm93bC1uZXh0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0NHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDRweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDQ0cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnkhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBsaW5lYXI7XG4gICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNlY29uZGFyeSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICZfX3RleHRpbWFnZSB7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcigpO1xuICAgICAgICAuc2VjdGlvbi1pbm5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuICAgICAgICB9XG4gICAgICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNGVtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuOGVtO1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi44ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnNlY3Rpb24tY29udGVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbCgkY29sOjQsJGNvbC1vZmZzZXQ6MSk7XG4gICAgICAgIH1cbiAgICAgICAgLnNlY3Rpb24taW1hZ2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woJGNvbDo1LCRjb2wtb2Zmc2V0OjEpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc20pIHtcbiAgICAgICAgICAgIC5zZWN0aW9uLWNvbnRlbnQsIC5zZWN0aW9uLWltYWdlIHsgQGluY2x1ZGUgZ3JpZC1jb2woJGNvbDoxMCwkY29sLW9mZnNldDoxKTsgbWFyZ2luLWJvdHRvbTogMmVtOyB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saXN0aW5nIHtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyKCk7XG4gICAgICAgIC5zZWN0aW9uLWlubmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKCRjb2w6MTAsJGNvbC1vZmZzZXQ6MSk7XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woJGNvbDoxMCwkY29sLW9mZnNldDoxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtKSB7XG4gICAgICAgICAgICAuc2VjdGlvbi1yb3cge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmX19yZXBlYXRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcigpO1xuICAgICAgICAuc2VjdGlvbi1pbm5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuICAgICAgICB9XG4gICAgICAgIC5zZWN0aW9uLWhlYWRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbCgkY29sOjYsJGNvbC1vZmZzZXQ6MSk7XG4gICAgICAgIH1cbiAgICAgICAgLnNlY3Rpb24tbWFpbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbCgkY29sOjEwLCRjb2wtb2Zmc2V0OjEpO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNGVtO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc20pIHtcbiAgICAgICAgICAgIC5zZWN0aW9uLWhlYWRlciwgLnNlY3Rpb24tbWFpbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woJGNvbDoxMCwkY29sLW9mZnNldDoxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYudmFsdWVzIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG4gICAgXG4gICAgJl9fcHJpbmNpcGxlcyB7XG4gICAgICAgIFxuICAgICAgICAuc2VjdGlvbi1pbm5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjb250YWluZXIoKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG4gICAgICAgIH1cbiAgICAgICAgLnNlY3Rpb24taGVhZGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKCRjb2w6NiwkY29sLW9mZnNldDoxKTtcbiAgICAgICAgfVxuICAgICAgICAuc2VjdGlvbi1tYWluIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDRlbTtcbiAgICAgICAgfVxuICAgICAgICAuc2VjdGlvbi1yb3cge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNFRUU7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNGVtO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc20pIHtcbiAgICAgICAgICAgIC5zZWN0aW9uLWhlYWRlciwgLnNlY3Rpb24tbWFpbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woJGNvbDoxMCwkY29sLW9mZnNldDoxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuICAgIFxuICAgICZfX2Jhbm5lciB7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcigpO1xuICAgICAgICAuc2VjdGlvbi1pbm5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLXJvdygkYWxpZ24taXRlbXM6Y2VudGVyKTtcbiAgICAgICAgfVxuICAgICAgICAuc2VjdGlvbi1pY29uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKCRjb2w6MSk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc2VjdGlvbi1jb250ZW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKCRjb2w6Nik7XG4gICAgICAgIH1cbiAgICAgICAgLnNlY3Rpb24tYnV0dG9ucyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbCgkY29sOjQsJGNvbC1vZmZzZXQ6MSk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjZlbSAxZW0gMC41ZW0gMWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbSkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDRlbTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0ZW07XG4gICAgICAgICAgICAuc2VjdGlvbi1pbm5lciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1yb3coJGFsaWduLWl0ZW1zOmZsZXgtc3RhcnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnNlY3Rpb24tYnV0dG9ucyB7IFxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKCRjb2w6MTAsJGNvbC1vZmZzZXQ6MSk7IFxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc2VjdGlvbi1pY29uIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbCgkY29sOjEsJGNvbC1vZmZzZXQ6MSk7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjZlbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnNlY3Rpb24tY29udGVudCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woJGNvbDo4LCRjb2wtb2Zmc2V0OjEpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmX19jb21wYW55c3RydWN0dXJlIHtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyKCk7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDcwMHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMmVtO1xuICAgICAgICAuc2VjdGlvbi1pbm5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbCgkY29sOjEwLCRjb2wtb2Zmc2V0OjEpO1xuICAgICAgICB9XG4gICAgICAgIC5zZWN0aW9uLWNvbnRlbnQge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICB1bCB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0bWFyZ2luOjA7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0Y2xlYXI6IGxlZnQ7XG5cdFx0XHRtYXJnaW46IDJlbSAwO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdH1cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgcGFkZGluZzogMWVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgYm9yZGVyOiA1cHggc29saWQgI0ZGRjtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRUVFO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgbGkuYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xuICAgICAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgIH1cbiAgICAgICAgdWwgbGkgdWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICB1bCBsaS5hY3RpdmUgPiB1bCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbiAgICBcbiAgICAmX19zcGFjZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbSkge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgIFxuICAgIC8vIFNFVFRJTkdTXG5cbiAgICAvLyBTaXppbmdcbiAgICAmLmZvdXJmaWZ0aCAuc2VjdGlvbi1jb250ZW50IHsgd2lkdGg6IDgwJTsgfVxuICAgICYudGhyZWVxdWFydGVycyAuc2VjdGlvbi1jb250ZW50IHsgd2lkdGg6IDc1JTsgfVxuICAgICYudHdvdGhpcmRzIC5zZWN0aW9uLWNvbnRlbnQgeyB3aWR0aDogNjYuNjY2JTsgfVxuICAgICYuaGFsZiAuc2VjdGlvbi1jb250ZW50IHsgd2lkdGg6IDUwJTsgfVxuICAgICYudGhpcmQgLnNlY3Rpb24tY29udGVudCB7IHdpZHRoOiAzMy4zMzMlOyB9XG4gICAgJi5xdWFydGVyIC5zZWN0aW9uLWNvbnRlbnQgeyB3aWR0aDogMjUlOyB9XG4gICAgJi5maWZ0aCAuc2VjdGlvbi1jb250ZW50IHsgd2lkdGg6IDIwJTsgfVxuICAgIFxuICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc20pIHtcbiAgICAgICAgJi5mb3VyZmlmdGgsICYudGhyZWVxdWFydGVycywgJi50d290aGlyZHMsICYuaGFsZiwgJi50aGlyZCwgJi5xdWFydGVyLCAmLmZpZnRoIHsgd2lkdGg6IDEwMCU7IH1cbiAgICB9XG4gICAgXG4gICAgLy8gQWxpZ25tZW50XG4gICAgLyomLmxlZnQgLnNlY3Rpb24tY29udGVudCB7IG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICYuY2VudGVyIC5zZWN0aW9uLWNvbnRlbnQgeyBtYXJnaW46IDAgYXV0bzsgfVxuICAgICYucmlnaHQgLnNlY3Rpb24tY29udGVudCB7IG1hcmdpbi1sZWZ0OiBhdXRvOyB9Ki9cbiAgICBcbiAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtKSB7XG4gICAgICAgICYubGVmdCwgJi5jZW50ZXIsICYucmlnaHQgeyBtYXJnaW46IGluaGVyaXQgYXV0bzsgfVxuICAgIH1cblxuICAgIFxuICAgIFxuICAgIC8vIEJnIENvbG9yXG4gICAgJi5iZ2NvbG91ciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgLnNlY3Rpb24tY29sb3VyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDRlbSAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICYuYmdjb2xvdXIgfiAmIHtcbiAgICB9XG4gICAgXG4gICAgJi5saWdodCB7XG4gICAgICAgIC5zZWN0aW9uLXRpdGxlLCBcbiAgICAgICAgLnNlY3Rpb24tY29udGVudCxcbiAgICAgICAgLnNlY3Rpb24taWNvblxuICAgICAgICB7IGNvbG9yOiAjRkZGOyB9XG4gICAgfVxuICAgIFxufVxuXG4iLCIuYmxvY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC8vIExheW91dFxuICAgICYtaW5uZXIge1xuICAgIH1cblxuICAgIC8vIEVsZW1lbnRzXG4gICAgJi10aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICBmb250LXNpemU6IDEuOGVtO1xuICAgIH1cbiAgICBcbiAgICAmLXN1YnRpdGxlIHtcbiAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgIG1hcmdpbi10b3A6IC0wLjVlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIFxuICAgICYtY29udGVudCB7XG4gICAgfVxuICAgIFxuICAgICYtZGF0ZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogIzk5OTtcbiAgICAgICAgbWFyZ2luLXRvcDogMC41ZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICB9XG4gICAgXG4gICAgXG5cbiAgICAvLyBTcGVjaWZpY1xuICAgICZfX2FydGljbGUge1xuICAgICAgICBwYWRkaW5nOiAyZW0gMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyO1xuICAgICAgICAuYmxvY2staW5uZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyKCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLXJvdygpO1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgICAgIC5ibG9jay1oZWFkZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woJGNvbDo1LCRjb2wtb2Zmc2V0OjEpO1xuICAgICAgICB9XG4gICAgICAgIC5ibG9jay1kZXRhaWxzIHtcbiAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgIC5ibG9jay1pbWFnZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbCgkY29sOjMsJGNvbC1vZmZzZXQ6MSk7XG4gICAgICAgIH1cbiAgICAgICAgLmJsb2NrLXRpdGxlIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgICAgICAgIC8qZm9udC1zaXplOiAxLjRlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwOyovXG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgICAgICAgIC8vYmFja2dyb3VuZDogI0VFRTtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFRUU7XG4gICAgICAgICAgICAuYmxvY2stdGl0bGUge1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmJsb2NrLWRhdGUge1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc20pIHtcbiAgICAgICAgICAgIC5ibG9jay1oZWFkZXIsIC5ibG9jay1pbWFnZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woJGNvbDoxMCwkY29sLW9mZnNldDoxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5ibG9jay1pbWFnZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICZfX3NlYXJjaCB7XG4gICAgICAgIHBhZGRpbmc6IDJlbSAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBsaW5lYXI7XG4gICAgICAgIC5ibG9jay1pbm5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjb250YWluZXIoKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgICAgIC5ibG9jay1oZWFkZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woJGNvbDo1LCRjb2wtb2Zmc2V0OjEpO1xuICAgICAgICB9XG4gICAgICAgIC5ibG9jay1idXR0b24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woJGNvbDoxLCRjb2wtb2Zmc2V0OjQpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXByaW1hcnk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNWVtO1xuICAgICAgICB9XG4gICAgICAgIC5ibG9jay10aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgLypjb2xvcjogIzAwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNGVtOyovXG4gICAgICAgIH1cbiAgICAgICAgLmJsb2NrLXN1YnRpdGxlIHtcbiAgICAgICAgICAgIC8qdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNzVlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjllbTsqL1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRUVFO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXByaW1hcnk7XG4gICAgICAgICAgICAuYmxvY2stdGl0bGUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmJsb2NrLXN1YnRpdGxlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI0NDQztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5ibG9jay1idXR0b24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJl9fcmVwZWF0ZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBcbiAgICAmX19wcmluY2lwbGVzIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNFRUU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRlbTtcbiAgICAgICAgXG4gICAgICAgIC5ibG9jay1pbm5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjb250YWluZXIoKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCRhbGlnbi1pdGVtczpjZW50ZXIpO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDRlbTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc20pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5ibG9jay1tYWluIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKCRjb2w6NCwkY29sLW9mZnNldDoxKTtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKCRjb2w6MTIsJGNvbC1vZmZzZXQ6MCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmJsb2NrLWltYWdlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKCRjb2w6NSwkY29sLW9mZnNldDoyKTtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKCRjb2w6MTIsJGNvbC1vZmZzZXQ6MCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuYmxvY2stdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjhlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgICAgICB9XG4gICAgICAgIC5ibG9jay1jb250ZW50IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44ZW07XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS40ZW07XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAuYmxvY2staW5uZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJl9fdmFsdWVzIHtcbiAgICAgICAgLmJsb2NrLWlubmVyIHtcbiAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgIC5ibG9jay1tYWluIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtcm93KCk7XG4gICAgICAgICAgICAvLyRhbGlnbi1pdGVtczpjZW50ZXJcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc20pIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb250YWluZXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYmxvY2staW1hZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmJsb2NrLXRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKDMsJGNvbC1vZmZzZXQ6MC41KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNS41ZW07XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNWVtO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKDMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5ibG9jay1jb250ZW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKDcsJGNvbC1vZmZzZXQ6MC41KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMS42ZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJl9fdGVhbSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgICBoZWlnaHQ6IDQwMHB4O1xuICAgICAgICBcbiAgICAgICAgLmJsb2NrLWlubmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5ibG9jay1kZXRhaWxzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC41KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIuNGVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQtdG8oc20pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmJsb2NrLXRpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC40ZW07XG4gICAgICAgICAgICBmb250LXNpemU6IDIuMmVtO1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5ibG9jay1jb250ZW50IHtcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKHNtKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwMHB4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbiAgICBcbiAgICAmX19yZXZpZXcge1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjc1ZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICAgICAgXG4gICAgICAgIC5ibG9jay1pbm5lciB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgLmJsb2NrLWljb24ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmJsb2NrLWRldGFpbHMge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAtMC43NWVtO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI0ZGRjtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbSkge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYmxvY2stdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZlbTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjVlbTtcbiAgICAgICAgfVxuICAgICAgICAuYmxvY2staWNvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXByaW1hcnk7XG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG4gICAgXG59IiwiLmFydGljbGUge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcigpO1xuICAgIHBhZGRpbmctdG9wOiA0ZW07XG4gICAgcGFkZGluZy1ib3R0b206IDZlbTtcbiAgICBiYWNrZ3JvdW5kOiAjRUVFO1xuICAgIFxuICAgIC8vIExheW91dFxuICAgICYtaW5uZXIge1xuICAgICAgICBAaW5jbHVkZSBncmlkLXJvdygpOyAgXG4gICAgfVxuICAgICYtaGVhZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woMywkY29sLW9mZnNldDoxKTtcbiAgICB9XG4gICAgJi1tYWluIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2woNiwkY29sLW9mZnNldDoxKTtcbiAgICB9XG4gICAgXG4gICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbSkge1xuICAgICAgICAuYXJ0aWNsZS1oZWFkZXIsIFxuICAgICAgICAuYXJ0aWNsZS1tYWluIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sKDEwLCRjb2wtb2Zmc2V0OjEpO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC8vIEVsZW1lbnRzXG4gICAgJi1saW5rIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgICAmLXRpdGxlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiAzZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgfVxuICAgICYtc3VidGl0bGUge1xuICAgICAgICAvKmZvbnQtc2l6ZTogMWVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyovXG4gICAgfVxuICAgICYtZGF0ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAjOTk5O1xuICAgIH1cbiAgICAmLWV4Y2VycHQge1xuICAgICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZC10byhzbSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLWNvbnRlbnQge1xuICAgICAgICBmb250LXNpemU6IDEuMWVtO1xuICAgICAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgICAgICAgIG1hcmdpbjogMWVtIDA7XG4gICAgICAgIH1cbiAgICB9XG4gICBcbiAgICAmLWltYWdlIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMmVtIDA7XG4gICAgfVxuICAgIFxuICAgICYtdmlkZW8ge1xuICAgICAgICAudmlkZW8ge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMmVtIDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyAvKiAxNjo5ICovXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICAudmlkZW8gaWZyYW1lLFxuICAgICAgICAudmlkZW8gb2JqZWN0LFxuICAgICAgICAudmlkZW8gZW1iZWQge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICZfX3Bvc3Qge1xuICAgICAgICAuYXJ0aWNsZS1oZWFkZXIge1xuICAgICAgICAgICAgLy9AaW5jbHVkZSBncmlkLWNvbCgzLCRjb2wtb2Zmc2V0OjEpO1xuICAgICAgICB9XG4gICAgICAgIC5hcnRpY2xlLW1haW4ge1xuICAgICAgICAgICAgLy9AaW5jbHVkZSBncmlkLWNvbCg2LCRjb2wtb2Zmc2V0OjEpO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC8vIEN1c3RvbVxuICAgICZfX3RlYW0ge1xuICAgICAgICAuYXJ0aWNsZS1oZWFkZXIge1xuICAgICAgICAgICAgLy9AaW5jbHVkZSBncmlkLWNvbCgzLCRjb2wtb2Zmc2V0OjEpO1xuICAgICAgICB9XG4gICAgICAgIC5hcnRpY2xlLW1haW4ge1xuICAgICAgICAgICAgLy9AaW5jbHVkZSBncmlkLWNvbCg2LCRjb2wtb2Zmc2V0OjEpO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIFxufVxuIl19 */
