/**
 * Table of Contents:

 * 1.0  - Variables
 * 2.0  - Normalize
 * 3.0  - General
 * 4.0  - Form
 * 5.0  - Typography
 * 6.0  - Grid
 * 7.0  - Keyframes
*/
/* 1.0  - Variables */
@keyframes fadeInUpPx {
	from {
		opacity: 0;
		transform: translateY(100px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes scaleImage {
	from {
		transform: scale(0);
	}
	to {
		transform: scale(1);
	}
}
body {
	--wp--style--gallery-gap-default: 1rem;
	--lmav--transition-speed: 0.35s;
	--lmav--transition-timing-function: ease-in-out;
	--lmav--full-height: calc(100vh - var(--wp-admin--admin-bar--height, 0px));
	--lmav--full-width: calc(100vw - var(--lmav-js-scrollbar, 1rem));
}
@media (prefers-reduced-motion: reduce) {
	body {
		--lmav--transition-speed: 0s;
		--lmav--transition-timing-function: linear;
	}
}
body.loaded {
	--lmav--full-width: calc(100vw - var(--lmav-js-scrollbar, 0px));
}

/* 2.0  - Normalize */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	line-height: 1.5;
	text-size-adjust: 100%;
}

body {
	margin: 0;
}

main {
	display: block;
}

b,
strong {
	font-weight: 700;
}

kbd,
samp {
	font-family: monospace;
	font-size: 1em;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 65%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.7em;
}

img {
	border-style: none;
}

button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.5;
	margin: 0;
}

button,
input {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
	appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

fieldset {
	padding: 0.35em 0.75em 0.625em;
}

legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

progress {
	vertical-align: baseline;
}

textarea {
	overflow: auto;
}

[type=checkbox],
[type=radio] {
	box-sizing: border-box;
	padding: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
	height: auto;
}

[type=search] {
	appearance: textfield;
	outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
	appearance: none;
}

::-webkit-file-upload-button {
	appearance: button;
	font: inherit;
}

details {
	display: block;
}

summary {
	display: list-item;
}

template {
	display: none;
}

[hidden] {
	display: none;
}

img,
svg {
	height: auto;
	max-width: 100%;
	vertical-align: middle;
}

svg {
	max-height: 100%;
}

iframe[src*="google.com"], iframe[data-src*="google.com"] {
	border-radius: 1.25rem;
	width: 100%;
}

/* 3.0  - General */
html {
	font-size: clamp(1rem, 0.833vw, 0.833vw);
	overscroll-behavior: none;
	scrollbar-color: var(--wp--preset--color--black) var(--wp--preset--color--bg-alt);
	scrollbar-width: thin;
}
html::-webkit-scrollbar {
	width: 0.25rem;
}
html::-webkit-scrollbar-track {
	background: var(--wp--preset--color--bg-alt);
}
html::-webkit-scrollbar-thumb {
	background-color: var(--wp--preset--color--black);
	border: 0;
	border-radius: 0;
}
html[data-popup] {
	overflow: hidden;
}

body.admin-bar {
	padding-top: var(--wp-admin--admin-bar--height, 32px);
}

*:focus {
	outline: 0.125rem solid var(--wp--preset--color--secondary);
	outline-offset: 0.125rem;
}
body.has-mouse-event *:focus {
	outline: none;
}

.site__wrapper {
	display: flex;
	flex-direction: column;
	min-height: calc(100vh - var(--wp-admin--admin-bar--height, 0px));
	padding-left: clamp(1rem, 2.2008253095vw, 2rem);
	padding-right: clamp(1rem, 2.2008253095vw, 2rem);
}
.site__main {
	flex: 1;
}
.site__content::after {
	clear: both;
	content: "";
	display: table;
}

.breadcrumbs {
	color: var(--wp--preset--color--white);
	font-size: 0.8125rem;
	margin-bottom: 1.0625rem;
}
.breadcrumbs .sep {
	color: var(--wp--preset--color--secondary);
	padding: 0 0.3125rem;
}
.breadcrumbs a {
	color: currentColor;
	background-image: linear-gradient(currentcolor, currentcolor);
	background-position: 100% 100%;
	background-repeat: no-repeat;
	background-size: 0% 0.0625rem;
	transition: background-size calc(var(--lmav--transition-speed) * 1) ease 0s, color var(--lmav--transition-speed) ease;
}
.breadcrumbs a:hover {
	background-position: 0 100%;
	background-size: 100% 0.0625rem;
}

.module {
	margin-left: calc(clamp(1rem, 2.2008253095vw, 2rem) * -1);
	margin-right: calc(clamp(1rem, 2.2008253095vw, 2rem) * -1);
	padding-left: clamp(1rem, 2.2008253095vw, 2rem);
	padding-right: clamp(1rem, 2.2008253095vw, 2rem);
}
.module.has-light-bg {
	background-color: var(--wp--preset--color--bg-light);
}
.module.has-green-bg {
	background-color: var(--wp--preset--color--primary);
	background-image: url("../images/bg.jpg");
	background-position: center;
	background-repeat: repeat-y;
	background-size: 100% auto;
	color: var(--wp--preset--color--bg-light);
}
.module.has-green-bg .title {
	color: var(--wp--preset--color--secondary);
}
.module.has-20-pt {
	padding-top: 1.25rem;
}
.module.has-40-pt {
	padding-top: clamp(1.5625rem, 2.7510316369vw, 2.5rem);
}
.module.has-60-pt {
	padding-top: clamp(1.875rem, 4.1265474553vw, 3.75rem);
}
.module.has-80-pt {
	padding-top: clamp(2.5rem, 5.5020632737vw, 5rem);
}
.module.has-100-pt {
	padding-top: clamp(3.125rem, 6.8775790922vw, 6.25rem);
}
.module.has-120-pt {
	padding-top: clamp(3.75rem, 8.2530949106vw, 7.5rem);
}
.module.has-20-pb {
	padding-bottom: 1.25rem;
}
.module.has-40-pb {
	padding-bottom: clamp(1.5625rem, 2.7510316369vw, 2.5rem);
}
.module.has-60-pb {
	padding-bottom: clamp(1.875rem, 4.1265474553vw, 3.75rem);
}
.module.has-80-pb {
	padding-bottom: clamp(2.5rem, 5.5020632737vw, 5rem);
}
.module.has-100-pb {
	padding-bottom: clamp(3.125rem, 6.8775790922vw, 6.25rem);
}
.module.has-120-pb {
	padding-bottom: clamp(3.75rem, 8.2530949106vw, 7.5rem);
}

/* 4.0  - Form */
label {
	cursor: pointer;
	display: block;
	margin-bottom: 0.625rem;
}

input[type=text],
input[type=email],
input[type=number],
input[type=search],
input[type=password],
input[type=tel],
input[type=url],
textarea,
select {
	appearance: none;
	background-color: var(--wp--preset--color--bg-light);
	border-color: var(--wp--preset--color--bg-light);
	border-radius: 0.25rem;
	border-style: solid;
	border-width: 0rem;
	box-shadow: none;
	color: var(--wp--preset--color--black);
	display: block;
	height: 3.875rem;
	margin-bottom: 0.625rem;
	margin-top: 0.625rem;
	max-width: 100%;
	padding: 1.125rem 0.8125rem !important;
	width: 100%;
}
input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=number]::placeholder,
input[type=search]::placeholder,
input[type=password]::placeholder,
input[type=tel]::placeholder,
input[type=url]::placeholder,
textarea::placeholder,
select::placeholder {
	color: var(--wp--preset--color--black);
	opacity: 1;
}

input[type=checkbox],
input[type=radio] {
	appearance: none;
	background-color: var(--wp--preset--color--bg-light);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 0;
	border-color: #ccc8c5;
	border-radius: 0.125rem;
	border-style: solid;
	border-width: 0.0625rem;
	box-shadow: none;
	cursor: pointer;
	height: 0.875rem;
	margin: 0;
	min-width: 0.875rem;
	transition: background-size calc(var(--lmav--transition-speed) / 2) var(--lmav--transition-timing-function), border-color calc(var(--lmav--transition-speed) / 2) var(--lmav--transition-timing-function);
	width: 0.875rem;
}
input[type=checkbox]:checked,
input[type=radio]:checked {
	background-size: 0.5rem auto;
	border-color: var(--wp--preset--color--black);
}
input[type=checkbox]:checked::before,
input[type=radio]:checked::before {
	content: none;
}
input[type=checkbox] + label,
input[type=radio] + label {
	display: inline;
	margin-bottom: 0;
	margin-left: 0.5rem;
}

input[type=checkbox] {
	background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSI4IiB2aWV3Qm94PSIwIDAgOCA4IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPg0KCTxyZWN0IHdpZHRoPSI4IiBoZWlnaHQ9IjgiIHJ4PSIyIiBmaWxsPSIjMjMwOTAzIi8+DQo8L3N2Zz4=);
}

input[type=radio] {
	background-image: url(data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbi1yYWRpbyIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQoJPHBhdGggc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGZpbGw9Im5vbmUiIHN0cm9rZS13aWR0aD0iMTBweCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBkPSJNMTUuODMzLDI0LjMzNGMyLjE3OS0wLjQ0Myw0Ljc2Ni0zLjk5NSw2LjU0NS01LjM1OSBjMS43Ni0xLjM1LDQuMTQ0LTMuNzMyLDYuMjU2LTQuMzM5Yy0zLjk4MywzLjg0NC02LjUwNCw5LjU1Ni0xMC4wNDcsMTMuODI3Yy0yLjMyNSwyLjgwMi01LjM4Nyw2LjE1My02LjA2OCw5Ljg2NiBjMi4wODEtMC40NzQsNC40ODQtMi41MDIsNi40MjUtMy40ODhjNS43MDgtMi44OTcsMTEuMzE2LTYuODA0LDE2LjYwOC0xMC40MThjNC44MTItMy4yODcsMTEuMTMtNy41MywxMy45MzUtMTIuOTA1IGMtMC43NTksMy4wNTktMy4zNjQsNi40MjEtNC45NDMsOS4yMDNjLTIuNzI4LDQuODA2LTYuMDY0LDguNDE3LTkuNzgxLDEyLjQ0NmMtNi44OTUsNy40NzctMTUuMTA3LDE0LjEwOS0yMC43NzksMjIuNjA4IGMzLjUxNS0wLjc4NCw3LjEwMy0yLjk5NiwxMC4yNjMtNC42MjhjNi40NTUtMy4zMzUsMTIuMjM1LTguMzgxLDE3LjY4NC0xMy4xNWM1LjQ5NS00LjgxLDEwLjg0OC05LjY4LDE1Ljg2Ni0xNC45ODggYzEuOTA1LTIuMDE2LDQuMTc4LTQuNDIsNS41NTYtNi44MzhjMC4wNTEsMS4yNTYtMC42MDQsMi41NDItMS4wMywzLjY3MmMtMS40MjQsMy43NjctMy4wMTEsNy40MzItNC43MjMsMTEuMDc2IGMtMi43NzIsNS45MDQtNi4zMTIsMTEuMzQyLTkuOTIxLDE2Ljc2M2MtMy4xNjcsNC43NTctNy4wODIsOC45NC0xMC44NTQsMTMuMjA1Yy0yLjQ1NiwyLjc3Ny00Ljg3Niw1Ljk3Ny03LjYyNyw4LjQ0OCBjOS4zNDEtNy41MiwxOC45NjUtMTQuNjI5LDI3LjkyNC0yMi42NTZjNC45OTUtNC40NzQsOS41NTctOS4wNzUsMTMuNTg2LTE0LjQ0NmMxLjQ0My0xLjkyNCwyLjQyNy00LjkzOSwzLjc0LTYuNTYgYy0wLjQ0NiwzLjMyMi0yLjE4Myw2Ljg3OC0zLjMxMiwxMC4wMzJjLTIuMjYxLDYuMzA5LTUuMzUyLDEyLjUzLTguNDE4LDE4LjQ4MmMtMy40Niw2LjcxOS04LjEzNCwxMi42OTgtMTEuOTU0LDE5LjIwMyBjLTAuNzI1LDEuMjM0LTEuODMzLDIuNDUxLTIuMjY1LDMuNzdjMi4zNDctMC40OCw0LjgxMi0zLjE5OSw3LjAyOC00LjI4NmM0LjE0NC0yLjAzMyw3Ljc4Ny00LjkzOCwxMS4xODQtOC4wNzIgYzMuMTQyLTIuOSw1LjM0NC02Ljc1OCw3LjkyNS0xMC4xNDFjMS40ODMtMS45NDQsMy4zMDYtNC4wNTYsNC4zNDEtNi4yODNjMC4wNDEsMS4xMDItMC41MDcsMi4zNDUtMC44NzYsMy4zODggYy0xLjQ1Niw0LjExNC0zLjM2OSw4LjE4NC01LjA1OSwxMi4yMTJjLTEuNTAzLDMuNTgzLTMuNDIxLDcuMDAxLTUuMjc3LDEwLjQxMWMtMC45NjcsMS43NzUtMi40NzEsMy41MjgtMy4yODcsNS4yOTggYzIuNDktMS4xNjMsNS4yMjktMy45MDYsNy4yMTItNS44MjhjMi4wOTQtMi4wMjgsNS4wMjctNC43MTYsNi4zMy03LjMzNWMtMC4yNTYsMS40Ny0yLjA3LDMuNTc3LTMuMDIsNC44MDkiLz4NCjwvc3ZnPg==);
	border-radius: 100%;
}

select {
	background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDMiIGhlaWdodD0iNDMiIHZpZXdCb3g9IjAgMCA0MyA0MyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCgk8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTMxLjI5MDYgMTYuNDM5OUMzMS43MTA0IDE2Ljg1OTcgMzEuNzEwNCAxNy41NDAzIDMxLjI5MDYgMTcuOTYwMUwyMS44MzA2IDI3LjQyMDFDMjEuNjI1OSAyNy42MjQ4IDIxLjM0NzQgMjcuNzM4MyAyMS4wNTggMjcuNzM0OUMyMC43Njg2IDI3LjczMTYgMjAuNDkyNyAyNy42MTE2IDIwLjI5MjkgMjcuNDAyM0wxMS4yNjI5IDE3Ljk0MjNDMTAuODUyOSAxNy41MTI4IDEwLjg2ODcgMTYuODMyMyAxMS4yOTgyIDE2LjQyMjRDMTEuNzI3NyAxNi4wMTI1IDEyLjQwODEgMTYuMDI4MyAxMi44MTgxIDE2LjQ1NzdMMjEuMDg4NCAyNS4xMjE4TDI5Ljc3MDMgMTYuNDM5OUMzMC4xOTAxIDE2LjAyIDMwLjg3MDggMTYuMDIgMzEuMjkwNiAxNi40Mzk5WiIgZmlsbD0iIzFDMjAyNiIvPg0KPC9zdmc+);
	background-position: right 0.8125rem center;
	background-repeat: no-repeat;
	background-size: 2.6875rem;
	cursor: pointer;
}

input:autofill,
input:autofill:hover,
input:autofill:focus,
input:autofill:active {
	box-shadow: 0 0 0 3.125rem var(--wp--preset--color--bg-light) inset !important;
}

input[type=search] {
	appearance: textfield;
	appearance: none;
	appearance: none;
}

input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-cancel-button {
	appearance: none;
}

textarea {
	display: block;
	height: 8.0625rem;
	resize: none;
	width: 100%;
}

