.careers-department .careers-landing-maxWidth {
  position: relative;
}

.careers-department-title {
  display: block;
  position: absolute;
  left: 35px;
  color: #FFFFFF;
  color: var(--cx-color-white);
  text-align: center;
  font-size: 22px;
  transform: rotate(-90deg) translateX(-50%);
  transform-origin: left center;
  z-index: 2;
}

.careers-landing-hero {
  background-color: #000000;
  background-color: var(--cx-color-black);
}

.careers-splitDepartment:first-child {
    flex: 0 0 30%;
  }

.careers-splitDepartment:last-child {
    flex: 0 0 70%;
    margin-top: 60px;
  }

.careers-department-slidesOuter {
  position: relative;
}

.careers-department-slides {
  position: relative;
  transition: height 0.6s ease-out;
}

.careers-department-slide {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  z-index: 0;
  pointer-events: none;
}

.careers-department-slide.slide-active {
    position: relative;
    z-index: 2;
    opacity: 1;
  }

#controls-department {
  position: absolute;
  top: 370px;
  left: 0;
  width: 105px;
  z-index: 3;
}

#controls-department .slider-hover {
    position: absolute;
    top: 10px;
    left: calc(100% + 20px);
    font-size: 18px;
    opacity: 0;
    transition: opacity 0.3s ease-out;
  }

/* Desktop only */

@media screen and (min-width: 900px) {
    #controls-department .slider-prev:hover + .slider-prev-hover,
    #controls-department .slider-next:hover + .slider-next-hover {
      opacity: 1;
    }
  }

#careers-selector-eng {
  position: absolute;
  /* Optical adjustment */
  top: -5px;
  right: 0;
  width: 50%;
  transition: color 0.2s ease-out;
}

#careers-selector-eng .careers-selector-current {
    color: #FFFFFF;
    color: var(--cx-color-white);
    background-color: #000000;
    background-color: var(--cx-color-black);
    box-shadow: 2px 2px 8px 2px rgba(255, 255, 255, 0.1);

  }

#careers-selector-eng .careers-selector-options {
    background-color: #333333;
    background-color: var(--cx-color-grey100);
    box-shadow: 2px 2px 8px 2px rgba(255, 255, 255, 0.1);
  }

#careers-selector-eng .careers-selector-options li {

  }

#careers-selector-eng .careers-selector-options li:hover {
    color: #FFFFFF;
    color: var(--cx-color-white);
  }

#careers-selector-eng .arrowDown,
  #careers-selector-eng .arrowDown:before,
  #careers-selector-eng .arrowDown:after {
    background-color: #FFFFFF;
    background-color: var(--cx-color-white);
  }

#careers-selector-eng.active .careers-selector-current {
    background-color: #333333;
    background-color: var(--cx-color-grey100);
  }

@media screen and (max-width: 900px) {
  #careers-selector-eng {
    position: relative;
    top: 0;
    right: 0;
    width: 100%;
    margin-bottom: 40px;
  }

  .careers-department .careers-landing-memo.center {
    text-align: center;
  }
}

/* Animation */

.mask-department {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background: #F4F4F4;
  background: var(--cx-color-backgroundAccent);
  z-index: 3;
  transition: 0.5s ease-out;
}

.slide-fade {
  opacity: 1;
  transform: none;
}

.slides-movingIn .mask-department {
    width: 100%;
  }

.slides-movingIn .slide-fade {
    -webkit-animation: slideFadeOut 0.3s ease-in-out both;
            animation: slideFadeOut 0.3s ease-in-out both;
  }

.slides-movingOut .mask-department {
    right: 0;
    left: initial;
    width: 0;
  }

.slides-movingOut .slide-fade {
    -webkit-animation: slideFadeIn 0.4s ease-in-out both;
            animation: slideFadeIn 0.4s ease-in-out both;
  }

@-webkit-keyframes slideFadeOut {
  0% {
    transform: none;
    opacity: 1;
  }

  100% {
    transform: translateY(-10px);
    opacity: 0;
  }
}

@keyframes slideFadeOut {
  0% {
    transform: none;
    opacity: 1;
  }

  100% {
    transform: translateY(-10px);
    opacity: 0;
  }
}

@-webkit-keyframes slideFadeIn {
  0% {
    transform: translateY(30px);
    opacity: 0;
  }

  100% {
    transform: none;
    opacity: 1;
  }
}

@keyframes slideFadeIn {
  0% {
    transform: translateY(30px);
    opacity: 0;
  }

  100% {
    transform: none;
    opacity: 1;
  }
}

@media screen and (max-width: 1400px) {
  #controls-department {
    top: 25vw;
  }
}

@media screen and (max-width: 900px) {
  .careers-department-title {
    display: none;
  }

  .careers-splitDepartment:last-child {
    margin-top: -20px;
  }

  .careers-department .careers-landing-memo {
    margin-top: 0;
    text-align: left;
  }

  .careers-department .careers-panel-description {
    padding-right: 0;
  }

  #controls-department {
    top: -75px;
    right: calc(50% - 200px);
    left: initial;
    margin: 0;
    overflow: hidden;
  }
}

@media screen and (max-width: 440px) {
  #controls-department {
    right: 0;
  }
}

.careers-job .careers-landing-heroDescription {
  margin-bottom: 10px;
}

.careers-panel-text.careers-panel-job {
  margin: -140px auto 100px auto;
}

.careers-panel-text.careers-panel-job hr {
    margin: 0 0 20px;
  }

.careers-panel-text.careers-panel-job .careers-panel-jobInfo {
    font-size: 24px;
  }

.careers-panel-text.careers-panel-job .careers-panel-jobHeading {
    margin: 0 0 5px;
  }

.careers-job-aside {
  padding: 60px 80px;
  margin-bottom: 80px;
}

.careers-job-aside .careers-job-aside-inner {
    display: block;
    margin: 0 auto;
    max-width: 500px;
  }

.careers-job-aside .careers-job-aside-memo {
    margin-bottom: 40px;
    line-height: 1.2em;
  }

.careers-job-description {
  padding-right: 60px;
  line-height: 1.6em;
}

.careers-job-description a {
    display: inline-block;
    border-bottom: 1px solid #000000;
    border-bottom: 1px solid var(--cx-color-black);
  }

.careers-job-description li {
    margin-bottom: 5px;
  }

.careers-job-description h2 {
    font-size: 24px !important;
  }

.careers-sliderMaskShort.careers-job-slider {
  width: calc(100% + 120px);
  margin-left: -120px;
}

.careers-greenHouseForm iframe {
  border: none;
  width: 100%;
  height: 680px;
}

#apply-now-scroll {
  position: absolute;
  bottom: -35px;
  left: 80px;
  width: 300px;
}

/* Desktop */

@media screen and (min-width: 900px) {
  .careers-job-description > p:first-of-type {
    margin-top: 0;
  }
}

/* Tablet */

@media screen and (max-width: 1280px) and (min-width: 901px) {
  .careers-job-aside {
    padding: 40px 0 0 60px;
  }
}

/* Mobile */

@media screen and (max-width: 900px) {
  .careers-job-description {
    padding-right: 0;
  }

  .careers-panel-text.careers-panel-job {
    width: 100%;
    margin-left: 0;
  }

    .careers-panel-text.careers-panel-job .careers-panel-jobHeading {
      margin: 0 0 5px;
    }

    .careers-panel-text.careers-panel-job hr {
      display: none;
    }

  .careers-panel-jobInfo {
    margin-bottom: 20px;
  }

  .careers-job-aside {
    padding: 0;
    margin-bottom: 0;
  }

  .careers-panel-job .careers-split {
    text-align: left;
  }

  .careers-job-description li {
    font-size: 14px;
    line-height: 1.6em;
  }
}

.careers-all .careers-grid {
  margin-bottom: 90px;
}

.careers-all .careers-grid .careers-grid-item .careers-grid-itemSubtitle {
    margin: 0 0 30px;
  }

.careers-all .careers-grid .careers-grid-item .careers-grid-itemTitle {
    margin: 25px 0 5px;
    font-size: 24px;
  }

.careers-allJobs-group {
  margin-top: 20px;
}

.careers-allJobs-departmentName {
  margin-bottom: 30px;
  border-bottom: 2px solid #000000;
  border-bottom: 2px solid var(--cx-color-black);
  padding-bottom: 35px;
}

.careers-allJobs-job.u-displayNone {
  display: none;
}

.careers-allJobs-dropdowns {
  position: absolute;
  bottom: -35px;
  left: calc(50% - 585px);
  width: 100%;
  z-index: 3;
}

/* Selector Styles */

.careers-selector {
  position: relative;
  width: calc(100% - 40px);
}

.careers-selector .arrowDown {
    top: 25px;
    right: 25px;
    height: 20px;
  }

.careers-selector .arrowDown:before {
    top: 20px;
  }

.careers-selector .arrowDown:after {
    top: 20px;
  }

.careers-selector-icon {
  float: right;
  margin: 5px 10px;
  width: 16px;
  height: 16px;
  z-index: 100;
}

.careers-selector-current {
  display: block;
  padding: 20px;
  height: 70px;
  line-height: 30px;
  color: #000000;
  color: var(--cx-color-black);
  background: #FFFFFF;
  background: var(--cx-color-white);
  box-shadow: 2px 2px 8px 2px rgba(0, 0, 0, 0.1);
  box-shadow: 2px 2px 8px 2px var(--cx-color-dropShadow);
  font-size: 24px;
  z-index: 3;
  cursor: pointer;
}

.careers-selector-options {
  position: absolute;
  margin: 0;
  padding: 0;
  width: 100%;
  max-height: 225px;
  overflow-y: scroll;
  background: #FFFFFF;
  background: var(--cx-color-white);
  box-shadow: 2px 6px 8px 2px rgba(0, 0, 0, 0.1);
  box-shadow: 2px 6px 8px 2px var(--cx-color-dropShadow);
  list-style: none;
  z-index: 100;
  z-index: var(--cx-zIndex-1);
}

.careers-selector-options::-webkit-scrollbar {
    width: 7px;
    -webkit-appearance: none;
  }

.careers-selector-options::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.1);
    background: var(--cx-color-dropShadow);
  }

.careers-selector-options li {
  padding: 20px;
  cursor: pointer;
  color: #6C6C6C;
  color: var(--cx-color-textSubtle);
  font-size: 24px;
}

.careers-selector-options li:not(:last-child) {
}

.careers-selector-options li:hover {
  color: #171717;
  color: var(--cx-color-text);
}

/* Error Message */

.careers-noResults {
  padding-bottom: 50px;
  text-align: center;
}

@media screen and (max-width: 1425px) {
  .careers-allJobs-dropdowns {
    left: 120px;
    width: calc(100% - 240px);
  }
}

@media screen and (min-width: 900px) {
  .careers-splitEqual:first-child .careers-selector {
    margin-right: 40px;
  }

  .careers-splitEqual:last-child .careers-selector {
    margin-left: 40px;
  }
}

@media screen and (max-width: 900px) {
    .careers-all .careers-grid .careers-grid-item .careers-grid-itemSubtitle {
      margin: 0;
    }

    .careers-all .careers-grid .careers-grid-item .careers-grid-itemTitle {
      margin: 5px 0;
    }

  .careers-all .careers-allJobs-departmentName {
    padding-bottom: 25px;
    font-size: 30px;
  }

  .careers-allJobs-group {
    margin-top: 40px;
  }

  .careers-selector {
    width: 100%;
  }

    .careers-selector .arrowDown {
      top: 17px;
    }

  .careers-selector-current {
    padding: 15px;
    height: 58px;
    font-size: 16px;
  }

  .careers-splitEqual:first-child .careers-selector {
    margin-bottom: 20px;
  }

  .careers-allJobs-dropdowns {
    bottom: -68px;
    left: 20px;
    width: calc(100% - 40px);
  }

    .careers-allJobs-dropdowns .careers-split {
      text-align: left;
    }

  .careers-selector-options li {
    padding: 15px;
    font-size: 16px;
  }

  .careers-allJobs-departmentName {
    margin-bottom: 0;
    border-bottom: none;
    text-align: center;
  }
}

/* Buttons */

.careers-landing-heroButton {
  display: inline-block;
  position: relative;
  border: 0;
  border-radius: 0;
  font-size: 18px;
  margin-top: 40px;
  font-weight: normal;
}

.careers-landing-heroButton .button-hover-inner {
    padding-right: 0;
  }

@media screen and (max-width: 900px) {

.careers-landing-heroButton {
    margin-top: 24px
}
  }

@media screen and (max-width: 500px) {

.careers-landing-hero .careers-landing-button.careers-landing-DEI-button {
    padding: 0 10px;
    font-size: 18px
}

    .careers-landing-hero .careers-landing-button.careers-landing-DEI-button .button-hover-inner {
      display: inline-block;
      width: calc(100% - 16px);
      padding-right: 24px;
      white-space: nowrap;
      text-overflow: ellipsis;
      overflow: hidden;
    }

    .careers-landing-hero .careers-landing-button.careers-landing-DEI-button .arrow {
      top: 35px;
      width: 16px;
    }

    .careers-landing-hero .careers-landing-button.careers-landing-DEI-button .arrow:before,
    .careers-landing-hero .careers-landing-button.careers-landing-DEI-button .arrow:after {
      left: 11px;
    }
  }

@media screen and (min-width: 1280px) {

.careers-landing-hero .careers-landing-button.careers-landing-DEI-button {
    min-width: -webkit-fit-content;
    min-width: -moz-fit-content;
    min-width: fit-content
}
  }

/* Images */

.careers-landing-image {
  position: relative;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.careers-landing-video {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  overflow: hidden;
}

.careers-landing-video > video {
    position: absolute;
    width: 100%;
    height: auto;
  }

.careers-landing-imageRect {
  width: 100%;
  padding-top: 80%;
}

.careers-landing-imageTall {
  width: 100%;
  padding-top: 110%;
}

.careers-landing-imageSquare {
  width: 100%;
  padding-top: 100%;
}

.careers-sliderMask {
  position: relative;
  width: 100%;
  padding-top: 120%;
  overflow: hidden;
}

.careers-sliderMaskShort {
  position: relative;
  width: 100%;
  padding-top: 80%;
  overflow: hidden;
}

.careers-sliderMask-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: transform 0.4s ease-out;
  transform: translateX(100%);
  z-index: 1;
}

.careers-sliderMask-image.slide-active {
  transform: none;
  z-index: 2;
}

.careers-sliderMask-image.slide-inactive {
  transform: none;
  z-index: 1;
}

.careers-sliderMask-under {
  display: inline-block;
  width: 66%;
  max-width: 310px;
  margin-top: 40px;
}

.careers-landing-tenets-module {
  padding-top: 0 !important;
}

/* Tenets */

.careers-tenets {
  display: flex;
  flex-flow: row wrap;
}

@media screen and (max-width: 900px) {

.careers-tenets {
    justify-content: space-around
}
  }

@media screen and (min-width: 900px) {

.careers-tenets {
    justify-content: space-between
}
  }

.careers-tenets .careers-horizontal-tenet {
    max-width: 320px;
  }

.careers-tenets .careers-horizontal-tenet .careers-horizontal-tenet-image {
      width: 300px;
      height: 200px;
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat;
    }

.careers-tenets .careers-horizontal-tenet .careers-tenet-title {
      margin-top: 32px;
      margin-top: var(--cx-spacing-4x);
      margin-bottom: 16px;
      margin-bottom: var(--cx-spacing-2x);
      font-size: 32px;
      line-height: 38px;
    }

.careers-tenets .careers-horizontal-tenet p a {
      color: inherit;
      text-decoration: underline;
    }

.careers-tenet {
  margin-bottom: 100px;
}

.careers-tenet:last-child {
    margin-bottom: 0;
  }

.careers-tenet-outer {
  /* margin-top: 40px; */
}

.careers-tenet-text {
  margin-bottom: 0;
}

.careers-tenet-inner p a {
  color: inherit;
  text-decoration: underline;
}

.careers-tenet-inner p a:hover {
  color: #C9C9C9;
  color: var(--cx-color-onDarkTextSubtle);
}

.careers-landing-memo {
  display: inline-block;
  max-width: 700px;
  margin-bottom: 40px;
}

.careers-landing-memoHeading {
  margin-bottom: 10px;
  line-height: 1.2em;
}

.careers-landing-memoBottom {
  display: inline-block;
  max-width: 600px;
  margin-bottom: 0;
  padding-right: 40px;
  line-height: 1.2em;
}

/* Video */

.careers-videoPlayer {
  display: block;
  position: relative;
  padding: 0;
}

.careers-videoPlayer iframe {
  display: none;
}

.careers-videoPlayer-cover {
  position: absolute;
  padding-top: 25%;
  padding-bottom: 25%;
  cursor: pointer;
}

.careers-videoPlayer-coverInner {
  padding: 0 40px;
  text-align: center;
  color: #FFFFFF;
  color: var(--cx-color-white);
}

.careers-videoPlayer .careers-splitToGutter {
  background-color: #000000;
  background-color: var(--cx-color-black);
}

.careers-lightbox {
  position: fixed;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1100;
  background-color: #000000;
  background-color: var(--cx-color-black);
}

.careers-videoWrapper {
  width: 100%;
  height: 100%;
}

.careers-videoWrapper span {
  position: absolute;
  top: 20px;
  right: 90px;
  color: #FFFFFF;
  color: var(--cx-color-onDarkText);
  cursor: pointer;
  z-index: 100;
  z-index: var(--cx-zIndex-1);
}

.careers-videoWrapper iframe {
  position: relative;
  top: 50%;
  margin: 0 auto;
  padding: 100px;
  width: 100%;
  height: 100%;
  transform: translateY(-50%);
}

.careers-close-icon {
  float: right;
  position: absolute;
  top: 30px;
  right: 30px;
  width: 40px;
  height: 40px;
  cursor: pointer;
  z-index: 100;
}

.careers-close-icon:before,
  .careers-close-icon:after {
    content: '';
    position: absolute;
    top: 20px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #FFFFFF;
    background-color: var(--cx-color-white);
  }

.careers-close-icon:before {
    transform: rotate(45deg);
  }

.careers-close-icon:after {
    transform: rotate(-45deg);
  }

/* Dots */

.dots-circle,
.dots-diamond,
.dots-letterI {
  display: block;
  position: relative;
  top: 3px;
  left: 48px;
  width: 50px;
  height: 95px;
  margin-bottom: 60px;
}

