/* ==========================================================================
   Mixins
   ========================================================================== */

/* TO DEBUG */

/* Calculate fluid ratio based on two dimensions (width/height) */

/**************************
  VARIABLE
***************************/

@font-face {
	font-family: 'Gotham';
	src: url('../fonts/Gotham-Light.eot');
	src: url('../fonts/Gotham-Light.eot?#iefix') format('embedded-opentype'),
			 url('../fonts/Gotham-Light.woff2') format('woff2'),
			 url('../fonts/Gotham-Light.woff') format('woff'),
			 url('../fonts/Gotham-Light.ttf') format('truetype'),
			 url('../fonts/Gotham-Light.svg#gotham') format('svg');
	font-weight: 300;
	font-style: normal;
}
@font-face {
	font-family: 'Gotham';
	src: url('../fonts/Gotham-Book.eot');
	src: url('../fonts/Gotham-Book.eot?#iefix') format('embedded-opentype'),
			 url('../fonts/Gotham-Book.woff2') format('woff2'),
			 url('../fonts/Gotham-Book.woff') format('woff'),
			 url('../fonts/Gotham-Book.ttf') format('truetype'),
			 url('../fonts/Gotham-Book.svg#gotham') format('svg');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'Gotham';
	src: url('../fonts/Gotham-Medium.eot');
	src: url('../fonts/Gotham-Medium.eot?#iefix') format('embedded-opentype'),
			 url('../fonts/Gotham-Medium.woff2') format('woff2'),
			 url('../fonts/Gotham-Medium.woff') format('woff'),
			 url('../fonts/Gotham-Medium.ttf') format('truetype'),
			 url('../fonts/Gotham-Medium.svg#gotham') format('svg');
	font-weight: 500;
	font-style: normal;
}

@font-face {
	font-family: 'Gotham';
	src: url('../fonts/gotham-bold.eot');
	src: url('../fonts/gotham-bold.eot?#iefix') format('embedded-opentype'),
			 url('../fonts/gotham-bold.woff2') format('woff2'),
			 url('../fonts/gotham-bold.woff') format('woff'),
			 url('../fonts/gotham-bold.ttf') format('truetype'),
			 url('../fonts/gotham-bold.svg#gotham') format('svg');
	font-weight: bold;
	font-style: normal;
}

*,
*:before,
*:after {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

html,
body {
	font-family: 'Gotham', sans-serif;
	color: #000;
}

p {
	margin: 20px 0;
	font-size: 18px;
	line-height: 1.5;
}

strong {
	font-weight: 700;
}

.clearboth {
	clear: both;
	display: block;
	overflow: hidden;
}

.center {
	text-align: center !important;
}

.right {
	text-align: right;
}

.col_one {
	/*float:left;*/
	width: 16.66667%;
}

@media (max-width: 767px) {
	.col_one {
		margin: 20px 0;
		width: 50%;
	}
}

.col_1_3 {
	/*float:left;*/
	width: 33.33333%;
}

.col_2_3 {
	/*float:left;*/
	width: 66.66667%;
}

.col_1_4 {
	/*float:left;*/
	width: 25%;
}

.col_1_2 {
	/*float:left;*/
	width: 50%;
}

@media (max-width: 767px) {
	.col_1_2 {
		width: 100%;
		float: none;
		display: flex;
		flex-flow: column;
	}
}

#header {
	width: 100%;
	height: 130px;
	background-color: #000;
	display: block;
	overflow: hidden;
	position: fixed;
	top: 0;
	z-index: 1000;
}

#header .container {
	height: 100%;
	width: 90%;
	margin: 0 auto;
	position: relative;
}
/*
@media (max-width: 767px) {
	#header {
		height: 90px;
	}
}
*/
.header-style {
	padding: 15px 0 0 0;
}

#img-projet {
	/*
	margin-top: 160px;
	padding-top: 56.41769%;
	height: -0.53662px;
	*/
	margin-top: 130px;
	height: calc(100vh - 160px);
	min-height: 600px;
	position: relative;
	background-size: cover;
	-moz-background-size: cover;
	/* Firefox 3.6 */
	background-position: center;
	/* Internet Explorer 7/8 */
	background-image: url(../img/hero.jpg);
	/*background-size: cover;*/
	border-bottom: 9px solid #000000;
	/* @media (min-width: $mobile) and (max-width: $tablet) {@content;}*/
}

@media (max-width: 1024px) {
	#img-projet {
		height: calc(80vh - 160px);
	}
}

@media (max-width: 767px) {
	#img-projet {
		height: calc(60vh - 160px);
	}
}

/*
@media only screen and (min-device-width: 767px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) {
	#img-projet {
		position: relative;
		top: 160px;
		margin-bottom: 130px;
	}
}

@media (max-width: 767px) {
	#img-projet {
		position: relative;
		top: 90px;
		margin-bottom: 130px;
	}
}
*/
.sticky-projet {
	animation: fadeEffect 2s;
	/* fading effect takes 3s */
}

.sticky-projet.projet-vendu {
	visibility: visible;
	z-index: 10000;
}

.projet-vendu {
	-webkit-transition: 0.6s;
	-moz-transition: 0.6s;
	-ms-transition: 0.6s;
	-o-transition: 0.6s;
	transition: 0.6s;
	visibility: hidden;
	display: none;
	position: relative;
	z-index: -10000;
	top: 20px;
	border-radius: 15px;
	padding: 10px 20px;
	display: inline-block;
	background-image: linear-gradient(to right, #9a5d48, #c3927f);
	color: #fff;
	/* @media (min-width: $mobile) and (max-width: $tablet) {@content;}*/
}
/*
@media (max-width: 1024px) {
	.projet-vendu {
		position: absolute;
		right: 0px !important;
		top: 40px;
	}
}
@media only screen and (min-device-width: 767px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) {
	.projet-vendu {
		position: absolute;
		right: 0px !important;
		top: 55px;
	}
}
@media (max-width: 767px) {
	.projet-vendu {
		position: absolute;
		right: 0px !important;
		top: 20px;
	}
}
*/

.projet-vendu p {
	font-size: 35px;
	line-height: 100%;
	margin: 0;
}

@media (max-width: 1280px) {
	.projet-vendu p {
		font-size: 25px;
	}
}

@media (max-width: 767px) {
	.projet-vendu p {
		font-size: 12px;
	}
}

.projet-vendu p strong {
	font-weight: bold;
}

.bandeau-vendu {
	transform: rotate(-40deg);
	-webkit-transform: rotate(-40deg);
	-moz-transform: rotate(-40deg);
	-ms-transform: rotate(-40deg);
	-o-transform: rotate(-40deg);
	position: absolute;
	top: 70px;
	left: -125px;
	z-index: 0;
	width: 575px;
	height: 120px;
	background-image: linear-gradient(to right, #9a5d48, #c3927f);
	text-align: center;
	/* @media (min-width: $mobile) and (max-width: $tablet) {@content;}*/
}

@media only screen and (min-device-width: 767px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) {
	.bandeau-vendu {
		top: 75px;
	}
}

@media (max-width: 767px) {
	.bandeau-vendu {
		top: 20px;
		left: -75px;
		width: 340px;
		height: 80px;
	}
}

.bandeau-vendu p {
	font-size: 34px;
	line-height: 38px;
	text-transform: uppercase;
	color: #fff;
}

@media (max-width: 767px) {
	.bandeau-vendu p {
		font-size: 22px;
		line-height: 24px;
	}
}

.logo-bottom-to-top {
	animation: appear-bottom-to-top 2s forwards;
	-webkit-animation: appear-bottom-to-top 2s forwards;
	-moz-animation: appear-bottom-to-top 2s forwards;
	-ms-animation: appear-bottom-to-top 2s forwards;
	-o-animation: appear-bottom-to-top 2s forwards;
	display: inline-block;
	opacity: 0;
}

@media (max-width: 767px) {
	.logo-bottom-to-top {
		animation: appear-bottom-to-top-mobile 2s forwards;
		-webkit-animation: appear-bottom-to-top-mobile 2s forwards;
		-moz-animation: appear-bottom-to-top-mobile 2s forwards;
		-ms-animation: appear-bottom-to-top-mobile 2s forwards;
		-o-animation: appear-bottom-to-top-mobile 2s forwards;
	}
}

@keyframes appear-bottom-to-top {
	0%,
	30% {
		top: 100%;
		opacity: 0;
	}
	100% {
		top: 45%;
		opacity: 1;
	}
}

@keyframes appear-bottom-to-top-mobile {
	0%,
	30% {
		top: 100%;
		opacity: 0;
	}
	100% {
		top: 125px;
		opacity: 1;
	}
}

/*
	LOGO
*/

#logo {
    background: url(../img/logo.png) no-repeat center center;
    width: 170px;
    height: 76px;
    max-width: 100%!important;
    background-size: contain;
    background-position: left center;
    position: absolute;
    top: 12px;
}
}
/*
@media (max-width: 767px) {
	#logo {
		width: 125px;
		background-size: contain;
		top: -15px !important;
		left: 0 !important;
	}
}
*/

@media (max-width: 767px) {
	#logo {
		background-size: 33%;
		background-position: center left;
	}
}


.medias-sociaux a.langue {
	background-color: transparent;
	font-size: 18px;
	line-height: 22px;
	color: #fff;
	text-decoration: none;
	display: inline-block;
}
.medias-sociaux a.langue:hover {
	background-color: transparent;
}
/*
@media (max-width: 1280px) {
	.langue {
		margin: 25px 0px 0 15px;
	}
}

@media (max-width: 1024px) {
	.langue {
		float: none;
		position: absolute;
		top: -30px;
		right: 0;
	}
}
*/
/*
.langue{
	
	font-size:13px;
	line-height: 16px;
	color:$rose;
	text-decoration: none;
	
	display: inline-block;
	/*float:right;*/