.filters {
	align-items: center;
	border: 0.125rem solid var(--wp--preset--color--black);
	border-radius: 0.25rem;
	display: flex;
	font-size: 0.9375rem;
	font-weight: 700;
	margin-top: clamp(1.5625rem, 3.4387895461vw, 3.125rem);
	min-height: 3.5rem;
}
.filters__header {
	align-items: center;
	display: flex;
	display: none;
	height: 3.5rem;
	padding: 0 0.9375rem;
	position: relative;
}
@media (max-width: 991px) {
	.filters__header {
		display: flex;
	}
}
.filters__mobile {
	background: transparent !important;
	border: 0;
	border-radius: 0;
	color: currentColor !important;
	margin-right: 0.75rem;
	padding: 0;
}
.filters__mobile::before {
	content: "";
	inset: 0;
	position: absolute;
	z-index: 1;
}
.filters__mobile svg {
	height: auto;
	width: 1.75rem;
}
.filters__mobile .icon-menu-close {
	display: none;
}
.filters__list {
	align-items: center;
	display: flex;
}
@media (max-width: 991px) {
	.filters__list {
		display: none;
	}
}
.filters__selected {
	display: none;
	gap: 0.5rem;
	margin-top: 1.25rem;
}
.filters__selected:has(button:not(.clear)) {
	display: flex;
	margin-top: 1.25rem;
}
.filters__selected button {
	background-color: var(--wp--preset--color--bg-light);
	border: 0;
	border-radius: 0.5625rem;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1rem;
	padding: 0.375rem 1.75rem 0.375rem 0.75rem;
	position: relative;
}
.filters__selected button::after {
	background-color: currentColor;
	bottom: 0;
	content: "";
	mask-image: url("data:image/svg+xml,%3Csvg width='10' height='10' viewBox='0 0 10 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M7.82443 7.25858L7.25874 7.82426L5.00016 5.56568L2.74158 7.82426L2.1759 7.25858L4.43448 5L2.1759 2.74142L2.74158 2.17573L5.00016 4.43431L7.25874 2.17573L7.82443 2.74142L5.56585 5L7.82443 7.25858Z' fill='currentColor'/%3E%3C/svg%3E%0A");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: 0.625rem;
	position: absolute;
	right: 0.75rem;
	top: 0;
	width: 0.625rem;
}
.filters__selected button:hover, .filters__selected button:focus {
	background-color: var(--wp--preset--color--black);
	color: var(--wp--preset--color--bg-light);
}
.filters__selected button.clear {
	background-color: transparent;
	background-position: 0.75rem calc(100% - 0.375rem) !important;
	background-size: calc(100% - 1.5rem) 0.0625rem !important;
	order: 10;
	padding-right: 0.75rem;
	background-image: linear-gradient(currentcolor, currentcolor);
	background-position: 0 100%;
	background-repeat: no-repeat;
	background-size: 100% 0.0625rem;
	transition: background-size calc(var(--lmav--transition-speed) * 1) ease 0s, color var(--lmav--transition-speed) ease;
}
.filters__selected button.clear:hover {
	background-position: 100% 100%;
	background-size: 0% 0.0625rem;
}
.filters__selected button.clear::after {
	content: none;
}
.filters__selected button.clear:hover, .filters__selected button.clear:focus {
	background-color: transparent;
	background-position: calc(100% - 0.75rem) calc(100% - 0.375rem) !important;
	background-size: 0% 0.0625rem !important;
	color: var(--wp--preset--color--black);
}
.filters__desktop {
	align-items: center;
	background: transparent !important;
	border: 0;
	border-radius: 0;
	color: currentColor !important;
	display: inline-flex;
	display: none;
	height: 3.5rem;
	margin-right: 0.75rem;
	padding: 0 1.25rem;
}
@media (min-width: 992px) {
	.filters__desktop {
		display: inline-flex;
	}
}
.filters__apply {
	display: none;
}
.filters__results {
	flex-grow: 1;
	font-size: 0.8125rem;
	padding: 0 1.25rem;
	text-align: right;
}

body:not(.has-mouse-event) .dropdown-wrapper__inner:focus-within {
	outline: 0.125rem solid var(--wp--preset--color--secondary);
	outline-offset: 0.125rem;
}
body:not(.has-mouse-event) .dropdown-wrapper__inner:focus-within .dropdown-wrapper__label::after {
	transform: scaleY(-1);
}
body:not(.has-mouse-event) .dropdown-wrapper__inner:focus-within .dropdown-wrapper__dropdown {
	display: block;
}
body:not(.has-mouse-event) .dropdown-wrapper__inner:focus-within .dropdown-wrapper__dropdown {
	outline: none;
}

.dropdown-wrapper {
	margin-right: 0.125rem;
	min-width: 12.5rem;
	position: relative;
	z-index: 3;
}
.dropdown-wrapper::after {
	background-color: var(--wp--preset--color--black);
	bottom: 0;
	content: "";
	left: 100%;
	position: absolute;
	top: 0;
	width: 0.125rem;
}
.dropdown-wrapper:not(:has(.dropdown-wrapper__menu > li)) {
	display: none;
}
.dropdown-wrapper__inner.active .dropdown-wrapper__label::after {
	transform: scaleY(-1);
}
.dropdown-wrapper__inner.active .dropdown-wrapper__dropdown {
	display: block;
}
.dropdown-wrapper__label {
	align-items: center;
	color: inherit;
	cursor: pointer;
	display: flex;
	font-size: inherit;
	font-weight: inherit;
	height: 3.5rem;
	margin: 0;
	padding: 0 4.25rem 0 1.25rem;
	position: relative;
}
.dropdown-wrapper__label::after {
	background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjkiIHZpZXdCb3g9IjAgMCAyOCAyOSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCgk8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTE1LjIwNDIgMjIuMzUxNkwyMy45MzIzIDEzLjYyMzVMMjUuNTE2MiAxNS4yMDc1TDE0LjA4NDIgMjYuNjM5NEwyLjY1MjI2IDE1LjIwNzVMNC4yMzYxNyAxMy42MjM1TDEyLjk2NDIgMjIuMzUxNkwxMi45NjQyIDMuNzc1NUwxNS4yMDQyIDMuNzc1NUwxNS4yMDQyIDIyLjM1MTZaIiBmaWxsPSIjMjMwOTAzIi8+DQo8L3N2Zz4=);
	background-position: center;
	background-position: right 1.25rem center;
	background-repeat: no-repeat;
	background-size: 1.75rem 1.8125rem;
	bottom: 0;
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	width: 4.25rem;
}
.dropdown-wrapper__menu {
	background-color: var(--wp--preset--color--bg-light);
	border: 0.125rem solid var(--wp--preset--color--black);
	border-radius: 0 0 0.25rem 0.25rem;
	list-style: none;
	margin: 0 -0.125rem;
	padding: 0;
}
.dropdown-wrapper__menu:has(.option-title) {
	padding-bottom: 0.3125rem;
}
.dropdown-wrapper__menu:has(.option-title) label {
	font-weight: 500;
	padding-bottom: 0;
	padding-top: 0;
}
.dropdown-wrapper__menu:has(.option-title) li:first-child label {
	padding-top: 0.3125rem;
}
.dropdown-wrapper__menu li {
	align-items: center;
	display: flex;
	position: relative;
}
.dropdown-wrapper__menu li.option-title {
	font-weight: 700;
	padding: 0.3125rem 1.25rem 0;
}
.dropdown-wrapper__menu li input {
	left: 1.25rem;
	pointer-events: none;
	position: absolute;
}
.dropdown-wrapper__menu li label {
	cursor: pointer;
	display: block;
	margin: 0;
	padding: 0.3125rem 1.25rem 0.3125rem 2.5rem;
	transition: background-color 0.1s;
	white-space: nowrap;
	width: 100%;
}
.dropdown-wrapper__menu li label:hover {
	background-color: var(--wp--preset--color--bg-alt);
}
.dropdown-wrapper__dropdown {
	cursor: default;
	display: none;
	left: 0;
	margin: 0;
	max-height: 18.75rem;
	min-width: 100%;
	padding: 0;
	position: absolute;
	top: 100%;
	z-index: 1;
}
.dropdown-wrapper__type {
	display: block;
	padding: 0.4375rem 0.5rem;
}

@media (max-width: 991px) {
	[data-popup=tour-filters] .filters {
		background-color: var(--wp--preset--color--bg-alt);
		border-radius: 0;
		bottom: 0;
		display: block;
		left: 0;
		margin: 0;
		overflow-y: auto;
		position: fixed;
		right: 0;
		top: 0;
		z-index: 99;
	}
}
@media (max-width: 991px) and (min-width: 600px) {
	[data-popup=tour-filters] .filters {
		top: var(--wp-admin--admin-bar--height, 0);
	}
}
@media (max-width: 991px) {
	[data-popup=tour-filters] .filters__header {
		background-color: var(--wp--preset--color--bg-alt);
		border-bottom: 0.125rem solid var(--wp--preset--color--black);
		flex-direction: row-reverse;
		height: 3.75rem;
		justify-content: space-between;
		padding: 0 clamp(0.9375rem, 0.0408805031 * (100vw - 28.125rem) + 0.9375rem, 1.75rem);
	}
	[data-popup=tour-filters] .filters__mobile {
		margin-right: 0;
	}
	[data-popup=tour-filters] .filters__mobile::before {
		content: none;
	}
	[data-popup=tour-filters] .filters__mobile .icon-filters {
		display: none;
	}
	[data-popup=tour-filters] .filters__mobile .icon-menu-close {
		display: block;
	}
	[data-popup=tour-filters] .filters__list {
		background-color: var(--wp--preset--color--bg-light);
		display: flex;
		flex-direction: column;
	}
	[data-popup=tour-filters] .filters__list .dropdown-wrapper {
		border-bottom: 0.125rem solid var(--wp--preset--color--black);
		width: 100%;
	}
	[data-popup=tour-filters] .filters__list .dropdown-wrapper::after {
		content: none;
	}
	[data-popup=tour-filters] .filters__list .dropdown-wrapper__label {
		height: 3.75rem;
		padding-left: clamp(0.9375rem, 0.0408805031 * (100vw - 28.125rem) + 0.9375rem, 1.75rem);
		padding-right: 5.625rem;
	}
	[data-popup=tour-filters] .filters__list .dropdown-wrapper__label::after {
		background-position: center;
		right: clamp(0.9375rem, 0.0408805031 * (100vw - 28.125rem) + 0.9375rem, 1.75rem);
		width: 1.75rem;
	}
	[data-popup=tour-filters] .filters__list .dropdown-wrapper__dropdown {
		max-height: unset;
		position: static;
	}
	[data-popup=tour-filters] .filters__list .dropdown-wrapper__menu {
		background: transparent;
		border: 0;
		border-radius: 0;
		margin: 0;
		padding: 0 0 1.5625rem 0;
	}
	[data-popup=tour-filters] .filters__apply {
		display: block;
		margin: clamp(0.8125rem, 1.788170564vw, 1.625rem) auto;
		padding: 0.3125rem 1.25rem;
	}
	[data-popup=tour-filters] .filters__results {
		display: none;
	}
}
/* 5.0  - Typography */
.skip-link {
	background-image: none;
	height: 0.0625rem;
	left: -62.4375rem;
	overflow: hidden;
	position: absolute;
	text-decoration: none;
	width: 0.0625rem;
	z-index: -999;
}
.skip-link:focus, .skip-link:active {
	background-color: var(--wp--preset--color--white);
	border: 0.0625rem solid var(--wp--preset--color--primary);
	border-radius: 0.25rem;
	height: auto;
	left: 1.25rem;
	margin: 0;
	min-width: 9.375rem;
	outline: none;
	overflow: auto;
	padding: 0.6875rem 0.9375rem;
	text-align: center;
	top: 1.25rem;
	white-space: nowrap;
	width: auto;
	z-index: 999;
}
.admin-bar .skip-link:focus, .admin-bar .skip-link:active {
	top: 3.25rem;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 0.0625rem;
	margin: -0.0625rem;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 0.0625rem;
	word-wrap: normal !important;
}

body {
	background-color: var(--wp--preset--color--white);
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--body-font);
	font-size: var(--wp--preset--font-size--text-medium);
	letter-spacing: 0.02em;
	line-height: 1.6;
	-ms-word-wrap: break-word;
	word-wrap: break-word;
}
body a {
	color: var(--wp--preset--color--black);
	text-decoration: none;
	background-image: linear-gradient(currentcolor, currentcolor);
	background-position: 0 100%;
	background-repeat: no-repeat;
	background-size: 100% 0.0625rem;
	transition: background-size calc(var(--lmav--transition-speed) * 1) ease 0s, color var(--lmav--transition-speed) ease;
}
body a:hover {
	background-position: 100% 100%;
	background-size: 0% 0.0625rem;
}
body .has-text-color:not(.has-link-color) a {
	color: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6,
p.title {
	clear: both;
	color: var(--wp--preset--color--black);
	font-family: var(--wp--preset--font-family--body-font);
	line-height: 1.2;
	margin-bottom: var(--wp--preset--spacing--36);
	margin-top: var(--wp--preset--spacing--36);
}
h1 i,
h2 i,
h3 i,
h4 i,
h5 i,
h6 i,
p.title i {
	font-family: var(--wp--preset--font-family--heading-add-font);
	font-style: italic;
}

h1 {
	font-size: var(--wp--preset--font-size--heading-1);
}

h2,
p.title {
	font-size: var(--wp--preset--font-size--heading-2);
}

h3 {
	font-size: var(--wp--preset--font-size--heading-3);
}

h4 {
	font-size: var(--wp--preset--font-size--heading-4);
}

h5 {
	font-size: var(--wp--preset--font-size--heading-5);
}

h6 {
	font-size: var(--wp--preset--font-size--heading-5);
	text-transform: uppercase;
}

p.title {
	font-weight: bold;
}

.title,
p.title {
	text-transform: uppercase;
}
.title span,
p.title span {
	font-family: var(--wp--preset--font-family--heading-add-font);
	font-style: italic;
	font-weight: 400;
}
.title--h1,
p.title--h1 {
	font-size: var(--wp--preset--font-size--heading-1);
}
.title--h2,
p.title--h2 {
	font-size: var(--wp--preset--font-size--heading-2);
}
.title--desc,
p.title--desc {
	font-size: var(--wp--preset--font-size--heading-5);
}

.subtitle span {
	font-family: var(--wp--preset--font-family--heading-add-font);
	font-style: italic;
	font-weight: 400;
}

.description > *:first-child {
	margin-top: 0;
}
.description > *:last-child {
	margin-bottom: 0;
}
.description ul {
	list-style: none;
	padding: 0;
}
.description ul li {
	padding-left: 1.5rem;
	position: relative;
}
.description ul li::before {
	background: url("data:image/svg+xml,%3Csvg viewBox='0 0 10 10' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='5' cy='5' r='5' /%3E%3C/svg%3E%0A") center center no-repeat;
	background-size: 100%;
	content: "";
	height: 0.25rem;
	left: 0.625rem;
	position: absolute;
	top: 0.6875rem;
	width: 0.25rem;
}

input[type=submit],
.button {
	align-items: center;
	background-color: var(--wp--preset--color--secondary);
	background-image: none;
	border: 0.0625rem solid var(--wp--preset--color--secondary);
	border-radius: 0.25rem;
	box-shadow: none;
	color: var(--wp--preset--color--white);
	cursor: pointer;
	display: inline-flex;
	font-size: var(--wp--preset--font-size--button-main);
	font-weight: 500;
	gap: 0.375rem;
	line-height: 1;
	padding: 0.75rem 1.25rem;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color var(--lmav--transition-speed) var(--lmav--transition-timing-function), border-color var(--lmav--transition-speed) var(--lmav--transition-timing-function), color var(--lmav--transition-speed) var(--lmav--transition-timing-function), padding var(--lmav--transition-speed) var(--lmav--transition-timing-function);
}
input[type=submit]::after,
.button::after {
	background-color: currentColor;
	content: "";
	flex-shrink: 0;
	height: 1.25rem;
	mask-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.0548 16.0547L16.2272 10.8823L1.76485 10.8823V9.70587L16.2272 9.70587L11.0548 4.53353L11.8866 3.70173L18.479 10.2941L11.8866 16.8865L11.0548 16.0547Z' fill='white'/%3E%3C/svg%3E");
	mask-position: center;
	mask-repeat: no-repeat;
	mask-size: contain;
	width: 1.25rem;
}
input[type=submit]:hover, input[type=submit]:focus,
.button:hover,
.button:focus {
	background-color: rgba(255, 94, 43, 0.06);
	border-color: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--secondary);
}

.button--no-arrow::after {
	display: none;
}

.button--outline {
	background-color: transparent;
	color: var(--wp--preset--color--secondary);
}
.button--outline:hover {
	background-color: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--black);
}

.button--calendar {
	color: var(--wp--preset--color--bg-light);
}
.button--calendar::before {
	background-color: currentColor;
	content: "";
	height: 1.375rem;
	margin-right: 0.8125rem;
	mask-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzQiIGhlaWdodD0iMzQiIHZpZXdCb3g9IjAgMCAzNCAzNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTMwIDdWMjhINVY3SDMwWk03IDI2SDI4VjE1SDdWMjZaTTcgMTNIMjhWOUg3VjEzWiIgZmlsbD0id2hpdGUiLz4KPGNpcmNsZSBjeD0iMjQiIGN5PSIxMSIgcj0iMSIgZmlsbD0id2hpdGUiLz4KPGNpcmNsZSBjeD0iMTEiIGN5PSIxMSIgcj0iMSIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg==);
	mask-position: center;
	mask-repeat: repeat;
	mask-size: 1.75rem 1.75rem;
	min-width: 1.375rem;
	transition: mask-position var(--lmav--transition-speed) var(--lmav--transition-timing-function);
	width: 1.375rem;
}

.img_container-credit {
	position: relative;
}

