: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
    }
 */
.banner {
  padding: 7.5rem 0.75rem;
  background-color: var(--color-background-gray-light);
}
.banner .banner-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3.75rem;
  border-radius: 1.75rem;
  background-color: var(--color-white);
  -webkit-box-shadow: 0 6px 25px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 6px 25px 0 rgba(0, 0, 0, 0.1);
  width: 100%;
  padding: 0.9375rem 1.375rem 3.9375rem 1.375rem;
  min-height: 31.25rem;
  position: relative;
}
.banner .banner-wrapper .banner-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.875rem;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  padding: 0 2rem;
}
.banner .banner-wrapper .title {
  color: var(--color-text-primary);
  font-size: 2.625rem;
  line-height: 2.875rem;
  font-weight: 500;
  letter-spacing: -0.0625rem;
  text-align: center;
}
.banner .banner-wrapper .description {
  color: var(--color-text-primary);
  font-size: 1rem;
  line-height: 1.375rem;
  font-weight: 400;
  text-align: center;
}
.banner .banner-wrapper .button-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -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.75rem;
  margin-top: 3.3125rem;
}
.banner .banner-wrapper .button-wrapper a,
.banner .banner-wrapper .button-wrapper span {
  height: 3rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  display: inline-block;
}
.banner .banner-wrapper .button-wrapper a img,
.banner .banner-wrapper .button-wrapper span img {
  height: 100%;
  width: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.banner .banner-wrapper .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%;
  min-height: 201px;
  height: 51vw;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding-top: 2rem;
  position: relative;
}
.banner .banner-wrapper .image-wrapper img {
  position: absolute;
  width: 90%;
  height: -webkit-calc(100% - 3rem);
  height: calc(100% - 3rem);
  -o-object-position: center;
     object-position: center;
  -o-object-fit: contain;
     object-fit: contain;
  bottom: 0;
}
@media (min-width: 62rem) {
  .banner .banner-wrapper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
    padding: 3.625rem 3.5rem;
    min-height: 22.875rem;
  }
  .banner .banner-wrapper .banner-content {
    width: 50%;
    -webkit-box-ordinal-group: unset;
        -ms-flex-order: unset;
            order: unset;
    padding: 0;
  }
  .banner .banner-wrapper .title {
    width: 80%;
    text-align: unset;
  }
  .banner .banner-wrapper .description {
    width: 80%;
    text-align: unset;
  }
  .banner .banner-wrapper .button-wrapper {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 1.125rem;
    margin-top: 1.5rem;
  }
  .banner .banner-wrapper .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: 50%;
    height: 15.6875rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    padding-top: 0;
    position: static;
  }
  .banner .banner-wrapper .image-wrapper img {
    position: unset;
    left: unset;
    width: 100%;
    height: 100%;
    -o-object-position: center;
       object-position: center;
    -o-object-fit: contain;
       object-fit: contain;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzL2Jsb2Nrcy9iYW5uZXIuY3NzIiwibWFwcGluZ3MiOiJBQUdBO0VBQ0k7RUFDQTtBQ0ZKOztBQ0NBOzs7Ozs7OztFQUFBO0FEREE7RUFDSTtFQUNBO0FBWUo7QUFWSTtFQUNJO0VBQUE7RUFBQTtFQUNBO0VBQUE7TUFBQTtVQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7VUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBWVI7QUFWUTtFQUNJO0VBQUE7RUFBQTtFQUNBO0VBQUE7TUFBQTtVQUFBO0VBQ0E7RUFDQTtNQUFBO1VBQUE7RUFDQTtBQVlaO0FBVFE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFXWjtBQVJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQVVaO0FBUFE7RUFDSTtFQUFBO0VBQUE7RUFDQTtNQUFBO0VBQ0E7RUFBQTtNQUFBO1VBQUE7RUFDQTtNQUFBO1VBQUE7RUFDQTtFQUNBO0FBU1o7QUFQWTs7RUFFSTtFQUNBO0VBQUE7RUFBQTtFQUNBO0VBQ0E7QUFTaEI7QUFQZ0I7O0VBQ0k7RUFDQTtFQUNBO0tBQUE7QUFVcEI7QUFMUTtFQUNJO0VBQUE7RUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO01BQUE7VUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO01BQUE7RUFDQTtFQUNBO0FBT1o7QUFMWTtFQUNJO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7S0FBQTtFQUNBO0tBQUE7RUFDQTtBQU9oQjtBQ3hFUTtFRHdFQTtJQUNJO0lBQUE7UUFBQTtZQUFBO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7SUFDQTtJQUNBO0VBR1Y7RUFEVTtJQUNJO0lBQ0E7UUFBQTtZQUFBO0lBQ0E7RUFHZDtFQUFVO0lBQ0k7SUFDQTtFQUVkO0VBQ1U7SUFDSTtJQUNBO0VBQ2Q7RUFFVTtJQUNJO0lBQUE7UUFBQTtZQUFBO0lBQ0E7SUFDQTtFQUFkO0VBR1U7SUFDSTtJQUFBO0lBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtRQUFBO1lBQUE7SUFDQTtJQUNBO0lBQ0E7UUFBQTtJQUNBO0lBQ0E7RUFEZDtFQUdjO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtPQUFBO0lBQ0E7T0FBQTtFQURsQjtBQUNGLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Fzcy9hYnN0cmFjdHMvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL2Jsb2Nrcy9iYW5uZXIvYmFubmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Nhc3MvYWJzdHJhY3RzL19jdXN0b20tYnJlYWtwb2ludHMuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIkZm9udC1mYW1pbHktcHJpbWFyeTogXCJSdWJpa1wiLCBzYW5zLXNlcmlmO1xuJGZvbnQtZmFtaWx5LXNlY29uZGFyeTogc2Fucy1zZXJpZjtcblxuOnJvb3Qge1xuICAgIC0tZm9udC1mYW1pbHktcHJpbWFyeTogI3skZm9udC1mYW1pbHktcHJpbWFyeX07XG4gICAgLS1mb250LWZhbWlseS1zZWNvbmRhcnk6ICN7JGZvbnQtZmFtaWx5LXNlY29uZGFyeX07XG59XG5cbi8vIFJGU1xuLy8gJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6IHRydWU7XG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDA7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6IDJyZW07IC8vIDMycHhcbiRyZnMtYnJlYWtwb2ludDogODUuMzc1cmVtOyAvLyAxMzY2cHhcbiRyZnMtdHdvLWRpbWVuc2lvbmFsOiBmYWxzZTtcblxuLy8gR3JpZFxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgICB4czogMCxcbiAgICBzbTogMzZyZW0sIC8vIDU3NnB4XG4gICAgbWQ6IDQ4cmVtLCAvLyA3NjhweFxuICAgIGxnOiA2MnJlbSwgLy8gOTkycHhcbiAgICB4bDogNzVyZW0sIC8vIDEyMDBweFxuICAgIHh4bDogOTByZW0gLy8gMTQ0MHB4XG4pO1xuXG4vLyBDb250YWluZXJcbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICAgIHNtOiAzNi4yNXJlbSwgLy8gNTgwcHhcbiAgICBtZDogMzguNzVyZW0sIC8vIDYyMHB4XG4gICAgbGc6IDYwcmVtLCAvLyA5NjBweFxuICAgIHhsOiA2NnJlbSAvLyAxMDU2cHhcbik7XG4iLCJAdXNlIFwiQHNhc3MvYWJzdHJhY3RzL2N1c3RvbS1icmVha3BvaW50c1wiIGFzIGJwO1xuQHVzZSBcIkBzYXNzL2Fic3RyYWN0cy9mdW5jdGlvbnNcIiBhcyAqO1xuXG4uYmFubmVyIHtcbiAgICBwYWRkaW5nOiBweC10by1yZW0oMTIwKSBweC10by1yZW0oMTIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtZ3JheS1saWdodCk7XG5cbiAgICAuYmFubmVyLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHB4LXRvLXJlbSg2MCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHB4LXRvLXJlbSgyOCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICAgICAgYm94LXNoYWRvdzogMCA2cHggMjVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiBweC10by1yZW0oMTUpIHB4LXRvLXJlbSgyMikgcHgtdG8tcmVtKDYzKSBweC10by1yZW0oMjIpO1xuICAgICAgICBtaW4taGVpZ2h0OiBweC10by1yZW0oNTAwKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5iYW5uZXItY29udGVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGdhcDogcHgtdG8tcmVtKDE0KTtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgcGFkZGluZzogMCBweC10by1yZW0oMzIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LXByaW1hcnkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiBweC10by1yZW0oNDIpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHB4LXRvLXJlbSg0Nik7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHB4LXRvLXJlbSgtMSk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtcHJpbWFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHB4LXRvLXJlbSgxNik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcHgtdG8tcmVtKDIyKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiBweC10by1yZW0oMTIpO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcHgtdG8tcmVtKDUzKTtcblxuICAgICAgICAgICAgYSxcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGhlaWdodDogcHgtdG8tcmVtKDQ4KTtcbiAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmltYWdlLXdyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMjAxcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDUxdnc7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBweC10by1yZW0oMzIpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gcHgtdG8tcmVtKDQ4KSk7XG4gICAgICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicC5tZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cbiAgICAgICAgLmJhbm5lci13cmFwcGVyIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHB4LXRvLXJlbSg1OCkgcHgtdG8tcmVtKDU2KTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHB4LXRvLXJlbSgzNjYpO1xuXG4gICAgICAgICAgICAuYmFubmVyLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgb3JkZXI6IHVuc2V0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiB1bnNldDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHVuc2V0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgICAgZ2FwOiBweC10by1yZW0oMTgpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHB4LXRvLXJlbSgyNCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHB4LXRvLXJlbSgyNTEpO1xuICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IHVuc2V0O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwic2FzczpsaXN0XCI7XG5AdXNlIFwiLi92YXJpYWJsZXNcIiBhcyB2YXJzO1xuXG4vKlxuUmVwbGFjZW1lbnQgZm9yIGJvb3RzdHJhcHMgbWVkaWEgcXVlcnkgaW5jbHVkZVxuVXNhZ2UgaW4gZmlsZTpcbiAgICBAdXNlIFwiYXNzZXRzL3Nhc3MvYWJzdHJhY3RzL2N1c3RvbS1icmVha3BvaW50c1wiIGFzIGJwO1xuXG4gICAgQGluY2x1ZGUgYnAubWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAvLyBZb3VyIHN0eWxlcyBoZXJlXG4gICAgfVxuICovXG4vLyBMb2NhbCBicmVha3BvaW50cyB3aXRoIGRlZmF1bHQgZmFsbGJhY2tcbiRjdXN0b20tYnJlYWtwb2ludHM6IHZhcnMuJGdyaWQtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vIE1pbi13aWR0aCBicmVha3BvaW50XG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgIEBpZiBtYXAuaGFzLWtleSgkY3VzdG9tLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldCgkY3VzdG9tLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEBlcnJvciBcIlVua25vd24gYnJlYWtwb2ludDogI3skYnJlYWtwb2ludH0uIEF2YWlsYWJsZSBicmVha3BvaW50czogI3ttYXAua2V5cygkY3VzdG9tLWJyZWFrcG9pbnRzKX1cIjtcbiAgICB9XG59XG5cbi8vIE1heC13aWR0aCBicmVha3BvaW50XG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgQGlmIG1hcC5oYXMta2V5KCRjdXN0b20tYnJlYWtwb2ludHMsICRicmVha3BvaW50KSB7XG4gICAgICAgICRuZXh0LWJyZWFrcG9pbnQ6IF9nZXQtbmV4dC1icmVha3BvaW50KCRjdXN0b20tYnJlYWtwb2ludHMsICRicmVha3BvaW50KTtcbiAgICAgICAgQGlmICRuZXh0LWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICgkbmV4dC1icmVha3BvaW50IC0gMC4wMnB4KSkge1xuICAgICAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEBjb250ZW50OyAvLyBObyB1cHBlciBsaW1pdCBmb3IgbGFyZ2VzdCBicmVha3BvaW50XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQGVycm9yIFwiVW5rbm93biBicmVha3BvaW50OiAjeyRicmVha3BvaW50fS4gQXZhaWxhYmxlIGJyZWFrcG9pbnRzOiAje21hcC5rZXlzKCRjdXN0b20tYnJlYWtwb2ludHMpfVwiO1xuICAgIH1cbn1cblxuLy8gQmV0d2VlbiB0d28gYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIpIHtcbiAgICBAaWYgbWFwLmhhcy1rZXkoJGN1c3RvbS1icmVha3BvaW50cywgJGxvd2VyKSBhbmQgbWFwLmhhcy1rZXkoJGN1c3RvbS1icmVha3BvaW50cywgJHVwcGVyKSB7XG4gICAgICAgICRtaW46IG1hcC5nZXQoJGN1c3RvbS1icmVha3BvaW50cywgJGxvd2VyKTtcbiAgICAgICAgJG1heDogbWFwLmdldCgkY3VzdG9tLWJyZWFrcG9pbnRzLCAkdXBwZXIpO1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICgkbWF4IC0gMC4wMnB4KSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQGVycm9yIFwiSW52YWxpZCBicmVha3BvaW50IHJhbmdlLiBBdmFpbGFibGUgYnJlYWtwb2ludHM6ICN7bWFwLmtleXMoJGN1c3RvbS1icmVha3BvaW50cyl9XCI7XG4gICAgfVxufVxuXG4vLyBQcml2YXRlIGhlbHBlciBmdW5jdGlvblxuQGZ1bmN0aW9uIF9nZXQtbmV4dC1icmVha3BvaW50KCRtYXAsICRrZXkpIHtcbiAgICAka2V5czogbWFwLmtleXMoJG1hcCk7XG4gICAgJGk6IGxpc3QuaW5kZXgoJGtleXMsICRrZXkpO1xuICAgIEByZXR1cm4gaWYoJGkgYW5kICRpIDwgbGlzdC5sZW5ndGgoJGtleXMpLCBtYXAuZ2V0KCRtYXAsIGxpc3QubnRoKCRrZXlzLCAkaSArIDEpKSwgbnVsbCk7XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/