/* Generated by less 2.5.1 */
/* DECLARITIVES  */
/******* Preloader ********/
.preload div#preloader {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 9999999999999;
  width: 100%;
  height: 100%;
  overflow: visible;
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.loading-gif {
  width: 150px;
  animation: Shrink 2.5s linear infinite;
}

@keyframes Shrink {
  from {
    width: 150px;
    transform: rotate(0deg);
  }
  50% {
    width: 50px;
    transform: rotate(180deg);
  }
  to {
    width: 150px;
    transform: rotate(360deg);
  }
}

/* FONTS */
@font-face {
  font-family: 'NexaBlack';
  src: url("../fonts/Fontfabric-NexaBlack.eot");
  src: url("../fonts/Fontfabric-NexaBlack.eot?#iefix") format("embedded-opentype"), url("../fonts/Fontfabric-NexaBlack.woff2") format("woff2"), url("../fonts/Fontfabric-NexaBlack.woff") format("woff"), url("../fonts/Fontfabric-NexaBlack.ttf") format("truetype"), url("../fonts/Fontfabric-NexaBlack.svg") format("svg");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Nexa-Bold';
  src: url("../fonts/Fontfabric-Nexa-Bold.eot");
  src: url("../fonts/Fontfabric-Nexa-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/Fontfabric-Nexa-Bold.woff2") format("woff2"), url("../fonts/Fontfabric-Nexa-Bold.woff") format("woff"), url("../fonts/Fontfabric-Nexa-Bold.ttf") format("truetype"), url("../fonts/Fontfabric-Nexa-Bold.svg") format("svg");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'NexaRegular';
  src: url("../fonts/Fontfabric-NexaRegular.eot");
  src: url("../fonts/Fontfabric-NexaRegular.eot?#iefix") format("embedded-opentype"), url("../fonts/Fontfabric-NexaRegular.woff2") format("woff2"), url("../fonts/Fontfabric-NexaRegular.woff") format("woff"), url("../fonts/Fontfabric-NexaRegular.ttf") format("truetype"), url("../fonts/Fontfabric-NexaRegular.svg") format("svg");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Nexa-Regular-Italic';
  src: url("../fonts/Fontfabric-Nexa-Regular-Italic.eot");
  /* IE9 Compat Modes */
  src: url("../fonts/Fontfabric-Nexa-Regular-Italic.eot?#iefix") format("embedded-opentype"), url("../fonts/Fontfabric-Nexa-Regular-Italic.woff2") format("woff2"), url("../fonts/Fontfabric-Nexa-Regular-Italic.woff") format("woff"), url("../fonts/Fontfabric-Nexa-Regular-Italic.ttf") format("truetype"), url("../fonts/Fontfabric-Nexa-Regular-Italic.svg") format("svg");
  /* Legacy iOS */
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Nexa-Light';
  src: url("../fonts/Fontfabric-Nexa-Light.eot");
  src: url("../fonts/Fontfabric-Nexa-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/Fontfabric-Nexa-Light.woff2") format("woff2"), url("../fonts/Fontfabric-Nexa-Light.woff") format("woff"), url("../fonts/Fontfabric-Nexa-Light.ttf") format("truetype"), url("../fonts/Fontfabric-Nexa-Light.svg") format("svg");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Nexa-Light-Italic';
  src: url("../fonts/Fontfabric-Nexa-Light-Italic.eot");
  src: url("../fonts/Fontfabric-Nexa-Light-Italic.eot?#iefix") format("embedded-opentype"), url("../fonts/Fontfabric-Nexa-Light-Italic.woff2") format("woff2"), url("../fonts/Fontfabric-Nexa-Light-Italic.woff") format("woff"), url("../fonts/Fontfabric-Nexa-Light-Italic.ttf") format("truetype"), url("../fonts/Fontfabric-Nexa-Light-Italic.svg") format("svg");
  font-weight: normal;
  font-style: normal;
}

/* GENERAL STYLES */
*,
*:after,
*:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  height: 100%;
  overflow: hidden;
  overflow-x: hidden !important;
  padding: 0;
  margin: 0;
  max-height: 100vh;
}

html {
  font-size: 62.5%;
  height: 100%;
  padding: 0;
  margin: 0;
}

body {
  margin: 0;
  color: rgba(2, 23, 37, 0.7);
  background: linear-gradient(135deg, #011a34 0%, #006693 100%);
  font-family: "Nexa-Light", sans-serif;
  line-height: normal;
}

body.overflow-hidden {
  overflow: hidden;
  overflow-y: hidden;
  max-height: 100vh;
}

h1 {
  font-size: 48px;
  font-size: 4.8rem;
  margin-top: 0;
  letter-spacing: .3rem;
  font-weight: 400;
}

h2 {
  font-size: 30px;
  font-size: 2.9rem;
}

h3 {
  font-size: 20px;
  font-size: 3rem;
}

h4 {
  font-size: 16px;
  font-size: 1.6rem;
}

p {
  margin: 0 0 10px;
  font-size: 14px;
  font-size: 1.8rem;
}

/* BUTTONS */
.btn-ghost-blue {
  color: #ffffff;
  border: 1px solid #ffffff;
  background-color: transparent;
  font-family: "Nexa-Light", sans-serif;
  padding: 10px 50px 6px;
  -moz-border-radius: 0px;
  -webkit-border-radius: 0px;
  border-radius: 0px;
  cursor: pointer;
  text-transform: uppercase;
  font-size: 18px;
  font-size: 1.8rem;
  margin: 15px;
}

.btn-ghost-blue:hover {
  text-decoration: none;
  border: 1px solid #25aae1;
  color: #ffffff;
  background-color: #25aae1;
  -webkit-transition: all 300ms ease-out 0.3s;
  -moz-transition: all 300ms ease-out 0.3s;
  -o-transition: all 300ms ease-out 0.3s;
  transition: all 300ms ease-out 0.3s;
}

.btn-ghost-red {
  color: #ffffff;
  border: 1px solid #ffffff;
  background-color: transparent;
  font-family: "Nexa-Light", sans-serif;
  padding: 10px 50px 6px;
  -moz-border-radius: 0px;
  -webkit-border-radius: 0px;
  border-radius: 5px;
  cursor: pointer;
  text-transform: uppercase;
  font-size: 18px;
  font-size: 1.8rem;
  margin: 15px;
}

.btn-ghost-red:hover {
  border: 1px solid #ffffff;
  text-decoration: none;
  color: #ffffff;
  background-color: rgba(255, 255, 255, 0.2);
  -webkit-transition: all 200ms ease-out 0.2s;
  -moz-transition: all 200ms ease-out 0.2s;
  -o-transition: all 200ms ease-out 0.2s;
  transition: all 200ms ease-out 0.2s;
}

/* SIZE ADJUSTS */
.xlarge-text {
  font-size: 62px;
  font-size: 6rem;
}

.xlarge-text h2 {
  margin-top: 50px;
  font-size: 2.5rem;
}

@media (min-width: 360px) {
  .xlarge-text h2 {
    margin-top: 20px;
    font-size: 3rem;
  }
  .slick-slide .cd-btn {
 
    display: block;
}
}
.slick-slide .cd-btn {

    display: inline-block;
}

@media (min-width: 768px) {
  .xlarge-text h2 {
    font-size: 5rem;
  }
}

@media (min-width: 1024px) {
  .xlarge-text {
    font-size: 4rem;
  }
}

@media (min-width: 1440px) {
  .xlarge-text {
    font-size: 6rem;
  }
}

.inner-page-content h2 {
  margin-top: 0;
  margin-bottom: 0;
}

@media (min-width: 1024px) {
  .inner-page-content h2 {
    font-size: 5rem;
    font-weight: 100;
  }
}

.large {
  font-size: 30px;
  font-size: 4rem;
}

.large-medium {
  font-size: 25px;
  font-size: 3.5rem;
}

.medium {
  font-size: 20px;
  font-size: 3rem;
}

.small {
  font-size: 24px;
  font-size: 2.4rem;
}

.black {
  font-family: "NexaBlack", sans-serif;
}

.bold {
  font-family: "Nexa-Bold", sans-serif;
}

.regular {
  font-family: "NexaRegular", sans-serif;
}

.italic {
  font-family: "Nexa-Regular-Italic", sans-serif;
}

.light {
  font-family: "Nexa-Light", sans-serif;
}

.light-italic {
  font-family: "Nexa-Light-Italic", sans-serif;
}

.need-room {
  padding-top: 0px;
}

@media (min-width: 380px) {
  .need-room {
    padding: 10px 0;
  }
}

@media (min-width: 1024px) {
  .need-room {
    padding: 10px 0;
  }
}

.pt-page .need-room {
  padding-top: 0px;
}

@media (min-width: 380px) {
  .pt-page .need-room {
    padding: 80px 0px;
  }
}

@media (min-width: 1024px) {
  .pt-page .need-room {
    padding: 40px 0px;
  }
}

@media (min-width: 1440px) {
  .pt-page .need-room {
    padding: 80px 0px;
  }
}

.story-section .need-room {
  padding-top: 0px;
}

@media (min-width: 380px) {
  .story-section .need-room {
    padding: 10px 0;
  }
}

@media (min-width: 1024px) {
  .story-section .need-room {
    padding: 10px 0;
  }
}

@media (min-width: 1440px) {
  .story-section .need-room {
    padding: 10px 0;
  }
}

.cloud-block {
  padding: 45px 25%;
  text-align: justify;
  color: #25aae1;
  opacity: 0.5;
}

.active {
  color: #ffffff;
  opacity: 1;
  -webkit-transition: all 0.5s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

/* RUBY */
@media (min-width: 992px) {
  .home-work-container {
    padding: 0 70px;
  }
}

@media (min-width: 1200px) {
  .home-work-container {
    padding: 0 70px;
    width: 100%;
  }
}

@media (min-width: 1366px) {
  .home-work-container {
    width: 85%;
  }
}

.wow {
  padding: 0px;
}

.grid {
  position: relative;
  margin: 0 auto;
  list-style: none;
  text-align: center;
  height: 100%;
  z-index: 2;
  padding: 0 0;
  width: 100%;
}

@media (min-width: 768px) {
  .grid {
    width: 95%;
  }
}

.pt-page .grid {
  position: relative;
  margin: 0 auto;
  max-width: 1000px;
  list-style: none;
  text-align: center;
  height: 100%;
  z-index: 2;
}

.grid figure {
  position: relative;
  float: left;
  overflow: hidden;
  max-height: 350px;
  width: 33%;
  background: #3085a3;
  text-align: center;
  cursor: pointer;
}

@media (min-width: 425px) {
  .grid figure {
    width: 44%;
  }
}

@media (min-width: 550px) {
  .grid figure {
    width: 30%;
  }
}

@media (min-width: 768px) {
  .grid figure {
    width: 32%;
  }
}

@media (min-width: 1200px) {
  .grid figure {
    width: auto;
  }
}

.grid figure .figure-background {
  position: relative;
  display: block;
  min-height: 100%;
  max-width: 100%;
  opacity: 0.8;
  filter: sepia() saturate(200%) hue-rotate(170deg);
}

@media (min-width: 768px) {
  .grid figure .figure-background {
    filter: sepia() saturate(200%) hue-rotate(170deg);
  }
}

.grid figure figcaption {
  padding: 1rem;
  color: #fff;
  font-size: 1.2rem;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.grid figure figcaption::before,
.grid figure figcaption::after {
  pointer-events: none;
}

.grid figure figcaption,
.grid figure figcaption > a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.grid figure figcaption > a {
  z-index: 1000;
  text-indent: 200%;
  white-space: nowrap;
  font-size: 0;
  opacity: 0;
}

.grid figure h2 {
  word-spacing: -0.15rem;
  font-weight: 300;
}

.grid figure h2 span {
  font-weight: 800;
}

.grid figure h2,
.grid figure p {
  margin: 0;
}

.grid figure p {
  letter-spacing: 1px;
}

figure.effect-ruby h2 {
  margin-top: 20%;
  -webkit-transition: -webkit-transform 0.35s;
  transition: transform 0.35s;
  -webkit-transform: translate3d(0, 20px, 0);
  transform: translate3d(0, 20px, 0);
}

figure.effect-ruby h2 img {
  margin: 0 auto;
  margin: -15% auto;
}

figure.effect-ruby h3 {
  font-size: 20px;
  font-size: 1em;
  margin: .5em 0 0;
  opacity: 0;
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
  -webkit-transform: translate3d(0, 20px, 0) scale(1.1);
  transform: translate3d(0, 20px, 0) scale(1.1);
}

@media (min-width: 768px) {
  figure.effect-ruby h3 {
    font-size: 2rem;
  }
}

figure.effect-ruby p {
  font-size: 12px;
  font-size: 1.2rem;
  margin: 1em 0 0;
  opacity: 0;
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
  -webkit-transform: translate3d(0, 20px, 0) scale(1.1);
  transform: translate3d(0, 20px, 0) scale(1.1);
}

figure.effect-ruby img {
  opacity: 1;
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s ease-in;
  transition: opacity 0.35s, transform 0.35s ease-in;
  -webkit-transform: scale(1.15);
  transform: scale(1.15);
}

figure.effect-ruby:hover h2 {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  margin-top: 0%;
  transition: 0.3s ease-in;
}

figure.effect-ruby:hover h3 {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0) scale(1);
  transform: translate3d(0, 0, 0) scale(1);
}

figure.effect-ruby:hover p {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0) scale(1);
  transform: translate3d(0, 0, 0) scale(1);
}

figure.effect-ruby:hover img {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
  filter: grayscale(0);
}

.adjust-logo {
  width: 80%;
  height: auto;
}

/* CAROUSAL */
#carousel-example-generic {
  margin-bottom: -45px;
}

.carousel-indicators {
  bottom: 0px;
}

.carousel-indicators li {
  background-color: transparent;
  border: 1px solid #fff;
  border-radius: 10px;
  cursor: pointer;
  display: inline-block;
  height: 10px;
  margin: 1px;
  text-indent: -999px;
  width: 10px;
  padding: 5px;
}

.carousel-indicators .active {
  background-color: #ec2028;
  height: 12px;
  margin: 0;
  width: 12px;
}

/* VIDEO PLAYBACK */
video {
  position: fixed;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: -100;
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  background: url("../img/video_bg.jpg");
  background-size: cover;
  -webkit-transition: 1s opacity;
  transition: 1s opacity;
}

.stopfade {
  opacity: .5;
}

#polina {
  font-weight: 100;
  background: rgba(0, 0, 0, 0.3);
  color: white;
  width: 100%;
  font-size: 1.2rem;
  overflow: hidden;
}

#polina button {
  display: block;
  width: 80%;
  padding: .4rem;
  border: none;
  margin: 1rem auto;
  font-size: 1.3rem;
  background: rgba(255, 255, 255, 0.23);
  color: #fff;
  border-radius: 3px;
  cursor: pointer;
  -webkit-transition: .3s background;
  transition: .3s background;
}

#polina button:hover {
  background: rgba(0, 0, 0, 0.5);
}

/* HEADER */
.cd-header {
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(2, 23, 37, 0.95);
  height: 50px;
  width: 100%;
  z-index: 3;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.cd-logo {
  display: block;
  position: absolute;
  top: 40%;
  bottom: auto;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  left: .875em;
}

.cd-logo img {
  display: block;
  width: 50%;
}

/* BUTTON AND EFFECT */
.cd-primary-nav-trigger {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 50px;
  background-color: #0e549f;
}

.cd-primary-nav-trigger.cd-menu-text {
  color: white;
  text-transform: uppercase;
  font-weight: 700;
  /* hide the text on small devices */
  display: none;
}

.cd-primary-nav-trigger .cd-menu-icon {
  display: inline-block;
  position: absolute;
  left: 50%;
  top: 50%;
  bottom: auto;
  right: auto;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  -o-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  width: 18px;
  height: 2px;
  background-color: white;
  -webkit-transition: background-color 0.3s;
  -moz-transition: background-color 0.3s;
  transition: background-color 0.3s;
}

.cd-primary-nav-trigger .cd-menu-icon::before,
.cd-primary-nav-trigger .cd-menu-icon:after {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  background-color: white;
  right: 0;
  -webkit-transition: -webkit-transform 0.3s, top 0.3s, background-color 0s;
  -moz-transition: -moz-transform 0.3s, top 0.3s, background-color 0s;
  transition: transform 0.3s, top 0.3s, background-color 0s;
}

.cd-primary-nav-trigger .cd-menu-icon::before {
  top: -5px;
}

.cd-primary-nav-trigger .cd-menu-icon::after {
  top: 5px;
}

.cd-primary-nav-trigger .cd-menu-icon.is-clicked {
  background-color: rgba(255, 255, 255, 0);
}

.cd-primary-nav-trigger .cd-menu-icon.is-clicked::before,
.cd-primary-nav-trigger .cd-menu-icon.is-clicked::after {
  background-color: white;
}

.cd-primary-nav-trigger .cd-menu-icon.is-clicked::before {
  top: 0;
  -webkit-transform: rotate(135deg);
  -moz-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  -o-transform: rotate(135deg);
  transform: rotate(135deg);
}

.cd-primary-nav-trigger .cd-menu-icon.is-clicked::after {
  top: 0;
  -webkit-transform: rotate(225deg);
  -moz-transform: rotate(225deg);
  -ms-transform: rotate(225deg);
  -o-transform: rotate(225deg);
  transform: rotate(225deg);
}

/* CONTAINER */
.cd-container {
  width: 90%;
  max-width: 768px;
  margin: 0 auto;
}

.cd-container:after {
  content: "";
  display: table;
  clear: both;
}

/* NAVIGATION*/
.cd-primary-nav {
  position: fixed;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  background: rgba(2, 23, 37, 0.9);
  z-index: 2;
  text-align: center;
  padding: 50px 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  -webkit-transform: translateY(-100%);
  -moz-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  -o-transform: translateY(-100%);
  transform: translateY(-100%);
  -webkit-transition-property: -webkit-transform;
  -moz-transition-property: -moz-transform;
  transition-property: transform;
  -webkit-transition-duration: 0.4s;
  -moz-transition-duration: 0.4s;
  transition-duration: 0.4s;
}

.cd-primary-nav li {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 300;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: .2em 0;
  text-transform: capitalize;
}

.cd-primary-nav a {
  display: inline-block;
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  transition: all 0.2s;
  color: #ffffff;
}

.cd-primary-nav.is-visible {
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -ms-transform: translateY(0);
  -o-transform: translateY(0);
  transform: translateY(0);
}

.no-touch .cd-primary-nav a:hover {
  color: #ec2028;
}

.cd-primary-nav .menu-footer {
  padding-top: 20px;
}

.cd-primary-nav .cd-social {
  display: inline-flex;
  margin: 0 .4em;
}

.cd-primary-nav .cd-social a {
  font-size: 20px;
  font-size: 2rem;
  padding-right: 10px;
  color: #ffffff;
}

.cd-primary-nav .cd-social a:hover {
  color: #ec2028;
}

.cd-intro {
  position: relative;
  height: 100%;
  background-size: cover;
  z-index: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.cd-intro h1 {
  position: absolute;
  width: 90%;
  max-width: 1170px;
  left: 50%;
  top: 50%;
  bottom: auto;
  right: auto;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  -o-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  color: white;
  font-size: 20px;
  font-size: 2rem;
  font-weight: 300;
  text-align: center;
}

.cd-good {
  display: inline-flex;
  text-align: center;
}

.cd-good li {
  padding: 25px;
}

.cd-good img {
  margin: 0 auto;
  text-align: center;
  border-radius: 500px;
  width: 70%;
  padding: 10px;
}

.cd-good a {
  font-size: 20px;
  font-size: 2rem;
  padding-right: 10px;
  color: #ffffff;
}

.cd-good a:hover {
  color: #ec2028;
}

/* Ripple Out */
@-webkit-keyframes ripple-out {
  100% {
    top: -12px;
    right: -12px;
    bottom: -12px;
    left: -12px;
    opacity: 0;
  }
}

@keyframes ripple-out {
  100% {
    top: -12px;
    right: -12px;
    bottom: -12px;
    left: -12px;
    opacity: 0;
  }
}

.ripple-out {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
}

.ripple-out:before {
  content: '';
  position: absolute;
  border: 1px solid #ffffff;
  top: 0;
  right: 56px;
  bottom: 0;
  left: 46px;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  border-radius: 500px;
  animation-iteration-count: infinite;
  -webkit-animation-iteration-count: infinite;
}

.ripple-out:hover:before,
.ripple-out:focus:before,
.ripple-out:active:before {
  -webkit-animation-name: ripple-out;
  animation-name: ripple-out;
}

.client-item {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-size: cover;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.client-item img {
  width: 100%;
}

.client-item:hover:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: none;
}

.client-item .active {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.1);
}

.border-container {
  -webkit-border-image: -webkit-linear-gradient(top, #cccccc 0%, #bbbbbb 50%, #cccccc 100%) 1 stretch;
  border-image: linear-gradient(to bottom, #cccccc 0%, #bbbbbb 50%, #cccccc 100%) 1 stretch;
  border-style: solid;
  border-width: 0 2px 0 0;
}

.footer-line {
  text-align: center;
  border-top: 1px solid #ffffff;
}

.footer-nav {
  display: inline-flex;
}

.footer-nav li {
  margin: 20px 10px;
}

.footer-nav a {
  color: #ffffff;
  text-decoration: none;
}

.footer-nav a:hover {
  color: #ec2028;
  -webkit-transition: all 200ms ease-out 0.2s;
  -moz-transition: all 200ms ease-out 0.2s;
  -o-transition: all 200ms ease-out 0.2s;
  transition: all 200ms ease-out 0.2s;
}

/* MEDIA QUERIES */
@media only screen and (max-width: 480px) {
  h1 {
    font-size: 24px;
    font-size: 2.4rem;
    margin-top: 0;
    letter-spacing: .3rem;
  }
  h2 {
    font-size: 2rem;
    font-size: 20px;
  }
  h3 {
    font-size: 1.6rem;
    font-size: 16px;
  }
  h4 {
    font-size: 16px;
    font-size: 1.6rem;
  }
  p {
    margin: 0 0 10px;
    font-size: 12px;
    font-size: 1.5rem;
  }
  .xlarge-text {
    font-size: 24px;
    font-size: 2.4rem;
  }
  .large {
    font-size: 20px;
    font-size: 2rem;
  }
  .large-medium {
    font-size: 18px;
    font-size: 1.8rem;
  }
  .medium {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .small {
    font-size: 14px;
    font-size: 1.4rem;
  }
  section {
    min-height: 400px;
  }
  footer {
    display: none;
  }
}

@media only screen and (min-width: 768px) {
  .cd-header {
    height: 100px;
    background: transparent;
    box-shadow: none;
  }
  .cd-primary-nav-trigger {
    padding-left: 1em;
    background-color: transparent;
    height: 30px;
    line-height: 30px;
    right: 2.2em;
    top: 40%;
    bottom: auto;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .cd-primary-nav-trigger .cd-menu-text {
    display: inline-block;
  }
  .cd-primary-nav-trigger .cd-menu-icon {
    left: auto;
    right: 1em;
    -webkit-transform: translateX(0) translateY(-50%);
    -moz-transform: translateX(0) translateY(-50%);
    -ms-transform: translateX(0) translateY(-50%);
    -o-transform: translateX(0) translateY(-50%);
    transform: translateX(0) translateY(-50%);
  }
  .cd-primary-nav {
    padding: 100px 0;
  }
  .cd-intro h1 {
    font-size: 30px;
    font-size: 3rem;
  }
}

@media screen and (max-device-width: 800px) {
  #bgvid {
    display: none;
  }
}

@media only screen and (min-width: 1170px) {
  .cd-header {
    -webkit-transition: background-color 0.3s;
    -moz-transition: background-color 0.3s;
    transition: background-color 0.3s;
    /* Force Hardware Acceleration in WebKit */
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    -o-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  .cd-header.is-fixed {
    /* when the user scrolls down, we hide the header right above the viewport */
    position: fixed;
    top: -100px;
    background-image: url(../img/header_overlay.png);
    background-repeat: repeat-x;
    -webkit-transition: -webkit-transform 0.3s;
    -moz-transition: -moz-transform 0.3s;
    transition: transform 0.3s;
  }
  .cd-header.is-fixed > .cd-logo img {
    width: 40%;
  }
  .cd-header.is-visible {
    /* if the user changes the scrolling direction, we show the header */
    -webkit-transform: translate3d(0, 100%, 0);
    -moz-transform: translate3d(0, 100%, 0);
    -ms-transform: translate3d(0, 100%, 0);
    -o-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
  .cd-header.menu-is-open {
    /* add a background color to the header when the navigation is open */
    background-color: rgba(2, 23, 37, 0.96);
  }
  .cd-primary-nav li {
    font-size: 30px;
    font-size: 3.0rem;
  }
  .cd-primary-nav .cd-label {
    font-size: 16px;
    font-size: 1rem;
  }
  .cd-intro {
    height: 700px;
    margin-top: 45px;
  }
  section {
    min-height: 600px;
  }
}

/* MISCELLANIOUS STYING BECAUSE I GIVE A SHIT ABOUT MY JOB WHICH NO ONE SEES...LET ALONE APPRECIATES*/
::selection {
  background: #25aae1;
}

::-moz-selection {
  background: #25aae1;
}

.cd-top {
  display: inline-block;
  height: 20px;
  width: 20px;
  position: fixed;
  bottom: 40px;
  right: 10px;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  background: url(../img/back-to-top.svg) no-repeat center 50%;
  visibility: hidden;
  opacity: 0;
  border: 1px solid #ffffff;
  -webkit-transition: opacity .3s 0s, visibility 0s .3s;
  -moz-transition: opacity .3s 0s, visibility 0s .3s;
  transition: opacity .3s 0s, visibility 0s .3s;
}

.cd-top.cd-is-visible,
.cd-top.cd-fade-out,
.no-touch .cd-top:hover {
  -webkit-transition: opacity .3s 0s, visibility 0s 0s;
  -moz-transition: opacity .3s 0s, visibility 0s 0s;
  transition: opacity .3s 0s, visibility 0s 0s;
}

.cd-top.cd-is-visible {
  visibility: visible;
  opacity: 1;
}

.cd-top.cd-fade-out {
  opacity: .5;
}

.no-touch .cd-top:hover {
  background-color: rgba(255, 255, 255, 0.2);
  opacity: 1;
}

@media only screen and (min-width: 768px) {
  .cd-top {
    right: 20px;
    bottom: 20px;
  }
}

@media only screen and (min-width: 1024px) {
  .cd-top {
    height: 30px;
    width: 30px;
    right: 30px;
    bottom: 30px;
    z-index: 2;
  }
}

.cd-image-replace {
  /* replace text with image */
  display: inline-block;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  color: transparent;
}

@media only screen and (min-width: 800px) {
  .cd-nav-trigger {
    display: none;
  }
}

.cd-vertical-nav {
  position: fixed;
  z-index: 1;
  right: 5%;
  bottom: 30px;
  width: 90%;
  max-width: 400px;
  max-height: 90%;
  overflow-y: auto;
  -webkit-transform: scale(0);
  -moz-transform: scale(0);
  -ms-transform: scale(0);
  -o-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: right bottom;
  -moz-transform-origin: right bottom;
  -ms-transform-origin: right bottom;
  -o-transform-origin: right bottom;
  transform-origin: right bottom;
  -webkit-transition: -webkit-transform 0.2s;
  -moz-transition: -moz-transform 0.2s;
  transition: transform 0.2s;
  border-radius: 0.25em;
  background-color: rgba(234, 242, 227, 0.9);
}

.cd-vertical-nav a {
  display: block;
  padding: 1em;
  color: #3a2c41;
  font-weight: bold;
  border-bottom: 1px solid rgba(58, 44, 65, 0.1);
}

.cd-vertical-nav a.active, .cd-vertical-nav a:active, .cd-vertical-nav a:hover, .cd-vertical-nav a:focus {
  color: #E05054;
}

.cd-vertical-nav.open {
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  -webkit-overflow-scrolling: touch;
}

.cd-vertical-nav.open + .cd-nav-trigger {
  background-color: transparent;
}

.cd-vertical-nav.open + .cd-nav-trigger span {
  background-color: rgba(58, 44, 65, 0);
}

.cd-vertical-nav.open + .cd-nav-trigger span::before,
.cd-vertical-nav.open + .cd-nav-trigger span::after {
  /* transform dots in 'X' icon */
  height: 3px;
  width: 20px;
  border-radius: 0;
  left: -8px;
}

.cd-vertical-nav.open + .cd-nav-trigger span::before {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 1px;
}

.cd-vertical-nav.open + .cd-nav-trigger span::after {
  -webkit-transform: rotate(135deg);
  -moz-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  -o-transform: rotate(135deg);
  transform: rotate(135deg);
  bottom: 0;
}

@media only screen and (min-width: 800px) {
  .cd-vertical-nav {
    /* reset style */
    right: 15px;
    top: 20%;
    bottom: auto;
    height: 100vh;
    width: 90px;
    max-width: none;
    max-height: none;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    background-color: transparent;
    /* vertically align its content*/
    display: table;
  }
  .cd-vertical-nav::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transform: translateX(100%);
    -moz-transform: translateX(100%);
    -ms-transform: translateX(100%);
    -o-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: -webkit-transform 0.4s;
    -moz-transition: -moz-transform 0.4s;
    transition: transform 0.4s;
  }
  .no-touch .cd-vertical-nav:hover::before,
  .touch .cd-vertical-nav::before {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
  }
  .cd-vertical-nav ul {
    /* vertically align <ul> inside <nav>*/
    display: table-cell;
    vertical-align: middle;
    text-align: center;
  }
  .cd-vertical-nav a {
    position: relative;
    padding: 3em 0 0;
    margin: 1.4em auto;
    border-bottom: none;
    font-size: 1.2rem;
    color: #eaf2e3;
  }
  .cd-vertical-nav a.active {
    color: #eaf2e3;
  }
  .cd-vertical-nav a::before,
  .cd-vertical-nav a::after {
    content: '';
    position: absolute;
    left: 50%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -ms-transform: translateZ(0);
    -o-transform: translateZ(0);
    transform: translateZ(0);
  }
  .cd-vertical-nav a::before {
    /* filled circle */
    top: 0;
    height: 35px;
    width: 35px;
    border-radius: 50%;
    border: 1px solid #ffffff;
    -webkit-transform: translateX(-50%) scale(0.25);
    -moz-transform: translateX(-50%) scale(0.25);
    -ms-transform: translateX(-50%) scale(0.25);
    -o-transform: translateX(-50%) scale(0.25);
    transform: translateX(-50%) scale(0.25);
    -webkit-transition: -webkit-transform 0.4s, background-color 0.2s;
    -moz-transition: -moz-transform 0.4s, background-color 0.2s;
    transition: transform 0.4s, background-color 0.2s;
    padding: 15px;
  }
  .cd-vertical-nav a::after {
    opacity: 0;
    top: 0px;
    height: 32px;
    width: 32px;
    -webkit-transform: translateX(-50%) scale(0);
    -moz-transform: translateX(-50%) scale(0);
    -ms-transform: translateX(-50%) scale(0);
    -o-transform: translateX(-50%) scale(0);
    transform: translateX(-50%) scale(0);
    -webkit-transition: -webkit-transform 0.4s 0s, opacity 0.1s 0.3s;
    -moz-transition: -moz-transform 0.4s 0s, opacity 0.1s 0.3s;
    transition: transform 0.4s 0s, opacity 0.1s 0.3s;
  }
  .cd-vertical-nav li:first-of-type a::after {
    background-image: url(../img/scroller/scroller_home.png);
    background-size: cover;
    /* fix bug with transitions - set scale(0.01) rather than scale(0) */
    -webkit-transform: translateX(-50%) scale(0.01);
    -moz-transform: translateX(-50%) scale(0.01);
    -ms-transform: translateX(-50%) scale(0.01);
    -o-transform: translateX(-50%) scale(0.01);
    transform: translateX(-50%) scale(0.01);
  }
  .cd-vertical-nav li:first-of-type a::before {
    -webkit-transform: translateX(-50%) scale(0.25);
    -moz-transform: translateX(-50%) scale(0.25);
    -ms-transform: translateX(-50%) scale(0.25);
    -o-transform: translateX(-50%) scale(0.25);
    transform: translateX(-50%) scale(0.25);
  }
  .cd-vertical-nav li:nth-of-type(2) a::after {
    background-image: url(../img/scroller/scroller_about.png);
    background-size: cover;
    background-position: 0px -32px;
    -webkit-transform: translateX(-50%) scale(0.01);
    -moz-transform: translateX(-50%) scale(0.01);
    -ms-transform: translateX(-50%) scale(0.01);
    -o-transform: translateX(-50%) scale(0.01);
    transform: translateX(-50%) scale(0.01);
  }
  .cd-vertical-nav li:nth-of-type(2) a::before {
    -webkit-transform: translateX(-50%) scale(0.25);
    -moz-transform: translateX(-50%) scale(0.25);
    -ms-transform: translateX(-50%) scale(0.25);
    -o-transform: translateX(-50%) scale(0.25);
    transform: translateX(-50%) scale(0.25);
  }
  .cd-vertical-nav li:nth-of-type(3) a::after {
    background-image: url(../img/scroller/scroller_work.png);
    background-size: cover;
    -webkit-transform: translateX(-50%) scale(0.01);
    -moz-transform: translateX(-50%) scale(0.01);
    -ms-transform: translateX(-50%) scale(0.01);
    -o-transform: translateX(-50%) scale(0.01);
    transform: translateX(-50%) scale(0.01);
  }
  .cd-vertical-nav li:nth-of-type(3) a::before {
    -webkit-transform: translateX(-50%) scale(0.25);
    -moz-transform: translateX(-50%) scale(0.25);
    -ms-transform: translateX(-50%) scale(0.25);
    -o-transform: translateX(-50%) scale(0.25);
    transform: translateX(-50%) scale(0.25);
  }
  .cd-vertical-nav li:nth-of-type(4) a::after {
    background-image: url(../img/scroller/scroller_clients.png);
    background-size: cover;
    -webkit-transform: translateX(-50%) scale(0.01);
    -moz-transform: translateX(-50%) scale(0.01);
    -ms-transform: translateX(-50%) scale(0.01);
    -o-transform: translateX(-50%) scale(0.01);
    transform: translateX(-50%) scale(0.01);
  }
  .cd-vertical-nav li:nth-of-type(4) a::before {
    -webkit-transform: translateX(-50%) scale(0.25);
    -moz-transform: translateX(-50%) scale(0.25);
    -ms-transform: translateX(-50%) scale(0.25);
    -o-transform: translateX(-50%) scale(0.25);
    transform: translateX(-50%) scale(0.25);
  }
  .cd-vertical-nav li:nth-of-type(5) a::after {
    background-image: url(../img/scroller/scroller_services.png);
    background-size: cover;
    -webkit-transform: translateX(-50%) scale(0.01);
    -moz-transform: translateX(-50%) scale(0.01);
    -ms-transform: translateX(-50%) scale(0.01);
    -o-transform: translateX(-50%) scale(0.01);
    transform: translateX(-50%) scale(0.01);
  }
  .cd-vertical-nav li:nth-of-type(5) a::before {
    -webkit-transform: translateX(-50%) scale(0.25);
    -moz-transform: translateX(-50%) scale(0.25);
    -ms-transform: translateX(-50%) scale(0.25);
    -o-transform: translateX(-50%) scale(0.25);
    transform: translateX(-50%) scale(0.25);
  }
  .cd-vertical-nav li:nth-of-type(6) a::after {
    background-image: url(../img/scroller/scroller_solutions.png);
    background-size: cover;
    -webkit-transform: translateX(-50%) scale(0.01);
    -moz-transform: translateX(-50%) scale(0.01);
    -ms-transform: translateX(-50%) scale(0.01);
    -o-transform: translateX(-50%) scale(0.01);
    transform: translateX(-50%) scale(0.01);
  }
  .cd-vertical-nav li:nth-of-type(6) a::before {
    -webkit-transform: translateX(-50%) scale(0.25);
    -moz-transform: translateX(-50%) scale(0.25);
    -ms-transform: translateX(-50%) scale(0.25);
    -o-transform: translateX(-50%) scale(0.25);
    transform: translateX(-50%) scale(0.25);
  }
  .cd-vertical-nav li:nth-of-type(7) a::after {
    background-image: url(../img/scroller/scroller_FWL.png);
    background-size: cover;
    -webkit-transform: translateX(-50%) scale(0.01);
    -moz-transform: translateX(-50%) scale(0.01);
    -ms-transform: translateX(-50%) scale(0.01);
    -o-transform: translateX(-50%) scale(0.01);
    transform: translateX(-50%) scale(0.01);
  }
  .cd-vertical-nav li:nth-of-type(7) a::before {
    -webkit-transform: translateX(-50%) scale(0.25);
    -moz-transform: translateX(-50%) scale(0.25);
    -ms-transform: translateX(-50%) scale(0.25);
    -o-transform: translateX(-50%) scale(0.25);
    transform: translateX(-50%) scale(0.25);
  }
  .cd-vertical-nav li:nth-of-type(8) a::after {
    background-image: url(../img/scroller/scroller_careers.png);
    background-size: cover;
    -webkit-transform: translateX(-50%) scale(0.01);
    -moz-transform: translateX(-50%) scale(0.01);
    -ms-transform: translateX(-50%) scale(0.01);
    -o-transform: translateX(-50%) scale(0.01);
    transform: translateX(-50%) scale(0.01);
  }
  .cd-vertical-nav li:nth-of-type(8) a::before {
    -webkit-transform: translateX(-50%) scale(0.25);
    -moz-transform: translateX(-50%) scale(0.25);
    -ms-transform: translateX(-50%) scale(0.25);
    -o-transform: translateX(-50%) scale(0.25);
    transform: translateX(-50%) scale(0.25);
  }
  .cd-vertical-nav li:nth-of-type(9) a::after {
    background-image: url(../img/scroller/scroller_contact.png);
    background-size: cover;
    -webkit-transform: translateX(-50%) scale(0.01);
    -moz-transform: translateX(-50%) scale(0.01);
    -ms-transform: translateX(-50%) scale(0.01);
    -o-transform: translateX(-50%) scale(0.01);
    transform: translateX(-50%) scale(0.01);
  }
  .cd-vertical-nav li:nth-of-type(9) a::before {
    -webkit-transform: translateX(-50%) scale(0.25);
    -moz-transform: translateX(-50%) scale(0.25);
    -ms-transform: translateX(-50%) scale(0.25);
    -o-transform: translateX(-50%) scale(0.25);
    transform: translateX(-50%) scale(0.25);
  }
  .cd-vertical-nav .label {
    display: block;
    /* Force Hardware Acceleration */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    -ms-transform: translateZ(0);
    -o-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-transform: translateX(100%);
    -moz-transform: translateX(100%);
    -ms-transform: translateX(100%);
    -o-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: -webkit-transform 0.4s;
    -moz-transition: -moz-transform 0.4s;
    transition: transform 0.4s;
  }
  .no-touch .cd-vertical-nav:hover a::before,
  .no-touch .cd-vertical-nav:hover a::after,
  .touch .cd-vertical-nav li:nth-of-type(n) a::before,
  .touch .cd-vertical-nav li:nth-of-type(n) a::after {
    -webkit-transform: translateX(-50%) scale(1);
    -moz-transform: translateX(-50%) scale(1);
    -ms-transform: translateX(-50%) scale(1);
    -o-transform: translateX(-50%) scale(1);
    transform: translateX(-50%) scale(1);
    -moz-transform: translateX(-50%) scale(1) rotate(0.02deg);
  }
  .no-touch .cd-vertical-nav:hover a::after,
  .touch .cd-vertical-nav a::after {
    opacity: 1;
    -webkit-transition: -webkit-transform 0.4s, opacity 0s;
    -moz-transition: -moz-transform 0.4s, opacity 0s;
    transition: transform 0.4s, opacity 0s;
  }
  .no-touch .cd-vertical-nav:hover .label,
  .touch .cd-vertical-nav .label {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
  }
}

.cd-scroll-down {
  position: absolute;
  left: 50%;
  right: auto;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 20px;
  width: 44px;
  height: 44px;
  background: url(../img/cd-arrow-bottom.svg) no-repeat center center;
}

.no-js .cd-nav-trigger {
  display: none;
}

.no-js .cd-vertical-nav {
  position: static;
  height: auto;
  width: 100%;
  max-width: none;
  background-color: rgba(0, 0, 0, 0.8);
  border-radius: 0;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}

.no-js .cd-vertical-nav::before {
  display: none;
}

.no-js .cd-vertical-nav ul::after {
  clear: both;
  content: "";
  display: table;
}

.no-js .cd-vertical-nav li {
  display: inline-block;
}

.no-js .cd-vertical-nav a {
  padding: 0 1em;
  margin: 1.5em 1em;
  color: #eaf2e3;
}

.no-js .cd-vertical-nav a.active {
  color: #c0a672;
}

.no-js .cd-vertical-nav a::after,
.no-js .cd-vertical-nav a::before {
  display: none;
}

.no-js .cd-vertical-nav .label {
  -webkit-transform: translateX(0);
  -moz-transform: translateX(0);
  -ms-transform: translateX(0);
  -o-transform: translateX(0);
  transform: translateX(0);
}

.diamond-box-inner a {
  cursor: default;
}

.client-triangles .diamond-box-wrap {
  display: none;
}

.client-triangles .diamond-box-wrap.visible {
  display: block;
}

/*# sourceMappingURL=css/maps/styles.css.map */
.overlay {
  /* Height & width depends on how you want to reveal the overlay (see JS below) */
  height: 100%;
  width: 0%;
  position: fixed;
  /* Stay in place */
  z-index: 4;
  /* Sit on top */
  left: 0;
  top: 0;
  background-color: black;
  /* Black fallback color */
  background-color: rgba(0, 0, 0, 0.9);
  /* Black w/opacity */
  overflow-x: hidden;
  /* Disable horizontal scroll */
  transition: 0.5s;
  /* 0.5 second transition effect to slide in or slide down the overlay (height or width, depending on reveal) */
}

/* Position the content inside the overlay */
.overlay-content {
  position: relative;
  top: 25%;
  /* 25% from the top */
  width: 100%;
  /* 100% width */
  text-align: center;
  /* Centered text/links */
  margin-top: 30px;
  /* 30px top margin to avoid conflict with the close button on smaller screens */
}

/* The navigation links inside the overlay */
.overlay a {
  padding: 0px 8px;
  text-decoration: none;
  color: #818181;
  display: block;
  /* Display block instead of inline */
  transition: 0.3s;
  /* Transition effects on hover (color) */
}

@media (min-width: 768px) {
  .overlay a {
    padding: 0px 5px;
  }
}

@media (min-width: 1440px) {
  .overlay a {
    padding: 0px 8px;
  }
}

/* When you mouse over the navigation links, change their color */
.overlay a:hover,
.overlay a:focus {
  color: #E05054;
}

/* Position the close button (top right corner) */
.overlay .closebtn {
  position: absolute;
  top: 0px;
  right: 20px;
  font-size: 60px;
  z-index: 6;
  color: #eee;
}

/* When the height of the screen is less than 450 pixels, change the font-size of the links and position the close button again, so they don't overlap */
@media screen and (max-height: 450px) {
  .overlay a {
    font-size: 20px;
  }
  .overlay .closebtn {
    font-size: 40px;
    top: 15px;
    right: 35px;
  }
}

.welcome-overlay-content {
  position: relative;
  top: 0px;
  width: 100%;
  text-align: center;
  z-index: 5;
}

.woc {
  width: 100%;
  height: 100vh;
  float: left;
  background: url("../img/img_landing_left.jpg") no-repeat left;
}

.woc h2 {
  font-size: 5rem;
}

.woc p {
  font-size: 2.4rem;
}

.woc-top {
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
}

.woc-top .woc-logo {
  width: 75%;
  float: left;
}

@media (min-width: 768px) {
  .woc-top .woc-logo {
    float: none;
  }
}

@media (min-width: 1024px) {
  .woc-top .woc-logo {
    width: auto;
  }
}

.woc-right {
  background: url("../img/img_landing_right.jpg") no-repeat right;
}

.woc-left,
.woc-right {
  width: 50%;
  float: left;
  height: 100vh;
  padding: 15% 10% 0 10%;
}

.woc-bottom {
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  height: 300px;
  top: 250px;
}

@media (min-width: 375px) {
  .woc-bottom {
    top: 300px;
  }
}

@media (min-width: 768px) {
  .woc-bottom {
    top: 400px;
  }
}

@media (min-width: 1024px) {
  .woc-bottom {
    top: 500px;
  }
}

.woc-btn {
  min-width: 50%;
  color: #fff !important;
  cursor: pointer;
  display: block;
  font-size: 16px;
  font-weight: 400;
  line-height: 45px;
  margin: 0 auto 2em;
  max-width: 400px;
  text-decoration: none;
  text-transform: uppercase;
  border: 1px solid;
  overflow: hidden;
  position: relative;
  border-radius: 10px;
  padding: 0px 5px;
  box-shadow: none;
}

@media (min-width: 768px) {
  .woc-btn {
    min-width: auto;
    width: 50%;
  }
}

@media (min-width: 1200px) {
  .woc-btn {
    width: 100%;
    min-width: auto;
  }
}

.woc-btn span {
  font-size: 1.5rem;
  font-weight: 100;
  line-height: 2em;
}

@media (min-width: 768px) {
  .woc-btn span {
    font-size: 1.5em;
    font-weight: 100;
    line-height: 2em;
  }
}

@media (min-width: 1200px) {
  .woc-btn span {
    font-size: 1.8em;
    font-weight: 100;
    line-height: 2em;
  }
}

@media (min-width: 1440px) {
  .woc-btn span {
    font-size: 2em;
    font-weight: 100;
    line-height: 2em;
  }
}

.woc-btn:hover, .woc-btn:focus, .woc-btn:active {
  background: rgba(255, 255, 255, 0.2);
  box-shadow: none;
}

/********************* Menu Overlay Specific ********************/
.menu-overlay {
  /* Height & width depends on how you want to reveal the overlay (see JS below) */
  height: 100%;
  width: 0;
  position: fixed;
  /* Stay in place */
  z-index: 3;
  /* Sit on top */
  right: 0;
  top: 0;
  /* Black w/opacity */
  overflow-x: hidden;
  /* Disable horizontal scroll */
  transition: 0.5s;
  background: #011a34;
  background: -moz-linear-gradient(-45deg, rgba(1, 26, 52, 0.9) 0%, rgba(0, 102, 147, 0.9) 100%);
  background: -webkit-linear-gradient(-45deg, rgba(1, 26, 52, 0.9) 0%, rgba(0, 102, 147, 0.9) 100%);
  background: linear-gradient(135deg, rgba(1, 26, 52, 0.9) 0%, rgba(0, 102, 147, 0.9) 100%);
}

.menu-overlay a {
  color: #fff;
}

.openMenuBtn {
  z-index: 2;
  position: fixed;
  top: 10px;
  right: 0;
  font-size: 35px;
  width: 54px;
  height: 27px;
  cursor: pointer;
  background-size: cover;
}

@media (min-width: 768px) {
  .openMenuBtn {
    top: 25px;
    right: 35px;
    background: url(../img/heaven.png) no-repeat center center;
    background-size: cover;
  }
}

.menu-content {
  top: 10%;
  width: 50%;
  margin: 0 auto;
}

@media (min-width: 768px) {
  .menu-content {
    width: 100%;
  }
}

.menu-content a {
  font-size: 2.8rem;
  color: #fff;
  border-bottom: 1px solid rgba(39, 147, 209, 0.8);
  padding: 5px 0px;
  width: 70%;
  margin: 0 auto;
}

.menu-content a:last-child {
  border: none;
}

@media (min-width: 768px) {
  .menu-content a {
    font-size: 2em;
    width: 33%;
  }
}

@media (min-width: 1024px) {
  .menu-content a {
    font-size: 2em;
    width: 20%;
  }
}

@media (min-width: 1440px) {
  .menu-content a {
    font-size: 2em;
  }
}

.menu-footer {
  text-align: center;
  position: absolute;
  left: 0;
  bottom: 0;
  margin-left: 0;
  margin-right: 0;
  height: auto;
  width: 100%;
  padding: 0 5%;
}

.menu-footer div {
  width: 100%;
  float: left;
  padding-bottom: 10px;
}

@media (min-width: 768px) {
  .menu-footer {
    padding: 0;
  }
  .menu-footer div {
    width: 33.333%;
  }
}

@media (min-width: 992px) {
  .menu-footer {
    padding: 0 20%;
  }
}

.menu-footer div:last-child {
  display: none;
}

@media (min-height: 800px) and (min-width: 320px) {
  .menu-footer div:last-child {
    display: inline-block;
  }
}

@media (min-height: 620px) and (min-width: 768px) {
  .menu-footer div:last-child {
    display: inline-block;
  }
}

.menu-footer div:last-child a {
  display: inline-block;
}

.menu-footer div:nth-child(2) {
  display: none;
}

@media (min-height: 680px) and (min-width: 320px) {
  .menu-footer div:nth-child(2) {
    display: inline-block;
  }
}

@media (min-height: 620px) and (min-width: 768px) {
  .menu-footer div:nth-child(2) {
    display: inline-block;
  }
}

.menu-footer div:nth-child(2) a {
  display: inline-block;
}

.menu-footer div:nth-child(1) {
  display: none;
}

@media (min-height: 530px) and (min-width: 320px) {
  .menu-footer div:nth-child(1) {
    display: inline-block;
    float: none;
  }
}

@media (min-height: 620px) and (min-width: 768px) {
  .menu-footer div:nth-child(1) {
    display: inline-block;
    float: left;
  }
}

.menu-footer div:nth-child(1) a {
  display: inline-block;
}

/********************* Slide Overlay Specific **********************/
.slide-overlay {
  /* Height & width depends on how you want to reveal the overlay (see JS below) */
  height: 100%;
  width: 0;
  position: fixed;
  /* Stay in place */
  z-index: 3;
  /* Sit on top */
  right: 0;
  top: 0;
  /* Black w/opacity */
  overflow-x: hidden;
  /* Disable horizontal scroll */
  transition: 0.5s;
  background: #011a34;
  background: -moz-linear-gradient(-45deg, rgba(1, 26, 52, 0.9) 0%, rgba(0, 102, 147, 0.9) 100%);
  background: -webkit-linear-gradient(-45deg, rgba(1, 26, 52, 0.9) 0%, rgba(0, 102, 147, 0.9) 100%);
  background: linear-gradient(135deg, rgba(1, 26, 52, 0.9) 0%, rgba(0, 102, 147, 0.9) 100%);
}

.slide-overlay a {
  color: #fff;
}

.slide-content {
  top: 10%;
  width: 75%;
  margin: 0 auto;
}

@media (min-width: 768px) {
  .slide-content {
    top: 20%;
  }
}

.slide-content a {
  font-size: auto;
  color: #fff;
}

.slide-content-left,
.slide-content-right {
  float: left;
}

.slide-content-left {
  text-align: left;
  width: 100%;
  padding-right: 2%;
}

.slide-content-left div {
  margin: 0;
}

.slide-content-left div p {
  font-size: 1.4rem;
  line-height: 1.8;
}

.slide-content-left img {
  width: 100%;
  margin: 0;
}

@media (min-width: 768px) {
  .slide-content-left {
    width: 35%;
  }
  .slide-content-left h1 {
    font-size: 4.8rem;
  }
}

.slide-content-right {
  width: 100%;
}

@media (min-width: 768px) {
  .slide-content-right {
    width: 60%;
  }
}

.sc-btn {
  color: #fff !important;
  cursor: pointer;
  display: block;
  font-size: 16px;
  font-weight: 400;
  line-height: 45px;
  margin: 0 auto 2em;
  text-decoration: none;
  text-transform: uppercase;
  vertical-align: middle;
  width: 100%;
  border: 1px solid;
  overflow: hidden;
  position: relative;
  border-radius: 20px;
}

.slide-overlay .closebtn {
  position: absolute;
  top: 20px;
  right: 45px;
  font-size: 60px;
  z-index: 20;
}

/**************** Career View Overlay *************************/
.career-overlay {
  /* Height & width depends on how you want to reveal the overlay (see JS below) */
  height: 0;
  width: 100%;
  position: fixed;
  /* Stay in place */
  z-index: 3;
  /* Sit on top */
  right: 0;
  top: 0;
  /* Black w/opacity */
  overflow-x: hidden;
  /* Disable horizontal scroll */
  transition: 0.5s;
  background: #011a34;
  background: -moz-linear-gradient(-45deg, rgba(1, 26, 52, 0.9) 0%, rgba(0, 102, 147, 0.9) 100%);
  background: -webkit-linear-gradient(-45deg, rgba(1, 26, 52, 0.9) 0%, rgba(0, 102, 147, 0.9) 100%);
  background: linear-gradient(135deg, rgba(1, 26, 52, 0.9) 0%, rgba(0, 102, 147, 0.9) 100%);
}

.career-overlay .closebtn {
  position: absolute;
  top: 20px;
  right: 45px;
  font-size: 60px;
  z-index: 3;
  color: #eee;
}

.career-content {
  text-align: left;
  position: relative;
  top: 5%;
  width: 50%;
  margin: 0 auto;
}

.career-content a {
  color: #eee;
}

.career-content .headings,
.career-content .TblContent {
  padding: 5px;
}

.career-content .buttonAlign {
  margin: 0 auto;
}

.career-content .btnApply {
  color: #fff !important;
  cursor: pointer;
  display: block;
  font-size: 16px;
  font-weight: 400;
  line-height: 45px;
  text-decoration: none;
  text-transform: uppercase;
  border: 1px solid;
  overflow: hidden;
  position: relative;
  border-radius: 10px;
  width: 200px;
  text-align: center;
}

.careers {
  width: 100%;
  display: block;
}

/***************** Map Overlay **************************/
.map-overlay {
  /* Height & width depends on how you want to reveal the overlay (see JS below) */
  height: 0;
  width: 100%;
  position: fixed;
  /* Stay in place */
  z-index: 3;
  /* Sit on top */
  right: 0;
  bottom: 0;
  /* Black w/opacity */
  overflow-x: hidden;
  /* Disable horizontal scroll */
  transition: 0.5s;
  background: #011a34;
  background: -moz-linear-gradient(-45deg, rgba(1, 26, 52, 0.9) 0%, rgba(0, 102, 147, 0.9) 100%);
  background: -webkit-linear-gradient(-45deg, rgba(1, 26, 52, 0.9) 0%, rgba(0, 102, 147, 0.9) 100%);
  background: linear-gradient(135deg, rgba(1, 26, 52, 0.9) 0%, rgba(0, 102, 147, 0.9) 100%);
}

.map-frame {
  width: 100%;
  margin-top: 50%;
  height: 300px;
}

@media (min-width: 758px) {
  .map-frame {
    margin-top: 30%;
    height: 400px;
  }
}

@media (min-width: 1024px) {
  .map-frame {
    margin-top: 25%;
    height: 500px;
  }
}

.map-overlay a {
  color: #fff;
}

.map-content {
  top: 10%;
  width: 75%;
  margin: 0 auto;
}

@media (min-width: 768px) {
  .map-content {
    top: 20%;
  }
}

.map-content a {
  font-size: auto;
  color: #fff;
}

.map-content-left,
.map-content-right {
  float: left;
}

.map-content-left {
  text-align: left;
  width: 100%;
  padding-right: 2%;
}

.map-content-left div {
  margin: 15% 0;
}

.map-content-left img {
  width: 100%;
}

@media (min-width: 768px) {
  .map-content-left {
    width: 30%;
  }
  .map-content-left h1 {
    font-size: 2.8rem;
  }
}

.map-content-right {
  width: 100%;
}

@media (min-width: 768px) {
  .map-content-right {
    width: 65%;
  }
}

.map-overlay .closebtn {
  position: absolute;
  top: 20px;
  right: 45px;
  font-size: 60px;
  z-index: 3;
}

/***************** Message Overlay **************************/
.message-overlay {
  /* Height & width depends on how you want to reveal the overlay (see JS below) */
  height: 0;
  width: 100%;
  position: fixed;
  /* Stay in place */
  z-index: 3;
  /* Sit on top */
  right: 0;
  bottom: 0;
  /* Black w/opacity */
  overflow-x: hidden;
  /* Disable horizontal scroll */
  transition: 0.5s;
  background: #011a34;
  background: -moz-linear-gradient(-45deg, rgba(1, 26, 52, 0.9) 0%, rgba(0, 102, 147, 0.9) 100%);
  background: -webkit-linear-gradient(-45deg, rgba(1, 26, 52, 0.9) 0%, rgba(0, 102, 147, 0.9) 100%);
  background: linear-gradient(135deg, rgba(1, 26, 52, 0.9) 0%, rgba(0, 102, 147, 0.9) 100%);
}

.message-overlay a {
  color: #fff;
}

.message-content {
  top: 15%;
  width: 75%;
  margin: 0 auto;
  position: relative;
  text-align: left;
}

@media (min-width: 768px) {
  .message-content {
    top: 20%;
  }
}

@media (min-width: 1024px) {
  .message-content {
    width: 30%;
  }
}

.message-content label {
  margin: 0 10px;
}

.message-content input,
.message-content textarea {
  margin: 10px 0 20px 0;
  height: 40px;
  border-radius: 0;
  padding: 10px;
  width: 100%;
  color: #fff;
  font-size: 2rem;
}

.message-content textarea {
  height: 100px;
}

.message-content .contact-btn {
  color: #fff !important;
  cursor: pointer;
  display: block;
  font-size: 16px;
  font-weight: 400;
  text-decoration: none;
  text-transform: uppercase;
  border: 1px solid;
  overflow: hidden;
  position: relative;
  border-radius: 10px;
  width: 200px;
  text-align: center;
  background-color: transparent;
  margin: 0 auto;
}

.message-overlay .closebtn {
  position: absolute;
  top: 20px;
  right: 45px;
  font-size: 60px;
  z-index: 3;
}

.fa {
  font-size: 2rem;
  border-radius: 50%;
  color: #0e549f;
  background: #fff;
  padding: 10px;
}

.faArrow {
  font-size: 10rem;
  border-radius: 50%;
  color: #fff;
  background: transparent;
}

.fa:hover, .fa:focus, .fa:active {
  color: #E05054;
  cursor: pointer;
}

.fa-instagram {
  padding-left: 11px;
  padding-right: 11px;
}

.fa-linkedin {
  padding-left: 11px;
  padding-right: 11px;
}

.fa-facebook {
  padding-left: 14px;
  padding-right: 14px;
}

i.fa.fa-bars {
  background: transparent;
  color: rgba(0, 102, 147, 0.9);
  font-size: 3rem;
  padding: 0;
  font-weight: 100;
}

@media (min-width: 768px) {
  i.fa.fa-bars {
    display: none;
  }
}

/* -------------------------------- 

Primary style

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

html {
  font-size: 62.5%;
}

body {
  font-size: 1.6rem;
  font-family: "Open Sans", sans-serif;
  color: #ffffff;
  background-color: #22283f;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body::before {
  /* never visible - this is used in jQuery to check the current MQ */
  content: 'mobile';
  display: none;
}

@media only screen and (min-width: 1050px) {
  body::before {
    /* never visible - this is used in jQuery to check the current MQ */
    content: 'desktop';
  }
}

a {
  color: white;
  text-decoration: none;
}

a:hover + a:focus + a:active {
  color: #cfc8c8 !important;
  text-decoration: none;
}

a:hover {
  color: #E05054;
}

#FWsection0 .container {
  width: 100%;
  padding-left: 0%;
  padding-right: 0%;
}

@media (min-width: 768px) {
  #FWsection0 .container {
    padding-left: 0px !important;
    padding-right: 0px !important;
  }
}

.slick-dotted.slick-slider {
  z-index: 1;
  position: relative;
}

.breadcrumb-container {
  background: none;
  position: absolute;
  top: 1%;
  margin-left: 25%;
  margin-top: 1%;
  display: none;
}

@media (min-width: 768px) {
  .breadcrumb-container {
    display: block;
  }
}

.cd-section {
  overflow: hidden;
  height: 100vh;
  text-align: center;
  background: #011a34;
  /* Old browsers */
  background: -moz-linear-gradient(-45deg, #011a34 0%, #006693 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(-45deg, #011a34 0%, #006693 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(135deg, #011a34 0%, #006693 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

.cd-section-single {
  overflow: hidden;
  height: auto;
  text-align: center;
  background: #011a34;
  /* Old browsers */
  background: -moz-linear-gradient(-45deg, #011a34 0%, #006693 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(-45deg, #011a34 0%, #006693 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(135deg, #011a34 0%, #006693 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

@media (min-width: 768px) {
  .cd-section-single {
    min-height: 900px;
  }
}

.project-section-single {
  overflow: hidden;
  text-align: center;
  background: #011a34;
  /* Old browsers */
  background: -moz-linear-gradient(-45deg, #011a34 0%, #006693 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(-45deg, #011a34 0%, #006693 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(135deg, #011a34 0%, #006693 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  height: auto;
}

@media (min-width: 768px) {
  .project-section-single {
    height: 100%;
  }
}

@media (min-width: 768px) {
  .project-section-single {
    min-height: unset;
  }
}

@media (min-width: 1440px) {
  .project-section-single {
    min-height: 900px;
  }
}

.main-project-section {
  height: 100%;
}

.pagination-section {
  height: 100%;
}

.career-section-single {
  overflow: hidden;
  padding-top: 7% !important;
  height: 100%;
  text-align: center;
  background: #011a34;
  background: -moz-linear-gradient(-45deg, #011a34 0%, #006693 100%);
  background: -webkit-linear-gradient(-45deg, #011a34 0%, #006693 100%);
  background: linear-gradient(135deg, #011a34 0%, #006693 100%);
}

@media (min-width: 768px) {
  .career-section-single {
    min-height: 900px;
  }
}

.story-section {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.cd-section-single.story-section {
  padding-top: 0 !important;
  min-height: initial;
}

.story-section-single {
  overflow: hidden;
  text-align: center;
  background: #011a34;
  background: -moz-linear-gradient(-45deg, #011a34 0%, #006693 100%);
  background: -webkit-linear-gradient(-45deg, #011a34 0%, #006693 100%);
  background: linear-gradient(135deg, #011a34 0%, #006693 100%);
  height: auto;
}

@media (min-width: 768px) {
  .story-section-single {
    height: 100%;
  }
}

.story-panel {
  height: 100%;
}

@media (min-width: 768px) {
  .story-panel {
    display: flex !important;
    align-items: center;
    justify-content: center;
  }
}

.story-panel .left {
  text-align: center;
}

.story-panel .left img {
  margin-left: auto;
  margin-right: auto;
  margin-top: 85px;
  margin-bottom: 20px;
  padding-left: 50px;
  padding-right: 50px;
}

@media (min-width: 768px) {
  .story-panel .left img {
    margin-top: 0;
    margin-bottom: 0;
    padding-left: 0;
    padding-right: 0;
  }
}

.story-panel .left .section-copy {
  margin: 0 5% 0 5%;
}

@media (min-width: 768px) {
  .story-panel .left .section-copy {
    margin: 0% 25% 0 25%;
  }
}

@media (min-width: 1024px) {
  .story-panel .left .section-copy {
    margin: 0% 10% 0 10%;
  }
}

@media (min-width: 1440px) {
  .story-panel .left .section-copy {
    margin: 0% 25% 0 25%;
  }
}

.story-panel .right {
  text-align: center;
}

.story-panel .right img {
  margin-left: auto;
  margin-right: auto;
  margin-top: 85px;
  margin-bottom: 20px;
  padding-left: 50px;
  padding-right: 50px;
}

@media (min-width: 768px) {
  .story-panel .right img {
    margin-top: 0;
    margin-bottom: 0;
    padding-left: 0;
    padding-right: 0;
  }
}

.story-panel .right .section-copy {
  margin: 0 5% 0 5%;
}

@media (min-width: 768px) {
  .story-panel .right .section-copy {
    margin: 0% 25% 0 25%;
  }
}

@media (min-width: 1024px) {
  .story-panel .right .section-copy {
    margin: 0% 10% 0 10%;
  }
}

@media (min-width: 1440px) {
  .story-panel .right .section-copy {
    margin: 0% 25% 0 25%;
  }
}

.work-overview-section {
  overflow: inherit;
  height: auto;
  max-height: initial !important;
}

.work-overview-section .footer-container {
  bottom: unset;
}

.client-overview-section {
  overflow: initial;
  max-height: initial !important;
  min-height: unset;
}

@media (min-width: 768px) {
  .client-overview-section {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-content: center;
    justify-content: center;
  }
}

.client-overview-section .footer-container {
  bottom: 0%;
}

.client-overview-section .inner-page-content {
  padding: 70px 0px;
}

@media (min-width: 768px) {
  .client-overview-section .inner-page-content {
    padding: 0;
  }
}

.services-section-single {
  height: auto;
}

@media (min-width: 768px) {
  .services-section-single {
    height: 100%;
  }
}

@media (min-width: 768px) {
  .services-section-single .intial-container {
    display: flex;
  }
}

@media (min-width: 768px) {
  .services-section-single {
    display: flex;
    align-items: center;
  }
}

.full-careers {
  margin-top: 20%;
}

@media (min-width: 768px) {
  .full-careers {
    margin-top: 2%;
  }
}

.portfolio {
  margin-top: 5px;
}

@media (min-width: 768px) {
  .portfolio .inner {
    padding: 0px 15%;
  }
}

.portfolio .left img {
  margin: 0 auto;
  margin-bottom: 30px;
  width: 60%;
}

@media (min-width: 768px) {
  .portfolio .left img {
    width: 50%;
  }
}

@media (min-width: 1440px) {
  .portfolio .left img {
    margin: 0 auto;
  }
}

.portfolio .left .content {
  margin-top: -50px;
}

.portfolio .right {
  padding: 0px 50px;
}

@media (min-width: 768px) {
  .portfolio .row {
    display: flex !important;
    align-items: center;
    justify-content: center;
  }
}

.featured-solution {
  background: #fff;
  border-radius: 20px;
  width: 100%;
  height: 120px;
  margin-top: 20px;
  margin-bottom: 20px;
  margin-left: auto;
  margin-right: auto;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

@media (min-width: 768px) {
  .featured-solution {
    width: 35%;
    height: 130px;
    margin-top: 10px;
    margin-bottom: 10px;
    margin-left: 10px;
    margin-right: 10px;
  }
}

@media (min-width: 1440px) {
  .featured-solution {
    height: 150px;
    margin-left: 10px;
    margin-right: 10px;
    margin-top: 10px;
    margin-bottom: 10px;
  }
}

.featured-solution img {
  margin-left: auto;
  margin-right: auto;
}

.detailed-solution {
  background: #fff;
  border-radius: 20px;
  width: auto;
  height: 120px;
  margin-top: 20px;
  margin-bottom: 20px;
  margin-left: auto;
  margin-right: auto;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

@media (min-width: 768px) {
  .detailed-solution {
    width: 400px;
    height: 130px;
  }
}

.detailed-solution img {
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px;
}

@media (min-width: 768px) {
  .featured-solutions-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
  }
}

@media (min-width: 768px) {
  .solution-block {
    margin-top: 50px;
    margin-bottom: 50px;
    min-height: 450px;
    max-height: 450px;
    overflow-y: hidden;
  }
}

.solution-block .section-copy {
  padding-left: 10px;
  padding-right: 10px;
}

@media (min-width: 768px) {
  .solution-block .section-copy {
    padding-left: 100px;
    padding-right: 100px;
  }
}

.container.scroller-container {
  position: fixed;
  bottom: 0;
  width: 100%;
  text-align: center;
  z-index: 3;
}

.scroll-icon .fa {
  background: transparent;
  color: #fff;
  font-size: 2em;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

@media (min-width: 768px) {
  .scroll-icon .fa {
    font-size: 3em;
  }
}

.text-ad-links {
  display: none;
}

.portfolio-section .left {
  padding: 0;
}

.portfolio-section .right {
  padding: 0;
}

@media (min-width: 768px) {
  .portfolio-section .right {
    padding: 0;
  }
}

.project-page-link {
  position: relative;
}

.project-page-link h1 {
  font-weight: 300;
  color: #fff;
  font-size: 1.5em;
}

@media (min-width: 768px) {
  .project-page-link h1 {
    font-size: 2.5em;
  }
}

@media (min-width: 1440px) {
  .project-page-link h1 {
    font-size: 4.8rem;
  }
}

.panel-previous {
  display: flex !important;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.panel-next {
  display: flex !important;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.next-prev-fa {
  font-size: 3rem;
  border-radius: 0;
  padding: 0;
  background: none;
  color: #fff;
  font-weight: 100;
}

@media (min-width: 768px) {
  .next-prev-fa {
    font-size: 8rem;
  }
}

.portfolio-panel {
  height: 100%;
}

@media (min-width: 768px) {
  .portfolio-panel {
    display: flex !important;
    align-items: center;
    justify-content: center;
  }
}

.portfolio-panel .left img {
  margin-left: auto;
  margin-right: auto;
}

.portfolio-panel .right img {
  margin-left: auto;
  margin-right: auto;
}

.left .section-copy {
  margin: 0 5% 0 5%;
}

@media (min-width: 768px) {
  .left .section-copy {
    margin: 0 25% 0 25%;
  }
}

.left .section-copy img {
  width: 50%;
}

@media (min-width: 768px) {
  .left .section-copy img {
    width: auto;
  }
}

.right .section-copy {
  margin: 0 5% 0 5%;
}

@media (min-width: 768px) {
  .right .section-copy {
    margin: 0 25% 0 25%;
  }
}

.right .section-copy img {
  width: 50%;
}

@media (min-width: 768px) {
  .right .section-copy img {
    width: auto;
  }
}

.section-copy h1 {
  font-size: 1.5em;
}

@media (min-width: 768px) {
  .section-copy h1 {
    font-size: 2em;
  }
}

@media (min-width: 1440px) {
  .section-copy h1 {
    font-size: 4.8rem;
  }
}

.section-copy p {
  font-size: 1.1em;
  line-height: 1.1;
}

@media (min-width: 768px) {
  .section-copy p {
    font-size: 0.9em;
    line-height: normal;
  }
}

@media (min-width: 1440px) {
  .section-copy p {
    font-size: 1.8rem;
  }
}

.vert {
  transform: rotate(90deg);
  position: relative;
  right: -300px;
  top: -300px;
  float: right;
  display: none;
}

.vert span {
  font-size: 140px;
  line-height: 0px;
  bottom: 0px;
  position: relative;
  opacity: 0.2;
  font-weight: bold;
}

.section-vert {
  transform: rotate(90deg);
  position: relative;
  left: -350px;
  top: -60%;
  float: left;
  display: none;
}

.section-vert span {
  font-size: 140px;
  line-height: 0px;
  bottom: 0px;
  position: relative;
  opacity: 0.2;
  font-weight: bold;
}

@media (min-width: 768px) {
  .col-xs-12.col-md-7.right {
    top: unset;
  }
}

@media (min-width: 768px) {
  .col-xs-12.col-md-5.left {
    top: unset;
  }
}

.bg-container-section {
  height: 100%;
}

.breadcrumb > li + li:before {
  padding: 0 5px;
  color: #ccc;
  content: "\003e";
}

.breadcrumb > ul > li > a:hover + a:focus + a:active {
  color: rgba(255, 255, 255, 0.2);
  text-decoration: none;
}

.breadcrumb {
  float: left;
  background: none;
}

.breadcrumb > .active {
  color: white;
}

.footer-content {
  list-style: none;
}

.footer-inner.footer-top .footer-content li {
  float: left;
  padding-left: 5px;
  padding-right: 5px;
  font-weight: 100;
  font-size: 14px !important;
}

.footer img {
  margin-left: auto;
  margin-right: auto;
}

.footer-container {
  position: relative;
  bottom: 0;
  margin: 0 auto;
}

.navConBar {
    margin-top: 20px;
}

.contact-number {
  margin-top: 6px;
}

.social {
    width: fit-content;
    margin: 50px auto;
}

.highlight-text {
    font-size: 1.2em;
    font-weight: 100;
    padding-left: 5px;
    padding-right: 5px;
    display: flex;
    text-align: center;
    width: fit-content;
    margin: 0 auto;
}

@media (min-width: 768px) {
  .footer-container {
    bottom: -25%;
    padding-right: 75px;
    padding-left: 75px;
  }
}

@media (min-width: 992px) {
  .footer-container {
    padding-right: 75px;
    padding-left: 75px;
  }
}

@media screen and (min-width: 968px) {
  .social {
      width: fit-content;
      margin: 0;
  }

  .highlight-text {
    font-size: 1.2em;
    font-weight: 100;
    padding-left: 5px;
    padding-right: 5px;
    display: initial;
    text-align: center;
    width: fit-content;
    margin: 0;
  }
}

@media (min-width: 1024px) {
  .footer-container {
    bottom: -15%;
    padding-right: 150px;
    padding-left: 150px;
  }
}

@media (min-width: 1440px) {
  .footer-container {
    bottom: -25%;
  }
}

@media (min-width: 1600px) {
  .footer-container {
    padding-right: 250px;
    padding-left: 250px;
  }
}

.footer-container a {
  color: #fff;
}

.footer-container a:hover {
  color: #E05054;
}

.footer-container .footer-inner {
  margin-bottom: 25px;
  float: left;
  padding: 0 0;
  display: block;
}

@media (min-width: 768px) {
  .footer-container .footer-inner {
    display: flex;
    align-items: center;
  }
}

.footer-container .inner-1 {
  width: 47%;
  padding-top: 5px;
  display: none;
}

@media (min-width: 768px) {
  .footer-container .inner-1 {
    display: initial;
  }
}

.footer-container .inner-2,
.footer-container .inner-3,
.footer-container .inner-4 {
  width: 30%;
  margin: 5px;
}

@media (min-width: 768px) {
  .footer-container .inner-2,
  .footer-container .inner-3,
  .footer-container .inner-4 {
    width: 16%;
    margin: 0;
  }
}

.footer-container .footer-btn {
  color: #fff !important;
  cursor: pointer;
  display: block;
  font-size: 16px;
  font-weight: 400;
  line-height: 25px;
  margin: 5px auto;
  text-decoration: none;
  text-transform: uppercase;
  margin-top: 0px;
  border: 1px solid;
  overflow: hidden;
  position: relative;
  border-radius: 10px;
  padding: 5px;
}

.footer-container .footer-top {
  display: none;
}

@media (min-width: 768px) {
  .footer-container .footer-top {
    display: block;
  }
}

.career-section-single .footer-container {
  bottom: 0;
}

.particles-js-canvas-el {
  position: absolute;
  top: 0px;
  z-index: 0;
  opacity: 0.4;
}

/* Company Details page */
.table-stripes > tbody > tr:nth-of-type(odd) {
  background-color: transparent;
  filter: alpha(opacity=10);
  -moz-opacity: 0.1;
  opacity: 1;
}

.table-stripes > tbody > tr:nth-of-type(even) {
  background-color: transparent;
  filter: alpha(opacity=10);
  -moz-opacity: 0.1;
  opacity: 1;
}

.table-stripes > tbody > tr > td {
  color: #ffffff;
}

.table-stripes {
  border: #ffffff;
}

.CPLink:hover {
  color: #ff5e5e;
}

/* Services */
.expand {
  cursor: pointer;
  display: inline-block;
  padding: 0 .5em;
  color: black;
  font-size: 10px;
  line-height: 2;
  border-radius: 30px;
}

.serviceStyle {
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  margin: 1%;
  padding: 1%;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

@media (min-width: 768px) {
  .serviceStyle {
    width: 22%;
  }
}

.serviceStyle > strong {
  color: #ffffff;
}

.serviceStyle > span {
  color: #1157A0;
  font-size: 11px;
}

.service-caption {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 10px;
  margin-top: 0;
}

#1::selection .serviceStyle {
  background-color: white;
}

.services-fa {
  font-size: 2rem;
  border-radius: 50%;
  color: #fff;
  background: transparent;
  padding: 0;
}

.serviceStyle.expanded {
  transition: all .1s ease-out;
  background: #fff;
  color: #0E549F;
  height: auto;
  cursor: pointer;
}

@media (min-width: 768px) {
  .serviceStyle.expanded {
    margin-bottom: 0;
    z-index: 2;
  }
}

.serviceStyle.expanded .services-fa {
  color: rgba(0, 102, 147, 0.9);
  background: transparent;
  padding: 0;
}

.serviceStyle.expanded .service-caption {
  margin-top: 10px;
}

.serviceStyle.expanded strong {
  color: #0E549F;
}

.collapse.in {
  transition: all .1s ease-out;
}

.learnMore {
  color: #0E549F;
  text-decoration: underline;
  font-weight: 600;
}

.services-overview-section {
  height: 100%;
}

@media (min-width: 768px) {
  .services-header {
    font-size: 6rem !important;
  }
}

@media (min-width: 768px) {
  .service-row {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}

.service-chevron {
  background: url(../img/Arrow_down.png);
}

.footer-content li.active {
  color: #E05054;
}

.footer i.fa {
  margin-left: 5px;
}

.chevron-scroll-down {
  background: url(/assets/img/Arrow_down.png);
  width: 65px;
  background-size: cover;
  height: 32px;
  padding: 15px;
  margin-bottom: 10px;
}

@media (min-width: 768px) {
  .chevron-scroll-down {
    padding: 15px;
  }
}

.chevron-scroll-up {
  background: url(/assets/img/Arrow_up.png);
  width: 65px;
  background-size: cover;
  height: 32px;
  padding: 15px;
  margin-bottom: 10px;
}

@media (min-width: 768px) {
  .chevron-scroll-up {
    padding: 15px;
  }
}

.chevron-previous {
  padding: 15px;
  margin-bottom: 10px;
  margin-top: 10px;
  margin-left: auto;
  margin-right: auto;
  width: 50px;
}

@media (min-width: 768px) {
  .chevron-previous {
    padding: 15px;
    width: auto;
  }
}

.chevron-next {
  padding: 15px;
  margin-bottom: 10px;
  margin-top: 10px;
  margin-left: auto;
  margin-right: auto;
  width: 50px;
}

@media (min-width: 768px) {
  .chevron-next {
    padding: 15px;
    width: auto;
  }
}

hr {
  margin-top: 0;
  margin-bottom: 10px;
}

.row.footer-img-row {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
}

.footer-bottom .contact-number {
  padding: 0 0;
  text-align: left;
  display: flex;
  justify-content: center;
  margin-bottom: 10px;
}

@media (min-width: 768px) {
  .footer-bottom .contact-number {
    justify-content: baseline;
    align-items: center;
    margin-bottom: 0;
  }
}

.footer-bottom .social-details {
  padding: 0 0;
  text-align: left;
  display: flex;
  justify-content: center;
}

@media (min-width: 768px) {
  .footer-bottom .social-details {
    justify-content: baseline;
  }
}

#FWsection1,
#FWsection2,
#FWsection3,
#FWsection4,
#FWsection5,
#FWsection6,
#FWsection7,
#FWsection8 
#FWsection9
#FWsection10{
  padding-top: 40%;
  overflow-y: visible;
  max-height: 100vh;
}

@media (min-width: 768px) {
#FWsection1,
#FWsection2,
#FWsection3,
#FWsection4,
#FWsection5,
#FWsection6,
#FWsection7,
#FWsection8 
#FWsection9
#FWsection10 {
    padding-top: 20%;
  }
}

@media (min-width: 1024px) {
#FWsection1,
#FWsection2,
#FWsection3,
#FWsection4,
#FWsection5,
#FWsection6,
#FWsection7,
#FWsection8 
#FWsection9 
#FWsection10{
    padding-top: 8%;
  }
}

.logo-container {
  cursor: pointer;
  z-index: 2;
  position: fixed;
  background: #fff;
  background-size: contain;
  height: 70px;
  width: 100%;
}

@media (min-width: 768px) {
  .logo-container {
    z-index: 4;
    width: 40%;
    background: url(../img/logo/Layer3.png) no-repeat;
    background-size: contain;
    height: 230px;
  }
}

@media (min-width: 1024px) {
  .logo-container {
    width: 25%;
  }
}

@media (min-width: 1440px) {
  .logo-container {
    width: 25%;
  }
}

.logo-container .logo-corner {
  position: relative;
  top: -15px;
  z-index: 7;
  width: 300px;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 768px) {
  .logo-container .logo-corner {
    top: 0px;
    position: absolute;
    width: auto;
  }
}

.logo-container:after {
  content: "";
  display: none;
  background: url(../img/logo/Layer2.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 230px;
  z-index: 5;
  animation: Pulsate 3s linear infinite;
}

@media (min-width: 768px) {
  .logo-container:after {
    display: block;
  }
}

.logo-container:before {
  content: "";
  display: none;
  background: url(../img/logo/Layer1.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 230px;
  z-index: 6;
  animation: Pulsate 4s linear infinite;
}

@media (min-width: 768px) {
  .logo-container:before {
    display: block;
  }
}

@keyframes Pulsate {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.cd-vertical-nav {
  list-style: none;
  z-index: 2;
}

.nav-active.active::before {
  background: rgba(255, 255, 255, 0.2);
}

.client-triangles {
  margin: 0 auto;
  padding: 0 17%;
}

.client-triangles .diamond-box {
  border: none;
}

.slider-info h2,
.slider-info h3,
.slider-info p {
  margin: 25px 0;
}

.slider-info .cd-btn {
  margin: 40px 25px;
}

@media (min-width: 1024px) {
  .slider-info h3 {
    margin: 25px 50px;
  }
}

@media (min-width: 1440px) {
  .slider-info h3 {
    margin: 25px 25px;
  }
}

.bot-buttons {
  position: absolute;
  bottom: 5%;
  width: 100%;
  display: none;
}

@media (min-width: 1366px) {
  .bot-buttons {
    bottom: 4%;
    width: 100%;
    display: none;
  }
}

.bot-buttons .btn {
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}

.story-container {
  position: relative;
}

.story-container:before {
  top: 0;
  left: 0;
  border-width: 1px 0 0 1px;
}

.story-container:after {
  top: 0;
  right: 0;
  border-width: 1px 1px 0 0;
}

.story-container > :first-child:before {
  bottom: 0;
  right: 0;
  border-width: 0 1px 1px 0;
}

.story-container > :first-child:after {
  bottom: 0;
  left: 0;
  border-width: 0 0 1px 1px;
}

.contact-container:before {
  left: 25%;
}

.contact-container:after {
  right: 25%;
}

.contact-container > :first-child:before {
  right: 25%;
}

.contact-container > :first-child:after {
  left: 25%;
}

.contact-need-room {
  padding-top: 0;
  padding-bottom: 20px;
}

@media (min-width: 768px) {
  .contact-need-room {
    padding-bottom: 80px;
  }
}

/********** Masonry ***********/
/* clear fix */
.fancybox-image {
  transform: scale(1);
}

.m-grid {
  background-color: rgba(255, 255, 255, 0.1);
  padding-bottom: 10px;
}

.m-grid:after {
  content: '';
  display: block;
  clear: both;
}

/* ---- .grid-item ---- */
.m-grid-sizer,
.m-grid-item {
  width: 49%;
}

.m-grid-item {
  height: 150px;
  float: left;
  padding: 10px;
  overflow: hidden;
}

@media (min-width: 1024px) {
  .m-grid-item {
    height: 200px;
  }
}

.m-grid-item img {
  display: block;
  max-width: 100%;
  -webkit-transition: all 200ms ease-in;
  -webkit-transform: scale(1);
  -ms-transition: all 200ms ease-in;
  -ms-transform: scale(1);
  -moz-transition: all 200ms ease-in;
  -moz-transform: scale(1);
  transition: all 200ms ease-in;
  transform: scale(1);
}

.m-grid-item:hover {
  overflow: visible;
  height: auto;
  box-shadow: 0px 0px 150px #000000;
  z-index: 2;
  -webkit-transition: all 200ms ease-in;
  -webkit-transform: scale(1.2);
  -ms-transition: all 200ms ease-in;
  -ms-transform: scale(1.2);
  -moz-transition: all 200ms ease-in;
  -moz-transform: scale(1.2);
  transition: all 200ms ease-in;
  transform: scale(1.2);
}

.career-full {
  flex-basis: 31%;
  margin: 1%;
  padding: 1%;
  width: 30%;
}

.career-row {
  display: flex;
  flex-wrap: wrap;
}

.career-block.career-full {
  min-width: 80%;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 768px) {
  .career-block.career-full {
    min-width: auto;
  }
}

.preview-careers {
  padding: 0;
  margin-bottom: 5%;
}

@media (min-width: 768px) {
  .preview-careers {
    padding: 0 10%;
    margin-bottom: 0;
  }
}

.full-careers {
  padding: 0 10%;
}

.career-inner {
  display: block;
}

@media (min-width: 768px) {
  .career-inner {
    display: flex;
  }
}

.career-block {
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 15px;
  flex-basis: 31%;
  margin: 1%;
  padding: 1%;
  min-width: 100%;
}

@media (min-width: 768px) {
  .career-block {
    flex-wrap: wrap;
    min-width: auto;
    width: 31%;
    margin-left: auto;
    margin-right: auto;
  }
}

.career-block a {
  color: #fff !important;
  cursor: pointer;
  display: block;
  font-size: 16px;
  font-weight: 400;
  line-height: 25px;
  margin: 5px auto;
  text-decoration: none;
  text-transform: uppercase;
  width: 50%;
  border: 1px solid;
  overflow: hidden;
  position: relative;
  border-radius: 10px;
  padding: 5px;
}

.career-block p {
  font-size: 2rem;
  line-height: 30px;
  min-height: 155px;
  overflow: hidden;
}

.career-block .career-title {
  margin-top: 0px;
  text-transform: uppercase;
  font-weight: 700;
  /* height: 20%; */
  font-size: 1.4rem;
  width: auto;
  white-space: normal;
  overflow: hidden;
}

@media (min-width: 768px) {
  .career-block .career-title {
    font-size: 2.4rem;
    white-space: normal;
  }
}

.career-block hr {
  margin-bottom: 5px;
  margin-right: auto;
  margin-left: auto;
  display: none;
}

@media (min-width: 768px) {
  .career-block hr {
    width: 75%;
    display: block;
  }
}

.career-disc {
  margin: 0 0 10px;
  font-size: 1.2rem;
  max-height: 56px;
  overflow: hidden;
  display: none;
}

@media (min-width: 768px) {
  .career-disc {
    display: initial;
  }
}

.career-disc p {
  font-size: 1.5rem;
}

.career-full .career-disc {
  display: initial;
}

#career-slider .slick-prev {
  left: -10%;
}

@media (min-width: 768px) {
  #career-slider .slick-prev {
    left: -5%;
  }
}

#career-slider .slick-next {
  right: -20px;
}

@media (min-width: 768px) {
  #career-slider .slick-next {
    right: -25px;
  }
}

#career-slider .slick-next:before, #career-slider .slick-prev:before {
  font-size: 60px;
}

@media (min-width: 768px) {
  #career-slider .slick-next:before, #career-slider .slick-prev:before {
    font-size: 97px;
  }
}

.view-tenth {
  width: 48%;
  float: left;
  height: 160px;
  padding: 0 15px;
}

.view-tenth p {
  max-height: 43px;
  overflow: hidden;
}

.view-tenth h2 {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.intro-text {
  font-size: 1.5em;
}

.ourwork-headers {
  margin-top: -30px;
  font-size: 5rem;
}

.ourwork-headers h2 {
  font-size: 3rem;
}

@media (min-width: 768px) {
  .ourwork-headers h2 {
    font-size: 5rem;
  }
}

.ourwork-headers h3 {
  font-size: 3rem;
  font-weight: 400;
}

@media (min-width: 768px) {
  .ourwork-headers h3 {
    font-size: 6rem;
  }
}

@media (min-width: 1024px) {
  .ourwork-headers h3 {
    font-size: 4rem;
  }
}

@media (min-width: 1440px) {
  .ourwork-headers h3 {
    font-size: 6rem;
  }
}

.menu-footer h3 {
  margin-top: 0;
}

#balls-container {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 1px;
}

#info {
  position: absolute;
  left: 20px;
  margin-top: 20%;
  opacity: 0.3;
}

/***************** LAMP **********************/
*,
*:before,
*:after {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.digital-pr-graphics {
  position: absolute;
  width: 100%;
  height: 100%;
  margin-bottom: -200px;
  overflow: hidden;
  display: none;
}

@media (min-width: 768px) {
  .digital-pr-graphics {
    display: block;
  }
}

.digital-pr-graphics .fa {
  font-size: 5rem;
  border-radius: 50%;
  color: rgba(0, 102, 147, 0.9);
  background: transparent;
  padding: 10px;
}

.digital-pr-graphics .col-xs-2.megaphone {
  border: 0;
  transform: rotate(-30deg);
  margin-top: 25%;
  margin-left: -20%;
}

.digital-pr-graphics .col-xs-2.desktop {
  margin-top: 10%;
}

.digital-pr-graphics .col-xs-2.laptop {
  margin-top: 25%;
}

.digital-pr-graphics .col-xs-2.twitter {
  margin-left: -20%;
  transform: rotate(30deg);
}

.digital-pr-graphics .col-xs-2.cellphone {
  margin-top: 15%;
  transform: rotate(50deg);
}

.digital-pr-graphics .col-xs-2.cloud-upload {
  margin-top: -10%;
  transform: rotate(-23deg);
}

.digital-pr-graphics .col-xs-2.cloud-download {
  margin-top: 10%;
  margin-left: -30%;
}

.digital-pr-graphics .col-xs-2 {
  padding-top: 10px;
  padding-bottom: 10px;
  margin: 10px;
}

.digital-pr-graphics .detail-icons {
  width: 50%;
  margin-left: -15%;
  margin-top: 5%;
}

#lamp {
  position: relative;
  top: -175px;
  width: 100%;
  height: 300px;
  margin-bottom: -200px;
  overflow: hidden;
}

@media (min-width: 768px) {
  #lamp {
    top: -300px;
  }
}

@media (min-width: 992px) {
  #lamp {
    top: -35%;
  }
}

.lamp {
  position: relative;
  margin: 0 auto;
  width: .7rem;
  height: 15rem;
  background-repeat: no-repeat;
  background-size: 0.15rem 15rem, .4rem .8rem, .7rem 2rem;
  background-position: 50% 0, 0.19rem 13rem, 0 13.8rem;
  float: left;
  margin: 0% 3%;
}

.lamp-low {
  position: relative;
  margin: 0 auto;
  width: .7rem;
  height: 20rem;
  background-repeat: no-repeat;
  background-size: 0.15rem 18rem, .4rem .8rem, .7rem 2rem;
  background-position: 50% 0, 0.19rem 18rem, 0 18.8rem;
  float: left;
  margin: 0% 3%;
}

.lamp-high {
  position: relative;
  margin: 0 auto;
  width: .7rem;
  height: 10rem;
  background-repeat: no-repeat;
  background-size: 0.15rem 18rem, .4rem .8rem, .7rem 2rem;
  background-position: 50% 0, 0.19rem 18rem, 0 8.8rem;
  float: left;
  margin: 0% 3%;
}

.lamp:before,
.lamp:after {
  content: '';
  position: absolute;
}

.lamp-low:before,
.lamp-low:after {
  content: '';
  position: absolute;
}

.lamp-high:before,
.lamp-high:after {
  content: '';
  position: absolute;
}

.lamp:before {
  left: -1.65rem;
  bottom: -4rem;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.03);
  box-shadow: inset 2px -2px 10px rgba(255, 255, 255, 0.07);
  transition: all .5s;
  z-index: 3;
}

.lamp-low:before {
  left: -1.65rem;
  bottom: -4rem;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.03);
  box-shadow: inset 2px -2px 10px rgba(255, 255, 255, 0.07);
  transition: all .5s;
}

.lamp-high:before {
  left: -1.65rem;
  bottom: -4rem;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.03);
  box-shadow: inset 2px -2px 10px rgba(255, 255, 255, 0.07);
  transition: all .5s;
}

.gonna-give-light,
.gonna-give-light:before {
  position: absolute;
}

.lamp .gonna-give-light {
  top: 15.05rem;
  left: .25rem;
  width: 0;
  height: 1.5rem;
  border-right: 0.2rem solid rgba(255, 255, 255, 0.05);
}

.lamp-low .gonna-give-light {
  top: 20.05rem;
  left: .25rem;
  width: 0;
  height: 1.5rem;
  border-right: 0.2rem solid rgba(255, 255, 255, 0.05);
}

.lamp-high .gonna-give-light {
  top: 10.05rem;
  left: .25rem;
  width: 0;
  height: 1.5rem;
  border-right: 0.2rem solid rgba(255, 255, 255, 0.05);
}

.gonna-give-light:before {
  content: '';
  top: 1.5rem;
  left: -.35rem;
  width: .9rem;
  height: .9rem;
  border-radius: 50%;
  border: 0.2rem solid rgba(255, 255, 255, 0.05);
  box-shadow: 0px 0px 50px rgba(255, 255, 255, 0);
}

.lamp.lamp-on:before,
.lamp-low.lamp-on:before,
.lamp-high.lamp-on:before {
  background: white;
  box-shadow: 0px 2px 10px rgba(255, 255, 255, 0.8), 0px 5px 50px rgba(255, 255, 255, 0.8), 0px 8px 80px rgba(255, 255, 255, 0.6), 0px 8px 120px rgba(255, 255, 255, 0.6);
  opacity: .6;
}

.cd-section.home-page-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 0 !important;
  justify-content: center;
}

.slider-info p {
  margin: 25px 0px 35px 0;
}

@media (min-width: 768px) {
  .contact-top {
    margin-bottom: 50px;
  }
  .contact-top h1 {
    margin-bottom: 50px;
  }
}

.contact-brdr {
  width: 94%;
  height: 15%;
  margin-top: -70px;
  margin-right: -6%;
  display: none;
}

@media (min-width: 425px) {
  .contact-brdr {
    width: 120%;
    height: 15%;
    margin-top: -80px;
    margin-left: -6%;
  }
}

@media (min-width: 768px) {
  .contact-brdr {
    width: 95%;
    height: 15%;
    margin-top: -80px;
    margin-left: 5%;
    display: block;
  }
}

@media (min-width: 1024px) {
  .contact-brdr {
    width: 100%;
    height: 35%;
    margin-top: -150px;
    margin-left: 3%;
    display: block;
  }
}

@media (min-width: 1440px) {
  .contact-brdr {
    width: 95%;
    height: 35%;
    margin-top: -150px;
    margin-left: 5%;
    display: block;
  }
}

@media (min-width: 768px) {
  .contact-side-container {
    display: flex;
    width: 90%;
    margin: 0 auto;
  }
}

.contact-side {
  width: 90%;
  margin: 0 auto;
  position: relative;
}

@media (min-width: 768px) {
  .contact-side {
    width: 50%;
    float: left;
    padding: 0 15px;
    min-height: 300px;
  }
}

@media (min-width: 1024px) {
  .contact-side {
    width: 40%;
  }
}

.contact-side h2 {
  text-transform: uppercase;
}

.contact-side a {
  color: #fff !important;
  cursor: pointer;
  display: block;
  font-size: 16px;
  font-weight: 400;
  line-height: 45px;
  margin: 0 auto;
  text-decoration: none;
  text-transform: uppercase;
  width: 100%;
  border: 1px solid;
  overflow: hidden;
  position: relative;
}

@media (min-width: 768px) {
  .contact-side a {
    position: absolute;
    bottom: 0;
    width: 90%;
    right: 0;
    left: 0;
  }
}

.contact-inner-left {
  width: 40%;
  float: left;
  text-align: left;
}

.contact-inner-left span {
  width: 100%;
  margin: 10px 0;
  display: block;
}

.contact-inner-right {
  width: 60%;
  float: left;
  text-align: left;
}

.contact-inner-right span {
  width: 100%;
  margin: 10px 0;
  display: block;
}

.no-style {
  position: relative !important;
  width: auto !important;
  height: auto !important;
  text-transform: none !important;
  margin: 0 !important;
  border: none !important;
  line-height: 1em !important;
}

.md-form .fa {
  font-size: 2.4rem;
  border-radius: 0;
  padding: 10px;
  background: none;
  color: #006693;
}

.md-form label.active {
  font-size: 1.35rem;
  color: #27AAE1;
  -webkit-transform: translateY(-75%);
  -moz-transform: translateY(-75%);
  -ms-transform: translateY(-75%);
  -o-transform: translateY(-75%);
  transform: translateY(-75%);
}

.md-form label.active i {
  color: #E05054;
}

.md-form label {
  color: #fff;
  position: absolute;
  top: .8rem;
  left: 0;
  font-size: 1.4rem;
  cursor: text;
  -webkit-transition: .2s ease-out;
  -moz-transition: .2s ease-out;
  -o-transition: .2s ease-out;
  -ms-transition: .2s ease-out;
  transition: .2s ease-out;
}

textarea.md-textarea:focus:not([readonly]) {
  border-bottom: 1px solid #27AAE1;
  box-shadow: 0 1px 0 0 #27AAE1;
}

textarea.md-textarea:focus:not([readonly]) + label {
  color: #27AAE1;
}

input[type=text]:focus:not([readonly]) {
  border-bottom: 1px solid #27AAE1;
  box-shadow: 0 1px 0 0 #27AAE1;
}

input[type=text]:focus:not([readonly]) + label {
  color: #27AAE1;
}

input[type=email]:focus:not([readonly]) {
  border-bottom: 1px solid #27AAE1;
  box-shadow: 0 1px 0 0 #27AAE1;
}

input[type=email]:focus:not([readonly]) + label {
  color: #27AAE1;
}

input[type=number]:focus:not([readonly]) {
  border-bottom: 1px solid #27AAE1;
  box-shadow: 0 1px 0 0 #27AAE1;
}

input[type=number]:focus:not([readonly]) + label {
  color: #27AAE1;
}

.contact-container a:hover {
  color: #fff;
}

.careers-link a:hover {
  color: #E05054;
}

/* SLIDER */
.cd-hero {
  position: relative;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.cd-hero-slider {
  position: relative;
  height: 90%;
  width: 75%;
  margin: 0 auto;
  overflow: hidden;
  list-style: none;
  padding: 0px;
}

.cd-hero-slider li {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: translateX(100%);
  -moz-transform: translateX(100%);
  -ms-transform: translateX(100%);
  -o-transform: translateX(100%);
  transform: translateX(100%);
}

.cd-hero-slider li.selected {
  position: relative;
  -webkit-transform: translateX(0);
  -moz-transform: translateX(0);
  -ms-transform: translateX(0);
  -o-transform: translateX(0);
  transform: translateX(0);
}

.cd-hero-slider li.move-left {
  -webkit-transform: translateX(-100%);
  -moz-transform: translateX(-100%);
  -ms-transform: translateX(-100%);
  -o-transform: translateX(-100%);
  transform: translateX(-100%);
}

.cd-hero-slider .cd-img-container img {
  position: absolute;
  left: 50%;
  bottom: auto;
  right: auto;
  width: 80%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  -o-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}

.cd-img-container {
  top: 15% !important;
}

@media (min-width: 425px) {
  .cd-img-container {
    top: 20% !important;
  }
}

@media (min-width: 580px) {
  .cd-img-container {
    top: 25% !important;
  }
}

@media (min-width: 680px) {
  .cd-img-container {
    top: 30% !important;
  }
}

@media (min-width: 992px) {
  .img-container.right-image {
    top: 0;
    text-align: right;
  }
}

.img-container.right-image img {
  width: 65%;
}

@media (min-width: 992px) {
  .img-container.left-image {
    top: 0;
    text-align: left;
  }
}

.img-container.left-image img {
  width: 65%;
}

.slider-info.text-left.info-with-banner {
  text-align: center;
}

@media (min-width: 992px) {
  .slider-info.text-left.info-with-banner {
    text-align: left;
  }
}

.slider-info.text-left.info-with-banner p {
  margin: 0 0 25px 0;
}

@media (min-width: 992px) {
  .slider-info.text-left.info-with-banner p {
    padding-right: 45%;
  }
}

.slider-info.text-right.info-with-banner {
  text-align: center;
}

@media (min-width: 992px) {
  .slider-info.text-right.info-with-banner {
    text-align: right;
  }
}

.slider-info.text-right.info-with-banner p {
  margin: 0 0 25px 0;
}

@media (min-width: 992px) {
  .slider-info.text-right.info-with-banner p {
    padding-left: 45%;
  }
}

.cd-hero-slider h2 {
  font-size: 2.4rem;
}

.cd-hero-slider p {
  font-size: 1.4rem;
  line-height: 1.4;
}

.cd-hero-slider .cd-btn {
  color: #ffffff;
  border: 1px solid #ffffff;
  background-color: transparent;
  font-family: "Nexa-Light", sans-serif;
  padding: 10px 20px 6px;
  -moz-border-radius: 0px;
  -webkit-border-radius: 0px;
  border-radius: 15px;
  cursor: pointer;
  text-transform: uppercase;
  font-size: 18px;
  font-size: 1.8rem;
  margin: 0;
}

.cd-hero-slider .cd-btn:hover {
  border: 1px solid #ffffff;
  text-decoration: none;
  color: #ffffff;
  background-color: rgba(255, 255, 255, 0.2);
  -webkit-transition: all 200ms ease-out 0.2s;
  -moz-transition: all 200ms ease-out 0.2s;
  -o-transition: all 200ms ease-out 0.2s;
  transition: all 200ms ease-out 0.2s;
}

.cd-hero-slider .cd-btn.secondary {
  background-color: rgba(22, 26, 30, 0.8);
}

.cd-hero-slider li.is-moving,
.cd-hero-slider li.selected {
  -webkit-transition: -webkit-transform 0.5s;
  -moz-transition: -moz-transform 0.5s;
  transition: transform 0.5s;
}

.cd-hero-slider .cd-full-width,
.cd-hero-slider .cd-half-width {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 1;
  left: 0;
  top: 0;
  padding-top: 100px;
  text-align: center;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  -ms-transform: translateZ(0);
  -o-transform: translateZ(0);
  transform: translateZ(0);
}

@media only screen and (min-width: 768px) {
  .cd-slider-nav {
    height: 80px;
  }
  .cd-slider-nav a {
    padding-top: 48px;
    font-size: 1.1rem;
    text-transform: uppercase;
  }
  .cd-slider-nav a::before {
    top: 18px;
  }
  .cd-hero-slider li:nth-of-type(2) {
    background-image: none;
  }
  .cd-hero-slider li:nth-of-type(3) {
    background-image: none;
  }
  .cd-hero-slider li:nth-of-type(4) {
    background-image: none;
  }
  .cd-hero-slider .cd-bg-video-wrapper {
    display: block;
  }
  .cd-hero-slider .cd-half-width {
    width: 45%;
  }
  .cd-hero-slider .cd-half-width:first-of-type {
    left: 5%;
  }
  .cd-hero-slider .cd-half-width:nth-of-type(2) {
    right: 5%;
    left: auto;
  }
  .cd-hero-slider .cd-img-container {
    display: block;
  }
  .cd-hero-slider h2 {
    font-size: 2.4em;
    font-weight: 300;
  }
  .cd-hero-slider .cd-btn {
    font-size: 1.4rem;
  }
  .cd-hero-slider .cd-half-width {
    opacity: 0;
    -webkit-transform: translateX(40px);
    -moz-transform: translateX(40px);
    -ms-transform: translateX(40px);
    -o-transform: translateX(40px);
    transform: translateX(40px);
  }
  .cd-hero-slider .move-left .cd-half-width {
    -webkit-transform: translateX(-40px);
    -moz-transform: translateX(-40px);
    -ms-transform: translateX(-40px);
    -o-transform: translateX(-40px);
    transform: translateX(-40px);
  }
  .cd-hero-slider .selected .cd-half-width {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
  }
  .cd-hero-slider .is-moving .cd-half-width {
    -webkit-transition: opacity 0s 0.5s, -webkit-transform 0s 0.5s;
    -moz-transition: opacity 0s 0.5s, -moz-transform 0s 0.5s;
    transition: opacity 0s 0.5s, transform 0s 0.5s;
  }
  .cd-hero-slider li.selected.from-left .cd-half-width:nth-of-type(2),
  .cd-hero-slider li.selected.from-right .cd-half-width:first-of-type {
    -webkit-transition: opacity 0.4s 0.2s, -webkit-transform 0.5s 0.2s;
    -moz-transition: opacity 0.4s 0.2s, -moz-transform 0.5s 0.2s;
    transition: opacity 0.4s 0.2s, transform 0.5s 0.2s;
  }
  .cd-hero-slider li.selected.from-left .cd-half-width:first-of-type,
  .cd-hero-slider li.selected.from-right .cd-half-width:nth-of-type(2) {
    -webkit-transition: opacity 0.4s 0.4s, -webkit-transform 0.5s 0.4s;
    -moz-transition: opacity 0.4s 0.4s, -moz-transform 0.5s 0.4s;
    transition: opacity 0.4s 0.4s, transform 0.5s 0.4s;
  }
  .cd-hero-slider .cd-full-width h2,
  .cd-hero-slider .cd-full-width p,
  .cd-hero-slider .cd-full-width .cd-btn {
    opacity: 0;
    -webkit-transform: translateX(100px);
    -moz-transform: translateX(100px);
    -ms-transform: translateX(100px);
    -o-transform: translateX(100px);
    transform: translateX(100px);
  }
  .cd-hero-slider .move-left .cd-full-width h2,
  .cd-hero-slider .move-left .cd-full-width p,
  .cd-hero-slider .move-left .cd-full-width .cd-btn {
    opacity: 0;
    -webkit-transform: translateX(-100px);
    -moz-transform: translateX(-100px);
    -ms-transform: translateX(-100px);
    -o-transform: translateX(-100px);
    transform: translateX(-100px);
  }
  .cd-hero-slider .selected .cd-full-width h2,
  .cd-hero-slider .selected .cd-full-width p,
  .cd-hero-slider .selected .cd-full-width .cd-btn {
    opacity: 1;
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
  }
  .cd-hero-slider li.is-moving .cd-full-width h2,
  .cd-hero-slider li.is-moving .cd-full-width p,
  .cd-hero-slider li.is-moving .cd-full-width .cd-btn {
    -webkit-transition: opacity 0s 0.5s, -webkit-transform 0s 0.5s;
    -moz-transition: opacity 0s 0.5s, -moz-transform 0s 0.5s;
    transition: opacity 0s 0.5s, transform 0s 0.5s;
  }
  .cd-hero-slider li.selected h2 {
    -webkit-transition: opacity 0.4s 0.2s, -webkit-transform 0.5s 0.2s;
    -moz-transition: opacity 0.4s 0.2s, -moz-transform 0.5s 0.2s;
    transition: opacity 0.4s 0.2s, transform 0.5s 0.2s;
  }
  .cd-hero-slider li.selected p {
    -webkit-transition: opacity 0.4s 0.3s, -webkit-transform 0.5s 0.3s;
    -moz-transition: opacity 0.4s 0.3s, -moz-transform 0.5s 0.3s;
    transition: opacity 0.4s 0.3s, transform 0.5s 0.3s;
  }
  .cd-hero-slider li.selected .cd-btn {
    -webkit-transition: opacity 0.4s 0.4s, -webkit-transform 0.5s 0.4s, background-color 0.2s 0s;
    -moz-transition: opacity 0.4s 0.4s, -moz-transform 0.5s 0.4s, background-color 0.2s 0s;
    transition: opacity 0.4s 0.4s, transform 0.5s 0.4s, background-color 0.2s 0s;
  }
}

@media only screen and (min-width: 1170px) {
  .cd-hero-slider .cd-full-width,
  .cd-hero-slider .cd-half-width {
    padding-top: 200px;
  }
  .cd-hero-slider h2,
  .cd-hero-slider p {
    margin-bottom: 20px;
  }
  .cd-hero-slider h2 {
    font-size: 3.2em;
  }
  .cd-hero-slider p {
    font-size: 1.6rem;
  }
}

.cd-hero-slider h2,
.cd-hero-slider p {
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  line-height: 1.2;
  color: #ffffff;
  width: 60%;
}

.cd-slider-nav {
  position: absolute;
  width: 100%;
  bottom: 0;
  z-index: 2;
  text-align: center;
  height: 20px;
}

.cd-slider-nav nav,
.cd-slider-nav ul,
.cd-slider-nav li,
.cd-slider-nav a {
  height: 100%;
}

.cd-slider-nav nav {
  display: inline-block;
  position: relative;
}

.cd-slider-nav ul::after {
  clear: both;
  content: "";
  display: table;
}

.cd-slider-nav li {
  display: inline-block;
  width: 20px;
}

.cd-slider-nav li.selected a {
  color: #2c343b;
}

.no-touch .cd-slider-nav li.selected a:hover {
  background-color: transparent;
}

.cd-slider-nav a {
  display: block;
  position: relative;
  padding-top: 35px;
  font-size: 1rem;
  font-weight: 700;
  color: #a8b4be;
  -webkit-transition: background-color 0.2s;
  -moz-transition: background-color 0.2s;
  transition: background-color 0.2s;
}

.cd-slider-nav a::before {
  border: 1px solid #fff;
  border-radius: 500px;
  content: "";
  height: 15px;
  left: 50%;
  position: absolute;
  right: auto;
  top: -39px;
  transform: translateX(-50%);
  width: 15px;
}

.no-touch .cd-slider-nav a:hover {
  background-color: rgba(0, 1, 1, 0.5);
}

.no-js .cd-hero-slider li {
  display: none;
}

.no-js .cd-hero-slider li.selected {
  display: block;
}

.no-js .cd-slider-nav {
  display: none;
}

.slider-img-brdr {
  width: 120% !important;
  left: 0% !important;
  top: 0 !important;
  position: relative !important;
}

.slider {
  display: none;
}

.slider.slick-initialized {
  height: auto;
  display: block;
}

.slick-slide img {
  display: inline-block;
}

.slick-slide h2 {
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  line-height: 1.2;
  color: #ffffff;
  margin-bottom: 5px;
  font-size: 2em;
}

@media (min-width: 1024px) {
  .slick-slide h2 {
    margin-bottom: 10px;
    font-size: 2.5em;
  }
}

@media (min-width: 1440px) {
  .slick-slide h2 {
    font-size: 3.2em;
  }
}

.slick-track {
  height: 100vh;
}

@media (min-width: 768px) {
  .slick-track {
    margin-top: 0;
  }
}

.slick-dots {
  bottom: 10%;
  width: 100%;
  margin: 0;
  list-style: none;
  text-align: center;
  z-index: 3;
  color: #EC2028;
  margin-top: -17%;
}

@media (min-width: 768px) {
  .slick-dots {
    bottom: 10%;
  }
}

.slick-dots li.slick-active button:before {
  opacity: .75;
  color: #EC2028;
}

.slick-dots li button:before {
  font-size: 15px;
  border-style: solid;
  border-radius: 50%;
  color: transparent;
  line-height: 9;
  border: solid 1.5px #fff;
  position: absolute;
  line-height: 19px;
  width: 20px;
  height: 20px;
  padding: 0px;
  margin-right: auto;
  margin-left: auto;
}

.slick-slide:focus {
  outline: none;
}

.slick-slide .cd-btn {
  color: #ffffff;
  border: 1px solid #ffffff;
  background-color: transparent;
  font-family: "Nexa-Light", sans-serif;
  padding: 10px 20px 6px;
  -moz-border-radius: 0px;
  -webkit-border-radius: 0px;
  border-radius: 5px;
  cursor: pointer;
  text-transform: uppercase;
  font-size: 18px;
  font-size: 1.8rem;
  margin: 0;
}

.slick-slide .cd-btn:hover {
  border: 1px solid #ffffff;
  text-decoration: none;
  color: #ffffff;
  background-color: rgba(255, 255, 255, 0.2);
  -webkit-transition: all 200ms ease-out 0.2s;
  -moz-transition: all 200ms ease-out 0.2s;
  -o-transition: all 200ms ease-out 0.2s;
  transition: all 200ms ease-out 0.2s;
}

.slick-slide .cd-btn.secondary {
  background-color: rgba(22, 26, 30, 0.8);
}

.slick-slide .cd-btn {
  font-size: 1.4rem;
}

.slick-list {
  margin-top: 0;
}

@media (min-width: 768px) {
  .slick-list {
    margin-top: 0;
  }
}

.career-inner .slick-list {
  margin-top: 10%;
}

#career-slider .slick-list {
  margin-top: 0;
}

#career-slider .slick-track {
  height: auto;
}

.slick-next,
.slick-prev {
  width: 20px;
  height: auto;
}

.slick-next:before,
[dir=rtl] .slick-prev:before {
  content: '>';
}

.slick-next:before,
.slick-prev:before {
  font-size: 97px;
  font-family: monospace;
}

.slick-prev:before {
  content: '<';
}

.slick-prev {
  left: -5%;
}

.slick-initialized .slick-slide {
  display: block;
  padding-right: 0px;
}

.banner-container.slick-slide {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-size: cover !important;
  background-position: center 70px !important;
}

@media (min-width: 768px) {
  .banner-container.slick-slide {
    background-position: center center !important;
  }
}

@media (min-width: 992px) {
  .banner-container.slick-slide {
    flex-direction: row !important;
  }
}

.slick-dotted.slick-slider {
  margin-bottom: 0;
}

.shake-slow.shake-constant {
  animation-duration: 90s;
}

.shake-vertical:hover, .shake-trigger:hover .shake-vertical, .shake-vertical.shake-freeze, .shake-vertical.shake-constant {
  animation-duration: 45s;
}

#projector {
  position: absolute;
  left: 0;
  margin-top: -150px;
  opacity: 0.4;
}

/* Client Logo shuffle */
.logo-shuffle {
  list-style-type: none;
}

.logo-shuffle li {
  margin: 0px;
  padding: 0px;
  margin-left: auto;
  margin-right: auto;
}

@keyframes wave-flow {
  0% {
    box-shadow: 0 0 8px 6px linear-gradient(135deg, #011a34 0%, #006693 100%), 0 0 12px 10px #0E549F, 0 0 12px 14px #ff1a1a;
  }
  10% {
    box-shadow: 0 0 8px 6px #006693, 0 0 12px 10px #006693, 0 0 12px 14px #0E549F;
  }
  100% {
    box-shadow: 0 0 8px 6px linear-gradient(135deg, #011a34 0%, #006693 100%) 0 0 4px 40px #333, 0 0 4px 41px rgba(255, 26, 26, 0);
  }
}

.s {
  background: transparent;
  border-radius: 50%;
  height: 35px;
  width: 35px;
}

.s:hover {
  background: rgba(255, 255, 255, 0.2);
  -webkit-animation: wave-flow 3.5s 0.4s ease-out infinite;
  -moz-animation: wave-flow 3.5s 0.4s ease-out infinite;
  animation: wave-flow 3.5s 0.4s ease-out infinite;
}

.nav-active {
  background: rgba(255, 255, 255, 0.2);
  -webkit-animation: wave-flow 3.5s 0.4s ease-out infinite;
  -moz-animation: wave-flow 3.5s 0.4s ease-out infinite;
  animation: wave-flow 3.5s 0.4s ease-out infinite;
}

.portfolio .animated {
  animation-duration: 1.5s;
}

.hidden {
  opacity: 0;
}

.visible {
  opacity: 1;
}

.revealOnScroll {
  opacity: 0;
}

.pagination-section .animated {
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.portfolio-section .animated {
  -webkit-animation-duration: 2.5s;
  animation-duration: 2.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.portfolio-panel .left {
  position: relative;
}

.portfolio-panel .right {
  position: relative;
}

.nav-animation {
  animation-duration: 40s !important;
}

@keyframes animateleft {
  from {
    left: -300px;
    opacity: 0;
  }
  to {
    left: 0;
    opacity: 1;
  }
}

@keyframes animateright {
  from {
    right: -300px;
    opacity: 0;
  }
  to {
    right: 0;
    opacity: 1;
  }
}

[data-aos="from-right"] {
  transform: skew(140deg, -10deg);
  right: -50%;
  opacity: 0;
  -webkit-transition-property: transform, right, opacity;
  transition-property: transform, right, opacity;
}

[data-aos="from-right"].aos-animate {
  right: 0;
  opacity: 1;
  transform: skew(180deg, 0);
}

[data-aos="from-left"] {
  transform: skew(20deg, 10deg);
  left: -50%;
  opacity: 0;
  -webkit-transition-property: transform, left, opacity;
  transition-property: transform, left, opacity;
}

[data-aos="from-left"].aos-animate {
  left: 0;
  opacity: 1;
  transform: skew(0, 0);
}

@keyframes neon2 {
  from {
    box-shadow: 0 0 20px #fff;
    box-shadow: 0 0 30px #fff;
    box-shadow: 0 0 40px #fff;
    box-shadow: 0 0 70px #fff;
    box-shadow: 0 0 80px #fff;
    box-shadow: 0 0 100px #fff;
    box-shadow: 0 0 150px #fff;
  }
  to {
    box-shadow: 0 0 10px #fff;
    box-shadow: 0 0 15px #fff;
    box-shadow: 0 0 20px #fff;
    box-shadow: 0 0 35px #fff;
    box-shadow: 0 0 40px #fff;
    box-shadow: 0 0 50px #fff;
    box-shadow: 0 0 75px #fff;
  }
}

.pt-page-moveToLeft {
  -webkit-animation: moveToLeft .6s ease both;
  animation: moveToLeft .6s ease both;
}

.pt-page-moveFromLeft {
  -webkit-animation: moveFromLeft .6s ease both;
  animation: moveFromLeft .6s ease both;
}

.pt-page-moveToRight {
  -webkit-animation: moveToRight .6s ease both;
  animation: moveToRight .6s ease both;
}

.pt-page-moveFromRight {
  -webkit-animation: moveFromRight .6s ease both;
  animation: moveFromRight .6s ease both;
}

.pt-page-moveToTop {
  -webkit-animation: moveToTop 1.6s ease both;
  animation: moveToTop 1.6s ease both;
}

.pt-page-moveFromTop {
  -webkit-animation: moveFromTop .6s ease both;
  animation: moveFromTop .6s ease both;
}

.pt-page-moveToBottom {
  -webkit-animation: moveToBottom .6s ease both;
  animation: moveToBottom .6s ease both;
}

.pt-page-moveFromBottom {
  -webkit-animation: moveFromBottom .6s ease both;
  animation: moveFromBottom .6s ease both;
}

/* fade */
.pt-page-fade {
  -webkit-animation: fade .7s ease both;
  animation: fade .7s ease both;
}

/* move from / to and fade */
.pt-page-moveToLeftFade {
  -webkit-animation: moveToLeftFade .7s ease both;
  animation: moveToLeftFade .7s ease both;
}

.pt-page-moveFromLeftFade {
  -webkit-animation: moveFromLeftFade .7s ease both;
  animation: moveFromLeftFade .7s ease both;
}

.pt-page-moveToRightFade {
  -webkit-animation: moveToRightFade .7s ease both;
  animation: moveToRightFade .7s ease both;
}

.pt-page-moveFromRightFade {
  -webkit-animation: moveFromRightFade .7s ease both;
  animation: moveFromRightFade .7s ease both;
}

.pt-page-moveToTopFade {
  -webkit-animation: moveToTopFade .7s ease both;
  animation: moveToTopFade .7s ease both;
}

.pt-page-moveFromTopFade {
  -webkit-animation: moveFromTopFade .7s ease both;
  animation: moveFromTopFade .7s ease both;
}

.pt-page-moveToBottomFade {
  -webkit-animation: moveToBottomFade .7s ease both;
  animation: moveToBottomFade .7s ease both;
}

.pt-page-moveFromBottomFade {
  -webkit-animation: moveFromBottomFade .7s ease both;
  animation: moveFromBottomFade .7s ease both;
}

/* move to with different easing */
.pt-page-moveToLeftEasing {
  -webkit-animation: moveToLeft .7s ease-in-out both;
  animation: moveToLeft .7s ease-in-out both;
}

.pt-page-moveToRightEasing {
  -webkit-animation: moveToRight .7s ease-in-out both;
  animation: moveToRight .7s ease-in-out both;
}

.pt-page-moveToTopEasing {
  -webkit-animation: moveToTop .7s ease-in-out both;
  animation: moveToTop .7s ease-in-out both;
}

.pt-page-moveToBottomEasing {
  -webkit-animation: moveToBottom .7s ease-in-out both;
  animation: moveToBottom .7s ease-in-out both;
}

/********************************* keyframes **************************************/
/* move from / to  */
@-webkit-keyframes moveToLeft {
  from {
  }
  to {
    -webkit-transform: translateX(-100%);
  }
}

@keyframes moveToLeft {
  from {
  }
  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

@-webkit-keyframes moveFromLeft {
  from {
    -webkit-transform: translateX(-100%);
  }
}

@keyframes moveFromLeft {
  from {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

@-webkit-keyframes moveToRight {
  from {
  }
  to {
    -webkit-transform: translateX(100%);
  }
}

@keyframes moveToRight {
  from {
  }
  to {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
}

@-webkit-keyframes moveFromRight {
  from {
    -webkit-transform: translateX(100%);
  }
}

@keyframes moveFromRight {
  from {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
}

@-webkit-keyframes moveToTop {
  from {
  }
  to {
    -webkit-transform: translateY(-100%);
  }
}

@keyframes moveToTop {
  from {
  }
  to {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
  }
}

@-webkit-keyframes moveFromTop {
  from {
    -webkit-transform: translateY(-100%);
  }
}

@keyframes moveFromTop {
  from {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
  }
}

@-webkit-keyframes moveToBottom {
  from {
  }
  to {
    -webkit-transform: translateY(100%);
  }
}

@keyframes moveToBottom {
  from {
  }
  to {
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
  }
}

@-webkit-keyframes moveFromBottom {
  from {
    -webkit-transform: translateY(100%);
  }
}

@keyframes moveFromBottom {
  from {
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
  }
}

/* fade */
@-webkit-keyframes fade {
  from {
  }
  to {
    opacity: 0.3;
  }
}

@keyframes fade {
  from {
  }
  to {
    opacity: 0.3;
  }
}

/* move from / to and fade */
@-webkit-keyframes moveToLeftFade {
  from {
  }
  to {
    opacity: 0.3;
    -webkit-transform: translateX(-100%);
  }
}

@keyframes moveToLeftFade {
  from {
  }
  to {
    opacity: 0.3;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

@-webkit-keyframes moveFromLeftFade {
  from {
    opacity: 0.3;
    -webkit-transform: translateX(-100%);
  }
}

@keyframes moveFromLeftFade {
  from {
    opacity: 0.3;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}

@-webkit-keyframes moveToRightFade {
  from {
  }
  to {
    opacity: 0.3;
    -webkit-transform: translateX(100%);
  }
}

@keyframes moveToRightFade {
  from {
  }
  to {
    opacity: 0.3;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
}

@-webkit-keyframes moveFromRightFade {
  from {
    opacity: 0.3;
    -webkit-transform: translateX(100%);
  }
}

@keyframes moveFromRightFade {
  from {
    opacity: 0.3;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
}

@-webkit-keyframes moveToTopFade {
  from {
  }
  to {
    opacity: 0.3;
    -webkit-transform: translateY(-100%);
  }
}

@keyframes moveToTopFade {
  from {
  }
  to {
    opacity: 0.3;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
  }
}

@-webkit-keyframes moveFromTopFade {
  from {
    opacity: 0.3;
    -webkit-transform: translateY(-100%);
  }
}

@keyframes moveFromTopFade {
  from {
    opacity: 0.3;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
  }
}

@-webkit-keyframes moveToBottomFade {
  from {
  }
  to {
    opacity: 0.3;
    -webkit-transform: translateY(100%);
  }
}

@keyframes moveToBottomFade {
  from {
  }
  to {
    opacity: 0.3;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
  }
}

@-webkit-keyframes moveFromBottomFade {
  from {
    opacity: 0.3;
    -webkit-transform: translateY(100%);
  }
}

@keyframes moveFromBottomFade {
  from {
    opacity: 0.3;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
  }
}

/* scale and fade */
.pt-page-scaleDown {
  -webkit-animation: scaleDown .7s ease both;
  animation: scaleDown .7s ease both;
}

.pt-page-scaleUp {
  -webkit-animation: scaleUp 1.5s ease both;
  animation: scaleUp 1.5s ease both;
}

.pt-page-scaleUpDown {
  -webkit-animation: scaleUpDown .5s ease both;
  animation: scaleUpDown .5s ease both;
}

.pt-page-scaleDownUp {
  -webkit-animation: scaleDownUp .5s ease both;
  animation: scaleDownUp .5s ease both;
}

.pt-page-scaleDownCenter {
  -webkit-animation: scaleDownCenter .4s ease-in both;
  animation: scaleDownCenter .4s ease-in both;
}

.pt-page-scaleUpCenter {
  -webkit-animation: scaleUpCenter .4s ease-out both;
  animation: scaleUpCenter .4s ease-out both;
}

/********************************* keyframes **************************************/
/* scale and fade */
@-webkit-keyframes scaleDown {
  from {
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.8);
  }
}

@keyframes scaleDown {
  from {
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }
}

@-webkit-keyframes scaleUp {
  from {
    opacity: 0;
    -webkit-transform: scale(0.8);
  }
}

@keyframes scaleUp {
  from {
    opacity: 0;
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
  }
}

@-webkit-keyframes scaleUpDown {
  from {
    opacity: 0;
    -webkit-transform: scale(1.2);
  }
}

@keyframes scaleUpDown {
  from {
    opacity: 0;
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
}

@-webkit-keyframes scaleDownUp {
  from {
  }
  to {
    opacity: 0;
    -webkit-transform: scale(1.2);
  }
}

@keyframes scaleDownUp {
  from {
  }
  to {
    opacity: 0;
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
  }
}

@-webkit-keyframes scaleDownCenter {
  from {
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.7);
  }
}

@keyframes scaleDownCenter {
  from {
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.7);
    transform: scale(0.7);
  }
}

@-webkit-keyframes scaleUpCenter {
  from {
    opacity: 0;
    -webkit-transform: scale(0.7);
  }
}

@keyframes scaleUpCenter {
  from {
    opacity: 0;
    -webkit-transform: scale(0.7);
    transform: scale(0.7);
  }
}

/* rotate sides first and scale */
.pt-page-rotateRightSideFirst {
  -webkit-transform-origin: 0% 50%;
  transform-origin: 0% 50%;
  -webkit-animation: rotateRightSideFirst .8s both ease-in;
  animation: rotateRightSideFirst .8s both ease-in;
}

.pt-page-rotateLeftSideFirst {
  -webkit-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  -webkit-animation: rotateLeftSideFirst .8s both ease-in;
  animation: rotateLeftSideFirst .8s both ease-in;
}

.pt-page-rotateTopSideFirst {
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
  -webkit-animation: rotateTopSideFirst .8s both ease-in;
  animation: rotateTopSideFirst .8s both ease-in;
}

.pt-page-rotateBottomSideFirst {
  -webkit-transform-origin: 50% 0%;
  transform-origin: 50% 0%;
  -webkit-animation: rotateBottomSideFirst .8s both ease-in;
  animation: rotateBottomSideFirst .8s both ease-in;
}

/* flip */
.pt-page-flipOutRight {
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  -webkit-animation: flipOutRight .5s both ease-in;
  animation: flipOutRight .5s both ease-in;
}

.pt-page-flipInLeft {
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  -webkit-animation: flipInLeft .5s both ease-out;
  animation: flipInLeft .5s both ease-out;
}

.pt-page-flipOutLeft {
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  -webkit-animation: flipOutLeft .5s both ease-in;
  animation: flipOutLeft .5s both ease-in;
}

.pt-page-flipInRight {
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  -webkit-animation: flipInRight .5s both ease-out;
  animation: flipInRight .5s both ease-out;
}

.pt-page-flipOutTop {
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  -webkit-animation: flipOutTop .5s both ease-in;
  animation: flipOutTop .5s both ease-in;
}

.pt-page-flipInBottom {
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  -webkit-animation: flipInBottom .5s both ease-out;
  animation: flipInBottom .5s both ease-out;
}

.pt-page-flipOutBottom {
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  -webkit-animation: flipOutBottom .5s both ease-in;
  animation: flipOutBottom .5s both ease-in;
}

.pt-page-flipInTop {
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  -webkit-animation: flipInTop .5s both ease-out;
  animation: flipInTop .5s both ease-out;
}

/* rotate fall */
.pt-page-rotateFall {
  -webkit-transform-origin: 0% 0%;
  transform-origin: 0% 0%;
  -webkit-animation: rotateFall 1s both ease-in;
  animation: rotateFall 1s both ease-in;
}

/* rotate newspaper */
.pt-page-rotateOutNewspaper {
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  -webkit-animation: rotateOutNewspaper .5s both ease-in;
  animation: rotateOutNewspaper .5s both ease-in;
}

.pt-page-rotateInNewspaper {
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  -webkit-animation: rotateInNewspaper .5s both ease-out;
  animation: rotateInNewspaper .5s both ease-out;
}

/* push */
.pt-page-rotatePushLeft {
  -webkit-transform-origin: 0% 50%;
  transform-origin: 0% 50%;
  -webkit-animation: rotatePushLeft .8s both ease;
  animation: rotatePushLeft .8s both ease;
}

.pt-page-rotatePushRight {
  -webkit-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  -webkit-animation: rotatePushRight .8s both ease;
  animation: rotatePushRight .8s both ease;
}

.pt-page-rotatePushTop {
  -webkit-transform-origin: 50% 0%;
  transform-origin: 50% 0%;
  -webkit-animation: rotatePushTop .8s both ease;
  animation: rotatePushTop .8s both ease;
}

.pt-page-rotatePushBottom {
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
  -webkit-animation: rotatePushBottom .8s both ease;
  animation: rotatePushBottom .8s both ease;
}

/* pull */
.pt-page-rotatePullRight {
  -webkit-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  -webkit-animation: rotatePullRight .5s both ease;
  animation: rotatePullRight .5s both ease;
}

.pt-page-rotatePullLeft {
  -webkit-transform-origin: 0% 50%;
  transform-origin: 0% 50%;
  -webkit-animation: rotatePullLeft .5s both ease;
  animation: rotatePullLeft .5s both ease;
}

.pt-page-rotatePullTop {
  -webkit-transform-origin: 50% 0%;
  transform-origin: 50% 0%;
  -webkit-animation: rotatePullTop .5s both ease;
  animation: rotatePullTop .5s both ease;
}

.pt-page-rotatePullBottom {
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
  -webkit-animation: rotatePullBottom .5s both ease;
  animation: rotatePullBottom .5s both ease;
}

/* fold */
.pt-page-rotateFoldRight {
  -webkit-transform-origin: 0% 50%;
  transform-origin: 0% 50%;
  -webkit-animation: rotateFoldRight .7s both ease;
  animation: rotateFoldRight .7s both ease;
}

.pt-page-rotateFoldLeft {
  -webkit-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  -webkit-animation: rotateFoldLeft .7s both ease;
  animation: rotateFoldLeft .7s both ease;
}

.pt-page-rotateFoldTop {
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
  -webkit-animation: rotateFoldTop .7s both ease;
  animation: rotateFoldTop .7s both ease;
}

.pt-page-rotateFoldBottom {
  -webkit-transform-origin: 50% 0%;
  transform-origin: 50% 0%;
  -webkit-animation: rotateFoldBottom .7s both ease;
  animation: rotateFoldBottom .7s both ease;
}

/* unfold */
.pt-page-rotateUnfoldLeft {
  -webkit-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  -webkit-animation: rotateUnfoldLeft .7s both ease;
  animation: rotateUnfoldLeft .7s both ease;
}

.pt-page-rotateUnfoldRight {
  -webkit-transform-origin: 0% 50%;
  transform-origin: 0% 50%;
  -webkit-animation: rotateUnfoldRight .7s both ease;
  animation: rotateUnfoldRight .7s both ease;
}

.pt-page-rotateUnfoldTop {
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
  -webkit-animation: rotateUnfoldTop .7s both ease;
  animation: rotateUnfoldTop .7s both ease;
}

.pt-page-rotateUnfoldBottom {
  -webkit-transform-origin: 50% 0%;
  transform-origin: 50% 0%;
  -webkit-animation: rotateUnfoldBottom .7s both ease;
  animation: rotateUnfoldBottom .7s both ease;
}

/* room walls */
.pt-page-rotateRoomLeftOut {
  -webkit-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  -webkit-animation: rotateRoomLeftOut .8s both ease;
  animation: rotateRoomLeftOut .8s both ease;
}

.pt-page-rotateRoomLeftIn {
  -webkit-transform-origin: 0% 50%;
  transform-origin: 0% 50%;
  -webkit-animation: rotateRoomLeftIn .8s both ease;
  animation: rotateRoomLeftIn .8s both ease;
}

.pt-page-rotateRoomRightOut {
  -webkit-transform-origin: 0% 50%;
  transform-origin: 0% 50%;
  -webkit-animation: rotateRoomRightOut .8s both ease;
  animation: rotateRoomRightOut .8s both ease;
}

.pt-page-rotateRoomRightIn {
  -webkit-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  -webkit-animation: rotateRoomRightIn .8s both ease;
  animation: rotateRoomRightIn .8s both ease;
}

.pt-page-rotateRoomTopOut {
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
  -webkit-animation: rotateRoomTopOut .8s both ease;
  animation: rotateRoomTopOut .8s both ease;
}

.pt-page-rotateRoomTopIn {
  -webkit-transform-origin: 50% 0%;
  transform-origin: 50% 0%;
  -webkit-animation: rotateRoomTopIn .8s both ease;
  animation: rotateRoomTopIn .8s both ease;
}

.pt-page-rotateRoomBottomOut {
  -webkit-transform-origin: 50% 0%;
  transform-origin: 50% 0%;
  -webkit-animation: rotateRoomBottomOut .8s both ease;
  animation: rotateRoomBottomOut .8s both ease;
}

.pt-page-rotateRoomBottomIn {
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
  -webkit-animation: rotateRoomBottomIn .8s both ease;
  animation: rotateRoomBottomIn .8s both ease;
}

/* cube */
.pt-page-rotateCubeLeftOut {
  -webkit-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  -webkit-animation: rotateCubeLeftOut .6s both ease-in;
  animation: rotateCubeLeftOut .6s both ease-in;
}

.pt-page-rotateCubeLeftIn {
  -webkit-transform-origin: 0% 50%;
  transform-origin: 0% 50%;
  -webkit-animation: rotateCubeLeftIn .6s both ease-in;
  animation: rotateCubeLeftIn .6s both ease-in;
}

.pt-page-rotateCubeRightOut {
  -webkit-transform-origin: 0% 50%;
  transform-origin: 0% 50%;
  -webkit-animation: rotateCubeRightOut .6s both ease-in;
  animation: rotateCubeRightOut .6s both ease-in;
}

.pt-page-rotateCubeRightIn {
  -webkit-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  -webkit-animation: rotateCubeRightIn .6s both ease-in;
  animation: rotateCubeRightIn .6s both ease-in;
}

.pt-page-rotateCubeTopOut {
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
  -webkit-animation: rotateCubeTopOut .6s both ease-in;
  animation: rotateCubeTopOut .6s both ease-in;
}

.pt-page-rotateCubeTopIn {
  -webkit-transform-origin: 50% 0%;
  transform-origin: 50% 0%;
  -webkit-animation: rotateCubeTopIn .6s both ease-in;
  animation: rotateCubeTopIn .6s both ease-in;
}

.pt-page-rotateCubeBottomOut {
  -webkit-transform-origin: 50% 0%;
  transform-origin: 50% 0%;
  -webkit-animation: rotateCubeBottomOut .6s both ease-in;
  animation: rotateCubeBottomOut .6s both ease-in;
}

.pt-page-rotateCubeBottomIn {
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
  -webkit-animation: rotateCubeBottomIn .6s both ease-in;
  animation: rotateCubeBottomIn .6s both ease-in;
}

/* carousel */
.pt-page-rotateCarouselLeftOut {
  -webkit-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  -webkit-animation: rotateCarouselLeftOut .8s both ease;
  animation: rotateCarouselLeftOut .8s both ease;
}

.pt-page-rotateCarouselLeftIn {
  -webkit-transform-origin: 0% 50%;
  transform-origin: 0% 50%;
  -webkit-animation: rotateCarouselLeftIn .8s both ease;
  animation: rotateCarouselLeftIn .8s both ease;
}

.pt-page-rotateCarouselRightOut {
  -webkit-transform-origin: 0% 50%;
  transform-origin: 0% 50%;
  -webkit-animation: rotateCarouselRightOut .8s both ease;
  animation: rotateCarouselRightOut .8s both ease;
}

.pt-page-rotateCarouselRightIn {
  -webkit-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  -webkit-animation: rotateCarouselRightIn .8s both ease;
  animation: rotateCarouselRightIn .8s both ease;
}

.pt-page-rotateCarouselTopOut {
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
  -webkit-animation: rotateCarouselTopOut .8s both ease;
  animation: rotateCarouselTopOut .8s both ease;
}

.pt-page-rotateCarouselTopIn {
  -webkit-transform-origin: 50% 0%;
  transform-origin: 50% 0%;
  -webkit-animation: rotateCarouselTopIn .8s both ease;
  animation: rotateCarouselTopIn .8s both ease;
}

.pt-page-rotateCarouselBottomOut {
  -webkit-transform-origin: 50% 0%;
  transform-origin: 50% 0%;
  -webkit-animation: rotateCarouselBottomOut .8s both ease;
  animation: rotateCarouselBottomOut .8s both ease;
}

.pt-page-rotateCarouselBottomIn {
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
  -webkit-animation: rotateCarouselBottomIn .8s both ease;
  animation: rotateCarouselBottomIn .8s both ease;
}

/* sides */
.pt-page-rotateSidesOut {
  -webkit-transform-origin: -50% 50%;
  transform-origin: -50% 50%;
  -webkit-animation: rotateSidesOut .5s both ease-in;
  animation: rotateSidesOut .5s both ease-in;
}

.pt-page-rotateSidesIn {
  -webkit-transform-origin: 150% 50%;
  transform-origin: 150% 50%;
  -webkit-animation: rotateSidesIn .5s both ease-out;
  animation: rotateSidesIn .5s both ease-out;
}

/* slide */
.pt-page-rotateSlideOut {
  -webkit-animation: rotateSlideOut 1s both ease;
  animation: rotateSlideOut 1s both ease;
}

.pt-page-rotateSlideIn {
  -webkit-animation: rotateSlideIn 1s both ease;
  animation: rotateSlideIn 1s both ease;
}

/********************************* keyframes **************************************/
/* rotate sides first and scale */
@-webkit-keyframes rotateRightSideFirst {
  0% {
  }
  40% {
    -webkit-transform: rotateY(15deg);
    opacity: .8;
    -webkit-animation-timing-function: ease-out;
  }
  100% {
    -webkit-transform: scale(0.8) translateZ(-200px);
    opacity: 0;
  }
}

@keyframes rotateRightSideFirst {
  0% {
  }
  40% {
    -webkit-transform: rotateY(15deg);
    transform: rotateY(15deg);
    opacity: .8;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  100% {
    -webkit-transform: scale(0.8) translateZ(-200px);
    transform: scale(0.8) translateZ(-200px);
    opacity: 0;
  }
}

@-webkit-keyframes rotateLeftSideFirst {
  0% {
  }
  40% {
    -webkit-transform: rotateY(-15deg);
    opacity: .8;
    -webkit-animation-timing-function: ease-out;
  }
  100% {
    -webkit-transform: scale(0.8) translateZ(-200px);
    opacity: 0;
  }
}

@keyframes rotateLeftSideFirst {
  0% {
  }
  40% {
    -webkit-transform: rotateY(-15deg);
    transform: rotateY(-15deg);
    opacity: .8;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  100% {
    -webkit-transform: scale(0.8) translateZ(-200px);
    transform: scale(0.8) translateZ(-200px);
    opacity: 0;
  }
}

@-webkit-keyframes rotateTopSideFirst {
  0% {
  }
  40% {
    -webkit-transform: rotateX(15deg);
    opacity: .8;
    -webkit-animation-timing-function: ease-out;
  }
  100% {
    -webkit-transform: scale(0.8) translateZ(-200px);
    opacity: 0;
  }
}

@keyframes rotateTopSideFirst {
  0% {
  }
  40% {
    -webkit-transform: rotateX(15deg);
    transform: rotateX(15deg);
    opacity: .8;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  100% {
    -webkit-transform: scale(0.8) translateZ(-200px);
    transform: scale(0.8) translateZ(-200px);
    opacity: 0;
  }
}

@-webkit-keyframes rotateBottomSideFirst {
  0% {
  }
  40% {
    -webkit-transform: rotateX(-15deg);
    opacity: .8;
    -webkit-animation-timing-function: ease-out;
  }
  100% {
    -webkit-transform: scale(0.8) translateZ(-200px);
    opacity: 0;
  }
}

@keyframes rotateBottomSideFirst {
  0% {
  }
  40% {
    -webkit-transform: rotateX(-15deg);
    transform: rotateX(-15deg);
    opacity: .8;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  100% {
    -webkit-transform: scale(0.8) translateZ(-200px);
    transform: scale(0.8) translateZ(-200px);
    opacity: 0;
  }
}

/* flip */
@-webkit-keyframes flipOutRight {
  from {
  }
  to {
    -webkit-transform: translateZ(-1000px) rotateY(90deg);
    opacity: 0.2;
  }
}

@keyframes flipOutRight {
  from {
  }
  to {
    -webkit-transform: translateZ(-1000px) rotateY(90deg);
    transform: translateZ(-1000px) rotateY(90deg);
    opacity: 0.2;
  }
}

@-webkit-keyframes flipInLeft {
  from {
    -webkit-transform: translateZ(-1000px) rotateY(-90deg);
    opacity: 0.2;
  }
}

@keyframes flipInLeft {
  from {
    -webkit-transform: translateZ(-1000px) rotateY(-90deg);
    transform: translateZ(-1000px) rotateY(-90deg);
    opacity: 0.2;
  }
}

@-webkit-keyframes flipOutLeft {
  from {
  }
  to {
    -webkit-transform: translateZ(-1000px) rotateY(-90deg);
    opacity: 0.2;
  }
}

@keyframes flipOutLeft {
  from {
  }
  to {
    -webkit-transform: translateZ(-1000px) rotateY(-90deg);
    transform: translateZ(-1000px) rotateY(-90deg);
    opacity: 0.2;
  }
}

@-webkit-keyframes flipInRight {
  from {
    -webkit-transform: translateZ(-1000px) rotateY(90deg);
    opacity: 0.2;
  }
}

@keyframes flipInRight {
  from {
    -webkit-transform: translateZ(-1000px) rotateY(90deg);
    transform: translateZ(-1000px) rotateY(90deg);
    opacity: 0.2;
  }
}

@-webkit-keyframes flipOutTop {
  from {
  }
  to {
    -webkit-transform: translateZ(-1000px) rotateX(90deg);
    opacity: 0.2;
  }
}

@keyframes flipOutTop {
  from {
  }
  to {
    -webkit-transform: translateZ(-1000px) rotateX(90deg);
    transform: translateZ(-1000px) rotateX(90deg);
    opacity: 0.2;
  }
}

@-webkit-keyframes flipInBottom {
  from {
    -webkit-transform: translateZ(-1000px) rotateX(-90deg);
    opacity: 0.2;
  }
}

@keyframes flipInBottom {
  from {
    -webkit-transform: translateZ(-1000px) rotateX(-90deg);
    transform: translateZ(-1000px) rotateX(-90deg);
    opacity: 0.2;
  }
}

@-webkit-keyframes flipOutBottom {
  from {
  }
  to {
    -webkit-transform: translateZ(-1000px) rotateX(-90deg);
    opacity: 0.2;
  }
}

@keyframes flipOutBottom {
  from {
  }
  to {
    -webkit-transform: translateZ(-1000px) rotateX(-90deg);
    transform: translateZ(-1000px) rotateX(-90deg);
    opacity: 0.2;
  }
}

@-webkit-keyframes flipInTop {
  from {
    -webkit-transform: translateZ(-1000px) rotateX(90deg);
    opacity: 0.2;
  }
}

@keyframes flipInTop {
  from {
    -webkit-transform: translateZ(-1000px) rotateX(90deg);
    transform: translateZ(-1000px) rotateX(90deg);
    opacity: 0.2;
  }
}

/* fall */
@-webkit-keyframes rotateFall {
  0% {
    -webkit-transform: rotateZ(0deg);
  }
  20% {
    -webkit-transform: rotateZ(10deg);
    -webkit-animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: rotateZ(17deg);
  }
  60% {
    -webkit-transform: rotateZ(16deg);
  }
  100% {
    -webkit-transform: translateY(100%) rotateZ(17deg);
  }
}

@keyframes rotateFall {
  0% {
    -webkit-transform: rotateZ(0deg);
    transform: rotateZ(0deg);
  }
  20% {
    -webkit-transform: rotateZ(10deg);
    transform: rotateZ(10deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  40% {
    -webkit-transform: rotateZ(17deg);
    transform: rotateZ(17deg);
  }
  60% {
    -webkit-transform: rotateZ(16deg);
    transform: rotateZ(16deg);
  }
  100% {
    -webkit-transform: translateY(100%) rotateZ(17deg);
    transform: translateY(100%) rotateZ(17deg);
  }
}

/* newspaper */
@-webkit-keyframes rotateOutNewspaper {
  from {
  }
  to {
    -webkit-transform: translateZ(-3000px) rotateZ(360deg);
    opacity: 0;
  }
}

@keyframes rotateOutNewspaper {
  from {
  }
  to {
    -webkit-transform: translateZ(-3000px) rotateZ(360deg);
    transform: translateZ(-3000px) rotateZ(360deg);
    opacity: 0;
  }
}

@-webkit-keyframes rotateInNewspaper {
  from {
    -webkit-transform: translateZ(-3000px) rotateZ(-360deg);
    opacity: 0;
  }
}

@keyframes rotateInNewspaper {
  from {
    -webkit-transform: translateZ(-3000px) rotateZ(-360deg);
    transform: translateZ(-3000px) rotateZ(-360deg);
    opacity: 0;
  }
}

/* push */
@-webkit-keyframes rotatePushLeft {
  from {
  }
  to {
    opacity: 0;
    -webkit-transform: rotateY(90deg);
  }
}

@keyframes rotatePushLeft {
  from {
  }
  to {
    opacity: 0;
    -webkit-transform: rotateY(90deg);
    transform: rotateY(90deg);
  }
}

@-webkit-keyframes rotatePushRight {
  from {
  }
  to {
    opacity: 0;
    -webkit-transform: rotateY(-90deg);
  }
}

@keyframes rotatePushRight {
  from {
  }
  to {
    opacity: 0;
    -webkit-transform: rotateY(-90deg);
    transform: rotateY(-90deg);
  }
}

@-webkit-keyframes rotatePushTop {
  from {
  }
  to {
    opacity: 0;
    -webkit-transform: rotateX(-90deg);
  }
}

@keyframes rotatePushTop {
  from {
  }
  to {
    opacity: 0;
    -webkit-transform: rotateX(-90deg);
    transform: rotateX(-90deg);
  }
}

@-webkit-keyframes rotatePushBottom {
  from {
  }
  to {
    opacity: 0;
    -webkit-transform: rotateX(90deg);
  }
}

@keyframes rotatePushBottom {
  from {
  }
  to {
    opacity: 0;
    -webkit-transform: rotateX(90deg);
    transform: rotateX(90deg);
  }
}

/* pull */
@-webkit-keyframes rotatePullRight {
  from {
    opacity: 0;
    -webkit-transform: rotateY(-90deg);
  }
}

@keyframes rotatePullRight {
  from {
    opacity: 0;
    -webkit-transform: rotateY(-90deg);
    transform: rotateY(-90deg);
  }
}

@-webkit-keyframes rotatePullLeft {
  from {
    opacity: 0;
    -webkit-transform: rotateY(90deg);
  }
}

@keyframes rotatePullLeft {
  from {
    opacity: 0;
    -webkit-transform: rotateY(90deg);
    transform: rotateY(90deg);
  }
}

@-webkit-keyframes rotatePullTop {
  from {
    opacity: 0;
    -webkit-transform: rotateX(-90deg);
  }
}

@keyframes rotatePullTop {
  from {
    opacity: 0;
    -webkit-transform: rotateX(-90deg);
    transform: rotateX(-90deg);
  }
}

@-webkit-keyframes rotatePullBottom {
  from {
    opacity: 0;
    -webkit-transform: rotateX(90deg);
  }
}

@keyframes rotatePullBottom {
  from {
    opacity: 0;
    -webkit-transform: rotateX(90deg);
    transform: rotateX(90deg);
  }
}

/* fold */
@-webkit-keyframes rotateFoldRight {
  from {
  }
  to {
    opacity: 0;
    -webkit-transform: translateX(100%) rotateY(90deg);
  }
}

@keyframes rotateFoldRight {
  from {
  }
  to {
    opacity: 0;
    -webkit-transform: translateX(100%) rotateY(90deg);
    transform: translateX(100%) rotateY(90deg);
  }
}

@-webkit-keyframes rotateFoldLeft {
  from {
  }
  to {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotateY(-90deg);
  }
}

@keyframes rotateFoldLeft {
  from {
  }
  to {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotateY(-90deg);
    transform: translateX(-100%) rotateY(-90deg);
  }
}

@-webkit-keyframes rotateFoldTop {
  from {
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(-100%) rotateX(90deg);
  }
}

@keyframes rotateFoldTop {
  from {
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(-100%) rotateX(90deg);
    transform: translateY(-100%) rotateX(90deg);
  }
}

@-webkit-keyframes rotateFoldBottom {
  from {
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(100%) rotateX(-90deg);
  }
}

@keyframes rotateFoldBottom {
  from {
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(100%) rotateX(-90deg);
    transform: translateY(100%) rotateX(-90deg);
  }
}

/* unfold */
@-webkit-keyframes rotateUnfoldLeft {
  from {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotateY(-90deg);
  }
}

@keyframes rotateUnfoldLeft {
  from {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotateY(-90deg);
    transform: translateX(-100%) rotateY(-90deg);
  }
}

@-webkit-keyframes rotateUnfoldRight {
  from {
    opacity: 0;
    -webkit-transform: translateX(100%) rotateY(90deg);
  }
}

@keyframes rotateUnfoldRight {
  from {
    opacity: 0;
    -webkit-transform: translateX(100%) rotateY(90deg);
    transform: translateX(100%) rotateY(90deg);
  }
}

@-webkit-keyframes rotateUnfoldTop {
  from {
    opacity: 0;
    -webkit-transform: translateY(-100%) rotateX(90deg);
  }
}

@keyframes rotateUnfoldTop {
  from {
    opacity: 0;
    -webkit-transform: translateY(-100%) rotateX(90deg);
    transform: translateY(-100%) rotateX(90deg);
  }
}

@-webkit-keyframes rotateUnfoldBottom {
  from {
    opacity: 0;
    -webkit-transform: translateY(100%) rotateX(-90deg);
  }
}

@keyframes rotateUnfoldBottom {
  from {
    opacity: 0;
    -webkit-transform: translateY(100%) rotateX(-90deg);
    transform: translateY(100%) rotateX(-90deg);
  }
}

/* room walls */
@-webkit-keyframes rotateRoomLeftOut {
  from {
  }
  to {
    opacity: .3;
    -webkit-transform: translateX(-100%) rotateY(90deg);
  }
}

@keyframes rotateRoomLeftOut {
  from {
  }
  to {
    opacity: .3;
    -webkit-transform: translateX(-100%) rotateY(90deg);
    transform: translateX(-100%) rotateY(90deg);
  }
}

@-webkit-keyframes rotateRoomLeftIn {
  from {
    opacity: .3;
    -webkit-transform: translateX(100%) rotateY(-90deg);
  }
}

@keyframes rotateRoomLeftIn {
  from {
    opacity: .3;
    -webkit-transform: translateX(100%) rotateY(-90deg);
    transform: translateX(100%) rotateY(-90deg);
  }
}

@-webkit-keyframes rotateRoomRightOut {
  from {
  }
  to {
    opacity: .3;
    -webkit-transform: translateX(100%) rotateY(-90deg);
  }
}

@keyframes rotateRoomRightOut {
  from {
  }
  to {
    opacity: .3;
    -webkit-transform: translateX(100%) rotateY(-90deg);
    transform: translateX(100%) rotateY(-90deg);
  }
}

@-webkit-keyframes rotateRoomRightIn {
  from {
    opacity: .3;
    -webkit-transform: translateX(-100%) rotateY(90deg);
  }
}

@keyframes rotateRoomRightIn {
  from {
    opacity: .3;
    -webkit-transform: translateX(-100%) rotateY(90deg);
    transform: translateX(-100%) rotateY(90deg);
  }
}

@-webkit-keyframes rotateRoomTopOut {
  from {
  }
  to {
    opacity: .3;
    -webkit-transform: translateY(-100%) rotateX(-90deg);
  }
}

@keyframes rotateRoomTopOut {
  from {
  }
  to {
    opacity: .3;
    -webkit-transform: translateY(-100%) rotateX(-90deg);
    transform: translateY(-100%) rotateX(-90deg);
  }
}

@-webkit-keyframes rotateRoomTopIn {
  from {
    opacity: .3;
    -webkit-transform: translateY(100%) rotateX(90deg);
  }
}

@keyframes rotateRoomTopIn {
  from {
    opacity: .3;
    -webkit-transform: translateY(100%) rotateX(90deg);
    transform: translateY(100%) rotateX(90deg);
  }
}

@-webkit-keyframes rotateRoomBottomOut {
  from {
  }
  to {
    opacity: .3;
    -webkit-transform: translateY(100%) rotateX(90deg);
  }
}

@keyframes rotateRoomBottomOut {
  from {
  }
  to {
    opacity: .3;
    -webkit-transform: translateY(100%) rotateX(90deg);
    transform: translateY(100%) rotateX(90deg);
  }
}

@-webkit-keyframes rotateRoomBottomIn {
  from {
    opacity: .3;
    -webkit-transform: translateY(-100%) rotateX(-90deg);
  }
}

@keyframes rotateRoomBottomIn {
  from {
    opacity: .3;
    -webkit-transform: translateY(-100%) rotateX(-90deg);
    transform: translateY(-100%) rotateX(-90deg);
  }
}

/* cube */
@-webkit-keyframes rotateCubeLeftOut {
  0% {
  }
  50% {
    -webkit-animation-timing-function: ease-out;
    -webkit-transform: translateX(-50%) translateZ(-200px) rotateY(-45deg);
  }
  100% {
    opacity: .3;
    -webkit-transform: translateX(-100%) rotateY(-90deg);
  }
}

@keyframes rotateCubeLeftOut {
  0% {
  }
  50% {
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    -webkit-transform: translateX(-50%) translateZ(-200px) rotateY(-45deg);
    transform: translateX(-50%) translateZ(-200px) rotateY(-45deg);
  }
  100% {
    opacity: .3;
    -webkit-transform: translateX(-100%) rotateY(-90deg);
    transform: translateX(-100%) rotateY(-90deg);
  }
}

@-webkit-keyframes rotateCubeLeftIn {
  0% {
    opacity: .3;
    -webkit-transform: translateX(100%) rotateY(90deg);
  }
  50% {
    -webkit-animation-timing-function: ease-out;
    -webkit-transform: translateX(50%) translateZ(-200px) rotateY(45deg);
  }
}

@keyframes rotateCubeLeftIn {
  0% {
    opacity: .3;
    -webkit-transform: translateX(100%) rotateY(90deg);
    transform: translateX(100%) rotateY(90deg);
  }
  50% {
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    -webkit-transform: translateX(50%) translateZ(-200px) rotateY(45deg);
    transform: translateX(50%) translateZ(-200px) rotateY(45deg);
  }
}

@-webkit-keyframes rotateCubeRightOut {
  0% {
  }
  50% {
    -webkit-animation-timing-function: ease-out;
    -webkit-transform: translateX(50%) translateZ(-200px) rotateY(45deg);
  }
  100% {
    opacity: .3;
    -webkit-transform: translateX(100%) rotateY(90deg);
  }
}

@keyframes rotateCubeRightOut {
  0% {
  }
  50% {
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    -webkit-transform: translateX(50%) translateZ(-200px) rotateY(45deg);
    transform: translateX(50%) translateZ(-200px) rotateY(45deg);
  }
  100% {
    opacity: .3;
    -webkit-transform: translateX(100%) rotateY(90deg);
    transform: translateX(100%) rotateY(90deg);
  }
}

@-webkit-keyframes rotateCubeRightIn {
  0% {
    opacity: .3;
    -webkit-transform: translateX(-100%) rotateY(-90deg);
  }
  50% {
    -webkit-animation-timing-function: ease-out;
    -webkit-transform: translateX(-50%) translateZ(-200px) rotateY(-45deg);
  }
}

@keyframes rotateCubeRightIn {
  0% {
    opacity: .3;
    -webkit-transform: translateX(-100%) rotateY(-90deg);
    transform: translateX(-100%) rotateY(-90deg);
  }
  50% {
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    -webkit-transform: translateX(-50%) translateZ(-200px) rotateY(-45deg);
    transform: translateX(-50%) translateZ(-200px) rotateY(-45deg);
  }
}

@-webkit-keyframes rotateCubeTopOut {
  0% {
  }
  50% {
    -webkit-animation-timing-function: ease-out;
    -webkit-transform: translateY(-50%) translateZ(-200px) rotateX(45deg);
  }
  100% {
    opacity: .3;
    -webkit-transform: translateY(-100%) rotateX(90deg);
  }
}

@keyframes rotateCubeTopOut {
  0% {
  }
  50% {
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    -webkit-transform: translateY(-50%) translateZ(-200px) rotateX(45deg);
    transform: translateY(-50%) translateZ(-200px) rotateX(45deg);
  }
  100% {
    opacity: .3;
    -webkit-transform: translateY(-100%) rotateX(90deg);
    transform: translateY(-100%) rotateX(90deg);
  }
}

@-webkit-keyframes rotateCubeTopIn {
  0% {
    opacity: .3;
    -webkit-transform: translateY(100%) rotateX(-90deg);
  }
  50% {
    -webkit-animation-timing-function: ease-out;
    -webkit-transform: translateY(50%) translateZ(-200px) rotateX(-45deg);
  }
}

@keyframes rotateCubeTopIn {
  0% {
    opacity: .3;
    -webkit-transform: translateY(100%) rotateX(-90deg);
    transform: translateY(100%) rotateX(-90deg);
  }
  50% {
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    -webkit-transform: translateY(50%) translateZ(-200px) rotateX(-45deg);
    transform: translateY(50%) translateZ(-200px) rotateX(-45deg);
  }
}

@-webkit-keyframes rotateCubeBottomOut {
  0% {
  }
  50% {
    -webkit-animation-timing-function: ease-out;
    -webkit-transform: translateY(50%) translateZ(-200px) rotateX(-45deg);
  }
  100% {
    opacity: .3;
    -webkit-transform: translateY(100%) rotateX(-90deg);
  }
}

@keyframes rotateCubeBottomOut {
  0% {
  }
  50% {
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    -webkit-transform: translateY(50%) translateZ(-200px) rotateX(-45deg);
    transform: translateY(50%) translateZ(-200px) rotateX(-45deg);
  }
  100% {
    opacity: .3;
    -webkit-transform: translateY(100%) rotateX(-90deg);
    transform: translateY(100%) rotateX(-90deg);
  }
}

@-webkit-keyframes rotateCubeBottomIn {
  0% {
    opacity: .3;
    -webkit-transform: translateY(-100%) rotateX(90deg);
  }
  50% {
    -webkit-animation-timing-function: ease-out;
    -webkit-transform: translateY(-50%) translateZ(-200px) rotateX(45deg);
  }
}

@keyframes rotateCubeBottomIn {
  0% {
    opacity: .3;
    -webkit-transform: translateY(-100%) rotateX(90deg);
    transform: translateY(-100%) rotateX(90deg);
  }
  50% {
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    -webkit-transform: translateY(-50%) translateZ(-200px) rotateX(45deg);
    transform: translateY(-50%) translateZ(-200px) rotateX(45deg);
  }
}

/* carousel */
@-webkit-keyframes rotateCarouselLeftOut {
  from {
  }
  to {
    opacity: .3;
    -webkit-transform: translateX(-150%) scale(0.4) rotateY(-65deg);
  }
}

@keyframes rotateCarouselLeftOut {
  from {
  }
  to {
    opacity: .3;
    -webkit-transform: translateX(-150%) scale(0.4) rotateY(-65deg);
    transform: translateX(-150%) scale(0.4) rotateY(-65deg);
  }
}

@-webkit-keyframes rotateCarouselLeftIn {
  from {
    opacity: .3;
    -webkit-transform: translateX(200%) scale(0.4) rotateY(65deg);
  }
}

@keyframes rotateCarouselLeftIn {
  from {
    opacity: .3;
    -webkit-transform: translateX(200%) scale(0.4) rotateY(65deg);
    transform: translateX(200%) scale(0.4) rotateY(65deg);
  }
}

@-webkit-keyframes rotateCarouselRightOut {
  from {
  }
  to {
    opacity: .3;
    -webkit-transform: translateX(200%) scale(0.4) rotateY(65deg);
  }
}

@keyframes rotateCarouselRightOut {
  from {
  }
  to {
    opacity: .3;
    -webkit-transform: translateX(200%) scale(0.4) rotateY(65deg);
    transform: translateX(200%) scale(0.4) rotateY(65deg);
  }
}

@-webkit-keyframes rotateCarouselRightIn {
  from {
    opacity: .3;
    -webkit-transform: translateX(-200%) scale(0.4) rotateY(-65deg);
  }
}

@keyframes rotateCarouselRightIn {
  from {
    opacity: .3;
    -webkit-transform: translateX(-200%) scale(0.4) rotateY(-65deg);
    transform: translateX(-200%) scale(0.4) rotateY(-65deg);
  }
}

@-webkit-keyframes rotateCarouselTopOut {
  from {
  }
  to {
    opacity: .3;
    -webkit-transform: translateY(-200%) scale(0.4) rotateX(65deg);
  }
}

@keyframes rotateCarouselTopOut {
  from {
  }
  to {
    opacity: .3;
    -webkit-transform: translateY(-200%) scale(0.4) rotateX(65deg);
    transform: translateY(-200%) scale(0.4) rotateX(65deg);
  }
}

@-webkit-keyframes rotateCarouselTopIn {
  from {
    opacity: .3;
    -webkit-transform: translateY(200%) scale(0.4) rotateX(-65deg);
  }
}

@keyframes rotateCarouselTopIn {
  from {
    opacity: .3;
    -webkit-transform: translateY(200%) scale(0.4) rotateX(-65deg);
    transform: translateY(200%) scale(0.4) rotateX(-65deg);
  }
}

@-webkit-keyframes rotateCarouselBottomOut {
  from {
  }
  to {
    opacity: .3;
    -webkit-transform: translateY(200%) scale(0.4) rotateX(-65deg);
  }
}

@keyframes rotateCarouselBottomOut {
  from {
  }
  to {
    opacity: .3;
    -webkit-transform: translateY(200%) scale(0.4) rotateX(-65deg);
    transform: translateY(200%) scale(0.4) rotateX(-65deg);
  }
}

@-webkit-keyframes rotateCarouselBottomIn {
  from {
    opacity: .3;
    -webkit-transform: translateY(-200%) scale(0.4) rotateX(65deg);
  }
}

@keyframes rotateCarouselBottomIn {
  from {
    opacity: .3;
    -webkit-transform: translateY(-200%) scale(0.4) rotateX(65deg);
    transform: translateY(-200%) scale(0.4) rotateX(65deg);
  }
}

/* sides */
@-webkit-keyframes rotateSidesOut {
  from {
  }
  to {
    opacity: 0;
    -webkit-transform: translateZ(-500px) rotateY(90deg);
  }
}

@keyframes rotateSidesOut {
  from {
  }
  to {
    opacity: 0;
    -webkit-transform: translateZ(-500px) rotateY(90deg);
    transform: translateZ(-500px) rotateY(90deg);
  }
}

@-webkit-keyframes rotateSidesIn {
  from {
    opacity: 0;
    -webkit-transform: translateZ(-500px) rotateY(-90deg);
  }
}

@keyframes rotateSidesIn {
  from {
    opacity: 0;
    -webkit-transform: translateZ(-500px) rotateY(-90deg);
    transform: translateZ(-500px) rotateY(-90deg);
  }
}

/* slide */
@-webkit-keyframes rotateSlideOut {
  0% {
  }
  25% {
    opacity: .5;
    -webkit-transform: translateZ(-500px);
  }
  75% {
    opacity: .5;
    -webkit-transform: translateZ(-500px) translateX(-200%);
  }
  100% {
    opacity: .5;
    -webkit-transform: translateZ(-500px) translateX(-200%);
  }
}

@keyframes rotateSlideOut {
  0% {
  }
  25% {
    opacity: .5;
    -webkit-transform: translateZ(-500px);
    transform: translateZ(-500px);
  }
  75% {
    opacity: .5;
    -webkit-transform: translateZ(-500px) translateX(-200%);
    transform: translateZ(-500px) translateX(-200%);
  }
  100% {
    opacity: .5;
    -webkit-transform: translateZ(-500px) translateX(-200%);
    transform: translateZ(-500px) translateX(-200%);
  }
}

@-webkit-keyframes rotateSlideIn {
  0%,
  25% {
    opacity: .5;
    -webkit-transform: translateZ(-500px) translateX(200%);
  }
  75% {
    opacity: .5;
    -webkit-transform: translateZ(-500px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateZ(0) translateX(0);
  }
}

@keyframes rotateSlideIn {
  0%,
  25% {
    opacity: .5;
    -webkit-transform: translateZ(-500px) translateX(200%);
    transform: translateZ(-500px) translateX(200%);
  }
  75% {
    opacity: .5;
    -webkit-transform: translateZ(-500px);
    transform: translateZ(-500px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateZ(0) translateX(0);
    transform: translateZ(0) translateX(0);
  }
}

/* animation delay classes */
.pt-page-delay100 {
  -webkit-animation-delay: .1s;
  animation-delay: .1s;
}

.pt-page-delay180 {
  -webkit-animation-delay: .180s;
  animation-delay: .180s;
}

.pt-page-delay200 {
  -webkit-animation-delay: .2s;
  animation-delay: .2s;
}

.pt-page-delay300 {
  -webkit-animation-delay: .3s;
  animation-delay: .3s;
}

.pt-page-delay400 {
  -webkit-animation-delay: .4s;
  animation-delay: .4s;
}

.pt-page-delay500 {
  -webkit-animation-delay: .5s;
  animation-delay: .5s;
}

.pt-page-delay700 {
  -webkit-animation-delay: .7s;
  animation-delay: .7s;
}

.pt-page-delay1000 {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}

.pt-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  -webkit-perspective: 1200px;
  -moz-perspective: 1200px;
  perspective: 1200px;
}

.pt-perspective {
  overflow-y: hidden;
  position: relative;
  width: 100%;
  height: 100%;
  -webkit-perspective: 1200px;
  -moz-perspective: 1200px;
  perspective: 1200px;
  overflow: hidden;
}

.pt-page {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  visibility: hidden;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  transform-style: preserve-3d;
  max-height: 100vh;
}

.pt-page-current,
.no-js .pt-page {
  visibility: visible;
  z-index: 1;
}

.no-js body {
  overflow: auto;
}

.pt-page-ontop {
  z-index: 999;
}

.portfolio-section-left {
  transform: translateY(50%);
}

.portfolio-section {
  height: 100%;
}

.our-work-container {
  margin-bottom: 15%;
}

.project-video-showcase {
  background: linear-gradient(135deg, #011a34 0%, #006693 100%);
}

.project-video-showcase iframe {
  height: 360px;
}

@media (min-width: 768px) {
  .project-video-showcase iframe {
    height: 480px;
  }
}

.modal-open .modal {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.vertical-alignment-helper {
  width: 100%;
}

@media (min-width: 768px) {
  .vertical-alignment-helper {
    width: 50%;
  }
}

.modal-dialog.vertical-align-center {
  width: 100%;
  margin: 0;
}

@media (min-width: 768px) {
  .modal-dialog.vertical-align-center {
    margin: 10px;
  }
}

.project-link:hover * {
  color: #E05054;
}

.story-section {
  height: 100%;
}

.modal-header {
  padding: 15px;
  border: 0;
}

.portfolio-logo {
  width: 50%;
  margin-bottom: 30px;
}

@media (min-width: 1440px) {
  .portfolio-logo {
    width: 65%;
  }
}

@media (min-width: 1024) {
  .portfolio .row {
    display: flex !important;
    align-items: center;
    justify-content: center;
  }
}

.content h1 {
  font-size: 1.5em;
}

@media (min-width: 768px) {
  .content h1 {
    font-size: 2em;
  }
}

@media (min-width: 1440px) {
  .content h1 {
    font-size: 4.8rem;
  }
}

.content p {
  font-size: 0.9em;
  display: none;
}

@media (min-width: 768px) {
  .content p {
    display: block;
  }
}

@media (min-width: 1440px) {
  .content p {
    font-size: 1.8rem;
  }
}

.portfolio-panel h1 {
  font-size: 1.5em;
}

@media (min-width: 768px) {
  .portfolio-panel h1 {
    font-size: 2em;
  }
}

@media (min-width: 1440px) {
  .portfolio-panel h1 {
    font-size: 4.8rem;
  }
}

.portfolio-panel p {
  font-size: 0.8em;
  line-height: 1.1;
}

@media (min-width: 768px) {
  .portfolio-panel p {
    font-size: 0.9em;
    line-height: normal;
  }
}

@media (min-width: 1440px) {
  .portfolio-panel p {
    font-size: 1.8rem;
  }
}

.panel-previous {
  background-size: cover;
  height: 50%;
}

@media (min-width: 768px) {
  .panel-previous {
    height: 100%;
  }
}

.panel-next {
  background-size: cover;
  height: 50%;
}

@media (min-width: 768px) {
  .panel-next {
    height: 100%;
  }
}

.news-item h2 {
  text-align: left;
  margin-bottom: 10px;
  font-weight: 600;
}

.info {
  padding: 0;
}

.read-article {
  font-size: 16px;
  font-weight: 100;
  line-height: 40px;
  margin: 1em 0 1em;
  width: 100%;
  padding: 0;
}

.news-item {
  background: transparent;
}

.article-container {
  background: transparent;
  text-align: center;
}

.featured-image-container {
  width: 100%;
  margin: auto;
  text-align: center;
}

.feature-image-container {
  padding: 10px;
}

.feature-image-container img {
  margin-left: auto;
  margin-right: auto;
}

.featured-image {
  margin: auto;
  width: 70%;
}

.news-article-header {
  padding: 20px 0px;
}

.news-article-header h2 {
  font-weight: 900;
  width: 70%;
  margin: 0 auto;
}

.news-article-header .author {
  font-size: 2rem;
  font-weight: 100;
  text-transform: uppercase;
}

.article-intro {
  width: 85%;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}

.article-content {
  width: 85%;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}

.pagination > li > a, .pagination > li > span {
  position: relative;
  float: left;
  padding: 6px 12px;
  line-height: 1.42857143;
  color: #337ab7;
  text-decoration: none;
  border: 1px solid;
  color: #fff;
  cursor: default;
  background-color: transparent;
  border-color: rgba(0, 102, 147, 0.9);
  border-radius: 10px;
  margin-left: 5px;
  margin-right: 5px;
}

.pagination > .active > a, .pagination > .active > a:focus, .pagination > .active > a:hover, .pagination > .active > span, .pagination > .active > span:focus, .pagination > .active > span:hover {
  z-index: 3;
  color: #fff;
  cursor: default;
  background-color: rgba(255, 255, 255, 0.2);
  border-color: rgba(0, 102, 147, 0.9);
  border-radius: 10px;
  margin-left: 5px;
  margin-right: 5px;
}

.pagination > li > a:focus, .pagination > li > a:hover, .pagination > li > span:focus, .pagination > li > span:hover {
  z-index: 2;
  color: #fff;
  background-color: rgba(255, 255, 255, 0.2);
  border-color: rgba(0, 102, 147, 0.9);
  cursor: pointer;
}

.pagination > li:first-child > a, .pagination > li:first-child > span {
  margin-left: 5px;
  border-radius: 10px;
}

.pagination > li:last-child > a, .pagination > li:last-child > span {
  border-radius: 10px;
}

.back-button.container {
  float: right;
  margin-right: 5%;
}

.jsBack .fa {
  background: transparent;
  color: #fff;
  font-size: 1.5em;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiX2Jhc2Uuc2NzcyIsIl9vdmVybGF5LnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCJfbGF5b3V0LnNjc3MiLCJfaG9tZS5zY3NzIiwiX2NvbnRhY3Quc2NzcyIsIl9zbGlkZXIuc2NzcyIsIl9hbmltYXRpb24uc2NzcyIsIl9wYWdlVHJhbnNpdGlvbnMuc2NzcyIsIl9zZWN0aW9uTGF5b3V0LnNjc3MiLCJfcG9ydGZvbGlvLnNjc3MiLCJfbmV3cy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJ2Jhc2UnO1xyXG5AaW1wb3J0ICdvdmVybGF5JztcclxuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xyXG5AaW1wb3J0IFwibGF5b3V0XCI7XHJcbkBpbXBvcnQgXCJob21lXCI7XHJcbkBpbXBvcnQgXCJjb250YWN0XCI7XHJcbkBpbXBvcnQgXCJzbGlkZXJcIjtcclxuQGltcG9ydCBcImFuaW1hdGlvblwiO1xyXG5AaW1wb3J0IFwicGFnZVRyYW5zaXRpb25zXCI7XHJcbkBpbXBvcnQgXCJzZWN0aW9uTGF5b3V0XCI7XHJcbkBpbXBvcnQgXCJwb3J0Zm9saW9cIjtcclxuQGltcG9ydCBcIm5ld3NcIjsiLCLvu78vKiBHZW5lcmF0ZWQgYnkgbGVzcyAyLjUuMSAqL1xyXG5cclxuXHJcbi8qIERFQ0xBUklUSVZFUyAgKi9cclxuXHJcblxyXG4vKioqKioqKiBQcmVsb2FkZXIgKioqKioqKiovXHJcblxyXG4ucHJlbG9hZCBkaXYjcHJlbG9hZGVyIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICB6LWluZGV4OiA5OTk5OTk5OTk5OTk5O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLmxvYWRpbmctZ2lmIHtcclxuICAgIHdpZHRoOiAxNTBweDtcclxuICAgIGFuaW1hdGlvbjogU2hyaW5rIDIuNXMgbGluZWFyIGluZmluaXRlO1xyXG5cclxuICAgIFxyXG4gICAgQGtleWZyYW1lcyBTaHJpbmsge1xyXG4gICAgICAgIGZyb20ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTUwcHg7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICA1MCUge1xyXG4gICAgICAgICAgICB3aWR0aDogNTBweDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdG8ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTUwcHg7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogRk9OVFMgKi9cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICdOZXhhQmxhY2snO1xyXG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy9Gb250ZmFicmljLU5leGFCbGFjay5lb3RcIik7XHJcbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL0ZvbnRmYWJyaWMtTmV4YUJsYWNrLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL0ZvbnRmYWJyaWMtTmV4YUJsYWNrLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9Gb250ZmFicmljLU5leGFCbGFjay53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL0ZvbnRmYWJyaWMtTmV4YUJsYWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvRm9udGZhYnJpYy1OZXhhQmxhY2suc3ZnXCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICdOZXhhLUJvbGQnO1xyXG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy9Gb250ZmFicmljLU5leGEtQm9sZC5lb3RcIik7XHJcbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL0ZvbnRmYWJyaWMtTmV4YS1Cb2xkLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL0ZvbnRmYWJyaWMtTmV4YS1Cb2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9Gb250ZmFicmljLU5leGEtQm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL0ZvbnRmYWJyaWMtTmV4YS1Cb2xkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvRm9udGZhYnJpYy1OZXhhLUJvbGQuc3ZnXCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICdOZXhhUmVndWxhcic7XHJcbiAgICBzcmM6IHVybChcIi4uL2ZvbnRzL0ZvbnRmYWJyaWMtTmV4YVJlZ3VsYXIuZW90XCIpO1xyXG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy9Gb250ZmFicmljLU5leGFSZWd1bGFyLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL0ZvbnRmYWJyaWMtTmV4YVJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL0ZvbnRmYWJyaWMtTmV4YVJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9Gb250ZmFicmljLU5leGFSZWd1bGFyLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvRm9udGZhYnJpYy1OZXhhUmVndWxhci5zdmdcIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogJ05leGEtUmVndWxhci1JdGFsaWMnO1xyXG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy9Gb250ZmFicmljLU5leGEtUmVndWxhci1JdGFsaWMuZW90XCIpO1xyXG4gICAgLyogSUU5IENvbXBhdCBNb2RlcyAqL1xyXG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy9Gb250ZmFicmljLU5leGEtUmVndWxhci1JdGFsaWMuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvRm9udGZhYnJpYy1OZXhhLVJlZ3VsYXItSXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9Gb250ZmFicmljLU5leGEtUmVndWxhci1JdGFsaWMud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9Gb250ZmFicmljLU5leGEtUmVndWxhci1JdGFsaWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9Gb250ZmFicmljLU5leGEtUmVndWxhci1JdGFsaWMuc3ZnXCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgIC8qIExlZ2FjeSBpT1MgKi9cclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICdOZXhhLUxpZ2h0JztcclxuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvRm9udGZhYnJpYy1OZXhhLUxpZ2h0LmVvdFwiKTtcclxuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvRm9udGZhYnJpYy1OZXhhLUxpZ2h0LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL0ZvbnRmYWJyaWMtTmV4YS1MaWdodC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvRm9udGZhYnJpYy1OZXhhLUxpZ2h0LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvRm9udGZhYnJpYy1OZXhhLUxpZ2h0LnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvRm9udGZhYnJpYy1OZXhhLUxpZ2h0LnN2Z1wiKSBmb3JtYXQoXCJzdmdcIik7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnTmV4YS1MaWdodC1JdGFsaWMnO1xyXG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy9Gb250ZmFicmljLU5leGEtTGlnaHQtSXRhbGljLmVvdFwiKTtcclxuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvRm9udGZhYnJpYy1OZXhhLUxpZ2h0LUl0YWxpYy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9Gb250ZmFicmljLU5leGEtTGlnaHQtSXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9Gb250ZmFicmljLU5leGEtTGlnaHQtSXRhbGljLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvRm9udGZhYnJpYy1OZXhhLUxpZ2h0LUl0YWxpYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL0ZvbnRmYWJyaWMtTmV4YS1MaWdodC1JdGFsaWMuc3ZnXCIpIGZvcm1hdChcInN2Z1wiKTtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuXHJcblxyXG4vKiBHRU5FUkFMIFNUWUxFUyAqL1xyXG5cclxuKixcclxuKjphZnRlcixcclxuKjpiZWZvcmUge1xyXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuXHJcbmJvZHkge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbiAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZzogMDsgXHJcbiAgICBtYXJnaW46IDA7XHJcblx0bWF4LWhlaWdodDogMTAwdmg7XHJcbn1cclxuXHJcbmh0bWwge1xyXG4gICAgZm9udC1zaXplOiA2Mi41JTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDA7IFxyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG5ib2R5IHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGNvbG9yOiByZ2JhKDIsIDIzLCAzNywgMC43KTtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwMTFhMzQgMCUsICMwMDY2OTMgMTAwJSk7XHJcbiAgICBmb250LWZhbWlseTogXCJOZXhhLUxpZ2h0XCIsIHNhbnMtc2VyaWY7XHJcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG59XHJcblxyXG5ib2R5Lm92ZXJmbG93LWhpZGRlbiB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xyXG5cdG1heC1oZWlnaHQ6IDEwMHZoO1xyXG59XHJcblxyXG5oMSB7XHJcbiAgICBmb250LXNpemU6IDQ4cHg7XHJcbiAgICBmb250LXNpemU6IDQuOHJlbTtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogLjNyZW07XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG59XHJcblxyXG5oMiB7XHJcbiAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICBmb250LXNpemU6IDMuNHJlbTtcclxufVxyXG5cclxuaDMge1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgZm9udC1zaXplOiAzcmVtO1xyXG59XHJcblxyXG5oNCB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBmb250LXNpemU6IDEuNnJlbTtcclxufVxyXG5cclxucCB7XHJcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZm9udC1zaXplOiAxLjhyZW07XHJcbn1cclxuXHJcblxyXG4vKiBCVVRUT05TICovXHJcblxyXG4uYnRuLWdob3N0LWJsdWUge1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmZmZmO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBmb250LWZhbWlseTogXCJOZXhhLUxpZ2h0XCIsIHNhbnMtc2VyaWY7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDUwcHggNnB4O1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAwcHg7XHJcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBmb250LXNpemU6IDEuOHJlbTtcclxuICAgIG1hcmdpbjogMTVweDtcclxufVxyXG5cclxuLmJ0bi1naG9zdC1ibHVlOmhvdmVyIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICMyNWFhZTE7XHJcbiAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNWFhZTE7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLW91dCAwLjNzO1xyXG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1vdXQgMC4zcztcclxuICAgIC1vLXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLW91dCAwLjNzO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2Utb3V0IDAuM3M7XHJcbn1cclxuXHJcbi5idG4tZ2hvc3QtcmVkIHtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZmZmZjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgZm9udC1mYW1pbHk6IFwiTmV4YS1MaWdodFwiLCBzYW5zLXNlcmlmO1xyXG4gICAgcGFkZGluZzogMTBweCA1MHB4IDZweDtcclxuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMHB4O1xyXG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgZm9udC1zaXplOiAxLjhyZW07XHJcbiAgICBtYXJnaW46IDE1cHg7XHJcbn1cclxuXHJcbi5idG4tZ2hvc3QtcmVkOmhvdmVyIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmZmZmY7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2Utb3V0IDAuMnM7XHJcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLW91dCAwLjJzO1xyXG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2Utb3V0IDAuMnM7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1vdXQgMC4ycztcclxufVxyXG5cclxuXHJcbi8qIFNJWkUgQURKVVNUUyAqL1xyXG5cclxuLnhsYXJnZS10ZXh0IHtcclxuICAgIGZvbnQtc2l6ZTogNjJweDtcclxuICAgIGZvbnQtc2l6ZTogNnJlbTtcclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcclxuICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcclxuXHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDM2MHB4KSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDVyZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcclxuICAgICAgICBmb250LXNpemU6IDRyZW07XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XHJcbiAgICAgICAgZm9udC1zaXplOiA2cmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4uaW5uZXItcGFnZS1jb250ZW50IHtcclxuICAgIGgyIHtcclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNXJlbTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxufVxyXG5cclxuLmxhcmdlIHtcclxuICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgIGZvbnQtc2l6ZTogNHJlbTtcclxufVxyXG5cclxuLmxhcmdlLW1lZGl1bSB7XHJcbiAgICBmb250LXNpemU6IDI1cHg7XHJcbiAgICBmb250LXNpemU6IDMuNXJlbTtcclxufVxyXG5cclxuLm1lZGl1bSB7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBmb250LXNpemU6IDNyZW07XHJcbn1cclxuXHJcbi5zbWFsbCB7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICBmb250LXNpemU6IDIuNHJlbTtcclxufVxyXG5cclxuLmJsYWNrIHtcclxuICAgIGZvbnQtZmFtaWx5OiBcIk5leGFCbGFja1wiLCBzYW5zLXNlcmlmO1xyXG59XHJcblxyXG4uYm9sZCB7XHJcbiAgICBmb250LWZhbWlseTogXCJOZXhhLUJvbGRcIiwgc2Fucy1zZXJpZjtcclxufVxyXG5cclxuLnJlZ3VsYXIge1xyXG4gICAgZm9udC1mYW1pbHk6IFwiTmV4YVJlZ3VsYXJcIiwgc2Fucy1zZXJpZjtcclxufVxyXG5cclxuLml0YWxpYyB7XHJcbiAgICBmb250LWZhbWlseTogXCJOZXhhLVJlZ3VsYXItSXRhbGljXCIsIHNhbnMtc2VyaWY7XHJcbn1cclxuXHJcbi5saWdodCB7XHJcbiAgICBmb250LWZhbWlseTogXCJOZXhhLUxpZ2h0XCIsIHNhbnMtc2VyaWY7XHJcbn1cclxuXHJcbi5saWdodC1pdGFsaWMge1xyXG4gICAgZm9udC1mYW1pbHk6IFwiTmV4YS1MaWdodC1JdGFsaWNcIiwgc2Fucy1zZXJpZjtcclxufVxyXG5cclxuLm5lZWQtcm9vbSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMHB4O1xyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAzODBweCkge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDsgICAgXHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xyXG4gICAgfVxyXG59XHJcblxyXG4ucHQtcGFnZSB7XHJcbiAgICAubmVlZC1yb29tIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMHB4O1xyXG5cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMzgwcHgpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogODBweCAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNDBweCAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogODBweCAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc3Rvcnktc2VjdGlvbiB7XHJcbiAgICAubmVlZC1yb29tIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMHB4O1xyXG5cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMzgwcHgpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY2xvdWQtYmxvY2sge1xyXG4gICAgcGFkZGluZzogNDVweCAyNSU7XHJcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG4gICAgY29sb3I6ICMyNWFhZTE7XHJcbiAgICBvcGFjaXR5OiAwLjU7XHJcbn1cclxuXHJcbi5hY3RpdmUge1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcclxuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XHJcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG5cclxuLyogUlVCWSAqL1xyXG5cclxuLmhvbWUtd29yay1jb250YWluZXIge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XHJcbiAgICAgICAgcGFkZGluZzogMCA3MHB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgNzBweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMzY2cHgpIHtcclxuICAgICAgICB3aWR0aDogODUlO1xyXG4gICAgfVxyXG59XHJcblxyXG4ud293IHtcclxuICAgIHBhZGRpbmc6IDBweDtcclxufVxyXG5cclxuLmdyaWQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIHBhZGRpbmc6IDAgMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgIHdpZHRoOiA5NSU7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcclxuICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbn1cclxuXHJcbi5wdC1wYWdlIC5ncmlkIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAwcHg7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgei1pbmRleDogMjtcclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICBcclxuICAgIH1cclxufVxyXG5cclxuLmdyaWQgZmlndXJlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIG1heC1oZWlnaHQ6IDM1MHB4O1xyXG4gICAgd2lkdGg6IDMzJTtcclxuICAgIGJhY2tncm91bmQ6ICMzMDg1YTM7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDI1cHgpIHtcclxuICAgICAgICB3aWR0aDogNDQlO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDU1MHB4KSB7XHJcbiAgICAgICAgd2lkdGg6IDMwJTtcclxuICAgIH1cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgeyAgICBcclxuICAgICAgICB3aWR0aDogMzIlO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZ3JpZCBmaWd1cmUgLmZpZ3VyZS1iYWNrZ3JvdW5kIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWluLWhlaWdodDogMTAwJTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG9wYWNpdHk6IDAuODtcclxuICAgIGZpbHRlcjogc2VwaWEoKSBzYXR1cmF0ZSgyMDAlKSBodWUtcm90YXRlKDE3MGRlZyk7XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgZmlsdGVyOiBzZXBpYSgpIHNhdHVyYXRlKDIwMCUpIGh1ZS1yb3RhdGUoMTcwZGVnKTtcclxuXHJcbiAgICB9XHJcbn1cclxuXHJcbi5ncmlkIGZpZ3VyZSBmaWdjYXB0aW9uIHtcclxuICAgIHBhZGRpbmc6IDFyZW07XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi5ncmlkIGZpZ3VyZSBmaWdjYXB0aW9uOjpiZWZvcmUsXHJcbi5ncmlkIGZpZ3VyZSBmaWdjYXB0aW9uOjphZnRlciB7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuLmdyaWQgZmlndXJlIGZpZ2NhcHRpb24sXHJcbi5ncmlkIGZpZ3VyZSBmaWdjYXB0aW9uPmEge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4uZ3JpZCBmaWd1cmUgZmlnY2FwdGlvbj5hIHtcclxuICAgIHotaW5kZXg6IDEwMDA7XHJcbiAgICB0ZXh0LWluZGVudDogMjAwJTtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBmb250LXNpemU6IDA7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4uZ3JpZCBmaWd1cmUgaDIge1xyXG4gICAgd29yZC1zcGFjaW5nOiAtMC4xNXJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbn1cclxuXHJcbi5ncmlkIGZpZ3VyZSBoMiBzcGFuIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbn1cclxuXHJcbi5ncmlkIGZpZ3VyZSBoMixcclxuLmdyaWQgZmlndXJlIHAge1xyXG4gICAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG4uZ3JpZCBmaWd1cmUgcCB7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG59XHJcblxyXG5maWd1cmUuZWZmZWN0LXJ1YnkgaDIge1xyXG4gICAgbWFyZ2luLXRvcDogMjAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjM1cztcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjM1cztcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCk7XHJcbn1cclxuXHJcbmZpZ3VyZS5lZmZlY3QtcnVieSBoMiBpbWcge1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBtYXJnaW46IC0xNSUgYXV0bztcclxufVxyXG5cclxuZmlndXJlLmVmZmVjdC1ydWJ5IGgzIHtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGZvbnQtc2l6ZTogMWVtO1xyXG4gICAgbWFyZ2luOiAuNWVtIDAgMDtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXMsIC13ZWJraXQtdHJhbnNmb3JtIDAuMzVzO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjM1cywgdHJhbnNmb3JtIDAuMzVzO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApIHNjYWxlKDEuMSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApIHNjYWxlKDEuMSk7XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG5maWd1cmUuZWZmZWN0LXJ1YnkgcCB7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgIG1hcmdpbjogMWVtIDAgMDtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXMsIC13ZWJraXQtdHJhbnNmb3JtIDAuMzVzO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjM1cywgdHJhbnNmb3JtIDAuMzVzO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApIHNjYWxlKDEuMSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApIHNjYWxlKDEuMSk7XHJcbn1cclxuXHJcbmZpZ3VyZS5lZmZlY3QtcnVieSBpbWcge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjM1cywgLXdlYmtpdC10cmFuc2Zvcm0gMC4zNXMgZWFzZS1pbjtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXMsIHRyYW5zZm9ybSAwLjM1cyBlYXNlLWluO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMTUpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjE1KTtcclxufVxyXG5cclxuZmlndXJlLmVmZmVjdC1ydWJ5OmhvdmVyIGgyIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICBtYXJnaW4tdG9wOiAwJTtcclxuICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZS1pbjtcclxufVxyXG5cclxuZmlndXJlLmVmZmVjdC1ydWJ5OmhvdmVyIGgzIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGUoMSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlKDEpO1xyXG59XHJcblxyXG5maWd1cmUuZWZmZWN0LXJ1Ynk6aG92ZXIgcCB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlKDEpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZSgxKTtcclxufVxyXG5cclxuZmlndXJlLmVmZmVjdC1ydWJ5OmhvdmVyIGltZyB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIGZpbHRlcjogZ3JheXNjYWxlKDApO1xyXG59XHJcblxyXG4uYWRqdXN0LWxvZ28ge1xyXG4gICAgd2lkdGg6IDgwJTtcclxuICAgIGhlaWdodDogYXV0bztcclxufVxyXG5cclxuXHJcbi8qIENBUk9VU0FMICovXHJcblxyXG4jY2Fyb3VzZWwtZXhhbXBsZS1nZW5lcmljIHtcclxuICAgIG1hcmdpbi1ib3R0b206IC00NXB4O1xyXG59XHJcblxyXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XHJcbiAgICBib3R0b206IDBweDtcclxufVxyXG5cclxuLmNhcm91c2VsLWluZGljYXRvcnMgbGkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGhlaWdodDogMTBweDtcclxuICAgIG1hcmdpbjogMXB4O1xyXG4gICAgdGV4dC1pbmRlbnQ6IC05OTlweDtcclxuICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgcGFkZGluZzogNXB4O1xyXG59XHJcblxyXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyAuYWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYzIwMjg7XHJcbiAgICBoZWlnaHQ6IDEycHg7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICB3aWR0aDogMTJweDtcclxufVxyXG5cclxuXHJcbi8qIFZJREVPIFBMQVlCQUNLICovXHJcblxyXG52aWRlbyB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHotaW5kZXg6IC0xMDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvdmlkZW9fYmcuanBnXCIpO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMXMgb3BhY2l0eTtcclxuICAgIHRyYW5zaXRpb246IDFzIG9wYWNpdHk7XHJcbn1cclxuXHJcbi5zdG9wZmFkZSB7XHJcbiAgICBvcGFjaXR5OiAuNTtcclxufVxyXG5cclxuI3BvbGluYSB7XHJcbiAgICBmb250LXdlaWdodDogMTAwO1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbiNwb2xpbmEgYnV0dG9uIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDgwJTtcclxuICAgIHBhZGRpbmc6IC40cmVtO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgbWFyZ2luOiAxcmVtIGF1dG87XHJcbiAgICBmb250LXNpemU6IDEuM3JlbTtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yMyk7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLjNzIGJhY2tncm91bmQ7XHJcbiAgICB0cmFuc2l0aW9uOiAuM3MgYmFja2dyb3VuZDtcclxufVxyXG5cclxuI3BvbGluYSBidXR0b246aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xyXG59XHJcblxyXG5cclxuLyogSEVBREVSICovXHJcblxyXG4uY2QtaGVhZGVyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIsIDIzLCAzNywgMC45NSk7XHJcbiAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHotaW5kZXg6IDM7XHJcbiAgICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG59XHJcblxyXG4uY2QtbG9nbyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNDAlO1xyXG4gICAgYm90dG9tOiBhdXRvO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICBsZWZ0OiAuODc1ZW07XHJcbn1cclxuXHJcbi5jZC1sb2dvIGltZyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiA1MCU7XHJcbn1cclxuXHJcblxyXG4vKiBCVVRUT04gQU5EIEVGRkVDVCAqL1xyXG5cclxuLmNkLXByaW1hcnktbmF2LXRyaWdnZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogNTBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwZTU0OWY7XHJcbn1cclxuXHJcbi5jZC1wcmltYXJ5LW5hdi10cmlnZ2VyLmNkLW1lbnUtdGV4dCB7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIC8qIGhpZGUgdGhlIHRleHQgb24gc21hbGwgZGV2aWNlcyAqL1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmNkLXByaW1hcnktbmF2LXRyaWdnZXIgLmNkLW1lbnUtaWNvbiB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGJvdHRvbTogYXV0bztcclxuICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgd2lkdGg6IDE4cHg7XHJcbiAgICBoZWlnaHQ6IDJweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XHJcbiAgICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcclxufVxyXG5cclxuLmNkLXByaW1hcnktbmF2LXRyaWdnZXIgLmNkLW1lbnUtaWNvbjo6YmVmb3JlLFxyXG4uY2QtcHJpbWFyeS1uYXYtdHJpZ2dlciAuY2QtbWVudS1pY29uOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjNzLCB0b3AgMC4zcywgYmFja2dyb3VuZC1jb2xvciAwcztcclxuICAgIC1tb3otdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gMC4zcywgdG9wIDAuM3MsIGJhY2tncm91bmQtY29sb3IgMHM7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcywgdG9wIDAuM3MsIGJhY2tncm91bmQtY29sb3IgMHM7XHJcbn1cclxuXHJcbi5jZC1wcmltYXJ5LW5hdi10cmlnZ2VyIC5jZC1tZW51LWljb246OmJlZm9yZSB7XHJcbiAgICB0b3A6IC01cHg7XHJcbn1cclxuXHJcbi5jZC1wcmltYXJ5LW5hdi10cmlnZ2VyIC5jZC1tZW51LWljb246OmFmdGVyIHtcclxuICAgIHRvcDogNXB4O1xyXG59XHJcblxyXG4uY2QtcHJpbWFyeS1uYXYtdHJpZ2dlciAuY2QtbWVudS1pY29uLmlzLWNsaWNrZWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcclxufVxyXG5cclxuLmNkLXByaW1hcnktbmF2LXRyaWdnZXIgLmNkLW1lbnUtaWNvbi5pcy1jbGlja2VkOjpiZWZvcmUsXHJcbi5jZC1wcmltYXJ5LW5hdi10cmlnZ2VyIC5jZC1tZW51LWljb24uaXMtY2xpY2tlZDo6YWZ0ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbi5jZC1wcmltYXJ5LW5hdi10cmlnZ2VyIC5jZC1tZW51LWljb24uaXMtY2xpY2tlZDo6YmVmb3JlIHtcclxuICAgIHRvcDogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xyXG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XHJcbn1cclxuXHJcbi5jZC1wcmltYXJ5LW5hdi10cmlnZ2VyIC5jZC1tZW51LWljb24uaXMtY2xpY2tlZDo6YWZ0ZXIge1xyXG4gICAgdG9wOiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpO1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDIyNWRlZyk7XHJcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgyMjVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMjI1ZGVnKTtcclxufVxyXG5cclxuXHJcbi8qIENPTlRBSU5FUiAqL1xyXG5cclxuLmNkLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogOTAlO1xyXG4gICAgbWF4LXdpZHRoOiA3NjhweDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcblxyXG4uY2QtY29udGFpbmVyOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIGNsZWFyOiBib3RoO1xyXG59XHJcblxyXG5cclxuLyogTkFWSUdBVElPTiovXHJcblxyXG4uY2QtcHJpbWFyeS1uYXYge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgyLCAyMywgMzcsIDAuOSk7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcGFkZGluZzogNTBweCAwO1xyXG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xyXG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtO1xyXG4gICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiAtbW96LXRyYW5zZm9ybTtcclxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC40cztcclxuICAgIC1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjogMC40cztcclxuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNHM7XHJcbn1cclxuXHJcbi5jZC1wcmltYXJ5LW5hdiBsaSB7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBmb250LXNpemU6IDEuOHJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgICBtYXJnaW46IC4yZW0gMDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG59XHJcblxyXG4uY2QtcHJpbWFyeS1uYXYgYSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzO1xyXG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycztcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbn1cclxuXHJcbi5jZC1wcmltYXJ5LW5hdi5pcy12aXNpYmxlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG59XHJcblxyXG4ubm8tdG91Y2ggLmNkLXByaW1hcnktbmF2IGE6aG92ZXIge1xyXG4gICAgY29sb3I6ICNlYzIwMjg7XHJcbn1cclxuXHJcbi5jZC1wcmltYXJ5LW5hdiAubWVudS1mb290ZXIge1xyXG4gICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbn1cclxuXHJcbi5jZC1wcmltYXJ5LW5hdiAuY2Qtc29jaWFsIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgbWFyZ2luOiAwIC40ZW07XHJcbn1cclxuXHJcbi5jZC1wcmltYXJ5LW5hdiAuY2Qtc29jaWFsIGEge1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG59XHJcblxyXG4uY2QtcHJpbWFyeS1uYXYgLmNkLXNvY2lhbCBhOmhvdmVyIHtcclxuICAgIGNvbG9yOiAjZWMyMDI4O1xyXG59XHJcblxyXG4uY2QtaW50cm8ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbn1cclxuXHJcbi5jZC1pbnRybyBoMSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogOTAlO1xyXG4gICAgbWF4LXdpZHRoOiAxMTcwcHg7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGJvdHRvbTogYXV0bztcclxuICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmNkLWdvb2Qge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5jZC1nb29kIGxpIHtcclxuICAgIHBhZGRpbmc6IDI1cHg7XHJcbn1cclxuXHJcbi5jZC1nb29kIGltZyB7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xyXG4gICAgd2lkdGg6IDcwJTtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuXHJcbi5jZC1nb29kIGEge1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG59XHJcblxyXG4uY2QtZ29vZCBhOmhvdmVyIHtcclxuICAgIGNvbG9yOiAjZWMyMDI4O1xyXG59XHJcblxyXG5cclxuLyogUmlwcGxlIE91dCAqL1xyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHJpcHBsZS1vdXQge1xyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdG9wOiAtMTJweDtcclxuICAgICAgICByaWdodDogLTEycHg7XHJcbiAgICAgICAgYm90dG9tOiAtMTJweDtcclxuICAgICAgICBsZWZ0OiAtMTJweDtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJpcHBsZS1vdXQge1xyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdG9wOiAtMTJweDtcclxuICAgICAgICByaWdodDogLTEycHg7XHJcbiAgICAgICAgYm90dG9tOiAtMTJweDtcclxuICAgICAgICBsZWZ0OiAtMTJweDtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucmlwcGxlLW91dCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMXB4IHRyYW5zcGFyZW50O1xyXG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4ucmlwcGxlLW91dDpiZWZvcmUge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmZmZmO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDU2cHg7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiA0NnB4O1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xyXG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xyXG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xyXG59XHJcblxyXG4ucmlwcGxlLW91dDpob3ZlcjpiZWZvcmUsXHJcbi5yaXBwbGUtb3V0OmZvY3VzOmJlZm9yZSxcclxuLnJpcHBsZS1vdXQ6YWN0aXZlOmJlZm9yZSB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByaXBwbGUtb3V0O1xyXG4gICAgYW5pbWF0aW9uLW5hbWU6IHJpcHBsZS1vdXQ7XHJcbn1cclxuXHJcbi5jbGllbnQtaXRlbSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAtbXMtYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICBpbWcge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59XHJcblxyXG4uY2xpZW50LWl0ZW06aG92ZXI6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgLy8gYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxufVxyXG5cclxuLmNsaWVudC1pdGVtIC5hY3RpdmUge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xyXG59XHJcblxyXG4uYm9yZGVyLWNvbnRhaW5lciB7XHJcbiAgICAtd2Via2l0LWJvcmRlci1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjY2NjY2NjIDAlLCAjYmJiYmJiIDUwJSwgI2NjY2NjYyAxMDAlKSAxIHN0cmV0Y2g7XHJcbiAgICBib3JkZXItaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNjY2NjY2MgMCUsICNiYmJiYmIgNTAlLCAjY2NjY2NjIDEwMCUpIDEgc3RyZXRjaDtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItd2lkdGg6IDAgMnB4IDAgMDtcclxufVxyXG5cclxuLmZvb3Rlci1saW5lIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZmZmZmZmO1xyXG59XHJcblxyXG4uZm9vdGVyLW5hdiB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxufVxyXG5cclxuLmZvb3Rlci1uYXYgbGkge1xyXG4gICAgbWFyZ2luOiAyMHB4IDEwcHg7XHJcbn1cclxuXHJcbi5mb290ZXItbmF2IGEge1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbi5mb290ZXItbmF2IGE6aG92ZXIge1xyXG4gICAgY29sb3I6ICNlYzIwMjg7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLW91dCAwLjJzO1xyXG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1vdXQgMC4ycztcclxuICAgIC1vLXRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLW91dCAwLjJzO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2Utb3V0IDAuMnM7XHJcbn1cclxuXHJcblxyXG4vKiBNRURJQSBRVUVSSUVTICovXHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcbiAgICBoMSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMi40cmVtO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4zcmVtO1xyXG4gICAgfVxyXG4gICAgaDIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICB9XHJcbiAgICBoMyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgfVxyXG4gICAgaDQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gICAgfVxyXG4gICAgLnhsYXJnZS10ZXh0IHtcclxuICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XHJcbiAgICB9XHJcbiAgICAubGFyZ2Uge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICB9XHJcbiAgICAubGFyZ2UtbWVkaXVtIHtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XHJcbiAgICB9XHJcbiAgICAubWVkaXVtIHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XHJcbiAgICB9XHJcbiAgICAuc21hbGwge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcclxuICAgIH1cclxuICAgIHNlY3Rpb24ge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xyXG4gICAgfVxyXG4gICAgZm9vdGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAuY2QtaGVhZGVyIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAuY2QtcHJpbWFyeS1uYXYtdHJpZ2dlciB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxZW07XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgIHJpZ2h0OiAyLjJlbTtcclxuICAgICAgICB0b3A6IDQwJTtcclxuICAgICAgICBib3R0b206IGF1dG87XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgfVxyXG4gICAgLmNkLXByaW1hcnktbmF2LXRyaWdnZXIgLmNkLW1lbnUtdGV4dCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG4gICAgLmNkLXByaW1hcnktbmF2LXRyaWdnZXIgLmNkLW1lbnUtaWNvbiB7XHJcbiAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICByaWdodDogMWVtO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCkgdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB9XHJcbiAgICAuY2QtcHJpbWFyeS1uYXYge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwMHB4IDA7XHJcbiAgICB9XHJcbiAgICAuY2QtaW50cm8gaDEge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgICBmb250LXNpemU6IDNyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtZGV2aWNlLXdpZHRoOiA4MDBweCkge1xyXG4gICAgaHRtbCB7XHJcbiAgICAgICAgLy8gYmFja2dyb3VuZDogdXJsKC4uL2ltZy92aWRlb19iZy5qcGcpICMwMDAwMDAgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgZml4ZWQ7XHJcbiAgICB9XHJcbiAgICAjYmd2aWQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE3MHB4KSB7XHJcbiAgICAuY2QtaGVhZGVyIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcclxuICAgICAgICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3M7XHJcbiAgICAgICAgLyogRm9yY2UgSGFyZHdhcmUgQWNjZWxlcmF0aW9uIGluIFdlYktpdCAqL1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIH1cclxuICAgIC5jZC1oZWFkZXIuaXMtZml4ZWQge1xyXG4gICAgICAgIC8qIHdoZW4gdGhlIHVzZXIgc2Nyb2xscyBkb3duLCB3ZSBoaWRlIHRoZSBoZWFkZXIgcmlnaHQgYWJvdmUgdGhlIHZpZXdwb3J0ICovXHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHRvcDogLTEwMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvaGVhZGVyX292ZXJsYXkucG5nKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjNzO1xyXG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gMC4zcztcclxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcclxuICAgIH1cclxuICAgIC5jZC1oZWFkZXIuaXMtZml4ZWQ+LmNkLWxvZ28gaW1nIHtcclxuICAgICAgICB3aWR0aDogNDAlO1xyXG4gICAgfVxyXG4gICAgLmNkLWhlYWRlci5pcy12aXNpYmxlIHtcclxuICAgICAgICAvKiBpZiB0aGUgdXNlciBjaGFuZ2VzIHRoZSBzY3JvbGxpbmcgZGlyZWN0aW9uLCB3ZSBzaG93IHRoZSBoZWFkZXIgKi9cclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xyXG4gICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcclxuICAgIH1cclxuICAgIC5jZC1oZWFkZXIubWVudS1pcy1vcGVuIHtcclxuICAgICAgICAvKiBhZGQgYSBiYWNrZ3JvdW5kIGNvbG9yIHRvIHRoZSBoZWFkZXIgd2hlbiB0aGUgbmF2aWdhdGlvbiBpcyBvcGVuICovXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyLCAyMywgMzcsIDAuOTYpO1xyXG4gICAgfVxyXG4gICAgLmNkLXByaW1hcnktbmF2IGxpIHtcclxuICAgICAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAzLjByZW07XHJcbiAgICB9XHJcbiAgICAuY2QtcHJpbWFyeS1uYXYgLmNkLWxhYmVsIHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgfVxyXG4gICAgLmNkLWludHJvIHtcclxuICAgICAgICBoZWlnaHQ6IDcwMHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDQ1cHg7XHJcbiAgICB9XHJcbiAgICBzZWN0aW9uIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiA2MDBweDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qIE1JU0NFTExBTklPVVMgU1RZSU5HIEJFQ0FVU0UgSSBHSVZFIEEgU0hJVCBBQk9VVCBNWSBKT0IgV0hJQ0ggTk8gT05FIFNFRVMuLi5MRVQgQUxPTkUgQVBQUkVDSUFURVMqL1xyXG5cclxuOjpzZWxlY3Rpb24ge1xyXG4gICAgYmFja2dyb3VuZDogIzI1YWFlMTtcclxufVxyXG5cclxuOjotbW96LXNlbGVjdGlvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMjVhYWUxO1xyXG59XHJcblxyXG4uY2QtdG9wIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgYm90dG9tOiA0MHB4O1xyXG4gICAgcmlnaHQ6IDEwcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdGV4dC1pbmRlbnQ6IDEwMCU7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9iYWNrLXRvLXRvcC5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgNTAlO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmZmZmY7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgLjNzIDBzLCB2aXNpYmlsaXR5IDBzIC4zcztcclxuICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgMHMsIHZpc2liaWxpdHkgMHMgLjNzO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgMHMsIHZpc2liaWxpdHkgMHMgLjNzO1xyXG59XHJcblxyXG4uY2QtdG9wLmNkLWlzLXZpc2libGUsXHJcbi5jZC10b3AuY2QtZmFkZS1vdXQsXHJcbi5uby10b3VjaCAuY2QtdG9wOmhvdmVyIHtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgMHMsIHZpc2liaWxpdHkgMHMgMHM7XHJcbiAgICAtbW96LXRyYW5zaXRpb246IG9wYWNpdHkgLjNzIDBzLCB2aXNpYmlsaXR5IDBzIDBzO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgMHMsIHZpc2liaWxpdHkgMHMgMHM7XHJcbn1cclxuXHJcbi5jZC10b3AuY2QtaXMtdmlzaWJsZSB7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgb3BhY2l0eTogMTtcclxufVxyXG5cclxuLmNkLXRvcC5jZC1mYWRlLW91dCB7XHJcbiAgICBvcGFjaXR5OiAuNTtcclxufVxyXG5cclxuLm5vLXRvdWNoIC5jZC10b3A6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xyXG4gICAgb3BhY2l0eTogMTtcclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgLmNkLXRvcCB7XHJcbiAgICAgICAgcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xyXG4gICAgLmNkLXRvcCB7XHJcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICAgIHJpZ2h0OiAzMHB4O1xyXG4gICAgICAgIGJvdHRvbTogMzBweDtcclxuICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgfVxyXG59XHJcblxyXG4uY2QtaW1hZ2UtcmVwbGFjZSB7XHJcbiAgICAvKiByZXBsYWNlIHRleHQgd2l0aCBpbWFnZSAqL1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRleHQtaW5kZW50OiAxMDAlO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xyXG4gICAgLmNkLW5hdi10cmlnZ2VyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uY2QtdmVydGljYWwtbmF2IHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICByaWdodDogNSU7XHJcbiAgICBib3R0b206IDMwcHg7XHJcbiAgICB3aWR0aDogOTAlO1xyXG4gICAgbWF4LXdpZHRoOiA0MDBweDtcclxuICAgIG1heC1oZWlnaHQ6IDkwJTtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcclxuICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICAtby10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuMnM7XHJcbiAgICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIDAuMnM7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycztcclxuICAgIGJvcmRlci1yYWRpdXM6IDAuMjVlbTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM0LCAyNDIsIDIyNywgMC45KTtcclxufVxyXG5cclxuLmNkLXZlcnRpY2FsLW5hdiBhIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZzogMWVtO1xyXG4gICAgY29sb3I6ICMzYTJjNDE7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDU4LCA0NCwgNjUsIDAuMSk7XHJcbn1cclxuXHJcbi5jZC12ZXJ0aWNhbC1uYXYgYS5hY3RpdmUsIC5jZC12ZXJ0aWNhbC1uYXYgYTphY3RpdmUsIC5jZC12ZXJ0aWNhbC1uYXYgYTpob3ZlciwgLmNkLXZlcnRpY2FsLW5hdiBhOmZvY3VzIHtcclxuICAgIGNvbG9yOiAjRTA1MDU0O1xyXG59XHJcblxyXG4uY2QtdmVydGljYWwtbmF2Lm9wZW4ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxufVxyXG5cclxuLmNkLXZlcnRpY2FsLW5hdi5vcGVuKy5jZC1uYXYtdHJpZ2dlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLmNkLXZlcnRpY2FsLW5hdi5vcGVuKy5jZC1uYXYtdHJpZ2dlciBzcGFuIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTgsIDQ0LCA2NSwgMCk7XHJcbn1cclxuXHJcbi5jZC12ZXJ0aWNhbC1uYXYub3BlbisuY2QtbmF2LXRyaWdnZXIgc3Bhbjo6YmVmb3JlLFxyXG4uY2QtdmVydGljYWwtbmF2Lm9wZW4rLmNkLW5hdi10cmlnZ2VyIHNwYW46OmFmdGVyIHtcclxuICAgIC8qIHRyYW5zZm9ybSBkb3RzIGluICdYJyBpY29uICovXHJcbiAgICBoZWlnaHQ6IDNweDtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIGxlZnQ6IC04cHg7XHJcbn1cclxuXHJcbi5jZC12ZXJ0aWNhbC1uYXYub3BlbisuY2QtbmF2LXRyaWdnZXIgc3Bhbjo6YmVmb3JlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gICAgdG9wOiAxcHg7XHJcbn1cclxuXHJcbi5jZC12ZXJ0aWNhbC1uYXYub3BlbisuY2QtbmF2LXRyaWdnZXIgc3Bhbjo6YWZ0ZXIge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XHJcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcclxuICAgIGJvdHRvbTogMDtcclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xyXG4gICAgLmNkLXZlcnRpY2FsLW5hdiB7XHJcbiAgICAgICAgLyogcmVzZXQgc3R5bGUgKi9cclxuICAgICAgICByaWdodDogMTVweDtcclxuICAgICAgICB0b3A6IDIwJTtcclxuICAgICAgICBib3R0b206IGF1dG87XHJcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgICAgICB3aWR0aDogOTBweDtcclxuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAvKiB2ZXJ0aWNhbGx5IGFsaWduIGl0cyBjb250ZW50Ki9cclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIH1cclxuICAgIC5jZC12ZXJ0aWNhbC1uYXY6OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xyXG4gICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjRzO1xyXG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gMC40cztcclxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cztcclxuICAgIH1cclxuICAgIC5uby10b3VjaCAuY2QtdmVydGljYWwtbmF2OmhvdmVyOjpiZWZvcmUsXHJcbiAgICAudG91Y2ggLmNkLXZlcnRpY2FsLW5hdjo6YmVmb3JlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB9XHJcbiAgICAuY2QtdmVydGljYWwtbmF2IHVsIHtcclxuICAgICAgICAvKiB2ZXJ0aWNhbGx5IGFsaWduIDx1bD4gaW5zaWRlIDxuYXY+Ki9cclxuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLmNkLXZlcnRpY2FsLW5hdiBhIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZzogM2VtIDAgMDtcclxuICAgICAgICBtYXJnaW46IDEuNGVtIGF1dG87XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcclxuICAgICAgICBjb2xvcjogI2VhZjJlMztcclxuICAgIH1cclxuICAgIC5jZC12ZXJ0aWNhbC1uYXYgYS5hY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiAjZWFmMmUzO1xyXG4gICAgfVxyXG4gICAgLmNkLXZlcnRpY2FsLW5hdiBhOjpiZWZvcmUsXHJcbiAgICAuY2QtdmVydGljYWwtbmF2IGE6OmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbiAgICB9XHJcbiAgICAuY2QtdmVydGljYWwtbmF2IGE6OmJlZm9yZSB7XHJcbiAgICAgICAgLyogZmlsbGVkIGNpcmNsZSAqL1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICAgICAgd2lkdGg6IDM1cHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmZmZmY7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC4yNSk7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC4yNSk7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjI1KTtcclxuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC4yNSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuMjUpO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC40cywgYmFja2dyb3VuZC1jb2xvciAwLjJzO1xyXG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gMC40cywgYmFja2dyb3VuZC1jb2xvciAwLjJzO1xyXG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XHJcbiAgICAgICAgcGFkZGluZzogMTVweDtcclxuICAgIH1cclxuICAgIC5jZC12ZXJ0aWNhbC1uYXYgYTo6YWZ0ZXIge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgdG9wOiAwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgICAgIHdpZHRoOiAzMnB4O1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDApO1xyXG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDApO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMCk7XHJcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwKTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuNHMgMHMsIG9wYWNpdHkgMC4xcyAwLjNzO1xyXG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gMC40cyAwcywgb3BhY2l0eSAwLjFzIDAuM3M7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgMHMsIG9wYWNpdHkgMC4xcyAwLjNzO1xyXG4gICAgfVxyXG4gICAgLy8gLmNkLXZlcnRpY2FsLW5hdiBhLmFjdGl2ZTo6YmVmb3JlLFxyXG4gICAgLy8gLm5vLXRvdWNoIC5jZC12ZXJ0aWNhbC1uYXYgYTpob3Zlcjo6YmVmb3JlIHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gICAgLy8gfVxyXG4gICAgLmNkLXZlcnRpY2FsLW5hdiBsaTpmaXJzdC1vZi10eXBlIGE6OmFmdGVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3Njcm9sbGVyL3Njcm9sbGVyX2hvbWUucG5nKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIC8qIGZpeCBidWcgd2l0aCB0cmFuc2l0aW9ucyAtIHNldCBzY2FsZSgwLjAxKSByYXRoZXIgdGhhbiBzY2FsZSgwKSAqL1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuMDEpO1xyXG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuMDEpO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC4wMSk7XHJcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuMDEpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjAxKTtcclxuICAgIH1cclxuICAgIC5jZC12ZXJ0aWNhbC1uYXYgbGk6Zmlyc3Qtb2YtdHlwZSBhOjpiZWZvcmUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuMjUpO1xyXG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuMjUpO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC4yNSk7XHJcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuMjUpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjI1KTtcclxuICAgIH1cclxuICAgIC5jZC12ZXJ0aWNhbC1uYXYgbGk6bnRoLW9mLXR5cGUoMikgYTo6YWZ0ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvc2Nyb2xsZXIvc2Nyb2xsZXJfYWJvdXQucG5nKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDBweCAtMzJweDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjAxKTtcclxuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjAxKTtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuMDEpO1xyXG4gICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjAxKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC4wMSk7XHJcbiAgICB9XHJcbiAgICAuY2QtdmVydGljYWwtbmF2IGxpOm50aC1vZi10eXBlKDIpIGE6OmJlZm9yZSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC4yNSk7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC4yNSk7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjI1KTtcclxuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC4yNSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuMjUpO1xyXG4gICAgfVxyXG4gICAgLmNkLXZlcnRpY2FsLW5hdiBsaTpudGgtb2YtdHlwZSgzKSBhOjphZnRlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9zY3JvbGxlci9zY3JvbGxlcl93b3JrLnBuZyk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjAxKTtcclxuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjAxKTtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuMDEpO1xyXG4gICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjAxKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC4wMSk7XHJcbiAgICB9XHJcbiAgICAuY2QtdmVydGljYWwtbmF2IGxpOm50aC1vZi10eXBlKDMpIGE6OmJlZm9yZSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC4yNSk7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC4yNSk7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjI1KTtcclxuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC4yNSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuMjUpO1xyXG4gICAgfVxyXG4gICAgLmNkLXZlcnRpY2FsLW5hdiBsaTpudGgtb2YtdHlwZSg0KSBhOjphZnRlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9zY3JvbGxlci9zY3JvbGxlcl9jbGllbnRzLnBuZyk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjAxKTtcclxuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjAxKTtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuMDEpO1xyXG4gICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjAxKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC4wMSk7XHJcbiAgICB9XHJcbiAgICAuY2QtdmVydGljYWwtbmF2IGxpOm50aC1vZi10eXBlKDQpIGE6OmJlZm9yZSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC4yNSk7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC4yNSk7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjI1KTtcclxuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC4yNSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuMjUpO1xyXG4gICAgfVxyXG4gICAgLmNkLXZlcnRpY2FsLW5hdiBsaTpudGgtb2YtdHlwZSg1KSBhOjphZnRlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9zY3JvbGxlci9zY3JvbGxlcl9zZXJ2aWNlcy5wbmcpO1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC4wMSk7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC4wMSk7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjAxKTtcclxuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC4wMSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuMDEpO1xyXG4gICAgfVxyXG4gICAgLmNkLXZlcnRpY2FsLW5hdiBsaTpudGgtb2YtdHlwZSg1KSBhOjpiZWZvcmUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuMjUpO1xyXG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuMjUpO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC4yNSk7XHJcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuMjUpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjI1KTtcclxuICAgIH1cclxuICAgIC5jZC12ZXJ0aWNhbC1uYXYgbGk6bnRoLW9mLXR5cGUoNikgYTo6YWZ0ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvc2Nyb2xsZXIvc2Nyb2xsZXJfc29sdXRpb25zLnBuZyk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjAxKTtcclxuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjAxKTtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuMDEpO1xyXG4gICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjAxKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC4wMSk7XHJcbiAgICB9XHJcbiAgICAuY2QtdmVydGljYWwtbmF2IGxpOm50aC1vZi10eXBlKDYpIGE6OmJlZm9yZSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC4yNSk7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC4yNSk7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjI1KTtcclxuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC4yNSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuMjUpO1xyXG4gICAgfVxyXG4gICAgLmNkLXZlcnRpY2FsLW5hdiBsaTpudGgtb2YtdHlwZSg3KSBhOjphZnRlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9zY3JvbGxlci9zY3JvbGxlcl9GV0wucG5nKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuMDEpO1xyXG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuMDEpO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC4wMSk7XHJcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuMDEpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjAxKTtcclxuICAgIH1cclxuICAgIC5jZC12ZXJ0aWNhbC1uYXYgbGk6bnRoLW9mLXR5cGUoNykgYTo6YmVmb3JlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjI1KTtcclxuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjI1KTtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuMjUpO1xyXG4gICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjI1KTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC4yNSk7XHJcbiAgICB9XHJcbiAgICAuY2QtdmVydGljYWwtbmF2IGxpOm50aC1vZi10eXBlKDgpIGE6OmFmdGVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3Njcm9sbGVyL3Njcm9sbGVyX2NhcmVlcnMucG5nKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuMDEpO1xyXG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuMDEpO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC4wMSk7XHJcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuMDEpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjAxKTtcclxuICAgIH1cclxuICAgIC5jZC12ZXJ0aWNhbC1uYXYgbGk6bnRoLW9mLXR5cGUoOCkgYTo6YmVmb3JlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjI1KTtcclxuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjI1KTtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuMjUpO1xyXG4gICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjI1KTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC4yNSk7XHJcbiAgICB9XHJcbiAgICAuY2QtdmVydGljYWwtbmF2IGxpOm50aC1vZi10eXBlKDkpIGE6OmFmdGVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3Njcm9sbGVyL3Njcm9sbGVyX2NvbnRhY3QucG5nKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuMDEpO1xyXG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuMDEpO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC4wMSk7XHJcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuMDEpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjAxKTtcclxuICAgIH1cclxuICAgIC5jZC12ZXJ0aWNhbC1uYXYgbGk6bnRoLW9mLXR5cGUoOSkgYTo6YmVmb3JlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjI1KTtcclxuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjI1KTtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDAuMjUpO1xyXG4gICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjI1KTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMC4yNSk7XHJcbiAgICB9XHJcbiAgICAuY2QtdmVydGljYWwtbmF2IC5sYWJlbCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgLyogRm9yY2UgSGFyZHdhcmUgQWNjZWxlcmF0aW9uICovXHJcbiAgICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XHJcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xyXG4gICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjRzO1xyXG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gMC40cztcclxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cztcclxuICAgIH1cclxuICAgIC5uby10b3VjaCAuY2QtdmVydGljYWwtbmF2OmhvdmVyIGE6OmJlZm9yZSxcclxuICAgIC5uby10b3VjaCAuY2QtdmVydGljYWwtbmF2OmhvdmVyIGE6OmFmdGVyLFxyXG4gICAgLnRvdWNoIC5jZC12ZXJ0aWNhbC1uYXYgbGk6bnRoLW9mLXR5cGUobikgYTo6YmVmb3JlLFxyXG4gICAgLnRvdWNoIC5jZC12ZXJ0aWNhbC1uYXYgbGk6bnRoLW9mLXR5cGUobikgYTo6YWZ0ZXIge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDEpO1xyXG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDEpO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgc2NhbGUoMSk7XHJcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHNjYWxlKDEpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgxKTtcclxuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgxKSByb3RhdGUoMC4wMmRlZyk7XHJcbiAgICB9XHJcbiAgICAubm8tdG91Y2ggLmNkLXZlcnRpY2FsLW5hdjpob3ZlciBhOjphZnRlcixcclxuICAgIC50b3VjaCAuY2QtdmVydGljYWwtbmF2IGE6OmFmdGVyIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC40cywgb3BhY2l0eSAwcztcclxuICAgICAgICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIDAuNHMsIG9wYWNpdHkgMHM7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMsIG9wYWNpdHkgMHM7XHJcbiAgICB9XHJcbiAgICAubm8tdG91Y2ggLmNkLXZlcnRpY2FsLW5hdjpob3ZlciAubGFiZWwsXHJcbiAgICAudG91Y2ggLmNkLXZlcnRpY2FsLW5hdiAubGFiZWwge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIH1cclxufVxyXG5cclxuLmNkLXNjcm9sbC1kb3duIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICBib3R0b206IDIwcHg7XHJcbiAgICB3aWR0aDogNDRweDtcclxuICAgIGhlaWdodDogNDRweDtcclxuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvY2QtYXJyb3ctYm90dG9tLnN2Zykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbn1cclxuXHJcbi5uby1qcyAuY2QtbmF2LXRyaWdnZXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLm5vLWpzIC5jZC12ZXJ0aWNhbC1uYXYge1xyXG4gICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbn1cclxuXHJcbi5uby1qcyAuY2QtdmVydGljYWwtbmF2OjpiZWZvcmUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLm5vLWpzIC5jZC12ZXJ0aWNhbC1uYXYgdWw6OmFmdGVyIHtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG59XHJcblxyXG4ubm8tanMgLmNkLXZlcnRpY2FsLW5hdiBsaSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbi5uby1qcyAuY2QtdmVydGljYWwtbmF2IGEge1xyXG4gICAgcGFkZGluZzogMCAxZW07XHJcbiAgICBtYXJnaW46IDEuNWVtIDFlbTtcclxuICAgIGNvbG9yOiAjZWFmMmUzO1xyXG59XHJcblxyXG4ubm8tanMgLmNkLXZlcnRpY2FsLW5hdiBhLmFjdGl2ZSB7XHJcbiAgICBjb2xvcjogI2MwYTY3MjtcclxufVxyXG5cclxuLm5vLWpzIC5jZC12ZXJ0aWNhbC1uYXYgYTo6YWZ0ZXIsXHJcbi5uby1qcyAuY2QtdmVydGljYWwtbmF2IGE6OmJlZm9yZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4ubm8tanMgLmNkLXZlcnRpY2FsLW5hdiAubGFiZWwge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbn1cclxuXHJcbi5kaWFtb25kLWJveC1pbm5lciBhIHtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxufVxyXG5cclxuIC5jbGllbnQtdHJpYW5nbGVzIC5kaWFtb25kLWJveC13cmFwIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAmLnZpc2libGUge1xyXG4gICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICB9XHJcbiB9XHJcbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWNzcy9tYXBzL3N0eWxlcy5jc3MubWFwICovIiwi77u/Lm92ZXJsYXkge1xyXG4gICAgLyogSGVpZ2h0ICYgd2lkdGggZGVwZW5kcyBvbiBob3cgeW91IHdhbnQgdG8gcmV2ZWFsIHRoZSBvdmVybGF5IChzZWUgSlMgYmVsb3cpICovXHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogMCU7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAvKiBTdGF5IGluIHBsYWNlICovXHJcbiAgICB6LWluZGV4OiA0O1xyXG4gICAgLyogU2l0IG9uIHRvcCAqL1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigwLCAwLCAwKTtcclxuICAgIC8qIEJsYWNrIGZhbGxiYWNrIGNvbG9yICovXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7XHJcbiAgICAvKiBCbGFjayB3L29wYWNpdHkgKi9cclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgIC8qIERpc2FibGUgaG9yaXpvbnRhbCBzY3JvbGwgKi9cclxuICAgIHRyYW5zaXRpb246IDAuNXM7XHJcbiAgICAvKiAwLjUgc2Vjb25kIHRyYW5zaXRpb24gZWZmZWN0IHRvIHNsaWRlIGluIG9yIHNsaWRlIGRvd24gdGhlIG92ZXJsYXkgKGhlaWdodCBvciB3aWR0aCwgZGVwZW5kaW5nIG9uIHJldmVhbCkgKi9cclxufVxyXG5cclxuXHJcbi8qIFBvc2l0aW9uIHRoZSBjb250ZW50IGluc2lkZSB0aGUgb3ZlcmxheSAqL1xyXG5cclxuLm92ZXJsYXktY29udGVudCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6IDI1JTtcclxuICAgIC8qIDI1JSBmcm9tIHRoZSB0b3AgKi9cclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLyogMTAwJSB3aWR0aCAqL1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgLyogQ2VudGVyZWQgdGV4dC9saW5rcyAqL1xyXG4gICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgIC8qIDMwcHggdG9wIG1hcmdpbiB0byBhdm9pZCBjb25mbGljdCB3aXRoIHRoZSBjbG9zZSBidXR0b24gb24gc21hbGxlciBzY3JlZW5zICovXHJcbn1cclxuXHJcblxyXG4vKiBUaGUgbmF2aWdhdGlvbiBsaW5rcyBpbnNpZGUgdGhlIG92ZXJsYXkgKi9cclxuXHJcbi5vdmVybGF5IGEge1xyXG4gICAgcGFkZGluZzogMHB4IDhweDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGNvbG9yOiAjODE4MTgxO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAvKiBEaXNwbGF5IGJsb2NrIGluc3RlYWQgb2YgaW5saW5lICovXHJcbiAgICB0cmFuc2l0aW9uOiAwLjNzO1xyXG4gICAgLyogVHJhbnNpdGlvbiBlZmZlY3RzIG9uIGhvdmVyIChjb2xvcikgKi9cclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICBwYWRkaW5nOiAwcHggNXB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xyXG4gICAgICAgIHBhZGRpbmc6IDBweCA4cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiBXaGVuIHlvdSBtb3VzZSBvdmVyIHRoZSBuYXZpZ2F0aW9uIGxpbmtzLCBjaGFuZ2UgdGhlaXIgY29sb3IgKi9cclxuXHJcbi5vdmVybGF5IGE6aG92ZXIsXHJcbi5vdmVybGF5IGE6Zm9jdXMge1xyXG4gICAgY29sb3I6ICNFMDUwNTQ7XHJcbn1cclxuXHJcblxyXG4vKiBQb3NpdGlvbiB0aGUgY2xvc2UgYnV0dG9uICh0b3AgcmlnaHQgY29ybmVyKSAqL1xyXG5cclxuLm92ZXJsYXkgLmNsb3NlYnRuIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMHB4O1xyXG4gICAgcmlnaHQ6IDIwcHg7XHJcbiAgICBmb250LXNpemU6IDYwcHg7XHJcbiAgICB6LWluZGV4OiA2O1xyXG4gICAgY29sb3I6ICNlZWU7XHJcbn1cclxuXHJcblxyXG4vKiBXaGVuIHRoZSBoZWlnaHQgb2YgdGhlIHNjcmVlbiBpcyBsZXNzIHRoYW4gNDUwIHBpeGVscywgY2hhbmdlIHRoZSBmb250LXNpemUgb2YgdGhlIGxpbmtzIGFuZCBwb3NpdGlvbiB0aGUgY2xvc2UgYnV0dG9uIGFnYWluLCBzbyB0aGV5IGRvbid0IG92ZXJsYXAgKi9cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA0NTBweCkge1xyXG4gICAgLm92ZXJsYXkgYSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMHB4XHJcbiAgICB9XHJcbiAgICAub3ZlcmxheSAuY2xvc2VidG4ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcclxuICAgICAgICB0b3A6IDE1cHg7XHJcbiAgICAgICAgcmlnaHQ6IDM1cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi53ZWxjb21lLW92ZXJsYXktY29udGVudCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6IDBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgei1pbmRleDogNTtcclxufVxyXG5cclxuLndvYyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwdmg7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL2ltZ19sYW5kaW5nX2xlZnQuanBnJykgbm8tcmVwZWF0IGxlZnQ7XHJcbiAgICBoMiB7XHJcbiAgICAgICAgZm9udC1zaXplOiA1cmVtO1xyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi53b2MtdG9wIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgLndvYy1sb2dvIHtcclxuICAgICAgICB3aWR0aDogNzUlO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgLndvYy1sb2dvIHtcclxuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xyXG4gICAgICAgIC53b2MtbG9nbyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLndvYy1yaWdodCB7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9pbWdfbGFuZGluZ19yaWdodC5qcGcnKSBuby1yZXBlYXQgcmlnaHQ7XHJcbn1cclxuXHJcbi53b2MtbGVmdCxcclxuLndvYy1yaWdodCB7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgcGFkZGluZzogMTUlIDEwJSAwIDEwJTtcclxufVxyXG5cclxuLndvYy1ib3R0b20ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICBoZWlnaHQ6IDMwMHB4O1xyXG4gICAgdG9wOiAyNTBweDtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAzNzVweCkge1xyXG4gICAgICAgIHRvcDogMzAwcHg7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICB0b3A6IDQwMHB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xyXG4gICAgICAgIHRvcDogNTAwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi53b2MtYnRuIHtcclxuICAgIG1pbi13aWR0aDogNTAlO1xyXG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG8gMmVtO1xyXG4gICAgbWF4LXdpZHRoOiA0MDBweDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgcGFkZGluZzogMHB4IDVweDtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1pbi13aWR0aDogYXV0bztcclxuICAgIH1cclxuICAgIFxyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMmVtO1xyXG5cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsgICBcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHsgICBcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjhlbTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHsgICBcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyZW07XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ud29jLWJ0bjpob3Zlciwud29jLWJ0bjpmb2N1cywud29jLWJ0bjphY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxufVxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKiBNZW51IE92ZXJsYXkgU3BlY2lmaWMgKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4ubWVudS1vdmVybGF5IHtcclxuICAgIC8qIEhlaWdodCAmIHdpZHRoIGRlcGVuZHMgb24gaG93IHlvdSB3YW50IHRvIHJldmVhbCB0aGUgb3ZlcmxheSAoc2VlIEpTIGJlbG93KSAqL1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAvKiBTdGF5IGluIHBsYWNlICovXHJcbiAgICB6LWluZGV4OiAzO1xyXG4gICAgLyogU2l0IG9uIHRvcCAqL1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICAvKiBCbGFjayB3L29wYWNpdHkgKi9cclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgIC8qIERpc2FibGUgaG9yaXpvbnRhbCBzY3JvbGwgKi9cclxuICAgIHRyYW5zaXRpb246IDAuNXM7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMDExYTM0O1xyXG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDEsIDI2LCA1MiwgMC45KTAlLCByZ2JhKDAsIDEwMiwgMTQ3LCAwLjkpIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDEsIDI2LCA1MiwgMC45KTAlLCByZ2JhKDAsIDEwMiwgMTQ3LCAwLjkpIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgxLCAyNiwgNTIsIDAuOSkwJSwgcmdiYSgwLCAxMDIsIDE0NywgMC45KSAxMDAlKTtcclxufVxyXG5cclxuLm1lbnUtb3ZlcmxheSBhIHtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4ub3Blbk1lbnVCdG4ge1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMTBweDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgZm9udC1zaXplOiAzNXB4O1xyXG4gICAgd2lkdGg6IDU0cHg7XHJcbiAgICBoZWlnaHQ6IDI3cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgIHRvcDogMjVweDtcclxuICAgICAgICByaWdodDogMzVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2hlYXZlbi5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tZW51LWNvbnRlbnQge1xyXG4gICAgdG9wOiAxMCU7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7IFxyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubWVudS1jb250ZW50IGEge1xyXG4gICAgZm9udC1zaXplOiAyLjhyZW07XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDM5LCAxNDcsIDIwOSwgMC44KTtcclxuICAgIHBhZGRpbmc6IDVweCAwcHg7XHJcbiAgICB3aWR0aDogNzAlO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICBmb250LXNpemU6IDNlbTtcclxuICAgICAgICB3aWR0aDogMzMlO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMmVtO1xyXG4gICAgICAgIHdpZHRoOiAyMCU7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAzZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tZW51LWZvb3RlciB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDAgNSU7XHJcbiAgICBkaXYge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBkaXYge1xyXG4gICAgICAgICAgICB3aWR0aDogMzMuMzMzJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XHJcbiAgICAgICAgcGFkZGluZzogMCAyMCU7XHJcbiAgICB9XHJcbiAgICBkaXY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBAbWVkaWEgKG1pbi1oZWlnaHQ6IDgwMHB4KSBhbmQgKG1pbi13aWR0aDogMzIwcHgpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgKG1pbi1oZWlnaHQ6IDYyMHB4KSBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGRpdjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgQG1lZGlhIChtaW4taGVpZ2h0OiA2ODBweCkgYW5kIChtaW4td2lkdGg6IDMyMHB4KSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgICAgQG1lZGlhIChtaW4taGVpZ2h0OiA2MjBweCkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBkaXY6bnRoLWNoaWxkKDEpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIEBtZWRpYSAobWluLWhlaWdodDogNTMwcHgpIGFuZCAobWluLXdpZHRoOiAzMjBweCkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgKG1pbi1oZWlnaHQ6IDYyMHB4KSBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqIFNsaWRlIE92ZXJsYXkgU3BlY2lmaWMgKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi5zbGlkZS1vdmVybGF5IHtcclxuICAgIC8qIEhlaWdodCAmIHdpZHRoIGRlcGVuZHMgb24gaG93IHlvdSB3YW50IHRvIHJldmVhbCB0aGUgb3ZlcmxheSAoc2VlIEpTIGJlbG93KSAqL1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAvKiBTdGF5IGluIHBsYWNlICovXHJcbiAgICB6LWluZGV4OiAzO1xyXG4gICAgLyogU2l0IG9uIHRvcCAqL1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICAvKiBCbGFjayB3L29wYWNpdHkgKi9cclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgIC8qIERpc2FibGUgaG9yaXpvbnRhbCBzY3JvbGwgKi9cclxuICAgIHRyYW5zaXRpb246IDAuNXM7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMDExYTM0O1xyXG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDEsIDI2LCA1MiwgMC45KTAlLCByZ2JhKDAsIDEwMiwgMTQ3LCAwLjkpIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDEsIDI2LCA1MiwgMC45KTAlLCByZ2JhKDAsIDEwMiwgMTQ3LCAwLjkpIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgxLCAyNiwgNTIsIDAuOSkwJSwgcmdiYSgwLCAxMDIsIDE0NywgMC45KSAxMDAlKTtcclxufVxyXG5cclxuLnNsaWRlLW92ZXJsYXkgYSB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLnNsaWRlLWNvbnRlbnQge1xyXG4gICAgdG9wOiAxMCU7XHJcbiAgICB3aWR0aDogNzUlO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICB0b3A6IDIwJTtcclxuICAgIH1cclxufVxyXG5cclxuLnNsaWRlLWNvbnRlbnQgYSB7XHJcbiAgICBmb250LXNpemU6IGF1dG87XHJcbiAgICBjb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLnNsaWRlLWNvbnRlbnQtbGVmdCxcclxuLnNsaWRlLWNvbnRlbnQtcmlnaHQge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcbi5zbGlkZS1jb250ZW50LWxlZnQge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZy1yaWdodDogMiU7XHJcbiAgICBkaXYge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgIGRpdiBwIHtcclxuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS44O1xyXG4gICAgfVxyXG4gICAgaW1nIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICB3aWR0aDogMzUlO1xyXG4gICAgICAgIGgxIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA0LjhyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc2xpZGUtY29udGVudC1yaWdodCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgIHdpZHRoOiA2MCU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zYy1idG4ge1xyXG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG8gMmVtO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbn1cclxuXHJcbi5zbGlkZS1vdmVybGF5IC5jbG9zZWJ0biB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDIwcHg7XHJcbiAgICByaWdodDogNDVweDtcclxuICAgIGZvbnQtc2l6ZTogNjBweDtcclxuICAgIHotaW5kZXg6IDIwO1xyXG59XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKiogQ2FyZWVyIFZpZXcgT3ZlcmxheSAqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLmNhcmVlci1vdmVybGF5IHtcclxuICAgIC8qIEhlaWdodCAmIHdpZHRoIGRlcGVuZHMgb24gaG93IHlvdSB3YW50IHRvIHJldmVhbCB0aGUgb3ZlcmxheSAoc2VlIEpTIGJlbG93KSAqL1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAvKiBTdGF5IGluIHBsYWNlICovXHJcbiAgICB6LWluZGV4OiAzO1xyXG4gICAgLyogU2l0IG9uIHRvcCAqL1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICAvKiBCbGFjayB3L29wYWNpdHkgKi9cclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgIC8qIERpc2FibGUgaG9yaXpvbnRhbCBzY3JvbGwgKi9cclxuICAgIHRyYW5zaXRpb246IDAuNXM7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMDExYTM0O1xyXG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDEsIDI2LCA1MiwgMC45KTAlLCByZ2JhKDAsIDEwMiwgMTQ3LCAwLjkpIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDEsIDI2LCA1MiwgMC45KTAlLCByZ2JhKDAsIDEwMiwgMTQ3LCAwLjkpIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgxLCAyNiwgNTIsIDAuOSkwJSwgcmdiYSgwLCAxMDIsIDE0NywgMC45KSAxMDAlKTtcclxuICAgIC5jbG9zZWJ0biB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMjBweDtcclxuICAgICAgICByaWdodDogNDVweDtcclxuICAgICAgICBmb250LXNpemU6IDYwcHg7XHJcbiAgICAgICAgei1pbmRleDogMztcclxuICAgICAgICBjb2xvcjogI2VlZTtcclxuICAgIH1cclxufVxyXG5cclxuLmNhcmVlci1jb250ZW50IHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6IDUlO1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgYSB7XHJcbiAgICAgICAgY29sb3I6ICNlZWU7XHJcbiAgICB9XHJcbiAgICAuaGVhZGluZ3MsXHJcbiAgICAuVGJsQ29udGVudCB7XHJcbiAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgfVxyXG4gICAgLmJ1dHRvbkFsaWduIHtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIH1cclxuICAgIC5idG5BcHBseSB7XHJcbiAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQ7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICB3aWR0aDogMjAwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG59XHJcblxyXG4uY2FyZWVycyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqIE1hcCBPdmVybGF5ICoqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLm1hcC1vdmVybGF5IHtcclxuICAgIC8qIEhlaWdodCAmIHdpZHRoIGRlcGVuZHMgb24gaG93IHlvdSB3YW50IHRvIHJldmVhbCB0aGUgb3ZlcmxheSAoc2VlIEpTIGJlbG93KSAqL1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAvKiBTdGF5IGluIHBsYWNlICovXHJcbiAgICB6LWluZGV4OiAzO1xyXG4gICAgLyogU2l0IG9uIHRvcCAqL1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICAvKiBCbGFjayB3L29wYWNpdHkgKi9cclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgIC8qIERpc2FibGUgaG9yaXpvbnRhbCBzY3JvbGwgKi9cclxuICAgIHRyYW5zaXRpb246IDAuNXM7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMDExYTM0O1xyXG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDEsIDI2LCA1MiwgMC45KTAlLCByZ2JhKDAsIDEwMiwgMTQ3LCAwLjkpIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDEsIDI2LCA1MiwgMC45KTAlLCByZ2JhKDAsIDEwMiwgMTQ3LCAwLjkpIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgxLCAyNiwgNTIsIDAuOSkwJSwgcmdiYSgwLCAxMDIsIDE0NywgMC45KSAxMDAlKTtcclxufVxyXG5cclxuLm1hcC1mcmFtZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi10b3A6IDUwJTtcclxuICAgIGhlaWdodDogMzAwcHg7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzU4cHgpIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAzMCU7XHJcbiAgICAgICAgaGVpZ2h0OiA0MDBweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyNSU7XHJcbiAgICAgICAgaGVpZ2h0OiA1MDBweDtcclxuICAgIH1cclxufVxyXG5cclxuLm1hcC1vdmVybGF5IGEge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi5tYXAtY29udGVudCB7XHJcbiAgICB0b3A6IDEwJTtcclxuICAgIHdpZHRoOiA3NSU7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgIHRvcDogMjAlO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubWFwLWNvbnRlbnQgYSB7XHJcbiAgICBmb250LXNpemU6IGF1dG87XHJcbiAgICBjb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLm1hcC1jb250ZW50LWxlZnQsXHJcbi5tYXAtY29udGVudC1yaWdodCB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxufVxyXG5cclxuLm1hcC1jb250ZW50LWxlZnQge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZy1yaWdodDogMiU7XHJcbiAgICBkaXYge1xyXG4gICAgICAgIG1hcmdpbjogMTUlIDA7XHJcbiAgICB9XHJcbiAgICBpbWcge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgd2lkdGg6IDMwJTtcclxuICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi44cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm1hcC1jb250ZW50LXJpZ2h0IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgd2lkdGg6IDY1JTtcclxuICAgIH1cclxufVxyXG5cclxuLm1hcC1vdmVybGF5IC5jbG9zZWJ0biB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDIwcHg7XHJcbiAgICByaWdodDogNDVweDtcclxuICAgIGZvbnQtc2l6ZTogNjBweDtcclxuICAgIHotaW5kZXg6IDM7XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKiogTWVzc2FnZSBPdmVybGF5ICoqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLm1lc3NhZ2Utb3ZlcmxheSB7XHJcbiAgICAvKiBIZWlnaHQgJiB3aWR0aCBkZXBlbmRzIG9uIGhvdyB5b3Ugd2FudCB0byByZXZlYWwgdGhlIG92ZXJsYXkgKHNlZSBKUyBiZWxvdykgKi9cclxuICAgIGhlaWdodDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgLyogU3RheSBpbiBwbGFjZSAqL1xyXG4gICAgei1pbmRleDogMztcclxuICAgIC8qIFNpdCBvbiB0b3AgKi9cclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgLyogQmxhY2sgdy9vcGFjaXR5ICovXHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICAvKiBEaXNhYmxlIGhvcml6b250YWwgc2Nyb2xsICovXHJcbiAgICB0cmFuc2l0aW9uOiAwLjVzO1xyXG4gICAgYmFja2dyb3VuZDogIzAxMWEzNDtcclxuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywgcmdiYSgxLCAyNiwgNTIsIDAuOSkwJSwgcmdiYSgwLCAxMDIsIDE0NywgMC45KSAxMDAlKTtcclxuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KC00NWRlZywgcmdiYSgxLCAyNiwgNTIsIDAuOSkwJSwgcmdiYSgwLCAxMDIsIDE0NywgMC45KSAxMDAlKTtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMSwgMjYsIDUyLCAwLjkpMCUsIHJnYmEoMCwgMTAyLCAxNDcsIDAuOSkgMTAwJSk7XHJcbn1cclxuXHJcbi5tZXNzYWdlLW92ZXJsYXkgYSB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLm1lc3NhZ2UtY29udGVudCB7XHJcbiAgICB0b3A6IDE1JTtcclxuICAgIHdpZHRoOiA3NSU7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICB0b3A6IDIwJTtcclxuICAgIH1cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcclxuICAgICAgICB3aWR0aDogMzAlO1xyXG4gICAgfVxyXG4gICAgbGFiZWwge1xyXG4gICAgICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gICAgfVxyXG4gICAgaW5wdXQsXHJcbiAgICB0ZXh0YXJlYSB7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4IDAgMjBweCAwO1xyXG4gICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgICAgZm9udC1zaXplOiAycmVtXHJcbiAgICB9XHJcbiAgICB0ZXh0YXJlYSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcclxuICAgIH1cclxuICAgIC5jb250YWN0LWJ0biB7XHJcbiAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQ7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICB3aWR0aDogMjAwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubWVzc2FnZS1vdmVybGF5IC5jbG9zZWJ0biB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDIwcHg7XHJcbiAgICByaWdodDogNDVweDtcclxuICAgIGZvbnQtc2l6ZTogNjBweDtcclxuICAgIHotaW5kZXg6IDM7XHJcbn1cclxuXHJcbi5mYSB7XHJcbiAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBjb2xvcjogcmdiYSgxNCw4NCwxNTksIDEpO1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuXHJcbi5mYUFycm93IHsgICAgXHJcbiAgICBmb250LXNpemU6IDEwcmVtO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLmZhOmhvdmVyLCAuZmE6Zm9jdXMsIC5mYTphY3RpdmUge1xyXG4gICAgY29sb3I6ICNFMDUwNTQ7XHJcbiAgICBjdXJzb3I6cG9pbnRlcjtcclxufVxyXG5cclxuLmZhLWluc3RhZ3JhbSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDExcHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMXB4O1xyXG59XHJcblxyXG4uZmEtbGlua2VkaW4geyAgXHJcbiAgICBwYWRkaW5nLWxlZnQ6IDExcHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMXB4O1xyXG59XHJcblxyXG4uZmEtdHdpdHRlciB7XHJcblxyXG59XHJcblxyXG4uZmEtZmFjZWJvb2sge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxNHB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogMTRweDtcclxufVxyXG5cclxuaS5mYS5mYS1iYXJzIHtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgY29sb3I6IHJnYmEoMCwgMTAyLCAxNDcsIDAuOSk7XHJcbiAgICBmb250LXNpemU6IDNyZW07XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4iLCIiLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcclxuXHJcblByaW1hcnkgc3R5bGVcclxuXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4qLFxyXG4qOjphZnRlcixcclxuKjo6YmVmb3JlIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbmh0bWwge1xyXG4gICAgZm9udC1zaXplOiA2Mi41JTtcclxufVxyXG5cclxuYm9keSB7XHJcbiAgICBmb250LXNpemU6IDEuNnJlbTtcclxuICAgIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyODNmO1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG59XHJcblxyXG5ib2R5OjpiZWZvcmUge1xyXG4gICAgLyogbmV2ZXIgdmlzaWJsZSAtIHRoaXMgaXMgdXNlZCBpbiBqUXVlcnkgdG8gY2hlY2sgdGhlIGN1cnJlbnQgTVEgKi9cclxuICAgIGNvbnRlbnQ6ICdtb2JpbGUnO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDUwcHgpIHtcclxuICAgIGJvZHk6OmJlZm9yZSB7XHJcbiAgICAgICAgLyogbmV2ZXIgdmlzaWJsZSAtIHRoaXMgaXMgdXNlZCBpbiBqUXVlcnkgdG8gY2hlY2sgdGhlIGN1cnJlbnQgTVEgKi9cclxuICAgICAgICBjb250ZW50OiAnZGVza3RvcCc7XHJcbiAgICB9XHJcbn1cclxuXHJcbmEge1xyXG4gICAgY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuYTpob3ZlcithOmZvY3VzK2E6YWN0aXZlIHtcclxuICAgIGNvbG9yOiByZ2IoMjA3LCAyMDAsIDIwMCkgIWltcG9ydGFudDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuYTpob3ZlciB7XHJcbiAgICBjb2xvcjogI0UwNTA1NDtcclxufVxyXG5cclxuI0ZXc2VjdGlvbjAgLmNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICBwYWRkaW5nLWxlZnQ6IDAlO1xyXG4gICAgcGFkZGluZy1yaWdodDogMCU7XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHggIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmJyZWFkY3J1bWItY29udGFpbmVyIHtcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDElO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDI1JTtcclxuICAgIG1hcmdpbi10b3A6IDElO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufVxyXG5cclxuLmNkLXNlY3Rpb24ge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGhlaWdodDogMTAwdmg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMSwgMjYsIDUyKTtcclxuICAgIC8qIE9sZCBicm93c2VycyAqL1xyXG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCByZ2JhKDEsIDI2LCA1MiwgMSkgMCUsIHJnYmEoMCwgMTAyLCAxNDcsIDEpIDEwMCUpO1xyXG4gICAgLyogRkYzLjYtMTUgKi9cclxuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KC00NWRlZywgcmdiYSgxLCAyNiwgNTIsIDEpIDAlLCByZ2JhKDAsIDEwMiwgMTQ3LCAxKSAxMDAlKTtcclxuICAgIC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovXHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDEsIDI2LCA1MiwgMSkgMCUsIHJnYmEoMCwgMTAyLCAxNDcsIDEpIDEwMCUpO1xyXG4gICAgLyogVzNDLCBJRTEwKywgRkYxNissIENocm9tZTI2KywgT3BlcmExMissIFNhZmFyaTcrICovXHJcblxyXG4gICAgLy8gQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAvLyAgICAgbWluLWhlaWdodDogOTAwcHg7XHJcbiAgICAvLyB9XHJcbn1cclxuXHJcbi5jZC1zZWN0aW9uLXNpbmdsZSB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZDogcmdiKDEsIDI2LCA1Mik7XHJcbiAgICAvKiBPbGQgYnJvd3NlcnMgKi9cclxuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywgcmdiYSgxLCAyNiwgNTIsIDEpIDAlLCByZ2JhKDAsIDEwMiwgMTQ3LCAxKSAxMDAlKTtcclxuICAgIC8qIEZGMy42LTE1ICovXHJcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoMSwgMjYsIDUyLCAxKSAwJSwgcmdiYSgwLCAxMDIsIDE0NywgMSkgMTAwJSk7XHJcbiAgICAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgxLCAyNiwgNTIsIDEpIDAlLCByZ2JhKDAsIDEwMiwgMTQ3LCAxKSAxMDAlKTtcclxuICAgIC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDkwMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ucHJvamVjdC1zZWN0aW9uLXNpbmdsZSB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZDogcmdiKDEsIDI2LCA1Mik7XHJcbiAgICAvKiBPbGQgYnJvd3NlcnMgKi9cclxuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywgcmdiYSgxLCAyNiwgNTIsIDEpIDAlLCByZ2JhKDAsIDEwMiwgMTQ3LCAxKSAxMDAlKTtcclxuICAgIC8qIEZGMy42LTE1ICovXHJcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoMSwgMjYsIDUyLCAxKSAwJSwgcmdiYSgwLCAxMDIsIDE0NywgMSkgMTAwJSk7XHJcbiAgICAvKiBDaHJvbWUxMC0yNSxTYWZhcmk1LjEtNiAqL1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgxLCAyNiwgNTIsIDEpIDAlLCByZ2JhKDAsIDEwMiwgMTQ3LCAxKSAxMDAlKTtcclxuICAgIC8qIFczQywgSUUxMCssIEZGMTYrLCBDaHJvbWUyNissIE9wZXJhMTIrLCBTYWZhcmk3KyAqL1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiB1bnNldDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XHJcbiAgICAgICAgbWluLWhlaWdodDogOTAwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tYWluLXByb2plY3Qtc2VjdGlvbiB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5wYWdpbmF0aW9uLXNlY3Rpb24ge1xyXG4gICAgXHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5jYXJlZXItc2VjdGlvbi1zaW5nbGUge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHBhZGRpbmctdG9wOiA3JSAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZDogIzAxMWEzNDtcclxuICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KC00NWRlZywgIzAxMWEzNCAwJSwgIzAwNjY5MyAxMDAlKTtcclxuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KC00NWRlZywgIzAxMWEzNCAwJSwgIzAwNjY5MyAxMDAlKTtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwMTFhMzQgMCUsICMwMDY2OTMgMTAwJSk7XHJcbiAgICBcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDkwMHB4O1xyXG4gICAgfVxyXG59XHJcbi5zdG9yeS1zZWN0aW9uIHtcclxuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLmNkLXNlY3Rpb24tc2luZ2xlLnN0b3J5LXNlY3Rpb24ge1xyXG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcclxuICAgIG1pbi1oZWlnaHQ6IGluaXRpYWw7XHJcbn1cclxuLnN0b3J5LXNlY3Rpb24tc2luZ2xlIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMDExYTM0O1xyXG4gICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAjMDExYTM0IDAlLCAjMDA2NjkzIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAjMDExYTM0IDAlLCAjMDA2NjkzIDEwMCUpO1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzAxMWEzNCAwJSwgIzAwNjY5MyAxMDAlKTsgICAgXHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc3RvcnktcGFuZWwge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgXHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgXHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IFxyXG4gICAgfVxyXG5cclxuICAgIC5sZWZ0IHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLmxlZnQgaW1nIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLXRvcDogODVweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xyXG5cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubGVmdCAuc2VjdGlvbi1jb3B5IHtcclxuICAgICAgICBtYXJnaW46IDAgNSUgMCA1JTtcclxuXHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCUgMjUlIDAgMjUlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAlIDEwJSAwIDEwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAlIDI1JSAwIDI1JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnJpZ2h0IHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLnJpZ2h0IGltZyB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDg1cHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcclxuXHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnJpZ2h0IC5zZWN0aW9uLWNvcHkge1xyXG4gICAgICAgIG1hcmdpbjogMCA1JSAwIDUlO1xyXG5cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwJSAyNSUgMCAyNSU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCUgMTAlIDAgMTAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCUgMjUlIDAgMjUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi53b3JrLW92ZXJ2aWV3LXNlY3Rpb24ge1xyXG4gICAgb3ZlcmZsb3c6IGluaGVyaXQ7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBtYXgtaGVpZ2h0OiBpbml0aWFsICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgLmZvb3Rlci1jb250YWluZXIge1xyXG4gICAgICAgIGJvdHRvbTogdW5zZXQ7XHJcbiAgICB9XHJcbn1cclxuLmNsaWVudC1vdmVydmlldy1zZWN0aW9uIHtcclxuICAgIG92ZXJmbG93OiBpbml0aWFsO1xyXG4gICAgbWF4LWhlaWdodDogaW5pdGlhbCAhaW1wb3J0YW50O1xyXG4gICAgbWluLWhlaWdodDogdW5zZXQ7XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLmZvb3Rlci1jb250YWluZXIge1xyXG4gICAgICAgIGJvdHRvbTogMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLmlubmVyLXBhZ2UtY29udGVudCB7XHJcbiAgICAgICAgcGFkZGluZzogNzBweCAwcHg7XHJcblxyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNlcnZpY2VzLXNlY3Rpb24tc2luZ2xlIHtcclxuICAgIGhlaWdodDogYXV0bztcclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLmludGlhbC1jb250YWluZXIge1xyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNlcnZpY2VzLXNlY3Rpb24tc2luZ2xlIHtcclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mdWxsLWNhcmVlcnMge1xyXG4gICAgbWFyZ2luLXRvcDogMjAlO1xyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIlO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucG9ydGZvbGlvIHtcclxuICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgIC5pbm5lciB7XHJcblxyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwcHggMTUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5sZWZ0IHtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDYwJTtcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtNTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmlnaHQge1xyXG4gICAgICAgIHBhZGRpbmc6IDBweCA1MHB4O1xyXG5cclxuICAgICAgICBpbWcge1xyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnJvdyB7XHJcblxyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbn1cclxuXHJcbi5mZWF0dXJlZC1zb2x1dGlvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMjBweDtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7ICAgICAgIFxyXG4gICAgICAgIHdpZHRoOiAzNSU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMzBweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHsgICAgIFxyXG4gICAgICAgIGhlaWdodDogMTUwcHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZGV0YWlsZWQtc29sdXRpb24ge1xyXG4gICAgXHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgaGVpZ2h0OiAxMjBweDtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcblxyXG4gICAgXHJcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgd2lkdGg6IDQwMHB4O1xyXG4gICAgICAgIGhlaWdodDogMTMwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87ICAgICAgICBcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi5mZWF0dXJlZC1zb2x1dGlvbnMtY29udGFpbmVyIHtcclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc29sdXRpb24tYmxvY2sge1xyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgICAgICBtaW4taGVpZ2h0OiA0NTBweDtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA0NTBweDtcclxuICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC5zZWN0aW9uLWNvcHkge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG5cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMDBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5jb250YWluZXIuc2Nyb2xsZXItY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyAgICBcclxuICAgIHotaW5kZXg6IDM7XHJcbn1cclxuXHJcbi5zY3JvbGwtaWNvbiB7XHJcbiAgICAuZmEge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMmVtO1xyXG4gICAgICAgIFxyXG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcclxuICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XHJcbiAgICAgICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xyXG5cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAzZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi50ZXh0LWFkLWxpbmtzIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuLnBvcnRmb2xpby1zZWN0aW9uIHtcclxuICAgIC5sZWZ0IHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG5cclxuXHJcbiAgICB9XHJcbiAgICAucmlnaHQge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnByb2plY3QtcGFnZS1saW5rIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICBoMSB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICBmb250LXNpemU6IDEuNWVtO1xyXG5cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyLjVlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA0LjhyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5wYW5lbC1wcmV2aW91cyB7XHJcbiAgICBcclxuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLnBhbmVsLW5leHQge1xyXG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4ubmV4dC1wcmV2LWZhIHtcclxuICAgIGZvbnQtc2l6ZTogM3JlbTsgICAgXHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgZm9udC1zaXplOiA4cmVtO1xyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLnBvcnRmb2xpby1wYW5lbCB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgXHJcblxyXG4gICAgLmxlZnQgaW1nIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLnJpZ2h0IGltZyB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubGVmdCB7XHJcblxyXG4gICAgLnNlY3Rpb24tY29weSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDUlIDAgNSU7XHJcblxyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMjUlIDAgMjUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2VjdGlvbi1jb3B5IGltZyB7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuXHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG59XHJcblxyXG4ucmlnaHQge1xyXG5cclxuICAgIC5zZWN0aW9uLWNvcHkge1xyXG4gICAgICAgIG1hcmdpbjogMCA1JSAwIDUlO1xyXG5cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDI1JSAwIDI1JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNlY3Rpb24tY29weSBpbWcge1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcblxyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4uc2VjdGlvbi1jb3B5IHtcclxuICAgIGgxIHtcclxuICAgICAgICBmb250LXNpemU6IDEuNWVtO1xyXG5cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNC44cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG5cclxuICAgIHAge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcclxuXHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4udmVydCB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICByaWdodDogLTMwMHB4O1xyXG4gICAgdG9wOiAtMzAwcHg7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNDBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMHB4O1xyXG4gICAgICAgIGJvdHRvbTogMHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBvcGFjaXR5OiAwLjI7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZWN0aW9uLXZlcnQge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbGVmdDogLTM1MHB4O1xyXG4gICAgdG9wOiAtNjAlO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNDBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMHB4O1xyXG4gICAgICAgIGJvdHRvbTogMHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBvcGFjaXR5OiAwLjI7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jb2wteHMtMTIuY29sLW1kLTcucmlnaHQge1xyXG4gICAgLy8gdG9wOiAtMzY1cHg7XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDM4MHB4KSB7XHJcbiAgICAgICAgLy8gdG9wOiAtNDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgdG9wOiB1bnNldDtcclxuICAgIH1cclxufVxyXG4uY29sLXhzLTEyLmNvbC1tZC01LmxlZnQge1xyXG4gICAgLy8gdG9wOiAxMjBweDtcclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICB0b3A6IHVuc2V0O1xyXG4gICAgfVxyXG59XHJcbi8vIC5iZy1jb250YWluZXIge1xyXG4vLyAgICAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1nL1BsYXNjb25fc3BsYXR0ZXIucG5nKSByaWdodCAwcHggbm8tcmVwZWF0O1xyXG4vLyAgICAgaGVpZ2h0OiAxMDAlO1xyXG4vLyB9XHJcblxyXG4uYmctY29udGFpbmVyLXNlY3Rpb24ge1xyXG4gICAgLy8gYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1nL1BsYXNjb24vUGxhc2Nvbl9tZWRpYV9iZy5wbmcpIDY0dmggNDR2aCBuby1yZXBlYXQ7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5icmVhZGNydW1iPmxpK2xpOmJlZm9yZSB7XHJcbiAgICBwYWRkaW5nOiAwIDVweDtcclxuICAgIGNvbG9yOiAjY2NjO1xyXG4gICAgY29udGVudDogXCJcXDAwM2VcIjtcclxufVxyXG5cclxuLmJyZWFkY3J1bWI+dWw+bGk+YTpob3ZlcithOmZvY3VzK2E6YWN0aXZlIHtcclxuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbi5icmVhZGNydW1iIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxufVxyXG5cclxuLmJyZWFkY3J1bWI+LmFjdGl2ZSB7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbi5mb290ZXItY29udGVudCB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcclxuICAgIH1cclxufVxyXG5cclxuLmZvb3RlciB7XHJcbiAgICBpbWcge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgIH1cclxufVxyXG5cclxuLmZvb3Rlci1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgYm90dG9tOiAtMjUlO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDc1cHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA3NXB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhKG1pbi13aWR0aDogOTkycHgpIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA3NXB4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogNzVweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcclxuICAgICAgICBib3R0b206IC0xNSU7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTUwcHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNTBweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcclxuICAgICAgICBib3R0b206IC0yNSU7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjUwcHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNTBweDtcclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgIH1cclxuXHJcbiAgICBhOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogI0UwNTA1NDtcclxuICAgIH1cclxuXHJcbiAgICAuZm9vdGVyLWlubmVyIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmlubmVyLTEge1xyXG4gICAgICAgIHdpZHRoOiA0NyU7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5pdGlhbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW5uZXItMixcclxuICAgIC5pbm5lci0zLFxyXG4gICAgLmlubmVyLTQge1xyXG4gICAgICAgIHdpZHRoOiAzMCU7XHJcbiAgICAgICAgbWFyZ2luOiA1cHg7XHJcblxyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTYlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZvb3Rlci1idG4ge1xyXG4gICAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgIG1hcmdpbjogNXB4IGF1dG87XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5mb290ZXItdG9wIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxufVxyXG5cclxuLmNhcmVlci1zZWN0aW9uLXNpbmdsZSB7XHJcbiAgICAuZm9vdGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucGFydGljbGVzLWpzLWNhbnZhcy1lbCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDBweDtcclxuICAgIHotaW5kZXg6IDA7XHJcbiAgICBvcGFjaXR5OiAwLjQ7XHJcbn1cclxuXHJcbi8qIENvbXBhbnkgRGV0YWlscyBwYWdlICovXHJcbi50YWJsZS1zdHJpcGVzPnRib2R5PnRyOm50aC1vZi10eXBlKG9kZCkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTApO1xyXG4gICAgLW1vei1vcGFjaXR5OiAwLjE7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG59XHJcbi50YWJsZS1zdHJpcGVzPnRib2R5PnRyOm50aC1vZi10eXBlKGV2ZW4pIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwKTtcclxuICAgIC1tb3otb3BhY2l0eTogMC4xO1xyXG4gICAgb3BhY2l0eTogMTtcclxufVxyXG4udGFibGUtc3RyaXBlcz50Ym9keT50cj50ZCB7XHJcbiAgICBjb2xvcjojZmZmZmZmO1xyXG4gICAgfVxyXG5cclxuLnRhYmxlLXN0cmlwZXMge1xyXG4gYm9yZGVyOiNmZmZmZmY7XHJcblxyXG59XHJcbi5DUExpbms6aG92ZXIge1xyXG4gICAgY29sb3I6IHJnYigyNTUsIDk0LCA5NCk7XHJcbn1cclxuXHJcbi8qIFNlcnZpY2VzICovXHJcbiAgLmV4cGFuZCB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBwYWRkaW5nOiAwIC41ZW07XHJcbiAgICBjb2xvcjogcmdiKDAsIDAsIDApO1xyXG4gICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDI7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzMHB4OyBcclxuXHJcbiAgfVxyXG4gIFxyXG4uc2VydmljZVN0eWxlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgIC8vIGZsZXgtYmFzaXM6IDMxJTtcclxuICAgIG1hcmdpbjogMSU7XHJcbiAgICBwYWRkaW5nOiAxJTtcclxuICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICB3aWR0aDogMjIlOyBcclxuICAgIH1cclxufVxyXG4uc2VydmljZVN0eWxlPnN0cm9uZyB7XHJcbiAgICBjb2xvcjogI2ZmZmZmZjtcclxuXHJcbn1cclxuLnNlcnZpY2VTdHlsZT5zcGFuIHtcclxuICAgIGNvbG9yOiAjMTE1N0EwO1xyXG4gICAgZm9udC1zaXplOjExcHg7XHJcblxyXG59XHJcblxyXG4uc2VydmljZS1jYXB0aW9uIHtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxufVxyXG5cclxuIzE6OnNlbGVjdGlvbiAuc2VydmljZVN0eWxlICB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xyXG5cclxufVxyXG5cclxuLnNlcnZpY2VzLWZhIHtcclxuICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7O1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLnNlcnZpY2VTdHlsZS5leHBhbmRlZCB7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjFzIGVhc2Utb3V0O1xyXG4gICAgYmFja2dyb3VuZDojZmZmO1xyXG4gICAgY29sb3I6ICMwRTU0OUY7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgfVxyXG5cclxuICAgIC5zZXJ2aWNlcy1mYSB7XHJcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMTAyLCAxNDcsIDAuOSk7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuXHJcbiAgICAuc2VydmljZS1jYXB0aW9uIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICBzdHJvbmcge1xyXG4gICAgICAgIGNvbG9yOiAjMEU1NDlGO1xyXG4gICAgfVxyXG59XHJcbi5jb2xsYXBzZS5pbiB7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjFzIGVhc2Utb3V0O1xyXG59XHJcbi5sZWFybk1vcmUge1xyXG4gICAgY29sb3I6ICMwRTU0OUY7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO1xyXG4gICAgZm9udC13ZWlnaHQ6NjAwO1xyXG59XHJcblxyXG4uc2VydmljZXMtb3ZlcnZpZXctc2VjdGlvbiB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5zZXJ2aWNlcy1oZWFkZXIge1xyXG4gICAgXHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgZm9udC1zaXplOiA2cmVtICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZXJ2aWNlLXJvdyB7XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2VydmljZS1jaGV2cm9uIHtcclxuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWcvQXJyb3dfZG93bi5wbmcpO1xyXG59XHJcblxyXG4uaGlnaGxpZ2h0LXRleHQge1xyXG4gICAgZm9udC1zaXplOiAxLjJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi5mb290ZXItY29udGVudCBsaS5hY3RpdmUge1xyXG4gICAgY29sb3I6ICNFMDUwNTQ7XHJcbn1cclxuXHJcbi5mb290ZXIgaS5mYSB7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG59XHJcblxyXG4uY2hldnJvbi1zY3JvbGwtZG93biB7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWcvQXJyb3dfZG93bi5wbmcpO1xyXG4gICAgd2lkdGg6IDY1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgcGFkZGluZzogMTVweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgcGFkZGluZzogMTVweDtcclxuICAgIH1cclxufVxyXG5cclxuLmNoZXZyb24tc2Nyb2xsLXVwIHtcclxuICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltZy9BcnJvd191cC5wbmcpO1xyXG4gICAgd2lkdGg6IDY1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgcGFkZGluZzogMTVweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgcGFkZGluZzogMTVweDtcclxuICAgIH1cclxufVxyXG5cclxuLmNoZXZyb24tcHJldmlvdXMge1xyXG4gICAgcGFkZGluZzogMTVweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICB3aWR0aDogNTBweDtcclxuXHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgcGFkZGluZzogMTVweDtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgIH1cclxufVxyXG5cclxuLmNoZXZyb24tbmV4dCB7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgIHdpZHRoOiA1MHB4O1xyXG5cclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG5ociB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLnJvdy5mb290ZXItaW1nLXJvdyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbn1cclxuXHJcbi5mb290ZXItYm90dG9tIHtcclxuICAgIC5jb250YWN0LW51bWJlciB7XHJcbiAgICAgICAgcGFkZGluZzogMCAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBiYXNlbGluZTtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNvY2lhbC1kZXRhaWxzIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBiYXNlbGluZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiI0ZXc2VjdGlvbjEsXHJcbiNGV3NlY3Rpb24yLFxyXG4jRldzZWN0aW9uMyxcclxuI0ZXc2VjdGlvbjQsXHJcbiNGV3NlY3Rpb241LFxyXG4jRldzZWN0aW9uNixcclxuI0ZXc2VjdGlvbjcsXHJcbiNGV3NlY3Rpb244IHtcclxuICAgIHBhZGRpbmctdG9wOiA0MCU7XHJcbiAgICBvdmVyZmxvdy15OiB2aXNpYmxlO1xyXG5cdG1heC1oZWlnaHQ6IDEwMHZoO1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDIwJTtcclxuICAgIH1cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogOCU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5sb2dvLWNvbnRhaW5lciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgIGhlaWdodDogNzBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAzNjBweCkge1xyXG5cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MjVweCkge1xyXG5cclxuICAgIH1cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgIHotaW5kZXg6IDQ7XHJcbiAgICAgICAgd2lkdGg6IDQwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2xvZ28vTGF5ZXIzLnBuZykgbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgICBoZWlnaHQ6IDIzMHB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xyXG4gICAgICAgIHdpZHRoOiAyNSU7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XHJcbiAgICAgICAgd2lkdGg6IDI1JTtcclxuICAgIH1cclxuICAgIC5sb2dvLWNvcm5lciB7ICAgIFxyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IC0xNXB4O1xyXG4gICAgICAgIHotaW5kZXg6IDc7XHJcbiAgICAgICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuXHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgICAgIHRvcDogMHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2xvZ28vTGF5ZXIyLnBuZykgbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwcHg7XHJcbiAgICAgICAgbGVmdDogMHB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMjMwcHg7XHJcbiAgICAgICAgei1pbmRleDogNTtcclxuICAgICAgICBhbmltYXRpb246IFB1bHNhdGUgM3MgbGluZWFyIGluZmluaXRlO1xyXG5cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2xvZ28vTGF5ZXIxLnBuZykgbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwcHg7XHJcbiAgICAgICAgbGVmdDogMHB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMjMwcHg7XHJcbiAgICAgICAgei1pbmRleDogNjtcclxuICAgICAgICBhbmltYXRpb246IFB1bHNhdGUgNHMgbGluZWFyIGluZmluaXRlO1xyXG5cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7ICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGtleWZyYW1lcyBQdWxzYXRlIHtcclxuICAgICAgICBmcm9tIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgNTAlIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdG8ge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNkLXZlcnRpY2FsLW5hdiB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgei1pbmRleDogMjtcclxufVxyXG5cclxuLm5hdi1hY3RpdmUuYWN0aXZlOjpiZWZvcmUge1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xyXG59XHJcblxyXG4uY2xpZW50LXRyaWFuZ2xlcyB7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIHBhZGRpbmc6IDAgMTclO1xyXG4gICAgLmRpYW1vbmQtYm94IHtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zbGlkZXItaW5mbyB7XHJcbiAgICBoMixcclxuICAgIGgzLFxyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiAyNXB4IDA7XHJcbiAgICB9XHJcbiAgICAuY2QtYnRuIHtcclxuICAgICAgICBtYXJnaW46IDQwcHggMjVweDtcclxuICAgIH1cclxuXHJcbiAgICBoMyB7XHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDI1cHggNTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDI1cHggMjVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ib3QtYnV0dG9ucyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDUlO1xyXG4gICAgd2lkdGg6IDEwMCU7ICBcclxuICAgIGRpc3BsYXk6IG5vbmU7ICBcclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTM2NnB4KSB7XHJcbiAgICAgICAgYm90dG9tOiA0JTtcclxuICAgICAgICB3aWR0aDogMTAwJTsgIFxyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8vIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcclxuICAgIC8vICAgICBib3R0b206IDIwJTtcclxuICAgIC8vIH1cclxuICAgIC8vIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcclxuICAgIC8vICAgICBib3R0b206IDQlO1xyXG4gICAgLy8gfVxyXG4gICAgLmJ0biB7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc3RvcnktY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLy8gLnN0b3J5LWNvbnRhaW5lcjpiZWZvcmUsXHJcbi8vIC5zdG9yeS1jb250YWluZXI6YWZ0ZXIsXHJcbi8vIC5zdG9yeS1jb250YWluZXI+OmZpcnN0LWNoaWxkOmJlZm9yZSxcclxuLy8gLnN0b3J5LWNvbnRhaW5lcj46Zmlyc3QtY2hpbGQ6YWZ0ZXIgeyBcclxuLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuLy8gICAgIHdpZHRoOiAyMHB4O1xyXG4vLyAgICAgaGVpZ2h0OiAyMHB4O1xyXG4vLyAgICAgYm9yZGVyLWNvbG9yOiAjZmZmO1xyXG4vLyAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuLy8gICAgIGNvbnRlbnQ6ICcgJztcclxuLy8gfVxyXG4uc3RvcnktY29udGFpbmVyOmJlZm9yZSB7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwIDFweFxyXG59XHJcblxyXG4uc3RvcnktY29udGFpbmVyOmFmdGVyIHtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDAgMFxyXG59XHJcblxyXG4uc3RvcnktY29udGFpbmVyPjpmaXJzdC1jaGlsZDpiZWZvcmUge1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3JkZXItd2lkdGg6IDAgMXB4IDFweCAwXHJcbn1cclxuXHJcbi5zdG9yeS1jb250YWluZXI+OmZpcnN0LWNoaWxkOmFmdGVyIHtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMXB4XHJcbn1cclxuXHJcbi5jb250YWN0LWNvbnRhaW5lcjpiZWZvcmUge1xyXG4gICAgbGVmdDogMjUlO1xyXG59XHJcblxyXG4uY29udGFjdC1jb250YWluZXI6YWZ0ZXIge1xyXG4gICAgcmlnaHQ6IDI1JTtcclxufVxyXG5cclxuLmNvbnRhY3QtY29udGFpbmVyPjpmaXJzdC1jaGlsZDpiZWZvcmUge1xyXG4gICAgcmlnaHQ6IDI1JTtcclxufVxyXG5cclxuLmNvbnRhY3QtY29udGFpbmVyPjpmaXJzdC1jaGlsZDphZnRlciB7XHJcbiAgICBsZWZ0OiAyNSU7XHJcbn1cclxuXHJcbi5jb250YWN0LW5lZWQtcm9vbSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDgwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKiBNYXNvbnJ5ICoqKioqKioqKioqL1xyXG5cclxuXHJcbi8qIGNsZWFyIGZpeCAqL1xyXG5cclxuLmZhbmN5Ym94LWltYWdlIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbn1cclxuXHJcbi5tLWdyaWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi5tLWdyaWQ6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGNsZWFyOiBib3RoO1xyXG59XHJcblxyXG5cclxuLyogLS0tLSAuZ3JpZC1pdGVtIC0tLS0gKi9cclxuXHJcbi5tLWdyaWQtc2l6ZXIsXHJcbi5tLWdyaWQtaXRlbSB7XHJcbiAgICB3aWR0aDogNDklO1xyXG59XHJcblxyXG4ubS1ncmlkLWl0ZW0ge1xyXG4gICAgaGVpZ2h0OiAxNTBweDtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAgICAgaGVpZ2h0OiAyMDBweDtcclxuICAgIH1cclxufVxyXG5cclxuLm0tZ3JpZC1pdGVtIGltZyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2UtaW47XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2UtaW47XHJcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2UtaW47XHJcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1pbjtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbn1cclxuXHJcbi5tLWdyaWQtaXRlbTpob3ZlciB7XHJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIGJveC1zaGFkb3c6IDBweCAwcHggMTUwcHggIzAwMDAwMDtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMik7XHJcbiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2UtaW47XHJcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xyXG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1pbjtcclxuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2UtaW47XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XHJcbn1cclxuXHJcbi5jYXJlZXItZnVsbCB7XHJcbiAgICBmbGV4LWJhc2lzOiAzMSU7XHJcbiAgICBtYXJnaW46IDElO1xyXG4gICAgcGFkZGluZzogMSU7XHJcbiAgICB3aWR0aDogMzAlO1xyXG59XHJcblxyXG4uY2FyZWVyLXJvdyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG59XHJcbi5jYXJlZXItYmxvY2suY2FyZWVyLWZ1bGwge1xyXG4gICAgbWluLXdpZHRoOiA4MCU7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICBtaW4td2lkdGg6IGF1dG87XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wcmV2aWV3LWNhcmVlcnMge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDUlO1xyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTAlO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mdWxsLWNhcmVlcnMge1xyXG4gICAgcGFkZGluZzogMCAxMCU7XHJcbn1cclxuXHJcbi5jYXJlZXItaW5uZXIge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxufVxyXG5cclxuLmNhcmVlci1ibG9jayB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4gICAgZmxleC1iYXNpczogMzElO1xyXG4gICAgbWFyZ2luOiAxJTtcclxuICAgIHBhZGRpbmc6IDElO1xyXG4gICAgbWluLXdpZHRoOiAxMDAlO1xyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBtaW4td2lkdGg6IGF1dG87XHJcbiAgICAgICAgd2lkdGg6IDMxJTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcclxuICAgICAgICBtYXJnaW46IDVweCBhdXRvO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQ7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgICBmb250LXNpemU6IDJyZW07XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgbWluLWhlaWdodDogMTU1cHg7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxuICAgIC5jYXJlZXItdGl0bGUge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDBweDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgLyogaGVpZ2h0OiAyMCU7ICovXHJcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaHIge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgICAgXHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgICAgICB3aWR0aDogNzUlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jYXJlZXItZGlzYyB7XHJcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgZm9udC1zaXplOiAxLjJyZW07XHJcbiAgICBtYXgtaGVpZ2h0OiA1NnB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5pdGlhbDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jYXJlZXItZnVsbCAuY2FyZWVyLWRpc2Mge1xyXG4gICAgZGlzcGxheTogaW5pdGlhbDtcclxufVxyXG5cclxuI2NhcmVlci1zbGlkZXIge1xyXG4gICAgLnNsaWNrLXByZXYge1xyXG4gICAgICAgIGxlZnQ6IC0xMCU7XHJcblxyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgICAgICBsZWZ0OiAtNSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNsaWNrLW5leHQge1xyXG4gICAgICAgIHJpZ2h0OiAtMjBweDtcclxuXHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAtMjVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2xpY2stbmV4dDpiZWZvcmUsIC5zbGljay1wcmV2OmJlZm9yZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiA2MHB4O1xyXG5cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA5N3B4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnZpZXctdGVudGgge1xyXG4gICAgd2lkdGg6IDQ4JTtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgaGVpZ2h0OiAxNjBweDtcclxuICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICAgIHAge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDQzcHg7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxuICAgIGgyIHtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5pbnRyby10ZXh0IHtcclxuICAgIGZvbnQtc2l6ZTogMS41ZW07XHJcbn1cclxuXHJcbi5vdXJ3b3JrLWhlYWRlcnMge1xyXG4gICAgbWFyZ2luLXRvcDogLTMwcHg7XHJcbiAgICBmb250LXNpemU6IDVyZW07XHJcbiAgICBoMiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAzcmVtO1xyXG5cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA1cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGgzIHtcclxuICAgICAgICBmb250LXNpemU6IDNyZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiA2cmVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNHJlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDZyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubWVudS1mb290ZXIge1xyXG4gICAgaDMge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbiNiYWxscy1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAxcHg7XHJcbn1cclxuXHJcbiNpbmZvIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDIwcHg7XHJcbiAgICBtYXJnaW4tdG9wOiAyMCU7XHJcbiAgICBvcGFjaXR5OiAwLjM7XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKiogTEFNUCAqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuLy8gQGltcG9ydCB1cmwoaHR0cDovL3dlbG92ZWljb25mb250cy5jb20vYXBpLz9mYW1pbHk9ZW50eXBvKTtcclxuKixcclxuKjpiZWZvcmUsXHJcbio6YWZ0ZXIge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbi5kaWdpdGFsLXByLWdyYXBoaWNzIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogLTIwMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLmZhIHtcclxuICAgICAgICBmb250LXNpemU6IDVyZW07XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIGNvbG9yOiByZ2JhKDAsIDEwMiwgMTQ3LCAwLjkpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICB9XHJcbiAgICAuY29sLXhzLTIubWVnYXBob25lIHtcclxuICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTMwZGVnKTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyNSU7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yMCU7XHJcblxyXG4gICAgfVxyXG4gICAgLmNvbC14cy0yLmRlc2t0b3Age1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwJTtcclxuICAgIH1cclxuXHJcbiAgICAuY29sLXhzLTIubGFwdG9wIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyNSU7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbC14cy0yLnR3aXR0ZXIge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjAlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDMwZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICAuY29sLXhzLTIuY2VsbHBob25lIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNSU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNTBkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2wteHMtMi5jbG91ZC11cGxvYWQge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0xMCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTIzZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICAuY29sLXhzLTIuY2xvdWQtZG93bmxvYWQge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwJTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTMwJTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLmNvbC14cy0yIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDsgIFxyXG4gICAgICAgIG1hcmdpbjogMTBweDtcclxuICAgIH1cclxuICAgIC5kZXRhaWwtaWNvbnMge1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNSU7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNSU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vIC5jb2wteHMtMjphZnRlciB7XHJcbiAgICAvLyAgICAgY29udGVudDogJyc7XHJcbiAgICAvLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgLy8gICAgIGJvdHRvbTogMDtcclxuICAgIC8vICAgICBsZWZ0OiA1MCU7XHJcbiAgICAvLyAgICAgd2lkdGg6IDA7XHJcbiAgICAvLyAgICAgaGVpZ2h0OiAwO1xyXG4gICAgLy8gICAgIGJvcmRlcjogMTVweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIC8vICAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDAsIDEwMiwgMTQ3LCAwLjkpO1xyXG4gICAgLy8gICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAvLyAgICAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgICAvLyAgICAgbWFyZ2luLWxlZnQ6IC03LjVweDtcclxuICAgIC8vICAgICBtYXJnaW4tYm90dG9tOiAtMTVweDtcclxuICAgIC8vIH1cclxuICAgIFxyXG4gICAgLy8gLmNvbC14cy0yLm1lZ2FwaG9uZTphZnRlciB7XHJcbiAgICAvLyAgICAgY29udGVudDogJyc7XHJcbiAgICAvLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgLy8gICAgIGJvdHRvbTogMDtcclxuICAgIC8vICAgICBsZWZ0OiA1MCU7XHJcbiAgICAvLyAgICAgd2lkdGg6IDA7XHJcbiAgICAvLyAgICAgaGVpZ2h0OiAwO1xyXG4gICAgLy8gICAgIGJvcmRlcjogMDtcclxuICAgIC8vICAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDAsIDEwMiwgMTQ3LCAwLjkpO1xyXG4gICAgLy8gICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAvLyAgICAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgICAvLyAgICAgbWFyZ2luLWxlZnQ6IC03LjVweDtcclxuICAgIC8vICAgICBtYXJnaW4tYm90dG9tOiAtMTVweDtcclxuICAgIC8vIH1cclxuICAgIFxyXG59XHJcblxyXG5cclxuXHJcbiNsYW1wIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcDogLTE3NXB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDMwMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogLTIwMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICB0b3A6IC0zMDBweDtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XHJcbiAgICAgICAgdG9wOiAtMzUlO1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcclxuXHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCkge1xyXG4gICAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcclxuICAgICAgICBcclxuICAgIH1cclxufVxyXG5cclxuLmxhbXAge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB3aWR0aDogLjdyZW07XHJcbiAgICBoZWlnaHQ6IDE1cmVtO1xyXG4gICAgLy9iYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiYSgwLCAwLCAwLCAwLjcpLCByZ2JhKDAsIDAsIDAsIDAuNykpLCBsaW5lYXItZ3JhZGllbnQocmdiYSgwLCAwLCAwLCAwLjcpLCByZ2JhKDAsIDAsIDAsIDAuNykpLCBsaW5lYXItZ3JhZGllbnQocmdiYSgwLCAwLCAwLCAwLjcpLCByZ2JhKDAsIDAsIDAsIDAuNykpO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMC4xNXJlbSAxNXJlbSwgLjRyZW0gLjhyZW0sIC43cmVtIDJyZW07XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMCwgMC4xOXJlbSAxM3JlbSwgMCAxMy44cmVtO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBtYXJnaW46IDAlIDMlO1xyXG59XHJcblxyXG4ubGFtcC1sb3cge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB3aWR0aDogLjdyZW07XHJcbiAgICBoZWlnaHQ6IDIwcmVtO1xyXG4gICAgLy9iYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQocmdiYSgwLCAwLCAwLCAwLjcpLCByZ2JhKDAsIDAsIDAsIDAuNykpLCBsaW5lYXItZ3JhZGllbnQocmdiYSgwLCAwLCAwLCAwLjcpLCByZ2JhKDAsIDAsIDAsIDAuNykpLCBsaW5lYXItZ3JhZGllbnQocmdiYSgwLCAwLCAwLCAwLjcpLCByZ2JhKDAsIDAsIDAsIDAuNykpO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMC4xNXJlbSAxOHJlbSwgLjRyZW0gLjhyZW0sIC43cmVtIDJyZW07XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMCwgMC4xOXJlbSAxOHJlbSwgMCAxOC44cmVtO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBtYXJnaW46IDAlIDMlO1xyXG59XHJcblxyXG4ubGFtcC1oaWdoIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgd2lkdGg6IC43cmVtO1xyXG4gICAgaGVpZ2h0OiAxMHJlbTtcclxuICAgIC8vYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJnYmEoMCwgMCwgMCwgMC43KSwgcmdiYSgwLCAwLCAwLCAwLjcpKSwgbGluZWFyLWdyYWRpZW50KHJnYmEoMCwgMCwgMCwgMC43KSwgcmdiYSgwLCAwLCAwLCAwLjcpKSwgbGluZWFyLWdyYWRpZW50KHJnYmEoMCwgMCwgMCwgMC43KSwgcmdiYSgwLCAwLCAwLCAwLjcpKTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDAuMTVyZW0gMThyZW0sIC40cmVtIC44cmVtLCAuN3JlbSAycmVtO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDAsIDAuMTlyZW0gMThyZW0sIDAgOC44cmVtO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBtYXJnaW46IDAlIDMlO1xyXG59XHJcblxyXG4ubGFtcDpiZWZvcmUsXHJcbi5sYW1wOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG59XHJcblxyXG4ubGFtcC1sb3c6YmVmb3JlLFxyXG4ubGFtcC1sb3c6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbn1cclxuXHJcbi5sYW1wLWhpZ2g6YmVmb3JlLFxyXG4ubGFtcC1oaWdoOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG59XHJcblxyXG4ubGFtcDpiZWZvcmUge1xyXG4gICAgbGVmdDogLTEuNjVyZW07XHJcbiAgICBib3R0b206IC00cmVtO1xyXG4gICAgd2lkdGg6IDRyZW07XHJcbiAgICBoZWlnaHQ6IDRyZW07XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDMpO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMnB4IC0ycHggMTBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDcpO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC41cztcclxuICAgIHotaW5kZXg6IDM7XHJcbn1cclxuXHJcbi5sYW1wLWxvdzpiZWZvcmUge1xyXG4gICAgbGVmdDogLTEuNjVyZW07XHJcbiAgICBib3R0b206IC00cmVtO1xyXG4gICAgd2lkdGg6IDRyZW07XHJcbiAgICBoZWlnaHQ6IDRyZW07XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDMpO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMnB4IC0ycHggMTBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDcpO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC41cztcclxufVxyXG5cclxuLmxhbXAtaGlnaDpiZWZvcmUge1xyXG4gICAgbGVmdDogLTEuNjVyZW07XHJcbiAgICBib3R0b206IC00cmVtO1xyXG4gICAgd2lkdGg6IDRyZW07XHJcbiAgICBoZWlnaHQ6IDRyZW07XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDMpO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMnB4IC0ycHggMTBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDcpO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC41cztcclxufVxyXG5cclxuLmdvbm5hLWdpdmUtbGlnaHQsXHJcbi5nb25uYS1naXZlLWxpZ2h0OmJlZm9yZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbn1cclxuXHJcbi5sYW1wIC5nb25uYS1naXZlLWxpZ2h0IHtcclxuICAgIHRvcDogMTUuMDVyZW07XHJcbiAgICBsZWZ0OiAuMjVyZW07XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGhlaWdodDogMS41cmVtO1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAuMnJlbSBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpO1xyXG59XHJcblxyXG4ubGFtcC1sb3cgLmdvbm5hLWdpdmUtbGlnaHQge1xyXG4gICAgdG9wOiAyMC4wNXJlbTtcclxuICAgIGxlZnQ6IC4yNXJlbTtcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgaGVpZ2h0OiAxLjVyZW07XHJcbiAgICBib3JkZXItcmlnaHQ6IC4ycmVtIHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XHJcbn1cclxuXHJcbi5sYW1wLWhpZ2ggLmdvbm5hLWdpdmUtbGlnaHQge1xyXG4gICAgdG9wOiAxMC4wNXJlbTtcclxuICAgIGxlZnQ6IC4yNXJlbTtcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgaGVpZ2h0OiAxLjVyZW07XHJcbiAgICBib3JkZXItcmlnaHQ6IC4ycmVtIHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XHJcbn1cclxuXHJcbi5nb25uYS1naXZlLWxpZ2h0OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHRvcDogMS41cmVtO1xyXG4gICAgbGVmdDogLS4zNXJlbTtcclxuICAgIHdpZHRoOiAuOXJlbTtcclxuICAgIGhlaWdodDogLjlyZW07XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBib3JkZXI6IC4ycmVtIHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7XHJcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDUwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcclxufVxyXG5cclxuLmxhbXAubGFtcC1vbjpiZWZvcmUsXHJcbi5sYW1wLWxvdy5sYW1wLW9uOmJlZm9yZSxcclxuLmxhbXAtaGlnaC5sYW1wLW9uOmJlZm9yZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xyXG4gICAgYm94LXNoYWRvdzogMHB4IDJweCAxMHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KSwgMHB4IDVweCA1MHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KSwgMHB4IDhweCA4MHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KSwgMHB4IDhweCAxMjBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XHJcbiAgICBvcGFjaXR5OiAuNjtcclxufVxyXG5cclxuLmNkLXNlY3Rpb24uaG9tZS1wYWdlLXNlY3Rpb24ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG4uc2xpZGVyLWluZm8gcCB7XHJcbiAgICBtYXJnaW46IDI1cHggMHB4IDM1cHggMDtcclxufSIsIi5jb250YWN0LXRvcCB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgICAgIGgxIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jb250YWN0LWJyZHIge1xyXG4gICAgd2lkdGg6IDk0JTtcclxuICAgIGhlaWdodDogMTUlO1xyXG4gICAgbWFyZ2luLXRvcDogLTcwcHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IC02JTtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDI1cHgpIHtcclxuICAgICAgICB3aWR0aDogMTIwJTtcclxuICAgICAgICBoZWlnaHQ6IDE1JTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtODBweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTYlO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgd2lkdGg6IDk1JTtcclxuICAgICAgICBoZWlnaHQ6IDE1JTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAtODBweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogNSU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAzNSU7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTE1MHB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcclxuICAgICAgICB3aWR0aDogOTUlO1xyXG4gICAgICAgIGhlaWdodDogMzUlO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0xNTBweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogNSU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jb250YWN0LXNpZGUtY29udGFpbmVyIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIH1cclxufVxyXG5cclxuLmNvbnRhY3Qtc2lkZSB7XHJcbiAgICB3aWR0aDogOTAlO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICAgICAgICBtaW4taGVpZ2h0OiAzMDBweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcclxuICAgICAgICB3aWR0aDogNDAlO1xyXG4gICAgfVxyXG4gICAgaDIge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBsaW5lLWhlaWdodDogNDVweDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIHdpZHRoOiA5MCU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNvbnRhY3QtaW5uZXItbGVmdCB7XHJcbiAgICB3aWR0aDogNDAlO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jb250YWN0LWlubmVyLXJpZ2h0IHtcclxuICAgIHdpZHRoOiA2MCU7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBzcGFuIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufVxyXG5cclxuLm5vLXN0eWxlIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xyXG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcclxuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBsaW5lLWhlaWdodDogMWVtICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tZC1mb3JtIC5mYSB7XHJcbiAgICBmb250LXNpemU6IDIuNHJlbTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIC8vIGNvbG9yOiAjRTA1MDU0O1xyXG4gICAgY29sb3I6IHJnYmEoMCwgMTAyLCAxNDcsIDEpO1xyXG59XHJcblxyXG4ubWQtZm9ybSBsYWJlbC5hY3RpdmUge1xyXG4gICAgZm9udC1zaXplOiAxLjM1cmVtO1xyXG4gICAgY29sb3I6ICMyN0FBRTE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNzUlKTs7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNzUlKTs7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03NSUpOztcclxuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNzUlKTs7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTc1JSk7XHJcblxyXG4gICAgaSB7XHJcbiAgICAgICAgY29sb3I6ICNFMDUwNTQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tZC1mb3JtIGxhYmVsIHtcclxuICAgIC8vIGNvbG9yOiByZ2JhKDAsIDEwMiwgMTQ3LCAxKTtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAuOHJlbTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBmb250LXNpemU6IDEuNHJlbTtcclxuICAgIGN1cnNvcjogdGV4dDtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLjJzIGVhc2Utb3V0O1xyXG4gICAgLW1vei10cmFuc2l0aW9uOiAuMnMgZWFzZS1vdXQ7XHJcbiAgICAtby10cmFuc2l0aW9uOiAuMnMgZWFzZS1vdXQ7XHJcbiAgICAtbXMtdHJhbnNpdGlvbjogLjJzIGVhc2Utb3V0O1xyXG4gICAgdHJhbnNpdGlvbjogLjJzIGVhc2Utb3V0O1xyXG59XHJcblxyXG5cclxudGV4dGFyZWEubWQtdGV4dGFyZWE6Zm9jdXM6bm90KFtyZWFkb25seV0pIHtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMjdBQUUxO1xyXG4gICAgYm94LXNoYWRvdzogMCAxcHggMCAwICMyN0FBRTE7XHJcbn1cclxuXHJcbnRleHRhcmVhLm1kLXRleHRhcmVhOmZvY3VzOm5vdChbcmVhZG9ubHldKStsYWJlbCB7XHJcbiAgICBjb2xvcjogIzI3QUFFMTtcclxufVxyXG5cclxuaW5wdXRbdHlwZT10ZXh0XTpmb2N1czpub3QoW3JlYWRvbmx5XSkge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMyN0FBRTE7XHJcbiAgICBib3gtc2hhZG93OiAwIDFweCAwIDAgIzI3QUFFMTtcclxufVxyXG5cclxuXHJcblxyXG5pbnB1dFt0eXBlPXRleHRdOmZvY3VzOm5vdChbcmVhZG9ubHldKStsYWJlbCB7XHJcbiAgICBjb2xvcjogIzI3QUFFMTtcclxufVxyXG5cclxuaW5wdXRbdHlwZT1lbWFpbF06Zm9jdXM6bm90KFtyZWFkb25seV0pIHtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMjdBQUUxO1xyXG4gICAgYm94LXNoYWRvdzogMCAxcHggMCAwICMyN0FBRTE7XHJcbn1cclxuXHJcblxyXG5cclxuaW5wdXRbdHlwZT1lbWFpbF06Zm9jdXM6bm90KFtyZWFkb25seV0pK2xhYmVsIHtcclxuICAgIGNvbG9yOiAjMjdBQUUxO1xyXG59XHJcblxyXG5cclxuXHJcbmlucHV0W3R5cGU9bnVtYmVyXTpmb2N1czpub3QoW3JlYWRvbmx5XSkge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMyN0FBRTE7XHJcbiAgICBib3gtc2hhZG93OiAwIDFweCAwIDAgIzI3QUFFMTtcclxufVxyXG5cclxuXHJcblxyXG5pbnB1dFt0eXBlPW51bWJlcl06Zm9jdXM6bm90KFtyZWFkb25seV0pK2xhYmVsIHtcclxuICAgIGNvbG9yOiAjMjdBQUUxO1xyXG59XHJcblxyXG4uY29udGFjdC1jb250YWluZXIge1xyXG4gICAgYTpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jYXJlZXJzLWxpbmsge1xyXG4gICAgYTpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICNFMDUwNTQ7XHJcbiAgICB9XHJcbn0iLCIvKiBTTElERVIgKi9cclxuXHJcbi5jZC1oZXJvIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxufVxyXG5cclxuLmNkLWhlcm8tc2xpZGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGhlaWdodDogOTAlO1xyXG4gICAgd2lkdGg6IDc1JTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAwcHg7XHJcbn1cclxuXHJcbi5jZC1oZXJvLXNsaWRlciBsaSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxufVxyXG5cclxuLmNkLWhlcm8tc2xpZGVyIGxpLnNlbGVjdGVkIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG59XHJcblxyXG4uY2QtaGVyby1zbGlkZXIgbGkubW92ZS1sZWZ0IHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xyXG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XHJcbn1cclxuXHJcbi5jZC1oZXJvLXNsaWRlciAuY2QtaW1nLWNvbnRhaW5lciBpbWcge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgYm90dG9tOiBhdXRvO1xyXG4gICAgcmlnaHQ6IGF1dG87XHJcbiAgICB3aWR0aDogODAlO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xyXG59XHJcblxyXG4uY2QtaW1nLWNvbnRhaW5lciB7XHJcbiAgICB0b3A6IDE1JSAhaW1wb3J0YW50O1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQyNXB4KSB7XHJcbiAgICAgICAgdG9wOiAyMCUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA1ODBweCkge1xyXG4gICAgICAgIHRvcDogMjUlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjgwcHgpIHtcclxuICAgICAgICB0b3A6IDMwJSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2xpZGVyLWluZm8ge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQyNXB4KSB7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDUwcHgpIHtcclxuICAgIH1cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2ODBweCkge1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5pbWctY29udGFpbmVyLnJpZ2h0LWltYWdlIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAzODBweCkge1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICB3aWR0aDogNjUlO1xyXG4gICAgfVxyXG59XHJcblxyXG4uaW1nLWNvbnRhaW5lci5sZWZ0LWltYWdlIHtcclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMzgwcHgpIHtcclxuICAgIH1cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICB3aWR0aDogNjUlO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2xpZGVyLWluZm8udGV4dC1sZWZ0LmluZm8td2l0aC1iYW5uZXIge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAzODBweCkge1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQyNXB4KSB7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDUwcHgpIHtcclxuICAgIH1cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2ODBweCkge1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDI1cHggMDtcclxuXHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQ1JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zbGlkZXItaW5mby50ZXh0LXJpZ2h0LmluZm8td2l0aC1iYW5uZXIge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAzODBweCkge1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MjVweCkge1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQ1MHB4KSB7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjgwcHgpIHtcclxuICAgIH1cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMjVweCAwO1xyXG5cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0NSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY2QtaGVyby1zbGlkZXIgaDIge1xyXG4gICAgZm9udC1zaXplOiAyLjRyZW07XHJcbn1cclxuXHJcbi5jZC1oZXJvLXNsaWRlciBwIHtcclxuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcclxufVxyXG5cclxuLmNkLWhlcm8tc2xpZGVyIC5jZC1idG4ge1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmZmZmO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBmb250LWZhbWlseTogXCJOZXhhLUxpZ2h0XCIsIHNhbnMtc2VyaWY7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHggNnB4O1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAwcHg7XHJcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgZm9udC1zaXplOiAxLjhyZW07XHJcbiAgICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi5jZC1oZXJvLXNsaWRlciAuY2QtYnRuOmhvdmVyIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmZmZmY7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2Utb3V0IDAuMnM7XHJcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLW91dCAwLjJzO1xyXG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2Utb3V0IDAuMnM7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1vdXQgMC4ycztcclxufVxyXG5cclxuLmNkLWhlcm8tc2xpZGVyIC5jZC1idG4uc2Vjb25kYXJ5IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIsIDI2LCAzMCwgMC44KTtcclxufVxyXG5cclxuLmNkLWhlcm8tc2xpZGVyIGxpLmlzLW1vdmluZyxcclxuLmNkLWhlcm8tc2xpZGVyIGxpLnNlbGVjdGVkIHtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC41cztcclxuICAgIC1tb3otdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gMC41cztcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzO1xyXG59XHJcblxyXG4uY2QtaGVyby1zbGlkZXIgLmNkLWZ1bGwtd2lkdGgsXHJcbi5jZC1oZXJvLXNsaWRlciAuY2QtaGFsZi13aWR0aCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcGFkZGluZy10b3A6IDEwMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgLmNkLXNsaWRlci1uYXYge1xyXG4gICAgICAgIGhlaWdodDogODBweDtcclxuICAgIH1cclxuICAgIC5jZC1zbGlkZXItbmF2IGEge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA0OHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB9XHJcbiAgICAuY2Qtc2xpZGVyLW5hdiBhOjpiZWZvcmUge1xyXG4gICAgICAgIHRvcDogMThweDtcclxuICAgIH1cclxuICAgIC5jZC1oZXJvLXNsaWRlciBsaTpudGgtb2YtdHlwZSgyKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAgIH1cclxuICAgIC5jZC1oZXJvLXNsaWRlciBsaTpudGgtb2YtdHlwZSgzKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAgIH1cclxuICAgIC5jZC1oZXJvLXNsaWRlciBsaTpudGgtb2YtdHlwZSg0KSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAgIH1cclxuICAgIC5jZC1oZXJvLXNsaWRlciAuY2QtYmctdmlkZW8td3JhcHBlciB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgICAuY2QtaGVyby1zbGlkZXIgLmNkLWhhbGYtd2lkdGgge1xyXG4gICAgICAgIHdpZHRoOiA0NSU7XHJcbiAgICB9XHJcbiAgICAuY2QtaGVyby1zbGlkZXIgLmNkLWhhbGYtd2lkdGg6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgbGVmdDogNSU7XHJcbiAgICB9XHJcbiAgICAuY2QtaGVyby1zbGlkZXIgLmNkLWhhbGYtd2lkdGg6bnRoLW9mLXR5cGUoMikge1xyXG4gICAgICAgIHJpZ2h0OiA1JTtcclxuICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgfVxyXG4gICAgLmNkLWhlcm8tc2xpZGVyIC5jZC1pbWctY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgIC5jZC1oZXJvLXNsaWRlciBoMiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyLjRlbTtcclxuICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgfVxyXG4gICAgLmNkLWhlcm8tc2xpZGVyIC5jZC1idG4ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgfVxyXG4gICAgLmNkLWhlcm8tc2xpZGVyIC5jZC1oYWxmLXdpZHRoIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwcHgpO1xyXG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwcHgpO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDBweCk7XHJcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwcHgpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MHB4KTtcclxuICAgIH1cclxuICAgIC5jZC1oZXJvLXNsaWRlciAubW92ZS1sZWZ0IC5jZC1oYWxmLXdpZHRoIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDBweCk7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwcHgpO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwcHgpO1xyXG4gICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDBweCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MHB4KTtcclxuICAgIH1cclxuICAgIC5jZC1oZXJvLXNsaWRlciAuc2VsZWN0ZWQgLmNkLWhhbGYtd2lkdGgge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgfVxyXG4gICAgLmNkLWhlcm8tc2xpZGVyIC5pcy1tb3ZpbmcgLmNkLWhhbGYtd2lkdGgge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwcyAwLjVzLCAtd2Via2l0LXRyYW5zZm9ybSAwcyAwLjVzO1xyXG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwcyAwLjVzLCAtbW96LXRyYW5zZm9ybSAwcyAwLjVzO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMHMgMC41cywgdHJhbnNmb3JtIDBzIDAuNXM7XHJcbiAgICB9XHJcbiAgICAuY2QtaGVyby1zbGlkZXIgbGkuc2VsZWN0ZWQuZnJvbS1sZWZ0IC5jZC1oYWxmLXdpZHRoOm50aC1vZi10eXBlKDIpLFxyXG4gICAgLmNkLWhlcm8tc2xpZGVyIGxpLnNlbGVjdGVkLmZyb20tcmlnaHQgLmNkLWhhbGYtd2lkdGg6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgMC4ycywgLXdlYmtpdC10cmFuc2Zvcm0gMC41cyAwLjJzO1xyXG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIDAuMnMsIC1tb3otdHJhbnNmb3JtIDAuNXMgMC4ycztcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgMC4ycywgdHJhbnNmb3JtIDAuNXMgMC4ycztcclxuICAgIH1cclxuICAgIC5jZC1oZXJvLXNsaWRlciBsaS5zZWxlY3RlZC5mcm9tLWxlZnQgLmNkLWhhbGYtd2lkdGg6Zmlyc3Qtb2YtdHlwZSxcclxuICAgIC5jZC1oZXJvLXNsaWRlciBsaS5zZWxlY3RlZC5mcm9tLXJpZ2h0IC5jZC1oYWxmLXdpZHRoOm50aC1vZi10eXBlKDIpIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC40cyAwLjRzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjVzIDAuNHM7XHJcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgMC40cywgLW1vei10cmFuc2Zvcm0gMC41cyAwLjRzO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyAwLjRzLCB0cmFuc2Zvcm0gMC41cyAwLjRzO1xyXG4gICAgfVxyXG4gICAgLmNkLWhlcm8tc2xpZGVyIC5jZC1mdWxsLXdpZHRoIGgyLFxyXG4gICAgLmNkLWhlcm8tc2xpZGVyIC5jZC1mdWxsLXdpZHRoIHAsXHJcbiAgICAuY2QtaGVyby1zbGlkZXIgLmNkLWZ1bGwtd2lkdGggLmNkLWJ0biB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDBweCk7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwcHgpO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwcHgpO1xyXG4gICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDBweCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMHB4KTtcclxuICAgIH1cclxuICAgIC5jZC1oZXJvLXNsaWRlciAubW92ZS1sZWZ0IC5jZC1mdWxsLXdpZHRoIGgyLFxyXG4gICAgLmNkLWhlcm8tc2xpZGVyIC5tb3ZlLWxlZnQgLmNkLWZ1bGwtd2lkdGggcCxcclxuICAgIC5jZC1oZXJvLXNsaWRlciAubW92ZS1sZWZ0IC5jZC1mdWxsLXdpZHRoIC5jZC1idG4ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMHB4KTtcclxuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwcHgpO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMHB4KTtcclxuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMHB4KTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMHB4KTtcclxuICAgIH1cclxuICAgIC5jZC1oZXJvLXNsaWRlciAuc2VsZWN0ZWQgLmNkLWZ1bGwtd2lkdGggaDIsXHJcbiAgICAuY2QtaGVyby1zbGlkZXIgLnNlbGVjdGVkIC5jZC1mdWxsLXdpZHRoIHAsXHJcbiAgICAuY2QtaGVyby1zbGlkZXIgLnNlbGVjdGVkIC5jZC1mdWxsLXdpZHRoIC5jZC1idG4ge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgfVxyXG4gICAgLmNkLWhlcm8tc2xpZGVyIGxpLmlzLW1vdmluZyAuY2QtZnVsbC13aWR0aCBoMixcclxuICAgIC5jZC1oZXJvLXNsaWRlciBsaS5pcy1tb3ZpbmcgLmNkLWZ1bGwtd2lkdGggcCxcclxuICAgIC5jZC1oZXJvLXNsaWRlciBsaS5pcy1tb3ZpbmcgLmNkLWZ1bGwtd2lkdGggLmNkLWJ0biB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDBzIDAuNXMsIC13ZWJraXQtdHJhbnNmb3JtIDBzIDAuNXM7XHJcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDBzIDAuNXMsIC1tb3otdHJhbnNmb3JtIDBzIDAuNXM7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwcyAwLjVzLCB0cmFuc2Zvcm0gMHMgMC41cztcclxuICAgIH1cclxuICAgIC5jZC1oZXJvLXNsaWRlciBsaS5zZWxlY3RlZCBoMiB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgMC4ycywgLXdlYmtpdC10cmFuc2Zvcm0gMC41cyAwLjJzO1xyXG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIDAuMnMsIC1tb3otdHJhbnNmb3JtIDAuNXMgMC4ycztcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgMC4ycywgdHJhbnNmb3JtIDAuNXMgMC4ycztcclxuICAgIH1cclxuICAgIC5jZC1oZXJvLXNsaWRlciBsaS5zZWxlY3RlZCBwIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC40cyAwLjNzLCAtd2Via2l0LXRyYW5zZm9ybSAwLjVzIDAuM3M7XHJcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgMC4zcywgLW1vei10cmFuc2Zvcm0gMC41cyAwLjNzO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyAwLjNzLCB0cmFuc2Zvcm0gMC41cyAwLjNzO1xyXG4gICAgfVxyXG4gICAgLmNkLWhlcm8tc2xpZGVyIGxpLnNlbGVjdGVkIC5jZC1idG4ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIDAuNHMsIC13ZWJraXQtdHJhbnNmb3JtIDAuNXMgMC40cywgYmFja2dyb3VuZC1jb2xvciAwLjJzIDBzO1xyXG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjRzIDAuNHMsIC1tb3otdHJhbnNmb3JtIDAuNXMgMC40cywgYmFja2dyb3VuZC1jb2xvciAwLjJzIDBzO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyAwLjRzLCB0cmFuc2Zvcm0gMC41cyAwLjRzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgMHM7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE3MHB4KSB7XHJcbiAgICAuY2QtaGVyby1zbGlkZXIgLmNkLWZ1bGwtd2lkdGgsXHJcbiAgICAuY2QtaGVyby1zbGlkZXIgLmNkLWhhbGYtd2lkdGgge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAyMDBweDtcclxuICAgIH1cclxuICAgIC5jZC1oZXJvLXNsaWRlciBoMixcclxuICAgIC5jZC1oZXJvLXNsaWRlciBwIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgLmNkLWhlcm8tc2xpZGVyIGgyIHtcclxuICAgICAgICBmb250LXNpemU6IDMuMmVtO1xyXG4gICAgfVxyXG4gICAgLmNkLWhlcm8tc2xpZGVyIHAge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4uY2QtaGVyby1zbGlkZXIgaDIsXHJcbi5jZC1oZXJvLXNsaWRlciBwIHtcclxuICAgIHRleHQtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgd2lkdGg6IDYwJTtcclxufVxyXG5cclxuLmNkLXNsaWRlci1uYXYge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG59XHJcblxyXG4uY2Qtc2xpZGVyLW5hdiBuYXYsXHJcbi5jZC1zbGlkZXItbmF2IHVsLFxyXG4uY2Qtc2xpZGVyLW5hdiBsaSxcclxuLmNkLXNsaWRlci1uYXYgYSB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5jZC1zbGlkZXItbmF2IG5hdiB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5jZC1zbGlkZXItbmF2IHVsOjphZnRlciB7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxufVxyXG5cclxuLmNkLXNsaWRlci1uYXYgbGkge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbn1cclxuXHJcbi5jZC1zbGlkZXItbmF2IGxpLnNlbGVjdGVkIGEge1xyXG4gICAgY29sb3I6ICMyYzM0M2I7XHJcbn1cclxuXHJcbi5uby10b3VjaCAuY2Qtc2xpZGVyLW5hdiBsaS5zZWxlY3RlZCBhOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4uY2Qtc2xpZGVyLW5hdiBhIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZy10b3A6IDM1cHg7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgY29sb3I6ICNhOGI0YmU7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcclxuICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzO1xyXG59XHJcblxyXG4uY2Qtc2xpZGVyLW5hdiBhOjpiZWZvcmUge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGhlaWdodDogMTVweDtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgdG9wOiAtMzlweDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIHdpZHRoOiAxNXB4O1xyXG59XHJcblxyXG4ubm8tdG91Y2ggLmNkLXNsaWRlci1uYXYgYTpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDEsIDEsIDAuNSk7XHJcbn1cclxuXHJcbi5uby1qcyAuY2QtaGVyby1zbGlkZXIgbGkge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLm5vLWpzIC5jZC1oZXJvLXNsaWRlciBsaS5zZWxlY3RlZCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLm5vLWpzIC5jZC1zbGlkZXItbmF2IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8vIFNsaWNrIFNsaWRlciBcclxuLnNsaWRlci1pbWctYnJkciB7XHJcbiAgICB3aWR0aDogMTIwJSAhaW1wb3J0YW50O1xyXG4gICAgbGVmdDogMCUgIWltcG9ydGFudDtcclxuICAgIHRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zbGlkZXIgeyBcclxuICAgIGRpc3BsYXk6IG5vbmU7IFxyXG5cclxuICAgIC5zbGljay1zbGlkZSB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uc2xpZGVyLnNsaWNrLWluaXRpYWxpemVkIHsgXHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBkaXNwbGF5OiBibG9jazsgXHJcbn1cclxuXHJcbi5zbGljay1zbGlkZSB7XHJcbiAgICBpbWcge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIH1cclxuICAgIGgyIHtcclxuICAgICAgICB0ZXh0LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgICBmb250LXNpemU6IDJlbTtcclxuICAgICAgICBcclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi41ZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAzLjJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zbGljay10cmFjayB7XHJcbiAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgIH1cclxufVxyXG5cclxuLnNsaWNrLWRvdHMge1xyXG4gICAgYm90dG9tOiAxMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB6LWluZGV4OiAzO1xyXG4gICAgY29sb3I6ICNFQzIwMjg7XHJcbiAgICBtYXJnaW4tdG9wOiAtMTclO1xyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgIGJvdHRvbTogMTAlO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XHJcbiAgICBvcGFjaXR5OiAuNzU7XHJcbiAgICBjb2xvcjogI0VDMjAyODtcclxufVxyXG5cclxuLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmJlZm9yZSB7XHJcbiAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgbGluZS1oZWlnaHQ6IDk7XHJcbiAgICBib3JkZXI6IHNvbGlkIDEuNXB4ICNmZmY7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsaW5lLWhlaWdodDogMTlweDtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgcGFkZGluZzogMHB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbn1cclxuXHJcbi5zbGljay1zbGlkZTpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG5cclxuLnNsaWNrLXNsaWRlIC5jZC1idG4ge1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmZmZmO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBmb250LWZhbWlseTogXCJOZXhhLUxpZ2h0XCIsIHNhbnMtc2VyaWY7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHggNnB4O1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAwcHg7XHJcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBmb250LXNpemU6IDEuOHJlbTtcclxuICAgIG1hcmdpbjogMDtcclxufVxyXG5cclxuLnNsaWNrLXNsaWRlIC5jZC1idG46aG92ZXIge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZmZmZjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1vdXQgMC4ycztcclxuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2Utb3V0IDAuMnM7XHJcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZS1vdXQgMC4ycztcclxuICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLW91dCAwLjJzO1xyXG59XHJcblxyXG4uc2xpY2stc2xpZGUgLmNkLWJ0bi5zZWNvbmRhcnkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMiwgMjYsIDMwLCAwLjgpO1xyXG59XHJcblxyXG4uc2xpY2stc2xpZGUgLmNkLWJ0biB7XHJcbiAgICBmb250LXNpemU6IDEuNHJlbTtcclxufVxyXG5cclxuLnNsaWNrLWxpc3Qge1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIFxyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jYXJlZXItaW5uZXIgLnNsaWNrLWxpc3Qge1xyXG4gICAgbWFyZ2luLXRvcDogMTAlO1xyXG59XHJcblxyXG4jY2FyZWVyLXNsaWRlciAuc2xpY2stbGlzdCB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG59XHJcblxyXG4jY2FyZWVyLXNsaWRlciAuc2xpY2stdHJhY2sge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4uc2xpY2stbmV4dCxcclxuLnNsaWNrLXByZXYge1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi5zbGljay1uZXh0OmJlZm9yZSxcclxuW2Rpcj1ydGxdIC5zbGljay1wcmV2OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAnPic7XHJcbn1cclxuXHJcbi5zbGljay1uZXh0OmJlZm9yZSxcclxuLnNsaWNrLXByZXY6YmVmb3JlIHtcclxuICAgIGZvbnQtc2l6ZTogOTdweDtcclxuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XHJcbn1cclxuXHJcbi5zbGljay1wcmV2OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAnPCc7XHJcbn1cclxuXHJcbi5zbGljay1wcmV2IHtcclxuICAgIGxlZnQ6IC01JTtcclxufVxyXG5cclxuLnNsaWNrLWluaXRpYWxpemVkIC5zbGljay1zbGlkZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcclxufVxyXG5cclxuLmJhbm5lci1jb250YWluZXIuc2xpY2stc2xpZGUge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7IFxyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDcwcHggIWltcG9ydGFudDtcclxuXHJcbiAgICBAbWVkaWEobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEobWluLXdpZHRoOiA5OTJweCkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxufSIsIi5zaGFrZS1zbG93LnNoYWtlLWNvbnN0YW50IHtcclxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogOTBzO1xyXG59XHJcblxyXG4uc2hha2UtdmVydGljYWw6aG92ZXIsIC5zaGFrZS10cmlnZ2VyOmhvdmVyIC5zaGFrZS12ZXJ0aWNhbCwgLnNoYWtlLXZlcnRpY2FsLnNoYWtlLWZyZWV6ZSwgLnNoYWtlLXZlcnRpY2FsLnNoYWtlLWNvbnN0YW50IHtcclxuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogNDVzO1xyXG59XHJcblxyXG4uZGlhbW9uZC1ib3gtaW5uZXIge1xyXG4gICAgLy8gLXdlYmtpdC1maWx0ZXI6IGJsdXIoMnB4KTtcclxufVxyXG5cclxuXHJcbiNwcm9qZWN0b3J7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtcclxuXHRtYXJnaW4tdG9wOiAtMTUwcHg7XHJcblx0b3BhY2l0eTogMC40O1xyXG59ICAgIFxyXG5cclxuLyogQ2xpZW50IExvZ28gc2h1ZmZsZSAqL1xyXG4uY2xpZW50LWxvZ28ge1xyXG5cdC8vIHdpZHRoOiAyNTBweDsgXHJcbn1cclxuXHJcbi5sb2dvLXNodWZmbGUge1xyXG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuXHJcblx0bGkge1xyXG5cdFx0bWFyZ2luOiAwcHg7IFxyXG5cdFx0cGFkZGluZzogMHB4O1xyXG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XHJcblx0fVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHdhdmUtZmxvdyB7XHJcblx0MCUge1xyXG5cdFx0Ym94LXNoYWRvdzogMCAwIDhweCA2cHggbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgxLCAyNiwgNTIsIDEpIDAlLCByZ2JhKDAsIDEwMiwgMTQ3LCAxKSAxMDAlKSwgMCAwIDEycHggMTBweCAjMEU1NDlGLCAwIDAgMTJweCAxNHB4ICNmZjFhMWE7XHJcblx0fVxyXG5cdDEwJSB7XHJcblx0XHRib3gtc2hhZG93OiAwIDAgOHB4IDZweCByZ2JhKDAsIDEwMiwgMTQ3LCAxKSwgMCAwIDEycHggMTBweCByZ2JhKDAsIDEwMiwgMTQ3LCAxKSwgMCAwIDEycHggMTRweCAjMEU1NDlGO1xyXG5cdH1cclxuXHQxMDAlIHtcclxuXHRcdGJveC1zaGFkb3c6IDAgMCA4cHggNnB4IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMSwgMjYsIDUyLCAxKSAwJSwgcmdiYSgwLCAxMDIsIDE0NywgMSkgMTAwJSkgMCAwIDRweCA0MHB4ICMzMzMsIDAgMCA0cHggNDFweCByZ2JhKDI1NSwgMjYsIDI2LCAwKTtcclxuXHR9XHJcbn1cclxuXHJcbi5zIHtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRoZWlnaHQ6IDM1cHg7XHJcblx0d2lkdGg6IDM1cHg7XHJcbn1cclxuXHJcbi5zOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiB3YXZlLWZsb3cgMy41cyAwLjRzIGVhc2Utb3V0IGluZmluaXRlO1xyXG4gICAgLW1vei1hbmltYXRpb246IHdhdmUtZmxvdyAzLjVzIDAuNHMgZWFzZS1vdXQgaW5maW5pdGU7XHJcbiAgICBhbmltYXRpb246IHdhdmUtZmxvdyAzLjVzIDAuNHMgZWFzZS1vdXQgaW5maW5pdGU7XHJcbn1cclxuXHJcbi5uYXYtYWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiB3YXZlLWZsb3cgMy41cyAwLjRzIGVhc2Utb3V0IGluZmluaXRlO1xyXG4gICAgLW1vei1hbmltYXRpb246IHdhdmUtZmxvdyAzLjVzIDAuNHMgZWFzZS1vdXQgaW5maW5pdGU7XHJcbiAgICBhbmltYXRpb246IHdhdmUtZmxvdyAzLjVzIDAuNHMgZWFzZS1vdXQgaW5maW5pdGU7XHJcbn1cclxuLnBvcnRmb2xpbyAuYW5pbWF0ZWQge1xyXG5cdGFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcclxufVxyXG5cclxuLmhpZGRlbntcclxuICAgICBvcGFjaXR5OjA7XHJcbn1cclxuLnZpc2libGV7XHJcbiAgICAgb3BhY2l0eToxO1xyXG59XHJcblxyXG4ucmV2ZWFsT25TY3JvbGwgeyBcclxuXHRvcGFjaXR5OiAwOyBcclxufVxyXG5cclxuLnBhZ2luYXRpb24tc2VjdGlvbiAuYW5pbWF0ZWQge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDNzO1xyXG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAzcztcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XHJcbn1cclxuXHJcbi5wb3J0Zm9saW8tc2VjdGlvbiAuYW5pbWF0ZWQge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDIuNXM7XHJcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDIuNXM7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XHJcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG59XHJcblxyXG4ucG9ydGZvbGlvLXBhbmVsIC5sZWZ0IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5wb3J0Zm9saW8tcGFuZWwgLnJpZ2h0IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5uYXYtYW5pbWF0aW9uIHtcclxuXHRhbmltYXRpb24tZHVyYXRpb246IDQwcyAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGFuaW1hdGVsZWZ0IHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIGxlZnQ6IC0zMDBweDtcclxuICAgICAgICBvcGFjaXR5OiAwXHJcbiAgICB9XHJcblxyXG4gICAgdG8ge1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgb3BhY2l0eTogMVxyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGFuaW1hdGVyaWdodCB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICByaWdodDogLTMwMHB4O1xyXG4gICAgICAgIG9wYWNpdHk6IDBcclxuICAgIH1cclxuXHJcbiAgICB0byB7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgb3BhY2l0eTogMVxyXG4gICAgfVxyXG59XHJcblxyXG5bZGF0YS1hb3M9XCJmcm9tLXJpZ2h0XCJdIHtcclxuXHR0cmFuc2Zvcm06IHNrZXcoMTQwZGVnLC0xMGRlZyk7XHJcblx0cmlnaHQ6IC01MCU7XHJcblx0b3BhY2l0eTogMDtcclxuXHQtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgcmlnaHQsIG9wYWNpdHk7XHJcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCByaWdodCwgb3BhY2l0eTtcclxufVxyXG5bZGF0YS1hb3M9XCJmcm9tLXJpZ2h0XCJdLmFvcy1hbmltYXRlIHtcclxuXHRyaWdodDogMDtcclxuXHRvcGFjaXR5OiAxO1xyXG5cdHRyYW5zZm9ybTogc2tldygxODBkZWcsMCk7XHJcbn1cclxuXHJcbltkYXRhLWFvcz1cImZyb20tbGVmdFwiXSB7XHJcblx0dHJhbnNmb3JtOiBza2V3KDIwZGVnLDEwZGVnKTtcclxuXHRsZWZ0OiAtNTAlO1xyXG5cdG9wYWNpdHk6IDA7XHJcblx0LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGxlZnQsIG9wYWNpdHk7XHJcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBsZWZ0LCBvcGFjaXR5O1xyXG59XHJcbltkYXRhLWFvcz1cImZyb20tbGVmdFwiXS5hb3MtYW5pbWF0ZSB7XHJcblx0bGVmdDogMDtcclxuXHRvcGFjaXR5OiAxO1xyXG5cdHRyYW5zZm9ybTogc2tldygwLDApO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIG5lb24yIHtcclxuXHRmcm9tIHtcclxuXHQgIGJveC1zaGFkb3c6IDAgMCAyMHB4ICNmZmY7XHJcblx0ICBib3gtc2hhZG93OiAwIDAgMzBweCAjZmZmO1xyXG5cdCAgYm94LXNoYWRvdzogMCAwIDQwcHggI2ZmZjsgXHJcblx0ICBib3gtc2hhZG93OiAwIDAgNzBweCAjZmZmOyBcclxuXHQgIGJveC1zaGFkb3c6IDAgMCA4MHB4ICNmZmY7IFxyXG5cdCAgYm94LXNoYWRvdzogMCAwIDEwMHB4ICNmZmY7XHJcblx0ICBib3gtc2hhZG93OiAwIDAgMTUwcHggI2ZmZjtcclxuXHR9XHJcblx0dG8ge1xyXG5cdCAgYm94LXNoYWRvdzogMCAwIDEwcHggI2ZmZjtcclxuXHQgIGJveC1zaGFkb3c6IDAgMCAxNXB4ICNmZmY7IFxyXG5cdCAgYm94LXNoYWRvdzogMCAwIDIwcHggI2ZmZjtcclxuXHQgIGJveC1zaGFkb3c6IDAgMCAzNXB4ICNmZmY7IFxyXG5cdCAgYm94LXNoYWRvdzogMCAwIDQwcHggI2ZmZjsgXHJcblx0ICBib3gtc2hhZG93OiAwIDAgNTBweCAjZmZmOyBcclxuXHQgIGJveC1zaGFkb3c6IDAgMCA3NXB4ICNmZmY7XHJcblx0fVxyXG59XHJcbiIsIi5wdC1wYWdlLW1vdmVUb0xlZnQge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IG1vdmVUb0xlZnQgLjZzIGVhc2UgYm90aDtcclxuICAgIGFuaW1hdGlvbjogbW92ZVRvTGVmdCAuNnMgZWFzZSBib3RoO1xyXG59XHJcblxyXG4ucHQtcGFnZS1tb3ZlRnJvbUxlZnQge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IG1vdmVGcm9tTGVmdCAuNnMgZWFzZSBib3RoO1xyXG4gICAgYW5pbWF0aW9uOiBtb3ZlRnJvbUxlZnQgLjZzIGVhc2UgYm90aDtcclxufVxyXG5cclxuLnB0LXBhZ2UtbW92ZVRvUmlnaHQge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IG1vdmVUb1JpZ2h0IC42cyBlYXNlIGJvdGg7XHJcbiAgICBhbmltYXRpb246IG1vdmVUb1JpZ2h0IC42cyBlYXNlIGJvdGg7XHJcbn1cclxuXHJcbi5wdC1wYWdlLW1vdmVGcm9tUmlnaHQge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IG1vdmVGcm9tUmlnaHQgLjZzIGVhc2UgYm90aDtcclxuICAgIGFuaW1hdGlvbjogbW92ZUZyb21SaWdodCAuNnMgZWFzZSBib3RoO1xyXG59XHJcblxyXG4ucHQtcGFnZS1tb3ZlVG9Ub3Age1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IG1vdmVUb1RvcCAxLjZzIGVhc2UgYm90aDtcclxuICAgIGFuaW1hdGlvbjogbW92ZVRvVG9wIDEuNnMgZWFzZSBib3RoO1xyXG59XHJcblxyXG4ucHQtcGFnZS1tb3ZlRnJvbVRvcCB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogbW92ZUZyb21Ub3AgLjZzIGVhc2UgYm90aDtcclxuICAgIGFuaW1hdGlvbjogbW92ZUZyb21Ub3AgLjZzIGVhc2UgYm90aDtcclxufVxyXG5cclxuLnB0LXBhZ2UtbW92ZVRvQm90dG9tIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBtb3ZlVG9Cb3R0b20gLjZzIGVhc2UgYm90aDtcclxuICAgIGFuaW1hdGlvbjogbW92ZVRvQm90dG9tIC42cyBlYXNlIGJvdGg7XHJcbn1cclxuXHJcbi5wdC1wYWdlLW1vdmVGcm9tQm90dG9tIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBtb3ZlRnJvbUJvdHRvbSAuNnMgZWFzZSBib3RoO1xyXG4gICAgYW5pbWF0aW9uOiBtb3ZlRnJvbUJvdHRvbSAuNnMgZWFzZSBib3RoO1xyXG59XHJcblxyXG5cclxuLyogZmFkZSAqL1xyXG5cclxuLnB0LXBhZ2UtZmFkZSB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogZmFkZSAuN3MgZWFzZSBib3RoO1xyXG4gICAgYW5pbWF0aW9uOiBmYWRlIC43cyBlYXNlIGJvdGg7XHJcbn1cclxuXHJcblxyXG4vKiBtb3ZlIGZyb20gLyB0byBhbmQgZmFkZSAqL1xyXG5cclxuLnB0LXBhZ2UtbW92ZVRvTGVmdEZhZGUge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IG1vdmVUb0xlZnRGYWRlIC43cyBlYXNlIGJvdGg7XHJcbiAgICBhbmltYXRpb246IG1vdmVUb0xlZnRGYWRlIC43cyBlYXNlIGJvdGg7XHJcbn1cclxuXHJcbi5wdC1wYWdlLW1vdmVGcm9tTGVmdEZhZGUge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IG1vdmVGcm9tTGVmdEZhZGUgLjdzIGVhc2UgYm90aDtcclxuICAgIGFuaW1hdGlvbjogbW92ZUZyb21MZWZ0RmFkZSAuN3MgZWFzZSBib3RoO1xyXG59XHJcblxyXG4ucHQtcGFnZS1tb3ZlVG9SaWdodEZhZGUge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IG1vdmVUb1JpZ2h0RmFkZSAuN3MgZWFzZSBib3RoO1xyXG4gICAgYW5pbWF0aW9uOiBtb3ZlVG9SaWdodEZhZGUgLjdzIGVhc2UgYm90aDtcclxufVxyXG5cclxuLnB0LXBhZ2UtbW92ZUZyb21SaWdodEZhZGUge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IG1vdmVGcm9tUmlnaHRGYWRlIC43cyBlYXNlIGJvdGg7XHJcbiAgICBhbmltYXRpb246IG1vdmVGcm9tUmlnaHRGYWRlIC43cyBlYXNlIGJvdGg7XHJcbn1cclxuXHJcbi5wdC1wYWdlLW1vdmVUb1RvcEZhZGUge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IG1vdmVUb1RvcEZhZGUgLjdzIGVhc2UgYm90aDtcclxuICAgIGFuaW1hdGlvbjogbW92ZVRvVG9wRmFkZSAuN3MgZWFzZSBib3RoO1xyXG59XHJcblxyXG4ucHQtcGFnZS1tb3ZlRnJvbVRvcEZhZGUge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IG1vdmVGcm9tVG9wRmFkZSAuN3MgZWFzZSBib3RoO1xyXG4gICAgYW5pbWF0aW9uOiBtb3ZlRnJvbVRvcEZhZGUgLjdzIGVhc2UgYm90aDtcclxufVxyXG5cclxuLnB0LXBhZ2UtbW92ZVRvQm90dG9tRmFkZSB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogbW92ZVRvQm90dG9tRmFkZSAuN3MgZWFzZSBib3RoO1xyXG4gICAgYW5pbWF0aW9uOiBtb3ZlVG9Cb3R0b21GYWRlIC43cyBlYXNlIGJvdGg7XHJcbn1cclxuXHJcbi5wdC1wYWdlLW1vdmVGcm9tQm90dG9tRmFkZSB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogbW92ZUZyb21Cb3R0b21GYWRlIC43cyBlYXNlIGJvdGg7XHJcbiAgICBhbmltYXRpb246IG1vdmVGcm9tQm90dG9tRmFkZSAuN3MgZWFzZSBib3RoO1xyXG59XHJcblxyXG5cclxuLyogbW92ZSB0byB3aXRoIGRpZmZlcmVudCBlYXNpbmcgKi9cclxuXHJcbi5wdC1wYWdlLW1vdmVUb0xlZnRFYXNpbmcge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IG1vdmVUb0xlZnQgLjdzIGVhc2UtaW4tb3V0IGJvdGg7XHJcbiAgICBhbmltYXRpb246IG1vdmVUb0xlZnQgLjdzIGVhc2UtaW4tb3V0IGJvdGg7XHJcbn1cclxuXHJcbi5wdC1wYWdlLW1vdmVUb1JpZ2h0RWFzaW5nIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBtb3ZlVG9SaWdodCAuN3MgZWFzZS1pbi1vdXQgYm90aDtcclxuICAgIGFuaW1hdGlvbjogbW92ZVRvUmlnaHQgLjdzIGVhc2UtaW4tb3V0IGJvdGg7XHJcbn1cclxuXHJcbi5wdC1wYWdlLW1vdmVUb1RvcEVhc2luZyB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogbW92ZVRvVG9wIC43cyBlYXNlLWluLW91dCBib3RoO1xyXG4gICAgYW5pbWF0aW9uOiBtb3ZlVG9Ub3AgLjdzIGVhc2UtaW4tb3V0IGJvdGg7XHJcbn1cclxuXHJcbi5wdC1wYWdlLW1vdmVUb0JvdHRvbUVhc2luZyB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogbW92ZVRvQm90dG9tIC43cyBlYXNlLWluLW91dCBib3RoO1xyXG4gICAgYW5pbWF0aW9uOiBtb3ZlVG9Cb3R0b20gLjdzIGVhc2UtaW4tb3V0IGJvdGg7XHJcbn1cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIGtleWZyYW1lcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblxyXG4vKiBtb3ZlIGZyb20gLyB0byAgKi9cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBtb3ZlVG9MZWZ0IHtcclxuICAgIGZyb20ge31cclxuICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgbW92ZVRvTGVmdCB7XHJcbiAgICBmcm9tIHt9XHJcbiAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBtb3ZlRnJvbUxlZnQge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIG1vdmVGcm9tTGVmdCB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcclxuICAgIH1cclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIG1vdmVUb1JpZ2h0IHtcclxuICAgIGZyb20ge31cclxuICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBtb3ZlVG9SaWdodCB7XHJcbiAgICBmcm9tIHt9XHJcbiAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xyXG4gICAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgbW92ZUZyb21SaWdodCB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBtb3ZlRnJvbVJpZ2h0IHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxuICAgIH1cclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIG1vdmVUb1RvcCB7XHJcbiAgICBmcm9tIHt9XHJcbiAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIG1vdmVUb1RvcCB7XHJcbiAgICBmcm9tIHt9XHJcbiAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBtb3ZlRnJvbVRvcCB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgbW92ZUZyb21Ub3Age1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBtb3ZlVG9Cb3R0b20ge1xyXG4gICAgZnJvbSB7fVxyXG4gICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIG1vdmVUb0JvdHRvbSB7XHJcbiAgICBmcm9tIHt9XHJcbiAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xyXG4gICAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgbW92ZUZyb21Cb3R0b20ge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgbW92ZUZyb21Cb3R0b20ge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogZmFkZSAqL1xyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGUge1xyXG4gICAgZnJvbSB7fVxyXG4gICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuMztcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlIHtcclxuICAgIGZyb20ge31cclxuICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAwLjM7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiBtb3ZlIGZyb20gLyB0byBhbmQgZmFkZSAqL1xyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIG1vdmVUb0xlZnRGYWRlIHtcclxuICAgIGZyb20ge31cclxuICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAwLjM7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIG1vdmVUb0xlZnRGYWRlIHtcclxuICAgIGZyb20ge31cclxuICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAwLjM7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBtb3ZlRnJvbUxlZnRGYWRlIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuMztcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgbW92ZUZyb21MZWZ0RmFkZSB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAwLjM7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBtb3ZlVG9SaWdodEZhZGUge1xyXG4gICAgZnJvbSB7fVxyXG4gICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuMztcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBtb3ZlVG9SaWdodEZhZGUge1xyXG4gICAgZnJvbSB7fVxyXG4gICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuMztcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBtb3ZlRnJvbVJpZ2h0RmFkZSB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAwLjM7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgbW92ZUZyb21SaWdodEZhZGUge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMC4zO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxuICAgIH1cclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIG1vdmVUb1RvcEZhZGUge1xyXG4gICAgZnJvbSB7fVxyXG4gICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuMztcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgbW92ZVRvVG9wRmFkZSB7XHJcbiAgICBmcm9tIHt9XHJcbiAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMC4zO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xyXG4gICAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgbW92ZUZyb21Ub3BGYWRlIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuMztcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgbW92ZUZyb21Ub3BGYWRlIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuMztcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcclxuICAgIH1cclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIG1vdmVUb0JvdHRvbUZhZGUge1xyXG4gICAgZnJvbSB7fVxyXG4gICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuMztcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBtb3ZlVG9Cb3R0b21GYWRlIHtcclxuICAgIGZyb20ge31cclxuICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAwLjM7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xyXG4gICAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgbW92ZUZyb21Cb3R0b21GYWRlIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDAuMztcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBtb3ZlRnJvbUJvdHRvbUZhZGUge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMC4zO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qIHNjYWxlIGFuZCBmYWRlICovXHJcblxyXG4ucHQtcGFnZS1zY2FsZURvd24ge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHNjYWxlRG93biAuN3MgZWFzZSBib3RoO1xyXG4gICAgYW5pbWF0aW9uOiBzY2FsZURvd24gLjdzIGVhc2UgYm90aDtcclxufVxyXG5cclxuLnB0LXBhZ2Utc2NhbGVVcCB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogc2NhbGVVcCAxLjVzIGVhc2UgYm90aDtcclxuICAgIGFuaW1hdGlvbjogc2NhbGVVcCAxLjVzIGVhc2UgYm90aDtcclxufVxyXG5cclxuLnB0LXBhZ2Utc2NhbGVVcERvd24ge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHNjYWxlVXBEb3duIC41cyBlYXNlIGJvdGg7XHJcbiAgICBhbmltYXRpb246IHNjYWxlVXBEb3duIC41cyBlYXNlIGJvdGg7XHJcbn1cclxuXHJcbi5wdC1wYWdlLXNjYWxlRG93blVwIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBzY2FsZURvd25VcCAuNXMgZWFzZSBib3RoO1xyXG4gICAgYW5pbWF0aW9uOiBzY2FsZURvd25VcCAuNXMgZWFzZSBib3RoO1xyXG59XHJcblxyXG4ucHQtcGFnZS1zY2FsZURvd25DZW50ZXIge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHNjYWxlRG93bkNlbnRlciAuNHMgZWFzZS1pbiBib3RoO1xyXG4gICAgYW5pbWF0aW9uOiBzY2FsZURvd25DZW50ZXIgLjRzIGVhc2UtaW4gYm90aDtcclxufVxyXG5cclxuLnB0LXBhZ2Utc2NhbGVVcENlbnRlciB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogc2NhbGVVcENlbnRlciAuNHMgZWFzZS1vdXQgYm90aDtcclxuICAgIGFuaW1hdGlvbjogc2NhbGVVcENlbnRlciAuNHMgZWFzZS1vdXQgYm90aDtcclxufVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioga2V5ZnJhbWVzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHJcbi8qIHNjYWxlIGFuZCBmYWRlICovXHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2NhbGVEb3duIHtcclxuICAgIGZyb20ge31cclxuICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguOCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2NhbGVEb3duIHtcclxuICAgIGZyb20ge31cclxuICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguOCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSguOCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzY2FsZVVwIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC44KTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzY2FsZVVwIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC44KTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC44KTtcclxuICAgIH1cclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHNjYWxlVXBEb3duIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMik7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2NhbGVVcERvd24ge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzY2FsZURvd25VcCB7XHJcbiAgICBmcm9tIHt9XHJcbiAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzY2FsZURvd25VcCB7XHJcbiAgICBmcm9tIHt9XHJcbiAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzY2FsZURvd25DZW50ZXIge1xyXG4gICAgZnJvbSB7fVxyXG4gICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC43KTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzY2FsZURvd25DZW50ZXIge1xyXG4gICAgZnJvbSB7fVxyXG4gICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC43KTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKC43KTtcclxuICAgIH1cclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHNjYWxlVXBDZW50ZXIge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNjYWxlVXBDZW50ZXIge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogcm90YXRlIHNpZGVzIGZpcnN0IGFuZCBzY2FsZSAqL1xyXG5cclxuLnB0LXBhZ2Utcm90YXRlUmlnaHRTaWRlRmlyc3Qge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwJSA1MCU7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwJSA1MCU7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogcm90YXRlUmlnaHRTaWRlRmlyc3QgLjhzIGJvdGggZWFzZS1pbjtcclxuICAgIGFuaW1hdGlvbjogcm90YXRlUmlnaHRTaWRlRmlyc3QgLjhzIGJvdGggZWFzZS1pbjtcclxufVxyXG5cclxuLnB0LXBhZ2Utcm90YXRlTGVmdFNpZGVGaXJzdCB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgNTAlO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogcm90YXRlTGVmdFNpZGVGaXJzdCAuOHMgYm90aCBlYXNlLWluO1xyXG4gICAgYW5pbWF0aW9uOiByb3RhdGVMZWZ0U2lkZUZpcnN0IC44cyBib3RoIGVhc2UtaW47XHJcbn1cclxuXHJcbi5wdC1wYWdlLXJvdGF0ZVRvcFNpZGVGaXJzdCB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogcm90YXRlVG9wU2lkZUZpcnN0IC44cyBib3RoIGVhc2UtaW47XHJcbiAgICBhbmltYXRpb246IHJvdGF0ZVRvcFNpZGVGaXJzdCAuOHMgYm90aCBlYXNlLWluO1xyXG59XHJcblxyXG4ucHQtcGFnZS1yb3RhdGVCb3R0b21TaWRlRmlyc3Qge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMCU7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMCU7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogcm90YXRlQm90dG9tU2lkZUZpcnN0IC44cyBib3RoIGVhc2UtaW47XHJcbiAgICBhbmltYXRpb246IHJvdGF0ZUJvdHRvbVNpZGVGaXJzdCAuOHMgYm90aCBlYXNlLWluO1xyXG59XHJcblxyXG5cclxuLyogZmxpcCAqL1xyXG5cclxuLnB0LXBhZ2UtZmxpcE91dFJpZ2h0IHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogZmxpcE91dFJpZ2h0IC41cyBib3RoIGVhc2UtaW47XHJcbiAgICBhbmltYXRpb246IGZsaXBPdXRSaWdodCAuNXMgYm90aCBlYXNlLWluO1xyXG59XHJcblxyXG4ucHQtcGFnZS1mbGlwSW5MZWZ0IHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogZmxpcEluTGVmdCAuNXMgYm90aCBlYXNlLW91dDtcclxuICAgIGFuaW1hdGlvbjogZmxpcEluTGVmdCAuNXMgYm90aCBlYXNlLW91dDtcclxufVxyXG5cclxuLnB0LXBhZ2UtZmxpcE91dExlZnQge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBmbGlwT3V0TGVmdCAuNXMgYm90aCBlYXNlLWluO1xyXG4gICAgYW5pbWF0aW9uOiBmbGlwT3V0TGVmdCAuNXMgYm90aCBlYXNlLWluO1xyXG59XHJcblxyXG4ucHQtcGFnZS1mbGlwSW5SaWdodCB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IGZsaXBJblJpZ2h0IC41cyBib3RoIGVhc2Utb3V0O1xyXG4gICAgYW5pbWF0aW9uOiBmbGlwSW5SaWdodCAuNXMgYm90aCBlYXNlLW91dDtcclxufVxyXG5cclxuLnB0LXBhZ2UtZmxpcE91dFRvcCB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IGZsaXBPdXRUb3AgLjVzIGJvdGggZWFzZS1pbjtcclxuICAgIGFuaW1hdGlvbjogZmxpcE91dFRvcCAuNXMgYm90aCBlYXNlLWluO1xyXG59XHJcblxyXG4ucHQtcGFnZS1mbGlwSW5Cb3R0b20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBmbGlwSW5Cb3R0b20gLjVzIGJvdGggZWFzZS1vdXQ7XHJcbiAgICBhbmltYXRpb246IGZsaXBJbkJvdHRvbSAuNXMgYm90aCBlYXNlLW91dDtcclxufVxyXG5cclxuLnB0LXBhZ2UtZmxpcE91dEJvdHRvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IGZsaXBPdXRCb3R0b20gLjVzIGJvdGggZWFzZS1pbjtcclxuICAgIGFuaW1hdGlvbjogZmxpcE91dEJvdHRvbSAuNXMgYm90aCBlYXNlLWluO1xyXG59XHJcblxyXG4ucHQtcGFnZS1mbGlwSW5Ub3Age1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBmbGlwSW5Ub3AgLjVzIGJvdGggZWFzZS1vdXQ7XHJcbiAgICBhbmltYXRpb246IGZsaXBJblRvcCAuNXMgYm90aCBlYXNlLW91dDtcclxufVxyXG5cclxuXHJcbi8qIHJvdGF0ZSBmYWxsICovXHJcblxyXG4ucHQtcGFnZS1yb3RhdGVGYWxsIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCUgMCU7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwJSAwJTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiByb3RhdGVGYWxsIDFzIGJvdGggZWFzZS1pbjtcclxuICAgIGFuaW1hdGlvbjogcm90YXRlRmFsbCAxcyBib3RoIGVhc2UtaW47XHJcbn1cclxuXHJcblxyXG4vKiByb3RhdGUgbmV3c3BhcGVyICovXHJcblxyXG4ucHQtcGFnZS1yb3RhdGVPdXROZXdzcGFwZXIge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiByb3RhdGVPdXROZXdzcGFwZXIgLjVzIGJvdGggZWFzZS1pbjtcclxuICAgIGFuaW1hdGlvbjogcm90YXRlT3V0TmV3c3BhcGVyIC41cyBib3RoIGVhc2UtaW47XHJcbn1cclxuXHJcbi5wdC1wYWdlLXJvdGF0ZUluTmV3c3BhcGVyIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogcm90YXRlSW5OZXdzcGFwZXIgLjVzIGJvdGggZWFzZS1vdXQ7XHJcbiAgICBhbmltYXRpb246IHJvdGF0ZUluTmV3c3BhcGVyIC41cyBib3RoIGVhc2Utb3V0O1xyXG59XHJcblxyXG5cclxuLyogcHVzaCAqL1xyXG5cclxuLnB0LXBhZ2Utcm90YXRlUHVzaExlZnQge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwJSA1MCU7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwJSA1MCU7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogcm90YXRlUHVzaExlZnQgLjhzIGJvdGggZWFzZTtcclxuICAgIGFuaW1hdGlvbjogcm90YXRlUHVzaExlZnQgLjhzIGJvdGggZWFzZTtcclxufVxyXG5cclxuLnB0LXBhZ2Utcm90YXRlUHVzaFJpZ2h0IHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiByb3RhdGVQdXNoUmlnaHQgLjhzIGJvdGggZWFzZTtcclxuICAgIGFuaW1hdGlvbjogcm90YXRlUHVzaFJpZ2h0IC44cyBib3RoIGVhc2U7XHJcbn1cclxuXHJcbi5wdC1wYWdlLXJvdGF0ZVB1c2hUb3Age1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMCU7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMCU7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogcm90YXRlUHVzaFRvcCAuOHMgYm90aCBlYXNlO1xyXG4gICAgYW5pbWF0aW9uOiByb3RhdGVQdXNoVG9wIC44cyBib3RoIGVhc2U7XHJcbn1cclxuXHJcbi5wdC1wYWdlLXJvdGF0ZVB1c2hCb3R0b20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHJvdGF0ZVB1c2hCb3R0b20gLjhzIGJvdGggZWFzZTtcclxuICAgIGFuaW1hdGlvbjogcm90YXRlUHVzaEJvdHRvbSAuOHMgYm90aCBlYXNlO1xyXG59XHJcblxyXG5cclxuLyogcHVsbCAqL1xyXG5cclxuLnB0LXBhZ2Utcm90YXRlUHVsbFJpZ2h0IHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiByb3RhdGVQdWxsUmlnaHQgLjVzIGJvdGggZWFzZTtcclxuICAgIGFuaW1hdGlvbjogcm90YXRlUHVsbFJpZ2h0IC41cyBib3RoIGVhc2U7XHJcbn1cclxuXHJcbi5wdC1wYWdlLXJvdGF0ZVB1bGxMZWZ0IHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHJvdGF0ZVB1bGxMZWZ0IC41cyBib3RoIGVhc2U7XHJcbiAgICBhbmltYXRpb246IHJvdGF0ZVB1bGxMZWZ0IC41cyBib3RoIGVhc2U7XHJcbn1cclxuXHJcbi5wdC1wYWdlLXJvdGF0ZVB1bGxUb3Age1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMCU7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMCU7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogcm90YXRlUHVsbFRvcCAuNXMgYm90aCBlYXNlO1xyXG4gICAgYW5pbWF0aW9uOiByb3RhdGVQdWxsVG9wIC41cyBib3RoIGVhc2U7XHJcbn1cclxuXHJcbi5wdC1wYWdlLXJvdGF0ZVB1bGxCb3R0b20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHJvdGF0ZVB1bGxCb3R0b20gLjVzIGJvdGggZWFzZTtcclxuICAgIGFuaW1hdGlvbjogcm90YXRlUHVsbEJvdHRvbSAuNXMgYm90aCBlYXNlO1xyXG59XHJcblxyXG5cclxuLyogZm9sZCAqL1xyXG5cclxuLnB0LXBhZ2Utcm90YXRlRm9sZFJpZ2h0IHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHJvdGF0ZUZvbGRSaWdodCAuN3MgYm90aCBlYXNlO1xyXG4gICAgYW5pbWF0aW9uOiByb3RhdGVGb2xkUmlnaHQgLjdzIGJvdGggZWFzZTtcclxufVxyXG5cclxuLnB0LXBhZ2Utcm90YXRlRm9sZExlZnQge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgNTAlO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHJvdGF0ZUZvbGRMZWZ0IC43cyBib3RoIGVhc2U7XHJcbiAgICBhbmltYXRpb246IHJvdGF0ZUZvbGRMZWZ0IC43cyBib3RoIGVhc2U7XHJcbn1cclxuXHJcbi5wdC1wYWdlLXJvdGF0ZUZvbGRUb3Age1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHJvdGF0ZUZvbGRUb3AgLjdzIGJvdGggZWFzZTtcclxuICAgIGFuaW1hdGlvbjogcm90YXRlRm9sZFRvcCAuN3MgYm90aCBlYXNlO1xyXG59XHJcblxyXG4ucHQtcGFnZS1yb3RhdGVGb2xkQm90dG9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDAlO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDAlO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHJvdGF0ZUZvbGRCb3R0b20gLjdzIGJvdGggZWFzZTtcclxuICAgIGFuaW1hdGlvbjogcm90YXRlRm9sZEJvdHRvbSAuN3MgYm90aCBlYXNlO1xyXG59XHJcblxyXG5cclxuLyogdW5mb2xkICovXHJcblxyXG4ucHQtcGFnZS1yb3RhdGVVbmZvbGRMZWZ0IHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiByb3RhdGVVbmZvbGRMZWZ0IC43cyBib3RoIGVhc2U7XHJcbiAgICBhbmltYXRpb246IHJvdGF0ZVVuZm9sZExlZnQgLjdzIGJvdGggZWFzZTtcclxufVxyXG5cclxuLnB0LXBhZ2Utcm90YXRlVW5mb2xkUmlnaHQge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwJSA1MCU7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwJSA1MCU7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogcm90YXRlVW5mb2xkUmlnaHQgLjdzIGJvdGggZWFzZTtcclxuICAgIGFuaW1hdGlvbjogcm90YXRlVW5mb2xkUmlnaHQgLjdzIGJvdGggZWFzZTtcclxufVxyXG5cclxuLnB0LXBhZ2Utcm90YXRlVW5mb2xkVG9wIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiByb3RhdGVVbmZvbGRUb3AgLjdzIGJvdGggZWFzZTtcclxuICAgIGFuaW1hdGlvbjogcm90YXRlVW5mb2xkVG9wIC43cyBib3RoIGVhc2U7XHJcbn1cclxuXHJcbi5wdC1wYWdlLXJvdGF0ZVVuZm9sZEJvdHRvbSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSAwJTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAwJTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiByb3RhdGVVbmZvbGRCb3R0b20gLjdzIGJvdGggZWFzZTtcclxuICAgIGFuaW1hdGlvbjogcm90YXRlVW5mb2xkQm90dG9tIC43cyBib3RoIGVhc2U7XHJcbn1cclxuXHJcblxyXG4vKiByb29tIHdhbGxzICovXHJcblxyXG4ucHQtcGFnZS1yb3RhdGVSb29tTGVmdE91dCB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgNTAlO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogcm90YXRlUm9vbUxlZnRPdXQgLjhzIGJvdGggZWFzZTtcclxuICAgIGFuaW1hdGlvbjogcm90YXRlUm9vbUxlZnRPdXQgLjhzIGJvdGggZWFzZTtcclxufVxyXG5cclxuLnB0LXBhZ2Utcm90YXRlUm9vbUxlZnRJbiB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAlIDUwJTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAlIDUwJTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiByb3RhdGVSb29tTGVmdEluIC44cyBib3RoIGVhc2U7XHJcbiAgICBhbmltYXRpb246IHJvdGF0ZVJvb21MZWZ0SW4gLjhzIGJvdGggZWFzZTtcclxufVxyXG5cclxuLnB0LXBhZ2Utcm90YXRlUm9vbVJpZ2h0T3V0IHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHJvdGF0ZVJvb21SaWdodE91dCAuOHMgYm90aCBlYXNlO1xyXG4gICAgYW5pbWF0aW9uOiByb3RhdGVSb29tUmlnaHRPdXQgLjhzIGJvdGggZWFzZTtcclxufVxyXG5cclxuLnB0LXBhZ2Utcm90YXRlUm9vbVJpZ2h0SW4ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgNTAlO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHJvdGF0ZVJvb21SaWdodEluIC44cyBib3RoIGVhc2U7XHJcbiAgICBhbmltYXRpb246IHJvdGF0ZVJvb21SaWdodEluIC44cyBib3RoIGVhc2U7XHJcbn1cclxuXHJcbi5wdC1wYWdlLXJvdGF0ZVJvb21Ub3BPdXQge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHJvdGF0ZVJvb21Ub3BPdXQgLjhzIGJvdGggZWFzZTtcclxuICAgIGFuaW1hdGlvbjogcm90YXRlUm9vbVRvcE91dCAuOHMgYm90aCBlYXNlO1xyXG59XHJcblxyXG4ucHQtcGFnZS1yb3RhdGVSb29tVG9wSW4ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMCU7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMCU7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogcm90YXRlUm9vbVRvcEluIC44cyBib3RoIGVhc2U7XHJcbiAgICBhbmltYXRpb246IHJvdGF0ZVJvb21Ub3BJbiAuOHMgYm90aCBlYXNlO1xyXG59XHJcblxyXG4ucHQtcGFnZS1yb3RhdGVSb29tQm90dG9tT3V0IHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDAlO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDAlO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHJvdGF0ZVJvb21Cb3R0b21PdXQgLjhzIGJvdGggZWFzZTtcclxuICAgIGFuaW1hdGlvbjogcm90YXRlUm9vbUJvdHRvbU91dCAuOHMgYm90aCBlYXNlO1xyXG59XHJcblxyXG4ucHQtcGFnZS1yb3RhdGVSb29tQm90dG9tSW4ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHJvdGF0ZVJvb21Cb3R0b21JbiAuOHMgYm90aCBlYXNlO1xyXG4gICAgYW5pbWF0aW9uOiByb3RhdGVSb29tQm90dG9tSW4gLjhzIGJvdGggZWFzZTtcclxufVxyXG5cclxuXHJcbi8qIGN1YmUgKi9cclxuXHJcbi5wdC1wYWdlLXJvdGF0ZUN1YmVMZWZ0T3V0IHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiByb3RhdGVDdWJlTGVmdE91dCAuNnMgYm90aCBlYXNlLWluO1xyXG4gICAgYW5pbWF0aW9uOiByb3RhdGVDdWJlTGVmdE91dCAuNnMgYm90aCBlYXNlLWluO1xyXG59XHJcblxyXG4ucHQtcGFnZS1yb3RhdGVDdWJlTGVmdEluIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHJvdGF0ZUN1YmVMZWZ0SW4gLjZzIGJvdGggZWFzZS1pbjtcclxuICAgIGFuaW1hdGlvbjogcm90YXRlQ3ViZUxlZnRJbiAuNnMgYm90aCBlYXNlLWluO1xyXG59XHJcblxyXG4ucHQtcGFnZS1yb3RhdGVDdWJlUmlnaHRPdXQge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwJSA1MCU7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwJSA1MCU7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogcm90YXRlQ3ViZVJpZ2h0T3V0IC42cyBib3RoIGVhc2UtaW47XHJcbiAgICBhbmltYXRpb246IHJvdGF0ZUN1YmVSaWdodE91dCAuNnMgYm90aCBlYXNlLWluO1xyXG59XHJcblxyXG4ucHQtcGFnZS1yb3RhdGVDdWJlUmlnaHRJbiB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgNTAlO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogcm90YXRlQ3ViZVJpZ2h0SW4gLjZzIGJvdGggZWFzZS1pbjtcclxuICAgIGFuaW1hdGlvbjogcm90YXRlQ3ViZVJpZ2h0SW4gLjZzIGJvdGggZWFzZS1pbjtcclxufVxyXG5cclxuLnB0LXBhZ2Utcm90YXRlQ3ViZVRvcE91dCB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogcm90YXRlQ3ViZVRvcE91dCAuNnMgYm90aCBlYXNlLWluO1xyXG4gICAgYW5pbWF0aW9uOiByb3RhdGVDdWJlVG9wT3V0IC42cyBib3RoIGVhc2UtaW47XHJcbn1cclxuXHJcbi5wdC1wYWdlLXJvdGF0ZUN1YmVUb3BJbiB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSAwJTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAwJTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiByb3RhdGVDdWJlVG9wSW4gLjZzIGJvdGggZWFzZS1pbjtcclxuICAgIGFuaW1hdGlvbjogcm90YXRlQ3ViZVRvcEluIC42cyBib3RoIGVhc2UtaW47XHJcbn1cclxuXHJcbi5wdC1wYWdlLXJvdGF0ZUN1YmVCb3R0b21PdXQge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMCU7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMCU7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogcm90YXRlQ3ViZUJvdHRvbU91dCAuNnMgYm90aCBlYXNlLWluO1xyXG4gICAgYW5pbWF0aW9uOiByb3RhdGVDdWJlQm90dG9tT3V0IC42cyBib3RoIGVhc2UtaW47XHJcbn1cclxuXHJcbi5wdC1wYWdlLXJvdGF0ZUN1YmVCb3R0b21JbiB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogcm90YXRlQ3ViZUJvdHRvbUluIC42cyBib3RoIGVhc2UtaW47XHJcbiAgICBhbmltYXRpb246IHJvdGF0ZUN1YmVCb3R0b21JbiAuNnMgYm90aCBlYXNlLWluO1xyXG59XHJcblxyXG5cclxuLyogY2Fyb3VzZWwgKi9cclxuXHJcbi5wdC1wYWdlLXJvdGF0ZUNhcm91c2VsTGVmdE91dCB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgNTAlO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogcm90YXRlQ2Fyb3VzZWxMZWZ0T3V0IC44cyBib3RoIGVhc2U7XHJcbiAgICBhbmltYXRpb246IHJvdGF0ZUNhcm91c2VsTGVmdE91dCAuOHMgYm90aCBlYXNlO1xyXG59XHJcblxyXG4ucHQtcGFnZS1yb3RhdGVDYXJvdXNlbExlZnRJbiB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDAlIDUwJTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAlIDUwJTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiByb3RhdGVDYXJvdXNlbExlZnRJbiAuOHMgYm90aCBlYXNlO1xyXG4gICAgYW5pbWF0aW9uOiByb3RhdGVDYXJvdXNlbExlZnRJbiAuOHMgYm90aCBlYXNlO1xyXG59XHJcblxyXG4ucHQtcGFnZS1yb3RhdGVDYXJvdXNlbFJpZ2h0T3V0IHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHJvdGF0ZUNhcm91c2VsUmlnaHRPdXQgLjhzIGJvdGggZWFzZTtcclxuICAgIGFuaW1hdGlvbjogcm90YXRlQ2Fyb3VzZWxSaWdodE91dCAuOHMgYm90aCBlYXNlO1xyXG59XHJcblxyXG4ucHQtcGFnZS1yb3RhdGVDYXJvdXNlbFJpZ2h0SW4ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgNTAlO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHJvdGF0ZUNhcm91c2VsUmlnaHRJbiAuOHMgYm90aCBlYXNlO1xyXG4gICAgYW5pbWF0aW9uOiByb3RhdGVDYXJvdXNlbFJpZ2h0SW4gLjhzIGJvdGggZWFzZTtcclxufVxyXG5cclxuLnB0LXBhZ2Utcm90YXRlQ2Fyb3VzZWxUb3BPdXQge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHJvdGF0ZUNhcm91c2VsVG9wT3V0IC44cyBib3RoIGVhc2U7XHJcbiAgICBhbmltYXRpb246IHJvdGF0ZUNhcm91c2VsVG9wT3V0IC44cyBib3RoIGVhc2U7XHJcbn1cclxuXHJcbi5wdC1wYWdlLXJvdGF0ZUNhcm91c2VsVG9wSW4ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMCU7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMCU7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogcm90YXRlQ2Fyb3VzZWxUb3BJbiAuOHMgYm90aCBlYXNlO1xyXG4gICAgYW5pbWF0aW9uOiByb3RhdGVDYXJvdXNlbFRvcEluIC44cyBib3RoIGVhc2U7XHJcbn1cclxuXHJcbi5wdC1wYWdlLXJvdGF0ZUNhcm91c2VsQm90dG9tT3V0IHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDAlO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDAlO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHJvdGF0ZUNhcm91c2VsQm90dG9tT3V0IC44cyBib3RoIGVhc2U7XHJcbiAgICBhbmltYXRpb246IHJvdGF0ZUNhcm91c2VsQm90dG9tT3V0IC44cyBib3RoIGVhc2U7XHJcbn1cclxuXHJcbi5wdC1wYWdlLXJvdGF0ZUNhcm91c2VsQm90dG9tSW4ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlO1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb246IHJvdGF0ZUNhcm91c2VsQm90dG9tSW4gLjhzIGJvdGggZWFzZTtcclxuICAgIGFuaW1hdGlvbjogcm90YXRlQ2Fyb3VzZWxCb3R0b21JbiAuOHMgYm90aCBlYXNlO1xyXG59XHJcblxyXG5cclxuLyogc2lkZXMgKi9cclxuXHJcbi5wdC1wYWdlLXJvdGF0ZVNpZGVzT3V0IHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogLTUwJSA1MCU7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAtNTAlIDUwJTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiByb3RhdGVTaWRlc091dCAuNXMgYm90aCBlYXNlLWluO1xyXG4gICAgYW5pbWF0aW9uOiByb3RhdGVTaWRlc091dCAuNXMgYm90aCBlYXNlLWluO1xyXG59XHJcblxyXG4ucHQtcGFnZS1yb3RhdGVTaWRlc0luIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTUwJSA1MCU7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxNTAlIDUwJTtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiByb3RhdGVTaWRlc0luIC41cyBib3RoIGVhc2Utb3V0O1xyXG4gICAgYW5pbWF0aW9uOiByb3RhdGVTaWRlc0luIC41cyBib3RoIGVhc2Utb3V0O1xyXG59XHJcblxyXG5cclxuLyogc2xpZGUgKi9cclxuXHJcbi5wdC1wYWdlLXJvdGF0ZVNsaWRlT3V0IHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uOiByb3RhdGVTbGlkZU91dCAxcyBib3RoIGVhc2U7XHJcbiAgICBhbmltYXRpb246IHJvdGF0ZVNsaWRlT3V0IDFzIGJvdGggZWFzZTtcclxufVxyXG5cclxuLnB0LXBhZ2Utcm90YXRlU2xpZGVJbiB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogcm90YXRlU2xpZGVJbiAxcyBib3RoIGVhc2U7XHJcbiAgICBhbmltYXRpb246IHJvdGF0ZVNsaWRlSW4gMXMgYm90aCBlYXNlO1xyXG59XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBrZXlmcmFtZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cclxuLyogcm90YXRlIHNpZGVzIGZpcnN0IGFuZCBzY2FsZSAqL1xyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZVJpZ2h0U2lkZUZpcnN0IHtcclxuICAgIDAlIHt9XHJcbiAgICA0MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKDE1ZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAuODtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCkgdHJhbnNsYXRlWigtMjAwcHgpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm90YXRlUmlnaHRTaWRlRmlyc3Qge1xyXG4gICAgMCUge31cclxuICAgIDQwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoMTVkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgxNWRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogLjg7XHJcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpIHRyYW5zbGF0ZVooLTIwMHB4KTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCkgdHJhbnNsYXRlWigtMjAwcHgpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVMZWZ0U2lkZUZpcnN0IHtcclxuICAgIDAlIHt9XHJcbiAgICA0MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKC0xNWRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogLjg7XHJcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpIHRyYW5zbGF0ZVooLTIwMHB4KTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZUxlZnRTaWRlRmlyc3Qge1xyXG4gICAgMCUge31cclxuICAgIDQwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoLTE1ZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoLTE1ZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAuODtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCkgdHJhbnNsYXRlWigtMjAwcHgpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KSB0cmFuc2xhdGVaKC0yMDBweCk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZVRvcFNpZGVGaXJzdCB7XHJcbiAgICAwJSB7fVxyXG4gICAgNDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgxNWRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogLjg7XHJcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpIHRyYW5zbGF0ZVooLTIwMHB4KTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZVRvcFNpZGVGaXJzdCB7XHJcbiAgICAwJSB7fVxyXG4gICAgNDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgxNWRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDE1ZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAuODtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCkgdHJhbnNsYXRlWigtMjAwcHgpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KSB0cmFuc2xhdGVaKC0yMDBweCk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUJvdHRvbVNpZGVGaXJzdCB7XHJcbiAgICAwJSB7fVxyXG4gICAgNDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgtMTVkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IC44O1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC44KSB0cmFuc2xhdGVaKC0yMDBweCk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVCb3R0b21TaWRlRmlyc3Qge1xyXG4gICAgMCUge31cclxuICAgIDQwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoLTE1ZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoLTE1ZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAuODtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCkgdHJhbnNsYXRlWigtMjAwcHgpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KSB0cmFuc2xhdGVaKC0yMDBweCk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qIGZsaXAgKi9cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0UmlnaHQge1xyXG4gICAgZnJvbSB7fVxyXG4gICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKC0xMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDAuMjtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmbGlwT3V0UmlnaHQge1xyXG4gICAgZnJvbSB7fVxyXG4gICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKC0xMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigtMTAwMHB4KSByb3RhdGVZKDkwZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAwLjI7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5MZWZ0IHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKC0xMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAwLjI7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmxpcEluTGVmdCB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigtMTAwMHB4KSByb3RhdGVZKC05MGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKC0xMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAwLjI7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0TGVmdCB7XHJcbiAgICBmcm9tIHt9XHJcbiAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooLTEwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDAuMjtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmbGlwT3V0TGVmdCB7XHJcbiAgICBmcm9tIHt9XHJcbiAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooLTEwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigtMTAwMHB4KSByb3RhdGVZKC05MGRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMC4yO1xyXG4gICAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluUmlnaHQge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooLTEwMDBweCkgcm90YXRlWSg5MGRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMC4yO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZsaXBJblJpZ2h0IHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKC0xMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigtMTAwMHB4KSByb3RhdGVZKDkwZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAwLjI7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0VG9wIHtcclxuICAgIGZyb20ge31cclxuICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigtMTAwMHB4KSByb3RhdGVYKDkwZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAwLjI7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmxpcE91dFRvcCB7XHJcbiAgICBmcm9tIHt9XHJcbiAgICB0byB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooLTEwMDBweCkgcm90YXRlWCg5MGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKC0xMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDAuMjtcclxuICAgIH1cclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJbkJvdHRvbSB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigtMTAwMHB4KSByb3RhdGVYKC05MGRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMC4yO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZsaXBJbkJvdHRvbSB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigtMTAwMHB4KSByb3RhdGVYKC05MGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKC0xMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAwLjI7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0Qm90dG9tIHtcclxuICAgIGZyb20ge31cclxuICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigtMTAwMHB4KSByb3RhdGVYKC05MGRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMC4yO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZsaXBPdXRCb3R0b20ge1xyXG4gICAgZnJvbSB7fVxyXG4gICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKC0xMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooLTEwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDAuMjtcclxuICAgIH1cclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblRvcCB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigtMTAwMHB4KSByb3RhdGVYKDkwZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAwLjI7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmxpcEluVG9wIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKC0xMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigtMTAwMHB4KSByb3RhdGVYKDkwZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAwLjI7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiBmYWxsICovXHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlRmFsbCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVooMGRlZyk7XHJcbiAgICB9XHJcbiAgICAyMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVaKDEwZGVnKTtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gICAgfVxyXG4gICAgNDAlIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWigxN2RlZyk7XHJcbiAgICB9XHJcbiAgICA2MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVaKDE2ZGVnKTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpIHJvdGF0ZVooMTdkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZUZhbGwge1xyXG4gICAgMCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVaKDBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWigwZGVnKTtcclxuICAgIH1cclxuICAgIDIwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVooMTBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWigxMGRlZyk7XHJcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAgIH1cclxuICAgIDQwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVooMTdkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWigxN2RlZyk7XHJcbiAgICB9XHJcbiAgICA2MCUge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVaKDE2ZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMTZkZWcpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSkgcm90YXRlWigxN2RlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpIHJvdGF0ZVooMTdkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogbmV3c3BhcGVyICovXHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0TmV3c3BhcGVyIHtcclxuICAgIGZyb20ge31cclxuICAgIHRvIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigtMzAwMHB4KSByb3RhdGVaKDM2MGRlZyk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVPdXROZXdzcGFwZXIge1xyXG4gICAgZnJvbSB7fVxyXG4gICAgdG8ge1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKC0zMDAwcHgpIHJvdGF0ZVooMzYwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooLTMwMDBweCkgcm90YXRlWigzNjBkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbk5ld3NwYXBlciB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigtMzAwMHB4KSByb3RhdGVaKC0zNjBkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm90YXRlSW5OZXdzcGFwZXIge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooLTMwMDBweCkgcm90YXRlWigtMzYwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooLTMwMDBweCkgcm90YXRlWigtMzYwZGVnKTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogcHVzaCAqL1xyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZVB1c2hMZWZ0IHtcclxuICAgIGZyb20ge31cclxuICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKDkwZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVQdXNoTGVmdCB7XHJcbiAgICBmcm9tIHt9XHJcbiAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSg5MGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKDkwZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZVB1c2hSaWdodCB7XHJcbiAgICBmcm9tIHt9XHJcbiAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgtOTBkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZVB1c2hSaWdodCB7XHJcbiAgICBmcm9tIHt9XHJcbiAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgtOTBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgtOTBkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlUHVzaFRvcCB7XHJcbiAgICBmcm9tIHt9XHJcbiAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgtOTBkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZVB1c2hUb3Age1xyXG4gICAgZnJvbSB7fVxyXG4gICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoLTkwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoLTkwZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZVB1c2hCb3R0b20ge1xyXG4gICAgZnJvbSB7fVxyXG4gICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoOTBkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZVB1c2hCb3R0b20ge1xyXG4gICAgZnJvbSB7fVxyXG4gICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoOTBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCg5MGRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiBwdWxsICovXHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlUHVsbFJpZ2h0IHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoLTkwZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVQdWxsUmlnaHQge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgtOTBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgtOTBkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlUHVsbExlZnQge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSg5MGRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm90YXRlUHVsbExlZnQge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSg5MGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVZKDkwZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZVB1bGxUb3Age1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgtOTBkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZVB1bGxUb3Age1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgtOTBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgtOTBkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlUHVsbEJvdHRvbSB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKDkwZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVQdWxsQm90dG9tIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoOTBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCg5MGRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiBmb2xkICovXHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlRm9sZFJpZ2h0IHtcclxuICAgIGZyb20ge31cclxuICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHJvdGF0ZVkoOTBkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZUZvbGRSaWdodCB7XHJcbiAgICBmcm9tIHt9XHJcbiAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSByb3RhdGVZKDkwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlWSg5MGRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVGb2xkTGVmdCB7XHJcbiAgICBmcm9tIHt9XHJcbiAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlWSgtOTBkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZUZvbGRMZWZ0IHtcclxuICAgIGZyb20ge31cclxuICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGVZKC05MGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGVZKC05MGRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVGb2xkVG9wIHtcclxuICAgIGZyb20ge31cclxuICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKSByb3RhdGVYKDkwZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVGb2xkVG9wIHtcclxuICAgIGZyb20ge31cclxuICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKSByb3RhdGVYKDkwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpIHJvdGF0ZVgoOTBkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlRm9sZEJvdHRvbSB7XHJcbiAgICBmcm9tIHt9XHJcbiAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKSByb3RhdGVYKC05MGRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm90YXRlRm9sZEJvdHRvbSB7XHJcbiAgICBmcm9tIHt9XHJcbiAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKSByb3RhdGVYKC05MGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpIHJvdGF0ZVgoLTkwZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qIHVuZm9sZCAqL1xyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZVVuZm9sZExlZnQge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlWSgtOTBkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZVVuZm9sZExlZnQge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlWSgtOTBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlWSgtOTBkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlVW5mb2xkUmlnaHQge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSByb3RhdGVZKDkwZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVVbmZvbGRSaWdodCB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHJvdGF0ZVkoOTBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSByb3RhdGVZKDkwZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZVVuZm9sZFRvcCB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKSByb3RhdGVYKDkwZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVVbmZvbGRUb3Age1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSkgcm90YXRlWCg5MGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKSByb3RhdGVYKDkwZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZVVuZm9sZEJvdHRvbSB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpIHJvdGF0ZVgoLTkwZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVVbmZvbGRCb3R0b20ge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKSByb3RhdGVYKC05MGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpIHJvdGF0ZVgoLTkwZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qIHJvb20gd2FsbHMgKi9cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVSb29tTGVmdE91dCB7XHJcbiAgICBmcm9tIHt9XHJcbiAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogLjM7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHJvdGF0ZVkoOTBkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZVJvb21MZWZ0T3V0IHtcclxuICAgIGZyb20ge31cclxuICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAuMztcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlWSg5MGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGVZKDkwZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZVJvb21MZWZ0SW4ge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogLjM7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlWSgtOTBkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZVJvb21MZWZ0SW4ge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogLjM7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlWSgtOTBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSByb3RhdGVZKC05MGRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVSb29tUmlnaHRPdXQge1xyXG4gICAgZnJvbSB7fVxyXG4gICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IC4zO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHJvdGF0ZVkoLTkwZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVSb29tUmlnaHRPdXQge1xyXG4gICAgZnJvbSB7fVxyXG4gICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IC4zO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHJvdGF0ZVkoLTkwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlWSgtOTBkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlUm9vbVJpZ2h0SW4ge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogLjM7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHJvdGF0ZVkoOTBkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZVJvb21SaWdodEluIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IC4zO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGVZKDkwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHJvdGF0ZVkoOTBkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlUm9vbVRvcE91dCB7XHJcbiAgICBmcm9tIHt9XHJcbiAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogLjM7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpIHJvdGF0ZVgoLTkwZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVSb29tVG9wT3V0IHtcclxuICAgIGZyb20ge31cclxuICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAuMztcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSkgcm90YXRlWCgtOTBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSkgcm90YXRlWCgtOTBkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlUm9vbVRvcEluIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IC4zO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpIHJvdGF0ZVgoOTBkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZVJvb21Ub3BJbiB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAuMztcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKSByb3RhdGVYKDkwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSkgcm90YXRlWCg5MGRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVSb29tQm90dG9tT3V0IHtcclxuICAgIGZyb20ge31cclxuICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAuMztcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKSByb3RhdGVYKDkwZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVSb29tQm90dG9tT3V0IHtcclxuICAgIGZyb20ge31cclxuICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAuMztcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKSByb3RhdGVYKDkwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSkgcm90YXRlWCg5MGRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVSb29tQm90dG9tSW4ge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogLjM7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpIHJvdGF0ZVgoLTkwZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVSb29tQm90dG9tSW4ge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogLjM7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpIHJvdGF0ZVgoLTkwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpIHJvdGF0ZVgoLTkwZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qIGN1YmUgKi9cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVDdWJlTGVmdE91dCB7XHJcbiAgICAwJSB7fVxyXG4gICAgNTAlIHtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVooLTIwMHB4KSByb3RhdGVZKC00NWRlZyk7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAuMztcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlWSgtOTBkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZUN1YmVMZWZ0T3V0IHtcclxuICAgIDAlIHt9XHJcbiAgICA1MCUge1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWigtMjAwcHgpIHJvdGF0ZVkoLTQ1ZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWigtMjAwcHgpIHJvdGF0ZVkoLTQ1ZGVnKTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IC4zO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGVZKC05MGRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGVZKC05MGRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVDdWJlTGVmdEluIHtcclxuICAgIDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAuMztcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSByb3RhdGVZKDkwZGVnKTtcclxuICAgIH1cclxuICAgIDUwJSB7XHJcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpIHRyYW5zbGF0ZVooLTIwMHB4KSByb3RhdGVZKDQ1ZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVDdWJlTGVmdEluIHtcclxuICAgIDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAuMztcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSByb3RhdGVZKDkwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlWSg5MGRlZyk7XHJcbiAgICB9XHJcbiAgICA1MCUge1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKSB0cmFuc2xhdGVaKC0yMDBweCkgcm90YXRlWSg0NWRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSkgdHJhbnNsYXRlWigtMjAwcHgpIHJvdGF0ZVkoNDVkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlQ3ViZVJpZ2h0T3V0IHtcclxuICAgIDAlIHt9XHJcbiAgICA1MCUge1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKSB0cmFuc2xhdGVaKC0yMDBweCkgcm90YXRlWSg0NWRlZyk7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAuMztcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSByb3RhdGVZKDkwZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVDdWJlUmlnaHRPdXQge1xyXG4gICAgMCUge31cclxuICAgIDUwJSB7XHJcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpIHRyYW5zbGF0ZVooLTIwMHB4KSByb3RhdGVZKDQ1ZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKSB0cmFuc2xhdGVaKC0yMDBweCkgcm90YXRlWSg0NWRlZyk7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAuMztcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSByb3RhdGVZKDkwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlWSg5MGRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVDdWJlUmlnaHRJbiB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogLjM7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHJvdGF0ZVkoLTkwZGVnKTtcclxuICAgIH1cclxuICAgIDUwJSB7XHJcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVaKC0yMDBweCkgcm90YXRlWSgtNDVkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZUN1YmVSaWdodEluIHtcclxuICAgIDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAuMztcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlWSgtOTBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlWSgtOTBkZWcpO1xyXG4gICAgfVxyXG4gICAgNTAlIHtcclxuICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVooLTIwMHB4KSByb3RhdGVZKC00NWRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVooLTIwMHB4KSByb3RhdGVZKC00NWRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVDdWJlVG9wT3V0IHtcclxuICAgIDAlIHt9XHJcbiAgICA1MCUge1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWigtMjAwcHgpIHJvdGF0ZVgoNDVkZWcpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogLjM7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpIHJvdGF0ZVgoOTBkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZUN1YmVUb3BPdXQge1xyXG4gICAgMCUge31cclxuICAgIDUwJSB7XHJcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVaKC0yMDBweCkgcm90YXRlWCg0NWRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVooLTIwMHB4KSByb3RhdGVYKDQ1ZGVnKTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IC4zO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKSByb3RhdGVYKDkwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpIHJvdGF0ZVgoOTBkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlQ3ViZVRvcEluIHtcclxuICAgIDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAuMztcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKSByb3RhdGVYKC05MGRlZyk7XHJcbiAgICB9XHJcbiAgICA1MCUge1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKSB0cmFuc2xhdGVaKC0yMDBweCkgcm90YXRlWCgtNDVkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZUN1YmVUb3BJbiB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogLjM7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSkgcm90YXRlWCgtOTBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKSByb3RhdGVYKC05MGRlZyk7XHJcbiAgICB9XHJcbiAgICA1MCUge1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKSB0cmFuc2xhdGVaKC0yMDBweCkgcm90YXRlWCgtNDVkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpIHRyYW5zbGF0ZVooLTIwMHB4KSByb3RhdGVYKC00NWRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVDdWJlQm90dG9tT3V0IHtcclxuICAgIDAlIHt9XHJcbiAgICA1MCUge1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKSB0cmFuc2xhdGVaKC0yMDBweCkgcm90YXRlWCgtNDVkZWcpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogLjM7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSkgcm90YXRlWCgtOTBkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZUN1YmVCb3R0b21PdXQge1xyXG4gICAgMCUge31cclxuICAgIDUwJSB7XHJcbiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpIHRyYW5zbGF0ZVooLTIwMHB4KSByb3RhdGVYKC00NWRlZyk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSkgdHJhbnNsYXRlWigtMjAwcHgpIHJvdGF0ZVgoLTQ1ZGVnKTtcclxuICAgIH1cclxuICAgIDEwMCUge1xyXG4gICAgICAgIG9wYWNpdHk6IC4zO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpIHJvdGF0ZVgoLTkwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSkgcm90YXRlWCgtOTBkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlQ3ViZUJvdHRvbUluIHtcclxuICAgIDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAuMztcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSkgcm90YXRlWCg5MGRlZyk7XHJcbiAgICB9XHJcbiAgICA1MCUge1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWigtMjAwcHgpIHJvdGF0ZVgoNDVkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZUN1YmVCb3R0b21JbiB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogLjM7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpIHJvdGF0ZVgoOTBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSkgcm90YXRlWCg5MGRlZyk7XHJcbiAgICB9XHJcbiAgICA1MCUge1xyXG4gICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWigtMjAwcHgpIHJvdGF0ZVgoNDVkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVaKC0yMDBweCkgcm90YXRlWCg0NWRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiBjYXJvdXNlbCAqL1xyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUNhcm91c2VsTGVmdE91dCB7XHJcbiAgICBmcm9tIHt9XHJcbiAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogLjM7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE1MCUpIHNjYWxlKC40KSByb3RhdGVZKC02NWRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm90YXRlQ2Fyb3VzZWxMZWZ0T3V0IHtcclxuICAgIGZyb20ge31cclxuICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAuMztcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUwJSkgc2NhbGUoLjQpIHJvdGF0ZVkoLTY1ZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE1MCUpIHNjYWxlKC40KSByb3RhdGVZKC02NWRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVDYXJvdXNlbExlZnRJbiB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAuMztcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAlKSBzY2FsZSguNCkgcm90YXRlWSg2NWRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm90YXRlQ2Fyb3VzZWxMZWZ0SW4ge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogLjM7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwJSkgc2NhbGUoLjQpIHJvdGF0ZVkoNjVkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAlKSBzY2FsZSguNCkgcm90YXRlWSg2NWRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVDYXJvdXNlbFJpZ2h0T3V0IHtcclxuICAgIGZyb20ge31cclxuICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAuMztcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAlKSBzY2FsZSguNCkgcm90YXRlWSg2NWRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm90YXRlQ2Fyb3VzZWxSaWdodE91dCB7XHJcbiAgICBmcm9tIHt9XHJcbiAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogLjM7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwJSkgc2NhbGUoLjQpIHJvdGF0ZVkoNjVkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAlKSBzY2FsZSguNCkgcm90YXRlWSg2NWRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVDYXJvdXNlbFJpZ2h0SW4ge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogLjM7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMCUpIHNjYWxlKC40KSByb3RhdGVZKC02NWRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm90YXRlQ2Fyb3VzZWxSaWdodEluIHtcclxuICAgIGZyb20ge1xyXG4gICAgICAgIG9wYWNpdHk6IC4zO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAlKSBzY2FsZSguNCkgcm90YXRlWSgtNjVkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwJSkgc2NhbGUoLjQpIHJvdGF0ZVkoLTY1ZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUNhcm91c2VsVG9wT3V0IHtcclxuICAgIGZyb20ge31cclxuICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAuMztcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwJSkgc2NhbGUoLjQpIHJvdGF0ZVgoNjVkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZUNhcm91c2VsVG9wT3V0IHtcclxuICAgIGZyb20ge31cclxuICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAuMztcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwJSkgc2NhbGUoLjQpIHJvdGF0ZVgoNjVkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwJSkgc2NhbGUoLjQpIHJvdGF0ZVgoNjVkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlQ2Fyb3VzZWxUb3BJbiB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAuMztcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAlKSBzY2FsZSguNCkgcm90YXRlWCgtNjVkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZUNhcm91c2VsVG9wSW4ge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogLjM7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwJSkgc2NhbGUoLjQpIHJvdGF0ZVgoLTY1ZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwJSkgc2NhbGUoLjQpIHJvdGF0ZVgoLTY1ZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUNhcm91c2VsQm90dG9tT3V0IHtcclxuICAgIGZyb20ge31cclxuICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAuMztcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAlKSBzY2FsZSguNCkgcm90YXRlWCgtNjVkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZUNhcm91c2VsQm90dG9tT3V0IHtcclxuICAgIGZyb20ge31cclxuICAgIHRvIHtcclxuICAgICAgICBvcGFjaXR5OiAuMztcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAlKSBzY2FsZSguNCkgcm90YXRlWCgtNjVkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAlKSBzY2FsZSguNCkgcm90YXRlWCgtNjVkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlQ2Fyb3VzZWxCb3R0b21JbiB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAuMztcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwJSkgc2NhbGUoLjQpIHJvdGF0ZVgoNjVkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZUNhcm91c2VsQm90dG9tSW4ge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogLjM7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMCUpIHNjYWxlKC40KSByb3RhdGVYKDY1ZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMCUpIHNjYWxlKC40KSByb3RhdGVYKDY1ZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qIHNpZGVzICovXHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlU2lkZXNPdXQge1xyXG4gICAgZnJvbSB7fVxyXG4gICAgdG8ge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooLTUwMHB4KSByb3RhdGVZKDkwZGVnKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyByb3RhdGVTaWRlc091dCB7XHJcbiAgICBmcm9tIHt9XHJcbiAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigtNTAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigtNTAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlU2lkZXNJbiB7XHJcbiAgICBmcm9tIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKC01MDBweCkgcm90YXRlWSgtOTBkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZVNpZGVzSW4ge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigtNTAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooLTUwMHB4KSByb3RhdGVZKC05MGRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiBzbGlkZSAqL1xyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZVNsaWRlT3V0IHtcclxuICAgIDAlIHt9XHJcbiAgICAyNSUge1xyXG4gICAgICAgIG9wYWNpdHk6IC41O1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKC01MDBweCk7XHJcbiAgICB9XHJcbiAgICA3NSUge1xyXG4gICAgICAgIG9wYWNpdHk6IC41O1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKC01MDBweCkgdHJhbnNsYXRlWCgtMjAwJSk7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAuNTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigtNTAwcHgpIHRyYW5zbGF0ZVgoLTIwMCUpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZVNsaWRlT3V0IHtcclxuICAgIDAlIHt9XHJcbiAgICAyNSUge1xyXG4gICAgICAgIG9wYWNpdHk6IC41O1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKC01MDBweCk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKC01MDBweCk7XHJcbiAgICB9XHJcbiAgICA3NSUge1xyXG4gICAgICAgIG9wYWNpdHk6IC41O1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKC01MDBweCkgdHJhbnNsYXRlWCgtMjAwJSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKC01MDBweCkgdHJhbnNsYXRlWCgtMjAwJSk7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAuNTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigtNTAwcHgpIHRyYW5zbGF0ZVgoLTIwMCUpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigtNTAwcHgpIHRyYW5zbGF0ZVgoLTIwMCUpO1xyXG4gICAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlU2xpZGVJbiB7XHJcbiAgICAwJSxcclxuICAgIDI1JSB7XHJcbiAgICAgICAgb3BhY2l0eTogLjU7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooLTUwMHB4KSB0cmFuc2xhdGVYKDIwMCUpO1xyXG4gICAgfVxyXG4gICAgNzUlIHtcclxuICAgICAgICBvcGFjaXR5OiAuNTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigtNTAwcHgpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSB0cmFuc2xhdGVYKDApO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZVNsaWRlSW4ge1xyXG4gICAgMCUsXHJcbiAgICAyNSUge1xyXG4gICAgICAgIG9wYWNpdHk6IC41O1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKC01MDBweCkgdHJhbnNsYXRlWCgyMDAlKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooLTUwMHB4KSB0cmFuc2xhdGVYKDIwMCUpO1xyXG4gICAgfVxyXG4gICAgNzUlIHtcclxuICAgICAgICBvcGFjaXR5OiAuNTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigtNTAwcHgpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigtNTAwcHgpO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSB0cmFuc2xhdGVYKDApO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKSB0cmFuc2xhdGVYKDApO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogYW5pbWF0aW9uIGRlbGF5IGNsYXNzZXMgKi9cclxuXHJcbi5wdC1wYWdlLWRlbGF5MTAwIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAuMXM7XHJcbiAgICBhbmltYXRpb24tZGVsYXk6IC4xcztcclxufVxyXG5cclxuLnB0LXBhZ2UtZGVsYXkxODAge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC4xODBzO1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiAuMTgwcztcclxufVxyXG5cclxuLnB0LXBhZ2UtZGVsYXkyMDAge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC4ycztcclxuICAgIGFuaW1hdGlvbi1kZWxheTogLjJzO1xyXG59XHJcblxyXG4ucHQtcGFnZS1kZWxheTMwMCB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLjNzO1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiAuM3M7XHJcbn1cclxuXHJcbi5wdC1wYWdlLWRlbGF5NDAwIHtcclxuICAgIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAuNHM7XHJcbiAgICBhbmltYXRpb24tZGVsYXk6IC40cztcclxufVxyXG5cclxuLnB0LXBhZ2UtZGVsYXk1MDAge1xyXG4gICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC41cztcclxuICAgIGFuaW1hdGlvbi1kZWxheTogLjVzO1xyXG59XHJcblxyXG4ucHQtcGFnZS1kZWxheTcwMCB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLjdzO1xyXG4gICAgYW5pbWF0aW9uLWRlbGF5OiAuN3M7XHJcbn1cclxuXHJcbi5wdC1wYWdlLWRlbGF5MTAwMCB7XHJcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMXM7XHJcbiAgICBhbmltYXRpb24tZGVsYXk6IDFzO1xyXG59IiwiXHJcblxyXG4ucHQtd3JhcHBlciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEyMDBweDtcclxuICAgIC1tb3otcGVyc3BlY3RpdmU6IDEyMDBweDtcclxuICAgIHBlcnNwZWN0aXZlOiAxMjAwcHg7XHJcbn1cclxuXHJcbi5wdC1wZXJzcGVjdGl2ZSB7XHJcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEyMDBweDtcclxuICAgIC1tb3otcGVyc3BlY3RpdmU6IDEyMDBweDtcclxuICAgIHBlcnNwZWN0aXZlOiAxMjAwcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4ucHQtcGFnZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XHJcbiAgICAtbW96LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XHJcbiAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xyXG4gICAgbWF4LWhlaWdodDogMTAwdmg7XHJcbn1cclxuXHJcbi5wdC1wYWdlLWN1cnJlbnQsXHJcbi5uby1qcyAucHQtcGFnZSB7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgei1pbmRleDogMTtcclxufVxyXG5cclxuLm5vLWpzIGJvZHkge1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbi5wdC1wYWdlLW9udG9wIHtcclxuICAgIHotaW5kZXg6IDk5OTtcclxufSIsIi5wb3J0Zm9saW8tc2VjdGlvbi1sZWZ0IHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xyXG59XHJcblxyXG4ucG9ydGZvbGlvLXNlY3Rpb24ge1xyXG4gICAgaGVpZ2h0OjEwMCU7XHJcbn1cclxuXHJcbi5vdXItd29yay1jb250YWluZXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTUlO1xyXG59XHJcblxyXG4ucHJvamVjdC12aWRlby1zaG93Y2FzZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMDExYTM0IDAlLCAjMDA2NjkzIDEwMCUpO1xyXG5cclxuICAgIGlmcmFtZSB7XHJcbiAgICAgICAgaGVpZ2h0OiAzNjBweDtcclxuXHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogNDgwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubW9kYWwtb3BlbiAubW9kYWwge1xyXG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcbi52ZXJ0aWNhbC1hbGlnbm1lbnQtaGVscGVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICB9XHJcbn1cclxuLm1vZGFsLWRpYWxvZy52ZXJ0aWNhbC1hbGlnbi1jZW50ZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4O1xyXG4gICAgfVxyXG59XHJcbi5wcm9qZWN0LWxpbms6aG92ZXIge1xyXG4gICAgKntcclxuICAgICAgICBjb2xvcjogI0UwNTA1NDtcclxuICAgIH1cclxufVxyXG5cclxuLnN0b3J5LXNlY3Rpb24ge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4ubW9kYWwtaGVhZGVyIHtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICBib3JkZXI6IDA7XHJcbn1cclxuLnBvcnRmb2xpby1sb2dve1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xyXG4gICAgICAgIHdpZHRoOiA2NSU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wb3J0Zm9saW8ge1xyXG4gICAgLnJvdyB7XHJcblxyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0KSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY29udGVudCB7XHJcbiAgICBoMSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcclxuXHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDQuOHJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAwLjllbTtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnBvcnRmb2xpby1wYW5lbCB7XHJcbiAgICBoMSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcclxuXHJcblxyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDJlbTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE0NDBweCkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDQuOHJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMC44ZW07XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcclxuXHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45ZW07XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnBhbmVsLXByZXZpb3VzIHtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICBoZWlnaHQ6IDUwJTtcclxuXHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wYW5lbC1uZXh0IHtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICBoZWlnaHQ6IDUwJTtcclxuICAgIFxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG59IiwiLm5ld3MtaXRlbSB7XHJcbiAgICBoMiB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5pbmZvIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi5yZWFkLWFydGljbGUge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDEwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG4gICAgbWFyZ2luOiAxZW0gMCAxZW07XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcblxyXG5cclxuLm5ld3MtaXRlbSB7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLmFydGljbGUtY29udGFpbmVyIHtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uZmVhdHVyZWQtaW1hZ2UtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uZmVhdHVyZS1pbWFnZS1jb250YWluZXIge1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuXHJcbiAgICBpbWcge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgIH1cclxufVxyXG5cclxuLmZlYXR1cmVkLWltYWdlIHtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHdpZHRoOiA3MCU7XHJcbn1cclxuXHJcbi5uZXdzLWFydGljbGUtaGVhZGVyIHtcclxuICAgIHBhZGRpbmc6IDIwcHggMHB4O1xyXG4gICAgXHJcbiAgICBoMiB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICAgICAgICB3aWR0aDogNzAlO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG4gICAgLmF1dGhvciB7XHJcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIH1cclxufVxyXG5cclxuLmFydGljbGUtaW50cm8ge1xyXG4gICAgd2lkdGg6IDg1JTtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyAgICBcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi5hcnRpY2xlLWNvbnRlbnQge1xyXG4gICAgd2lkdGg6IDg1JTtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxuLnBhZ2luYXRpb24+bGk+YSwgLnBhZ2luYXRpb24+bGk+c3BhbiB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHBhZGRpbmc6IDZweCAxMnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7XHJcbiAgICBjb2xvcjogIzMzN2FiNztcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAxMDIsIDE0NywgMC45KTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbn1cclxuXHJcbi5wYWdpbmF0aW9uPi5hY3RpdmU+YSwgLnBhZ2luYXRpb24+LmFjdGl2ZT5hOmZvY3VzLCAucGFnaW5hdGlvbj4uYWN0aXZlPmE6aG92ZXIsIC5wYWdpbmF0aW9uPi5hY3RpdmU+c3BhbiwgLnBhZ2luYXRpb24+LmFjdGl2ZT5zcGFuOmZvY3VzLCAucGFnaW5hdGlvbj4uYWN0aXZlPnNwYW46aG92ZXIge1xyXG4gICAgei1pbmRleDogMztcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xyXG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDEwMiwgMTQ3LCAwLjkpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxufVxyXG5cclxuLnBhZ2luYXRpb24+bGk+YTpmb2N1cywgLnBhZ2luYXRpb24+bGk+YTpob3ZlciwgLnBhZ2luYXRpb24+bGk+c3Bhbjpmb2N1cywgLnBhZ2luYXRpb24+bGk+c3Bhbjpob3ZlciB7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XHJcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMTAyLCAxNDcsIDAuOSk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5wYWdpbmF0aW9uPmxpOmZpcnN0LWNoaWxkPmEsIC5wYWdpbmF0aW9uPmxpOmZpcnN0LWNoaWxkPnNwYW4ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbn1cclxuXHJcbi5wYWdpbmF0aW9uPmxpOmxhc3QtY2hpbGQ+YSwgLnBhZ2luYXRpb24+bGk6bGFzdC1jaGlsZD5zcGFuIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbn1cclxuXHJcbi5iYWNrLWJ1dHRvbi5jb250YWluZXIge1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1JTtcclxufVxyXG5cclxuLmpzQmFjayAuZmEge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtc2l6ZTogMS41ZW07XHJcbn0iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFDQUEsNkJBQTZCO0FBRzdCLG1CQUFtQjtBQUduQiw0QkFBNEI7QUFFNUIsQUFBUyxRQUFELENBQUMsR0FBRyxBQUFBLFVBQVUsQ0FBQztFQUNuQixRQUFRLEVBQUUsS0FBSztFQUNmLElBQUksRUFBRSxDQUFDO0VBQ1AsR0FBRyxFQUFFLENBQUM7RUFDTixPQUFPLEVBQUUsYUFBYTtFQUN0QixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osUUFBUSxFQUFFLE9BQU87RUFDakIsVUFBVSxFQUFFLElBQUk7RUFDaEIsT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsTUFBTTtFQUN0QixXQUFXLEVBQUUsTUFBTTtFQUNuQixlQUFlLEVBQUUsTUFBTTtDQUMxQjs7QUFFRCxBQUFBLFlBQVksQ0FBQztFQUNULEtBQUssRUFBRSxLQUFLO0VBQ1osU0FBUyxFQUFFLDJCQUEyQjtDQWlCekM7O0FBZEcsVUFBVSxDQUFWLE1BQVU7RUFDTixBQUFBLElBQUk7SUFDQSxLQUFLLEVBQUUsS0FBSztJQUNaLFNBQVMsRUFBRSxZQUFZOztFQUUzQixBQUFBLEdBQUc7SUFDQyxLQUFLLEVBQUUsSUFBSTtJQUNYLFNBQVMsRUFBRSxjQUFjOztFQUU3QixBQUFBLEVBQUU7SUFDRSxLQUFL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 */
