@import url("https: //fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap");
/* ------------------------------------------------------------------------ *\
 * Helpers
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ *\
 * Mixins
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ *\
 * Functions
\* ------------------------------------------------------------------------ */
/*
 * Retrieve a color variable
 *
 * @param  {string}  $color - The name of the color as defined in _variables
 * @param  {string}  $tone  - The variant of the color (shade|base|tint)
 */
/*
 * Remove the unit of a length
 *
 * @param  {Number}  $number
 */
/*
 * Convert PX units in to EM or REM, relative to a specified base sizes
 *
 * @param  {Number}  $size - Array of up to four sizes in PX units
 * @param  {Number}  $base - Font size to base calculations off of
 * @param  {String}  $unit - Either "em" or "rem"
 */
/*
 * Convert Photoshop leading to CSS line-height
 *
 * @param  {Number}  $size - Value of Leading in Photoshop's Character Panel
 * @param  {Number}  $base - Value of Font Size in Photoshop's Character Panel
 */
/*
 * Convert Photoshop tracking to CSS letter-spacing
 *
 * @param  {Number}  $size - Value of Tracking in Photoshop's Character Panel
 * @param  {Number}  $base - Value of Font Size in Photoshop's Character Panel
 */
/* ------------------------------------------------------------------------ *\
 * Colors
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ *\
 * Fonts
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ *\
 * Widths
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ *\
 * Column Count
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ *\
 * Break Points
\* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ *\
 * Layers
\* ------------------------------------------------------------------------ */
.__dark {
  color: #000000 !important;
}

.__light {
  color: #FFFFFF !important;
}

.__big {
  font-size: 1.25em !important;
}

.__small {
  font-size: 0.75em !important;
}

.__bold {
  font-weight: 700 !important;
}

.__italic {
  font-style: italic !important;
}

.__underline {
  text-decoration: underline !important;
}

.__lowercase {
  text-transform: lowercase !important;
}

.__uppercase {
  text-transform: uppercase !important;
}

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

.__textleft {
  text-align: left !important;
}

.__textright {
  text-align: right !important;
}

.__nowrap {
  white-space: nowrap !important;
}

.__center {
  margin-left: auto !important;
  margin-right: auto !important;
}

.__left {
  float: left !important;
}

.__right {
  float: right !important;
}

.__nomargin {
  margin: 0 !important;
}

.__nopadding {
  padding: 0 !important;
}

.__notransform {
  transform: none !important;
}

.__notransition {
  transition: none !important;
}

.__block {
  display: block !important;
}

.__flex {
  display: flex !important;
}

.__visuallyhidden {
  left: -999em !important;
  position: absolute !important;
  top: -999em !important;
}

.__primary {
  color: #448AFF !important;
}

.__accent {
  color: #448AFF !important;
}

.__error {
  color: #C62828 !important;
}

/* "visible" classes */
@media (max-width: 29.9375em) {
  .__visible-xxxs {
    display: none !important;
  }
}
@media (max-width: 39.9375em) {
  .__visible-xxs {
    display: none !important;
  }
}
@media (max-width: 47.9375em) {
  .__visible-xs {
    display: none !important;
  }
}
@media (max-width: 53.25em) {
  .__visible-s {
    display: none !important;
  }
}
@media (max-width: 61.875em) {
  .__visible-m {
    display: none !important;
  }
}
@media (max-width: 63.9375em) {
  .__visible-l {
    display: none !important;
  }
}
@media (max-width: 79.9375em) {
  .__visible-xl {
    display: none !important;
  }
}
@media (max-width: 85.3125em) {
  .__visible-xxl {
    display: none !important;
  }
}
@media (max-width: 89.9375em) {
  .__visible-xxxl {
    display: none !important;
  }
}
/* "hidden" classes -- NOTE: It is important that __hidden classes come after __visible for override purposes */
@media (min-width: 30em) {
  .__hidden-xxxs {
    display: none !important;
  }
}
@media (min-width: 40em) {
  .__hidden-xxs {
    display: none !important;
  }
}
@media (min-width: 48em) {
  .__hidden-xs {
    display: none !important;
  }
}
@media (min-width: 53.3125em) {
  .__hidden-s {
    display: none !important;
  }
}
@media (min-width: 61.9375em) {
  .__hidden-m {
    display: none !important;
  }
}
@media (min-width: 64em) {
  .__hidden-l {
    display: none !important;
  }
}
@media (min-width: 80em) {
  .__hidden-xl {
    display: none !important;
  }
}
@media (min-width: 85.375em) {
  .__hidden-xxl {
    display: none !important;
  }
}
@media (min-width: 90em) {
  .__hidden-xxxl {
    display: none !important;
  }
}
/* --------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
	## Posts and pages
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
-------------------------------------------------------------- */
/* --------------------------------------------------------------
# Normalize
-------------------------------------------------------------- */
/* normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
}

body {
  margin: 0;
  padding: 0;
  font-family: "Open Sans", sans-serif;
  font-size: 20px;
  line-height: 25px;
  color: #000000;
  background-color: #FFFFFF;
}

#page {
  overflow: hidden;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace;
  font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: 700;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace;
  font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
	 ========================================================================== */
/**
 * Remove the border on ../media inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
	 ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

/* Interactive
	 ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
	 ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/* --------------------------------------------------------------
# Typography
-------------------------------------------------------------- */
button,
input,
select,
optgroup,
textarea {
  color: #404040;
  font-family: sans-serif;
  font-size: 16px;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.5;
}

.h1,
h1,
.h2,
h2,
.h3,
h3,
.h4,
h4,
.h5,
h5,
.h6,
h6 {
  clear: both;
}

p {
  margin: 0 0 25px;
  line-height: 1.36em;
}

dfn,
cite,
em,
i {
  font-style: italic;
}

blockquote {
  margin: 20px 0;
  border-left: 3px solid #2D3F4F;
  padding: 0 0 0 30px;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: #EEEEEE;
  font-family: "Courier 10 Pitch", "Courier", monospace;
  font-size: 15px;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

code,
kbd,
tt,
var {
  font-family: "Monaco", "Consolas", "Andale Mono", "DejaVu Sans Mono", monospace;
  font-size: 15px;
  font-size: 15px;
  font-size: 0.9375rem;
}

abbr,
acronym {
  border-bottom: 1px dotted #666666;
  cursor: help;
}

mark,
ins {
  background: #FFF9C0;
  text-decoration: none;
}

big {
  font-size: 125%;
}

/* --------------------------------------------------------------
# Elements
-------------------------------------------------------------- */
*,
*::before,
*::after {
  box-sizing: border-box;
}

*:focus {
  outline: none !important;
}

hr {
  background-color: #CCCCCC;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

ul,
ol {
  margin: 0 0 1.5em;
  padding-left: 30px;
}

ul li,
ol li {
  margin: 8px 0;
  padding-left: 8px;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}

dt {
  font-weight: 700;
}

dd {
  margin: 0 1.5em 1.5em;
}

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

figure {
  margin: 1em 0;
}

table {
  margin: 0 0 1.5em;
  width: 100%;
}

/* --------------------------------------------------------------
# Forms
-------------------------------------------------------------- */
button,
input[type=button],
input[type=reset],
input[type=submit] {
  border: 1px solid;
  border-color: #CCCCCC #CCCCCC #BBBBBB;
  border-radius: 3px;
  background: #E6E6E6;
  color: rgba(0, 0, 0, 0.8);
  font-size: 12px;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1;
  padding: 0.6em 1em 0.4em;
}

button:hover,
input[type=button]:hover,
input[type=reset]:hover,
input[type=submit]:hover {
  border-color: #CCCCCC #BBBBBB #AAAAAA;
}

button:active,
button:focus,
input[type=button]:active,
input[type=button]:focus,
input[type=reset]:active,
input[type=reset]:focus,
input[type=submit]:active,
input[type=submit]:focus {
  border-color: #AAAAAA #BBBBBB #BBBBBB;
}

input[type=text],
input[type=email],
input[type=url],
input[type=password],
input[type=search],
input[type=number],
input[type=tel],
input[type=range],
input[type=date],
input[type=month],
input[type=week],
input[type=time],
input[type=datetime],
input[type=datetime-local],
input[type=color],
textarea {
  color: #666666;
  border: 1px solid #CCCCCC;
  border-radius: 3px;
  padding: 3px;
}

input[type=text]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=number]:focus,
input[type=tel]:focus,
input[type=range]:focus,
input[type=date]:focus,
input[type=month]:focus,
input[type=week]:focus,
input[type=time]:focus,
input[type=datetime]:focus,
input[type=datetime-local]:focus,
input[type=color]:focus,
textarea:focus {
  color: #111111;
}

select {
  border: 1px solid #CCCCCC;
}

textarea {
  width: 100%;
}

/* --------------------------------------------------------------
# Navigation
-------------------------------------------------------------- */
/* --------------------------------------------------------------
## Links
-------------------------------------------------------------- */
a {
  color: #36BCE8;
  text-decoration: none;
  background-color: transparent;
  transition: all 0.15s;
}

a:hover,
a:focus,
a:active {
  color: #9B1C1F;
}

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

/* --------------------------------------------------------------
## Menus
-------------------------------------------------------------- */
.main-navigation {
  clear: both;
  display: block;
  padding: 0;
}

.main-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.main-navigation li {
  display: inline-block;
  position: relative;
  margin: 0 28px;
  padding: 9px 0;
}

.main-navigation li:first-child {
  margin-left: 0;
}

.main-navigation li:last-child {
  margin-right: 0;
}

.main-navigation a {
  display: block;
  text-decoration: none;
  font-weight: 700;
  color: #2D3F4F;
  font-size: 20px;
}

.main-navigation a:hover {
  color: #36BCE8;
}

.main-navigation ul li > ul {
  position: absolute;
  top: 100%;
  background-color: #377CD9;
  padding: 10px 0;
  width: 220px;
  text-align: center;
  border-radius: 6px;
  left: 50%;
  z-index: 2;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2);
  transform: translateX(-50%);
  visibility: hidden;
  opacity: 0;
  transition: all 0.15s;
}

.main-navigation ul li:hover > ul {
  visibility: visible;
  opacity: 1;
  top: 100%;
}

.main-navigation ul li > ul li {
  margin: 0;
  display: block;
  padding: 0;
}

.main-navigation ul li > ul li a {
  font-size: 18px;
  padding: 10px;
  color: #FFFFFF;
}

.main-navigation ul li > ul li a:hover {
  background-color: rgba(0, 0, 0, 0.2);
  color: #FFFFFF;
}

.main-navigation li.current-menu-item > a {
  color: #36BCE8;
}

.main-navigation li.current-menu-parent > a {
  color: #36BCE8;
}

/* Small menu. */
.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
  margin: 0 0 1.5em;
  overflow: hidden;
}

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

.screen-reader-text:focus {
  background-color: #F1F1F1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759B;
  display: block;
  font-size: 14px;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
}

#content[tabindex="-1"]:focus {
  outline: 0;
}

/* --------------------------------------------------------------
# Alignments
-------------------------------------------------------------- */
.alignleft,
.alignright {
  margin-bottom: 1.5em;
}

@media (min-width: 991px) {
  .alignleft {
    display: inline;
    float: left;
    margin-right: 1.5em;
  }

  .alignright {
    display: inline;
    float: right;
    margin-left: 1.5em;
  }
}
.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

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

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

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

/* --------------------------------------------------------------
# Clearings
-------------------------------------------------------------- */
.clear::before,
.clear::after,
.entry-content::before,
.entry-content::after,
.comment-content::before,
.comment-content::after,
.site-header::before,
.site-header::after,
.site-content::before,
.site-content::after,
.site-footer::before,
.site-footer::after {
  content: "";
  display: table;
  table-layout: fixed;
}

.clear::after,
.entry-content::after,
.comment-content::after,
.site-header::after,
.site-content::after,
.site-footer::after {
  clear: both;
}

/* --------------------------------------------------------------
# Widgets
-------------------------------------------------------------- */
.widget {
  margin: 0 0 1.5em;
}

.widget select {
  max-width: 100%;
}

/* --------------------------------------------------------------
# Content
-------------------------------------------------------------- */
/* --------------------------------------------------------------
## Posts and pages
-------------------------------------------------------------- */
.sticky {
  display: block;
}

.hentry {
  margin: 0 0 1.5em;
}

.updated:not(.published) {
  display: none;
}

.page-content,
.entry-content,
.entry-summary {
  margin: 1.5em 0 0;
}

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}

/* --------------------------------------------------------------
## Comments
-------------------------------------------------------------- */
.comment-content a {
  word-wrap: break-word;
}

.bypostauthor {
  display: block;
}

/* --------------------------------------------------------------
# Media
-------------------------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

embed,
iframe,
object {
  max-width: 100%;
}

.custom-logo-link {
  display: inline-block;
}

/* --------------------------------------------------------------
## Captions
-------------------------------------------------------------- */
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption img[class*=wp-image-] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

.wp-caption-text {
  text-align: center;
}

/* --------------------------------------------------------------
## Site Header
-------------------------------------------------------------- */
.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

.container-fluid {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

.d-flex {
  display: flex;
}

.justify-content-start {
  justify-content: flex-start !important;
}

.justify-content-end {
  justify-content: flex-end !important;
}

.justify-content-center {
  justify-content: center !important;
}

.justify-content-between {
  justify-content: space-between !important;
}

.justify-content-around {
  justify-content: space-around !important;
}

.align-items-start {
  align-items: flex-start !important;
}

.align-items-end {
  align-items: flex-end !important;
}

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

.align-items-baseline {
  align-items: baseline !important;
}

.align-items-stretch {
  align-items: stretch !important;
}

.flex-row-reverse {
  flex-direction: row-reverse;
}

.p-relative {
  position: relative;
}

.bg-style {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
}

.clearfix {
  clear: both;
}

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

/* --------------------------------------------------------------
## Site Header
-------------------------------------------------------------- */
.site-header {
  background-color: #FFFFFF;
  position: relative;
  padding: 27px 0 35px;
}

.site-branding {
  margin-right: 0;
  position: relative;
  padding: 0;
}

.site-title a,
.site-title a img {
  display: block;
  line-height: 0;
}

.site-title {
  display: block;
  max-width: 430px;
}

/* --------------------------------------------------------------
## Home Banner
-------------------------------------------------------------- */
.home-banner-slider-item {
  position: relative;
  z-index: 1;
}

.home-banner-content {
  width: 100%;
  max-width: 656px;
}

.contact-number .btn-link:hover {
  color: #FFFFFF;
}

.btn-link {
  display: inline-block;
}

.btn-primary {
  background-color: #9A1C1F;
  font-size: 26px;
  padding: 19px 50px 24px 38px;
  color: #FFFFFF;
  border-radius: 6px;
  text-decoration: none;
  box-shadow: none;
  display: inline-block;
  border: none;
}

.btn-primary:hover,
.btn-primary:focus {
  color: #FFFFFF;
  background-color: #36BCE8;
}

.contact-number .btn-primary {
  border-radius: 6px 0 0 6px;
  margin: 0 !important;
}

.home-banner-slider .slick-dots {
  margin: 0;
  padding: 20px 0;
  list-style: none;
  position: absolute;
  left: 0;
  right: 0;
  text-align: center;
  bottom: 0;
  line-height: 0;
}

.home-banner-slider .slick-dots li {
  display: inline-block;
  margin: 0 5px;
  padding: 0;
}

.home-banner-slider .slick-dots li button {
  width: 20px;
  height: 20px;
  font-size: 0;
  background: none;
  border-radius: 100%;
  cursor: pointer;
  border: 2px solid #FFFFFF;
  position: relative;
}

.home-banner-slider .slick-dots li button::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  background-color: #FFFFFF;
  border-radius: 100%;
  width: 100%;
  height: 100%;
  transform: scale(0.6);
  transition: all 0.5s;
}

.home-banner-slider .slick-dots li.slick-active button::before {
  transform: scale(1.1);
}

/* --------------------------------------------------------------
## Content area Section
-------------------------------------------------------------- */
.content-area h2 {
  font-size: 1.6em;
  color: #2D3F4F;
  line-height: 1.2em;
  margin: 0 0 0.5em;
}

.content-area h3 {
  font-size: 1.4em;
  color: #9B1C1F;
  line-height: 1.2em;
  margin: 0 0 0.4em;
}

.content-area h4 {
  font-size: 1.3em;
  color: #2D3F4F;
  line-height: 1.2em;
  margin: 0 0 0.3em;
}

.content-area h5 {
  font-size: 1.2em;
  color: #9B1C1F;
  line-height: 1.2em;
  margin: 0 0 0.2em;
}

.content-area h6 {
  font-size: 1.1em;
  color: #2D3F4F;
  line-height: 1.2em;
  margin: 0 0 0.2em;
}

.content-area {
  padding: 66px 0 96px;
  position: relative;
}

.about-content-area .content-area-left {
  width: 57%;
}

.about-content-area .content-area-right {
  width: 43%;
}

.content-area .row {
  margin-bottom: -60px;
}

.about-content-area .about-thumb {
  margin: -28px 0 -96px;
}

.maps-block {
  border-radius: 10px;
  background-color: #2D3F4F;
  padding: 6px;
  text-align: center;
}

.maps-frame {
  border-radius: 6px;
  overflow: hidden;
}

.maps-frame img,
.maps-frame iframe {
  display: block;
  border: none;
  width: 100%;
}

.maps-block h4 {
  font-size: 20px;
  color: #36BCE8;
  font-style: italic;
  font-weight: 400;
  line-height: 1.3em;
  margin: 31px 20px;
}

.content-part {
  margin-bottom: 61px;
  clear: both;
}

/* --------------------------------------------------------------
## Inner page
-------------------------------------------------------------- */
.inner-banner {
  padding: 20px 0;
  height: 230px;
  position: relative;
  z-index: 1;
  text-align: center;
}

.inner-banner::before {
  content: "";
  position: absolute;
  background-color: #2D3F4F;
  opacity: 0.3;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
}

.page-title {
  color: #FFFFFF;
  margin: 0;
  line-height: normal;
  font-size: 41px;
}

/* --------------------------------------------------------------
## Services page
-------------------------------------------------------------- */
.services-page-section {
  padding: 25px 0;
}

.services-page-item {
  margin: 88px 0;
}

.services-page-summary {
  overflow: hidden;
  display: block;
}

.services-page-summary h3 {
  margin: 0 0 35px;
  font-size: 30px;
  line-height: 1em;
}

.services-page-summary h3 a {
  color: #000000;
}

.services-page-summary h3 a:hover {
  color: #36BCE8;
}

.contact-number-group {
  padding-bottom: 102px;
  padding-top: 27px;
}

/* --------------------------------------------------------------
## About page
-------------------------------------------------------------- */
.about-content-area {
  padding: 78px 0 96px;
}

.about-thumb img {
  display: block;
  margin: 0 auto;
}

.about-contact-number-group {
  padding-top: 37px;
}

/* --------------------------------------------------------------
## Not Found
-------------------------------------------------------------- */
.not-found {
  padding: 100px 0;
}

.not-found .page-content {
  max-width: 800px;
  text-align: center;
  margin: 0 auto;
}

.not-found .page-content p {
  font-size: 30px;
  color: #2D3F4F;
}

.not-found .btn-primary {
  padding: 19px 50px 24px;
}

.page-title-top {
  font-size: 60px;
  display: block;
  line-height: 1em;
}

.default-content-area .content-area-left {
  width: 100%;
}

/* ------------------------------------------------------------
## Galleries
------------------------------------------------------------- */
.gallery {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}

.gallery-item {
  width: 100%;
  padding: 15px;
  flex-shrink: 0;
  flex-grow: 1;
  display: flex;
  justify-content: center;
}

.gallery-columns-1 .gallery-item {
  flex-basis: 100%;
}

.gallery-columns-2 .gallery-item {
  flex-basis: 50%;
}

.gallery-columns-3 .gallery-item {
  flex-basis: 33.3333333333%;
}

.gallery-columns-4 .gallery-item {
  flex-basis: 25%;
}

.gallery-columns-5 .gallery-item {
  flex-basis: 20%;
}

.gallery-columns-6 .gallery-item {
  flex-basis: 16.6666666667%;
}

/* ------------------------------------------------------------
## Ninja Forms
------------------------------------------------------------- */
.nf-form-cont input,
.nf-form-cont option,
.nf-form-cont select,
.nf-form-cont textarea {
  font-size: 18px;
  line-height: 1.2em;
  margin: 0;
  padding: 8px 5px;
}
.nf-form-cont button,
.nf-form-cont .button,
.nf-form-cont input[type=button] {
  padding: 20px 45px;
  background: #9B1C1F;
  border-radius: 8px;
  border: none;
  color: #FFFFFF;
  font-size: 26px;
  line-height: 1.2em;
  transition: background 0.15s;
}
.nf-form-cont input[type=button]:hover {
  background: #36BCE8;
  cursor: pointer;
}

