@charset "UTF-8";

/*
* Author: Vasterad
* URL: http://purethemes.net
*/

/* ------------------------------------------------------------------- */
/* Table of Contents
----------------------------------------------------------------------
	01. Import Section ...................... Imported variables.

	02. Layout Components ................... Generic layout elements.
		# Header
		# Navigation
		# Search / Cart Icon
		# jPanel mobile menu
		# Featured Services
		# Projects Categories
		# Projects Grid
		# Stages Widget
		# Counters
		# Testimonials
		# Back To Top
		# Footer
		# Owl Carousel Styles
		# Titlebar
		# Single Project Page
		# Services #1
		# Services #2
		# Single Service Page
		# Shop
		# Blog Styles
		# Recent Posts
		# Blog Widgets
		# Widgets
		# Image Edge
		# Contact Form
		# Google Maps

	03. Script Styles ....................... jQuery add-ons CSS.
		# Flexslider
		# Owl Carousel
		# TwentyTwenty
		# Magnific Popup
		# PhotoGrid

	04. Shortcodes .......................... Template elements.
		# Buttons
		# Tooltips
		# List Styles
		# Table
		# Tabs
		# Pricing Tables
		# Accordion / Toggles
		# Dropcaps
		# Parallax Banner
		# Info Banner
		# Info Banner Full Width
		# Team Members
		# Social Icons
		# Notification boxes
		# Pagination

	05. Others .............................. CSS helper classes etc.

	06. Media Queries ....................... Mobile style sheets.
*/


/* ------------------------------------------------------------------- */
/* 01. Import Section
---------------------------------------------------------------------- */
@import url("bootstrap3.css");					/* Default Reset, Typography, Forms, Responsive Grid etc. */
@import url("icons.css");						/* Webfont Icons: FontAwesome, Line, Simple Line */
@import url("revolutionslider.css");			/* Revolution Slider Style Sheets */
@import url("http://fonts.googleapis.com/css?family=Montserrat:400,700");
@import url("http://fonts.googleapis.com/css?family=Lato:400,700,300");


/* ------------------------------------------------------------------- */
/*  02. Layout Components
---------------------------------------------------------------------- */

/* ---------------------------------- */
/* Header
------------------------------------- */

/* Top Border */
body { border-top: 5px solid #666;}


/* Logo */
#logo {
	margin-top: 4px;
}

.header { margin: 30px 0 28px 0;}


/* Header Widget */
.header-widget {
	margin-top: 8px;
	float: right;
	padding-left: 0;
}

.header-widget li {
	list-style: none;
	display: inline-block;
	vertical-align: middle;
	margin-right: 20px;
	padding-right: 35px;
	line-height: 24px;
	position: relative;
}

.header-widget li:after{
	position: absolute;
	height: 48px;
	content: "";
	display: inline-block;
	width: 1px;
	background-color: #e0e0e0;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	top: 50%;
	right: 0;
}

.header-widget li i {
	float: left;
	display: inline-block;
	color: #666;
	font-size: 34px;
	width: 35px;
	position: relative;
	margin-top: 8px;
	margin-right: 18px;
	text-align: center;
}

.header-widget li .widget-content { float: left; max-width: 150px;  }
.header-widget .sl-icon-location { font-size: 36px; margin: 5px 10px 0 8px;}

.header-widget li span.title {
	display: block;
	color: #333;
}

.header-widget li span.data { color: #808080; }
.header-widget a.button { margin-left: 13px }

.header-widget li:last-child { margin-right: 0; padding-right: 0;}


/* ---------------------------------- */
/* Navigation
------------------------------------- */
.menu {
	padding: 0;
	list-style: none;
	float: left;
	width: 100%;
	background-color: #fff;
	margin:0;
	z-index: 99;
	border-top: 1px solid #e0e0e0;
}

.menu ul { padding: 0; }
.menu > li {
	float: left;
}

.menu > li > a {
	display: block;
	position: relative;
}

.menu li { list-style: none; position: relative;}

.menu > li > a {
	color: #333;
	padding: 0;
	display: inline-block;
	text-transform: uppercase;
	font-weight: 600;
	font-size: 14px;
	margin-right: 5px;
	padding: 22px 15px;
	border-bottom: 3px solid #fff;
}


.menu > li a:hover {
	border-color: #666;
	color: #666;
}


.menu > li,
.menu > li a:hover {
	-webkit-transition: all 0.25s ease-in-out;
	-moz-transition:  all 0.25s ease-in-out;
	-o-transition: all 0.25s ease-in-out;
	-ms-transition: all 0.25s ease-in-out;
	transition:all 0.25s ease-in-out;
}


/* Mega Menu */


/* Basic Dropdown */
.dropdown ul {
	position: absolute;
	display: none;
	top: 100%;
	left: 0;
	z-index: 999;
	margin-top: -3px;
	background-color: #262626;
	border-top: 3px solid #666;
}

.dropdown ul li {
	position: relative;
	z-index: 999;
}

.dropdown ul ul {
	left: 201px;
	top: 0;
}

li.dropdown ul li a {
	display: block;
	min-width: 200px;
	color: #bbb !important;
	font-size: 14px;
	line-height: 22px;
	padding: 9px 22px;
	-webkit-transition: all 0.15s ease-in-out !important;
	transition: all 0.15s ease-in-out !important;
	position: relative;}

li.dropdown ul li a:hover {
	color: #fff !important;
	background-color: #666;
}


/* Menu Arrows*/


/* ---------------------------------- */
/* Search / Cart Icon
------------------------------------- */


/* ---------------------------------- */
/* jPanel mobile menu
------------------------------------- */
.menu-responsive { display: none; }

@media only screen and (max-width: 991px) {

	.menu {max-height: none;}
	#responsive { display: none; }
	
	.menu-responsive  { display: block }

	.menu-responsive {
		color: #fff;
		display: block;
		text-transform: uppercase;
		font-weight: 600;
		float: left;
		background-color: #666;
		position: relative;
		width: 100%;
		margin: 0px 0 25px 0;
		-webkit-transition: all 0.2s ease-in-out;
		-moz-transition: all 0.2s ease-in-out;
		-o-transition: all 0.2s ease-in-out;
		-ms-transition: all 0.2s ease-in-out;
		transition: all 0.2s ease-in-out;
	}

	.menu-responsive i {
		padding: 20px;
		margin: 0;
		font-size: 18px;
		font-weight: 500;
		cursor: pointer;
		width: 100%;
	}

	.menu-responsive i.menu-trigger { width: 100%; }

	.menu-responsive i.menu-trigger:after {
		content: "Menu";
		text-transform: uppercase;
		font-weight: 600;
		font-size: 14px;
		top: -1px;
		position: relative;
		left: 10px;
	}

}



/* ---------------------------------- */
/* Featured Services
------------------------------------- */
.featured-service-container {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(2, 1fr);
	grid-column-gap: 30px;
}


a.featured-service {
	background-color: #f5f5f5;
	height: 176px;
	padding: 37px 40px;
	display: inline-block;
	margin-bottom: 30px;
}

.featured-service h4 { font-size: 16px; }
.featured-service p { color: #666; }

.featured-service i {
	font-size: 72px;
	color: #666;
	float: left;
	display: inline-block;
	margin-right: 29px;
	line-height: 95px;
	height: 176px;
}

a.featured-service:hover {
	background-color: #666;
}

a.featured-service,
a.featured-service h4,
a.featured-service p,
a.featured-service i {
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	-ms-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}

a.featured-service:hover h4,
a.featured-service:hover p,
a.featured-service:hover i { color: #fff; }



/* ---------------------------------- */
/* Project Categories
------------------------------------- */


/* See All Projects */

/* Latest */


/* Full Width Button */


/* ---------------------------------- */
/* Projects Grid
------------------------------------- */


/* Filtering Styles*/


/* Projects Grid */


/* Overlay background */


/* Plus Icon */


/* Overlay content */


/* ---------------------------------- */
/* Stages Widget
------------------------------------- */
.stage {
	text-align: center;
	margin-top: 45px;
}

.stage i {
	width: 100%;
	display: block;
	font-size: 100px;
	color: #666;
	height: 125px;
}

.stage span {
	color: #666;
	text-transform: uppercase;
	font-size: 14px;
	font-weight: 500;
}

.stage h4 {
	margin: 4px 0;
	line-height: 26px;
}

.stage p {
	margin-top: 20px;
}


/* ---------------------------------- */
/* Counters
------------------------------------- */

/* ---------------------------------- */
/* Testimonials
------------------------------------- */


/* ---------------------------------- */
/* Back to top
------------------------------------- */
#backtotop {
	position: fixed;
	right: 0;
	display: none;
	bottom: 20px;
	margin: 0 20px 0 0;
	z-index: 9999;
}

#backtotop a {
	text-decoration: none;
	border: 0 none;
	display: block;
	width: 46px;
	height: 46px;
	background-color: rgba(0,0,0,0.3);
	color: #fff;
	-webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

#backtotop a:after {
	content: "";
	font-family: "FontAwesome";
	position: relative;
	display: block;
	top: 9px;
	left: 15px;
}

#backtotop a:hover { background-color: #666; }


/* ---------------------------------- */
/* Footer
------------------------------------- */
#footer {
	background-color: #202020;
	padding: 50px 0 0 0;
	color: #999;
}

#footer h4 {
	color: #fff;
	font-size: 16px;
	margin-bottom: 20px;
}

/* Social Btn */


#footer a.button { margin-top: 12px; }
#footer a.button:hover { background-color: #fff; color: #333; }

.text-widget span { color: #ddd; }

/*  Links  */
ul.footer-links {
	margin: 0 0 15px 0;
	padding: 0;
	width: 50%;
	box-sizing: border-box;
	display: inline-block;
	float: left;
}

.footer-links li { position: relative; list-style: none; }

.footer-links li a {
	padding: 0 0 7px 13px;
	display: inline-block;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	-ms-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
	color: #aaa;
	line-height: 21px;
}

.footer-links li a:hover {
	padding-left: 16px;
	color: #fff !important;
}

.footer-links li:before {
	font-family: "FontAwesome";
	font-size: 12px;
	content: "";
	color: #fff;
	position: absolute;
	left: 0;
	top: 0px;
	padding: 0 7px 0 0;
	color: #ddd;
}


/* Footer Bottom */
.copyrights {
	color: #777;
	border-top: 1px solid #333;
	margin-top: 35px;
	text-align: center;
	padding: 30px 0;
	display: inline-block;
	width: 100%;
}
.copyrights a { color: #ddd; }


/* ---------------------------------- */
/* Owl Carousel Styles
------------------------------------- */


/* ---------------------------------- */
/* Titlebar
------------------------------------- */
#titlebar {
	background-color: #f6f6f6;
	position: relative;
	padding: 48px 0;
	margin-bottom: 55px;
}

#titlebar span a,
#titlebar span {
	font-size: 18px;
	color: #888;
	margin-bottom: 3px;
	display: inline-block;
}


