:root {
  --color-light: #ffffff;
  --color-dark: #1d1d1d;
  --blue: #0066EC;
  --dark-grey: #4C4B4B;
  --grey: #A2A2A2;
  --light-grey: #DADADA;
  --color-default: var(--color-dark);
}

:root {
  --container-big-width: 1850px;
  --container-width: 1670px;
  --container-large-width: 1540px;
  --container-medium-width: 1290px;
  --container-small-width: 1180px;
  --container-extra-small-width: 980px;
  --container-mini-width: 630px;
  --container-extra-mini-width: 540px;
  --block-xs-width: 450px;
  --block-xxs-width: 270px;
  --block-min-height: 580px;
  --spacer-big: 30px;
}

@media (min-width: 992px) {
  :root {
    --spacer-big: 30px;
  }
}
@media (min-width: 1681px) {
  :root {
    --spacer-big: 50px;
  }
}
:root {
  --spacer-large: 20px;
}

@media (min-width: 992px) {
  :root {
    --spacer-large: 30px;
  }
}
@media (min-width: 1601px) {
  :root {
    --spacer-large: 40px;
  }
}
:root {
  --spacer-medium: 25px;
  --spacer-small: 20px;
  --spacer-extra-small: 10px;
  --transition-default: all 0.5s ease-in-out;
  --font-family: "SF Pro Display", sans-serif;
  --font-family-title: "Owners TRIAL Wide", sans-serif;
  --font-family-menu: "Owners TRIAL Wide", sans-serif;
  --font-size: 1.125rem;
  --h1-font-size: clamp(2.5rem, 5vw, 4rem);
  --h1-font-weight: 500;
  --h1-margin-bottom: 10px;
  --h2-font-size: clamp(1.875rem, 4vw, 3rem);
  --h2-font-weight: 500;
  --h2-margin-bottom: 10px;
  --h3-font-size: clamp(1.375rem, 3vw, 1.5rem);
  --h3-font-weight: 500;
  --h3-margin-bottom: 10px;
  --h4-font-size: 1.25rem;
  --h4-font-weight: 500;
  --h4-margin-bottom: 10px;
  --h5-font-size: 1rem;
  --h5-font-weight: 500;
  --h5-margin-bottom: 10px;
  --h6-font-size: 0.875rem;
  --h6-font-weight: 500;
  --h6-margin-bottom: 10px;
}

@-webkit-keyframes menu-show {
  0% {
    -webkit-transform: translateY(100%);
  }
  100% {
    -webkit-transform: translateY(0);
  }
}
@-moz-keyframes menu-show {
  0% {
    -moz-transform: translateY(0%);
  }
  100% {
    -moz-transform: translateY(0);
  }
}
@keyframes menu-show {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
.animation {
  position: relative;
  overflow: hidden;
  width: 101%;
  display: flex !important;
  align-items: center;
  transform-origin: bottom left;
}

.animation .animated {
  line-height: 1.3;
}

@keyframes slide-up {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes bounceScroll {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-30px);
  }
  60% {
    transform: translateY(-15px);
  }
}
.bounceScroll {
  display: inline-block;
  animation: bounceScroll 2s infinite;
}

.simpleFadeIn {
  opacity: 0;
  transition: opacity 1000ms cubic-bezier(0.645, 0.045, 0.355, 1), transform 1000ms cubic-bezier(0.645, 0.045, 0.355, 1);
}

.simpleFadeIn.visible {
  opacity: 1;
}

.simpleFadeInLeft {
  opacity: 0;
  transform: translateX(-100vw);
  transition: opacity 1000ms cubic-bezier(0.645, 0.045, 0.355, 1), transform 1000ms cubic-bezier(0.645, 0.045, 0.355, 1);
}

.simpleFadeInLeft.visible {
  opacity: 1;
  transform: translateX(0);
}

.simpleFadeInRight {
  opacity: 0;
  transform: translateX(100vw);
  transition: opacity 1000ms cubic-bezier(0.645, 0.045, 0.355, 1), transform 1000ms cubic-bezier(0.645, 0.045, 0.355, 1);
}

.simpleFadeInRight.visible {
  opacity: 1;
  transform: translateX(0);
}

.animateTop {
  opacity: 0;
  transform: translateY(130px);
  transition: opacity 1000ms cubic-bezier(0.645, 0.045, 0.355, 1), transform 1000ms cubic-bezier(0.645, 0.045, 0.355, 1);
}

.animateTop.visible {
  opacity: 1;
  transform: translateY(0);
}

.animateRight {
  opacity: 0;
  transform: translate(-130px, 100px);
  transition: opacity 1000ms cubic-bezier(0.645, 0.045, 0.355, 1), transform 1000ms cubic-bezier(0.645, 0.045, 0.355, 1);
}

.animateRight.visible {
  opacity: 1;
  transform: translate(0);
}

.animateLeft {
  opacity: 0;
  transform: translate(130px, 100px);
  transition: opacity 1000ms cubic-bezier(0.645, 0.045, 0.355, 1), transform 1000ms cubic-bezier(0.645, 0.045, 0.355, 1);
}

.animateLeft.visible {
  opacity: 1;
  transform: translate(0);
}