@media (min-width: 576px) {
  .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container {
    max-width: 960px;
  }

  .close-menu {
    display: none !important;
  }

  .mobile-menu {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .container {
    max-width: 1140px;
  }
}
@media (min-width: 1440px) {
  .container {
    max-width: 1366px;
  }
}
@media (min-width: 1600px) {
  .container {
    max-width: 1466px;
  }
}
/* Max media */
@media (max-width: 1599px) {
  .site-title {
    max-width: 330px;
  }

  .main-navigation li {
    margin: 0 13px;
  }

  /* Header */
  .about-content-area .content-area-right {
    width: 40%;
  }

  .about-content-area .content-area-left {
    width: 60%;
  }

  .services-post h3 {
    font-size: 26px;
  }

  /* Services */
}
/* 1440px */
@media (max-width: 1439px) {
  .site-header {
    padding: 20px 0;
  }

  .site-title {
    max-width: 290px;
  }

  .main-navigation li {
    margin: 0 12px;
  }

  .call-us-block {
    margin-bottom: 20px;
  }

  .call-us-block span {
    font-size: 20px;
  }

  .header-social a {
    font-size: 20px;
  }

  .main-navigation a {
    font-size: 16px;
  }

  .main-navigation ul li > ul li a {
    font-size: 16px;
    padding: 6px 10px;
  }

  .main-navigation ul li > ul {
    width: 200px;
  }
}
/* 1200px */
@media (max-width: 1199px) {
  .site-header {
    padding: 15px 0;
  }

  .site-title {
    max-width: 220px;
  }

  .main-navigation li {
    margin: 0 7px;
  }

  .call-us-block {
    margin-bottom: 18px;
  }

  .main-navigation a {
    font-size: 15px;
  }

  .main-navigation ul li > ul li a {
    font-size: 15px;
  }

  /* Header */
  .services-item {
    width: 33.33%;
  }

  .contact-number span {
    padding-right: 40px;
  }

  /* Services */
  .footer-logo a {
    max-width: 255px;
  }

  .footer-number a,
.footer-button a {
    font-size: 20px;
  }

  .footer-content {
    padding-left: 0;
  }

  .content-area .btn-primary {
    font-size: 22px;
  }

  /* Footer */
}
/* 992 */
@media (max-width: 991px) {
  .site-title {
    margin: 0 auto;
    max-width: 275px;
  }

  .main-navigation {
    display: none;
  }

  .main-navigation {
    background-color: #2D3F4F;
    bottom: 0;
    box-shadow: 0 0 20px 10px rgba(0, 0, 0, 0.2);
    display: block;
    padding-top: 0;
    position: fixed;
    right: 0;
    text-align: left;
    top: 0;
    transform: translateX(100%);
    transition: all 0.3s;
    visibility: hidden;
    width: 270px;
    z-index: 99;
  }

  .main-navigation .close-menu {
    color: #FFFFFF;
    display: block;
    font-weight: 400;
    padding: 10px 20px;
  }

  .main-navigation .close-menu i {
    margin-right: 10px;
  }

  body.menu-open .main-navigation {
    transform: translateX(0);
    transform: translateX(0);
    visibility: visible;
  }

  .menu-open::after {
    background-color: #000000;
    bottom: 0;
    content: "";
    left: 0;
    opacity: 0.8;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 1;
  }

  .main-navigation li {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    margin: 0;
    padding: 0;
    width: 100%;
  }

  .main-navigation li a {
    color: #FFFFFF;
    display: block;
    font-weight: 400;
    padding: 10px 20px;
  }

  .main-navigation li.current-menu-item > a {
    background-color: rgba(255, 255, 255, 0.2);
  }

  .call-us-block {
    display: none;
  }

  .drop-arrow {
    border-left: 1px solid rgba(255, 255, 255, 0.2);
    height: 45px;
    pointer-events: none;
    position: absolute;
    right: 0;
    width: 50px;
  }

  .drop-arrow::before {
    border-bottom: 1px solid #B3B3B3;
    border-right: 1px solid #B3B3B3;
    content: "";
    height: 10px;
    left: 18px;
    position: absolute;
    top: 15px;
    transform: rotate(45deg);
    width: 10px;
  }

  .main-navigation ul li > ul {
    display: none;
    margin: 0;
    opacity: 1;
    padding: 0;
    position: relative;
    text-align: left;
    visibility: visible;
    width: 100%;
  }

  .main-navigation ul li.open > ul {
    display: block;
  }

  .main-navigation ul li > ul li a {
    font-size: 15px;
    padding-left: 30px;
  }

  .header-social a:hover,
.header-social a:focus,
.call-us-block span a:hover,
.call-us-block span a:focus {
    color: #FFFFFF;
  }

  /* Menu */
  .site-header {
    overflow: hidden;
    padding: 0;
  }

  .site-header .d-flex {
    flex-wrap: wrap;
  }

  .site-branding {
    padding: 0;
    width: 100%;
  }

  .mobile-menu {
    position: relative;
    width: 100%;
    z-index: 1;
  }

  .mobile-menu a {
    color: #2D3F4F;
    font-size: 21px;
    padding: 17px 11px 19px;
    text-transform: uppercase;
  }

  .mobile-menu a i {
    margin-right: 8px;
    vertical-align: inherit;
  }

  /* Header */
  .about-content-area .about-thumb {
    margin: 0;
  }

  .content-area-left {
    padding: 0 10px;
    width: 100%;
  }

  .about-content-area .content-area-right {
    width: 100%;
  }

  .about-content-area .content-area-left {
    width: 100%;
  }

  .content-area-right {
    margin-bottom: 36px;
    width: 100%;
  }

  .content-part {
    margin-bottom: 76px;
  }

  .content-part + .btn-primary {
    font-size: 18px;
    padding: 24px 36px 29px;
  }

  .services-page-item {
    margin: 84px 0;
  }

  .services-page-thumb {
    margin-right: 40px;
    width: 260px;
  }

  .services-page-summary p {
    font-size: 20px;
    line-height: 1.36em;
  }

  .contact-number-group {
    padding-bottom: 42px;
  }

  /* Services */
  /* ------------------------------------------------------------
  ## Galleries
  ------------------------------------------------------------- */
  .gallery-columns-1 .gallery-item {
    flex-basis: 100%;
  }

  .gallery-columns-2 .gallery-item {
    flex-basis: 100%;
  }

  .gallery-columns-3 .gallery-item {
    flex-basis: 100%;
  }

  .gallery-columns-4 .gallery-item {
    flex-basis: 100%;
  }

  .gallery-columns-5 .gallery-item {
    flex-basis: 100%;
  }

  .gallery-columns-6 .gallery-item {
    flex-basis: 100%;
  }
}
/* 767 */
@media (max-width: 767px) {
  body {
    font-size: 18px;
  }

  p {
    line-height: 1.4em;
  }

  blockquote {
    border-left-width: 2px;
    padding-left: 20px;
  }

  /* Header */
  .btn-primary {
    font-size: 22px;
    padding: 15px 51px 17px;
  }

  .not-found .btn-primary {
    font-size: 18px;
    padding: 15px 51px 17px;
  }

  .contact-number span {
    font-size: 22px;
    padding: 13px 0 17px;
  }

  .home-banner-slider-item {
    min-height: inherit;
    padding: 55px 0 17px;
  }

  .home-banner-slider-item::before {
    background-color: #000000;
    bottom: 0;
    content: "";
    left: 0;
    opacity: 0.54;
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1;
  }

  .home-banner-content {
    text-align: center;
  }

  .contact-number {
    max-width: 330px;
    padding: 30px;
    text-align: center;
  }

  .contact-number .btn-primary {
    border-radius: 6px;
  }

  .services-link::after {
    background: #2D3F4F;
    opacity: 0.66;
  }

  .services-post h3 {
    bottom: auto;
    margin: 0;
    top: 50%;
    transform: translateY(-50%);
  }

  .about-thumb img {
    max-width: 250px;
  }

  .inner-banner {
    height: 166px;
  }

  .page-title {
    font-size: 22px;
    margin: 0 auto;
    max-width: 76%;
  }

  .services-page-section {
    padding: 0 10px 25px;
  }

  .services-page-thumb {
    margin-bottom: 42px;
    margin-right: 0;
    width: 100%;
  }

  .services-page-summary h3 {
    margin-bottom: 30px;
  }

  .services-page-summary {
    overflow: visible;
  }

  .not-found {
    padding: 50px 0;
  }

  .not-found .page-content p {
    font-size: 20px;
  }

  .about-contact-number-group {
    background-color: #2D3F4F;
    border-radius: 6px;
    margin-top: 0;
    text-align: center;
  }

  .contact-number-group {
    background-color: #2D3F4F;
    border-radius: 6px;
    display: block;
    padding-bottom: 0;
    padding-top: 37px;
  }

  .content-area img {
    display: block;
    margin: 15px auto;
  }

  /* Services */
  .footer-content {
    flex-wrap: wrap;
    text-align: center;
  }

  .footer-number {
    margin-bottom: 2px;
    order: 2;
    width: 100%;
  }

  .footer-button {
    order: 3;
    text-align: center;
    width: 100%;
  }

  .footer-logo {
    margin-bottom: 11px;
    order: 1;
    padding-left: 0;
    width: 100%;
  }

  .footer-number a,
.footer-button a {
    font-size: 26px;
  }

  /* Footer */
}
/* 767 */
@media (max-width: 576px) {
  /* Header */
  .services-item {
    width: 100%;
  }

  .services-section {
    padding: 58px 20px 50px;
  }

  .content-area {
    padding: 51px 0 64px;
  }

  .maps-block h4 {
    font-size: 18px;
    line-height: 1.34em;
    margin: 25px 20px 12px;
  }

  .services-post img {
    height: 175px;
  }

  /* Services */
}
@media (max-width: 420px) {
  .about-contact-number-group .contact-number {
    max-width: 100%;
  }
}
.site-header {
  padding: 0;
}

.uppercase {
  text-transform: uppercase;
}

.tel-link {
  font-size: 18px;
}

.social-links svg {
  font-size: 21px;
}

.logo {
  height: auto;
  max-width: 100%;
  width: 430px;
}

.site-branding {
  align-items: center;
  display: flex;
}

.container--header-main {
  padding: 24px 0;
}

.menu-main-navigation-container {
  align-items: center;
  display: flex;
  height: 100%;
}
.menu-main-navigation-container .menu {
  position: relative;
}
.menu-main-navigation-container .menu > .menu-item > a {
  color: #377CD9;
  font-size: 15px;
  transition: color 0.15s;
}
.menu-main-navigation-container .menu > .menu-item > a:hover {
  color: #2363ba;
}

.header-container .contact {
  align-items: center;
  display: flex;
  justify-content: flex-end;
  padding: 8px 0;
}
.header-container .contact p,
.header-container .contact a,
.header-container .contact li {
  color: #FFFFFF;
  margin: 0;
}
.header-container .contact p {
  font-size: 18px;
  font-weight: 700;
}
.header-container .social-links {
  list-style: none;
  margin: 0 0 0 38px;
  padding: 0;
}
.header-container .icon-wrapper {
  display: inline;
}

.container--full-bleed {
  margin: 0;
  min-width: 100%;
  width: 100%;
}

.bg-banner {
  background-image: url("../media/header-banner.jpg");
  background-position: left center;
  background-repeat: repeat;
  background-size: contain;
}

.home-banner-slider-item {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0;
  position: relative;
}
.home-banner-slider-item .slide__wrapper {
  flex: 0 0 100%;
  margin: 0;
  padding: 110px 0;
  height: 100%;
  width: 100%;
  z-index: 5;
}
.home-banner-slider-item .slide__wrapper::after {
  background: linear-gradient(to left, rgba(0, 0, 0, 0.8) 0, rgba(163, 163, 163, 0) 100%);
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
.home-banner-slider-item .home-banner-des {
  margin-bottom: 74px;
}
.home-banner-slider-item h3 {
  color: #FFFFFF;
  font-family: "Open Sans", sans-serif;
  font-size: 33px;
  font-weight: 700;
  letter-spacing: 0.01px;
  line-height: 1.2121212121em;
}
.home-banner-slider-item .container {
  align-items: center;
  display: flex;
  justify-content: end;
}
.home-banner-slider-item .slide-contents {
  max-width: 100%;
  width: 696px;
}
.home-banner-slider-item .background-image {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.home-banner-slider-item .background-image .image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.button--nomargin {
  margin: 0 !important;
}

.button {
  border-radius: 6px;
  font-size: 23px;
  font-weight: 700;
  padding: 22px 37px;
  transition: background-color 0.15s;
}

.button--dark {
  background-color: #8E2927;
  color: #FFFFFF;
}
.button--dark:hover {
  background-color: #a22f2c;
  color: #FFFFFF;
}

.button--light {
  background-color: #FFFFFF;
  color: #000000;
}
.button--light:hover {
  background-color: #d9d9d9;
  color: #000000;
}

.button_row {
  align-items: center;
  display: flex;
  width: 100%;
}
.button_row .button {
  flex: 1 1 auto;
}

.services-section {
  background: #000000;
  display: block;
  padding: 0 22px;
  width: 100%;
}

.services-block {
  align-items: center;
  display: flex;
  justify-content: center;
}
.services-block .services-item {
  border-radius: 3px;
  flex: 0 0 20%;
  padding: 40px 22px;
  position: relative;
}
.services-block .services-text {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  left: 0;
  padding: 10px;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 5;
}
.services-block .services-item h3 {
  color: #FFFFFF;
  display: block;
  font-size: 25px;
  font-weight: 700;
  margin: 0;
  text-align: center;
  z-index: 1;
}
.services-block .services-link {
  display: block;
  height: 100%;
  position: relative;
  width: 100%;
  border-radius: 6px;
}
.services-block .services-link::after {
  background-color: #377CD9;
  border-radius: 6px;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  opacity: 0.83;
  position: absolute;
  top: 0;
  transition: opacity 0.15s;
  width: 100%;
}
.services-block .services-link:hover::after {
  opacity: 0.3;
}
.services-block .service-post-image {
  display: block;
  border-radius: 6px;
}

.iframe_border {
  border-radius: 6px;
  background-color: #000000;
  border: 6px solid #000000;
}
.iframe_border h2,
.iframe_border h3,
.iframe_border p,
.iframe_border li,
.iframe_border a {
  color: #FFFFFF;
  text-align: center;
}
.iframe_border h2,
.iframe_border h3,
.iframe_border h4,
.iframe_border h5 {
  margin: 0;
}
.iframe_border h2 {
  font-size: 24px;
  padding: 22px;
}
.iframe_border h3 {
  font-size: 20px;
  padding: 22px;
}
.iframe_border h4 {
  font-size: 18px;
  padding: 22px;
}
.iframe_border h5 {
  font-size: 16px;
  padding: 22px;
}
.iframe_border iframe,
.iframe_border img {
  border-radius: 3px;
}

.site-footer {
  margin: 0;
  padding: 62px 20px;
  position: relative;
  width: 100%;
}
.site-footer .footer-bg {
  background-image: url("../media/footer-banner.jpg");
  background-position: center;
  background-size: auto 100%;
  background-repeat: repeat;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
  opacity: 0.97;
}
.site-footer .footer__container {
  max-width: 1100px;
  width: 100%;
}
.site-footer .footer__left,
.site-footer .footer__right,
.site-footer .footer__center {
  display: flex;
}
.site-footer .footer__left {
  flex: 0 0 175px;
}
.site-footer .footer__right {
  flex: 0 0 250px;
}
.site-footer .footer_center {
  flex: 0 1 430px;
}
.site-footer .footer__link {
  color: #FFFFFF;
  transition: color 0.15s;
}
.site-footer .footer__link:hover {
  color: #e6e6e6;
}

@media (min-width: 991px) {
  .home-banner-slider-item .slide__wrapper {
    background-image: none !important;
  }

  .button_row .button:first-child {
    border-radius: 6px 0 0 6px;
    flex: 0 0 auto;
  }
  .button_row .button {
    border-radius: 0;
  }
  .button_row .button:last-child {
    border-radius: 0 6px 6px 0;
    flex: 0 1 auto;
    margin-right: auto;
  }

  .footer__left {
    justify-content: flex-end;
  }

  .footer__right {
    justify-content: flex-start;
  }

  .footer__center {
    padding: 0 92px;
  }

  .site-footer .row {
    flex-wrap: nowrap;
  }
}
@media (max-width: 1400px) {
  .services-block .services-item h3 {
    font-size: 20px;
  }
}
@media (max-width: 991px) {
  .sub-menu {
    left: -999em;
    position: absolute;
    top: 100%;
  }

  .services-block {
    flex-wrap: wrap;
  }

  .services-block .services-item {
    flex: 0 0 33%;
  }

  .mobile-menu {
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }

  .mobile-menu a,
.mobile-menu svg,
.mobile-menu i {
    color: #FFFFFF;
  }

  .mobile-menu svg,
.mobile-menu i {
    margin-right: 11px;
  }

  .menu-main-navigation-container {
    align-items: start;
  }

  .admin-bar .main-navigation {
    padding-top: 45px;
  }

  .header-container .mobile-menu a {
    font-size: 21px;
    font-weight: 700;
  }
  .header-container .mobile-menu a svg {
    font-size: 26px;
    margin-bottom: -3px;
  }

  .header-container .contact {
    justify-content: start;
  }
  .header-container .contact .tel-link {
    font-size: 21px;
  }
  .header-container .contact svg {
    margin-right: 8px;
    font-size: 26px;
  }

  .menu-main-navigation-container .menu > .menu-item > a {
    color: #FFFFFF;
  }

  .site-footer {
    flex-direction: column;
  }
  .site-footer h3 {
    display: block;
    text-align: center;
    width: 100%;
  }
  .site-footer .footer__center,
.site-footer .logo_wrapper,
.site-footer .logo {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    order: 0;
    text-align: center;
    width: 276px;
  }
  .site-footer .footer__left,
.site-footer .footer__right,
.site-footer .footer__center {
    display: flex;
    flex: 0 0 100%;
    margin: 11px 0;
  }
  .site-footer .footer__center {
    order: 0;
  }
  .site-footer .footer__left {
    order: 1;
  }
  .site-footer .footer__right {
    order: 2;
  }
  .site-footer .footer__container h3 {
    font-size: 26px;
    margin: 0;
  }

  .bg-banner {
    background-size: 1000px auto;
  }

  .site-footer {
    padding: 50px 20px;
  }

  .site-footer .footer-bg {
    background-size: 700px auto;
  }

  .container {
    padding-left: 22px;
    padding-right: 22px;
  }
}
@media (max-width: 767px) {
  .services-block .services-item {
    flex: 0 0 100%;
  }

  .services-block .service-post-image {
    width: 100%;
    max-height: 250px;
    object-fit: cover;
  }

  .home-banner-des {
    margin-bottom: 30px;
  }

  .home-banner-slider-item .slide__wrapper {
    background-image: url("../media/wood-panel.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
  }

  .home-banner-slider-item .background-image {
    position: relative;
  }

  .home-banner-slider-item .slide__wrapper::after {
    content: "";
    background: rgba(0, 0, 0, 0.68);
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: -1;
  }

  .home-banner-slider-item .home-banner-des {
    margin-bottom: 34px;
  }

  .home-banner-slider-item .slide__wrapper {
    padding: 27px 0;
  }

  .slide__wrapper .container {
    padding: 0 22px;
    position: static;
  }

  .home-banner-slider-item h3 {
    font-size: 20px;
    margin: 0;
    letter-spacing: 0.01px;
    line-height: 1.35em;
  }

  .button_row {
    background: #FFFFFF;
    border-radius: 6px;
    flex-direction: column;
    padding: 17px;
    width: 100%;
  }
  .button_row .button:not(:last-child) {
    padding: 14px 48px;
  }
  .button_row .button:last-child {
    padding: 14px 0;
  }
  .button_row .button:first-child,
.button_row .button,
.button_row .button:last-child {
    border-radius: 6px;
    flex: 0 0 100%;
    width: 100%;
    text-align: center;
    max-width: 230px;
    margin: 0 auto;
    font-size: 22px;
  }

  .services-block .services-item h3 {
    font-size: 25px;
  }

  .services-section {
    padding: 35px 0;
  }

  .services-block .services-item {
    padding: 11px 22px;
  }
}
/* ------------------------------------------------------------------------ *\
 * iframe
\* ------------------------------------------------------------------------ */
.iframe__container {
  height: 0;
  padding-bottom: 56.25%;
  position: relative;
  width: 100%;
}
.iframe__container > .iframe {
  bottom: 0;
  height: 100%;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
}

/* ------------------------------------------------------------------------ *\
 * Grid (based loosely on https://v4-alpha.getbootstrap.com/layout/grid/)
\* ------------------------------------------------------------------------ */
.row {
  display: flex;
  flex-wrap: wrap;
}
.row > [class*=col-] {
  flex-grow: 1;
  flex-shrink: 1;
  min-width: 0;
}
.row > .col--grow-0 {
  flex-grow: 0;
}
.row > .col--shrink-0 {
  flex-shrink: 0;
}

.row--display-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
}
.row--display-grid.row--equal {
  grid-auto-columns: 1fr;
  grid-auto-rows: 1fr;
}

.row--padded,
.is-style-row-padded {
  width: calc(100% + 1.875em);
}
.row--padded > [class*=col-],
.is-style-row-padded > [class*=col-] {
  padding-right: 1.875em;
}

.row--padded-tight,
.is-style-row-padded-tight {
  width: calc(100% + 1.40625em);
}
.row--padded-tight > [class*=col-],
.is-style-row-padded-tight > [class*=col-] {
  padding-right: 1.40625em;
}

.row--padded-loose,
.is-style-row-padded-loose {
  width: calc(100% + 2.34375em);
}
.row--padded-loose > [class*=col-],
.is-style-row-padded-loose > [class*=col-] {
  padding-right: 2.34375em;
}

.row--wrap-no {
  flex-wrap: nowrap;
}

.row--wrap-reverse {
  flex-wrap: wrap-reverse;
}

.row--center {
  align-items: center;
  justify-content: center;
}

.row--align-start {
  align-items: flex-start;
}

.row--align-center {
  align-items: center;
}

.row--align-end {
  align-items: flex-end;
}

.row--align-stretch {
  align-items: stretch;
}

.row--justify-start {
  justify-content: flex-start;
}

.row--justify-center {
  justify-content: center;
}

.row--justify-end {
  justify-content: flex-end;
}

.row--justify-around {
  justify-content: space-around;
}

.row--justify-between {
  justify-content: space-between;
}

.row--direction-column {
  flex-direction: column;
}

.row--direction-reverse:not(.row--direction-column) {
  flex-direction: row-reverse;
}
.row--direction-reverse.row--direction-column {
  flex-direction: column-reverse;
}

.col-auto {
  flex-basis: auto;
}

.col-0 {
  flex-basis: 0%;
  grid-column: span 0;
}

.col-1 {
  flex-basis: 8.3333333333%;
  grid-column: span 1;
}

.col-2 {
  flex-basis: 16.6666666667%;
  grid-column: span 2;
}

.col-3 {
  flex-basis: 25%;
  grid-column: span 3;
}

.col-4 {
  flex-basis: 33.3333333333%;
  grid-column: span 4;
}

.col-5 {
  flex-basis: 41.6666666667%;
  grid-column: span 5;
}

.col-6 {
  flex-basis: 50%;
  grid-column: span 6;
}

.col-7 {
  flex-basis: 58.3333333333%;
  grid-column: span 7;
}

.col-8 {
  flex-basis: 66.6666666667%;
  grid-column: span 8;
}

.col-9 {
  flex-basis: 75%;
  grid-column: span 9;
}

.col-10 {
  flex-basis: 83.3333333333%;
  grid-column: span 10;
}

.col-11 {
  flex-basis: 91.6666666667%;
  grid-column: span 11;
}

.col-12 {
  flex-basis: 100%;
  grid-column: span 12;
}

@media (min-width: 30em) {
  .col-xxxs-auto {
    flex-basis: auto;
  }

  .col-xxxs-0 {
    flex-basis: 0%;
    grid-column: span 0;
  }

  .col-xxxs-1 {
    flex-basis: 8.3333333333%;
    grid-column: span 1;
  }

  .col-xxxs-2 {
    flex-basis: 16.6666666667%;
    grid-column: span 2;
  }

  .col-xxxs-3 {
    flex-basis: 25%;
    grid-column: span 3;
  }

  .col-xxxs-4 {
    flex-basis: 33.3333333333%;
    grid-column: span 4;
  }

  .col-xxxs-5 {
    flex-basis: 41.6666666667%;
    grid-column: span 5;
  }

  .col-xxxs-6 {
    flex-basis: 50%;
    grid-column: span 6;
  }

  .col-xxxs-7 {
    flex-basis: 58.3333333333%;
    grid-column: span 7;
  }

  .col-xxxs-8 {
    flex-basis: 66.6666666667%;
    grid-column: span 8;
  }

  .col-xxxs-9 {
    flex-basis: 75%;
    grid-column: span 9;
  }

  .col-xxxs-10 {
    flex-basis: 83.3333333333%;
    grid-column: span 10;
  }

  .col-xxxs-11 {
    flex-basis: 91.6666666667%;
    grid-column: span 11;
  }

  .col-xxxs-12 {
    flex-basis: 100%;
    grid-column: span 12;
  }
}
@media (min-width: 40em) {
  .col-xxs-auto {
    flex-basis: auto;
  }

  .col-xxs-0 {
    flex-basis: 0%;
    grid-column: span 0;
  }

  .col-xxs-1 {
    flex-basis: 8.3333333333%;
    grid-column: span 1;
  }

  .col-xxs-2 {
    flex-basis: 16.6666666667%;
    grid-column: span 2;
  }

  .col-xxs-3 {
    flex-basis: 25%;
    grid-column: span 3;
  }

  .col-xxs-4 {
    flex-basis: 33.3333333333%;
    grid-column: span 4;
  }

  .col-xxs-5 {
    flex-basis: 41.6666666667%;
    grid-column: span 5;
  }

  .col-xxs-6 {
    flex-basis: 50%;
    grid-column: span 6;
  }

  .col-xxs-7 {
    flex-basis: 58.3333333333%;
    grid-column: span 7;
  }

  .col-xxs-8 {
    flex-basis: 66.6666666667%;
    grid-column: span 8;
  }

  .col-xxs-9 {
    flex-basis: 75%;
    grid-column: span 9;
  }

  .col-xxs-10 {
    flex-basis: 83.3333333333%;
    grid-column: span 10;
  }

  .col-xxs-11 {
    flex-basis: 91.6666666667%;
    grid-column: span 11;
  }

  .col-xxs-12 {
    flex-basis: 100%;
    grid-column: span 12;
  }
}
@media (min-width: 48em) {
  .col-xs-auto {
    flex-basis: auto;
  }

  .col-xs-0 {
    flex-basis: 0%;
    grid-column: span 0;
  }

  .col-xs-1 {
    flex-basis: 8.3333333333%;
    grid-column: span 1;
  }

  .col-xs-2 {
    flex-basis: 16.6666666667%;
    grid-column: span 2;
  }

  .col-xs-3 {
    flex-basis: 25%;
    grid-column: span 3;
  }

  .col-xs-4 {
    flex-basis: 33.3333333333%;
    grid-column: span 4;
  }

  .col-xs-5 {
    flex-basis: 41.6666666667%;
    grid-column: span 5;
  }

  .col-xs-6 {
    flex-basis: 50%;
    grid-column: span 6;
  }

  .col-xs-7 {
    flex-basis: 58.3333333333%;
    grid-column: span 7;
  }

  .col-xs-8 {
    flex-basis: 66.6666666667%;
    grid-column: span 8;
  }

  .col-xs-9 {
    flex-basis: 75%;
    grid-column: span 9;
  }

  .col-xs-10 {
    flex-basis: 83.3333333333%;
    grid-column: span 10;
  }

  .col-xs-11 {
    flex-basis: 91.6666666667%;
    grid-column: span 11;
  }

  .col-xs-12 {
    flex-basis: 100%;
    grid-column: span 12;
  }
}
@media (min-width: 53.3125em) {
  .col-s-auto {
    flex-basis: auto;
  }

  .col-s-0 {
    flex-basis: 0%;
    grid-column: span 0;
  }

  .col-s-1 {
    flex-basis: 8.3333333333%;
    grid-column: span 1;
  }

  .col-s-2 {
    flex-basis: 16.6666666667%;
    grid-column: span 2;
  }

  .col-s-3 {
    flex-basis: 25%;
    grid-column: span 3;
  }

  .col-s-4 {
    flex-basis: 33.3333333333%;
    grid-column: span 4;
  }

  .col-s-5 {
    flex-basis: 41.6666666667%;
    grid-column: span 5;
  }

  .col-s-6 {
    flex-basis: 50%;
    grid-column: span 6;
  }

  .col-s-7 {
    flex-basis: 58.3333333333%;
    grid-column: span 7;
  }

  .col-s-8 {
    flex-basis: 66.6666666667%;
    grid-column: span 8;
  }

  .col-s-9 {
    flex-basis: 75%;
    grid-column: span 9;
  }

  .col-s-10 {
    flex-basis: 83.3333333333%;
    grid-column: span 10;
  }

  .col-s-11 {
    flex-basis: 91.6666666667%;
    grid-column: span 11;
  }

  .col-s-12 {
    flex-basis: 100%;
    grid-column: span 12;
  }
}
@media (min-width: 61.9375em) {
  .col-m-auto {
    flex-basis: auto;
  }

  .col-m-0 {
    flex-basis: 0%;
    grid-column: span 0;
  }

  .col-m-1 {
    flex-basis: 8.3333333333%;
    grid-column: span 1;
  }

  .col-m-2 {
    flex-basis: 16.6666666667%;
    grid-column: span 2;
  }

  .col-m-3 {
    flex-basis: 25%;
    grid-column: span 3;
  }

  .col-m-4 {
    flex-basis: 33.3333333333%;
    grid-column: span 4;
  }

  .col-m-5 {
    flex-basis: 41.6666666667%;
    grid-column: span 5;
  }

  .col-m-6 {
    flex-basis: 50%;
    grid-column: span 6;
  }

  .col-m-7 {
    flex-basis: 58.3333333333%;
    grid-column: span 7;
  }

  .col-m-8 {
    flex-basis: 66.6666666667%;
    grid-column: span 8;
  }

  .col-m-9 {
    flex-basis: 75%;
    grid-column: span 9;
  }

  .col-m-10 {
    flex-basis: 83.3333333333%;
    grid-column: span 10;
  }

  .col-m-11 {
    flex-basis: 91.6666666667%;
    grid-column: span 11;
  }

  .col-m-12 {
    flex-basis: 100%;
    grid-column: span 12;
  }
}
@media (min-width: 64em) {
  .col-l-auto {
    flex-basis: auto;
  }

  .col-l-0 {
    flex-basis: 0%;
    grid-column: span 0;
  }

  .col-l-1 {
    flex-basis: 8.3333333333%;
    grid-column: span 1;
  }

  .col-l-2 {
    flex-basis: 16.6666666667%;
    grid-column: span 2;
  }

  .col-l-3 {
    flex-basis: 25%;
    grid-column: span 3;
  }

  .col-l-4 {
    flex-basis: 33.3333333333%;
    grid-column: span 4;
  }

  .col-l-5 {
    flex-basis: 41.6666666667%;
    grid-column: span 5;
  }

  .col-l-6 {
    flex-basis: 50%;
    grid-column: span 6;
  }

  .col-l-7 {
    flex-basis: 58.3333333333%;
    grid-column: span 7;
  }

  .col-l-8 {
    flex-basis: 66.6666666667%;
    grid-column: span 8;
  }

  .col-l-9 {
    flex-basis: 75%;
    grid-column: span 9;
  }

  .col-l-10 {
    flex-basis: 83.3333333333%;
    grid-column: span 10;
  }

  .col-l-11 {
    flex-basis: 91.6666666667%;
    grid-column: span 11;
  }

  .col-l-12 {
    flex-basis: 100%;
    grid-column: span 12;
  }
}
@media (min-width: 80em) {
  .col-xl-auto {
    flex-basis: auto;
  }

  .col-xl-0 {
    flex-basis: 0%;
    grid-column: span 0;
  }

  .col-xl-1 {
    flex-basis: 8.3333333333%;
    grid-column: span 1;
  }

  .col-xl-2 {
    flex-basis: 16.6666666667%;
    grid-column: span 2;
  }

  .col-xl-3 {
    flex-basis: 25%;
    grid-column: span 3;
  }

  .col-xl-4 {
    flex-basis: 33.3333333333%;
    grid-column: span 4;
  }

  .col-xl-5 {
    flex-basis: 41.6666666667%;
    grid-column: span 5;
  }

  .col-xl-6 {
    flex-basis: 50%;
    grid-column: span 6;
  }

  .col-xl-7 {
    flex-basis: 58.3333333333%;
    grid-column: span 7;
  }

  .col-xl-8 {
    flex-basis: 66.6666666667%;
    grid-column: span 8;
  }

  .col-xl-9 {
    flex-basis: 75%;
    grid-column: span 9;
  }

  .col-xl-10 {
    flex-basis: 83.3333333333%;
    grid-column: span 10;
  }

  .col-xl-11 {
    flex-basis: 91.6666666667%;
    grid-column: span 11;
  }

  .col-xl-12 {
    flex-basis: 100%;
    grid-column: span 12;
  }
}
@media (min-width: 85.375em) {
  .col-xxl-auto {
    flex-basis: auto;
  }

  .col-xxl-0 {
    flex-basis: 0%;
    grid-column: span 0;
  }

  .col-xxl-1 {
    flex-basis: 8.3333333333%;
    grid-column: span 1;
  }

  .col-xxl-2 {
    flex-basis: 16.6666666667%;
    grid-column: span 2;
  }

  .col-xxl-3 {
    flex-basis: 25%;
    grid-column: span 3;
  }

  .col-xxl-4 {
    flex-basis: 33.3333333333%;
    grid-column: span 4;
  }

  .col-xxl-5 {
    flex-basis: 41.6666666667%;
    grid-column: span 5;
  }

  .col-xxl-6 {
    flex-basis: 50%;
    grid-column: span 6;
  }

  .col-xxl-7 {
    flex-basis: 58.3333333333%;
    grid-column: span 7;
  }

  .col-xxl-8 {
    flex-basis: 66.6666666667%;
    grid-column: span 8;
  }

  .col-xxl-9 {
    flex-basis: 75%;
    grid-column: span 9;
  }

  .col-xxl-10 {
    flex-basis: 83.3333333333%;
    grid-column: span 10;
  }

  .col-xxl-11 {
    flex-basis: 91.6666666667%;
    grid-column: span 11;
  }

  .col-xxl-12 {
    flex-basis: 100%;
    grid-column: span 12;
  }
}
@media (min-width: 90em) {
  .col-xxxl-auto {
    flex-basis: auto;
  }

  .col-xxxl-0 {
    flex-basis: 0%;
    grid-column: span 0;
  }

  .col-xxxl-1 {
    flex-basis: 8.3333333333%;
    grid-column: span 1;
  }

  .col-xxxl-2 {
    flex-basis: 16.6666666667%;
    grid-column: span 2;
  }

  .col-xxxl-3 {
    flex-basis: 25%;
    grid-column: span 3;
  }

  .col-xxxl-4 {
    flex-basis: 33.3333333333%;
    grid-column: span 4;
  }

  .col-xxxl-5 {
    flex-basis: 41.6666666667%;
    grid-column: span 5;
  }

  .col-xxxl-6 {
    flex-basis: 50%;
    grid-column: span 6;
  }

  .col-xxxl-7 {
    flex-basis: 58.3333333333%;
    grid-column: span 7;
  }

  .col-xxxl-8 {
    flex-basis: 66.6666666667%;
    grid-column: span 8;
  }

  .col-xxxl-9 {
    flex-basis: 75%;
    grid-column: span 9;
  }

  .col-xxxl-10 {
    flex-basis: 83.3333333333%;
    grid-column: span 10;
  }

  .col-xxxl-11 {
    flex-basis: 91.6666666667%;
    grid-column: span 11;
  }

  .col-xxxl-12 {
    flex-basis: 100%;
    grid-column: span 12;
  }
}
.user-content p,
.user-content ul,
.user-content ol,
.user-content a {
  font-family: "Open Sans", sans-serif;
  font-size: 18px;
  line-height: 1.5em;
  margin-bottom: 28px;
}
.user-content p > a {
  margin-bottom: 0;
}
.user-content .button {
  background: #8E2927;
  border-radius: 6px;
  color: #FFFFFF;
  font-size: 23px;
  padding: 17px 38px;
  display: inline-block;
  transition: background-color 0.15s;
}
.user-content .button:hover {
  background-color: #7a2322;
  color: #FFFFFF;
}
.user-content [class*=col-] {
  margin-bottom: 60px;
}

@media (max-width: 991px) {
  .user-content p {
    font-size: 18px;
  }
  .user-content .button {
    display: block;
    font-size: 18px;
    padding: 25px 35px;
    text-align: center;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1vZGVybi5zY3NzIiwiaGVscGVycy9faGVscGVycy5zY3NzIiwiaGVscGVycy9fbWl4aW5zLnNjc3MiLCJoZWxwZXJzL19mdW5jdGlvbnMuc2NzcyIsImhlbHBlcnMvX3ZhcmlhYmxlcy5zY3NzIiwibW9kZXJuLmNzcyIsImN1c3RvbS9fZGVmYXVsdC5zY3NzIiwiY3VzdG9tL19yZXNwb25zaXZlLnNjc3MiLCJjdXN0b20vX2N1c3RvbWl6YXRpb25zLnNjc3MiLCJjdXN0b20vX2lmcmFtZS5zY3NzIiwiY3VzdG9tL19ncmlkLnNjc3MiLCJjdXN0b20vX3VzZXItY29udGVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNRLGlIQUFBO0FDUFI7OzZFQUFBO0FDQUE7OzZFQUFBO0FDRUE7OzZFQUFBO0FBSUE7Ozs7O0VBQUE7QUFVQTs7OztFQUFBO0FBU0E7Ozs7OztFQUFBO0FBK0JBOzs7OztFQUFBO0FBYUE7Ozs7O0VBQUE7QUNuRUE7OzZFQUFBO0FBNkVBOzs2RUFBQTtBQU9BOzs2RUFBQTtBQVFBOzs2RUFBQTtBQU1BOzs2RUFBQTtBQTBCQTs7NkVBQUE7QUhsSEE7RUFDSSx5QkFBQTtBSTZDSjs7QUoxQ0E7RUFDSSx5QkFBQTtBSTZDSjs7QUoxQ0E7RUFDSSw0QkFBQTtBSTZDSjs7QUoxQ0E7RUFDSSw0QkFBQTtBSTZDSjs7QUoxQ0E7RUFDSSwyQkFBQTtBSTZDSjs7QUoxQ0E7RUFDSSw2QkFBQTtBSTZDSjs7QUoxQ0E7RUFDSSxxQ0FBQTtBSTZDSjs7QUoxQ0E7RUFDSSxvQ0FBQTtBSTZDSjs7QUoxQ0E7RUFDSSxvQ0FBQTtBSTZDSjs7QUoxQ0E7RUFDSSw2QkFBQTtBSTZDSjs7QUoxQ0E7RUFDSSwyQkFBQTtBSTZDSjs7QUoxQ0E7RUFDSSw0QkFBQTtBSTZDSjs7QUoxQ0E7RUFDSSw4QkFBQTtBSTZDSjs7QUoxQ0E7RUFDSSw0QkFBQTtFQUNBLDZCQUFBO0FJNkNKOztBSjFDQTtFQUNJLHNCQUFBO0FJNkNKOztBSjFDQTtFQUNJLHVC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SEk7RUFDSSx5QkFBQTtFQUNBLGNBQUE7QU55akhSO0FNdGpISTtFQUNJLG1CQUFBO0FOd2pIUjs7QU1wakhBO0VBRVE7SUFDSSxlQUFBO0VOc2pIVjtFTW5qSE07SUFDSSxjQUFBO0lBQ0EsZUFBQTtJQUNBLGtCQUFBO0lBQ0Esa0JBQUE7RU5xakhWO0FBQ0YiLCJmaWxlIjoibW9kZXJuLjNjYzcwYzg3LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHZlbmRvclxuXG4vLyBAaW1wb3J0IFwibm9ybWFsaXplLmNzcy9ub3JtYWxpemVcIjtcbi8vIEBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9ib290c3RyYXBcIjtcbi8vIEBpbXBvcnQgXCJvd2wuY2Fyb3VzZWwvZGlzdC9hc3NldHMvb3dsLmNhcm91c2VsXCI7XG4vLyBAaW1wb3J0IFwic2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2suc2Nzc1wiO1xuXG4vLyBjdXN0b21cblxuQGltcG9ydCB1cmwoXCJodHRwczogLy9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1PcGVuK1NhbnM6aXRhbCx3Z2h0QDAsNDAwOzAsNzAwOzEsNDAwOzEsNzAwJmRpc3BsYXk9c3dhcFwiKTtcbkBpbXBvcnQgXCJoZWxwZXJzL19oZWxwZXJzXCI7XG5AaW1wb3J0IFwiY3VzdG9tL19kZWZhdWx0XCI7XG5AaW1wb3J0IFwiY3VzdG9tL19yZXNwb25zaXZlXCI7XG5AaW1wb3J0IFwiY3VzdG9tL19jdXN0b21pemF0aW9uc1wiO1xuQGltcG9ydCBcImN1c3RvbS9faWZyYW1lXCI7XG5AaW1wb3J0IFwiY3VzdG9tL19ncmlkXCI7XG5AaW1wb3J0IFwiY3VzdG9tL191c2VyLWNvbnRlbnRcIjtcbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IF9fZ3VscF9pbml0X2F1dGhvcl9uYW1lX18gQCBfX2d1bHBfaW5pdF9hdXRob3JfY29tcGFueV9fXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEhlbHBlcnNcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLy8gaW1wb3J0c1xuXG5AaW1wb3J0IFwiX21peGluc1wiO1xuQGltcG9ydCBcIl9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJfdmFyaWFibGVzXCI7XG5cbi8vIGdlbmVyaWMgaGVscGVyc1xuXG4uX19kYXJrIHtcbiAgICBjb2xvcjogY29sb3IoXCJkYXJrXCIpICFpbXBvcnRhbnQ7XG59XG5cbi5fX2xpZ2h0IHtcbiAgICBjb2xvcjogY29sb3IoXCJsaWdodFwiKSAhaW1wb3J0YW50O1xufVxuXG4uX19iaWcge1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtICFpbXBvcnRhbnQ7XG59XG5cbi5fX3NtYWxsIHtcbiAgICBmb250LXNpemU6IDAuNzVlbSAhaW1wb3J0YW50O1xufVxuXG4uX19ib2xkIHtcbiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG59XG5cbi5fX2l0YWxpYyB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7XG59XG5cbi5fX3VuZGVybGluZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDtcbn1cblxuLl9fbG93ZXJjYXNlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7XG59XG5cbi5fX3VwcGVyY2FzZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50O1xufVxuXG4uX190ZXh0Y2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLl9fdGV4dGxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLl9fdGV4dHJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xufVxuXG4uX19ub3dyYXAge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbn1cblxuLl9fY2VudGVyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4uX19sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xufVxuXG4uX19yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5cbi5fX25vbWFyZ2luIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cblxuLl9fbm9wYWRkaW5nIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5fX25vdHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLl9fbm90cmFuc2l0aW9uIHtcbiAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5fX2Jsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4uX19mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG59XG5cbi5fX3Zpc3VhbGx5aGlkZGVuIHtcbiAgICBsZWZ0OiAtOTk5ZW0gIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB0b3A6IC05OTllbSAhaW1wb3J0YW50O1xufVxuXG4uX19wcmltYXJ5IHtcbiAgICBjb2xvcjogY29sb3IoXCJwcmltYXJ5XCIpICFpbXBvcnRhbnQ7XG59XG5cbi5fX2FjY2VudCB7XG4gICAgY29sb3I6IGNvbG9yKFwiYWNjZW50XCIpICFpbXBvcnRhbnQ7XG59XG5cbi5fX2Vycm9yIHtcbiAgICBjb2xvcjogY29sb3IoXCJlcnJvclwiKSAhaW1wb3J0YW50O1xufVxuXG4vKiBcInZpc2libGVcIiBjbGFzc2VzICovXG5cbkBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpbmNsdWRlIHNtYWxsZXItdGhhbigkbmFtZSkge1xuICAgICAgICAuX192aXNpYmxlLSN7JG5hbWV9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogXCJoaWRkZW5cIiBjbGFzc2VzIC0tIE5PVEU6IEl0IGlzIGltcG9ydGFudCB0aGF0IF9faGlkZGVuIGNsYXNzZXMgY29tZSBhZnRlciBfX3Zpc2libGUgZm9yIG92ZXJyaWRlIHB1cnBvc2VzICovXG5cbkBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpbmNsdWRlIGxhcmdlci10aGFuKCRuYW1lKSB7XG4gICAgICAgIC5fX2hpZGRlbi0jeyRuYW1lfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBfX2d1bHBfaW5pdF9hdXRob3JfbmFtZV9fIEAgX19ndWxwX2luaXRfYXV0aG9yX2NvbXBhbnlfX1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBNaXhpbnNcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQHVzZSBcInNhc3M6bWF0aFwiO1xuXG4vLyBudGgtY2hpbGQ6IGh0dHBzOi8vcGF1bHVuZC5jby51ay9udGgtY2hpbGQtc2Fzcy1taXhpbnNcblxuQG1peGluIGZpcnN0LWNoaWxkKCkge1xuICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIGxhc3QtY2hpbGQoKSB7XG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBldmVuKCkge1xuICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gb2RkKCkge1xuICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBmaXJzdCgkbnVtKSB7XG4gICAgQGlmICRudW0gPT0gMSB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAgICY6bnRoLWNoaWxkKC1uICsgI3skbnVtfSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBsYXN0KCRudW0pIHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKC1uICsgI3skbnVtfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBhZnRlcigkbnVtKSB7XG4gICAgJjpudGgtY2hpbGQobisjeyRudW0gKyAxfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBmcm9tLWVuZCgkbnVtKSB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRudW19KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIGJldHdlZW4oJGZpcnN0LCAkbGFzdCkge1xuICAgICY6bnRoLWNoaWxkKG4rI3skZmlyc3R9KTpudGgtY2hpbGQoLW4rI3skbGFzdH0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gYWxsLWJ1dCgkbnVtKSB7XG4gICAgJjpub3QoOm50aC1jaGlsZCgjeyRudW19KSkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBlYWNoKCRudW0pIHtcbiAgICAmOm50aC1jaGlsZCgjeyRudW19bikge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8vIGxheWVyc1xuXG5AbWl4aW4gbGF5ZXIoJGxheWVyLW5hbWUpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogbWFwLWdldCgkbGF5ZXJzLCAkbGF5ZXItbmFtZSk7XG59XG5cbi8vIFNjYWxlIGR5bmFtaWNhbGx5IHVudGlsIGEgZ2l2ZW4gdmlld3BvcnRcblxuQG1peGluIHZpZXdwb3J0LXNjYWxlKCRzaXplOiAxNiwgJGJhc2U6IDEwMjQsICRtaW4td2lkdGg6IDAsICRtYXgtd2lkdGg6IG51bGwpIHtcbiAgICAkbWF4LXdpZHRoOiBpZigkbWF4LXdpZHRoID09IG51bGwsICRiYXNlLCAkbWF4LXdpZHRoKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IHJlbWlmeSgkbWluLXdpZHRoLCAxNikpIGFuZCAobWF4LXdpZHRoOiByZW1pZnkoJG1heC13aWR0aCwgMTYpKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogKCRzaXplIC8gJGJhc2UpICogMTAwdnc7XG4gICAgfVxufVxuXG4vLyBDcmVhdGUgYSBtZWRpYSBxdWVyeSByZWxhdGl2ZSB0byBhIGJyZWFrIHBvaW50IHZhcmlhYmxlXG5cbkBtaXhpbiBzbWFsbGVyLXRoYW4oJHBvaW50LW5hbWUsICRpbmNsdXNpdmU6IGZhbHNlKSB7XG4gICAgJHdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHBvaW50LW5hbWUpO1xuXG4gICAgQGlmICRpbmNsdXNpdmUgPT0gZmFsc2Uge1xuICAgICAgICAkd2lkdGg6ICR3aWR0aCAtIG1hdGguZGl2KDEsIDE2KTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJHdpZHRoKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuLy8gQ3JlYXRlIGEgbWVkaWEgcXVlcnkgcmVsYXRpdmUgdG8gYSBicmVhayBwb2ludCB2YXJpYWJsZVxuXG5AbWl4aW4gbGFyZ2VyLXRoYW4oJHBvaW50LW5hbWUsICRpbmNsdXNpdmU6IHRydWUpIHtcbiAgICAkd2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkcG9pbnQtbmFtZSk7XG5cbiAgICBAaWYgJGluY2x1c2l2ZSA9PSBmYWxzZSB7XG4gICAgICAgICR3aWR0aDogJHdpZHRoICsgbWF0aC5kaXYoMSwgMTYpO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkd2lkdGgpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG4vLyBTY2FsZSBmb250IHNpemUgYmFzZWQgb24gVlcgdW5pdHNcblxuQG1peGluIGZvbnQtc2NhbGUoJHNpemUsICRwb2ludC1uYW1lKSB7XG4gICAgJHdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHBvaW50LW5hbWUpO1xuXG4gICAgZm9udC1zaXplOiBtYXRoLmRpdigkc2l6ZSwgc3RyaXAtdW5pdCgkd2lkdGggKiAxNikpICogMTAwdnc7XG59XG5cbi8vIEZ1bGwgV2lkdGggQ29udGFpbmVycyBpbiBMaW1pdGVkIFdpZHRoIFBhcmVudHNcblxuQG1peGluIGZ1bGwtYmxlZWQge1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTUwdnc7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNTB2dztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICB3aWR0aDogMTAwdnc7XG59XG4iLCIvLyBTdHlsZXMgd3JpdHRlbiBieSBfX2d1bHBfaW5pdF9hdXRob3JfbmFtZV9fIEAgX19ndWxwX2luaXRfYXV0aG9yX2NvbXBhbnlfX1xuXG5AdXNlIFwic2FzczptYXRoXCI7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEZ1bmN0aW9uc1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKlxuICogUmV0cmlldmUgYSBjb2xvciB2YXJpYWJsZVxuICpcbiAqIEBwYXJhbSAge3N0cmluZ30gICRjb2xvciAtIFRoZSBuYW1lIG9mIHRoZSBjb2xvciBhcyBkZWZpbmVkIGluIF92YXJpYWJsZXNcbiAqIEBwYXJhbSAge3N0cmluZ30gICR0b25lICAtIFRoZSB2YXJpYW50IG9mIHRoZSBjb2xvciAoc2hhZGV8YmFzZXx0aW50KVxuICovXG5AZnVuY3Rpb24gY29sb3IoJGNvbG9yLCAkdG9uZTogYmFzZSkge1xuICAgIEByZXR1cm4gbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICRjb2xvciksICR0b25lKTtcbn1cblxuLypcbiAqIFJlbW92ZSB0aGUgdW5pdCBvZiBhIGxlbmd0aFxuICpcbiAqIEBwYXJhbSAge051bWJlcn0gICRudW1iZXJcbiAqL1xuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bWJlcikge1xuICAgIEByZXR1cm4gaWYodHlwZS1vZigkbnVtYmVyKSA9PSBcIm51bWJlclwiIGFuZCBub3QgdW5pdGxlc3MoJG51bWJlciksIG1hdGguZGl2KCRudW1iZXIsICgkbnVtYmVyICogMCArIDEpKSwgJG51bWJlcik7XG59XG5cbi8qXG4gKiBDb252ZXJ0IFBYIHVuaXRzIGluIHRvIEVNIG9yIFJFTSwgcmVsYXRpdmUgdG8gYSBzcGVjaWZpZWQgYmFzZSBzaXplc1xuICpcbiAqIEBwYXJhbSAge051bWJlcn0gICRzaXplIC0gQXJyYXkgb2YgdXAgdG8gZm91ciBzaXplcyBpbiBQWCB1bml0c1xuICogQHBhcmFtICB7TnVtYmVyfSAgJGJhc2UgLSBGb250IHNpemUgdG8gYmFzZSBjYWxjdWxhdGlvbnMgb2ZmIG9mXG4gKiBAcGFyYW0gIHtTdHJpbmd9ICAkdW5pdCAtIEVpdGhlciBcImVtXCIgb3IgXCJyZW1cIlxuICovXG5AZnVuY3Rpb24gcmVtaWZ5KCRzaXplczogKCRzaXplMSwgJHNpemUyLCAkc2l6ZTMsICRzaXplNCksICRiYXNlOiBudWxsLCAkdW5pdDogbnVsbCkge1xuICAgICR1bml0OiBpZigkdW5pdCA9PSBudWxsLCBpZigkYmFzZSA9PSBudWxsLCByZW0sIGVtKSwgJHVuaXQpO1xuICAgICRiYXNlOiBpZigkYmFzZSA9PSBudWxsLCAxNiwgc3RyaXAtdW5pdCgkYmFzZSkpO1xuICAgICRvdXRwdXQ6IFwiXCI7XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAkc2l6ZTogc3RyaXAtdW5pdCgkc2l6ZSk7XG5cbiAgICAgICAgQGlmIHR5cGUtb2YoJHNpemUpID09IFwibnVtYmVyXCIge1xuICAgICAgICAgICAgLy8gYWRkIGFzIHNwYWNlIGlmICRvdXRwdXQgYWxyZWFkeSBoYXMgYSB2YWx1ZVxuICAgICAgICAgICAgJG91dHB1dDogaWYoJG91dHB1dCA9PSBcIlwiLCBcIlwiLCAkb3V0cHV0ICsgXCIgXCIpO1xuICAgICAgICAgICAgLy8gY2FsY3VsYXRlLCBhcHBlbmQgdmFsdWUgdG8gJG91dHB1dFxuICAgICAgICAgICAgJG91dHB1dDogJG91dHB1dCArIG1hdGguZGl2KHN0cmlwLXVuaXQoJHNpemUpLCBzdHJpcC11bml0KCRiYXNlKSkgKyAkdW5pdDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIC8vIHBhc3MgdGhlIHZhbHVlIHRocm91Z2ggdW5jaGFuZ2VkIGlmICRzaXplIGlzIG5vdCBhIG51bWJlclxuICAgICAgICAgICAgJG91dHB1dDogJG91dHB1dCArIFwiIFwiICsgJHNpemU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIGlmKHR5cGUtb2YoJG91dHB1dCkgPT0gXCJzdHJpbmdcIiwgdW5xdW90ZSgkb3V0cHV0KSwgJG91dHB1dCk7XG59XG5cbi8qXG4gKiBDb252ZXJ0IFBob3Rvc2hvcCBsZWFkaW5nIHRvIENTUyBsaW5lLWhlaWdodFxuICpcbiAqIEBwYXJhbSAge051bWJlcn0gICRzaXplIC0gVmFsdWUgb2YgTGVhZGluZyBpbiBQaG90b3Nob3AncyBDaGFyYWN0ZXIgUGFuZWxcbiAqIEBwYXJhbSAge051bWJlcn0gICRiYXNlIC0gVmFsdWUgb2YgRm9udCBTaXplIGluIFBob3Rvc2hvcCdzIENoYXJhY3RlciBQYW5lbFxuICovXG5AZnVuY3Rpb24gbGVhZGluZygkc2l6ZSwgJGJhc2U6IG51bGwpIHtcbiAgICAkYmFzZTogaWYoJGJhc2UgPT0gbnVsbCwgMTYsIHN0cmlwLXVuaXQoJGJhc2UpKTtcbiAgICAkb3V0cHV0OiAkYmFzZSArIChzdHJpcC11bml0KCRzaXplKSAvIDIpO1xuXG4gICAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vKlxuICogQ29udmVydCBQaG90b3Nob3AgdHJhY2tpbmcgdG8gQ1NTIGxldHRlci1zcGFjaW5nXG4gKlxuICogQHBhcmFtICB7TnVtYmVyfSAgJHNpemUgLSBWYWx1ZSBvZiBUcmFja2luZyBpbiBQaG90b3Nob3AncyBDaGFyYWN0ZXIgUGFuZWxcbiAqIEBwYXJhbSAge051bWJlcn0gICRiYXNlIC0gVmFsdWUgb2YgRm9udCBTaXplIGluIFBob3Rvc2hvcCdzIENoYXJhY3RlciBQYW5lbFxuICovXG5AZnVuY3Rpb24gdHJhY2tpbmcoJHNpemUsICRiYXNlOiBudWxsKSB7XG4gICAgJGJhc2U6IGlmKCRiYXNlID09IG51bGwsIDE2LCBzdHJpcC11bml0KCRiYXNlKSk7XG4gICAgJG91dHB1dDogKCRzaXplIC8gMTAwMCkgKiBzdHJpcC11bml0KCRiYXNlKTtcblxuICAgIEByZXR1cm4gJG91dHB1dDtcbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IF9fZ3VscF9pbml0X2F1dGhvcl9uYW1lX18gQCBfX2d1bHBfaW5pdF9hdXRob3JfY29tcGFueV9fXG5cbkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogQ29sb3JzXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiRjb2xvcnM6IChcbiAgICBcInByaW1hcnlcIjogKFxuICAgICAgICB0aW50OiAgIzgzQjlGRixcbiAgICAgICAgYmFzZTogICM0NDhBRkYsXG4gICAgICAgIHNoYWRlOiAjMDA1RUNCLFxuICAgICksXG4gICAgXCJzZWNvbmRhcnlcIjogKFxuICAgICAgICB0aW50OiAgI0ZGNjE2RixcbiAgICAgICAgYmFzZTogICNGRjE3NDQsXG4gICAgICAgIHNoYWRlOiAjQzQwMDFELFxuICAgICksXG4gICAgXCJ0ZXJ0aWFyeVwiOiAoXG4gICAgICAgIHRpbnQ6ICAjOUVGRkZGLFxuICAgICAgICBiYXNlOiAgIzY0RkZEQSxcbiAgICAgICAgc2hhZGU6ICMxNENCQTgsXG4gICAgKSxcbiAgICBcInF1YXRlcm5hcnlcIjogKFxuICAgICAgICB0aW50OiAgI0ZGRkY1QSxcbiAgICAgICAgYmFzZTogICNGRkZGMDAsXG4gICAgICAgIHNoYWRlOiAjQzdDQzAwLFxuICAgICksXG4gICAgXCJxdWluYXJ5XCI6IChcbiAgICAgICAgdGludDogICNCNDdDRkYsXG4gICAgICAgIGJhc2U6ICAjN0M0REZGLFxuICAgICAgICBzaGFkZTogIzNGMURDQixcbiAgICApLFxuICAgIFwic2VuYXJ5XCI6IChcbiAgICAgICAgdGludDogICNGRkMyNDYsXG4gICAgICAgIGJhc2U6ICAjRkY5MTAwLFxuICAgICAgICBzaGFkZTogI0M1NjIwMCxcbiAgICApLFxuICAgIFwiYWNjZW50XCI6IChcbiAgICAgICAgdGludDogICM4M0I5RkYsXG4gICAgICAgIGJhc2U6ICAjNDQ4QUZGLFxuICAgICAgICBzaGFkZTogIzAwNUVDQixcbiAgICApLFxuICAgIFwiZXJyb3JcIjogKFxuICAgICAgICB0aW50OiAgI0ZGNUY1MixcbiAgICAgICAgYmFzZTogICNDNjI4MjgsXG4gICAgICAgIHNoYWRlOiAjOEUwMDAwLFxuICAgICksXG4gICAgXCJzdWNjZXNzXCI6IChcbiAgICAgICAgdGludDogICM1MkZGQTIsXG4gICAgICAgIGJhc2U6ICAjMjhDNjY1LFxuICAgICAgICBzaGFkZTogIzAwOEUzNyxcbiAgICApLFxuICAgIFwiZm9yZWdyb3VuZFwiOiAoXG4gICAgICAgIHRpbnQ6ICAjNDg0ODQ4LFxuICAgICAgICBiYXNlOiAgIzIxMjEyMSxcbiAgICAgICAgc2hhZGU6ICMwMDAwMDAsXG4gICAgKSxcbiAgICBcImJhY2tncm91bmRcIjogKFxuICAgICAgICB0aW50OiAgI0ZGRkZGRixcbiAgICAgICAgYmFzZTogICNGRkZGRkYsXG4gICAgICAgIHNoYWRlOiAjQ0NDQ0NDLFxuICAgICksXG4gICAgXCJwYWdlLWJhY2tncm91bmRcIjogKFxuICAgICAgICB0aW50OiAgI0VFRUVFRSxcbiAgICAgICAgYmFzZTogICNFMEUwRTAsXG4gICAgICAgIHNoYWRlOiAjQUVBRUFFLFxuICAgICksXG4gICAgXCJsaWdodFwiOiAoXG4gICAgICAgIHRpbnQ6ICAjRkZGRkZGLFxuICAgICAgICBiYXNlOiAgI0ZGRkZGRixcbiAgICAgICAgc2hhZGU6ICNDQ0NDQ0MsXG4gICAgKSxcbiAgICBcImRhcmtcIjogKFxuICAgICAgICB0aW50OiAgIzJDMkMyQyxcbiAgICAgICAgYmFzZTogICMwMDAwMDAsXG4gICAgICAgIHNoYWRlOiAjMDAwMDAwLFxuICAgICksXG4pO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBGb250c1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4kaGVhZGluZy1mb250OiBcIk9wZW4gU2Fuc1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4kYm9keS1mb250OiBcIk9wZW4gU2Fuc1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIFdpZHRoc1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4kc2l0ZS13aWR0aDogMTUwMDtcbiRjb2x1bW4tZ2FwOiAzMDtcbiRjb250ZW50LXBhZGRpbmc6IDI1O1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBDb2x1bW4gQ291bnRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuJGNvbHVtbi1jb3VudDogMTI7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEJyZWFrIFBvaW50c1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4keHh4bC1icmVhazogbWF0aC5kaXYoMTQ0MGVtLCAxNik7XG4keHhsLWJyZWFrOiAgbWF0aC5kaXYoMTM2NmVtLCAxNik7XG4keGwtYnJlYWs6ICAgbWF0aC5kaXYoMTI4MGVtLCAxNik7XG4kbC1icmVhazogICAgbWF0aC5kaXYoMTAyNGVtLCAxNik7XG4kbS1icmVhazogICAgbWF0aC5kaXYoOTkxZW0sIDE2KTtcbiRzLWJyZWFrOiAgICBtYXRoLmRpdig4NTNlbSwgMTYpO1xuJHhzLWJyZWFrOiAgIG1hdGguZGl2KDc2OGVtLCAxNik7XG4keHhzLWJyZWFrOiAgbWF0aC5kaXYoNjQwZW0sIDE2KTtcbiR4eHhzLWJyZWFrOiBtYXRoLmRpdig0ODBlbSwgMTYpO1xuXG4kYnJlYWtwb2ludHM6IChcbiAgICB4eHhzOiAkeHh4cy1icmVhayxcbiAgICB4eHM6ICAkeHhzLWJyZWFrLFxuICAgIHhzOiAgICR4cy1icmVhayxcbiAgICBzOiAgICAkcy1icmVhayxcbiAgICBtOiAgICAkbS1icmVhayxcbiAgICBsOiAgICAkbC1icmVhayxcbiAgICB4bDogICAkeGwtYnJlYWssXG4gICAgeHhsOiAgJHh4bC1icmVhayxcbiAgICB4eHhsOiAkeHh4bC1icmVhayxcbik7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIExheWVyc1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4kbGF5ZXJzOiAoXG4gICAgaGVhZGVyOiA1LFxuICAgIG5hdmlnYXRpb246IDQsXG4gICAgaGVybzogMyxcbiAgICBjb250ZW50OiAyLFxuICAgIGZvb3RlcjogMSxcbik7XG4iLCJAaW1wb3J0IHVybChcImh0dHBzOiAvL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PU9wZW4rU2FuczppdGFsLHdnaHRAMCw0MDA7MCw3MDA7MSw0MDA7MSw3MDAmZGlzcGxheT1zd2FwXCIpO1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogSGVscGVyc1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTWl4aW5zXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBGdW5jdGlvbnNcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXG4gKiBSZXRyaWV2ZSBhIGNvbG9yIHZhcmlhYmxlXG4gKlxuICogQHBhcmFtICB7c3RyaW5nfSAgJGNvbG9yIC0gVGhlIG5hbWUgb2YgdGhlIGNvbG9yIGFzIGRlZmluZWQgaW4gX3ZhcmlhYmxlc1xuICogQHBhcmFtICB7c3RyaW5nfSAgJHRvbmUgIC0gVGhlIHZhcmlhbnQgb2YgdGhlIGNvbG9yIChzaGFkZXxiYXNlfHRpbnQpXG4gKi9cbi8qXG4gKiBSZW1vdmUgdGhlIHVuaXQgb2YgYSBsZW5ndGhcbiAqXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICAkbnVtYmVyXG4gKi9cbi8qXG4gKiBDb252ZXJ0IFBYIHVuaXRzIGluIHRvIEVNIG9yIFJFTSwgcmVsYXRpdmUgdG8gYSBzcGVjaWZpZWQgYmFzZSBzaXplc1xuICpcbiAqIEBwYXJhbSAge051bWJlcn0gICRzaXplIC0gQXJyYXkgb2YgdXAgdG8gZm91ciBzaXplcyBpbiBQWCB1bml0c1xuICogQHBhcmFtICB7TnVtYmVyfSAgJGJhc2UgLSBGb250IHNpemUgdG8gYmFzZSBjYWxjdWxhdGlvbnMgb2ZmIG9mXG4gKiBAcGFyYW0gIHtTdHJpbmd9ICAkdW5pdCAtIEVpdGhlciBcImVtXCIgb3IgXCJyZW1cIlxuICovXG4vKlxuICogQ29udmVydCBQaG90b3Nob3AgbGVhZGluZyB0byBDU1MgbGluZS1oZWlnaHRcbiAqXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICAkc2l6ZSAtIFZhbHVlIG9mIExlYWRpbmcgaW4gUGhvdG9zaG9wJ3MgQ2hhcmFjdGVyIFBhbmVsXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICAkYmFzZSAtIFZhbHVlIG9mIEZvbnQgU2l6ZSBpbiBQaG90b3Nob3AncyBDaGFyYWN0ZXIgUGFuZWxcbiAqL1xuLypcbiAqIENvbnZlcnQgUGhvdG9zaG9wIHRyYWNraW5nIHRvIENTUyBsZXR0ZXItc3BhY2luZ1xuICpcbiAqIEBwYXJhbSAge051bWJlcn0gICRzaXplIC0gVmFsdWUgb2YgVHJhY2tpbmcgaW4gUGhvdG9zaG9wJ3MgQ2hhcmFjdGVyIFBhbmVsXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICAkYmFzZSAtIFZhbHVlIG9mIEZvbnQgU2l6ZSBpbiBQaG90b3Nob3AncyBDaGFyYWN0ZXIgUGFuZWxcbiAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogQ29sb3JzXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBGb250c1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogV2lkdGhzXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBDb2x1bW4gQ291bnRcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEJyZWFrIFBvaW50c1xuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogTGF5ZXJzXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uX19kYXJrIHtcbiAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbn1cblxuLl9fbGlnaHQge1xuICBjb2xvcjogI0ZGRkZGRiAhaW1wb3J0YW50O1xufVxuXG4uX19iaWcge1xuICBmb250LXNpemU6IDEuMjVlbSAhaW1wb3J0YW50O1xufVxuXG4uX19zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMC43NWVtICFpbXBvcnRhbnQ7XG59XG5cbi5fX2JvbGQge1xuICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG59XG5cbi5fX2l0YWxpYyB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYyAhaW1wb3J0YW50O1xufVxuXG4uX191bmRlcmxpbmUge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50O1xufVxuXG4uX19sb3dlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7XG59XG5cbi5fX3VwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDtcbn1cblxuLl9fdGV4dGNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xufVxuXG4uX190ZXh0bGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLl9fdGV4dHJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLl9fbm93cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xufVxuXG4uX19jZW50ZXIge1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLl9fbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi5fX3JpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5cbi5fX25vbWFyZ2luIHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5fX25vcGFkZGluZyB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLl9fbm90cmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLl9fbm90cmFuc2l0aW9uIHtcbiAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uX19ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi5fX2ZsZXgge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG59XG5cbi5fX3Zpc3VhbGx5aGlkZGVuIHtcbiAgbGVmdDogLTk5OWVtICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB0b3A6IC05OTllbSAhaW1wb3J0YW50O1xufVxuXG4uX19wcmltYXJ5IHtcbiAgY29sb3I6ICM0NDhBRkYgIWltcG9ydGFudDtcbn1cblxuLl9fYWNjZW50IHtcbiAgY29sb3I6ICM0NDhBRkYgIWltcG9ydGFudDtcbn1cblxuLl9fZXJyb3Ige1xuICBjb2xvcjogI0M2MjgyOCAhaW1wb3J0YW50O1xufVxuXG4vKiBcInZpc2libGVcIiBjbGFzc2VzICovXG5AbWVkaWEgKG1heC13aWR0aDogMjkuOTM3NWVtKSB7XG4gIC5fX3Zpc2libGUteHh4cyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5fX3Zpc2libGUteHhzIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLl9fdmlzaWJsZS14cyB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTMuMjVlbSkge1xuICAuX192aXNpYmxlLXMge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDYxLjg3NWVtKSB7XG4gIC5fX3Zpc2libGUtbSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5fX3Zpc2libGUtbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzkuOTM3NWVtKSB7XG4gIC5fX3Zpc2libGUteGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDg1LjMxMjVlbSkge1xuICAuX192aXNpYmxlLXh4bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogODkuOTM3NWVtKSB7XG4gIC5fX3Zpc2libGUteHh4bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4vKiBcImhpZGRlblwiIGNsYXNzZXMgLS0gTk9URTogSXQgaXMgaW1wb3J0YW50IHRoYXQgX19oaWRkZW4gY2xhc3NlcyBjb21lIGFmdGVyIF9fdmlzaWJsZSBmb3Igb3ZlcnJpZGUgcHVycG9zZXMgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gIC5fX2hpZGRlbi14eHhzIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5fX2hpZGRlbi14eHMge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLl9faGlkZGVuLXhzIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1My4zMTI1ZW0pIHtcbiAgLl9faGlkZGVuLXMge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDYxLjkzNzVlbSkge1xuICAuX19oaWRkZW4tbSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAuX19oaWRkZW4tbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAuX19oaWRkZW4teGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDg1LjM3NWVtKSB7XG4gIC5fX2hpZGRlbi14eGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLl9faGlkZGVuLXh4eGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbj4+PiBUQUJMRSBPRiBDT05URU5UUzpcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgTm9ybWFsaXplXG4jIFR5cG9ncmFwaHlcbiMgRWxlbWVudHNcbiMgRm9ybXNcbiMgTmF2aWdhdGlvblxuXHQjIyBMaW5rc1xuXHQjIyBNZW51c1xuIyBBY2Nlc3NpYmlsaXR5XG4jIEFsaWdubWVudHNcbiMgQ2xlYXJpbmdzXG4jIFdpZGdldHNcbiMgQ29udGVudFxuXHQjIyBQb3N0cyBhbmQgcGFnZXNcblx0IyMgQ29tbWVudHNcbiMgSW5maW5pdGUgc2Nyb2xsXG4jIE1lZGlhXG5cdCMjIENhcHRpb25zXG5cdCMjIEdhbGxlcmllc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIE5vcm1hbGl6ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIG5vcm1hbGl6ZS5jc3MgdjguMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyogRG9jdW1lbnRcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMjVweDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG59XG5cbiNwYWdlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIC4uL21lZGlhIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3Jtc1xuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5idXR0b24sXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5bdHlwZT1idXR0b25dLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9c3VibWl0XSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPWJ1dHRvbl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1yZXNldF06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1zdWJtaXRdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9YnV0dG9uXTotbW96LWZvY3VzcmluZyxcblt0eXBlPXJlc2V0XTotbW96LWZvY3VzcmluZyxcblt0eXBlPXN1Ym1pdF06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICpcdFx0YGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuW3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuW3R5cGU9c2VhcmNoXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICBmb250OiBpbmhlcml0O1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2Ncblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIFR5cG9ncmFwaHlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBjb2xvcjogIzQwNDA0MDtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uaDEsXG5oMSxcbi5oMixcbmgyLFxuLmgzLFxuaDMsXG4uaDQsXG5oNCxcbi5oNSxcbmg1LFxuLmg2LFxuaDYge1xuICBjbGVhcjogYm90aDtcbn1cblxucCB7XG4gIG1hcmdpbjogMCAwIDI1cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjM2ZW07XG59XG5cbmRmbixcbmNpdGUsXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDIwcHggMDtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjMkQzRjRGO1xuICBwYWRkaW5nOiAwIDAgMCAzMHB4O1xufVxuXG5hZGRyZXNzIHtcbiAgbWFyZ2luOiAwIDAgMS41ZW07XG59XG5cbnByZSB7XG4gIGJhY2tncm91bmQ6ICNFRUVFRUU7XG4gIGZvbnQtZmFtaWx5OiBcIkNvdXJpZXIgMTAgUGl0Y2hcIiwgXCJDb3VyaWVyXCIsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbWFyZ2luLWJvdHRvbTogMS42ZW07XG4gIG1heC13aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHBhZGRpbmc6IDEuNmVtO1xufVxuXG5jb2RlLFxua2JkLFxudHQsXG52YXIge1xuICBmb250LWZhbWlseTogXCJNb25hY29cIiwgXCJDb25zb2xhc1wiLCBcIkFuZGFsZSBNb25vXCIsIFwiRGVqYVZ1IFNhbnMgTW9ub1wiLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG59XG5cbmFiYnIsXG5hY3JvbnltIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjNjY2NjY2O1xuICBjdXJzb3I6IGhlbHA7XG59XG5cbm1hcmssXG5pbnMge1xuICBiYWNrZ3JvdW5kOiAjRkZGOUMwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmJpZyB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgRWxlbWVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4qOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5ociB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDQ0NDQ0M7XG4gIGJvcmRlcjogMDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbi1ib3R0b206IDEuNWVtO1xufVxuXG51bCxcbm9sIHtcbiAgbWFyZ2luOiAwIDAgMS41ZW07XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbn1cblxudWwgbGksXG5vbCBsaSB7XG4gIG1hcmdpbjogOHB4IDA7XG4gIHBhZGRpbmctbGVmdDogOHB4O1xufVxuXG51bCB7XG4gIGxpc3Qtc3R5bGU6IGRpc2M7XG59XG5cbm9sIHtcbiAgbGlzdC1zdHlsZTogZGVjaW1hbDtcbn1cblxubGkgPiB1bCxcbmxpID4gb2wge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtYXJnaW4tbGVmdDogMS41ZW07XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuZGQge1xuICBtYXJnaW46IDAgMS41ZW0gMS41ZW07XG59XG5cbmltZyB7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSAwO1xufVxuXG50YWJsZSB7XG4gIG1hcmdpbjogMCAwIDEuNWVtO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgRm9ybXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5idXR0b24sXG5pbnB1dFt0eXBlPWJ1dHRvbl0sXG5pbnB1dFt0eXBlPXJlc2V0XSxcbmlucHV0W3R5cGU9c3VibWl0XSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICNDQ0NDQ0MgI0NDQ0NDQyAjQkJCQkJCO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQ6ICNFNkU2RTY7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZzogMC42ZW0gMWVtIDAuNGVtO1xufVxuXG5idXR0b246aG92ZXIsXG5pbnB1dFt0eXBlPWJ1dHRvbl06aG92ZXIsXG5pbnB1dFt0eXBlPXJlc2V0XTpob3ZlcixcbmlucHV0W3R5cGU9c3VibWl0XTpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI0NDQ0NDQyAjQkJCQkJCICNBQUFBQUE7XG59XG5cbmJ1dHRvbjphY3RpdmUsXG5idXR0b246Zm9jdXMsXG5pbnB1dFt0eXBlPWJ1dHRvbl06YWN0aXZlLFxuaW5wdXRbdHlwZT1idXR0b25dOmZvY3VzLFxuaW5wdXRbdHlwZT1yZXNldF06YWN0aXZlLFxuaW5wdXRbdHlwZT1yZXNldF06Zm9jdXMsXG5pbnB1dFt0eXBlPXN1Ym1pdF06YWN0aXZlLFxuaW5wdXRbdHlwZT1zdWJtaXRdOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjQUFBQUFBICNCQkJCQkIgI0JCQkJCQjtcbn1cblxuaW5wdXRbdHlwZT10ZXh0XSxcbmlucHV0W3R5cGU9ZW1haWxdLFxuaW5wdXRbdHlwZT11cmxdLFxuaW5wdXRbdHlwZT1wYXNzd29yZF0sXG5pbnB1dFt0eXBlPXNlYXJjaF0sXG5pbnB1dFt0eXBlPW51bWJlcl0sXG5pbnB1dFt0eXBlPXRlbF0sXG5pbnB1dFt0eXBlPXJhbmdlXSxcbmlucHV0W3R5cGU9ZGF0ZV0sXG5pbnB1dFt0eXBlPW1vbnRoXSxcbmlucHV0W3R5cGU9d2Vla10sXG5pbnB1dFt0eXBlPXRpbWVdLFxuaW5wdXRbdHlwZT1kYXRldGltZV0sXG5pbnB1dFt0eXBlPWRhdGV0aW1lLWxvY2FsXSxcbmlucHV0W3R5cGU9Y29sb3JdLFxudGV4dGFyZWEge1xuICBjb2xvcjogIzY2NjY2NjtcbiAgYm9yZGVyOiAxcHggc29saWQgI0NDQ0NDQztcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBwYWRkaW5nOiAzcHg7XG59XG5cbmlucHV0W3R5cGU9dGV4dF06Zm9jdXMsXG5pbnB1dFt0eXBlPWVtYWlsXTpmb2N1cyxcbmlucHV0W3R5cGU9dXJsXTpmb2N1cyxcbmlucHV0W3R5cGU9cGFzc3dvcmRdOmZvY3VzLFxuaW5wdXRbdHlwZT1zZWFyY2hdOmZvY3VzLFxuaW5wdXRbdHlwZT1udW1iZXJdOmZvY3VzLFxuaW5wdXRbdHlwZT10ZWxdOmZvY3VzLFxuaW5wdXRbdHlwZT1yYW5nZV06Zm9jdXMsXG5pbnB1dFt0eXBlPWRhdGVdOmZvY3VzLFxuaW5wdXRbdHlwZT1tb250aF06Zm9jdXMsXG5pbnB1dFt0eXBlPXdlZWtdOmZvY3VzLFxuaW5wdXRbdHlwZT10aW1lXTpmb2N1cyxcbmlucHV0W3R5cGU9ZGF0ZXRpbWVdOmZvY3VzLFxuaW5wdXRbdHlwZT1kYXRldGltZS1sb2NhbF06Zm9jdXMsXG5pbnB1dFt0eXBlPWNvbG9yXTpmb2N1cyxcbnRleHRhcmVhOmZvY3VzIHtcbiAgY29sb3I6ICMxMTExMTE7XG59XG5cbnNlbGVjdCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDQ0NDQ0M7XG59XG5cbnRleHRhcmVhIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIE5hdmlnYXRpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyMgTGlua3Ncbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5hIHtcbiAgY29sb3I6ICMzNkJDRTg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cztcbn1cblxuYTpob3ZlcixcbmE6Zm9jdXMsXG5hOmFjdGl2ZSB7XG4gIGNvbG9yOiAjOUIxQzFGO1xufVxuXG5hOmhvdmVyLFxuYTphY3RpdmUge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyMgTWVudXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubWFpbi1uYXZpZ2F0aW9uIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwO1xufVxuXG4ubWFpbi1uYXZpZ2F0aW9uIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4ubWFpbi1uYXZpZ2F0aW9uIGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAyOHB4O1xuICBwYWRkaW5nOiA5cHggMDtcbn1cblxuLm1haW4tbmF2aWdhdGlvbiBsaTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4ubWFpbi1uYXZpZ2F0aW9uIGxpOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5tYWluLW5hdmlnYXRpb24gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjMkQzRjRGO1xuICBmb250LXNpemU6IDIwcHg7XG59XG5cbi5tYWluLW5hdmlnYXRpb24gYTpob3ZlciB7XG4gIGNvbG9yOiAjMzZCQ0U4O1xufVxuXG4ubWFpbi1uYXZpZ2F0aW9uIHVsIGxpID4gdWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM3N0NEOTtcbiAgcGFkZGluZzogMTBweCAwO1xuICB3aWR0aDogMjIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBsZWZ0OiA1MCU7XG4gIHotaW5kZXg6IDI7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cztcbn1cblxuLm1haW4tbmF2aWdhdGlvbiB1bCBsaTpob3ZlciA+IHVsIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbiAgdG9wOiAxMDAlO1xufVxuXG4ubWFpbi1uYXZpZ2F0aW9uIHVsIGxpID4gdWwgbGkge1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwO1xufVxuXG4ubWFpbi1uYXZpZ2F0aW9uIHVsIGxpID4gdWwgbGkgYSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgcGFkZGluZzogMTBweDtcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5tYWluLW5hdmlnYXRpb24gdWwgbGkgPiB1bCBsaSBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLm1haW4tbmF2aWdhdGlvbiBsaS5jdXJyZW50LW1lbnUtaXRlbSA+IGEge1xuICBjb2xvcjogIzM2QkNFODtcbn1cblxuLm1haW4tbmF2aWdhdGlvbiBsaS5jdXJyZW50LW1lbnUtcGFyZW50ID4gYSB7XG4gIGNvbG9yOiAjMzZCQ0U4O1xufVxuXG4vKiBTbWFsbCBtZW51LiAqL1xuLnNpdGUtbWFpbiAuY29tbWVudC1uYXZpZ2F0aW9uLFxuLnNpdGUtbWFpbiAucG9zdHMtbmF2aWdhdGlvbixcbi5zaXRlLW1haW4gLnBvc3QtbmF2aWdhdGlvbiB7XG4gIG1hcmdpbjogMCAwIDEuNWVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBBY2Nlc3NpYmlsaXR5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICB3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YxRjFGMTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgY2xpcC1wYXRoOiBub25lO1xuICBjb2xvcjogIzIxNzU5QjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBsZWZ0OiA1cHg7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRvcDogNXB4O1xuICB3aWR0aDogYXV0bztcbn1cblxuI2NvbnRlbnRbdGFiaW5kZXg9XCItMVwiXTpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIEFsaWdubWVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uYWxpZ25sZWZ0LFxuLmFsaWducmlnaHQge1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MXB4KSB7XG4gIC5hbGlnbmxlZnQge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNWVtO1xuICB9XG5cbiAgLmFsaWducmlnaHQge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNWVtO1xuICB9XG59XG4uYWxpZ25jZW50ZXIge1xuICBjbGVhcjogYm90aDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIENsZWFyaW5nc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5jbGVhcjo6YmVmb3JlLFxuLmNsZWFyOjphZnRlcixcbi5lbnRyeS1jb250ZW50OjpiZWZvcmUsXG4uZW50cnktY29udGVudDo6YWZ0ZXIsXG4uY29tbWVudC1jb250ZW50OjpiZWZvcmUsXG4uY29tbWVudC1jb250ZW50OjphZnRlcixcbi5zaXRlLWhlYWRlcjo6YmVmb3JlLFxuLnNpdGUtaGVhZGVyOjphZnRlcixcbi5zaXRlLWNvbnRlbnQ6OmJlZm9yZSxcbi5zaXRlLWNvbnRlbnQ6OmFmdGVyLFxuLnNpdGUtZm9vdGVyOjpiZWZvcmUsXG4uc2l0ZS1mb290ZXI6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG59XG5cbi5jbGVhcjo6YWZ0ZXIsXG4uZW50cnktY29udGVudDo6YWZ0ZXIsXG4uY29tbWVudC1jb250ZW50OjphZnRlcixcbi5zaXRlLWhlYWRlcjo6YWZ0ZXIsXG4uc2l0ZS1jb250ZW50OjphZnRlcixcbi5zaXRlLWZvb3Rlcjo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgV2lkZ2V0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi53aWRnZXQge1xuICBtYXJnaW46IDAgMCAxLjVlbTtcbn1cblxuLndpZGdldCBzZWxlY3Qge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyMgUG9zdHMgYW5kIHBhZ2VzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnN0aWNreSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uaGVudHJ5IHtcbiAgbWFyZ2luOiAwIDAgMS41ZW07XG59XG5cbi51cGRhdGVkOm5vdCgucHVibGlzaGVkKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wYWdlLWNvbnRlbnQsXG4uZW50cnktY29udGVudCxcbi5lbnRyeS1zdW1tYXJ5IHtcbiAgbWFyZ2luOiAxLjVlbSAwIDA7XG59XG5cbi5wYWdlLWxpbmtzIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbjogMCAwIDEuNWVtO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyMgQ29tbWVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uY29tbWVudC1jb250ZW50IGEge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi5ieXBvc3RhdXRob3Ige1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgTWVkaWFcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ucGFnZS1jb250ZW50IC53cC1zbWlsZXksXG4uZW50cnktY29udGVudCAud3Atc21pbGV5LFxuLmNvbW1lbnQtY29udGVudCAud3Atc21pbGV5IHtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtYXJnaW4tdG9wOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG5lbWJlZCxcbmlmcmFtZSxcbm9iamVjdCB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmN1c3RvbS1sb2dvLWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIyBDYXB0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi53cC1jYXB0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLndwLWNhcHRpb24gaW1nW2NsYXNzKj13cC1pbWFnZS1dIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi53cC1jYXB0aW9uIC53cC1jYXB0aW9uLXRleHQge1xuICBtYXJnaW46IDAuODA3NWVtIDA7XG59XG5cbi53cC1jYXB0aW9uLXRleHQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIyBTaXRlIEhlYWRlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4uY29udGFpbmVyLWZsdWlkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLmQtZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5qdXN0aWZ5LWNvbnRlbnQtc3RhcnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbn1cblxuLmp1c3RpZnktY29udGVudC1lbmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG59XG5cbi5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLmp1c3RpZnktY29udGVudC1iZXR3ZWVuIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG59XG5cbi5qdXN0aWZ5LWNvbnRlbnQtYXJvdW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWl0ZW1zLXN0YXJ0IHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWl0ZW1zLWVuZCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZCAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24taXRlbXMtY2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24taXRlbXMtYmFzZWxpbmUge1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWl0ZW1zLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaCAhaW1wb3J0YW50O1xufVxuXG4uZmxleC1yb3ctcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbn1cblxuLnAtcmVsYXRpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5iZy1zdHlsZSB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XG59XG5cbi5jbGVhcmZpeCB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY2xlYXJmaXg6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyMgU2l0ZSBIZWFkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uc2l0ZS1oZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDI3cHggMCAzNXB4O1xufVxuXG4uc2l0ZS1icmFuZGluZyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uc2l0ZS10aXRsZSBhLFxuLnNpdGUtdGl0bGUgYSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbi5zaXRlLXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogNDMwcHg7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIyBIb21lIEJhbm5lclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5ob21lLWJhbm5lci1zbGlkZXItaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn1cblxuLmhvbWUtYmFubmVyLWNvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA2NTZweDtcbn1cblxuLmNvbnRhY3QtbnVtYmVyIC5idG4tbGluazpob3ZlciB7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuXG4uYnRuLWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5idG4tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5QTFDMUY7XG4gIGZvbnQtc2l6ZTogMjZweDtcbiAgcGFkZGluZzogMTlweCA1MHB4IDI0cHggMzhweDtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuLmJ0bi1wcmltYXJ5OmhvdmVyLFxuLmJ0bi1wcmltYXJ5OmZvY3VzIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNkJDRTg7XG59XG5cbi5jb250YWN0LW51bWJlciAuYnRuLXByaW1hcnkge1xuICBib3JkZXItcmFkaXVzOiA2cHggMCAwIDZweDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5ob21lLWJhbm5lci1zbGlkZXIgLnNsaWNrLWRvdHMge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDIwcHggMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG4uaG9tZS1iYW5uZXItc2xpZGVyIC5zbGljay1kb3RzIGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgNXB4O1xuICBwYWRkaW5nOiAwO1xufVxuXG4uaG9tZS1iYW5uZXItc2xpZGVyIC5zbGljay1kb3RzIGxpIGJ1dHRvbiB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IDJweCBzb2xpZCAjRkZGRkZGO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5ob21lLWJhbm5lci1zbGlkZXIgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjYpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbn1cblxuLmhvbWUtYmFubmVyLXNsaWRlciAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOjpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIyBDb250ZW50IGFyZWEgU2VjdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5jb250ZW50LWFyZWEgaDIge1xuICBmb250LXNpemU6IDEuNmVtO1xuICBjb2xvcjogIzJEM0Y0RjtcbiAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICBtYXJnaW46IDAgMCAwLjVlbTtcbn1cblxuLmNvbnRlbnQtYXJlYSBoMyB7XG4gIGZvbnQtc2l6ZTogMS40ZW07XG4gIGNvbG9yOiAjOUIxQzFGO1xuICBsaW5lLWhlaWdodDogMS4yZW07XG4gIG1hcmdpbjogMCAwIDAuNGVtO1xufVxuXG4uY29udGVudC1hcmVhIGg0IHtcbiAgZm9udC1zaXplOiAxLjNlbTtcbiAgY29sb3I6ICMyRDNGNEY7XG4gIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgbWFyZ2luOiAwIDAgMC4zZW07XG59XG5cbi5jb250ZW50LWFyZWEgaDUge1xuICBmb250LXNpemU6IDEuMmVtO1xuICBjb2xvcjogIzlCMUMxRjtcbiAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICBtYXJnaW46IDAgMCAwLjJlbTtcbn1cblxuLmNvbnRlbnQtYXJlYSBoNiB7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG4gIGNvbG9yOiAjMkQzRjRGO1xuICBsaW5lLWhlaWdodDogMS4yZW07XG4gIG1hcmdpbjogMCAwIDAuMmVtO1xufVxuXG4uY29udGVudC1hcmVhIHtcbiAgcGFkZGluZzogNjZweCAwIDk2cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmFib3V0LWNvbnRlbnQtYXJlYSAuY29udGVudC1hcmVhLWxlZnQge1xuICB3aWR0aDogNTclO1xufVxuXG4uYWJvdXQtY29udGVudC1hcmVhIC5jb250ZW50LWFyZWEtcmlnaHQge1xuICB3aWR0aDogNDMlO1xufVxuXG4uY29udGVudC1hcmVhIC5yb3cge1xuICBtYXJnaW4tYm90dG9tOiAtNjBweDtcbn1cblxuLmFib3V0LWNvbnRlbnQtYXJlYSAuYWJvdXQtdGh1bWIge1xuICBtYXJnaW46IC0yOHB4IDAgLTk2cHg7XG59XG5cbi5tYXBzLWJsb2NrIHtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJEM0Y0RjtcbiAgcGFkZGluZzogNnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5tYXBzLWZyYW1lIHtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubWFwcy1mcmFtZSBpbWcsXG4ubWFwcy1mcmFtZSBpZnJhbWUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLm1hcHMtYmxvY2sgaDQge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGNvbG9yOiAjMzZCQ0U4O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjNlbTtcbiAgbWFyZ2luOiAzMXB4IDIwcHg7XG59XG5cbi5jb250ZW50LXBhcnQge1xuICBtYXJnaW4tYm90dG9tOiA2MXB4O1xuICBjbGVhcjogYm90aDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMjIElubmVyIHBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uaW5uZXItYmFubmVyIHtcbiAgcGFkZGluZzogMjBweCAwO1xuICBoZWlnaHQ6IDIzMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmlubmVyLWJhbm5lcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkQzRjRGO1xuICBvcGFjaXR5OiAwLjM7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogLTE7XG59XG5cbi5wYWdlLXRpdGxlIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIG1hcmdpbjogMDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiA0MXB4O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyMgU2VydmljZXMgcGFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zZXJ2aWNlcy1wYWdlLXNlY3Rpb24ge1xuICBwYWRkaW5nOiAyNXB4IDA7XG59XG5cbi5zZXJ2aWNlcy1wYWdlLWl0ZW0ge1xuICBtYXJnaW46IDg4cHggMDtcbn1cblxuLnNlcnZpY2VzLXBhZ2Utc3VtbWFyeSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc2VydmljZXMtcGFnZS1zdW1tYXJ5IGgzIHtcbiAgbWFyZ2luOiAwIDAgMzVweDtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBsaW5lLWhlaWdodDogMWVtO1xufVxuXG4uc2VydmljZXMtcGFnZS1zdW1tYXJ5IGgzIGEge1xuICBjb2xvcjogIzAwMDAwMDtcbn1cblxuLnNlcnZpY2VzLXBhZ2Utc3VtbWFyeSBoMyBhOmhvdmVyIHtcbiAgY29sb3I6ICMzNkJDRTg7XG59XG5cbi5jb250YWN0LW51bWJlci1ncm91cCB7XG4gIHBhZGRpbmctYm90dG9tOiAxMDJweDtcbiAgcGFkZGluZy10b3A6IDI3cHg7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIyBBYm91dCBwYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmFib3V0LWNvbnRlbnQtYXJlYSB7XG4gIHBhZGRpbmc6IDc4cHggMCA5NnB4O1xufVxuXG4uYWJvdXQtdGh1bWIgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uYWJvdXQtY29udGFjdC1udW1iZXItZ3JvdXAge1xuICBwYWRkaW5nLXRvcDogMzdweDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMjIE5vdCBGb3VuZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5ub3QtZm91bmQge1xuICBwYWRkaW5nOiAxMDBweCAwO1xufVxuXG4ubm90LWZvdW5kIC5wYWdlLWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDgwMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ubm90LWZvdW5kIC5wYWdlLWNvbnRlbnQgcCB7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgY29sb3I6ICMyRDNGNEY7XG59XG5cbi5ub3QtZm91bmQgLmJ0bi1wcmltYXJ5IHtcbiAgcGFkZGluZzogMTlweCA1MHB4IDI0cHg7XG59XG5cbi5wYWdlLXRpdGxlLXRvcCB7XG4gIGZvbnQtc2l6ZTogNjBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG59XG5cbi5kZWZhdWx0LWNvbnRlbnQtYXJlYSAuY29udGVudC1hcmVhLWxlZnQge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIyBHYWxsZXJpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5nYWxsZXJ5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmdhbGxlcnktaXRlbSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxNXB4O1xuICBmbGV4LXNocmluazogMDtcbiAgZmxleC1ncm93OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmdhbGxlcnktY29sdW1ucy0xIC5nYWxsZXJ5LWl0ZW0ge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xufVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTIgLmdhbGxlcnktaXRlbSB7XG4gIGZsZXgtYmFzaXM6IDUwJTtcbn1cblxuLmdhbGxlcnktY29sdW1ucy0zIC5nYWxsZXJ5LWl0ZW0ge1xuICBmbGV4LWJhc2lzOiAzMy4zMzMzMzMzMzMzJTtcbn1cblxuLmdhbGxlcnktY29sdW1ucy00IC5nYWxsZXJ5LWl0ZW0ge1xuICBmbGV4LWJhc2lzOiAyNSU7XG59XG5cbi5nYWxsZXJ5LWNvbHVtbnMtNSAuZ2FsbGVyeS1pdGVtIHtcbiAgZmxleC1iYXNpczogMjAlO1xufVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTYgLmdhbGxlcnktaXRlbSB7XG4gIGZsZXgtYmFzaXM6IDE2LjY2NjY2NjY2NjclO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMjIE5pbmphIEZvcm1zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ubmYtZm9ybS1jb250IGlucHV0LFxuLm5mLWZvcm0tY29udCBvcHRpb24sXG4ubmYtZm9ybS1jb250IHNlbGVjdCxcbi5uZi1mb3JtLWNvbnQgdGV4dGFyZWEge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA4cHggNXB4O1xufVxuLm5mLWZvcm0tY29udCBidXR0b24sXG4ubmYtZm9ybS1jb250IC5idXR0b24sXG4ubmYtZm9ybS1jb250IGlucHV0W3R5cGU9YnV0dG9uXSB7XG4gIHBhZGRpbmc6IDIwcHggNDVweDtcbiAgYmFja2dyb3VuZDogIzlCMUMxRjtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiAjRkZGRkZGO1xuICBmb250LXNpemU6IDI2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cztcbn1cbi5uZi1mb3JtLWNvbnQgaW5wdXRbdHlwZT1idXR0b25dOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzM2QkNFODtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA1NDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNzIwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDk2MHB4O1xuICB9XG5cbiAgLmNsb3NlLW1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tb2JpbGUtbWVudSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTE0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTM2NnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTQ2NnB4O1xuICB9XG59XG4vKiBNYXggbWVkaWEgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAxNTk5cHgpIHtcbiAgLnNpdGUtdGl0bGUge1xuICAgIG1heC13aWR0aDogMzMwcHg7XG4gIH1cblxuICAubWFpbi1uYXZpZ2F0aW9uIGxpIHtcbiAgICBtYXJnaW46IDAgMTNweDtcbiAgfVxuXG4gIC8qIEhlYWRlciAqL1xuICAuYWJvdXQtY29udGVudC1hcmVhIC5jb250ZW50LWFyZWEtcmlnaHQge1xuICAgIHdpZHRoOiA0MCU7XG4gIH1cblxuICAuYWJvdXQtY29udGVudC1hcmVhIC5jb250ZW50LWFyZWEtbGVmdCB7XG4gICAgd2lkdGg6IDYwJTtcbiAgfVxuXG4gIC5zZXJ2aWNlcy1wb3N0IGgzIHtcbiAgICBmb250LXNpemU6IDI2cHg7XG4gIH1cblxuICAvKiBTZXJ2aWNlcyAqL1xufVxuLyogMTQ0MHB4ICovXG5AbWVkaWEgKG1heC13aWR0aDogMTQzOXB4KSB7XG4gIC5zaXRlLWhlYWRlciB7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICB9XG5cbiAgLnNpdGUtdGl0bGUge1xuICAgIG1heC13aWR0aDogMjkwcHg7XG4gIH1cblxuICAubWFpbi1uYXZpZ2F0aW9uIGxpIHtcbiAgICBtYXJnaW46IDAgMTJweDtcbiAgfVxuXG4gIC5jYWxsLXVzLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgLmNhbGwtdXMtYmxvY2sgc3BhbiB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG5cbiAgLmhlYWRlci1zb2NpYWwgYSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG5cbiAgLm1haW4tbmF2aWdhdGlvbiBhIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cblxuICAubWFpbi1uYXZpZ2F0aW9uIHVsIGxpID4gdWwgbGkgYSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHBhZGRpbmc6IDZweCAxMHB4O1xuICB9XG5cbiAgLm1haW4tbmF2aWdhdGlvbiB1bCBsaSA+IHVsIHtcbiAgICB3aWR0aDogMjAwcHg7XG4gIH1cbn1cbi8qIDEyMDBweCAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAuc2l0ZS1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgfVxuXG4gIC5zaXRlLXRpdGxlIHtcbiAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICB9XG5cbiAgLm1haW4tbmF2aWdhdGlvbiBsaSB7XG4gICAgbWFyZ2luOiAwIDdweDtcbiAgfVxuXG4gIC5jYWxsLXVzLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICB9XG5cbiAgLm1haW4tbmF2aWdhdGlvbiBhIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gIH1cblxuICAubWFpbi1uYXZpZ2F0aW9uIHVsIGxpID4gdWwgbGkgYSB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICB9XG5cbiAgLyogSGVhZGVyICovXG4gIC5zZXJ2aWNlcy1pdGVtIHtcbiAgICB3aWR0aDogMzMuMzMlO1xuICB9XG5cbiAgLmNvbnRhY3QtbnVtYmVyIHNwYW4ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIH1cblxuICAvKiBTZXJ2aWNlcyAqL1xuICAuZm9vdGVyLWxvZ28gYSB7XG4gICAgbWF4LXdpZHRoOiAyNTVweDtcbiAgfVxuXG4gIC5mb290ZXItbnVtYmVyIGEsXG4uZm9vdGVyLWJ1dHRvbiBhIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cblxuICAuZm9vdGVyLWNvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIC5jb250ZW50LWFyZWEgLmJ0bi1wcmltYXJ5IHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gIH1cblxuICAvKiBGb290ZXIgKi9cbn1cbi8qIDk5MiAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5zaXRlLXRpdGxlIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDI3NXB4O1xuICB9XG5cbiAgLm1haW4tbmF2aWdhdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5tYWluLW5hdmlnYXRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyRDNGNEY7XG4gICAgYm90dG9tOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgMCAyMHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHdpZHRoOiAyNzBweDtcbiAgICB6LWluZGV4OiA5OTtcbiAgfVxuXG4gIC5tYWluLW5hdmlnYXRpb24gLmNsb3NlLW1lbnUge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xuICB9XG5cbiAgLm1haW4tbmF2aWdhdGlvbiAuY2xvc2UtbWVudSBpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIH1cblxuICBib2R5Lm1lbnUtb3BlbiAubWFpbi1uYXZpZ2F0aW9uIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAubWVudS1vcGVuOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgICBib3R0b206IDA7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBsZWZ0OiAwO1xuICAgIG9wYWNpdHk6IDAuODtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICAubWFpbi1uYXZpZ2F0aW9uIGxpIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLm1haW4tbmF2aWdhdGlvbiBsaSBhIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgfVxuXG4gIC5tYWluLW5hdmlnYXRpb24gbGkuY3VycmVudC1tZW51LWl0ZW0gPiBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIH1cblxuICAuY2FsbC11cy1ibG9jayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5kcm9wLWFycm93IHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiA1MHB4O1xuICB9XG5cbiAgLmRyb3AtYXJyb3c6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNCM0IzQjM7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0IzQjNCMztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogMTBweDtcbiAgICBsZWZ0OiAxOHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDE1cHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIHdpZHRoOiAxMHB4O1xuICB9XG5cbiAgLm1haW4tbmF2aWdhdGlvbiB1bCBsaSA+IHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5tYWluLW5hdmlnYXRpb24gdWwgbGkub3BlbiA+IHVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5tYWluLW5hdmlnYXRpb24gdWwgbGkgPiB1bCBsaSBhIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB9XG5cbiAgLmhlYWRlci1zb2NpYWwgYTpob3Zlcixcbi5oZWFkZXItc29jaWFsIGE6Zm9jdXMsXG4uY2FsbC11cy1ibG9jayBzcGFuIGE6aG92ZXIsXG4uY2FsbC11cy1ibG9jayBzcGFuIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICB9XG5cbiAgLyogTWVudSAqL1xuICAuc2l0ZS1oZWFkZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5zaXRlLWhlYWRlciAuZC1mbGV4IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAuc2l0ZS1icmFuZGluZyB7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5tb2JpbGUtbWVudSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICAubW9iaWxlLW1lbnUgYSB7XG4gICAgY29sb3I6ICMyRDNGNEY7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICAgIHBhZGRpbmc6IDE3cHggMTFweCAxOXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAubW9iaWxlLW1lbnUgYSBpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbiAgfVxuXG4gIC8qIEhlYWRlciAqL1xuICAuYWJvdXQtY29udGVudC1hcmVhIC5hYm91dC10aHVtYiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmNvbnRlbnQtYXJlYS1sZWZ0IHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuYWJvdXQtY29udGVudC1hcmVhIC5jb250ZW50LWFyZWEtcmlnaHQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmFib3V0LWNvbnRlbnQtYXJlYSAuY29udGVudC1hcmVhLWxlZnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmNvbnRlbnQtYXJlYS1yaWdodCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzZweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5jb250ZW50LXBhcnQge1xuICAgIG1hcmdpbi1ib3R0b206IDc2cHg7XG4gIH1cblxuICAuY29udGVudC1wYXJ0ICsgLmJ0bi1wcmltYXJ5IHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgcGFkZGluZzogMjRweCAzNnB4IDI5cHg7XG4gIH1cblxuICAuc2VydmljZXMtcGFnZS1pdGVtIHtcbiAgICBtYXJnaW46IDg0cHggMDtcbiAgfVxuXG4gIC5zZXJ2aWNlcy1wYWdlLXRodW1iIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IDI2MHB4O1xuICB9XG5cbiAgLnNlcnZpY2VzLXBhZ2Utc3VtbWFyeSBwIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzZlbTtcbiAgfVxuXG4gIC5jb250YWN0LW51bWJlci1ncm91cCB7XG4gICAgcGFkZGluZy1ib3R0b206IDQycHg7XG4gIH1cblxuICAvKiBTZXJ2aWNlcyAqL1xuICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgIyMgR2FsbGVyaWVzXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgLmdhbGxlcnktY29sdW1ucy0xIC5nYWxsZXJ5LWl0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gIH1cblxuICAuZ2FsbGVyeS1jb2x1bW5zLTIgLmdhbGxlcnktaXRlbSB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgfVxuXG4gIC5nYWxsZXJ5LWNvbHVtbnMtMyAuZ2FsbGVyeS1pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICB9XG5cbiAgLmdhbGxlcnktY29sdW1ucy00IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gIH1cblxuICAuZ2FsbGVyeS1jb2x1bW5zLTUgLmdhbGxlcnktaXRlbSB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgfVxuXG4gIC5nYWxsZXJ5LWNvbHVtbnMtNiAuZ2FsbGVyeS1pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICB9XG59XG4vKiA3NjcgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICBib2R5IHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cblxuICBwIHtcbiAgICBsaW5lLWhlaWdodDogMS40ZW07XG4gIH1cblxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMnB4O1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgfVxuXG4gIC8qIEhlYWRlciAqL1xuICAuYnRuLXByaW1hcnkge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBwYWRkaW5nOiAxNXB4IDUxcHggMTdweDtcbiAgfVxuXG4gIC5ub3QtZm91bmQgLmJ0bi1wcmltYXJ5IHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgcGFkZGluZzogMTVweCA1MXB4IDE3cHg7XG4gIH1cblxuICAuY29udGFjdC1udW1iZXIgc3BhbiB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIHBhZGRpbmc6IDEzcHggMCAxN3B4O1xuICB9XG5cbiAgLmhvbWUtYmFubmVyLXNsaWRlci1pdGVtIHtcbiAgICBtaW4taGVpZ2h0OiBpbmhlcml0O1xuICAgIHBhZGRpbmc6IDU1cHggMCAxN3B4O1xuICB9XG5cbiAgLmhvbWUtYmFubmVyLXNsaWRlci1pdGVtOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAwLjU0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogLTE7XG4gIH1cblxuICAuaG9tZS1iYW5uZXItY29udGVudCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmNvbnRhY3QtbnVtYmVyIHtcbiAgICBtYXgtd2lkdGg6IDMzMHB4O1xuICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmNvbnRhY3QtbnVtYmVyIC5idG4tcHJpbWFyeSB7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICB9XG5cbiAgLnNlcnZpY2VzLWxpbms6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMkQzRjRGO1xuICAgIG9wYWNpdHk6IDAuNjY7XG4gIH1cblxuICAuc2VydmljZXMtcG9zdCBoMyB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cblxuICAuYWJvdXQtdGh1bWIgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICB9XG5cbiAgLmlubmVyLWJhbm5lciB7XG4gICAgaGVpZ2h0OiAxNjZweDtcbiAgfVxuXG4gIC5wYWdlLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiA3NiU7XG4gIH1cblxuICAuc2VydmljZXMtcGFnZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAwIDEwcHggMjVweDtcbiAgfVxuXG4gIC5zZXJ2aWNlcy1wYWdlLXRodW1iIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MnB4O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5zZXJ2aWNlcy1wYWdlLXN1bW1hcnkgaDMge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cblxuICAuc2VydmljZXMtcGFnZS1zdW1tYXJ5IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC5ub3QtZm91bmQge1xuICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgfVxuXG4gIC5ub3QtZm91bmQgLnBhZ2UtY29udGVudCBwIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cblxuICAuYWJvdXQtY29udGFjdC1udW1iZXItZ3JvdXAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyRDNGNEY7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLmNvbnRhY3QtbnVtYmVyLWdyb3VwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkQzRjRGO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogMzdweDtcbiAgfVxuXG4gIC5jb250ZW50LWFyZWEgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDE1cHggYXV0bztcbiAgfVxuXG4gIC8qIFNlcnZpY2VzICovXG4gIC5mb290ZXItY29udGVudCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5mb290ZXItbnVtYmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgb3JkZXI6IDI7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZm9vdGVyLWJ1dHRvbiB7XG4gICAgb3JkZXI6IDM7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmZvb3Rlci1sb2dvIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMXB4O1xuICAgIG9yZGVyOiAxO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5mb290ZXItbnVtYmVyIGEsXG4uZm9vdGVyLWJ1dHRvbiBhIHtcbiAgICBmb250LXNpemU6IDI2cHg7XG4gIH1cblxuICAvKiBGb290ZXIgKi9cbn1cbi8qIDc2NyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gIC8qIEhlYWRlciAqL1xuICAuc2VydmljZXMtaXRlbSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuc2VydmljZXMtc2VjdGlvbiB7XG4gICAgcGFkZGluZzogNThweCAyMHB4IDUwcHg7XG4gIH1cblxuICAuY29udGVudC1hcmVhIHtcbiAgICBwYWRkaW5nOiA1MXB4IDAgNjRweDtcbiAgfVxuXG4gIC5tYXBzLWJsb2NrIGg0IHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzRlbTtcbiAgICBtYXJnaW46IDI1cHggMjBweCAxMnB4O1xuICB9XG5cbiAgLnNlcnZpY2VzLXBvc3QgaW1nIHtcbiAgICBoZWlnaHQ6IDE3NXB4O1xuICB9XG5cbiAgLyogU2VydmljZXMgKi9cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA0MjBweCkge1xuICAuYWJvdXQtY29udGFjdC1udW1iZXItZ3JvdXAgLmNvbnRhY3QtbnVtYmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cbi5zaXRlLWhlYWRlciB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi51cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4udGVsLWxpbmsge1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi5zb2NpYWwtbGlua3Mgc3ZnIHtcbiAgZm9udC1zaXplOiAyMXB4O1xufVxuXG4ubG9nbyB7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogNDMwcHg7XG59XG5cbi5zaXRlLWJyYW5kaW5nIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmNvbnRhaW5lci0taGVhZGVyLW1haW4ge1xuICBwYWRkaW5nOiAyNHB4IDA7XG59XG5cbi5tZW51LW1haW4tbmF2aWdhdGlvbi1jb250YWluZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDEwMCU7XG59XG4ubWVudS1tYWluLW5hdmlnYXRpb24tY29udGFpbmVyIC5tZW51IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm1lbnUtbWFpbi1uYXZpZ2F0aW9uLWNvbnRhaW5lciAubWVudSA+IC5tZW51LWl0ZW0gPiBhIHtcbiAgY29sb3I6ICMzNzdDRDk7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXM7XG59XG4ubWVudS1tYWluLW5hdmlnYXRpb24tY29udGFpbmVyIC5tZW51ID4gLm1lbnUtaXRlbSA+IGE6aG92ZXIge1xuICBjb2xvcjogIzIzNjNiYTtcbn1cblxuLmhlYWRlci1jb250YWluZXIgLmNvbnRhY3Qge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBwYWRkaW5nOiA4cHggMDtcbn1cbi5oZWFkZXItY29udGFpbmVyIC5jb250YWN0IHAsXG4uaGVhZGVyLWNvbnRhaW5lciAuY29udGFjdCBhLFxuLmhlYWRlci1jb250YWluZXIgLmNvbnRhY3QgbGkge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgbWFyZ2luOiAwO1xufVxuLmhlYWRlci1jb250YWluZXIgLmNvbnRhY3QgcCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbi5oZWFkZXItY29udGFpbmVyIC5zb2NpYWwtbGlua3Mge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDAgMCAwIDM4cHg7XG4gIHBhZGRpbmc6IDA7XG59XG4uaGVhZGVyLWNvbnRhaW5lciAuaWNvbi13cmFwcGVyIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4uY29udGFpbmVyLS1mdWxsLWJsZWVkIHtcbiAgbWFyZ2luOiAwO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYmctYmFubmVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vbWVkaWEvaGVhZGVyLWJhbm5lci5qcGdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG59XG5cbi5ob21lLWJhbm5lci1zbGlkZXItaXRlbSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uaG9tZS1iYW5uZXItc2xpZGVyLWl0ZW0gLnNsaWRlX193cmFwcGVyIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTEwcHggMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogNTtcbn1cbi5ob21lLWJhbm5lci1zbGlkZXItaXRlbSAuc2xpZGVfX3dyYXBwZXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHJnYmEoMCwgMCwgMCwgMC44KSAwLCByZ2JhKDE2MywgMTYzLCAxNjMsIDApIDEwMCUpO1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogLTE7XG59XG4uaG9tZS1iYW5uZXItc2xpZGVyLWl0ZW0gLmhvbWUtYmFubmVyLWRlcyB7XG4gIG1hcmdpbi1ib3R0b206IDc0cHg7XG59XG4uaG9tZS1iYW5uZXItc2xpZGVyLWl0ZW0gaDMge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMzNweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDFweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjEyMTIxMjEyMWVtO1xufVxuLmhvbWUtYmFubmVyLXNsaWRlci1pdGVtIC5jb250YWluZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbn1cbi5ob21lLWJhbm5lci1zbGlkZXItaXRlbSAuc2xpZGUtY29udGVudHMge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiA2OTZweDtcbn1cbi5ob21lLWJhbm5lci1zbGlkZXItaXRlbSAuYmFja2dyb3VuZC1pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbi5ob21lLWJhbm5lci1zbGlkZXItaXRlbSAuYmFja2dyb3VuZC1pbWFnZSAuaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5idXR0b24tLW5vbWFyZ2luIHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5idXR0b24ge1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGZvbnQtc2l6ZTogMjNweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcGFkZGluZzogMjJweCAzN3B4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzO1xufVxuXG4uYnV0dG9uLS1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhFMjkyNztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG4uYnV0dG9uLS1kYXJrOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2EyMmYyYztcbiAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5idXR0b24tLWxpZ2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYnV0dG9uLS1saWdodDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOWQ5ZDk7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4uYnV0dG9uX3JvdyB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmJ1dHRvbl9yb3cgLmJ1dHRvbiB7XG4gIGZsZXg6IDEgMSBhdXRvO1xufVxuXG4uc2VydmljZXMtc2VjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwIDIycHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uc2VydmljZXMtYmxvY2sge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5zZXJ2aWNlcy1ibG9jayAuc2VydmljZXMtaXRlbSB7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgZmxleDogMCAwIDIwJTtcbiAgcGFkZGluZzogNDBweCAyMnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uc2VydmljZXMtYmxvY2sgLnNlcnZpY2VzLXRleHQge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBsZWZ0OiAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDU7XG59XG4uc2VydmljZXMtYmxvY2sgLnNlcnZpY2VzLWl0ZW0gaDMge1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMjVweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHotaW5kZXg6IDE7XG59XG4uc2VydmljZXMtYmxvY2sgLnNlcnZpY2VzLWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG59XG4uc2VydmljZXMtYmxvY2sgLnNlcnZpY2VzLWxpbms6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM3N0NEOTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwLjgzO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cztcbiAgd2lkdGg6IDEwMCU7XG59XG4uc2VydmljZXMtYmxvY2sgLnNlcnZpY2VzLWxpbms6aG92ZXI6OmFmdGVyIHtcbiAgb3BhY2l0eTogMC4zO1xufVxuLnNlcnZpY2VzLWJsb2NrIC5zZXJ2aWNlLXBvc3QtaW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xufVxuXG4uaWZyYW1lX2JvcmRlciB7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbiAgYm9yZGVyOiA2cHggc29saWQgIzAwMDAwMDtcbn1cbi5pZnJhbWVfYm9yZGVyIGgyLFxuLmlmcmFtZV9ib3JkZXIgaDMsXG4uaWZyYW1lX2JvcmRlciBwLFxuLmlmcmFtZV9ib3JkZXIgbGksXG4uaWZyYW1lX2JvcmRlciBhIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5pZnJhbWVfYm9yZGVyIGgyLFxuLmlmcmFtZV9ib3JkZXIgaDMsXG4uaWZyYW1lX2JvcmRlciBoNCxcbi5pZnJhbWVfYm9yZGVyIGg1IHtcbiAgbWFyZ2luOiAwO1xufVxuLmlmcmFtZV9ib3JkZXIgaDIge1xuICBmb250LXNpemU6IDI0cHg7XG4gIHBhZGRpbmc6IDIycHg7XG59XG4uaWZyYW1lX2JvcmRlciBoMyB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgcGFkZGluZzogMjJweDtcbn1cbi5pZnJhbWVfYm9yZGVyIGg0IHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBwYWRkaW5nOiAyMnB4O1xufVxuLmlmcmFtZV9ib3JkZXIgaDUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIHBhZGRpbmc6IDIycHg7XG59XG4uaWZyYW1lX2JvcmRlciBpZnJhbWUsXG4uaWZyYW1lX2JvcmRlciBpbWcge1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG5cbi5zaXRlLWZvb3RlciB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogNjJweCAyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnNpdGUtZm9vdGVyIC5mb290ZXItYmcge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9tZWRpYS9mb290ZXItYmFubmVyLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xuICBvcGFjaXR5OiAwLjk3O1xufVxuLnNpdGUtZm9vdGVyIC5mb290ZXJfX2NvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTEwMHB4O1xuICB3aWR0aDogMTAwJTtcbn1cbi5zaXRlLWZvb3RlciAuZm9vdGVyX19sZWZ0LFxuLnNpdGUtZm9vdGVyIC5mb290ZXJfX3JpZ2h0LFxuLnNpdGUtZm9vdGVyIC5mb290ZXJfX2NlbnRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uc2l0ZS1mb290ZXIgLmZvb3Rlcl9fbGVmdCB7XG4gIGZsZXg6IDAgMCAxNzVweDtcbn1cbi5zaXRlLWZvb3RlciAuZm9vdGVyX19yaWdodCB7XG4gIGZsZXg6IDAgMCAyNTBweDtcbn1cbi5zaXRlLWZvb3RlciAuZm9vdGVyX2NlbnRlciB7XG4gIGZsZXg6IDAgMSA0MzBweDtcbn1cbi5zaXRlLWZvb3RlciAuZm9vdGVyX19saW5rIHtcbiAgY29sb3I6ICNGRkZGRkY7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzO1xufVxuLnNpdGUtZm9vdGVyIC5mb290ZXJfX2xpbms6aG92ZXIge1xuICBjb2xvcjogI2U2ZTZlNjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MXB4KSB7XG4gIC5ob21lLWJhbm5lci1zbGlkZXItaXRlbSAuc2xpZGVfX3dyYXBwZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5idXR0b25fcm93IC5idXR0b246Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDZweCAwIDAgNnB4O1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG4gIC5idXR0b25fcm93IC5idXR0b24ge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgLmJ1dHRvbl9yb3cgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDZweCA2cHggMDtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICAuZm9vdGVyX19sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG5cbiAgLmZvb3Rlcl9fcmlnaHQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuXG4gIC5mb290ZXJfX2NlbnRlciB7XG4gICAgcGFkZGluZzogMCA5MnB4O1xuICB9XG5cbiAgLnNpdGUtZm9vdGVyIC5yb3cge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTQwMHB4KSB7XG4gIC5zZXJ2aWNlcy1ibG9jayAuc2VydmljZXMtaXRlbSBoMyB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLnN1Yi1tZW51IHtcbiAgICBsZWZ0OiAtOTk5ZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgfVxuXG4gIC5zZXJ2aWNlcy1ibG9jayB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgLnNlcnZpY2VzLWJsb2NrIC5zZXJ2aWNlcy1pdGVtIHtcbiAgICBmbGV4OiAwIDAgMzMlO1xuICB9XG5cbiAgLm1vYmlsZS1tZW51IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxuXG4gIC5tb2JpbGUtbWVudSBhLFxuLm1vYmlsZS1tZW51IHN2Zyxcbi5tb2JpbGUtbWVudSBpIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgfVxuXG4gIC5tb2JpbGUtbWVudSBzdmcsXG4ubW9iaWxlLW1lbnUgaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMXB4O1xuICB9XG5cbiAgLm1lbnUtbWFpbi1uYXZpZ2F0aW9uLWNvbnRhaW5lciB7XG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICB9XG5cbiAgLmFkbWluLWJhciAubWFpbi1uYXZpZ2F0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogNDVweDtcbiAgfVxuXG4gIC5oZWFkZXItY29udGFpbmVyIC5tb2JpbGUtbWVudSBhIHtcbiAgICBmb250LXNpemU6IDIxcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuICAuaGVhZGVyLWNvbnRhaW5lciAubW9iaWxlLW1lbnUgYSBzdmcge1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAtM3B4O1xuICB9XG5cbiAgLmhlYWRlci1jb250YWluZXIgLmNvbnRhY3Qge1xuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gIH1cbiAgLmhlYWRlci1jb250YWluZXIgLmNvbnRhY3QgLnRlbC1saW5rIHtcbiAgICBmb250LXNpemU6IDIxcHg7XG4gIH1cbiAgLmhlYWRlci1jb250YWluZXIgLmNvbnRhY3Qgc3ZnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICBmb250LXNpemU6IDI2cHg7XG4gIH1cblxuICAubWVudS1tYWluLW5hdmlnYXRpb24tY29udGFpbmVyIC5tZW51ID4gLm1lbnUtaXRlbSA+IGEge1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICB9XG5cbiAgLnNpdGUtZm9vdGVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gIC5zaXRlLWZvb3RlciBoMyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5zaXRlLWZvb3RlciAuZm9vdGVyX19jZW50ZXIsXG4uc2l0ZS1mb290ZXIgLmxvZ29fd3JhcHBlcixcbi5zaXRlLWZvb3RlciAubG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG9yZGVyOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMjc2cHg7XG4gIH1cbiAgLnNpdGUtZm9vdGVyIC5mb290ZXJfX2xlZnQsXG4uc2l0ZS1mb290ZXIgLmZvb3Rlcl9fcmlnaHQsXG4uc2l0ZS1mb290ZXIgLmZvb3Rlcl9fY2VudGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1hcmdpbjogMTFweCAwO1xuICB9XG4gIC5zaXRlLWZvb3RlciAuZm9vdGVyX19jZW50ZXIge1xuICAgIG9yZGVyOiAwO1xuICB9XG4gIC5zaXRlLWZvb3RlciAuZm9vdGVyX19sZWZ0IHtcbiAgICBvcmRlcjogMTtcbiAgfVxuICAuc2l0ZS1mb290ZXIgLmZvb3Rlcl9fcmlnaHQge1xuICAgIG9yZGVyOiAyO1xuICB9XG4gIC5zaXRlLWZvb3RlciAuZm9vdGVyX19jb250YWluZXIgaDMge1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAuYmctYmFubmVyIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMDBweCBhdXRvO1xuICB9XG5cbiAgLnNpdGUtZm9vdGVyIHtcbiAgICBwYWRkaW5nOiA1MHB4IDIwcHg7XG4gIH1cblxuICAuc2l0ZS1mb290ZXIgLmZvb3Rlci1iZyB7XG4gICAgYmFja2dyb3VuZC1zaXplOiA3MDBweCBhdXRvO1xuICB9XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIycHg7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuc2VydmljZXMtYmxvY2sgLnNlcnZpY2VzLWl0ZW0ge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICB9XG5cbiAgLnNlcnZpY2VzLWJsb2NrIC5zZXJ2aWNlLXBvc3QtaW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDI1MHB4O1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG5cbiAgLmhvbWUtYmFubmVyLWRlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuXG4gIC5ob21lLWJhbm5lci1zbGlkZXItaXRlbSAuc2xpZGVfX3dyYXBwZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL21lZGlhL3dvb2QtcGFuZWwuanBnXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmhvbWUtYmFubmVyLXNsaWRlci1pdGVtIC5iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuaG9tZS1iYW5uZXItc2xpZGVyLWl0ZW0gLnNsaWRlX193cmFwcGVyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNjgpO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gIH1cblxuICAuaG9tZS1iYW5uZXItc2xpZGVyLWl0ZW0gLmhvbWUtYmFubmVyLWRlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzRweDtcbiAgfVxuXG4gIC5ob21lLWJhbm5lci1zbGlkZXItaXRlbSAuc2xpZGVfX3dyYXBwZXIge1xuICAgIHBhZGRpbmc6IDI3cHggMDtcbiAgfVxuXG4gIC5zbGlkZV9fd3JhcHBlciAuY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwIDIycHg7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgfVxuXG4gIC5ob21lLWJhbm5lci1zbGlkZXItaXRlbSBoMyB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1ZW07XG4gIH1cblxuICAuYnV0dG9uX3JvdyB7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAxN3B4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5idXR0b25fcm93IC5idXR0b246bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgcGFkZGluZzogMTRweCA0OHB4O1xuICB9XG4gIC5idXR0b25fcm93IC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZzogMTRweCAwO1xuICB9XG4gIC5idXR0b25fcm93IC5idXR0b246Zmlyc3QtY2hpbGQsXG4uYnV0dG9uX3JvdyAuYnV0dG9uLFxuLmJ1dHRvbl9yb3cgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1heC13aWR0aDogMjMwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICB9XG5cbiAgLnNlcnZpY2VzLWJsb2NrIC5zZXJ2aWNlcy1pdGVtIGgzIHtcbiAgICBmb250LXNpemU6IDI1cHg7XG4gIH1cblxuICAuc2VydmljZXMtc2VjdGlvbiB7XG4gICAgcGFkZGluZzogMzVweCAwO1xuICB9XG5cbiAgLnNlcnZpY2VzLWJsb2NrIC5zZXJ2aWNlcy1pdGVtIHtcbiAgICBwYWRkaW5nOiAxMXB4IDIycHg7XG4gIH1cbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIGlmcmFtZVxuXFwqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmlmcmFtZV9fY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLmlmcmFtZV9fY29udGFpbmVyID4gLmlmcmFtZSB7XG4gIGJvdHRvbTogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKlxcXG4gKiBHcmlkIChiYXNlZCBsb29zZWx5IG9uIGh0dHBzOi8vdjQtYWxwaGEuZ2V0Ym9vdHN0cmFwLmNvbS9sYXlvdXQvZ3JpZC8pXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ucm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnJvdyA+IFtjbGFzcyo9Y29sLV0ge1xuICBmbGV4LWdyb3c6IDE7XG4gIGZsZXgtc2hyaW5rOiAxO1xuICBtaW4td2lkdGg6IDA7XG59XG4ucm93ID4gLmNvbC0tZ3Jvdy0wIHtcbiAgZmxleC1ncm93OiAwO1xufVxuLnJvdyA+IC5jb2wtLXNocmluay0wIHtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5yb3ctLWRpc3BsYXktZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCAxZnIpO1xufVxuLnJvdy0tZGlzcGxheS1ncmlkLnJvdy0tZXF1YWwge1xuICBncmlkLWF1dG8tY29sdW1uczogMWZyO1xuICBncmlkLWF1dG8tcm93czogMWZyO1xufVxuXG4ucm93LS1wYWRkZWQsXG4uaXMtc3R5bGUtcm93LXBhZGRlZCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAxLjg3NWVtKTtcbn1cbi5yb3ctLXBhZGRlZCA+IFtjbGFzcyo9Y29sLV0sXG4uaXMtc3R5bGUtcm93LXBhZGRlZCA+IFtjbGFzcyo9Y29sLV0ge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjg3NWVtO1xufVxuXG4ucm93LS1wYWRkZWQtdGlnaHQsXG4uaXMtc3R5bGUtcm93LXBhZGRlZC10aWdodCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAxLjQwNjI1ZW0pO1xufVxuLnJvdy0tcGFkZGVkLXRpZ2h0ID4gW2NsYXNzKj1jb2wtXSxcbi5pcy1zdHlsZS1yb3ctcGFkZGVkLXRpZ2h0ID4gW2NsYXNzKj1jb2wtXSB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNDA2MjVlbTtcbn1cblxuLnJvdy0tcGFkZGVkLWxvb3NlLFxuLmlzLXN0eWxlLXJvdy1wYWRkZWQtbG9vc2Uge1xuICB3aWR0aDogY2FsYygxMDAlICsgMi4zNDM3NWVtKTtcbn1cbi5yb3ctLXBhZGRlZC1sb29zZSA+IFtjbGFzcyo9Y29sLV0sXG4uaXMtc3R5bGUtcm93LXBhZGRlZC1sb29zZSA+IFtjbGFzcyo9Y29sLV0ge1xuICBwYWRkaW5nLXJpZ2h0OiAyLjM0Mzc1ZW07XG59XG5cbi5yb3ctLXdyYXAtbm8ge1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbn1cblxuLnJvdy0td3JhcC1yZXZlcnNlIHtcbiAgZmxleC13cmFwOiB3cmFwLXJldmVyc2U7XG59XG5cbi5yb3ctLWNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucm93LS1hbGlnbi1zdGFydCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4ucm93LS1hbGlnbi1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ucm93LS1hbGlnbi1lbmQge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi5yb3ctLWFsaWduLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cblxuLnJvdy0tanVzdGlmeS1zdGFydCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLnJvdy0tanVzdGlmeS1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnJvdy0tanVzdGlmeS1lbmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4ucm93LS1qdXN0aWZ5LWFyb3VuZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xufVxuXG4ucm93LS1qdXN0aWZ5LWJldHdlZW4ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5yb3ctLWRpcmVjdGlvbi1jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4ucm93LS1kaXJlY3Rpb24tcmV2ZXJzZTpub3QoLnJvdy0tZGlyZWN0aW9uLWNvbHVtbikge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG59XG4ucm93LS1kaXJlY3Rpb24tcmV2ZXJzZS5yb3ctLWRpcmVjdGlvbi1jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG59XG5cbi5jb2wtYXV0byB7XG4gIGZsZXgtYmFzaXM6IGF1dG87XG59XG5cbi5jb2wtMCB7XG4gIGZsZXgtYmFzaXM6IDAlO1xuICBncmlkLWNvbHVtbjogc3BhbiAwO1xufVxuXG4uY29sLTEge1xuICBmbGV4LWJhc2lzOiA4LjMzMzMzMzMzMzMlO1xuICBncmlkLWNvbHVtbjogc3BhbiAxO1xufVxuXG4uY29sLTIge1xuICBmbGV4LWJhc2lzOiAxNi42NjY2NjY2NjY3JTtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbn1cblxuLmNvbC0zIHtcbiAgZmxleC1iYXNpczogMjUlO1xuICBncmlkLWNvbHVtbjogc3BhbiAzO1xufVxuXG4uY29sLTQge1xuICBmbGV4LWJhc2lzOiAzMy4zMzMzMzMzMzMzJTtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gNDtcbn1cblxuLmNvbC01IHtcbiAgZmxleC1iYXNpczogNDEuNjY2NjY2NjY2NyU7XG4gIGdyaWQtY29sdW1uOiBzcGFuIDU7XG59XG5cbi5jb2wtNiB7XG4gIGZsZXgtYmFzaXM6IDUwJTtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gNjtcbn1cblxuLmNvbC03IHtcbiAgZmxleC1iYXNpczogNTguMzMzMzMzMzMzMyU7XG4gIGdyaWQtY29sdW1uOiBzcGFuIDc7XG59XG5cbi5jb2wtOCB7XG4gIGZsZXgtYmFzaXM6IDY2LjY2NjY2NjY2NjclO1xuICBncmlkLWNvbHVtbjogc3BhbiA4O1xufVxuXG4uY29sLTkge1xuICBmbGV4LWJhc2lzOiA3NSU7XG4gIGdyaWQtY29sdW1uOiBzcGFuIDk7XG59XG5cbi5jb2wtMTAge1xuICBmbGV4LWJhc2lzOiA4My4zMzMzMzMzMzMzJTtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gMTA7XG59XG5cbi5jb2wtMTEge1xuICBmbGV4LWJhc2lzOiA5MS42NjY2NjY2NjY3JTtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gMTE7XG59XG5cbi5jb2wtMTIge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBncmlkLWNvbHVtbjogc3BhbiAxMjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLmNvbC14eHhzLWF1dG8ge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cblxuICAuY29sLXh4eHMtMCB7XG4gICAgZmxleC1iYXNpczogMCU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMDtcbiAgfVxuXG4gIC5jb2wteHh4cy0xIHtcbiAgICBmbGV4LWJhc2lzOiA4LjMzMzMzMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDE7XG4gIH1cblxuICAuY29sLXh4eHMtMiB7XG4gICAgZmxleC1iYXNpczogMTYuNjY2NjY2NjY2NyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgfVxuXG4gIC5jb2wteHh4cy0zIHtcbiAgICBmbGV4LWJhc2lzOiAyNSU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMztcbiAgfVxuXG4gIC5jb2wteHh4cy00IHtcbiAgICBmbGV4LWJhc2lzOiAzMy4zMzMzMzMzMzMzJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA0O1xuICB9XG5cbiAgLmNvbC14eHhzLTUge1xuICAgIGZsZXgtYmFzaXM6IDQxLjY2NjY2NjY2NjclO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDU7XG4gIH1cblxuICAuY29sLXh4eHMtNiB7XG4gICAgZmxleC1iYXNpczogNTAlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDY7XG4gIH1cblxuICAuY29sLXh4eHMtNyB7XG4gICAgZmxleC1iYXNpczogNTguMzMzMzMzMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNztcbiAgfVxuXG4gIC5jb2wteHh4cy04IHtcbiAgICBmbGV4LWJhc2lzOiA2Ni42NjY2NjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA4O1xuICB9XG5cbiAgLmNvbC14eHhzLTkge1xuICAgIGZsZXgtYmFzaXM6IDc1JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA5O1xuICB9XG5cbiAgLmNvbC14eHhzLTEwIHtcbiAgICBmbGV4LWJhc2lzOiA4My4zMzMzMzMzMzMzJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxMDtcbiAgfVxuXG4gIC5jb2wteHh4cy0xMSB7XG4gICAgZmxleC1iYXNpczogOTEuNjY2NjY2NjY2NyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTE7XG4gIH1cblxuICAuY29sLXh4eHMtMTIge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTI7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5jb2wteHhzLWF1dG8ge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cblxuICAuY29sLXh4cy0wIHtcbiAgICBmbGV4LWJhc2lzOiAwJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAwO1xuICB9XG5cbiAgLmNvbC14eHMtMSB7XG4gICAgZmxleC1iYXNpczogOC4zMzMzMzMzMzMzJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxO1xuICB9XG5cbiAgLmNvbC14eHMtMiB7XG4gICAgZmxleC1iYXNpczogMTYuNjY2NjY2NjY2NyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgfVxuXG4gIC5jb2wteHhzLTMge1xuICAgIGZsZXgtYmFzaXM6IDI1JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAzO1xuICB9XG5cbiAgLmNvbC14eHMtNCB7XG4gICAgZmxleC1iYXNpczogMzMuMzMzMzMzMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNDtcbiAgfVxuXG4gIC5jb2wteHhzLTUge1xuICAgIGZsZXgtYmFzaXM6IDQxLjY2NjY2NjY2NjclO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDU7XG4gIH1cblxuICAuY29sLXh4cy02IHtcbiAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNjtcbiAgfVxuXG4gIC5jb2wteHhzLTcge1xuICAgIGZsZXgtYmFzaXM6IDU4LjMzMzMzMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDc7XG4gIH1cblxuICAuY29sLXh4cy04IHtcbiAgICBmbGV4LWJhc2lzOiA2Ni42NjY2NjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA4O1xuICB9XG5cbiAgLmNvbC14eHMtOSB7XG4gICAgZmxleC1iYXNpczogNzUlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDk7XG4gIH1cblxuICAuY29sLXh4cy0xMCB7XG4gICAgZmxleC1iYXNpczogODMuMzMzMzMzMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTA7XG4gIH1cblxuICAuY29sLXh4cy0xMSB7XG4gICAgZmxleC1iYXNpczogOTEuNjY2NjY2NjY2NyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTE7XG4gIH1cblxuICAuY29sLXh4cy0xMiB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxMjtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNvbC14cy1hdXRvIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG5cbiAgLmNvbC14cy0wIHtcbiAgICBmbGV4LWJhc2lzOiAwJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAwO1xuICB9XG5cbiAgLmNvbC14cy0xIHtcbiAgICBmbGV4LWJhc2lzOiA4LjMzMzMzMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDE7XG4gIH1cblxuICAuY29sLXhzLTIge1xuICAgIGZsZXgtYmFzaXM6IDE2LjY2NjY2NjY2NjclO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gIH1cblxuICAuY29sLXhzLTMge1xuICAgIGZsZXgtYmFzaXM6IDI1JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAzO1xuICB9XG5cbiAgLmNvbC14cy00IHtcbiAgICBmbGV4LWJhc2lzOiAzMy4zMzMzMzMzMzMzJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA0O1xuICB9XG5cbiAgLmNvbC14cy01IHtcbiAgICBmbGV4LWJhc2lzOiA0MS42NjY2NjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA1O1xuICB9XG5cbiAgLmNvbC14cy02IHtcbiAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNjtcbiAgfVxuXG4gIC5jb2wteHMtNyB7XG4gICAgZmxleC1iYXNpczogNTguMzMzMzMzMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNztcbiAgfVxuXG4gIC5jb2wteHMtOCB7XG4gICAgZmxleC1iYXNpczogNjYuNjY2NjY2NjY2NyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gODtcbiAgfVxuXG4gIC5jb2wteHMtOSB7XG4gICAgZmxleC1iYXNpczogNzUlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDk7XG4gIH1cblxuICAuY29sLXhzLTEwIHtcbiAgICBmbGV4LWJhc2lzOiA4My4zMzMzMzMzMzMzJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxMDtcbiAgfVxuXG4gIC5jb2wteHMtMTEge1xuICAgIGZsZXgtYmFzaXM6IDkxLjY2NjY2NjY2NjclO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDExO1xuICB9XG5cbiAgLmNvbC14cy0xMiB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxMjtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDUzLjMxMjVlbSkge1xuICAuY29sLXMtYXV0byB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxuXG4gIC5jb2wtcy0wIHtcbiAgICBmbGV4LWJhc2lzOiAwJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAwO1xuICB9XG5cbiAgLmNvbC1zLTEge1xuICAgIGZsZXgtYmFzaXM6IDguMzMzMzMzMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTtcbiAgfVxuXG4gIC5jb2wtcy0yIHtcbiAgICBmbGV4LWJhc2lzOiAxNi42NjY2NjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICB9XG5cbiAgLmNvbC1zLTMge1xuICAgIGZsZXgtYmFzaXM6IDI1JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAzO1xuICB9XG5cbiAgLmNvbC1zLTQge1xuICAgIGZsZXgtYmFzaXM6IDMzLjMzMzMzMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDQ7XG4gIH1cblxuICAuY29sLXMtNSB7XG4gICAgZmxleC1iYXNpczogNDEuNjY2NjY2NjY2NyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNTtcbiAgfVxuXG4gIC5jb2wtcy02IHtcbiAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNjtcbiAgfVxuXG4gIC5jb2wtcy03IHtcbiAgICBmbGV4LWJhc2lzOiA1OC4zMzMzMzMzMzMzJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA3O1xuICB9XG5cbiAgLmNvbC1zLTgge1xuICAgIGZsZXgtYmFzaXM6IDY2LjY2NjY2NjY2NjclO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDg7XG4gIH1cblxuICAuY29sLXMtOSB7XG4gICAgZmxleC1iYXNpczogNzUlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDk7XG4gIH1cblxuICAuY29sLXMtMTAge1xuICAgIGZsZXgtYmFzaXM6IDgzLjMzMzMzMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDEwO1xuICB9XG5cbiAgLmNvbC1zLTExIHtcbiAgICBmbGV4LWJhc2lzOiA5MS42NjY2NjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxMTtcbiAgfVxuXG4gIC5jb2wtcy0xMiB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxMjtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDYxLjkzNzVlbSkge1xuICAuY29sLW0tYXV0byB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxuXG4gIC5jb2wtbS0wIHtcbiAgICBmbGV4LWJhc2lzOiAwJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAwO1xuICB9XG5cbiAgLmNvbC1tLTEge1xuICAgIGZsZXgtYmFzaXM6IDguMzMzMzMzMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTtcbiAgfVxuXG4gIC5jb2wtbS0yIHtcbiAgICBmbGV4LWJhc2lzOiAxNi42NjY2NjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICB9XG5cbiAgLmNvbC1tLTMge1xuICAgIGZsZXgtYmFzaXM6IDI1JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAzO1xuICB9XG5cbiAgLmNvbC1tLTQge1xuICAgIGZsZXgtYmFzaXM6IDMzLjMzMzMzMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDQ7XG4gIH1cblxuICAuY29sLW0tNSB7XG4gICAgZmxleC1iYXNpczogNDEuNjY2NjY2NjY2NyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNTtcbiAgfVxuXG4gIC5jb2wtbS02IHtcbiAgICBmbGV4LWJhc2lzOiA1MCU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNjtcbiAgfVxuXG4gIC5jb2wtbS03IHtcbiAgICBmbGV4LWJhc2lzOiA1OC4zMzMzMzMzMzMzJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA3O1xuICB9XG5cbiAgLmNvbC1tLTgge1xuICAgIGZsZXgtYmFzaXM6IDY2LjY2NjY2NjY2NjclO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDg7XG4gIH1cblxuICAuY29sLW0tOSB7XG4gICAgZmxleC1iYXNpczogNzUlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDk7XG4gIH1cblxuICAuY29sLW0tMTAge1xuICAgIGZsZXgtYmFzaXM6IDgzLjMzMzMzMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDEwO1xuICB9XG5cbiAgLmNvbC1tLTExIHtcbiAgICBmbGV4LWJhc2lzOiA5MS42NjY2NjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxMTtcbiAgfVxuXG4gIC5jb2wtbS0xMiB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxMjtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmNvbC1sLWF1dG8ge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gIH1cblxuICAuY29sLWwtMCB7XG4gICAgZmxleC1iYXNpczogMCU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMDtcbiAgfVxuXG4gIC5jb2wtbC0xIHtcbiAgICBmbGV4LWJhc2lzOiA4LjMzMzMzMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDE7XG4gIH1cblxuICAuY29sLWwtMiB7XG4gICAgZmxleC1iYXNpczogMTYuNjY2NjY2NjY2NyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgfVxuXG4gIC5jb2wtbC0zIHtcbiAgICBmbGV4LWJhc2lzOiAyNSU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMztcbiAgfVxuXG4gIC5jb2wtbC00IHtcbiAgICBmbGV4LWJhc2lzOiAzMy4zMzMzMzMzMzMzJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA0O1xuICB9XG5cbiAgLmNvbC1sLTUge1xuICAgIGZsZXgtYmFzaXM6IDQxLjY2NjY2NjY2NjclO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDU7XG4gIH1cblxuICAuY29sLWwtNiB7XG4gICAgZmxleC1iYXNpczogNTAlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDY7XG4gIH1cblxuICAuY29sLWwtNyB7XG4gICAgZmxleC1iYXNpczogNTguMzMzMzMzMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNztcbiAgfVxuXG4gIC5jb2wtbC04IHtcbiAgICBmbGV4LWJhc2lzOiA2Ni42NjY2NjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA4O1xuICB9XG5cbiAgLmNvbC1sLTkge1xuICAgIGZsZXgtYmFzaXM6IDc1JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA5O1xuICB9XG5cbiAgLmNvbC1sLTEwIHtcbiAgICBmbGV4LWJhc2lzOiA4My4zMzMzMzMzMzMzJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxMDtcbiAgfVxuXG4gIC5jb2wtbC0xMSB7XG4gICAgZmxleC1iYXNpczogOTEuNjY2NjY2NjY2NyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTE7XG4gIH1cblxuICAuY29sLWwtMTIge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTI7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5jb2wteGwtYXV0byB7XG4gICAgZmxleC1iYXNpczogYXV0bztcbiAgfVxuXG4gIC5jb2wteGwtMCB7XG4gICAgZmxleC1iYXNpczogMCU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMDtcbiAgfVxuXG4gIC5jb2wteGwtMSB7XG4gICAgZmxleC1iYXNpczogOC4zMzMzMzMzMzMzJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxO1xuICB9XG5cbiAgLmNvbC14bC0yIHtcbiAgICBmbGV4LWJhc2lzOiAxNi42NjY2NjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICB9XG5cbiAgLmNvbC14bC0zIHtcbiAgICBmbGV4LWJhc2lzOiAyNSU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMztcbiAgfVxuXG4gIC5jb2wteGwtNCB7XG4gICAgZmxleC1iYXNpczogMzMuMzMzMzMzMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNDtcbiAgfVxuXG4gIC5jb2wteGwtNSB7XG4gICAgZmxleC1iYXNpczogNDEuNjY2NjY2NjY2NyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNTtcbiAgfVxuXG4gIC5jb2wteGwtNiB7XG4gICAgZmxleC1iYXNpczogNTAlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDY7XG4gIH1cblxuICAuY29sLXhsLTcge1xuICAgIGZsZXgtYmFzaXM6IDU4LjMzMzMzMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDc7XG4gIH1cblxuICAuY29sLXhsLTgge1xuICAgIGZsZXgtYmFzaXM6IDY2LjY2NjY2NjY2NjclO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDg7XG4gIH1cblxuICAuY29sLXhsLTkge1xuICAgIGZsZXgtYmFzaXM6IDc1JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA5O1xuICB9XG5cbiAgLmNvbC14bC0xMCB7XG4gICAgZmxleC1iYXNpczogODMuMzMzMzMzMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTA7XG4gIH1cblxuICAuY29sLXhsLTExIHtcbiAgICBmbGV4LWJhc2lzOiA5MS42NjY2NjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxMTtcbiAgfVxuXG4gIC5jb2wteGwtMTIge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTI7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4NS4zNzVlbSkge1xuICAuY29sLXh4bC1hdXRvIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG5cbiAgLmNvbC14eGwtMCB7XG4gICAgZmxleC1iYXNpczogMCU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMDtcbiAgfVxuXG4gIC5jb2wteHhsLTEge1xuICAgIGZsZXgtYmFzaXM6IDguMzMzMzMzMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTtcbiAgfVxuXG4gIC5jb2wteHhsLTIge1xuICAgIGZsZXgtYmFzaXM6IDE2LjY2NjY2NjY2NjclO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gIH1cblxuICAuY29sLXh4bC0zIHtcbiAgICBmbGV4LWJhc2lzOiAyNSU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMztcbiAgfVxuXG4gIC5jb2wteHhsLTQge1xuICAgIGZsZXgtYmFzaXM6IDMzLjMzMzMzMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDQ7XG4gIH1cblxuICAuY29sLXh4bC01IHtcbiAgICBmbGV4LWJhc2lzOiA0MS42NjY2NjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA1O1xuICB9XG5cbiAgLmNvbC14eGwtNiB7XG4gICAgZmxleC1iYXNpczogNTAlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDY7XG4gIH1cblxuICAuY29sLXh4bC03IHtcbiAgICBmbGV4LWJhc2lzOiA1OC4zMzMzMzMzMzMzJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA3O1xuICB9XG5cbiAgLmNvbC14eGwtOCB7XG4gICAgZmxleC1iYXNpczogNjYuNjY2NjY2NjY2NyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gODtcbiAgfVxuXG4gIC5jb2wteHhsLTkge1xuICAgIGZsZXgtYmFzaXM6IDc1JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA5O1xuICB9XG5cbiAgLmNvbC14eGwtMTAge1xuICAgIGZsZXgtYmFzaXM6IDgzLjMzMzMzMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDEwO1xuICB9XG5cbiAgLmNvbC14eGwtMTEge1xuICAgIGZsZXgtYmFzaXM6IDkxLjY2NjY2NjY2NjclO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDExO1xuICB9XG5cbiAgLmNvbC14eGwtMTIge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTI7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5jb2wteHh4bC1hdXRvIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG5cbiAgLmNvbC14eHhsLTAge1xuICAgIGZsZXgtYmFzaXM6IDAlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDA7XG4gIH1cblxuICAuY29sLXh4eGwtMSB7XG4gICAgZmxleC1iYXNpczogOC4zMzMzMzMzMzMzJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAxO1xuICB9XG5cbiAgLmNvbC14eHhsLTIge1xuICAgIGZsZXgtYmFzaXM6IDE2LjY2NjY2NjY2NjclO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDI7XG4gIH1cblxuICAuY29sLXh4eGwtMyB7XG4gICAgZmxleC1iYXNpczogMjUlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDM7XG4gIH1cblxuICAuY29sLXh4eGwtNCB7XG4gICAgZmxleC1iYXNpczogMzMuMzMzMzMzMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gNDtcbiAgfVxuXG4gIC5jb2wteHh4bC01IHtcbiAgICBmbGV4LWJhc2lzOiA0MS42NjY2NjY2NjY3JTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA1O1xuICB9XG5cbiAgLmNvbC14eHhsLTYge1xuICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICBncmlkLWNvbHVtbjogc3BhbiA2O1xuICB9XG5cbiAgLmNvbC14eHhsLTcge1xuICAgIGZsZXgtYmFzaXM6IDU4LjMzMzMzMzMzMzMlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDc7XG4gIH1cblxuICAuY29sLXh4eGwtOCB7XG4gICAgZmxleC1iYXNpczogNjYuNjY2NjY2NjY2NyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gODtcbiAgfVxuXG4gIC5jb2wteHh4bC05IHtcbiAgICBmbGV4LWJhc2lzOiA3NSU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gOTtcbiAgfVxuXG4gIC5jb2wteHh4bC0xMCB7XG4gICAgZmxleC1iYXNpczogODMuMzMzMzMzMzMzMyU7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMTA7XG4gIH1cblxuICAuY29sLXh4eGwtMTEge1xuICAgIGZsZXgtYmFzaXM6IDkxLjY2NjY2NjY2NjclO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDExO1xuICB9XG5cbiAgLmNvbC14eHhsLTEyIHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDEyO1xuICB9XG59XG4udXNlci1jb250ZW50IHAsXG4udXNlci1jb250ZW50IHVsLFxuLnVzZXItY29udGVudCBvbCxcbi51c2VyLWNvbnRlbnQgYSB7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMjhweDtcbn1cbi51c2VyLWNvbnRlbnQgcCA+IGEge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnVzZXItY29udGVudCAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzhFMjkyNztcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgZm9udC1zaXplOiAyM3B4O1xuICBwYWRkaW5nOiAxN3B4IDM4cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cztcbn1cbi51c2VyLWNvbnRlbnQgLmJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3YTIzMjI7XG4gIGNvbG9yOiAjRkZGRkZGO1xufVxuLnVzZXItY29udGVudCBbY2xhc3MqPWNvbC1dIHtcbiAgbWFyZ2luLWJvdHRvbTogNjBweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC51c2VyLWNvbnRlbnQgcCB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG4gIC51c2VyLWNvbnRlbnQgLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHBhZGRpbmc6IDI1cHggMzVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn0iLCJAdXNlIFwic2FzczptYXRoXCI7XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4+Pj4gVEFCTEUgT0YgQ09OVEVOVFM6XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIE5vcm1hbGl6ZVxuIyBUeXBvZ3JhcGh5XG4jIEVsZW1lbnRzXG4jIEZvcm1zXG4jIE5hdmlnYXRpb25cblx0IyMgTGlua3Ncblx0IyMgTWVudXNcbiMgQWNjZXNzaWJpbGl0eVxuIyBBbGlnbm1lbnRzXG4jIENsZWFyaW5nc1xuIyBXaWRnZXRzXG4jIENvbnRlbnRcblx0IyMgUG9zdHMgYW5kIHBhZ2VzXG5cdCMjIENvbW1lbnRzXG4jIEluZmluaXRlIHNjcm9sbFxuIyBNZWRpYVxuXHQjIyBDYXB0aW9uc1xuXHQjIyBHYWxsZXJpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIE5vcm1hbGl6ZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy9zdHlsZWxpbnQtZGlzYWJsZS1saW5lXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG5ib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbn1cblxuI3BhZ2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgICBmb250LXNpemU6IDFlbTtcbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3Ncblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgICBmb250LXNpemU6IDFlbTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiAuLi9tZWRpYSBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuaW1nIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiAxMDAlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vc3R5bGVsaW50LWRpc2FibGUtbGluZVxufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKlx0XHRgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cbnRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vc3R5bGVsaW50LWRpc2FibGUtbGluZVxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy9zdHlsZWxpbnQtZGlzYWJsZS1saW5lXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy9zdHlsZWxpbnQtZGlzYWJsZS1saW5lXG4gICAgZm9udDogaW5oZXJpdDtcbn1cblxuLyogSW50ZXJhY3RpdmVcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIFR5cG9ncmFwaHlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICAgIGNvbG9yOiAjNDA0MDQwO1xuICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmgxLFxuaDEsXG4uaDIsXG5oMixcbi5oMyxcbmgzLFxuLmg0LFxuaDQsXG4uaDUsXG5oNSxcbi5oNixcbmg2IHtcbiAgICBjbGVhcjogYm90aDtcbn1cblxucCB7XG4gICAgbWFyZ2luOiAwIDAgMjVweDtcbiAgICBsaW5lLWhlaWdodDogMS4zNmVtO1xufVxuXG5kZm4sXG5jaXRlLFxuZW0sXG5pIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbmJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMjBweCAwO1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgIzJEM0Y0RjtcbiAgICBwYWRkaW5nOiAwIDAgMCAzMHB4O1xufVxuXG5hZGRyZXNzIHtcbiAgICBtYXJnaW46IDAgMCAxLjVlbTtcbn1cblxucHJlIHtcbiAgICBiYWNrZ3JvdW5kOiAjRUVFRUVFO1xuICAgIGZvbnQtZmFtaWx5OiBcIkNvdXJpZXIgMTAgUGl0Y2hcIiwgXCJDb3VyaWVyXCIsIG1vbm9zcGFjZTtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjZlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgcGFkZGluZzogMS42ZW07XG59XG5cbmNvZGUsXG5rYmQsXG50dCxcbnZhciB7XG4gICAgZm9udC1mYW1pbHk6IFwiTW9uYWNvXCIsIFwiQ29uc29sYXNcIiwgXCJBbmRhbGUgTW9ub1wiLCBcIkRlamFWdSBTYW5zIE1vbm9cIiwgbW9ub3NwYWNlO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbn1cblxuYWJicixcbmFjcm9ueW0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzY2NjY2NjtcbiAgICBjdXJzb3I6IGhlbHA7XG59XG5cbm1hcmssXG5pbnMge1xuICAgIGJhY2tncm91bmQ6ICNGRkY5QzA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5iaWcge1xuICAgIGZvbnQtc2l6ZTogMTI1JTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgRWxlbWVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuKjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5ociB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0NDQ0NDQztcbiAgICBib3JkZXI6IDA7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG59XG5cbnVsLFxub2wge1xuICAgIG1hcmdpbjogMCAwIDEuNWVtO1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbn1cblxudWwgbGksXG5vbCBsaSB7XG4gICAgbWFyZ2luOiA4cHggMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbn1cblxudWwge1xuICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG59XG5cbm9sIHtcbiAgICBsaXN0LXN0eWxlOiBkZWNpbWFsO1xufVxuXG5saSA+IHVsLFxubGkgPiBvbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tbGVmdDogMS41ZW07XG59XG5cbmR0IHtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG5kZCB7XG4gICAgbWFyZ2luOiAwIDEuNWVtIDEuNWVtO1xufVxuXG5pbWcge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbmZpZ3VyZSB7XG4gICAgbWFyZ2luOiAxZW0gMDtcbn1cblxudGFibGUge1xuICAgIG1hcmdpbjogMCAwIDEuNWVtO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBGb3Jtc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmJ1dHRvbixcbmlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNDQ0NDQ0MgI0NDQ0NDQyAjQkJCQkJCO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiAjRTZFNkU2O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudGl6ZSgjMDAwMDAwLCAwLjIpO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcGFkZGluZzogMC42ZW0gMWVtIDAuNGVtO1xufVxuXG5idXR0b246aG92ZXIsXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmhvdmVyLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdOmhvdmVyLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjQ0NDQ0NDICNCQkJCQkIgI0FBQUFBQTtcbn1cblxuYnV0dG9uOmFjdGl2ZSxcbmJ1dHRvbjpmb2N1cyxcbmlucHV0W3R5cGU9XCJidXR0b25cIl06YWN0aXZlLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJyZXNldFwiXTphY3RpdmUsXG5pbnB1dFt0eXBlPVwicmVzZXRcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdOmFjdGl2ZSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogI0FBQUFBQSAjQkJCQkJCICNCQkJCQkI7XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuaW5wdXRbdHlwZT1cInVybFwiXSxcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuaW5wdXRbdHlwZT1cInRlbFwiXSxcbmlucHV0W3R5cGU9XCJyYW5nZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuaW5wdXRbdHlwZT1cIndlZWtcIl0sXG5pbnB1dFt0eXBlPVwidGltZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbmlucHV0W3R5cGU9XCJjb2xvclwiXSxcbnRleHRhcmVhIHtcbiAgICBjb2xvcjogIzY2NjY2NjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDQ0NDO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBwYWRkaW5nOiAzcHg7XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJyYW5nZVwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cIndlZWtcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwidGltZVwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJjb2xvclwiXTpmb2N1cyxcbnRleHRhcmVhOmZvY3VzIHtcbiAgICBjb2xvcjogIzExMTExMTtcbn1cblxuc2VsZWN0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDQ0NDO1xufVxuXG50ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIE5hdmlnYXRpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIyBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuYSB7XG4gICAgY29sb3I6ICMzNkJDRTg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cztcbn1cblxuYTpob3ZlcixcbmE6Zm9jdXMsXG5hOmFjdGl2ZSB7XG4gICAgY29sb3I6ICM5QjFDMUY7XG59XG5cbmE6aG92ZXIsXG5hOmFjdGl2ZSB7XG4gICAgb3V0bGluZTogMDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMjIE1lbnVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ubWFpbi1uYXZpZ2F0aW9uIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4ubWFpbi1uYXZpZ2F0aW9uIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4ubWFpbi1uYXZpZ2F0aW9uIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMCAyOHB4O1xuICAgIHBhZGRpbmc6IDlweCAwO1xufVxuXG4ubWFpbi1uYXZpZ2F0aW9uIGxpOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLm1haW4tbmF2aWdhdGlvbiBsaTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5tYWluLW5hdmlnYXRpb24gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMyRDNGNEY7XG4gICAgZm9udC1zaXplOiAyMHB4O1xufVxuXG4ubWFpbi1uYXZpZ2F0aW9uIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjMzZCQ0U4O1xufVxuXG4ubWFpbi1uYXZpZ2F0aW9uIHVsIGxpID4gdWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM3N0NEOTtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgd2lkdGg6IDIyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgdHJhbnNwYXJlbnRpemUoIzAwMDAwMCwgMC44KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzO1xufVxuXG4ubWFpbi1uYXZpZ2F0aW9uIHVsIGxpOmhvdmVyID4gdWwge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0b3A6IDEwMCU7XG59XG5cbi5tYWluLW5hdmlnYXRpb24gdWwgbGkgPiB1bCBsaSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5tYWluLW5hdmlnYXRpb24gdWwgbGkgPiB1bCBsaSBhIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuLm1haW4tbmF2aWdhdGlvbiB1bCBsaSA+IHVsIGxpIGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCMwMDAwMDAsIDAuOCk7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5tYWluLW5hdmlnYXRpb24gbGkuY3VycmVudC1tZW51LWl0ZW0gPiBhIHtcbiAgICBjb2xvcjogIzM2QkNFODtcbn1cblxuLm1haW4tbmF2aWdhdGlvbiBsaS5jdXJyZW50LW1lbnUtcGFyZW50ID4gYSB7XG4gICAgY29sb3I6ICMzNkJDRTg7XG59XG5cbi8qIFNtYWxsIG1lbnUuICovXG5cbi5zaXRlLW1haW4gLmNvbW1lbnQtbmF2aWdhdGlvbixcbi5zaXRlLW1haW4gLnBvc3RzLW5hdmlnYXRpb24sXG4uc2l0ZS1tYWluIC5wb3N0LW5hdmlnYXRpb24ge1xuICAgIG1hcmdpbjogMCAwIDEuNWVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIEFjY2Vzc2liaWxpdHlcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweDtcbiAgICB3b3JkLXdyYXA6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjFGMUYxO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3gtc2hhZG93OiAwIDAgMnB4IDJweCB0cmFuc3BhcmVudGl6ZSgjMDAwMDAwLCAwLjQpO1xuICAgIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgICBjbGlwLXBhdGg6IG5vbmU7XG4gICAgY29sb3I6ICMyMTc1OUI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgcGFkZGluZzogMTVweCAyM3B4IDE0cHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRvcDogNXB4O1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4jY29udGVudFt0YWJpbmRleD1cIi0xXCJdOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIyBBbGlnbm1lbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uYWxpZ25sZWZ0LFxuLmFsaWducmlnaHQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkxcHgpIHtcbiAgICAuYWxpZ25sZWZ0IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjVlbTtcbiAgICB9XG5cbiAgICAuYWxpZ25yaWdodCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXJnaW4tbGVmdDogMS41ZW07XG4gICAgfVxufVxuXG4uYWxpZ25jZW50ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLnRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xufVxuXG4udGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLnRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgQ2xlYXJpbmdzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uY2xlYXI6OmJlZm9yZSxcbi5jbGVhcjo6YWZ0ZXIsXG4uZW50cnktY29udGVudDo6YmVmb3JlLFxuLmVudHJ5LWNvbnRlbnQ6OmFmdGVyLFxuLmNvbW1lbnQtY29udGVudDo6YmVmb3JlLFxuLmNvbW1lbnQtY29udGVudDo6YWZ0ZXIsXG4uc2l0ZS1oZWFkZXI6OmJlZm9yZSxcbi5zaXRlLWhlYWRlcjo6YWZ0ZXIsXG4uc2l0ZS1jb250ZW50OjpiZWZvcmUsXG4uc2l0ZS1jb250ZW50OjphZnRlcixcbi5zaXRlLWZvb3Rlcjo6YmVmb3JlLFxuLnNpdGUtZm9vdGVyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xufVxuXG4uY2xlYXI6OmFmdGVyLFxuLmVudHJ5LWNvbnRlbnQ6OmFmdGVyLFxuLmNvbW1lbnQtY29udGVudDo6YWZ0ZXIsXG4uc2l0ZS1oZWFkZXI6OmFmdGVyLFxuLnNpdGUtY29udGVudDo6YWZ0ZXIsXG4uc2l0ZS1mb290ZXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMgV2lkZ2V0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLndpZGdldCB7XG4gICAgbWFyZ2luOiAwIDAgMS41ZW07XG59XG5cbi53aWRnZXQgc2VsZWN0IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIyBQb3N0cyBhbmQgcGFnZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5zdGlja3kge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uaGVudHJ5IHtcbiAgICBtYXJnaW46IDAgMCAxLjVlbTtcbn1cblxuLnVwZGF0ZWQ6bm90KC5wdWJsaXNoZWQpIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ucGFnZS1jb250ZW50LFxuLmVudHJ5LWNvbnRlbnQsXG4uZW50cnktc3VtbWFyeSB7XG4gICAgbWFyZ2luOiAxLjVlbSAwIDA7XG59XG5cbi5wYWdlLWxpbmtzIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBtYXJnaW46IDAgMCAxLjVlbTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMjIENvbW1lbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uY29tbWVudC1jb250ZW50IGEge1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuLmJ5cG9zdGF1dGhvciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIE1lZGlhXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ucGFnZS1jb250ZW50IC53cC1zbWlsZXksXG4uZW50cnktY29udGVudCAud3Atc21pbGV5LFxuLmNvbW1lbnQtY29udGVudCAud3Atc21pbGV5IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbmVtYmVkLFxuaWZyYW1lLFxub2JqZWN0IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5jdXN0b20tbG9nby1saW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIyBDYXB0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLndwLWNhcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLndwLWNhcHRpb24gaW1nW2NsYXNzKj1cIndwLWltYWdlLVwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4ud3AtY2FwdGlvbiAud3AtY2FwdGlvbi10ZXh0IHtcbiAgICBtYXJnaW46IDAuODA3NWVtIDA7XG59XG5cbi53cC1jYXB0aW9uLXRleHQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMjIFNpdGUgSGVhZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi5jb250YWluZXItZmx1aWQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLmQtZmxleCB7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLmp1c3RpZnktY29udGVudC1zdGFydCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG59XG5cbi5qdXN0aWZ5LWNvbnRlbnQtZW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG59XG5cbi5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xufVxuXG4uanVzdGlmeS1jb250ZW50LWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbiAhaW1wb3J0YW50O1xufVxuXG4uanVzdGlmeS1jb250ZW50LWFyb3VuZCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWl0ZW1zLXN0YXJ0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24taXRlbXMtZW5kIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQgIWltcG9ydGFudDtcbn1cblxuLmFsaWduLWl0ZW1zLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24taXRlbXMtYmFzZWxpbmUge1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZSAhaW1wb3J0YW50O1xufVxuXG4uYWxpZ24taXRlbXMtc3RyZXRjaCB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2ggIWltcG9ydGFudDtcbn1cblxuLmZsZXgtcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbn1cblxuLnAtcmVsYXRpdmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmJnLXN0eWxlIHtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDtcbn1cblxuLmNsZWFyZml4IHtcbiAgICBjbGVhcjogYm90aDtcbn1cblxuLmNsZWFyZml4OjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMjIFNpdGUgSGVhZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uc2l0ZS1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDI3cHggMCAzNXB4O1xufVxuXG4uc2l0ZS1icmFuZGluZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uc2l0ZS10aXRsZSBhLFxuLnNpdGUtdGl0bGUgYSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG4uc2l0ZS10aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiA0MzBweDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMjIEhvbWUgQmFubmVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uaG9tZS1iYW5uZXItc2xpZGVyLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xufVxuXG4uaG9tZS1iYW5uZXItY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA2NTZweDtcbn1cblxuLmNvbnRhY3QtbnVtYmVyIC5idG4tbGluazpob3ZlciB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi5idG4tbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uYnRuLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5QTFDMUY7XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICAgIHBhZGRpbmc6IDE5cHggNTBweCAyNHB4IDM4cHg7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXI6IG5vbmU7XG59XG5cbi5idG4tcHJpbWFyeTpob3Zlcixcbi5idG4tcHJpbWFyeTpmb2N1cyB7XG4gICAgY29sb3I6ICNGRkZGRkY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM2QkNFODtcbn1cblxuLmNvbnRhY3QtbnVtYmVyIC5idG4tcHJpbWFyeSB7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4IDAgMCA2cHg7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5ob21lLWJhbm5lci1zbGlkZXIgLnNsaWNrLWRvdHMge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm90dG9tOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG4uaG9tZS1iYW5uZXItc2xpZGVyIC5zbGljay1kb3RzIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uaG9tZS1iYW5uZXItc2xpZGVyIC5zbGljay1kb3RzIGxpIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNGRkZGRkY7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaG9tZS1iYW5uZXItc2xpZGVyIC5zbGljay1kb3RzIGxpIGJ1dHRvbjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC42KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbn1cblxuLmhvbWUtYmFubmVyLXNsaWRlciAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMjIENvbnRlbnQgYXJlYSBTZWN0aW9uXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uY29udGVudC1hcmVhIGgyIHtcbiAgICBmb250LXNpemU6IDEuNmVtO1xuICAgIGNvbG9yOiAjMkQzRjRGO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICBtYXJnaW46IDAgMCAwLjVlbTtcbn1cblxuLmNvbnRlbnQtYXJlYSBoMyB7XG4gICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICBjb2xvcjogIzlCMUMxRjtcbiAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgbWFyZ2luOiAwIDAgMC40ZW07XG59XG5cbi5jb250ZW50LWFyZWEgaDQge1xuICAgIGZvbnQtc2l6ZTogMS4zZW07XG4gICAgY29sb3I6ICMyRDNGNEY7XG4gICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgIG1hcmdpbjogMCAwIDAuM2VtO1xufVxuXG4uY29udGVudC1hcmVhIGg1IHtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIGNvbG9yOiAjOUIxQzFGO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICBtYXJnaW46IDAgMCAwLjJlbTtcbn1cblxuLmNvbnRlbnQtYXJlYSBoNiB7XG4gICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICBjb2xvcjogIzJEM0Y0RjtcbiAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgbWFyZ2luOiAwIDAgMC4yZW07XG59XG5cbi5jb250ZW50LWFyZWEge1xuICAgIHBhZGRpbmc6IDY2cHggMCA5NnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmFib3V0LWNvbnRlbnQtYXJlYSAuY29udGVudC1hcmVhLWxlZnQge1xuICAgIHdpZHRoOiA1NyU7XG59XG5cbi5hYm91dC1jb250ZW50LWFyZWEgLmNvbnRlbnQtYXJlYS1yaWdodCB7XG4gICAgd2lkdGg6IDQzJTtcbn1cblxuLmNvbnRlbnQtYXJlYSAucm93IHtcbiAgICBtYXJnaW4tYm90dG9tOiAtNjBweDtcbn1cblxuLmFib3V0LWNvbnRlbnQtYXJlYSAuYWJvdXQtdGh1bWIge1xuICAgIG1hcmdpbjogLTI4cHggMCAtOTZweDtcbn1cblxuLm1hcHMtYmxvY2sge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJEM0Y0RjtcbiAgICBwYWRkaW5nOiA2cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubWFwcy1mcmFtZSB7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tYXBzLWZyYW1lIGltZyxcbi5tYXBzLWZyYW1lIGlmcmFtZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ubWFwcy1ibG9jayBoNCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAjMzZCQ0U4O1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjNlbTtcbiAgICBtYXJnaW46IDMxcHggMjBweDtcbn1cblxuLmNvbnRlbnQtcGFydCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjFweDtcbiAgICBjbGVhcjogYm90aDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMjIElubmVyIHBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5pbm5lci1iYW5uZXIge1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICBoZWlnaHQ6IDIzMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmlubmVyLWJhbm5lcjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkQzRjRGO1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogLTE7XG59XG5cbi5wYWdlLXRpdGxlIHtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICBtYXJnaW46IDA7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDQxcHg7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIyBTZXJ2aWNlcyBwYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uc2VydmljZXMtcGFnZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAyNXB4IDA7XG59XG5cbi5zZXJ2aWNlcy1wYWdlLWl0ZW0ge1xuICAgIG1hcmdpbjogODhweCAwO1xufVxuXG4uc2VydmljZXMtcGFnZS1zdW1tYXJ5IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc2VydmljZXMtcGFnZS1zdW1tYXJ5IGgzIHtcbiAgICBtYXJnaW46IDAgMCAzNXB4O1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xufVxuXG4uc2VydmljZXMtcGFnZS1zdW1tYXJ5IGgzIGEge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4uc2VydmljZXMtcGFnZS1zdW1tYXJ5IGgzIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjMzZCQ0U4O1xufVxuXG4uY29udGFjdC1udW1iZXItZ3JvdXAge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDJweDtcbiAgICBwYWRkaW5nLXRvcDogMjdweDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMjIEFib3V0IHBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5hYm91dC1jb250ZW50LWFyZWEge1xuICAgIHBhZGRpbmc6IDc4cHggMCA5NnB4O1xufVxuXG4uYWJvdXQtdGh1bWIgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmFib3V0LWNvbnRhY3QtbnVtYmVyLWdyb3VwIHtcbiAgICBwYWRkaW5nLXRvcDogMzdweDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiMjIE5vdCBGb3VuZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLm5vdC1mb3VuZCB7XG4gICAgcGFkZGluZzogMTAwcHggMDtcbn1cblxuLm5vdC1mb3VuZCAucGFnZS1jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLm5vdC1mb3VuZCAucGFnZS1jb250ZW50IHAge1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBjb2xvcjogIzJEM0Y0Rjtcbn1cblxuLm5vdC1mb3VuZCAuYnRuLXByaW1hcnkge1xuICAgIHBhZGRpbmc6IDE5cHggNTBweCAyNHB4O1xufVxuXG4ucGFnZS10aXRsZS10b3Age1xuICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaW5lLWhlaWdodDogMWVtO1xufVxuXG4uZGVmYXVsdC1jb250ZW50LWFyZWEgLmNvbnRlbnQtYXJlYS1sZWZ0IHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIyBHYWxsZXJpZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5nYWxsZXJ5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmdhbGxlcnktaXRlbSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA2IHtcbiAgICAuZ2FsbGVyeS1jb2x1bW5zLSN7JGl9IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBtYXRoLmRpdigxLCAkaSkgKiAxMDAlO1xuICAgIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4jIyBOaW5qYSBGb3Jtc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4ubmYtZm9ybS1jb250IHtcbiAgICBpbnB1dCxcbiAgICBvcHRpb24sXG4gICAgc2VsZWN0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogOHB4IDVweDtcbiAgICB9XG5cbiAgICBidXR0b24sXG4gICAgLmJ1dHRvbixcbiAgICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAgICAgcGFkZGluZzogMjBweCA0NXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjOUIxQzFGO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJidXR0b25cIl06aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMzZCQ0U4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxufVxuIiwiQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogNTQwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3MjBweDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDk2MHB4O1xuICAgIH1cblxuICAgIC5jbG9zZS1tZW51IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5tb2JpbGUtbWVudSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMTQwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTM2NnB4O1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAgIC5jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDE0NjZweDtcbiAgICB9XG59XG5cbi8qIE1heCBtZWRpYSAqL1xuXG5AbWVkaWEgKG1heC13aWR0aDogMTU5OXB4KSB7XG4gICAgLnNpdGUtdGl0bGUge1xuICAgICAgICBtYXgtd2lkdGg6IDMzMHB4O1xuICAgIH1cblxuICAgIC5tYWluLW5hdmlnYXRpb24gbGkge1xuICAgICAgICBtYXJnaW46IDAgMTNweDtcbiAgICB9XG5cbiAgICAvKiBIZWFkZXIgKi9cblxuICAgIC5hYm91dC1jb250ZW50LWFyZWEgLmNvbnRlbnQtYXJlYS1yaWdodCB7XG4gICAgICAgIHdpZHRoOiA0MCU7XG4gICAgfVxuXG4gICAgLmFib3V0LWNvbnRlbnQtYXJlYSAuY29udGVudC1hcmVhLWxlZnQge1xuICAgICAgICB3aWR0aDogNjAlO1xuICAgIH1cblxuICAgIC5zZXJ2aWNlcy1wb3N0IGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgIH1cblxuICAgIC8qIFNlcnZpY2VzICovXG59XG5cbi8qIDE0NDBweCAqL1xuXG5AbWVkaWEgKG1heC13aWR0aDogMTQzOXB4KSB7XG4gICAgLnNpdGUtaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgIH1cblxuICAgIC5zaXRlLXRpdGxlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyOTBweDtcbiAgICB9XG5cbiAgICAubWFpbi1uYXZpZ2F0aW9uIGxpIHtcbiAgICAgICAgbWFyZ2luOiAwIDEycHg7XG4gICAgfVxuXG4gICAgLmNhbGwtdXMtYmxvY2sge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIC5jYWxsLXVzLWJsb2NrIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuXG4gICAgLmhlYWRlci1zb2NpYWwgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG5cbiAgICAubWFpbi1uYXZpZ2F0aW9uIGEge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuXG4gICAgLm1haW4tbmF2aWdhdGlvbiB1bCBsaSA+IHVsIGxpIGEge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIHBhZGRpbmc6IDZweCAxMHB4O1xuICAgIH1cblxuICAgIC5tYWluLW5hdmlnYXRpb24gdWwgbGkgPiB1bCB7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICB9XG59XG5cbi8qIDEyMDBweCAqL1xuXG5AbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLnNpdGUtaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgIH1cblxuICAgIC5zaXRlLXRpdGxlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyMjBweDtcbiAgICB9XG5cbiAgICAubWFpbi1uYXZpZ2F0aW9uIGxpIHtcbiAgICAgICAgbWFyZ2luOiAwIDdweDtcbiAgICB9XG5cbiAgICAuY2FsbC11cy1ibG9jayB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgfVxuXG4gICAgLm1haW4tbmF2aWdhdGlvbiBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgIH1cblxuICAgIC5tYWluLW5hdmlnYXRpb24gdWwgbGkgPiB1bCBsaSBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgIH1cblxuICAgIC8qIEhlYWRlciAqL1xuXG4gICAgLnNlcnZpY2VzLWl0ZW0ge1xuICAgICAgICB3aWR0aDogMzMuMzMlO1xuICAgIH1cblxuICAgIC5jb250YWN0LW51bWJlciBzcGFuIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICB9XG5cbiAgICAvKiBTZXJ2aWNlcyAqL1xuXG4gICAgLmZvb3Rlci1sb2dvIGEge1xuICAgICAgICBtYXgtd2lkdGg6IDI1NXB4O1xuICAgIH1cblxuICAgIC5mb290ZXItbnVtYmVyIGEsXG4gICAgLmZvb3Rlci1idXR0b24gYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG5cbiAgICAuZm9vdGVyLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmNvbnRlbnQtYXJlYSAuYnRuLXByaW1hcnkge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgfVxuXG4gICAgLyogRm9vdGVyICovXG59XG5cbi8qIDk5MiAqL1xuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAuc2l0ZS10aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDI3NXB4O1xuICAgIH1cblxuICAgIC5tYWluLW5hdmlnYXRpb24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5tYWluLW5hdmlnYXRpb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkQzRjRGO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAyMHB4IDEwcHggcmdiKDAgMCAwIC8gMjAlKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgd2lkdGg6IDI3MHB4O1xuICAgICAgICB6LWluZGV4OiA5OTtcbiAgICB9XG5cbiAgICAubWFpbi1uYXZpZ2F0aW9uIC5jbG9zZS1tZW51IHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgfVxuXG4gICAgLm1haW4tbmF2aWdhdGlvbiAuY2xvc2UtbWVudSBpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIH1cblxuICAgIGJvZHkubWVudS1vcGVuIC5tYWluLW5hdmlnYXRpb24ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAubWVudS1vcGVuOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgLm1haW4tbmF2aWdhdGlvbiBsaSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2IoMjU1IDI1NSAyNTUgLyAyMCUpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5tYWluLW5hdmlnYXRpb24gbGkgYSB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgIH1cblxuICAgIC5tYWluLW5hdmlnYXRpb24gbGkuY3VycmVudC1tZW51LWl0ZW0gPiBhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSAyNTUgMjU1IC8gMjAlKTtcbiAgICB9XG5cbiAgICAuY2FsbC11cy1ibG9jayB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmRyb3AtYXJyb3cge1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYigyNTUgMjU1IDI1NSAvIDIwJSk7XG4gICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgIH1cblxuICAgIC5kcm9wLWFycm93OjpiZWZvcmUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0IzQjNCMztcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0IzQjNCMztcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBsZWZ0OiAxOHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICB3aWR0aDogMTBweDtcbiAgICB9XG5cbiAgICAubWFpbi1uYXZpZ2F0aW9uIHVsIGxpID4gdWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLm1haW4tbmF2aWdhdGlvbiB1bCBsaS5vcGVuID4gdWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAubWFpbi1uYXZpZ2F0aW9uIHVsIGxpID4gdWwgbGkgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIH1cblxuICAgIC5oZWFkZXItc29jaWFsIGE6aG92ZXIsXG4gICAgLmhlYWRlci1zb2NpYWwgYTpmb2N1cyxcbiAgICAuY2FsbC11cy1ibG9jayBzcGFuIGE6aG92ZXIsXG4gICAgLmNhbGwtdXMtYmxvY2sgc3BhbiBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgfVxuXG4gICAgLyogTWVudSAqL1xuXG4gICAgLnNpdGUtaGVhZGVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuc2l0ZS1oZWFkZXIgLmQtZmxleCB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAuc2l0ZS1icmFuZGluZyB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5tb2JpbGUtbWVudSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgLm1vYmlsZS1tZW51IGEge1xuICAgICAgICBjb2xvcjogIzJEM0Y0RjtcbiAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICBwYWRkaW5nOiAxN3B4IDExcHggMTlweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAubW9iaWxlLW1lbnUgYSBpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICAgIH1cblxuICAgIC8qIEhlYWRlciAqL1xuXG4gICAgLmFib3V0LWNvbnRlbnQtYXJlYSAuYWJvdXQtdGh1bWIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLmNvbnRlbnQtYXJlYS1sZWZ0IHtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuYWJvdXQtY29udGVudC1hcmVhIC5jb250ZW50LWFyZWEtcmlnaHQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuYWJvdXQtY29udGVudC1hcmVhIC5jb250ZW50LWFyZWEtbGVmdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5jb250ZW50LWFyZWEtcmlnaHQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNnB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuY29udGVudC1wYXJ0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNzZweDtcbiAgICB9XG5cbiAgICAuY29udGVudC1wYXJ0ICsgLmJ0bi1wcmltYXJ5IHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBwYWRkaW5nOiAyNHB4IDM2cHggMjlweDtcbiAgICB9XG5cbiAgICAuc2VydmljZXMtcGFnZS1pdGVtIHtcbiAgICAgICAgbWFyZ2luOiA4NHB4IDA7XG4gICAgfVxuXG4gICAgLnNlcnZpY2VzLXBhZ2UtdGh1bWIge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG4gICAgICAgIHdpZHRoOiAyNjBweDtcbiAgICB9XG5cbiAgICAuc2VydmljZXMtcGFnZS1zdW1tYXJ5IHAge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM2ZW07XG4gICAgfVxuXG4gICAgLmNvbnRhY3QtbnVtYmVyLWdyb3VwIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQycHg7XG4gICAgfVxuXG4gICAgLyogU2VydmljZXMgKi9cblxuICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICMjIEdhbGxlcmllc1xuICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggNiB7XG4gICAgICAgIC5nYWxsZXJ5LWNvbHVtbnMtI3skaX0gLmdhbGxlcnktaXRlbSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiA3NjcgKi9cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgYm9keSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNGVtO1xuICAgIH1cblxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMnB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgfVxuXG4gICAgLyogSGVhZGVyICovXG5cbiAgICAuYnRuLXByaW1hcnkge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggNTFweCAxN3B4O1xuICAgIH1cblxuICAgIC5ub3QtZm91bmQgLmJ0bi1wcmltYXJ5IHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDUxcHggMTdweDtcbiAgICB9XG5cbiAgICAuY29udGFjdC1udW1iZXIgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgcGFkZGluZzogMTNweCAwIDE3cHg7XG4gICAgfVxuXG4gICAgLmhvbWUtYmFubmVyLXNsaWRlci1pdGVtIHtcbiAgICAgICAgbWluLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgcGFkZGluZzogNTVweCAwIDE3cHg7XG4gICAgfVxuXG4gICAgLmhvbWUtYmFubmVyLXNsaWRlci1pdGVtOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDAuNTQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuXG4gICAgLmhvbWUtYmFubmVyLWNvbnRlbnQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmNvbnRhY3QtbnVtYmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMzBweDtcbiAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5jb250YWN0LW51bWJlciAuYnRuLXByaW1hcnkge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgfVxuXG4gICAgLnNlcnZpY2VzLWxpbms6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzJEM0Y0RjtcbiAgICAgICAgb3BhY2l0eTogMC42NjtcbiAgICB9XG5cbiAgICAuc2VydmljZXMtcG9zdCBoMyB7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cblxuICAgIC5hYm91dC10aHVtYiBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgIH1cblxuICAgIC5pbm5lci1iYW5uZXIge1xuICAgICAgICBoZWlnaHQ6IDE2NnB4O1xuICAgIH1cblxuICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiA3NiU7XG4gICAgfVxuXG4gICAgLnNlcnZpY2VzLXBhZ2Utc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweCAyNXB4O1xuICAgIH1cblxuICAgIC5zZXJ2aWNlcy1wYWdlLXRodW1iIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDJweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuc2VydmljZXMtcGFnZS1zdW1tYXJ5IGgzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG5cbiAgICAuc2VydmljZXMtcGFnZS1zdW1tYXJ5IHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLm5vdC1mb3VuZCB7XG4gICAgICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgICB9XG5cbiAgICAubm90LWZvdW5kIC5wYWdlLWNvbnRlbnQgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG5cbiAgICAuYWJvdXQtY29udGFjdC1udW1iZXItZ3JvdXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkQzRjRGO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuY29udGFjdC1udW1iZXItZ3JvdXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMkQzRjRGO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDM3cHg7XG4gICAgfVxuXG4gICAgLmNvbnRlbnQtYXJlYSBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAxNXB4IGF1dG87XG4gICAgfVxuXG4gICAgLyogU2VydmljZXMgKi9cblxuICAgIC5mb290ZXItY29udGVudCB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5mb290ZXItbnVtYmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmZvb3Rlci1idXR0b24ge1xuICAgICAgICBvcmRlcjogMztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuZm9vdGVyLWxvZ28ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMXB4O1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuZm9vdGVyLW51bWJlciBhLFxuICAgIC5mb290ZXItYnV0dG9uIGEge1xuICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgfVxuXG4gICAgLyogRm9vdGVyICovXG59XG5cbi8qIDc2NyAqL1xuXG5AbWVkaWEgKG1heC13aWR0aDogNTc2cHgpIHtcbiAgICAvKiBIZWFkZXIgKi9cblxuICAgIC5zZXJ2aWNlcy1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnNlcnZpY2VzLXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiA1OHB4IDIwcHggNTBweDtcbiAgICB9XG5cbiAgICAuY29udGVudC1hcmVhIHtcbiAgICAgICAgcGFkZGluZzogNTFweCAwIDY0cHg7XG4gICAgfVxuXG4gICAgLm1hcHMtYmxvY2sgaDQge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM0ZW07XG4gICAgICAgIG1hcmdpbjogMjVweCAyMHB4IDEycHg7XG4gICAgfVxuXG4gICAgLnNlcnZpY2VzLXBvc3QgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAxNzVweDtcbiAgICB9XG5cbiAgICAvKiBTZXJ2aWNlcyAqL1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDIwcHgpIHtcbiAgICAuYWJvdXQtY29udGFjdC1udW1iZXItZ3JvdXAgLmNvbnRhY3QtbnVtYmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbiIsIi5zaXRlLWhlYWRlciB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLnVwcGVyY2FzZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnRlbC1saW5rIHtcbiAgICAmIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgIH1cbn1cblxuLnNvY2lhbC1saW5rcyBzdmcge1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbn1cblxuLmxvZ28ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDQzMHB4O1xufVxuXG4uc2l0ZS1icmFuZGluZyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uY29udGFpbmVyLS1oZWFkZXItbWFpbiB7XG4gICAgcGFkZGluZzogMjRweCAwO1xufVxuXG4ubWVudS1tYWluLW5hdmlnYXRpb24tY29udGFpbmVyIHtcbiAgICAmIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIC5tZW51IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5tZW51ID4gLm1lbnUtaXRlbSA+IGEge1xuICAgICAgICBjb2xvcjogIzM3N0NEOTtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cztcbiAgICB9XG5cbiAgICAubWVudSA+IC5tZW51LWl0ZW0gPiBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IGRhcmtlbigjMzc3Q0Q5LCAxMCUpO1xuICAgIH1cbn1cblxuLmhlYWRlci1jb250YWluZXIge1xuICAgIC5jb250YWN0IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgcGFkZGluZzogOHB4IDA7XG4gICAgfVxuXG4gICAgLmNvbnRhY3QgcCxcbiAgICAuY29udGFjdCBhLFxuICAgIC5jb250YWN0IGxpIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuY29udGFjdCBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cblxuICAgIC5zb2NpYWwtbGlua3Mge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDAgMCAwIDM4cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmljb24td3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG59XG5cbi5jb250YWluZXItLWZ1bGwtYmxlZWQge1xuICAgIG1hcmdpbjogMDtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5iZy1iYW5uZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL21lZGlhL2hlYWRlci1iYW5uZXIuanBnXCIpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xufVxuXG4uaG9tZS1iYW5uZXItc2xpZGVyLWl0ZW0ge1xuICAgICYge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5zbGlkZV9fd3JhcHBlciB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDExMHB4IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgfVxuXG4gICAgLnNsaWRlX193cmFwcGVyOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCB0cmFuc3BhcmVudGl6ZSgjMDAwMDAwLCAwLjIpIDAsIHRyYW5zcGFyZW50aXplKCNBM0EzQTMsIDEpIDEwMCUpO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuXG4gICAgLmhvbWUtYmFubmVyLWRlcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDc0cHg7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMzNweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDFweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbWlmeSg0MCwgMzMpO1xuICAgIH1cblxuICAgIC5jb250YWluZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgICB9XG5cbiAgICAuc2xpZGUtY29udGVudHMge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiA2OTZweDtcbiAgICB9XG5cbiAgICAuYmFja2dyb3VuZC1pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAuYmFja2dyb3VuZC1pbWFnZSAuaW1hZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxufVxuXG4uYnV0dG9uLS1ub21hcmdpbiB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5idXR0b24ge1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBmb250LXNpemU6IDIzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBwYWRkaW5nOiAyMnB4IDM3cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cztcbn1cblxuLmJ1dHRvbi0tZGFyayB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4RTI5Mjc7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCM4RTI5MjcsIDUlKTtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgfVxufVxuXG4uYnV0dG9uLS1saWdodCB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oI0ZGRkZGRiwgMTUlKTtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgfVxufVxuXG4uYnV0dG9uX3JvdyB7XG4gICAgJiB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB9XG59XG5cbi5zZXJ2aWNlcy1zZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAgMjJweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNlcnZpY2VzLWJsb2NrIHtcbiAgICAmIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnNlcnZpY2VzLWl0ZW0ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMjJweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5zZXJ2aWNlcy10ZXh0IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgIH1cblxuICAgIC5zZXJ2aWNlcy1pdGVtIGgzIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIC5zZXJ2aWNlcy1saW5rIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIH1cblxuICAgIC5zZXJ2aWNlcy1saW5rOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzNzdDRDk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgb3BhY2l0eTogMC44MztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXM7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5zZXJ2aWNlcy1saW5rOmhvdmVyOjphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuMztcbiAgICB9XG5cbiAgICAuc2VydmljZS1wb3N0LWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICB9XG59XG5cbi5pZnJhbWVfYm9yZGVyIHtcbiAgICAmIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBib3JkZXI6IDZweCBzb2xpZCAjMDAwMDAwO1xuICAgIH1cblxuICAgIGgyLFxuICAgIGgzLFxuICAgIHAsXG4gICAgbGksXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgaDIsXG4gICAgaDMsXG4gICAgaDQsXG4gICAgaDUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIHBhZGRpbmc6IDIycHg7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDIycHg7XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIHBhZGRpbmc6IDIycHg7XG4gICAgfVxuXG4gICAgaDUge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIHBhZGRpbmc6IDIycHg7XG4gICAgfVxuXG4gICAgaWZyYW1lLFxuICAgIGltZyB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICB9XG59XG5cbi5zaXRlLWZvb3RlciB7XG4gICAgJiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogNjJweCAyMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5mb290ZXItYmcge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9tZWRpYS9mb290ZXItYmFubmVyLmpwZ1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBvcGFjaXR5OiAwLjk3O1xuICAgIH1cblxuICAgIC5mb290ZXJfX2NvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTEwMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuZm9vdGVyX19sZWZ0LFxuICAgIC5mb290ZXJfX3JpZ2h0LFxuICAgIC5mb290ZXJfX2NlbnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgLmZvb3Rlcl9fbGVmdCB7XG4gICAgICAgIGZsZXg6IDAgMCAxNzVweDtcbiAgICB9XG5cbiAgICAuZm9vdGVyX19yaWdodCB7XG4gICAgICAgIGZsZXg6IDAgMCAyNTBweDtcbiAgICB9XG5cbiAgICAuZm9vdGVyX2NlbnRlciB7XG4gICAgICAgIGZsZXg6IDAgMSA0MzBweDtcbiAgICB9XG5cbiAgICAuZm9vdGVyX19saW5rIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzO1xuICAgIH1cblxuICAgIC5mb290ZXJfX2xpbms6aG92ZXIge1xuICAgICAgICBjb2xvcjogZGFya2VuKCNGRkZGRkYsIDEwJSk7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkxcHgpIHtcbiAgICAuaG9tZS1iYW5uZXItc2xpZGVyLWl0ZW0gLnNsaWRlX193cmFwcGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5idXR0b25fcm93IHtcbiAgICAgICAgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHggMCAwIDZweDtcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgNnB4IDZweCAwO1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9vdGVyX19sZWZ0IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAuZm9vdGVyX19yaWdodCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAuZm9vdGVyX19jZW50ZXIge1xuICAgICAgICBwYWRkaW5nOiAwIDkycHg7XG4gICAgfVxuXG4gICAgLnNpdGUtZm9vdGVyIC5yb3cge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxNDAwcHgpIHtcbiAgICAuc2VydmljZXMtYmxvY2sgLnNlcnZpY2VzLWl0ZW0gaDMge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAuc3ViLW1lbnUge1xuICAgICAgICBsZWZ0OiAtOTk5ZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgIH1cblxuICAgIC5zZXJ2aWNlcy1ibG9jayB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAuc2VydmljZXMtYmxvY2sgLnNlcnZpY2VzLWl0ZW0ge1xuICAgICAgICBmbGV4OiAwIDAgMzMlO1xuICAgIH1cblxuICAgIC5tb2JpbGUtbWVudSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgLm1vYmlsZS1tZW51IGEsXG4gICAgLm1vYmlsZS1tZW51IHN2ZyxcbiAgICAubW9iaWxlLW1lbnUgaSB7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIH1cblxuICAgIC5tb2JpbGUtbWVudSBzdmcsXG4gICAgLm1vYmlsZS1tZW51IGkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDExcHg7XG4gICAgfVxuXG4gICAgLm1lbnUtbWFpbi1uYXZpZ2F0aW9uLWNvbnRhaW5lciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICB9XG5cbiAgICAuYWRtaW4tYmFyIC5tYWluLW5hdmlnYXRpb24ge1xuICAgICAgICBwYWRkaW5nLXRvcDogNDVweDtcbiAgICB9XG5cbiAgICAuaGVhZGVyLWNvbnRhaW5lciAubW9iaWxlLW1lbnUgYSB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtM3B4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhlYWRlci1jb250YWluZXIgLmNvbnRhY3Qge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudGVsLWxpbmsge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnUtbWFpbi1uYXZpZ2F0aW9uLWNvbnRhaW5lciAubWVudSA+IC5tZW51LWl0ZW0gPiBhIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgfVxuXG4gICAgLnNpdGUtZm9vdGVyIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb290ZXJfX2NlbnRlcixcbiAgICAgICAgLmxvZ29fd3JhcHBlcixcbiAgICAgICAgLmxvZ28ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG9yZGVyOiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDI3NnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvb3Rlcl9fbGVmdCxcbiAgICAgICAgLmZvb3Rlcl9fcmlnaHQsXG4gICAgICAgIC5mb290ZXJfX2NlbnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IDExcHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb290ZXJfX2NlbnRlciB7XG4gICAgICAgICAgICBvcmRlcjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb290ZXJfX2xlZnQge1xuICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAuZm9vdGVyX19yaWdodCB7XG4gICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb290ZXJfX2NvbnRhaW5lciBoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmctYmFubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAwcHggYXV0bztcbiAgICB9XG5cbiAgICAuc2l0ZS1mb290ZXIge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDIwcHg7XG4gICAgfVxuXG4gICAgLnNpdGUtZm9vdGVyIC5mb290ZXItYmcge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDcwMHB4IGF1dG87XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjJweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjJweDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5zZXJ2aWNlcy1ibG9jayAuc2VydmljZXMtaXRlbSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cblxuICAgIC5zZXJ2aWNlcy1ibG9jayAuc2VydmljZS1wb3N0LWltYWdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDI1MHB4O1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG5cbiAgICAuaG9tZS1iYW5uZXItZGVzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG5cbiAgICAuaG9tZS1iYW5uZXItc2xpZGVyLWl0ZW0gLnNsaWRlX193cmFwcGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vbWVkaWEvd29vZC1wYW5lbC5qcGdcIik7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5ob21lLWJhbm5lci1zbGlkZXItaXRlbSAuYmFja2dyb3VuZC1pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuaG9tZS1iYW5uZXItc2xpZGVyLWl0ZW0gLnNsaWRlX193cmFwcGVyOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50aXplKCMwMDAwMDAsIDAuMzIpO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuXG4gICAgLmhvbWUtYmFubmVyLXNsaWRlci1pdGVtIC5ob21lLWJhbm5lci1kZXMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNHB4O1xuICAgIH1cblxuICAgIC5ob21lLWJhbm5lci1zbGlkZXItaXRlbSAuc2xpZGVfX3dyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAyN3B4IDA7XG4gICAgfVxuXG4gICAgLnNsaWRlX193cmFwcGVyIC5jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAwIDIycHg7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgfVxuXG4gICAgLmhvbWUtYmFubmVyLXNsaWRlci1pdGVtIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAxcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1ZW07XG4gICAgfVxuXG4gICAgLmJ1dHRvbl9yb3cge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgcGFkZGluZzogMTdweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE0cHggNDhweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNHB4IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uOmZpcnN0LWNoaWxkLFxuICAgICAgICAuYnV0dG9uLFxuICAgICAgICAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjMwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZXJ2aWNlcy1ibG9jayAuc2VydmljZXMtaXRlbSBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICB9XG5cbiAgICAuc2VydmljZXMtc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDM1cHggMDtcbiAgICB9XG5cbiAgICAuc2VydmljZXMtYmxvY2sgLnNlcnZpY2VzLWl0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAxMXB4IDIycHg7XG4gICAgfVxufVxuIiwiLy8gU3R5bGVzIHdyaXR0ZW4gYnkgX19ndWxwX2luaXRfYXV0aG9yX25hbWVfXyBAIF9fZ3VscF9pbml0X2F1dGhvcl9jb21wYW55X19cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICpcXFxuICogaWZyYW1lXG5cXCogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi5pZnJhbWVfX2NvbnRhaW5lciB7XG4gICAgJiB7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICA+LmlmcmFtZSB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbiIsIi8vIFN0eWxlcyB3cml0dGVuIGJ5IF9fZ3VscF9pbml0X2F1dGhvcl9uYW1lX18gQCBfX2d1bHBfaW5pdF9hdXRob3JfY29tcGFueV9fXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqXFxcbiAqIEdyaWQgKGJhc2VkIGxvb3NlbHkgb24gaHR0cHM6Ly92NC1hbHBoYS5nZXRib290c3RyYXAuY29tL2xheW91dC9ncmlkLylcblxcKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQHVzZSBcInNhc3M6bWF0aFwiO1xuXG4ucm93IHtcbiAgICAmIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cblxuICAgICYgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG5cbiAgICAmID4gLmNvbC0tZ3Jvdy0wIHtcbiAgICAgICAgZmxleC1ncm93OiAwO1xuICAgIH1cblxuICAgICYgPiAuY29sLS1zaHJpbmstMCB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cbn1cblxuLnJvdy0tZGlzcGxheS1ncmlkIHtcbiAgICAmIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoJGNvbHVtbi1jb3VudCwgMWZyKTtcbiAgICB9XG5cbiAgICAmLnJvdy0tZXF1YWwge1xuICAgICAgICBncmlkLWF1dG8tY29sdW1uczogMWZyO1xuICAgICAgICBncmlkLWF1dG8tcm93czogMWZyO1xuICAgIH1cbn1cblxuLnJvdy0tcGFkZGVkLFxuLmlzLXN0eWxlLXJvdy1wYWRkZWQge1xuICAgICYge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgI3tyZW1pZnkoJGNvbHVtbi1nYXAsIDE2KX0pO1xuICAgIH1cblxuICAgID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW1pZnkoJGNvbHVtbi1nYXAsIDE2KTtcbiAgICB9XG59XG5cbi5yb3ctLXBhZGRlZC10aWdodCxcbi5pcy1zdHlsZS1yb3ctcGFkZGVkLXRpZ2h0IHtcbiAgICAmIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArICN7cmVtaWZ5KCRjb2x1bW4tZ2FwICogMC43NSwgMTYpfSk7XG4gICAgfVxuXG4gICAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbWlmeSgkY29sdW1uLWdhcCAqIDAuNzUsIDE2KTtcbiAgICB9XG59XG5cbi5yb3ctLXBhZGRlZC1sb29zZSxcbi5pcy1zdHlsZS1yb3ctcGFkZGVkLWxvb3NlIHtcbiAgICAmIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArICN7cmVtaWZ5KCRjb2x1bW4tZ2FwICogMS4yNSwgMTYpfSk7XG4gICAgfVxuXG4gICAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbWlmeSgkY29sdW1uLWdhcCAqIDEuMjUsIDE2KTtcbiAgICB9XG59XG5cbi5yb3ctLXdyYXAtbm8ge1xuICAgICYge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICB9XG59XG5cbi5yb3ctLXdyYXAtcmV2ZXJzZSB7XG4gICAgJiB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlO1xuICAgIH1cbn1cblxuLnJvdy0tY2VudGVyIHtcbiAgICAmIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxufVxuXG4ucm93LS1hbGlnbi1zdGFydCB7XG4gICAgJiB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cbn1cblxuLnJvdy0tYWxpZ24tY2VudGVyIHtcbiAgICAmIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG59XG5cbi5yb3ctLWFsaWduLWVuZCB7XG4gICAgJiB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICB9XG59XG5cbi5yb3ctLWFsaWduLXN0cmV0Y2gge1xuICAgICYge1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG59XG5cbi5yb3ctLWp1c3RpZnktc3RhcnQge1xuICAgICYge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxufVxuXG4ucm93LS1qdXN0aWZ5LWNlbnRlciB7XG4gICAgJiB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbn1cblxuLnJvdy0tanVzdGlmeS1lbmQge1xuICAgICYge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cbn1cblxuLnJvdy0tanVzdGlmeS1hcm91bmQge1xuICAgICYge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICB9XG59XG5cbi5yb3ctLWp1c3RpZnktYmV0d2VlbiB7XG4gICAgJiB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG59XG5cbi5yb3ctLWRpcmVjdGlvbi1jb2x1bW4ge1xuICAgICYge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbn1cblxuLnJvdy0tZGlyZWN0aW9uLXJldmVyc2Uge1xuICAgICY6bm90KC5yb3ctLWRpcmVjdGlvbi1jb2x1bW4pIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgIH1cblxuICAgICYucm93LS1kaXJlY3Rpb24tY29sdW1uIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIH1cbn1cblxuLmNvbC1hdXRvIHtcbiAgICAmIHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICB9XG59XG5cbkBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJGNvbHVtbi1jb3VudCB7XG4gICAgLmNvbC0jeyRpfSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IG1hdGguZGl2KCRpLCAkY29sdW1uLWNvdW50KSAqIDEwMCU7XG4gICAgICAgIGdyaWQtY29sdW1uOiBzcGFuICRpO1xuICAgIH1cbn1cblxuQGVhY2ggJG5hbWUsICRzaXplIGluICRicmVha3BvaW50cyB7XG4gICAgQGluY2x1ZGUgbGFyZ2VyLXRoYW4oJG5hbWUpIHtcbiAgICAgICAgLmNvbC0jeyRuYW1lfS1hdXRvIHtcbiAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW4tY291bnQge1xuICAgICAgICAgICAgLmNvbC0jeyRuYW1lfS0jeyRpfSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogbWF0aC5kaXYoJGksICRjb2x1bW4tY291bnQpICogMTAwJTtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAkaTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi51c2VyLWNvbnRlbnQge1xuICAgIHAsXG4gICAgdWwsXG4gICAgb2wsXG4gICAgYSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW1pZnkoMjcsIDE4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgICB9XG5cbiAgICBwID4gYSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICM4RTI5Mjc7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICAgICAgcGFkZGluZzogMTdweCAzOHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXM7XG4gICAgfVxuXG4gICAgLmJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigjOEUyOTI3LCA1JSk7XG4gICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIH1cblxuICAgIFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgIC51c2VyLWNvbnRlbnQge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDM1cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0= */