#titlebar h2 {
	font-size: 24px;
	line-height: 32px;
	margin: 1px 0 2px 0;
}

/* Breadcrumbs */
#breadcrumbs {
	position: absolute;
	right: 0;
	display: inline-block;
	font-size: 13px;
	font-weight: 500;
	color: #888;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}

#breadcrumbs ul { margin: 0; }

#breadcrumbs ul li a {
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	-ms-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
	color: #888;
}

#breadcrumbs ul li a:hover { color: #666 }

#breadcrumbs ul li {
	display: inline-block;
	list-style: none;
	margin: 0 0 0 10px;
}

#breadcrumbs ul li:first-child:before { display: none; }

#breadcrumbs ul li:before {
	content: "\f105";
	font-family: "FontAwesome";
	color: #a0a0a0;
	font-size: 14px;
	margin-right: 15px;
}


/* ---------------------------------- */
/* Single Project Page
------------------------------------- */

/* Images Hover */
.img-hover {
	position: relative;
	display: inline-block;
	overflow: hidden;
	margin-bottom: 30px;
	width: 100%;
}

.img-hover img { width: 100%; }

.img-hover:before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: rgba(34,34,34,0.15);
	opacity: 0;
	top: 0;
	left: 0;
	transition: all 0.25s;
	-webkit-transition: all 0.25s;
}

.img-hover:hover:before { opacity: 1; }

.img-hover[title]:after {
	content: attr(title);
	position: absolute;
	bottom: 0;
	left: 0;
	display: inline-block;
	background-color: rgba(34,34,34,0.5);
	color: #fff;
	font-weight: 600;
	font-size: 13px;
	line-height: 23px;
	padding: 8px 16px;
}


/* Details  */

/* Project Nav */


/* ---------------------------------- */
/* Services #1
------------------------------------- */


/* Icon */

/* ---------------------------------- */
/* Services #2
------------------------------------- */

/* Plus Icon */


/* ---------------------------------- */
/* Single Service Page
------------------------------------- */

/* Services List */
.services-list li {
	padding: 0;
	list-style: none;
	margin-bottom: 5px;
	position: relative;
}

.services-list li a {
	color: #fff;
	padding: 19px 26px;
	width: 100%;
	display: inline-block;
	background-color: #f6f6f6;
	color: #333;
	font-size: 14px;
	-wekbit-transition: all 0.3s;
	transition: all 0.3s;
	font-weight: 600;
}


.services-list li a:after {
	content: "\f105";
	font-family: "FontAwesome";
	position: absolute;
	right: 25px;
	font-size: 18px;
	color: #888;
	-wekbit-transition: all 0.3s;
	transition: all 0.3s;
}

.services-list li a.active,
.services-list li a:hover {
	background-color: #0181db;
	color: #fff;
}

.services-list li a.active:after,
.services-list li a:hover:after {
	color: #fff;
}

.services-list {
	padding: 0;
}

/* Sidebar Button */


/* Sidebar textbox */
.sidebar-textbox {
	background-color: #f7f7f7;
	display: inline-block;
	width: 100%;
	margin: 20px 0 30px 0;
	color: #888;
	padding: 32px 35px;
}

.sidebar-textbox.color {
	background-color: #666;
	color: #fff;
}

