/****************
 * Fonts
 ****************/
/****************
 * Paints
 ****************/
/****************
 * Effects
 ****************/
/****************
 * Grid Settings
 ****************/
#jquery-live-search {
  width: 100vw !important;
  margin-top: -0.375rem;
}

.hero-section__fullwidth-image.hero-section--text-left .row:first-child {
  text-align: left;
}
.hero-section__fullwidth-image.hero-section--text-center .row:first-child {
  text-align: center;
}
.hero-section__fullwidth-image.hero-section--text-right .row:first-child {
  text-align: right;
}
.hero-section__fullwidth-image {
  padding: calc(4rem + var(--headersize, 4rem)) 0 4rem;
}
@media (min-width: 62rem) {
  .hero-section__fullwidth-image {
    padding: calc(6rem + var(--headersize, 6rem)) 0 6rem;
  }
}
.hero-section__fullwidth-image .hero-section__image-wrap {
  position: relative;
  margin-top: clamp(3rem, 1.8037383178rem + 2.492211838vw, 4rem);
}
.hero-section__fullwidth-image .hero-section__image-wrap::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 56.25%;
}
@media (min-width: 62rem) {
  .hero-section__fullwidth-image .hero-section__image-wrap::before {
    padding-top: 37.5%;
  }
}
.hero-section__fullwidth-image .hero-section__image-wrap img {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  outline: 1px solid #000;
}
@media (min-width: 62rem) {
  .hero-section__fullwidth-image .c-btn {
    padding: 0.9375rem 1.4375rem;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNzcy9zcmMvX19zdHlsZXMvX3ZhcmlhYmxlcy5zY3NzIiwiY3NzL3NyYy9fX3N0eWxlcy9fZWxlbWVudHMuc2NzcyIsImFjZi1ibG9ja3MvaGVyby1mdWxsd2lkdGgtaW1hZ2Uvc3JjL3N0eWxlLnNjc3MiLCJjc3Mvc3JjL3ZlbmRvci9ib290c3RyYXAvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQU1BO0FBQUE7QUFBQTtBQWdEQTtBQUFBO0FBQUE7QUE4QkE7QUFBQTtBQUFBO0FDb1hBO0VBQ0M7RUFDQTs7O0FDcGNDO0VBQ0M7O0FBS0Q7RUFDQzs7QUFLRDtFQUNDOztBQUlGO0VBQ0M7O0FDb0NFO0VEckNIO0lBSUU7OztBQUdEO0VBQ0M7RUFDQTs7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBOztBQ3NCQTtFRDFCRDtJQU9FOzs7QUFJRjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUNTQTtFRExGO0lBRUUiLCJmaWxlIjoiYWNmLWJsb2Nrcy9oZXJvLWZ1bGx3aWR0aC1pbWFnZS9kaXN0L3N0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqXG4gKiBGb250c1xuICoqKioqKioqKioqKioqKiovXG4kZm9udC1iYXNlOiBcIlVudGl0bGVkIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiRmb250LWhlYWRsaW5lczogXCJQdWJsaWNvIEJhbm5lclwiLCBzZXJpZjtcblxuLyoqKioqKioqKioqKioqKipcbiAqIFBhaW50c1xuICoqKioqKioqKioqKioqKiovXG4kcGFpbnRzOiAoXG5cdG1pc3Q6ICNjMWM0Y2MsXG5cdHNreTogI2FhYjNjYixcblx0cmFpbjogIzlkYjRjMCxcblx0bWlkbmlnaHQ6ICMzNTNjNTIsXG5cdHNhZ2U6ICNhYWIxOTksXG5cdHNwcmluZzogI2MwZDJhYixcblx0c3BydWNlOiAjNWY3YTdiLFxuXHRncm92ZTogIzJjNDc0OCxcblx0c2FuZDogI2I3YjNhNCxcblx0c2FmZnJvbjogI2YwY2Q3Zixcblx0Y2xlbWVudGluZTogI2UzYWY3ZCxcblx0Y2xheTogIzkwNmQ1ZCxcblx0Y2xvdWQ6ICNmNmY1ZWYsXG5cdHdoaXRlOiAjZmZmLFxuXHRibGFjazogIzAwMCxcblx0dGV4dC1kYXJrLXByaW1hcnk6ICMwMDAsXG5cdHRleHQtZGFyay1zZWNvbmRhcnk6ICM1ZTVmNjEsXG5cdHRleHQtZGFyay10ZXJ0aWFyeTogI2EwYTFhMyxcblx0dGV4dC1saWdodC1wcmltYXJ5OiAjZmZmLFxuXHR0ZXh0LWxpZ2h0LXNlY29uZGFyeTogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpLFxuXHR0ZXh0LWxpZ2h0LXRlcnRpYXJ5OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSksXG5cdGJvcmRlci1saWdodC1wcmltYXJ5OiAjZmZmLFxuXHRib3JkZXItbGlnaHQtdGVydGlhcnk6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSxcblx0Ym9yZGVyLWRhcmstcHJpbWFyeTogIzAwMCxcblx0Ym9yZGVyLW5hdjogcmdiYSgwLCAwLCAwLCAwLjEpLFxuXHRpbnRlcmFjdGlvbjogI2YwY2Q3Zixcblx0aW50ZXJhY3Rpb24taG92ZXI6ICNmNWNmN2EsXG5cdGVycm9yOiAjOWUzNjJjLFxuXHR3YXJuaW5nOiAjZTU5NTQ1LFxuXHRzdWNjZXNzOiAjNDU3YTRhLFxuXHRpbmZvcm1hdGlvbjogIzMyNmJhOCxcblx0YXV0b2ZpbGw6ICNmMmY4ZmMsXG5cdGdyZXktNTA6ICNmNWY2ZjcsXG5cdGdyZXktMTAwOiAjZTJlNGU4LFxuXHRncmV5LTIwMDogI2M5Y2NkNCxcblx0Z3JleS0zMDA6ICNhZGIxYmMsXG5cdGdyZXktNDAwOiAjOTY5YmE5LFxuXHRncmV5LTUwMDogIzdmODU5NSxcblx0Z3JleS02MDA6ICM1NjViNjksXG5cdGdyZXktNzAwOiAjMzAzMzNhLFxuXHRncmV5LTgwMDogIzFkMWUyMyxcblx0Z3JleS05MDA6ICMwYTBhMGMsXG4pO1xuXG4vKioqKioqKioqKioqKioqKlxuICogRWZmZWN0c1xuICoqKioqKioqKioqKioqKiovXG4kZWZmZWN0czogKFxuKTtcblxuQG1peGluIGVsZXZhdGlvbiB7XG5cdGJveC1zaGFkb3c6IDAgcmVtKDEpIHJlbSgyKSByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcblx0XHRib3gtc2hhZG93OiAwIHJlbSgxKSByZW0oMykgcmdiYSgwLCAwLCAwLCAwLjEpLCAwIHJlbSgxKSByZW0oMikgcmdiYSgwLCAwLCAwLCAwLjA2KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblx0XHRib3gtc2hhZG93OiAwIHJlbSg0KSByZW0oOCkgcmVtKC0yKSByZ2JhKDAsIDAsIDAsIDAuMSksIDAgcmVtKDIpIHJlbSg0KSByZW0oLTIpIHJnYmEoMCwgMCwgMCwgMC4wNik7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cdFx0Ym94LXNoYWRvdzogMCByZW0oMTIpIHJlbSgxNikgcmVtKC00KSByZ2JhKDAsIDAsIDAsIDAuMDgpLCAwIHJlbSg0KSByZW0oNikgcmVtKC0yKSByZ2JhKDAsIDAsIDAsIDAuMDMpO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuXHRcdGJveC1zaGFkb3c6IDAgcmVtKDIwKSByZW0oMjQpIHJlbSgtNCkgcmdiYSgwLCAwLCAwLCAwLjA4KSwgMCByZW0oOCkgcmVtKDgpIHJlbSgtNCkgcmdiYSgwLCAwLCAwLCAwLjAzKTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7XG5cdFx0Ym94LXNoYWRvdzogMCByZW0oMjQpIHJlbSg0OCkgcmVtKC0xMikgcmdiYSgwLCAwLCAwLCAwLjE4KTtcblx0fVxufVxuXG4vKioqKioqKioqKioqKioqKlxuICogR3JpZCBTZXR0aW5nc1xuICoqKioqKioqKioqKioqKiovXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG5cdHhzOiAwLFxuXHRzbTogcmVtKDU3NiksXG5cdG1kOiByZW0oNzY4KSxcblx0bGc6IHJlbSg5OTIpLFxuXHRsZ2FsdDogcmVtKDEwMjApLFxuXHR4bDogcmVtKDEyMDApLFxuXHR4eGw6IHJlbSgxNDEwKVxuKTtcbiRjdXN0b20tYnJlYWtwb2ludHM6IChcblx0bW9iaWxlbWVudTogcmVtKDEyMDApLFxuXHRjYXJlZXJzbWVudTogcmVtKDEzMzApXG4pO1xuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG5cdHhzOiByZW0oNTc2KSxcblx0c206IHJlbSg3NjgpLFxuXHRtZDogcmVtKDk5MiksXG5cdGxnOiByZW0oMTIwMCksXG5cdHhsOiByZW0oMTQxMClcbik7XG5cbiRjb250YWluZXItc20tc3BhY2luZzogcmVtKDIwKTtcbiRjb250YWluZXItbWQtc3BhY2luZzogcmVtKDQwKTtcbiRjb250YWluZXItbGctc3BhY2luZzogcmVtKDYwKTtcblxuJGdyaWQtZ3V0dGVyLXdpZHRoOiByZW0oMTUpO1xuJGdyaWQtc20tZ3V0dGVyLXdpZHRoOiAkZ3JpZC1ndXR0ZXItd2lkdGg7XG4kZ3JpZC1tZC1ndXR0ZXItd2lkdGg6IHJlbSgyMCk7XG4kZ3JpZC1sZy1ndXR0ZXItd2lkdGg6IHJlbSgzMCk7XG5cbi8vIFRyYW5zaXRpb25zXG4kdHJhbnNpdGlvbi1zdGFuZGFyZDogYWxsIDAuMnMgbGluZWFyO1xuXG4vLyBCbG9jayB0aXRsZVxuJGJsb2NrLXRpdGxlLW1iLXNtOiByZW0oNDApO1xuJGJsb2NrLXRpdGxlLW1iLW1kOiByZW0oNjQpO1xuXG4kbWVkaWEtbWFyZ2luOiAzMHB4O1xuJG1lZGlhLW1hcmdpbi1tb2JpbGU6IDIwcHg7XG5cbi8vIE91dGxpbmVcbiRvdXRsaW5lOiByZW0oMikgc29saWQgIzdhYWNmZTtcbiIsIi8vIEJ1dHRvbnMgYW5kIExpbmtzIC0gQ2F0ZWdvcnkgQmFkZ2VcbkBtaXhpbiBwaWxsLWJhZGdlKCAkY29sb3I6IG5vcm1hbCApIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRib3JkZXItcmFkaXVzOiByZW0oMzIpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXdlaWdodDogNDAwO1xuXHR3b3JkLWJyZWFrOiBicmVhay1hbGw7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cblx0QGlmICRjb2xvciA9PSBub3JtYWwge1xuXHRcdGJvcmRlcjogMC41cHggc29saWQgcGFpbnQoYm9yZGVyLWRhcmstcHJpbWFyeSk7XG5cdFx0Y29sb3I6IHBhaW50KHRleHQtZGFyay1wcmltYXJ5KTtcblxuXHRcdCZbaHJlZl0sXG5cdFx0JltkYXRhLWZpbHRlcl0ge1xuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMsXG5cdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHBhaW50KHNhZmZyb24pO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9IEBlbHNlIHtcblx0XHRib3JkZXI6IDAuNXB4IHNvbGlkIHBhaW50KGJvcmRlci1saWdodC1wcmltYXJ5KTtcblx0XHRjb2xvcjogcGFpbnQodGV4dC1saWdodC1wcmltYXJ5KTtcblxuXHRcdCZbaHJlZl0sXG5cdFx0JltkYXRhLWZpbHRlcl0ge1xuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMsXG5cdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHBhaW50KHRleHQtbGlnaHQtcHJpbWFyeSk7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogcGFpbnQoYm9yZGVyLWRhcmstcHJpbWFyeSk7XG5cdFx0XHRcdGNvbG9yOiBwYWludCh0ZXh0LWRhcmstcHJpbWFyeSk7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQG1peGluIHBpbGwtYmFkZ2Utc2l6ZSggJHNpemU6IG0gKSB7XG5cdEBpZiAkc2l6ZSA9PSBtIHtcblx0XHRoZWlnaHQ6IHJlbSgyNCk7XG5cdFx0Zm9udC1zaXplOiByZW0oMTQpO1xuXHRcdGxpbmUtaGVpZ2h0OiByZW0oMjQpOyAvLyBkb2Vzbid0IG1hdGNoIGZpZ21hIHRvIGNvbXBlbnNlIHBlY3VsaWFyIGZvbnQgYW5kIGtlZXAgY2VudGVyLXZhbGlnbmVkXG5cdFx0cGFkZGluZzogMCByZW0oMTApOyAvLyBkb2Vzbid0IG1hdGNoIGZpZ21hIHRvIGNvbXBlbnNlIHBlY3VsaWFyIGZvbnQgYW5kIGtlZXAgY2VudGVyLXZhbGlnbmVkXG5cblx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKDEyKTtcblx0XHR9XG5cdH0gQGVsc2UgaWYgJHNpemUgPT0gcyB7XG5cdFx0aGVpZ2h0OiByZW0oMTkpO1xuXHRcdGZvbnQtc2l6ZTogcmVtKDEyKTtcblx0XHRsaW5lLWhlaWdodDogcmVtKDE5KTtcblx0XHRwYWRkaW5nOiAwIHJlbSg4KTtcblxuXHRcdCY6bm90KDpsYXN0LWNoaWxkKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0oOCk7XG5cdFx0fVxuXHR9IEBlbHNlIHtcblx0XHRoZWlnaHQ6IHJlbSgxNyk7XG5cdFx0Zm9udC1zaXplOiByZW0oMTApO1xuXHRcdGxpbmUtaGVpZ2h0OiByZW0oMTcpO1xuXHRcdHBhZGRpbmc6IDAgcmVtKDYpO1xuXG5cdFx0Jjpub3QoOmxhc3QtY2hpbGQpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbSg2KTtcblx0XHR9XG5cdH1cbn1cblxuXG4vLyBCdXR0b25zIGFuZCBMaW5rcyAtIExpbmsgd2l0aCBJY29uXG5AbWl4aW4gbGluay13aXRoLWljb24oICRjb2xvcjogbm9ybWFsICkge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Z2FwOiByZW0oMik7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRAaWYgJGNvbG9yID09IG5vcm1hbCB7XG5cdFx0Y29sb3I6IHBhaW50KHRleHQtZGFyay1wcmltYXJ5KTtcblxuXHRcdCZbaHJlZl0ge1xuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMsXG5cdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdGNvbG9yOiBwYWludCh0ZXh0LWRhcmstcHJpbWFyeSk7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0Ym9yZGVyOiAwLjVweCBzb2xpZCBwYWludChib3JkZXItbGlnaHQtcHJpbWFyeSk7XG5cdFx0Y29sb3I6IHBhaW50KHRleHQtbGlnaHQtcHJpbWFyeSk7XG5cblx0XHQmW2hyZWZdIHtcblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzLFxuXHRcdFx0JjphY3RpdmUge1xuXHRcdFx0XHRjb2xvcjogcGFpbnQodGV4dC1saWdodC1wcmltYXJ5KTtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBsaW5rLXdpdGgtaWNvbi1zaXplKCAkc2l6ZTogbSApIHtcblx0QGlmICRzaXplID09IG0ge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE2KTtcblxuXHRcdCY6bm90KDpsYXN0LWNoaWxkKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0oMTIpO1xuXHRcdH1cblxuXHRcdCY6OmJlZm9yZSxcblx0XHQmOjphZnRlciB7XG5cdFx0XHRmb250LXNpemU6IHJlbSgyMCkgIWltcG9ydGFudDtcblx0XHRcdGhlaWdodDogcmVtKDIwKTtcblx0XHR9XG5cblx0XHRzcGFuIHtcblx0XHRcdGhlaWdodDogcmVtKDE2KTtcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oMjApO1xuXHRcdH1cblx0fSBAZWxzZSBpZiAkc2l6ZSA9PSBzIHtcblx0XHRmb250LXNpemU6IHJlbSgxNCk7XG5cblx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKDgpO1xuXHRcdH1cblxuXHRcdCY6OmJlZm9yZSxcblx0XHQmOjphZnRlciB7XG5cdFx0XHRmb250LXNpemU6IHJlbSgyMCkgIWltcG9ydGFudDtcblx0XHRcdGhlaWdodDogcmVtKDIwKTtcblx0XHR9XG5cblx0XHRzcGFuIHtcblx0XHRcdGhlaWdodDogcmVtKDE0KTtcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oMTcpO1xuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMTIpO1xuXG5cdFx0Jjpub3QoOmxhc3QtY2hpbGQpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbSg2KTtcblx0XHR9XG5cblx0XHQmOjpiZWZvcmUsXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Zm9udC1zaXplOiByZW0oMTYpICFpbXBvcnRhbnQ7XG5cdFx0XHRoZWlnaHQ6IHJlbSgxNik7XG5cdFx0fVxuXG5cdFx0c3BhbiB7XG5cdFx0XHRoZWlnaHQ6IHJlbSgxMik7XG5cdFx0XHRsaW5lLWhlaWdodDogcmVtKDE0KTtcblx0XHR9XG5cdH1cbn1cblxuXG4vLyBCdXR0b25zIGFuZCBMaW5rcyAtIExpbmsgd2l0aCBDaXJjbGUgQnV0dG9uXG5AbWl4aW4gbGluay13aXRoLdGBaXJjbGUoICRjb2xvcjogbm9ybWFsICkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHQmOjpiZWZvcmUsXG5cdCY6OmFmdGVyIHtcblx0XHR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1zdGFuZGFyZDtcblx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiBib3JkZXItY29sb3I7XG5cdH1cblxuXHQmOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRib3R0b206IHJlbSgxKTtcblx0XHRsZWZ0OiAwO1xuXHR9XG5cblx0Jjo6YWZ0ZXIge1xuXHRcdEBpbmNsdWRlIGljb24tZm9udCgkaWNvbi1hcnJvdy1yaWdodCwgI3tyZW0oMTYpfSk7XG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdGZsZXgtc2hyaW5rOiAwO1xuXHR9XG5cblx0c3BhbiB7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblxuXHRcdCY6ZW1wdHkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHRAaWYgJGNvbG9yID09IG5vcm1hbCB7XG5cdFx0Y29sb3I6IHBhaW50KHRleHQtZGFyay1wcmltYXJ5KTtcblxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHBhaW50KGludGVyYWN0aW9uKTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHBhaW50KGludGVyYWN0aW9uKTtcblx0XHR9XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMsXG5cdFx0JjphY3RpdmUge1xuXHRcdFx0Y29sb3I6IHBhaW50KHRleHQtZGFyay1wcmltYXJ5KTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0Jjo6YWZ0ZXIsXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRib3JkZXItY29sb3I6IHBhaW50KHRleHQtZGFyay1wcmltYXJ5KTtcblx0XHRcdH1cblx0XHR9XG5cdH0gQGVsc2Uge1xuXHRcdGNvbG9yOiBwYWludCh0ZXh0LWxpZ2h0LXByaW1hcnkpO1xuXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgcGFpbnQodGV4dC1saWdodC1wcmltYXJ5KTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHBhaW50KHRleHQtbGlnaHQtcHJpbWFyeSk7XG5cdFx0XHRjb2xvcjogcGFpbnQodGV4dC1kYXJrLXByaW1hcnkpO1xuXHRcdH1cblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyxcblx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRjb2xvcjogcGFpbnQodGV4dC1saWdodC1wcmltYXJ5KTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdGJvcmRlci1jb2xvcjogcGFpbnQodGV4dC1saWdodC1wcmltYXJ5KTtcblxuXHRcdFx0Jjo6YWZ0ZXIsXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRib3JkZXItY29sb3I6IHBhaW50KHRleHQtbGlnaHQtcHJpbWFyeSk7XG5cdFx0XHRcdG9wYWNpdHk6IDAuOTU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBsaW5rLXdpdGgt0YFpcmNsZS1zaXplKCAkc2l6ZTogcyApIHtcblx0QGlmICRzaXplID09IG0ge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE2KTtcblx0XHRsaW5lLWhlaWdodDogcmVtKDI0KTtcblx0XHRnYXA6IHJlbSgxMCk7XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIHJlbSgzNCkpO1xuXHRcdH1cblxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdHdpZHRoOiByZW0oMjIpO1xuXHRcdFx0aGVpZ2h0OiByZW0oMjIpO1xuXHRcdFx0bGluZS1oZWlnaHQ6IHJlbSgyMCkgIWltcG9ydGFudDtcblx0XHR9XG5cdH0gQGVsc2UgaWYgJHNpemUgPT0gcyB7XG5cdFx0Zm9udC1zaXplOiByZW0oMTQpO1xuXHRcdGxpbmUtaGVpZ2h0OiByZW0oMjApO1xuXHRcdGdhcDogcmVtKDgpO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLSByZW0oMjYpKTtcblx0XHR9XG5cblx0XHQmOjphZnRlciB7XG5cdFx0XHR3aWR0aDogcmVtKDE4KTtcblx0XHRcdGhlaWdodDogcmVtKDE4KTtcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oMTYpICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG59XG5cblxuLy8gQnV0dG9ucyBhbmQgTGlua3MgLSBDaXJjbGUgQnRuXG5AbWl4aW4gY2lyY2xlLWJ0biggJHR5cGU6IHNlY29uZGFyeSwgJGNvbG9yOiBub3JtYWwgKSB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcblx0Y29sb3I6ICRibGFjaztcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRwYWRkaW5nOiAwO1xuXG5cdCY6Zm9jdXMsXG5cdCY6YWN0aXZlIHtcblx0XHRvdXRsaW5lOiAwLjVweCBzb2xpZCAkYmxhY2s7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0W2NsYXNzXj1cImljb24tXCJdLFxuXHRcdFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdEBpZiAkdHlwZSA9PSBwcmltYXJ5IHtcblx0XHRib3JkZXI6IG5vbmU7XG5cblx0XHRAaWYgJGNvbG9yID09IG5vcm1hbCB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBwYWludChpbnRlcmFjdGlvbik7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWludChpbnRlcmFjdGlvbi1ob3Zlcik7XG5cdFx0XHR9XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBwYWludChib3JkZXItbGlnaHQtcHJpbWFyeSk7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KTtcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcblx0XHRcdH1cblx0XHR9XG5cdH0gQGVsc2Uge1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG5cdFx0QGlmICRjb2xvciA9PSBub3JtYWwge1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuXG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG5cdFx0XHR9XG5cblx0XHRcdCY6YWN0aXZlIHtcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA4KTtcblx0XHRcdH1cblx0XHR9IEBlbHNlIHtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHBhaW50KGJvcmRlci1saWdodC1wcmltYXJ5KTtcblx0XHRcdGNvbG9yOiBwYWludChib3JkZXItbGlnaHQtcHJpbWFyeSk7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcblx0XHRcdFx0b3V0bGluZTogMC41cHggc29saWQgcGFpbnQoYm9yZGVyLWxpZ2h0LXByaW1hcnkpO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQG1peGluIGNpcmNsZS1idG4tc2l6ZSggJHNpemU6IG0gKSB7XG5cdEBpZiAkc2l6ZSA9PSB4bCB7XG5cdFx0d2lkdGg6IHJlbSg1Nik7XG5cdFx0aGVpZ2h0OiByZW0oNTYpO1xuXG5cdFx0W2NsYXNzXj1cImljb24tXCJdLFxuXHRcdFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuXHRcdFx0d2lkdGg6IHJlbSgyMCk7XG5cdFx0XHRoZWlnaHQ6IHJlbSgyMCk7XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDIwKTtcblx0XHRcdH1cblx0XHR9XG5cdH0gQGVsc2UgaWYgJHNpemUgPT0gbCB7XG5cdFx0d2lkdGg6IHJlbSg0OCk7XG5cdFx0aGVpZ2h0OiByZW0oNDgpO1xuXG5cdFx0W2NsYXNzXj1cImljb24tXCJdLFxuXHRcdFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuXHRcdFx0d2lkdGg6IHJlbSgyMCk7XG5cdFx0XHRoZWlnaHQ6IHJlbSgyMCk7XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDIwKTtcblx0XHRcdH1cblx0XHR9XG5cblx0fSBAZWxzZSBpZiAkc2l6ZSA9PSBtIHtcblx0XHR3aWR0aDogcmVtKDQwKTtcblx0XHRoZWlnaHQ6IHJlbSg0MCk7XG5cblx0XHRbY2xhc3NePVwiaWNvbi1cIl0sXG5cdFx0W2NsYXNzKj1cIiBpY29uLVwiXSB7XG5cdFx0XHR3aWR0aDogcmVtKDIwKTtcblx0XHRcdGhlaWdodDogcmVtKDIwKTtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMjApO1xuXHRcdFx0fVxuXHRcdH1cblx0fSBAZWxzZSBpZiAkc2l6ZSA9PSBzIHtcblx0XHR3aWR0aDogcmVtKDM2KTtcblx0XHRoZWlnaHQ6IHJlbSgzNik7XG5cblx0XHRbY2xhc3NePVwiaWNvbi1cIl0sXG5cdFx0W2NsYXNzKj1cIiBpY29uLVwiXSB7XG5cdFx0XHR3aWR0aDogcmVtKDE4KTtcblx0XHRcdGhlaWdodDogcmVtKDE4KTtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMTgpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHR9IEBlbHNlIGlmICRzaXplID09IHhzIHtcblx0XHR3aWR0aDogcmVtKDMyKTtcblx0XHRoZWlnaHQ6IHJlbSgzMik7XG5cblx0XHRbY2xhc3NePVwiaWNvbi1cIl0sXG5cdFx0W2NsYXNzKj1cIiBpY29uLVwiXSB7XG5cdFx0XHR3aWR0aDogcmVtKDE2KTtcblx0XHRcdGhlaWdodDogcmVtKDE2KTtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMTYpO1xuXHRcdFx0fVxuXHRcdH1cblx0fSBAZWxzZSB7IC8vIHh4c1xuXHRcdHdpZHRoOiByZW0oMjQpO1xuXHRcdGhlaWdodDogcmVtKDI0KTtcblxuXHRcdFtjbGFzc149XCJpY29uLVwiXSxcblx0XHRbY2xhc3MqPVwiIGljb24tXCJdIHtcblx0XHRcdHdpZHRoOiByZW0oMTYpO1xuXHRcdFx0aGVpZ2h0OiByZW0oMTYpO1xuXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbSgxNik7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbiNqcXVlcnktbGl2ZS1zZWFyY2gge1xuXHR3aWR0aDogMTAwdncgIWltcG9ydGFudDtcblx0bWFyZ2luLXRvcDogcmVtKC02KTtcbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi8uLi9jc3Mvc3JjL2xpYi9iYXNlLWluY2x1ZGVzXCI7XG5cbi5oZXJvLXNlY3Rpb24ge1xuXHQkc2VsZjogJjtcblxuXHQmX19mdWxsd2lkdGgtaW1hZ2UjeyRzZWxmfS0tdGV4dC1sZWZ0IHtcblx0XHQucm93OmZpcnN0LWNoaWxkIHtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0fVxuXHR9XG5cblx0Jl9fZnVsbHdpZHRoLWltYWdlI3skc2VsZn0tLXRleHQtY2VudGVyIHtcblx0XHQucm93OmZpcnN0LWNoaWxkIHtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR9XG5cdH1cblxuXHQmX19mdWxsd2lkdGgtaW1hZ2UjeyRzZWxmfS0tdGV4dC1yaWdodCB7XG5cdFx0LnJvdzpmaXJzdC1jaGlsZCB7XG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHR9XG5cdH1cblxuXHQmX19mdWxsd2lkdGgtaW1hZ2Uge1xuXHRcdHBhZGRpbmc6IGNhbGMocmVtKDY0KSArIHZhcigtLWhlYWRlcnNpemUsIHJlbSg2NCkpKSAwIHJlbSg2NCk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cdFx0XHRwYWRkaW5nOiBjYWxjKHJlbSg5NikgKyB2YXIoLS1oZWFkZXJzaXplLCByZW0oOTYpKSkgMCByZW0oOTYpO1xuXHRcdH1cblxuXHRcdCN7JHNlbGZ9X19pbWFnZS13cmFwIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdG1hcmdpbi10b3A6IHJlc3BvbnNpdmUtdmFsdWVzKDQ4LCA2NCk7XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0cGFkZGluZy10b3A6IDU2LjI1JTsgLy8gMTY6OSByYXRpb1xuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogMzcuNSUgLy8gMjQ6OSByYXRpb1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGltZyB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRcdFx0b3V0bGluZTogMXB4IHNvbGlkICRibGFjaztcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuYy1idG4ge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuXHRcdFx0XHRwYWRkaW5nOiByZW0oMTUpIHJlbSgyMyk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuICE9IG51bGwgYW5kICRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiJdfQ== */
