/*!**************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./assets/css/components/header.css ***!
  \**************************************************************************************************************************************************************************************/
/* ==========================================================================
	Hyperlocology Navigation - Figma Design Implementation
	Modern navigation with rounded container and specific color scheme
	Colors: Navy (#003044), ADA Teal (#0AA39C), Light Background (#f0faf9)
	========================================================================== */

/* ==========================================================================
	CSS Custom Properties
	========================================================================== */

:root {
	/* Hyperlocology Brand Colors */
	--nav-navy: #003044;
	--nav-teal: #0aa39c;
	--nav-white: #ffffff;
	--nav-bg-light: #f0faf9;
	--nav-text-primary: var(--nav-navy);

	/* Typography */
	--nav-font-family:
		"Poppins", -apple-system, blinkmacsystemfont, "Segoe UI", roboto, sans-serif;
	--nav-font-size: 16px;
	--nav-font-weight-medium: 500;
	--nav-font-weight-semibold: 600;
	--nav-font-weight-bold: 700;
	--nav-line-height: 1.1;

	/* Layout */
	--nav-container-padding: var(--wp--preset--spacing--2xl);
	--nav-inner-padding: 20px 26px;
	--nav-gap: 16px;
	--nav-border-radius: 35px;
	--nav-btn-border-radius: 35px;
	--nav-btn-icon-size: 42px;

	/* Transitions */
	--nav-transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	--nav-transition-fast: all 0.2s ease;

	/* Z-Index */
	--header-z-index: 100;
	--nav-mobile-z-index: 1010;
}

/* ==========================================================================
	Header Base Styles
	========================================================================== */

.site-header.hyperlocology-nav {
	padding: 16px var(--nav-container-padding);
	z-index: 100;
	z-index: var(--header-z-index);
}

.site-header.hyperlocology-nav:not(.block-editor-block-list__block) {
		position: fixed;
	}

.nav-outer-container {
	-webkit-box-align: center !important;
	    -ms-flex-align: center !important;
	        align-items: center !important;
	background: #f0faf9;
	background: var(--nav-bg-light);
	border-radius: 35px;
	border-radius: var(--nav-border-radius);
	-webkit-box-pack: justify !important;
	    -ms-flex-pack: justify !important;
	        justify-content: space-between !important;
	margin: 0 auto;
	max-width: 1200px;
	min-height: 60px;
	padding: 20px 26px;
	padding: var(--nav-inner-padding);
	position: relative;
	width: 100%;
}

/* ==========================================================================
	Logo Section - WordPress Site Logo Block
	========================================================================== */

.nav-logo-section {
	-ms-flex-negative: 0;
	    flex-shrink: 0;
}

.nav-logo-section .wp-block-site-logo {
	margin: 0;
}

.nav-logo-section .wp-block-site-logo a {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 10px;
}

.nav-logo-section .wp-block-site-logo img,
.nav-logo-section .wp-block-site-logo svg {
	height: auto;
	max-width: 162px;
	width: 162px;
}

/* ==========================================================================
	WordPress Navigation Block
	========================================================================== */

.primary-nav-menu {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-flex: 1;
	    -ms-flex: 1;
	        flex: 1;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
}

/* WordPress Navigation Block Container - inherits from shared base styles */

.wp-block-navigation.primary-nav-menu {
	position: static;
}

/* Navigation block container and items inherit from shared base styles in primary-nav.css */

/* Links, hover states, and focus states are defined in the shared base styles */

/* Dropdown Menus */

.wp-block-navigation.primary-nav-menu .wp-block-navigation__submenu-container {
	background: #ffffff;
	background: var(--nav-white);
	border-radius: 12px;
	-webkit-box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
	        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
	left: 50%;
	min-width: 200px;
	opacity: 0;
	padding: 12px 0;
	position: absolute;
	top: 100%;
	-webkit-transform: translateX(-50%);
	        transform: translateX(-50%);
	-webkit-transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	-webkit-transition: var(--nav-transition);
	transition: var(--nav-transition);
	visibility: hidden;
	z-index: 1000;
}

.wp-block-navigation.primary-nav-menu
	.wp-block-navigation-item:hover
	.wp-block-navigation__submenu-container,
.wp-block-navigation.primary-nav-menu
	.wp-block-navigation-item:focus-within
	.wp-block-navigation__submenu-container {
	opacity: 1;
	visibility: visible;
}

.wp-block-navigation.primary-nav-menu
	.wp-block-navigation__submenu-container
	.wp-block-navigation-item__content {
	border-radius: 6px;
	color: #003044;
	color: var(--nav-text-primary);
	margin: 0 8px;
	padding: 8px 20px;
}

.wp-block-navigation.primary-nav-menu
	.wp-block-navigation__submenu-container
	.wp-block-navigation-item__content:hover {
	background: rgba(10, 163, 156, 0.1);
	color: #0aa39c;
	color: var(--nav-teal);
}

/* ==========================================================================
	Navigation Actions (Utility Nav & Book Demo)
	========================================================================== */

.nav-actions {
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 12px;
}