.dots-diamond {
  margin-bottom: 40px;
}

.dots-letterI {
  left: 5px;
  margin-bottom: 30px;
}

.dots-invert .identity-dot .inner {
  background-color: #000000;
  background-color: var(--cx-color-black);
}

.dots-playButton {
  display: inline-block;
  position: relative;
  top: 6px;
  width: 40px;
  height: 20px;
}

/* Offices */

.careers-offices-slick {
  width: calc(100% + 240px);
  margin-left: -120px;
}

.careers-offices-slickSlide {
  display: block;
  height: 100%;
  margin-top: 2px;
  margin-bottom: 2px;
  margin-left: 2px;
}

.careers-offices-slick .slick-track {
  margin-left: 2px;
  margin-right: 2px;
}

.slick-initialized .slick-slide img,
.slick-initialized .slick-slide span {
  transition: all 0.3s ease-out;
}

.careers-offices-slickSlide img {
  height: 350px;
  padding-right: 16px;
  overflow: hidden;
}

.careers-offices .slider-progress button:focus {
  opacity: 1;
  background: none;
}

.careers-office-name {
  display: inline-block;
  margin: 20px 0 10px 20px;
  font-size: 16px;
}

/* Promotion Module */

.careers-landing-promotionModule {
  box-shadow: 2px 2px 2px 2px rgba(0, 0, 0, 0.1);
  box-shadow: 2px 2px 2px 2px var(--cx-color-dropShadow);
}

.careers-landing-promotionModule .careers-landing-memoBottom {
  padding: 0;
  font-size: 46px;
  line-height: 45px;
}

.careers-landing-promotionModule .careers-split {
  display: grid;
  justify-content: space-between;
  align-items: center;
  -moz-column-gap: 5%;
       column-gap: 5%;
  grid-template-columns: 45% 1px 45%;
}

.careers-landing-promotionModule .careers-gapLine {
  height: 394px;
  background: #000000;
  background: var(--cx-color-black);
}

.careers-landing-promotionModule .careers-landing-button {
  padding: 0;
  text-align: center;
}

.careers-landing-promotionModule .careers-landing-contentContainer {
  max-width: 346px;
}

.careers-landing-promotionJoin {
  display: flex;
  justify-content: flex-end;
}

.careers-landing-promotionModule .careers-landing-promotionButton {
  max-width: 346px;
  height: 60px;
  margin-top: 35px;
  line-height: 60px;
  font-size: 20px;
}

.careers-landing-promotionButton .arrow {
  width: 12px;
}

.careers-landing-promotionButton .button-hover-inner {
  padding-right: 24px;
}

.careers-landing-promotionButton .arrow:before,
.careers-landing-promotionButton .arrow:after {
  left: 8px;
}

/* Animation */

.mask {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #F4F4F4;
  background: var(--cx-color-backgroundAccent);
  z-index: 50;
  transition: 1.2s;
}

.maskWhite {
  background: #FFFFFF;
  background: var(--cx-color-white);
  transition: 1.0s;
}

.maskBlack {
  background: #000000;
  background: var(--cx-color-black);
}

.scrolled .mask {
  width: 0;
}

.scrolled .maskUp {
  width: 100%;
  height: 0;
}

.scrolled .careers-panel-text .maskUp {
  transition-delay: 0.3s;
}

.transition-fadeUp {
  opacity: 0;
  transform: translateY(10px);
  transition: all 0.2s ease-out;
}

.transition-fadeUpSlow {
  opacity: 0;
  transform: translateY(10px);
  transition: all 0.4s ease-out;
}

.scrolled .transition-fadeUp,
.scrolled .transition-fadeUpSlow {
  opacity: 1;
  transform: none;
}

.scrolled .careers-landing-heroStatement:nth-child(2) {
  transition-delay: 0.2s;
}

.scrolled .careers-landing-heroStatement:nth-child(3) {
  transition-delay: 0.4s;
}

.scrolled .careers-tenet:nth-child(2) {
  transition-delay: 0.5s;
}

.scrolled .careers-tenet:nth-child(3) {
  transition-delay: 1.0s;
}

.scrolled .careers-landing-memoText {
  transition-delay: 0.2s;
}

.scrolled .careers-textMobile {
  transition-delay: 0.2s;
}

/* Keyframes */

@-webkit-keyframes arrowShuffle {
  0% {
    transform: translateY(0);
  }

  70% {
    transform: translateY(4px);
  }

  100% {
    transform: translateY(3px);
  }
}

@keyframes arrowShuffle {
  0% {
    transform: translateY(0);
  }

  70% {
    transform: translateY(4px);
  }

  100% {
    transform: translateY(3px);
  }
}

@-webkit-keyframes arrowShuffleOut {
  0% {
    transform: translateY(3px);
  }

  100% {
    transform: translateY(0);
  }
}

@keyframes arrowShuffleOut {
  0% {
    transform: translateY(3px);
  }

  100% {
    transform: translateY(0);
  }
}

/* Desktop */

@media screen and (min-width: 900px) {
  .careers-tenet-inner {
    padding-right: 40px;
  }

  .careers-padLeft {
    padding-left: 80px;
  }

  .careers-padRight {
    padding-right: 80px;
  }

  .careers-splitShift {
    position: relative;
    left: -120px;
  }

  .careers-landing-memoIndent {
    max-width: 550px;
    padding-left: 60px;
  }

  .careers-landing-moduleBump {
    margin-bottom: 80px;
  }

  .slick-initialized .slick-slide:hover span,
  .slick-initialized .slick-slide:hover img {
    opacity: 0.7;
  }

  .careers-cta:hover .arrow {
    transform: translateX(10px);
  }

  .careers-cta:hover .careers-cta-text {
    opacity: 0.7;
  }
}

/* Tablet */

@media screen and (max-width: 1280px) and (min-width: 901px) {
  .careers-tenet-inner {
    padding-right: 0;
  }
}

/* Mobile */

@media screen and (max-width: 900px) {
  .careers-landing-memo {
    display: block;
    margin: 40px auto;
    max-width: 400px;
    text-align: center;
  }

  .careers-landing-memoBottom {
    max-width: 260px;
    padding-right: 0;
  }

  .careers-tenet {
    margin-bottom: 80px;
  }

  .careers-landing-video {
    flex-direction: row;
  }

    .careers-landing-video > .careers-landing-image {
      position: absolute;
      width: 100%;
      height: 100%;
    }

  .careers-videoPlayer {
    max-width: none;
  }

  .careers-videoPlayer-cover {
    width: calc(100% + 40px);
  }

  .careers-offices-slick {
    width: 100%;
    margin-left: 0;
  }

  .careers-offices-slickSlide img {
    max-width: 80vw;
  }

  .careers-videoWrapper iframe {
    padding: 200px 0;
  }

  .dots-circle,
  .dots-diamond {
    left: 50%;
  }

  .dots-letterI {
    left: calc(50% - 31px);
  }

  /* Promotion Module */
  .careers-landing-promotionModule .careers-landing-promotionButton {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 0 20px;
    width: 100%;
    max-width: unset;
  }

  .careers-landing-promotionModule .careers-landing-memoBottom {
    padding: 0;
    font-size: 24px;
    line-height: normal;
  }

  .careers-landing-promotionModule .careers-split {
    display: block;
  }

  .careers-landing-promotionAgent {
    display: flex;
    justify-content: center;
    position: relative;
    padding-bottom: 100px;
    margin-bottom: 60px;
  }

  .careers-landing-promotionModule .careers-landing-contentContainer {
    max-width: unset;
  }

  .careers-landing-promotionJoin {
    justify-content: center;
    position: relative;
    padding-bottom: 100px;
  }
}

@media screen and (min-width: 648px) {
  .uc-globalHeader-button {
    margin: 17px 0;
  }

  .uc-globalHeader-logotype {
    margin: 21px 20px 21px 0;
    width: 134px;
    height: 18px;
  }

  .consumerFooter-wrapper {
    margin: 0 auto;
    width: 90%;
    max-width: 1170px;
  }
}

@media screen and (max-width: 960px) and (min-width: 900px) {
    .careers-landing-video > video {
      width: auto;
      height: 100%;
    }
}

.careers-landing .careers-landing-tenets {
    position: relative;
    padding-top: 60px;
  }

.careers-landing .careers-landing-tenets .careers-landing-memo {
      max-width: none;
    }

.careers-landing .careers-landing-jobs-module {
    padding-top: 100px;
    padding-bottom: 100px;
  }

.careers-landing .careers-landing-jobs-module .dots-circle {
      position: absolute;
      top: 29px;
      left: 997px;
    }

@media screen and (max-width: 900px) {
      .careers-landing .careers-landing-jobs-module .dots-circle {
        display: none;
        left: 0;
      }
    }

.careers-landing .careers-landing-jobs-module .dots-circle-large {
      transform: scale(1.3);
    }

.careers-landing .careers-landing-jobs-module .careers-landing-memo {
      position: relative;
      margin-bottom: 57px;
    }

.careers-landing .careers-landing-link-module {
    background: #000000;
    background: var(--cx-color-black);
  }

.careers-landing .careers-landing-cta-arrow {
    bottom: -137px;
    left: 57%;
  }

.careers-office-gallery {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1200;
  background-color: #000000;
  background-color: var(--cx-color-black);
  opacity: 1;
  overflow: hidden;
}

.careers-office-gallery .closeBtn.animIn {
    opacity: 1;
    transition: opacity 0.5s ease-out;
  }

.careers-office-gallery .closeBtn {
    position: absolute;
    top: 32px;
    right: 32px;
    width: 70px;
    height: 70px;
    transform: rotate(
      45deg
    );
    transform-origin: 25px 25px;
    cursor: pointer;
    opacity: 0;
    transition: opacity 0.2s ease-out;
  }

.careers-office-gallery .closeBtn .line.a {
    top: 25px;
    width: 50px;
    height: 1px;
    box-sizing: content-box;
    transform: scale(1);
    transition-delay: 0.05s;
  }

.careers-office-gallery .closeBtn .line {
    position: absolute;
    top: 0;
    left: 0;
    margin: 10px 0 0 10px;
    background-color: #FFFFFF;
    background-color: var(--cx-color-white);
    transition: transform 0.3s ease-out;
    will-change: transform;
  }

.careers-office-gallery .closeBtn .line.b {
    left: 25px;
    width: 1px;
    height: 50px;
    box-sizing: content-box;
    transform: scale(1);
  }

.careers-office-gallery .careers-offices-gallery-slick {
    margin-top: 15vh;
  }

.careers-office-gallery .slider-controls-container {

    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    row-gap: 60px;
  }

.careers-office-gallery .slider-controls-container > div {
      margin: 0 32px;
      max-width: 1050px;
    }

.careers-office-gallery img {
    height: 60vh;
    box-sizing: border-box;
    -o-object-fit: cover;
       object-fit: cover;
  }

.careers-office-gallery .slider-progress {
    background-color: #414143;
  }

.careers-office-gallery .careers-offices-slickSlide img {
    padding-right: 40px;
  }

.noJobSection {
  padding: 100px 0;
}

.noJobContainer {
  margin: auto;
  padding: 30px;
  max-width: 800px;
  background: #FFFFFF;
  background: var(--cx-color-background);
  text-align: center;
}

.searchTypeahead .searchTypeahead-placeholder {
    width: 100%;
    height: 67px;
  }

.searchTypeahead .searchTypeahead-wrapper {
    position: absolute;
    top: 0;
    width: 100%;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
  }

.searchTypeahead .searchTypeahead-tips {
    display: none;
    position: absolute;
    top: 0;
    right: 57px;
    height: 67px;
    color: #8D8D8D;
    color: var(--cx-color-grey70);
    font-size: 18px;
    line-height: 67px;
  }

.searchTypeahead.focused .searchTypeahead-tips {
      display: block;
    }

.searchTypeahead.focused input {
      padding-right: 320px;
    }

.searchTypeahead input {
    display: flex;
    align-items: center;
    border: none;
    padding: 0 24px;
    width: 100%;
    height: 65px;
    padding-right: 50px;
    padding-bottom: 2px;
    font-family: 'Compass Sans', Helvetica, Arial, sans-serif;
    font-family: var(--cx-font-familySans);
    font-size: 24px;
    line-height: 16px;
    color: #000000;
    color: var(--cx-color-black);
    background-color: #FFFFFF;
    background-color: var(--cx-color-white);
    background-repeat: no-repeat;
    background-position: right 24px center;
    background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTkiIGhlaWdodD0iMTkiIHZpZXdCb3g9IjAgMCAxOSAxOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE4LjAzMDMgMTYuOTY5NUwxOC4wMzAzIDE2Ljk2OTVDMTguMzIzMiAxNy4yNjI0IDE4LjMyMzIgMTcuNzM3MyAxOC4wMzA0IDE4LjAzMDJDMTcuNzM3NSAxOC4zMjMxIDE3LjI2MjYgMTguMzIzMiAxNi45Njk3IDE4LjAzMDNMMTIuODY1NiAxMy45MjdDMTEuNjUzNiAxNC44MjIxIDEwLjE1NDQgMTUuMzUxMyA4LjUzMjI3IDE1LjM1MTNDNC41MDAxNiAxNS4zNTEzIDEuMjMxMTYgMTIuMDgzIDEuMjMxMTYgOC4wNTExMUMxLjIzMTE2IDQuMDE4NTIgNC40OTk5OSAwLjc1IDguNTMyMjcgMC43NUMxMi41NjQ1IDAuNzUgMTUuODMzNCA0LjAxODUyIDE1LjgzMzQgOC4wNTExMUMxNS44MzM0IDkuOTE5OTIgMTUuMTMwOCAxMS42MjUxIDEzLjk3NTcgMTIuOTE2M0wxOC4wMzAzIDE2Ljk2OTVaTTE0LjMzMzQgOC4wNTExMUMxNC4zMzM0IDQuODQ2OTggMTEuNzM2MiAyLjI1IDguNTMyMjcgMi4yNUM1LjMyODM4IDIuMjUgMi43MzExNiA0Ljg0Njk4IDIuNzMxMTYgOC4wNTExMUMyLjczMTE2IDExLjI1NDQgNS4zMjg0NyAxMy44NTEzIDguNTMyMjcgMTMuODUxM0MxMS43MzYxIDEzLjg1MTMgMTQuMzMzNCAxMS4yNTQ0IDE0LjMzMzQgOC4wNTExMVoiIGZpbGw9ImJsYWNrIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjAuNSIvPgo8L3N2Zz4K);
    background-size: 17px 17px;
    box-shadow: none;
    border-radius: 0px;
  }

.searchTypeahead input:focus {
    outline: none;
  }

.searchTypeahead input::-moz-placeholder {
    color: #8D8D8D;
    color: var(--cx-color-grey70);
    font-size: 22px;
  }

.searchTypeahead input:-ms-input-placeholder {
    color: #8D8D8D;
    color: var(--cx-color-grey70);
    font-size: 22px;
  }

.searchTypeahead input::placeholder {
    color: #8D8D8D;
    color: var(--cx-color-grey70);
    font-size: 22px;
  }

.searchTypeahead ul {
    margin: 0;
    padding: 0;
    width: 100%;
    max-height: 335px;
    overflow: auto;
    background-color: #FFFFFF;
    background-color: var(--cx-color-white);
    font-family: 'Compass Sans', Helvetica, Arial, sans-serif;
    font-family: var(--cx-font-familySans);
    font-size: 24px;
    line-height: 16px;
    color: #6C6C6C;
    color: var(--cx-color-grey80);
  }

.searchTypeahead ul li {
      display: block;
      align-items: center;
      left: 20px;
      padding: 0 20px;
      height: 67px;
      line-height: 67px;
      cursor: pointer;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

.searchTypeahead ul li:hover {
      color: #0064E5;
      color: var(--cx-color-blue80);
      background-color: #F4F4F4;
      background-color: var(--cx-color-grey20);
    }

@media screen and (max-width: 900px) {
    .searchTypeahead input,
    .searchTypeahead ul {
      font-size: 18px;
    }
      .searchTypeahead.focused .searchTypeahead-tips {
        display: none;
      }

      .searchTypeahead.focused input {
        padding-right: 50px;
      }
  }

.searchTypeahead.mobile .searchTypeahead-placeholder {
      width: 100%;
      height: 45px;
    }

.searchTypeahead.mobile .searchTypeahead-tips {
      height: 45px;
      line-height: 45px;
    }

.searchTypeahead.mobile input {
      padding: 0 20px;
      width: 100%;
      height: 45px;
      padding-right: 40px;
      background-position: right 15px center;
      background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTYuMjg0IDEuMzMzQTUuNjI0IDUuNjI0IDAgMCAwIC42NjcgNi45NTFhNS42MjQgNS42MjQgMCAwIDAgNS42MTcgNS42MTdjMS4xOCAwIDIuMjc2LS4zNjcgMy4xOC0uOTkybDMuNzU4IDMuNzU3IDEuNDQ1LTEuNDQ0LTMuNzU4LTMuNzU4Yy42MjUtLjkwNC45OTMtMiAuOTkzLTMuMThhNS42MjQgNS42MjQgMCAwIDAtNS42MTgtNS42MTh6bTAgMi4wNDNBMy41NzkgMy41NzkgMCAwIDEgOS44NiA2Ljk1MWEzLjU3OSAzLjU3OSAwIDAgMS0zLjU3NSAzLjU3NUEzLjU3OSAzLjU3OSAwIDAgMSAyLjcxIDYuOTVhMy41NzkgMy41NzkgMCAwIDEgMy41NzUtMy41NzV6IiBmaWxsPSJibGFjayIgLz4KPC9zdmc+);
      background-size: 16px 16px;
    }

.searchTypeahead.mobile input::-moz-placeholder {
      color: #8D8D8D;
      color: var(--cx-color-grey70);
      font-size: 16px;
    }

.searchTypeahead.mobile input:-ms-input-placeholder {
      color: #8D8D8D;
      color: var(--cx-color-grey70);
      font-size: 16px;
    }

.searchTypeahead.mobile input::placeholder {
      color: #8D8D8D;
      color: var(--cx-color-grey70);
      font-size: 16px;
    }

.searchTypeahead.mobile ul {
      font-size: 16px;
    }

.searchTypeahead.mobile ul li {
        height: 45px;
        line-height: 45px;
      }