.sidebar-textbox.color  h4 {color: #fff;}
.sidebar-textbox h4 {
	font-size: 16px;
	margin: 0;
	padding: 0;
	margin-bottom: 16px;
}

.sidebar-textbox span { color: #666; display: inline-block; }
.sidebar-textbox.color span { color: #fff; }


/* ---------------------------------- */
/* Shop
------------------------------------- */

/* Shop Item */



/* Product Details */


/* Quantity
------------------------------------- */


/* Shopping Cart */

/* Shopping Cart
------------------------------------- */


/* Cart Totals */

/* Responsive Tables */

.stacktable { width: 100%; }


/* Price Range */



/* ---------------------------------- */
/* Blog Styles
------------------------------------- */


/* ---------------------------------- */
/* Recent Posts
------------------------------------- */


/* Comments
------------------------------------- */
.comments { margin: -10px 0 0 0; }
.comments h4 { margin-bottom: 25px; font-size: 20px; }

.comments .button {
	margin: 0 0 10px 90px;
	padding: 7px 15px;
}

.comments ul {padding-left: 0;}
.comments ul li {
	display: block;
	margin: 0 0 20px 90px;
	position: relative;
}

.comments ul li ul li {
	margin: 20px 0 0 90px;
}

/* Add Comment */


/* ---------------------------------- */
/* Blog Widgets
------------------------------------- */


/* Search Widget */
.input { position: relative; }

/* Need support widget */


/* Blog Widget Tabs */

/* Blog Tabs */


/* ---------------------------------- */
/* Widgets
------------------------------------- */


/* ---------------------------------- */
/* Image Edge
------------------------------------- */

/* Photo */

/* List */



/* ---------------------------------- */
/* Contact Form
------------------------------------- */
#contact textarea {
	min-height: 200px;
	margin: 15px 0 25px 0;
}


/* ---------------------------------- */
/* Google Maps
------------------------------------- */




/* ------------------------------------------------------------------- */
/*  03. Scripts Style Sheets
---------------------------------------------------------------------- */

/* ---------------------------------- */
/* Flexslider
------------------------------------- */

.zeus .tp-title-wrap {
	background: #666;
	width: 120%;
	height: 120%;
	top: 0;
	position: absolute;
	opacity: 0;
 }

.zeus .tp-title-wrap {
	-webkit-transition: all 0.4s cubic-bezier(0.2, 1, 0.3, 1);
	-moz-transition:all 0.4s cubic-bezier(0.2, 1, 0.3, 1);
	-o-transition: all 0.4s cubic-bezier(0.2, 1, 0.3, 1);
	-ms-transition:all 0.4s cubic-bezier(0.2, 1, 0.3, 1);
	transition: all 0.4s cubic-bezier(0.2, 1, 0.3, 1);
}



/* ---------------------------------- */
/* Owl Carousel
------------------------------------- */

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

/*
 * 	Owl Carousel - Auto Height Plugin
 */

/*
 *  Core Owl Carousel CSS File
 */

/* No Js */

/*
 * 	Owl Carousel - Lazy Load Plugin
 */


/* ---------------------------------- */
/* TwentyTwnety (Before & After Slider)
------------------------------------- */


/* ---------------------------------- */
/* Magnific Popup
------------------------------------- */

/* Close Button */


/* Popup */

/* animate in */

/* animate out */

/* Dark overlay, start state */
/* animate in */
/* animate out */


/* Main image in popup */

/* The shadow behind the image */


/* Media Queries for Magnific Popup */
@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {

  /* The shadow behind the image */
}


/* ---------------------------------- */
/* Photogrid
------------------------------------- */


/* ------------------------------------------------------------------- */
/*  04. Shortcodes
---------------------------------------------------------------------- */

/* Headline */
h3.headline {
	margin: 58px 0 45px 0 ;
}

h3.headline.with-border { padding-bottom: 35px;}

.headline span.color { color: #666; }

.headline.centered { text-align: center; }
.headline.with-border { border-bottom: 1px solid #e0e0e0; width: 100%; padding-bottom: 25px; }


/* ---------------------------------- */
/* Buttons
------------------------------------- */
input[type="button"],
input[type="submit"],
button.submit,
a.button.border,
a.button, .button {
	background-color: #666;
	top: 0;
	padding: 10px 18px;
	color: #fff;
	text-transform: uppercase;
	position: relative;
	font-size: 13px;
	font-weight: 600;
	display: inline-block;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-ms-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
	cursor: pointer;
}

a.button.medium {
	font-size: 14px;
	padding: 12px 22px;
}

a.button:hover, .button:hover,
input[type="button"]:hover,
input[type="submit"]:hover { background-color: #333; color: #fff; }


/* Button with border and effect */
a.button.border {
	background-color: transparent;
	border: 2px solid #666;
	color: #666;
}

.button.border {
	display: block;
	border: none;
	background: none;
	color: inherit;
	vertical-align: middle;
	position: relative;
	z-index: 1;
	-webkit-backface-visibility: hidden;
	-moz-osx-font-smoothing: grayscale;
	box-sizing: border-box;
}

a.button.border {
	-webkit-transition: border-color 0.4s, color 0.4s;
	transition: border-color 0.4s, color 0.4s;
}

a.button.border::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #666;
	z-index: -1;
	opacity: 0;
	-webkit-transform: scale3d(0.7, 1, 1);
	transform: scale3d(0.7, 1, 1);
	-webkit-transition: -webkit-transform 0.4s, opacity 0.4s;
	transition: transform 0.4s, opacity 0.4s;
	-webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
	transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

a.button.border,
a.button.border::before {
	-webkit-transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
	transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}


a.button.border:hover::before {
	opacity: 1;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

a.button.border:hover {
	color: #fff;
	border-color: #666;

}


/* ---------------------------------- */
/* Tooltips
------------------------------------- */


/* ---------------------------------- */
/* List Styles
------------------------------------- */


.list-1 {
	padding: 3px 0 0 0;
}


.list-1 li {
	list-style: none;
	margin: 14px 0;
	line-height: 27px;
	margin-left: 22px;
	position: relative;
}

.list-1.alt li { margin: 12px 0; margin-left: 22px; }


.list-1 li:first-child {
	margin-top: 0;
}



.list-1 li:before {
	font-family: "FontAwesome";
	margin: 0;
	position: relative;
	color: #666;
	float: left;
	margin-left: -22px;
	display: block;
}
.list-1 li:before { content: "\f0c8"; font-size: 8px; }


/* ---------------------------------- */
/* Table
------------------------------------- */



/* ---------------------------------- */
/* Tabs
------------------------------------- */


/* ---------------------------------- */
/* Pricing Tables
------------------------------------- */

/* Colors */




/* ---------------------------------- */
/* Accordion / Toggles
------------------------------------- */



/* ---------------------------------- */
/* Dropcaps
------------------------------------- */


/* ---------------------------------- */
/* Parallax Banner
------------------------------------- */
.parallax-banner {
	position: relative;
	background-size: 100%;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-attachment: fixed;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	padding: 90px 0;
}

.parallax-banner:before {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 9;
	display: block;
	text-align: center;
	text-transform: uppercase;
	font-weight: bold;
	background-color: transparent;
	background-color: rgba(34,34,34,0.5)
}

.parallax-title {
	position: relative;
	z-index: 10;
	font-size: 42px;
	color: #fff;
	text-transform: uppercase;
	font-weight: 700;
	display: block;
	left: 0;
	text-align: center;
	line-height: 46px;
}

.parallax-title span {
	display: block;
	padding: 10px 0 0 0;
	font-size: 23px;
	font-weight: 300;
	opacity: 0.65;
	line-height: 32px;
}


/* ---------------------------------- */
/* Info Banner
------------------------------------- */


/* ---------------------------------- */
/* Info Banner Full Width
------------------------------------- */
.info-banner-fw {
	background-color: #666;
	font-size: 32px;
	font-weight: 300;
	line-height: 40px;
	color: #fff;
	padding: 45px 0;
	text-align: center;
	margin: 0 0 0px 0;
}

.info-banner-fw a {
    display: inline-block;
	color: #fff;
	font-weight: 600;
	/*font-size: 14px;*/
	border: 2px solid #fff;
	/*background-color: transparent;*/
	/*text-transform: uppercase;*/
	padding: 15px 20px;
	margin: 16px 0 0 0;
	/*position: relative;*/
	/*top: -7px;*/
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-ms-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}

.info-banner-fw a:hover {
    border: 2px solid #fff;
    background-color: #fff;
	/*color: #fff !important;*/
}


/* ---------------------------------- */
/* Team Members
------------------------------------- */



/* ---------------------------------- */
/* Social Icons
------------------------------------- */

/* Common Styles */


/* Fixed Style */


/* Icon Styles */


/* Web Font */
@font-face {
  font-family: 'fontello';
  src: url('../../assets/fonts/fontello.eot?31771571');
  src: url('../../assets/fonts/fontello.eot?31771571#iefix') format('embedded-opentype'),
	   url('../../assets/fonts/fontello.woff?31771571') format('woff'),
	   url('../../assets/fonts/fontello.ttf?31771571') format('truetype'),
	   url('../../assets/fonts/fontello.svg?31771571#fontello') format('svg');
  font-weight: normal;
  font-style: normal;
} /* '#' */ /* '$' */ /* '+' */ /* '/' */ /* '0' */ /* '1' */ /* ':' */ /* ';' */ /* '=' */ /* '&gt;' */ /* 'A' */ /* 'B' */ /* 'D' */ /* 'E' */ /* 'F' */ /* 'L' */ /* 'R' */ /* 'T' */ /* 'U' */ /* 'V' */ /* 'X' */ /* 'Y' */ /* 'a' */ /* 'b' */ /* 'd' */ /* 'f' */ /* 'g' */ /* 'l' */ /* 't' */ /* 'w' */ /* '?' */ /* '?' */


/* ---------------------------------- */
/* Notification Boxes
------------------------------------- */


/* ---------------------------------- */
/* Pagination
------------------------------------- */


/* ------------------------------------------------------------------- */
/*  05. Others
---------------------------------------------------------------------- */

	/* Boxed & Full Width Layout */

	#wrapper { background-color: #fff; }
	#logo img { background-color: transparent !important; }


	/* Drop points, do not edit */


	/* Main Font */
	body, input[type="text"], input[type="email"], textarea, .tp-caption .caption-text, select {
		font-family: "Lato", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif; text-transform: none;
	}


	/* Secondary Font */
	 h2, h3, h4,  .button,  input[type="button"],
	input[type="submit"], button, .tp-caption, .menu > li > a, .stage span,
	#breadcrumbs, .img-hover::after,
	.services-list, .parallax-title, .info-banner-fw a, .menu-responsive i.menu-trigger:after
	{ font-family: "Montserrat", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif; letter-spacing: 1px; text-transform: uppercase; }


	/* Demo Styles */


	/* ---------------------------------- */
	/* Spacers
	------------------------------------- */

	/* Margin Top */
	.margin-top-10 { margin-top: 10px !important; }
	.margin-top-35 { margin-top: 35px !important; }
	.margin-top-45 { margin-top: 45px !important; }
	.margin-top-50 { margin-top: 50px !important; }

	/* Margin Bottom */
	.margin-bottom-0  { margin-bottom: 0 !important; }
	.margin-bottom-10 { margin-bottom: 10px !important; }
	.margin-bottom-20 { margin-bottom: 20px !important; }
	.margin-bottom-35 { margin-bottom: 35px !important; }

	.extra-gutter-left { padding-left: 25px; }



/* ------------------------------------------------------------------- */
/* 06. Media Queries
---------------------------------------------------------------------- */

/* Standard 1180 (devices and browsers) */
@media only screen and (min-width: 1240px) {

}


/* Smaller than standard 1180 (devices and browsers) */
@media (max-width: 1239px) {

	.featured-service-container {
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: repeat(2, 1fr);
	}

	a.featured-service {
	    height: auto;
	    padding: 32px 35px;
	}

	a.featured-service i {
		margin-right: 23px;
		font-size: 64px;
		height: auto
	}

	.parallax-banner { padding: 80px 0 75px 0;}
	.parallax-title { font-size: 36px;}
	.parallax-title span { font-size: 22px;}

}


/* Tablet Portrait size to standard 960 (devices and browsers) */
@media (max-width: 991px) {

	h3.headline { margin: 45px 0 35px 0; }

	.header-widget {
		float: none;
		margin: 0;
		width: 100%;
		display: inline-block;
		text-align: center;
	}

	.header-widget li {
		text-align: left;
		margin-top: 35px;
		margin-bottom: 7px;
	}

	#logo {
	    margin-top: 5px;
	    width: 100%;
	    border-bottom: 1px solid #e0e0e0;
	    padding-bottom: 35px;
	    text-align: center;
	}

	h3.headline.with-border { line-height: 32px; }
	.copyrights { text-align: left; }
	ul.services-list { margin-bottom: 40px; }
	.sidebar-textbox { margin-top: 0; }

	.info-banner-fw a {
		display: block;
		box-sizing: border-box;
		float: none;
		top: 15px;
		padding: 14px 10px;
		line-height: 22px;
		margin-left: 0;
	}

	.info-banner-fw { text-align: center; font-size: 30px; padding-bottom: 65px; }

}


/* All Mobile Sizes (devices and browser) */
@media (max-width: 767px) {

	h3.headline { margin: 48px 0 35px 0; }

	.header-widget { margin-top: 10px; }
	.header-widget li:after {
		display: none;
	}

	.header-widget li {
		margin: 20px 15px 5px 0px;
		padding: 0;
	}

	.header-widget li.with-btn {
		width: 100%;
		text-align: center;
	}

	.header-widget li a.button { margin-left: 0; }

	#titlebar { padding: 40px 0 50px 0;}
	#titlebar #breadcrumbs { position: relative; }
	#titlebar span { margin-bottom: 15px; }

	#titlebar #breadcrumbs ul {
		padding-left: 0;
		position: relative;
		top: 0;
		-webkit-transform: translateY(50%);
		-moz-transform: translateY(50%);
		-ms-transform: translateY(50%);
		transform: translateY(50%);
	    left: -10px;
	}

	#titlebar span a,
	#titlebar span { display: block; }

	.featured-service-container {
		grid-template-columns: repeat(1, 1fr);
		grid-template-rows: repeat(4, 1fr);
	}

	a.featured-service {
	    width: 100%;
	    padding: 25px 27px;
	    margin-bottom: 20px;
	}

	a.featured-service h4 { margin-top: 20px; }

	.stage { margin-bottom: 45px; }

	.parallax-title { font-size: 32px; }

	.extra-gutter-left { padding: 0 15px;}

}

.submit-button {
        background-color: #e32b2b;
        font-family: "Montserrat", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: 1px;
    text-transform: uppercase;
    border: none;
    top: 0;
    padding: 10px 18px;
    color: #fff;
    text-transform: uppercase;
    position: relative;
    font-size: 13px;
    font-weight: 600;
    display: inline-block;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    cursor: pointer;
    }
    
.submit-button:hover {
        background-color: #333;
    color: #fff;
    }


/* ------------------------------------------------------------------- */
/* Styles Switcher
---------------------------------------------------------------------- */

	.colors {
		list-style:none;
		margin: 0 0px 10px 0;
		overflow: hidden;
	}

	.colors li {
		float:left;
		margin: 4px 2px 0 2px;
	}

	.colors li a {
		display: block;
		width: 17px;
		height: 17px;
		cursor: pointer;
	}
	.red { background: #dd3737; }

	.colors li a.active { box-shadow: 0 0 0 2px #fff inset }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3RtcC9jc3Mvc3R5bGUuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLypcbiogQXV0aG9yOiBWYXN0ZXJhZFxuKiBVUkw6IGh0dHA6Ly9wdXJldGhlbWVzLm5ldFxuKi9cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGFibGUgb2YgQ29udGVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0MDEuIEltcG9ydCBTZWN0aW9uIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gSW1wb3J0ZWQgdmFyaWFibGVzLlxuXG5cdDAyLiBMYXlvdXQgQ29tcG9uZW50cyAuLi4uLi4uLi4uLi4uLi4uLi4uIEdlbmVyaWMgbGF5b3V0IGVsZW1lbnRzLlxuXHRcdCMgSGVhZGVyXG5cdFx0IyBOYXZpZ2F0aW9uXG5cdFx0IyBTZWFyY2ggLyBDYXJ0IEljb25cblx0XHQjIGpQYW5lbCBtb2JpbGUgbWVudVxuXHRcdCMgRmVhdHVyZWQgU2VydmljZXNcblx0XHQjIFByb2plY3RzIENhdGVnb3JpZXNcblx0XHQjIFByb2plY3RzIEdyaWRcblx0XHQjIFN0YWdlcyBXaWRnZXRcblx0XHQjIENvdW50ZXJzXG5cdFx0IyBUZXN0aW1vbmlhbHNcblx0XHQjIEJhY2sgVG8gVG9wXG5cdFx0IyBGb290ZXJcblx0XHQjIE93bCBDYXJvdXNlbCBTdHlsZXNcblx0XHQjIFRpdGxlYmFyXG5cdFx0IyBTaW5nbGUgUHJvamVjdCBQYWdlXG5cdFx0IyBTZXJ2aWNlcyAjMVxuXHRcdCMgU2VydmljZXMgIzJcblx0XHQjIFNpbmdsZSBTZXJ2aWNlIFBhZ2Vcblx0XHQjIFNob3Bcblx0XHQjIEJsb2cgU3R5bGVzXG5cdFx0IyBSZWNlbnQgUG9zdHNcblx0XHQjIEJsb2cgV2lkZ2V0c1xuXHRcdCMgV2lkZ2V0c1xuXHRcdCMgSW1hZ2UgRWRnZVxuXHRcdCMgQ29udGFjdCBGb3JtXG5cdFx0IyBHb29nbGUgTWFwc1xuXG5cdDAzLiBTY3JpcHQgU3R5bGVzIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uIGpRdWVyeSBhZGQtb25zIENTUy5cblx0XHQjIEZsZXhzbGlkZXJcblx0XHQjIE93bCBDYXJvdXNlbFxuXHRcdCMgVHdlbnR5VHdlbnR5XG5cdFx0IyBNYWduaWZpYyBQb3B1cFxuXHRcdCMgUGhvdG9HcmlkXG5cblx0MDQuIFNob3J0Y29kZXMgLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gVGVtcGxhdGUgZWxlbWVudHMuXG5cdFx0IyBCdXR0b25zXG5cdFx0IyBUb29sdGlwc1xuXHRcdCMgTGlzdCBTdHlsZXNcblx0XHQjIFRhYmxlXG5cdFx0IyBUYWJzXG5cdFx0IyBQcmljaW5nIFRhYmxlc1xuXHRcdCMgQWNjb3JkaW9uIC8gVG9nZ2xlc1xuXHRcdCMgRHJvcGNhcHNcblx0XHQjIFBhcmFsbGF4IEJhbm5lclxuXHRcdCMgSW5mbyBCYW5uZXJcblx0XHQjIEluZm8gQmFubmVyIEZ1bGwgV2lkdGhcblx0XHQjIFRlYW0gTWVtYmVyc1xuXHRcdCMgU29jaWFsIEljb25zXG5cdFx0IyBOb3RpZmljYXRpb24gYm94ZXNcblx0XHQjIFBhZ2luYXRpb25cblxuXHQwNS4gT3RoZXJzIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiBDU1MgaGVscGVyIGNsYXNzZXMgZXRjLlxuXG5cdDA2LiBNZWRpYSBRdWVyaWVzIC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uIE1vYmlsZSBzdHlsZSBzaGVldHMuXG4qL1xuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIDAxLiBJbXBvcnQgU2VjdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQGltcG9ydCB1cmwoXCJib290c3RyYXAzLmNzc1wiKTtcdFx0XHRcdFx0LyogRGVmYXVsdCBSZXNldCwgVHlwb2dyYXBoeSwgRm9ybXMsIFJlc3BvbnNpdmUgR3JpZCBldGMuICovXG5AaW1wb3J0IHVybChcImljb25zLmNzc1wiKTtcdFx0XHRcdFx0XHQvKiBXZWJmb250IEljb25zOiBGb250QXdlc29tZSwgTGluZSwgU2ltcGxlIExpbmUgKi9cbkBpbXBvcnQgdXJsKFwicmV2b2x1dGlvbnNsaWRlci5jc3NcIik7XHRcdFx0LyogUmV2b2x1dGlvbiBTbGlkZXIgU3R5bGUgU2hlZXRzICovXG5AaW1wb3J0IHVybChcImh0dHA6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU1vbnRzZXJyYXQ6NDAwLDcwMFwiKTtcbkBpbXBvcnQgdXJsKFwiaHR0cDovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9TGF0bzo0MDAsNzAwLDMwMFwiKTtcblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAgMDIuIExheW91dCBDb21wb25lbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEhlYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBUb3AgQm9yZGVyICovXG5ib2R5IHsgYm9yZGVyLXRvcDogNXB4IHNvbGlkICM2NjY7fVxuXG5cbi8qIExvZ28gKi9cbiNsb2dvIHtcblx0bWFyZ2luLXRvcDogNHB4O1xufVxuXG4uaGVhZGVyIHsgbWFyZ2luOiAzMHB4IDAgMjhweCAwO31cblxuXG4vKiBIZWFkZXIgV2lkZ2V0ICovXG4uaGVhZGVyLXdpZGdldCB7XG5cdG1hcmdpbi10b3A6IDhweDtcblx0ZmxvYXQ6IHJpZ2h0O1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5oZWFkZXItd2lkZ2V0IGxpIHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cdHBhZGRpbmctcmlnaHQ6IDM1cHg7XG5cdGxpbmUtaGVpZ2h0OiAyNHB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5oZWFkZXItd2lkZ2V0IGxpOmFmdGVye1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGhlaWdodDogNDhweDtcblx0Y29udGVudDogXCJcIjtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogMXB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwO1xuXHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0dG9wOiA1MCU7XG5cdHJpZ2h0OiAwO1xufVxuXG4uaGVhZGVyLXdpZGdldCBsaSBpIHtcblx0ZmxvYXQ6IGxlZnQ7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0Y29sb3I6ICM2NjY7XG5cdGZvbnQtc2l6ZTogMzRweDtcblx0d2lkdGg6IDM1cHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luLXRvcDogOHB4O1xuXHRtYXJnaW4tcmlnaHQ6IDE4cHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmhlYWRlci13aWRnZXQgbGkgLndpZGdldC1jb250ZW50IHsgZmxvYXQ6IGxlZnQ7IG1heC13aWR0aDogMTUwcHg7ICB9XG4uaGVhZGVyLXdpZGdldCAuc2wtaWNvbi1sb2NhdGlvbiB7IGZvbnQtc2l6ZTogMzZweDsgbWFyZ2luOiA1cHggMTBweCAwIDhweDt9XG5cbi5oZWFkZXItd2lkZ2V0IGxpIHNwYW4udGl0bGUge1xuXHRkaXNwbGF5OiBibG9jaztcblx0Y29sb3I6ICMzMzM7XG59XG5cbi5oZWFkZXItd2lkZ2V0IGxpIHNwYW4uZGF0YSB7IGNvbG9yOiAjODA4MDgwOyB9XG4uaGVhZGVyLXdpZGdldCBhLmJ1dHRvbiB7IG1hcmdpbi1sZWZ0OiAxM3B4IH1cblxuLmhlYWRlci13aWRnZXQgbGk6bGFzdC1jaGlsZCB7IG1hcmdpbi1yaWdodDogMDsgcGFkZGluZy1yaWdodDogMDt9XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTmF2aWdhdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm1lbnUge1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRmbG9hdDogbGVmdDtcblx0d2lkdGg6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdG1hcmdpbjowO1xuXHR6LWluZGV4OiA5OTtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNlMGUwZTA7XG59XG5cbi5tZW51IHVsIHsgcGFkZGluZzogMDsgfVxuLm1lbnUgPiBsaSB7XG5cdGZsb2F0OiBsZWZ0O1xufVxuXG4ubWVudSA+IGxpID4gYSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5tZW51IGxpIHsgbGlzdC1zdHlsZTogbm9uZTsgcG9zaXRpb246IHJlbGF0aXZlO31cblxuLm1lbnUgPiBsaSA+IGEge1xuXHRjb2xvcjogIzMzMztcblx0cGFkZGluZzogMDtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdG1hcmdpbi1yaWdodDogNXB4O1xuXHRwYWRkaW5nOiAyMnB4IDE1cHg7XG5cdGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjZmZmO1xufVxuXG5cbi5tZW51ID4gbGkgYTpob3ZlciB7XG5cdGJvcmRlci1jb2xvcjogIzY2Njtcblx0Y29sb3I6ICM2NjY7XG59XG5cblxuLm1lbnUgPiBsaSxcbi5tZW51ID4gbGkgYTpob3ZlciB7XG5cdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2UtaW4tb3V0O1xuXHQtbW96LXRyYW5zaXRpb246ICBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7XG5cdC1vLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDtcblx0LW1zLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDtcblx0dHJhbnNpdGlvbjphbGwgMC4yNXMgZWFzZS1pbi1vdXQ7XG59XG5cblxuLyogTWVnYSBNZW51ICovXG5cblxuLyogQmFzaWMgRHJvcGRvd24gKi9cbi5kcm9wZG93biB1bCB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ZGlzcGxheTogbm9uZTtcblx0dG9wOiAxMDAlO1xuXHRsZWZ0OiAwO1xuXHR6LWluZGV4OiA5OTk7XG5cdG1hcmdpbi10b3A6IC0zcHg7XG5cdGJhY2tncm91bmQtY29sb3I6ICMyNjI2MjY7XG5cdGJvcmRlci10b3A6IDNweCBzb2xpZCAjNjY2O1xufVxuXG4uZHJvcGRvd24gdWwgbGkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDk5OTtcbn1cblxuLmRyb3Bkb3duIHVsIHVsIHtcblx0bGVmdDogMjAxcHg7XG5cdHRvcDogMDtcbn1cblxubGkuZHJvcGRvd24gdWwgbGkgYSB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtaW4td2lkdGg6IDIwMHB4O1xuXHRjb2xvcjogI2JiYiAhaW1wb3J0YW50O1xuXHRmb250LXNpemU6IDE0cHg7XG5cdGxpbmUtaGVpZ2h0OiAyMnB4O1xuXHRwYWRkaW5nOiA5cHggMjJweDtcblx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1pbi1vdXQgIWltcG9ydGFudDtcblx0dHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTt9XG5cbmxpLmRyb3Bkb3duIHVsIGxpIGE6aG92ZXIge1xuXHRjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2O1xufVxuXG5cbi8qIE1lbnUgQXJyb3dzKi9cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTZWFyY2ggLyBDYXJ0IEljb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBqUGFuZWwgbW9iaWxlIG1lbnVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5tZW51LXJlc3BvbnNpdmUgeyBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcblxuXHQubWVudSB7bWF4LWhlaWdodDogbm9uZTt9XG5cdCNyZXNwb25zaXZlIHsgZGlzcGxheTogbm9uZTsgfVxuXHRcblx0Lm1lbnUtcmVzcG9uc2l2ZSAgeyBkaXNwbGF5OiBibG9jayB9XG5cblx0Lm1lbnUtcmVzcG9uc2l2ZSB7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICM2NjY7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1hcmdpbjogMHB4IDAgMjVweCAwO1xuXHRcdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cdFx0LW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcblx0XHQtby10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcblx0XHQtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cdFx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cdH1cblxuXHQubWVudS1yZXNwb25zaXZlIGkge1xuXHRcdHBhZGRpbmc6IDIwcHg7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdC5tZW51LXJlc3BvbnNpdmUgaS5tZW51LXRyaWdnZXIgeyB3aWR0aDogMTAwJTsgfVxuXG5cdC5tZW51LXJlc3BvbnNpdmUgaS5tZW51LXRyaWdnZXI6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiTWVudVwiO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0dG9wOiAtMXB4O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRsZWZ0OiAxMHB4O1xuXHR9XG5cbn1cblxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZlYXR1cmVkIFNlcnZpY2VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uZmVhdHVyZWQtc2VydmljZS1jb250YWluZXIge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuXHRncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgyLCAxZnIpO1xuXHRncmlkLWNvbHVtbi1nYXA6IDMwcHg7XG59XG5cblxuYS5mZWF0dXJlZC1zZXJ2aWNlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcblx0aGVpZ2h0OiAxNzZweDtcblx0cGFkZGluZzogMzdweCA0MHB4O1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5mZWF0dXJlZC1zZXJ2aWNlIGg0IHsgZm9udC1zaXplOiAxNnB4OyB9XG4uZmVhdHVyZWQtc2VydmljZSBwIHsgY29sb3I6ICM2NjY7IH1cblxuLmZlYXR1cmVkLXNlcnZpY2UgaSB7XG5cdGZvbnQtc2l6ZTogNzJweDtcblx0Y29sb3I6ICM2NjY7XG5cdGZsb2F0OiBsZWZ0O1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbi1yaWdodDogMjlweDtcblx0bGluZS1oZWlnaHQ6IDk1cHg7XG5cdGhlaWdodDogMTc2cHg7XG59XG5cbmEuZmVhdHVyZWQtc2VydmljZTpob3ZlciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICM2NjY7XG59XG5cbmEuZmVhdHVyZWQtc2VydmljZSxcbmEuZmVhdHVyZWQtc2VydmljZSBoNCxcbmEuZmVhdHVyZWQtc2VydmljZSBwLFxuYS5mZWF0dXJlZC1zZXJ2aWNlIGkge1xuXHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXHQtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXHQtby10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcblx0LW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbn1cblxuYS5mZWF0dXJlZC1zZXJ2aWNlOmhvdmVyIGg0LFxuYS5mZWF0dXJlZC1zZXJ2aWNlOmhvdmVyIHAsXG5hLmZlYXR1cmVkLXNlcnZpY2U6aG92ZXIgaSB7IGNvbG9yOiAjZmZmOyB9XG5cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQcm9qZWN0IENhdGVnb3JpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG4vKiBTZWUgQWxsIFByb2plY3RzICovXG5cbi8qIExhdGVzdCAqL1xuXG5cbi8qIEZ1bGwgV2lkdGggQnV0dG9uICovXG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUHJvamVjdHMgR3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cbi8qIEZpbHRlcmluZyBTdHlsZXMqL1xuXG5cbi8qIFByb2plY3RzIEdyaWQgKi9cblxuXG4vKiBPdmVybGF5IGJhY2tncm91bmQgKi9cblxuXG4vKiBQbHVzIEljb24gKi9cblxuXG4vKiBPdmVybGF5IGNvbnRlbnQgKi9cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBTdGFnZXMgV2lkZ2V0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uc3RhZ2Uge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdG1hcmdpbi10b3A6IDQ1cHg7XG59XG5cbi5zdGFnZSBpIHtcblx0d2lkdGg6IDEwMCU7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmb250LXNpemU6IDEwMHB4O1xuXHRjb2xvcjogIzY2Njtcblx0aGVpZ2h0OiAxMjVweDtcbn1cblxuLnN0YWdlIHNwYW4ge1xuXHRjb2xvcjogIzY2Njtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRmb250LXdlaWdodDogNTAwO1xufVxuXG4uc3RhZ2UgaDQge1xuXHRtYXJnaW46IDRweCAwO1xuXHRsaW5lLWhlaWdodDogMjZweDtcbn1cblxuLnN0YWdlIHAge1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIENvdW50ZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRlc3RpbW9uaWFsc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEJhY2sgdG8gdG9wXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4jYmFja3RvdG9wIHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHRyaWdodDogMDtcblx0ZGlzcGxheTogbm9uZTtcblx0Ym90dG9tOiAyMHB4O1xuXHRtYXJnaW46IDAgMjBweCAwIDA7XG5cdHotaW5kZXg6IDk5OTk7XG59XG5cbiNiYWNrdG90b3AgYSB7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0Ym9yZGVyOiAwIG5vbmU7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR3aWR0aDogNDZweDtcblx0aGVpZ2h0OiA0NnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuMyk7XG5cdGNvbG9yOiAjZmZmO1xuXHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4jYmFja3RvdG9wIGE6YWZ0ZXIge1xuXHRjb250ZW50OiBcIu+Bt1wiO1xuXHRmb250LWZhbWlseTogXCJGb250QXdlc29tZVwiO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR0b3A6IDlweDtcblx0bGVmdDogMTVweDtcbn1cblxuI2JhY2t0b3RvcCBhOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogIzY2NjsgfVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEZvb3RlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuI2Zvb3RlciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICMyMDIwMjA7XG5cdHBhZGRpbmc6IDUwcHggMCAwIDA7XG5cdGNvbG9yOiAjOTk5O1xufVxuXG4jZm9vdGVyIGg0IHtcblx0Y29sb3I6ICNmZmY7XG5cdGZvbnQtc2l6ZTogMTZweDtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLyogU29jaWFsIEJ0biAqL1xuXG5cbiNmb290ZXIgYS5idXR0b24geyBtYXJnaW4tdG9wOiAxMnB4OyB9XG4jZm9vdGVyIGEuYnV0dG9uOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgY29sb3I6ICMzMzM7IH1cblxuLnRleHQtd2lkZ2V0IHNwYW4geyBjb2xvcjogI2RkZDsgfVxuXG4vKiAgTGlua3MgICovXG51bC5mb290ZXItbGlua3Mge1xuXHRtYXJnaW46IDAgMCAxNXB4IDA7XG5cdHBhZGRpbmc6IDA7XG5cdHdpZHRoOiA1MCU7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0ZmxvYXQ6IGxlZnQ7XG59XG5cbi5mb290ZXItbGlua3MgbGkgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmZvb3Rlci1saW5rcyBsaSBhIHtcblx0cGFkZGluZzogMCAwIDdweCAxM3B4O1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cdC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cdC1vLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXHQtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXHRjb2xvcjogI2FhYTtcblx0bGluZS1oZWlnaHQ6IDIxcHg7XG59XG5cbi5mb290ZXItbGlua3MgbGkgYTpob3ZlciB7XG5cdHBhZGRpbmctbGVmdDogMTZweDtcblx0Y29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLmZvb3Rlci1saW5rcyBsaTpiZWZvcmUge1xuXHRmb250LWZhbWlseTogXCJGb250QXdlc29tZVwiO1xuXHRmb250LXNpemU6IDEycHg7XG5cdGNvbnRlbnQ6IFwi74OaXCI7XG5cdGNvbG9yOiAjZmZmO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdHRvcDogMHB4O1xuXHRwYWRkaW5nOiAwIDdweCAwIDA7XG5cdGNvbG9yOiAjZGRkO1xufVxuXG5cbi8qIEZvb3RlciBCb3R0b20gKi9cbi5jb3B5cmlnaHRzIHtcblx0Y29sb3I6ICM3Nzc7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCAjMzMzO1xuXHRtYXJnaW4tdG9wOiAzNXB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDMwcHggMDtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogMTAwJTtcbn1cbi5jb3B5cmlnaHRzIGEgeyBjb2xvcjogI2RkZDsgfVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIE93bCBDYXJvdXNlbCBTdHlsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUaXRsZWJhclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuI3RpdGxlYmFyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nOiA0OHB4IDA7XG5cdG1hcmdpbi1ib3R0b206IDU1cHg7XG59XG5cbiN0aXRsZWJhciBzcGFuIGEsXG4jdGl0bGViYXIgc3BhbiB7XG5cdGZvbnQtc2l6ZTogMThweDtcblx0Y29sb3I6ICM4ODg7XG5cdG1hcmdpbi1ib3R0b206IDNweDtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5cbiN0aXRsZWJhciBoMiB7XG5cdGZvbnQtc2l6ZTogMjRweDtcblx0bGluZS1oZWlnaHQ6IDMycHg7XG5cdG1hcmdpbjogMXB4IDAgMnB4IDA7XG59XG5cbi8qIEJyZWFkY3J1bWJzICovXG4jYnJlYWRjcnVtYnMge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiAwO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Y29sb3I6ICM4ODg7XG5cdHRvcDogNTAlO1xuXHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuI2JyZWFkY3J1bWJzIHVsIHsgbWFyZ2luOiAwOyB9XG5cbiNicmVhZGNydW1icyB1bCBsaSBhIHtcblx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcblx0LW1vei10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcblx0LW8tdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cdC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcblx0dHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cdGNvbG9yOiAjODg4O1xufVxuXG4jYnJlYWRjcnVtYnMgdWwgbGkgYTpob3ZlciB7IGNvbG9yOiAjNjY2IH1cblxuI2JyZWFkY3J1bWJzIHVsIGxpIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRtYXJnaW46IDAgMCAwIDEwcHg7XG59XG5cbiNicmVhZGNydW1icyB1bCBsaTpmaXJzdC1jaGlsZDpiZWZvcmUgeyBkaXNwbGF5OiBub25lOyB9XG5cbiNicmVhZGNydW1icyB1bCBsaTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcZjEwNVwiO1xuXHRmb250LWZhbWlseTogXCJGb250QXdlc29tZVwiO1xuXHRjb2xvcjogI2EwYTBhMDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRtYXJnaW4tcmlnaHQ6IDE1cHg7XG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2luZ2xlIFByb2plY3QgUGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBJbWFnZXMgSG92ZXIgKi9cbi5pbWctaG92ZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0bWFyZ2luLWJvdHRvbTogMzBweDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5pbWctaG92ZXIgaW1nIHsgd2lkdGg6IDEwMCU7IH1cblxuLmltZy1ob3ZlcjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzQsMzQsMzQsMC4xNSk7XG5cdG9wYWNpdHk6IDA7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0dHJhbnNpdGlvbjogYWxsIDAuMjVzO1xuXHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjI1cztcbn1cblxuLmltZy1ob3Zlcjpob3ZlcjpiZWZvcmUgeyBvcGFjaXR5OiAxOyB9XG5cbi5pbWctaG92ZXJbdGl0bGVdOmFmdGVyIHtcblx0Y29udGVudDogYXR0cih0aXRsZSk7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0Ym90dG9tOiAwO1xuXHRsZWZ0OiAwO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzQsMzQsMzQsMC41KTtcblx0Y29sb3I6ICNmZmY7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0bGluZS1oZWlnaHQ6IDIzcHg7XG5cdHBhZGRpbmc6IDhweCAxNnB4O1xufVxuXG5cbi8qIERldGFpbHMgICovXG5cbi8qIFByb2plY3QgTmF2ICovXG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2VydmljZXMgIzFcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG4vKiBJY29uICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNlcnZpY2VzICMyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIFBsdXMgSWNvbiAqL1xuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNpbmdsZSBTZXJ2aWNlIFBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogU2VydmljZXMgTGlzdCAqL1xuLnNlcnZpY2VzLWxpc3QgbGkge1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnNlcnZpY2VzLWxpc3QgbGkgYSB7XG5cdGNvbG9yOiAjZmZmO1xuXHRwYWRkaW5nOiAxOXB4IDI2cHg7XG5cdHdpZHRoOiAxMDAlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XG5cdGNvbG9yOiAjMzMzO1xuXHRmb250LXNpemU6IDE0cHg7XG5cdC13ZWtiaXQtdHJhbnNpdGlvbjogYWxsIDAuM3M7XG5cdHRyYW5zaXRpb246IGFsbCAwLjNzO1xuXHRmb250LXdlaWdodDogNjAwO1xufVxuXG5cbi5zZXJ2aWNlcy1saXN0IGxpIGE6YWZ0ZXIge1xuXHRjb250ZW50OiBcIlxcZjEwNVwiO1xuXHRmb250LWZhbWlseTogXCJGb250QXdlc29tZVwiO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiAyNXB4O1xuXHRmb250LXNpemU6IDE4cHg7XG5cdGNvbG9yOiAjODg4O1xuXHQtd2VrYml0LXRyYW5zaXRpb246IGFsbCAwLjNzO1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4zcztcbn1cblxuLnNlcnZpY2VzLWxpc3QgbGkgYS5hY3RpdmUsXG4uc2VydmljZXMtbGlzdCBsaSBhOmhvdmVyIHtcblx0YmFja2dyb3VuZC1jb2xvcjogIzAxODFkYjtcblx0Y29sb3I6ICNmZmY7XG59XG5cbi5zZXJ2aWNlcy1saXN0IGxpIGEuYWN0aXZlOmFmdGVyLFxuLnNlcnZpY2VzLWxpc3QgbGkgYTpob3ZlcjphZnRlciB7XG5cdGNvbG9yOiAjZmZmO1xufVxuXG4uc2VydmljZXMtbGlzdCB7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi8qIFNpZGViYXIgQnV0dG9uICovXG5cblxuLyogU2lkZWJhciB0ZXh0Ym94ICovXG4uc2lkZWJhci10ZXh0Ym94IHtcblx0YmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogMTAwJTtcblx0bWFyZ2luOiAyMHB4IDAgMzBweCAwO1xuXHRjb2xvcjogIzg4ODtcblx0cGFkZGluZzogMzJweCAzNXB4O1xufVxuXG4uc2lkZWJhci10ZXh0Ym94LmNvbG9yIHtcblx0YmFja2dyb3VuZC1jb2xvcjogIzY2Njtcblx0Y29sb3I6ICNmZmY7XG59XG5cbi5zaWRlYmFyLXRleHRib3guY29sb3IgIGg0IHtjb2xvcjogI2ZmZjt9XG4uc2lkZWJhci10ZXh0Ym94IGg0IHtcblx0Zm9udC1zaXplOiAxNnB4O1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdG1hcmdpbi1ib3R0b206IDE2cHg7XG59XG5cbi5zaWRlYmFyLXRleHRib3ggc3BhbiB7IGNvbG9yOiAjNjY2OyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbi5zaWRlYmFyLXRleHRib3guY29sb3Igc3BhbiB7IGNvbG9yOiAjZmZmOyB9XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU2hvcFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBTaG9wIEl0ZW0gKi9cblxuXG5cbi8qIFByb2R1Y3QgRGV0YWlscyAqL1xuXG5cbi8qIFF1YW50aXR5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuLyogU2hvcHBpbmcgQ2FydCAqL1xuXG4vKiBTaG9wcGluZyBDYXJ0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuLyogQ2FydCBUb3RhbHMgKi9cblxuLyogUmVzcG9uc2l2ZSBUYWJsZXMgKi9cblxuLnN0YWNrdGFibGUgeyB3aWR0aDogMTAwJTsgfVxuXG5cbi8qIFByaWNlIFJhbmdlICovXG5cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBCbG9nIFN0eWxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFJlY2VudCBQb3N0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cbi8qIENvbW1lbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uY29tbWVudHMgeyBtYXJnaW46IC0xMHB4IDAgMCAwOyB9XG4uY29tbWVudHMgaDQgeyBtYXJnaW4tYm90dG9tOiAyNXB4OyBmb250LXNpemU6IDIwcHg7IH1cblxuLmNvbW1lbnRzIC5idXR0b24ge1xuXHRtYXJnaW46IDAgMCAxMHB4IDkwcHg7XG5cdHBhZGRpbmc6IDdweCAxNXB4O1xufVxuXG4uY29tbWVudHMgdWwge3BhZGRpbmctbGVmdDogMDt9XG4uY29tbWVudHMgdWwgbGkge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luOiAwIDAgMjBweCA5MHB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jb21tZW50cyB1bCBsaSB1bCBsaSB7XG5cdG1hcmdpbjogMjBweCAwIDAgOTBweDtcbn1cblxuLyogQWRkIENvbW1lbnQgKi9cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBCbG9nIFdpZGdldHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG4vKiBTZWFyY2ggV2lkZ2V0ICovXG4uaW5wdXQgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLyogTmVlZCBzdXBwb3J0IHdpZGdldCAqL1xuXG5cbi8qIEJsb2cgV2lkZ2V0IFRhYnMgKi9cblxuLyogQmxvZyBUYWJzICovXG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogV2lkZ2V0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIEltYWdlIEVkZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogUGhvdG8gKi9cblxuLyogTGlzdCAqL1xuXG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQ29udGFjdCBGb3JtXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4jY29udGFjdCB0ZXh0YXJlYSB7XG5cdG1pbi1oZWlnaHQ6IDIwMHB4O1xuXHRtYXJnaW46IDE1cHggMCAyNXB4IDA7XG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogR29vZ2xlIE1hcHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogIDAzLiBTY3JpcHRzIFN0eWxlIFNoZWV0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBGbGV4c2xpZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi56ZXVzIC50cC10aXRsZS13cmFwIHtcblx0YmFja2dyb3VuZDogIzY2Njtcblx0d2lkdGg6IDEyMCU7XG5cdGhlaWdodDogMTIwJTtcblx0dG9wOiAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdG9wYWNpdHk6IDA7XG4gfVxuXG4uemV1cyAudHAtdGl0bGUtd3JhcCB7XG5cdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNHMgY3ViaWMtYmV6aWVyKDAuMiwgMSwgMC4zLCAxKTtcblx0LW1vei10cmFuc2l0aW9uOmFsbCAwLjRzIGN1YmljLWJlemllcigwLjIsIDEsIDAuMywgMSk7XG5cdC1vLXRyYW5zaXRpb246IGFsbCAwLjRzIGN1YmljLWJlemllcigwLjIsIDEsIDAuMywgMSk7XG5cdC1tcy10cmFuc2l0aW9uOmFsbCAwLjRzIGN1YmljLWJlemllcigwLjIsIDEsIDAuMywgMSk7XG5cdHRyYW5zaXRpb246IGFsbCAwLjRzIGN1YmljLWJlemllcigwLjIsIDEsIDAuMywgMSk7XG59XG5cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBPd2wgQ2Fyb3VzZWxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4vKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBBdXRvIEhlaWdodCBQbHVnaW5cbiAqL1xuXG4vKlxuICogIENvcmUgT3dsIENhcm91c2VsIENTUyBGaWxlXG4gKi9cblxuLyogTm8gSnMgKi9cblxuLypcbiAqIFx0T3dsIENhcm91c2VsIC0gTGF6eSBMb2FkIFBsdWdpblxuICovXG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVHdlbnR5VHduZXR5IChCZWZvcmUgJiBBZnRlciBTbGlkZXIpXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTWFnbmlmaWMgUG9wdXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogQ2xvc2UgQnV0dG9uICovXG5cblxuLyogUG9wdXAgKi9cblxuLyogYW5pbWF0ZSBpbiAqL1xuXG4vKiBhbmltYXRlIG91dCAqL1xuXG4vKiBEYXJrIG92ZXJsYXksIHN0YXJ0IHN0YXRlICovXG4vKiBhbmltYXRlIGluICovXG4vKiBhbmltYXRlIG91dCAqL1xuXG5cbi8qIE1haW4gaW1hZ2UgaW4gcG9wdXAgKi9cblxuLyogVGhlIHNoYWRvdyBiZWhpbmQgdGhlIGltYWdlICovXG5cblxuLyogTWVkaWEgUXVlcmllcyBmb3IgTWFnbmlmaWMgUG9wdXAgKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLCBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiAzMDBweCkge1xuXG4gIC8qIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZSAqL1xufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFBob3RvZ3JpZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qICAwNC4gU2hvcnRjb2Rlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBIZWFkbGluZSAqL1xuaDMuaGVhZGxpbmUge1xuXHRtYXJnaW46IDU4cHggMCA0NXB4IDAgO1xufVxuXG5oMy5oZWFkbGluZS53aXRoLWJvcmRlciB7IHBhZGRpbmctYm90dG9tOiAzNXB4O31cblxuLmhlYWRsaW5lIHNwYW4uY29sb3IgeyBjb2xvcjogIzY2NjsgfVxuXG4uaGVhZGxpbmUuY2VudGVyZWQgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbi5oZWFkbGluZS53aXRoLWJvcmRlciB7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTBlMGUwOyB3aWR0aDogMTAwJTsgcGFkZGluZy1ib3R0b206IDI1cHg7IH1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBCdXR0b25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmEuYnV0dG9uLmJvcmRlcixcbmEuYnV0dG9uIHtcblx0YmFja2dyb3VuZC1jb2xvcjogIzY2Njtcblx0dG9wOiAwO1xuXHRwYWRkaW5nOiAxMHB4IDE4cHg7XG5cdGNvbG9yOiAjZmZmO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGZvbnQtc2l6ZTogMTNweDtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXHQtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXHQtbXMtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cdC1vLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG5hLmJ1dHRvbi5tZWRpdW0ge1xuXHRmb250LXNpemU6IDE0cHg7XG5cdHBhZGRpbmc6IDEycHggMjJweDtcbn1cblxuYS5idXR0b246aG92ZXIsXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmhvdmVyLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICMzMzM7IGNvbG9yOiAjZmZmOyB9XG5cblxuLyogQnV0dG9uIHdpdGggYm9yZGVyIGFuZCBlZmZlY3QgKi9cbmEuYnV0dG9uLmJvcmRlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IDJweCBzb2xpZCAjNjY2O1xuXHRjb2xvcjogIzY2Njtcbn1cblxuLmJ1dHRvbi5ib3JkZXIge1xuXHRkaXNwbGF5OiBibG9jaztcblx0Ym9yZGVyOiBub25lO1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRjb2xvcjogaW5oZXJpdDtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxO1xuXHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuYS5idXR0b24uYm9yZGVyIHtcblx0LXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC40cywgY29sb3IgMC40cztcblx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNHMsIGNvbG9yIDAuNHM7XG59XG5cbmEuYnV0dG9uLmJvcmRlcjo6YmVmb3JlIHtcblx0Y29udGVudDogJyc7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRiYWNrZ3JvdW5kOiAjNjY2O1xuXHR6LWluZGV4OiAtMTtcblx0b3BhY2l0eTogMDtcblx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC43LCAxLCAxKTtcblx0dHJhbnNmb3JtOiBzY2FsZTNkKDAuNywgMSwgMSk7XG5cdC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC40cywgb3BhY2l0eSAwLjRzO1xuXHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cywgb3BhY2l0eSAwLjRzO1xuXHQtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yLCAxLCAwLjMsIDEpO1xuXHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMiwgMSwgMC4zLCAxKTtcbn1cblxuYS5idXR0b24uYm9yZGVyLFxuYS5idXR0b24uYm9yZGVyOjpiZWZvcmUge1xuXHQtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yLCAxLCAwLjMsIDEpO1xuXHR0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMiwgMSwgMC4zLCAxKTtcbn1cblxuXG5hLmJ1dHRvbi5ib3JkZXI6aG92ZXI6OmJlZm9yZSB7XG5cdG9wYWNpdHk6IDE7XG5cdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuYS5idXR0b24uYm9yZGVyOmhvdmVyIHtcblx0Y29sb3I6ICNmZmY7XG5cdGJvcmRlci1jb2xvcjogIzY2NjtcblxufVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRvb2x0aXBzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTGlzdCBTdHlsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG4ubGlzdC0xIHtcblx0cGFkZGluZzogM3B4IDAgMCAwO1xufVxuXG5cbi5saXN0LTEgbGkge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRtYXJnaW46IDE0cHggMDtcblx0bGluZS1oZWlnaHQ6IDI3cHg7XG5cdG1hcmdpbi1sZWZ0OiAyMnB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5saXN0LTEuYWx0IGxpIHsgbWFyZ2luOiAxMnB4IDA7IG1hcmdpbi1sZWZ0OiAyMnB4OyB9XG5cblxuLmxpc3QtMSBsaTpmaXJzdC1jaGlsZCB7XG5cdG1hcmdpbi10b3A6IDA7XG59XG5cblxuXG4ubGlzdC0xIGxpOmJlZm9yZSB7XG5cdGZvbnQtZmFtaWx5OiBcIkZvbnRBd2Vzb21lXCI7XG5cdG1hcmdpbjogMDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRjb2xvcjogIzY2Njtcblx0ZmxvYXQ6IGxlZnQ7XG5cdG1hcmdpbi1sZWZ0OiAtMjJweDtcblx0ZGlzcGxheTogYmxvY2s7XG59XG4ubGlzdC0xIGxpOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMGM4XCI7IGZvbnQtc2l6ZTogOHB4OyB9XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogVGFibGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFRhYnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQcmljaW5nIFRhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBDb2xvcnMgKi9cblxuXG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogQWNjb3JkaW9uIC8gVG9nZ2xlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRHJvcGNhcHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBQYXJhbGxheCBCYW5uZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5wYXJhbGxheC1iYW5uZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGJhY2tncm91bmQtc2l6ZTogMTAwJTtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcblx0LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHQtbW96LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdC1vLWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdHBhZGRpbmc6IDkwcHggMDtcbn1cblxuLnBhcmFsbGF4LWJhbm5lcjpiZWZvcmUge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGNvbnRlbnQ6IFwiXCI7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0ei1pbmRleDogOTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LDM0LDM0LDAuNSlcbn1cblxuLnBhcmFsbGF4LXRpdGxlIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxMDtcblx0Zm9udC1zaXplOiA0MnB4O1xuXHRjb2xvcjogI2ZmZjtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGxlZnQ6IDA7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0bGluZS1oZWlnaHQ6IDQ2cHg7XG59XG5cbi5wYXJhbGxheC10aXRsZSBzcGFuIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmc6IDEwcHggMCAwIDA7XG5cdGZvbnQtc2l6ZTogMjNweDtcblx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0b3BhY2l0eTogMC42NTtcblx0bGluZS1oZWlnaHQ6IDMycHg7XG59XG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogSW5mbyBCYW5uZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBJbmZvIEJhbm5lciBGdWxsIFdpZHRoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uaW5mby1iYW5uZXItZncge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2O1xuXHRmb250LXNpemU6IDMycHg7XG5cdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdGxpbmUtaGVpZ2h0OiA0MHB4O1xuXHRjb2xvcjogI2ZmZjtcblx0cGFkZGluZzogNDVweCAwO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdG1hcmdpbjogMCAwIDBweCAwO1xufVxuXG4uaW5mby1iYW5uZXItZncgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRjb2xvcjogI2ZmZjtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0Lypmb250LXNpemU6IDE0cHg7Ki9cblx0Ym9yZGVyOiAycHggc29saWQgI2ZmZjtcblx0LypiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsqL1xuXHQvKnRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Ki9cblx0cGFkZGluZzogMTVweCAyMHB4O1xuXHRtYXJnaW46IDE2cHggMCAwIDA7XG5cdC8qcG9zaXRpb246IHJlbGF0aXZlOyovXG5cdC8qdG9wOiAtN3B4OyovXG5cdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cdC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cdC1tcy10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcblx0LW8tdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xufVxuXG4uaW5mby1iYW5uZXItZncgYTpob3ZlciB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHQvKmNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7Ki9cbn1cblxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBUZWFtIE1lbWJlcnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIFNvY2lhbCBJY29uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBDb21tb24gU3R5bGVzICovXG5cblxuLyogRml4ZWQgU3R5bGUgKi9cblxuXG4vKiBJY29uIFN0eWxlcyAqL1xuXG5cbi8qIFdlYiBGb250ICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdmb250ZWxsbyc7XG4gIHNyYzogdXJsKCcuLi8uLi9hc3NldHMvZm9udHMvZm9udGVsbG8uZW90PzMxNzcxNTcxJyk7XG4gIHNyYzogdXJsKCcuLi8uLi9hc3NldHMvZm9udHMvZm9udGVsbG8uZW90PzMxNzcxNTcxI2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuXHQgICB1cmwoJy4uLy4uL2Fzc2V0cy9mb250cy9mb250ZWxsby53b2ZmPzMxNzcxNTcxJykgZm9ybWF0KCd3b2ZmJyksXG5cdCAgIHVybCgnLi4vLi4vYXNzZXRzL2ZvbnRzL2ZvbnRlbGxvLnR0Zj8zMTc3MTU3MScpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcblx0ICAgdXJsKCcuLi8uLi9hc3NldHMvZm9udHMvZm9udGVsbG8uc3ZnPzMxNzcxNTcxI2ZvbnRlbGxvJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufSAvKiAnIycgKi8gLyogJyQnICovIC8qICcrJyAqLyAvKiAnLycgKi8gLyogJzAnICovIC8qICcxJyAqLyAvKiAnOicgKi8gLyogJzsnICovIC8qICc9JyAqLyAvKiAnJmd0OycgKi8gLyogJ0EnICovIC8qICdCJyAqLyAvKiAnRCcgKi8gLyogJ0UnICovIC8qICdGJyAqLyAvKiAnTCcgKi8gLyogJ1InICovIC8qICdUJyAqLyAvKiAnVScgKi8gLyogJ1YnICovIC8qICdYJyAqLyAvKiAnWScgKi8gLyogJ2EnICovIC8qICdiJyAqLyAvKiAnZCcgKi8gLyogJ2YnICovIC8qICdnJyAqLyAvKiAnbCcgKi8gLyogJ3QnICovIC8qICd3JyAqLyAvKiAnPycgKi8gLyogJz8nICovXG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogTm90aWZpY2F0aW9uIEJveGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogUGFnaW5hdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qICAwNS4gT3RoZXJzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblx0LyogQm94ZWQgJiBGdWxsIFdpZHRoIExheW91dCAqL1xuXG5cdCN3cmFwcGVyIHsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXHQjbG9nbyBpbWcgeyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG5cblxuXHQvKiBEcm9wIHBvaW50cywgZG8gbm90IGVkaXQgKi9cblxuXG5cdC8qIE1haW4gRm9udCAqL1xuXHRib2R5LCBpbnB1dFt0eXBlPVwidGV4dFwiXSwgaW5wdXRbdHlwZT1cImVtYWlsXCJdLCB0ZXh0YXJlYSwgLnRwLWNhcHRpb24gLmNhcHRpb24tdGV4dCwgc2VsZWN0IHtcblx0XHRmb250LWZhbWlseTogXCJMYXRvXCIsIFwiSGVsdmV0aWNhTmV1ZVwiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHR9XG5cblxuXHQvKiBTZWNvbmRhcnkgRm9udCAqL1xuXHQgaDIsIGgzLCBoNCwgIC5idXR0b24sICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuXHRpbnB1dFt0eXBlPVwic3VibWl0XCJdLCBidXR0b24sIC50cC1jYXB0aW9uLCAubWVudSA+IGxpID4gYSwgLnN0YWdlIHNwYW4sXG5cdCNicmVhZGNydW1icywgLmltZy1ob3Zlcjo6YWZ0ZXIsXG5cdC5zZXJ2aWNlcy1saXN0LCAucGFyYWxsYXgtdGl0bGUsIC5pbmZvLWJhbm5lci1mdyBhLCAubWVudS1yZXNwb25zaXZlIGkubWVudS10cmlnZ2VyOmFmdGVyXG5cdHsgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBcIkhlbHZldGljYU5ldWVcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyBsZXR0ZXItc3BhY2luZzogMXB4OyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cblxuXHQvKiBEZW1vIFN0eWxlcyAqL1xuXG5cblx0LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXHQvKiBTcGFjZXJzXG5cdC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXHQvKiBNYXJnaW4gVG9wICovXG5cdC5tYXJnaW4tdG9wLTEwIHsgbWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50OyB9XG5cdC5tYXJnaW4tdG9wLTM1IHsgbWFyZ2luLXRvcDogMzVweCAhaW1wb3J0YW50OyB9XG5cdC5tYXJnaW4tdG9wLTQ1IHsgbWFyZ2luLXRvcDogNDVweCAhaW1wb3J0YW50OyB9XG5cdC5tYXJnaW4tdG9wLTUwIHsgbWFyZ2luLXRvcDogNTBweCAhaW1wb3J0YW50OyB9XG5cblx0LyogTWFyZ2luIEJvdHRvbSAqL1xuXHQubWFyZ2luLWJvdHRvbS0wICB7IG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXHQubWFyZ2luLWJvdHRvbS0xMCB7IG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDsgfVxuXHQubWFyZ2luLWJvdHRvbS0yMCB7IG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDsgfVxuXHQubWFyZ2luLWJvdHRvbS0zNSB7IG1hcmdpbi1ib3R0b206IDM1cHggIWltcG9ydGFudDsgfVxuXG5cdC5leHRyYS1ndXR0ZXItbGVmdCB7IHBhZGRpbmctbGVmdDogMjVweDsgfVxuXG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogMDYuIE1lZGlhIFF1ZXJpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogU3RhbmRhcmQgMTE4MCAoZGV2aWNlcyBhbmQgYnJvd3NlcnMpICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyNDBweCkge1xuXG59XG5cblxuLyogU21hbGxlciB0aGFuIHN0YW5kYXJkIDExODAgKGRldmljZXMgYW5kIGJyb3dzZXJzKSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDEyMzlweCkge1xuXG5cdC5mZWF0dXJlZC1zZXJ2aWNlLWNvbnRhaW5lciB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcblx0XHRncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgyLCAxZnIpO1xuXHR9XG5cblx0YS5mZWF0dXJlZC1zZXJ2aWNlIHtcblx0ICAgIGhlaWdodDogYXV0bztcblx0ICAgIHBhZGRpbmc6IDMycHggMzVweDtcblx0fVxuXG5cdGEuZmVhdHVyZWQtc2VydmljZSBpIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDIzcHg7XG5cdFx0Zm9udC1zaXplOiA2NHB4O1xuXHRcdGhlaWdodDogYXV0b1xuXHR9XG5cblx0LnBhcmFsbGF4LWJhbm5lciB7IHBhZGRpbmc6IDgwcHggMCA3NXB4IDA7fVxuXHQucGFyYWxsYXgtdGl0bGUgeyBmb250LXNpemU6IDM2cHg7fVxuXHQucGFyYWxsYXgtdGl0bGUgc3BhbiB7IGZvbnQtc2l6ZTogMjJweDt9XG5cbn1cblxuXG4vKiBUYWJsZXQgUG9ydHJhaXQgc2l6ZSB0byBzdGFuZGFyZCA5NjAgKGRldmljZXMgYW5kIGJyb3dzZXJzKSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG5cblx0aDMuaGVhZGxpbmUgeyBtYXJnaW46IDQ1cHggMCAzNXB4IDA7IH1cblxuXHQuaGVhZGVyLXdpZGdldCB7XG5cdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblxuXHQuaGVhZGVyLXdpZGdldCBsaSB7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRtYXJnaW4tdG9wOiAzNXB4O1xuXHRcdG1hcmdpbi1ib3R0b206IDdweDtcblx0fVxuXG5cdCNsb2dvIHtcblx0ICAgIG1hcmdpbi10b3A6IDVweDtcblx0ICAgIHdpZHRoOiAxMDAlO1xuXHQgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMGUwZTA7XG5cdCAgICBwYWRkaW5nLWJvdHRvbTogMzVweDtcblx0ICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxuXG5cdGgzLmhlYWRsaW5lLndpdGgtYm9yZGVyIHsgbGluZS1oZWlnaHQ6IDMycHg7IH1cblx0LmNvcHlyaWdodHMgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cdHVsLnNlcnZpY2VzLWxpc3QgeyBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG5cdC5zaWRlYmFyLXRleHRib3ggeyBtYXJnaW4tdG9wOiAwOyB9XG5cblx0LmluZm8tYmFubmVyLWZ3IGEge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0dG9wOiAxNXB4O1xuXHRcdHBhZGRpbmc6IDE0cHggMTBweDtcblx0XHRsaW5lLWhlaWdodDogMjJweDtcblx0XHRtYXJnaW4tbGVmdDogMDtcblx0fVxuXG5cdC5pbmZvLWJhbm5lci1mdyB7IHRleHQtYWxpZ246IGNlbnRlcjsgZm9udC1zaXplOiAzMHB4OyBwYWRkaW5nLWJvdHRvbTogNjVweDsgfVxuXG59XG5cblxuLyogQWxsIE1vYmlsZSBTaXplcyAoZGV2aWNlcyBhbmQgYnJvd3NlcikgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuXG5cdGgzLmhlYWRsaW5lIHsgbWFyZ2luOiA0OHB4IDAgMzVweCAwOyB9XG5cblx0LmhlYWRlci13aWRnZXQgeyBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cdC5oZWFkZXItd2lkZ2V0IGxpOmFmdGVyIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LmhlYWRlci13aWRnZXQgbGkge1xuXHRcdG1hcmdpbjogMjBweCAxNXB4IDVweCAwcHg7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXG5cdC5oZWFkZXItd2lkZ2V0IGxpLndpdGgtYnRuIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblxuXHQuaGVhZGVyLXdpZGdldCBsaSBhLmJ1dHRvbiB7IG1hcmdpbi1sZWZ0OiAwOyB9XG5cblx0I3RpdGxlYmFyIHsgcGFkZGluZzogNDBweCAwIDUwcHggMDt9XG5cdCN0aXRsZWJhciAjYnJlYWRjcnVtYnMgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblx0I3RpdGxlYmFyIHNwYW4geyBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG5cblx0I3RpdGxlYmFyICNicmVhZGNydW1icyB1bCB7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0b3A6IDA7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcblx0XHQtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuXHRcdC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcblx0ICAgIGxlZnQ6IC0xMHB4O1xuXHR9XG5cblx0I3RpdGxlYmFyIHNwYW4gYSxcblx0I3RpdGxlYmFyIHNwYW4geyBkaXNwbGF5OiBibG9jazsgfVxuXG5cdC5mZWF0dXJlZC1zZXJ2aWNlLWNvbnRhaW5lciB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcblx0XHRncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCg0LCAxZnIpO1xuXHR9XG5cblx0YS5mZWF0dXJlZC1zZXJ2aWNlIHtcblx0ICAgIHdpZHRoOiAxMDAlO1xuXHQgICAgcGFkZGluZzogMjVweCAyN3B4O1xuXHQgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblx0fVxuXG5cdGEuZmVhdHVyZWQtc2VydmljZSBoNCB7IG1hcmdpbi10b3A6IDIwcHg7IH1cblxuXHQuc3RhZ2UgeyBtYXJnaW4tYm90dG9tOiA0NXB4OyB9XG5cblx0LnBhcmFsbGF4LXRpdGxlIHsgZm9udC1zaXplOiAzMnB4OyB9XG5cblx0LmV4dHJhLWd1dHRlci1sZWZ0IHsgcGFkZGluZzogMCAxNXB4O31cblxufVxuXG5cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogU3R5bGVzIFN3aXRjaGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblx0LmNvbG9ycyB7XG5cdFx0bGlzdC1zdHlsZTpub25lO1xuXHRcdG1hcmdpbjogMCAwcHggMTBweCAwO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdH1cblxuXHQuY29sb3JzIGxpIHtcblx0XHRmbG9hdDpsZWZ0O1xuXHRcdG1hcmdpbjogNHB4IDJweCAwIDJweDtcblx0fVxuXG5cdC5jb2xvcnMgbGkgYSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDE3cHg7XG5cdFx0aGVpZ2h0OiAxN3B4O1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0fVxuXHQucmVkIHsgYmFja2dyb3VuZDogI2RkMzczNzsgfVxuXG5cdC5jb2xvcnMgbGkgYS5hY3RpdmUgeyBib3gtc2hhZG93OiAwIDAgMCAycHggI2ZmZiBpbnNldCB9XG4iXX0= */