/*margin:15px 0px 0 15px;
	padding:7px;
	border:1px solid $rose;
	position: relative;
	top:20px;

	&:hover{
		color:$blanc;
	}
	
	
	@include breakpoint("medium"){
		margin:25px 0px 0 15px;		
	}
	
	@include breakpoint("tablet"){
		float:none;
		position:absolute;
		top:-30px;
		right:0;
	}
	@include breakpoint("tablet"){
		top:-25px;
	}
}
*/

.medias-sociaux {
	display: inline-block;
	/*float: left;*/
	margin: 45px 0px 0 0;
}
/*
@media (max-width: 1024px) {
	.medias-sociaux {
		float: right;
	}
}

@media (max-width: 767px) {
	.medias-sociaux {
		position: absolute;
		right: 0;
		top: 25px;
	}
}
*/
.medias-sociaux a {
	height: 30px;
	width: 30px;
	border-radius: 5px;
	background: #fff;
	color: #000000;
	text-decoration: none;
	margin: 0 2px;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-ms-flex-align: center;
	align-items: center;
	-ms-flex-pack: center;
	justify-content: center;
	font-size: 20px;
}

.medias-sociaux a:hover {
	color: #fff;
	background: #9c604b;
}

.row {
	width: 100%;
	/*display: block;*/
	display: flex;
	flex-flow: row;
	flex-wrap: wrap;
	/*overflow: hidden;*/
}

.inner {
	width: 75%;
	margin: 100px auto;
	text-align: left;
	position: relative;
	z-index: 10;
}

@media (max-width: 767px) {
	.inner {
		margin: 25px auto;
	}
}

#row1 .inner {
	margin: 100px auto 100px auto;
	/* @media (min-width: $mobile) and (max-width: $tablet) {@content;}*/
}

@media only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 1) {
	#row1 .inner {
		margin: 100px auto;
	}
}

@media (max-width: 1024px) {
	#row1 .inner {
		margin: 75px auto;
	}
}

@media only screen and (min-device-width: 767px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) {
	#row1 .inner {
		margin: 35px auto 0 auto;
	}
}

@media (max-width: 767px) {
	#row1 .inner {
		margin: 50px auto;
	}
}

@media (max-width: 767px) {
	#row1,
	#row2 {
		display: flex;
		flex-flow: column;
	}
}

@media (max-width: 767px) {
	#row2 .col_1_2:nth-of-type(1) {
		order: 2;
	}
}

@media (max-width: 767px) {
	#row2 .col_1_2:nth-of-type(2) {
		order: 1;
	}
}

#row2 .inner {
	/* @media (min-width: $mobile) and (max-width: $tablet) {@content;}*/
}

@media only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 1) {
	#row2 .inner {
		margin: 75px auto;
	}
}

@media (max-width: 1024px) {
	#row2 .inner {
		margin: 50px auto;
	}
}

@media only screen and (min-device-width: 767px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) {
	#row2 .inner {
		margin: 35px auto 0 auto;
	}
}

#row3 {
	background-color: #000;
}

#row3 .inner {
	width: 1480px;
}

@media (max-width: 1420px) {
	#row3 .inner {
		width: 95%;
	}
}

@media (max-width: 767px) {
	#row3 .inner {
		width: 100%;
	}
}

.titre {
	font-size: 34px;
	line-height: 38px;
	color: #000;
	font-weight: bold;
	margin: 0 0 20px 0;
	position: relative;
}

h1.titre,
h2.titre {
	margin-bottom: 60px;
}


h1.titre:after,
h2.titre:after {
	content: "";
	display: block;
	background-image: linear-gradient(to right, #9a5d48, #c3927f);
	margin: 20px auto;
	height: 3px;
	width: 70px;
	position: absolute;
	left: 0;
}

.sous-titre {
	font-size: 28px;
	line-height: 32px;
	color: #fff;
	font-weight: bold;
	margin: 0 0 20px 0;
}

.sous-titre:after {
	content: "";
	display: block;
	background-image: linear-gradient(to right, #9a5d48, #c3927f);
	margin: 20px auto;
	height: 3px;
	width: 70px;
}

.titre-projet {
	font-family: 'Gotham', sans-serif;
	font-size: 32px;
	line-height: 32px;
	text-transform: uppercase;
	margin: 35px 0;
}

.bloc-titre {
	width: 700px;
	margin: 0 auto;
	text-align: center;
}

@media (max-width: 767px) {
	.bloc-titre {
		width: 90%;
	}
}

.img-01,
.img-02 {
	position: relative;
	z-index: 10;
}

.img-01 {
	background: url(../img/img-right.jpg) no-repeat center top;
	width: 100%;
	min-height: 545px;
	height: 100%;
	background-size: cover;
}

@media (max-width: 767px) {
	.img-01 {
		height: 250px;
	}
}

.img-02 {
	background: url(../img/img-left.jpg) no-repeat center top;
	width: 100%;
	min-height: 545px;
	height: 100%;
	background-size: cover;
}

@media (max-width: 767px) {
	.img-02 {
		height: 250px;
	}
}

.btn {
	text-decoration: none !important;
	background: rgba(89, 189, 182, 0.7) !important;
}

.btn.btn-outline {
	color: #fff;
	border: 2px solid #59bdb6;
	background: transparent;
	-webkit-transition: background 0.2s ease-out, color 0.2s ease-out;
	-moz-transition: background 0.2s ease-out, color 0.2s ease-out;
	transition: background 0.2s ease-out, color 0.2s ease-out;
}

.btn {
	font-family: 'Gotham', sans-serif;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	background: #59bdb6;
	color: #FFF;
	padding: 13px 28px;
	display: inline-block;
	text-transform: uppercase;
	margin: 0px;
	line-height: normal;
	cursor: pointer;
}

.logo-wrapper {
	width: 200px;
	height: 160px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
}

.other-projects h2 {
	font-size: 2.142em;
	font-weight: 200;
	line-height: 1;
	padding: 1em;
	margin-bottom: 1em;
	position: relative;
	color: #919799;
}

.other-projects h2 strong {
	font-family: 'Gotham', sans-serif;
	font-size: .8em;
	font-weight: 600;
	line-height: 1;
}

.other-projects h2::after {
	right: 0;
	left: 0;
}

.other-projects h2::after {
	content: '';
	background-color: #919799;
	height: 1px;
	right: 20%;
	left: 20%;
	bottom: 0;
	display: block;
	position: absolute;
}

.other-projects {
	font-size: .75em;
	text-transform: uppercase;
	position: relative;
}

.other-projects::before {
	content: '';
	background-color: rgba(89, 189, 182, 0.7);
	width: 2px;
	bottom: 0;
	left: calc(50% - 1px);
	top: 0;
	display: block;
	position: absolute;
}

.other-projects h2::after {
	right: 0;
	left: 0;
}

.other-projects .projects:nth-child(1) {
	margin-left: -5vw;
	margin-right: 5vw;
}

.other-projects .projects:nth-child(2) {
	margin-right: -5vw;
	margin-left: 5vw;
}

.logo-wrapper {
	height: 200px;
}

@media (max-width: 767px) {
	.logo-wrapper {
		height: 160px;
	}
}

.logo--sted img,
.logo--shau img {
	width: 100px;
}

.logo--sqch img,
.logo--eswe img {
	width: 180px;
}

.sub-heading h3 {
	font-size: 26px;
	line-height: 36px;
	text-transform: uppercase;
	font-weight: 600;
	width: 95%;
	display: block;
	margin: 0 auto 25px auto;
}

.right-project .sub-heading h3 {
	width: 60%;
}

@media (max-width: 767px) {
	.right-project .sub-heading h3 {
		width: 95%;
	}
}

.bloc-titre {
	width: 700px;
	margin: 0 auto;
	text-align: center;
}

@media (max-width: 767px) {
	.bloc-titre {
		width: 90%;
	}
}

.logo-projet {
	margin: 15px auto 45px auto;
	max-width: 290px;
	display: block;
}

@media (max-width: 767px) {
	.logo-projet {
		margin: 45px auto 25px auto;
		max-width: 200px;
	}
}

.title-01 {
	margin: 50px 0 0 0;
	color: #000;
}

.titre-projet {
	font-size: 20px;
	line-height: 22px;
	font-weight: 600;
	background: #fff;
	color: #000;
	margin: 15px auto 0 auto;
	padding: 8px 0;
	text-align: center;
	max-width: 100%;
}

.projet-01 {
	background: url(../img/img-condos.jpg) no-repeat center top;
}

.projet-02 {
	background: url(../img/img-appartements.jpg) no-repeat center top;
}

.projet-01,
.projet-02 {
	display: block;
	width: 100%;
	height: 455px;
	background-size: cover;
	/*
	@include breakpoint("medium"){
		height:425px;
	}*/
}

@media only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) {
	.projet-01,
	.projet-02 {
		height: 300px;
	}
}

@media (max-width: 1024px) {
	.projet-01,
	.projet-02 {
		height: 350px;
	}
}

ul.projets {
	margin: 50px auto 0 auto;
	display: block;
	overflow: hidden;
	width: 100%;
}

@media (max-width: 767px) {
	ul.projets {
		margin: 0;
	}
}

ul.projets li > .logo-project {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 150px;
    margin-bottom: 35px;
}
ul.projets li > .logo-project > img {
    margin: 0;
}

.projets li {
	width: 50%;
	float: left;
	text-align: center;
	padding: 0 20px;
	margin: 0px auto;
	/* @media (min-width: $mobile) and (max-width: $tablet) {@content;}*/
}

@media (max-width: 1280px) {
	.projets li {
		width: 50%;
	}
}

@media only screen and (min-device-width: 767px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) {
	.projets li {
		width: 95%;
		margin: 50px 20px;
	}
}

@media only screen and (min-device-width: 1024px) and (max-device-width: 1366px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 1) {
	.projets li {
		width: 45%;
		margin: 0 20px 50px 20px;
	}
}

@media (max-width: 767px) {
	.projets li {
		width: 100%;
		margin: 25px 0px;
	}
}

#row-question {
	margin: 125px auto 75px auto;
	text-align: center;
	clear: both;
}