@media (min-width: 768px) and (max-width: 1200px) {
		.nav-actions.wp-block-group.is-layout-flex {
			margin-left: auto;
		}
	}

/* Utility Navigation Styles - inherits from shared base styles */

.wp-block-navigation.utility-nav {
	position: static;
}

.wp-block-navigation.utility-nav .wp-block-navigation__container {
	gap: 12px; /* Override default gap for utility nav */
}

.wp-block-navigation.utility-nav .wp-block-navigation-item__content {
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center; /* Center utility nav items */
}

/* Utility nav inherits all other styles from shared base navigation styles */

/* Login link styles moved to utility navigation above */

/* Book Demo button styles moved to .btn-primary component in buttons.css */

/* ==========================================================================
	Mobile Menu Toggle
	========================================================================== */

.mobile-menu-toggle {
	background: none;
	border: none;
	cursor: pointer;
	display: none;
	padding: 8px;
	position: absolute;
	right: 20px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
	z-index: 1001;
}

.hamburger-icon {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	gap: 3px;
	height: 18px;
	width: 24px;
}

.hamburger-line {
	background: #003044;
	background: var(--nav-text-primary);
	border-radius: 1px;
	height: 2px;
	-webkit-transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	-webkit-transition: var(--nav-transition);
	transition: var(--nav-transition);
	width: 100%;
}

.mobile-menu-toggle.is-active .hamburger-line:nth-child(1) {
	-webkit-transform: rotate(45deg) translate(5px, 5px);
	        transform: rotate(45deg) translate(5px, 5px);
}

.mobile-menu-toggle.is-active .hamburger-line:nth-child(2) {
	opacity: 0;
}

.mobile-menu-toggle.is-active .hamburger-line:nth-child(3) {
	-webkit-transform: rotate(-45deg) translate(7px, -6px);
	        transform: rotate(-45deg) translate(7px, -6px);
}

/* ==========================================================================
	Mobile Responsive Styles
	========================================================================== */

@media (max-width: 1200px) {
	.site-header.hyperlocology-nav {
		padding: 16px 40px;
	}
}

@media (max-width: 1024px) {
	.site-header.hyperlocology-nav {
		padding: 16px 20px;
	}

	.wp-block-navigation.primary-nav-menu .wp-block-navigation-item__content {
		font-size: 15px;
		padding: 8px 16px;
	}

	.wp-block-navigation.utility-nav .wp-block-navigation-item__content {
		font-size: 15px;
		padding: 8px 16px;
	}
}

@media (max-width: 768px) {
	.mobile-menu-toggle {
		display: block;
	}

	.nav-actions {
		display: none;
	}

	.nav-outer-container {
		border-radius: 30px;
		padding: 10px 20px;
	}

	.nav-logo-section .wp-block-site-logo a {
		padding: 5px 10px;
	}

	/* WordPress Navigation Mobile Styles */
	.wp-block-navigation.primary-nav-menu {
		display: none;
	}

	.wp-block-navigation.primary-nav-menu.is-open {
		background: #ffffff;
		background: var(--nav-white);
		border-radius: 12px;
		-webkit-box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
		        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
		display: block;
		margin-top: 20px;
		padding: 20px;
		position: absolute;
		right: 20px;
		top: 100%;
		width: calc(100% - 40px);
		z-index: 1000;
	}

	.wp-block-navigation.primary-nav-menu.is-open
		.wp-block-navigation__container {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		gap: 8px;
	}

	.wp-block-navigation.primary-nav-menu.is-open
		.wp-block-navigation-item__content {
		font-size: 16px;
		padding: 12px 16px;
		width: 100%;
	}
}

@media (max-width: 480px) {
	.site-header.hyperlocology-nav {
		padding: 16px;
	}

	.nav-outer-container {
		padding: 8px 16px;
	}

	.nav-logo-section .wp-block-site-logo img,
	.nav-logo-section .wp-block-site-logo svg {
		max-width: 120px;
		width: 120px;
	}
}

/* ==========================================================================
	Accessibility & Motion Preferences
	========================================================================== */

@media (prefers-reduced-motion: reduce) {
	* {
		-webkit-animation: none !important;
		        animation: none !important;
		-webkit-transition: none !important;
		transition: none !important;
	}
}

@media (prefers-contrast: more) {
	.nav-menu-link:hover,
	.nav-menu-link:focus,
	.login-link:hover,
	.login-link:focus {
		background: #0aa39c;
		background: var(--nav-teal);
		color: #ffffff;
		color: var(--nav-white);
	}

	.nav-menu-link:focus,
	.login-link:focus,
	.book-demo-btn:focus {
		outline-width: 3px;
	}
}

/* ==========================================================================
	Print Styles
	========================================================================== */

@media print {
	.mobile-menu-toggle,
	.book-demo-btn {
		display: none;
	}

	.site-header.hyperlocology-nav {
		background: white;
		-webkit-box-shadow: none;
		        box-shadow: none;
	}

	.nav-outer-container {
		background: white;
		border: 1px solid #cccccc;
	}
}


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