/* This rule fixes an issue with IE11 on Windows 7, where the page becomes unresponsive after
   clicking on an element containing a use tag, and removing that element from the DOM
http://stackoverflow.com/questions/29149174/click-events-stop-working-after-replacing-attribute-of-use-element-in-svg-w
https://connect.microsoft.com/IE/feedback/details/796745/mouse-events-are-not-delivered-at-all-anymore-when-inside-an-svg-a-use-is-removed-from-the-dom
 */

use {
  pointer-events: none;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
}

/* cx overwrites */

.cx-mainLayout {
  /* Prevents white colorblock near footer on department pages */
  padding-bottom: 0;
}

/* Landing / Global */

/* TODO: Properly namespace and consolidate when all new pages are launched

/* Type */

.careers-landing h1,
  .careers-landing h2,
  .careers-landing h3,
  .careers-landing h4,
  .careers-landing h5,
  .careers-landing h6,
  .careers-department h1,
  .careers-department h2,
  .careers-department h3,
  .careers-department h4,
  .careers-department h5,
  .careers-department h6,
  .careers-job h1,
  .careers-job h2,
  .careers-job h3,
  .careers-job h4,
  .careers-job h5,
  .careers-job h6,
  .careers-all h1,
  .careers-all h2,
  .careers-all h3,
  .careers-all h4,
  .careers-all h5,
  .careers-all h6 {
    margin-top: 0;
    font-size: 16px;
    font-weight: var(--font-weightRegular);
    font-weight: var(--font-weightRegular);
  }

.careers-landing h2, .careers-department h2, .careers-job h2, .careers-all h2 {
    font-size: 65px;
  }

.careers-landing h3, .careers-department h3, .careers-job h3, .careers-all h3 {
    font-size: 44px;
  }

.careers-landing h4, .careers-department h4, .careers-job h4, .careers-all h4 {
    font-size: 32px;
  }

.careers-landing h5, .careers-department h5, .careers-job h5, .careers-all h5 {
    font-size: 18px;
  }

.careers-landing p, .careers-department p, .careers-job p, .careers-all p {
    font-size: 18px;
    line-height: 1.4em;
  }

.careers-landing ul, .careers-department ul, .careers-job ul, .careers-all ul {
    line-height: 1.6em;
  }

.careers-landing a, .careers-department a, .careers-job a, .careers-all a {
    color: #000000;
    color: var(--cx-color-black);
    text-decoration: none;
  }

.careers-landing hr, .careers-department hr, .careers-job hr, .careers-all hr {
    border: none;
  }

.careers-hide {
  position: absolute;
  top: -10000px;
  left: -10000px;
}

/* Hero Banner */

.careers-landing-hero {
  position: relative;
  padding: 120px;
  min-height: 50vh;
  margin-bottom: 0;
  text-align: left;
  color: #FFFFFF;
  color: var(--cx-color-white);
}

.careers-landing-hero.careers-landing-heroBlack {
    background-color: #000000;
    background-color: var(--cx-color-black);
  }

.careers-landing-hero.careers-landing-heroShort {
    min-height: 45vh;
    color: #FFFFFF;
    color: var(--cx-color-white);
  }

.careers-landing-hero a {
    color: #FFFFFF;
    color: var(--cx-color-white);
  }

.careers-landing-heroText {
  position: relative;
  width: 100%;
  max-width: 800px;
  z-index: 3;
}

.careers-landing-heroSubtitle {
  margin-bottom: 50px;
}

.careers-landing-heroTitle {
  display: block;
  position: relative;
  width: 100%;
  max-width: 680px;
  margin-bottom: 20px;
  line-height: 1.2em;
  z-index: 3;
}

.careers-landing-heroTitle h2 {
    line-height: 1.2em;
  }

.careers-landing-heroDescription {
  max-width: 500px;
  font-size: 18px;
  line-height: 1.4em;
}

.careers-landing-underline {
  display: inline-block;
  border-bottom: 1px solid #FFFFFF;
  border-bottom: 1px solid var(--cx-color-white);
}

.careers-landing-underline.careers-landing-underlineBlack {
    border-bottom: 1px solid #000000;
    border-bottom: 1px solid var(--cx-color-black);
  }

.careers-link:focus {
  outline: auto;
}

.flex-center {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.careers-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.65);
  z-index: 2;
}

.careers-landing-heroStatement {
  position: relative;
  margin: 0;
  z-index: 3;
}

.careers-hero-buttonMobile {
  margin-bottom: 50px;
  text-align: center;
}

/* Buttons */

.careers-landing-cta-arrow {
  position: absolute;
  bottom: -33px;
  left: 60%;
  width: 66px !important;
  height: 70px !important;
  text-align: center;
  color: #000000;
  color: var(--cx-color-black);
  background: #FFFFFF;
  background: var(--cx-color-white);
  box-shadow: 2px 2px 8px 2px rgba(0, 0, 0, 0.1);
  box-shadow: 2px 2px 8px 2px var(--cx-color-dropShadow);
  z-index: 3;
}

.arrow {
  position: absolute;
  top: 28px;
  right: 20px;
  width: 30px;
  height: 2px;
  border-radius: 0 0 1px 1px;
  background-color: #000000;
  background-color: var(--cx-color-black);
  z-index: 3;
}

.arrow:before,
.arrow:after {
  content: '';
  position: absolute;
  left: 26px;
  width: 6px;
  height: 2px;
  background-color: #000000;
  background-color: var(--cx-color-black);
}

.arrow:before {
  top: 4px;
  transform: rotate(-45deg);
  transform-origin: 0 0;
}

.arrow:after {
  top: 1px;
  transform: rotate(45deg);
  transform-origin: 100% 0;
}

.careers-landing-buttonBlack .arrow,
  .careers-landing-buttonBlack .arrow:before,
  .careers-landing-buttonBlack .arrow:after {
    background-color: #FFFFFF;
    background-color: var(--cx-color-white);
  }

.arrowDown {
  position: absolute;
  width: 2px;
  height: 30px;
  border-radius: 0 0 1px 1px;
  background-color: #000000;
  background-color: var(--cx-color-black);
  opacity: 1;
  transition: background-color 0.2s ease-out;
  z-index: 3;
}

.arrowDown:before {
  content: '';
  position: absolute;
  top: 29px;
  left: 0px;
  width: 6px;
  height: 2px;
  background-color: #000000;
  background-color: var(--cx-color-black);
  transform: rotate(-45deg);
  transform-origin: 0 0;
  transition: background-color 0.2s ease-out;
}

.arrowDown:after {
  content: '';
  position: absolute;
  top: 29px;
  left: -4px;
  width: 6px;
  height: 2px;
  background-color: #000000;
  background-color: var(--cx-color-black);
  transform: rotate(45deg);
  transform-origin: 100% 0;
  transition: background-color 0.2s ease-out;
}

.careers-cta {
  display: inline-block;
  position: relative;
  margin-top: 40px;
  font-size: 18px;
}

.careers-cta .careers-cta-text,
.careers-cta .arrow {
  transition: all 0.3s ease-out;
}

.careers-cta-text {
  padding-right: 50px;
}

.careers-cta .arrow {
  top: 9px;
  right: 0;
}

.careers-landing-button {
  display: inline-block;
  position: relative;
  padding: 0 40px;
  width: 100%;
  height: 70px;
  line-height: 70px;
  text-align: center;
  color: #000000;
  color: var(--cx-color-black);
  background: #FFFFFF;
  background: var(--cx-color-white);
  box-shadow: 2px 2px 8px 2px rgba(0, 0, 0, 0.1);
  box-shadow: 2px 2px 8px 2px var(--cx-color-dropShadow);
  font-size: 22px;
  z-index: 3;
}

.careers-landing-buttonWidthFixed {
  float: right;
  max-width: 500px;
  margin-top: 15px;
}

.careers-landing-buttonBlack {
  color: #FFFFFF;
  color: var(--cx-color-white);
  background: #000000;
  background: var(--cx-color-black);
}

.careers-landing-buttonBlack .button-hover-inner {
    color: #FFFFFF;
    color: var(--cx-color-white);
  }

.careers-landing-hero .careers-landing-button {
  position: absolute;
  bottom: -35px;
  left: calc(50% + 40px);
  width: calc(50% - 220px);
  max-width: 800px;
}

.careers-landing-button .arrow {
  top: 13px;
  right: 2px;
}

.careers-landing-cta-arrow .arrowDown {
  top: 19px;
  left: 32px;
}

.careers-landing-button .arrowDown {
  top: 5px;
  right: 10px;
  height: 20px;
}

.careers-landing-button .arrowDown:before,
.careers-landing-button .arrowDown:after {
  top: 19px;
}

/* Button Hovers */

.button-hover-inner {
  position: relative;
  padding-right: 50px;
  color: #000000;
  color: var(--cx-color-black);
  z-index: 3;
  transition: color 0.3s ease-out;
}

.button-hoverIn .button-hover-inner {
  color: #FFFFFF;
  color: var(--cx-color-white);
}

.button-hover .arrow,
.button-hover .arrow:before,
.button-hover .arrow:after,
.button-hover .arrowDown,
.button-hover .arrowDown:before,
.button-hover .arrowDown:after {
  transition: all 0.4s ease-out;
}

.button-hoverIn .arrowDown {
  -webkit-animation: arrowShuffle 0.6s both;
          animation: arrowShuffle 0.6s both;
}

.button-hoverOut .arrowDown {
  -webkit-animation: arrowShuffleOut 0.6s both;
          animation: arrowShuffleOut 0.6s both;
}

.button-hoverIn .arrow,
.button-hoverIn .arrow:before,
.button-hoverIn .arrow:after,
.button-hoverIn .arrowDown,
.button-hoverIn .arrowDown:before,
.button-hoverIn .arrowDown:after {
  background-color: #FFFFFF;
  background-color: var(--cx-color-white);
}

.button-hover:after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  background-color: #333333;
  background-color: var(--cx-color-grey100);
  transition: all 0.4s ease-out;
}

.button-hover-black.button-hover:after {
  background-color: #000000;
  background-color: var(--cx-color-black);
}

.button-hover.careers-landing-cta-arrow:after {
  transition: all 0.2s ease-out;
}

.button-hoverWhite:after {
  background-color: #FFFFFF;
  background-color: var(--cx-color-white);
}

.button-hover.button-hoverIn:after {
  height: 100%;
}

.button-hover.button-hoverOut:after {
  top: auto;
  bottom: 0;
}

.button-hover-ltr:after {
  width: 0;
  height: 100%;
}

.button-hover-ltr.button-hoverIn:after {
  width: 100%;
}

.button-hover-ltr.button-hoverOut:after {
  right: 0;
  left: auto;
}

/* Split Column */

.careers-split {
  display: flex;
  position: relative;
}

.careers-splitEqual {
  flex: 0 0 50%;
}

.careers-splitRow {
  margin: 0 -100px;
}

.careers-splitColumn {
  flex: 0 0 50%;
}

.careers-splitColumn:first-child {
  padding-right: 40px;
}

.careers-splitColumn:last-child {
  padding-left: 40px;
}

.careers-splitFourth:first-child {
  flex: 0 0 75%;
}

.careers-splitFourth:last-child {
  flex: 0 0 25%;
}

.careers-splitLeft {
  padding: 0 40px;
  flex: 0 0 60%;
}

.careers-splitRight {
  padding: 0 40px;
  flex: 0 0 40%;
}

.careers-splitPanel:first-child {
  flex: 0 0 55%;
}

.careers-splitPanel:last-child {
  flex: 0 0 45%;
}

.careers-splitToGutter {
  /* Extends through gutter */
  position: relative;
  width: calc(100% + 120px);
}

.careers-splitToGutterSmall {
  /* Extends through gutter */
  position: relative;
  width: calc(100% + 120px);
}

/* Generic Modules */

.careers-landing-module {
  position: relative;
  padding: 100px 120px;
}

.careers-landing-maxWidth {
  margin: 0 auto;
  max-width: 1170px;
  max-width: var(--cx-fixedPageWidth);
}

.careers-landing-moduleGrey {
  background: #F4F4F4;
  background: var(--cx-color-backgroundAccent);
}

.careers-landing-moduleBlack {
  color: #FFFFFF;
  color: var(--cx-color-white);
  background: #000000;
  background: var(--cx-color-black);
}

/* List + Grid */

.careers-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 0 50px;
}

.careers-grid.careers-gridThird {
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 10px 40px;
  }

.careers-grid-item {
  display: block;
  border-bottom: 2px solid #000000;
  border-bottom: 2px solid var(--cx-color-black);
  color: #000000;
  color: var(--cx-color-black);
  transition: background-color 0.2s ease-out;
}

.careers-grid-item.u-displayNone {
    display: none;
  }

.careers-grid-item .careers-grid-itemTitle {
    margin: 35px 0 5px;
    line-height: 1.2em;
    transition: all 0.2s ease-out;
  }

.careers-grid-item .careers-grid-itemTitle .careers-grid-itemTitleSmall {
    font-size: 24px;
  }

.careers-grid-item .careers-grid-itemSubtitle {
    margin: 0 0 35px;
    font-size: 16px;
    transition: all 0.3s ease-out;
  }

.careers-filter .careers-grid-item.u-displayNone {
  display: none;
}

.careers-landing-moduleBlack .careers-grid-item {
  border-bottom: 1px solid #FFFFFF;
  border-bottom: 1px solid var(--cx-color-white);
  color: #FFFFFF;
  color: var(--cx-color-white);
}

/* Panel */

.careers-panel-image {
  position: relative;
  height: 100%;
}

.careers-panel-imageOverflow {
  position: relative;
  top: 40px;
  left: 40px;
  margin: 0 0 0 auto;
  width: calc(100% + 80px);
  max-width: 580px;
  height: calc(100% + 100px);
}

.careers-panel-text {
  position: relative;
  background-color: #FFFFFF;
  background-color: var(--cx-color-white);
  z-index: 3;
}

.careers-panel-textInner {
  padding: 60px;
}

.careers-panel-text .careers-panel-city {
  margin: 0 0 25px;
}

.careers-panel-text .careers-panel-employee {
  margin-bottom: 10px;
}

.careers-panel-text hr {
  margin: 40px 0;
  width: 40px;
  height: 2px;
  background-color: #000000;
  background-color: var(--cx-color-black);
}

.careers-panel-text .careers-pullquote {
  max-width: 430px;
  margin-bottom: 0;
  font-size: 32px;
  line-height: 1.3em;
  text-indent: -0.3em;
}

.careers-panel-descriptionMemo {
  margin-top: 0;
}

.careers-panel-description {
  margin-bottom: 0;
  padding-right: 40px;
}

/* Desktop */

@media screen and (min-width: 900px) {
  .careers-noDesktop {
    display: none !important;
  }

  .careers-splitNudge {
    margin-top: 40px;
  }

  .careers-grid-item:hover {
    background-color: #F4F4F4;
    background-color: var(--cx-color-backgroundAccent);
  }

  .careers-landing-moduleBlack .careers-grid-item:hover {
    background-color: #333333;
    background-color: var(--cx-color-grey100);
  }

  .careers-grid-item:hover .careers-grid-itemTitle,
  .careers-grid-item:hover .careers-grid-itemSubtitle {
    transform: translateX(20px);
  }
}

/* Large Desktop */

@media screen and (min-width: 1400px) {
  .careers-landing-maxWidth {
    padding: 0 24px;
    padding: 0 var(--gutter);
  }
}

/* Tablet */

@media screen and (max-width: 1280px) and (min-width: 901px) {
  .careers-landing-hero .careers-landing-button {
    left: initial;
    width: calc(100% - 240px);
    max-width: none;
  }

  .careers-splitPanel:first-child {
    flex: 0 0 50%;
  }

  .careers-splitPanel:last-child {
    flex: 0 0 50%;
  }

  .careers-splitToGutterSmall,
  .careers-splitPanel:last-child > .careers-splitToGutter {
    width: calc(100% + 75px);
  }

  .careers-landing-buttonWidthFixed {
    padding: 0 20px;
    font-size: 18px;
  }

  .careers-landing-buttonWidthFixed .button-hover-inner {
    padding-right: 40px;
  }

  .careers-landing-buttonWidthFixed .button-hover-inner .arrow {
    top: 11px;
  }
}

/* Slider */

.slider-controls {
  width: 100%;
  margin-top: 20px;
  font-size: 0;
}

.slider-controls button {
  display: inline-block;
  position: relative;
  border: 2px solid #F4F4F4;
  border: 2px solid var(--cx-color-backgroundAccent);
  width: 40px;
  height: 40px;
  background: transparent;
  cursor: pointer;
  transition: 0.2s;
}

.slider-controls.controls-reverse button {
  border: 2px solid #8D8D8D;
  border: 2px solid var(--cx-color-grey70);
  background: #FFFFFF;
  background: var(--cx-color-white);
}

.slider-controls button .arrow {
  transition: 0.2s;
  z-index: 1;
}

.slider-controls button .arrow,
.slider-controls button .arrow:before,
.slider-controls button .arrow:after {
  background-color: #FFFFFF;
  background-color: var(--cx-color-white);
}

.slider-controls button:hover .arrow,
.slider-controls button:hover .arrow:before,
.slider-controls button:hover .arrow:after {
  background-color: #000000;
  background-color: var(--cx-color-black);
}

.slider-controls.controls-black button .arrow,
.slider-controls.controls-black button .arrow:before,
.slider-controls.controls-black button .arrow:after {
  background-color: #000000;
  background-color: var(--cx-color-black);
}

.slider-controls .button-hover:after {
  transition: 0.2s ease-out;
}

.slider-controls button .arrow {
  position: absolute;
  top: 50%;
  right: auto;
  left: 50%;
  transform: translate(-50%, -50%);
}

.slider-controls .slider-prev .arrow {
  transform: translate(-50%, -50%) rotate(180deg);
}

.slider-controls .slider-prev .arrow {
  width: 15px;
}

.slider-controls .slider-prev .arrow:before,
.slider-controls .slider-prev .arrow:after {
  left: 10px;
}

.slider-controls .slider-next {
  width: 65px;
  margin-left: -2px;
}

.slider-controls .slider-prev:focus,
.slider-controls .slider-next:focus {
  outline: none;
}

.slider-controls .slider-controls_next {
  display: inline-block;
  margin-left: 40px;
  vertical-align: top;
  font: 16px/37px 'Compass Sans', sans-serif;
  cursor: pointer;
}