.credit_img {
	background-color: var(--wp--preset--color--primary);
	border-radius: 25px;
	bottom: 15px;
	cursor: pointer;
	height: 25px;
	overflow-x: scroll;
	overflow-y: hidden;
	position: absolute;
	right: 15px;
	scrollbar-width: none !important;
	width: 25px;
	z-index: 3;
	scrollbar-color: transparent transparent;
	scrollbar-width: thin;
}
.credit_img::-webkit-scrollbar {
	width: 0.25rem;
}
.credit_img::-webkit-scrollbar-track {
	background: transparent;
}
.credit_img::-webkit-scrollbar-thumb {
	background-color: transparent;
	border: 0;
	border-radius: 0;
}
.credit_img::-webkit-scrollbar {
	background: transparent !important;
	width: 0 !important;
}
.credit_img .inner {
	align-items: center;
	display: flex;
	flex-wrap: nowrap;
	height: 25px;
}
.credit_img .inner span,
.credit_img .inner svg {
	display: block;
	flex-shrink: 0;
}
.credit_img .inner span {
	color: #ffffff;
	display: block;
	font-size: 11px;
	font-style: italic;
	padding-right: 11px;
}

/* 6.0  - Grid */
.container {
	margin-left: auto;
	margin-right: auto;
	max-width: var(--wp--style--global--wide-size);
	width: 100%;
}
.container--lg {
	max-width: 88rem;
}
.container--sm {
	max-width: var(--wp--style--global--content-size);
}
.container--xs {
	max-width: 46.875rem;
}
.container--full {
	margin-left: calc(clamp(1rem, 2.2008253095vw, 2rem) * -1);
	margin-right: calc(clamp(1rem, 2.2008253095vw, 2rem) * -1);
	max-width: none;
}

