:root {
  --font-family-primary: Rubik, sans-serif;
  --font-family-secondary: sans-serif;
}

/*
Replacement for bootstraps media query include
Usage in file:
    @use "assets/sass/abstracts/custom-breakpoints" as bp;

    @include bp.media-breakpoint-up(lg) {
        // Your styles here
    }
 */
.hero {
  background-color: var(--color-yellow);
  overflow: hidden;
  padding: 0 0.75rem 4rem;
}
.hero .main-title {
  color: var(--color-grey-dark);
  font-size: 2.875rem;
  font-weight: 400;
  line-height: 2rem;
}
.hero .main-title .highlighted-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0.75rem 0 0;
  height: 5rem;
  color: var(--color-grey-dark);
  font-weight: 500;
  position: relative;
  z-index: 1;
  white-space: nowrap;
}
.hero .main-title .highlighted-text:after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: -5vw;
  width: -webkit-calc(100% + 2vw);
  width: calc(100% + 2vw);
  height: 5rem;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='587' height='93' viewBox='0 0 587 93' fill='none'><path d='M14.465 7.84272L587 0.5L566.469 90.3404L0 92.5L14.465 7.84272Z' fill='%23FBD755'/></svg>") no-repeat center/contain;
}
.hero .content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.375rem;
  margin: 1.3125rem 0 0;
}
.hero .content .subtitle {
  color: var(--color-grey-dark);
  font-size: 1.375rem;
  line-height: 1.75rem;
  font-weight: 400;
}
.hero .content .text {
  color: var(--color-grey-dark);
  font-size: 1rem;
  line-height: 1.3125rem;
  font-weight: 400;
}
.hero .button-wrapper {
  margin: 2rem 0 0;
}
.hero .image-col {
  margin-top: 2rem;
}
.hero .image-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 26.1875rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  aspect-ratio: 131/284;
  position: relative;
}
.hero .image-wrapper img {
  position: relative;
  width: 100%;
  height: 100%;
  -o-object-position: center;
     object-position: center;
  -o-object-fit: contain;
     object-fit: contain;
  z-index: 2;
}
.hero .image-wrapper img:hover {
  -webkit-animation: rotateImage 2s ease-in-out 1;
          animation: rotateImage 2s ease-in-out 1;
}
.hero .image-wrapper svg {
  color: var(--color-orange);
  position: absolute;
  height: 100%;
}
.hero .image-wrapper svg rect {
  -webkit-animation: floatRectangles 3s ease-in-out infinite;
          animation: floatRectangles 3s ease-in-out infinite;
}
.hero .image-wrapper svg rect:nth-of-type(1) {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}
.hero .image-wrapper svg rect:nth-of-type(2) {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}
.hero .image-wrapper svg rect:nth-of-type(3) {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
.hero .image-wrapper svg rect:nth-of-type(4) {
  -webkit-animation-delay: 0.9s;
          animation-delay: 0.9s;
}
.hero .image-wrapper svg rect:nth-of-type(5) {
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}
.hero .image-wrapper svg rect:nth-of-type(6) {
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
}
.hero .image-wrapper svg rect:nth-of-type(7) {
  -webkit-animation-delay: 1.8s;
          animation-delay: 1.8s;
}
.hero .image-wrapper svg rect:nth-of-type(8) {
  -webkit-animation-delay: 2.1s;
          animation-delay: 2.1s;
}
.hero .image-wrapper svg rect:nth-of-type(9) {
  -webkit-animation-delay: 2.4s;
          animation-delay: 2.4s;
}
.hero .image-wrapper svg rect:nth-of-type(10) {
  -webkit-animation-delay: 2.7s;
          animation-delay: 2.7s;
}
@-webkit-keyframes rotateImage {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  25% {
    -webkit-transform: rotate(-1deg);
            transform: rotate(-1deg);
  }
  50% {
    -webkit-transform: rotate(1deg);
            transform: rotate(1deg);
  }
  75% {
    -webkit-transform: rotate(-1deg);
            transform: rotate(-1deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
}
@keyframes rotateImage {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  25% {
    -webkit-transform: rotate(-1deg);
            transform: rotate(-1deg);
  }
  50% {
    -webkit-transform: rotate(1deg);
            transform: rotate(1deg);
  }
  75% {
    -webkit-transform: rotate(-1deg);
            transform: rotate(-1deg);
  }
  100% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
}
@-webkit-keyframes floatRectangles {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(7px);
            transform: translateY(7px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes floatRectangles {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  50% {
    -webkit-transform: translateY(7px);
            transform: translateY(7px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.hero .statistics-row {
  margin-top: 3rem;
}
.hero .statistics-row .col-12 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.25rem;
}
.hero .statistics-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.375rem;
  min-height: 9.75rem;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 calc(50% - 1rem);
          flex: 1 1 -webkit-calc(50% - 1rem);
          flex: 1 1 calc(50% - 1rem);
  max-width: -webkit-calc(50% - 1rem);
  max-width: calc(50% - 1rem);
  padding: 2.1875rem 2.25rem;
  border-radius: 3rem;
  background: rgba(255, 255, 255, 0.3);
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
}
.hero .statistics-card:last-child:nth-child(odd) {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 100%;
          flex: 1 1 100%;
  max-width: 100%;
}
.hero .statistics-card .title {
  color: var(--color-grey-dark);
  font-size: 3rem;
  line-height: normal;
  font-weight: 500;
  letter-spacing: -0.125rem;
}
.hero .statistics-card .description {
  color: var(--color-grey-dark);
  font-size: 1.25rem;
  line-height: 1.625rem;
  font-weight: 400;
  text-align: center;
}
@media (min-width: 48rem) {
  .hero {
    padding: 0 0 4rem 0;
  }
  .hero .main-title .highlighted-text:after {
    left: -16vw;
    width: -webkit-calc(100% - 6vw);
    width: calc(100% - 6vw);
    height: 4.875rem;
  }
}
@media (min-width: 62rem) {
  .hero {
    padding: 0 0 4.9375rem 0;
  }
  .hero .content-col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .hero .main-title {
    font-size: 4.625rem;
    line-height: 3.25rem;
  }
  .hero .main-title .highlighted-text {
    margin: 0.75rem 0 0;
    height: 5.8125rem;
  }
  .hero .main-title .highlighted-text:after {
    left: -3.5vw;
    width: -webkit-calc(100% + 10vw);
    width: calc(100% + 10vw);
    height: 5.8125rem;
  }
  .hero .content {
    gap: 1.625rem;
    margin: 1.875rem 0 0;
  }
  .hero .content .subtitle {
    font-size: 2rem;
    line-height: 1.75rem;
  }
  .hero .content .text {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
  .hero .image-col {
    margin-top: unset;
  }
  .hero .image-wrapper {
    height: 39.3125rem;
    aspect-ratio: 131/284;
  }
  .hero .statistics-row {
    margin-top: 1.5rem;
  }
  .hero .statistics-row .col-12 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
  .hero .statistics-card {
    min-height: 13.75rem;
    width: 100%;
    max-width: unset;
    -webkit-box-flex: unset;
        -ms-flex: unset;
            flex: unset;
  }
  .hero .statistics-card:last-child:nth-child(odd) {
    max-width: unset;
    -webkit-box-flex: unset;
        -ms-flex: unset;
            flex: unset;
  }
  .hero .statistics-card .title {
    font-size: 3.75rem;
    letter-spacing: -0.125rem;
  }
  .hero .statistics-card .description {
    font-size: 1.375rem;
    line-height: 1.8125rem;
  }
}
@media (min-width: 75rem) {
  .hero .main-title .highlighted-text:after {
    left: -3.5vw;
    width: -webkit-calc(100% + 7vw);
    width: calc(100% + 7vw);
  }
}
@media (min-width: 90rem) {
  .hero .main-title .highlighted-text:after {
    left: -5.5vw;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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STtFQUxWO0VBUU07SUFDSTtJQUNBO0VBTlY7RUFTTTtJQUNJO0VBUFY7RUFTVTtJQUNJO0lBQUE7SUFBQTtJQUNBO1FBQUE7RUFQZDtFQVdNO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7UUFBQTtZQUFBO0VBVFY7RUFXVTtJQUNJO0lBQ0E7UUFBQTtZQUFBO0VBVGQ7RUFZVTtJQUNJO0lBQ0E7RUFWZDtFQWFVO0lBQ0k7SUFDQTtFQVhkO0FBQ0Y7QUM3UFE7RURrUlE7SUFDSTtJQUNBO0lBQUE7RUFsQmxCO0FBQ0Y7QUNuUVE7RURnU1E7SUFDSTtFQTFCbEI7QUFDRixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Nhc3MvYWJzdHJhY3RzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ibG9ja3MvaGVyby9oZXJvLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Nhc3MvYWJzdHJhY3RzL19jdXN0b20tYnJlYWtwb2ludHMuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIkZm9udC1mYW1pbHktcHJpbWFyeTogXCJSdWJpa1wiLCBzYW5zLXNlcmlmO1xuJGZvbnQtZmFtaWx5LXNlY29uZGFyeTogc2Fucy1zZXJpZjtcblxuOnJvb3Qge1xuICAgIC0tZm9udC1mYW1pbHktcHJpbWFyeTogI3skZm9udC1mYW1pbHktcHJpbWFyeX07XG4gICAgLS1mb250LWZhbWlseS1zZWNvbmRhcnk6ICN7JGZvbnQtZmFtaWx5LXNlY29uZGFyeX07XG59XG5cbi8vIFJGU1xuLy8gJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6IHRydWU7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDA7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6IDJyZW07IC8vIDMycHhcbiRyZnMtYnJlYWtwb2ludDogODUuMzc1cmVtOyAvLyAxMzY2cHhcbiRyZnMtdHdvLWRpbWVuc2lvbmFsOiBmYWxzZTtcblxuLy8gR3JpZFxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgICB4czogMCxcbiAgICBzbTogMzZyZW0sIC8vIDU3NnB4XG4gICAgbWQ6IDQ4cmVtLCAvLyA3NjhweFxuICAgIGxnOiA2MnJlbSwgLy8gOTkycHhcbiAgICB4bDogNzVyZW0sIC8vIDEyMDBweFxuICAgIHh4bDogOTByZW0gLy8gMTQ0MHB4XG4pO1xuXG4vLyBDb250YWluZXJcbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICAgIHNtOiAzNi4yNXJlbSwgLy8gNTgwcHhcbiAgICBtZDogMzguNzVyZW0sIC8vIDYyMHB4XG4gICAgbGc6IDYwcmVtLCAvLyA5NjBweFxuICAgIHhsOiA2NnJlbSAvLyAxMDU2cHhcbik7XG4iLCJAdXNlIFwiQHNhc3MvYWJzdHJhY3RzL2N1c3RvbS1icmVha3BvaW50c1wiIGFzIGJwO1xuQHVzZSBcIkBzYXNzL2Fic3RyYWN0cy9mdW5jdGlvbnNcIiBhcyAqO1xuXG4uaGVybyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3IteWVsbG93KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDAgcHgtdG8tcmVtKDEyKSBweC10by1yZW0oNjQpO1xuXG4gICAgLm1haW4tdGl0bGUge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZ3JleS1kYXJrKTtcbiAgICAgICAgZm9udC1zaXplOiBweC10by1yZW0oNDYpO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogcHgtdG8tcmVtKDMyKTtcblxuICAgICAgICAuaGlnaGxpZ2h0ZWQtdGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogcHgtdG8tcmVtKDEyKSAwIDA7XG4gICAgICAgICAgICBoZWlnaHQ6IHB4LXRvLXJlbSg4MCk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZ3JleS1kYXJrKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IC01dnc7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDJ2dyk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBweC10by1yZW0oODApO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nNTg3JyBoZWlnaHQ9JzkzJyB2aWV3Qm94PScwIDAgNTg3IDkzJyBmaWxsPSdub25lJz48cGF0aCBkPSdNMTQuNDY1IDcuODQyNzJMNTg3IDAuNUw1NjYuNDY5IDkwLjM0MDRMMCA5Mi41TDE0LjQ2NSA3Ljg0MjcyWicgZmlsbD0nJTIzRkJENzU1Jy8+PC9zdmc+XCIpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb250YWluO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHB4LXRvLXJlbSg2KTtcbiAgICAgICAgbWFyZ2luOiBweC10by1yZW0oMjEpIDAgMDtcblxuICAgICAgICAuc3VidGl0bGUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWdyZXktZGFyayk7XG4gICAgICAgICAgICBmb250LXNpemU6IHB4LXRvLXJlbSgyMik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcHgtdG8tcmVtKDI4KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItZ3JleS1kYXJrKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgtdG8tcmVtKDE2KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBweC10by1yZW0oMjEpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24td3JhcHBlciB7XG4gICAgICAgIG1hcmdpbjogcHgtdG8tcmVtKDMyKSAwIDA7XG4gICAgfVxuXG4gICAgLmltYWdlLWNvbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHB4LXRvLXJlbSgzMik7XG4gICAgfVxuXG4gICAgLmltYWdlLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogcHgtdG8tcmVtKDQxOSk7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBhc3BlY3QtcmF0aW86IDEzMS8yODQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IHJvdGF0ZUltYWdlIDJzIGVhc2UtaW4tb3V0IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLW9yYW5nZSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgIHJlY3Qge1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogZmxvYXRSZWN0YW5nbGVzIDNzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDEwIHtcbiAgICAgICAgICAgICAgICByZWN0Om50aC1vZi10eXBlKCN7JGl9KSB7XG4gICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogI3soJGkgLSAxKSAqIDAuM31zO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBrZXlmcmFtZXMgcm90YXRlSW1hZ2Uge1xuXG4gICAgICAgICAgICAwJSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDI1JSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTFkZWcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA1MCUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDFkZWcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA3NSUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xZGVnKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAa2V5ZnJhbWVzIGZsb2F0UmVjdGFuZ2xlcyB7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIDAlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDUwJSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDdweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIDEwMCUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdGF0aXN0aWNzLXJvdyB7XG4gICAgICAgIG1hcmdpbi10b3A6IHB4LXRvLXJlbSg0OCk7XG5cbiAgICAgICAgLmNvbC0xMiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgZ2FwOiBweC10by1yZW0oMjApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0YXRpc3RpY3MtY2FyZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogcHgtdG8tcmVtKDYpO1xuICAgICAgICBtaW4taGVpZ2h0OiBweC10by1yZW0oMTU2KTtcbiAgICAgICAgZmxleDogMSAxIGNhbGMoNTAlIC0gMXJlbSk7XG4gICAgICAgIG1heC13aWR0aDogY2FsYyg1MCUgLSAxcmVtKTtcbiAgICAgICAgcGFkZGluZzogcHgtdG8tcmVtKDM1KSBweC10by1yZW0oMzYpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBweC10by1yZW0oNDgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzApO1xuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMnB4KTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQ6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWdyZXktZGFyayk7XG4gICAgICAgICAgICBmb250LXNpemU6IHB4LXRvLXJlbSg0OCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBweC10by1yZW0oLTIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ncmV5LWRhcmspO1xuICAgICAgICAgICAgZm9udC1zaXplOiBweC10by1yZW0oMjApO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHB4LXRvLXJlbSgyNik7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAubWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBwYWRkaW5nOiAwIDAgcHgtdG8tcmVtKDY0KSAwO1xuXG4gICAgICAgIC5tYWluLXRpdGxlIHtcblxuICAgICAgICAgICAgLmhpZ2hsaWdodGVkLXRleHQge1xuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0xNnZ3O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNnZ3KTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBweC10by1yZW0oNzgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJwLm1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgcGFkZGluZzogMCAwIHB4LXRvLXJlbSg3OSkgMDtcblxuICAgICAgICAuY29udGVudC1jb2wge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYWluLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgtdG8tcmVtKDc0KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBweC10by1yZW0oNTIpO1xuXG4gICAgICAgICAgICAuaGlnaGxpZ2h0ZWQtdGV4dCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiBweC10by1yZW0oMTIpIDAgMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHB4LXRvLXJlbSg5Myk7XG5cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTMuNXZ3O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMTB2dyk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogcHgtdG8tcmVtKDkzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICBnYXA6IHB4LXRvLXJlbSgyNik7XG4gICAgICAgICAgICBtYXJnaW46IHB4LXRvLXJlbSgzMCkgMCAwO1xuXG4gICAgICAgICAgICAuc3VidGl0bGUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgtdG8tcmVtKDMyKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcHgtdG8tcmVtKDI4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcHgtdG8tcmVtKDIwKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcHgtdG8tcmVtKDI4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pbWFnZS1jb2wge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgIH1cblxuICAgICAgICAuaW1hZ2Utd3JhcHBlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IHB4LXRvLXJlbSg2MjkpO1xuICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxMzEvMjg0O1xuICAgICAgICB9XG5cbiAgICAgICAgLnN0YXRpc3RpY3Mtcm93IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHB4LXRvLXJlbSgyNCk7XG5cbiAgICAgICAgICAgIC5jb2wtMTIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3RhdGlzdGljcy1jYXJkIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHB4LXRvLXJlbSgyMjApO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgICAgICAgICAgZmxleDogdW5zZXQ7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZDpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICAgICAgICAgICAgICBmbGV4OiB1bnNldDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHB4LXRvLXJlbSg2MCk7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHB4LXRvLXJlbSgtMik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBweC10by1yZW0oMjIpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBweC10by1yZW0oMjkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAubWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuXG4gICAgICAgIC5tYWluLXRpdGxlIHtcblxuICAgICAgICAgICAgLmhpZ2hsaWdodGVkLXRleHQge1xuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0zLjV2dztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDd2dyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnAubWVkaWEtYnJlYWtwb2ludC11cCh4eGwpIHtcblxuICAgICAgICAubWFpbi10aXRsZSB7XG5cbiAgICAgICAgICAgIC5oaWdobGlnaHRlZC10ZXh0IHtcblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtNS41dnc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcInNhc3M6bGlzdFwiO1xuQHVzZSBcIi4vdmFyaWFibGVzXCIgYXMgdmFycztcblxuLypcblJlcGxhY2VtZW50IGZvciBib290c3RyYXBzIG1lZGlhIHF1ZXJ5IGluY2x1ZGVcblVzYWdlIGluIGZpbGU6XG4gICAgQHVzZSBcImFzc2V0cy9zYXNzL2Fic3RyYWN0cy9jdXN0b20tYnJlYWtwb2ludHNcIiBhcyBicDtcblxuICAgIEBpbmNsdWRlIGJwLm1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgLy8gWW91ciBzdHlsZXMgaGVyZVxuICAgIH1cbiAqL1xuLy8gTG9jYWwgYnJlYWtwb2ludHMgd2l0aCBkZWZhdWx0IGZhbGxiYWNrXG4kY3VzdG9tLWJyZWFrcG9pbnRzOiB2YXJzLiRncmlkLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLyBNaW4td2lkdGggYnJlYWtwb2ludFxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICBAaWYgbWFwLmhhcy1rZXkoJGN1c3RvbS1icmVha3BvaW50cywgJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC5nZXQoJGN1c3RvbS1icmVha3BvaW50cywgJGJyZWFrcG9pbnQpKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgICBAZXJyb3IgXCJVbmtub3duIGJyZWFrcG9pbnQ6ICN7JGJyZWFrcG9pbnR9LiBBdmFpbGFibGUgYnJlYWtwb2ludHM6ICN7bWFwLmtleXMoJGN1c3RvbS1icmVha3BvaW50cyl9XCI7XG4gICAgfVxufVxuXG4vLyBNYXgtd2lkdGggYnJlYWtwb2ludFxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgIEBpZiBtYXAuaGFzLWtleSgkY3VzdG9tLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkge1xuICAgICAgICAkbmV4dC1icmVha3BvaW50OiBfZ2V0LW5leHQtYnJlYWtwb2ludCgkY3VzdG9tLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCk7XG4gICAgICAgIEBpZiAkbmV4dC1icmVha3BvaW50IHtcbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAoJG5leHQtYnJlYWtwb2ludCAtIDAuMDJweCkpIHtcbiAgICAgICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAY29udGVudDsgLy8gTm8gdXBwZXIgbGltaXQgZm9yIGxhcmdlc3QgYnJlYWtwb2ludFxuICAgICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEBlcnJvciBcIlVua25vd24gYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH0uIEF2YWlsYWJsZSBicmVha3BvaW50czogI3ttYXAua2V5cygkY3VzdG9tLWJyZWFrcG9pbnRzKX1cIjtcbiAgICB9XG59XG5cbi8vIEJldHdlZW4gdHdvIGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyKSB7XG4gICAgQGlmIG1hcC5oYXMta2V5KCRjdXN0b20tYnJlYWtwb2ludHMsICRsb3dlcikgYW5kIG1hcC5oYXMta2V5KCRjdXN0b20tYnJlYWtwb2ludHMsICR1cHBlcikge1xuICAgICAgICAkbWluOiBtYXAuZ2V0KCRjdXN0b20tYnJlYWtwb2ludHMsICRsb3dlcik7XG4gICAgICAgICRtYXg6IG1hcC5nZXQoJGN1c3RvbS1icmVha3BvaW50cywgJHVwcGVyKTtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAoJG1heCAtIDAuMDJweCkpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEBlcnJvciBcIkludmFsaWQgYnJlYWtwb2ludCByYW5nZS4gQXZhaWxhYmxlIGJyZWFrcG9pbnRzOiAje21hcC5rZXlzKCRjdXN0b20tYnJlYWtwb2ludHMpfVwiO1xuICAgIH1cbn1cblxuLy8gUHJpdmF0ZSBoZWxwZXIgZnVuY3Rpb25cbkBmdW5jdGlvbiBfZ2V0LW5leHQtYnJlYWtwb2ludCgkbWFwLCAka2V5KSB7XG4gICAgJGtleXM6IG1hcC5rZXlzKCRtYXApO1xuICAgICRpOiBsaXN0LmluZGV4KCRrZXlzLCAka2V5KTtcbiAgICBAcmV0dXJuIGlmKCRpIGFuZCAkaSA8IGxpc3QubGVuZ3RoKCRrZXlzKSwgbWFwLmdldCgkbWFwLCBsaXN0Lm50aCgka2V5cywgJGkgKyAxKSksIG51bGwpO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/