.slider-progress {
  display: flex;
  position: relative;
  margin: 48px 0 0;
  width: 100%;
  height: 2px;
  font-size: 0;
  background: #F4F4F4;
  background: var(--cx-color-backgroundAccent);
  cursor: pointer;
}

.slider-progress button {
  margin: 0;
  border: none;
  padding: 0;
  flex: 1;
  height: 5px;
  transform: translateY(-50%);
  cursor: pointer;
  opacity: 0;
}

.slider-progress .progress-active {
  position: absolute;
  top: 0;
  left: 0;
  height: 2px;
  transition: ease-in 0.6s;
  background: #FFFFFF;
  background: var(--cx-color-white);
}

.slider-progress.controls-black {
  background: #F4F4F4;
  background: var(--cx-color-backgroundAccent);
}

.slider-progress.controls-black .progress-active {
  background: #000000;
  background: var(--cx-color-black);
}

/* Desktop */

@media screen and (min-width: 900px) {
  .slider-controls button .hover {
    position: absolute;
    top: 0;
    width: 0;
    height: 100%;
    background: #FFFFFF;
    background: var(--cx-color-white);
    transition: 0.1s;
  }

  .slider-controls.controls-black button:hover {
    border: 2px solid #000000;
    border: 2px solid var(--cx-color-black);
  }

  .slider-controls.controls-black button:hover .arrow,
  .slider-controls.controls-black button:hover .arrow:before,
  .slider-controls.controls-black button:hover .arrow:after {
    background-color: #FFFFFF;
    background-color: var(--cx-color-white);
  }

  .slider-controls.controls-black button .hover {
    background: #000000;
    background: var(--cx-color-black);
  }

  .slider-controls button.hover_in .hover {
    width: 100%;
  }

  .slider-controls .slider-prev .hover,
  .slider-controls .slider-next.hover_out .hover {
    right: 0;
    left: auto;
  }

  .slider-controls .slider-next .hover,
  .slider-controls .slider-prev.hover_out .hover {
    right: auto;
    left: 0;
  }

  .slider-controls button:hover {
    border: 2px solid #FFFFFF;
    border: 2px solid var(--cx-color-white);
  }
}

/* Tablet */

@media screen and (max-width: 1200px) {
  .careers-noTablet {
    display: none !important;
  }
}

/* Mobile */

@media screen and (max-width: 900px) {
  .careers-noMobile {
    display: none !important;
  }
    .careers-landing h2, .careers-department h2, .careers-job h2, .careers-all h2 {
      font-size: 35px;
    }

    .careers-landing h3, .careers-department h3, .careers-job h3, .careers-all h3 {
      font-size: 24px;
    }

    .careers-landing h4, .careers-department h4, .careers-job h4, .careers-all h4 {
      font-size: 24px;
    }

    .careers-landing h5, .careers-department h5, .careers-job h5, .careers-all h5 {
      font-size: 14px;
    }

    .careers-landing p, .careers-department p, .careers-job p, .careers-all p {
      font-size: 16px;
    }

  .careers-panel-text .careers-pullquote {
    font-size: 24px;
  }

  .careers-tenet-text,
  .careers-textMobile {
    margin: 20px auto 40px auto;
    max-width: 400px;
  }

  .careers-split {
    display: block;
    text-align: center;
  }

  .careers-splitFlipMobile {
    display: flex;
    flex-direction: column-reverse;
  }

  .careers-splitColumn,
  .careers-splitColumn:first-child,
  .careers-splitColumn:last-child {
    padding: 0;
  }

  .careers-splitToGutter {
    position: relative;
    width: calc(100% + 40px);
    margin-left: -20px;
  }

  .careers-landing-imageSquare {
    width: calc(100% + 20px);
    margin-left: 0;
  }

  .careers-landing-module {
    padding: 90px 20px;
  }

    .careers-landing-module.careers-landing-moduleBlack {
      padding: 30px 20px 80px;
    }

  .careers-landing-moduleShortMobile {
    padding: 0 20px;
  }

  .careers-landing-hero {
    padding: 70px 20px;
    min-height: 40vh;
  }

  .careers-landing-heroSubtitle {
    margin-bottom: 30px;
  }

  .careers-landing-button {
    font-size: 18px;
  }

  .careers-landing-hero .careers-landing-button {
    left: initial;
    padding: 0 20px;
    width: calc(100% - 40px);
    max-width: none;
  }

  .careers-landing-cta-arrow {
    left: calc(50% - 33px);
  }

  .careers-landing-button .arrow {
    top: 11px;
  }

  .careers-grid {
    display: block;
  }

  .careers-grid-item {
    position: relative;
    border-bottom: none;
  }

    .careers-grid-item:after {
      content: '';
      position: absolute;
      bottom: 0;
      left: -20px;
      width: calc(100% + 40px);
      height: 1px;
      background-color: #000000;
      background-color: var(--cx-color-black);
    }

    .careers-grid-item .careers-grid-itemTitle {
      margin: 0 0 5px;
      padding-top: 20px;
    }

    .careers-grid-item .careers-grid-itemSubtitle {
      margin: 0;
      padding-bottom: 20px;
    }

  .careers-landing-moduleBlack .careers-grid-item {
    border-bottom: none;
  }

    .careers-landing-moduleBlack .careers-grid-item:after {
      content: '';
      background-color: #FFFFFF;
      background-color: var(--cx-color-white);
    }

  .careers-landing-buttonWidthFixed {
    position: absolute;
    bottom: -125px;
    left: 0;
    padding: 0 20px;
    max-width: none;
  }

  .careers-landing-buttonWidthFixed .button-hover-inner {
    padding-right: 0;
  }

  .careers-landing-buttonWidthFixed .arrow {
    display: none;
  }

  .careers-splitPanel:first-child {
    height: 40vh;
    min-height: 300px;
  }

  .careers-panel-text {
    width: calc(100% - 20px);
    margin-left: 20px;
    text-align: left;
  }

  .careers-panel-textInner {
    padding: 20px;
  }

  .careers-panel-text hr {
    margin: 20px 0;
  }

  .careers-panel-text .careers-panel-city {
    margin: 0 0 15px;
  }

  .careers-panel-descriptionMemo,
  .careers-panel-description {
    text-align: left;
  }

  .careers-panel-imageOverflow {
    position: relative;
    top: 0;
    left: 0;
    width: calc(100% + 20px);
    max-width: none;
    height: calc(100% + 40px);
  }

  .careers-splitEqual:first-child .careers-panel-description {
    margin-bottom: 20px;
  }

  .careers-sliderMaskShort {
    padding-top: 60%;
  }
}

main#reactLanding {
  min-height: 1000px;
}

