.cta-banner:not(:has(.cta-banner__bg__image)) .button {
	background-color: var(--wp--preset--color--black);
	border-color: var(--wp--preset--color--black);
	color: var(--wp--preset--color--bg-alt);
}
.cta-banner:not(:has(.cta-banner__bg__image)) .button:hover, .cta-banner:not(:has(.cta-banner__bg__image)) .button:focus {
	background-color: transparent;
	color: var(--wp--preset--color--black);
}
.cta-banner__bg__image {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 0.3125rem;
	inset: 0;
	position: absolute;
	z-index: 0;
}
.cta-banner__bg__image::after {
	background: linear-gradient(0deg, rgba(252, 138, 31, 0.12), rgba(252, 138, 31, 0.12)), linear-gradient(0deg, rgba(35, 9, 3, 0.4), rgba(35, 9, 3, 0.4)), url("../../../../assets/images/bg-noise.png");
	border-radius: 0.3125rem;
	content: "";
	inset: 0;
	position: absolute;
}
@media (min-width: 782px) {
	.cta-banner__bg__image::after {
		background: linear-gradient(0deg, rgba(252, 138, 31, 0.12), rgba(252, 138, 31, 0.12)), linear-gradient(90deg, rgba(35, 9, 3, 0.8) 0%, rgba(35, 9, 3, 0) 35.78%), url("../../../../assets/images/bg-noise.png");
	}
}
.cta-banner__content {
	position: relative;
	z-index: 1;
}
.cta-banner .title {
	color: currentColor;
	margin: 0;
}
.cta-banner .title + .button__wrap {
	margin-top: 2rem;
}
.cta-banner .description {
	font-size: clamp(0.8125rem, 1.0316368638vw, 0.9375rem);
	line-height: 1.6;
	margin-top: 1.25rem;
	max-width: 42.1875rem;
}
.cta-banner .button__wrap {
	margin-top: 1.25rem;
}
.cta-banner .container {
	background-color: var(--wp--preset--color--secondary);
	border-radius: 0.3125rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 22.875rem;
	padding: 3rem 1.25rem;
	position: relative;
}
@media (min-width: 782px) {
	.cta-banner .container {
		padding: 1.0625rem 1.0625rem 1.0625rem clamp(1.0625rem, 8.0467675378vw, 7.3125rem);
	}
}
.cta-banner .shortcode {
	margin-top: 3.75rem;
}
.cta-banner .shortcode form {
	max-width: 35.6875rem;
	position: relative;
}
.cta-banner .shortcode form input[type=text],
.cta-banner .shortcode form input[type=email] {
	background: none;
	border-color: var(--wp--preset--color--black);
	border-radius: 0;
	border-style: solid;
	border-width: 0 0 0.0625rem 0;
	color: currentColor;
	font-size: 0.9375rem;
	height: 2.75rem;
	margin: 0 !important;
	padding: 0 3.125rem 0 0 !important;
}
.cta-banner .shortcode form input[type=text]::placeholder,
.cta-banner .shortcode form input[type=email]::placeholder {
	color: currentColor;
	opacity: 1;
}
.cta-banner .shortcode form input[type=submit],
.cta-banner .shortcode form button[type=submit] {
	background-color: var(--wp--preset--color--black);
	border: 0;
	bottom: 0;
	box-shadow: none;
	cursor: pointer;
	font-size: 0;
	height: 2.125rem;
	margin: auto 0 !important;
	mask-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzUiIGhlaWdodD0iMzQiIHZpZXdCb3g9IjAgMCAzNSAzNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxwYXRoIGQ9Ik0xOC44ODI5IDguMjQ1NTlMMjcuNTQ0OSAxNi42NjAyTTI3LjU0NDkgMTYuNjYwMkwxOC44ODI5IDI1LjA3NDdNMjcuNTQ0OSAxNi42NjAySDYuNzU1OTgiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K);
	mask-position: -0.0625rem 0.1875rem;
	mask-repeat: repeat;
	mask-size: 2.1875rem 2.125rem;
	min-width: 2.1875rem;
	opacity: 1;
	overflow: hidden;
	padding: 0;
	position: absolute;
	right: 0;
	top: 0;
	transition: mask-position var(--lmav--transition-speed) var(--lmav--transition-timing-function);
	width: 2.1875rem;
}
.cta-banner .shortcode form input[type=submit]:hover,
.cta-banner .shortcode form button[type=submit]:hover {
	mask-position: 2.125rem 0.1875rem;
}
.cta-banner .shortcode form p {
	margin: 0;
}
.cta-banner .shortcode form .mc4wp-response {
	width: 100%;
}
.cta-banner.is-style-full:has(.cta-banner__bg__image) {
	color: var(--wp--preset--color--secondary);
}
.cta-banner.is-style-full .image__wrap {
	inset: 0;
	position: absolute;
}
.cta-banner.is-style-full .image__wrap img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}
.cta-banner.is-style-small:has(.image__wrap) .title {
	max-width: 27.5rem;
}
.cta-banner.is-style-small:has(.image__wrap) .container {
	align-items: center;
	flex-direction: row;
	gap: 3.125rem;
	justify-content: space-between;
}
.cta-banner.is-style-small:has(.image__wrap) .container .cta-banner__content {
	width: 100%;
}
.cta-banner.is-style-small:has(.image__wrap) .image__wrap {
	display: none;
	mask-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiIHZpZXdCb3g9IjAgMCA1MzEgMzQ5Ij48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTIzMC41NyAzNDguMjVoLTEuMzJhNy42IDcuNiAwIDAgMC00Ljk2LTEuM3EtMi4zNy4xNC00Ljc3LjIzYy0yLjEuMDgtNC4yLjE2LTYuMy4zNXEtLjk4LjA3LTIuMDEuMDRjLTEuNS0uMDItMy4wMy0uMDQtNC40NC42OGgtMS4zMmMtMS4yNS0uNjgtMi42Mi0uNy0zLjk4LS43cS0uODIuMDEtMS42Mi0uMDVjLTMuNzktLjM0LTcuNjEtLjQtMTEuNDMtLjQ2aC0uMDFxLTIuMjUtLjAyLTQuNDktLjA4Yy0xLjQ2LS4wNC0yLjkxLjEtNC4zNi4yNS0xLjYuMTUtMy4xOC4zLTQuNzguMjMtLjQtLjAyLS44LS4xMy0xLjItLjI0LS42LS4xNy0xLjE4LS4zMy0xLjczLS4xNi0yLjIuNzItNC40My41OC02LjY1LjQ1YTM2IDM2IDAgMCAwLTIuOTItLjFjLTMuMDkuMDQtNi4xNy0uMDYtOS4yNi0uMTVxLTMuMTMtLjEyLTYuMjctLjE2bC0xLjMzLS4wMmE0MyA0MyAwIDAgMC03Ljc4LjM0Yy0uODcuMTQtMS43NC4xMS0yLjYuMDhsLTEuMzQtLjAyYTEyIDEyIDAgMCAxLTIuNDQtLjI2IDEwIDEwIDAgMCAwLTIuOTUtLjIzcS0xLjA2LjE0LTIuMTEuM2MtMS43Mi4yNy0zLjQzLjUzLTUuMjMuNDNsLS43LS4wN2MtMS4wOC0uMTItMi4zOC0uMjYtMy4zNi42M2gtLjg4Yy0uNjQtLjc4LTEuNC0uNy0yLjE2LS42MS0uMzUuMDQtLjcuMDgtMS4wNS4wMy00LjEyLS41MS04LjE5LS4yMi0xMi4yOS4xMi0xLjUxLjEzLTMuMDcuMDUtNC41OS0uMTFxLTEuNC0uMTUtMi44LS4yNWgtLjAxYTQ0IDQ0IDAgMCAxLTYuNzgtLjg5IDIuMyAyLjMgMCAwIDAtMS41LjE1Yy0xLjM2LjcyLTIuOC43MS00LjI2LjdoLTQuMDRjLTIuNzQuMDEtNS40OC4wMy04LjIyLS4wMy0uODctLjAyLTEuNy4xMi0yLjU1LjI2LTEuMDkuMTgtMi4xNy4zNi0zLjMuMi0zLjg4LS41Ni03LjgtLjUtMTEuNy0uNDRxLTIuMzYuMDUtNC43LjAzYTkgOSAwIDAgMS0xLjY4LS4yYy0uNzMtLjEyLTEuNDUtLjI0LTIuMTUtLjE1YTYzIDYzIDAgMCAxLTEzLjA3LjIybC0xLjAzLS4wOWEzMyAzMyAwIDAgMC01LjI0LS4xNnEtMS4zMi4wOC0yLjYuMDVoLS45MmMtLjY2IDAtMS4zLS4xNC0xLjk2LS4zLTEuMDQtLjIzLTIuMDgtLjQ3LTMuMTYtLjA2YTE2LjUgMTYuNSAwIDAgMS0xMS4zLjI1Qy43IDM0Ni4yMy4yIDM0NS4yMi44OSAzNDNjLjM4LTEuMjUuNTUtMi40MS4zNC0zLjg0cS0uMS0uNi0uMjQtMS4yNGMtLjI4LTEuMzItLjU2LTIuNjgtLjA2LTQuMTdsLjA4LS4yNHYtLjAyYy40MS0xLjIuOTItMi43LjUzLTMuODQtLjY1LTEuOTUtLjYzLTMuOTMtLjYxLTUuOS4wMS0xLjExLjAyLTIuMjItLjA5LTMuMzEtLjA4LS44OC4wMi0xLjc3LjEyLTIuNjguMTYtMS40LjMyLTIuOC0uMTktNC4yM0EzLjggMy44IDAgMCAxIC43MiAzMTFjLjc4LTEuODQuNjctMy43NC41NS01LjYzYTIwIDIwIDAgMCAxLS4wMi0zLjRjLjExLTEuMDYgMC0yLjE4LS4xMS0zLjMzYTE4IDE4IDAgMCAxLS4xMy0zLjU4IDI3IDI3IDAgMCAwLS4yNS01LjdsLS4wNS0uNGMtLjItMS43NS0uMDItMy41MS4xNi01LjI4LjE3LTEuNjUuMzQtMy4zLjItNC45N3EwLS4yMy4xLS40NS4wNy0uMTguMDktLjM3LjA5LTEuMjUuMjctMi41Yy4yNS0xLjkyLjUtMy44My4xMS01LjY4YTIyIDIyIDAgMCAxLS41Ny01LjQ0cS4wNi0xLjg4LjEtMy43N2MuMDMtMi4zLjA3LTQuNi4yOC02LjkuMDgtLjk0LS4wNS0xLjg5LS4xNy0yLjg0LS4xLS43OC0uMi0xLjU2LS4yLTIuMzRxLjA3LTMuMzQuMi02LjcuMTUtMy4yNy4yLTYuNTVjLjA1LTMuMS0uMTMtNi4yMS0uMzEtOS4zMVExIDIyMy4zMy45IDIyMC44Yy0uMDgtMi4xLjEtNC4xNS4zLTYuMThsLjA0LS40OGMuMjUtMi43MS4wMS01LjQtLjUzLTcuOTQtLjMzLTEuNTYtLjE3LTMgMC00LjQzcS4xLS44My4xNS0xLjY3LjA5LTEuMTcuMjctMi4zNGMuMjQtMS43LjQ4LTMuNC4wOC01LjE3LS41OC0yLjYtLjc5LTUuMjEtLjI4LTcuOTcuNTgtMy4xMi41OC02LjQ2LjM0LTkuNTZhOTAgOTAgMCAwIDEtLjM2LTEwLjM0cS4xNC0zLjEuMzItNi4yOWwuMTYtMi45OWMuMjQtNC42NC4xOS05LjMuMTQtMTMuOTZxLS4wNC0yLjc0LS4wNC01LjQ3YTkgOSAwIDAgMC0uMTYtMS45MXEtLjI0LS45My0uNi0xLjg2Yy0uNjgtMS44Ni0xLjM3LTMuNzIuMjgtNS43MS4yLS4yNC4xNC0uNjguMS0xLjEycS0uMDUtLjMtLjA2LS41OC0uMDEtMS40OC0uMDgtMi45NWMtLjEtMi4yLS4xOC00LjQuMTgtNi41My42LTMuNTIuNDMtNy4wMy4yNi0xMC41My0uMTEtMi40My0uMjMtNC44Ni0uMDktNy4yOS4wNi0xLjA3LS4wNS0yLjE2LS4xNi0zLjI3YTE4IDE4IDAgMCAxLS4xLTQuMTNxLjA5LS41My4yNS0xLjA0Yy4yLS43LjQtMS40LjE2LTIuMDgtLjYyLTEuNzUtLjQtMy41MS0uMi01LjI3LjItMS41OC4zOC0zLjE2LS4wMy00LjcyLS4yNy0xLS4yNy0yLjAyLS4yNy0zLjA0Qy45NyA3MyAuOTcgNzIgLjczIDcxYy0uNTQtMi4yNi0uNDEtNC45LjE3LTcgLjU2LTIuMDYuNjktMy44My4xOC01LjczbC0uMDgtLjNjLS4zNC0xLjI0LS43LTIuNTMtLjMtMy42OC43MS0yLjE0LjY2LTQuMzcuNi02LjUzbC0uMDItMS45Yy4wMy0zLjQxLS4wNi02Ljg1LS4xNS0xMC4yOXEtLjA3LTIuMS0uMS00LjJBNSA1IDAgMCAxIDEuMjYgMzBjLjE1LS41MS4zLTEuMDEuMi0xLjU0YTQwIDQwIDAgMCAxLS4zOS02Ljg3cTAtMS41Ni0uMDMtMy4xM2MtLjAzLS42Ni4xMS0xLjMuMjYtMS45My4xOC0uODIuMzYtMS42NC4xOS0yLjVsLS4yNi0xLjIxQy43OCAxMC42Ny4zMiA4LjU4Ljk0IDYuMiAxLjg4IDIuNiA0LjA0LjkzIDcuOSAxLjc4bC43NC4xOGMxLjIuMjkgMi40OC42IDMuNDguMjYgMy4xNi0xLjA4IDYuNDEtMS4wNCA5LjYxLTEuMDFxMS4yLjAyIDIuNCAwbDEuMi0uMDFjMi45NS0uMDUgNi0uMSA4Ljk0LjY4IDEuMzMuMzUgMi41Ny0uMDEgMy44MS0uMzhhMTEgMTEgMCAwIDEgMi4zLS41MWMxLjM0LS4xMSAyLjYuMiAzLjg3LjUgMS40Ny4zNSAyLjkzLjcgNC40Ny40YTI3IDI3IDAgMCAxIDExIC4wNSA5LjYgOS42IDAgMCAwIDQuODUtLjA0IDI2IDI2IDAgMCAxIDguMTMtLjc1bDIuMjMuMDhxNC4yMi4xNyA4LjQ1LjIyYy4zNCAwIC42NS4xMi45Ny4yNC40OC4xOC45Ni4zNiAxLjUzLjExIDIuNjMtMS4xNSA1LjMtLjg2IDguMDMtLjU3bC44Ni4xYzEuOTguMiA0LjA2LjQgNi4xNC4wOCAxLjkyLS4yOSAzLjkyLS4yNiA1Ljg2LjI2IDEuMzYuMzcgMi42OS40MSA0LS4yIDEuNi0uNzYgMy4yNC0uNTUgNC44Ny0uMTlxLjQuMS43OS4yOWMuNDUuMi44OS4zOCAxLjIxLjI2IDEuNC0uNTUgMi44NC0uNDQgNC4yOS0uMzMgMS41MS4xMiAzLjAzLjIzIDQuNS0uNGEzLjggMy44IDAgMCAxIDMgLjA4YzEuNDIuODMgMi44Ni43OCA0LjMyLjczcS43Mi0uMDMgMS40NC0uMDFhNSA1IDAgMCAwIDEuNDQtLjI0Yy40My0uMTEuODUtLjIzIDEuMy0uMjUgMS40Mi0uMDUgMi44Mi4wOSA0LjIuMjIgMS4yLjEyIDIuNC4yNCAzLjU5LjIzaDIuM2MzLjU4LS4wMyA3LjE1LS4wNSAxMC43LjMxYTYuNCA2LjQgMCAwIDAgMy4zMi0uNTNjMS40Ny0uNjIgMy43Ny0uODUgNC43OC0uMzUgMS43OC44OCAzLjUzLjcgNS4yNS41Mi45NS0uMSAxLjktLjIgMi44NC0uMTEgMS45LjE2IDMuODMtLjA1IDUuNzctLjI2IDEuNTgtLjE3IDMuMTctLjM0IDQuNzUtLjMxIDEuNjcuMDMgMy4zOC4xOCA1LjA3LjMzbC41NS4wNWMuMzguMDMuNzItLjA1IDEuMDYtLjEyLjQyLS4wOS44NS0uMTggMS4zNi0uMWwuNTMuMWMyLjAxLjMzIDQuMDYuNjcgNi4xNi41NC44NC0uMDUgMS42Mi0uMjkgMi40LS41M3EuOTQtLjMyIDEuOTUtLjQ5YzEuNDYtLjIxIDIuNzguMTUgNC4wOS41MSAxLjAzLjI4IDIuMDcuNTcgMy4xNy41NyAxLjQgMCAyLjgtLjI4IDQuMTctLjU1IDEuOTgtLjQgMy45NS0uOCA1Ljk0LS4zMyAyLjEzLjUgNC4yNC4zMyA2LjM2LjE3IDEuOC0uMTQgMy42Mi0uMjggNS40NiAwIDEuMTcuMTYgMi40MiAwIDMuNy0uMTUgMS41LS4xOSAzLjAyLS4zOCA0LjUtLjA0IDEuMzguMzIgMi43Ni4yNiA0LjE0LjE5czIuNzUtLjE0IDQuMS4xOXEuNjMuMTYgMS4yNC4zN2MxLjAzLjM1IDIuMDYuNyAzLjE0LjQycTMuMjYtLjg1IDYuNjItLjggMS4yNiAwIDIuNTMuMDRjMi42LjA2IDUuMi4xMiA3Ljc3LS4xMmwxLjE5LS4xM2MyLjAyLS4yNCAzLjk3LS40NyA1Ljg0Ljc3LjIzLjE1LjYuMzQuNzguMjYgMi4yOC0xLjA0IDQuNjQtLjg3IDctLjcgMS43LjEyIDMuNC4yNSA1LjA3LS4wOC43My0uMTQgMS40NS4wMyAyLjE4LjJhNSA1IDAgMCAwIDIuMzMuMmMzLjMtLjc1IDYuNTctLjQ2IDkuODguMDJsLjQ0LjA3YzEuMTcuMTcgMi40MS4zNiAzLjU3LjIgMy4wOC0uNDQgNi4xNS0uODMgOS4yNy0uNzIuMzguMDIuNzUuMTMgMS4xMS4yMy42Ni4yIDEuMzIuNCAyLjA0LjA1YTggOCAwIDAgMSA2LjgyLS4yNGMuNDcuMTkuNzguMTkgMS4zLjEyIDMuNjItLjQgNy4zNC0uNiAxMC44Ny0uMzdxMS42Mi4xMiAzLjI2LjI4YzIuMDcuMiA0LjE0LjQgNi4yLjM3Ljk3IDAgMS45NC4xMiAyLjkxLjI1IDEuOS4yNSAzLjguNSA1LjY3LS4zIDEuMDktLjQ1IDIuMTgtLjQxIDMuMjgtLjM3cS44NC4wNSAxLjY4LS4wMWMuMzQtLjAzLjY0LjEuOTUuMjIuMzUuMTMuNy4yNyAxLjEyLjIybC4zMi0uMDVjMi4wNC0uMjkgNC4wNC0uNTcgNi4xNC4zIDEuMjUuNSAyLjgzLjI2IDQuMjktLjA5IDMuMzctLjggNi44NS0xLjM0IDEwLjI4LS45NHEuODUuMSAxLjc4LjNjMS4yNi4yNiAyLjUzLjUgMy40Ni4yNyAxLjgtLjQ2IDMuNTktLjMgNS4zOC0uMTUgMi4wMi4xNyA0LjA1LjM0IDYuMTItLjM2IDEuNzgtLjYxIDMuNzMtLjM0IDUuNy0uMDUgMS4zNS4xOSAyLjcxLjM4IDQuMDQuMyAxLjM2LS4wOCAyLjcuMTIgNC4wNS4zMiAxLjc0LjI3IDMuNDkuNTMgNS4zLjE5bC40MS0uMDljMi4xOC0uNDIgNC4zNi0uODQgNi43My0uNi43NS4wNyAxLjU4IDAgMi40My0uMDkuOS0uMDkgMS44My0uMTggMi43LS4wOCAzLjU4LjQyIDcuMTUuMzIgMTAuNzIuMjFxMi0uMDcgNC4wMy0uMDkuODgtLjAyIDEuNzctLjEyYzEuNC0uMTQgMi44LS4yNyA0LjI2LjI2IDEuNC41MSAzLjMyLjY1IDQuNi4yNyAxLjQtLjQyIDIuNDktLjYzIDMuODUtLjIgMS44Ny42IDMuOC41NyA1Ljc3LjUuOTctLjAyIDEuOTMuMDYgMi44OS4xNSAxLjU5LjE0IDMuMTguMjggNC44Mi0uMSAxLjItLjI3IDIuNDItLjIgMy42Ny0uMTQgMS40Mi4wNyAyLjg3LjE0IDQuMy0uMjlsLjYtLjIyYy43My0uMjkgMS41My0uNiAyLjMtLjIgMS40NS43NyAyLjk3Ljc3IDQuNS43N3EuNzMgMCAxLjQ1LjAyYTEwIDEwIDAgMCAwIDIuMTgtLjIgOSA5IDAgMCAxIDIuMy0uMTZjMi42Ny4yOSA1LjI3LjI4IDcuODUtLjMgMS4wNi0uMjUgMi44NC0uMDkgMi45My4xLjY1IDEuNDggMS45NiAxLjE1IDIuODIuOTEgMS45Ni0uNTQgMy44Ny0uMiA1LjcuMTJsLjI0LjA0YzEuNjIuMjggMi44LS4xMiA0LjItLjcgMy43OS0xLjU3IDcuMDMuNjQgNy4wNCA0LjY1cS0uMDEgMi0uMSA0LjAxYy0uMTIgMi40OC0uMjIgNC45NS4wNiA3LjQzLjEzIDEuMS0uMDQgMi4xOS0uMiAzLjI4LS4xNS45NS0uMyAxLjktLjI2IDIuODguMDIuNDYuMTcuODkuMzIgMS4zLjIyLjYzLjQ1IDEuMjYuMjYgMi4wNGE5LjQgOS40IDAgMCAwIC44IDYuMTF2Ljg3Yy0uNTQuNy0uNjcgMS41My0uOCAyLjM2cS0uMDguNTctLjIyIDEuMTFjLS41OCAyLjExLTEuMTQgNC4yOC0uMzIgNi41MyAxLjEgMy4wNCAxLjQ0IDYuMTQuMDIgOS4yMS0uNiAxLjI5LS44NyAyLjg1LS4zNSAzLjkzIDEuMDMgMi4xNi43OSA0LjMxLjU0IDYuNDVhMjAgMjAgMCAwIDAtLjE5IDMuNTlxLjAxLjItLjAxLjQxYy0uMDMuMjQtLjA1LjQ3LjA0LjY1YTQgNCAwIDAgMSAuMjggMS43Yy4wMi45My4wMyAxLjg2IDEuMDIgMi41djMuODhjLTEuMTMgMS45Mi0xLjgyIDQuMTctMS4yIDYuMTUuNDIgMS4zMS4zNyAyLjYuMzEgMy44Ni0uMDMuNzItLjA2IDEuNDMgMCAyLjE0LjE0IDEuODQuMSAzLjcyLjA3IDUuNmE3NSA3NSAwIDAgMCAwIDQuNDVjLjAyLjQ4LS4xLjkyLS4yIDEuMzctLjExLjQ3LS4yMy45NC0uMiAxLjQ4bC4wNyAxLjAzYy4xNyAyLjYuMzQgNS4xOC4wNiA3Ljg0bC0uMS45di4wNGMtLjUgNC43OS0xLjAyIDkuNjIuMTcgMTQuNS40MiAxLjc0Ljc1IDMuNzYuMjMgNS44cS0uMTcuNjYtLjM5IDEuMzRjLS41OCAxLjktMS4yIDMuOS0uMDMgNS43OC43OSAxLjI3LjU3IDIuNDYuMzcgMy42NHEtLjEyLjYtLjE3IDEuMTgtLjA2Ljg0LS4wNSAxLjY1di41M2MwIDEuMjcuMTUgMi41NC4zIDMuOC4yNyAyLjI0LjU0IDQuNDgtLjAzIDYuNzgtLjg2IDMuNC0uODMgNi45OC0uNDMgMTAuNDQuMzQgMyAuNDcgNS45IDAgOC44OS0uMjEgMS40Mi0uMzMgMi45Mi4yOCA0LjRhNC42IDQuNiAwIDAgMSAuMTYgMy4yOGwtLjA0LjE3Yy0uMzIgMS4yLS42NyAyLjUtLjQ1IDMuNzQuNCAyLjIuNTIgNC4zMy41MiA2LjU4LS4wMSAyLjEzLS4xIDQuMjYtLjE4IDYuNC0uMTUgMy45LS4zIDcuOCAwIDExLjcuMDQuNS4xNiAxLjAxLjI3IDEuNTIuMi45Mi40MSAxLjgzLjE2IDIuNjUtMS4wMiAzLjI3LS44MyA2LjYxLS42NCA5LjkxcS4xMyAyLjAzLjE1IDQuMDJjMCAxLjE0LS4xIDIuMjgtLjE5IDMuNDMtLjE4IDIuNC0uMzcgNC44My4yIDcuMjYuNDUgMS45OS4yIDQuMDgtLjA2IDYuMTdxLS4xNSAxLjA4LS4yNCAyLjEzYTk1IDk1IDAgMCAwLS4wMiAxMS41OHEuMTEgMi41Mi4xNiA1LjAzdjIuMzljLS4wMSAyLjcyLS4wMiA1LjQ3LjYzIDguMThhNy42IDcuNiAwIDAgMS0uNDIgNS4wM2MtLjQ2LjkyLS41IDEuODMtLjM2IDIuNy41NSAzLjQzLjU0IDYuODcuNTIgMTAuMzIgMCAyLjQ3LS4wMSA0Ljk0LjE4IDcuNC4xMyAxLjU4IDAgMy4yLS4xNSA0LjgzYTM0IDM0IDAgMCAwLS4xOCA0LjU0IDQ0IDQ0IDAgMCAxLS43NiAxMC4yNiAxMCAxMCAwIDAgMCAuNTcgNS40MWMuNTIgMS4zMS4zNyAyLjcxLjIyIDQuMTQtLjEyIDEuMS0uMjQgMi4yNC0uMDQgMy4zNS4yMyAxLjM1LjA3IDIuNzEtLjEgNC4wOC0uMjIgMS44NC0uNDQgMy43LjMgNS41Ni40NyAxLjE5LTEuODUgMy40MS0zLjI0IDMuNDNxLS45Ni0uMDItMS45Ni0uMTRjLS45NS0uMS0xLjg3LS4yMS0yLjctLjA3LTMuODQuNjQtNy43Ny41NS0xMS40Ni4zOC0yLjE3LS4xLTQuMzMtLjEtNi40OS0uMS0yLjI4IDAtNC41Ni4wMS02Ljg0LS4xbC0yLjUxLS4xNmgtLjAyYy0yLjM1LS4xNS00LjctLjMtNy4wNi0uMjQtMS44Mi4wNi0zLjY1LjA1LTUuNDguMDUtMy4zMyAwLTYuNjUtLjAxLTkuOTguMzMtMi44OC4yOC01LjguMzgtOC43NC4xNy0xLjAyLS4wNy0yLjA1LS4yMi0zLjA5LS4zNy0yLjQyLS4zNS00Ljg0LS43LTcuMTEtLjA0LTIuMzEuNjctNC41Ny40Ny02LjgyLjI3LTEuODYtLjE2LTMuNy0uMzMtNS41NiAwLTEuMzYuMjMtMi43Ny4xNi00LjE4LjFxLS45OS0uMDYtMS45Ni0uMDdsLTMuMS4wMmMtMi41Ni4wMy01LjEyLjA2LTcuNjctLjFxLS43MS0uMDctMS40Mi0uMTljLS45LS4xNC0xLjc5LS4yOS0yLjY1LS4xMy01Ljg1IDEuMDUtMTEuNzguODUtMTcuNjEuNjRxLTIuOTktLjA5LTUuOTQtLjA4Yy0yLjY5IDAtNS4zNi0uMDEtOC4wMy0uMTktLjQ0LS4wMi0uODUuMDctMS4yNi4xNi0uNjMuMTQtMS4yOC4yOC0yLjA3IDAtMi45Ny0xLTYuMTItLjU1LTkuMTgtLjA0LTQuMTIuNjktOC4yNS40LTEyLjM3LjEybC0xLjUxLS4xYy0zLjYtLjIzLTcuMjYtLjQxLTEwLjgyLS4zYTI1MCAyNTAgMCAwIDEtMjAuMzUgMGgtLjAxYy0yLjI5LS4xMy00LjUzLS4yNC02Ljc1LjI0YTEzIDEzIDAgMCAxLTYuNjItLjE1Yy0yLjQ0LS41Ny00LjkzLTEuMTUtNy40NS0uNzMtMi40MS40MS00LjgzLjgtNy4yNy44cS0xLjQzLjAyLTIuODQuMDZjLTIuNzMuMDYtNS40Ni4xMy04LjEzLS4yLTEuMDctLjE0LTIuMTIgMC0zLjE0LjEzYTEwIDEwIDAgMCAxLTMuNjguMDJjLTEuMTgtLjMtMi4zMi0uMTgtMy40OC0uMDZsLS44Ni4wOGExMSAxMSAwIDAgMC0xLjM1LjI0Yy0xLjAyLjIyLTIuMDUuNDQtMi44OCAwLTEuMjItLjY2LTIuMzEtLjU3LTMuNDctLjQ3cS0uNTEuMDUtMS4wNS4wN2MtLjY5LjAxLTEuMzguMTMtMi4wOC4yNC0xLjYuMjctMy4yMy41My00Ljg1LS4zNy0uOTQtLjUzLTIuMjQtLjQ5LTMuMjQtLjQ2aC0uMTFxLTYuNDIuMjItMTIuODUuNWMtMS43NS4wOC0zLjUuMDYtNS4yNi4wMy0yLjUzLS4wMy01LjA2LS4wNy03LjU4LjJsLTEuMjcuMTFjLTEuNDYuMTItMi45Mi4yNC00LjMxLjc2ek00LjY4IDguNGMuMjIuNTMuNzEuOTEgMS4xNC44My0uNDMuMDktLjkyLS4zLTEuMTQtLjgzLS40My0xLjA2IDEuNy00LjA2IDIuODUtMy44OGwuMDUuMDFoLS4wNWMtMS4xNC0uMi0zLjI4IDIuOC0yLjg1IDMuODdtNi4yNy0zLjg4aC0uMDV6bS00LjE2IDMyOS45di4wOWE3IDcgMCAwIDEtLjA3IDEuMzRjLS4wNS40OC0uMS45Ni0uMDUgMS40NS0uMDUtLjQ4IDAtLjk2LjA1LTEuNDRxLjEtLjY3LjA3LTEuMzV2LS4xNHptLjM1IDQuMTkuMDIuMDJ6bS4xMi4yNGMuMi42LS4xOCAxLjM4LS43OSAxLjg1LjYxLS40Ny45OC0xLjI2LjgtMS44NW0tMi42Ny0xLjE0Yy4xNy0uNzYuMS0xLjUyLjAzLTIuMjguMDcuNzYuMTQgMS41Mi0uMDMgMi4yOG0yLjItNC4wNnYtLjRjMC0uMzEgMC0uNjItLjEtLjg3LjEuMjUuMS41Ni4xLjg2em0yLjQ4IDEwLjc3LS40OC0uMDdxLS41NC0uMDYtMS4wMy0uMmwtLjAyLS4wMmMtLjYtLjItMS4yOC0uNDUtMS4zMS0xLjIzLS4wNC0uODkuNy0xLjE0IDEuMzYtMS4zN2wuMDctLjAzLS4xLjA0Yy0uNjQuMjItMS4zNy40OC0xLjM0IDEuMzYuMDMuNzguNzIgMS4wMiAxLjMyIDEuMjRoLjAycS40OS4xNiAxLjAyLjIxem0uODYtLjFoLjAxTTUyNyAxNi43OWMtLjEzLS42OS0uNi0xLjA4LTEuNTYtMS4wNnMtMS4zNC40OC0xLjQ1IDEuMjFjLjEtLjczLjQ5LTEuMTkgMS40NS0xLjIuOTYtLjAzIDEuNDMuMzYgMS41NiAxLjA1bS4wNCAzMjBjMC0uOTMtLjQyLTEuNDUtMS40My0xLjQ4aC4wMWMxIC4wNCAxLjQyLjU2IDEuNDIgMS40OG0tNS43NyA2LjE2Yy0uMTItLjktLjY1LTEuNDQtMS41LTEuNTUtMS4wMS0uMTMtMS43NS40Mi0xLjg3IDEuMzcuMTItLjk1Ljg3LTEuNSAxLjg3LTEuMzcuODUuMTIgMS4zOC42NiAxLjUgMS41NW0tLjEuMjdjLS4zMy43LS44NSAxLjE4LTEuNjggMS4xMi44My4wNiAxLjM1LS40MSAxLjY4LTEuMTIiIGZpbGw9ImN1cnJlbnRDb2xvciIvPjwvc3ZnPg==);
	mask-repeat: no-repeat;
	mask-size: 100% 100%;
	position: relative;
}
@media (min-width: 782px) {
	.cta-banner.is-style-small:has(.image__wrap) .image__wrap {
		align-self: stretch;
		display: block;
		min-width: clamp(15.625rem, 36.5199449794vw, 33.1875rem);
		width: clamp(15.625rem, 36.5199449794vw, 33.1875rem);
	}
}
.cta-banner.is-style-small:has(.image__wrap) .image__wrap::after {
	background: linear-gradient(0deg, rgba(252, 138, 31, 0.12), rgba(252, 138, 31, 0.12)), url("../../../../assets/images/bg-noise.png");
	content: "";
	inset: 0;
	position: absolute;
}
.cta-banner.is-style-small:has(.image__wrap) .image__wrap img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}
.cta-banner.is-style-small:has(.shortcode) .description {
	font-size: clamp(1.25rem, 1.5130674003vw, 1.375rem);
}
.cta-banner.is-style-small .description {
	font-size: 0.9375rem;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3AtY29udGVudC90aGVtZXMvbGUtbW9uZGUtYS12ZWxvL2luY2x1ZGVzL21vZHVsZXMvY3RhLWJhbm5lci9idWlsZC9zdHlsZS5jc3MiLCJtYXBwaW5ncyI6IkFBTUU7Q0FDQyxpRENJWTtDREhaLDZDQ0dZO0NERlosdUNDUWE7QURiaEI7QUFPRztDQUVDO0NBQ0Esc0NDSFc7QURIZjtBQVdDO0NBQ0M7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7QUFURjtBQVdFO0NBQ0M7Q0FFQTtDQUNBO0NBQ0E7Q0FDQTtBQVZIO0FFdWlCRTtDRm5pQkE7RUFTRTtDQVRIO0FBQ0Q7QUFhQztDQUNDO0NBQ0E7QUFYRjtBQWNDO0NBQ0M7Q0FDQTtBQVpGO0FBY0U7Q0FDQztBQVpIO0FBZ0JDO0NBQ0M7Q0FDQTtDQUNBO0NBQ0E7QUFkRjtBQWlCQztDQUNDO0FBZkY7QUFrQkM7Q0FDQyxxREN0RGlCO0NEdURqQjtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtBQWhCRjtBRW9nQkU7Q0Y1ZkQ7RUFXRTtDQWZGO0FBQ0Q7QUFrQkM7Q0FDQztBQWhCRjtBQWtCRTtDQUNDO0NBQ0E7QUFoQkg7QUFrQkc7O0NBRUM7Q0FDQSw2Q0NqRlc7Q0RrRlg7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtBQWhCSjtBQWtCSTs7Q0FDQztDQUNBO0FBZkw7QUFtQkc7O0NBRUMsaURDbkdXO0NEb0dYO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBRUE7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7QUFsQko7QUFvQkk7O0NBQ0M7QUFqQkw7QUFxQkc7Q0FDQztBQW5CSjtBQXNCRztDQUNDO0FBcEJKO0FBMEJFO0NBQ0MsMENDeElnQjtBRGdIbkI7QUEyQkU7Q0FDQztDQUNBO0FBekJIO0FBMkJHO0NBQ0M7Q0FDQTtDQUNBO0FBekJKO0FBZ0NHO0NBQ0M7QUE5Qko7QUFpQ0c7Q0FDQztDQUNBO0NBQ0E7Q0FDQTtBQS9CSjtBQWlDSTtDQUNDO0FBL0JMO0FBbUNHO0NBQ0M7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtBQWpDSjtBRXFhRTtDRnpZQztFQVFFO0VBQ0E7RUFDQTtFQUNBO0NBaENKO0FBQ0Q7QUFrQ0k7Q0FDQztDQUNBO0NBQ0E7Q0FDQTtBQWhDTDtBQW1DSTtDQUNDO0NBQ0E7Q0FDQTtBQWpDTDtBQXVDRztDQUNDO0FBckNKO0FBeUNFO0NBQ0M7QUF2Q0gsQyIsInNvdXJjZXMiOlsid2VicGFjazovL2xtYXYtZW52Ly4vd3AtY29udGVudC90aGVtZXMvbGUtbW9uZGUtYS12ZWxvL2luY2x1ZGVzL21vZHVsZXMvY3RhLWJhbm5lci9zdHlsZS5zY3NzIiwid2VicGFjazovL2xtYXYtZW52Ly4vd3AtY29udGVudC90aGVtZXMvbGUtbW9uZGUtYS12ZWxvL2Fzc2V0cy9jc3MvX3NldHRpbmdzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9sbWF2LWVudi8uL3dwLWNvbnRlbnQvdGhlbWVzL2xlLW1vbmRlLWEtdmVsby9hc3NldHMvY3NzL19zZXR0aW5ncy9faW5jbHVkZS1tZWRpYS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJy4uLy4uLy4uL2Fzc2V0cy9jc3MvX3NldHRpbmdzL2luaXQnO1xyXG5cclxuLmN0YS1iYW5uZXIge1xyXG5cdCRibG9jazogJjtcclxuXHJcblx0Jjpub3QoOmhhcyguY3RhLWJhbm5lcl9fYmdfX2ltYWdlKSkge1xyXG5cdFx0LmJ1dHRvbiB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci0tYmxhY2s7XHJcblx0XHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLS1ibGFjaztcclxuXHRcdFx0Y29sb3I6ICRjb2xvci0tYmctYWx0O1xyXG5cclxuXHRcdFx0Jjpob3ZlcixcclxuXHRcdFx0Jjpmb2N1cyB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0XHRcdFx0Y29sb3I6ICRjb2xvci0tYmxhY2s7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCZfX2JnX19pbWFnZSB7XHJcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuXHRcdGJvcmRlci1yYWRpdXM6IHJlbSg1KTtcclxuXHRcdGluc2V0OiAwO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0ei1pbmRleDogMDtcclxuXHJcblx0XHQmOjphZnRlciB7XHJcblx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDI1MiwgMTM4LCAzMSwgMC4xMiksIHJnYmEoMjUyLCAxMzgsIDMxLCAwLjEyKSksIGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDM1LCA5LCAzLCAwLjQpLCByZ2JhKDM1LCA5LCAzLCAwLjQpKSwgdXJsKCcuLi8uLi8uLi8uLi9hc3NldHMvaW1hZ2VzL2JnLW5vaXNlLnBuZycpO1xyXG5cclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogcmVtKDUpO1xyXG5cdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0aW5zZXQ6IDA7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDI1MiwgMTM4LCAzMSwgMC4xMiksIHJnYmEoMjUyLCAxMzgsIDMxLCAwLjEyKSksIGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgzNSwgOSwgMywgMC44KSAwJSwgcmdiYSgzNSwgOSwgMywgMCkgMzUuNzglKSwgdXJsKCcuLi8uLi8uLi8uLi9hc3NldHMvaW1hZ2VzL2JnLW5vaXNlLnBuZycpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmX19jb250ZW50IHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHotaW5kZXg6IDE7XHJcblx0fVxyXG5cclxuXHQudGl0bGUge1xyXG5cdFx0Y29sb3I6IGN1cnJlbnRDb2xvcjtcclxuXHRcdG1hcmdpbjogMDtcclxuXHJcblx0XHQrIC5idXR0b25fX3dyYXAge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiByZW0oMzIpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmRlc2NyaXB0aW9uIHtcclxuXHRcdGZvbnQtc2l6ZTogdncoMTMsIDE1KTtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjY7XHJcblx0XHRtYXJnaW4tdG9wOiByZW0oMjApO1xyXG5cdFx0bWF4LXdpZHRoOiByZW0oNjc1KTtcclxuXHR9XHJcblxyXG5cdC5idXR0b25fX3dyYXAge1xyXG5cdFx0bWFyZ2luLXRvcDogcmVtKDIwKTtcclxuXHR9XHJcblxyXG5cdC5jb250YWluZXIge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLS1zZWNvbmRhcnk7XHJcblx0XHRib3JkZXItcmFkaXVzOiByZW0oNSk7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0bWluLWhlaWdodDogcmVtKDM2Nik7XHJcblx0XHRwYWRkaW5nOiByZW0oNDgpIHJlbSgyMCk7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XHJcblx0XHRcdHBhZGRpbmc6IHJlbSgxNykgcmVtKDE3KSByZW0oMTcpIHZ3KDE3LCAxMTcpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnNob3J0Y29kZSB7XHJcblx0XHRtYXJnaW4tdG9wOiByZW0oNjApO1xyXG5cclxuXHRcdGZvcm0ge1xyXG5cdFx0XHRtYXgtd2lkdGg6IHJlbSg1NzEpO1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdFx0XHRpbnB1dFt0eXBlPSd0ZXh0J10sXHJcblx0XHRcdGlucHV0W3R5cGU9J2VtYWlsJ10ge1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkY29sb3ItLWJsYWNrO1xyXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XHJcblx0XHRcdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcclxuXHRcdFx0XHRib3JkZXItd2lkdGg6IDAgMCByZW0oMSkgMDtcclxuXHRcdFx0XHRjb2xvcjogY3VycmVudENvbG9yO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDE1KTtcclxuXHRcdFx0XHRoZWlnaHQ6IHJlbSg0NCk7XHJcblx0XHRcdFx0bWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0cGFkZGluZzogMCByZW0oNTApIDAgMCAhaW1wb3J0YW50O1xyXG5cclxuXHRcdFx0XHQmOjpwbGFjZWhvbGRlciB7XHJcblx0XHRcdFx0XHRjb2xvcjogY3VycmVudENvbG9yO1xyXG5cdFx0XHRcdFx0b3BhY2l0eTogMTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGlucHV0W3R5cGU9J3N1Ym1pdCddLFxyXG5cdFx0XHRidXR0b25bdHlwZT0nc3VibWl0J10ge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci0tYmxhY2s7XHJcblx0XHRcdFx0Ym9yZGVyOiAwO1xyXG5cdFx0XHRcdGJvdHRvbTogMDtcclxuXHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xyXG5cdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdFx0XHRmb250LXNpemU6IDA7XHJcblx0XHRcdFx0aGVpZ2h0OiByZW0oMzQpO1xyXG5cdFx0XHRcdG1hcmdpbjogYXV0byAwICFpbXBvcnRhbnQ7XHJcblxyXG5cdFx0XHRcdG1hc2staW1hZ2U6IHVybCgnQGltYWdlcy9pY29uLWJ1dHRvbi1hcnJvdy1yaWdodC5zdmcnKTtcclxuXHRcdFx0XHRtYXNrLXBvc2l0aW9uOiByZW0oLTEpIHJlbSgzKTtcclxuXHRcdFx0XHRtYXNrLXJlcGVhdDogcmVwZWF0O1xyXG5cdFx0XHRcdG1hc2stc2l6ZTogcmVtKDM1KSByZW0oMzQpO1xyXG5cdFx0XHRcdG1pbi13aWR0aDogcmVtKDM1KTtcclxuXHRcdFx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRcdFx0cGFkZGluZzogMDtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0cmlnaHQ6IDA7XHJcblx0XHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IG1hc2stcG9zaXRpb24gJHRyYW5zaXRpb247XHJcblx0XHRcdFx0d2lkdGg6IHJlbSgzNSk7XHJcblxyXG5cdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0bWFzay1wb3NpdGlvbjogcmVtKDM0KSByZW0oMyk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRwIHtcclxuXHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5tYzR3cC1yZXNwb25zZSB7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYuaXMtc3R5bGUtZnVsbCB7XHJcblx0XHQmOmhhcyguY3RhLWJhbm5lcl9fYmdfX2ltYWdlKSB7XHJcblx0XHRcdGNvbG9yOiAkY29sb3ItLXNlY29uZGFyeTtcclxuXHRcdH1cclxuXHJcblx0XHQuaW1hZ2VfX3dyYXAge1xyXG5cdFx0XHRpbnNldDogMDtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cclxuXHRcdFx0aW1nIHtcclxuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYuaXMtc3R5bGUtc21hbGwge1xyXG5cdFx0JjpoYXMoLmltYWdlX193cmFwKSB7XHJcblx0XHRcdC50aXRsZSB7XHJcblx0XHRcdFx0bWF4LXdpZHRoOiByZW0oNDQwKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmNvbnRhaW5lciB7XHJcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cdFx0XHRcdGdhcDogcmVtKDUwKTtcclxuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblxyXG5cdFx0XHRcdC5jdGEtYmFubmVyX19jb250ZW50IHtcclxuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmltYWdlX193cmFwIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHRcdG1hc2staW1hZ2U6IHVybCgnQGltYWdlcy9tYXNrLWltYWdlLWN0YS5zdmcnKTtcclxuXHRcdFx0XHRtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0XHRcdG1hc2stc2l6ZTogMTAwJSAxMDAlO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XHJcblx0XHRcdFx0XHRhbGlnbi1zZWxmOiBzdHJldGNoO1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRtaW4td2lkdGg6IHZ3KDI1MCwgNTMxKTtcclxuXHRcdFx0XHRcdHdpZHRoOiB2dygyNTAsIDUzMSk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmOjphZnRlciB7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgyNTIsIDEzOCwgMzEsIDAuMTIpLCByZ2JhKDI1MiwgMTM4LCAzMSwgMC4xMikpLCB1cmwoJy4uLy4uLy4uLy4uL2Fzc2V0cy9pbWFnZXMvYmctbm9pc2UucG5nJyk7XHJcblx0XHRcdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0XHRcdGluc2V0OiAwO1xyXG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0aW1nIHtcclxuXHRcdFx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0JjpoYXMoLnNob3J0Y29kZSkge1xyXG5cdFx0XHQuZGVzY3JpcHRpb24ge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogdncoMjAsIDIyKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5kZXNjcmlwdGlvbiB7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDE1KTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiQGltcG9ydCAnbWl4aW5zJztcclxuXHJcbi8vIExheW91dFxyXG4kbGF5b3V0LS13aWR0aDogdmFyKC0td3AtLXN0eWxlLS1nbG9iYWwtLWNvbnRlbnQtc2l6ZSk7XHJcbiRsYXlvdXQtLXdpZGUtd2lkdGg6IHZhcigtLXdwLS1zdHlsZS0tZ2xvYmFsLS13aWRlLXNpemUpO1xyXG4kbGF5b3V0LS1wYWRkaW5nLS1taW46IDE2O1xyXG4kbGF5b3V0LS1wYWRkaW5nLS1tYXg6IDMyO1xyXG4kbGF5b3V0LS1wYWRkaW5nOiB2dygkbGF5b3V0LS1wYWRkaW5nLS1taW4sICRsYXlvdXQtLXBhZGRpbmctLW1heCk7XHJcblxyXG4vLyBDb2xvcnNcclxuJGNvbG9yLS13aGl0ZTogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXdoaXRlKTtcclxuJGNvbG9yLS1ibGFjazogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJsYWNrKTtcclxuXHJcbiRjb2xvci0tcHJpbWFyeTogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXByaW1hcnkpO1xyXG4kY29sb3ItLXNlY29uZGFyeTogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLXNlY29uZGFyeSk7XHJcbiRjb2xvci0tdGVydGlhcnk6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS10ZXJ0aWFyeSk7XHJcblxyXG4kY29sb3ItLWJnLWFsdDogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWJnLWFsdCk7XHJcbiRjb2xvci0tYmctbGlnaHQ6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1iZy1saWdodCk7XHJcblxyXG4kY29sb3ItLWFsZXJ0OiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYWxlcnQpO1xyXG4kY29sb3ItLXN1Y2Nlc3M6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1zdWNjZXNzKTtcclxuJGNvbG9yLS1lcnJvcjogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWVycm9yKTtcclxuXHJcbiRjb2xvci0tdGV4dDogJGNvbG9yLS1wcmltYXJ5O1xyXG4kY29sb3ItLWxpbms6ICRjb2xvci0tYmxhY2s7XHJcbiRjb2xvci0taGVhZGluZ3M6ICRjb2xvci0tYmxhY2s7XHJcbiRjb2xvci0tY29udGVudC1iZzogJGNvbG9yLS1iZy1hbHQ7XHJcblxyXG4kY29sb3ItLWZpZWxkcy10ZXh0OiAkY29sb3ItLWJsYWNrO1xyXG4kY29sb3ItLWZpZWxkcy1iZzogJGNvbG9yLS1iZy1saWdodDtcclxuJGNvbG9yLS1maWVsZHMtYm9yZGVyOiAkY29sb3ItLWJnLWxpZ2h0O1xyXG5cclxuLy8gR2xvYmFsXHJcbiRmdWxsLWhlaWdodDogdmFyKC0tbG1hdi0tZnVsbC1oZWlnaHQpO1xyXG4kZnVsbC13aWR0aDogdmFyKC0tbG1hdi0tZnVsbC13aWR0aCk7XHJcblxyXG4kaGVhZGVyLS1tb2JpbGUtbWF4OiAnbGcnO1xyXG4kZmlsdGVycy0tbW9iaWxlLW1heDogJ2xnJztcclxuXHJcbi8vIEZvbnRzXHJcbiRmb250LWZhbWlseS0tYm9keTogdmFyKC0td3AtLXByZXNldC0tZm9udC1mYW1pbHktLWJvZHktZm9udCk7XHJcbiRmb250LWZhbWlseS0taGVhZGluZy1hZGQ6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtZmFtaWx5LS1oZWFkaW5nLWFkZC1mb250KTtcclxuXHJcbiRmb250LXdlaWdodC0tYm9sZDogNzAwO1xyXG5cclxuLy8gSGVhZGluZ3NcclxuJGZvbnQtc2l6ZS0taDE6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0taGVhZGluZy0xKTtcclxuJGZvbnQtc2l6ZS0taDI6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0taGVhZGluZy0yKTtcclxuJGZvbnQtc2l6ZS0taDM6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0taGVhZGluZy0zKTtcclxuJGZvbnQtc2l6ZS0taDQ6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0taGVhZGluZy00KTtcclxuJGZvbnQtc2l6ZS0taDU6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0taGVhZGluZy01KTtcclxuXHJcbi8vIFRleHRcclxuJGZvbnQtc2l6ZS0tdGV4dC1sYXJnZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS10ZXh0LWxhcmdlKTtcclxuJGZvbnQtc2l6ZS0tdGV4dC1tZWRpdW06IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tdGV4dC1tZWRpdW0pO1xyXG4kZm9udC1zaXplLS10ZXh0LXNtYWxsOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXRleHQtc21hbGwpO1xyXG4kZm9udC1zaXplLS10ZXh0LXhzbWFsbDogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS10ZXh0LXhzbWFsbCk7XHJcblxyXG4vLyBCdXR0b25zXHJcbiRmb250LXNpemUtLWJ1dHRvbi1tYWluOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWJ1dHRvbi1tYWluKTtcclxuJGZvbnQtc2l6ZS0tYnV0dG9uLXJlYWRtb3JlOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWJ1dHRvbi1yZWFkbW9yZSk7XHJcblxyXG4vLyBQcmljZXNcclxuJGZvbnQtc2l6ZS0tcHJpY2UtZGVmYXVsdDogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1wcmljZS1kZWZhdWx0KTtcclxuJGZvbnQtc2l6ZS0tcHJpY2UtYmlnOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXByaWNlLWJpZyk7XHJcblxyXG4vLyBCb3JkZXIgUmFkaXVzZXNcclxuJGJvcmRlci1yYWRpdXMtLWlucHV0OiByZW0oNCk7XHJcbiRib3JkZXItcmFkaXVzLS1jaGVja2JveDogcmVtKDIpO1xyXG5cclxuLy8gSW5wdXRzXHJcbiRpbnB1dC0taGVpZ2h0OiA2MjtcclxuJGlucHV0LS1wYWRkaW5nLS14OiAxMztcclxuJGlucHV0LS1wYWRkaW5nLS15OiAxODtcclxuJGlucHV0LS1ib3JkZXItd2lkdGg6IDA7XHJcbiRpbnB1dC0tYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuJGlucHV0LS1ib3JkZXItY29sb3I6ICRjb2xvci0tZmllbGRzLWJvcmRlcjtcclxuXHJcbi8vIFRyYW5zaXRpb25zXHJcbiR0cmFuc2l0aW9uLS1zcGVlZDogdmFyKC0tbG1hdi0tdHJhbnNpdGlvbi1zcGVlZCk7XHJcbiR0cmFuc2l0aW9uLS10aW1pbmctZnVuY3Rpb246IHZhcigtLWxtYXYtLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKTtcclxuJHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLS1zcGVlZCAkdHJhbnNpdGlvbi0tdGltaW5nLWZ1bmN0aW9uO1xyXG5cclxuLy8gQnJlYWtwb2ludHNcclxuJGJyZWFrcG9pbnRzOiAoXHJcblx0eHM6IDM3NXB4LFxyXG5cdHNtOiA1NzZweCxcclxuXHRtZDogNzgycHgsXHJcblx0bGc6IDk5MnB4LFxyXG5cdHhsOiAxMjAwcHgsXHJcblx0eHhsOiAxNDQwcHgsXHJcblx0bWF4OiAxNTg1cHhcclxuKTtcclxuXHJcbi8vIFNwYWNpbmdcclxuJHNwYWNlci0xOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS0yNCk7XHJcbiRzcGFjZXItMjogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tMzYpO1xyXG4kc3BhY2VyLTM6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTYwKTtcclxuJHNwYWNlci00OiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS04MCk7XHJcbiRzcGFjZXItNTogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tMTAwKTtcclxuJHNwYWNlci02OiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS0xMjApO1xyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cclxuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxyXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cclxuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcclxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxyXG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxyXG4vL1xyXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xyXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuOVxyXG4vL1xyXG4vLyAgICAgICAgaHR0cHM6Ly9lZHVhcmRvYm91Y2FzLmdpdGh1Yi5pby9pbmNsdWRlLW1lZGlhXHJcbi8vXHJcbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxyXG4vLyAgICAgICAgICAgICAgICAgIEtpdHR5IEdpcmF1ZGVsIChAa2l0dHlnaXJhdWRlbClcclxuLy9cclxuLy8gICAgICBUaGlzIHByb2plY3QgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNSVQgbGljZW5zZVxyXG4vLy8vXHJcbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cclxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcclxuLy8vIEBhY2Nlc3MgcHVibGljXHJcbi8vLy9cclxuXHJcbi8vL1xyXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2YgZ2xvYmFsIGJyZWFrcG9pbnRzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXHJcbi8vLyAgJGJyZWFrcG9pbnRzOiAoJ3Bob25lJzogMzIwcHgpO1xyXG4vLy9cclxuJGJyZWFrcG9pbnRzOiAoXHJcblx0J3Bob25lJzogMzIwcHgsXHJcblx0J3RhYmxldCc6IDc2OHB4LFxyXG5cdCdkZXNrdG9wJzogMTAyNHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcclxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcclxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcclxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xyXG4vLy8gICk7XHJcbi8vL1xyXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcclxuXHQnc2NyZWVuJzogJ3NjcmVlbicsXHJcblx0J3ByaW50JzogJ3ByaW50JyxcclxuXHQnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxyXG5cdCdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcclxuXHQncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxyXG5cdCdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KScsXHJcblx0J3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJ1xyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2BcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxyXG4vLy9cclxuJHVuaXQtaW50ZXJ2YWxzOiAoXHJcblx0J3B4JzogMSxcclxuXHQnZW0nOiAwLjAxLFxyXG5cdCdyZW0nOiAwLjEsXHJcblx0Jyc6IDBcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXHJcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgLmZvbyB7XHJcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gIH1cclxuLy8vXHJcbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxyXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIC5mb28ge1xyXG4vLy8gICAgY29sb3I6IHRvbWF0bztcclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0JztcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBObyBvdXRwdXQgKi9cclxuLy8vXHJcbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcclxuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgIC5mb28ge1xyXG4vLy8gICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xyXG4vLy9cclxuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcclxuXHJcbi8vLy9cclxuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcbi8vL1xyXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcclxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXHJcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xyXG4vLy9cclxuXHJcbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcclxuXHRAaWYgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xyXG5cdFx0QGVycm9yICRtZXNzYWdlO1xyXG5cdH1cclxuXHJcblx0QGVsc2Uge1xyXG5cdFx0QHdhcm4gJG1lc3NhZ2U7XHJcblx0XHQkXzogbm9vcCgpO1xyXG5cdH1cclxuXHJcblx0QHJldHVybiAkbWVzc2FnZTtcclxufVxyXG5cclxuLy8vXHJcbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XHJcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cclxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cclxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcclxuLy8vXHJcblxyXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XHJcblx0QGlmIGltLWxvZygkbWVzc2FnZSkge31cclxufVxyXG5cclxuLy8vXHJcbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXHJcbi8vLyB0byB0cmlnZ2VyIGEgY29tcGlsaW5nIGVycm9yIGFuZCBzdG9wIHRoZSBwcm9jZXNzLlxyXG4vLy9cclxuXHJcbkBmdW5jdGlvbiBub29wKCkge31cclxuXHJcbi8vL1xyXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcclxuLy8vXHJcblxyXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xyXG5cdCRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xyXG5cclxuXHRAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcclxuXHRcdEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7fVxyXG5cdH1cclxuXHJcblx0QGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XHJcblx0XHRAaWYgbm90IG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xyXG5cdFx0XHQkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xyXG5cdFx0XHQkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcclxuXHRcdFx0JHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkY29uZGl0aW9uLCAkb3BlcmF0b3IpO1xyXG5cclxuXHRcdFx0QGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXHJcblx0XHRcdFx0KCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSB7XHJcblx0XHRcdFx0QHJldHVybiBmYWxzZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdEBlbHNlIGlmIG5vdCBpbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcclxuXHRcdFx0QHJldHVybiBmYWxzZTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdEByZXR1cm4gdHJ1ZTtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gUGFyc2luZyBlbmdpbmVcclxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG4vLy9cclxuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcclxuLy8vXHJcblxyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pIHtcclxuXHRAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcclxuXHRcdEBpZiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG5cdFx0XHRAcmV0dXJuICRvcGVyYXRvcjtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cclxuXHQvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxyXG5cdC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxyXG5cdC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXHJcblx0Ly8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxyXG5cdCRfOiBpbS1sb2coJ05vIG9wZXJhdG9yIGZvdW5kIGluIGAjeyRleHByZXNzaW9ufWAuJyk7XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXHJcbi8vL1xyXG5cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcblx0JG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcblx0JHBhcnNlZC1kaW1lbnNpb246IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgMCwgJG9wZXJhdG9yLWluZGV4IC0gMSk7XHJcblx0JGRpbWVuc2lvbjogJ3dpZHRoJztcclxuXHJcblx0QGlmIHN0ci1sZW5ndGgoJHBhcnNlZC1kaW1lbnNpb24pID4gMCB7XHJcblx0XHQkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcclxuXHR9XHJcblxyXG5cdEByZXR1cm4gJGRpbWVuc2lvbjtcclxufVxyXG5cclxuLy8vXHJcbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxyXG4vLy9cclxuXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKSB7XHJcblx0QHJldHVybiBpZihpbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcclxuLy8vXHJcblxyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG5cdCRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG5cdCR2YWx1ZTogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHItbGVuZ3RoKCRvcGVyYXRvcikpO1xyXG5cclxuXHRAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcclxuXHRcdCR2YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICR2YWx1ZSk7XHJcblx0fVxyXG5cclxuXHRAZWxzZSB7XHJcblx0XHQkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xyXG5cdH1cclxuXHJcblx0JGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcclxuXHJcblx0QGlmIG5vdCAkaW50ZXJ2YWwge1xyXG5cdFx0Ly8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xyXG5cdFx0Ly8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcclxuXHRcdC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxyXG5cdFx0Ly8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcclxuXHRcdC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cclxuXHRcdCRfOiBpbS1sb2coJ1Vua25vd24gdW5pdCBgI3t1bml0KCR2YWx1ZSl9YC4nKTtcclxuXHR9XHJcblxyXG5cdEBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcclxuXHRcdCR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xyXG5cdH1cclxuXHJcblx0QGVsc2UgaWYgJG9wZXJhdG9yID09ICc8JyB7XHJcblx0XHQkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcclxuXHR9XHJcblxyXG5cdEByZXR1cm4gJHZhbHVlO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2VcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcclxuLy8vXHJcblxyXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xyXG5cdC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcclxuXHQvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxyXG5cclxuXHRAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xyXG5cdFx0QHJldHVybiBtYXAtZ2V0KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pO1xyXG5cdH1cclxuXHJcblx0JG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbik7XHJcblx0JGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG5cdCRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xyXG5cdCR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcblxyXG5cdEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIFNsaWNlIGAkbGlzdGAgYmV0d2VlbiBgJHN0YXJ0YCBhbmQgYCRlbmRgIGluZGV4ZXNcclxuLy8vXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRlbmQgW2xlbmd0aCgkbGlzdCldIC0gRW5kIGluZGV4XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3RcclxuLy8vXHJcblxyXG5AZnVuY3Rpb24gc2xpY2UoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGVuZ3RoKCRsaXN0KSkge1xyXG5cdEBpZiBsZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcclxuXHRcdEByZXR1cm4gKCk7XHJcblx0fVxyXG5cclxuXHQkcmVzdWx0OiAoKTtcclxuXHJcblx0QGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xyXG5cdFx0JHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcclxuXHR9XHJcblxyXG5cdEByZXR1cm4gJHJlc3VsdDtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcclxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG4vLy9cclxuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZyB8IE51bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYmUgcGFyc2VkXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfVxyXG4vLy9cclxuXHJcbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XHJcblx0QGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XHJcblx0XHRAcmV0dXJuICR2YWx1ZTtcclxuXHR9XHJcblxyXG5cdEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XHJcblx0XHQkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xyXG5cdH1cclxuXHJcblx0JGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XHJcblx0JHJlc3VsdDogMDtcclxuXHQkZGlnaXRzOiAwO1xyXG5cdCRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcclxuXHQkbnVtYmVyczogKCcwJzogMCwgJzEnOiAxLCAnMic6IDIsICczJzogMywgJzQnOiA0LCAnNSc6IDUsICc2JzogNiwgJzcnOiA3LCAnOCc6IDgsICc5JzogOSk7XHJcblxyXG5cdC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxyXG5cclxuXHRAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XHJcblx0XHQkdmFsdWU6IHN0ci1zbGljZSgkdmFsdWUsIDIpO1xyXG5cdH1cclxuXHJcblx0QGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHItbGVuZ3RoKCR2YWx1ZSkge1xyXG5cdFx0JGNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgJGksICRpKTtcclxuXHJcblx0XHRAaWYgbm90IChpbmRleChtYXAta2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XHJcblx0XHRcdEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHItc2xpY2UoJHZhbHVlLCAkaSkpO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XHJcblx0XHRcdCRkaWdpdHM6IDE7XHJcblx0XHR9XHJcblxyXG5cdFx0QGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcclxuXHRcdFx0JHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XHJcblx0XHR9XHJcblxyXG5cdFx0QGVsc2Uge1xyXG5cdFx0XHQkZGlnaXRzOiAkZGlnaXRzICogMTA7XHJcblx0XHRcdCRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcclxuLy8vXHJcblxyXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcclxuXHQkdW5pdHM6ICgncHgnOiAxcHgsICdjbSc6IDFjbSwgJ21tJzogMW1tLCAnJSc6IDElLCAnY2gnOiAxY2gsICdwYyc6IDFwYywgJ2luJzogMWluLCAnZW0nOiAxZW0sICdyZW0nOiAxcmVtLCAncHQnOiAxcHQsICdleCc6IDFleCwgJ3Z3JzogMXZ3LCAndmgnOiAxdmgsICd2bWluJzogMXZtaW4sICd2bWF4JzogMXZtYXgpO1xyXG5cclxuXHRAaWYgbm90IGluZGV4KG1hcC1rZXlzKCR1bml0cyksICR1bml0KSB7XHJcblx0XHQkXzogaW0tbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcclxuXHR9XHJcblxyXG5cdEByZXR1cm4gJHZhbHVlICogbWFwLWdldCgkdW5pdHMsICR1bml0KTtcclxufVxyXG5cclxuLy8vXHJcbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2ZcclxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcclxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxyXG4vLy8gZm9yIGluc3RhbmNlLlxyXG4vLy9cclxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcclxuLy8vXHJcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2BcclxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcblxyXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XHJcblx0Ly8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG5cdCRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcclxuXHQkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XHJcblxyXG5cdC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG5cdCRicmVha3BvaW50czogbWFwLW1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xyXG5cdCRtZWRpYS1leHByZXNzaW9uczogbWFwLW1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xyXG5cclxuXHQvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcblx0JGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XHJcblx0JG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XHJcblxyXG5cdEBjb250ZW50O1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxyXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xyXG4vLy8gQGFjY2VzcyBwdWJsaWNcclxuLy8vL1xyXG5cclxuLy8vXHJcbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cclxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XHJcbi8vL1xyXG5cclxuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XHJcblx0QGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxyXG5cdFx0KG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpIHtcclxuXHRcdEBjb250ZW50O1xyXG5cdH1cclxuXHJcblx0QGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xyXG5cdFx0QG1lZGlhICN7dW5xdW90ZShwYXJzZS1leHByZXNzaW9uKG50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xyXG5cdFx0XHQvLyBSZWN1cnNpdmUgY2FsbFxyXG5cdFx0XHQkc2xpY2VkLWNvbmRpdGlvbnM6IHNsaWNlKCRjb25kaXRpb25zLCAyKTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCRzbGljZWQtY29uZGl0aW9ucy4uLikge1xyXG5cdFx0XHRcdEBjb250ZW50O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/