.animateTopMenu {
  opacity: 0;
  transform: translateY(130px);
  transition: opacity 1.2s cubic-bezier(0.645, 0.045, 0.355, 1), transform 1.2s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.animateTopMenu.visible {
  opacity: 1;
  transform: translateY(0);
}

.imageAnimation {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
  clip-path: inset(95% 95% 0% 0%);
  transition: clip-path 1.8s cubic-bezier(0.23, 1, 0.32, 1);
}

.imageAnimation.visible {
  clip-path: inset(0% 0% 0% 0%);
}

html, body {
  margin: 0;
  padding: 0;
}

img {
  height: auto;
  width: 100%;
}

.object-cover {
  object-fit: cover;
}

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

a:hover {
  text-decoration: none;
}

* {
  box-sizing: border-box;
}

.h-full {
  height: 100%;
}

@media (min-width: 992px) {
  .h-100 {
    min-height: 50vh;
  }
}
@media (min-width: 1200px) {
  .h-100 {
    min-height: 90vh;
  }
}
.hidden {
  display: none;
}

.overflow-visible {
  overflow: visible;
}

.overflow-x-scroll {
  overflow-x: scroll;
}

.overflow-hidden {
  overflow: hidden;
}

.border-top {
  border-top: 1px solid var(--light-grey);
}

.border-top.light-opacity {
  border-top: 1px solid hsla(0, 0%, 100%, 0.2);
}

.border-top.light {
  border-top: 1px solid var(--color-light);
}

.border-right {
  border-right: 1px solid var(--light-grey);
}

.border-right.light-opacity {
  border-right: 1px solid hsla(0, 0%, 100%, 0.2);
}

.border-right.light {
  border-right: 1px solid var(--color-light);
}

@media (max-width: 991px) {
  .border-right.desktop {
    border-right: none;
  }
}
.border-left {
  border-left: 1px solid var(--light-grey);
}

.border-left.light-opacity {
  border-left: 1px solid hsla(0, 0%, 100%, 0.2);
}

.border-left.light {
  border-left: 1px solid var(--color-light);
}

@media (max-width: 991px) {
  .border-left.desktop {
    border-left: none;
  }
}
.border-bottom {
  border-bottom: 1px solid var(--light-grey);
}

.border-bottom.light-opacity {
  border-bottom: 1px solid hsla(0, 0%, 100%, 0.2);
}

.border-bottom.light {
  border-bottom: 1px solid var(--color-light);
}

.border-radius {
  border-radius: 2px;
}

.spacer {
  width: 100%;
}

.spacer.big {
  height: var(--spacer-big);
}

.spacer.large {
  height: var(--spacer-large);
}

.spacer.medium {
  height: var(--spacer-medium);
}

.spacer.small {
  height: var(--spacer-small);
}

.spacer.extra-small {
  height: var(--spacer-extra-small);
}

.container {
  width: 100%;
  max-width: var(--container-width);
  margin-left: auto;
  margin-right: auto;
  padding: 0 15px;
  box-sizing: border-box;
}

@media (min-width: 992px) {
  .container {
    padding: 0 20px;
  }
}
@media (min-width: 992px) {
  .container.p-mobile {
    padding: 0;
  }
}
.container.fluid {
  max-width: unset;
  padding: 0;
}

.container.fluid-padding {
  max-width: unset;
}

.container.big {
  max-width: var(--container-big-width);
}

.container.large {
  max-width: var(--container-large-width);
}

.container.medium {
  max-width: var(--container-medium-width);
}

.container.small {
  max-width: var(--container-small-width);
}

.container.extra-small {
  max-width: var(--container-extra-small-width);
}

@media (min-width: 992px) {
  .container.mini {
    max-width: var(--container-mini-width);
  }
}
@media (min-width: 992px) {
  .container.extra-mini {
    max-width: var(--container-extra-mini-width);
  }
}
@media (min-width: 768px) {
  .container.xs-width {
    max-width: var(--block-xs-width);
  }
}
@media (min-width: 992px) {
  .container.xxs-width {
    max-width: var(--block-xxs-width);
  }
}
.container.relative {
  position: relative;
}

.container.floated-right {
  margin-left: auto;
  margin-right: 0;
}

@media (max-width: 991px) {
  .container.floated-right {
    padding: 0;
  }
}
.container.floated-left {
  margin-left: 0;
  margin-right: auto;
}

@media (max-width: 991px) {
  .container.floated-left {
    padding: 0;
  }
}
.p-relative {
  position: relative;
  z-index: 1;
}

.d-flex {
  display: flex;
}

.d-flex::after, .d-flex::before {
  display: none;
}

.d-flex.direction-column {
  flex-direction: column;
}

.d-flex.direction-row {
  flex-direction: row;
}

.d-flex.align-center {
  align-items: center;
}

.d-flex.align-start {
  align-items: flex-start;
}

.d-flex.align-end {
  align-items: flex-end;
}

.d-flex.flex-wrap {
  flex-wrap: wrap;
}

.d-flex.justify-center {
  justify-content: center;
}

.d-flex.justify-space-between {
  justify-content: space-between;
}

.d-flex.justify-space-evenly {
  justify-content: space-evenly;
}

.d-flex.justify-space-around {
  justify-content: space-around;
}

.d-flex.justify-start {
  justify-content: flex-start;
}

.d-flex.justify-end {
  justify-content: flex-end;
}

@media (max-width: 767px) {
  .d-flex.justify-mobile-center {
    justify-content: center;
  }
}
@media (min-width: 992px) {
  .d-flex.justify-desktop-end {
    justify-content: flex-end;
  }
}
.d-none {
  display: none !important;
}

.d-block {
  display: block !important;
}

@media (min-width: 576px) {
  .d-sm-block {
    display: block !important;
  }
  .d-sm-none {
    display: none;
  }
}
@media (min-width: 768px) {
  .d-md-block {
    display: block !important;
  }
  .d-md-none {
    display: none;
  }
}
@media (min-width: 992px) {
  .d-lg-block {
    display: block !important;
  }
  .d-lg-none {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .d-xl-block {
    display: block !important;
  }
  .d-xl-none {
    display: none;
  }
}
@media (min-width: 1601px) {
  .d-xxl-block {
    display: block !important;
  }
  .d-xxl-none {
    display: none;
  }
}
@media (min-width: 992px) {
  .d-lg-inline {
    display: inline !important;
  }
}
.full-width {
  width: 100% !important;
  max-width: 100% !important;
}

.m-0 {
  margin: 0 !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mb-1 {
  margin-bottom: 10px !important;
}

.ml-0 {
  margin-left: 0 !important;
}

.mr-0 {
  margin-right: 0 !important;
}

.p-0 {
  padding: 0 !important;
}

.bg-section {
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.bg-section.with-overlay::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.2);
}

.bg-dark {
  background-color: var(--color-dark);
}

.bg-dark .h1, .bg-dark .h2, .bg-dark .h3, .bg-dark .h4, .bg-dark .h5, .bg-dark .h6, .bg-dark p, .bg-dark ul, .bg-dark li, .bg-dark i, .bg-dark strong, .bg-dark:not(.btn):not(.fa-chevron-right):not(.fa-upload) {
  color: var(--color-light);
}

.bg-dark-opacity {
  background-color: rgba(29, 29, 29, 0.98);
}

.bg-blue {
  background-color: var(--blue);
}

.bg-grey {
  background-color: var(--grey);
}

.bg-light-grey {
  background-color: var(--light-grey);
}

.bg-light {
  background-color: var(--color-light);
}

.color-dark:not(.btn):not(.fa-chevron-right):not(.fa-upload), .color-dark *:not(.btn):not(.fa-chevron-right):not(.fa-upload) {
  color: var(--color-dark);
}

.color-blue:not(.btn):not(.fa-chevron-right):not(.fa-upload), .color-blue *:not(.btn):not(.fa-chevron-right):not(.fa-upload) {
  color: var(--blue);
}

.color-grey:not(.btn):not(.fa-chevron-right):not(.fa-upload), .color-grey *:not(.btn):not(.fa-chevron-right):not(.fa-upload) {
  color: var(--grey);
}

.color-light-grey:not(.btn):not(.fa-chevron-right):not(.fa-upload), .color-light-grey *:not(.btn):not(.fa-chevron-right):not(.fa-upload) {
  color: var(--light-grey);
}

.color-light:not(.btn):not(.fa-chevron-right):not(.fa-upload), .color-light *:not(.btn):not(.fa-chevron-right):not(.fa-upload) {
  color: var(--color-light);
}

.text-outline {
  color: rgba(0, 0, 0, 0);
  -webkit-text-stroke: 2px var(--color-dark);
  text-stroke: 2px var(--color-dark);
}

.text-outline.light {
  color: rgba(0, 0, 0, 0);
  -webkit-text-stroke: 2px var(--color-light);
  text-stroke: 2px var(--color-light);
}

.text-outline.grey-light {
  color: rgba(0, 0, 0, 0);
  -webkit-text-stroke: 2px var(--light-grey);
  text-stroke: 2px var(--light-grey);
}

.order-1 {
  order: 1;
}

.order-2 {
  order: 2;
}

@media (min-width: 992px) {
  .order-lg-1 {
    order: 1;
  }
  .order-lg-2 {
    order: 2;
  }
}
.order-3 {
  order: 3 !important;
}

.order-4 {
  order: 4 !important;
}

.order-5 {
  order: 5 !important;
}

.order-6 {
  order: 6 !important;
}

@font-face {
  font-family: "SF Pro Display";
  src: url("../fonts/SFProDisplay-Regular.eot");
  src: url("../fonts/SFProDisplay-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/SFProDisplay-Regular.woff2") format("woff2"), url("../fonts/SFProDisplay-Regular.woff") format("woff"), url("../fonts/SFProDisplay-Regular.ttf") format("truetype"), url("../fonts/SFProDisplay-Regular.svg#SFProDisplay-Regular") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "SF Pro Display";
  src: url("../fonts/SFProDisplay-Medium.eot");
  src: url("../fonts/SFProDisplay-Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/SFProDisplay-Medium.woff2") format("woff2"), url("../fonts/SFProDisplay-Medium.woff") format("woff"), url("../fonts/SFProDisplay-Medium.ttf") format("truetype"), url("../fonts/SFProDisplay-Medium.svg#SFProDisplay-Medium") format("svg");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "SF Pro Display";
  src: url("../fonts/SFProDisplay-Bold.eot");
  src: url("../fonts/SFProDisplay-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/SFProDisplay-Bold.woff2") format("woff2"), url("../fonts/SFProDisplay-Bold.woff") format("woff"), url("../fonts/SFProDisplay-Bold.ttf") format("truetype"), url("../fonts/SFProDisplay-Bold.svg#SFProDisplay-Bold") format("svg");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Owners TRIAL Wide";
  src: url("../fonts/OwnersTRIALWide-Light.eot");
  src: url("../fonts/OwnersTRIALWide-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/OwnersTRIALWide-Light.woff2") format("woff2"), url("../fonts/OwnersTRIALWide-Light.woff") format("woff"), url("../fonts/OwnersTRIALWide-Light.ttf") format("truetype"), url("../fonts/OwnersTRIALWide-Light.svg#OwnersTRIALWide-Light") format("svg");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Owners TRIAL Wide";
  src: url("../fonts/OwnersTRIALWide-Regular.eot");
  src: url("../fonts/OwnersTRIALWide-Regular.eot?#iefix") format("embedded-opentype"), url("../fonts/OwnersTRIALWide-Regular.woff2") format("woff2"), url("../fonts/OwnersTRIALWide-Regular.woff") format("woff"), url("../fonts/OwnersTRIALWide-Regular.ttf") format("truetype"), url("../fonts/OwnersTRIALWide-Regular.svg#OwnersTRIALWide-Regular") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Owners TRIAL Wide";
  src: url("../fonts/OwnersTRIALWide-Medium.eot");
  src: url("../fonts/OwnersTRIALWide-Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/OwnersTRIALWide-Medium.woff2") format("woff2"), url("../fonts/OwnersTRIALWide-Medium.woff") format("woff"), url("../fonts/OwnersTRIALWide-Medium.ttf") format("truetype"), url("../fonts/OwnersTRIALWide-Medium.svg#OwnersTRIALWide-Medium") format("svg");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Owners TRIAL Wide";
  src: url("../fonts/OwnersTRIALWide-Bold.eot");
  src: url("../fonts/OwnersTRIALWide-Bold.eot?#iefix") format("embedded-opentype"), url("../fonts/OwnersTRIALWide-Bold.woff2") format("woff2"), url("../fonts/OwnersTRIALWide-Bold.woff") format("woff"), url("../fonts/OwnersTRIALWide-Bold.ttf") format("truetype"), url("../fonts/OwnersTRIALWide-Bold.svg#OwnersTRIALWide-Bold") format("svg");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Owners TRIAL Wide";
  src: url("../fonts/OwnersTRIALWide-Black.eot");
  src: url("../fonts/OwnersTRIALWide-Black.eot?#iefix") format("embedded-opentype"), url("../fonts/OwnersTRIALWide-Black.woff2") format("woff2"), url("../fonts/OwnersTRIALWide-Black.woff") format("woff"), url("../fonts/OwnersTRIALWide-Black.ttf") format("truetype"), url("../fonts/OwnersTRIALWide-Black.svg#OwnersTRIALWide-Black") format("svg");
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}
body {
  font-family: var(--font-family);
  color: var(--color-default);
  font-size: var(--font-size);
  font-weight: 400;
  line-height: 1.3;
  font-smooth: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body .light {
  font-weight: 300;
}

body .regular {
  font-weight: 400;
}

body .medium {
  font-weight: 500;
}

body .bold {
  font-weight: bold;
}

body .black {
  font-weight: 900;
}

.inherit {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  display: inherit;
  font-family: inherit;
}

p, .p, strong, b, time, i {
  font-family: var(--font-family);
  color: var(--color-default);
  font-size: var(--font-size);
  margin-top: 0;
  margin-bottom: 8px;
  font-weight: 400;
  line-height: 1.5;
}

a {
  font-family: var(--font-family);
  color: var(--color-default);
  font-size: var(--font-size);
  margin-top: 0;
  margin-bottom: 8px;
  font-weight: 400;
  line-height: 1.5;
  transition: var(--transition-default);
}

ul {
  padding-inline-start: 25px;
}

ul, li {
  font-family: var(--font-family);
  color: var(--color-default);
  font-size: var(--font-size);
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 400;
  line-height: 1.5;
}

strong, b, .strong {
  font-weight: 600;
}

.text-shadow {
  text-shadow: 1px 1px 0 var(--color-light);
}

.p-12 {
  font-size: 0.75rem;
}

.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--font-family-title);
  line-height: 1.1;
  display: block;
}

.h1 p, .h1 .p, .h1 ul, .h1 li, .h1 a, .h1 span, .h1 strong, .h1 .strong, .h1 b, .h1 time, .h1 i, .h2 p, .h2 .p, .h2 ul, .h2 li, .h2 a, .h2 span, .h2 strong, .h2 .strong, .h2 b, .h2 time, .h2 i, .h3 p, .h3 .p, .h3 ul, .h3 li, .h3 a, .h3 span, .h3 strong, .h3 .strong, .h3 b, .h3 time, .h3 i, .h4 p, .h4 .p, .h4 ul, .h4 li, .h4 a, .h4 span, .h4 strong, .h4 .strong, .h4 b, .h4 time, .h4 i, .h5 p, .h5 .p, .h5 ul, .h5 li, .h5 a, .h5 span, .h5 strong, .h5 .strong, .h5 b, .h5 time, .h5 i, .h6 p, .h6 .p, .h6 ul, .h6 li, .h6 a, .h6 span, .h6 strong, .h6 .strong, .h6 b, .h6 time, .h6 i {
  font-family: inherit;
  line-height: inherit;
  font-size: inherit;
  margin-bottom: inherit;
  margin-top: inherit;
}

.h1.p-style, .h2.p-style, .h3.p-style, .h4.p-style, .h5.p-style, .h6.p-style {
  font-family: var(--font-family);
}

.h1 {
  font-size: var(--h1-font-size);
  font-weight: var(--h1-font-weight);
  margin-bottom: var(--h1-margin-bottom);
  margin-top: 0;
}

.h1.h1-medium {
  font-size: clamp(4.25rem, 12vw, 10rem);
}

.h1.h1-big {
  font-size: clamp(5.5rem, 12vw, 14.375rem);
}

.h2 {
  font-size: var(--h2-font-size);
  font-weight: var(--h2-font-weight);
  margin-bottom: var(--h2-margin-bottom);
  margin-top: 0;
}

.h3 {
  font-size: var(--h3-font-size);
  font-weight: var(--h3-font-weight);
  margin-bottom: var(--h3-margin-bottom);
  margin-top: 0;
}

.h4 {
  font-size: var(--h4-font-size);
  font-weight: var(--h4-font-weight);
  margin-bottom: var(--h4-margin-bottom);
  margin-top: 0;
}

.h5 {
  font-size: var(--h5-font-size);
  font-weight: var(--h5-font-weight);
  margin-bottom: var(--h5-margin-bottom);
  margin-top: 0;
}

.h6 {
  font-size: var(--h6-font-size);
  font-weight: var(--h6-font-weight);
  margin-bottom: var(--h6-margin-bottom);
  margin-top: 0;
}

.p h1, .p h2, .p h3, .p h4, .p h5, .p h6 {
  font-family: var(--font-family-title);
  line-height: 1.1;
  display: block;
}

.p h1 {
  font-size: var(--h1-font-size);
  font-weight: var(--h1-font-weight);
  margin-bottom: var(--h1-margin-bottom);
  margin-top: 0;
}

.p h2 {
  font-size: var(--h2-font-size);
  font-weight: var(--h2-font-weight);
  margin-bottom: var(--h2-margin-bottom);
  margin-top: 0;
}

.p h3 {
  font-size: var(--h3-font-size);
  font-weight: var(--h3-font-weight);
  margin-bottom: var(--h3-margin-bottom);
  margin-top: 0;
}

.p h4 {
  font-size: var(--h4-font-size);
  font-weight: var(--h4-font-weight);
  margin-bottom: var(--h4-margin-bottom);
  margin-top: 0;
}

.p h5 {
  font-size: var(--h5-font-size);
  font-weight: var(--h5-font-weight);
  margin-bottom: var(--h5-margin-bottom);
  margin-top: 0;
}

.p h6 {
  font-size: var(--h6-font-size);
  font-weight: var(--h6-font-weight);
  margin-bottom: var(--h6-margin-bottom);
  margin-top: 0;
}

.text-underline {
  text-decoration: underline;
}

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

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

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

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

.text-uppercase {
  text-transform: uppercase;
}

.text-lowercase {
  text-transform: lowercase;
}

.text-capitalize {
  text-transform: capitalize;
}

.text-extralight {
  font-weight: 200;
}

.text-light {
  font-weight: 300;
}

.text-normal {
  font-weight: 400;
}

.text-semibold {
  font-weight: 500;
}

.text-bold {
  font-weight: 700;
}

.text-extra-bold {
  font-weight: 800;
}

.debug\:css {
  --debug-color: var(--color-default);
}

.debug\:css * {
  outline: 1px dashed var(--debug-color);
}

.debug\:css\:red {
  --debug-color: red;
}

.debug\:css\:red * {
  outline: 1px dashed var(--debug-color);
}

.block-grids {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 15px;
  gap: 15px;
}

.block-grids.no-gap {
  grid-gap: 0;
  gap: 0;
}

.block-grids.small-gap {
  grid-gap: 20px;
  gap: 20px;
}

.block-grids.min-gap {
  grid-gap: 5px 20px;
  gap: 5px 20px;
}

.block-grids.columns-2 {
  grid-template-columns: 1fr;
}

@media (min-width: 992px) {
  .block-grids.columns-2 {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-2.main-menu-grid {
    grid-template-columns: 1fr;
  }
}
@media (min-width: 1024px) {
  .block-grids.columns-2.main-menu-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 576px) {
  .block-grids.columns-2.footer-blocks {
    grid-template-columns: 1fr 1fr;
  }
}
.block-grids.columns-2.inside-grid {
  grid-template-columns: 1fr 1fr;
}

@media (min-width: 768px) {
  .block-grids.columns-2.inside-grid {
    grid-template-columns: 0.8fr 1.2fr;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-2.small-left {
    grid-template-columns: 0.7fr 1.3fr;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-2.arrow-right {
    grid-template-columns: 1.7fr 0.3fr;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-2.blog-right {
    grid-template-columns: 0.9fr 1.1fr;
  }
}
.block-grids.columns-2.sedi-block {
  grid-template-columns: 1fr;
}

@media (min-width: 576px) {
  .block-grids.columns-2.sedi-block {
    grid-template-columns: 0.7fr 1.3fr;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-2.sedi-block {
    grid-template-columns: 0.7fr 1.3fr;
  }
}
@media (min-width: 768px) {
  .block-grids.columns-3 {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-3 {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-3 {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 768px) {
  .block-grids.columns-3.servizi-grid {
    grid-template-columns: 1fr 1fr 0.3fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-3.servizi-grid {
    grid-template-columns: 1fr 1fr 0.3fr;
  }
}
@media (min-width: 1500px) {
  .block-grids.columns-3.servizi-grid {
    grid-template-columns: 0.5fr 1.2fr 0.3fr;
  }
}
.block-grids.columns-3.servizi-grid {
  padding: 20px;
}

@media (min-width: 768px) {
  .block-grids.columns-3.product-detail-block {
    grid-template-columns: 0.9fr 1.2fr 0.9fr;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-3.product-detail-block {
    grid-template-columns: 0.9fr 1.2fr 0.9fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-3.product-detail-block {
    grid-template-columns: 0.9fr 1.2fr 0.9fr;
  }
}
.block-grids.columns-3.category-icons {
  grid-template-columns: 1fr 1fr 1fr;
}

@media (min-width: 768px) {
  .block-grids.columns-3.category-icons {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 992px) {
  .block-grids.columns-3.category-icons {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-3.category-icons {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 576px) {
  .block-grids.columns-4 {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-4 {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
.block-grids.columns-5 {
  grid-template-columns: 1fr;
}

@media (min-width: 576px) {
  .block-grids.columns-5 {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 768px) {
  .block-grids.columns-5 {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media (min-width: 1200px) {
  .block-grids.columns-5 {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  }
}
.block-grids .grid {
  position: relative;
}

.block-grids.inverted > .grid:first-child {
  order: 1;
}

@media (min-width: 992px) {
  .block-grids.inverted > .grid:first-child {
    order: 2;
  }
}
.block-grids.inverted > .grid:last-child {
  order: 2;
}

@media (min-width: 992px) {
  .block-grids.inverted > .grid:last-child {
    order: 1;
  }
}
.block-grids.mobile-inverted > .grid:first-child {
  order: 2;
}

@media (min-width: 992px) {
  .block-grids.mobile-inverted > .grid:first-child {
    order: 1;
  }
}
.block-grids.mobile-inverted > .grid:last-child {
  order: 1;
}

@media (min-width: 992px) {
  .block-grids.mobile-inverted > .grid:last-child {
    order: 2;
  }
}
ul.breadcrumbs {
  padding: 10px 0;
  margin: 0;
  list-style: none;
  align-items: center;
  text-align: left;
  display: flex;
  justify-content: start;
  position: relative;
  z-index: 1;
  color: var(--color-dark);
}

ul.breadcrumbs li {
  padding-left: 5px;
  padding-right: 5px;
  color: var(--color-dark);
  display: inline-flex;
  font-size: 12px;
  margin-bottom: 0;
  align-items: center;
}

ul.breadcrumbs li:first-child {
  padding-left: 0;
}

ul.breadcrumbs li a {
  color: var(--color-dark);
  font-size: 12px;
  margin-bottom: 0;
}

ul.breadcrumbs li:after {
  content: ">";
  margin-left: 10px;
}

ul.breadcrumbs li:last-child::after {
  display: none;
}

ul.breadcrumbs.light {
  color: var(--color-light);
}

ul.breadcrumbs.light li {
  color: var(--color-light);
}

ul.breadcrumbs.light li a {
  color: var(--color-light);
}

.abs-breadcrumbs {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  top: 0;
}

.btn {
  --border-radius: 2px;
  --bg-color: var(--blue);
  --text-color: var(--color-light);
  --border-color: var(--blue);
  --bg-color-hover: var(--color-dark);
  --text-color-hover: var(--color-light);
  --border-color-hover: var(--color-dark);
  position: relative;
  overflow: hidden;
  font-family: var(--font-family);
  text-decoration: none;
  cursor: pointer;
  outline: none;
  text-align: left;
  border-radius: var(--border-radius);
  line-height: 1;
  max-width: 300px;
  width: 100%;
  font-size: 16px;
  font-weight: 400;
  margin-bottom: 10px;
  display: inline-flex;
  align-items: flex-end;
  justify-content: flex-start;
  padding: 20px 10px 10px;
  height: 50px;
  border: solid 1px var(--border-color);
  background-color: var(--bg-color);
  color: var(--text-color);
}

@media (min-width: 768px) {
  .btn {
    height: 55px;
    padding: 27px 10px 10px;
  }
}
.btn.w-100 {
  width: 100%;
  max-width: unset;
}

.btn:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0;
  border-radius: var(--border-radius);
  z-index: 0;
  background-color: var(--dark-grey);
}

.btn div {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.btn div .default {
  transition: var(--transition-default);
  transform: translateY(0);
  display: block;
  position: absolute;
  bottom: 0;
}

.btn div .hover {
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translateY(20px);
  transition: var(--transition-default);
}

.btn:hover, .btn:focus, .btn:active, .btn:not(:disabled):active {
  color: var(--text-color-hover);
  background-color: var(--bg-color-hover);
  border-color: var(--border-color-hover);
}

.btn:hover div .default, .btn:focus div .default, .btn:active div .default, .btn:not(:disabled):active div .default {
  transition: var(--transition-default);
  transform: translateY(-20px);
}

.btn:hover div .hover, .btn:focus div .hover, .btn:active div .hover, .btn:not(:disabled):active div .hover {
  transition: var(--transition-default);
  transform: translateY(0);
}

.btn:hover:before, .btn:focus:before, .btn:active:before, .btn:not(:disabled):active:before {
  animation: beforeAmimationStart 0.5s ease-in-out forwards;
}

.btn:not(:hover):before {
  animation: beforeAmimationEnd 0.5s ease-in-out forwards;
}

.btn.btn-dark {
  --bg-color: var(--color-dark);
  --text-color: var(--color-light);
  --border-color: var(--color-dark);
  --bg-color-hover: var(--blue);
  --text-color-hover: var(--color-light);
  --border-color-hover: var(--blue);
}

.btn.btn-light {
  --bg-color: var(--color-light);
  --text-color: var(--color-dark);
  --border-color: var(--color-light);
  --bg-color-hover: var(--blue);
  --text-color-hover: var(--color-light);
  --border-color-hover: var(--blue);
}

.btn.btn-light:hover div .default, .btn.btn-light:focus div .default, .btn.btn-light:active div .default, .btn.btn-light:not(:disabled):active div .default {
  color: var(--color-light);
}

.btn.btn-light:hover div .hover, .btn.btn-light:focus div .hover, .btn.btn-light:active div .hover, .btn.btn-light:not(:disabled):active div .hover {
  color: var(--color-light);
}

.btn.btn-light.btn-light-dark {
  --border-color: var(--light-grey);
  max-width: unset;
}

.btn.btn-blue-dark {
  --border-color-hover: var(--color-light);
  max-width: 400px;
}

@media (min-width: 768px) {
  .btn.btn-blue-dark {
    height: 85px;
    padding: 52px 10px 10px;
  }
}
.animation-hover .arrows {
  width: 24px;
  height: 24px;
  transform: rotate(0deg);
  transition: var(--transition-default);
}

.animation-hover:hover .arrows {
  transform: rotate(-45deg);
  transition: var(--transition-default);
}

.change-bgk-arrows .servizi-grid {
  background-color: var(--color-light);
  transition: var(--transition-default);
}

.change-bgk-arrows .arrows {
  width: 24px;
  height: 24px;
  transform: rotate(0deg);
  transition: var(--transition-default);
}

.change-bgk-arrows .arrows.default {
  visibility: visible;
  position: relative;
  opacity: 1;
}

.change-bgk-arrows .arrows.hover {
  position: absolute;
  opacity: 0;
  visibility: hidden;
}

.change-bgk-arrows:hover .servizi-grid {
  background-color: var(--blue);
  transition: var(--transition-default);
}

.change-bgk-arrows:hover .servizi-grid * {
  color: var(--color-light) !important;
}

.change-bgk-arrows:hover .arrows {
  transform: rotate(-45deg);
  transition: var(--transition-default);
}

.change-bgk-arrows:hover .arrows.default {
  position: absolute;
  opacity: 0;
  visibility: hidden;
}

.change-bgk-arrows:hover .arrows.hover {
  visibility: visible;
  position: relative;
  opacity: 1;
}

@keyframes beforeAmimationStart {
  0% {
    height: 0;
    transform: translateY(0);
  }
  50% {
    height: 100%;
    transform: translateY(0);
  }
  100% {
    height: 100%;
    transform: translateY(-100%);
  }
}
@keyframes beforeAmimationEnd {
  0% {
    height: 100%;
    transform: translateY(-100%);
  }
  50% {
    height: 100%;
    transform: translateY(0);
  }
  100% {
    height: 0;
    transform: translateY(0);
  }
}
.card.card-accordion {
  width: 100%;
  padding: 30px 20px;
  transition: var(--transition-default);
  cursor: pointer;
}

.card.card-accordion .change-color {
  transition: var(--transition-default);
  color: var(--color-dark);
}

.card.card-accordion .title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
}

.card.card-accordion .title .indicator img, .card.card-accordion .title .indicator svg {
  width: 22px;
  height: 22px;
}

.card.card-accordion .title .indicator .plus path {
  stroke: var(--color-dark);
}

.card.card-accordion .content {
  overflow: hidden;
  display: none;
  margin-top: 20px;
}

@media (min-width: 992px) {
  .card.card-accordion .content {
    width: 80%;
  }
}
.card.card-accordion.active, .card.card-accordion:hover {
  background-color: var(--blue);
  transition: var(--transition-default);
}

.card.card-accordion.active .change-color, .card.card-accordion:hover .change-color {
  transition: var(--transition-default);
  color: var(--color-light);
}

.card.card-accordion.active .change-color *, .card.card-accordion:hover .change-color * {
  color: var(--color-light);
}

.card.card-accordion.active .title .indicator .plus path, .card.card-accordion:hover .title .indicator .plus path {
  stroke: var(--color-light);
}

.bg-dark .card.card-accordion .change-color {
  color: var(--color-light);
}

.bg-dark .card.card-accordion .title .indicator .plus path {
  stroke: var(--color-light);
}

.bg-dark .card.card-accordion.active, .bg-dark .card.card-accordion:hover {
  background-color: var(--blue);
  transition: var(--transition-default);
}

.bg-dark .card.card-accordion.active .change-color, .bg-dark .card.card-accordion:hover .change-color {
  transition: var(--transition-default);
  color: var(--color-light);
}

.bg-dark .card.card-accordion.active .change-color *, .bg-dark .card.card-accordion:hover .change-color * {
  color: var(--color-light);
}

.bg-dark .card.card-accordion.active .title .indicator .plus path, .bg-dark .card.card-accordion:hover .title .indicator .plus path {
  stroke: var(--color-light);
}

@media (min-width: 992px) {
  .bg-dark.sedi-container .card.card-accordion .content {
    width: 100%;
  }
}
.bg-dark.sedi-container .card.card-accordion .change-color {
  color: var(--color-light);
}

.bg-dark.sedi-container .card.card-accordion .title .indicator .plus path {
  stroke: var(--color-light);
}

.bg-dark.sedi-container .card.card-accordion.active, .bg-dark.sedi-container .card.card-accordion:hover {
  background-color: var(--color-dark);
  transition: var(--transition-default);
}

.bg-dark.sedi-container .card.card-accordion.active .change-color, .bg-dark.sedi-container .card.card-accordion:hover .change-color {
  transition: var(--transition-default);
  color: var(--color-light);
}

.bg-dark.sedi-container .card.card-accordion.active .change-color *, .bg-dark.sedi-container .card.card-accordion:hover .change-color * {
  color: var(--color-light);
}

.bg-dark.sedi-container .card.card-accordion.active .title .indicator .plus path, .bg-dark.sedi-container .card.card-accordion:hover .title .indicator .plus path {
  stroke: var(--color-light);
}

.form-contatti {
  display: block;
}

.form-contatti .contact-form {
  width: 100%;
}

.form-contatti .contact-form .form-group {
  display: block;
  align-items: center;
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .form-contatti .contact-form .form-group {
    display: flex;
    flex-wrap: wrap;
    grid-gap: 16px;
    gap: 16px;
    margin-bottom: 0;
  }
}
.form-contatti .contact-form .form-group:last-child {
  margin-bottom: 0px;
}

.form-contatti .contact-form .form-group.allegato-form {
  margin-top: 25px;
  margin-bottom: 25px;
}

@media (max-width: 767px) {
  .form-contatti .contact-form .form-group.border-bottom .form-input:first-child {
    border-bottom: 1px solid var(--light-grey);
  }
}
.form-contatti .contact-form .form-group .form-input {
  flex: 1;
  max-width: 100%;
  box-sizing: border-box;
  padding: 0px;
  width: 100%;
  position: relative;
}

@media (min-width: 768px) {
  .form-contatti .contact-form .form-group .form-input {
    width: auto;
  }
}
.form-contatti .contact-form .form-group .form-input .title-form {
  padding: 10px;
  color: var(--color-dark);
  font-size: 14px;
  font-weight: 400;
  display: block;
}

.form-contatti .contact-form .form-group .form-input input[type=text], .form-contatti .contact-form .form-group .form-input input[type=number], .form-contatti .contact-form .form-group .form-input input[type=email], .form-contatti .contact-form .form-group .form-input input[type=password], .form-contatti .contact-form .form-group .form-input textarea {
  width: 100%;
  outline: none;
  border-bottom: none;
  border-left: none;
  border-right: none;
  border-top: none;
  border-radius: 0;
  padding: 30px 15px;
  box-sizing: border-box;
  background: rgba(0, 0, 0, 0);
  color: var(--color-dark);
  font-family: var(--font-family);
  font-size: 21px;
  font-weight: 400;
}

.form-contatti .contact-form .form-group .form-input input[type=text]::placeholder, .form-contatti .contact-form .form-group .form-input input[type=number]::placeholder, .form-contatti .contact-form .form-group .form-input input[type=email]::placeholder, .form-contatti .contact-form .form-group .form-input input[type=password]::placeholder, .form-contatti .contact-form .form-group .form-input textarea::placeholder {
  opacity: 0.9;
}

.form-contatti .contact-form .form-group .form-input input[type=text]:-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=number]:-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=email]:-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=password]:-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input textarea:-ms-input-placeholder {
  color: #ccc;
  opacity: 1;
}

.form-contatti .contact-form .form-group .form-input input[type=text]::-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=number]::-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=email]::-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=password]::-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input textarea::-ms-input-placeholder {
  color: #ccc;
  opacity: 1;
}

.form-contatti .contact-form .form-group .form-input input[type=text].color-light::placeholder, .form-contatti .contact-form .form-group .form-input input[type=number].color-light::placeholder, .form-contatti .contact-form .form-group .form-input input[type=email].color-light::placeholder, .form-contatti .contact-form .form-group .form-input input[type=password].color-light::placeholder, .form-contatti .contact-form .form-group .form-input textarea.color-light::placeholder {
  color: var(--color-light);
  opacity: 0.8;
}

.form-contatti .contact-form .form-group .form-input input[type=text].color-light:-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=number].color-light:-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=email].color-light:-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=password].color-light:-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input textarea.color-light:-ms-input-placeholder {
  color: var(--color-light);
  opacity: 0.8;
}

.form-contatti .contact-form .form-group .form-input input[type=text].color-light::-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=number].color-light::-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=email].color-light::-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input input[type=password].color-light::-ms-input-placeholder, .form-contatti .contact-form .form-group .form-input textarea.color-light::-ms-input-placeholder {
  color: var(--color-light);
  opacity: 0.8;
}

.form-contatti .contact-form .form-group .form-input input[type=number]::-webkit-outer-spin-button, .form-contatti .contact-form .form-group .form-input input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.form-contatti .contact-form .form-group .form-input input[type=number] {
  -moz-appearance: textfield;
}

.form-contatti .contact-form .form-group .form-input select {
  width: 100%;
  outline: none;
  border-bottom: none;
  border-left: none;
  border-right: none;
  border-top: none;
  border-radius: 0;
  padding: 10px 0;
  background-color: rgba(0, 0, 0, 0);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-position: 97% center;
  background-repeat: no-repeat;
  background-image: url(../img/icone/select.png);
  box-sizing: border-box;
  color: var(--color-light);
  position: relative;
  z-index: 1;
  font-size: 18px;
  font-weight: 400;
}

@media (min-width: 992px) {
  .form-contatti .contact-form .form-group .form-input select {
    font-size: 22px;
  }
}
@media (min-width: 1441px) {
  .form-contatti .contact-form .form-group .form-input select {
    font-size: 35px;
  }
}
.form-contatti .contact-form .form-group .form-input select + .select-arrow {
  position: absolute;
  right: 15px;
  top: 12px;
  margin-bottom: 0;
}

.form-contatti .contact-form .form-group .form-input textarea {
  width: 100%;
  outline: none;
  font-family: var(--font-family);
}

.form-contatti .contact-form .form-group .form-input.privacy-container {
  display: flex;
  align-items: baseline;
  margin-bottom: 5px;
  position: relative;
  padding: 30px 15px 0;
}

.form-contatti .contact-form .form-group .form-input.privacy-container input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 15px;
  width: 15px;
  z-index: 2;
}

.form-contatti .contact-form .form-group .form-input.privacy-container .checkmark {
  position: absolute;
  top: 30px;
  left: 15px;
  height: 20px;
  width: 20px;
  background: rgba(0, 0, 0, 0);
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
  border: 1px solid #999;
  border-radius: 5px;
  margin-bottom: 0;
}

.form-contatti .contact-form .form-group .form-input.privacy-container .checkmark:after {
  content: "";
  position: absolute;
  display: none;
  left: 2px;
  top: 2px;
  width: 14px;
  height: 14px;
  border-radius: 3px;
  background-color: var(--color-dark);
}

.form-contatti .contact-form .form-group .form-input.privacy-container input:checked ~ .checkmark:after {
  display: block;
}

.form-contatti .contact-form .form-group .form-input.privacy-container label {
  font-size: 16px;
  color: var(--color-dark);
  padding-left: 26px;
  cursor: pointer;
  text-transform: initial !important;
}

.form-contatti .contact-form .form-group .form-input.privacy-container label a {
  font-size: 16px;
  font-weight: 600;
  color: var(--color-dark);
}

.form-contatti .contact-form .form-group .form-input .pseudo-input-file [type=file] {
  display: none;
}

.form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-files-list {
  width: 100%;
  display: block;
  color: var(--color-dark);
  font-style: italic;
  text-decoration: underline;
  font-size: 16px;
}

@media (min-width: 768px) {
  .form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-files-list {
    position: absolute;
  }
}
.form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-button-input {
  --color-border: var(--color-dark);
  display: flex;
  align-items: center;
  border-radius: 0;
  border-bottom: none;
  border-left: none;
  border-right: none;
  border-top: none;
  padding: 7px 0;
  color: var(--color-dark);
  cursor: pointer;
  overflow: hidden;
  position: relative;
  background-color: rgba(0, 0, 0, 0);
  font-size: 18px;
  font-weight: 400;
}

@media (min-width: 992px) {
  .form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-button-input {
    font-size: 22px;
  }
}
@media (min-width: 1441px) {
  .form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-button-input {
    font-size: 35px;
  }
}
.form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-button-input svg {
  margin-right: 10px;
  flex-shrink: 0;
  fill: var(--color-default);
}

.form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-button-input span {
  color: inherit;
}

.form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-button-input::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  transition: var(--transition-default);
  opacity: 0.1;
}

.form-contatti .contact-form .form-group .form-input .pseudo-input-file .pseudo-button-input:hover::before {
  background-color: rgba(0, 0, 0, 0);
}

@media (max-width: 767px) {
  .form-contatti .contact-form.light .form-group.border-bottom .form-input:first-child {
    border-bottom: 1px solid hsla(0, 0%, 100%, 0.2);
  }
}
.form-contatti .contact-form.light .form-group .form-input input[type=text], .form-contatti .contact-form.light .form-group .form-input input[type=number], .form-contatti .contact-form.light .form-group .form-input input[type=email], .form-contatti .contact-form.light .form-group .form-input input[type=password], .form-contatti .contact-form.light .form-group .form-input textarea {
  color: var(--color-light);
}

.form-contatti .contact-form.light .form-group .form-input.privacy-container label {
  color: var(--color-light);
}

.form-contatti .contact-form.light .form-group .form-input.privacy-container label a {
  color: var(--color-light);
}

.form-contatti .contact-form.light .form-group .form-input.privacy-container .checkmark {
  position: absolute;
  top: 30px;
  left: 15px;
  height: 20px;
  width: 20px;
  background: rgba(0, 0, 0, 0);
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
  border: 1px solid #999;
  border-radius: 5px;
  margin-bottom: 0;
}

.form-contatti .contact-form.light .form-group .form-input.privacy-container .checkmark:after {
  content: "";
  position: absolute;
  display: none;
  left: 2px;
  top: 2px;
  width: 14px;
  height: 14px;
  border-radius: 3px;
  background-color: var(--color-light);
}

[data-form-toggle] {
  display: none;
}

[data-form-toggle].active {
  display: block;
}

.intro {
  position: relative;
  width: 100%;
  overflow: hidden;
  min-height: 100vh;
  min-height: 100svh;
  max-height: 100%;
  max-height: 100%;
}

.intro.img-full::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(29, 29, 29, 0.5);
  z-index: 1;
}

.intro.img-full.no-overlay::before {
  display: none;
}

.intro.img-full .video-home {
  position: absolute;
  overflow: hidden;
  width: 100%;
  min-height: 100vh;
  min-height: 100svh;
  max-height: 100%;
  max-height: 100%;
  display: flex;
  justify-content: center;
}

.intro.img-full .video-home .bg-image {
  position: absolute;
  width: 100vw;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: 0;
  min-height: 100vh;
  min-height: 100svh;
  max-height: 100%;
  max-height: 100%;
  object-fit: cover;
}

.intro.img-full .video-home video {
  object-fit: cover;
}

@media (min-width: 768px) {
  .intro.img-full .video-home video {
    display: block;
    min-width: 100vw;
    width: 100vw;
    margin-bottom: 0;
  }
}
@media (min-aspect-ratio: 16/9) {
  .intro.img-full .video-home video {
    height: auto;
  }
}
.intro.img-full .text-content {
  position: absolute;
  left: 50%;
  width: 100%;
  bottom: 0;
  transform: translateX(-50%);
  text-align: left;
  z-index: 1;
}

@media (min-width: 992px) {
  .intro.img-full .text-content .block-text-slider {
    display: flex;
    justify-content: space-between;
  }
}
.loader-transition-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 9999;
  pointer-events: none;
}

.loader-transition-overlay .overlay {
  position: absolute;
  left: 0;
  top: 0;
  background: #020e1a;
  background: linear-gradient(180deg, rgba(2, 14, 26, 0.45) 30%, rgb(2, 14, 26) 93%);
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.loader-transition-overlay .loader-overlay {
  width: 100%;
  height: 100%;
  background: var(--color-light);
  transition: clip-path 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  clip-path: inset(100% 0 0 0);
}

.loader-transition-overlay.active {
  pointer-events: auto;
}

.loader-transition-overlay.active .overlay {
  opacity: 1;
  transition: opacity 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.loader-transition-overlay.active .loader-overlay {
  clip-path: inset(0% 0 0 0);
  transition: clip-path 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.pagination {
  list-style: none;
  padding-left: 0;
}

.pagination li {
  margin-right: 15px;
  display: inline-block;
}

.pagination li:last-child {
  margin-right: 0;
}

.pagination li .btn {
  width: 42px;
  height: 42px;
  padding: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 0;
  border-radius: 8px;
  font-family: var(--font-family);
  font-size: 14px;
  font-weight: 500;
  background-color: rgba(0, 0, 0, 0);
  border: 1px solid var(--color-dark);
  color: var(--color-dark);
}

.pagination li .btn i {
  margin: 0;
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  transform: none;
  font-size: 14px;
}

.pagination li .btn span {
  font-family: var(--font-family);
  font-size: 20px;
  font-weight: 400;
  color: var(--color-dark);
}

.pagination li .btn:hover {
  background-color: var(--color-light);
  color: var(--color-dark);
}

.pagination li .btn:hover i, .pagination li .btn:hover span {
  color: var(--color-dark);
}

.pagination li .current {
  width: 42px;
  height: 42px;
  padding: 5px;
  display: flex !important;
  justify-content: center;
  align-items: center;
  margin-bottom: 0;
  color: var(--color-light);
  background-color: var(--blue);
  border: 1px solid var(--blue);
  border-radius: 8px;
  font-family: var(--font-family);
  font-size: 14px;
  font-weight: 500;
}

.image-container {
  position: relative;
}

.image-container .image-inner {
  position: relative;
  top: 0;
  left: 0;
}

.image-container .image-inner:before, .image-container .image-inner:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  z-index: 0;
}

.image-container .image-inner:before {
  border: 1px solid var(--light-grey);
}

.image-container .image-inner:after {
  background: linear-gradient(to bottom right, transparent calc(50% - 1px), var(--light-grey) calc(50% - 1px), var(--light-grey) 50%, transparent 50%);
}

.image-container .image-inner img {
  position: relative;
  z-index: 1;
  display: block;
  object-fit: cover;
}

.image-container .img-small {
  max-width: 960px;
}

@media (min-width: 992px) {
  .image-container .img-small {
    max-width: 200px;
  }
}
.bg-dark .image-container .image-inner:before {
  border: 1px solid hsla(0, 0%, 100%, 0.2);
}

.bg-dark .image-container .image-inner:after {
  background: linear-gradient(to bottom right, transparent calc(50% - 1px), rgba(255, 255, 255, 0.2) calc(50% - 1px), rgba(255, 255, 255, 0.2) 50%, transparent 50%);
}

.image-text-animation-section {
  view-timeline-name: --text;
  view-timeline-axis: block;
}

.image-text-animation-section .image-fluid-animazione {
  height: 100vh;
  position: sticky;
  top: 0;
  z-index: 1;
  overflow: hidden;
  scroll-behavior: unset;
}

.image-text-animation-section .image-fluid-animazione .title-change {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  width: 100%;
  padding: 0 20px;
  animation-timeline: --text;
  animation-range: entry 100% entry 200%;
  animation-name: colorText;
  animation-duration: 1s;
  animation-fill-mode: both;
}

.image-text-animation-section .img-container {
  transform-origin: center center;
  min-height: 100vh;
  view-timeline-name: --img;
  view-timeline-axis: block;
  animation-timeline: --img;
  animation-name: scaleImage;
  animation-duration: 0.4s;
  animation-fill-mode: both;
  animation-range: entry -30% entry 100%;
}

.image-text-animation-section .img-container img {
  object-fit: cover;
  min-height: 100vh;
  display: block;
}

.image-text-animation-section .img-container:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(29, 29, 29, 0.2);
  z-index: 0;
}

@keyframes scaleImage {
  0% {
    transform: scale(0.5);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes colorText {
  0% {
    color: var(--color-dark);
  }
  100% {
    color: var(--color-light);
  }
}
.text-animazione {
  height: 50vh;
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 0;
  overflow: hidden;
  display: flex;
}

.text-animazione.full {
  height: auto;
  position: relative !important;
}

@media (min-width: 992px) {
  .text-animazione.full {
    height: 100vh;
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0;
    overflow: hidden;
    display: flex;
  }
}
.scroll-section {
  height: 100vh;
}

.map-image {
  width: 100%;
  height: auto;
  object-fit: cover;
}

@media (min-width: 992px) {
  .sedi-container {
    position: absolute;
    left: 20px;
    top: 20px;
    width: calc(100% - 40px);
  }
}
.categorie-icon {
  max-width: 46px;
  height: auto;
}

.category-block-hover {
  transition: var(--transition-default);
  position: relative;
}

@media (max-width: 991px) {
  .category-block-hover .cat-grid {
    border-bottom: 1px solid var(--light-grey);
  }
}
.category-block-hover .prod-absolute-container {
  transition: var(--transition-default);
  background-color: var(--color-light);
  position: relative;
  width: 100%;
  z-index: 2;
}

@media (min-width: 992px) {
  .category-block-hover .prod-absolute-container {
    position: absolute;
    opacity: 0;
    visibility: hidden;
  }
}
.category-block-hover .prod-absolute-container .prodotti-block-hover {
  transition: var(--transition-default);
  display: block;
  margin: 0;
}

@media (max-width: 991px) {
  .category-block-hover .prod-absolute-container .prodotti-block-hover .border-top {
    border-top: none;
  }
}
.category-block-hover .prod-absolute-container .prodotti-block-hover .inside-grid {
  grid-template-columns: 1fr 1fr;
}

@media (min-width: 992px) {
  .category-block-hover .prod-absolute-container .prodotti-block-hover .inside-grid {
    grid-template-columns: 1fr 1fr;
  }
}
.category-block-hover .prod-absolute-container .prodotti-block-hover > div {
  padding: 25px 20px 25px 0;
}

.category-block-hover .prod-absolute-container .prodotti-block-hover .arrows {
  transition: var(--transition-default);
  width: 24px;
}

.category-block-hover .prod-absolute-container .prodotti-block-hover .arrows.default {
  opacity: 1;
  visibility: visible;
}

.category-block-hover .prod-absolute-container .prodotti-block-hover .arrows.hover {
  position: absolute;
  opacity: 0;
  visibility: hidden;
}

.category-block-hover .prod-absolute-container .prodotti-block-hover:hover {
  transition: var(--transition-default);
  background-color: var(--blue);
}

.category-block-hover .prod-absolute-container .prodotti-block-hover:hover * {
  color: var(--color-light);
}

.category-block-hover .prod-absolute-container .prodotti-block-hover:hover .arrows {
  transition: var(--transition-default);
}

.category-block-hover .prod-absolute-container .prodotti-block-hover:hover .arrows.default {
  opacity: 0;
  visibility: hidden;
  transform: rotate(-45deg);
}

.category-block-hover .prod-absolute-container .prodotti-block-hover:hover .arrows.hover {
  opacity: 1;
  visibility: visible;
  transform: rotate(-45deg);
}

.category-block-hover:hover {
  transition: var(--transition-default);
}

.category-block-hover:hover > .cat-grid {
  background-color: var(--blue);
}

.category-block-hover:hover > .cat-grid *, .category-block-hover:hover > .cat-grid .categoria-nome {
  color: var(--color-light) !important;
}

.category-block-hover:hover .prod-absolute-container {
  transition: var(--transition-default);
}

@media (min-width: 992px) {
  .category-block-hover:hover .prod-absolute-container {
    opacity: 1;
    visibility: visible;
  }
}
.product-detail-block .img-prodotto {
  max-width: 500px;
  height: auto;
  object-fit: contain;
}

.product-detail-block .category-icons .grid {
  text-align: center;
  background-color: var(--light-grey);
  padding: 30px 10px;
}

.product-detail-block .category-icons .grid img {
  max-width: 50px;
  object-fit: contain;
}

.product-detail-block .category-icons .grid p {
  color: var(--color-light);
}

.product-detail-block .category-icons .grid.active {
  background-color: var(--blue);
}

.product-detail-block .category-icons .grid.active p {
  color: var(--color-light);
}

.btn-prev-next {
  display: flex;
  gap: 10px;
}

.gallery-prodotto .bg-gallery {
  position: absolute;
  left: 50%;
  top: 50%;
  color: var(--color-light);
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
  background-color: rgba(0, 0, 0, 0.1);
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.gallery-prodotto .bg-gallery svg {
  width: 25px;
}

.storia {
  position: relative;
}

@media (min-width: 1000px) {
  .storia .timeline-list {
    margin-top: calc(-90vh + 40px);
  }
}
.storia .timeline-list .timeline-item {
  position: relative;
  min-height: auto;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

@media (min-width: 992px) {
  .storia .timeline-list .timeline-item {
    min-height: calc(100vh - 40px);
  }
}
.storia .timeline-list .timeline-item .anno-mobile {
  position: absolute;
  left: 50%;
  top: 20%;
  transform: translateX(-50%);
  text-align: center;
  z-index: -1;
  color: var(--light-grey);
  font-family: var(--font-family);
  font-weight: 500;
  font-size: clamp(6.25rem, 20vw, 31.25rem);
}

@media (min-width: 992px) {
  .storia .timeline-list .timeline-item .anno-mobile {
    display: none;
  }
}
@media (min-width: 992px) {
  .storia .timeline-list .timeline-item .timeline-content {
    display: flex;
    justify-content: space-between;
    align-items: bottom;
  }
}
.storia .timeline-list .timeline-item .img-top-left {
  max-width: clamp(7.5rem, 32vw, 34.3125rem);
}

.storia .timeline-list .timeline-item .img-top-left.small {
  max-width: clamp(5rem, 14vw, 12.5rem);
}

.storia .timeline-list .timeline-item .img-top-right {
  max-width: clamp(5rem, 14vw, 16.5625rem);
}

.storia .timeline-list .timeline-item .img-top-right.small {
  max-width: clamp(6.875rem, 14vw, 12.5rem);
}

.storia .timeline-list .timeline-item .img-bottom-left {
  max-width: clamp(5rem, 14vw, 12.5rem);
}

.storia .timeline-list .timeline-item .img-bottom-left.big {
  max-width: clamp(6.875rem, 32vw, 38.75rem);
}

.storia .timeline-list .timeline-item .img-bottom-right {
  max-width: clamp(6.25rem, 14vw, 16.5625rem);
}

.storia .timeline-list .timeline-item .img-bottom-right.small {
  max-width: clamp(5rem, 14vw, 12.5rem);
}

.storia .year-container {
  display: none;
}

@media (min-width: 1000px) {
  .storia .year-container {
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    min-height: calc(100vh - 40px);
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.storia .year-container .year-list .year-item {
  display: flex;
  justify-content: center;
  font-size: clamp(100px, 40vw, 700px);
  line-height: 1;
  opacity: 0.4;
  z-index: 0;
  pointer-events: none;
  font-weight: 500;
}

.storia .year-container .year-list .year-item .year-char {
  position: relative;
  overflow: hidden;
  height: 1em;
  width: 0.65em;
  color: var(--light-grey);
  font-weight: 500;
  font-size: clamp(100px, 40vw, 600px);
}

.storia .year-container .year-list .year-item .year-char span {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  text-align: center;
  display: block;
  line-height: 1;
  font-weight: 500;
  font-size: clamp(100px, 40vw, 600px);
}

.servizi-atf-slider .swiper-wrapper {
  width: 100%;
}

.servizi-atf-slider .swiper-wrapper .swiper-slide {
  padding: 14px;
  width: auto;
  max-width: 100%;
  overflow: hidden;
}

.servizi-atf-slider .swiper-wrapper .swiper-slide .inside-grid .grid {
  min-width: 0;
}

.servizi-atf-slider .swiper-wrapper .swiper-slide .inside-grid .img-servizio {
  max-width: 200px;
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}

.servizi-atf-slider .swiper-pagination-progressbar {
  top: unset !important;
  bottom: 0;
}

.servizi-atf-slider .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--blue);
}

header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2;
  padding: 0;
  background-color: rgba(0, 0, 0, 0);
  transition: all 0.5s ease-in-out;
  height: 90px;
}

@media (min-width: 1400px) {
  header {
    height: 120px;
  }
}
header .header-container {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  position: relative;
  height: 90px;
  padding: 0 20px;
  transition: all 0.5s ease-in-out;
}

@media (min-width: 1200px) {
  header .header-container {
    padding: 0 20px;
  }
}
@media (min-width: 1400px) {
  header .header-container {
    height: 120px;
  }
}
header .header-container .logo-container {
  transition: all 0.5s ease-in-out;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  width: calc(100% - 90px);
  order: 1;
}

@media (min-width: 768px) {
  header .header-container .logo-container {
    width: calc(100% - 380px);
  }
}
header .header-container .logo-container a {
  display: block;
}

header .header-container .logo-container a::after {
  content: none;
}

header .header-container .logo-container a .logo-dark {
  display: none;
}

header .header-container .logo-container a .logo-light {
  display: block;
}

header .header-container .logo-container a img {
  transition: all 0.5s ease-in-out;
  vertical-align: middle;
}

@media (max-width: 767px) {
  header .header-container .logo-container a img {
    width: 180px;
    height: auto;
  }
}
header .header-container .menu-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  width: 40px;
  order: 4;
}

@media (min-width: 768px) {
  header .header-container .menu-container {
    width: 140px;
  }
}
@media (max-width: 1023px) {
  header .header-container .menu-container {
    align-items: flex-end;
  }
}
header .header-container .menu-container .menu {
  list-style: none;
  display: flex;
  position: fixed;
  margin: 0;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  flex-direction: column;
  align-items: center;
  background-color: rgba(29, 29, 29, 0.98);
  height: 100lvh;
  overflow: auto;
  transform: translateY(-100%);
  transition: transform 1.09s cubic-bezier(0.67, 0, 0.06, 1);
  z-index: -1;
}

@media (max-width: 1023px) {
  header .header-container .menu-container .menu {
    overflow-x: hidden;
    background-color: var(--color-dark);
  }
}
@media (min-width: 1024px) {
  header .header-container .menu-container .menu {
    justify-content: center;
  }
}
header .header-container .menu-container .menu .main-menu-grid {
  width: 100%;
}

@media (max-width: 1023px) {
  header .header-container .menu-container .menu .main-menu-grid {
    padding-top: 90px;
  }
}
@media (max-width: 767px) {
  header .header-container .menu-container .menu .main-menu-grid .mobile-h {
    height: calc(100vh - 120px);
  }
}
header .header-container .menu-container .menu .main-menu-grid ul {
  margin: 0;
  padding: 0;
  list-style: none;
  margin-bottom: 0 !important;
}

header .header-container .menu-container .menu .main-menu-grid ul li {
  padding: 0 15px;
  margin-bottom: 0;
  text-align: left;
}

@media (min-width: 1400px) {
  header .header-container .menu-container .menu .main-menu-grid ul li {
    padding: 0 20px;
  }
}
header .header-container .menu-container .menu .main-menu-grid ul li.link-menu a.a-link {
  position: relative;
  display: block;
  text-decoration: none;
  color: var(--color-light);
  padding: 10px 0;
  margin-bottom: 0;
  cursor: pointer;
  transition: var(--transition-default);
  font-weight: 500;
  font-family: var(--font-family-title);
  white-space: nowrap;
  text-transform: uppercase;
  margin-left: -15px;
  line-height: 1.1;
  font-size: clamp(1.5rem, 4vw, 4rem);
}

@media (min-width: 1024px) {
  header .header-container .menu-container .menu .main-menu-grid ul li.link-menu a.a-link {
    margin-left: -38px;
    display: inline-block;
    padding: 15px 0;
  }
}
header .header-container .menu-container .menu .main-menu-grid ul li.link-menu a.a-link:before {
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../img/icone/arrow-blue-outline.svg);
  position: relative;
  text-align: right;
  display: inline-block;
  vertical-align: middle;
  transition: var(--transition-default);
  opacity: 0;
  margin-right: 6px;
  background-size: 16px;
  width: 16px;
  height: 16px;
  margin-top: -3px;
}

@media (min-width: 768px) {
  header .header-container .menu-container .menu .main-menu-grid ul li.link-menu a.a-link:before {
    background-size: 16px;
    width: 16px;
    height: 16px;
    margin-top: -3px;
    margin-right: 15px;
  }
}
@media (min-width: 1024px) {
  header .header-container .menu-container .menu .main-menu-grid ul li.link-menu a.a-link:before {
    background-size: 34px;
    width: 34px;
    height: 34px;
  }
}
header .header-container .menu-container .menu .main-menu-grid ul li.link-menu a.a-link:hover, header .header-container .menu-container .menu .main-menu-grid ul li.link-menu a.a-link.active {
  color: var(--blue);
}

@media (min-width: 1024px) {
  header .header-container .menu-container .menu .main-menu-grid ul li.link-menu a.a-link:hover, header .header-container .menu-container .menu .main-menu-grid ul li.link-menu a.a-link.active {
    margin-left: 0;
  }
}
header .header-container .menu-container .menu .main-menu-grid ul li.link-menu a.a-link:hover:before, header .header-container .menu-container .menu .main-menu-grid ul li.link-menu a.a-link.active:before {
  opacity: 1;
}

header .header-container .menu-container .menu .main-menu-grid ul li.link-menu.megamenu {
  position: relative;
}

@media (max-width: 1023px) {
  header .header-container .menu-container .menu .main-menu-grid ul li.link-menu.megamenu {
    position: relative;
  }
}
header .header-container .menu-container .menu .main-menu-grid .mobile-submenu .submenu-container {
  padding: 0;
  position: absolute;
  transform: translateX(100%);
  right: -15px;
  background-color: var(--color-dark);
  transition: var(--transition-default);
  width: 100%;
  z-index: 1;
  height: calc(100vh - 110px);
}

@media (min-width: 1024px) {
  header .header-container .menu-container .menu .main-menu-grid .mobile-submenu .submenu-container {
    position: relative;
    transform: translateY(-200%);
    height: 100%;
    background-color: rgba(0, 0, 0, 0);
  }
}
header .header-container .menu-container .menu .main-menu-grid .mobile-submenu .submenu-container.open-submenu {
  transform: translateX(0);
  right: 0;
  z-index: 1;
  transition: var(--transition-default);
}

@media (min-width: 1024px) {
  header .header-container .menu-container .menu .main-menu-grid .mobile-submenu .submenu-container.open-submenu {
    transform: translateY(0);
  }
}
header .header-container .menu-container .menu .main-menu-grid .mobile-submenu .submenu-container .inside {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding-left: 0;
  padding-right: 0;
  height: 100%;
}

@media (max-width: 1023px) {
  header .header-container .menu-container .menu .main-menu-grid .mobile-submenu .submenu-container .inside {
    justify-content: flex-start;
    padding-top: 50px;
    padding-bottom: 80px;
  }
}
header .header-container .menu-container .menu .main-menu-grid .mobile-submenu .submenu-container .inside .close-arrow {
  position: absolute;
  top: 0;
  cursor: pointer;
  color: var(--color-light);
  width: 100%;
  text-align: left;
  font-size: 14px;
  display: flex;
}

@media (min-width: 1024px) {
  header .header-container .menu-container .menu .main-menu-grid .mobile-submenu .submenu-container .inside .close-arrow {
    display: none;
  }
}
header .header-container .menu-container .menu .main-menu-grid .mobile-submenu .submenu-container .inside .close-arrow img {
  width: 20px;
  height: 20px;
}

header .header-container .menu-container .menu .main-menu-grid .mobile-submenu .submenu-container .inside .close-arrow span {
  margin-left: 10px;
}

header .header-container .menu-container .menu .main-menu-grid .mobile-submenu .submenu-container .inside .submenu {
  list-style: none;
  padding: 0;
  width: 100%;
}

header .header-container .menu-container .menu .main-menu-grid .mobile-submenu .submenu-container .inside .submenu .sub-link {
  padding-top: 10px;
  padding-bottom: 10px;
  text-align: left;
}

@media (min-width: 1024px) {
  header .header-container .menu-container .menu .main-menu-grid .mobile-submenu .submenu-container .inside .submenu .sub-link {
    text-align: left;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}
header .header-container .menu-container .menu .main-menu-grid .mobile-submenu .submenu-container .inside .submenu .sub-link ul {
  margin-bottom: 0;
}

header .header-container .menu-container .menu .main-menu-grid .mobile-submenu .submenu-container .inside .submenu .sub-link li {
  padding: 5px 0;
}

@media (min-width: 1681px) {
  header .header-container .menu-container .menu .main-menu-grid .mobile-submenu .submenu-container .inside .submenu .sub-link li {
    padding: 10px 0;
  }
}
header .header-container .menu-container .menu .main-menu-grid .mobile-submenu .submenu-container .inside .submenu .sub-link li .a-link {
  text-transform: initial;
  transition: var(--transition-default);
  color: var(--color-light);
  padding-left: 0;
  cursor: pointer;
  text-transform: uppercase;
  margin-left: -20px;
  line-height: 1.1;
  font-family: var(--font-family-title);
  font-weight: 500;
  font-size: clamp(1.25rem, 4vw, 3rem);
}

@media (min-width: 1024px) {
  header .header-container .menu-container .menu .main-menu-grid .mobile-submenu .submenu-container .inside .submenu .sub-link li .a-link {
    margin-left: -30px;
  }
}
header .header-container .menu-container .menu .main-menu-grid .mobile-submenu .submenu-container .inside .submenu .sub-link li .a-link:before {
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  background-image: url(../img/icone/arrow-blue-outline.svg);
  position: relative;
  text-align: right;
  display: inline-block;
  margin-right: 10px;
  transition: var(--transition-default);
  opacity: 0;
  background-size: 14px;
  width: 14px;
  height: 14px;
  margin-top: -3px;
  vertical-align: middle;
}

@media (min-width: 768px) {
  header .header-container .menu-container .menu .main-menu-grid .mobile-submenu .submenu-container .inside .submenu .sub-link li .a-link:before {
    background-size: 16px;
    width: 16px;
    height: 16px;
    margin-top: -6px;
  }
}
@media (min-width: 1024px) {
  header .header-container .menu-container .menu .main-menu-grid .mobile-submenu .submenu-container .inside .submenu .sub-link li .a-link:before {
    background-size: 36px;
    width: 36px;
    height: 36px;
  }
}
header .header-container .menu-container .menu .main-menu-grid .mobile-submenu .submenu-container .inside .submenu .sub-link li .a-link:hover, header .header-container .menu-container .menu .main-menu-grid .mobile-submenu .submenu-container .inside .submenu .sub-link li .a-link.active {
  margin-left: 0;
  color: var(--blue);
}

header .header-container .menu-container .menu .main-menu-grid .mobile-submenu .submenu-container .inside .submenu .sub-link li .a-link:hover:before, header .header-container .menu-container .menu .main-menu-grid .mobile-submenu .submenu-container .inside .submenu .sub-link li .a-link.active:before {
  opacity: 1;
}

header .header-container .menu-container .menu .main-menu-grid .lang-container-mobile {
  display: flex;
  flex-direction: row;
  align-items: center;
  position: relative;
  justify-content: center;
  position: absolute;
  bottom: 20px;
  width: 100%;
}

@media (min-width: 768px) {
  header .header-container .menu-container .menu .main-menu-grid .lang-container-mobile {
    display: none;
  }
}
header .header-container .menu-container .menu .main-menu-grid .lang-container-mobile .language-menu-container {
  margin-top: -2px;
}

header .header-container .menu-container .menu .main-menu-grid .lang-container-mobile .language-menu-container .language-menu {
  transition: var(--transition-default);
  list-style: none;
  padding: 0;
  display: inline-flex;
}

header .header-container .menu-container .menu .main-menu-grid .lang-container-mobile .language-menu-container .language-menu li {
  padding: 0;
  font-size: 1.125rem;
}

header .header-container .menu-container .menu .main-menu-grid .lang-container-mobile .language-menu-container .language-menu li a {
  transition: var(--transition-default);
  color: var(--light-grey);
  font-family: var(--font-family);
  font-size: 1.125rem;
  font-weight: 400;
  text-transform: uppercase;
  margin: 0;
  padding: 5px 10px;
  opacity: 0.6;
}

header .header-container .menu-container .menu .main-menu-grid .lang-container-mobile .language-menu-container .language-menu li.active a, header .header-container .menu-container .menu .main-menu-grid .lang-container-mobile .language-menu-container .language-menu li:hover a {
  transition: var(--transition-default);
  color: var(--color-light);
  opacity: 1;
}

header .header-container .menu-container .menu .address-menu {
  position: absolute;
  bottom: 40px;
  font-family: var(--font-family);
}

@media (min-width: 1441px) {
  header .header-container .menu-container .menu .address-menu {
    bottom: 60px;
  }
}
@media (max-width: 1023px) {
  header .header-container .menu-container .menu .address-menu {
    display: none;
  }
}
header .header-container .menu-container .hamburger {
  display: flex;
  flex-direction: row;
  align-items: center;
  position: relative;
  width: 40px;
  order: 4;
  justify-content: flex-end;
  z-index: 1;
}

@media (min-width: 768px) {
  header .header-container .menu-container .hamburger {
    width: 100px;
  }
}
header .header-container .menu-container .hamburger::before {
  content: "MENU";
  opacity: 1;
  visibility: visible;
  transition: var(--transition-default);
  color: var(--color-light);
  font-weight: 400;
  font-family: var(--font-family);
}

@media (max-width: 767px) {
  header .header-container .menu-container .hamburger::before {
    display: none;
  }
}
header .header-container .menu-container .hamburger .hamburger-container {
  position: relative;
  width: 32px;
  height: 18px;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  box-sizing: content-box;
  cursor: pointer;
  padding-left: 10px;
}

header .header-container .menu-container .hamburger .hamburger-container::before, header .header-container .menu-container .hamburger .hamburger-container::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--color-light);
  transition: var(--transition-default);
}

header .header-container .icona-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  position: relative;
  width: 50px;
  order: 2;
  justify-content: center;
}

@media (min-width: 768px) {
  header .header-container .icona-container {
    width: 100px;
  }
}
header .header-container .icona-container img {
  width: 40px;
  height: 40px;
}

@media (min-width: 768px) {
  header .header-container .icona-container img {
    width: 60px;
    height: 60px;
  }
}
header .header-container .lang-container {
  flex-direction: row;
  align-items: center;
  position: relative;
  width: 110px;
  order: 3;
  justify-content: center;
  display: none;
}

@media (min-width: 768px) {
  header .header-container .lang-container {
    width: 140px;
    display: flex;
  }
}
header .header-container .lang-container .language-menu-container {
  margin-top: -2px;
}

header .header-container .lang-container .language-menu-container .language-menu {
  transition: var(--transition-default);
  list-style: none;
  padding: 0;
  display: inline-flex;
}

header .header-container .lang-container .language-menu-container .language-menu li {
  font-size: 0.875rem;
}

header .header-container .lang-container .language-menu-container .language-menu li a {
  transition: var(--transition-default);
  color: var(--light-grey);
  font-family: var(--font-family);
  font-size: 0.875rem;
  font-weight: 400;
  text-transform: uppercase;
  margin: 0;
  padding: 5px 10px;
  opacity: 0.6;
}

header .header-container .lang-container .language-menu-container .language-menu li.active a, header .header-container .lang-container .language-menu-container .language-menu li:hover a {
  transition: var(--transition-default);
  color: var(--color-light);
  opacity: 1;
}

header.light-header {
  background-color: rgba(0, 0, 0, 0);
}

header.light-header .header-container .logo-container {
  transition: all 0.5s ease-in-out;
}

header.light-header .header-container .logo-container a .logo-dark {
  display: block;
}

header.light-header .header-container .logo-container a .logo-light {
  display: none;
}

header.light-header .menu-container .hamburger::before {
  color: var(--color-dark);
}

header.light-header .menu-container .hamburger .hamburger-container::before, header.light-header .menu-container .hamburger .hamburger-container::after {
  background-color: var(--color-dark);
}

header.light-header .lang-container .language-menu-container .language-menu li a {
  color: var(--grey);
  opacity: 1;
}

header.light-header .lang-container .language-menu-container .language-menu li.active a, header.light-header .lang-container .language-menu-container .language-menu li:hover a {
  color: var(--color-dark);
}

body {
  transition: var(--transition-default);
}

body.sticky-header header {
  transition: all 0.5s ease-in-out;
  background-color: hsla(0, 0%, 100%, 0.8);
  height: 90px;
}

@media (min-width: 1400px) {
  body.sticky-header header {
    height: 90px;
  }
}
body.sticky-header header .header-container {
  transition: all 0.5s ease-in-out;
  height: 90px;
}

@media (min-width: 1400px) {
  body.sticky-header header .header-container {
    height: 90px;
  }
}
body.sticky-header header .header-container .logo-container {
  transition: all 0.5s ease-in-out;
}

body.sticky-header header .header-container .logo-container a .logo-dark {
  display: block;
}

body.sticky-header header .header-container .logo-container a .logo-light {
  display: none;
}

body.sticky-header header .header-container .menu-container .menu li.link-menu a {
  color: var(--color-dark);
}

body.sticky-header header .header-container .menu-container .hamburger::before {
  color: var(--color-dark);
}

body.sticky-header header .header-container .menu-container .hamburger .hamburger-container::before, body.sticky-header header .header-container .menu-container .hamburger .hamburger-container::after {
  background-color: var(--color-dark);
}

body.sticky-header header .header-container .lang-container .language-menu-container .language-menu li a {
  color: var(--grey);
}

body.sticky-header header .header-container .lang-container .language-menu-container .language-menu li.active a, body.sticky-header header .header-container .lang-container .language-menu-container .language-menu li:hover a {
  color: var(--color-dark);
}

body.sticky-header header.light-header {
  background-color: hsla(0, 0%, 100%, 0.8);
}

body.sticky-header header.light-header .logo-container {
  transition: all 0.5s ease-in-out;
}

body.sticky-header header.light-header .logo-container a .logo-dark {
  display: block;
}

body.sticky-header header.light-header .logo-container a .logo-light {
  display: none;
}

body.sticky-header.menu-open header .header-container .logo-container a .logo-dark {
  display: none;
}

body.sticky-header.menu-open header .header-container .logo-container a .logo-light {
  display: block;
}

body.sticky-header.menu-open header .header-container .lang-container .language-menu-container .language-menu li a {
  color: var(--grey);
}

body.sticky-header.menu-open header .header-container .lang-container .language-menu-container .language-menu li.active a, body.sticky-header.menu-open header .header-container .lang-container .language-menu-container .language-menu li:hover a {
  color: var(--color-light);
}

body.megamenu-open header .header-container nav.menu-container ul.menu li.link-menu a {
  color: var(--color-dark);
}

body.menu-open header .header-container .logo-container {
  transform: translateY(0) !important;
  transition: all 0.5s ease-in-out;
}

body.menu-open header .header-container .logo-container a .logo-dark {
  display: none;
}

body.menu-open header .header-container .logo-container a .logo-light {
  display: block;
}

body.menu-open header .header-container .menu-container .menu {
  transform: translateY(0);
  transition: transform 1.09s cubic-bezier(0.67, 0, 0.06, 1);
  top: 0;
}

body.menu-open header .header-container .menu-container .hamburger::before {
  content: "CHIUDI";
  opacity: 1;
  visibility: visible;
  transition: var(--transition-default);
  color: var(--color-light);
  font-weight: 400;
  font-family: var(--font-family);
}

@media (max-width: 767px) {
  body.menu-open header .header-container .menu-container .hamburger::before {
    display: none;
  }
}
body.menu-open header .header-container .menu-container .hamburger .hamburger-container::before {
  animation-duration: 0.5s;
  transform-origin: center;
  transform: translateY(2px) rotate(45deg);
  background-color: var(--color-light);
}

@media (max-width: 991px) {
  body.menu-open header .header-container .menu-container .hamburger .hamburger-container::before {
    transform: translateY(2px) rotate(45deg);
  }
}
body.menu-open header .header-container .menu-container .hamburger .hamburger-container::after {
  animation-duration: 0.5s;
  transform-origin: center;
  transform: translateY(-7px) rotate(-45deg);
  background-color: var(--color-light);
}

body.menu-open header.light-header {
  background-color: rgba(0, 0, 0, 0);
}

body.menu-open header.light-header .lang-container .language-menu-container .language-menu li a {
  color: var(--light-grey);
}

body.menu-open header.light-header .lang-container .language-menu-container .language-menu li.active a, body.menu-open header.light-header .lang-container .language-menu-container .language-menu li:hover a {
  color: var(--color-light);
}

@keyframes hamburger_toggle_before {
  0% {
    transform-origin: center;
    transform: translateY(0) rotate(0deg);
  }
  50% {
    transform: translateY(8px);
  }
  100% {
    transform: translateY(8px) rotate(45deg);
  }
}
@keyframes hamburger_toggle_after {
  0% {
    transform-origin: center;
    transform: translateY(0) rotate(0deg);
  }
  50% {
    transform: translateY(-9px);
  }
  100% {
    transform: translateY(-9px) rotate(-45deg);
  }
}
footer {
  position: relative;
}

@media (max-width: 575px) {
  footer * {
    text-align: center;
  }
}
footer.bg-dark * {
  color: var(--color-light);
}

footer.bg-dark * .btn-light div .default {
  color: var(--color-dark);
}

footer.bg-dark * .btn-light div .hover {
  color: var(--color-dark);
}

footer .logo-footer {
  max-width: 200px;
}

footer .menu-footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

footer .menu-footer ul li {
  display: block;
  padding: 2px 0;
}

footer .menu-footer ul li a {
  font-family: var(--font-family);
  font-weight: 400;
  text-decoration: none;
  transition: var(--transition-default);
}

footer .menu-footer ul li a.active {
  color: var(--grey);
}

footer .lang-footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

footer .lang-footer ul li {
  display: block;
  padding: 0;
}

footer .lang-footer ul li a {
  font-family: var(--font-family);
  font-size: 14px;
  font-weight: 400;
  text-decoration: none;
  transition: var(--transition-default);
}

footer .lang-footer ul li a.active {
  color: var(--grey);
}

footer .copyright p {
  display: inline-block;
  font-size: 12px;
  margin-bottom: 0;
}

footer .copyright p a {
  display: inline-block;
  font-size: 12px;
  margin-bottom: 0;
}

.social .social-elem {
  display: inline-block;
  margin-right: 15px;
}

.social .social-elem:last-child {
  margin-right: 0;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFic3RyYWN0cy9fY29sb3JzLnNjc3MiLCJhYnN0cmFjdHMvX3ZhcmlhYmxlcy5zY3NzIiwiYWJzdHJhY3RzL19hbmltYXRpb25zLnNjc3MiLCJiYXNlL19iYXNlLnNjc3MiLCJiYXNlL2ZvbnRzL19mb250cy5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwiYmFzZS9fY3VzdG9tLnNjc3MiLCJjb21wb25lbnRzL19ibG9jay1ncmlkcy5zY3NzIiwiY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvX2NhcmQuc2NzcyIsImNvbXBvbmVudHMvX2Zvcm0uc2NzcyIsImFic3RyYWN0cy9fbWl4aW5zLnNjc3MiLCJjb21wb25lbnRzL19pbnRyby5zY3NzIiwiY29tcG9uZW50cy9fbG9hZGVyLnNjc3MiLCJjb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCJjb21wb25lbnRzL19zZWN0aW9uLnNjc3MiLCJjb21wb25lbnRzL19zbGlkZXIuc2NzcyIsImxheW91dC9faGVhZGVyLnNjc3MiLCJsYXlvdXQvX2Zvb3Rlci5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0k7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7OztBQ0VKO0VBSUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUVBO0VBQ0E7RUFFQTtFQUtBOzs7QUFDQTtFQXhCSjtJQXlCUTs7O0FBRUo7RUEzQko7SUE0QlE7OztBQTVCUjtFQStCSTs7O0FBQ0E7RUFoQ0o7SUFpQ1E7OztBQUVKO0VBbkNKO0lBb0NROzs7QUFwQ1I7RUF1Q0k7RUFDQTtFQUNBO0VBS0E7RUFLQTtFQUNBO0VBQ0E7RUFFQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7O0FDMUZKO0VBQ0U7SUFDRTs7RUFHRjtJQUNFOzs7QUFJSjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBSUo7RUFDRTtJQUNFOztFQUdGO0lBQ0U7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNFOzs7QUFJSjtFQUNFO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBSUo7RUFFRTtJQUtFOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7O0FBSUo7RUFDRTtFQUVBOzs7QUFNRjtFQUNFO0VBQ0E7OztBQUVBO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQTtFQUNBOzs7QUFFQTtFQUNFO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBOzs7QUFFQTtFQUNFO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBOzs7QUFFQTtFQUNFO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBOzs7QUFFQTtFQUNFO0VBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBOzs7QUFFQTtFQUNFO0VBQ0E7OztBQUdKO0VBQ0U7RUFDQTtFQUNBOzs7QUFFQTtFQUNFO0VBQ0E7OztBQUtKO0VBQ0M7RUFDRztFQUNBO0VBQ0Y7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0U7OztBQ3hKSjtFQUVJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFFQTtFQUNJOzs7QUFJUjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFLQTtFQUZKO0lBR1E7OztBQUdKO0VBTko7SUFPUTs7O0FBSVI7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBRUE7RUFDSTs7O0FBR0o7RUFDSTs7O0FBSVI7RUFDSTs7O0FBRUE7RUFDSTs7O0FBR0o7RUFDSTs7O0FBSUE7RUFESjtJQUVROzs7QUFNWjtFQUNJOzs7QUFFQTtFQUNJOzs7QUFHSjtFQUNJOzs7QUFJQTtFQURKO0lBRVE7OztBQUtaO0VBQ0k7OztBQUVBO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUlSO0VBQ0k7OztBQU1KO0VBQ0k7OztBQUVBO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQU9SO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVJKO0lBU1E7OztBQUlBO0VBREo7SUFFUTs7O0FBSVI7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFHQTtFQURKO0lBRVE7OztBQUtKO0VBREo7SUFFUTs7O0FBS0o7RUFESjtJQUVROzs7QUFLSjtFQURKO0lBRVE7OztBQUdSO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBRUE7RUFKSjtJQUtROzs7QUFJUjtFQUNJO0VBQ0E7OztBQUVBO0VBSko7SUFLUTs7O0FBS1o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFFQTtFQUVJOzs7QUFHSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFFSjtFQUNJOzs7QUFJQTtFQURKO0lBRVE7OztBQUtKO0VBREo7SUFFUTs7O0FBS1o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtJQUNJOztFQUdKO0lBQ0k7OztBQUlSO0VBQ0k7SUFDSTs7RUFHSjtJQUNJOzs7QUFJUjtFQUNJO0lBQ0k7O0VBR0o7SUFDSTs7O0FBSVI7RUFDSTtJQUNJOztFQUdKO0lBQ0k7OztBQUlSO0VBQ0k7SUFDSTs7RUFHSjtJQUNJOzs7QUFLUjtFQUNJO0lBQ0k7OztBQU9SO0VBQ0k7RUFDQTs7O0FBS0o7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBTUo7RUFDSTs7O0FBTUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS1o7RUFDSTs7O0FBRUE7RUFHSTs7O0FBSVI7RUFDSTs7O0FBR0o7RUFDSTs7O0FBUUo7RUFDSTs7O0FBUUo7RUFDSTs7O0FBUUo7RUFDSTs7O0FBYUE7RUFDSTs7O0FBTUo7RUFDSTs7O0FBTUo7RUFDSTs7O0FBTUo7RUFDSTs7O0FBTUo7RUFDSTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7OztBQUdBO0VBQ0s7RUFDRDtFQUNBOzs7QUFHSjtFQUNLO0VBQ0Q7RUFDQTs7O0FBSVI7RUFDSTs7O0FBRUo7RUFDSTs7O0FBR0o7RUFDSTtJQUNJOztFQUVKO0lBQ0k7OztBQUdSO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQ3pqQko7RUFDSTtFQUNBO0VBQ0E7RUFLQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFLQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFLQTtFQUNBO0VBQ0E7O0FBS0o7RUFDSTtFQUNBO0VBQ0E7RUFLQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFLQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFLQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFLQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFLQTtFQUNBO0VBQ0E7O0FDdkZKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBTUo7RUFDSTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR1I7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUE7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUlSO0VBQ0k7OztBQU1KO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQU1KO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQU1KO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQUVKO0VBQ0k7OztBQ3pRSjtFQUNJOzs7QUFMQTtFQUNJOzs7QUFRSjtFQUNJOzs7QUFWSjtFQUNJOzs7QUNGUjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHQTtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFFQTtFQUhKO0lBSVE7OztBQUlBO0VBREo7SUFFUTs7O0FBR0o7RUFMSjtJQU1ROzs7QUFLSjtFQURKO0lBRVE7OztBQUlSO0VBQ0k7OztBQUVBO0VBSEo7SUFJUTs7O0FBS0o7RUFESjtJQUVROzs7QUFLSjtFQURKO0lBRVE7OztBQUtKO0VBREo7SUFFUTs7O0FBSVI7RUFDSTs7O0FBRUE7RUFISjtJQUlROzs7QUFHSjtFQVBKO0lBUVE7OztBQU1SO0VBREo7SUFFUTs7O0FBR0o7RUFMSjtJQU1ROzs7QUFHSjtFQVRKO0lBVVE7OztBQUlBO0VBREo7SUFFUTs7O0FBR0o7RUFMSjtJQU1ROzs7QUFHSjtFQVRKO0lBVVE7OztBQVZSO0VBYUk7OztBQUlBO0VBREo7SUFFUTs7O0FBR0o7RUFMSjtJQU1ROzs7QUFHSjtFQVRKO0lBVVE7OztBQUlSO0VBQ0k7OztBQUVBO0VBSEo7SUFJUTs7O0FBR0o7RUFQSjtJQVFROzs7QUFHSjtFQVhKO0lBWVE7OztBQU1SO0VBREo7SUFFUTs7O0FBR0o7RUFMSjtJQU1ROzs7QUFJUjtFQUNJOzs7QUFFQTtFQUhKO0lBSVE7OztBQUdKO0VBUEo7SUFRUTs7O0FBR0o7RUFYSjtJQVlROzs7QUFJUjtFQUNJOzs7QUFLSTtFQUNJOzs7QUFDQTtFQUZKO0lBR087OztBQUlQO0VBQ0k7OztBQUNBO0VBRko7SUFHUTs7O0FBUVI7RUFDSTs7O0FBQ0E7RUFGSjtJQUdPOzs7QUFJUDtFQUNJOzs7QUFDQTtFQUZKO0lBR1E7OztBQzVNcEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTs7O0FBR0o7RUFFSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBSUE7RUFDSTs7O0FBS1o7RUFDSTs7O0FBQ0E7RUFDSTs7O0FBQ0E7RUFDSTs7O0FBTWhCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDNURKO0VBQ0k7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFuQ0o7SUFvQ1E7SUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSVI7RUFJSTtFQUNBO0VBQ0E7OztBQUdJO0VBQ0k7RUFDQTs7O0FBSUo7RUFDSTtFQUNBOzs7QUFJUjtFQUNJOzs7QUFLSjtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7OztBQU9RO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUtaO0VBQ0k7RUFDQTs7O0FBS1I7RUFDSTtFQUVDOzs7QUFFRDtFQUxKO0lBTVE7SUFDQTs7O0FBUVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUE7RUFDSTtFQUNBOzs7QUFPUjtFQUNJO0VBQ0E7OztBQUlKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBS0o7RUFDSTtFQUNBOzs7QUFFQTtFQUNJOzs7QUFLUjtFQUNJO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBT2hCO0VBQ0U7SUFDRTtJQUNBOztFQUVGO0lBQ0U7SUFDQTs7RUFFRjtJQUNFO0lBQ0E7OztBQUtKO0VBQ0U7SUFDRTtJQUNBOztFQUVGO0lBQ0U7SUFDQTs7RUFFRjtJQUNFO0lBQ0E7OztBQzVRQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdJO0VBQ0k7RUFDQTs7O0FBSUE7RUFDSTs7O0FBS2hCO0VBQ0k7RUFDQTtFQUNBOzs7QUFFQTtFQUxKO0lBTVE7OztBQUlSO0VBRUk7RUFDQTs7O0FBRUE7RUFDSTtFQUNBOzs7QUFFQTtFQUNJOzs7QUFPSTtFQUNJOzs7QUFZaEI7RUFDSTs7O0FBTVE7RUFDSTs7O0FBTWhCO0VBRUk7RUFDQTs7O0FBRUE7RUFDSTtFQUNBOzs7QUFFQTtFQUNJOzs7QUFPSTtFQUNJOzs7QUFnQlo7RUFGSjtJQUdROzs7QUFJUjtFQUNJOzs7QUFNUTtFQUNJOzs7QUFNaEI7RUFFSTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7OztBQUVBO0VBQ0k7OztBQU9JO0VBQ0k7OztBQzdKcEM7RUFDSTs7O0FBRUE7RUFFSTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7OztBQUVBO0VBTEo7SUFNUTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQU1RO0VBREo7SUFFUTs7O0FBTWhCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVJKO0lBU1E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFLSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBSUE7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBT1I7RUFFSTtFQUNBOzs7QUFMUjtFQVNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUF2Qko7SUF3QlE7OztBQUdKO0VBM0JKO0lBNEJROzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSVI7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7O0FBTVI7RUFDSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBUko7SUFTUTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFsQko7SUFtQlE7OztBQUdKO0VBdEJKO0lBdUJROzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQ3hSeEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFRHNSd0I7RUFDQTs7O0FBSUE7RUFDSTs7O0FBY0o7RUFESjtJQUVROzs7QUFPWjtFQUtJOzs7QUFJQTtFQUNJOzs7QUFFQTtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFXaEM7RUFDSTs7O0FBRUE7RUFDSTs7O0FFaFhSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUE7RUFDSTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQWNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0E7RUFKSjtJQUtRO0lBQ0E7SUFDQTtJQUNBOzs7QUFHSjtFQVhKO0lBWVE7OztBQUtaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlJO0VBRko7SUFHUTtJQUNBOzs7QUM5RnBCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0k7OztBQUVBO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUN6Q1o7RUFDSTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7OztBQUVBO0VBQ0k7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFFQTtFQUNJOzs7QUFLWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQ3BFWjtFQUNJOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7O0FBRUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFLUjtFQUNJOzs7QUFFQTtFQUhKO0lBSVE7OztBQWlCQTtFQUNJOzs7QUFHSjtFQUNJOzs7QUFNaEI7RUFFSTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFNSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU1SO0VBQ0k7RUFDQTtFQUlBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUdBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFLWjtFQUNJO0lBQ0k7O0VBR0o7SUFDSTs7O0FBSVI7RUFDSTtJQUNJOztFQUdKO0lBQ0k7OztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7OztBQUVBO0VBSko7SUFLUTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQU1aO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFLQTtFQUZKO0lBR1E7SUFDQTtJQUNBO0lBQ0E7OztBQU1SO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSTtFQURKO0lBRVE7OztBQUtSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFQSjtJQVFRO0lBQ0E7SUFDQTs7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7OztBQUdJO0VBREo7SUFFUTs7O0FBSVI7RUFDSTs7O0FBRUE7RUFISjtJQUlROzs7QUFJUjtFQUNJOzs7QUFHSjtFQUNJO0VBRUE7OztBQUVBO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUlSO0VBQ0k7RUFDQTs7O0FBRUE7RUFDSTs7O0FBR0o7RUFDSTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFRcEI7RUFDSTs7O0FBRUE7RUFDSTs7O0FBRUE7RUFFSTs7O0FBSVI7RUFDSTs7O0FBRUE7RUFISjtJQUlRO0lBQ0E7OztBQVFaO0VBQ0k7RUFDQTtFQUNBOzs7QUFJQTtFQUNJO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFFQTtFQUNJOzs7QUFPcEI7RUFDSTtFQUNBOzs7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0E7RUFDSTs7O0FBUVo7RUFDSTs7O0FBR0k7RUFESjtJQUVROzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBUEo7SUFRUTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFaSjtJQWFROzs7QUFNSjtFQURKO0lBRVE7SUFDQTtJQUNBOzs7QUFJUjtFQUNJOzs7QUFFQTtFQUNJOzs7QUFJUjtFQUNJOzs7QUFFQTtFQUNJOzs7QUFJUjtFQUNJOzs7QUFFQTtFQUNJOzs7QUFJUjtFQUNJOzs7QUFFQTtFQUNJOzs7QUFNaEI7RUFDSTs7O0FBWUE7RUFiSjtJQWNRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQzVnQnBCO0VBQ0k7OztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUlJO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBTWhCO0VBQ0k7RUFDQTs7O0FBRUE7RUFDSTs7O0FDaENaO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVhKO0lBWVE7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFWSjtJQVdROzs7QUFHSjtFQWRKO0lBZVE7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBVEo7SUFVUTs7O0FBR0o7RUFDSTs7O0FBRUE7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFFQTtFQUpKO0lBS1E7SUFDQTs7O0FBUWhCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVJKO0lBU1E7OztBQUdKO0VBWko7SUFhUTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFHQTtFQUNBO0VBRUE7RUFDQTs7O0FBRUE7RUF0Qko7SUF1QlE7SUFDQTs7O0FBR0o7RUEzQko7SUE0QlE7OztBQUlKO0VBQ0k7OztBQUVBO0VBSEo7SUFJUTs7O0FBTUE7RUFISjtJQUlPOzs7QUFLUDtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7O0FBRUE7RUFMSjtJQU1ROzs7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFqQko7SUFrQlE7SUFDQTtJQUNBOzs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFqQko7SUFrQlE7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBR0o7RUF6Qko7SUEwQlE7SUFDQTtJQUNBOzs7QUFJUjtFQUVJOzs7QUFDQTtFQUhKO0lBSVE7OztBQUdKO0VBQ0k7OztBQUtaO0VBQ0k7OztBQUVBO0VBSEo7SUFJUTs7O0FBUWhCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJQTtFQWJKO0lBY1E7SUFDQTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBTko7SUFPUTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBUko7SUFTUTtJQUNBO0lBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFWSjtJQVdROzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUlSO0VBQ0k7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7O0FBRUE7RUFMSjtJQU1RO0lBQ0E7SUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FBRUE7RUFISjtJQUlROzs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBZEo7SUFlUTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBbEJKO0lBbUJRO0lBQ0E7SUFDQTtJQUNBOzs7QUFHSjtFQXpCSjtJQTBCUTtJQUNBO0lBQ0E7OztBQUlSO0VBRUk7RUFDQTs7O0FBRUE7RUFDSTs7O0FBWXBDO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFWSjtJQVdROzs7QUFHSjtFQUNJOzs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFNQTtFQUNJO0VBQ0E7RUFDQTs7O0FBVTVCO0VBQ0k7RUFDQTtFQUNBOzs7QUFFQTtFQUxKO0lBTVE7OztBQUdKO0VBVEo7SUFVUTs7O0FBS1o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVZKO0lBV1E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBVEo7SUFVTzs7O0FBSVA7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFPaEI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFUSjtJQVVROzs7QUFHSjtFQUNJO0VBQ0E7OztBQUVBO0VBSko7SUFLUTtJQUNBOzs7QUFLWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVRKO0lBVVE7SUFDQTs7O0FBR0o7RUFDSTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTs7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQU1BO0VBQ0k7RUFDQTtFQUNBOzs7QUFVNUI7RUFDSTs7O0FBR0k7RUFDSTs7O0FBR0k7RUFDSTs7O0FBR0o7RUFDSTs7O0FBUVI7RUFDSTs7O0FBS0E7RUFFSTs7O0FBV0E7RUFDSTtFQUNBOzs7QUFLQTtFQUNJOzs7QUFXaEM7RUFDSTs7O0FBR0k7RUFDSTtFQUNBO0VBQ0E7OztBQUVBO0VBTEo7SUFNUTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFFQTtFQUpKO0lBS1E7OztBQUdKO0VBQ0k7OztBQUdJO0VBQ0k7OztBQUdKO0VBQ0k7OztBQVdJO0VBQ0k7OztBQU9aO0VBQ0k7OztBQUtBO0VBRUk7OztBQVNKO0VBQ0k7OztBQUtBO0VBQ0k7OztBQVF4QjtFQUNJOzs7QUFFQTtFQUNJOzs7QUFHSTtFQUNJOzs7QUFHSjtFQUNJOzs7QUFpQkE7RUFDSTs7O0FBR0o7RUFDSTs7O0FBUUo7RUFDSTs7O0FBS0E7RUFDSTs7O0FBb0JKO0VBQ0k7OztBQWNwQjtFQUNJO0VBQ0E7OztBQUdJO0VBQ0k7OztBQUdKO0VBQ0k7OztBQU1SO0VBQ0k7RUFDQTtFQUNBOzs7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFQTtFQVRKO0lBVVE7OztBQUlKO0VBRUk7RUFDQTtFQUNBO0VBQ0E7OztBQUVBO0VBUEo7SUFRUTs7O0FBR1I7RUFFSTtFQUNBO0VBQ0E7RUFDQTs7O0FBU3BCO0VBQ0k7OztBQU9nQjtFQUNJOzs7QUFNQTtFQUNJOzs7QUFheEM7RUFDSTtJQUNJO0lBQ0E7O0VBRUo7SUFDSTs7RUFFSjtJQUNJOzs7QUFHUjtFQUNJO0lBQ0k7SUFDQTs7RUFFSjtJQUNJOztFQUVKO0lBQ0k7OztBQzM2QlI7RUFDSTs7O0FBSUk7RUFGSjtJQUdROzs7QUFLSjtFQUNJOzs7QUFJUTtFQUNJOzs7QUFHSjtFQUNJOzs7QUFPcEI7RUFDSTs7O0FBSUE7RUFDSTtFQUNBO0VBQ0E7OztBQUVBO0VBQ0k7RUFDQTs7O0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTs7O0FBU2hCO0VBQ0k7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7OztBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUE7RUFDSTs7O0FBWWhCO0VBQ0k7RUFDQTtFQUNBOzs7QUFFQTtFQUNJO0VBQ0E7RUFDSjs7O0FBU1I7RUFDSTtFQUNBOzs7QUFFQTtFQUNJIiwiZmlsZSI6Im1haW4ubWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIjpyb290IHtcbiAgICAtLWNvbG9yLWxpZ2h0OiAjZmZmZmZmO1xuICAgIC0tY29sb3ItZGFyazogIzFkMWQxZDsgLy8gY29sb3JlIGRlZmF1bHQgdGVzdGlcblxuICAgIC0tYmx1ZTogIzAwNjZFQztcbiAgICAtLWRhcmstZ3JleTogIzRDNEI0QjtcbiAgICAtLWdyZXk6ICNBMkEyQTI7XG4gICAgLS1saWdodC1ncmV5OiAjREFEQURBO1xuXG4gICAgLS1jb2xvci1kZWZhdWx0OiB2YXIoLS1jb2xvci1kYXJrKTsgLy9Db2xvcmUgZGVmYXVsdCBkZWwgdGVzdG9cbn0iLCIvKipcbipcbiogVmFyaWFiaWxpIGdsb2JhbGkgcHJvZ2V0dG9cbiogXG4qIDAxIC0gQ09OVEVOSVRPUklcbiogMDIgLSBTRVBBUkFUT1JJXG4qIDAzIC0gVFJBTlNJWklPTklcbiogMDQgLSBGT05UU1xuKlxuKi9cblxuOnJvb3Qge1xuICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgKiAwMSAtIENPTlRFTklUT1JJXG4gICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICAgIC0tY29udGFpbmVyLWJpZy13aWR0aDogMTg1MHB4OyAvL0NvbnRhaW5lciBtYXNzaW1vXG4gICAgLS1jb250YWluZXItd2lkdGg6IDE2NzBweDsgLy9Db250YWluZXIgcHJpbmNpcGFsZSB4XG4gICAgLS1jb250YWluZXItbGFyZ2Utd2lkdGg6IDE1NDBweDsgLy9Db250YWluZXIgcHJpbmNpcGFsZSB4XG4gICAgLS1jb250YWluZXItbWVkaXVtLXdpZHRoOiAxMjkwcHg7IC8vQ29udGFpbmVyIG1lZGlvIHhcbiAgICAtLWNvbnRhaW5lci1zbWFsbC13aWR0aDogMTE4MHB4OyAvL0NvbnRhaW5lciBtZWRpbyB4XG4gICAgXG4gICAgLS1jb250YWluZXItZXh0cmEtc21hbGwtd2lkdGg6IDk4MHB4O1xuICAgIC0tY29udGFpbmVyLW1pbmktd2lkdGg6IDYzMHB4O1xuXG4gICAgLS1jb250YWluZXItZXh0cmEtbWluaS13aWR0aDogNTQwcHg7XG5cbiAgICAtLWJsb2NrLXhzLXdpZHRoOiA0NTBweDtcbiAgICAtLWJsb2NrLXh4cy13aWR0aDogMjcwcHg7XG5cbiAgICAtLWJsb2NrLW1pbi1oZWlnaHQ6IDU4MHB4OyAvL0FsdGV6emEgbWluaW1hIGJsb2NjaGkgaW1tYWdpbmUvdGVzdG9cblxuICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgKiAwMiAtIFNFUEFSQVRPUklcbiAgICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gICAgLS1zcGFjZXItYmlnOiAzMHB4O1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAtLXNwYWNlci1iaWc6IDMwcHg7XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNjgxcHgpIHtcbiAgICAgICAgLS1zcGFjZXItYmlnOiA1MHB4O1xuICAgIH1cblxuICAgIC0tc3BhY2VyLWxhcmdlOiAyMHB4OyBcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgLS1zcGFjZXItbGFyZ2U6IDMwcHg7XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNjAxcHgpIHtcbiAgICAgICAgLS1zcGFjZXItbGFyZ2U6IDQwcHg7XG4gICAgfVxuXG4gICAgLS1zcGFjZXItbWVkaXVtOiAyNXB4O1xuICAgIC0tc3BhY2VyLXNtYWxsOiAyMHB4O1xuICAgIC0tc3BhY2VyLWV4dHJhLXNtYWxsOiAxMHB4O1xuICAgIFxuICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgKiAwMyAtIFRSQU5TSVpJT05JXG4gICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICAgIC0tdHJhbnNpdGlvbi1kZWZhdWx0OiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgICBcbiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgICogMDQgLSBGT05UU1xuICAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiAgICAtLWZvbnQtZmFtaWx5OiBcIlNGIFBybyBEaXNwbGF5XCIsIHNhbnMtc2VyaWY7XG4gICAgLS1mb250LWZhbWlseS10aXRsZTogXCJPd25lcnMgVFJJQUwgV2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgIC0tZm9udC1mYW1pbHktbWVudTogXCJPd25lcnMgVFJJQUwgV2lkZVwiLCBzYW5zLXNlcmlmO1xuICAgIFxuICAgIC0tZm9udC1zaXplOiAje3B4LXRvLXJlbSgxOHB4KX07XG4gXG4gICAgLS1oMS1mb250LXNpemU6ICN7Y2xhbXAtcmVtKDQwcHgsIDV2dywgNjRweCl9O1xuICAgIC0taDEtZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAtLWgxLW1hcmdpbi1ib3R0b206IDEwcHg7XG4gXG4gICAgLS1oMi1mb250LXNpemU6ICN7Y2xhbXAtcmVtKDMwcHgsIDR2dywgNDhweCl9O1xuICAgIC0taDItZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAtLWgyLW1hcmdpbi1ib3R0b206IDEwcHg7XG4gXG4gICAgLS1oMy1mb250LXNpemU6ICN7Y2xhbXAtcmVtKDIycHgsIDN2dywgMjRweCl9O1xuICAgIC0taDMtZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAtLWgzLW1hcmdpbi1ib3R0b206IDEwcHg7XG4gXG4gICAgLS1oNC1mb250LXNpemU6ICN7cHgtdG8tcmVtKDIwcHgpfTtcbiAgICAtLWg0LWZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgLS1oNC1tYXJnaW4tYm90dG9tOiAxMHB4O1xuIFxuICAgIC0taDUtZm9udC1zaXplOiAje3B4LXRvLXJlbSgxNnB4KX07XG4gICAgLS1oNS1mb250LXdlaWdodDogNTAwO1xuICAgIC0taDUtbWFyZ2luLWJvdHRvbTogMTBweDtcbiBcbiAgICAtLWg2LWZvbnQtc2l6ZTogI3tweC10by1yZW0oMTRweCl9O1xuICAgIC0taDYtZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAtLWg2LW1hcmdpbi1ib3R0b206IDEwcHg7ICAgXG5cbn0iLCJALXdlYmtpdC1rZXlmcmFtZXMgbWVudS1zaG93IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuQC1tb3ota2V5ZnJhbWVzIG1lbnUtc2hvdyB7XG4gIDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMDAlKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbWVudS1zaG93IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG4uYW5pbWF0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAxJTtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDtcblxuICAuYW5pbWF0ZWQge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZS11cCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VTY3JvbGwge1xuXG4gIDAlLFxuICAyMCUsXG4gIDUwJSxcbiAgODAlLFxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cblxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XG4gIH1cblxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7XG4gIH1cbn1cblxuLmJvdW5jZVNjcm9sbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogQXNzaWN1cmF0aSBjaGUgbCdlbGVtZW50byBzaWEgdmlzaWJpbGUgZSBpbmxpbmUgKi9cbiAgYW5pbWF0aW9uOiBib3VuY2VTY3JvbGwgMnMgaW5maW5pdGU7XG59XG5cblxuXG4vKiBJbml0aWFsIHN0YXRlIGZvciB0aGUgZWxlbWVudHMgKi9cbi5zaW1wbGVGYWRlSW4ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEwMDBtcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApLCB0cmFuc2Zvcm0gMTAwMG1zIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XG5cbiAgJi52aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5zaW1wbGVGYWRlSW5MZWZ0IHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDB2dyk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTAwMG1zIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCksIHRyYW5zZm9ybSAxMDAwbXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcblxuICAmLnZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbi5zaW1wbGVGYWRlSW5SaWdodCB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDB2dyk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTAwMG1zIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCksIHRyYW5zZm9ybSAxMDAwbXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcblxuICAmLnZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbi5hbmltYXRlVG9wIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEzMHB4KTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMDAwbXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKSwgdHJhbnNmb3JtIDEwMDBtcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xuXG4gICYudmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuLmFuaW1hdGVSaWdodCB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMzBweCwgMTAwcHgpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEwMDBtcyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApLCB0cmFuc2Zvcm0gMTAwMG1zIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCk7XG5cbiAgJi52aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDApO1xuICB9XG59XG5cbi5hbmltYXRlTGVmdCB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEzMHB4LCAxMDBweCk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMTAwMG1zIGN1YmljLWJlemllcigwLjY0NSwgMC4wNDUsIDAuMzU1LCAxLjAwMCksIHRyYW5zZm9ybSAxMDAwbXMgY3ViaWMtYmV6aWVyKDAuNjQ1LCAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcblxuICAmLnZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCk7XG4gIH1cbn1cbi5hbmltYXRlVG9wTWVudSB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMzBweCk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMS4ycyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApLCB0cmFuc2Zvcm0gMS4ycyBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xuXG4gICYudmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuXG4uaW1hZ2VBbmltYXRpb24ge1xuIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBjbGlwLXBhdGg6IGluc2V0KDk1JSA5NSUgMCUgMCUpO1xuICB0cmFuc2l0aW9uOiBjbGlwLXBhdGggMS44cyBjdWJpYy1iZXppZXIoMC4yMywgMSwgMC4zMiwgMSk7XG5cbiAgJi52aXNpYmxlIHtcbiAgICBjbGlwLXBhdGg6IGluc2V0KDAlIDAlIDAlIDAlKTtcbiAgfVxufSIsIi8qKlxuKlxuKiBTdGlsaSBiYXNlIGdlbmVyaWNpIHBlciBvZ25pIHRpcG8gZGkgdGVtcGxhdGVcbiogXG4qIDAxIC0gU0VQQVJBVE9SSVxuKiAwMiAtIENPTlRFTklUT1JJXG4qIDAzIC0gV0lEVEhcbiogMDQgLSBNQVJHSU5cbiogMDUgLSBQQURESU5HXG4qIDA2IC0gQkFDS0dST1VORFxuKiAwNyAtIENPTE9SU1xuKlxuKi9cblxuaHRtbCxcbmJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyAgICBcbn1cblxuaW1nIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5vYmplY3QtY292ZXIge1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG5hIHsgXG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG59XG5cbioge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5oLWZ1bGwge1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLmgtMTAwIHtcbiAgICBcbiAgICBAbWVkaWEobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICBtaW4taGVpZ2h0OiA1MHZoO1xuICAgIH1cblxuICAgIEBtZWRpYShtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICBtaW4taGVpZ2h0OiA5MHZoO1xuICAgIH1cbn1cblxuLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLm92ZXJmbG93LXZpc2libGUge1xuICAgIG92ZXJmbG93OnZpc2libGVcbn1cblxuLm92ZXJmbG93LXgtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdy14OiBzY3JvbGw7XG59XG5cbi5vdmVyZmxvdy1oaWRkZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5ib3JkZXItdG9wIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbGlnaHQtZ3JleSk7XG5cbiAgICAmLmxpZ2h0LW9wYWNpdHkge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMik7XG4gICAgfVxuXG4gICAgJi5saWdodCB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgfVxufVxuXG4uYm9yZGVyLXJpZ2h0IHtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1saWdodC1ncmV5KTtcblxuICAgICYubGlnaHQtb3BhY2l0eSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpO1xuICAgIH1cblxuICAgICYubGlnaHQge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgfVxuXG4gICAgJi5kZXNrdG9wIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG59XG5cbi5ib3JkZXItbGVmdCB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1saWdodC1ncmV5KTtcblxuICAgICYubGlnaHQtb3BhY2l0eSB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMik7XG4gICAgfVxuXG4gICAgJi5saWdodCB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgIH1cblxuICAgICYuZGVza3RvcCB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ib3JkZXItYm90dG9tIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGlnaHQtZ3JleSk7XG5cbiAgICAmLmxpZ2h0LW9wYWNpdHkge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMik7XG4gICAgfVxuXG4gICAgJi5saWdodCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgfVxufVxuXG4uYm9yZGVyLXJhZGl1cyB7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAwMSAtIFNFUEFSQVRPUklcbiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zcGFjZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIFxuICAgICYuYmlnIHtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1zcGFjZXItYmlnKTtcbiAgICB9XG4gICAgXG4gICAgJi5sYXJnZSB7XG4gICAgICAgIGhlaWdodDogdmFyKC0tc3BhY2VyLWxhcmdlKTtcbiAgICB9XG4gICAgJi5tZWRpdW0ge1xuICAgICAgICBoZWlnaHQ6IHZhcigtLXNwYWNlci1tZWRpdW0pO1xuICAgIH1cbiAgICAmLnNtYWxsIHtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1zcGFjZXItc21hbGwpO1xuICAgIH1cbiAgICAmLmV4dHJhLXNtYWxsIHtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1zcGFjZXItZXh0cmEtc21hbGwpO1xuICAgIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogMDIgLSBDT05URU5JVE9SSVxuKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItd2lkdGgpO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBcbiAgICBAbWVkaWEgKG1pbi13aWR0aDo5OTJweCkge1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgfVxuXG4gICAgJi5wLW1vYmlsZSB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOjk5MnB4KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICYuZmx1aWQge1xuICAgICAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgICYuZmx1aWQtcGFkZGluZyB7XG4gICAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgfVxuICAgIFxuICAgICYuYmlnIHtcbiAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItYmlnLXdpZHRoKTtcbiAgICB9XG4gICAgJi5sYXJnZSB7XG4gICAgICAgIG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLWxhcmdlLXdpZHRoKTtcbiAgICB9XG4gICAgJi5tZWRpdW0ge1xuICAgICAgICBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci1tZWRpdW0td2lkdGgpO1xuICAgIH1cbiAgICAmLnNtYWxsIHtcbiAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItc21hbGwtd2lkdGgpO1xuICAgIH1cbiAgICAmLmV4dHJhLXNtYWxsIHtcbiAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItZXh0cmEtc21hbGwtd2lkdGgpO1xuICAgIH1cbiAgICAmLm1pbmkge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDo5OTJweCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItbWluaS13aWR0aCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4dHJhLW1pbmkge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDo5OTJweCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItZXh0cmEtbWluaS13aWR0aCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi54cy13aWR0aCB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHZhcigtLWJsb2NrLXhzLXdpZHRoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYueHhzLXdpZHRoIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6OTkycHgpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogdmFyKC0tYmxvY2steHhzLXdpZHRoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnJlbGF0aXZlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICBcbiAgICAmLmZsb2F0ZWQtcmlnaHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBcbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDo5OTFweCkge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLmZsb2F0ZWQtbGVmdCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIFxuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOjk5MXB4KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucC1yZWxhdGl2ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi5kLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgXG4gICAgJjo6YWZ0ZXIsXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgJi5kaXJlY3Rpb24tY29sdW1uIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgJi5kaXJlY3Rpb24tcm93IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgJi5hbGlnbi1jZW50ZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICAmLmFsaWduLXN0YXJ0IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgICYuYWxpZ24tZW5kIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIH1cbiAgICAmLmZsZXgtd3JhcCB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gICAgJi5qdXN0aWZ5LWNlbnRlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICBcbiAgICAmLmp1c3RpZnktc3BhY2UtYmV0d2VlbiB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG4gICAgJi5qdXN0aWZ5LXNwYWNlLWV2ZW5seSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICAgIH1cbiAgICAmLmp1c3RpZnktc3BhY2UtYXJvdW5kIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgfVxuICAgICYuanVzdGlmeS1zdGFydCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgJi5qdXN0aWZ5LWVuZCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgJi5qdXN0aWZ5LW1vYmlsZS1jZW50ZXIge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5qdXN0aWZ5LWRlc2t0b3AtZW5kIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZC1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5kLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgICAuZC1zbS1ibG9jayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIC5kLXNtLW5vbmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmQtbWQtYmxvY2sge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAuZC1tZC1ub25lIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5kLWxnLWJsb2NrIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLmQtbGctbm9uZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuZC14bC1ibG9jayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIC5kLXhsLW5vbmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE2MDFweCkge1xuICAgIC5kLXh4bC1ibG9jayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIC5kLXh4bC1ub25lIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmQtbGctaW5saW5lIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAwMyAtIFdJRFRIXG4qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uZnVsbC13aWR0aCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qIDA0IC0gTUFSR0lOXG4qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubS0wIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cbi5tYi0wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4ubWItMSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50O1xufVxuLm1sLTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG59XG4ubXItMCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qIDA1IC0gUEFERElOR1xuKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnAtMCB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAwNiAtIEJBQ0tHUk9VTkRcbiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5iZy1zZWN0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBcbiAgICAmLndpdGgtb3ZlcmxheSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSgwLCAwJSwgMCUsIC4yKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJnLWRhcmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgIFxuICAgIC5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYsXG4gICAgcCwgdWwsIGxpLCBpLCBzdHJvbmcsXG4gICAgJjpub3QoLmJ0bik6bm90KC5mYS1jaGV2cm9uLXJpZ2h0KTpub3QoLmZhLXVwbG9hZCkge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgIH1cbn1cblxuLmJnLWRhcmstb3BhY2l0eSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyOSwgMjksIDI5LCAuOTgpOyBcbn1cblxuLmJnLWJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJsdWUpO1xuICAgIFxuICAgIC8qIC5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYsXG4gICAgcCwgYSwgdWwsIGxpLCBpLCBzcGFuLCBzdHJvbmcge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgfSAqL1xufVxuXG4uYmctZ3JleSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3JleSk7XG4gICAgXG4gICAgLyogLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNixcbiAgICBwLCBhLCB1bCwgbGksIGksIHNwYW4sIHN0cm9uZyB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICB9ICovXG59XG5cbi5iZy1saWdodC1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1saWdodC1ncmV5KTtcbiAgICBcbiAgICAvKiAuaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2LFxuICAgIHAsIGEsIHVsLCBsaSwgaSwgc3Bhbiwgc3Ryb25nIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgIH0gKi9cbn1cblxuLmJnLWxpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgXG4gICAgLyogLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNixcbiAgICBwLCBhLCB1bCwgbGksIGksIHNwYW4sIHN0cm9uZyB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICB9ICovXG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4qIDA3IC0gQ09MT1JTXG4qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY29sb3ItZGFyayxcbi5jb2xvci1kYXJrICoge1xuICAgICY6bm90KC5idG4pOm5vdCguZmEtY2hldnJvbi1yaWdodCk6bm90KC5mYS11cGxvYWQpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgIH1cbn1cblxuLmNvbG9yLWJsdWUsXG4uY29sb3ItYmx1ZSAqIHtcbiAgICAmOm5vdCguYnRuKTpub3QoLmZhLWNoZXZyb24tcmlnaHQpOm5vdCguZmEtdXBsb2FkKSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1ibHVlKTtcbiAgICB9XG59XG5cbi5jb2xvci1ncmV5LFxuLmNvbG9yLWdyZXkgKiB7XG4gICAgJjpub3QoLmJ0bik6bm90KC5mYS1jaGV2cm9uLXJpZ2h0KTpub3QoLmZhLXVwbG9hZCkge1xuICAgICAgICBjb2xvcjogdmFyKC0tZ3JleSk7XG4gICAgfVxufVxuXG4uY29sb3ItbGlnaHQtZ3JleSxcbi5jb2xvci1saWdodC1ncmV5ICoge1xuICAgICY6bm90KC5idG4pOm5vdCguZmEtY2hldnJvbi1yaWdodCk6bm90KC5mYS11cGxvYWQpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWxpZ2h0LWdyZXkpO1xuICAgIH1cbn1cblxuLmNvbG9yLWxpZ2h0LFxuLmNvbG9yLWxpZ2h0ICoge1xuICAgICY6bm90KC5idG4pOm5vdCguZmEtY2hldnJvbi1yaWdodCk6bm90KC5mYS11cGxvYWQpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICB9XG59XG5cbi50ZXh0LW91dGxpbmUge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgICAgICAgICAgICAgICAvKiBpbnRlcm5vIHZ1b3RvICovXG4gICAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMnB4IHZhcigtLWNvbG9yLWRhcmspOyAgICAgLyogYm9yZG8gKi9cbiAgICB0ZXh0LXN0cm9rZTogMnB4IHZhcigtLWNvbG9yLWRhcmspOyAgICAgICAgICAgICAvKiBmYWxsYmFjayAqL1xuICAgIFxuXG4gICAgJi5saWdodCB7XG4gICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7ICAgXG4gICAgICAgIC13ZWJraXQtdGV4dC1zdHJva2U6IDJweCB2YXIoLS1jb2xvci1saWdodCk7IFxuICAgICAgICB0ZXh0LXN0cm9rZTogMnB4IHZhcigtLWNvbG9yLWxpZ2h0KTsgXG4gICAgfVxuXG4gICAgJi5ncmV5LWxpZ2h0IHtcbiAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgICBcbiAgICAgICAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMnB4IHZhcigtLWxpZ2h0LWdyZXkpOyBcbiAgICAgICAgdGV4dC1zdHJva2U6IDJweCB2YXIoLS1saWdodC1ncmV5KTsgXG4gICAgfVxufVxuXG4ub3JkZXItMSB7XG4gICAgb3JkZXI6IDE7XG59XG4ub3JkZXItMiB7XG4gICAgb3JkZXI6IDI7XG59XG5cbkBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLm9yZGVyLWxnLTEge1xuICAgICAgICBvcmRlcjogMTtcbiAgICB9XG4gICAgLm9yZGVyLWxnLTIge1xuICAgICAgICBvcmRlcjogMjtcbiAgICB9XG59XG4ub3JkZXItMyB7XG4gICAgb3JkZXI6IDMgIWltcG9ydGFudDtcbn1cbi5vcmRlci00IHtcbiAgICBvcmRlcjogNCAhaW1wb3J0YW50O1xufVxuLm9yZGVyLTUge1xuICAgIG9yZGVyOiA1ICFpbXBvcnRhbnQ7XG59XG4ub3JkZXItNiB7XG4gICAgb3JkZXI6IDYgIWltcG9ydGFudDtcbn0iLCJAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1NGIFBybyBEaXNwbGF5JztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvU0ZQcm9EaXNwbGF5LVJlZ3VsYXIuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1NGUHJvRGlzcGxheS1SZWd1bGFyLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvU0ZQcm9EaXNwbGF5LVJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvU0ZQcm9EaXNwbGF5LVJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1NGUHJvRGlzcGxheS1SZWd1bGFyLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9TRlByb0Rpc3BsYXktUmVndWxhci5zdmcjU0ZQcm9EaXNwbGF5LVJlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdTRiBQcm8gRGlzcGxheSc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1NGUHJvRGlzcGxheS1NZWRpdW0uZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1NGUHJvRGlzcGxheS1NZWRpdW0uZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9TRlByb0Rpc3BsYXktTWVkaXVtLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1NGUHJvRGlzcGxheS1NZWRpdW0ud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1NGUHJvRGlzcGxheS1NZWRpdW0udHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1NGUHJvRGlzcGxheS1NZWRpdW0uc3ZnI1NGUHJvRGlzcGxheS1NZWRpdW0nKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdTRiBQcm8gRGlzcGxheSc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL1NGUHJvRGlzcGxheS1Cb2xkLmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9TRlByb0Rpc3BsYXktQm9sZC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1NGUHJvRGlzcGxheS1Cb2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL1NGUHJvRGlzcGxheS1Cb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9TRlByb0Rpc3BsYXktQm9sZC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvU0ZQcm9EaXNwbGF5LUJvbGQuc3ZnI1NGUHJvRGlzcGxheS1Cb2xkJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdPd25lcnMgVFJJQUwgV2lkZSc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL093bmVyc1RSSUFMV2lkZS1MaWdodC5lb3QnKTtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvT3duZXJzVFJJQUxXaWRlLUxpZ2h0LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvT3duZXJzVFJJQUxXaWRlLUxpZ2h0LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL093bmVyc1RSSUFMV2lkZS1MaWdodC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvT3duZXJzVFJJQUxXaWRlLUxpZ2h0LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9Pd25lcnNUUklBTFdpZGUtTGlnaHQuc3ZnI093bmVyc1RSSUFMV2lkZS1MaWdodCcpIGZvcm1hdCgnc3ZnJyk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ093bmVycyBUUklBTCBXaWRlJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvT3duZXJzVFJJQUxXaWRlLVJlZ3VsYXIuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL093bmVyc1RSSUFMV2lkZS1SZWd1bGFyLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvT3duZXJzVFJJQUxXaWRlLVJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvT3duZXJzVFJJQUxXaWRlLVJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL093bmVyc1RSSUFMV2lkZS1SZWd1bGFyLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9Pd25lcnNUUklBTFdpZGUtUmVndWxhci5zdmcjT3duZXJzVFJJQUxXaWRlLVJlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdPd25lcnMgVFJJQUwgV2lkZSc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL093bmVyc1RSSUFMV2lkZS1NZWRpdW0uZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL093bmVyc1RSSUFMV2lkZS1NZWRpdW0uZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9Pd25lcnNUUklBTFdpZGUtTWVkaXVtLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL093bmVyc1RSSUFMV2lkZS1NZWRpdW0ud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL093bmVyc1RSSUFMV2lkZS1NZWRpdW0udHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL093bmVyc1RSSUFMV2lkZS1NZWRpdW0uc3ZnI093bmVyc1RSSUFMV2lkZS1NZWRpdW0nKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdPd25lcnMgVFJJQUwgV2lkZSc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL093bmVyc1RSSUFMV2lkZS1Cb2xkLmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9Pd25lcnNUUklBTFdpZGUtQm9sZC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL093bmVyc1RSSUFMV2lkZS1Cb2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL093bmVyc1RSSUFMV2lkZS1Cb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9Pd25lcnNUUklBTFdpZGUtQm9sZC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvT3duZXJzVFJJQUxXaWRlLUJvbGQuc3ZnI093bmVyc1RSSUFMV2lkZS1Cb2xkJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ093bmVycyBUUklBTCBXaWRlJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvT3duZXJzVFJJQUxXaWRlLUJsYWNrLmVvdCcpO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9Pd25lcnNUUklBTFdpZGUtQmxhY2suZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9Pd25lcnNUUklBTFdpZGUtQmxhY2sud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgIHVybCgnLi4vZm9udHMvT3duZXJzVFJJQUxXaWRlLUJsYWNrLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgdXJsKCcuLi9mb250cy9Pd25lcnNUUklBTFdpZGUtQmxhY2sudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgICB1cmwoJy4uL2ZvbnRzL093bmVyc1RSSUFMV2lkZS1CbGFjay5zdmcjT3duZXJzVFJJQUxXaWRlLUJsYWNrJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG59IiwiLyoqXG4qXG4qIFN0aWxpIHJlbGF0aXZpIGFpIGZvbnRcbiogXG4qIDAxIC0gSEVBRElOR1xuKiAwMiAtIEFMSUdOTUVOVFxuKiAwMyAtIFRSQU5TRk9STVxuKiAwNCAtIFdFSUdIVFxuKiAwNSAtIE9DQ0hJRUxMT1xuKiAwNiAtIExJTkUgSEVJR0hUXG4qXG4qL1xuXG4vLyBJbXBvcnQgYWxsIGZvbnRzXG5AaW1wb3J0IFwiZm9udHMvZm9udHNcIjtcblxuYm9keSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZGVmYXVsdCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcblxuICAgIGZvbnQtc21vb3RoOiBhdXRvOyAvKiBvIGFudGlhbGlhc2VkICovXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC8qIFBlciBXZWJLaXQgKi9cbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyAvKiBQZXIgbWFjT1MgKi9cblxuICAgIC5saWdodCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgfVxuXG4gICAgLnJlZ3VsYXIge1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cblxuICAgIC5tZWRpdW0ge1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cblxuICAgIC5ib2xkIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgLmJsYWNrIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICB9XG59XG5cbi5pbmhlcml0IHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgZGlzcGxheTogaW5oZXJpdDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cblxucCwgLnAsIHN0cm9uZywgYiwgdGltZSwgaSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZGVmYXVsdCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUpO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuXG5hIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kZWZhdWx0KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZSk7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgXG5cbn1cblxudWwge1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAyNXB4O1xufVxuXG51bCwgbGkge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWRlZmF1bHQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplKTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuXG5zdHJvbmcsIGIsIC5zdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi50ZXh0LXNoYWRvdyB7XG4gICAgdGV4dC1zaGFkb3c6IDFweCAxcHggMCB2YXIoLS1jb2xvci1saWdodCk7XG59XG5cbi5wLTEyIHtcbiAgICBmb250LXNpemU6ICN7cHgtdG8tcmVtKDEycHgpfTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogMDEgLSBIRUFESU5HXG4qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktdGl0bGUpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBwLCAucCwgdWwsIGxpLCBhLCBzcGFuLCBzdHJvbmcsIC5zdHJvbmcsIGIsIHRpbWUsIGkge1xuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogaW5oZXJpdDtcbiAgICAgICAgbWFyZ2luLXRvcDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAmLnAtc3R5bGUge1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgIH1cbn1cblxuLmgxIHtcbiAgICBmb250LXNpemU6IHZhcigtLWgxLWZvbnQtc2l6ZSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWgxLWZvbnQtd2VpZ2h0KTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1oMS1tYXJnaW4tYm90dG9tKTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgJi5oMS1tZWRpdW0ge1xuICAgICAgICBmb250LXNpemU6ICN7Y2xhbXAtcmVtKDY4cHgsIDEydncsIDE2MHB4KX07XG4gICAgfVxuXG4gICAgJi5oMS1iaWcge1xuICAgICAgICBmb250LXNpemU6ICN7Y2xhbXAtcmVtKDg4cHgsIDEydncsIDIzMHB4KX07XG4gICAgfVxufVxuLmgyIHtcbiAgICBmb250LXNpemU6IHZhcigtLWgyLWZvbnQtc2l6ZSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWgyLWZvbnQtd2VpZ2h0KTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1oMi1tYXJnaW4tYm90dG9tKTtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuLmgzIHtcbiAgICBmb250LXNpemU6IHZhcigtLWgzLWZvbnQtc2l6ZSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWgzLWZvbnQtd2VpZ2h0KTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1oMy1tYXJnaW4tYm90dG9tKTtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuLmg0IHtcbiAgICBmb250LXNpemU6IHZhcigtLWg0LWZvbnQtc2l6ZSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWg0LWZvbnQtd2VpZ2h0KTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1oNC1tYXJnaW4tYm90dG9tKTtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuLmg1IHtcbiAgICBmb250LXNpemU6IHZhcigtLWg1LWZvbnQtc2l6ZSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWg1LWZvbnQtd2VpZ2h0KTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1oNS1tYXJnaW4tYm90dG9tKTtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuLmg2IHtcbiAgICBmb250LXNpemU6IHZhcigtLWg2LWZvbnQtc2l6ZSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWg2LWZvbnQtd2VpZ2h0KTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1oNi1tYXJnaW4tYm90dG9tKTtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG4ucCB7XG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS10aXRsZSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1oMS1mb250LXNpemUpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0taDEtZm9udC13ZWlnaHQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1oMS1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgaDIge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1oMi1mb250LXdlaWdodCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWgyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0taDMtZm9udC1zaXplKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWgzLWZvbnQtd2VpZ2h0KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taDMtbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1oNC1mb250LXNpemUpO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0taDQtZm9udC13ZWlnaHQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1oNC1tYXJnaW4tYm90dG9tKTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgaDUge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1oNS1mb250LXdlaWdodCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWg1LW1hcmdpbi1ib3R0b20pO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICBoNiB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0taDYtZm9udC1zaXplKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWg2LWZvbnQtd2VpZ2h0KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0taDYtbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxufVxuXG4udGV4dC11bmRlcmxpbmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAwMiAtIEFMSUdOTUVOVFxuKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLnRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLnRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogMDMgLSBUUkFOU0ZPUk1cbiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50ZXh0LXVwcGVyY2FzZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi50ZXh0LWxvd2VyY2FzZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbn1cbi50ZXh0LWNhcGl0YWxpemUge1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuKiAwNCAtIFdFSUdIVFxuKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRleHQtZXh0cmFsaWdodCB7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbn1cbi50ZXh0LWxpZ2h0IHtcbiAgICBmb250LXdlaWdodDogMzAwO1xufVxuLnRleHQtbm9ybWFsIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuLnRleHQtc2VtaWJvbGQge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4udGV4dC1ib2xkIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuLnRleHQtZXh0cmEtYm9sZCB7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogMDUgLSBPQ0NISUVMTE9cbiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiogMDYgLSBERUNPUkFUSU9OXG4qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4iLCJAbWl4aW4gZGVidWctY3NzKCRjb2xvcikge1xuICAgICoge1xuICAgICAgICBvdXRsaW5lOiAxcHggZGFzaGVkICRjb2xvcjtcbiAgICB9XG59XG4uZGVidWdcXDpjc3Mge1xuICAgIC0tZGVidWctY29sb3I6IHZhcigtLWNvbG9yLWRlZmF1bHQpO1xuXG4gICAgQGluY2x1ZGUgZGVidWctY3NzKHZhcigtLWRlYnVnLWNvbG9yKSk7XG5cbiAgICAmXFw6cmVkIHtcbiAgICAgICAgLS1kZWJ1Zy1jb2xvcjogcmVkO1xuXG4gICAgICAgIEBpbmNsdWRlIGRlYnVnLWNzcyh2YXIoLS1kZWJ1Zy1jb2xvcikpO1xuICAgIH1cbn1cbiIsIi5ibG9jay1ncmlkcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBncmlkLWdhcDogMTVweDtcbiAgICBnYXA6IDE1cHg7XG4gICAgXG4gICAgXG4gICAgJi5uby1nYXAge1xuICAgICAgICBncmlkLWdhcDogMDtcbiAgICAgICAgZ2FwOiAwO1xuICAgIH1cblxuICAgICYuc21hbGwtZ2FwIHtcbiAgICAgICAgZ3JpZC1nYXA6IDIwcHg7XG4gICAgICAgIGdhcDogMjBweDtcbiAgICB9XG5cbiAgICAmLm1pbi1nYXAge1xuICAgICAgICBncmlkLWdhcDogNXB4IDIwcHg7XG4gICAgICAgIGdhcDogNXB4IDIwcHg7XG4gICAgfVxuICAgIFxuICAgICYuY29sdW1ucy0yIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgIH1cblxuICAgICAgICAmLm1haW4tbWVudS1ncmlkIHtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5mb290ZXItYmxvY2tzIHtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaW5zaWRlLWdyaWQge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IC44ZnIgMS4yZnI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnNtYWxsLWxlZnQge1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAuN2ZyIDEuM2ZyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5hcnJvdy1yaWdodCB7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEuN2ZyIC4zZnI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmJsb2ctcmlnaHQge1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAuOWZyIDEuMWZyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5zZWRpLWJsb2NrIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IC43ZnIgMS4zZnI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogLjdmciAxLjNmcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLmNvbHVtbnMtMyB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zZXJ2aXppLWdyaWQge1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAgMWZyIDFmciAuM2ZyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAgMWZyIDFmciAuM2ZyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTUwMHB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAuNWZyIDEuMmZyIC4zZnI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLnByb2R1Y3QtZGV0YWlsLWJsb2NrIHtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogLjlmciAxLjJmciAuOWZyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IC45ZnIgMS4yZnIgLjlmcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogLjlmciAxLjJmciAuOWZyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jYXRlZ29yeS1pY29ucyB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLmNvbHVtbnMtNCB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyIDFmcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLmNvbHVtbnMtNSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICBcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxZnIgMWZyO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5ncmlkIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICYuaW52ZXJ0ZWQge1xuICAgICAgICA+IC5ncmlkIHtcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubW9iaWxlLWludmVydGVkIHtcbiAgICAgICAgPiAuZ3JpZCB7XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJ1bC5icmVhZGNydW1icyB7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgIFxuICAgIGxpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICAvL21hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCI+XCI7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5saWdodCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uYWJzLWJyZWFkY3J1bWJzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRvcDogMDtcbn0iLCIuYnRuIHtcbiAgICAtLWJvcmRlci1yYWRpdXM6IDJweDtcblxuICAgIC0tYmctY29sb3I6IHZhcigtLWJsdWUpO1xuICAgIC0tdGV4dC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgIC0tYm9yZGVyLWNvbG9yOiB2YXIoLS1ibHVlKTtcbiAgICBcbiAgICAtLWJnLWNvbG9yLWhvdmVyOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAtLXRleHQtY29sb3ItaG92ZXI6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAtLWJvcmRlci1jb2xvci1ob3ZlcjogdmFyKC0tY29sb3ItZGFyayk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgIC8vdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBwYWRkaW5nOiAyMHB4IDEwcHggMTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggdmFyKC0tYm9yZGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iZy1jb2xvcik7XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuXG4gICAgQG1lZGlhKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgaGVpZ2h0OiA1NXB4O1xuICAgICAgICBwYWRkaW5nOiAyN3B4IDEwcHggMTBweDtcbiAgICB9XG5cbiAgICAmLnctMTAwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIC8vdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGFyay1ncmV5KTtcbiAgICB9XG5cbiAgICBkaXYge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgLmRlZmF1bHQge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAuaG92ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yLWhvdmVyKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmctY29sb3ItaG92ZXIpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1jb2xvci1ob3Zlcik7XG5cbiAgICAgICAgZGl2IHtcbiAgICAgICAgICAgIC5kZWZhdWx0IHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5ob3ZlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBhbmltYXRpb246IGJlZm9yZUFtaW1hdGlvblN0YXJ0IC41cyBlYXNlLWluLW91dCBmb3J3YXJkcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KDpob3Zlcikge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBhbmltYXRpb246IGJlZm9yZUFtaW1hdGlvbkVuZCAuNXMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmJ0bi1kYXJrIHtcbiAgICAgICAgLS1iZy1jb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgIC0tdGV4dC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAtLWJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgXG4gICAgICAgIC0tYmctY29sb3ItaG92ZXI6IHZhcigtLWJsdWUpO1xuICAgICAgICAtLXRleHQtY29sb3ItaG92ZXI6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgLS1ib3JkZXItY29sb3ItaG92ZXI6IHZhcigtLWJsdWUpO1xuICAgIH1cblxuICAgICYuYnRuLWxpZ2h0IHtcbiAgICAgICAgLS1iZy1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAtLXRleHQtY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAtLWJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgIFxuICAgICAgICAtLWJnLWNvbG9yLWhvdmVyOiB2YXIoLS1ibHVlKTtcbiAgICAgICAgLS10ZXh0LWNvbG9yLWhvdmVyOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgIC0tYm9yZGVyLWNvbG9yLWhvdmVyOiB2YXIoLS1ibHVlKTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgJjpub3QoOmRpc2FibGVkKTphY3RpdmUge1xuICAgICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICAgICAuZGVmYXVsdCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC5ob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5idG4tbGlnaHQtZGFyayB7XG4gICAgICAgICAgICAtLWJvcmRlci1jb2xvcjogdmFyKC0tbGlnaHQtZ3JleSk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmLmJ0bi1ibHVlLWRhcmsge1xuICAgICAgICAtLWJvcmRlci1jb2xvci1ob3ZlcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICBcbiAgICAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICAgICBcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgIGhlaWdodDogODVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDUycHggMTBweCAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgXG59XG5cbi5hbmltYXRpb24taG92ZXIge1xuICAgIC5hcnJvd3Mge1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgLmFycm93cyB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNoYW5nZS1iZ2stYXJyb3dzIHtcblxuICAgIC5zZXJ2aXppLWdyaWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG5cbiAgICB9XG5cbiAgICAuYXJyb3dzIHtcbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG5cbiAgICAgICAgJi5kZWZhdWx0IHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5ob3ZlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIC5zZXJ2aXppLWdyaWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmx1ZSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuXG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5hcnJvd3Mge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG5cbiAgICAgICAgICAgICYuZGVmYXVsdCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmhvdmVyIHtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgYmVmb3JlQW1pbWF0aW9uU3RhcnQge1xuICAwJSB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuICA1MCUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIH1cbn1cblxuLyogQU5JTUFaSU9ORSBJTlZFUlNBICovXG5Aa2V5ZnJhbWVzIGJlZm9yZUFtaW1hdGlvbkVuZCB7XG4gIDAlIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgfVxuICA1MCUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufSIsIi5jYXJkIHtcblxuICAgICYuY2FyZC1hY2NvcmRpb24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMzBweCAyMHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgLmNoYW5nZS1jb2xvciB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAuaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICBpbWcsc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAucGx1cyB7XG4gICAgICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJsdWUpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcblxuICAgICAgICAgICAgLmNoYW5nZS1jb2xvciB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuXG4gICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIC5pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgICAgICAucGx1cyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJnLWRhcmsge1xuICAgIC5jYXJkIHtcbiAgICAgICAgJi5jYXJkLWFjY29yZGlvbiB7XG4gICAgICAgICAgICAuY2hhbmdlLWNvbG9yIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIC5pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgICAgICAucGx1cyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ibHVlKTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuXG4gICAgICAgICAgICAgICAgLmNoYW5nZS1jb2xvciB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG5cbiAgICAgICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIC5pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgICAgICAgICAgLnBsdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5iZy1kYXJrIHtcbiAgICAmLnNlZGktY29udGFpbmVyIHtcbiAgICAgICAgLmNhcmQge1xuICAgICAgICAgICAgJi5jYXJkLWFjY29yZGlvbiB7XG4gICAgICAgICAgICAgICAgLmNvbnRlbnQge1xuXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5jaGFuZ2UtY29sb3Ige1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIC5pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgICAgICAgICAgLnBsdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSxcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG5cbiAgICAgICAgICAgICAgICAgICAgLmNoYW5nZS1jb2xvciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5wbHVzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIuZm9ybS1jb250YXR0aSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAuY29udGFjdC1mb3JtIHtcbiAgICAgICAgLy9tYXgtd2lkdGg6IDkxMnB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICBncmlkLWdhcDogMTZweDtcbiAgICAgICAgICAgICAgICBnYXA6IDE2cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWxsZWdhdG8tZm9ybSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmJvcmRlci1ib3R0b20ge1xuICAgICAgICAgICAgICAgIC5mb3JtLWlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saWdodC1ncmV5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZvcm0taW5wdXQge1xuICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAudGl0bGUtZm9ybSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4gICAgICAgICAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMzBweCAxNXB4O1xuICAgICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAgICAgICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2NjY2NjYztcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNjY2NjY2M7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi5jb2xvci1saWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuICAgICAgICAgICAgICAgICAgICAvKiBDaHJvbWUsIFNhZmFyaSwgRWRnZSwgT3BlcmEgKi9cbiAgICAgICAgICAgICAgICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbiAgICAgICAgICAgICAgICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAvKiBGaXJlZm94ICovXG4gICAgICAgICAgICAgICAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTclIGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9pY29uZS9zZWxlY3QucG5nKTtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAxNDQxcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYrLnNlbGVjdC1hcnJvdyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYucHJpdmFjeS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDE1cHggMDtcblxuICAgICAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmNoZWNrbWFyayB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig5cHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoOXB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk5OTk7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaW5wdXQ6Y2hlY2tlZH4uY2hlY2ttYXJrOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWwgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnBzZXVkby1pbnB1dC1maWxlIHtcbiAgICAgICAgICAgICAgICAgICAgW3R5cGU9XCJmaWxlXCJdIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAucHNldWRvLWZpbGVzLWxpc3Qge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5wc2V1ZG8tYnV0dG9uLWlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC0tY29sb3ItYm9yZGVyOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA3cHggMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogMTQ0MXB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiB2YXIoLS1jb2xvci1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGVfZnVsbDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5saWdodCB7XG4gICAgICAgICAgICAuZm9ybS1ncm91cCB7XG5cbiAgICAgICAgICAgICAgICAmLmJvcmRlci1ib3R0b20ge1xuICAgICAgICAgICAgICAgICAgICAuZm9ybS1pbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmZvcm0taW5wdXQge1xuICAgICAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbiAgICAgICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgICAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG4gICAgICAgICAgICAgICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLnByaXZhY3ktY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAuY2hlY2ttYXJrIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig5cHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyOiBibHVyKDlweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTk5OTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5bZGF0YS1mb3JtLXRvZ2dsZV0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn0iLCJAdXNlIFwic2FzczptYXRoXCI7XG5AdXNlIFwic2FzczptZXRhXCI7XG5cbkBtaXhpbiBhYnNvbHV0ZV9mdWxsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xufVxuXG5AbWl4aW4gZF9mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtaXhpbiBhc3BlY3RfcmF0aW8oJGxhcmdoZXp6YSwgJGFsdGV6emEpIHtcbiAgICBoZWlnaHQ6IDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogKCgxMDAgKiAkYWx0ZXp6YSkgLyAkbGFyZ2hlenphKSAqIDElO1xufVxuXG5AbWl4aW4gdmVydGljYWxBbGlnbigkcG9zaXRpb246IHJlbGF0aXZlKSB7XG4gICAgcG9zaXRpb246ICRwb3NpdGlvbjtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbkBtaXhpbiBob3Jpem9udGFsQWxpZ24oJHBvc2l0aW9uOiByZWxhdGl2ZSkge1xuICAgIHBvc2l0aW9uOiAkcG9zaXRpb247XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuQG1peGluIGNlbnRlcigkcG9zaXRpb246IHJlbGF0aXZlKSB7XG4gICAgcG9zaXRpb246ICRwb3NpdGlvbjtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCR2YWx1ZSkge1xuICAgIEBpZiBtZXRhLnR5cGUtb2YoJHZhbHVlKT09J251bWJlcicgYW5kIG1hdGgudW5pdCgkdmFsdWUpICE9XCJcIiB7XG4gICAgICAgIEByZXR1cm4gbWF0aC5kaXYoJHZhbHVlLCAkdmFsdWUgKiAwICsgMSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBweC10by1yZW0oJHB4LCAkYmFzZTogMTYpIHtcbiAgICBAcmV0dXJuIG1hdGguZGl2KHN0cmlwLXVuaXQoJHB4KSwgJGJhc2UpICogMXJlbTtcbn1cblxuQGZ1bmN0aW9uIGNsYW1wLXJlbSgkbWluLCAkcHJlZmVycmVkLCAkbWF4LCAkYmFzZTogMTYpIHtcbiAgICAkbWluLXJlbTogaWYobWF0aC51bml0KCRtaW4pPT1weCwgcHgtdG8tcmVtKCRtaW4sICRiYXNlKSwgJG1pbik7XG4gICAgJG1heC1yZW06IGlmKG1hdGgudW5pdCgkbWF4KT09cHgsIHB4LXRvLXJlbSgkbWF4LCAkYmFzZSksICRtYXgpO1xuICAgIEByZXR1cm4gY2xhbXAoI3skbWluLXJlbX0sICN7JHByZWZlcnJlZH0sICN7JG1heC1yZW19KTtcbn0iLCIuaW50cm8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHN2aDtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgICAmLmltZy1mdWxsIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyOSwgMjksIDI5LCAuNSk7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5uby1vdmVybGF5IHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIFxuICAgICAgICAudmlkZW8taG9tZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHN2aDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICAvKiAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwNHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgNS40KTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDAsIDAsIDAuNSkgMCUsIHJnYmEoMCwgMCwgMCwgMCkgMTAwJSk7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIH0gICovXG4gICAgXG4gICAgICAgICAgICAuYmctaW1hZ2Uge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHN2aDtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICB2aWRlbyB7XG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgICAgLy9kaXNwbGF5OiBub25lO1xuICAgIFxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEwMHZ3O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLWFzcGVjdC1yYXRpbzogMTYvOSkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRleHQtY29udGVudCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICAgICAuYmxvY2stdGV4dC1zbGlkZXIge1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmxvYWRlci10cmFuc2l0aW9uLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB6LWluZGV4OiA5OTk5O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIFxuICAgIC5vdmVybGF5IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYigyLDE0LDI2KTtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyLDE0LDI2LC40NSkgMzAlLCByZ2JhKDIsMTQsMjYsMSkgOTMlKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICBcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7XG4gICAgfVxuICAgIFxuICAgIC5sb2FkZXItb3ZlcmxheSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgdHJhbnNpdGlvbjogY2xpcC1wYXRoIC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtcbiAgICAgICAgY2xpcC1wYXRoOiBpbnNldCgxMDAlIDAgMCAwKTtcbiAgICAgICAgXG4gICAgfVxuICAgIFxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG5cbiAgICAgICAgLm92ZXJsYXkge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAubG9hZGVyLW92ZXJsYXkgeyBcbiAgICAgICAgICAgIGNsaXAtcGF0aDogaW5zZXQoMCUgMCAwIDApO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY2xpcC1wYXRoIC41cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIucGFnaW5hdGlvbiB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICB3aWR0aDogNDJweDtcbiAgICAgICAgICAgIGhlaWdodDogNDJweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuXG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuXG4gICAgICAgICAgICAgICAgaSwgc3BhbntcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jdXJyZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiA0MnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0MnB4O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ibHVlKTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJsdWUpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmltYWdlLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmltYWdlLWlubmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbGlnaHQtZ3JleSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20gcmlnaHQsIHRyYW5zcGFyZW50IGNhbGMoNTAlIC0gMXB4KSwgdmFyKC0tbGlnaHQtZ3JleSkgY2FsYyg1MCUgLSAxcHgpLCB2YXIoLS1saWdodC1ncmV5KSA1MCUsIHRyYW5zcGFyZW50IDUwJSk7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5pbWctc21hbGwge1xuICAgICAgICBtYXgtd2lkdGg6IDk2MHB4O1xuXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmltZy1tZWRpdW0ge1xuICAgICAgICAvL21heC13aWR0aDogNjAwcHg7XG4gICAgfVxuXG4gICAgLmltZy1iaWcge1xuICAgICAgICAvLyBtYXgtd2lkdGg6IDEyMDBweDtcbiAgICB9XG59XG5cbi5iZy1kYXJrIHtcbiAgICAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgLmltYWdlLWlubmVyIHtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tIHJpZ2h0LCB0cmFuc3BhcmVudCBjYWxjKDUwJSAtIDFweCksIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpIGNhbGMoNTAlIC0gMXB4KSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMikgNTAlLCB0cmFuc3BhcmVudCA1MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uaW1hZ2UtdGV4dC1hbmltYXRpb24tc2VjdGlvbiB7XG5cbiAgICB2aWV3LXRpbWVsaW5lLW5hbWU6IC0tdGV4dDtcbiAgICB2aWV3LXRpbWVsaW5lLWF4aXM6IGJsb2NrO1xuXG4gICAgLmltYWdlLWZsdWlkLWFuaW1hemlvbmUge1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHNjcm9sbC1iZWhhdmlvcjogdW5zZXQ7XG5cbiAgICAgICAgLnRpdGxlLWNoYW5nZSB7XG4gICAgICAgICAgICAvKiAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMHZoOyAqL1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICAgICAgYW5pbWF0aW9uLXRpbWVsaW5lOiAtLXRleHQ7XG4gICAgICAgICAgICBhbmltYXRpb24tcmFuZ2U6IGVudHJ5IDEwMCUgZW50cnkgMjAwJTtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBjb2xvclRleHQ7XG4gICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcblxuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW1nLWNvbnRhaW5lciB7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuXG5cbiAgICAgICAgLyogVGltZWxpbmUgYmFzYXRhIHN1bGxhIHZpc2liaWxpdMOgICovXG4gICAgICAgIHZpZXctdGltZWxpbmUtbmFtZTogLS1pbWc7XG4gICAgICAgIHZpZXctdGltZWxpbmUtYXhpczogYmxvY2s7XG5cbiAgICAgICAgLyogQXBwbGljaGlhbW8gbGEgdGltZWxpbmUgYWxs4oCZYW5pbWF6aW9uZSAqL1xuICAgICAgICBhbmltYXRpb24tdGltZWxpbmU6IC0taW1nO1xuICAgICAgICBhbmltYXRpb24tbmFtZTogc2NhbGVJbWFnZTtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNHM7XG4gICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG5cbiAgICAgICAgLyog8J+OryBGQSBQQVJUSVJFIFBSSU1BIEzigJlBTklNQVpJT05FICovXG4gICAgICAgIGFuaW1hdGlvbi1yYW5nZTogZW50cnkgLTMwJSBlbnRyeSAxMDAlO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyOSwgMjksIDI5LCAwLjIpO1xuICAgICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGtleWZyYW1lcyBzY2FsZUltYWdlIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgY29sb3JUZXh0IHtcbiAgICAwJSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICB9XG59XG5cbi50ZXh0LWFuaW1hemlvbmUge1xuICAgIGhlaWdodDogNTB2aDtcbiAgICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3kgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogc3RpY2t5ICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgICYuZnVsbCB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3kgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3kgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zY3JvbGwtc2VjdGlvbiB7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbn1cblxuLm1hcC1pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uc2VkaS1jb250YWluZXIge1xuICAgIFxuICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMjBweDtcbiAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgICAgIFxuXG4gICAgfVxufVxuXG4uY2F0ZWdvcmllLWljb24ge1xuICAgIG1heC13aWR0aDogNDZweDtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi5jYXRlZ29yeS1ibG9jay1ob3ZlciB7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuY2F0LWdyaWQge1xuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWxpZ2h0LWdyZXkpO1xuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZC1hYnNvbHV0ZS1jb250YWluZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIFxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAucHJvZG90dGktYmxvY2staG92ZXIge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAuYm9yZGVyLXRvcCB7XG4gICAgICAgICAgICAgICAgQG1lZGlhKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5pbnNpZGUtZ3JpZCB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIFxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+ZGl2IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDIwcHggMjVweCAwO1xuICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgLmFycm93cyB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICBcbiAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICBcbiAgICAgICAgICAgICAgICAmLmRlZmF1bHQge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgICAgICAmLmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ibHVlKTtcbiAgICBcbiAgICAgICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAgICAgLmFycm93cyB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgXG4gICAgICAgICAgICAgICAgICAgICYuZGVmYXVsdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgJi5ob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgXG4gICAgICAgID4uY2F0LWdyaWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmx1ZSk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICosXG4gICAgICAgICAgICAuY2F0ZWdvcmlhLW5vbWUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kLWFic29sdXRlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHJvZHVjdC1kZXRhaWwtYmxvY2sge1xuICAgIC5pbWctcHJvZG90dG8ge1xuICAgICAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgfVxuXG4gICAgLmNhdGVnb3J5LWljb25zIHtcbiAgICAgICAgLmdyaWQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQtZ3JleSk7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDEwcHg7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MHB4O1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ibHVlKTtcblxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJ0bi1wcmV2LW5leHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAxMHB4O1xufVxuXG4uZ2FsbGVyeS1wcm9kb3R0byB7XG4gICAgLmJnLWdhbGxlcnkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4xKTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgIH1cblxuICAgIH1cbn1cblxuXG5cbi5zdG9yaWEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC50aW1lbGluZS1saXN0IHtcbiAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKC05MHZoICsgNDBweCk7XG4gICAgICAgIH1cblxuICAgICAgICAudGltZWxpbmUtaXRlbSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDQwcHgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYW5uby1tb2JpbGUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdG9wOiAyMCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tbGlnaHQtZ3JleSk7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogI3tjbGFtcC1yZW0oMTAwcHgsIDIwdncsIDUwMHB4KX07XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGltZWxpbmUtY29udGVudCB7XG4gICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogYm90dG9tO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmltZy10b3AtbGVmdCB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAje2NsYW1wLXJlbSgxMjBweCwgMzJ2dywgNTQ5cHgpfTtcblxuICAgICAgICAgICAgICAgICYuc21hbGwge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICN7Y2xhbXAtcmVtKDgwcHgsIDE0dncsIDIwMHB4KX07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaW1nLXRvcC1yaWdodCB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAje2NsYW1wLXJlbSg4MHB4LCAxNHZ3LCAyNjVweCl9O1xuXG4gICAgICAgICAgICAgICAgJi5zbWFsbCB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogI3tjbGFtcC1yZW0oMTEwcHgsIDE0dncsIDIwMHB4KX07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaW1nLWJvdHRvbS1sZWZ0IHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICN7Y2xhbXAtcmVtKDgwcHgsIDE0dncsIDIwMHB4KX07XG5cbiAgICAgICAgICAgICAgICAmLmJpZyB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogI3tjbGFtcC1yZW0oMTEwcHgsIDMydncsIDYyMHB4KX07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaW1nLWJvdHRvbS1yaWdodCB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAje2NsYW1wLXJlbSgxMDBweCwgMTR2dywgMjY1cHgpfTtcblxuICAgICAgICAgICAgICAgICYuc21hbGwge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICN7Y2xhbXAtcmVtKDgwcHgsIDE0dncsIDIwMHB4KX07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnllYXItY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgXG4gICAgICAgICAvKlxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9ICovXG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAgICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0MHB4KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC55ZWFyLWxpc3Qge1xuICAgICAgICAgICAgLnllYXItaXRlbSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDEwMHB4LCA0MHZ3LCA3MDBweCk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC40O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDA7IC8vIGRlZmF1bHQgei1pbmRleFxuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAgICAgICAgICAgICAueWVhci1jaGFyIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDFlbTsgLy8gc3BhemlvIHBlciBhbmltYXppb25lXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwLjY1ZW07XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1saWdodC1ncmV5KTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxMDBweCwgNDB2dywgNjAwcHgpO1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMTAwcHgsIDQwdncsIDYwMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIuc2Vydml6aS1hdGYtc2xpZGVyIHtcbiAgICAuc3dpcGVyLXdyYXBwZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgXG4gICAgICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgICAgICAgcGFkZGluZzogMTRweDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgXG4gICAgICAgICAgICBcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmluc2lkZS1ncmlkIHtcbiAgICAgICAgICAgICAgICAuZ3JpZCB7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLmltZy1zZXJ2aXppbyB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIge1xuICAgICAgICB0b3A6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvdHRvbTogMDtcblxuICAgICAgICAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ibHVlKTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCJoZWFkZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgaGVpZ2h0OiA5MHB4O1xuICAgIFxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgICAgICAgaGVpZ2h0OiAxMjBweDtcbiAgICB9XG5cbiAgICAuaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiA5MHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICBcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMjBweDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmxvZ28tY29udGFpbmVyIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA5MHB4KTtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzODBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLmxvZ28tZGFyayB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC5sb2dvLWxpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLm1lbnUtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgb3JkZXI6IDQ7XG5cbiAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE0MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5tZW51IHtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIC8vanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyOSwgMjksIDI5LCAuOTgpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwbHZoO1xuICAgICAgICAgICAgICAgIC8vaGVpZ2h0OiAxMDBzdmg7XG5cbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgICAgICAgICAgIC8vb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMS4wOXMgY3ViaWMtYmV6aWVyKC42NywwLC4wNiwxKTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAubWFpbi1tZW51LWdyaWQge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA5MHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLm1vYmlsZS1oIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcblxuICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDEyMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5saW5rLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhLmEtbGluayB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktdGl0bGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAje2NsYW1wLXJlbSgyNHB4LCA0dncsIDY0cHgpfTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMzhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvaWNvbmUvYXJyb3ctYmx1ZS1vdXRsaW5lLnN2Zyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDM0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDM0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYmx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLm1lZ2FtZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAubW9iaWxlLXN1Ym1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgLnN1Ym1lbnUtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0xNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMTBweCk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAxMDI0cHgpIHsgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwJSk7ICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTsgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLm9wZW4tc3VibWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5pbnNpZGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6IDEwMjNweCkgeyAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY2xvc2UtYXJyb3cge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnN1Ym1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zdWItbGluayB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNjgxcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuYS1saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2ZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LXRpdGxlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICN7Y2xhbXAtcmVtKDIwcHgsIDR2dywgNDhweCl9O1xuICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2ljb25lL2Fycm93LWJsdWUtb3V0bGluZS5zdmcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy92ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMzZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ibHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IFxuXG5cbiAgICAgICAgICAgICAgICAgICAgLmxhbmctY29udGFpbmVyLW1vYmlsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5sYW5ndWFnZS1tZW51LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5sYW5ndWFnZS1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogI3tweC10by1yZW0oMThweCl9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1saWdodC1ncmV5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogI3tweC10by1yZW0oMThweCl9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjY7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmFkZHJlc3MtbWVudSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYShtaW4td2lkdGg6IDE0NDFweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiA2MHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAuaGFtYnVyZ2VyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdNRU5VJztcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcblxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC5oYW1idXJnZXItY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSxcbiAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uYS1jb250YWluZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sYW5nLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMTBweDtcbiAgICAgICAgICAgIG9yZGVyOiAzO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNDBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGFuZ3VhZ2UtbWVudS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG5cbiAgICAgICAgICAgICAgICAubGFuZ3VhZ2UtbWVudSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG4gICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogI3tweC10by1yZW0oMTRweCl9O1xuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1saWdodC1ncmV5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogI3tweC10by1yZW0oMTRweCl9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjY7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICYubGlnaHQtaGVhZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIFxuICAgICAgICAuaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAubG9nby1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIC5sb2dvLWRhcmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIC5sb2dvLWxpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWVudS1jb250YWluZXIge1xuICAgICAgICAgICAgLmhhbWJ1cmdlciB7XG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAuaGFtYnVyZ2VyLWNvbnRhaW5lciB7XG5cbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sYW5nLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAubGFuZ3VhZ2UtbWVudS1jb250YWluZXIge1xuXG4gICAgICAgICAgICAgICAgLmxhbmd1YWdlLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tZ3JleSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmJvZHkge1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgXG4gICAgJi5zdGlja3ktaGVhZGVyIHtcbiAgICAgICAgaGVhZGVyIHsgXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjgpO1xuICAgICAgICAgICAgaGVpZ2h0OiA5MHB4O1xuICAgIFxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogOTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmhlYWRlci1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgIGhlaWdodDogOTBweDtcbiAgICBcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogOTBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubG9nby1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmxvZ28tZGFyayB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIC5sb2dvLWxpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLm1lbnUtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgLm1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5saW5rLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTsgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAuaGFtYnVyZ2VyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWRhcmspO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAuaGFtYnVyZ2VyLWNvbnRhaW5lciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubGFuZy1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAubGFuZ3VhZ2UtbWVudS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmxhbmd1YWdlLW1lbnUgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tZ3JleSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuYWN0aXZlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5saWdodC1oZWFkZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjgpO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC5sb2dvLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAubG9nby1kYXJrIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAgICAgLmxvZ28tbGlnaHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLm1lbnUtb3BlbiB7XG4gICAgICAgICAgICBoZWFkZXIge1xuICAgICAgICAgICAgICAgIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgLyogLmxvZ28tY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgICAgICAgICB9ICovXG5cbiAgICAgICAgICAgICAgICAgICAgLmxvZ28tY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5sb2dvLWRhcmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAubG9nby1saWdodCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5sYW5nLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIC5sYW5ndWFnZS1tZW51LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAubGFuZ3VhZ2UtbWVudSBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1ncmV5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm1lZ2FtZW51LW9wZW4ge1xuICAgICAgICBoZWFkZXIge1xuICAgICAgICAgICAgLmhlYWRlci1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIG5hdi5tZW51LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIHVsLm1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5saW5rLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1kYXJrKTsgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm1lbnUtb3BlbiB7XG4gICAgICAgIGhlYWRlciB7XG5cbiAgICAgICAgICAgIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAubG9nby1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcblxuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5sb2dvLWRhcmsge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIC5sb2dvLWxpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAubWVudS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAubWVudSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMS4wOXMgY3ViaWMtYmV6aWVyKC42NywwLC4wNiwxKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgICAgICAgICAuaGFtYnVyZ2VyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ0NISVVESSc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIC5oYW1idXJnZXItY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL2FuaW1hdGlvbi1uYW1lOiBoYW1idXJnZXJfdG9nZ2xlX2JlZm9yZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNXM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDJweCkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KSByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9hbmltYXRpb24tbmFtZTogaGFtYnVyZ2VyX3RvZ2dsZV9hZnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNXM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03cHgpIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5saWdodC1oZWFkZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC5sYW5nLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIC5sYW5ndWFnZS1tZW51LWNvbnRhaW5lciB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIC5sYW5ndWFnZS1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWxpZ2h0LWdyZXkpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuYWN0aXZlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1saWdodCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgaGFtYnVyZ2VyX3RvZ2dsZV9iZWZvcmUge1xuICAgIDAlICAge1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoMGRlZyk7XG4gICAgfVxuICAgIDUwJSAge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpIHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxufVxuQGtleWZyYW1lcyBoYW1idXJnZXJfdG9nZ2xlX2FmdGVyIHtcbiAgICAwJSAgIHtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKDBkZWcpO1xuICAgIH1cbiAgICA1MCUgIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC05cHgpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC05cHgpIHJvdGF0ZSgtNDVkZWcpO1xuICAgIH1cbn1cbiIsImZvb3RlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgKiB7XG4gICAgXG4gICAgICAgIEBtZWRpYShtYXgtd2lkdGg6IDU3NXB4KSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9IFxuXG4gICAgJi5iZy1kYXJrIHtcbiAgICAgICAgKiB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAuYnRuLWxpZ2h0IHtcbiAgICAgICAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICAgICAgICAuZGVmYXVsdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIC5ob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZGFyayk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9nby1mb290ZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIH1cblxuICAgIC5tZW51LWZvb3RlciB7XG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnB4IDA7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbi1kZWZhdWx0KTtcblxuICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tZ3JleSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sYW5nLWZvb3RlciB7XG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24tZGVmYXVsdCk7XG5cbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWdyZXkpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBcblxuICAgIC5jb3B5cmlnaHQge1xuICAgICAgICBcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zb2NpYWwge1xuICAgIC5zb2NpYWwtZWxlbSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgIH1cbn0iXX0= */