#row-question h2 {
	font-size: 36px;
	line-height: 40px;
}

.btn-01 {
	background-color: #9c604b;
	background-image: linear-gradient(to right, #9a5d48, #c3927f);
	/*border: 1px solid $blanc;*/
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.6;
	padding: 0px 60px;
	color: #fff;
	text-decoration: none;
	display: inline-block;
	margin: 20px 0 0 0;
	-webkit-transition: 0.6s;
	-moz-transition: 0.6s;
	-ms-transition: 0.6s;
	-o-transition: 0.6s;
	transition: 0.6s;
}

@media (max-width: 767px) {
	.btn-01 {
		font-size: 1.5rem;
		width: 80%;
	}
}

.btn-01:hover {
	background: #fff;
	color: #9c604b;
	/*border: 1px solid $rose;*/
}

/**************************
  FOOTER
***************************/

/**************************
  FOOTER
***************************/

#footer .inner {
	width: 90%;
}

@media (max-width: 767px) {
	.row-logos .col_1_4 {
		margin: 20px 0;
		width: 50%;
	}
}

.row-logos {
	padding: 25px 0;
	border-top: rgba(84, 8, 54, 0.2) 1px solid;
	align-items: center;
	justify-content: center;
}

.footer_logo {
	transition: all 6s ease-out;
	display: flex;
	align-items: center;
	justify-content: center;
}

.footer_logo img {
	display: block;
	max-width: 220px;
}

.footer_logo img:hover {
	transition: all 240ms ease-out;
	transform: translateY(-5px);
}

@media (max-width: 1420px) {
	.footer_logo img {
		max-width: 170px;
	}
}

@media (max-width: 1280px) {
	.footer_logo img {
		max-width: 150px;
	}
}

@media (max-width: 1024px) {
	.footer_logo img {
		max-width: 130px;
	}
}

.footer_logo2 img {
	display: block;
	max-width: 195px;
}

.footer_logo_partner {
	transition: all 240ms ease-out;
	display: flex;
	align-items: center;
	justify-content: center;
}

.footer_logo_partner img {
	display: block;
	max-width: 160px;
}

.footer_logo_partner img:hover {
	transition: all 240ms ease-out;
	transform: translateY(-5px);
}

@media (max-width: 1420px) {
	.footer_logo_partner img {
		max-width: 110px;
	}
}

@media (max-width: 1280px) {
	.footer_logo_partner img {
		max-width: 80px;
	}
}

@media (max-width: 767px) {
	.footer_logo_partner img {
		max-width: 110px;
	}
}

#footer {
	background: #000;
	color: #fff;
	position: relative;
	overflow: hidden;
}

#footer .inner {
	overflow: hidden;
	margin: 0 auto;
	padding: 35px 0;
}

#footer p {
	font-size: 18px;
	line-height: 20px;
	font-weight: 300;
	margin: 5px 0;
}

@media (max-width: 767px) {
	#footer .col_2_3,
	#footer .col_1_3 {
		width: 100%;
		margin: 15px 0;
		text-align: center;
	}
}

.email {
	text-align: right;
}

@media (max-width: 767px) {
	.email {
		text-align: center;
	}
}

.email a {
	color: #fff;
	font-size: 24px;
	margin-bottom: 0;
	font-weight: 300;
	text-decoration: none;
	text-align: right;
}

