/****************
 * Fonts
 ****************/
/****************
 * Paints
 ****************/
/****************
 * Effects
 ****************/
/****************
 * Grid Settings
 ****************/
.block-hero {
  display: flex;
  align-items: flex-start;
  padding: 48px 0 0;
  overflow: hidden;
}
@media (min-width: 75rem) {
  .block-hero {
    min-height: 750px;
    align-items: center;
  }
}
.block-hero .background-overlay {
  position: absolute;
  right: 0;
  margin: auto;
  z-index: -1;
}
@media (min-width: 75rem) {
  .block-hero .background-overlay {
    width: 47%;
    height: 95%;
    bottom: 0;
    top: 0;
  }
}
.block-hero .background-overlay::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../../../images/hero-cruve.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: 20px;
}
@media (min-width: 75rem) {
  .block-hero .background-overlay::after {
    background-position: 60px;
  }
}
.block-hero .section-bg {
  position: absolute;
  width: 95%;
  height: 50%;
  right: 0;
  bottom: 0;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center 100%;
}
@media (min-width: 62rem) {
  .block-hero .section-bg {
    width: 38%;
    height: 100%;
    right: 0;
    top: 0;
    bottom: unset;
  }
}
.block-hero .block-hero__content {
  padding-bottom: 3rem;
}
@media (min-width: 75rem) {
  .block-hero .block-hero__content {
    padding-right: 2.5rem;
    padding-bottom: 0;
  }
}
.block-hero__pre-heading {
  font-weight: 500;
  text-transform: uppercase;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.075rem;
  color: #4e565f;
  font-family: "helvetica-medium", sans-serif;
  margin-bottom: 0.5rem;
  margin-top: 0;
}
.block-hero__pre-heading + h1,
.block-hero__pre-heading + .h1,
.block-hero__pre-heading + h2,
.block-hero__pre-heading + .h2,
.block-hero__pre-heading + h3,
.block-hero__pre-heading + .h3,
.block-hero__pre-heading + h4,
.block-hero__pre-heading + .h4,
.block-hero__pre-heading + h5,
.block-hero__pre-heading + .h5,
.block-hero__pre-heading + h6,
.block-hero__pre-heading + .h6 {
  margin-top: 0;
}
@media (min-width: 48rem) {
  .block-hero p {
    margin-bottom: 32px;
  }
}
.block-hero__action {
  display: flex;
  align-items: center;
  margin-bottom: 48px;
}
@media (min-width: 48rem) {
  .block-hero__action {
    margin-bottom: 0;
  }
}
@media (min-width: 48rem) {
  .block-hero__action a {
    margin-right: 20px;
  }
}
.block-hero .desktop-view {
  display: none;
}
@media (min-width: 75rem) {
  .block-hero .desktop-view {
    display: block;
  }
}
@media (min-width: 75rem) {
  .block-hero .mobile-view {
    display: none;
  }
}
.block-hero .mobile-view.imgs-contain-col {
  height: 400px;
}
.block-hero .mobile-view.imgs-contain-col .background-overlay {
  width: 97%;
  height: 95%;
  top: 0;
  bottom: 0;
  margin: auto;
}
.block-hero .mobile-view.imgs-contain-col .section-bg {
  width: 85%;
  height: 100%;
  top: 0;
  right: 0;
}
@media (min-width: 48rem) {
  .block-hero .container {
    padding-right: 0;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNzcy9zcmMvX19zdHlsZXMvX3ZhcmlhYmxlcy5zY3NzIiwiYWNmLWJsb2Nrcy9oZXJvL3NyYy9zdHlsZS5zY3NzIiwiY3NzL3NyYy92ZW5kb3IvYm9vdHN0cmFwL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsImNzcy9zcmMvX19zdHlsZXMvX2ZvbnQtc3R5bGVzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBY0E7QUFBQTtBQUFBO0FBcUNBO0FBQUE7QUFBQTtBQVFBO0FBQUE7QUFBQTtBQ3pEQTtFQUNDO0VBQ0E7RUFDQTtFQUNBOztBQ3NERztFRDFESjtJQU9FO0lBQ0E7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7O0FDMkNFO0VEL0NIO0lBT0U7SUFDQTtJQUNBO0lBQ0E7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FDd0JDO0VEbENGO0lBYUU7OztBQUtIO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUNRRTtFRGhCSDtJQVdFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7OztBQUlGO0VBQ0M7O0FDSkU7RURHSDtJQUlFO0lBQ0E7OztBQUlGO0VFMkdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGFIbExrQjtFR3FMakI7RUFDQTs7QUFJQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFZQzs7QURqSkM7RURnQkg7SUFFRTs7O0FBSUY7RUFDQztFQUNBO0VBQ0E7O0FDekJFO0VEc0JIO0lBTUU7OztBQzVCQztFRCtCRjtJQUVFOzs7QUFLSDtFQUNDOztBQ3ZDRTtFRHNDSDtJQUlFOzs7QUMxQ0M7RUQ4Q0g7SUFFRTs7O0FBR0Q7RUFDQzs7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTs7QUNsRUE7RUR1RUg7SUFFRSIsImZpbGUiOiJhY2YtYmxvY2tzL2hlcm8vZGlzdC9zdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKlxuICogRm9udHNcbiAqKioqKioqKioqKioqKioqL1xuJGZvbnQtYmFzZTogXCJoZWx2ZXRpY2EtbGlnaHRcIiwgc2Fucy1zZXJpZjtcbiRoZWFkaW5nLWZvbnRzOiBcInN1cHJpYS1zYW5zXCIgLCBzYW5zLXNlcmlmO1xuJGhlbHZldGljYS1ib2xkOiBcImhlbHZldGljYS1ib2xkXCI7XG4kaGVsdmV0aWNhLWxpZ2h0OiBcImhlbHZldGljYS1saWdodFwiLCBzYW5zLXNlcmlmO1xuJGhlbHZldGljYS1tZWRpdW06IFwiaGVsdmV0aWNhLW1lZGl1bVwiLCBzYW5zLXNlcmlmO1xuJGhlbHZldGljYS1yZWd1bGFyOiBcImhlbHZldGljYS1yZWd1bGFyXCI7XG4kaGVsdmV0aWNhLWl0YWxpYzogXCJoZWx2ZXRpY2EtaXRhbGljXCI7XG4kaGVsdmV0aWNhLXRoaW46IFwiaGVsdmV0aWNhLXRoaW5cIjtcbiRoZWx2ZXRpY2EtdWxpZ2h0OiBcImhlbHZldGljYS11bGlnaHRcIjtcbiR0YWJsZTogXCJPcGVuIFNhbnNcIjtcblxuLyoqKioqKioqKioqKioqKipcbiAqIFBhaW50c1xuICoqKioqKioqKioqKioqKiovXG4kcGFpbnRzOiAoXG5cdGFjY2VudDogIzJmYjNmZixcblx0YWNjZW50LXZhcmlhbnQ6ICNjNGVhZmYsXG5cdGFjY2VudC12YXJpYW50MjogIzAwYTJmZixcblx0Z3JlZW4tYWNjZW50OiAjMDBhNTcwLFxuXHRncmVlbi12YXJpYW50OiAjYjVmOWUzLFxuXHRiZy1kYXJrOiAjMjEyODJmLFxuXHRiZy1saWdodDogI2ZmZixcblx0dGV4dC1kYXJrOiAjMjEyODJmLFxuXHR0ZXh0LWxpZ2h0OiAjZmZmLFxuXHRkYXJrLWJsYWNrOiAjMGQwZDBkLFxuXHRibGFjazE6ICMwMDAsXG5cdGdyYXkxOiAjMzQzYTQwLFxuXHRncmF5MjogIzRlNTY1Zixcblx0Z3JheTM6ICNkN2RmZTIsXG5cdGdyYXk0OiAjZjJmN2Y5LFxuXHRncmF5NTogIzZiNzI3YSxcblx0Z3JheTY6ICMzZDNkM2QsXG5cdGdyYXktODA6ICNjN2NhZDEsXG5cdHdoaXRlOiAjZmZmLFxuXHRuZXV0cmFsLTMwOiAjNGM0YzRjLFxuXHRuZXV0cmFsLTQ1OiAjNzM3MzczLFxuXHRuZXV0cmFsLTcwOiAjYjNiM2IzLFxuXHRuZXV0cmFsLTg4OiAjZTFlMWUxLFxuXHRuZXV0cmFsLTk0OiAjZjBmMGYwLFxuXHRuZXV0cmFsLTk3OiAjZjdmN2Y3LFxuXHRlcnJvcjogI2FkMDMyMixcblx0d2FybmluZzogI2Y5YTUxMyxcblx0c3VjY2VzczogIzAwODczNyxcblx0aW5mb3JtYXRpb246ICMwMDZiYjIsXG5cdGF1dG9maWxsOiAjZTZmMGY3LFxuXHR0YWJsZS1jb2xvcjogIzFmMWYxZixcbik7XG5cbi8qKioqKioqKioqKioqKioqXG4gKiBFZmZlY3RzXG4gKioqKioqKioqKioqKioqKi9cbiRlZmZlY3RzOiAoXG5cdGRyb3BzaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4xKSxcblx0Y3RhOiAwIC00cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNSksXG4pO1xuXG4vKioqKioqKioqKioqKioqKlxuICogR3JpZCBTZXR0aW5nc1xuICoqKioqKioqKioqKioqKiovXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG5cdHhzOiAwLFxuXHRzbTogcmVtKDU3NiksXG5cdG1kOiByZW0oNzY4KSxcblx0bGc6IHJlbSg5OTIpLFxuXHR4bDogcmVtKDEyMDApLFxuXHR4eGw6IHJlbSgxNDEwKVxuKTtcbiRjdXN0b20tYnJlYWtwb2ludHM6IChcblx0bW9iaWxlbWVudTogcmVtKDEyMDApXG4pO1xuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG5cdHhzOiByZW0oNTc2KSxcblx0c206IHJlbSg3NjgpLFxuXHRtZDogcmVtKDk5MiksXG5cdGxnOiByZW0oMTIwMCksXG5cdHhsOiByZW0oMTQxMClcbik7XG5cbiRjb250YWluZXItc20tc3BhY2luZzogcmVtKDIwKTtcbiRjb250YWluZXItbWQtc3BhY2luZzogcmVtKDQwKTtcbiRjb250YWluZXItbGctc3BhY2luZzogcmVtKDYwKTtcblxuJGdyaWQtZ3V0dGVyLXdpZHRoOiByZW0oMzApO1xuXG4vLyBUcmFuc2l0aW9uc1xuJHRyYW5zaXRpb24tc3RhbmRhcmQ6IGFsbCAwLjJzIGxpbmVhcjtcblxuLy8gQmxvY2sgdGl0bGVcbiRibG9jay10aXRsZS1tYi1zbTogcmVtKDQwKTtcbiRibG9jay10aXRsZS1tYi1tZDogcmVtKDY0KTtcblxuJG1lZGlhLW1hcmdpbjogMzBweDtcbiRtZWRpYS1tYXJnaW4tbW9iaWxlOiAyMHB4O1xuXG4vLyBPdXRsaW5lXG4kb3V0bGluZTogcmVtKDIpIHNvbGlkICM3YWFjZmU7XG4iLCJAaW1wb3J0IFwiLi4vLi4vLi4vY3NzL3NyYy9saWIvYmFzZS1pbmNsdWRlc1wiO1xuXG4uYmxvY2staGVybyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRwYWRkaW5nOiA0OHB4IDAgMDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG5cdFx0bWluLWhlaWdodDogNzUwcHg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0fVxuXG5cdC5iYWNrZ3JvdW5kLW92ZXJsYXkge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDogMDtcblx0XHRtYXJnaW46IGF1dG87XG5cdFx0ei1pbmRleDogLTE7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG5cdFx0XHR3aWR0aDogNDclO1xuXHRcdFx0aGVpZ2h0OiA5NSU7XG5cdFx0XHRib3R0b206IDA7XG5cdFx0XHR0b3A6IDA7XG5cdFx0fVxuXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi8uLi9pbWFnZXMvaGVyby1jcnV2ZS5zdmcpO1xuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IDIwcHg7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcblx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogNjBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuc2VjdGlvbi1iZyB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHdpZHRoOiA5NSU7XG5cdFx0aGVpZ2h0OiA1MCU7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0Ym90dG9tOiAwO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgMTAwJTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblx0XHRcdHdpZHRoOiAzOCU7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdHRvcDogMDtcblx0XHRcdGJvdHRvbTogdW5zZXQ7XG5cdFx0fVxuXHR9XG5cblx0LmJsb2NrLWhlcm9fX2NvbnRlbnQge1xuXHRcdHBhZGRpbmctYm90dG9tOiByZW0oNDgpO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuXHRcdFx0cGFkZGluZy1yaWdodDogcmVtKDQwKTtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdH1cblx0fVxuXG5cdCZfX3ByZS1oZWFkaW5nIHtcblx0XHRAaW5jbHVkZSBvdmVybGluZTtcblx0fVxuXG5cdHAge1xuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDMycHg7XG5cdFx0fVxuXHR9XG5cblx0Jl9fYWN0aW9uIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0bWFyZ2luLWJvdHRvbTogNDhweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXG5cdFx0YSB7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMjBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuZGVza3RvcC12aWV3IHtcblx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXHR9XG5cblx0Lm1vYmlsZS12aWV3IHtcblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHhsKSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuXHRcdCYuaW1ncy1jb250YWluLWNvbCB7XG5cdFx0XHRoZWlnaHQ6IDQwMHB4O1xuXG5cdFx0XHQuYmFja2dyb3VuZC1vdmVybGF5IHtcblx0XHRcdFx0d2lkdGg6IDk3JTtcblx0XHRcdFx0aGVpZ2h0OiA5NSU7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRtYXJnaW46IGF1dG87XG5cdFx0XHR9XG5cblx0XHRcdC5zZWN0aW9uLWJnIHtcblx0XHRcdFx0d2lkdGg6IDg1JTtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5jb250YWluZXIge1xuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuICE9IG51bGwgYW5kICRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vVGhpcyBmaWxlIGlzIG9ubHkgZm9yIG1peGlucy4gRG9uJ3QgaW5jbHVkZSBhbnkgc3R5bGVzIGluIHRoaXMgZmlsZSBvciBlbHNlIHRoZXkgd2lsbCByZXBlYXRlZCBpbiBldmVyeSBibG9jay5cblxuQG1peGluIGgxKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0Zm9udC1zaXplOiByZXNwb25zaXZlLXZhbHVlcygzNiwgNTYpO1xuXHRsaW5lLWhlaWdodDogcmVzcG9uc2l2ZS12YWx1ZXMoNDQsIDYwKTtcblxuXHRAaWYgKCAkbWFyZ2lucyApIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZXNwb25zaXZlLXZhbHVlcygxNiwgNDgpO1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdH1cbn1cblxuQG1peGluIGgyKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0Zm9udC1zaXplOiByZXNwb25zaXZlLXZhbHVlcygyOCwgNDIpO1xuXHRsaW5lLWhlaWdodDogcmVzcG9uc2l2ZS12YWx1ZXMoMzYsIDQ4KTtcblxuXHRAaWYgKCAkbWFyZ2lucyApIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZXNwb25zaXZlLXZhbHVlcygzMiwgMzIpO1xuXHR9XG59XG5cbkBtaXhpbiBoMyggJG1hcmdpbnM6IHRydWUgKSB7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdGZvbnQtc2l6ZTogcmVzcG9uc2l2ZS12YWx1ZXMoMjAsIDMyKTtcblx0bGluZS1oZWlnaHQ6IHJlc3BvbnNpdmUtdmFsdWVzKDI4LCAzNik7XG5cblx0QGlmICggJG1hcmdpbnMgKSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVzcG9uc2l2ZS12YWx1ZXMoMjQsIDI0KTtcblx0fVxufVxuXG5AbWl4aW4gaDQoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRmb250LXNpemU6IHJlc3BvbnNpdmUtdmFsdWVzKDE2LCAyMik7XG5cdGxpbmUtaGVpZ2h0OiByZXNwb25zaXZlLXZhbHVlcygyNCwgMjgpO1xuXG5cblx0QGlmICggJG1hcmdpbnMgKSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVzcG9uc2l2ZS12YWx1ZXMoMTYsIDE2KTtcblx0fVxufVxuXG5AbWl4aW4gaDUoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRmb250LXNpemU6IHJlc3BvbnNpdmUtdmFsdWVzKDE0LCAxNik7XG5cdGxpbmUtaGVpZ2h0OiByZXNwb25zaXZlLXZhbHVlcygyMCwgMjQpO1xuXG5cdEBpZiAoICRtYXJnaW5zICkge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlc3BvbnNpdmUtdmFsdWVzKDEyLCAxMik7XG5cdH1cbn1cblxuQG1peGluIGg2KCAkbWFyZ2luczogdHJ1ZSApIHtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0Zm9udC1zaXplOiByZXNwb25zaXZlLXZhbHVlcygxMiwgMTQpO1xuXHRsaW5lLWhlaWdodDogcmVzcG9uc2l2ZS12YWx1ZXMoMTYsIDE2KTtcblxuXHRAaWYgKCAkbWFyZ2lucyApIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZXNwb25zaXZlLXZhbHVlcyg4LCA4KTtcblx0fVxufVxuXG5AbWl4aW4gYm9keS0xKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0Zm9udC1zaXplOiByZXNwb25zaXZlLXZhbHVlcygxNiwgMTgpO1xuXHRsaW5lLWhlaWdodDogcmVzcG9uc2l2ZS12YWx1ZXMoMjQsIDI4KTtcblxuXHRAaWYgKCAkbWFyZ2lucyApIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZXNwb25zaXZlLXZhbHVlcygzMiwgNDgpO1xuXHR9XG59XG5cbkBtaXhpbiBib2R5LTIoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXNpemU6IHJlbSgxNik7XG5cdGxpbmUtaGVpZ2h0OiByZW0oMjQpO1xuXG5cdEBpZiAoICRtYXJnaW5zICkge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlc3BvbnNpdmUtdmFsdWVzKDE2LCAyNCk7XG5cdH1cbn1cblxuQG1peGluIGxpc3QoICRtYXJnaW5zOiB0cnVlICkge1xuXHRAaW5jbHVkZSBib2R5LTEoICRtYXJnaW5zICk7XG59XG5cbkBtaXhpbiBsZWFkKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0Zm9udC1zaXplOiByZXNwb25zaXZlLXZhbHVlcygyMCwgMjQpO1xuXHRsaW5lLWhlaWdodDogcmVzcG9uc2l2ZS12YWx1ZXMoMjgsIDMyKTtcblx0Y29sb3I6IHBhaW50KGdyYXkyKTtcblxuXHRAaWYgKCAkbWFyZ2lucyApIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZXNwb25zaXZlLXZhbHVlcyg2MCwgODQpO1xuXHR9XG59XG5cbkBtaXhpbiBxdW90ZSggJG1hcmdpbnM6IHRydWUgKSB7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0Zm9udC1zaXplOiByZXNwb25zaXZlLXZhbHVlcygyNCwgMzApO1xuXHRsaW5lLWhlaWdodDogcmVzcG9uc2l2ZS12YWx1ZXMoMzIsIDQwKTtcblxuXHRAaWYgKCAkbWFyZ2lucyApIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZXNwb25zaXZlLXZhbHVlcygxNiwgMjQpO1xuXHR9XG59XG5cbkBtaXhpbiBzdWJ0aXRsZS0xKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0Zm9udC1zaXplOiByZW0oMTYpO1xuXHRsaW5lLWhlaWdodDogcmVtKDI0KTtcblxuXHRAaWYgKCAkbWFyZ2lucyApIHtcblx0XHRtYXJnaW4tYm90dG9tOiByZW0oNCk7XG5cdH1cbn1cblxuQG1peGluIHN1YnRpdGxlLTIoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXdlaWdodDogMzAwO1xuXHRmb250LXNpemU6IHJlbSgxNCk7XG5cdGxpbmUtaGVpZ2h0OiByZW0oMjApO1xuXG5cdEBpZiAoICRtYXJnaW5zICkge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbSgyMCk7XG5cdH1cbn1cblxuQG1peGluIHN1YnRpdGxlLTMoICRtYXJnaW5zOiBmYWxzZSApIHtcblx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0Zm9udC1zaXplOiByZW0oMTIpO1xuXHRsaW5lLWhlaWdodDogcmVtKDE2KTtcbn1cblxuQG1peGluIGJ1dHRvbi0xKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0Zm9udC1zaXplOiByZW0oMTYpO1xuXHRsaW5lLWhlaWdodDogcmVtKDMyKTtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuQG1peGluIGJ1dHRvbi0yKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0Zm9udC1zaXplOiByZW0oMTQpO1xuXHRsaW5lLWhlaWdodDogcmVtKDE2KTtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuQG1peGluIGNhcHRpb24oICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXNpemU6IHJlbSgxMik7XG5cdGxpbmUtaGVpZ2h0OiByZW0oMTYpO1xuXG5cdEBpZiAoICRtYXJnaW5zICkge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbSg4KTtcblx0fVxufVxuXG5AbWl4aW4gbGluay0xKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0Zm9udC1zaXplOiByZW0oMTQpO1xuXHRsaW5lLWhlaWdodDogcmVtKDI0KTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHBhaW50KHRleHQtZGFyayk7XG5cblx0QGlmICggJG1hcmdpbnMgKSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtKDE2KTtcblx0fVxufVxuXG5AbWl4aW4gbGluay0yKCAkbWFyZ2luczogdHJ1ZSApIHtcblx0Zm9udC1zaXplOiByZW0oMTQpO1xuXHRsaW5lLWhlaWdodDogcmVtKDIwKTtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6IHBhaW50KHRleHQtbGlnaHQpO1xuXG5cdEBpZiAoICRtYXJnaW5zICkge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbSgxNik7XG5cdH1cbn1cblxuQG1peGluIG92ZXJsaW5lKCAkbWFyZ2luczogdHJ1ZSwgJHJlbW92ZV9oZWFkZXJfbWFyZ2luczogdHJ1ZSApIHtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC1zaXplOiByZW0oMTIpO1xuXHRsaW5lLWhlaWdodDogcmVtKDE2KTtcblx0bGV0dGVyLXNwYWNpbmc6IHJlbSgxLjIpO1xuXHRjb2xvcjogcGFpbnQoZ3JheTIpO1xuXHRmb250LWZhbWlseTogJGhlbHZldGljYS1tZWRpdW07XG5cblx0QGlmICggJG1hcmdpbnMgKSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtKDgpO1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdH1cblxuXHRAaWYgKCAkcmVtb3ZlX2hlYWRlcl9tYXJnaW5zICkge1xuXHRcdCsgaDEsXG5cdFx0KyAuaDEsXG5cdFx0KyBoMixcblx0XHQrIC5oMixcblx0XHQrIGgzLFxuXHRcdCsgLmgzLFxuXHRcdCsgaDQsXG5cdFx0KyAuaDQsXG5cdFx0KyBoNSxcblx0XHQrIC5oNSxcblx0XHQrIGg2LFxuXHRcdCsgLmg2IHtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiB0YWcoICRtYXJnaW5zOiB0cnVlICkge1xuXHRmb250LXNpemU6IHJlbSgxNCk7XG5cdGxpbmUtaGVpZ2h0OiByZW0oMTYpO1xuXHRjb2xvcjogcGFpbnQobmV1dHJhbC00NSk7XG59XG5cbkBtaXhpbiBwYWdpbmF0aW9uLW51bWJlciB7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdGZvbnQtc2l6ZTogcmVtKDE2KTtcblx0bGluZS1oZWlnaHQ6IHJlbSgxNik7XG59XG4iXX0= */
