/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 */

html {
	font-family: sans-serif; /* 1 */
	-ms-text-size-adjust: 100%; /* 2 */
	-webkit-text-size-adjust: 100%; /* 2 */
}

/**
 * Remove default margin.
 */

body {
	margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */

/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
	display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */

audio,
canvas,
progress,
video {
	display: inline-block; /* 1 */
	vertical-align: baseline; /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

audio:not([controls]) {
	display: none;
	height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */

[hidden],
template {
	display: none;
}

/* Links
   ========================================================================== */

/**
 * Remove the gray background color from active links in IE 10.
 */

a {
	background-color: transparent;
}

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */

a:active,
a:hover {
	outline: 0;
}

/* Text-level semantics
   ========================================================================== */

/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */

abbr[title] {
	border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */

b,
strong {
	font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */

dfn {
	font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */

h1 {
	font-size: 2em;
	margin: .67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */

mark {
	background: #ff0;
	color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */

small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */

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

sup {
	top: -.5em;
}

sub {
	bottom: -.25em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove border when inside `a` element in IE 8/9/10.
 */

img {
	border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */

svg:not(:root) {
	overflow: hidden;
}

/* Grouping content
   ========================================================================== */

/**
 * Address margin not present in IE 8/9 and Safari.
 */

figure {
	margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */

hr {
	box-sizing: content-box;
	height: 0;
}

/**
 * Contain overflow in all browsers.
 */

pre {
	overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */

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

/* Forms
   ========================================================================== */

/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */

/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */

button,
input,
optgroup,
select,
textarea {
	color: inherit; /* 1 */
	font: inherit; /* 2 */
	margin: 0; /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */

button {
	overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */

button,
select {
	text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button; /* 2 */
	cursor: pointer; /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */

button[disabled],
html input[disabled] {
	cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */

input {
	line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */

input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box; /* 1 */
	padding: 0; /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */

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

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */

input[type="search"] {
	-webkit-appearance: textfield; /* 1 */
	box-sizing: content-box; /* 2 */
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */

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

/**
 * Define consistent border, margin, and padding.
 */

fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: .35em .625em .75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */

legend {
	border: 0; /* 1 */
	padding: 0; /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */

textarea {
	overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */

optgroup {
	font-weight: bold;
}

/* Tables
   ========================================================================== */

/**
 * Remove most spacing between table cells.
 */

table {
	border-collapse: collapse;
	border-spacing: 0;
}

td,
th {
	padding: 0;
}

/* Generated by Font Squirrel (http://www.fontsquirrel.com) on September 3, 2015 */

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

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

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

#nav,
.frame blockquote,
.nav {
	margin: 0;
	padding: 0;
	list-style: none;
}

.clearfix:after,
.holder:after {
	content: "";
	display: block;
	clear: both;
}

.ellipsis {
	white-space: nowrap; /* 1 */
	text-overflow: ellipsis; /* 2 */
	overflow: hidden;
}

html {
	box-sizing: border-box;
}

*,
*:before,
*:after {
	box-sizing: inherit;
}

* {
	max-height: 1000000px;
}

body {
	color: #000;
	background: #000;
	font: 14px/1.53 "gotham", "Arial", "Helvetica", sans-serif;
	min-width: 1006px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: none;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
}

.gm-style img {
	max-width: none;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6,
.h {
	font-family: inherit;
	font-weight: bold;
	margin: 0 0 .5em;
	color: inherit;
}

h1,
.h1 {
	font-size: 62px;
}

h2,
.h2 {
	font-size: 37px;
}

h3,
.h3 {
	font-size: 24px;
}

h4,
.h4 {
	font-size: 21px;
}

h5,
.h5 {
	font-size: 17px;
}

h6,
.h6 {
	font-size: 15px;
}

p {
	margin: 0 0 1em;
}

a {
	color: #23a6a8;
	text-decoration: none;
}

a:hover,
a:focus,
a:active {
	color: #1a7c7e;
}

q:after,
q:before {
	display: none;
}

form,
fieldset {
	margin: 0;
	padding: 0;
	border-style: none;
}

input[type="text"],
input[type="tel"],
input[type="email"],
input[type="search"],
input[type="password"],
textarea {
	-webkit-appearance: none;
	-webkit-border-radius: 0;
	border: 1px solid #999;
	padding: .4em .7em;
}

input[type="text"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
input[type="search"]:focus,
input[type="password"]:focus,
textarea:focus {
	border-color: #000;
}

input[type="text"]::-webkit-input-placeholder,
input[type="tel"]::-webkit-input-placeholder,
input[type="email"]::-webkit-input-placeholder,
input[type="search"]::-webkit-input-placeholder,
input[type="password"]::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
	color: #999;
}

input[type="text"]::-moz-placeholder,
input[type="tel"]::-moz-placeholder,
input[type="email"]::-moz-placeholder,
input[type="search"]::-moz-placeholder,
input[type="password"]::-moz-placeholder,
textarea::-moz-placeholder {
	opacity: 1;
	color: #999;
}

input[type="text"]:-moz-placeholder,
input[type="tel"]:-moz-placeholder,
input[type="email"]:-moz-placeholder,
input[type="search"]:-moz-placeholder,
input[type="password"]:-moz-placeholder,
textarea:-moz-placeholder {
	color: #999;
}

input[type="text"]:-ms-input-placeholder,
input[type="tel"]:-ms-input-placeholder,
input[type="email"]:-ms-input-placeholder,
input[type="search"]:-ms-input-placeholder,
input[type="password"]:-ms-input-placeholder,
textarea:-ms-input-placeholder {
	color: #999;
}

input[type="text"].placeholder,
input[type="tel"].placeholder,
input[type="email"].placeholder,
input[type="search"].placeholder,
input[type="password"].placeholder,
textarea.placeholder {
	color: #999;
}

select {
	-webkit-border-radius: 0;
}

textarea {
	resize: vertical;
	vertical-align: top;
}

button,
input[type="button"],
input[type="reset"],
input[type="file"],
input[type="submit"] {
	-webkit-appearance: none;
	-webkit-border-radius: 0;
	cursor: pointer;
}

html {
	background: #000;
}

#wrapper {
	overflow: hidden;
}

.holder {
	width: 1006px;
	margin: 0 auto;
	padding: 0 25px;
}

#header {
	background: #23a6a8;
	padding: 18px 0;
	border-bottom: 8px solid #fff;
	box-shadow: 0 5px 5px rgba(0, 0, 0, .8);
	position: relative;
	z-index: 5;
}

#header .holder {
	position: relative;
	width: 920px;
}

.logo {
	position: absolute;
	top: 100%;
	left: 6px;
	margin: 51px 0 0;
	width: 530px;
	height: 283px;
	z-index: 100;
}

#nav {
	display: table;
	width: 100%;
	font: 400 14px/21px "gotham", "Arial", "Helvetica", sans-serif;
	text-transform: uppercase;
	text-align: center;
	letter-spacing: 1px;
}

#nav li {
	display: table-cell;
	padding: 0 22px;
}

#nav a {
	text-decoration: none;
	color: #000;
}

#nav a:hover,
#nav a:active {
	color: #fff;
}

#nav .active a {
	color: #fff;
}

#main {
	overflow: hidden;
	background: #fff;
}

.cycle-gallery {
	position: relative;
}

.cycle-gallery img {
	display: block;
	width: 100%;
}

.cycle-gallery .mask {
	position: relative;
	overflow: hidden;
	width: 100%;
}

.cycle-gallery .slideset {
	width: 99999px;
	float: left;
}

.cycle-gallery .slide {
	width: 100%;
	float: left;
}

.cycle-gallery .slide.active {
	z-index: 1;
}

.block {
	font: 600 13px/20px "gotham", "Arial", "Helvetica", sans-serif;
	padding: 29px 0 14px;
}

.block h1 {
	color: #23a6a8;
	text-transform: uppercase;
	font-family: "Karma", "Georgia", serif;
	font-weight: normal;
	letter-spacing: -2px;
	line-height: 55px;
	margin: 0 0 3px;
}

.block p {
	margin: 0 0 45px;
}

.section {
	background: #000;
	color: #fff;
	padding: 15px 0 150px;
}

.section h1 {
	font: 37px/42px "Share Tech Mono", "Georgia", serif;
	text-transform: uppercase;
	letter-spacing: -3px;
	margin: 0;
}

.frame {
	overflow: hidden;
	font: 600 12px/17px "gotham", "Arial", "Helvetica", sans-serif;
}

.frame .alignleft {
	float: left;
	margin: 7px 26px 0 11px;
}

.frame .text-frame {
	overflow: hidden;
	padding: 0 100px 0 0;
}

.frame blockquote {
	overflow: hidden;
	padding: 11px 0 43px;
}

.frame cite {
	display: inline-block;
	margin-left: 15px;
	text-transform: uppercase;
	text-decoration: none;
	font-weight: normal;
	font-style: normal;
	font-size: 19px;
}

.frame cite a {
	text-decoration: none;
}

.frame cite a:hover {
	color: #fff;
}

.quote {
	float: left;
	display: inline-block;
	vertical-align: top;
	width: 52px;
	height: 42px;
	background: url(../images/img-03.png) no-repeat;
	margin: -11px 6px 0 5px;
}

.quote-bottom {
	display: inline-block;
	vertical-align: top;
	width: 52px;
	height: 42px;
	background: url(../images/img-04.png) no-repeat;
}

#footer {
	background: #000;
	padding: 12px 0 43px;
	text-align: center;
	margin: -2px 0 0;
}

#footer .holder {
	width: 920px;
}

.nav {
	display: table;
	width: 100%;
	padding: 11px 0 9px;
}

.nav li {
	display: table-cell;
	font-size: 14px;
	text-transform: uppercase;
	padding: 0 22px;
}

.nav a {
	text-decoration: none;
	color: #fff;
}

.nav a:hover,
.nav a:active {
	color: #23a6a8;
}

.nav .active a {
	color: #23a6a8;
}

.by {
	text-transform: uppercase;
	color: #5b5b5b;
	font-size: 11px;
	text-align: center;
	display: inline-block;
	margin: 0 0 10px;
}

.by a {
	color: #5b5b5b;
	text-decoration: none;
}

.by a:hover {
	color: #fff;
}

.border {
	border: 2px solid rgba(0,0,0,1.00);
}

@media (min-width: 320px) and (max-width: 1199px) {
	.logo {
		width: 400px;
		left: 30px;
	}
}

@media only screen and (min-width: 1025px) {
	a[href^=tel],
	a[href^=skype],
	a[href^=sms] {
		cursor: default;
		pointer-events: none;
	}
}


/*# sourceMappingURL=data:application/json;base64,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IExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXHJcbiAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXHJcbiAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cclxuICovXHJcblxyXG5odG1sIHtcclxuXHRmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xyXG5cdC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXHJcblx0LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXHJcbiAqL1xyXG5cclxuYm9keSB7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cclxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcclxuICogYW5kIEZpcmVmb3guXHJcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXHJcbiAqL1xyXG5cclxuYXJ0aWNsZSxcclxuYXNpZGUsXHJcbmRldGFpbHMsXHJcbmZpZ2NhcHRpb24sXHJcbmZpZ3VyZSxcclxuZm9vdGVyLFxyXG5oZWFkZXIsXHJcbmhncm91cCxcclxubWFpbixcclxubWVudSxcclxubmF2LFxyXG5zZWN0aW9uLFxyXG5zdW1tYXJ5IHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXHJcbiAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cclxuICovXHJcblxyXG5hdWRpbyxcclxuY2FudmFzLFxyXG5wcm9ncmVzcyxcclxudmlkZW8ge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xyXG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cclxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cclxuICovXHJcblxyXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcblx0aGVpZ2h0OiAwO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxyXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXHJcbiAqL1xyXG5cclxuW2hpZGRlbl0sXHJcbnRlbXBsYXRlIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vKiBMaW5rc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxyXG4gKi9cclxuXHJcbmEge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4vKipcclxuICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxyXG4gKiBhY3RpdmUvaG92ZXIgc3RhdGUuXHJcbiAqL1xyXG5cclxuYTphY3RpdmUsXHJcbmE6aG92ZXIge1xyXG5cdG91dGxpbmU6IDA7XHJcbn1cclxuXHJcbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxyXG4gKi9cclxuXHJcbmFiYnJbdGl0bGVdIHtcclxuXHRib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxyXG4gKi9cclxuXHJcbmIsXHJcbnN0cm9uZyB7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXHJcbiAqL1xyXG5cclxuZGZuIHtcclxuXHRmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXHJcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cclxuICovXHJcblxyXG5oMSB7XHJcblx0Zm9udC1zaXplOiAyZW07XHJcblx0bWFyZ2luOiAwLjY3ZW0gMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXHJcbiAqL1xyXG5cclxubWFyayB7XHJcblx0YmFja2dyb3VuZDogI2ZmMDtcclxuXHRjb2xvcjogIzAwMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbnNtYWxsIHtcclxuXHRmb250LXNpemU6IDgwJTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5zdWIsXHJcbnN1cCB7XHJcblx0Zm9udC1zaXplOiA3NSU7XHJcblx0bGluZS1oZWlnaHQ6IDA7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxufVxyXG5cclxuc3VwIHtcclxuXHR0b3A6IC0wLjVlbTtcclxufVxyXG5cclxuc3ViIHtcclxuXHRib3R0b206IC0wLjI1ZW07XHJcbn1cclxuXHJcbi8qIEVtYmVkZGVkIGNvbnRlbnRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cclxuICovXHJcblxyXG5pbWcge1xyXG5cdGJvcmRlcjogMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxyXG4gKi9cclxuXHJcbnN2Zzpub3QoOnJvb3QpIHtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4vKiBHcm91cGluZyBjb250ZW50XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuZmlndXJlIHtcclxuXHRtYXJnaW46IDFlbSA0MHB4O1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbmhyIHtcclxuXHRib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuXHRoZWlnaHQ6IDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5wcmUge1xyXG5cdG92ZXJmbG93OiBhdXRvO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbmNvZGUsXHJcbmtiZCxcclxucHJlLFxyXG5zYW1wIHtcclxuXHRmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XHJcblx0Zm9udC1zaXplOiAxZW07XHJcbn1cclxuXHJcbi8qIEZvcm1zXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcclxuICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXHJcbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxyXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxyXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cclxuICovXHJcblxyXG5idXR0b24sXHJcbmlucHV0LFxyXG5vcHRncm91cCxcclxuc2VsZWN0LFxyXG50ZXh0YXJlYSB7XHJcblx0Y29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cclxuXHRmb250OiBpbmhlcml0OyAvKiAyICovXHJcblx0bWFyZ2luOiAwOyAvKiAzICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cclxuICovXHJcblxyXG5idXR0b24ge1xyXG5cdG92ZXJmbG93OiB2aXNpYmxlO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxyXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxyXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxyXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5zZWxlY3Qge1xyXG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcclxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXHJcbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cclxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcclxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxyXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXHJcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xyXG5cdC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXHJcblx0Y3Vyc29yOiBwb2ludGVyOyAvKiAzICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxyXG4gKi9cclxuXHJcbmJ1dHRvbltkaXNhYmxlZF0sXHJcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcclxuXHRjdXJzb3I6IGRlZmF1bHQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXHJcbiAqL1xyXG5cclxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxyXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XHJcblx0Ym9yZGVyOiAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXHJcbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxyXG4gKi9cclxuXHJcbmlucHV0IHtcclxuXHRsaW5lLWhlaWdodDogbm9ybWFsO1xyXG59XHJcblxyXG4vKipcclxuICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxyXG4gKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxyXG4gKlxyXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxyXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxyXG4gKi9cclxuXHJcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcclxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcclxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXHJcblx0cGFkZGluZzogMDsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cclxuICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcclxuICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxyXG4gKi9cclxuXHJcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXHJcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xyXG5cdGhlaWdodDogYXV0bztcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxyXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxyXG4gKi9cclxuXHJcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xyXG5cdC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXHJcblx0Ym94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxyXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXHJcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cclxuICovXHJcblxyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxyXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcclxuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXHJcbiAqL1xyXG5cclxuZmllbGRzZXQge1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XHJcblx0bWFyZ2luOiAwIDJweDtcclxuXHRwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXHJcbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cclxuICovXHJcblxyXG5sZWdlbmQge1xyXG5cdGJvcmRlcjogMDsgLyogMSAqL1xyXG5cdHBhZGRpbmc6IDA7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXHJcbiAqL1xyXG5cclxudGV4dGFyZWEge1xyXG5cdG92ZXJmbG93OiBhdXRvO1xyXG59XHJcblxyXG4vKipcclxuICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxyXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cclxuICovXHJcblxyXG5vcHRncm91cCB7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi8qIFRhYmxlc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cclxuICovXHJcblxyXG50YWJsZSB7XHJcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuXHRib3JkZXItc3BhY2luZzogMDtcclxufVxyXG5cclxudGQsXHJcbnRoIHtcclxuXHRwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4vKiBHZW5lcmF0ZWQgYnkgRm9udCBTcXVpcnJlbCAoaHR0cDovL3d3dy5mb250c3F1aXJyZWwuY29tKSBvbiBTZXB0ZW1iZXIgMywgMjAxNSAqL1xyXG5cclxuQGZvbnQtZmFjZSB7XHJcblx0Zm9udC1mYW1pbHk6ICdnb3RoYW0nO1xyXG5cdHNyYzogdXJsKFwiLi4vZm9udHMvZ290aGFtLW1lZGl1bS13ZWJmb250LmVvdFwiKTtcclxuXHRzcmM6IHVybChcIi4uL2ZvbnRzL2dvdGhhbS1tZWRpdW0td2ViZm9udC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9nb3RoYW0tbWVkaXVtLXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL2dvdGhhbS1tZWRpdW0td2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL2dvdGhhbS1tZWRpdW0td2ViZm9udC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2dvdGhhbS1tZWRpdW0td2ViZm9udC5zdmcjZ290aGFtX21lZGl1bXJlZ3VsYXJcIikgZm9ybWF0KFwic3ZnXCIpO1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuXHRmb250LWZhbWlseTogJ2dvdGhhbSc7XHJcblx0c3JjOiB1cmwoXCIuLi9mb250cy9nb3RoYW1fYm9sZC13ZWJmb250LmVvdFwiKTtcclxuXHRzcmM6IHVybChcIi4uL2ZvbnRzL2dvdGhhbV9ib2xkLXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvZ290aGFtX2JvbGQtd2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvZ290aGFtX2JvbGQtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL2dvdGhhbV9ib2xkLXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9nb3RoYW1fYm9sZC13ZWJmb250LnN2ZyNnb3RoYW1fYm9sZHJlZ3VsYXJcIikgZm9ybWF0KFwic3ZnXCIpO1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcblx0Zm9udC1mYW1pbHk6ICdnb3RoYW0nO1xyXG5cdHNyYzogdXJsKFwiLi4vZm9udHMvZ290aGFtX2xpZ2h0LXdlYmZvbnQuZW90XCIpO1xyXG5cdHNyYzogdXJsKFwiLi4vZm9udHMvZ290aGFtX2xpZ2h0LXdlYmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvZ290aGFtX2xpZ2h0LXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL2dvdGhhbV9saWdodC13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvZ290aGFtX2xpZ2h0LXdlYmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9nb3RoYW1fbGlnaHQtd2ViZm9udC5zdmcjZ290aGFtX3RoaW5yZWd1bGFyXCIpIGZvcm1hdChcInN2Z1wiKTtcclxuXHRmb250LXdlaWdodDogNDAwO1xyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5cclxuI25hdixcclxuLmZyYW1lIGJsb2NrcXVvdGUsXHJcbi5uYXYge1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGxpc3Qtc3R5bGU6IG5vbmU7XHJcbn1cclxuXHJcbi5jbGVhcmZpeDphZnRlcixcclxuLmhvbGRlcjphZnRlciB7XHJcblx0Y29udGVudDogJyc7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0Y2xlYXI6IGJvdGg7XHJcbn1cclxuXHJcbi5lbGxpcHNpcyB7XHJcblx0d2hpdGUtc3BhY2U6IG5vd3JhcDsgLyogMSAqL1xyXG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyAvKiAyICovXHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuaHRtbCB7XHJcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuKixcclxuKjpiZWZvcmUsXHJcbio6YWZ0ZXIge1xyXG5cdGJveC1zaXppbmc6IGluaGVyaXQ7XHJcbn1cclxuXHJcbioge1xyXG5cdG1heC1oZWlnaHQ6IDEwMDAwMDBweDtcclxufVxyXG5cclxuYm9keSB7XHJcblx0Y29sb3I6ICMwMDA7XHJcblx0YmFja2dyb3VuZDogIzAwMDtcclxuXHRmb250OiAxNHB4LzEuNTMgXCJnb3RoYW1cIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xyXG5cdG1pbi13aWR0aDogMTAwNnB4O1xyXG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcblx0LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xyXG5cdC1tcy10ZXh0LXNpemUtYWRqdXN0OiBub25lO1xyXG59XHJcblxyXG5pbWcge1xyXG5cdG1heC13aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IGF1dG87XHJcblx0dmVydGljYWwtYWxpZ246IHRvcDtcclxufVxyXG5cclxuLmdtLXN0eWxlIGltZyB7XHJcblx0bWF4LXdpZHRoOiBub25lO1xyXG59XHJcblxyXG5oMSxcclxuLmgxLFxyXG5oMixcclxuLmgyLFxyXG5oMyxcclxuLmgzLFxyXG5oNCxcclxuLmg0LFxyXG5oNSxcclxuLmg1LFxyXG5oNixcclxuLmg2LFxyXG4uaCB7XHJcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0bWFyZ2luOiAwIDAgMC41ZW07XHJcblx0Y29sb3I6IGluaGVyaXQ7XHJcbn1cclxuXHJcbmgxLFxyXG4uaDEge1xyXG5cdGZvbnQtc2l6ZTogNjJweDtcclxufVxyXG5cclxuaDIsXHJcbi5oMiB7XHJcblx0Zm9udC1zaXplOiAzN3B4O1xyXG59XHJcblxyXG5oMyxcclxuLmgzIHtcclxuXHRmb250LXNpemU6IDI0cHg7XHJcbn1cclxuXHJcbmg0LFxyXG4uaDQge1xyXG5cdGZvbnQtc2l6ZTogMjFweDtcclxufVxyXG5cclxuaDUsXHJcbi5oNSB7XHJcblx0Zm9udC1zaXplOiAxN3B4O1xyXG59XHJcblxyXG5oNixcclxuLmg2IHtcclxuXHRmb250LXNpemU6IDE1cHg7XHJcbn1cclxuXHJcbnAge1xyXG5cdG1hcmdpbjogMCAwIDFlbTtcclxufVxyXG5cclxuYSB7XHJcblx0Y29sb3I6ICMyM2E2YTg7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG5hOmhvdmVyLFxyXG5hOmZvY3VzLFxyXG5hOmFjdGl2ZSB7XHJcblx0Y29sb3I6ICMxYTdjN2U7XHJcbn1cclxuXHJcbnE6YWZ0ZXIsXHJcbnE6YmVmb3JlIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG5mb3JtLFxyXG5maWVsZHNldCB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0Ym9yZGVyLXN0eWxlOiBub25lO1xyXG59XHJcblxyXG5pbnB1dFt0eXBlPSd0ZXh0J10sXHJcbmlucHV0W3R5cGU9J3RlbCddLFxyXG5pbnB1dFt0eXBlPSdlbWFpbCddLFxyXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSxcclxuaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSxcclxudGV4dGFyZWEge1xyXG5cdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuXHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgIzk5OTtcclxuXHRwYWRkaW5nOiAwLjRlbSAwLjdlbTtcclxufVxyXG5cclxuaW5wdXRbdHlwZT0ndGV4dCddOmZvY3VzLFxyXG5pbnB1dFt0eXBlPSd0ZWwnXTpmb2N1cyxcclxuaW5wdXRbdHlwZT0nZW1haWwnXTpmb2N1cyxcclxuaW5wdXRbdHlwZT0nc2VhcmNoJ106Zm9jdXMsXHJcbmlucHV0W3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsXHJcbnRleHRhcmVhOmZvY3VzIHtcclxuXHRib3JkZXItY29sb3I6ICMwMDA7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9J3RleHQnXTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcclxuaW5wdXRbdHlwZT0ndGVsJ106Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXHJcbmlucHV0W3R5cGU9J2VtYWlsJ106Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXHJcbmlucHV0W3R5cGU9J3NlYXJjaCddOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxyXG5pbnB1dFt0eXBlPSdwYXNzd29yZCddOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxyXG50ZXh0YXJlYTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XHJcblx0Y29sb3I6ICM5OTk7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9J3RleHQnXTo6LW1vei1wbGFjZWhvbGRlcixcclxuaW5wdXRbdHlwZT0ndGVsJ106Oi1tb3otcGxhY2Vob2xkZXIsXHJcbmlucHV0W3R5cGU9J2VtYWlsJ106Oi1tb3otcGxhY2Vob2xkZXIsXHJcbmlucHV0W3R5cGU9J3NlYXJjaCddOjotbW96LXBsYWNlaG9sZGVyLFxyXG5pbnB1dFt0eXBlPSdwYXNzd29yZCddOjotbW96LXBsYWNlaG9sZGVyLFxyXG50ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciB7XHJcblx0b3BhY2l0eTogMTtcclxuXHRjb2xvcjogIzk5OTtcclxufVxyXG5cclxuaW5wdXRbdHlwZT0ndGV4dCddOi1tb3otcGxhY2Vob2xkZXIsXHJcbmlucHV0W3R5cGU9J3RlbCddOi1tb3otcGxhY2Vob2xkZXIsXHJcbmlucHV0W3R5cGU9J2VtYWlsJ106LW1vei1wbGFjZWhvbGRlcixcclxuaW5wdXRbdHlwZT0nc2VhcmNoJ106LW1vei1wbGFjZWhvbGRlcixcclxuaW5wdXRbdHlwZT0ncGFzc3dvcmQnXTotbW96LXBsYWNlaG9sZGVyLFxyXG50ZXh0YXJlYTotbW96LXBsYWNlaG9sZGVyIHtcclxuXHRjb2xvcjogIzk5OTtcclxufVxyXG5cclxuaW5wdXRbdHlwZT0ndGV4dCddOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcclxuaW5wdXRbdHlwZT0ndGVsJ106LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxyXG5pbnB1dFt0eXBlPSdlbWFpbCddOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcclxuaW5wdXRbdHlwZT0nc2VhcmNoJ106LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxyXG5pbnB1dFt0eXBlPSdwYXNzd29yZCddOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcclxudGV4dGFyZWE6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcclxuXHRjb2xvcjogIzk5OTtcclxufVxyXG5cclxuaW5wdXRbdHlwZT0ndGV4dCddLnBsYWNlaG9sZGVyLFxyXG5pbnB1dFt0eXBlPSd0ZWwnXS5wbGFjZWhvbGRlcixcclxuaW5wdXRbdHlwZT0nZW1haWwnXS5wbGFjZWhvbGRlcixcclxuaW5wdXRbdHlwZT0nc2VhcmNoJ10ucGxhY2Vob2xkZXIsXHJcbmlucHV0W3R5cGU9J3Bhc3N3b3JkJ10ucGxhY2Vob2xkZXIsXHJcbnRleHRhcmVhLnBsYWNlaG9sZGVyIHtcclxuXHRjb2xvcjogIzk5OTtcclxufVxyXG5cclxuc2VsZWN0IHtcclxuXHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XHJcbn1cclxuXHJcbnRleHRhcmVhIHtcclxuXHRyZXNpemU6IHZlcnRpY2FsO1xyXG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbn1cclxuXHJcbmJ1dHRvbixcclxuaW5wdXRbdHlwZT0nYnV0dG9uJ10sXHJcbmlucHV0W3R5cGU9J3Jlc2V0J10sXHJcbmlucHV0W3R5cGU9J2ZpbGUnXSxcclxuaW5wdXRbdHlwZT0nc3VibWl0J10ge1xyXG5cdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuXHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG5odG1sIHtcclxuXHRiYWNrZ3JvdW5kOiAjMDAwO1xyXG59XHJcblxyXG4jd3JhcHBlciB7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmhvbGRlciB7XHJcblx0d2lkdGg6IDEwMDZweDtcclxuXHRtYXJnaW46IDAgYXV0bztcclxuXHRwYWRkaW5nOiAwIDI1cHg7XHJcbn1cclxuXHJcbiNoZWFkZXIge1xyXG5cdGJhY2tncm91bmQ6ICMyM2E2YTg7XHJcblx0cGFkZGluZzogMThweCAwO1xyXG5cdGJvcmRlci1ib3R0b206IDhweCBzb2xpZCAjZmZmO1xyXG5cdGJveC1zaGFkb3c6IDAgNXB4IDVweCByZ2JhKDAsIDAsIDAsIDAuOCk7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDU7XHJcbn1cclxuXHJcbiNoZWFkZXIgLmhvbGRlciB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHdpZHRoOiA5MjBweDtcclxufVxyXG5cclxuLmxvZ28ge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDEwMCU7XHJcblx0bGVmdDogNnB4O1xyXG5cdG1hcmdpbjogNTFweCAwIDA7XHJcblx0d2lkdGg6IDUzMHB4O1xyXG5cdGhlaWdodDogMjgzcHg7XHJcblx0ei1pbmRleDogMTAwO1xyXG59XHJcblxyXG4jbmF2IHtcclxuXHRkaXNwbGF5OiB0YWJsZTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRmb250OiA0MDAgMTRweC8yMXB4IFwiZ290aGFtXCIsIFwiQXJpYWxcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRsZXR0ZXItc3BhY2luZzogMXB4O1xyXG59XHJcblxyXG4jbmF2IGxpIHtcclxuXHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG5cdHBhZGRpbmc6IDAgMjJweDtcclxufVxyXG5cclxuI25hdiBhIHtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0Y29sb3I6ICMwMDA7XHJcbn1cclxuXHJcbiNuYXYgYTpob3ZlcixcclxuI25hdiBhOmFjdGl2ZSB7XHJcblx0Y29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbiNuYXYgLmFjdGl2ZSBhIHtcclxuXHRjb2xvcjogI2ZmZjtcclxufVxyXG5cclxuI21haW4ge1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0YmFja2dyb3VuZDogI2ZmZjtcclxufVxyXG5cclxuLmN5Y2xlLWdhbGxlcnkge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmN5Y2xlLWdhbGxlcnkgaW1nIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmN5Y2xlLWdhbGxlcnkgLm1hc2sge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uY3ljbGUtZ2FsbGVyeSAuc2xpZGVzZXQge1xyXG5cdHdpZHRoOiA5OTk5OXB4O1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG59XHJcblxyXG4uY3ljbGUtZ2FsbGVyeSAuc2xpZGUge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG59XHJcblxyXG4uY3ljbGUtZ2FsbGVyeSAuc2xpZGUuYWN0aXZlIHtcclxuXHR6LWluZGV4OiAxO1xyXG59XHJcblxyXG4uYmxvY2sge1xyXG5cdGZvbnQ6IDYwMCAxM3B4LzIwcHggXCJnb3RoYW1cIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xyXG5cdHBhZGRpbmc6IDI5cHggMCAxNHB4O1xyXG59XHJcblxyXG4uYmxvY2sgaDEge1xyXG5cdGNvbG9yOiAjMjNhNmE4O1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0Zm9udC1mYW1pbHk6IFwiS2FybWFcIiwgXCJHZW9yZ2lhXCIsIHNlcmlmO1xyXG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0bGV0dGVyLXNwYWNpbmc6IC0ycHg7XHJcblx0bGluZS1oZWlnaHQ6IDU1cHg7XHJcblx0bWFyZ2luOiAwIDAgM3B4O1xyXG59XHJcblxyXG4uYmxvY2sgcCB7XHJcblx0bWFyZ2luOiAwIDAgNDVweDtcclxufVxyXG5cclxuLnNlY3Rpb24ge1xyXG5cdGJhY2tncm91bmQ6ICMwMDA7XHJcblx0Y29sb3I6ICNmZmY7XHJcblx0cGFkZGluZzogMTVweCAwIDE1MHB4O1xyXG59XHJcblxyXG4uc2VjdGlvbiBoMSB7XHJcblx0Zm9udDogMzdweC80MnB4IFwiU2hhcmUgVGVjaCBNb25vXCIsIFwiR2VvcmdpYVwiLCBzZXJpZjtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdGxldHRlci1zcGFjaW5nOiAtM3B4O1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5cclxuLmZyYW1lIHtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdGZvbnQ6IDYwMCAxMnB4LzE3cHggXCJnb3RoYW1cIiwgXCJBcmlhbFwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xyXG59XHJcblxyXG4uZnJhbWUgLmFsaWdubGVmdCB7XHJcblx0ZmxvYXQ6IGxlZnQ7XHJcblx0bWFyZ2luOiA3cHggMjZweCAwIDExcHg7XHJcbn1cclxuXHJcbi5mcmFtZSAudGV4dC1mcmFtZSB7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRwYWRkaW5nOiAwIDEwMHB4IDAgMDtcclxufVxyXG5cclxuLmZyYW1lIGJsb2NrcXVvdGUge1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0cGFkZGluZzogMTFweCAwIDQzcHg7XHJcbn1cclxuXHJcbi5mcmFtZSBjaXRlIHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0bWFyZ2luLWxlZnQ6IDE1cHg7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRmb250LXN0eWxlOiBub3JtYWw7XHJcblx0Zm9udC1zaXplOiAxOXB4O1xyXG59XHJcblxyXG4uZnJhbWUgY2l0ZSBhIHtcclxuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbi5mcmFtZSBjaXRlIGE6aG92ZXIge1xyXG5cdGNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4ucXVvdGUge1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG5cdHdpZHRoOiA1MnB4O1xyXG5cdGhlaWdodDogNDJweDtcclxuXHRiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ltZy0wMy5wbmcpIG5vLXJlcGVhdDtcclxuXHRtYXJnaW46IC0xMXB4IDZweCAwIDVweDtcclxufVxyXG5cclxuLnF1b3RlLWJvdHRvbSB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0d2lkdGg6IDUycHg7XHJcblx0aGVpZ2h0OiA0MnB4O1xyXG5cdGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaW1nLTA0LnBuZykgbm8tcmVwZWF0O1xyXG59XHJcblxyXG4jZm9vdGVyIHtcclxuXHRiYWNrZ3JvdW5kOiAjMDAwO1xyXG5cdHBhZGRpbmc6IDEycHggMCA0M3B4O1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRtYXJnaW46IC0ycHggMCAwO1xyXG59XHJcblxyXG4jZm9vdGVyIC5ob2xkZXIge1xyXG5cdHdpZHRoOiA5MjBweDtcclxufVxyXG5cclxuLm5hdiB7XHJcblx0ZGlzcGxheTogdGFibGU7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0cGFkZGluZzogMTFweCAwIDlweDtcclxufVxyXG5cclxuLm5hdiBsaSB7XHJcblx0ZGlzcGxheTogdGFibGUtY2VsbDtcclxuXHRmb250LXNpemU6IDE0cHg7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRwYWRkaW5nOiAwIDIycHg7XHJcbn1cclxuXHJcbi5uYXYgYSB7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdGNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4ubmF2IGE6aG92ZXIsXHJcbi5uYXYgYTphY3RpdmUge1xyXG5cdGNvbG9yOiAjMjNhNmE4O1xyXG59XHJcblxyXG4ubmF2IC5hY3RpdmUgYSB7XHJcblx0Y29sb3I6ICMyM2E2YTg7XHJcbn1cclxuXHJcbi5ieSB7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRjb2xvcjogIzViNWI1YjtcclxuXHRmb250LXNpemU6IDExcHg7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRtYXJnaW46IDAgMCAxMHB4O1xyXG59XHJcblxyXG4uYnkgYSB7XHJcblx0Y29sb3I6ICM1YjViNWI7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG4uYnkgYTpob3ZlciB7XHJcblx0Y29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xyXG5cclxuLmxvZ28ge1xyXG5cdHdpZHRoOiA0MDBweDtcclxuXHRsZWZ0OiAzMHB4O1xyXG59XHJcblxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xyXG5cclxuYVtocmVmXj10ZWxdLFxyXG5hW2hyZWZePXNreXBlXSxcclxuYVtocmVmXj1zbXNdIHtcclxuXHRjdXJzb3I6IGRlZmF1bHQ7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbn1cclxuXHJcbiJdfQ== */