@keyframes fadeEffect {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXMiOlsic3R5bGVzLnNjc3MiLCJfbWl4aW5zLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiXG5AaW1wb3J0ICdtaXhpbnMnO1xuLy9AaW1wb3J0ICdmbGV4Ym94LWdyaWQtbWl4aW5zJztcblxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBWQVJJQUJMRVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4kbm9pciA6ICMwMDA7XG4kYmxhbmMgOiAjZmZmO1xuJHJvc2UgOiAjYmY3M2FhO1xuXG4kb25lOiAxLzYqMTAwJTtcbiRxdWFydDogMy8xMioxMDAlO1xuJG9uZV90aGlyZDogNC8xMioxMDAlO1xuJHR3b190aGlyZDogOC8xMioxMDAlO1xuJGhhbGY6Ni8xMioxMDAlO1xuXG5cbiosICo6YmVmb3JlLCAqOmFmdGVyIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cblxuaHRtbCwgYm9keXtcblx0Zm9udC1mYW1pbHk6ICdNdWxpJywgc2Fucy1zZXJpZjtcblx0Y29sb3I6JG5vaXI7XG59XG5cbnB7XG5cdG1hcmdpbjoyMHB4IDA7XG5cdGZvbnQtc2l6ZTogMThweDtcblx0bGluZS1oZWlnaHQ6MS41O1xufVxuXG5zdHJvbmd7XG5cdGZvbnQtd2VpZ2h0OjcwMDtcbn1cblxuLmNsZWFyYm90aHtcblx0Y2xlYXI6Ym90aDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jZW50ZXJ7XG5cdHRleHQtYWxpZ246Y2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi5yaWdodHtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cblxuLmNvbF9vbmV7XG5cdC8qZmxvYXQ6bGVmdDsqL1xuXHR3aWR0aDokb25lO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoXCJtb2JpbGVcIil7XG5cdFx0bWFyZ2luOjIwcHggMDtcblx0XHR3aWR0aDokaGFsZjtcblx0fVxufVxuXG5cblxuLmNvbF8xXzN7XG5cdC8qZmxvYXQ6bGVmdDsqL1xuXHR3aWR0aDokb25lX3RoaXJkO1xufVxuLmNvbF8yXzN7XG5cdC8qZmxvYXQ6bGVmdDsqL1xuXHR3aWR0aDokdHdvX3RoaXJkO1xufVxuXG4uY29sXzFfNHtcblx0LypmbG9hdDpsZWZ0OyovXG5cdHdpZHRoOiRxdWFydDtcbn1cblxuLmNvbF8xXzJ7XG5cdC8qZmxvYXQ6bGVmdDsqL1xuXHR3aWR0aDokaGFsZjtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KFwibW9iaWxlXCIpe1xuXHRcdHdpZHRoOjEwMCU7XG5cdFx0ZmxvYXQ6bm9uZTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZmxvdzogY29sdW1uO1xuXHR9XG59XG5cblxuXG5cbiNoZWFkZXJ7XG5cdHdpZHRoOjEwMCU7XG5cdGhlaWdodDoxMzBweDtcblx0YmFja2dyb3VuZC1jb2xvcjokbm9pcjtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cblx0cG9zaXRpb246Zml4ZWQ7XG5cdHRvcDowO1xuXHR6LWluZGV4OiAxMDAwO1xuXG5cdCYgLmNvbnRhaW5lcntcblx0XHR3aWR0aDo5MCU7XG5cdFx0bWFyZ2luOjAgYXV0bztcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdH1cblx0QGluY2x1ZGUgYnJlYWtwb2ludChcIm1vYmlsZVwiKXtcblx0XHRoZWlnaHQ6OTBweDtcblx0fVxuXG59XG5cblxuLmhlYWRlci1zdHlsZXtcblx0cGFkZGluZzoxNXB4IDAgMCAwO1xufVxuXG5cblxuXG5cblxuXG4jaW1nLXByb2pldHtcblxuXHRtYXJnaW4tdG9wOjEzMHB4O1xuXHRAaW5jbHVkZSBmbHVpZC1yYXRpbygxNjk5cHggOTU4cHgsIDMyMHB4IDE4MHB4KTtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9pbWctc3F1YXJlY2hpbGRyZW5zLmpwZyk7XG5cdC8qYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsqL1xuXHRib3JkZXItYm90dG9tOiA5cHggc29saWQgIzAwMDAwMDtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KFwidGFibGV0LXVwXCIpe1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0b3A6MTMwcHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTMwcHg7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KFwibW9iaWxlXCIpe1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0b3A6OTBweDtcblx0XHRtYXJnaW4tYm90dG9tOiAxMzBweDtcblx0fVxufVxuXG5cblxuXG5cblxuLnN0aWNreS1wcm9qZXR7XG5cdGFuaW1hdGlvbjogZmFkZUVmZmVjdCAyczsgLyogZmFkaW5nIGVmZmVjdCB0YWtlcyAzcyAqL1xufVxuLnN0aWNreS1wcm9qZXQucHJvamV0LXZlbmR1e1xuXHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXHR6LWluZGV4OjEwMDAwO1xufVxuXG5cblxuLnByb2pldC12ZW5kdXtcblx0QGluY2x1ZGUgdHJhbnNpdGlvbigwLjZzKTtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRkaXNwbGF5Om5vbmU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDotMTAwMDA7XG5cdHRvcDoyMHB4O1xuXHRib3JkZXItcmFkaXVzOjE1cHg7XG5cdHBhZGRpbmc6MTBweCAyMHB4O1xuXHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0YmFja2dyb3VuZDokcm9zZTtcblx0Y29sb3I6JGJsYW5jO1xuXG5cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KFwidGFibGV0XCIpe1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDowcHggIWltcG9ydGFudDtcblx0XHR0b3A6NDBweDtcblxuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChcInRhYmxldC11cFwiKXtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6MHB4ICFpbXBvcnRhbnQ7XG5cdFx0dG9wOjU1cHg7XG5cblx0fVxuXG5cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KFwibW9iaWxlXCIpe1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDowcHggIWltcG9ydGFudDtcblx0XHR0b3A6MjBweDtcblxuXHR9XG5cblxufVxuXG4ucHJvamV0LXZlbmR1IHB7XG5cdGZvbnQtc2l6ZTozNXB4O1xuXHRsaW5lLWhlaWdodDogMTAwJTtcblx0bWFyZ2luOjA7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChcIm1lZGl1bVwiKXtcblx0XHRmb250LXNpemU6MjVweDtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoXCJtb2JpbGVcIil7XG5cdFx0Zm9udC1zaXplOjEycHg7XG5cdH1cblxuXHQmIHN0cm9uZ3tcblx0XHRmb250LXdlaWdodDpib2xkO1xuXHR9XG5cbn1cblxuXG5cblxuXG5cbi5iYW5kZWF1LXZlbmR1e1xuXHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDBkZWcpO1xuXHQtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00MGRlZyk7XG5cdC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQwZGVnKTtcblx0LW1zLXRyYW5zZm9ybTogcm90YXRlKC00MGRlZyk7XG5cdC1vLXRyYW5zZm9ybTogcm90YXRlKC00MGRlZyk7XG5cblx0cG9zaXRpb246YWJzb2x1dGU7XG5cdHRvcDoyMDBweDtcblx0bGVmdDotMTI1cHg7XG5cdHotaW5kZXg6MDtcblx0d2lkdGg6NTc1cHg7XG5cdGhlaWdodDoxMjBweDtcblx0YmFja2dyb3VuZDokcm9zZTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoXCJ0YWJsZXQtdXBcIil7XG5cdFx0dG9wOjc1cHg7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KFwibW9iaWxlXCIpe1xuXHRcdHRvcDoyMHB4O1xuXHRcdGxlZnQ6LTc1cHg7XG5cdFx0d2lkdGg6MzQwcHg7XG5cdFx0aGVpZ2h0OjgwcHg7XG5cdH1cblxuXHQmIHB7XG5cdFx0Zm9udC1zaXplOjM0cHg7XG5cdFx0bGluZS1oZWlnaHQ6MzhweDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiRibGFuYztcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoXCJtb2JpbGVcIil7XG5cdFx0XHRmb250LXNpemU6MjJweDtcblx0XHRcdGxpbmUtaGVpZ2h0OjI0cHg7XG5cdFx0fVxuXHR9XG59XG5cblxuXG5cblxuXG4ubG9nby1ib3R0b20tdG8tdG9we1xuXHRhbmltYXRpb246IGFwcGVhci1ib3R0b20tdG8tdG9wIDJzIGZvcndhcmRzOyAgXG5cdC13ZWJraXQtYW5pbWF0aW9uOiBhcHBlYXItYm90dG9tLXRvLXRvcCAycyBmb3J3YXJkcztcblx0LW1vei1hbmltYXRpb246IGFwcGVhci1ib3R0b20tdG8tdG9wIDJzIGZvcndhcmRzO1xuXHQtbXMtYW5pbWF0aW9uOiBhcHBlYXItYm90dG9tLXRvLXRvcCAycyBmb3J3YXJkcztcblx0LW8tYW5pbWF0aW9uOiBhcHBlYXItYm90dG9tLXRvLXRvcCAycyBmb3J3YXJkcztcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRvcGFjaXR5OiAwO1xuXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChcIm1vYmlsZVwiKXtcblx0XHRhbmltYXRpb246IGFwcGVhci1ib3R0b20tdG8tdG9wLW1vYmlsZSAycyBmb3J3YXJkczsgIFxuXHRcdC13ZWJraXQtYW5pbWF0aW9uOiBhcHBlYXItYm90dG9tLXRvLXRvcC1tb2JpbGUgMnMgZm9yd2FyZHM7XG5cdFx0LW1vei1hbmltYXRpb246IGFwcGVhci1ib3R0b20tdG8tdG9wLW1vYmlsZSAycyBmb3J3YXJkcztcblx0XHQtbXMtYW5pbWF0aW9uOiBhcHBlYXItYm90dG9tLXRvLXRvcC1tb2JpbGUgMnMgZm9yd2FyZHM7XG5cdFx0LW8tYW5pbWF0aW9uOiBhcHBlYXItYm90dG9tLXRvLXRvcC1tb2JpbGUgMnMgZm9yd2FyZHM7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBhcHBlYXItYm90dG9tLXRvLXRvcCB7XG4gIDAlLFxuICAzMCUge1xuXHR0b3A6MTAwJTtcblx0b3BhY2l0eTogMDtcbiAgfVxuXHRcbiAgMTAwJXtcblx0dG9wOjQ1JTtcblx0b3BhY2l0eTogMTtcbiAgfVxufVxuXG5cbkBrZXlmcmFtZXMgYXBwZWFyLWJvdHRvbS10by10b3AtbW9iaWxlIHtcbiAgMCUsXG4gIDMwJSB7XG5cdHRvcDoxMDAlO1xuXHRvcGFjaXR5OiAwO1xuICB9XG5cdFxuICAxMDAle1xuXHR0b3A6MTI1cHg7XG5cdG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuXG5cblxuLypcblx0TE9HT1xuKi9cbiNsb2dve1xuXHRcblx0YmFja2dyb3VuZDp1cmwoLi4vaW1nL2xvZ28tc3F1YXJlY2hpbGRyZW5zLnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG5cdHdpZHRoOjM1MHB4O1xuXHRoZWlnaHQ6IDg0cHg7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOjVweDtcblx0Lyp2aXNpYmlsaXR5OmhpZGRlbjtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6MTAlICFpbXBvcnRhbnQ7XG5cdGJvdHRvbTogMzUlO1xuXHRsZWZ0OjMwJSAhaW1wb3J0YW50O1xuXHRyaWdodDozMCU7XG5cdHotaW5kZXg6OTk5OTk5OyAqL1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoXCJtb2JpbGVcIil7XG5cdFx0d2lkdGg6IDEyNXB4O1xuXHRcdC8qaGVpZ2h0OjYwcHg7Ki9cblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdFx0dG9wOi0xNXB4ICFpbXBvcnRhbnQ7XG5cdFx0bGVmdDowICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuXG4ubGFuZ3Vle1xuXG5cdGZvbnQtc2l6ZToxOHB4O1xuXHRsaW5lLWhlaWdodDogMjJweDtcblx0Y29sb3I6JGJsYW5jO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHQvKmZsb2F0OnJpZ2h0OyovXG5cdG1hcmdpbjo1MHB4IDBweCAwIDI1cHg7XG5cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KFwibWVkaXVtXCIpe1xuXHRcdG1hcmdpbjoyNXB4IDBweCAwIDE1cHg7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KFwidGFibGV0XCIpe1xuXHRcdGZsb2F0Om5vbmU7XG5cdFx0cG9zaXRpb246YWJzb2x1dGU7XG5cdFx0dG9wOi0zMHB4O1xuXHRcdHJpZ2h0OjA7XG5cdH1cblxufVxuXG5cblxuXG4vKlxuLmxhbmd1ZXtcblx0XG5cdGZvbnQtc2l6ZToxM3B4O1xuXHRsaW5lLWhlaWdodDogMTZweDtcblx0Y29sb3I6JHJvc2U7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0LypmbG9hdDpyaWdodDsqL1xuXHQvKm1hcmdpbjoxNXB4IDBweCAwIDE1cHg7XG5cdHBhZGRpbmc6N3B4O1xuXHRib3JkZXI6MXB4IHNvbGlkICRyb3NlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRvcDoyMHB4O1xuXG5cdCY6aG92ZXJ7XG5cdFx0Y29sb3I6JGJsYW5jO1xuXHR9XG5cdFxuXHRcblx0QGluY2x1ZGUgYnJlYWtwb2ludChcIm1lZGl1bVwiKXtcblx0XHRtYXJnaW46MjVweCAwcHggMCAxNXB4O1x0XHRcblx0fVxuXHRcblx0QGluY2x1ZGUgYnJlYWtwb2ludChcInRhYmxldFwiKXtcblx0XHRmbG9hdDpub25lO1xuXHRcdHBvc2l0aW9uOmFic29sdXRlO1xuXHRcdHRvcDotMzBweDtcblx0XHRyaWdodDowO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoXCJ0YWJsZXRcIil7XG5cdFx0dG9wOi0yNXB4O1xuXHR9XG59XG4qL1xuXG5cblxuXG4ubWVkaWFzLXNvY2lhdXh7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0LypmbG9hdDogbGVmdDsqL1xuXHRoZWlnaHQ6MzVweDtcblx0bWFyZ2luOjIwcHggMHB4IDAgMDtcblx0XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoXCJ0YWJsZXRcIil7XG5cdFx0ZmxvYXQ6cmlnaHQ7XG5cdH1cblx0XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoXCJtb2JpbGVcIil7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OjA7XG5cdFx0dG9wOjI1cHg7XG5cdH1cbn1cblxuXG5cblxuXG4ubWVkaWFzLXNvY2lhdXggYSB7XG5cdGhlaWdodDogMzBweDtcblx0d2lkdGg6IDMwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcblx0YmFja2dyb3VuZDokYmxhbmM7XG5cdGNvbG9yOiRyb3NlO1xuXHR0ZXh0LWRlY29yYXRpb246bm9uZTtcblx0bWFyZ2luOjAgMnB4O1xuXHRkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHQtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHQtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG5cdGZvbnQtc2l6ZToyMHB4O1xuXG5cdCY6aG92ZXJ7XG5cdFx0Y29sb3I6JGJsYW5jO1xuXHRcdGJhY2tncm91bmQ6JHJvc2U7XG5cdH1cblxufVxuXG4ucm93e1xuXHR3aWR0aDogMTAwJTtcblx0LypkaXNwbGF5OiBibG9jazsqL1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWZsb3c6cm93O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdC8qb3ZlcmZsb3c6IGhpZGRlbjsqL1xufVxuXG5cblxuXG4uaW5uZXJ7XG5cdHdpZHRoOjc1JTtcblx0bWFyZ2luOjEwMHB4IGF1dG87XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTA7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChcIm1vYmlsZVwiKXtcblx0XHRtYXJnaW46MjVweCBhdXRvO1xuXHR9XG59XG5cblxuI3JvdzEgLmlubmVye1xuXHRtYXJnaW46MTUwcHggYXV0byAxMDBweCBhdXRvO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoXCJpcGFkLXByb1wiKXtcblx0XHRtYXJnaW46MTAwcHggYXV0bztcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoXCJ0YWJsZXRcIil7XG5cdFx0bWFyZ2luOjc1cHggYXV0bztcblx0fVxuXHRAaW5jbHVkZSBicmVha3BvaW50KFwidGFibGV0LXVwXCIpe1xuXHRcdFx0IG1hcmdpbjozNXB4IGF1dG8gMCBhdXRvO1xuXHR9XG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoXCJtb2JpbGVcIil7XG5cdFx0bWFyZ2luOjUwcHggYXV0bztcblx0fVxufVxuXG5cbiNyb3cxLCAjcm93Mntcblx0QGluY2x1ZGUgYnJlYWtwb2ludChcIm1vYmlsZVwiKXtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZmxvdzogY29sdW1uO1xuXHR9XG59XG4jcm93MiAuY29sXzFfMjpudGgtb2YtdHlwZSgxKXtcblx0QGluY2x1ZGUgYnJlYWtwb2ludChcIm1vYmlsZVwiKXtcblx0XHRvcmRlcjoyO1xuXHR9XG59XG5cbiNyb3cyIC5jb2xfMV8yOm50aC1vZi10eXBlKDIpe1xuXHRAaW5jbHVkZSBicmVha3BvaW50KFwibW9iaWxlXCIpe1xuXHRcdG9yZGVyOjE7XG5cdH1cbn1cblxuXG4jcm93MiAuaW5uZXJ7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChcImlwYWQtcHJvXCIpe1xuXHRcdG1hcmdpbjo3NXB4IGF1dG87XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KFwidGFibGV0XCIpe1xuXHRcdG1hcmdpbjo1MHB4IGF1dG87XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KFwidGFibGV0LXVwXCIpe1xuXHRcdG1hcmdpbjozNXB4IGF1dG8gMCBhdXRvO1xuXHR9XG59XG5cblxuI3JvdzN7XG5cdGJhY2tncm91bmQtY29sb3I6JG5vaXI7XG5cblxuXHQmIC5pbm5lciB7XG5cblx0XHR3aWR0aDogMTQ4MHB4O1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChcImRlc2t0b3BcIikge1xuXHRcdFx0d2lkdGg6IDk1JTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KFwibW9iaWxlXCIpIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0fVxufVxuXG5cblxuXG4udGl0cmV7XG5cdGZvbnQtc2l6ZTozNHB4O1xuXHRsaW5lLWhlaWdodDogMzhweDtcblx0Y29sb3I6JG5vaXI7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRtYXJnaW46MCAwIDIwcHggMDtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5oMS50aXRyZSxcbmgyLnRpdHJlIHtcblx0bWFyZ2luLWJvdHRvbTogNTBweDtcblxuXHQmOmFmdGVyIHsgY29udGVudDogXCJcIjsgZGlzcGxheTogYmxvY2s7IGJhY2tncm91bmQtY29sb3I6JHJvc2U7IG1hcmdpbjogMjBweCBhdXRvOyBoZWlnaHQ6IDNweDsgd2lkdGg6IDcwcHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDowOyB9XG5cbn1cblxuXG5cblxuLnNvdXMtdGl0cmV7XG5cdGZvbnQtc2l6ZToyOHB4O1xuXHRsaW5lLWhlaWdodDogMzJweDtcblx0Y29sb3I6I2ZmZjtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdG1hcmdpbjowIDAgMjBweCAwO1xuXG5cdCY6YWZ0ZXIgeyBjb250ZW50OiBcIlwiOyBkaXNwbGF5OiBibG9jazsgYmFja2dyb3VuZC1jb2xvcjogJHJvc2U7IG1hcmdpbjogMjBweCBhdXRvOyBoZWlnaHQ6IDNweDsgd2lkdGg6IDcwcHg7ICB9XG5cbn1cblxuXG4udGl0cmUtcHJvamV0e1xuXHRmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuXHRmb250LXNpemU6IDMycHg7XG5cdGxpbmUtaGVpZ2h0OiAzMnB4O1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRtYXJnaW46MzVweCAwO1xufVxuXG5cblxuLmJsb2MtdGl0cmV7XG5cdHdpZHRoOjcwMHB4O1xuXHRtYXJnaW46MCBhdXRvO1xuXHR0ZXh0LWFsaWduOmNlbnRlcjtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoXCJtb2JpbGVcIil7XG5cdFx0XHR3aWR0aDo5MCU7XG5cdFx0fVxufVxuXG5cblxuXG5cbi5pbWctMDEsXG4uaW1nLTAye1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDEwO1xufVxuXG5cbi5pbWctMDF7XG5cdGJhY2tncm91bmQ6dXJsKC4uL2ltZy9pbWctc3F1YXJlY2hpbGRyZW5zLTAxLmpwZykgbm8tcmVwZWF0IGNlbnRlciB0b3A7XG5cdHdpZHRoOjEwMCU7XG5cdGhlaWdodDo1NDVweDtcblx0YmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KFwibW9iaWxlXCIpe1xuXHRcdGhlaWdodDoyNTBweDtcblx0fVxuXG59XG4uaW1nLTAye1xuXHRiYWNrZ3JvdW5kOnVybCguLi9pbWcvaW1nLXNxdWFyZWNoaWxkcmVucy0wMi5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgdG9wO1xuXHR3aWR0aDoxMDAlO1xuXHRoZWlnaHQ6NTQ1cHg7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChcIm1vYmlsZVwiKXtcblx0XHRoZWlnaHQ6MjUwcHg7XG5cdH1cblxufVxuXG5cblxuXG5cblxuXG5cblxuXG5cbi5idG4ge1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcblx0YmFja2dyb3VuZDogcmdiYSg4OSwgMTg5LCAxODIsIDAuNykgIWltcG9ydGFudDtcbn1cblxuLmJ0bi5idG4tb3V0bGluZSB7XG5cdGNvbG9yOiAjZmZmO1xuXHRib3JkZXI6IDJweCBzb2xpZCAjNTliZGI2O1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0LXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1vdXQsIGNvbG9yIDAuMnMgZWFzZS1vdXQ7XG5cdC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2Utb3V0LCBjb2xvciAwLjJzIGVhc2Utb3V0O1xuXHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1vdXQsIGNvbG9yIDAuMnMgZWFzZS1vdXQ7XG59XG5cbi5idG4ge1xuXHRmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuXHRmb250LXNpemU6IDEzcHg7XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0YmFja2dyb3VuZDogIzU5YmRiNjtcblx0Y29sb3I6ICNGRkY7XG5cdHBhZGRpbmc6IDEzcHggMjhweDtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRtYXJnaW46IDBweDtcblx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG5cblxuXG4ubG9nby13cmFwcGVyIHtcblx0d2lkdGg6IDIwMHB4O1xuXHRoZWlnaHQ6IDE2MHB4O1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0bWFyZ2luOiAwIGF1dG87XG59XG5cblxuLm90aGVyLXByb2plY3RzIGgyIHtcblx0Zm9udC1zaXplOiAyLjE0MmVtO1xuXHRmb250LXdlaWdodDogMjAwO1xuXHRsaW5lLWhlaWdodDogMTtcblx0cGFkZGluZzogMWVtO1xuXHRtYXJnaW4tYm90dG9tOiAxZW07XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Y29sb3I6IzkxOTc5OTtcbn1cbi5vdGhlci1wcm9qZWN0cyBoMiBzdHJvbmcge1xuXHRmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuXHRmb250LXNpemU6IC44ZW07XG5cdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdGxpbmUtaGVpZ2h0OiAxO1xufVxuLm90aGVyLXByb2plY3RzIGgyOjphZnRlciB7XG5cdHJpZ2h0OiAwO1xuXHRsZWZ0OiAwO1xufVxuXG4ub3RoZXItcHJvamVjdHMgaDI6OmFmdGVyIHtcblx0Y29udGVudDogJyc7XG5cdGJhY2tncm91bmQtY29sb3I6ICM5MTk3OTk7XG5cdGhlaWdodDogMXB4O1xuXHRyaWdodDogMjAlO1xuXHRsZWZ0OiAyMCU7XG5cdGJvdHRvbTogMDtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLm90aGVyLXByb2plY3RzIHtcblx0Zm9udC1zaXplOiAuNzVlbTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8vQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDoxMjgwcHgpIHtcblxuXHQub3RoZXItcHJvamVjdHM6OmJlZm9yZSB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSg4OSwgMTg5LCAxODIsIDAuNyk7XG5cdFx0d2lkdGg6IDJweDtcblx0XHRib3R0b206IDA7XG5cdFx0bGVmdDogY2FsYyg1MCUgLSAxcHgpO1xuXHRcdHRvcDogMDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdH1cblxuXHQub3RoZXItcHJvamVjdHMgaDI6OmFmdGVyIHtcblx0XHRyaWdodDogMDtcblx0XHRsZWZ0OiAwO1xuXHR9XG5cblx0Lm90aGVyLXByb2plY3RzIC5wcm9qZWN0czpudGgtY2hpbGQoMSkge1xuXHRcdG1hcmdpbi1sZWZ0OiAtNXZ3O1xuXHRcdG1hcmdpbi1yaWdodDogNXZ3O1xuXHR9XG5cblx0Lm90aGVyLXByb2plY3RzIC5wcm9qZWN0czpudGgtY2hpbGQoMikge1xuXHRcdG1hcmdpbi1yaWdodDogLTV2dztcblx0XHRtYXJnaW4tbGVmdDogNXZ3O1xuXHR9XG5cblx0LmxvZ28td3JhcHBlciB7XG5cdFx0aGVpZ2h0OiAyMDBweDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoXCJtb2JpbGVcIil7XG5cdFx0XHRoZWlnaHQ6IDE2MHB4O1xuXHRcdH1cblxuXHR9XG4vL31cblxuXG4ubG9nby0tc3RlZCBpbWcsXG4ubG9nby0tc2hhdSBpbWcge1xuXHR3aWR0aDogMTAwcHg7XG59XG5cbi5sb2dvLS1zcWNoIGltZyxcbi5sb2dvLS1lc3dlIGltZyB7XG5cdHdpZHRoOiAxODBweDtcbn1cblxuXG5cblxuXG5cblxuXG5cblxuXG4uc3ViLWhlYWRpbmcgaDN7XG5cdGZvbnQtc2l6ZToyNnB4O1xuXHRsaW5lLWhlaWdodDozNnB4O1xuXHR0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG5cdGZvbnQtd2VpZ2h0OjYwMDtcblx0d2lkdGg6OTUlO1xuXHRkaXNwbGF5OmJsb2NrO1xuXHRtYXJnaW46MCBhdXRvIDI1cHggYXV0bztcblxufVxuXG5cbi5yaWdodC1wcm9qZWN0IC5zdWItaGVhZGluZyBoM3tcblx0d2lkdGg6NjAlO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoXCJtb2JpbGVcIil7XG5cdFx0d2lkdGg6OTUlO1xuXHR9XG59XG5cblxuXG4uYmxvYy10aXRyZXtcblx0d2lkdGg6NzAwcHg7XG5cdG1hcmdpbjowIGF1dG87XG5cdHRleHQtYWxpZ246Y2VudGVyO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoXCJtb2JpbGVcIil7XG5cdFx0d2lkdGg6OTAlO1xuXHR9XG59XG5cblxuXG4ubG9nby1wcm9qZXR7XG5cdG1hcmdpbjoxNXB4IGF1dG8gNDVweCBhdXRvO1xuXHRtYXgtd2lkdGg6MjkwcHg7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoXCJtb2JpbGVcIil7XG5cdFx0bWFyZ2luOjQ1cHggYXV0byAyNXB4IGF1dG87XG5cdFx0bWF4LXdpZHRoOjIwMHB4O1xuXHR9XG59XG5cblxuLnRpdGxlLTAxe1xuXHRtYXJnaW46NTBweCAwIDAgMDtcblx0Y29sb3I6IzAwMDtcbn1cblxuXG4udGl0cmUtcHJvamV0e1xuXHRmb250LXNpemU6IDIwcHg7XG5cdGxpbmUtaGVpZ2h0OiAyMnB4O1xuXHRmb250LXdlaWdodDogNjAwO1xuXHRiYWNrZ3JvdW5kOiRibGFuYztcblx0Y29sb3I6JG5vaXI7XG5cdG1hcmdpbjoxNXB4IGF1dG8gMCBhdXRvO1xuXHRwYWRkaW5nOjhweCAwO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdG1heC13aWR0aDoxMDAlO1xufVxuXG4ucHJvamV0LTAxe1xuXHRiYWNrZ3JvdW5kOnVybCguLi9pbWcvaW1nLXByb2pldC1tYWVzdHJpYS1jb25kb21pbml1bXMuanBnKSBuby1yZXBlYXQgY2VudGVyIHRvcDtcbn1cblxuLnByb2pldC0wMntcblx0YmFja2dyb3VuZDp1cmwoLi4vaW1nL2ltZy1wcm9qZXQtYWxleGFuZGVyLWFwcGFydGVtZW50cy5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgdG9wO1xufVxuXG5cbi5wcm9qZXQtMDEsXG4ucHJvamV0LTAye1xuXG5cdGRpc3BsYXk6YmxvY2s7XG5cdHdpZHRoOjEwMCU7XG5cdGhlaWdodDo0NTVweDtcblx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbi8qXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoXCJtZWRpdW1cIil7XG5cdFx0aGVpZ2h0OjQyNXB4O1xuXHR9Ki9cblxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoXCJpcGFkLXByby11cFwiKXtcblx0XHRoZWlnaHQ6MzAwcHg7XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KFwidGFibGV0XCIpe1xuXHRcdGhlaWdodDozNTBweDtcblx0fVxuXG59XG5cblxuXG5cbnVsLnByb2pldHN7XG5cdG1hcmdpbjo1MHB4IGF1dG8gMCBhdXRvO1xuXHRkaXNwbGF5OiBibG9jaztcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0d2lkdGg6MTAwJTtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KFwibW9iaWxlXCIpe1xuXHRcdG1hcmdpbjowO1xuXHR9XG59XG5cbi5wcm9qZXRzIGxpe1xuXHR3aWR0aDo1MCU7XG5cdGZsb2F0OmxlZnQ7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogMCAyMHB4O1xuXHRtYXJnaW46MHB4IGF1dG87XG5cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KFwibWVkaXVtXCIpe1xuXHRcdHdpZHRoOjUwJTtcblxuXG5cdH1cblxuXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChcInRhYmxldC11cFwiKXtcblx0XHR3aWR0aDo5NSU7XG5cdFx0bWFyZ2luOjUwcHggMjBweDtcblx0fVxuXG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChcImlwYWQtcHJvLXVwXCIpe1xuXHRcdHdpZHRoOjQ1JTtcblx0XHRtYXJnaW46MCAyMHB4IDUwcHggMjBweDtcblxuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChcIm1vYmlsZVwiKXtcblx0XHR3aWR0aDoxMDAlO1xuXHRcdG1hcmdpbjoyNXB4IDBweDtcblxuXHR9XG59XG5cblxuI3Jvdy1xdWVzdGlvbntcblxuXHRtYXJnaW46MTI1cHggYXV0byA3NXB4IGF1dG87XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y2xlYXI6Ym90aDtcbn1cblxuXG5cblxuLmJ0bi0wMXtcblxuXHRiYWNrZ3JvdW5kLWNvbG9yOiRyb3NlO1xuXHQvKmJvcmRlcjogMXB4IHNvbGlkICRibGFuYzsqL1xuXHRmb250LXNpemU6IDJyZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjY7XG5cdHBhZGRpbmc6MTBweCAyMHB4O1xuXHRjb2xvcjokYmxhbmM7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0bWFyZ2luOjI1cHggMCAwIDA7XG5cdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHRtYXJnaW46MjBweCAwIDAgMDtcblxuXHRAaW5jbHVkZSB0cmFuc2l0aW9uKDAuNnMpO1xuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoXCJtb2JpbGVcIil7XG5cdFx0Zm9udC1zaXplOiAxLjVyZW07XG5cdFx0d2lkdGg6IDgwJTtcblx0fVxuXG5cdCY6aG92ZXJ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjokYmxhbmM7XG5cdFx0Y29sb3I6JHJvc2U7XG5cdFx0Lypib3JkZXI6IDFweCBzb2xpZCAkcm9zZTsqL1xuXHR9XG5cbn1cblxuXG5cblxuXG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIEZPT1RFUlxuKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKlxuICBGT09URVJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuI2Zvb3RlciAuaW5uZXJ7XG5cdHdpZHRoOjkwJTtcbn1cblxuXG4ucm93LWxvZ29zIC5jb2xfMV80IHtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KFwibW9iaWxlXCIpe1xuXHRcdG1hcmdpbjogMjBweCAwO1xuXHRcdHdpZHRoOiA1MCU7XG5cdH1cbn1cblxuLnJvdy1sb2dvc3tcblx0cGFkZGluZzogMjVweCAwO1xuXHRib3JkZXItdG9wOnJnYmEoODQsIDgsIDU0LCAwLjIpIDFweCBzb2xpZDtcblxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuXG4uZm9vdGVyX2xvZ297XG5cdHRyYW5zaXRpb246IGFsbCA2cyBlYXNlLW91dDtcblxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXHQmIGltZ3tcblxuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1heC13aWR0aDogMjIwcHg7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdHRyYW5zaXRpb246IGFsbCAyNDBtcyBlYXNlLW91dDtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KFwiZGVza3RvcFwiKXtcblx0XHRcdG1heC13aWR0aDogMTcwcHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChcIm1lZGl1bVwiKXtcblx0XHRcdG1heC13aWR0aDogMTUwcHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChcInRhYmxldFwiKXtcblx0XHRcdG1heC13aWR0aDogMTMwcHg7XG5cdFx0fVxuXHR9XG5cblxufVxuXG4uZm9vdGVyX2xvZ28yIGltZ3tcblxuXHRkaXNwbGF5OiBibG9jaztcblx0bWF4LXdpZHRoOiAxOTVweDtcbn1cblxuXG5cblxuXG4uZm9vdGVyX2xvZ29fcGFydG5lcntcblx0dHJhbnNpdGlvbjogYWxsIDI0MG1zIGVhc2Utb3V0O1xuXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG5cdCYgaW1ne1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1heC13aWR0aDogMTYwcHg7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdHRyYW5zaXRpb246IGFsbCAyNDBtcyBlYXNlLW91dDtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KFwiZGVza3RvcFwiKXtcblx0XHRcdG1heC13aWR0aDogMTEwcHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChcIm1lZGl1bVwiKXtcblx0XHRcdG1heC13aWR0aDogODBweDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChcIm1vYmlsZVwiKXtcblx0XHRcdG1heC13aWR0aDogMTEwcHg7XG5cdFx0fVxuXG5cdH1cblxufVxuXG5cbiNmb290ZXJ7XG5cdGJhY2tncm91bmQ6JG5vaXI7XG5cdGNvbG9yOiRibGFuYztcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdG92ZXJmbG93OmhpZGRlbjtcblxuXHQmIC5pbm5lcntcblxuXHRcdG92ZXJmbG93OmhpZGRlbjtcblx0XHRtYXJnaW46MCBhdXRvO1xuXHRcdHBhZGRpbmc6MzVweCAwO1xuXHR9XG5cblx0JiBwIHtcblxuXHRcdGZvbnQtc2l6ZToxNHB4O1xuXHRcdGxpbmUtaGVpZ2h0OjE2cHg7XG5cdFx0bWFyZ2luOjVweCAwO1xuXG5cblx0fVxuXG5cblx0LmNvbF8yXzMsXG5cdC5jb2xfMV8ze1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChcIm1vYmlsZVwiKXtcblx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHRtYXJnaW46MTVweCAwO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdH1cblxuXHR9XG59XG5cbi5lbWFpbHtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludChcIm1vYmlsZVwiKXtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblxufVxuXG5cbi5lbWFpbCBhIHtcblx0Y29sb3I6ICRibGFuYztcblx0Zm9udC1zaXplOiAxOHB4O1xuXHRtYXJnaW4tYm90dG9tOiAwO1xuXHRmb250LXdlaWdodDo3MDA7XG5cdHRleHQtZGVjb3JhdGlvbjpub25lO1xuXHR0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuXG5cblxuQGtleWZyYW1lcyBmYWRlRWZmZWN0IHtcblx0ZnJvbSB7XG5cdFx0b3BhY2l0eTogMDsgfVxuXHR0byB7XG5cdFx0b3BhY2l0eTogMTsgfSB9XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTWl4aW5zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4kbW9iaWxlIDogNzY3cHg7XG4kdGFibGV0IDogMTAyNHB4O1xuJHNtYWxsIDogNjAwcHg7XG4kbWVkaXVtIDogMTI4MHB4O1xuJGRlc2t0b3AgOiAxNDIwcHg7XG4kbGFyZ2UyIDogMTYwMHB4O1xuJGxhcmdlIDogMTcwMHB4O1xuXG4kaXBhZHBybyA6IDEzNjZweDtcblxuQG1peGluIGJyZWFrcG9pbnQoJHBvaW50KVxue1xuXHRAaWYgJHBvaW50ID09IFwibW9iaWxlXCIge1xuXHRcdEBtZWRpYSAobWF4LXdpZHRoOiAkbW9iaWxlKSB7QGNvbnRlbnQ7fVxuXHR9XG5cblx0QGlmICRwb2ludCA9PSBcInRhYmxldFwiIHtcblx0XHRAbWVkaWEgKG1heC13aWR0aDogJHRhYmxldCkge0Bjb250ZW50O31cblx0fVxuXG5cdEBpZiAkcG9pbnQgPT0gXCJkZXNrdG9wXCIge1xuXHRcdEBtZWRpYSAobWF4LXdpZHRoOiAkZGVza3RvcCkge0Bjb250ZW50O31cblx0fVxuXG5cdEBpZiAkcG9pbnQgPT0gXCJzbWFsbFwiIHtcblx0XHRAbWVkaWEgKG1heC13aWR0aDogJHNtYWxsKSB7QGNvbnRlbnQ7fVxuXHR9XG5cblx0QGlmICRwb2ludCA9PSBcIm1lZGl1bVwiIHtcblx0XHRAbWVkaWEgKG1heC13aWR0aDogJG1lZGl1bSkge0Bjb250ZW50O30gXG5cdH1cblxuXHRAaWYgJHBvaW50ID09IFwiYmV0d2Vlbi10YWJsZXQtbWVkaXVtXCIge1xuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkdGFibGV0KSBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge0Bjb250ZW50O31cblx0fVxuXG5cdEBpZiAkcG9pbnQgPT0gXCJiZXR3ZWVuLXRhYmxldC1kZXNrdG9wXCIge1xuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkdGFibGV0KSBhbmQgKG1heC13aWR0aDogJGRlc2t0b3ApIHtAY29udGVudDt9XG5cdH1cblx0XG5cdEBpZiAkcG9pbnQgPT0gXCJiZXR3ZWVuLW1lZGl1bS1sYXJnZVwiIHtcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJG1lZGl1bSkgYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge0Bjb250ZW50O31cblx0fVxuXHRcblx0QGlmICRwb2ludCA9PSBcImJldHdlZW4tbWVkaXVtLWxhcmdlLTJcIiB7XG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICRtZWRpdW0pIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UyKSB7QGNvbnRlbnQ7fVxuXHR9XG5cdFxuXHRAaWYgJHBvaW50ID09IFwiYmV0d2Vlbi1tZWRpdW0tZGVza3RvcFwiIHtcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJG1lZGl1bSkgYW5kIChtYXgtd2lkdGg6ICRkZXNrdG9wKSB7QGNvbnRlbnQ7fVxuXHR9XG5cdFxuXHRAaWYgJHBvaW50ID09IFwiYmV0d2Vlbi1kZXNrdG9wLWxhcmdlXCIge1xuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkdGFibGV0KSBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7QGNvbnRlbnQ7fVxuXHR9XG5cdEBpZiAkcG9pbnQgPT0gXCJiZXR3ZWVuLXRhYmxldC1sYXJnZVwiIHtcblx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHRhYmxldCkgYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge0Bjb250ZW50O31cblx0fVxuXG5cdEBpZiAkcG9pbnQgPT0gXCJiZXR3ZWVuLW1vYmlsZS10YWJsZXRcIiB7XG5cdFx0QG1lZGlhIChtaW4td2lkdGg6ICRtb2JpbGUpIGFuZCAobWF4LXdpZHRoOiAkdGFibGV0KSB7QGNvbnRlbnQ7fVxuXHR9XG5cdFxuXHRAaWYgJHBvaW50ID09IFwiYmlnXCIge1xuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAxNzAxcHgpIHtAY29udGVudDt9XG5cdH1cblx0XG5cdEBpZiAkcG9pbnQgPT0gXCJ0YWJsZXQtdXBcIiB7XG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIFxuXHRcdCAgYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAkbW9iaWxlKSBcblx0XHQgIGFuZCAobWF4LWRldmljZS13aWR0aDogJHRhYmxldCkgXG5cdFx0ICBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkgXG5cdFx0ICBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMSkge0Bjb250ZW50O31cblx0XHQgIFxuXHRcdC8qIEBtZWRpYSAobWluLXdpZHRoOiAkbW9iaWxlKSBhbmQgKG1heC13aWR0aDogJHRhYmxldCkge0Bjb250ZW50O30qL1xuXHR9XG5cdFxuXHRcblx0QGlmICRwb2ludCA9PSBcInRhYmxldC1sYW5kc2NhcGVcIiB7XHRcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gXG5cdFx0ICBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6ICRtb2JpbGUpIFxuXHRcdCAgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiAkdGFibGV0KSBcblx0XHQgIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkgXG5cdFx0ICBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMSkge0Bjb250ZW50O31cblx0fVxuXG5cblxuICBAaWYgJHBvaW50ID09IFwiaXBhZC1wcm8tdXBcIiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuXG4gICAgYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAkdGFibGV0KVxuICAgIGFuZCAobWF4LWRldmljZS13aWR0aDogJGlwYWRwcm8pXG4gICAgYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpXG4gICAgYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEpIHtAY29udGVudDt9XG4gIH1cblxuICBAaWYgJHBvaW50ID09IFwiaXBhZC1wcm9cIiB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlblxuICBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6ICR0YWJsZXQpXG4gIGFuZCAobWF4LWRldmljZS13aWR0aDogJGlwYWRwcm8pXG4gIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSlcbiAgYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEpIHtAY29udGVudDt9XG59XG5cdFxuXHRcblx0XG5cdFxufVxuIFxuXG5cbkBtaXhpbiBrZXlmcmFtZXMoJGFuaW1hdGlvbi1uYW1lKSB7XG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JGFuaW1hdGlvbi1uYW1lfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgICBALW1vei1rZXlmcmFtZXMgI3skYW5pbWF0aW9uLW5hbWV9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfSAgXG4gICAgQC1tcy1rZXlmcmFtZXMgI3skYW5pbWF0aW9uLW5hbWV9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICAgIEAtby1rZXlmcmFtZXMgI3skYW5pbWF0aW9uLW5hbWV9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfSAgXG4gICAgQGtleWZyYW1lcyAjeyRhbmltYXRpb24tbmFtZX0ge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiByb3RhdGVJbigkY291bnQ6ICRjb3VudERlZmF1bHQsICRkdXJhdGlvbjogJGR1cmF0aW9uRGVmYXVsdCwgJGRlbGF5OiAkZGVsYXlEZWZhdWx0LCAkZnVuY3Rpb246ICRmdW5jdGlvbkRlZmF1bHQsICRmaWxsOiAkZmlsbERlZmF1bHQsICR2aXNpYmlsaXR5OiAkdmlzaWJpbGl0eURlZmF1bHQpIHtcbiAgQGluY2x1ZGUgYW5pbWF0aW9uLW5hbWUocm90YXRlSW4pO1xuICBAaW5jbHVkZSBjb3VudCgkY291bnQpO1xuICBAaW5jbHVkZSBkdXJhdGlvbigkZHVyYXRpb24pO1xuICBAaW5jbHVkZSBkZWxheSgkZGVsYXkpO1xuICBAaW5jbHVkZSBmdW5jdGlvbigkZnVuY3Rpb24pO1xuICBAaW5jbHVkZSBmaWxsLW1vZGUoJGZpbGwpO1xuICBAaW5jbHVkZSB2aXNpYmlsaXR5KCR2aXNpYmlsaXR5KTtcbn1cblxuXG5cbkBtaXhpbiBhbmltYXRpb24oJHN0cikge1xuICAtd2Via2l0LWFuaW1hdGlvbjogI3skc3RyfTtcbiAgLW1vei1hbmltYXRpb246ICN7JHN0cn07XG4gIC1tcy1hbmltYXRpb246ICN7JHN0cn07XG4gIC1vLWFuaW1hdGlvbjogI3skc3RyfTtcbiAgYW5pbWF0aW9uOiAjeyRzdHJ9OyAgICAgIFxufVxuXG5cblxuQG1peGluIHRyYW5zaXRpb24oJGFyZ3MuLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAkYXJncztcbiAgLW1vei10cmFuc2l0aW9uOiAkYXJncztcbiAgLW1zLXRyYW5zaXRpb246ICRhcmdzO1xuICAtby10cmFuc2l0aW9uOiAkYXJncztcbiAgdHJhbnNpdGlvbjogJGFyZ3M7XG59XG5cblxuXG5cbi8qIFRPIERFQlVHICovXG5cbkBtaXhpbiBib3JkZXIoJHNpemU6MXB4LCAkY29sb3I6ICNmMDApe1xuXHRib3JkZXI6JHNpemUgc29saWQgJGNvbG9yO1xufVxuXG5cblxuLyogQ2FsY3VsYXRlIGZsdWlkIHJhdGlvIGJhc2VkIG9uIHR3byBkaW1lbnNpb25zICh3aWR0aC9oZWlnaHQpICovXG5AbWl4aW4gZmx1aWQtcmF0aW8oJGxhcmdlLXNpemUsICRzbWFsbC1zaXplKSB7XG4gICR3aWR0aC1sYXJnZTogbnRoKCRsYXJnZS1zaXplLCAxKTtcbiAgJHdpZHRoLXNtYWxsOiBudGgoJHNtYWxsLXNpemUsIDEpO1xuICAkaGVpZ2h0LWxhcmdlOiBudGgoJGxhcmdlLXNpemUsIDIpO1xuICAkaGVpZ2h0LXNtYWxsOiBudGgoJHNtYWxsLXNpemUsIDIpO1xuICAkc2xvcGU6ICgkaGVpZ2h0LWxhcmdlIC0gJGhlaWdodC1zbWFsbCkgLyAoJHdpZHRoLWxhcmdlIC0gJHdpZHRoLXNtYWxsKTtcbiAgJGhlaWdodDogJGhlaWdodC1zbWFsbCAtICR3aWR0aC1zbWFsbCAqICRzbG9wZTtcblxuICBwYWRkaW5nLXRvcDogJHNsb3BlICogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIC1tb3otYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgIC8qIEZpcmVmb3ggMy42ICovXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgIC8qIEludGVybmV0IEV4cGxvcmVyIDcvOCAqL1xufVxuXG5cbkBtaXhpbiBmaXhlZC1yYXRpbygkc2l6ZSkge1xuICAkd2lkdGg6ICBudGgoJHNpemUsIDEpO1xuICAkaGVpZ2h0OiBudGgoJHNpemUsIDIpO1xuICAkc2xvcGU6ICRoZWlnaHQgLyAkd2lkdGg7XG5cbiAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoJHNsb3BlKTtcblxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAtbW96LWJhY2tncm91bmQtc2l6ZTogY292ZXI7ICAvKiBGaXJlZm94IDMuNiAqL1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7ICAvKiBJbnRlcm5ldCBFeHBsb3JlciA3LzggKi9cbn1cblxuXG4gXG5cblxuQG1peGluIGNlbnRlcmVyKCRob3Jpem9udGFsOiB0cnVlLCAkdmVydGljYWw6IHRydWUpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBAaWYgKCRob3Jpem9udGFsIGFuZCAkdmVydGljYWwpIHtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdFxuICB9IEBlbHNlIGlmICgkaG9yaXpvbnRhbCkge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgfSBAZWxzZSBpZiAoJHZlcnRpY2FsKSB7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIH1cbn1cblxuQG1peGluIHJvdygpIHtcbiAgZm9udC1zaXplOiAwO1xufVxuXG5AbWl4aW4gY29sKCRjb2wsICRzdW0sICRnYXA6IDFlbSwgJGFsaWduOiB0b3AsICRmaXJzdDogZmFsc2UsICRsYXN0OiBmYWxzZSkge1xuICB3aWR0aDogcGVyY2VudGFnZSgkY29sLyRzdW0pO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZsb2F0OmxlZnQ7IFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiAkYWxpZ247XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmctbGVmdDogaWYoJGZpcnN0LCAwLCAkZ2FwKTtcbiAgcGFkZGluZy1yaWdodDogaWYoJGxhc3QsIDAsICRnYXApO1xuICBcblx0ICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG5cdFx0d2lkdGg6IHBlcmNlbnRhZ2UoJGNvbC8kc3VtKTtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogJGFsaWduO1xuXHQgIH1cblx0ICBcblx0ICAmLmZsdWlkIHsgd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbC8kc3VtKTsgfVxufVxuXG5cblxuXG5AbWl4aW4gaW1nLWFzcGVjdC1yYXRpbygkd2lkdGgsICRoZWlnaHQpIHtcblx0d2lkdGg6KCR3aWR0aCAvICRoZWlnaHQpICogMTAwJTtcbn1cblxuXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCR3aWR0aCwgJGhlaWdodCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIFxuICAmOmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogKCRoZWlnaHQgLyAkd2lkdGgpICogMTAwJTtcbiAgfVxuICA+IC5jb250ZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uKCRhcmdzLi4uKSB7XG5cdC13ZWJraXQtdHJhbnNpdGlvbjogJGFyZ3M7XG5cdC1tb3otdHJhbnNpdGlvbjogJGFyZ3M7XG5cdC1tcy10cmFuc2l0aW9uOiAkYXJncztcblx0LW8tdHJhbnNpdGlvbjogJGFyZ3M7XG5cdHRyYW5zaXRpb246ICRhcmdzO1xufVxuXG5cblxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQ0FBOztnRkFFZ0Y7QUFvS2hGLGNBQWM7QUFRZCxrRUFBa0U7QUR4S2xFOzs0QkFFNEI7QUFhNUIsQUFBQSxDQUFDLEVBQUUsQ0FBQyxBQUFBLE9BQU8sRUFBRSxDQUFDLEFBQUEsTUFBTSxDQUFDO0VBQ25CLGVBQWUsRUFBRSxVQUFVO0VBQzNCLGtCQUFrQixFQUFFLFVBQVU7RUFDOUIsVUFBVSxFQUFFLFVBQVUsR0FDdkI7O0FBR0QsQUFBQSxJQUFJLEVBQUUsSUFBSSxDQUFBO0VBQ1QsV0FBVyxFQUFFLGtCQUFrQjtFQUMvQixLQUFLLEVBcEJFLElBQUksR0FxQlg7O0FBRUQsQUFBQSxDQUFDLENBQUE7RUFDQSxNQUFNLEVBQUMsTUFBTTtFQUNiLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFDLEdBQUcsR0FDZjs7QUFFRCxBQUFBLE1BQU0sQ0FBQTtFQUNMLFdBQVcsRUFBQyxHQUFHLEdBQ2Y7O0FBRUQsQUFBQSxVQUFVLENBQUE7RUFDVCxLQUFLLEVBQUMsSUFBSTtFQUNWLE9BQU8sRUFBRSxLQUFLO0VBQ2QsUUFBUSxFQUFFLE1BQU0sR0FDaEI7O0FBRUQsQUFBQSxPQUFPLENBQUE7RUFDTixVQUFVLEVBQUMsaUJBQWlCLEdBQzVCOztBQUVELEFBQUEsTUFBTSxDQUFBO0VBQ0wsVUFBVSxFQUFFLEtBQUssR0FDakI7O0FBR0QsQUFBQSxRQUFRLENBQUE7RUFDUCxlQUFlO0VBQ2YsS0FBSyxFQTlDQSxTQUFRLEdBb0RiO0VDakRDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJRHlDMUIsQUFBQSxRQUFRLENBQUE7TUFLTixNQUFNLEVBQUMsTUFBTTtNQUNiLEtBQUssRUE5Q0QsR0FBUyxHQWdEZDs7QUFJRCxBQUFBLFFBQVEsQ0FBQTtFQUNQLGVBQWU7RUFDZixLQUFLLEVBeERNLFNBQVMsR0F5RHBCOztBQUNE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 */