/* 7.0  - Keyframes */
@keyframes fadeInUpPx {
	from {
		opacity: 0;
		transform: translateY(100px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes scaleImage {
	from {
		transform: scale(0);
	}
	to {
		transform: scale(1);
	}
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3AtY29udGVudC90aGVtZXMvbGUtbW9uZGUtYS12ZWxvL2Fzc2V0cy9jc3Mvc3R5bGUuY3NzIiwibWFwcGluZ3MiOiJBQUVBOzs7Ozs7Ozs7O0NBQUE7QUFZQTtBQ2RBO0NBQ0M7RUFDQztFQUNBO0NEYUQ7Q0NWQTtFQUNDO0VBQ0E7Q0RZRDtBQUNEO0FDVEE7Q0FDQztFQUNDO0NEV0Q7Q0NSQTtFQUNDO0NEVUQ7QUFDRDtBRTFCQTtDQUNDO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7QUY0QkQ7QUUxQkM7Q0FQRDtFQVFFO0VBQ0E7Q0Y2QkQ7QUFDRDtBRTNCQztDQUNDO0FGNkJGOztBQTNCQTtBR2ZBOzs7Q0FHQztBSDhDRDs7QUczQ0E7Q0FDQztDQUNBO0FIOENEOztBRzNDQTtDQUNDO0FIOENEOztBRzNDQTtDQUNDO0FIOENEOztBRzNDQTs7Q0FFQyxnQkNvQm1CO0FKMEJwQjs7QUczQ0E7O0NBRUM7Q0FDQTtBSDhDRDs7QUczQ0E7Q0FDQztBSDhDRDs7QUczQ0E7O0NBRUM7Q0FDQTtDQUNBO0NBQ0E7QUg4Q0Q7O0FHM0NBO0NBQ0M7QUg4Q0Q7O0FHM0NBO0NBQ0M7QUg4Q0Q7O0FHM0NBO0NBQ0M7QUg4Q0Q7O0FHM0NBOzs7OztDQUtDO0NBQ0E7Q0FDQTtDQUNBO0FIOENEOztBRzNDQTs7Q0FFQztBSDhDRDs7QUczQ0E7O0NBRUM7QUg4Q0Q7O0FHM0NBOzs7O0NBSUM7QUg4Q0Q7O0FHM0NBOzs7O0NBSUM7Q0FDQTtBSDhDRDs7QUczQ0E7Q0FDQztBSDhDRDs7QUczQ0E7Q0FDQztDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7QUg4Q0Q7O0FHM0NBO0NBQ0M7QUg4Q0Q7O0FHM0NBO0NBQ0M7QUg4Q0Q7O0FHM0NBOztDQUVDO0NBQ0E7QUg4Q0Q7O0FHM0NBOztDQUVDO0FIOENEOztBRzNDQTtDQUNDO0NBQ0E7QUg4Q0Q7O0FHM0NBO0NBQ0M7QUg4Q0Q7O0FHM0NBO0NBQ0M7Q0FDQTtBSDhDRDs7QUczQ0E7Q0FDQztBSDhDRDs7QUczQ0E7Q0FDQztBSDhDRDs7QUczQ0E7Q0FDQztBSDhDRDs7QUczQ0E7Q0FDQztBSDhDRDs7QUczQ0E7O0NBRUM7Q0FDQTtDQUNBO0FIOENEOztBRzNDQTtDQUNDO0FIOENEOztBRzFDQztDQUVDO0NBQ0E7QUg0Q0Y7O0FBaE1BO0FLcEJBO0NBQ0M7Q0FDQTtDQ3VCQTtDQUNBO0FOa01EO0FNaE1DO0NBQ0M7QU5rTUY7QU0vTEM7Q0FDQyw0Q0ZsQmM7QUptTmhCO0FNOUxDO0NBQ0MsaURGNUJhO0NFNkJiO0NBQ0E7QU5nTUY7QUtqT0M7Q0FDQztBTG1PRjs7QUsvTkE7Q0FDQztBTGtPRDs7QUsvTkE7Q0FDQztDQUNBO0FMa09EO0FLaE9DO0NBQ0M7QUxrT0Y7O0FLN05DO0NBQ0M7Q0FDQTtDQUNBO0NBQ0EsK0NEeEJnQjtDQ3lCaEIsZ0REekJnQjtBSnlQbEI7QUs3TkM7Q0FDQztBTCtORjtBSzNORTtDQUNDO0NBQ0E7Q0FDQTtBTDZOSDs7QUt4TkE7Q0FDQyxzQ0R2Q2M7Q0N3Q2Q7Q0FDQTtBTDJORDtBS3pOQztDQUNDLDBDRHhDaUI7Q0N5Q2pCO0FMMk5GO0FLeE5DO0NBQ0M7Q0MxREQ7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtBTnFSRDtBTW5SQztDQUNDO0NBQ0E7QU5xUkY7O0FLN05BO0NBQ0M7Q0FDQTtDQUNBLCtDRDdEaUI7Q0M4RGpCLGdERDlEaUI7QUo4UmxCO0FLOU5DO0NBQ0Msb0REdERnQjtBSnNSbEI7QUs3TkM7Q0FDQyxtREQvRGU7Q0NnRWY7Q0FDQTtDQUNBO0NBQ0E7Q0FDQSx5Q0QvRGdCO0FKOFJsQjtBSzdORTtDQUNDLDBDRHRFZ0I7QUpxU25CO0FLM05DO0NBQ0M7QUw2TkY7QUsxTkM7Q0FDQztBTDRORjtBS3pOQztDQUNDO0FMMk5GO0FLeE5DO0NBQ0M7QUwwTkY7QUt2TkM7Q0FDQztBTHlORjtBS3ROQztDQUNDO0FMd05GO0FLck5DO0NBQ0M7QUx1TkY7QUtwTkM7Q0FDQztBTHNORjtBS25OQztDQUNDO0FMcU5GO0FLbE5DO0NBQ0M7QUxvTkY7QUtqTkM7Q0FDQztBTG1ORjtBS2hOQztDQUNDO0FMa05GOztBQTdUQTtBT3hCQTtDQUNDO0NBQ0E7Q0FDQTtBUHlWRDs7QU90VkE7Ozs7Ozs7OztDQVNDO0NBQ0E7Q0FDQSxnREhEaUI7Q0dFakIsc0JIZ0RzQjtDRy9DdEIsbUJIdURxQjtDR3JEckI7Q0FDQTtDQUVBLHNDSGZjO0NHZ0JkO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0FQdVZEO0FPclZDOzs7Ozs7Ozs7Q0FDQyxzQ0h6QmE7Q0cwQmI7QVArVkY7O0FPM1ZBOztDQUVDO0NBQ0Esb0RIMUJpQjtDRzJCakI7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBLG1CSDBCcUI7Q0d6QnJCO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7QVA4VkQ7QU81VkM7O0NBQ0M7Q0FDQSw2Q0huRGE7QUprWmY7QU83VkU7O0NBQ0M7QVBnV0g7QU81VkM7O0NBQ0M7Q0FDQTtDQUNBO0FQK1ZGOztBTzNWQTtDQUNDO0FQOFZEOztBTzNWQTtDQUNDO0NBQ0E7QVA4VkQ7O0FPM1ZBO0NBQ0M7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtBUDhWRDs7QU8zVkE7Ozs7Q0FJQztBUDhWRDs7QU8zVkE7Q0FDQztDQUNBO0NBQ0E7QVA4VkQ7O0FPM1ZBOztDQUVDO0FQOFZEOztBTzNWQTtDQUNDO0NBQ0E7Q0FDQTtDQUNBO0FQOFZEOztBTzNWQTtDQUNDO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQSxnQkhoRm1CO0NHaUZuQjtDQUNBO0FQOFZEO0FPNVZDO0NBQ0M7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0FQOFZGO0FRMkZFO0NEL2JEO0VBU0U7Q1ArVkY7QUFDRDtBTzVWQztDQUNDO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtBUDhWRjtBTzVWRTtDQUNDO0NBQ0E7Q0FDQTtDQUNBO0FQOFZIO0FPM1ZFO0NBQ0M7Q0FDQTtBUDZWSDtBTzFWRTtDQUNDO0FQNFZIO0FPeFZDO0NBQ0M7Q0FDQTtBUDBWRjtBUTZERTtDRHpaRDtFQUtFO0NQMlZGO0FBQ0Q7QU94VkM7Q0FDQztDQUNBO0NBQ0E7QVAwVkY7QU94VkU7Q0FDQztDQUNBO0FQMFZIO0FPdlZFO0NBQ0Msb0RIeEtlO0NHeUtmO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0FQeVZIO0FPdlZHO0NBQ0M7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtBUHlWSjtBT3RWRztDQUVDLGlESHhNVztDR3lNWCx5Q0hsTWM7QUp5aEJsQjtBT3BWRztDQUNDO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0Q5TUg7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtBTnFpQkQ7QU1uaUJDO0NBQ0M7Q0FDQTtBTnFpQkY7QU8zVkk7Q0FDQztBUDZWTDtBTzFWSTtDQUVDO0NBQ0E7Q0FDQTtDQUNBLHNDSDlOVTtBSnlqQmY7QU9yVkM7Q0FDQztDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtBUHVWRjtBUWpCRTtDRGhWRDtFQWFFO0NQd1ZGO0FBQ0Q7QU9yVkM7Q0FDQztBUHVWRjtBT3BWQztDQUNDO0NBQ0E7Q0FDQTtDQUNBO0FQc1ZGOztBT2hWRTtDQUNDO0NBQ0E7QVBtVkg7QU8vVUs7Q0FDQztBUGlWTjtBTzdVSTtDQUNDO0FQK1VMO0FPN1VLO0NBQ0M7QVArVU47O0FPdlVBO0NBQ0M7Q0FDQTtDQUNBO0NBQ0E7QVAwVUQ7QU94VUM7Q0FDQyxpREhqU2E7Q0drU2I7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0FQMFVGO0FPdlVDO0NBQ0M7QVB5VUY7QU9sVUs7Q0FDQztBUG9VTjtBT2hVSTtDQUNDO0FQa1VMO0FPNVRDO0NBQ0M7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7QVA4VEY7QU81VEU7Q0FDQztDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0FQOFRIO0FPMVRDO0NBQ0Msb0RIblZnQjtDR29WaEI7Q0FDQTtDQUNBO0NBRUE7Q0FDQTtBUDJURjtBT3pURTtDQUNDO0FQMlRIO0FPelRHO0NBQ0M7Q0FDQTtDQUNBO0FQMlRKO0FPdlRJO0NBQ0M7QVB5VEw7QU9wVEU7Q0FDQztDQUNBO0NBQ0E7QVBzVEg7QU9wVEc7Q0FDQyxnQkh2VmdCO0NHd1ZoQjtBUHNUSjtBT25URztDQUNDO0NBQ0E7Q0FDQTtBUHFUSjtBT2xURztDQUNDO0NBQ0E7Q0FDQTtDQUVBO0NBQ0E7Q0FDQTtDQUNBO0FQbVRKO0FPalRJO0NBQ0Msa0RIdllXO0FKMHJCaEI7QU83U0M7Q0FDQztDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBRUE7Q0FDQTtDQUVBO0NBQ0E7Q0FDQTtBUDZTRjtBTzFTQztDQUNDO0NBRUE7QVAyU0Y7O0FRNUpFO0NEeklBO0VBQ0Msa0RIdGFhO0VHdWFiO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0NQeVNGO0FBQ0Q7QVE1S0U7Q0R6SUE7RUFjRTtDUDJTSDtBQUNEO0FRakxFO0NEeEhDO0VBQ0Msa0RIdmJZO0VHd2JaO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q1A0U0g7Q096U0U7RUFDQztDUDJTSDtDT3pTRztFQUNDO0NQMlNKO0NPeFNHO0VBQ0M7Q1AwU0o7Q092U0c7RUFDQztDUHlTSjtDT3JTRTtFQUNDLG9ESC9jYztFR2dkZDtFQUNBO0NQdVNIO0NPclNHO0VBQ0M7RUFDQTtDUHVTSjtDT3JTSTtFQUNDO0NQdVNMO0NPcFNJO0VBQ0M7RUFDQTtFQUNBO0NQc1NMO0NPcFNLO0VBQ0M7RUFDQTtFQUNBO0NQc1NOO0NPbFNJO0VBQ0M7RUFDQTtDUG9TTDtDT2pTSTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7Q1BtU0w7Q085UkU7RUFDQztFQUNBO0VBQ0E7Q1BnU0g7Q083UkU7RUFDQztDUCtSSDtBQUNEO0FBanhCQTtBUzVCQTtDQUNDO0NBQ0E7Q0FDQTtDQUVBO0NBRUE7Q0FDQTtDQUNBO0NBQ0E7QVQ4eUJEO0FTNXlCQztDQUVDLGlETE5hO0NLT2I7Q0FDQTtDQUVBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FFQTtBVDJ5QkY7QVN6eUJFO0NBQ0M7QVQyeUJIOztBU3R5QkE7Q0FDQztDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtBVHl5QkQ7O0FTdHlCQTtDQUNDLGlETDVDYztDSzZDZCx3Q0wxQ2dCO0NLMkNoQixzRExmbUI7Q0tnQm5CLG9ETEZ3QjtDS0d4QjtDQUNBO0NBQ0E7Q0FDQTtBVHl5QkQ7QVN2eUJDO0NBQ0Msc0NMckRhO0NLc0RiO0NIbkREO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7QU42MUJEO0FNMzFCQztDQUNDO0NBQ0E7QU42MUJGO0FTN3lCQztDQUNDO0FUK3lCRjs7QVMzeUJBOzs7Ozs7O0NBT0M7Q0FDQSxzQ0x4RWM7Q0t5RWQsc0RMM0NtQjtDSzRDbkI7Q0FDQSw2Q0xXVTtDS1ZWLDBDTFVVO0FKb3lCWDtBUzV5QkM7Ozs7Ozs7Q0FDQyw2RExoRHlCO0NLaUR6QjtBVG96QkY7O0FTaHpCQTtDQUNDLGtETGpEZTtBSm8yQmhCOztBU2h6QkE7O0NBRUMsa0RMckRlO0FKdzJCaEI7O0FTaHpCQTtDQUNDLGtETHhEZTtBSjIyQmhCOztBU2h6QkE7Q0FDQyxrREwzRGU7QUo4MkJoQjs7QVNoekJBO0NBQ0Msa0RMOURlO0FKaTNCaEI7O0FTaHpCQTtDQUNDLGtETGxFZTtDS21FZjtBVG16QkQ7O0FTaHpCQTtDQUNDO0FUbXpCRDs7QVNoekJBOztDQUVDO0FUbXpCRDtBU2p6QkM7O0NBQ0MsNkRMeEZ5QjtDS3lGekI7Q0FDQTtBVG96QkY7QVNqekJDOztDQUNDLGtETHpGYztBSjY0QmhCO0FTanpCQzs7Q0FDQyxrREw1RmM7QUpnNUJoQjtBU2p6QkM7O0NBQ0Msa0RMN0ZjO0FKaTVCaEI7O0FTL3lCQztDQUNDLDZETDVHeUI7Q0s2R3pCO0NBQ0E7QVRrekJGOztBUzV5QkU7Q0FDQztBVCt5Qkg7QVM1eUJFO0NBQ0M7QVQ4eUJIO0FTMXlCQztDQUNDO0NBQ0E7QVQ0eUJGO0FTMXlCRTtDQUNDO0NBQ0E7QVQ0eUJIO0FTMXlCRztDQUNDO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7QVQ0eUJKOztBU3R5QkE7O0NBRUM7Q0FDQSxxRExsTGtCO0NLbUxsQjtDQUNBO0NBQ0E7Q0FDQTtDQUNBLHNDTDNMYztDSzRMZDtDQUNBO0NBQ0Esb0RMNUl3QjtDSzZJeEI7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtBVHl5QkQ7QVN2eUJDOztDQUNDO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtBVDB5QkY7QVN2eUJDOzs7Q0FFQztDQUNBLGlETG5OaUI7Q0tvTmpCLDBDTHBOaUI7QUo4L0JuQjs7QVNyeUJDO0NBQ0M7QVR3eUJGOztBU3B5QkE7Q0FDQztDQUNBLDBDTGhPa0I7QUp1Z0NuQjtBU3J5QkM7Q0FDQyxxRExuT2lCO0NLb09qQixzQ0x2T2E7QUo4Z0NmOztBU255QkE7Q0FDQyx5Q0xyT2lCO0FKMmdDbEI7QVNweUJDO0NBQ0M7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtBVHN5QkY7O0FTbHlCQTtDQUNDO0FUcXlCRDs7QVNseUJBO0NBQ0MsbURMaFFnQjtDS2lRaEI7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDSDdQQTtDQUNBO0FObWlDRDtBTWppQ0M7Q0FDQztBTm1pQ0Y7QU1oaUNDO0NBQ0MsdUJHdVArQjtBVDJ5QmpDO0FNL2hDQztDQUNDLDZCR21Qa0I7Q0hsUGxCO0NBQ0E7QU5paUNGO0FTOXlCQztDQUNDO0NBQ0E7QVRnekJGO0FTN3lCQztDQUNDO0NBQ0E7Q0FDQTtDQUNBO0FUK3lCRjtBUzd5QkU7O0NBRUM7Q0FDQTtBVCt5Qkg7QVM1eUJFO0NBQ0M7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtBVDh5Qkg7O0FBOWpDQTtBVWhDQTtDQUNDO0NBQ0E7Q0FDQSw4Q05Eb0I7Q01FcEI7QVZrbUNEO0FVaG1DQztDQUNDO0FWa21DRjtBVS9sQ0M7Q0FDQyxpRE5WYztBSjJtQ2hCO0FVOWxDQztDQUNDO0FWZ21DRjtBVTdsQ0M7Q0FDQztDQUNBO0NBQ0E7QVYrbENGOztBQWhsQ0E7QUN0Q0E7Q0FDQztFQUNDO0VBQ0E7Q0QwbkNEO0NDdm5DQTtFQUNDO0VBQ0E7Q0R5bkNEO0FBQ0Q7QUN0bkNBO0NBQ0M7RUFDQztDRHduQ0Q7Q0NybkNBO0VBQ0M7Q0R1bkNEO0FBQ0QsQyIsInNvdXJjZXMiOlsid2VicGFjazovL2xtYXYtZW52Ly4vd3AtY29udGVudC90aGVtZXMvbGUtbW9uZGUtYS12ZWxvL2Fzc2V0cy9jc3Mvc3R5bGUuc2NzcyIsIndlYnBhY2s6Ly9sbWF2LWVudi8uL3dwLWNvbnRlbnQvdGhlbWVzL2xlLW1vbmRlLWEtdmVsby9hc3NldHMvY3NzL19zZXR0aW5ncy9fa2V5ZnJhbWVzLnNjc3MiLCJ3ZWJwYWNrOi8vbG1hdi1lbnYvLi93cC1jb250ZW50L3RoZW1lcy9sZS1tb25kZS1hLXZlbG8vYXNzZXRzL2Nzcy9fZ2xvYmFsL19jc3MtdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vbG1hdi1lbnYvLi93cC1jb250ZW50L3RoZW1lcy9sZS1tb25kZS1hLXZlbG8vYXNzZXRzL2Nzcy9fZ2xvYmFsL19ub3JtYWxpemUuc2NzcyIsIndlYnBhY2s6Ly9sbWF2LWVudi8uL3dwLWNvbnRlbnQvdGhlbWVzL2xlLW1vbmRlLWEtdmVsby9hc3NldHMvY3NzL19zZXR0aW5ncy9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vbG1hdi1lbnYvLi93cC1jb250ZW50L3RoZW1lcy9sZS1tb25kZS1hLXZlbG8vYXNzZXRzL2Nzcy9fZ2xvYmFsL19nZW5lcmFsLnNjc3MiLCJ3ZWJwYWNrOi8vbG1hdi1lbnYvLi93cC1jb250ZW50L3RoZW1lcy9sZS1tb25kZS1hLXZlbG8vYXNzZXRzL2Nzcy9fc2V0dGluZ3MvX21peGlucy5zY3NzIiwid2VicGFjazovL2xtYXYtZW52Ly4vd3AtY29udGVudC90aGVtZXMvbGUtbW9uZGUtYS12ZWxvL2Fzc2V0cy9jc3MvX2dsb2JhbC9fZm9ybS5zY3NzIiwid2VicGFjazovL2xtYXYtZW52Ly4vd3AtY29udGVudC90aGVtZXMvbGUtbW9uZGUtYS12ZWxvL2Fzc2V0cy9jc3MvX3NldHRpbmdzL19pbmNsdWRlLW1lZGlhLnNjc3MiLCJ3ZWJwYWNrOi8vbG1hdi1lbnYvLi93cC1jb250ZW50L3RoZW1lcy9sZS1tb25kZS1hLXZlbG8vYXNzZXRzL2Nzcy9fZ2xvYmFsL190eXBvZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vbG1hdi1lbnYvLi93cC1jb250ZW50L3RoZW1lcy9sZS1tb25kZS1hLXZlbG8vYXNzZXRzL2Nzcy9fZ2xvYmFsL19ncmlkLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnX3NldHRpbmdzL2luaXQnO1xyXG5cclxuLyoqXHJcbiAqIFRhYmxlIG9mIENvbnRlbnRzOlxyXG5cclxuICogMS4wICAtIFZhcmlhYmxlc1xyXG4gKiAyLjAgIC0gTm9ybWFsaXplXHJcbiAqIDMuMCAgLSBHZW5lcmFsXHJcbiAqIDQuMCAgLSBGb3JtXHJcbiAqIDUuMCAgLSBUeXBvZ3JhcGh5XHJcbiAqIDYuMCAgLSBHcmlkXHJcbiAqIDcuMCAgLSBLZXlmcmFtZXNcclxuKi9cclxuXHJcbi8qIDEuMCAgLSBWYXJpYWJsZXMgKi9cclxuXHJcbkBpbXBvcnQgJ19nbG9iYWwvY3NzLXZhcmlhYmxlcyc7XHJcblxyXG4vKiAyLjAgIC0gTm9ybWFsaXplICovXHJcblxyXG5AaW1wb3J0ICdfZ2xvYmFsL25vcm1hbGl6ZSc7XHJcblxyXG4vKiAzLjAgIC0gR2VuZXJhbCAqL1xyXG5cclxuQGltcG9ydCAnX2dsb2JhbC9nZW5lcmFsJztcclxuXHJcbi8qIDQuMCAgLSBGb3JtICovXHJcblxyXG5AaW1wb3J0ICdfZ2xvYmFsL2Zvcm0nO1xyXG5cclxuLyogNS4wICAtIFR5cG9ncmFwaHkgKi9cclxuXHJcbkBpbXBvcnQgJ19nbG9iYWwvdHlwb2dyYXBoeSc7XHJcblxyXG4vKiA2LjAgIC0gR3JpZCAqL1xyXG5cclxuQGltcG9ydCAnX2dsb2JhbC9ncmlkJztcclxuXHJcbi8qIDcuMCAgLSBLZXlmcmFtZXMgKi9cclxuXHJcbkBpbXBvcnQgJ19zZXR0aW5ncy9rZXlmcmFtZXMnO1xyXG4iLCJAa2V5ZnJhbWVzIGZhZGVJblVwUHgge1xyXG5cdGZyb20ge1xyXG5cdFx0b3BhY2l0eTogMDtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDBweCk7XHJcblx0fVxyXG5cclxuXHR0byB7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG5cdH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzY2FsZUltYWdlIHtcclxuXHRmcm9tIHtcclxuXHRcdHRyYW5zZm9ybTogc2NhbGUoMCk7XHJcblx0fVxyXG5cclxuXHR0byB7XHJcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG5cdH1cclxufVxyXG4iLCJAaW1wb3J0ICcuLi9fc2V0dGluZ3MvaW5pdCc7XHJcbkBpbXBvcnQgJy4uL19zZXR0aW5ncy9rZXlmcmFtZXMnO1xyXG5cclxuYm9keSB7XHJcblx0LS13cC0tc3R5bGUtLWdhbGxlcnktZ2FwLWRlZmF1bHQ6IDFyZW07XHJcblx0LS1sbWF2LS10cmFuc2l0aW9uLXNwZWVkOiAwLjM1cztcclxuXHQtLWxtYXYtLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcclxuXHQtLWxtYXYtLWZ1bGwtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gdmFyKC0td3AtYWRtaW4tLWFkbWluLWJhci0taGVpZ2h0LCAwcHgpKTtcclxuXHQtLWxtYXYtLWZ1bGwtd2lkdGg6IGNhbGMoMTAwdncgLSB2YXIoLS1sbWF2LWpzLXNjcm9sbGJhciwgMXJlbSkpO1xyXG5cclxuXHRAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xyXG5cdFx0LS1sbWF2LS10cmFuc2l0aW9uLXNwZWVkOiAwcztcclxuXHRcdC0tbG1hdi0tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcclxuXHR9XHJcblxyXG5cdCYubG9hZGVkIHtcclxuXHRcdC0tbG1hdi0tZnVsbC13aWR0aDogY2FsYygxMDB2dyAtIHZhcigtLWxtYXYtanMtc2Nyb2xsYmFyLCAwcHgpKTtcclxuXHR9XHJcbn1cclxuIiwiQGltcG9ydCAnLi4vX3NldHRpbmdzL3ZhcmlhYmxlcyc7XHJcbkBpbXBvcnQgJy4uL19zZXR0aW5ncy9taXhpbnMnO1xyXG5cclxuKixcclxuKjo6YmVmb3JlLFxyXG4qOjphZnRlciB7XHJcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuaHRtbCB7XHJcblx0bGluZS1oZWlnaHQ6IDEuNTtcclxuXHR0ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xyXG59XHJcblxyXG5ib2R5IHtcclxuXHRtYXJnaW46IDA7XHJcbn1cclxuXHJcbm1haW4ge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG5iLFxyXG5zdHJvbmcge1xyXG5cdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtLWJvbGQ7XHJcbn1cclxuXHJcbmtiZCxcclxuc2FtcCB7XHJcblx0Zm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcclxuXHRmb250LXNpemU6IDFlbTtcclxufVxyXG5cclxuc21hbGwge1xyXG5cdGZvbnQtc2l6ZTogODAlO1xyXG59XHJcblxyXG5zdWIsXHJcbnN1cCB7XHJcblx0Zm9udC1zaXplOiA2NSU7XHJcblx0bGluZS1oZWlnaHQ6IDA7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxufVxyXG5cclxuc3ViIHtcclxuXHRib3R0b206IC0wLjI1ZW07XHJcbn1cclxuXHJcbnN1cCB7XHJcblx0dG9wOiAtMC43ZW07XHJcbn1cclxuXHJcbmltZyB7XHJcblx0Ym9yZGVyLXN0eWxlOiBub25lO1xyXG59XHJcblxyXG5idXR0b24sXHJcbmlucHV0LFxyXG5vcHRncm91cCxcclxuc2VsZWN0LFxyXG50ZXh0YXJlYSB7XHJcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcblx0Zm9udC1zaXplOiAxMDAlO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjU7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG5idXR0b24sXHJcbmlucHV0IHtcclxuXHRvdmVyZmxvdzogdmlzaWJsZTtcclxufVxyXG5cclxuYnV0dG9uLFxyXG5zZWxlY3Qge1xyXG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG59XHJcblxyXG5idXR0b24sXHJcblt0eXBlPSdidXR0b24nXSxcclxuW3R5cGU9J3Jlc2V0J10sXHJcblt0eXBlPSdzdWJtaXQnXSB7XHJcblx0YXBwZWFyYW5jZTogYnV0dG9uO1xyXG59XHJcblxyXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXHJcblt0eXBlPSdidXR0b24nXTo6LW1vei1mb2N1cy1pbm5lcixcclxuW3R5cGU9J3Jlc2V0J106Oi1tb3otZm9jdXMtaW5uZXIsXHJcblt0eXBlPSdzdWJtaXQnXTo6LW1vei1mb2N1cy1pbm5lciB7XHJcblx0Ym9yZGVyLXN0eWxlOiBub25lO1xyXG5cdHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbmZpZWxkc2V0IHtcclxuXHRwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XHJcbn1cclxuXHJcbmxlZ2VuZCB7XHJcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRjb2xvcjogaW5oZXJpdDtcclxuXHRkaXNwbGF5OiB0YWJsZTtcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZzogMDtcclxuXHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG59XHJcblxyXG5wcm9ncmVzcyB7XHJcblx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG59XHJcblxyXG50ZXh0YXJlYSB7XHJcblx0b3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcblt0eXBlPSdjaGVja2JveCddLFxyXG5bdHlwZT0ncmFkaW8nXSB7XHJcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRwYWRkaW5nOiAwO1xyXG59XHJcblxyXG5bdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXHJcblt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XHJcblx0aGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG5bdHlwZT0nc2VhcmNoJ10ge1xyXG5cdGFwcGVhcmFuY2U6IHRleHRmaWVsZDtcclxuXHRvdXRsaW5lLW9mZnNldDogLTJweDtcclxufVxyXG5cclxuW3R5cGU9J3NlYXJjaCddOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcclxuXHRhcHBlYXJhbmNlOiBub25lO1xyXG59XHJcblxyXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcclxuXHRhcHBlYXJhbmNlOiBidXR0b247XHJcblx0Zm9udDogaW5oZXJpdDtcclxufVxyXG5cclxuZGV0YWlscyB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbnN1bW1hcnkge1xyXG5cdGRpc3BsYXk6IGxpc3QtaXRlbTtcclxufVxyXG5cclxudGVtcGxhdGUge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbltoaWRkZW5dIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG5pbWcsXHJcbnN2ZyB7XHJcblx0aGVpZ2h0OiBhdXRvO1xyXG5cdG1heC13aWR0aDogMTAwJTtcclxuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG5zdmcge1xyXG5cdG1heC1oZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbmlmcmFtZSB7XHJcblx0JltzcmMqPSdnb29nbGUuY29tJ10sXHJcblx0JltkYXRhLXNyYyo9J2dvb2dsZS5jb20nXSB7XHJcblx0XHRib3JkZXItcmFkaXVzOiByZW0oMjApO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG59XHJcbiIsIkBpbXBvcnQgJ21peGlucyc7XHJcblxyXG4vLyBMYXlvdXRcclxuJGxheW91dC0td2lkdGg6IHZhcigtLXdwLS1zdHlsZS0tZ2xvYmFsLS1jb250ZW50LXNpemUpO1xyXG4kbGF5b3V0LS13aWRlLXdpZHRoOiB2YXIoLS13cC0tc3R5bGUtLWdsb2JhbC0td2lkZS1zaXplKTtcclxuJGxheW91dC0tcGFkZGluZy0tbWluOiAxNjtcclxuJGxheW91dC0tcGFkZGluZy0tbWF4OiAzMjtcclxuJGxheW91dC0tcGFkZGluZzogdncoJGxheW91dC0tcGFkZGluZy0tbWluLCAkbGF5b3V0LS1wYWRkaW5nLS1tYXgpO1xyXG5cclxuLy8gQ29sb3JzXHJcbiRjb2xvci0td2hpdGU6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS13aGl0ZSk7XHJcbiRjb2xvci0tYmxhY2s6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1ibGFjayk7XHJcblxyXG4kY29sb3ItLXByaW1hcnk6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1wcmltYXJ5KTtcclxuJGNvbG9yLS1zZWNvbmRhcnk6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1zZWNvbmRhcnkpO1xyXG4kY29sb3ItLXRlcnRpYXJ5OiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tdGVydGlhcnkpO1xyXG5cclxuJGNvbG9yLS1iZy1hbHQ6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1iZy1hbHQpO1xyXG4kY29sb3ItLWJnLWxpZ2h0OiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tYmctbGlnaHQpO1xyXG5cclxuJGNvbG9yLS1hbGVydDogdmFyKC0td3AtLXByZXNldC0tY29sb3ItLWFsZXJ0KTtcclxuJGNvbG9yLS1zdWNjZXNzOiB2YXIoLS13cC0tcHJlc2V0LS1jb2xvci0tc3VjY2Vzcyk7XHJcbiRjb2xvci0tZXJyb3I6IHZhcigtLXdwLS1wcmVzZXQtLWNvbG9yLS1lcnJvcik7XHJcblxyXG4kY29sb3ItLXRleHQ6ICRjb2xvci0tcHJpbWFyeTtcclxuJGNvbG9yLS1saW5rOiAkY29sb3ItLWJsYWNrO1xyXG4kY29sb3ItLWhlYWRpbmdzOiAkY29sb3ItLWJsYWNrO1xyXG4kY29sb3ItLWNvbnRlbnQtYmc6ICRjb2xvci0tYmctYWx0O1xyXG5cclxuJGNvbG9yLS1maWVsZHMtdGV4dDogJGNvbG9yLS1ibGFjaztcclxuJGNvbG9yLS1maWVsZHMtYmc6ICRjb2xvci0tYmctbGlnaHQ7XHJcbiRjb2xvci0tZmllbGRzLWJvcmRlcjogJGNvbG9yLS1iZy1saWdodDtcclxuXHJcbi8vIEdsb2JhbFxyXG4kZnVsbC1oZWlnaHQ6IHZhcigtLWxtYXYtLWZ1bGwtaGVpZ2h0KTtcclxuJGZ1bGwtd2lkdGg6IHZhcigtLWxtYXYtLWZ1bGwtd2lkdGgpO1xyXG5cclxuJGhlYWRlci0tbW9iaWxlLW1heDogJ2xnJztcclxuJGZpbHRlcnMtLW1vYmlsZS1tYXg6ICdsZyc7XHJcblxyXG4vLyBGb250c1xyXG4kZm9udC1mYW1pbHktLWJvZHk6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtZmFtaWx5LS1ib2R5LWZvbnQpO1xyXG4kZm9udC1mYW1pbHktLWhlYWRpbmctYWRkOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LWZhbWlseS0taGVhZGluZy1hZGQtZm9udCk7XHJcblxyXG4kZm9udC13ZWlnaHQtLWJvbGQ6IDcwMDtcclxuXHJcbi8vIEhlYWRpbmdzXHJcbiRmb250LXNpemUtLWgxOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWhlYWRpbmctMSk7XHJcbiRmb250LXNpemUtLWgyOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWhlYWRpbmctMik7XHJcbiRmb250LXNpemUtLWgzOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWhlYWRpbmctMyk7XHJcbiRmb250LXNpemUtLWg0OiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWhlYWRpbmctNCk7XHJcbiRmb250LXNpemUtLWg1OiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLWhlYWRpbmctNSk7XHJcblxyXG4vLyBUZXh0XHJcbiRmb250LXNpemUtLXRleHQtbGFyZ2U6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tdGV4dC1sYXJnZSk7XHJcbiRmb250LXNpemUtLXRleHQtbWVkaXVtOiB2YXIoLS13cC0tcHJlc2V0LS1mb250LXNpemUtLXRleHQtbWVkaXVtKTtcclxuJGZvbnQtc2l6ZS0tdGV4dC1zbWFsbDogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS10ZXh0LXNtYWxsKTtcclxuJGZvbnQtc2l6ZS0tdGV4dC14c21hbGw6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tdGV4dC14c21hbGwpO1xyXG5cclxuLy8gQnV0dG9uc1xyXG4kZm9udC1zaXplLS1idXR0b24tbWFpbjogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1idXR0b24tbWFpbik7XHJcbiRmb250LXNpemUtLWJ1dHRvbi1yZWFkbW9yZTogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1idXR0b24tcmVhZG1vcmUpO1xyXG5cclxuLy8gUHJpY2VzXHJcbiRmb250LXNpemUtLXByaWNlLWRlZmF1bHQ6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtc2l6ZS0tcHJpY2UtZGVmYXVsdCk7XHJcbiRmb250LXNpemUtLXByaWNlLWJpZzogdmFyKC0td3AtLXByZXNldC0tZm9udC1zaXplLS1wcmljZS1iaWcpO1xyXG5cclxuLy8gQm9yZGVyIFJhZGl1c2VzXHJcbiRib3JkZXItcmFkaXVzLS1pbnB1dDogcmVtKDQpO1xyXG4kYm9yZGVyLXJhZGl1cy0tY2hlY2tib3g6IHJlbSgyKTtcclxuXHJcbi8vIElucHV0c1xyXG4kaW5wdXQtLWhlaWdodDogNjI7XHJcbiRpbnB1dC0tcGFkZGluZy0teDogMTM7XHJcbiRpbnB1dC0tcGFkZGluZy0teTogMTg7XHJcbiRpbnB1dC0tYm9yZGVyLXdpZHRoOiAwO1xyXG4kaW5wdXQtLWJvcmRlci1zdHlsZTogc29saWQ7XHJcbiRpbnB1dC0tYm9yZGVyLWNvbG9yOiAkY29sb3ItLWZpZWxkcy1ib3JkZXI7XHJcblxyXG4vLyBUcmFuc2l0aW9uc1xyXG4kdHJhbnNpdGlvbi0tc3BlZWQ6IHZhcigtLWxtYXYtLXRyYW5zaXRpb24tc3BlZWQpO1xyXG4kdHJhbnNpdGlvbi0tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1sbWF2LS10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbik7XHJcbiR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi0tc3BlZWQgJHRyYW5zaXRpb24tLXRpbWluZy1mdW5jdGlvbjtcclxuXHJcbi8vIEJyZWFrcG9pbnRzXHJcbiRicmVha3BvaW50czogKFxyXG5cdHhzOiAzNzVweCxcclxuXHRzbTogNTc2cHgsXHJcblx0bWQ6IDc4MnB4LFxyXG5cdGxnOiA5OTJweCxcclxuXHR4bDogMTIwMHB4LFxyXG5cdHh4bDogMTQ0MHB4LFxyXG5cdG1heDogMTU4NXB4XHJcbik7XHJcblxyXG4vLyBTcGFjaW5nXHJcbiRzcGFjZXItMTogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tMjQpO1xyXG4kc3BhY2VyLTI6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTM2KTtcclxuJHNwYWNlci0zOiB2YXIoLS13cC0tcHJlc2V0LS1zcGFjaW5nLS02MCk7XHJcbiRzcGFjZXItNDogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tODApO1xyXG4kc3BhY2VyLTU6IHZhcigtLXdwLS1wcmVzZXQtLXNwYWNpbmctLTEwMCk7XHJcbiRzcGFjZXItNjogdmFyKC0td3AtLXByZXNldC0tc3BhY2luZy0tMTIwKTtcclxuIiwiQGltcG9ydCAnLi4vX3NldHRpbmdzL2luaXQnO1xyXG5cclxuaHRtbCB7XHJcblx0Zm9udC1zaXplOiBjbGFtcCgxcmVtLCAwLjgzM3Z3LCAwLjgzM3Z3KTtcclxuXHRvdmVyc2Nyb2xsLWJlaGF2aW9yOiBub25lO1xyXG5cclxuXHRAaW5jbHVkZSBzY3JvbGxiYXIoJGNvbG9yLS1ibGFjaywgJGNvbG9yLS1jb250ZW50LWJnKTtcclxuXHJcblx0JltkYXRhLXBvcHVwXSB7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdH1cclxufVxyXG5cclxuYm9keS5hZG1pbi1iYXIge1xyXG5cdHBhZGRpbmctdG9wOiB2YXIoLS13cC1hZG1pbi0tYWRtaW4tYmFyLS1oZWlnaHQsIDMycHgpO1xyXG59XHJcblxyXG4qOmZvY3VzIHtcclxuXHRvdXRsaW5lOiByZW0oMikgc29saWQgJGNvbG9yLS1zZWNvbmRhcnk7XHJcblx0b3V0bGluZS1vZmZzZXQ6IHJlbSgyKTtcclxuXHJcblx0Ym9keS5oYXMtbW91c2UtZXZlbnQgJiB7XHJcblx0XHRvdXRsaW5lOiBub25lO1xyXG5cdH1cclxufVxyXG5cclxuLnNpdGUge1xyXG5cdCZfX3dyYXBwZXIge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gdmFyKC0td3AtYWRtaW4tLWFkbWluLWJhci0taGVpZ2h0LCAwcHgpKTtcclxuXHRcdHBhZGRpbmctbGVmdDogJGxheW91dC0tcGFkZGluZztcclxuXHRcdHBhZGRpbmctcmlnaHQ6ICRsYXlvdXQtLXBhZGRpbmc7XHJcblx0fVxyXG5cclxuXHQmX19tYWluIHtcclxuXHRcdGZsZXg6IDE7XHJcblx0fVxyXG5cclxuXHQmX19jb250ZW50IHtcclxuXHRcdCY6OmFmdGVyIHtcclxuXHRcdFx0Y2xlYXI6IGJvdGg7XHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRkaXNwbGF5OiB0YWJsZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5icmVhZGNydW1icyB7XHJcblx0Y29sb3I6ICRjb2xvci0td2hpdGU7XHJcblx0Zm9udC1zaXplOiByZW0oMTMpO1xyXG5cdG1hcmdpbi1ib3R0b206IHJlbSgxNyk7XHJcblxyXG5cdC5zZXAge1xyXG5cdFx0Y29sb3I6ICRjb2xvci0tc2Vjb25kYXJ5O1xyXG5cdFx0cGFkZGluZzogMCByZW0oNSk7XHJcblx0fVxyXG5cclxuXHRhIHtcclxuXHRcdGNvbG9yOiBjdXJyZW50Q29sb3I7XHJcblxyXG5cdFx0QGluY2x1ZGUgbGluaygpO1xyXG5cdH1cclxufVxyXG5cclxuLm1vZHVsZSB7XHJcblx0bWFyZ2luLWxlZnQ6IGNhbGMoJGxheW91dC0tcGFkZGluZyAqIC0xKTtcclxuXHRtYXJnaW4tcmlnaHQ6IGNhbGMoJGxheW91dC0tcGFkZGluZyAqIC0xKTtcclxuXHRwYWRkaW5nLWxlZnQ6ICRsYXlvdXQtLXBhZGRpbmc7XHJcblx0cGFkZGluZy1yaWdodDogJGxheW91dC0tcGFkZGluZztcclxuXHJcblx0Ji5oYXMtbGlnaHQtYmcge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLS1iZy1saWdodDtcclxuXHR9XHJcblxyXG5cdCYuaGFzLWdyZWVuLWJnIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci0tcHJpbWFyeTtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2JnLmpwZycpO1xyXG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC15O1xyXG5cdFx0YmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XHJcblx0XHRjb2xvcjogJGNvbG9yLS1iZy1saWdodDtcclxuXHJcblx0XHQudGl0bGUge1xyXG5cdFx0XHRjb2xvcjogJGNvbG9yLS1zZWNvbmRhcnk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmLmhhcy0yMC1wdCB7XHJcblx0XHRwYWRkaW5nLXRvcDogcmVtKDIwKTtcclxuXHR9XHJcblxyXG5cdCYuaGFzLTQwLXB0IHtcclxuXHRcdHBhZGRpbmctdG9wOiB2dygyNSwgNDApO1xyXG5cdH1cclxuXHJcblx0Ji5oYXMtNjAtcHQge1xyXG5cdFx0cGFkZGluZy10b3A6IHZ3KDMwLCA2MCk7XHJcblx0fVxyXG5cclxuXHQmLmhhcy04MC1wdCB7XHJcblx0XHRwYWRkaW5nLXRvcDogdncoNDAsIDgwKTtcclxuXHR9XHJcblxyXG5cdCYuaGFzLTEwMC1wdCB7XHJcblx0XHRwYWRkaW5nLXRvcDogdncoNTAsIDEwMCk7XHJcblx0fVxyXG5cclxuXHQmLmhhcy0xMjAtcHQge1xyXG5cdFx0cGFkZGluZy10b3A6IHZ3KDYwLCAxMjApO1xyXG5cdH1cclxuXHJcblx0Ji5oYXMtMjAtcGIge1xyXG5cdFx0cGFkZGluZy1ib3R0b206IHJlbSgyMCk7XHJcblx0fVxyXG5cclxuXHQmLmhhcy00MC1wYiB7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogdncoMjUsIDQwKTtcclxuXHR9XHJcblxyXG5cdCYuaGFzLTYwLXBiIHtcclxuXHRcdHBhZGRpbmctYm90dG9tOiB2dygzMCwgNjApO1xyXG5cdH1cclxuXHJcblx0Ji5oYXMtODAtcGIge1xyXG5cdFx0cGFkZGluZy1ib3R0b206IHZ3KDQwLCA4MCk7XHJcblx0fVxyXG5cclxuXHQmLmhhcy0xMDAtcGIge1xyXG5cdFx0cGFkZGluZy1ib3R0b206IHZ3KDUwLCAxMDApO1xyXG5cdH1cclxuXHJcblx0Ji5oYXMtMTIwLXBiIHtcclxuXHRcdHBhZGRpbmctYm90dG9tOiB2dyg2MCwgMTIwKTtcclxuXHR9XHJcbn1cclxuIiwiQG1peGluIGxpbmsoJGhlaWdodDogMSwgJHhfc3BlZWQ6IDEpIHtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoY3VycmVudGNvbG9yLCBjdXJyZW50Y29sb3IpO1xyXG5cdGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMTAwJTtcclxuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdGJhY2tncm91bmQtc2l6ZTogMCUgcmVtKCRoZWlnaHQpO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtc2l6ZSBjYWxjKCR0cmFuc2l0aW9uLS1zcGVlZCAqICR4X3NwZWVkKSBlYXNlIDBzLCBjb2xvciAkdHJhbnNpdGlvbi0tc3BlZWQgZWFzZTtcclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDEwMCUgcmVtKCRoZWlnaHQpO1xyXG5cdH1cclxufVxyXG5cclxuQG1peGluIGxpbmstdW5kZXJsaW5lKCRoZWlnaHQ6IDEsICR4X3NwZWVkOiAxKSB7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KGN1cnJlbnRjb2xvciwgY3VycmVudGNvbG9yKTtcclxuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7XHJcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRiYWNrZ3JvdW5kLXNpemU6IDEwMCUgcmVtKCRoZWlnaHQpO1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtc2l6ZSBjYWxjKCR0cmFuc2l0aW9uLS1zcGVlZCAqICR4X3NwZWVkKSBlYXNlIDBzLCBjb2xvciAkdHJhbnNpdGlvbi0tc3BlZWQgZWFzZTtcclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDEwMCU7XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDAlIHJlbSgkaGVpZ2h0KTtcclxuXHR9XHJcbn1cclxuXHJcbkBtaXhpbiBzY3JvbGxiYXIoJGNvbG9yLXNjcm9sbGJhciwgJGNvbG9yLXNjcm9sbGJhci1iZykge1xyXG5cdHNjcm9sbGJhci1jb2xvcjogJGNvbG9yLXNjcm9sbGJhciAkY29sb3Itc2Nyb2xsYmFyLWJnO1xyXG5cdHNjcm9sbGJhci13aWR0aDogdGhpbjtcclxuXHJcblx0Jjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG5cdFx0d2lkdGg6IHJlbSg0KTtcclxuXHR9XHJcblxyXG5cdCY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcclxuXHRcdGJhY2tncm91bmQ6ICRjb2xvci1zY3JvbGxiYXItYmc7XHJcblx0fVxyXG5cclxuXHQmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Nyb2xsYmFyO1xyXG5cdFx0Ym9yZGVyOiAwO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMDtcclxuXHR9XHJcbn1cclxuXHJcbkBtaXhpbiBzY3JvbGxiYXItaGlkZGVuKCkge1xyXG5cdHNjcm9sbGJhci13aWR0aDogbm9uZTtcclxuXHJcblx0Jjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdHdpZHRoOiAwO1xyXG5cdH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIHJlbSgkc2l6ZVZhbHVlOiAxNikge1xyXG5cdEBpZiAodHlwZS1vZigkc2l6ZVZhbHVlKSA9PSAnbnVtYmVyJykge1xyXG5cdFx0QHJldHVybiBjYWxjKCRzaXplVmFsdWUgLyAxNikgKyByZW07XHJcblx0fVxyXG5cclxuXHRAZWxzZSB7XHJcblx0XHRAcmV0dXJuICN7JHNpemVWYWx1ZX07XHJcblx0fVxyXG59XHJcblxyXG5AZnVuY3Rpb24gdncoJG1pbiwgJG1heCwgJHVzZS12YXI6IDAsICRtYXgtdjogMTQ1NCkge1xyXG5cdCR2dy11bml0OiBpZigkdXNlLXZhciA9PSAxLCB2YXIoLS1sbWF2LS12dywgMTAwdncpLCAxMDB2dyk7XHJcblxyXG5cdEByZXR1cm4gY2xhbXAoXHJcblx0XHQje3JlbSgkbWluKX0sXHJcblx0XHQje2NhbGMoJG1heCAvICRtYXgtdiAqICR2dy11bml0KX0sXHJcblx0XHQje3JlbSgkbWF4KX1cclxuXHQpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gdndmdCgkbWluLCAkbWF4LCAkbWluLXY6IDc2OCwgJG1heC12OiAxNDU0LCAkdXNlLXZhcjogMCkge1xyXG5cdCR2dy11bml0OiBpZigkdXNlLXZhciA9PSAxLCB2YXIoLS1sbWF2LS12dywgMTAwdncpLCAxMDB2dyk7XHJcblxyXG5cdEByZXR1cm4gY2xhbXAoXHJcblx0XHQje3JlbSgkbWluKX0sXHJcblx0XHRjYWxjKCgoJG1heCAtICRtaW4pIC8gKCRtYXgtdiAtICRtaW4tdikpICogKCR2dy11bml0IC0gI3tjYWxjKCRtaW4tdiAvIDE2KX1yZW0pICsgI3tyZW0oJG1pbil9KSxcclxuXHRcdCN7cmVtKCRtYXgpfVxyXG5cdCk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogJycpIHtcclxuXHQkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcclxuXHJcblx0QGlmICRpbmRleCB7XHJcblx0XHRAcmV0dXJuIHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICsgc3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0ci1sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuICRzdHJpbmc7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBlc2NhcGUtc3ZnKCRzdHJpbmcpIHtcclxuXHRAaWYgc3RyLWluZGV4KCRzdHJpbmcsICdkYXRhOmltYWdlL3N2Zyt4bWwnKSB7XHJcblx0XHRAZWFjaCAkY2hhciwgJGVuY29kZWQgaW4gKFxyXG5cdFx0XHQoJzwnLCAnJTNjJyksXHJcblx0XHRcdCgnPicsICclM2UnKSxcclxuXHRcdFx0KCcjJywgJyUyMycpLFxyXG5cdFx0XHQoJygnLCAnJTI4JyksXHJcblx0XHRcdCgnKScsICclMjknKSxcclxuXHRcdCkge1xyXG5cdFx0XHRAaWYgc3RyLWluZGV4KCRzdHJpbmcsICd1cmwoJykgPT0gMSB7XHJcblx0XHRcdFx0JHN0cmluZzogdXJsKCcje3N0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCA2LCAtMyksICRjaGFyLCAkZW5jb2RlZCl9Jyk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBlbHNlIHtcclxuXHRcdFx0XHQkc3RyaW5nOiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkY2hhciwgJGVuY29kZWQpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuICRzdHJpbmc7XHJcbn1cclxuIiwiQGltcG9ydCAnLi4vX3NldHRpbmdzL2luaXQnO1xyXG5cclxubGFiZWwge1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRtYXJnaW4tYm90dG9tOiByZW0oMTApO1xyXG59XHJcblxyXG5pbnB1dFt0eXBlPSd0ZXh0J10sXHJcbmlucHV0W3R5cGU9J2VtYWlsJ10sXHJcbmlucHV0W3R5cGU9J251bWJlciddLFxyXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSxcclxuaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSxcclxuaW5wdXRbdHlwZT0ndGVsJ10sXHJcbmlucHV0W3R5cGU9J3VybCddLFxyXG50ZXh0YXJlYSxcclxuc2VsZWN0IHtcclxuXHRhcHBlYXJhbmNlOiBub25lO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci0tZmllbGRzLWJnO1xyXG5cdGJvcmRlci1jb2xvcjogJGlucHV0LS1ib3JkZXItY29sb3I7XHJcblx0Ym9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtLWlucHV0O1xyXG5cdGJvcmRlci1zdHlsZTogJGlucHV0LS1ib3JkZXItc3R5bGU7XHJcblxyXG5cdGJvcmRlci13aWR0aDogcmVtKCRpbnB1dC0tYm9yZGVyLXdpZHRoKTtcclxuXHRib3gtc2hhZG93OiBub25lO1xyXG5cclxuXHRjb2xvcjogJGNvbG9yLS1maWVsZHMtdGV4dDtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRoZWlnaHQ6IHJlbSgkaW5wdXQtLWhlaWdodCk7XHJcblx0bWFyZ2luLWJvdHRvbTogcmVtKDEwKTtcclxuXHRtYXJnaW4tdG9wOiByZW0oMTApO1xyXG5cdG1heC13aWR0aDogMTAwJTtcclxuXHRwYWRkaW5nOiByZW0oJGlucHV0LS1wYWRkaW5nLS15KSByZW0oJGlucHV0LS1wYWRkaW5nLS14KSAhaW1wb3J0YW50O1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cclxuXHQmOjpwbGFjZWhvbGRlciB7XHJcblx0XHRjb2xvcjogJGNvbG9yLS1maWVsZHMtdGV4dDtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0fVxyXG59XHJcblxyXG5pbnB1dFt0eXBlPSdjaGVja2JveCddLFxyXG5pbnB1dFt0eXBlPSdyYWRpbyddIHtcclxuXHRhcHBlYXJhbmNlOiBub25lO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci0tZmllbGRzLWJnO1xyXG5cdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdGJhY2tncm91bmQtc2l6ZTogMDtcclxuXHRib3JkZXItY29sb3I6ICNjY2M4YzU7XHJcblx0Ym9yZGVyLXJhZGl1czogcmVtKCRib3JkZXItcmFkaXVzLS1jaGVja2JveCk7XHJcblx0Ym9yZGVyLXN0eWxlOiAkaW5wdXQtLWJvcmRlci1zdHlsZTtcclxuXHRib3JkZXItd2lkdGg6IHJlbSgxKTtcclxuXHRib3gtc2hhZG93OiBub25lO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRoZWlnaHQ6IHJlbSgxNCk7XHJcblx0bWFyZ2luOiAwO1xyXG5cdG1pbi13aWR0aDogcmVtKDE0KTtcclxuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXNpemUgY2FsYygkdHJhbnNpdGlvbi0tc3BlZWQgLyAyKSAkdHJhbnNpdGlvbi0tdGltaW5nLWZ1bmN0aW9uLCBib3JkZXItY29sb3IgY2FsYygkdHJhbnNpdGlvbi0tc3BlZWQgLyAyKSAkdHJhbnNpdGlvbi0tdGltaW5nLWZ1bmN0aW9uO1xyXG5cdHdpZHRoOiByZW0oMTQpO1xyXG5cclxuXHQmOmNoZWNrZWQge1xyXG5cdFx0YmFja2dyb3VuZC1zaXplOiByZW0oOCkgYXV0bztcclxuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLS1ibGFjaztcclxuXHJcblx0XHQmOjpiZWZvcmUge1xyXG5cdFx0XHRjb250ZW50OiBub25lO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0KyBsYWJlbCB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmU7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IHJlbSg4KTtcclxuXHR9XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnQGltYWdlcy9pY29uLWJnLWNoZWNrYm94LnN2ZycpO1xyXG59XHJcblxyXG5pbnB1dFt0eXBlPSdyYWRpbyddIHtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ0BpbWFnZXMvaWNvbi1iZy1yYWRpby5zdmcnKTtcclxuXHRib3JkZXItcmFkaXVzOiAxMDAlO1xyXG59XHJcblxyXG5zZWxlY3Qge1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnQGltYWdlcy9pY29uLWJnLXNlbGVjdC5zdmcnKTtcclxuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCByZW0oMTMpIGNlbnRlcjtcclxuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdGJhY2tncm91bmQtc2l6ZTogcmVtKDQzKTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbmlucHV0OmF1dG9maWxsLFxyXG5pbnB1dDphdXRvZmlsbDpob3ZlcixcclxuaW5wdXQ6YXV0b2ZpbGw6Zm9jdXMsXHJcbmlucHV0OmF1dG9maWxsOmFjdGl2ZSB7XHJcblx0Ym94LXNoYWRvdzogMCAwIDAgcmVtKDUwKSAkY29sb3ItLWZpZWxkcy1iZyBpbnNldCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSB7XHJcblx0YXBwZWFyYW5jZTogdGV4dGZpZWxkO1xyXG5cdGFwcGVhcmFuY2U6IG5vbmU7XHJcblx0YXBwZWFyYW5jZTogbm9uZTtcclxufVxyXG5cclxuaW5wdXRbdHlwZT0nc2VhcmNoJ106Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXHJcbmlucHV0W3R5cGU9J3NlYXJjaCddOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uIHtcclxuXHRhcHBlYXJhbmNlOiBub25lO1xyXG59XHJcblxyXG50ZXh0YXJlYSB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0aGVpZ2h0OiByZW0oMTI5KTtcclxuXHRyZXNpemU6IG5vbmU7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5maWx0ZXJzIHtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGJvcmRlcjogcmVtKDIpIHNvbGlkICRjb2xvci0tYmxhY2s7XHJcblx0Ym9yZGVyLXJhZGl1czogcmVtKDQpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0Zm9udC1zaXplOiByZW0oMTUpO1xyXG5cdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtLWJvbGQ7XHJcblx0bWFyZ2luLXRvcDogdncoMjUsIDUwKTtcclxuXHRtaW4taGVpZ2h0OiByZW0oNTYpO1xyXG5cclxuXHQmX19oZWFkZXIge1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0aGVpZ2h0OiByZW0oNTYpO1xyXG5cdFx0cGFkZGluZzogMCByZW0oMTUpO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCc8I3skZmlsdGVycy0tbW9iaWxlLW1heH0nKSB7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmX19tb2JpbGUge1xyXG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRcdGJvcmRlcjogMDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDA7XHJcblx0XHRjb2xvcjogY3VycmVudENvbG9yICFpbXBvcnRhbnQ7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IHJlbSgxMik7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cclxuXHRcdCY6OmJlZm9yZSB7XHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRpbnNldDogMDtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHR6LWluZGV4OiAxO1xyXG5cdFx0fVxyXG5cclxuXHRcdHN2ZyB7XHJcblx0XHRcdGhlaWdodDogYXV0bztcclxuXHRcdFx0d2lkdGg6IHJlbSgyOCk7XHJcblx0XHR9XHJcblxyXG5cdFx0Lmljb24tbWVudS1jbG9zZSB7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmX19saXN0IHtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCc8I3skZmlsdGVycy0tbW9iaWxlLW1heH0nKSB7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmX19zZWxlY3RlZCB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0Z2FwOiByZW0oOCk7XHJcblx0XHRtYXJnaW4tdG9wOiByZW0oMjApO1xyXG5cclxuXHRcdCY6aGFzKGJ1dHRvbjpub3QoLmNsZWFyKSkge1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRtYXJnaW4tdG9wOiByZW0oMjApO1xyXG5cdFx0fVxyXG5cclxuXHRcdGJ1dHRvbiB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci0tYmctbGlnaHQ7XHJcblx0XHRcdGJvcmRlcjogMDtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogcmVtKDkpO1xyXG5cdFx0XHRmb250LXNpemU6IHJlbSgxMik7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oMTYpO1xyXG5cdFx0XHRwYWRkaW5nOiByZW0oNikgcmVtKDI4KSByZW0oNikgcmVtKDEyKTtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdFx0Jjo6YWZ0ZXIge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcclxuXHRcdFx0XHRib3R0b206IDA7XHJcblx0XHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdFx0bWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTAnIGhlaWdodD0nMTAnIHZpZXdCb3g9JzAgMCAxMCAxMCcgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZmlsbC1ydWxlPSdldmVub2RkJyBjbGlwLXJ1bGU9J2V2ZW5vZGQnIGQ9J003LjgyNDQzIDcuMjU4NThMNy4yNTg3NCA3LjgyNDI2TDUuMDAwMTYgNS41NjU2OEwyLjc0MTU4IDcuODI0MjZMMi4xNzU5IDcuMjU4NThMNC40MzQ0OCA1TDIuMTc1OSAyLjc0MTQyTDIuNzQxNTggMi4xNzU3M0w1LjAwMDE2IDQuNDM0MzFMNy4yNTg3NCAyLjE3NTczTDcuODI0NDMgMi43NDE0Mkw1LjU2NTg1IDVMNy44MjQ0MyA3LjI1ODU4WicgZmlsbD0nY3VycmVudENvbG9yJy8lM0UlM0Mvc3ZnJTNFJTBBXCIpO1xyXG5cdFx0XHRcdG1hc2stcG9zaXRpb246IGNlbnRlcjtcclxuXHRcdFx0XHRtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0XHRcdG1hc2stc2l6ZTogcmVtKDEwKTtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0cmlnaHQ6IHJlbSgxMik7XHJcblx0XHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRcdHdpZHRoOiByZW0oMTApO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOmhvdmVyLFxyXG5cdFx0XHQmOmZvY3VzIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItLWJsYWNrO1xyXG5cdFx0XHRcdGNvbG9yOiAkY29sb3ItLWJnLWxpZ2h0O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLmNsZWFyIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiByZW0oMTIpIGNhbGMoMTAwJSAtIHJlbSg2KSkgIWltcG9ydGFudDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNhbGMoMTAwJSAtIHJlbSgyNCkpIHJlbSgxKSAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdG9yZGVyOiAxMDtcclxuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiByZW0oMTIpO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBsaW5rLXVuZGVybGluZSgpO1xyXG5cclxuXHRcdFx0XHQmOjphZnRlciB7XHJcblx0XHRcdFx0XHRjb250ZW50OiBub25lO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Jjpob3ZlcixcclxuXHRcdFx0XHQmOmZvY3VzIHtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gcmVtKDEyKSkgY2FsYygxMDAlIC0gcmVtKDYpKSAhaW1wb3J0YW50O1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiAwJSByZW0oMSkgIWltcG9ydGFudDtcclxuXHRcdFx0XHRcdGNvbG9yOiAkY29sb3ItLWJsYWNrO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Jl9fZGVza3RvcCB7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRcdGJvcmRlcjogMDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDA7XHJcblx0XHRjb2xvcjogY3VycmVudENvbG9yICFpbXBvcnRhbnQ7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRoZWlnaHQ6IHJlbSg1Nik7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IHJlbSgxMik7XHJcblx0XHRwYWRkaW5nOiAwIHJlbSgyMCk7XHJcblxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49I3skZmlsdGVycy0tbW9iaWxlLW1heH0nKSB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Jl9fYXBwbHkge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblxyXG5cdCZfX3Jlc3VsdHMge1xyXG5cdFx0ZmxleC1ncm93OiAxO1xyXG5cdFx0Zm9udC1zaXplOiByZW0oMTMpO1xyXG5cdFx0cGFkZGluZzogMCByZW0oMjApO1xyXG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcblx0fVxyXG59XHJcblxyXG5ib2R5Om5vdCguaGFzLW1vdXNlLWV2ZW50KSB7XHJcblx0LmRyb3Bkb3duLXdyYXBwZXJfX2lubmVyIHtcclxuXHRcdCY6Zm9jdXMtd2l0aGluIHtcclxuXHRcdFx0b3V0bGluZTogcmVtKDIpIHNvbGlkICRjb2xvci0tc2Vjb25kYXJ5O1xyXG5cdFx0XHRvdXRsaW5lLW9mZnNldDogcmVtKDIpO1xyXG5cclxuXHRcdFx0LmRyb3Bkb3duLXdyYXBwZXIge1xyXG5cdFx0XHRcdCZfX2xhYmVsIHtcclxuXHRcdFx0XHRcdCY6OmFmdGVyIHtcclxuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Jl9fZHJvcGRvd24ge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblxyXG5cdFx0XHRcdFx0JiB7XHJcblx0XHRcdFx0XHRcdG91dGxpbmU6IG5vbmU7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uZHJvcGRvd24td3JhcHBlciB7XHJcblx0bWFyZ2luLXJpZ2h0OiByZW0oMik7XHJcblx0bWluLXdpZHRoOiByZW0oMjAwKTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0ei1pbmRleDogMztcclxuXHJcblx0Jjo6YWZ0ZXIge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLS1ibGFjaztcclxuXHRcdGJvdHRvbTogMDtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0bGVmdDogMTAwJTtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogMDtcclxuXHRcdHdpZHRoOiByZW0oMik7XHJcblx0fVxyXG5cclxuXHQmOm5vdCg6aGFzKC5kcm9wZG93bi13cmFwcGVyX19tZW51ID4gbGkpKSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcblx0Jl9faW5uZXIge1xyXG5cdFx0Ji5hY3RpdmUge1xyXG5cdFx0XHQuZHJvcGRvd24td3JhcHBlciB7XHJcblx0XHRcdFx0Jl9fbGFiZWwge1xyXG5cdFx0XHRcdFx0Jjo6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmX19kcm9wZG93biB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCZfX2xhYmVsIHtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRjb2xvcjogaW5oZXJpdDtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmb250LXNpemU6IGluaGVyaXQ7XHJcblx0XHRmb250LXdlaWdodDogaW5oZXJpdDtcclxuXHRcdGhlaWdodDogcmVtKDU2KTtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdHBhZGRpbmc6IDAgcmVtKDY4KSAwIHJlbSgyMCk7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdFx0Jjo6YWZ0ZXIge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ0BpbWFnZXMvaWNvbi1iZy1zZWxlY3QtYXJyb3cuc3ZnJyk7XHJcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgcmVtKDIwKSBjZW50ZXI7XHJcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogcmVtKDI4KSByZW0oMjkpO1xyXG5cdFx0XHRib3R0b206IDA7XHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHR0b3A6IDA7XHJcblx0XHRcdHdpZHRoOiByZW0oNjgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Jl9fbWVudSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItLWJnLWxpZ2h0O1xyXG5cdFx0Ym9yZGVyOiByZW0oMikgc29saWQgJGNvbG9yLS1ibGFjaztcclxuXHRcdGJvcmRlci1yYWRpdXM6IDAgMCByZW0oNCkgcmVtKDQpO1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHJcblx0XHRtYXJnaW46IDAgcmVtKC0yKTtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblxyXG5cdFx0JjpoYXMoLm9wdGlvbi10aXRsZSkge1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogcmVtKDUpO1xyXG5cclxuXHRcdFx0bGFiZWwge1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XHJcblx0XHRcdFx0cGFkZGluZy10b3A6IDA7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdGxpOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0XHRsYWJlbCB7XHJcblx0XHRcdFx0XHRwYWRkaW5nLXRvcDogcmVtKDUpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGxpIHtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdFx0Ji5vcHRpb24tdGl0bGUge1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtLWJvbGQ7XHJcblx0XHRcdFx0cGFkZGluZzogcmVtKDUpIHJlbSgyMCkgMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aW5wdXQge1xyXG5cdFx0XHRcdGxlZnQ6IHJlbSgyMCk7XHJcblx0XHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRsYWJlbCB7XHJcblx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdG1hcmdpbjogMDtcclxuXHJcblx0XHRcdFx0cGFkZGluZzogcmVtKDUpIHJlbSgyMCkgcmVtKDUpIHJlbSg0MCk7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzO1xyXG5cdFx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLS1iZy1hbHQ7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmX19kcm9wZG93biB7XHJcblx0XHRjdXJzb3I6IGRlZmF1bHQ7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdG1heC1oZWlnaHQ6IHJlbSgzMDApO1xyXG5cclxuXHRcdG1pbi13aWR0aDogMTAwJTtcclxuXHRcdHBhZGRpbmc6IDA7XHJcblxyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAxMDAlO1xyXG5cdFx0ei1pbmRleDogMTtcclxuXHR9XHJcblxyXG5cdCZfX3R5cGUge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblxyXG5cdFx0cGFkZGluZzogcmVtKDcpIHJlbSg4KTtcclxuXHR9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhKCc8I3skZmlsdGVycy0tbW9iaWxlLW1heH0nKSB7XHJcblx0W2RhdGEtcG9wdXA9J3RvdXItZmlsdGVycyddIHtcclxuXHRcdC5maWx0ZXJzIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLS1iZy1hbHQ7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XHJcblx0XHRcdGJvdHRvbTogMDtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRcdFx0cG9zaXRpb246IGZpeGVkO1xyXG5cdFx0XHRyaWdodDogMDtcclxuXHRcdFx0dG9wOiAwO1xyXG5cdFx0XHR6LWluZGV4OiA5OTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PTYwMHB4Jykge1xyXG5cdFx0XHRcdHRvcDogdmFyKC0td3AtYWRtaW4tLWFkbWluLWJhci0taGVpZ2h0LCAwKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Jl9faGVhZGVyIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItLWJnLWFsdDtcclxuXHRcdFx0XHRib3JkZXItYm90dG9tOiByZW0oMikgc29saWQgJGNvbG9yLS1ibGFjaztcclxuXHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcblx0XHRcdFx0aGVpZ2h0OiByZW0oNjApO1xyXG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRcdFx0XHRwYWRkaW5nOiAwIHZ3ZnQoMTUsIDI4LCA0NTAsIDc2OCk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCZfX21vYmlsZSB7XHJcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cclxuXHRcdFx0XHQmOjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0Y29udGVudDogbm9uZTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5pY29uLWZpbHRlcnMge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5pY29uLW1lbnUtY2xvc2Uge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmX19saXN0IHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItLWJnLWxpZ2h0O1xyXG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcblx0XHRcdFx0LmRyb3Bkb3duLXdyYXBwZXIge1xyXG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogcmVtKDIpIHNvbGlkICRjb2xvci0tYmxhY2s7XHJcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHJcblx0XHRcdFx0XHQmOjphZnRlciB7XHJcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IG5vbmU7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0Jl9fbGFiZWwge1xyXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IHJlbSg2MCk7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogdndmdCgxNSwgMjgsIDQ1MCwgNzY4KTtcclxuXHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogcmVtKDkwKTtcclxuXHJcblx0XHRcdFx0XHRcdCY6OmFmdGVyIHtcclxuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcblx0XHRcdFx0XHRcdFx0cmlnaHQ6IHZ3ZnQoMTUsIDI4LCA0NTAsIDc2OCk7XHJcblx0XHRcdFx0XHRcdFx0d2lkdGg6IHJlbSgyOCk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQmX19kcm9wZG93biB7XHJcblx0XHRcdFx0XHRcdG1heC1oZWlnaHQ6IHVuc2V0O1xyXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogc3RhdGljO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdCZfX21lbnUge1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRcdFx0XHRcdFx0Ym9yZGVyOiAwO1xyXG5cdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAwO1xyXG5cdFx0XHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDAgMCByZW0oMjUpIDA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmX19hcHBseSB7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0bWFyZ2luOiB2dygxMywgMjYpIGF1dG87XHJcblx0XHRcdFx0cGFkZGluZzogcmVtKDUpIHJlbSgyMCk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCZfX3Jlc3VsdHMge1xyXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXHJcbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcclxuLy8gICAgIF8gXyBfXyAgIF9fX3wgfF8gICBfICBfX3wgfCBfX18gICBfIF9fIF9fXyAgIF9fXyAgX198IHxfICBfXyBfXHJcbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XHJcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcclxuLy8gICAgfF98X3wgfF98XFxfX198X3xcXF9fLF98XFxfXyxffFxcX19ffCB8X3wgfF98IHxffFxcX19ffFxcX18sX3xffFxcX18sX3xcclxuLy9cclxuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3NcclxuLy8gICAgICAgICAgICAgICAgICAgICAgICB2MS40LjlcclxuLy9cclxuLy8gICAgICAgIGh0dHBzOi8vZWR1YXJkb2JvdWNhcy5naXRodWIuaW8vaW5jbHVkZS1tZWRpYVxyXG4vL1xyXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcclxuLy8gICAgICAgICAgICAgICAgICBLaXR0eSBHaXJhdWRlbCAoQGtpdHR5Z2lyYXVkZWwpXHJcbi8vXHJcbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2VcclxuLy8vL1xyXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXHJcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXHJcbi8vLyBAYWNjZXNzIHB1YmxpY1xyXG4vLy8vXHJcblxyXG4vLy9cclxuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxyXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcclxuLy8vXHJcbiRicmVha3BvaW50czogKFxyXG5cdCdwaG9uZSc6IDMyMHB4LFxyXG5cdCd0YWJsZXQnOiA3NjhweCxcclxuXHQnZGVza3RvcCc6IDEwMjRweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXHJcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXHJcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXHJcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcclxuLy8vICApO1xyXG4vLy9cclxuJG1lZGlhLWV4cHJlc3Npb25zOiAoXHJcblx0J3NjcmVlbic6ICdzY3JlZW4nLFxyXG5cdCdwcmludCc6ICdwcmludCcsXHJcblx0J2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcclxuXHQnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXHJcblx0J3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcclxuXHQncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCknLFxyXG5cdCdyZXRpbmEzeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSwgKG1pbi1yZXNvbHV0aW9uOiAzNTBkcGkpLCAobWluLXJlc29sdXRpb246IDNkcHB4KSdcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cclxuLy8vXHJcbiR1bml0LWludGVydmFsczogKFxyXG5cdCdweCc6IDEsXHJcblx0J2VtJzogMC4wMSxcclxuXHQncmVtJzogMC4xLFxyXG5cdCcnOiAwXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xyXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIC5mb28ge1xyXG4vLy8gICAgY29sb3I6IHRvbWF0bztcclxuLy8vICB9XHJcbi8vL1xyXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3JcclxuLy8vIGludGVyY2VwdCB0aGUgYnJlYWtwb2ludCB3aWxsIGJlIGRpc3BsYXllZCwgYW55IG90aGVycyB3aWxsIGJlIGlnbm9yZWQuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICAuZm9vIHtcclxuLy8vICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ3RhYmxldCc7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogTm8gb3V0cHV0ICovXHJcbi8vL1xyXG4kaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBTZWxlY3RzIHdoaWNoIG1lZGlhIGV4cHJlc3Npb25zIGFyZSBhbGxvd2VkIGluIGFuIGV4cHJlc3Npb24gZm9yIGl0IHRvIGJlIHVzZWQgd2hlbiBtZWRpYSBxdWVyaWVzXHJcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBhbmQgY29udGFpbnMgb25seSBhY2NlcHRlZCBtZWRpYSBleHByZXNzaW9uc1xyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gICAuZm9vIHtcclxuLy8vICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGJ1dCBjb250YWlucyBhIG1lZGlhIGV4cHJlc3Npb24gdGhhdCBpcyBub3QgYWNjZXB0ZWRcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcclxuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBObyBvdXRwdXQgKi9cclxuLy8vXHJcbiRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nLCAncG9ydHJhaXQnLCAnbGFuZHNjYXBlJykgIWRlZmF1bHQ7XHJcblxyXG4vLy8vXHJcbi8vLyBDcm9zcy1lbmdpbmUgbG9nZ2luZyBlbmdpbmVcclxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG4vLy9cclxuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXHJcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxyXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcclxuLy8vXHJcblxyXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XHJcblx0QGlmIGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcclxuXHRcdEBlcnJvciAkbWVzc2FnZTtcclxuXHR9XHJcblxyXG5cdEBlbHNlIHtcclxuXHRcdEB3YXJuICRtZXNzYWdlO1xyXG5cdFx0JF86IG5vb3AoKTtcclxuXHR9XHJcblxyXG5cdEByZXR1cm4gJG1lc3NhZ2U7XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxyXG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXHJcbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXHJcbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXHJcbi8vL1xyXG5cclxuQG1peGluIGxvZygkbWVzc2FnZSkge1xyXG5cdEBpZiBpbS1sb2coJG1lc3NhZ2UpIHt9XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xyXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cclxuLy8vXHJcblxyXG5AZnVuY3Rpb24gbm9vcCgpIHt9XHJcblxyXG4vLy9cclxuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XHJcbi8vL1xyXG5cclxuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcclxuXHQkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcclxuXHJcblx0QGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XHJcblx0XHRAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge31cclxuXHR9XHJcblxyXG5cdEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xyXG5cdFx0QGlmIG5vdCBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcclxuXHRcdFx0JG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcclxuXHRcdFx0JHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XHJcblx0XHRcdCR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcclxuXHJcblx0XHRcdEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxyXG5cdFx0XHRcdCgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkge1xyXG5cdFx0XHRcdEByZXR1cm4gZmFsc2U7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRAZWxzZSBpZiBub3QgaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XHJcblx0XHRcdEByZXR1cm4gZmFsc2U7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuIHRydWU7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIFBhcnNpbmcgZW5naW5lXHJcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuLy8vXHJcbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBvcGVyYXRvciBmcm9tXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXHJcbi8vL1xyXG5cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKSB7XHJcblx0QGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XHJcblx0XHRAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuXHRcdFx0QHJldHVybiAkb3BlcmF0b3I7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXHJcblx0Ly8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcclxuXHQvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cclxuXHQvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxyXG5cdC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cclxuXHQkXzogaW0tbG9nKCdObyBvcGVyYXRvciBmb3VuZCBpbiBgI3skZXhwcmVzc2lvbn1gLicpO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIEdldCBkaW1lbnNpb24gb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxyXG4vLy9cclxuXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xyXG5cdCRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG5cdCRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xyXG5cdCRkaW1lbnNpb246ICd3aWR0aCc7XHJcblxyXG5cdEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xyXG5cdFx0JGRpbWVuc2lvbjogJHBhcnNlZC1kaW1lbnNpb247XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuICRkaW1lbnNpb247XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gR2V0IGRpbWVuc2lvbiBwcmVmaXggYmFzZWQgb24gYW4gb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcclxuLy8vXHJcblxyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xyXG5cdEByZXR1cm4gaWYoaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xyXG59XHJcblxyXG4vLy9cclxuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXHJcbi8vL1xyXG5cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuXHQkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuXHQkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcclxuXHJcblx0QGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XHJcblx0XHQkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xyXG5cdH1cclxuXHJcblx0QGVsc2Uge1xyXG5cdFx0JHZhbHVlOiB0by1udW1iZXIoJHZhbHVlKTtcclxuXHR9XHJcblxyXG5cdCRpbnRlcnZhbDogbWFwLWdldCgkdW5pdC1pbnRlcnZhbHMsIHVuaXQoJHZhbHVlKSk7XHJcblxyXG5cdEBpZiBub3QgJGludGVydmFsIHtcclxuXHRcdC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cclxuXHRcdC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXHJcblx0XHQvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cclxuXHRcdC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXHJcblx0XHQvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXHJcblx0XHQkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7dW5pdCgkdmFsdWUpfWAuJyk7XHJcblx0fVxyXG5cclxuXHRAaWYgJG9wZXJhdG9yID09ICc+JyB7XHJcblx0XHQkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcclxuXHR9XHJcblxyXG5cdEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xyXG5cdFx0JHZhbHVlOiAkdmFsdWUgLSAkaW50ZXJ2YWw7XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuICR2YWx1ZTtcclxufVxyXG5cclxuLy8vXHJcbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XHJcbi8vL1xyXG5cclxuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcclxuXHQvLyBJZiBpdCBpcyBwYXJ0IG9mICRtZWRpYS1leHByZXNzaW9ucywgaXQgaGFzIG5vIG9wZXJhdG9yXHJcblx0Ly8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcclxuXHJcblx0QGlmIG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcclxuXHRcdEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcclxuXHR9XHJcblxyXG5cdCRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xyXG5cdCRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuXHQkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcclxuXHQkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG5cclxuXHRAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcclxufVxyXG5cclxuLy8vXHJcbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXHJcbi8vL1xyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2VcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XHJcbi8vL1xyXG5cclxuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcclxuXHRAaWYgbGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XHJcblx0XHRAcmV0dXJuICgpO1xyXG5cdH1cclxuXHJcblx0JHJlc3VsdDogKCk7XHJcblxyXG5cdEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcclxuXHRcdCRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuICRyZXN1bHQ7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXHJcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXHJcbi8vLyBAYWNjZXNzIHByaXZhdGVcclxuLy8vL1xyXG5cclxuLy8vXHJcbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn1cclxuLy8vXHJcblxyXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xyXG5cdEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xyXG5cdFx0QHJldHVybiAkdmFsdWU7XHJcblx0fVxyXG5cclxuXHRAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xyXG5cdFx0JF86IGltLWxvZygnVmFsdWUgZm9yIGB0by1udW1iZXJgIHNob3VsZCBiZSBhIG51bWJlciBvciBhIHN0cmluZy4nKTtcclxuXHR9XHJcblxyXG5cdCRmaXJzdC1jaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsIDEsIDEpO1xyXG5cdCRyZXN1bHQ6IDA7XHJcblx0JGRpZ2l0czogMDtcclxuXHQkbWludXM6ICgkZmlyc3QtY2hhcmFjdGVyID09ICctJyk7XHJcblx0JG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xyXG5cclxuXHQvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcclxuXHJcblx0QGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xyXG5cdFx0JHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcclxuXHR9XHJcblxyXG5cdEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcclxuXHRcdCRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XHJcblxyXG5cdFx0QGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xyXG5cdFx0XHRAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpKTtcclxuXHRcdH1cclxuXHJcblx0XHRAaWYgJGNoYXJhY3RlciA9PSAnLicge1xyXG5cdFx0XHQkZGlnaXRzOiAxO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XHJcblx0XHRcdCRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBlbHNlIHtcclxuXHRcdFx0JGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xyXG5cdFx0XHQkcmVzdWx0OiAkcmVzdWx0ICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3RlcikgLyAkZGlnaXRzO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0QHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcclxufVxyXG5cclxuLy8vXHJcbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXHJcbi8vL1xyXG5cclxuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XHJcblx0JHVuaXRzOiAoJ3B4JzogMXB4LCAnY20nOiAxY20sICdtbSc6IDFtbSwgJyUnOiAxJSwgJ2NoJzogMWNoLCAncGMnOiAxcGMsICdpbic6IDFpbiwgJ2VtJzogMWVtLCAncmVtJzogMXJlbSwgJ3B0JzogMXB0LCAnZXgnOiAxZXgsICd2dyc6IDF2dywgJ3ZoJzogMXZoLCAndm1pbic6IDF2bWluLCAndm1heCc6IDF2bWF4KTtcclxuXHJcblx0QGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xyXG5cdFx0JF86IGltLWxvZygnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJyk7XHJcblx0fVxyXG5cclxuXHRAcmV0dXJuICR2YWx1ZSAqIG1hcC1nZXQoJHVuaXRzLCAkdW5pdCk7XHJcbn1cclxuXHJcbi8vL1xyXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXHJcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXHJcbi8vLyBjb25maWd1cmF0aW9uIHN1Y2ggYXMgY3VzdG9tIGJyZWFrcG9pbnRzIChyZWZlcnJlZCB0byBhcyB0d2Vha3BvaW50cylcclxuLy8vIGZvciBpbnN0YW5jZS5cclxuLy8vXHJcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXHJcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG5cclxuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xyXG5cdC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuXHQkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XHJcblx0JGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xyXG5cclxuXHQvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cclxuXHQkYnJlYWtwb2ludHM6IG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcclxuXHQkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC1tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcclxuXHJcblx0Ly8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxyXG5cdCRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xyXG5cdCRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xyXG5cclxuXHRAY29udGVudDtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcclxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcclxuLy8vIEBhY2Nlc3MgcHVibGljXHJcbi8vLy9cclxuXHJcbi8vL1xyXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9dGFibGV0JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1OHB4JywgJzw4NTBweCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnLCAnPD0xMzUwcHgnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJ3JldGluYTJ4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzUwcHgnLCAnPHRhYmxldCcsICdyZXRpbmEzeCcpIHsgfVxyXG4vLy9cclxuXHJcbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xyXG5cdEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPT0gMCkgb3JcclxuXHRcdChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKSB7XHJcblx0XHRAY29udGVudDtcclxuXHR9XHJcblxyXG5cdEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcclxuXHRcdEBtZWRpYSAje3VucXVvdGUocGFyc2UtZXhwcmVzc2lvbihudGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcclxuXHRcdFx0Ly8gUmVjdXJzaXZlIGNhbGxcclxuXHRcdFx0JHNsaWNlZC1jb25kaXRpb25zOiBzbGljZSgkY29uZGl0aW9ucywgMik7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgkc2xpY2VkLWNvbmRpdGlvbnMuLi4pIHtcclxuXHRcdFx0XHRAY29udGVudDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCJAaW1wb3J0ICcuLi9fc2V0dGluZ3MvaW5pdCc7XHJcblxyXG4uc2tpcC1saW5rIHtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG5cdGhlaWdodDogcmVtKDEpO1xyXG5cdGxlZnQ6IHJlbSgtOTk5KTtcclxuXHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHR3aWR0aDogcmVtKDEpO1xyXG5cdHotaW5kZXg6IC05OTk7XHJcblxyXG5cdCY6Zm9jdXMsXHJcblx0JjphY3RpdmUge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLS13aGl0ZTtcclxuXHRcdGJvcmRlcjogcmVtKDEpIHNvbGlkICRjb2xvci0tcHJpbWFyeTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IHJlbSg0KTtcclxuXHJcblx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHRsZWZ0OiByZW0oMjApO1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0bWluLXdpZHRoOiByZW0oMTUwKTtcclxuXHRcdG91dGxpbmU6IG5vbmU7XHJcblx0XHRvdmVyZmxvdzogYXV0bztcclxuXHRcdHBhZGRpbmc6IHJlbSgxMSkgcmVtKDE1KTtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdHRvcDogcmVtKDIwKTtcclxuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHJcblx0XHR6LWluZGV4OiA5OTk7XHJcblxyXG5cdFx0LmFkbWluLWJhciAmIHtcclxuXHRcdFx0dG9wOiByZW0oNTIpO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnNjcmVlbi1yZWFkZXItdGV4dCB7XHJcblx0Ym9yZGVyOiAwO1xyXG5cdGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcclxuXHRjbGlwLXBhdGg6IGluc2V0KDUwJSk7XHJcblx0aGVpZ2h0OiByZW0oMSk7XHJcblx0bWFyZ2luOiByZW0oLTEpO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0cGFkZGluZzogMDtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0d2lkdGg6IHJlbSgxKTtcclxuXHR3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5ib2R5IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItLXdoaXRlO1xyXG5cdGNvbG9yOiAkY29sb3ItLXRleHQ7XHJcblx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseS0tYm9keTtcclxuXHRmb250LXNpemU6ICRmb250LXNpemUtLXRleHQtbWVkaXVtO1xyXG5cdGxldHRlci1zcGFjaW5nOiAwLjAyZW07XHJcblx0bGluZS1oZWlnaHQ6IDEuNjtcclxuXHQtbXMtd29yZC13cmFwOiBicmVhay13b3JkO1xyXG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuXHJcblx0YSB7XHJcblx0XHRjb2xvcjogJGNvbG9yLS1saW5rO1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuXHRcdEBpbmNsdWRlIGxpbmstdW5kZXJsaW5lKCk7XHJcblx0fVxyXG5cclxuXHQuaGFzLXRleHQtY29sb3I6bm90KC5oYXMtbGluay1jb2xvcikgYSB7XHJcblx0XHRjb2xvcjogaW5oZXJpdDtcclxuXHR9XHJcbn1cclxuXHJcbmgxLFxyXG5oMixcclxuaDMsXHJcbmg0LFxyXG5oNSxcclxuaDYsXHJcbnAudGl0bGUge1xyXG5cdGNsZWFyOiBib3RoO1xyXG5cdGNvbG9yOiAkY29sb3ItLWhlYWRpbmdzO1xyXG5cdGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktLWJvZHk7XHJcblx0bGluZS1oZWlnaHQ6IDEuMjtcclxuXHRtYXJnaW4tYm90dG9tOiAkc3BhY2VyLTI7XHJcblx0bWFyZ2luLXRvcDogJHNwYWNlci0yO1xyXG5cclxuXHRpIHtcclxuXHRcdGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktLWhlYWRpbmctYWRkO1xyXG5cdFx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdH1cclxufVxyXG5cclxuaDEge1xyXG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS0taDE7XHJcbn1cclxuXHJcbmgyLFxyXG5wLnRpdGxlIHtcclxuXHRmb250LXNpemU6ICRmb250LXNpemUtLWgyO1xyXG59XHJcblxyXG5oMyB7XHJcblx0Zm9udC1zaXplOiAkZm9udC1zaXplLS1oMztcclxufVxyXG5cclxuaDQge1xyXG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS0taDQ7XHJcbn1cclxuXHJcbmg1IHtcclxuXHRmb250LXNpemU6ICRmb250LXNpemUtLWg1O1xyXG59XHJcblxyXG5oNiB7XHJcblx0Zm9udC1zaXplOiAkZm9udC1zaXplLS1oNTtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcblxyXG5wLnRpdGxlIHtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLnRpdGxlLFxyXG5wLnRpdGxlIHtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuXHRzcGFuIHtcclxuXHRcdGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktLWhlYWRpbmctYWRkO1xyXG5cdFx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHR9XHJcblxyXG5cdCYtLWgxIHtcclxuXHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS0taDE7XHJcblx0fVxyXG5cclxuXHQmLS1oMiB7XHJcblx0XHRmb250LXNpemU6ICRmb250LXNpemUtLWgyO1xyXG5cdH1cclxuXHJcblx0Ji0tZGVzYyB7XHJcblx0XHRmb250LXNpemU6ICRmb250LXNpemUtLWg1O1xyXG5cdH1cclxufVxyXG5cclxuLnN1YnRpdGxlIHtcclxuXHRzcGFuIHtcclxuXHRcdGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktLWhlYWRpbmctYWRkO1xyXG5cdFx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHR9XHJcbn1cclxuXHJcbi5kZXNjcmlwdGlvbiB7XHJcblx0PiAqIHtcclxuXHRcdCY6Zmlyc3QtY2hpbGQge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6bGFzdC1jaGlsZCB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHR1bCB7XHJcblx0XHRsaXN0LXN0eWxlOiBub25lO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHJcblx0XHRsaSB7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogcmVtKDI0KTtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdFx0Jjo6YmVmb3JlIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHZpZXdCb3g9JzAgMCAxMCAxMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ2NpcmNsZSBjeD0nNScgY3k9JzUnIHI9JzUnIC8lM0UlM0Mvc3ZnJTNFJTBBXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xyXG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogMTAwJTtcclxuXHRcdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0XHRoZWlnaHQ6IHJlbSg0KTtcclxuXHRcdFx0XHRsZWZ0OiByZW0oMTApO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHR0b3A6IHJlbSgxMSk7XHJcblx0XHRcdFx0d2lkdGg6IHJlbSg0KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuaW5wdXRbdHlwZT0nc3VibWl0J10sXHJcbi5idXR0b24ge1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLS1zZWNvbmRhcnk7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuXHRib3JkZXI6IHJlbSgxKSBzb2xpZCAkY29sb3ItLXNlY29uZGFyeTtcclxuXHRib3JkZXItcmFkaXVzOiByZW0oNCk7XHJcblx0Ym94LXNoYWRvdzogbm9uZTtcclxuXHRjb2xvcjogJGNvbG9yLS13aGl0ZTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0ZGlzcGxheTogaW5saW5lLWZsZXg7XHJcblx0Zm9udC1zaXplOiAkZm9udC1zaXplLS1idXR0b24tbWFpbjtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGdhcDogcmVtKDYpO1xyXG5cdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdHBhZGRpbmc6IHJlbSgxMikgcmVtKDIwKTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbiwgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uLCBjb2xvciAkdHJhbnNpdGlvbiwgcGFkZGluZyAkdHJhbnNpdGlvbjtcclxuXHJcblx0Jjo6YWZ0ZXIge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHRmbGV4LXNocmluazogMDtcclxuXHRcdGhlaWdodDogcmVtKDIwKTtcclxuXHRcdG1hc2staW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzIwJyBoZWlnaHQ9JzIwJyB2aWV3Qm94PScwIDAgMjAgMjAnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J00xMS4wNTQ4IDE2LjA1NDdMMTYuMjI3MiAxMC44ODIzTDEuNzY0ODUgMTAuODgyM1Y5LjcwNTg3TDE2LjIyNzIgOS43MDU4N0wxMS4wNTQ4IDQuNTMzNTNMMTEuODg2NiAzLjcwMTczTDE4LjQ3OSAxMC4yOTQxTDExLjg4NjYgMTYuODg2NUwxMS4wNTQ4IDE2LjA1NDdaJyBmaWxsPSd3aGl0ZScvJTNFJTNDL3N2ZyUzRVwiKTtcclxuXHRcdG1hc2stcG9zaXRpb246IGNlbnRlcjtcclxuXHRcdG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRtYXNrLXNpemU6IGNvbnRhaW47XHJcblx0XHR3aWR0aDogcmVtKDIwKTtcclxuXHR9XHJcblxyXG5cdCY6aG92ZXIsXHJcblx0Jjpmb2N1cyB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgOTQsIDQzLCAwLjA2KTtcclxuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLS1zZWNvbmRhcnk7XHJcblx0XHRjb2xvcjogJGNvbG9yLS1zZWNvbmRhcnk7XHJcblx0fVxyXG59XHJcblxyXG4uYnV0dG9uLS1uby1hcnJvdyB7XHJcblx0Jjo6YWZ0ZXIge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcbn1cclxuXHJcbi5idXR0b24tLW91dGxpbmUge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdGNvbG9yOiAkY29sb3ItLXNlY29uZGFyeTtcclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItLXNlY29uZGFyeTtcclxuXHRcdGNvbG9yOiAkY29sb3ItLWJsYWNrO1xyXG5cdH1cclxufVxyXG5cclxuLmJ1dHRvbi0tY2FsZW5kYXIge1xyXG5cdGNvbG9yOiAkY29sb3ItLWJnLWxpZ2h0O1xyXG5cclxuXHQmOjpiZWZvcmUge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHRoZWlnaHQ6IHJlbSgyMik7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IHJlbSgxMyk7XHJcblx0XHRtYXNrLWltYWdlOiB1cmwoJ0BpbWFnZXMvaWNvbi1idXR0b24tc2NoZWR1bGUuc3ZnJyk7XHJcblx0XHRtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XHJcblx0XHRtYXNrLXJlcGVhdDogcmVwZWF0O1xyXG5cdFx0bWFzay1zaXplOiByZW0oMjgpIHJlbSgyOCk7XHJcblx0XHRtaW4td2lkdGg6IHJlbSgyMik7XHJcblx0XHR0cmFuc2l0aW9uOiBtYXNrLXBvc2l0aW9uICR0cmFuc2l0aW9uO1xyXG5cdFx0d2lkdGg6IHJlbSgyMik7XHJcblx0fVxyXG59XHJcblxyXG4uaW1nX2NvbnRhaW5lci1jcmVkaXQge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmNyZWRpdF9pbWcge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci0tcHJpbWFyeTtcclxuXHRib3JkZXItcmFkaXVzOiAyNXB4O1xyXG5cdGJvdHRvbTogMTVweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0aGVpZ2h0OiAyNXB4O1xyXG5cdG92ZXJmbG93LXg6IHNjcm9sbDtcclxuXHRvdmVyZmxvdy15OiBoaWRkZW47XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHJpZ2h0OiAxNXB4O1xyXG5cdHNjcm9sbGJhci13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xyXG5cdHdpZHRoOiAyNXB4O1xyXG5cdHotaW5kZXg6IDM7XHJcblxyXG5cdEBpbmNsdWRlIHNjcm9sbGJhcih0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpO1xyXG5cclxuXHQmOjotd2Via2l0LXNjcm9sbGJhciB7XHJcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdFx0d2lkdGg6IDAgIWltcG9ydGFudDtcclxuXHR9O1xyXG5cclxuXHQuaW5uZXIge1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcclxuXHRcdGhlaWdodDogMjVweDtcclxuXHJcblx0XHRzcGFuLFxyXG5cdFx0c3ZnIHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdGZsZXgtc2hyaW5rOiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdHNwYW4ge1xyXG5cdFx0XHRjb2xvcjogI2ZmZmZmZjtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTFweDtcclxuXHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAxMXB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCJAaW1wb3J0ICcuLi9fc2V0dGluZ3MvaW5pdCc7XHJcblxyXG4uY29udGFpbmVyIHtcclxuXHRtYXJnaW4tbGVmdDogYXV0bztcclxuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XHJcblx0bWF4LXdpZHRoOiAkbGF5b3V0LS13aWRlLXdpZHRoO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cclxuXHQmLS1sZyB7XHJcblx0XHRtYXgtd2lkdGg6IHJlbSgxNDA4KTtcclxuXHR9XHJcblxyXG5cdCYtLXNtIHtcclxuXHRcdG1heC13aWR0aDogJGxheW91dC0td2lkdGg7XHJcblx0fVxyXG5cclxuXHQmLS14cyB7XHJcblx0XHRtYXgtd2lkdGg6IHJlbSg3NTApO1xyXG5cdH1cclxuXHJcblx0Ji0tZnVsbCB7XHJcblx0XHRtYXJnaW4tbGVmdDogY2FsYygkbGF5b3V0LS1wYWRkaW5nICogLTEpO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiBjYWxjKCRsYXlvdXQtLXBhZGRpbmcgKiAtMSk7XHJcblx0XHRtYXgtd2lkdGg6IG5vbmU7XHJcblx0fVxyXG59XHJcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/