main#reactLanding.loaded {
  min-height: auto;
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2NsaWVudC1zcmMvZGVwYXJ0bWVudC9kZXBhcnRtZW50LmNzcyIsIi4uL2NsaWVudC1zcmMvam9icy9qb2IuY3NzIiwiLi4vY2xpZW50LXNyYy9qb2JzL2pvYnMuY3NzIiwiLi4vY2xpZW50LXNyYy9sYW5kaW5nL2xhbmRpbmcuY3NzIiwiLi4vY2xpZW50LXNyYy9qb2JzL25vX2pvYi5jc3MiLCIuLi9jbGllbnQtc3JjL3JlYWN0L2NvbXBvbmVudHMvU2VhcmNoVHlwZWFoZWFkL1NlYXJjaFR5cGVhaGVhZC5jc3MiLCIuLi9jbGllbnQtc3JjL2Jhc2UuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsY0FBYztFQUNkLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1YsY0FBNEI7RUFBNUIsNEJBQTRCO0VBQzVCLGtCQUFrQjtFQUNsQixlQUFlO0VBQ2YsMENBQTBDO0VBQzFDLDZCQUE2QjtFQUM3QixVQUFVO0FBQ1o7O0FBRUE7RUFDRSx5QkFBdUM7RUFBdkMsdUNBQXVDO0FBQ3pDOztBQUdFO0lBQ0UsYUFBYTtFQUNmOztBQUVBO0lBQ0UsYUFBYTtJQUNiLGdCQUFnQjtFQUNsQjs7QUFHRjtFQUNFLGtCQUFrQjtBQUNwQjs7QUFFQTtFQUNFLGtCQUFrQjtFQUNsQixnQ0FBZ0M7QUFDbEM7O0FBRUE7RUFDRSxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLE9BQU87RUFDUCxVQUFVO0VBQ1YsVUFBVTtFQUNWLG9CQUFvQjtBQU90Qjs7QUFMRTtJQUNFLGtCQUFrQjtJQUNsQixVQUFVO0lBQ1YsVUFBVTtFQUNaOztBQUdGO0VBQ0Usa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVixPQUFPO0VBQ1AsWUFBWTtFQUNaLFVBQVU7QUFrQlo7O0FBaEJFO0lBQ0Usa0JBQWtCO0lBQ2xCLFNBQVM7SUFDVCx1QkFBdUI7SUFDdkIsZUFBZTtJQUNmLFVBQVU7SUFDVixpQ0FBaUM7RUFDbkM7O0FBRUEsaUJBQWlCOztBQUNq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QUNmOztFQUVBO0lBQ0UsWUFBWTtJQUNaLGlCQUFpQjtFQUNuQjs7RUFFQTtJQUNFLHdCQUF3QjtJQUN4QixpQkFBaUI7SUFDakIsZ0JBQWdCO0VBQ2xCOztFQUVBO0lBQ0UsYUFBYTtFQUNmOztFQUVBO0lBQ0UsY0FBYztFQUNoQjs7RUFFQTtJQUNFLGdCQUFnQjtFQUNsQjs7RUFFQTs7SUFFRSxnQkFBZ0I7RUFDbEI7O0VBRUE7SUFDRSxrQkFBa0I7SUFDbEIsTUFBTTtJQUNOLE9BQU87SUFDUCx3QkFBd0I7SUFDeEIsZUFBZTtJQUNmLHlCQUF5QjtFQUMzQjs7RUFFQTtJQUNFLG1CQUFtQjtFQUNyQjs7RUFFQTtJQUNFLGdCQUFnQjtFQUNsQjtBQUNGOztBQUVBO0VBQ0Usa0JBQWtCO0FBQ3BCOztBQUVBO0VBQ0UsZ0JBQWdCO0FBQ2xCIiwiZmlsZSI6ImJhc2UuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNhcmVlcnMtZGVwYXJ0bWVudCAuY2FyZWVycy1sYW5kaW5nLW1heFdpZHRoIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2FyZWVycy1kZXBhcnRtZW50LXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMzVweDtcbiAgY29sb3I6IHZhcigtLWN4LWNvbG9yLXdoaXRlKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDIycHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZykgdHJhbnNsYXRlWCgtNTAlKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIHotaW5kZXg6IDI7XG59XG5cbi5jYXJlZXJzLWxhbmRpbmctaGVybyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWN4LWNvbG9yLWJsYWNrKTtcbn1cblxuLmNhcmVlcnMtc3BsaXREZXBhcnRtZW50IHtcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgZmxleDogMCAwIDMwJTtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgZmxleDogMCAwIDcwJTtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICB9XG59XG5cbi5jYXJlZXJzLWRlcGFydG1lbnQtc2xpZGVzT3V0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJlZXJzLWRlcGFydG1lbnQtc2xpZGVzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC42cyBlYXNlLW91dDtcbn1cblxuLmNhcmVlcnMtZGVwYXJ0bWVudC1zbGlkZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAmLnNsaWRlLWFjdGl2ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4jY29udHJvbHMtZGVwYXJ0bWVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzNzBweDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwNXB4O1xuICB6LWluZGV4OiAzO1xuXG4gIC5zbGlkZXItaG92ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwcHg7XG4gICAgbGVmdDogY2FsYygxMDAlICsgMjBweCk7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2Utb3V0O1xuICB9XG5cbiAgLyogRGVza3RvcCBvbmx5ICovXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLnNsaWRlci1wcmV2OmhvdmVyICsgLnNsaWRlci1wcmV2LWhvdmVyLFxuICAgIC5zbGlkZXItbmV4dDpob3ZlciArIC5zbGlkZXItbmV4dC1ob3ZlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuXG4jY2FyZWVycy1zZWxlY3Rvci1lbmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC8qIE9wdGljYWwgYWRqdXN0bWVudCAqL1xuICB0b3A6IC01cHg7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogNTAlO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2Utb3V0O1xuXG4gIC5jYXJlZXJzLXNlbGVjdG9yLWN1cnJlbnQge1xuICAgIGNvbG9yOiB2YXIoLS1jeC1jb2xvci13aGl0ZSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3gtY29sb3ItYmxhY2spO1xuICAgIGJveC1zaGFkb3c6IDJweCAycHggOHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG5cbiAgfVxuXG4gIC5jYXJlZXJzLXNlbGVjdG9yLW9wdGlvbnMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWN4LWNvbG9yLWdyZXkxMDApO1xuICAgIGJveC1zaGFkb3c6IDJweCAycHggOHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIH1cblxuICAuY2FyZWVycy1zZWxlY3Rvci1vcHRpb25zIGxpIHtcblxuICB9XG5cbiAgLmNhcmVlcnMtc2VsZWN0b3Itb3B0aW9ucyBsaTpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWN4LWNvbG9yLXdoaXRlKTtcbiAgfVxuXG4gIC5hcnJvd0Rvd24sXG4gIC5hcnJvd0Rvd246YmVmb3JlLFxuICAuYXJyb3dEb3duOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jeC1jb2xvci13aGl0ZSk7XG4gIH1cblxuICAmLmFjdGl2ZSAuY2FyZWVycy1zZWxlY3Rvci1jdXJyZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jeC1jb2xvci1ncmV5MTAwKTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAjY2FyZWVycy1zZWxlY3Rvci1lbmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxuXG4gIC5jYXJlZXJzLWRlcGFydG1lbnQgLmNhcmVlcnMtbGFuZGluZy1tZW1vLmNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi8qIEFuaW1hdGlvbiAqL1xuLm1hc2stZGVwYXJ0bWVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jeC1jb2xvci1iYWNrZ3JvdW5kQWNjZW50KTtcbiAgei1pbmRleDogMztcbiAgdHJhbnNpdGlvbjogMC41cyBlYXNlLW91dDtcbn1cblxuLnNsaWRlLWZhZGUge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG5cbi5zbGlkZXMtbW92aW5nSW4ge1xuICAubWFzay1kZXBhcnRtZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5zbGlkZS1mYWRlIHtcbiAgICBhbmltYXRpb246IHNsaWRlRmFkZU91dCAwLjNzIGVhc2UtaW4tb3V0IGJvdGg7XG4gIH1cbn1cblxuLnNsaWRlcy1tb3ZpbmdPdXQge1xuICAubWFzay1kZXBhcnRtZW50IHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBpbml0aWFsO1xuICAgIHdpZHRoOiAwO1xuICB9XG5cbiAgLnNsaWRlLWZhZGUge1xuICAgIGFuaW1hdGlvbjogc2xpZGVGYWRlSW4gMC40cyBlYXNlLWluLW91dCBib3RoO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVGYWRlT3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVGYWRlSW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDAwcHgpIHtcbiAgI2NvbnRyb2xzLWRlcGFydG1lbnQge1xuICAgIHRvcDogMjV2dztcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAuY2FyZWVycy1kZXBhcnRtZW50LXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmNhcmVlcnMtc3BsaXREZXBhcnRtZW50Omxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IC0yMHB4O1xuICB9XG5cbiAgLmNhcmVlcnMtZGVwYXJ0bWVudCAuY2FyZWVycy1sYW5kaW5nLW1lbW8ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gIC5jYXJlZXJzLWRlcGFydG1lbnQgLmNhcmVlcnMtcGFuZWwtZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAjY29udHJvbHMtZGVwYXJ0bWVudCB7XG4gICAgdG9wOiAtNzVweDtcbiAgICByaWdodDogY2FsYyg1MCUgLSAyMDBweCk7XG4gICAgbGVmdDogaW5pdGlhbDtcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NDBweCkge1xuICAjY29udHJvbHMtZGVwYXJ0bWVudCB7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbn1cbiIsIi5jYXJlZXJzLWpvYiAuY2FyZWVycy1sYW5kaW5nLWhlcm9EZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5jYXJlZXJzLXBhbmVsLXRleHQuY2FyZWVycy1wYW5lbC1qb2Ige1xuICBtYXJnaW46IC0xNDBweCBhdXRvIDEwMHB4IGF1dG87XG5cbiAgaHIge1xuICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gIH1cblxuICAuY2FyZWVycy1wYW5lbC1qb2JJbmZvIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gIH1cblxuICAuY2FyZWVycy1wYW5lbC1qb2JIZWFkaW5nIHtcbiAgICBtYXJnaW46IDAgMCA1cHg7XG4gIH1cbn1cblxuLmNhcmVlcnMtam9iLWFzaWRlIHtcbiAgcGFkZGluZzogNjBweCA4MHB4O1xuICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuXG4gIC5jYXJlZXJzLWpvYi1hc2lkZS1pbm5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgfVxuXG4gIC5jYXJlZXJzLWpvYi1hc2lkZS1tZW1vIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgfVxufVxuXG4uY2FyZWVycy1qb2ItZGVzY3JpcHRpb24ge1xuICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICBsaW5lLWhlaWdodDogMS42ZW07XG5cbiAgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jeC1jb2xvci1ibGFjayk7XG4gIH1cblxuICBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB9XG5cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMjRweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5jYXJlZXJzLXNsaWRlck1hc2tTaG9ydC5jYXJlZXJzLWpvYi1zbGlkZXIge1xuICB3aWR0aDogY2FsYygxMDAlICsgMTIwcHgpO1xuICBtYXJnaW4tbGVmdDogLTEyMHB4O1xufVxuXG4uY2FyZWVycy1ncmVlbkhvdXNlRm9ybSBpZnJhbWUge1xuICBib3JkZXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDY4MHB4O1xufVxuXG4jYXBwbHktbm93LXNjcm9sbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMzVweDtcbiAgbGVmdDogODBweDtcbiAgd2lkdGg6IDMwMHB4O1xufVxuXG4vKiBEZXNrdG9wICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAuY2FyZWVycy1qb2ItZGVzY3JpcHRpb24gPiBwOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLyogVGFibGV0ICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpIGFuZCAobWluLXdpZHRoOiA5MDFweCkge1xuICAuY2FyZWVycy1qb2ItYXNpZGUge1xuICAgIHBhZGRpbmc6IDQwcHggMCAwIDYwcHg7XG4gIH1cbn1cblxuLyogTW9iaWxlICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAuY2FyZWVycy1qb2ItZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAuY2FyZWVycy1wYW5lbC10ZXh0LmNhcmVlcnMtcGFuZWwtam9iIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgIC5jYXJlZXJzLXBhbmVsLWpvYkhlYWRpbmcge1xuICAgICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgIH1cblxuICAgIGhyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmNhcmVlcnMtcGFuZWwtam9iSW5mbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuXG4gIC5jYXJlZXJzLWpvYi1hc2lkZSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmNhcmVlcnMtcGFuZWwtam9iIC5jYXJlZXJzLXNwbGl0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgLmNhcmVlcnMtam9iLWRlc2NyaXB0aW9uIGxpIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNmVtO1xuICB9XG59XG4iLCIuY2FyZWVycy1hbGwgLmNhcmVlcnMtZ3JpZCB7XG4gIG1hcmdpbi1ib3R0b206IDkwcHg7XG5cbiAgLmNhcmVlcnMtZ3JpZC1pdGVtIC5jYXJlZXJzLWdyaWQtaXRlbVN1YnRpdGxlIHtcbiAgICBtYXJnaW46IDAgMCAzMHB4O1xuICB9XG5cbiAgLmNhcmVlcnMtZ3JpZC1pdGVtIC5jYXJlZXJzLWdyaWQtaXRlbVRpdGxlIHtcbiAgICBtYXJnaW46IDI1cHggMCA1cHg7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICB9XG59XG5cbi5jYXJlZXJzLWFsbEpvYnMtZ3JvdXAge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4uY2FyZWVycy1hbGxKb2JzLWRlcGFydG1lbnROYW1lIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLWN4LWNvbG9yLWJsYWNrKTtcbiAgcGFkZGluZy1ib3R0b206IDM1cHg7XG59XG5cbi5jYXJlZXJzLWFsbEpvYnMtam9iLnUtZGlzcGxheU5vbmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY2FyZWVycy1hbGxKb2JzLWRyb3Bkb3ducyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMzVweDtcbiAgbGVmdDogY2FsYyg1MCUgLSAoMTE3MHB4IC8gMikpO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMztcbn1cblxuLyogU2VsZWN0b3IgU3R5bGVzICovXG4uY2FyZWVycy1zZWxlY3RvciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuXG4gIC5hcnJvd0Rvd24ge1xuICAgIHRvcDogMjVweDtcbiAgICByaWdodDogMjVweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gIH1cblxuICAuYXJyb3dEb3duOmJlZm9yZSB7XG4gICAgdG9wOiAyMHB4O1xuICB9XG5cbiAgLmFycm93RG93bjphZnRlciB7XG4gICAgdG9wOiAyMHB4O1xuICB9XG59XG5cbi5jYXJlZXJzLXNlbGVjdG9yLWljb24ge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogNXB4IDEwcHg7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIHotaW5kZXg6IDEwMDtcbn1cblxuLmNhcmVlcnMtc2VsZWN0b3ItY3VycmVudCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAyMHB4O1xuICBoZWlnaHQ6IDcwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBjb2xvcjogdmFyKC0tY3gtY29sb3ItYmxhY2spO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jeC1jb2xvci13aGl0ZSk7XG4gIGJveC1zaGFkb3c6IDJweCAycHggOHB4IDJweCB2YXIoLS1jeC1jb2xvci1kcm9wU2hhZG93KTtcbiAgZm9udC1zaXplOiAyNHB4O1xuICB6LWluZGV4OiAzO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jYXJlZXJzLXNlbGVjdG9yLW9wdGlvbnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDIyNXB4O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIGJhY2tncm91bmQ6IHZhcigtLWN4LWNvbG9yLXdoaXRlKTtcbiAgYm94LXNoYWRvdzogMnB4IDZweCA4cHggMnB4IHZhcigtLWN4LWNvbG9yLWRyb3BTaGFkb3cpO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB6LWluZGV4OiB2YXIoLS1jeC16SW5kZXgtMSk7XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIHdpZHRoOiA3cHg7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWN4LWNvbG9yLWRyb3BTaGFkb3cpO1xuICB9XG59XG5cbi5jYXJlZXJzLXNlbGVjdG9yLW9wdGlvbnMgbGkge1xuICBwYWRkaW5nOiAyMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1jeC1jb2xvci10ZXh0U3VidGxlKTtcbiAgZm9udC1zaXplOiAyNHB4O1xufVxuXG4uY2FyZWVycy1zZWxlY3Rvci1vcHRpb25zIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xufVxuXG4uY2FyZWVycy1zZWxlY3Rvci1vcHRpb25zIGxpOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWN4LWNvbG9yLXRleHQpO1xufVxuXG4vKiBFcnJvciBNZXNzYWdlICovXG4uY2FyZWVycy1ub1Jlc3VsdHMge1xuICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDI1cHgpIHtcbiAgLmNhcmVlcnMtYWxsSm9icy1kcm9wZG93bnMge1xuICAgIGxlZnQ6IDEyMHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyNDBweCk7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLmNhcmVlcnMtc3BsaXRFcXVhbDpmaXJzdC1jaGlsZCAuY2FyZWVycy1zZWxlY3RvciB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICB9XG5cbiAgLmNhcmVlcnMtc3BsaXRFcXVhbDpsYXN0LWNoaWxkIC5jYXJlZXJzLXNlbGVjdG9yIHtcbiAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAuY2FyZWVycy1hbGwgLmNhcmVlcnMtZ3JpZCB7XG4gICAgLmNhcmVlcnMtZ3JpZC1pdGVtIC5jYXJlZXJzLWdyaWQtaXRlbVN1YnRpdGxlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuY2FyZWVycy1ncmlkLWl0ZW0gLmNhcmVlcnMtZ3JpZC1pdGVtVGl0bGUge1xuICAgICAgbWFyZ2luOiA1cHggMDtcbiAgICB9XG4gIH1cblxuICAuY2FyZWVycy1hbGwgLmNhcmVlcnMtYWxsSm9icy1kZXBhcnRtZW50TmFtZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICB9XG5cbiAgLmNhcmVlcnMtYWxsSm9icy1ncm91cCB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgfVxuXG4gIC5jYXJlZXJzLXNlbGVjdG9yIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5hcnJvd0Rvd24ge1xuICAgICAgdG9wOiAxN3B4O1xuICAgIH1cbiAgfVxuXG4gIC5jYXJlZXJzLXNlbGVjdG9yLWN1cnJlbnQge1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgaGVpZ2h0OiA1OHB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxuXG4gIC5jYXJlZXJzLXNwbGl0RXF1YWw6Zmlyc3QtY2hpbGQgLmNhcmVlcnMtc2VsZWN0b3Ige1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cblxuICAuY2FyZWVycy1hbGxKb2JzLWRyb3Bkb3ducyB7XG4gICAgYm90dG9tOiAtNjhweDtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcblxuICAgIC5jYXJlZXJzLXNwbGl0IHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG5cbiAgLmNhcmVlcnMtc2VsZWN0b3Itb3B0aW9ucyBsaSB7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cblxuICAuY2FyZWVycy1hbGxKb2JzLWRlcGFydG1lbnROYW1lIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG4iLCIvKiBCdXR0b25zICovXG4uY2FyZWVycy1sYW5kaW5nLWhlcm9CdXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgLmJ1dHRvbi1ob3Zlci1pbm5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgbWFyZ2luLXRvcDogMjRweDtcbiAgfVxufVxuXG4uY2FyZWVycy1sYW5kaW5nLWhlcm8gLmNhcmVlcnMtbGFuZGluZy1idXR0b24uY2FyZWVycy1sYW5kaW5nLURFSS1idXR0b24ge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG5cbiAgICAuYnV0dG9uLWhvdmVyLWlubmVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5hcnJvdyB7XG4gICAgICB0b3A6IDM1cHg7XG4gICAgICB3aWR0aDogMTZweDtcbiAgICB9XG5cbiAgICAuYXJyb3c6YmVmb3JlLFxuICAgIC5hcnJvdzphZnRlciB7XG4gICAgICBsZWZ0OiAxMXB4O1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgIG1pbi13aWR0aDogZml0LWNvbnRlbnQ7XG4gIH1cbn1cblxuLyogSW1hZ2VzICovXG4uY2FyZWVycy1sYW5kaW5nLWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4uY2FyZWVycy1sYW5kaW5nLXZpZGVvIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICYgPiB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG4uY2FyZWVycy1sYW5kaW5nLWltYWdlUmVjdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXRvcDogODAlO1xufVxuXG4uY2FyZWVycy1sYW5kaW5nLWltYWdlVGFsbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXRvcDogMTEwJTtcbn1cblxuLmNhcmVlcnMtbGFuZGluZy1pbWFnZVNxdWFyZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXRvcDogMTAwJTtcbn1cblxuLmNhcmVlcnMtc2xpZGVyTWFzayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiAxMjAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uY2FyZWVycy1zbGlkZXJNYXNrU2hvcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXRvcDogODAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uY2FyZWVycy1zbGlkZXJNYXNrLWltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGVhc2Utb3V0O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5jYXJlZXJzLXNsaWRlck1hc2staW1hZ2Uuc2xpZGUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB6LWluZGV4OiAyO1xufVxuXG4uY2FyZWVycy1zbGlkZXJNYXNrLWltYWdlLnNsaWRlLWluYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB6LWluZGV4OiAxO1xufVxuXG4uY2FyZWVycy1zbGlkZXJNYXNrLXVuZGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNjYlO1xuICBtYXgtd2lkdGg6IDMxMHB4O1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuXG4uY2FyZWVycy1sYW5kaW5nLXRlbmV0cy1tb2R1bGUge1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4vKiBUZW5ldHMgKi9cbi5jYXJlZXJzLXRlbmV0cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgLmNhcmVlcnMtaG9yaXpvbnRhbC10ZW5ldCB7XG4gICAgbWF4LXdpZHRoOiAzMjBweDtcblxuICAgIC5jYXJlZXJzLWhvcml6b250YWwtdGVuZXQtaW1hZ2Uge1xuICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG5cbiAgICAuY2FyZWVycy10ZW5ldC10aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS1jeC1zcGFjaW5nLTR4KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWN4LXNwYWNpbmctMngpO1xuICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gICAgfVxuXG4gICAgcCBhIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbi5jYXJlZXJzLXRlbmV0IHtcbiAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5jYXJlZXJzLXRlbmV0LW91dGVyIHtcbiAgLyogbWFyZ2luLXRvcDogNDBweDsgKi9cbn1cblxuLmNhcmVlcnMtdGVuZXQtdGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJlZXJzLXRlbmV0LWlubmVyIHAgYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmNhcmVlcnMtdGVuZXQtaW5uZXIgcCBhOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWN4LWNvbG9yLW9uRGFya1RleHRTdWJ0bGUpO1xufVxuXG4uY2FyZWVycy1sYW5kaW5nLW1lbW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogNzAwcHg7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5jYXJlZXJzLWxhbmRpbmctbWVtb0hlYWRpbmcge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBsaW5lLWhlaWdodDogMS4yZW07XG59XG5cbi5jYXJlZXJzLWxhbmRpbmctbWVtb0JvdHRvbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiA2MDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgbGluZS1oZWlnaHQ6IDEuMmVtO1xufVxuXG4vKiBWaWRlbyAqL1xuLmNhcmVlcnMtdmlkZW9QbGF5ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uY2FyZWVycy12aWRlb1BsYXllciBpZnJhbWUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY2FyZWVycy12aWRlb1BsYXllci1jb3ZlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcGFkZGluZy10b3A6IDI1JTtcbiAgcGFkZGluZy1ib3R0b206IDI1JTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY2FyZWVycy12aWRlb1BsYXllci1jb3ZlcklubmVyIHtcbiAgcGFkZGluZzogMCA0MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiB2YXIoLS1jeC1jb2xvci13aGl0ZSk7XG59XG5cbi5jYXJlZXJzLXZpZGVvUGxheWVyIC5jYXJlZXJzLXNwbGl0VG9HdXR0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jeC1jb2xvci1ibGFjayk7XG59XG5cbi5jYXJlZXJzLWxpZ2h0Ym94IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDExMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWN4LWNvbG9yLWJsYWNrKTtcbn1cblxuLmNhcmVlcnMtdmlkZW9XcmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmNhcmVlcnMtdmlkZW9XcmFwcGVyIHNwYW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjBweDtcbiAgcmlnaHQ6IDkwcHg7XG4gIGNvbG9yOiB2YXIoLS1jeC1jb2xvci1vbkRhcmtUZXh0KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB6LWluZGV4OiB2YXIoLS1jeC16SW5kZXgtMSk7XG59XG5cbi5jYXJlZXJzLXZpZGVvV3JhcHBlciBpZnJhbWUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMTAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLmNhcmVlcnMtY2xvc2UtaWNvbiB7XG4gIGZsb2F0OiByaWdodDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDMwcHg7XG4gIHJpZ2h0OiAzMHB4O1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDEwMDtcblxuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWN4LWNvbG9yLXdoaXRlKTtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB9XG59XG5cbi8qIERvdHMgKi9cbi5kb3RzLWNpcmNsZSxcbi5kb3RzLWRpYW1vbmQsXG4uZG90cy1sZXR0ZXJJIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAzcHg7XG4gIGxlZnQ6IDQ4cHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDk1cHg7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7XG59XG5cbi5kb3RzLWRpYW1vbmQge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG4uZG90cy1sZXR0ZXJJIHtcbiAgbGVmdDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uZG90cy1pbnZlcnQgLmlkZW50aXR5LWRvdCAuaW5uZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jeC1jb2xvci1ibGFjayk7XG59XG5cbi5kb3RzLXBsYXlCdXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA2cHg7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDIwcHg7XG59XG5cbi8qIE9mZmljZXMgKi9cbi5jYXJlZXJzLW9mZmljZXMtc2xpY2sge1xuICB3aWR0aDogY2FsYygxMDAlICsgMjQwcHgpO1xuICBtYXJnaW4tbGVmdDogLTEyMHB4O1xufVxuXG4uY2FyZWVycy1vZmZpY2VzLXNsaWNrU2xpZGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW4tdG9wOiAycHg7XG4gIG1hcmdpbi1ib3R0b206IDJweDtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbn1cblxuLmNhcmVlcnMtb2ZmaWNlcy1zbGljayAuc2xpY2stdHJhY2sge1xuICBtYXJnaW4tbGVmdDogMnB4O1xuICBtYXJnaW4tcmlnaHQ6IDJweDtcbn1cblxuLnNsaWNrLWluaXRpYWxpemVkIC5zbGljay1zbGlkZSBpbWcsXG4uc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHNwYW4ge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dDtcbn1cblxuLmNhcmVlcnMtb2ZmaWNlcy1zbGlja1NsaWRlIGltZyB7XG4gIGhlaWdodDogMzUwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jYXJlZXJzLW9mZmljZXMgLnNsaWRlci1wcm9ncmVzcyBidXR0b246Zm9jdXMge1xuICBvcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4uY2FyZWVycy1vZmZpY2UtbmFtZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAyMHB4IDAgMTBweCAyMHB4O1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbi8qIFByb21vdGlvbiBNb2R1bGUgKi9cbi5jYXJlZXJzLWxhbmRpbmctcHJvbW90aW9uTW9kdWxlIHtcbiAgYm94LXNoYWRvdzogMnB4IDJweCAycHggMnB4IHZhcigtLWN4LWNvbG9yLWRyb3BTaGFkb3cpO1xufVxuXG4uY2FyZWVycy1sYW5kaW5nLXByb21vdGlvbk1vZHVsZSAuY2FyZWVycy1sYW5kaW5nLW1lbW9Cb3R0b20ge1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDQ2cHg7XG4gIGxpbmUtaGVpZ2h0OiA0NXB4O1xufVxuXG4uY2FyZWVycy1sYW5kaW5nLXByb21vdGlvbk1vZHVsZSAuY2FyZWVycy1zcGxpdCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sdW1uLWdhcDogNSU7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNDUlIDFweCA0NSU7XG59XG5cbi5jYXJlZXJzLWxhbmRpbmctcHJvbW90aW9uTW9kdWxlIC5jYXJlZXJzLWdhcExpbmUge1xuICBoZWlnaHQ6IDM5NHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jeC1jb2xvci1ibGFjayk7XG59XG5cbi5jYXJlZXJzLWxhbmRpbmctcHJvbW90aW9uTW9kdWxlIC5jYXJlZXJzLWxhbmRpbmctYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY2FyZWVycy1sYW5kaW5nLXByb21vdGlvbk1vZHVsZSAuY2FyZWVycy1sYW5kaW5nLWNvbnRlbnRDb250YWluZXIge1xuICBtYXgtd2lkdGg6IDM0NnB4O1xufVxuXG4uY2FyZWVycy1sYW5kaW5nLXByb21vdGlvbkpvaW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4uY2FyZWVycy1sYW5kaW5nLXByb21vdGlvbk1vZHVsZSAuY2FyZWVycy1sYW5kaW5nLXByb21vdGlvbkJ1dHRvbiB7XG4gIG1heC13aWR0aDogMzQ2cHg7XG4gIGhlaWdodDogNjBweDtcbiAgbWFyZ2luLXRvcDogMzVweDtcbiAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cblxuLmNhcmVlcnMtbGFuZGluZy1wcm9tb3Rpb25CdXR0b24gLmFycm93IHtcbiAgd2lkdGg6IDEycHg7XG59XG5cbi5jYXJlZXJzLWxhbmRpbmctcHJvbW90aW9uQnV0dG9uIC5idXR0b24taG92ZXItaW5uZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xufVxuXG4uY2FyZWVycy1sYW5kaW5nLXByb21vdGlvbkJ1dHRvbiAuYXJyb3c6YmVmb3JlLFxuLmNhcmVlcnMtbGFuZGluZy1wcm9tb3Rpb25CdXR0b24gLmFycm93OmFmdGVyIHtcbiAgbGVmdDogOHB4O1xufVxuXG4vKiBBbmltYXRpb24gKi9cbi5tYXNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWN4LWNvbG9yLWJhY2tncm91bmRBY2NlbnQpO1xuICB6LWluZGV4OiA1MDtcbiAgdHJhbnNpdGlvbjogMS4ycztcbn1cblxuLm1hc2tXaGl0ZSB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWN4LWNvbG9yLXdoaXRlKTtcbiAgdHJhbnNpdGlvbjogMS4wcztcbn1cblxuLm1hc2tCbGFjayB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWN4LWNvbG9yLWJsYWNrKTtcbn1cblxuLnNjcm9sbGVkIC5tYXNrIHtcbiAgd2lkdGg6IDA7XG59XG5cbi5zY3JvbGxlZCAubWFza1VwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbn1cblxuLnNjcm9sbGVkIC5jYXJlZXJzLXBhbmVsLXRleHQgLm1hc2tVcCB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuM3M7XG59XG5cbi50cmFuc2l0aW9uLWZhZGVVcCB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG59XG5cbi50cmFuc2l0aW9uLWZhZGVVcFNsb3cge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2Utb3V0O1xufVxuXG4uc2Nyb2xsZWQgLnRyYW5zaXRpb24tZmFkZVVwLFxuLnNjcm9sbGVkIC50cmFuc2l0aW9uLWZhZGVVcFNsb3cge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG5cbi5zY3JvbGxlZCAuY2FyZWVycy1sYW5kaW5nLWhlcm9TdGF0ZW1lbnQ6bnRoLWNoaWxkKDIpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4ycztcbn1cblxuLnNjcm9sbGVkIC5jYXJlZXJzLWxhbmRpbmctaGVyb1N0YXRlbWVudDpudGgtY2hpbGQoMykge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjRzO1xufVxuXG4uc2Nyb2xsZWQgLmNhcmVlcnMtdGVuZXQ6bnRoLWNoaWxkKDIpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC41cztcbn1cblxuLnNjcm9sbGVkIC5jYXJlZXJzLXRlbmV0Om50aC1jaGlsZCgzKSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDEuMHM7XG59XG5cbi5zY3JvbGxlZCAuY2FyZWVycy1sYW5kaW5nLW1lbW9UZXh0IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC4ycztcbn1cblxuLnNjcm9sbGVkIC5jYXJlZXJzLXRleHRNb2JpbGUge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjJzO1xufVxuXG4vKiBLZXlmcmFtZXMgKi9cbkBrZXlmcmFtZXMgYXJyb3dTaHVmZmxlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGFycm93U2h1ZmZsZU91dCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoM3B4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG4vKiBEZXNrdG9wICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAuY2FyZWVycy10ZW5ldC1pbm5lciB7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgfVxuXG4gIC5jYXJlZXJzLXBhZExlZnQge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgfVxuXG4gIC5jYXJlZXJzLXBhZFJpZ2h0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG5cbiAgLmNhcmVlcnMtc3BsaXRTaGlmdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xMjBweDtcbiAgfVxuXG4gIC5jYXJlZXJzLWxhbmRpbmctbWVtb0luZGVudCB7XG4gICAgbWF4LXdpZHRoOiA1NTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIH1cblxuICAuY2FyZWVycy1sYW5kaW5nLW1vZHVsZUJ1bXAge1xuICAgIG1hcmdpbi1ib3R0b206IDgwcHg7XG4gIH1cblxuICAuc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlOmhvdmVyIHNwYW4sXG4gIC5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGU6aG92ZXIgaW1nIHtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAuY2FyZWVycy1jdGE6aG92ZXIgLmFycm93IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gIH1cblxuICAuY2FyZWVycy1jdGE6aG92ZXIgLmNhcmVlcnMtY3RhLXRleHQge1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxufVxuXG4vKiBUYWJsZXQgKi9cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI4MHB4KSBhbmQgKG1pbi13aWR0aDogOTAxcHgpIHtcbiAgLmNhcmVlcnMtdGVuZXQtaW5uZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuLyogTW9iaWxlICovXG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gIC5jYXJlZXJzLWxhbmRpbmctbWVtbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiA0MHB4IGF1dG87XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuY2FyZWVycy1sYW5kaW5nLW1lbW9Cb3R0b20ge1xuICAgIG1heC13aWR0aDogMjYwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG4gIC5jYXJlZXJzLXRlbmV0IHtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICB9XG5cbiAgLmNhcmVlcnMtbGFuZGluZy12aWRlbyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICYgPiAuY2FyZWVycy1sYW5kaW5nLWltYWdlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5jYXJlZXJzLXZpZGVvUGxheWVyIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cblxuICAuY2FyZWVycy12aWRlb1BsYXllci1jb3ZlciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDQwcHgpO1xuICB9XG5cbiAgLmNhcmVlcnMtb2ZmaWNlcy1zbGljayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAuY2FyZWVycy1vZmZpY2VzLXNsaWNrU2xpZGUgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDgwdnc7XG4gIH1cblxuICAuY2FyZWVycy12aWRlb1dyYXBwZXIgaWZyYW1lIHtcbiAgICBwYWRkaW5nOiAyMDBweCAwO1xuICB9XG5cbiAgLmRvdHMtY2lyY2xlLFxuICAuZG90cy1kaWFtb25kIHtcbiAgICBsZWZ0OiA1MCU7XG4gIH1cblxuICAuZG90cy1sZXR0ZXJJIHtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDMxcHgpO1xuICB9XG5cbiAgLyogUHJvbW90aW9uIE1vZHVsZSAqL1xuICAuY2FyZWVycy1sYW5kaW5nLXByb21vdGlvbk1vZHVsZSAuY2FyZWVycy1sYW5kaW5nLXByb21vdGlvbkJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICB9XG5cbiAgLmNhcmVlcnMtbGFuZGluZy1wcm9tb3Rpb25Nb2R1bGUgLmNhcmVlcnMtbGFuZGluZy1tZW1vQm90dG9tIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICB9XG5cbiAgLmNhcmVlcnMtbGFuZGluZy1wcm9tb3Rpb25Nb2R1bGUgLmNhcmVlcnMtc3BsaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLmNhcmVlcnMtbGFuZGluZy1wcm9tb3Rpb25BZ2VudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gIH1cblxuICAuY2FyZWVycy1sYW5kaW5nLXByb21vdGlvbk1vZHVsZSAuY2FyZWVycy1sYW5kaW5nLWNvbnRlbnRDb250YWluZXIge1xuICAgIG1heC13aWR0aDogdW5zZXQ7XG4gIH1cblxuICAuY2FyZWVycy1sYW5kaW5nLXByb21vdGlvbkpvaW4ge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQ4cHgpIHtcbiAgLnVjLWdsb2JhbEhlYWRlci1idXR0b24ge1xuICAgIG1hcmdpbjogMTdweCAwO1xuICB9XG5cbiAgLnVjLWdsb2JhbEhlYWRlci1sb2dvdHlwZSB7XG4gICAgbWFyZ2luOiAyMXB4IDIwcHggMjFweCAwO1xuICAgIHdpZHRoOiAxMzRweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gIH1cblxuICAuY29uc3VtZXJGb290ZXItd3JhcHBlciB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDkwJTtcbiAgICBtYXgtd2lkdGg6IDExNzBweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkgYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5jYXJlZXJzLWxhbmRpbmctdmlkZW8ge1xuICAgICYgPiB2aWRlbyB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLmNhcmVlcnMtbGFuZGluZyB7XG4gIC5jYXJlZXJzLWxhbmRpbmctdGVuZXRzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG5cbiAgICAuY2FyZWVycy1sYW5kaW5nLW1lbW8ge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5jYXJlZXJzLWxhbmRpbmctam9icy1tb2R1bGUge1xuICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG5cbiAgICAuZG90cy1jaXJjbGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAyOXB4O1xuICAgICAgbGVmdDogOTk3cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgIC5kb3RzLWNpcmNsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRvdHMtY2lyY2xlLWxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB9XG5cbiAgICAuY2FyZWVycy1sYW5kaW5nLW1lbW8ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTdweDtcbiAgICB9XG4gIH1cblxuICAuY2FyZWVycy1sYW5kaW5nLWxpbmstbW9kdWxlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jeC1jb2xvci1ibGFjayk7XG4gIH1cblxuICAuY2FyZWVycy1sYW5kaW5nLWN0YS1hcnJvdyB7XG4gICAgYm90dG9tOiAtMTM3cHg7XG4gICAgbGVmdDogNTclO1xuICB9XG59XG5cbi5jYXJlZXJzLW9mZmljZS1nYWxsZXJ5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDEyMDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWN4LWNvbG9yLWJsYWNrKTtcbiAgb3BhY2l0eTogMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAuY2xvc2VCdG4uYW5pbUluIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cyBlYXNlLW91dDtcbiAgfVxuXG4gIC5jbG9zZUJ0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMzJweDtcbiAgICByaWdodDogMzJweDtcbiAgICB3aWR0aDogNzBweDtcbiAgICBoZWlnaHQ6IDcwcHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoXG4gICAgICA0NWRlZ1xuICAgICk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMjVweCAyNXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLW91dDtcbiAgfVxuXG4gIC5jbG9zZUJ0biAubGluZS5hIHtcbiAgICB0b3A6IDI1cHg7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjA1cztcbiAgfVxuXG4gIC5jbG9zZUJ0biAubGluZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogMTBweCAwIDAgMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jeC1jb2xvci13aGl0ZSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgfVxuXG4gIC5jbG9zZUJ0biAubGluZS5iIHtcbiAgICBsZWZ0OiAyNXB4O1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cblxuICAuY2FyZWVycy1vZmZpY2VzLWdhbGxlcnktc2xpY2sge1xuICAgIG1hcmdpbi10b3A6IDE1dmg7XG4gIH1cblxuICAuc2xpZGVyLWNvbnRyb2xzLWNvbnRhaW5lciB7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICByb3ctZ2FwOiA2MHB4O1xuXG4gICAgPiBkaXYge1xuICAgICAgbWFyZ2luOiAwIDMycHg7XG4gICAgICBtYXgtd2lkdGg6IDEwNTBweDtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIGhlaWdodDogNjB2aDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG5cbiAgLnNsaWRlci1wcm9ncmVzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQxNDE0MztcbiAgfVxuXG4gIC5jYXJlZXJzLW9mZmljZXMtc2xpY2tTbGlkZSBpbWcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIH1cbn1cbiIsIi5ub0pvYlNlY3Rpb24ge1xuICBwYWRkaW5nOiAxMDBweCAwO1xufVxuXG4ubm9Kb2JDb250YWluZXIge1xuICBtYXJnaW46IGF1dG87XG4gIHBhZGRpbmc6IDMwcHg7XG4gIG1heC13aWR0aDogODAwcHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWN4LWNvbG9yLWJhY2tncm91bmQpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iLCIuc2VhcmNoVHlwZWFoZWFkIHtcbiAgLnNlYXJjaFR5cGVhaGVhZC1wbGFjZWhvbGRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA2N3B4O1xuICB9XG5cbiAgLnNlYXJjaFR5cGVhaGVhZC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJveC1zaGFkb3c6IDBweCAwcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIH1cblxuICAuc2VhcmNoVHlwZWFoZWFkLXRpcHMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogNTdweDtcbiAgICBoZWlnaHQ6IDY3cHg7XG4gICAgY29sb3I6IHZhcigtLWN4LWNvbG9yLWdyZXk3MCk7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2N3B4O1xuICB9XG5cbiAgJi5mb2N1c2VkIHtcbiAgICAuc2VhcmNoVHlwZWFoZWFkLXRpcHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgcGFkZGluZy1yaWdodDogMzIwcHg7XG4gICAgfVxuICB9XG5cbiAgaW5wdXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMCAyNHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAycHg7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWN4LWZvbnQtZmFtaWx5U2Fucyk7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIGNvbG9yOiB2YXIoLS1jeC1jb2xvci1ibGFjayk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3gtY29sb3Itd2hpdGUpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMjRweCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwaU1Ua2lJR2hsYVdkb2REMGlNVGtpSUhacFpYZENiM2c5SWpBZ01DQXhPU0F4T1NJZ1ptbHNiRDBpYm05dVpTSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklqNEtQSEJoZEdnZ1pEMGlUVEU0TGpBek1ETWdNVFl1T1RZNU5Vd3hPQzR3TXpBeklERTJMamsyT1RWRE1UZ3VNekl6TWlBeE55NHlOakkwSURFNExqTXlNeklnTVRjdU56TTNNeUF4T0M0d016QTBJREU0TGpBek1ESkRNVGN1TnpNM05TQXhPQzR6TWpNeElERTNMakkyTWpZZ01UZ3VNekl6TWlBeE5pNDVOamszSURFNExqQXpNRE5NTVRJdU9EWTFOaUF4TXk0NU1qZERNVEV1TmpVek5pQXhOQzQ0TWpJeElERXdMakUxTkRRZ01UVXVNelV4TXlBNExqVXpNakkzSURFMUxqTTFNVE5ETkM0MU1EQXhOaUF4TlM0ek5URXpJREV1TWpNeE1UWWdNVEl1TURneklERXVNak14TVRZZ09DNHdOVEV4TVVNeExqSXpNVEUySURRdU1ERTROVElnTkM0ME9UazVPU0F3TGpjMUlEZ3VOVE15TWpjZ01DNDNOVU14TWk0MU5qUTFJREF1TnpVZ01UVXVPRE16TkNBMExqQXhPRFV5SURFMUxqZ3pNelFnT0M0d05URXhNVU14TlM0NE16TTBJRGt1T1RFNU9USWdNVFV1TVRNd09DQXhNUzQyTWpVeElERXpMamszTlRjZ01USXVPVEUyTTB3eE9DNHdNekF6SURFMkxqazJPVFZhVFRFMExqTXpNelFnT0M0d05URXhNVU14TkM0ek16TTBJRFF1T0RRMk9UZ2dNVEV1TnpNMk1pQXlMakkxSURndU5UTXlNamNnTWk0eU5VTTFMak15T0RNNElESXVNalVnTWk0M016RXhOaUEwTGpnME5qazRJREl1TnpNeE1UWWdPQzR3TlRFeE1VTXlMamN6TVRFMklERXhMakkxTkRRZ05TNHpNamcwTnlBeE15NDROVEV6SURndU5UTXlNamNnTVRNdU9EVXhNME14TVM0M016WXhJREV6TGpnMU1UTWdNVFF1TXpNek5DQXhNUzR5TlRRMElERTBMak16TXpRZ09DNHdOVEV4TVZvaUlHWnBiR3c5SW1Kc1lXTnJJaUJ6ZEhKdmEyVTlJbUpzWVdOcklpQnpkSEp2YTJVdGQybGtkR2c5SWpBdU5TSXZQZ284TDNOMlp6NEspO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTdweCAxN3B4O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICB9XG5cbiAgaW5wdXQ6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jeC1jb2xvci1ncmV5NzApO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgfVxuXG4gIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAzMzVweDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jeC1jb2xvci13aGl0ZSk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWN4LWZvbnQtZmFtaWx5U2Fucyk7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIGNvbG9yOiB2YXIoLS1jeC1jb2xvci1ncmV5ODApO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbGVmdDogMjBweDtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgIGhlaWdodDogNjdweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA2N3B4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB9XG5cbiAgICBsaTpob3ZlciB7XG4gICAgICBjb2xvcjogdmFyKC0tY3gtY29sb3ItYmx1ZTgwKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWN4LWNvbG9yLWdyZXkyMCk7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICBpbnB1dCxcbiAgICB1bCB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgfVxuXG4gICAgJi5mb2N1c2VkIHtcbiAgICAgIC5zZWFyY2hUeXBlYWhlYWQtdGlwcyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIGlucHV0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLm1vYmlsZSB7XG4gICAgLnNlYXJjaFR5cGVhaGVhZC1wbGFjZWhvbGRlciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNDVweDtcbiAgICB9XG5cbiAgICAuc2VhcmNoVHlwZWFoZWFkLXRpcHMge1xuICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTVweCBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTVRZaUlHaGxhV2RvZEQwaU1UWWlJSFpwWlhkQ2IzZzlJakFnTUNBeE5pQXhOaUlnWm1sc2JEMGlibTl1WlNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWo0S1BIQmhkR2dnWkQwaVRUWXVNamcwSURFdU16TXpRVFV1TmpJMElEVXVOakkwSURBZ01DQXdJQzQyTmpjZ05pNDVOVEZoTlM0Mk1qUWdOUzQyTWpRZ01DQXdJREFnTlM0Mk1UY2dOUzQyTVRkak1TNHhPQ0F3SURJdU1qYzJMUzR6TmpjZ015NHhPQzB1T1RreWJETXVOelU0SURNdU56VTNJREV1TkRRMUxURXVORFEwTFRNdU56VTRMVE11TnpVNFl5NDJNalV0TGprd05DNDVPVE10TWlBdU9Ua3pMVE11TVRoaE5TNDJNalFnTlM0Mk1qUWdNQ0F3SURBdE5TNDJNVGd0TlM0Mk1UaDZiVEFnTWk0d05ETkJNeTQxTnprZ015NDFOemtnTUNBd0lERWdPUzQ0TmlBMkxqazFNV0V6TGpVM09TQXpMalUzT1NBd0lEQWdNUzB6TGpVM05TQXpMalUzTlVFekxqVTNPU0F6TGpVM09TQXdJREFnTVNBeUxqY3hJRFl1T1RWaE15NDFOemtnTXk0MU56a2dNQ0F3SURFZ015NDFOelV0TXk0MU56VjZJaUJtYVd4c1BTSmliR0ZqYXlJZ0x6NEtQQzl6ZG1jKyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTZweDtcbiAgICB9XG5cbiAgICBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IHZhcigtLWN4LWNvbG9yLWdyZXk3MCk7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuXG4gICAgICBsaSB7XG4gICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0ICcuL2RlcGFydG1lbnQvZGVwYXJ0bWVudC5jc3MnO1xuQGltcG9ydCAnLi9qb2JzL2pvYi5jc3MnO1xuQGltcG9ydCAnLi9qb2JzL2pvYnMuY3NzJztcbkBpbXBvcnQgJy4vbGFuZGluZy9sYW5kaW5nLmNzcyc7XG5AaW1wb3J0ICcuL2pvYnMvbm9fam9iLmNzcyc7XG5AaW1wb3J0ICcuL3JlYWN0L2NvbXBvbmVudHMvU2VhcmNoVHlwZWFoZWFkL1NlYXJjaFR5cGVhaGVhZC5jc3MnO1xuXG4vKiBUaGlzIHJ1bGUgZml4ZXMgYW4gaXNzdWUgd2l0aCBJRTExIG9uIFdpbmRvd3MgNywgd2hlcmUgdGhlIHBhZ2UgYmVjb21lcyB1bnJlc3BvbnNpdmUgYWZ0ZXJcbiAgIGNsaWNraW5nIG9uIGFuIGVsZW1lbnQgY29udGFpbmluZyBhIHVzZSB0YWcsIGFuZCByZW1vdmluZyB0aGF0IGVsZW1lbnQgZnJvbSB0aGUgRE9NXG5odHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzI5MTQ5MTc0L2NsaWNrLWV2ZW50cy1zdG9wLXdvcmtpbmctYWZ0ZXItcmVwbGFjaW5nLWF0dHJpYnV0ZS1vZi11c2UtZWxlbWVudC1pbi1zdmctd1xuaHR0cHM6Ly9jb25uZWN0Lm1pY3Jvc29mdC5jb20vSUUvZmVlZGJhY2svZGV0YWlscy83OTY3NDUvbW91c2UtZXZlbnRzLWFyZS1ub3QtZGVsaXZlcmVkLWF0LWFsbC1hbnltb3JlLXdoZW4taW5zaWRlLWFuLXN2Zy1hLXVzZS1pcy1yZW1vdmVkLWZyb20tdGhlLWRvbVxuICovXG51c2Uge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qIGN4IG92ZXJ3cml0ZXMgKi9cbi5jeC1tYWluTGF5b3V0IHtcbiAgLyogUHJldmVudHMgd2hpdGUgY29sb3JibG9jayBuZWFyIGZvb3RlciBvbiBkZXBhcnRtZW50IHBhZ2VzICovXG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4vKiBMYW5kaW5nIC8gR2xvYmFsICovXG4vKiBUT0RPOiBQcm9wZXJseSBuYW1lc3BhY2UgYW5kIGNvbnNvbGlkYXRlIHdoZW4gYWxsIG5ldyBwYWdlcyBhcmUgbGF1bmNoZWRcblxuLyogVHlwZSAqL1xuLmNhcmVlcnMtbGFuZGluZyxcbi5jYXJlZXJzLWRlcGFydG1lbnQsXG4uY2FyZWVycy1qb2IsXG4uY2FyZWVycy1hbGwge1xuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHRSZWd1bGFyKTtcbiAgfVxuXG4gIGgyIHtcbiAgICBmb250LXNpemU6IDY1cHg7XG4gIH1cblxuICBoMyB7XG4gICAgZm9udC1zaXplOiA0NHB4O1xuICB9XG5cbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgfVxuXG4gIGg1IHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cblxuICBwIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xuICB9XG5cbiAgdWwge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiB2YXIoLS1jeC1jb2xvci1ibGFjayk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgaHIge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxufVxuXG4uY2FyZWVycy1oaWRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0xMDAwMHB4O1xuICBsZWZ0OiAtMTAwMDBweDtcbn1cblxuLyogSGVybyBCYW5uZXIgKi9cbi5jYXJlZXJzLWxhbmRpbmctaGVybyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTIwcHg7XG4gIG1pbi1oZWlnaHQ6IDUwdmg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNvbG9yOiB2YXIoLS1jeC1jb2xvci13aGl0ZSk7XG5cbiAgJi5jYXJlZXJzLWxhbmRpbmctaGVyb0JsYWNrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jeC1jb2xvci1ibGFjayk7XG4gIH1cblxuICAmLmNhcmVlcnMtbGFuZGluZy1oZXJvU2hvcnQge1xuICAgIG1pbi1oZWlnaHQ6IDQ1dmg7XG4gICAgY29sb3I6IHZhcigtLWN4LWNvbG9yLXdoaXRlKTtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiB2YXIoLS1jeC1jb2xvci13aGl0ZSk7XG4gIH1cbn1cblxuLmNhcmVlcnMtbGFuZGluZy1oZXJvVGV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogODAwcHg7XG4gIHotaW5kZXg6IDM7XG59XG5cbi5jYXJlZXJzLWxhbmRpbmctaGVyb1N1YnRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbn1cblxuLmNhcmVlcnMtbGFuZGluZy1oZXJvVGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA2ODBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICB6LWluZGV4OiAzO1xuXG4gIGgyIHtcbiAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gIH1cbn1cblxuLmNhcmVlcnMtbGFuZGluZy1oZXJvRGVzY3JpcHRpb24ge1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbn1cblxuLmNhcmVlcnMtbGFuZGluZy11bmRlcmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jeC1jb2xvci13aGl0ZSk7XG5cbiAgJi5jYXJlZXJzLWxhbmRpbmctdW5kZXJsaW5lQmxhY2sge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jeC1jb2xvci1ibGFjayk7XG4gIH1cbn1cblxuLmNhcmVlcnMtbGluazpmb2N1cyB7XG4gIG91dGxpbmU6IGF1dG87XG59XG5cbi5mbGV4LWNlbnRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uY2FyZWVycy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42NSk7XG4gIHotaW5kZXg6IDI7XG59XG5cbi5jYXJlZXJzLWxhbmRpbmctaGVyb1N0YXRlbWVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xuICB6LWluZGV4OiAzO1xufVxuXG4uY2FyZWVycy1oZXJvLWJ1dHRvbk1vYmlsZSB7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogQnV0dG9ucyAqL1xuLmNhcmVlcnMtbGFuZGluZy1jdGEtYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTMzcHg7XG4gIGxlZnQ6IDYwJTtcbiAgd2lkdGg6IDY2cHggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiA3MHB4ICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLWN4LWNvbG9yLWJsYWNrKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3gtY29sb3Itd2hpdGUpO1xuICBib3gtc2hhZG93OiAycHggMnB4IDhweCAycHggdmFyKC0tY3gtY29sb3ItZHJvcFNoYWRvdyk7XG4gIHotaW5kZXg6IDM7XG59XG5cbi5hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyOHB4O1xuICByaWdodDogMjBweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMnB4O1xuICBib3JkZXItcmFkaXVzOiAwIDAgMXB4IDFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3gtY29sb3ItYmxhY2spO1xuICB6LWluZGV4OiAzO1xufVxuXG4uYXJyb3c6YmVmb3JlLFxuLmFycm93OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMjZweDtcbiAgd2lkdGg6IDZweDtcbiAgaGVpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWN4LWNvbG9yLWJsYWNrKTtcbn1cblxuLmFycm93OmJlZm9yZSB7XG4gIHRvcDogNHB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG59XG5cbi5hcnJvdzphZnRlciB7XG4gIHRvcDogMXB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbn1cblxuLmNhcmVlcnMtbGFuZGluZy1idXR0b25CbGFjayB7XG4gIC5hcnJvdyxcbiAgLmFycm93OmJlZm9yZSxcbiAgLmFycm93OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jeC1jb2xvci13aGl0ZSk7XG4gIH1cbn1cblxuLmFycm93RG93biB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDJweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBib3JkZXItcmFkaXVzOiAwIDAgMXB4IDFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3gtY29sb3ItYmxhY2spO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZS1vdXQ7XG4gIHotaW5kZXg6IDM7XG59XG5cbi5hcnJvd0Rvd246YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyOXB4O1xuICBsZWZ0OiAwcHg7XG4gIHdpZHRoOiA2cHg7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jeC1jb2xvci1ibGFjayk7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2Utb3V0O1xufVxuXG4uYXJyb3dEb3duOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyOXB4O1xuICBsZWZ0OiAtNHB4O1xuICB3aWR0aDogNnB4O1xuICBoZWlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3gtY29sb3ItYmxhY2spO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2Utb3V0O1xufVxuXG4uY2FyZWVycy1jdGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4uY2FyZWVycy1jdGEgLmNhcmVlcnMtY3RhLXRleHQsXG4uY2FyZWVycy1jdGEgLmFycm93IHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7XG59XG5cbi5jYXJlZXJzLWN0YS10ZXh0IHtcbiAgcGFkZGluZy1yaWdodDogNTBweDtcbn1cblxuLmNhcmVlcnMtY3RhIC5hcnJvdyB7XG4gIHRvcDogOXB4O1xuICByaWdodDogMDtcbn1cblxuLmNhcmVlcnMtbGFuZGluZy1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMCA0MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA3MHB4O1xuICBsaW5lLWhlaWdodDogNzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tY3gtY29sb3ItYmxhY2spO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jeC1jb2xvci13aGl0ZSk7XG4gIGJveC1zaGFkb3c6IDJweCAycHggOHB4IDJweCB2YXIoLS1jeC1jb2xvci1kcm9wU2hhZG93KTtcbiAgZm9udC1zaXplOiAyMnB4O1xuICB6LWluZGV4OiAzO1xufVxuXG4uY2FyZWVycy1sYW5kaW5nLWJ1dHRvbldpZHRoRml4ZWQge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1heC13aWR0aDogNTAwcHg7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbi5jYXJlZXJzLWxhbmRpbmctYnV0dG9uQmxhY2sge1xuICBjb2xvcjogdmFyKC0tY3gtY29sb3Itd2hpdGUpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jeC1jb2xvci1ibGFjayk7XG5cbiAgLmJ1dHRvbi1ob3Zlci1pbm5lciB7XG4gICAgY29sb3I6IHZhcigtLWN4LWNvbG9yLXdoaXRlKTtcbiAgfVxufVxuXG4uY2FyZWVycy1sYW5kaW5nLWhlcm8gLmNhcmVlcnMtbGFuZGluZy1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTM1cHg7XG4gIGxlZnQ6IGNhbGMoNTAlICsgNDBweCk7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDIyMHB4KTtcbiAgbWF4LXdpZHRoOiA4MDBweDtcbn1cblxuLmNhcmVlcnMtbGFuZGluZy1idXR0b24gLmFycm93IHtcbiAgdG9wOiAxM3B4O1xuICByaWdodDogMnB4O1xufVxuXG4uY2FyZWVycy1sYW5kaW5nLWN0YS1hcnJvdyAuYXJyb3dEb3duIHtcbiAgdG9wOiAxOXB4O1xuICBsZWZ0OiAzMnB4O1xufVxuXG4uY2FyZWVycy1sYW5kaW5nLWJ1dHRvbiAuYXJyb3dEb3duIHtcbiAgdG9wOiA1cHg7XG4gIHJpZ2h0OiAxMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG59XG5cbi5jYXJlZXJzLWxhbmRpbmctYnV0dG9uIC5hcnJvd0Rvd246YmVmb3JlLFxuLmNhcmVlcnMtbGFuZGluZy1idXR0b24gLmFycm93RG93bjphZnRlciB7XG4gIHRvcDogMTlweDtcbn1cblxuLyogQnV0dG9uIEhvdmVycyAqL1xuLmJ1dHRvbi1ob3Zlci1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgY29sb3I6IHZhcigtLWN4LWNvbG9yLWJsYWNrKTtcbiAgei1pbmRleDogMztcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlLW91dDtcbn1cblxuLmJ1dHRvbi1ob3ZlckluIC5idXR0b24taG92ZXItaW5uZXIge1xuICBjb2xvcjogdmFyKC0tY3gtY29sb3Itd2hpdGUpO1xufVxuXG4uYnV0dG9uLWhvdmVyIC5hcnJvdyxcbi5idXR0b24taG92ZXIgLmFycm93OmJlZm9yZSxcbi5idXR0b24taG92ZXIgLmFycm93OmFmdGVyLFxuLmJ1dHRvbi1ob3ZlciAuYXJyb3dEb3duLFxuLmJ1dHRvbi1ob3ZlciAuYXJyb3dEb3duOmJlZm9yZSxcbi5idXR0b24taG92ZXIgLmFycm93RG93bjphZnRlciB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2Utb3V0O1xufVxuXG4uYnV0dG9uLWhvdmVySW4gLmFycm93RG93biB7XG4gIGFuaW1hdGlvbjogYXJyb3dTaHVmZmxlIDAuNnMgYm90aDtcbn1cblxuLmJ1dHRvbi1ob3Zlck91dCAuYXJyb3dEb3duIHtcbiAgYW5pbWF0aW9uOiBhcnJvd1NodWZmbGVPdXQgMC42cyBib3RoO1xufVxuXG4uYnV0dG9uLWhvdmVySW4gLmFycm93LFxuLmJ1dHRvbi1ob3ZlckluIC5hcnJvdzpiZWZvcmUsXG4uYnV0dG9uLWhvdmVySW4gLmFycm93OmFmdGVyLFxuLmJ1dHRvbi1ob3ZlckluIC5hcnJvd0Rvd24sXG4uYnV0dG9uLWhvdmVySW4gLmFycm93RG93bjpiZWZvcmUsXG4uYnV0dG9uLWhvdmVySW4gLmFycm93RG93bjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWN4LWNvbG9yLXdoaXRlKTtcbn1cblxuLmJ1dHRvbi1ob3ZlcjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWN4LWNvbG9yLWdyZXkxMDApO1xuICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLW91dDtcbn1cblxuLmJ1dHRvbi1ob3Zlci1ibGFjay5idXR0b24taG92ZXI6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jeC1jb2xvci1ibGFjayk7XG59XG5cbi5idXR0b24taG92ZXIuY2FyZWVycy1sYW5kaW5nLWN0YS1hcnJvdzphZnRlciB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xufVxuXG4uYnV0dG9uLWhvdmVyV2hpdGU6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jeC1jb2xvci13aGl0ZSk7XG59XG5cbi5idXR0b24taG92ZXIuYnV0dG9uLWhvdmVySW46YWZ0ZXIge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5idXR0b24taG92ZXIuYnV0dG9uLWhvdmVyT3V0OmFmdGVyIHtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDA7XG59XG5cbi5idXR0b24taG92ZXItbHRyOmFmdGVyIHtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmJ1dHRvbi1ob3Zlci1sdHIuYnV0dG9uLWhvdmVySW46YWZ0ZXIge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmJ1dHRvbi1ob3Zlci1sdHIuYnV0dG9uLWhvdmVyT3V0OmFmdGVyIHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG59XG5cbi8qIFNwbGl0IENvbHVtbiAqL1xuLmNhcmVlcnMtc3BsaXQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJlZXJzLXNwbGl0RXF1YWwge1xuICBmbGV4OiAwIDAgNTAlO1xufVxuXG4uY2FyZWVycy1zcGxpdFJvdyB7XG4gIG1hcmdpbjogMCAtMTAwcHg7XG59XG5cbi5jYXJlZXJzLXNwbGl0Q29sdW1uIHtcbiAgZmxleDogMCAwIDUwJTtcbn1cblxuLmNhcmVlcnMtc3BsaXRDb2x1bW46Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xufVxuXG4uY2FyZWVycy1zcGxpdENvbHVtbjpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1sZWZ0OiA0MHB4O1xufVxuXG4uY2FyZWVycy1zcGxpdEZvdXJ0aDpmaXJzdC1jaGlsZCB7XG4gIGZsZXg6IDAgMCA3NSU7XG59XG5cbi5jYXJlZXJzLXNwbGl0Rm91cnRoOmxhc3QtY2hpbGQge1xuICBmbGV4OiAwIDAgMjUlO1xufVxuXG4uY2FyZWVycy1zcGxpdExlZnQge1xuICBwYWRkaW5nOiAwIDQwcHg7XG4gIGZsZXg6IDAgMCA2MCU7XG59XG5cbi5jYXJlZXJzLXNwbGl0UmlnaHQge1xuICBwYWRkaW5nOiAwIDQwcHg7XG4gIGZsZXg6IDAgMCA0MCU7XG59XG5cbi5jYXJlZXJzLXNwbGl0UGFuZWw6Zmlyc3QtY2hpbGQge1xuICBmbGV4OiAwIDAgNTUlO1xufVxuXG4uY2FyZWVycy1zcGxpdFBhbmVsOmxhc3QtY2hpbGQge1xuICBmbGV4OiAwIDAgNDUlO1xufVxuXG4uY2FyZWVycy1zcGxpdFRvR3V0dGVyIHtcbiAgLyogRXh0ZW5kcyB0aHJvdWdoIGd1dHRlciAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAxMjBweCk7XG59XG5cbi5jYXJlZXJzLXNwbGl0VG9HdXR0ZXJTbWFsbCB7XG4gIC8qIEV4dGVuZHMgdGhyb3VnaCBndXR0ZXIgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogY2FsYygxMDAlICsgMTIwcHgpO1xufVxuXG4vKiBHZW5lcmljIE1vZHVsZXMgKi9cbi5jYXJlZXJzLWxhbmRpbmctbW9kdWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxMDBweCAxMjBweDtcbn1cblxuLmNhcmVlcnMtbGFuZGluZy1tYXhXaWR0aCB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IHZhcigtLWN4LWZpeGVkUGFnZVdpZHRoKTtcbn1cblxuLmNhcmVlcnMtbGFuZGluZy1tb2R1bGVHcmV5IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3gtY29sb3ItYmFja2dyb3VuZEFjY2VudCk7XG59XG5cbi5jYXJlZXJzLWxhbmRpbmctbW9kdWxlQmxhY2sge1xuICBjb2xvcjogdmFyKC0tY3gtY29sb3Itd2hpdGUpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jeC1jb2xvci1ibGFjayk7XG59XG5cbi8qIExpc3QgKyBHcmlkICovXG5cbi5jYXJlZXJzLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICBncmlkLWdhcDogMCA1MHB4O1xuXG4gICYuY2FyZWVycy1ncmlkVGhpcmQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgZ3JpZC1nYXA6IDEwcHggNDBweDtcbiAgfVxufVxuXG4uY2FyZWVycy1ncmlkLWl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHZhcigtLWN4LWNvbG9yLWJsYWNrKTtcbiAgY29sb3I6IHZhcigtLWN4LWNvbG9yLWJsYWNrKTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2Utb3V0O1xuXG4gICYudS1kaXNwbGF5Tm9uZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5jYXJlZXJzLWdyaWQtaXRlbVRpdGxlIHtcbiAgICBtYXJnaW46IDM1cHggMCA1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0O1xuICB9XG5cbiAgLmNhcmVlcnMtZ3JpZC1pdGVtVGl0bGUgLmNhcmVlcnMtZ3JpZC1pdGVtVGl0bGVTbWFsbCB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICB9XG5cbiAgLmNhcmVlcnMtZ3JpZC1pdGVtU3VidGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDM1cHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0O1xuICB9XG59XG5cbi5jYXJlZXJzLWZpbHRlciAuY2FyZWVycy1ncmlkLWl0ZW0udS1kaXNwbGF5Tm9uZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jYXJlZXJzLWxhbmRpbmctbW9kdWxlQmxhY2sgLmNhcmVlcnMtZ3JpZC1pdGVtIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWN4LWNvbG9yLXdoaXRlKTtcbiAgY29sb3I6IHZhcigtLWN4LWNvbG9yLXdoaXRlKTtcbn1cblxuLyogUGFuZWwgKi9cbi5jYXJlZXJzLXBhbmVsLWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5jYXJlZXJzLXBhbmVsLWltYWdlT3ZlcmZsb3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogNDBweDtcbiAgbGVmdDogNDBweDtcbiAgbWFyZ2luOiAwIDAgMCBhdXRvO1xuICB3aWR0aDogY2FsYygxMDAlICsgODBweCk7XG4gIG1heC13aWR0aDogNTgwcHg7XG4gIGhlaWdodDogY2FsYygxMDAlICsgMTAwcHgpO1xufVxuXG4uY2FyZWVycy1wYW5lbC10ZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jeC1jb2xvci13aGl0ZSk7XG4gIHotaW5kZXg6IDM7XG59XG5cbi5jYXJlZXJzLXBhbmVsLXRleHRJbm5lciB7XG4gIHBhZGRpbmc6IDYwcHg7XG59XG5cbi5jYXJlZXJzLXBhbmVsLXRleHQgLmNhcmVlcnMtcGFuZWwtY2l0eSB7XG4gIG1hcmdpbjogMCAwIDI1cHg7XG59XG5cbi5jYXJlZXJzLXBhbmVsLXRleHQgLmNhcmVlcnMtcGFuZWwtZW1wbG95ZWUge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uY2FyZWVycy1wYW5lbC10ZXh0IGhyIHtcbiAgbWFyZ2luOiA0MHB4IDA7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3gtY29sb3ItYmxhY2spO1xufVxuXG4uY2FyZWVycy1wYW5lbC10ZXh0IC5jYXJlZXJzLXB1bGxxdW90ZSB7XG4gIG1heC13aWR0aDogNDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMzJweDtcbiAgbGluZS1oZWlnaHQ6IDEuM2VtO1xuICB0ZXh0LWluZGVudDogLTAuM2VtO1xufVxuXG4uY2FyZWVycy1wYW5lbC1kZXNjcmlwdGlvbk1lbW8ge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uY2FyZWVycy1wYW5lbC1kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG59XG5cbi8qIERlc2t0b3AgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5jYXJlZXJzLW5vRGVza3RvcCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmNhcmVlcnMtc3BsaXROdWRnZSB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgfVxuXG4gIC5jYXJlZXJzLWdyaWQtaXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3gtY29sb3ItYmFja2dyb3VuZEFjY2VudCk7XG4gIH1cblxuICAuY2FyZWVycy1sYW5kaW5nLW1vZHVsZUJsYWNrIC5jYXJlZXJzLWdyaWQtaXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3gtY29sb3ItZ3JleTEwMCk7XG4gIH1cblxuICAuY2FyZWVycy1ncmlkLWl0ZW06aG92ZXIgLmNhcmVlcnMtZ3JpZC1pdGVtVGl0bGUsXG4gIC5jYXJlZXJzLWdyaWQtaXRlbTpob3ZlciAuY2FyZWVycy1ncmlkLWl0ZW1TdWJ0aXRsZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICB9XG59XG5cbi8qIExhcmdlIERlc2t0b3AgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAuY2FyZWVycy1sYW5kaW5nLW1heFdpZHRoIHtcbiAgICBwYWRkaW5nOiAwIHZhcigtLWd1dHRlcik7XG4gIH1cbn1cblxuLyogVGFibGV0ICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpIGFuZCAobWluLXdpZHRoOiA5MDFweCkge1xuICAuY2FyZWVycy1sYW5kaW5nLWhlcm8gLmNhcmVlcnMtbGFuZGluZy1idXR0b24ge1xuICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDI0MHB4KTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cblxuICAuY2FyZWVycy1zcGxpdFBhbmVsOmZpcnN0LWNoaWxkIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICB9XG5cbiAgLmNhcmVlcnMtc3BsaXRQYW5lbDpsYXN0LWNoaWxkIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICB9XG5cbiAgLmNhcmVlcnMtc3BsaXRUb0d1dHRlclNtYWxsLFxuICAuY2FyZWVycy1zcGxpdFBhbmVsOmxhc3QtY2hpbGQgPiAuY2FyZWVycy1zcGxpdFRvR3V0dGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgNzVweCk7XG4gIH1cblxuICAuY2FyZWVycy1sYW5kaW5nLWJ1dHRvbldpZHRoRml4ZWQge1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cblxuICAuY2FyZWVycy1sYW5kaW5nLWJ1dHRvbldpZHRoRml4ZWQgLmJ1dHRvbi1ob3Zlci1pbm5lciB7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgfVxuXG4gIC5jYXJlZXJzLWxhbmRpbmctYnV0dG9uV2lkdGhGaXhlZCAuYnV0dG9uLWhvdmVyLWlubmVyIC5hcnJvdyB7XG4gICAgdG9wOiAxMXB4O1xuICB9XG59XG5cbi8qIFNsaWRlciAqL1xuLnNsaWRlci1jb250cm9scyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBmb250LXNpemU6IDA7XG59XG5cbi5zbGlkZXItY29udHJvbHMgYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWN4LWNvbG9yLWJhY2tncm91bmRBY2NlbnQpO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiAwLjJzO1xufVxuXG4uc2xpZGVyLWNvbnRyb2xzLmNvbnRyb2xzLXJldmVyc2UgYnV0dG9uIHtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY3gtY29sb3ItZ3JleTcwKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3gtY29sb3Itd2hpdGUpO1xufVxuXG4uc2xpZGVyLWNvbnRyb2xzIGJ1dHRvbiAuYXJyb3cge1xuICB0cmFuc2l0aW9uOiAwLjJzO1xuICB6LWluZGV4OiAxO1xufVxuXG4uc2xpZGVyLWNvbnRyb2xzIGJ1dHRvbiAuYXJyb3csXG4uc2xpZGVyLWNvbnRyb2xzIGJ1dHRvbiAuYXJyb3c6YmVmb3JlLFxuLnNsaWRlci1jb250cm9scyBidXR0b24gLmFycm93OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3gtY29sb3Itd2hpdGUpO1xufVxuXG4uc2xpZGVyLWNvbnRyb2xzIGJ1dHRvbjpob3ZlciAuYXJyb3csXG4uc2xpZGVyLWNvbnRyb2xzIGJ1dHRvbjpob3ZlciAuYXJyb3c6YmVmb3JlLFxuLnNsaWRlci1jb250cm9scyBidXR0b246aG92ZXIgLmFycm93OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3gtY29sb3ItYmxhY2spO1xufVxuXG4uc2xpZGVyLWNvbnRyb2xzLmNvbnRyb2xzLWJsYWNrIGJ1dHRvbiAuYXJyb3csXG4uc2xpZGVyLWNvbnRyb2xzLmNvbnRyb2xzLWJsYWNrIGJ1dHRvbiAuYXJyb3c6YmVmb3JlLFxuLnNsaWRlci1jb250cm9scy5jb250cm9scy1ibGFjayBidXR0b24gLmFycm93OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY3gtY29sb3ItYmxhY2spO1xufVxuXG4uc2xpZGVyLWNvbnRyb2xzIC5idXR0b24taG92ZXI6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiAwLjJzIGVhc2Utb3V0O1xufVxuXG4uc2xpZGVyLWNvbnRyb2xzIGJ1dHRvbiAuYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLnNsaWRlci1jb250cm9scyAuc2xpZGVyLXByZXYgLmFycm93IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDE4MGRlZyk7XG59XG5cbi5zbGlkZXItY29udHJvbHMgLnNsaWRlci1wcmV2IC5hcnJvdyB7XG4gIHdpZHRoOiAxNXB4O1xufVxuXG4uc2xpZGVyLWNvbnRyb2xzIC5zbGlkZXItcHJldiAuYXJyb3c6YmVmb3JlLFxuLnNsaWRlci1jb250cm9scyAuc2xpZGVyLXByZXYgLmFycm93OmFmdGVyIHtcbiAgbGVmdDogMTBweDtcbn1cblxuLnNsaWRlci1jb250cm9scyAuc2xpZGVyLW5leHQge1xuICB3aWR0aDogNjVweDtcbiAgbWFyZ2luLWxlZnQ6IC0ycHg7XG59XG5cbi5zbGlkZXItY29udHJvbHMgLnNsaWRlci1wcmV2OmZvY3VzLFxuLnNsaWRlci1jb250cm9scyAuc2xpZGVyLW5leHQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uc2xpZGVyLWNvbnRyb2xzIC5zbGlkZXItY29udHJvbHNfbmV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGZvbnQ6IDE2cHgvMzdweCAnQ29tcGFzcyBTYW5zJywgc2Fucy1zZXJpZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uc2xpZGVyLXByb2dyZXNzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDQ4cHggMCAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAycHg7XG4gIGZvbnQtc2l6ZTogMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY3gtY29sb3ItYmFja2dyb3VuZEFjY2VudCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnNsaWRlci1wcm9ncmVzcyBidXR0b24ge1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgZmxleDogMTtcbiAgaGVpZ2h0OiA1cHg7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogMDtcbn1cblxuLnNsaWRlci1wcm9ncmVzcyAucHJvZ3Jlc3MtYWN0aXZlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMnB4O1xuICB0cmFuc2l0aW9uOiBlYXNlLWluIDAuNnM7XG4gIGJhY2tncm91bmQ6IHZhcigtLWN4LWNvbG9yLXdoaXRlKTtcbn1cblxuLnNsaWRlci1wcm9ncmVzcy5jb250cm9scy1ibGFjayB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWN4LWNvbG9yLWJhY2tncm91bmRBY2NlbnQpO1xufVxuXG4uc2xpZGVyLXByb2dyZXNzLmNvbnRyb2xzLWJsYWNrIC5wcm9ncmVzcy1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jeC1jb2xvci1ibGFjayk7XG59XG5cbi8qIERlc2t0b3AgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5zbGlkZXItY29udHJvbHMgYnV0dG9uIC5ob3ZlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3gtY29sb3Itd2hpdGUpO1xuICAgIHRyYW5zaXRpb246IDAuMXM7XG4gIH1cblxuICAuc2xpZGVyLWNvbnRyb2xzLmNvbnRyb2xzLWJsYWNrIGJ1dHRvbjpob3ZlciB7XG4gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tY3gtY29sb3ItYmxhY2spO1xuICB9XG5cbiAgLnNsaWRlci1jb250cm9scy5jb250cm9scy1ibGFjayBidXR0b246aG92ZXIgLmFycm93LFxuICAuc2xpZGVyLWNvbnRyb2xzLmNvbnRyb2xzLWJsYWNrIGJ1dHRvbjpob3ZlciAuYXJyb3c6YmVmb3JlLFxuICAuc2xpZGVyLWNvbnRyb2xzLmNvbnRyb2xzLWJsYWNrIGJ1dHRvbjpob3ZlciAuYXJyb3c6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWN4LWNvbG9yLXdoaXRlKTtcbiAgfVxuXG4gIC5zbGlkZXItY29udHJvbHMuY29udHJvbHMtYmxhY2sgYnV0dG9uIC5ob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY3gtY29sb3ItYmxhY2spO1xuICB9XG5cbiAgLnNsaWRlci1jb250cm9scyBidXR0b24uaG92ZXJfaW4gLmhvdmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5zbGlkZXItY29udHJvbHMgLnNsaWRlci1wcmV2IC5ob3ZlcixcbiAgLnNsaWRlci1jb250cm9scyAuc2xpZGVyLW5leHQuaG92ZXJfb3V0IC5ob3ZlciB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gIC5zbGlkZXItY29udHJvbHMgLnNsaWRlci1uZXh0IC5ob3ZlcixcbiAgLnNsaWRlci1jb250cm9scyAuc2xpZGVyLXByZXYuaG92ZXJfb3V0IC5ob3ZlciB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gIC5zbGlkZXItY29udHJvbHMgYnV0dG9uOmhvdmVyIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jeC1jb2xvci13aGl0ZSk7XG4gIH1cbn1cblxuLyogVGFibGV0ICovXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNhcmVlcnMtbm9UYWJsZXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiBNb2JpbGUgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gIC5jYXJlZXJzLW5vTW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuY2FyZWVycy1sYW5kaW5nLFxuICAuY2FyZWVycy1kZXBhcnRtZW50LFxuICAuY2FyZWVycy1qb2IsXG4gIC5jYXJlZXJzLWFsbCB7XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgfVxuXG4gICAgaDUge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cbiAgfVxuXG4gIC5jYXJlZXJzLXBhbmVsLXRleHQgLmNhcmVlcnMtcHVsbHF1b3RlIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gIH1cblxuICAuY2FyZWVycy10ZW5ldC10ZXh0LFxuICAuY2FyZWVycy10ZXh0TW9iaWxlIHtcbiAgICBtYXJnaW46IDIwcHggYXV0byA0MHB4IGF1dG87XG4gICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgfVxuXG4gIC5jYXJlZXJzLXNwbGl0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuY2FyZWVycy1zcGxpdEZsaXBNb2JpbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICB9XG5cbiAgLmNhcmVlcnMtc3BsaXRDb2x1bW4sXG4gIC5jYXJlZXJzLXNwbGl0Q29sdW1uOmZpcnN0LWNoaWxkLFxuICAuY2FyZWVycy1zcGxpdENvbHVtbjpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmNhcmVlcnMtc3BsaXRUb0d1dHRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA0MHB4KTtcbiAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIH1cblxuICAuY2FyZWVycy1sYW5kaW5nLWltYWdlU3F1YXJlIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMjBweCk7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAuY2FyZWVycy1sYW5kaW5nLW1vZHVsZSB7XG4gICAgcGFkZGluZzogOTBweCAyMHB4O1xuXG4gICAgJi5jYXJlZXJzLWxhbmRpbmctbW9kdWxlQmxhY2sge1xuICAgICAgcGFkZGluZzogMzBweCAyMHB4IDgwcHg7XG4gICAgfVxuICB9XG5cbiAgLmNhcmVlcnMtbGFuZGluZy1tb2R1bGVTaG9ydE1vYmlsZSB7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICB9XG5cbiAgLmNhcmVlcnMtbGFuZGluZy1oZXJvIHtcbiAgICBwYWRkaW5nOiA3MHB4IDIwcHg7XG4gICAgbWluLWhlaWdodDogNDB2aDtcbiAgfVxuXG4gIC5jYXJlZXJzLWxhbmRpbmctaGVyb1N1YnRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG5cbiAgLmNhcmVlcnMtbGFuZGluZy1idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxuXG4gIC5jYXJlZXJzLWxhbmRpbmctaGVybyAuY2FyZWVycy1sYW5kaW5nLWJ1dHRvbiB7XG4gICAgbGVmdDogaW5pdGlhbDtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuXG4gIC5jYXJlZXJzLWxhbmRpbmctY3RhLWFycm93IHtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDMzcHgpO1xuICB9XG5cbiAgLmNhcmVlcnMtbGFuZGluZy1idXR0b24gLmFycm93IHtcbiAgICB0b3A6IDExcHg7XG4gIH1cblxuICAuY2FyZWVycy1ncmlkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5jYXJlZXJzLWdyaWQtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogLTIwcHg7XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgNDBweCk7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWN4LWNvbG9yLWJsYWNrKTtcbiAgICB9XG5cbiAgICAuY2FyZWVycy1ncmlkLWl0ZW1UaXRsZSB7XG4gICAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICB9XG5cbiAgICAuY2FyZWVycy1ncmlkLWl0ZW1TdWJ0aXRsZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICB9XG4gIH1cblxuICAuY2FyZWVycy1sYW5kaW5nLW1vZHVsZUJsYWNrIC5jYXJlZXJzLWdyaWQtaXRlbSB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jeC1jb2xvci13aGl0ZSk7XG4gICAgfVxuICB9XG5cbiAgLmNhcmVlcnMtbGFuZGluZy1idXR0b25XaWR0aEZpeGVkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMTI1cHg7XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgLmNhcmVlcnMtbGFuZGluZy1idXR0b25XaWR0aEZpeGVkIC5idXR0b24taG92ZXItaW5uZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAuY2FyZWVycy1sYW5kaW5nLWJ1dHRvbldpZHRoRml4ZWQgLmFycm93IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmNhcmVlcnMtc3BsaXRQYW5lbDpmaXJzdC1jaGlsZCB7XG4gICAgaGVpZ2h0OiA0MHZoO1xuICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xuICB9XG5cbiAgLmNhcmVlcnMtcGFuZWwtdGV4dCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICAuY2FyZWVycy1wYW5lbC10ZXh0SW5uZXIge1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gIH1cblxuICAuY2FyZWVycy1wYW5lbC10ZXh0IGhyIHtcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgfVxuXG4gIC5jYXJlZXJzLXBhbmVsLXRleHQgLmNhcmVlcnMtcGFuZWwtY2l0eSB7XG4gICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgfVxuXG4gIC5jYXJlZXJzLXBhbmVsLWRlc2NyaXB0aW9uTWVtbyxcbiAgLmNhcmVlcnMtcGFuZWwtZGVzY3JpcHRpb24ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICAuY2FyZWVycy1wYW5lbC1pbWFnZU92ZXJmbG93IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDIwcHgpO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDQwcHgpO1xuICB9XG5cbiAgLmNhcmVlcnMtc3BsaXRFcXVhbDpmaXJzdC1jaGlsZCAuY2FyZWVycy1wYW5lbC1kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuXG4gIC5jYXJlZXJzLXNsaWRlck1hc2tTaG9ydCB7XG4gICAgcGFkZGluZy10b3A6IDYwJTtcbiAgfVxufVxuXG5tYWluI3JlYWN0TGFuZGluZyB7XG4gIG1pbi1oZWlnaHQ6IDEwMDBweDtcbn1cblxubWFpbiNyZWFjdExhbmRpbmcubG9hZGVkIHtcbiAgbWluLWhlaWdodDogYXV0bztcbn1cbiJdfQ== */