/*!******************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[2]!./node_modules/swiper/modules/pagination.css ***!
  \******************************************************************************************************************************************************************************************************************/
:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-left: auto;
  --swiper-pagination-right: 8px;
  --swiper-pagination-bottom: 8px;
  --swiper-pagination-top: auto;
  --swiper-pagination-fraction-color: inherit;
  --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25);
  --swiper-pagination-progressbar-size: 4px;
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-border-radius: 50%;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-bullet-vertical-gap: 6px;
  */
}
.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}
.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}
.swiper-pagination-disabled > .swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}
/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}
/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}
.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}
.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}
button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
          -moz-appearance: none;
       appearance: none;
}
.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}
.swiper-pagination-bullet:only-child {
  display: none !important;
}
.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}
.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}
.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}
.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms transform,
        200ms top;
}
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}
.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}
.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform,
        200ms left;
}
.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform,
    200ms right;
}
/* Fraction */
.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}
/* Progress */
.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}
.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}
.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}
.swiper-vertical > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}
.swiper-pagination-lock {
  display: none;
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./assets/scss/content-blocks/cb_testimonials.scss ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.shadow-md {
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.16);
}

/* aleo-600 - latin */

@font-face {
  font-display: swap;
  font-family: "Aleo";
  font-style: normal;
  font-weight: 600;
  src: url(/build/fonts/600.6cdcaa41.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* rooney 600 - latin */

@font-face {
  font-display: swap;
  font-family: "Rooney";
  font-style: normal;
  font-weight: 600;
  src: url(/build/fonts/600.3ef60b2e.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* calibri font family */

@font-face {
  font-display: swap;
  font-family: "Calibri";
  font-weight: 300;
  font-style: normal;
  src: url(/build/fonts/300.9baa67f0.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

@font-face {
  font-display: swap;
  font-family: "Calibri";
  font-weight: 300;
  font-style: italic;
  src: url(/build/fonts/300i.cf87dc54.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

@font-face {
  font-display: swap;
  font-family: "Calibri";
  font-weight: 400;
  font-style: normal;
  src: url(/build/fonts/400.551fd9d5.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

@font-face {
  font-display: swap;
  font-family: "Calibri";
  font-weight: 400;
  font-style: italic;
  src: url(/build/fonts/400i.7fd7e2cf.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

@font-face {
  font-display: swap;
  font-family: "Calibri";
  font-weight: 700;
  font-style: normal;
  src: url(/build/fonts/700.4308169e.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

@font-face {
  font-display: swap;
  font-family: "Calibri";
  font-weight: 700;
  font-style: italic;
  src: url(/build/fonts/700i.740267d0.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/**
 * Font family definitions for consistent usage across the project
 * These variables can be used in any file that imports this module
 */

.font-primary {
  font-family: "Rooney", serif;
}

.font-secondary {
  font-family: "Calibri", sans-serif, sans-serif;
}

.ce-igelb_testimonialslider {
  position: relative;
  width: 100%;
}

.ce-igelb_testimonialslider__wrapper {
  position: relative;
  margin: 0 auto;
  width: 100%;
  padding: 1.25rem 0 0 0;
  overflow: hidden;
}

.ce-igelb_testimonialslider__wrapper:focus-visible {
  outline: 2px solid var(--color-primary, #009ddf);
  outline-offset: 4px;
}

.ce-igelb_testimonialslider__wrapper.is-loading {
  min-height: 200px;
}

.ce-igelb_testimonialslider__wrapper.is-loading::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 3px solid var(--color-jfe-gray-medium, #CFCFCF);
  border-top-color: var(--color-primary, #009ddf);
  animation: spinner 1s linear infinite;
}

.ce-igelb_testimonialslider__wrapper--single {
  padding: 2rem 0 0 0;
}

@keyframes spinner {
  to {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}

.ce-igelb_testimonialslider__item {
  display: flex;
  height: -moz-fit-content;
  height: fit-content;
  width: 100%;
  padding: 2px 40px 40px 2px;
  position: relative;
  z-index: 10;
}

.ce-igelb_testimonialslider__icon--quote {
  position: absolute;
  top: -24px;
  left: 32px;
  font-size: 4rem;
}

.ce-igelb_testimonialslider__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  background-color: var(--color-jfe-gray, #f3f3f2);
  padding: 4rem 1.5rem;
  border-radius: 0;
  border: 0 solid var(--color-jfe-gray-medium, #CFCFCF);
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.16);
  transition: transform 0.3s ease;
  height: -moz-fit-content;
  height: fit-content;
  position: relative;
  width: 100%;
}

@media (min-width: 1024px) {
  .ce-igelb_testimonialslider__inner {
    flex-direction: row;
    align-items: flex-start;
    padding: 4rem 0 2rem 2.5rem;
    gap: 3rem;
  }
  .ce-igelb_testimonialslider__inner--no-image {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding: 4rem 2.5rem 2rem 2.5rem;
  }
}

.ce-igelb_testimonialslider__background {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -1;
  padding-left: 30px;
  padding-top: 40px;
}

.ce-igelb_testimonialslider__background .ce-igelb_testimonialslider__bg {
  display: flex;
  flex-grow: 0;
  fill: var(--color-secondary, #ffcc00);
  position: absolute;
  z-index: -1;
}

.ce-igelb_testimonialslider__background .ce-igelb_testimonialslider__bg--top {
  top: 40px;
  left: 40px;
  width: calc(100% - 40px);
  height: 16px;
}

.ce-igelb_testimonialslider__background .ce-igelb_testimonialslider__bg--bottom {
  bottom: 0;
  left: 60px;
  height: 16px;
  width: calc(100% - 64px);
}

.ce-igelb_testimonialslider__background .ce-igelb_testimonialslider__bg--left {
  left: 40px;
  top: 40px;
  width: 16px;
  height: calc(100% - 40px);
}

.ce-igelb_testimonialslider__background .ce-igelb_testimonialslider__bg--right {
  top: 60px;
  right: 0;
  width: 16px;
  height: calc(100% - 72px);
}

.ce-igelb_testimonialslider__text {
  font-size: clamp(1rem, 1vw + 0.8rem, 1.25rem);
  line-height: 1.5;
  margin-bottom: 0;
  flex-grow: 0;
  position: relative;
  font-weight: 700;
  font-family: "Calibri", sans-serif;
  color: var(--color-black, #000000);
}

.ce-igelb_testimonialslider__author {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-shrink: 0;
}

.ce-igelb_testimonialslider__name {
  font-weight: 700;
  font-size: 1.125rem;
  font-family: "Calibri", sans-serif;
  color: var(--color-black, #000000);
  text-align: center;
  width: 24ch;
  font-style: normal;
}

@media (max-width: 639px) {
  .ce-igelb_testimonialslider__name {
    margin-bottom: 0.5rem;
  }
}

.ce-igelb_testimonialslider__category {
  font-size: 1.25rem;
  color: var(--color-black, #000000);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0.25rem;
  width: 24ch;
}

.ce-igelb_testimonialslider__picture {
  margin-bottom: 1rem;
}

.ce-igelb_testimonialslider__image {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.ce-igelb_testimonialslider__image img {
  border-radius: 50%;
  width: 128px;
  height: 128px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  display: block;
}

.ce-igelb_testimonialslider__button {
  display: none;
  justify-content: center;
  align-items: center;
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.16);
  top: 30px;
}

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

.ce-igelb_testimonialslider__button::after {
  content: "";
}

.ce-igelb_testimonialslider__button--prev {
  left: calc(100% - 154px);
}

.ce-igelb_testimonialslider__button--prev, .ce-igelb_testimonialslider__button--next {
  width: 3.5rem;
  height: 3.5rem;
  background-color: var(--color-jfe-yellow, #ffcc00);
  border-radius: 0;
  color: var(--color-black, #000000);
  transition: background-color 0.3s ease, transform 0.3s ease;
}

.ce-igelb_testimonialslider__button--prev:focus-visible, .ce-igelb_testimonialslider__button--next:focus-visible {
  outline: 2px solid var(--color-primary, #009ddf);
  outline-offset: 2px;
}

.ce-igelb_testimonialslider__button--prev:hover, .ce-igelb_testimonialslider__button--next:hover {
  background-color: var(--color-jfe-yellow-hover, #EBBC00);
  transform: scale(1.05);
}

.ce-igelb_testimonialslider__button > i {
  font-size: 2.5rem;
  color: var(--color-black, #000000);
}

.ce-igelb_testimonialslider__button.swiper-button-lock {
  display: none;
}

.ce-igelb_testimonialslider__pagination.swiper-pagination {
  position: relative;
  bottom: auto;
  left: auto;
  width: 100%;
  display: none;
  justify-content: center;
  gap: 0.5rem;
  padding: 1rem 0;
  z-index: 10;
}

.ce-igelb_testimonialslider__wrapper.is-initialized .ce-igelb_testimonialslider__pagination.swiper-pagination {
  display: flex;
}

@media (min-width: 768px) {
  .ce-igelb_testimonialslider__wrapper.is-initialized .ce-igelb_testimonialslider__pagination.swiper-pagination {
    display: none;
  }
}

.ce-igelb_testimonialslider__pagination-fraction {
  display: none;
  position: absolute;
  bottom: 8px;
  left: 8px;
  width: -moz-max-content;
  width: max-content;
  text-align: left;
  color: var(--color-black, #000000);
  font-size: 0.875rem;
  z-index: 10;
  font-weight: 400;
  letter-spacing: 0.5px;
  background-color: #ffffff;
  padding: 2px;
  border-radius: 2px;
}

@media (min-width: 768px) {
  .ce-igelb_testimonialslider__wrapper.is-initialized .ce-igelb_testimonialslider__pagination-fraction {
    display: block;
  }
}

.ce-igelb_testimonialslider .swiper-pagination-bullet {
  width: 14px;
  height: 14px;
  background-color: var(--color-jfe-gray-medium, #CFCFCF);
  border-radius: 50%;
  cursor: pointer;
  opacity: 1;
  transition: background-color 0.3s ease;
}

.ce-igelb_testimonialslider .swiper-pagination-bullet:hover {
  background-color: var(--color-black, #000000);
}

.ce-igelb_testimonialslider .swiper-pagination-bullet:focus-visible {
  outline: 2px solid var(--color-primary, #009ddf);
  outline-offset: 2px;
}

.ce-igelb_testimonialslider .swiper-pagination-bullet-active {
  background-color: var(--color-black, #000000);
}

.ce-igelb_testimonialslider .swiper {
  overflow: visible;
}

.ce-igelb_testimonialslider .swiper-wrapper {
  display: flex;
  transition-property: transform;
}

@media (min-width: 1280px) {
  .ce-igelb_testimonialslider .swiper-wrapper {
    align-items: stretch;
  }
}

.ce-igelb_testimonialslider .swiper-slide {
  flex-shrink: 0;
  position: relative;
  transition: opacity 0.3s ease;
}

.ce-igelb_testimonialslider .swiper-slide:not(.swiper-slide-active) {
  opacity: 0.6;
}

@media (min-width: 768px) {
  .ce-igelb_testimonialslider .swiper-slide:not(.swiper-slide-active) {
    opacity: 0.3;
  }
}

@media (min-width: 1280px) {
  .ce-igelb_testimonialslider .swiper-slide:not(.swiper-slide-active) {
    opacity: 1;
  }
}

@media (min-width: 1280px) {
  .ce-igelb_testimonialslider .swiper-slide {
    display: flex;
    align-items: stretch;
  }
  .ce-igelb_testimonialslider .swiper-slide .ce-igelb_testimonialslider__item {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
  }
  .ce-igelb_testimonialslider .swiper-slide .ce-igelb_testimonialslider__inner {
    height: 100%;
    display: flex;
  }
}

.ce-igelb_testimonialslider .ce-igelb_testimonialslider-single {
  margin: 0 auto;
}

.ce-igelb_testimonialslider .ce-igelb_testimonialslider-single .ce-igelb_testimonialslider__item {
  transform: none;
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.16);
}

.ce-igelb_testimonialslider .ce-igelb_testimonialslider-single .swiper-slide {
  opacity: 1;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUtJO0VBakRKO0FBQ0Y7O0FBc0RFO0VBQ0U7RUFDQTtFQUNBLFdBblRxQztFQW9UckMsU0FuVG1DO0VBb1RuQztFQUFBO0VBQ0E7RUFDQSxrQ0FoWHFCO0VBaVhyQixtQkF0VCtCO0VBdVQvQjtFQUNBO0VBQ0E7RUFDQSx5QkdwWFU7RUhxWFY7RUFDQTtBQXBESjs7QUV6VEk7RUZpWEY7SUFFSTtFQXRESjtBQUNGOztBQTBERTtFQUNFO0VBQ0E7RUFDQSx1REFuWXVCO0VBb1l2QjtFQUNBO0VBQ0E7RUFDQTtBQXhESjs7QUEwREk7RUFDRSw2Q0E1WW1CO0FBb1Z6Qjs7QUEyREk7RUFDRTtFQUNBO0FBekROOztBQTRESTtFQUNFLDZDQXJabUI7QUEyVnpCOztBQStERTtFQUNFO0FBN0RKOztBQStESTtFQUNFO0VBQ0E7QUE3RE47O0FFeFZJO0VGbVpBO0lBT0c7RUE5REw7QUFDRjs7QUFpRUk7RUFDRTtFQUNBO0VBQ0E7QUEvRE47O0FBaUVNO0VBQ0UsWUEzWHVCO0FBNFQvQjs7QUVyV0k7RUZtYUU7SUFJSSxZQTdYd0I7RUErVGhDO0FBQ0Y7O0FFMVdJO0VGbWFFO0lBT0k7RUE1RFI7QUFDRjs7QUUvV0k7RUY4WkE7SUFrQkk7SUFDQTtFQTdETjtFQStETTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VBN0RSO0VBZ0VNO0lBQ0U7SUFDQTtFQTlEUjtBQUNGOztBQW9FRTtFQUNFO0FBbEVKOztBQW9FSTtFQUNFO0VBQ0EsMkNEMWREO0FDd1pMOztBQXFFSTtFQUNFO0FBbkVOLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdWdlbmQtZnVlci1ldXJvcGEvLi9ub2RlX21vZHVsZXMvc3dpcGVyL21vZHVsZXMvcGFnaW5hdGlvbi5jc3MiLCJ3ZWJwYWNrOi8vanVnZW5kLWZ1ZXItZXVyb3BhLy4vYXNzZXRzL3Njc3MvZ2xvYmFsL19zaGFkb3dzLnNjc3MiLCJ3ZWJwYWNrOi8vanVnZW5kLWZ1ZXItZXVyb3BhLy4vYXNzZXRzL3Njc3MvY29udGVudC1ibG9ja3MvY2JfdGVzdGltb25pYWxzLnNjc3MiLCJ3ZWJwYWNrOi8vanVnZW5kLWZ1ZXItZXVyb3BhLy4vYXNzZXRzL3Njc3MvZ2xvYmFsL19mb250cy5zY3NzIiwid2VicGFjazovL2p1Z2VuZC1mdWVyLWV1cm9wYS8uL2Fzc2V0cy9zY3NzL2dsb2JhbC9fYnJlYWtwb2ludHMuc2NzcyIsIndlYnBhY2s6Ly9qdWdlbmQtZnVlci1ldXJvcGEvLi9hc3NldHMvc2Nzcy9nbG9iYWwvX2NvbG9ycy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIjpyb290IHtcbiAgLypcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvcjogdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKTtcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1sZWZ0OiBhdXRvO1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLXJpZ2h0OiA4cHg7XG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tYm90dG9tOiA4cHg7XG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tdG9wOiBhdXRvO1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9uLWNvbG9yOiBpbmhlcml0O1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWJnLWNvbG9yOiByZ2JhKDAsMCwwLDAuMjUpO1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLXNpemU6IDRweDtcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtc2l6ZTogOHB4O1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC13aWR0aDogOHB4O1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1oZWlnaHQ6IDhweDtcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYm9yZGVyLXJhZGl1czogNTAlO1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1pbmFjdGl2ZS1jb2xvcjogIzAwMDtcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaW5hY3RpdmUtb3BhY2l0eTogMC4yO1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1vcGFjaXR5OiAxO1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1ob3Jpem9udGFsLWdhcDogNHB4O1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC12ZXJ0aWNhbC1nYXA6IDZweDtcbiAgKi9cbn1cbi5zd2lwZXItcGFnaW5hdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiAzMDBtcyBvcGFjaXR5O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB6LWluZGV4OiAxMDtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1oaWRkZW4ge1xuICBvcGFjaXR5OiAwO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWRpc2FibGVkID4gLnN3aXBlci1wYWdpbmF0aW9uLFxuLnN3aXBlci1wYWdpbmF0aW9uLnN3aXBlci1wYWdpbmF0aW9uLWRpc2FibGVkIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuLyogQ29tbW9uIFN0eWxlcyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9uLFxuLnN3aXBlci1wYWdpbmF0aW9uLWN1c3RvbSxcbi5zd2lwZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLFxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24taG9yaXpvbnRhbCB7XG4gIGJvdHRvbTogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYm90dG9tLCA4cHgpO1xuICB0b3A6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLXRvcCwgYXV0byk7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuLyogQnVsbGV0cyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMDtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1tYWluIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC42Nik7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYtcHJldiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0LW5leHQge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xufVxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIHdpZHRoOiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtd2lkdGgsIHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1zaXplLCA4cHgpKTtcbiAgaGVpZ2h0OiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtaGVpZ2h0LCB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtc2l6ZSwgOHB4KSk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWJvcmRlci1yYWRpdXMsIDUwJSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1pbmFjdGl2ZS1jb2xvciwgIzAwMCk7XG4gIG9wYWNpdHk6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1pbmFjdGl2ZS1vcGFjaXR5LCAwLjIpO1xufVxuYnV0dG9uLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1jbGlja2FibGUgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQ6b25seS1jaGlsZCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgb3BhY2l0eTogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LW9wYWNpdHksIDEpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvciwgdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7XG59XG4uc3dpcGVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMsXG4uc3dpcGVyLXBhZ2luYXRpb24tdmVydGljYWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyB7XG4gIHJpZ2h0OiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1yaWdodCwgOHB4KTtcbiAgbGVmdDogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tbGVmdCwgYXV0byk7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgLTUwJSwgMCk7XG59XG4uc3dpcGVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCxcbi5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBtYXJnaW46IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC12ZXJ0aWNhbC1nYXAsIDZweCkgMDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uc3dpcGVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljLFxuLnN3aXBlci1wYWdpbmF0aW9uLXZlcnRpY2FsLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgd2lkdGg6IDhweDtcbn1cbi5zd2lwZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCxcbi5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2l0aW9uOiAyMDBtcyB0cmFuc2Zvcm0sXG4gICAgICAgIDIwMG1zIHRvcDtcbn1cbi5zd2lwZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQsXG4uc3dpcGVyLXBhZ2luYXRpb24taG9yaXpvbnRhbC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBtYXJnaW46IDAgdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWhvcml6b250YWwtZ2FwLCA0cHgpO1xufVxuLnN3aXBlci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljLFxuLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5zd2lwZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LFxuLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIHRyYW5zaXRpb246IDIwMG1zIHRyYW5zZm9ybSxcbiAgICAgICAgMjAwbXMgbGVmdDtcbn1cbi5zd2lwZXItaG9yaXpvbnRhbC5zd2lwZXItcnRsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgdHJhbnNpdGlvbjogMjAwbXMgdHJhbnNmb3JtLFxuICAgIDIwMG1zIHJpZ2h0O1xufVxuLyogRnJhY3Rpb24gKi9cbi5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbiB7XG4gIGNvbG9yOiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbi1jb2xvciwgaW5oZXJpdCk7XG59XG4vKiBQcm9ncmVzcyAqL1xuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItYmctY29sb3IsIHJnYmEoMCwgMCwgMCwgMC4yNSkpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvciwgdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbn1cbi5zd2lwZXItcnRsIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDtcbn1cbi5zd2lwZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhcixcbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1ob3Jpem9udGFsLFxuLnN3aXBlci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSxcbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLXNpemUsIDRweCk7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5zd2lwZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIsXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tdmVydGljYWwsXG4uc3dpcGVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUsXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24taG9yaXpvbnRhbC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSB7XG4gIHdpZHRoOiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1zaXplLCA0cHgpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1sb2NrIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8vIGFzc2V0cy9zY3NzL2dsb2JhbC9fc2hhZG93cy5zY3NzXG5cbi8vIFNoYWRvdyB0b2tlbiBkZWZpbml0aW9uc1xuLy8gQmFzZWQgb24gVGFpbHdpbmQncyBzaGFkb3cgc2NhbGUgZm9yIGNvbnNpc3RlbmN5XG4vLyBDdXJyZW50bHkgdXNpbmcgbWQgYXMgZGVmYXVsdCwgZXh0ZW5zaWJsZSBmb3IgZnV0dXJlIHNoYWRvdyB2YXJpYW50c1xuXG4vLyBTaGFkb3cgdmFsdWVzXG4kbWQ6IDJweCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNik7XG4kZGVmYXVsdDogJG1kO1xuJHNoYWRvdy1kZWZhdWx0OiAkZGVmYXVsdDtcblxuLy8gRnV0dXJlIHNoYWRvdyBkZWZpbml0aW9ucyBjYW4gYmUgYWRkZWQgaGVyZTpcbi8vICRzbTogMCAxcHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjA1KTtcbi8vICRsZzogMCAxMHB4IDE1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgNHB4IDZweCAtNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbi8vICR4bDogMCAyMHB4IDI1cHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgOHB4IDEwcHggLTZweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4vLyAkMnhsOiAwIDI1cHggNTBweCAtMTJweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuLy8gJGlubmVyOiBpbnNldCAwIDJweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuLy8gJG5vbmU6IG5vbmU7XG5cbi8vIE1peGluIGZvciBlYXN5IGFwcGxpY2F0aW9uXG4vLyBVc2FnZTogQGluY2x1ZGUgc2hhZG93cy5hcHBseSgnbWQnKSBvciBAaW5jbHVkZSBzaGFkb3dzLmFwcGx5KCdkZWZhdWx0JylcbkBtaXhpbiBhcHBseSgkc2l6ZTogJ2RlZmF1bHQnKSB7XG4gICAgQGlmICRzaXplID09ICdtZCcge1xuICAgICAgICBib3gtc2hhZG93OiAkbWQ7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRkZWZhdWx0O1xuICAgIH1cblxuICAgIC8vIEZ1dHVyZSBzaXplIG9wdGlvbnMgY2FuIGJlIGFkZGVkIGhlcmU6XG4gICAgLy8gQGVsc2UgaWYgJHNpemUgPT0gJ3NtJyB7XG4gICAgLy8gICAgIGJveC1zaGFkb3c6ICRzbTtcbiAgICAvLyB9IEBlbHNlIGlmICRzaXplID09ICdsZycge1xuICAgIC8vICAgICBib3gtc2hhZG93OiAkbGc7XG4gICAgLy8gfSBAZWxzZSBpZiAkc2l6ZSA9PSAneGwnIHtcbiAgICAvLyAgICAgYm94LXNoYWRvdzogJHhsO1xuICAgIC8vIH0gQGVsc2UgaWYgJHNpemUgPT0gJzJ4bCcge1xuICAgIC8vICAgICBib3gtc2hhZG93OiAkMnhsO1xuICAgIC8vIH0gQGVsc2UgaWYgJHNpemUgPT0gJ2lubmVyJyB7XG4gICAgLy8gICAgIGJveC1zaGFkb3c6ICRpbm5lcjtcbiAgICAvLyB9IEBlbHNlIGlmICRzaXplID09ICdub25lJyB7XG4gICAgLy8gICAgIGJveC1zaGFkb3c6ICRub25lO1xuICAgIC8vIH1cbn1cblxuXG4uc2hhZG93LW1kIHtcbiAgICBAaW5jbHVkZSBhcHBseSgnbWQnKTtcbn1cbiIsIi8vIGFzc2V0cy9zY3NzL2NvbnRlbnQtYmxvY2tzL2NiX3Rlc3RpbW9uaWFscy5zY3NzXG5AdXNlICcuLi9nbG9iYWwvYnJlYWtwb2ludHMnIGFzIGJwO1xuQHVzZSAnLi4vZ2xvYmFsL2NvbG9ycycgYXMgY29sb3JzO1xuQHVzZSAnLi4vZ2xvYmFsL3NoYWRvd3MnIGFzIHNoYWRvd3M7XG5AdXNlICcuLi9nbG9iYWwvZm9udHMnIGFzICo7XG5AdXNlIFwic2Fzczpjb2xvclwiO1xuXG5cbi8vIEJsb2NrIG5hbWUgZm9yIEJFTSBtZXRob2RvbG9neVxuJGJsb2NrOiAnY2UtaWdlbGJfdGVzdGltb25pYWxzbGlkZXInO1xuXG4vLyBDb25maWd1cmF0aW9uXG4vLyBDb2xvcnMgLSB1c2luZyBDU1MgdmFyaWFibGVzIHRvIHJlc3BlY3Qgc2l0ZS1zcGVjaWZpYyB0aGVtZXNcbiR0ZXN0aW1vbmlhbC1wcmltYXJ5LWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LCBjb2xvcnMuJGNvbG9yLWpmZS1saWdodGJsdWUpO1xuJHRlc3RpbW9uaWFsLXNlY29uZGFyeS1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5LCBjb2xvcnMuJGNvbG9yLWpmZS15ZWxsb3cpO1xuJHRlc3RpbW9uaWFsLXRleHQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrLCBjb2xvcnMuJGNvbG9yLWJsYWNrKTtcbiR0ZXN0aW1vbmlhbC1iZy1jb2xvcjogdmFyKC0tY29sb3ItamZlLWdyYXksIGNvbG9ycy4kY29sb3ItamZlLWdyYXkpO1xuJHRlc3RpbW9uaWFsLWJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItamZlLWdyYXktbWVkaXVtLCBjb2xvcnMuJGNvbG9yLWpmZS1ncmF5LW1lZGl1bSk7XG4kdGVzdGltb25pYWwtYWNjZW50LWNvbG9yOiB2YXIoLS1jb2xvci1qZmUteWVsbG93LCBjb2xvcnMuJGNvbG9yLWpmZS15ZWxsb3cpO1xuJHRlc3RpbW9uaWFsLWFjY2VudC1ob3ZlcjogdmFyKC0tY29sb3ItamZlLXllbGxvdy1ob3ZlciwgY29sb3JzLiRjb2xvci1qZmUteWVsbG93LWhvdmVyKTtcblxuLy8gVHlwb2dyYXBoeVxuJHRlc3RpbW9uaWFsLWZvbnQtZmFtaWx5LS1xdW90ZTogJGZvbnQtZmFtaWx5LXNlY29uZGFyeTsgLy8gIFF1b3RlIFN0eWxlXG4kdGVzdGltb25pYWwtZm9udC1mYW1pbHktLW5hbWU6ICRmb250LWZhbWlseS1zZWNvbmRhcnk7IC8vIE5hbWUgU3R5bGVcblxuJHRlc3RpbW9uaWFsLWZvbnQtd2VpZ2h0OiA3MDA7XG5cbiR0ZXN0aW1vbmlhbC10ZXh0LWZvbnQtc2l6ZTogY2xhbXAoMXJlbSwgMXZ3ICsgMC44cmVtLCAxLjI1cmVtKTtcbiR0ZXN0aW1vbmlhbC10ZXh0LWxpbmUtaGVpZ2h0OiAxLjU7XG4kdGVzdGltb25pYWwtbmFtZS1mb250LXNpemU6IDEuMTI1cmVtO1xuJHRlc3RpbW9uaWFsLWNhdGVnb3J5LWZvbnQtc2l6ZTogMS4yNXJlbTtcbiR0ZXN0aW1vbmlhbC1xdW90ZS1mb250LXNpemU6IDRyZW07XG5cblxuLy8gU3BhY2luZyBhbmQgc2l6ZXNcbiR0ZXN0aW1vbmlhbC1zcGFjaW5nLXg6IDEuNXJlbTtcbiR0ZXN0aW1vbmlhbC1zcGFjaW5nLXgtLWxnOiAyLjVyZW07IC8vIEluY3JlYXNlZCBzcGFjaW5nIGZvciBsYXJnZXIgc2NyZWVuc1xuJHRlc3RpbW9uaWFsLXNwYWNpbmcteTogNHJlbTtcbiR0ZXN0aW1vbmlhbC1zcGFjaW5nLXQ6ICR0ZXN0aW1vbmlhbC1zcGFjaW5nLXk7XG4kdGVzdGltb25pYWwtc3BhY2luZy1iOiAycmVtO1xuJHRlc3RpbW9uaWFsLWJvcmRlci1yYWRpdXM6IDA7IC8vIEZsYXQgZGVzaWduIGFjY29yZGluZyB0byBjb3Jwb3JhdGUgaWRlbnRpdHlcbiR0ZXN0aW1vbmlhbC1ib3JkZXItd2lkdGg6IDA7XG4kdGVzdGltb25pYWwtaW1hZ2Utc2l6ZTogMTI4cHg7XG4kdGVzdGltb25pYWwtbmF2aWdhdGlvbi1zaXplOiAzLjVyZW07XG4kdGVzdGltb25pYWwtYXJyb3ctc2l6ZTogMi41cmVtO1xuJHRlc3RpbW9uaWFsLW1hcmdpbi1ib3R0b206IDJyZW07XG4kdGVzdGltb25pYWwtaWNvbi1vZmZzZXQtdG9wOiAtMjRweDtcbiR0ZXN0aW1vbmlhbC1pY29uLW9mZnNldC1sZWZ0OiAzMnB4O1xuJHRlc3RpbW9uaWFsLWZpZ3VyZS1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJHRlc3RpbW9uaWFsLXRleHQtbWFyZ2luLWJvdHRvbTogMDtcbiR0ZXN0aW1vbmlhbC1nYXA6IDFyZW07XG4kdGVzdGltb25pYWwtZ2FwLWxnOiAzcmVtO1xuXG4vLyBTVkcgQmFja2dyb3VuZCBzZXR0aW5nc1xuJHRlc3RpbW9uaWFsLWJnLXRvcC1wb3NpdGlvbjogNDBweDtcbiR0ZXN0aW1vbmlhbC1iZy1sZWZ0LXBvc2l0aW9uOiA0MHB4O1xuJHRlc3RpbW9uaWFsLWJnLWxpbmUtd2lkdGg6IDE2cHg7XG4kdGVzdGltb25pYWwtYmctcGFkZGluZy1sZWZ0OiAzMHB4O1xuJHRlc3RpbW9uaWFsLWJnLXBhZGRpbmctdG9wOiA0MHB4O1xuJHRlc3RpbW9uaWFsLWJnLW9mZnNldC1sZWZ0OiA2MHB4O1xuJHRlc3RpbW9uaWFsLWJnLW9mZnNldC10b3A6IDYwcHg7XG4kdGVzdGltb25pYWwtYmctb2Zmc2V0LWJvdHRvbTogMDtcblxuLy8gU2hhZG93cyBhbmQgZWZmZWN0c1xuJHRlc3RpbW9uaWFsLWJveC1zaGFkb3c6IHNoYWRvd3MuJGRlZmF1bHQ7XG4kdGVzdGltb25pYWwtYm94LXNoYWRvdy0tbmF2aWdhdGlvbjogc2hhZG93cy4kZGVmYXVsdDtcbiR0ZXN0aW1vbmlhbC1pbmFjdGl2ZS1vcGFjaXR5OiAwLjY7XG4kdGVzdGltb25pYWwtaW5hY3RpdmUtb3BhY2l0eS1tZDogMC4zO1xuXG4vLyBOYXZpZ2F0aW9uIHNldHRpbmdzXG4kdGVzdGltb25pYWwtYnV0dG9uLXRvcC1wb3NpdGlvbjogMzBweDtcbiR0ZXN0aW1vbmlhbC1idXR0b24tcHJldi1wb3NpdGlvbjogY2FsYygxMDAlIC0gMTU0cHgpO1xuJHRlc3RpbW9uaWFsLXBhZ2luYXRpb24tcG9zaXRpb24tYm90dG9tOiA4cHg7XG4kdGVzdGltb25pYWwtcGFnaW5hdGlvbi1wb3NpdGlvbi1sZWZ0OiA4cHg7XG4kdGVzdGltb25pYWwtcGFnaW5hdGlvbi1mb250LXNpemU6IDAuODc1cmVtO1xuXG4vLyBBbmltYXRpb25cbiR0ZXN0aW1vbmlhbC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuJHRlc3RpbW9uaWFsLXRyYW5zaXRpb24tZWFzaW5nOiBlYXNlO1xuJHRlc3RpbW9uaWFsLWhvdmVyLXNjYWxlOiAxLjA1O1xuXG4kdGVzdGltb25pYWwtcHJvZmlsLXdpZHRoOiAyNGNoO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGVzdGltb25pYWwgU2xpZGVyIFN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQ29udGFpbmVyIGZvciB0aGUgc2xpZGVyXG4uI3skYmxvY2t9IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcblxuICAmX193cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMS4yNXJlbSAwIDAgMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLy8gRm9jdXMgc3R5bGUgZm9yIHRoZSBzbGlkZXIgKGZvciBrZXlib2FyZCBuYXZpZ2F0aW9uKVxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiAycHggc29saWQgJHRlc3RpbW9uaWFsLXByaW1hcnktY29sb3I7XG4gICAgICBvdXRsaW5lLW9mZnNldDogNHB4O1xuICAgIH1cblxuICAgIC8vIExvYWRpbmcgYW5pbWF0aW9uIChpZiBTd2lwZXIgaXMgbm90IHlldCBpbml0aWFsaXplZClcbiAgICAmLmlzLWxvYWRpbmcge1xuICAgICAgbWluLWhlaWdodDogMjAwcHg7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICR0ZXN0aW1vbmlhbC1ib3JkZXItY29sb3I7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICR0ZXN0aW1vbmlhbC1wcmltYXJ5LWNvbG9yO1xuICAgICAgICBhbmltYXRpb246IHNwaW5uZXIgMXMgbGluZWFyIGluZmluaXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLXNpbmdsZSB7XG4gICAgICBwYWRkaW5nOiAycmVtIDAgMCAwO1xuICAgIH1cblxuICAgIC8vIEtleWZyYW1lcyBmb3IgbG9hZGluZyBpbmRpY2F0b3JcbiAgICBAa2V5ZnJhbWVzIHNwaW5uZXIge1xuICAgICAgdG8ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoMzYwZGVnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTaW5nbGUgdGVzdGltb25pYWwgaXRlbVxuICAmX19pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMnB4IDQwcHggNDBweCAycHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwO1xuICB9XG5cbiAgJl9faWNvbi0tcXVvdGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICR0ZXN0aW1vbmlhbC1pY29uLW9mZnNldC10b3A7XG4gICAgbGVmdDogJHRlc3RpbW9uaWFsLWljb24tb2Zmc2V0LWxlZnQ7XG4gICAgZm9udC1zaXplOiAkdGVzdGltb25pYWwtcXVvdGUtZm9udC1zaXplO1xuICB9XG5cbiAgJl9faW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogJHRlc3RpbW9uaWFsLWdhcDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGVzdGltb25pYWwtYmctY29sb3I7XG4gICAgcGFkZGluZzogJHRlc3RpbW9uaWFsLXNwYWNpbmcteSAkdGVzdGltb25pYWwtc3BhY2luZy14O1xuICAgIGJvcmRlci1yYWRpdXM6ICR0ZXN0aW1vbmlhbC1ib3JkZXItcmFkaXVzO1xuICAgIGJvcmRlcjogJHRlc3RpbW9uaWFsLWJvcmRlci13aWR0aCBzb2xpZCAkdGVzdGltb25pYWwtYm9yZGVyLWNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICR0ZXN0aW1vbmlhbC1ib3gtc2hhZG93O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdGVzdGltb25pYWwtdHJhbnNpdGlvbi1kdXJhdGlvbiAkdGVzdGltb25pYWwtdHJhbnNpdGlvbi1lYXNpbmc7XG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCdsZycpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIHBhZGRpbmc6ICR0ZXN0aW1vbmlhbC1zcGFjaW5nLXQgMCAkdGVzdGltb25pYWwtc3BhY2luZy1iICR0ZXN0aW1vbmlhbC1zcGFjaW5nLXgtLWxnO1xuICAgICAgZ2FwOiAkdGVzdGltb25pYWwtZ2FwLWxnO1xuXG4gICAgICAmLS1uby1pbWFnZSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogJHRlc3RpbW9uaWFsLWdhcDtcbiAgICAgICAgcGFkZGluZzogJHRlc3RpbW9uaWFsLXNwYWNpbmctdCAkdGVzdGltb25pYWwtc3BhY2luZy14LS1sZyAkdGVzdGltb25pYWwtc3BhY2luZy1iICR0ZXN0aW1vbmlhbC1zcGFjaW5nLXgtLWxnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2JhY2tncm91bmQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgcGFkZGluZy1sZWZ0OiAkdGVzdGltb25pYWwtYmctcGFkZGluZy1sZWZ0O1xuICAgIHBhZGRpbmctdG9wOiAkdGVzdGltb25pYWwtYmctcGFkZGluZy10b3A7XG5cbiAgICAuI3skYmxvY2t9X19iZyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgZmlsbDogJHRlc3RpbW9uaWFsLXNlY29uZGFyeS1jb2xvcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICAmLS10b3Age1xuICAgICAgICB0b3A6ICR0ZXN0aW1vbmlhbC1iZy10b3AtcG9zaXRpb247XG4gICAgICAgIGxlZnQ6ICR0ZXN0aW1vbmlhbC1iZy1sZWZ0LXBvc2l0aW9uO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gJHRlc3RpbW9uaWFsLWJnLWxlZnQtcG9zaXRpb24pO1xuICAgICAgICBoZWlnaHQ6ICR0ZXN0aW1vbmlhbC1iZy1saW5lLXdpZHRoO1xuICAgICAgfVxuXG4gICAgICAmLS1ib3R0b20ge1xuICAgICAgICBib3R0b206ICR0ZXN0aW1vbmlhbC1iZy1vZmZzZXQtYm90dG9tO1xuICAgICAgICBsZWZ0OiAkdGVzdGltb25pYWwtYmctb2Zmc2V0LWxlZnQ7XG4gICAgICAgIGhlaWdodDogJHRlc3RpbW9uaWFsLWJnLWxpbmUtd2lkdGg7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2NHB4KTtcbiAgICAgIH1cblxuICAgICAgJi0tbGVmdCB7XG4gICAgICAgIGxlZnQ6ICR0ZXN0aW1vbmlhbC1iZy1sZWZ0LXBvc2l0aW9uO1xuICAgICAgICB0b3A6ICR0ZXN0aW1vbmlhbC1iZy10b3AtcG9zaXRpb247XG4gICAgICAgIHdpZHRoOiAkdGVzdGltb25pYWwtYmctbGluZS13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAkdGVzdGltb25pYWwtYmctdG9wLXBvc2l0aW9uKTtcbiAgICAgIH1cblxuICAgICAgJi0tcmlnaHQge1xuICAgICAgICB0b3A6ICR0ZXN0aW1vbmlhbC1iZy1vZmZzZXQtdG9wO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6ICR0ZXN0aW1vbmlhbC1iZy1saW5lLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDcycHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFRlc3RpbW9uaWFsIHRleHRcbiAgJl9fdGV4dCB7XG4gICAgZm9udC1zaXplOiAkdGVzdGltb25pYWwtdGV4dC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICR0ZXN0aW1vbmlhbC10ZXh0LWxpbmUtaGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206ICR0ZXN0aW1vbmlhbC10ZXh0LW1hcmdpbi1ib3R0b207XG4gICAgZmxleC1ncm93OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXdlaWdodDogJHRlc3RpbW9uaWFsLWZvbnQtd2VpZ2h0O1xuICAgIGZvbnQtZmFtaWx5OiAkdGVzdGltb25pYWwtZm9udC1mYW1pbHktLXF1b3RlO1xuICAgIGNvbG9yOiAkdGVzdGltb25pYWwtdGV4dC1jb2xvcjtcbiAgfVxuXG4gICZfX2F1dGhvciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG5cbiAgLy8gTmFtZSBvZiB0aGUgdGVzdGltb25pYWwgc291cmNlXG4gICZfX25hbWUge1xuICAgIGZvbnQtd2VpZ2h0OiAkdGVzdGltb25pYWwtZm9udC13ZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkdGVzdGltb25pYWwtbmFtZS1mb250LXNpemU7XG4gICAgZm9udC1mYW1pbHk6ICR0ZXN0aW1vbmlhbC1mb250LWZhbWlseS0tbmFtZTtcbiAgICBjb2xvcjogJHRlc3RpbW9uaWFsLXRleHQtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAkdGVzdGltb25pYWwtcHJvZmlsLXdpZHRoO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBAaW5jbHVkZSBicC5icmVha3BvaW50LWRvd24oJ3NtJykge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIH1cbiAgfVxuXG4gIC8vIENhdGVnb3J5L3Byb2dyYW0gdGFnXG4gICZfX2NhdGVnb3J5IHtcbiAgICBmb250LXNpemU6ICR0ZXN0aW1vbmlhbC1jYXRlZ29yeS1mb250LXNpemU7XG4gICAgY29sb3I6ICR0ZXN0aW1vbmlhbC10ZXh0LWNvbG9yO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjI1cmVtO1xuICAgIHdpZHRoOiAkdGVzdGltb25pYWwtcHJvZmlsLXdpZHRoO1xuICB9XG5cbiAgJl9fcGljdHVyZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHRlc3RpbW9uaWFsLWZpZ3VyZS1tYXJnaW4tYm90dG9tO1xuICB9XG5cbiAgLy8gSW1hZ2UgY29udGFpbmVyXG4gICZfX2ltYWdlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLy8gSW1hZ2UgaXRzZWxmXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgLy8gQ2lyY3VsYXIgaW1hZ2VcbiAgICAgIHdpZHRoOiAkdGVzdGltb25pYWwtaW1hZ2Utc2l6ZTtcbiAgICAgIGhlaWdodDogJHRlc3RpbW9uaWFsLWltYWdlLXNpemU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLy8gTmF2aWdhdGlvbiBhcnJvd3MgLSBjdXN0b20gc3R5bGluZ1xuICAmX19idXR0b24ge1xuICAgIC8vIEhpZGUgYXJyb3dzIG9uIG1vYmlsZSwgc2hvdyBmcm9tIG1kIGJyZWFrcG9pbnRcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm94LXNoYWRvdzogJHRlc3RpbW9uaWFsLWJveC1zaGFkb3ctLW5hdmlnYXRpb247XG4gICAgdG9wOiAkdGVzdGltb25pYWwtYnV0dG9uLXRvcC1wb3NpdGlvbjtcblxuICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ21kJykge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICB9XG5cbiAgICAmLS1wcmV2IHtcbiAgICAgIGxlZnQ6ICR0ZXN0aW1vbmlhbC1idXR0b24tcHJldi1wb3NpdGlvbjtcbiAgICB9XG5cbiAgICAvLyBDb21tb24gc3R5bGVzIGZvciBib3RoIGJ1dHRvbnNcbiAgICAmLS1wcmV2LFxuICAgICYtLW5leHQge1xuICAgICAgd2lkdGg6ICR0ZXN0aW1vbmlhbC1uYXZpZ2F0aW9uLXNpemU7XG4gICAgICBoZWlnaHQ6ICR0ZXN0aW1vbmlhbC1uYXZpZ2F0aW9uLXNpemU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGVzdGltb25pYWwtYWNjZW50LWNvbG9yO1xuICAgICAgYm9yZGVyLXJhZGl1czogJHRlc3RpbW9uaWFsLWJvcmRlci1yYWRpdXM7XG4gICAgICBjb2xvcjogJHRlc3RpbW9uaWFsLXRleHQtY29sb3I7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0ZXN0aW1vbmlhbC10cmFuc2l0aW9uLWR1cmF0aW9uICR0ZXN0aW1vbmlhbC10cmFuc2l0aW9uLWVhc2luZyxcbiAgICAgICAgdHJhbnNmb3JtICR0ZXN0aW1vbmlhbC10cmFuc2l0aW9uLWR1cmF0aW9uICR0ZXN0aW1vbmlhbC10cmFuc2l0aW9uLWVhc2luZztcblxuICAgICAgLy8gRm9jdXMgYW5kIGhvdmVyIGVmZmVjdHNcbiAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAkdGVzdGltb25pYWwtcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0ZXN0aW1vbmlhbC1hY2NlbnQtaG92ZXI7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJHRlc3RpbW9uaWFsLWhvdmVyLXNjYWxlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGkge1xuICAgICAgZm9udC1zaXplOiAkdGVzdGltb25pYWwtYXJyb3ctc2l6ZTtcbiAgICAgIGNvbG9yOiAkdGVzdGltb25pYWwtdGV4dC1jb2xvcjtcbiAgICB9XG4gICAgJi5zd2lwZXItYnV0dG9uLWxvY2sge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJ1bGxldCBwYWdpbmF0aW9uIC0gc2hvd24gb24gbW9iaWxlIGJlbG93IHNsaWRlclxuICAmX19wYWdpbmF0aW9uLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLy8gSGlkZSBieSBkZWZhdWx0IHVudGlsIGluaXRpYWxpemVkIHRvIHByZXZlbnQgZW1wdHkgc3BhY2UvbGF5b3V0IHNoaWZ0XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDAuNXJlbTtcbiAgICBwYWRkaW5nOiAxcmVtIDA7XG4gICAgei1pbmRleDogMTA7XG4gIH1cblxuICAvLyBTaG93IGJ1bGxldCBwYWdpbmF0aW9uIG9ubHkgd2hlbiBpbml0aWFsaXplZCBhbmQgb24gbW9iaWxlXG4gICZfX3dyYXBwZXIuaXMtaW5pdGlhbGl6ZWQgJl9fcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIC8vIEhpZGUgYnVsbGV0IHBhZ2luYXRpb24gb24gbGFyZ2VyIHNjcmVlbnMgKGFycm93cyArIGZyYWN0aW9uIGFyZSB1c2VkIGluc3RlYWQpXG4gICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludCgnbWQnKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZyYWN0aW9uIHBhZ2luYXRpb24gLSBzaG93biBvbiBkZXNrdG9wIGluIGJvdHRvbSBsZWZ0IGNvcm5lclxuICAvLyBIaWRkZW4gYnkgZGVmYXVsdCB1bnRpbCBKUyBwb3B1bGF0ZXMgaXRcbiAgJl9fcGFnaW5hdGlvbi1mcmFjdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAkdGVzdGltb25pYWwtcGFnaW5hdGlvbi1wb3NpdGlvbi1ib3R0b207XG4gICAgbGVmdDogJHRlc3RpbW9uaWFsLXBhZ2luYXRpb24tcG9zaXRpb24tbGVmdDtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBjb2xvcjogJHRlc3RpbW9uaWFsLXRleHQtY29sb3I7XG4gICAgZm9udC1zaXplOiAkdGVzdGltb25pYWwtcGFnaW5hdGlvbi1mb250LXNpemU7XG4gICAgei1pbmRleDogMTA7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3JzLiRjb2xvci13aGl0ZTtcbiAgICBwYWRkaW5nOiAycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICB9XG5cbiAgLy8gU2hvdyBmcmFjdGlvbiBwYWdpbmF0aW9uIG9ubHkgd2hlbiBpbml0aWFsaXplZCBhbmQgb24gbGFyZ2VyIHNjcmVlbnNcbiAgJl9fd3JhcHBlci5pcy1pbml0aWFsaXplZCAmX19wYWdpbmF0aW9uLWZyYWN0aW9uIHtcbiAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCdtZCcpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC8vIEluZGl2aWR1YWwgYnVsbGV0IHN0eWxpbmcgKFN3aXBlciBkZWZhdWx0IGNsYXNzZXMpXG4gIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIGhlaWdodDogMTRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGVzdGltb25pYWwtYm9yZGVyLWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0ZXN0aW1vbmlhbC10cmFuc2l0aW9uLWR1cmF0aW9uICR0ZXN0aW1vbmlhbC10cmFuc2l0aW9uLWVhc2luZztcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRlc3RpbW9uaWFsLXRleHQtY29sb3I7XG4gICAgfVxuXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAkdGVzdGltb25pYWwtcHJpbWFyeS1jb2xvcjtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gICAgfVxuXG4gICAgJi1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRlc3RpbW9uaWFsLXRleHQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gU3dpcGVyIGJhc2ljIHN0eWxlc1xuICAuc3dpcGVyIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICYtd3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludCgneGwnKSB7XG4gICAgICAgLy8gQWxpZ24gc2xpZGVzIHRvIHN0cmV0Y2ggdG8gZXF1YWwgaGVpZ2h0IGF0IFhMXG4gICAgICAgLy8gSW1wb3J0YW50IE5vdGU6IGtub3duIGlzc3VlIHdpdGggU3dpcGVyIGF1dG9IZWlnaHQgKGluIHhsIGJyZWFrcG9pbnQgb25seSk6XG4gICAgICAgLy8gRG9lc24ndCBjYWxjdWxhdGUgaGVpZ2h0IGNvcnJlY3RseSBpZiBicm93c2VyIHdpbmRvdyBpcyByZXNpemVkXG4gICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1zbGlkZSB7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRlc3RpbW9uaWFsLXRyYW5zaXRpb24tZHVyYXRpb24gJHRlc3RpbW9uaWFsLXRyYW5zaXRpb24tZWFzaW5nO1xuXG4gICAgICAmOm5vdCguc3dpcGVyLXNsaWRlLWFjdGl2ZSkge1xuICAgICAgICBvcGFjaXR5OiAkdGVzdGltb25pYWwtaW5hY3RpdmUtb3BhY2l0eTtcblxuICAgICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCdtZCcpIHtcbiAgICAgICAgICBvcGFjaXR5OiAkdGVzdGltb25pYWwtaW5hY3RpdmUtb3BhY2l0eS1tZDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCd4bCcpIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEFEREVEOiBFbnN1cmUgc2xpZGVzIHN0cmV0Y2ggdG8gZXF1YWwgaGVpZ2h0IGF0IFhMXG4gICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCd4bCcpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgICAgICAgLiN7JGJsb2NrfV9faXRlbSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyRibG9ja31fX2lubmVyIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNpbmdsZSB0ZXN0aW1vbmlhbCBkaXNwbGF5IChub3QgaW4gc2xpZGVyKVxuICAuI3skYmxvY2t9LXNpbmdsZSB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAuI3skYmxvY2t9X19pdGVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6ICR0ZXN0aW1vbmlhbC1ib3gtc2hhZG93O1xuICAgIH1cblxuICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIGFzc2V0cy9zY3NzL2dsb2JhbC9fZm9udHMuc2Nzc1xuXG4vKiBhbGVvLTYwMCAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgZm9udC1mYW1pbHk6ICdBbGVvJztcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBzcmM6IHVybCgnLi4vLi4vZm9udHMvYWxlby82MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gICAgLyogQ2hyb21lIDM2KywgT3BlcmEgMjMrLCBGaXJlZm94IDM5KywgU2FmYXJpIDEyKywgaU9TIDEwKyAqL1xufVxuXG4vKiByb29uZXkgNjAwIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBmb250LWZhbWlseTogJ1Jvb25leSc7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgc3JjOiB1cmwoJy4uLy4uL2ZvbnRzL3Jvb25leS82MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gICAgLyogQ2hyb21lIDM2KywgT3BlcmEgMjMrLCBGaXJlZm94IDM5KywgU2FmYXJpIDEyKywgaU9TIDEwKyAqL1xufVxuXG4vKiBjYWxpYnJpIGZvbnQgZmFtaWx5ICovXG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBmb250LWZhbWlseTogJ0NhbGlicmknO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIHNyYzogdXJsKCcuLi8uLi9mb250cy9jYWxpYnJpLzMwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgICAvKiBDaHJvbWUgMzYrLCBPcGVyYSAyMyssIEZpcmVmb3ggMzkrLCBTYWZhcmkgMTIrLCBpT1MgMTArICovXG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBmb250LWZhbWlseTogJ0NhbGlicmknO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIHNyYzogdXJsKCcuLi8uLi9mb250cy9jYWxpYnJpLzMwMGkud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gICAgLyogQ2hyb21lIDM2KywgT3BlcmEgMjMrLCBGaXJlZm94IDM5KywgU2FmYXJpIDEyKywgaU9TIDEwKyAqL1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgZm9udC1mYW1pbHk6ICdDYWxpYnJpJztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBzcmM6IHVybCgnLi4vLi4vZm9udHMvY2FsaWJyaS80MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gICAgLyogQ2hyb21lIDM2KywgT3BlcmEgMjMrLCBGaXJlZm94IDM5KywgU2FmYXJpIDEyKywgaU9TIDEwKyAqL1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgZm9udC1mYW1pbHk6ICdDYWxpYnJpJztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBzcmM6IHVybCgnLi4vLi4vZm9udHMvY2FsaWJyaS80MDBpLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICAgIC8qIENocm9tZSAzNissIE9wZXJhIDIzKywgRmlyZWZveCAzOSssIFNhZmFyaSAxMissIGlPUyAxMCsgKi9cbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIGZvbnQtZmFtaWx5OiAnQ2FsaWJyaSc7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgc3JjOiB1cmwoJy4uLy4uL2ZvbnRzL2NhbGlicmkvNzAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICAgIC8qIENocm9tZSAzNissIE9wZXJhIDIzKywgRmlyZWZveCAzOSssIFNhZmFyaSAxMissIGlPUyAxMCsgKi9cbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIGZvbnQtZmFtaWx5OiAnQ2FsaWJyaSc7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgc3JjOiB1cmwoJy4uLy4uL2ZvbnRzL2NhbGlicmkvNzAwaS53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgICAvKiBDaHJvbWUgMzYrLCBPcGVyYSAyMyssIEZpcmVmb3ggMzkrLCBTYWZhcmkgMTIrLCBpT1MgMTArICovXG59XG5cblxuLyoqXG4gKiBGb250IGZhbWlseSBkZWZpbml0aW9ucyBmb3IgY29uc2lzdGVudCB1c2FnZSBhY3Jvc3MgdGhlIHByb2plY3RcbiAqIFRoZXNlIHZhcmlhYmxlcyBjYW4gYmUgdXNlZCBpbiBhbnkgZmlsZSB0aGF0IGltcG9ydHMgdGhpcyBtb2R1bGVcbiAqL1xuXG5cbi8vIEZvbnQgZmFtaWxpZXNcbiRmb250LWZhbWlseS1wcmltYXJ5OiAnUm9vbmV5Jywgc2VyaWYgIWRlZmF1bHQ7IC8vIERlZmF1bHQgaGVhZGxpbmVcbiRmb250LWZhbWlseS1zZWNvbmRhcnk6ICdDYWxpYnJpJywgc2Fucy1zZXJpZiAhZGVmYXVsdDsgLy8gQm9keXRleHRcbiRmb250LWZhbWlseS1mYWxsYmFjazogJ0FsZW8nLCBzZXJpZiAhZGVmYXVsdDsgLy8gRmFsbGJhY2sgaGVhZGxpbmVcblxuLy8gU2VtYW50aWMgZm9udCBmYW1pbGllc1xuJGZvbnQtZmFtaWx5LXNlcmlmOiAkZm9udC1mYW1pbHktcHJpbWFyeSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAkZm9udC1mYW1pbHktc2Vjb25kYXJ5ICFkZWZhdWx0O1xuXG4vLyBOYXZpZ2F0aW9uIHNwZWNpZmljIGZvbnRzIChpZiBuZWVkZWQpXG4kZm9udC1mYW1pbHktbmF2aWdhdGlvbjogJGZvbnQtZmFtaWx5LXNlY29uZGFyeSAhZGVmYXVsdDtcblxuLy8gQnV0dG9uIHNwZWNpZmljIGZvbnRzIChpZiBuZWVkZWQpXG4kZm9udC1mYW1pbHktYnV0dG9uczogJGZvbnQtZmFtaWx5LXNlY29uZGFyeSAhZGVmYXVsdDtcblxuLmZvbnQtcHJpbWFyeSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1wcmltYXJ5O1xufVxuLmZvbnQtc2Vjb25kYXJ5IHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlY29uZGFyeSwgc2Fucy1zZXJpZjtcbn1cbiIsIi8vIEFVVE8tR0VORVJBVEVEIEZJTEUgZnJvbSBidWlsZC1icmVha3BvaW50cy5qc1xuLy8gRE8gTk9UIEVESVQgRElSRUNUTFlcblxuLy8gSW1wb3J0IFNhc3MgbWFwIG1vZHVsZVxuQHVzZSBcInNhc3M6bWFwXCI7XG5cbi8vIEJyZWFrcG9pbnQgdmFsdWVzXG4kYnJlYWtwb2ludC1zbTogNjQwcHg7XG4kYnJlYWtwb2ludC1tZDogNzY4cHg7XG4kYnJlYWtwb2ludC1sZzogMTAyNHB4O1xuJGJyZWFrcG9pbnQteGw6IDEyODBweDtcbiRicmVha3BvaW50LTJ4bDogMTY2NHB4O1xuXG4vLyBNYXAgZm9yIHByb2dyYW1tYXRpYyBhY2Nlc3NcbiRicmVha3BvaW50czogKFxuICAnc20nOiAkYnJlYWtwb2ludC1zbSxcbiAgJ21kJzogJGJyZWFrcG9pbnQtbWQsXG4gICdsZyc6ICRicmVha3BvaW50LWxnLFxuICAneGwnOiAkYnJlYWtwb2ludC14bCxcbiAgJzJ4bCc6ICRicmVha3BvaW50LTJ4bFxuKTtcblxuLy8gTWl4aW4gZm9yIGVhc3kgbWVkaWEgcXVlcmllcyBiYXNlZCBvbiBkZWZpbmVkIGJyZWFrcG9pbnRzXG5AbWl4aW4gYnJlYWtwb2ludCgkcG9pbnQpIHtcbiAgQGlmIG1hcC5oYXMta2V5KCRicmVha3BvaW50cywgJHBvaW50KSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkcG9pbnQpKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiQnJlYWtwb2ludCAnI3skcG9pbnR9JyBpcyBub3QgZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMgbWFwLlwiO1xuICB9XG59XG5cbi8vIE1peGluIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllcyAoc21hbGxlciB0aGFuIGEgYnJlYWtwb2ludClcbkBtaXhpbiBicmVha3BvaW50LWRvd24oJHBvaW50KSB7XG4gIEBpZiBtYXAuaGFzLWtleSgkYnJlYWtwb2ludHMsICRwb2ludCkge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJHBvaW50KSAtIDFweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAd2FybiBcIkJyZWFrcG9pbnQgJyN7JHBvaW50fScgaXMgbm90IGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzIG1hcC5cIjtcbiAgfVxufVxuXG4vLyBNaXhpbiBmb3IgY3JlYXRpbmcgc3R5bGVzIGJldHdlZW4gdHdvIGJyZWFrcG9pbnRzXG5AbWl4aW4gYnJlYWtwb2ludC1iZXR3ZWVuKCRtaW4sICRtYXgpIHtcbiAgQGlmIG1hcC5oYXMta2V5KCRicmVha3BvaW50cywgJG1pbikgYW5kIG1hcC5oYXMta2V5KCRicmVha3BvaW50cywgJG1heCkge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJG1pbikpIGFuZCAobWF4LXdpZHRoOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJG1heCkgLSAxcHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gXCJCcmVha3BvaW50ICcjeyRtaW59JyBvciAnI3skbWF4fScgaXMgbm90IGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzIG1hcC5cIjtcbiAgfVxufVxuIiwiLy8gYXNzZXRzL3Njc3MvX2NvbG9ycy5zY3NzXG5cbi8vIEJhc2UgY29sb3JzIGZyb20gZGVzaWduIGRvY3VtZW50XG4kY29sb3ItamZlLWxpZ2h0Ymx1ZTogIzAwOWRkZjsgICAgICAgICAgLy8gSkZFIGxpZ2h0IGJsdWVcbiRjb2xvci1qZmUteWVsbG93OiAjZmZjYzAwOyAgICAgICAgICAgICAvLyBKRkUgeWVsbG93XG4kY29sb3ItamZlLWFsbW9zdC13aGl0ZTogI2ZhZmFmYTsgICAgICAgIC8vIEpGRSBhbG1vc3Qgd2hpdGUgKGJhY2tncm91bmQgb3B0aW9uKVxuJGNvbG9yLWpmZS1ncmF5OiAjZjNmM2YyOyAgICAgICAgICAgICAgIC8vIEpGRSBncmF5IChiYWNrZ3JvdW5kIG9wdGlvbilcbiRjb2xvci1qZmUtZ3JheS1tZWRpdW06ICNDRkNGQ0Y7ICAgICAgICAvLyBKRkUgbWVkaXVtIGdyYXkgKGZvciBib3JkZXJzIGV0Yy4pXG4kY29sb3ItamZlLWdyYXktZGFyazogcmdiYSgxODksIDE4OSwgMTg5LCAxKTsgLy8gSkZFIGRhcmsgZ3JheSAoZm9yIGRhcmtlciBib3JkZXJzIGV0Yy4pXG4kY29sb3ItamZlLWdyYXktZGFya2VyOnJnYmEoMTA1LCAxMDUsIDEwNSwgMSk7IC8vIEpGRSBkYXJrZXIgZ3JheSAoRm9ybSBkZXNjcmlwdGlvbiB0ZXh0IGV0Yy4pXG4vLyBQcm9ncmFtIHNwZWNpZmljIGNvbG9yc1xuJGNvbG9yLWUtanVnZW5kLWJsdWU6ICMwMDMzOTk7ICAgICAgICAgIC8vIEVyYXNtdXMrIFlvdXRoIGJsdWVcbiRjb2xvci1lc2stbWFnZW50YTogI2U1MDA2YzsgICAgICAgICAgICAvLyBFU0MgbWFnZW50YVxuJGNvbG9yLWUtc3BvcnQtb3JhbmdlOiAjZTM1MzBmOyAgICAgICAgIC8vIEVyYXNtdXMrIFNwb3J0IG9yYW5nZVxuXG4vLyBVdGlsaXR5IGNvbG9yc1xuJGNvbG9yLXdoaXRlOiAjZmZmZmZmOyAgICAgICAgICAgICAgLy8gV2hpdGUgY29sb3IgZm9yIGJhY2tncm91bmRzXG4kY29sb3ItYmxhY2s6ICMwMDAwMDA7ICAgICAgICAgICAgICAvLyBCbGFjayBjb2xvciBmb3IgdGV4dFxuJGNvbG9yLW92ZXJsYXktc206IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiRjb2xvci1vdmVybGF5LW1kOiByZ2JhKDAsIDAsIDAsIDAuNjUpO1xuJGNvbG9yLW92ZXJsYXktbGc6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG5cbi8vIFNlY29uZGFyeSBhbmQgZGVyaXZlZCBjb2xvcnNcbiRjb2xvci1qZmUteWVsbG93LWhvdmVyOiAjRUJCQzAwOyAgICAgICAvLyBIb3ZlciBzdGF0ZSBmb3IgSkZFIHllbGxvd1xuJGNvbG9yLWUtanVnZW5kLWhvdmVyOiAjMDAyYjgwOyAgICAgICAgIC8vIEhvdmVyIHN0YXRlIGZvciBFcmFzbXVzKyBZb3V0aCBibHVlXG4kY29sb3ItZXNrLWhvdmVyOiAjZDAwMDYyOyAgICAgICAgICAgICAgLy8gSG92ZXIgc3RhdGUgZm9yIEVTQyBtYWdlbnRhXG4kY29sb3ItZS1zcG9ydC1ob3ZlcjogI2M5NDkwZDsgICAgICAgICAgLy8gSG92ZXIgc3RhdGUgZm9yIEVyYXNtdXMrIFNwb3J0IG9yYW5nZVxuXG4vLyBFcnJvciBhbmQgd2FybmluZyBjb2xvcnNcbiRjb2xvci1lcnJvcjogI2RmMDAwMDsgICAgICAgICAgICAgICAgLy8gRXJyb3IgY29sb3IgKHJlZClcbiRjb2xvci1lcnJvci1iZzogI2RmMDAwMDFhOyAgICAgICAgICAgICAvLyBFcnJvciBiYWNrZ3JvdW5kIGNvbG9yIChsaWdodCByZWQpXG4kY29sb3Itd2FybmluZzogI2ZmYjMwMDsgICAgICAgICAgICAgIC8vIFdhcm5pbmcgY29sb3IgKHllbGxvdylcbiRjb2xvci13YXJuaW5nLWJnOiAjZmZiMzAwMWE7ICAgICAgICAgIC8vIFdhcm5pbmcgYmFja2dyb3VuZCBjb2xvciAobGlnaHQgeWVsbG93KVxuJGNvbG9yLXN1Y2Nlc3M6ICM5NWRmMDA7ICAgICAgICAgICAgICAvLyBTdWNjZXNzIGNvbG9yIChncmVlbilcbiRjb2xvci1zdWNjZXNzLWJnOiAjOTVkZjAwMWE7ICAgICAgICAgIC8vIFN1Y2Nlc3MgYmFja2dyb3VuZCBjb2xvciAobGlnaHQgZ3JlZW4pXG5cbi8vIENvbnNlbnQgb3ZlcmxheSBjb2xvcnMgKHR3by1jbGljayBzb2x1dGlvbiBmb3IgZXh0ZXJuYWwgY29udGVudClcbiRjb2xvci1jb25zZW50LW92ZXJsYXktYmc6ICMwMDlkZGY7XG4kY29sb3ItY29uc2VudC1vdmVybGF5LXRleHQ6ICNmZmZmZmY7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/