/*!
Theme Name: AbbType
Theme URI: http://webiz.team
Author: Webiz Team
Author URI: https://webiz.team/
Description: AbbType Theme
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: abbtype

*/
/**
 * Strips the unit from a given number-unit-combination and returns the number.
 * @link: http://stackoverflow.com/a/12335841/1779999
 * @usage: parse-int(10px) => 10
 */
/**
   * Simply adds the em unit to a given number. This is used twice in the
   * function underneath, thus the need for a separate function.
   */
/**
   * Calculates em values for a given list of (px or em) values and a given em
   * base. Multiply base values for nested em structures (last @usage example).
   * @usage: em(10px, 1.125) => .55556em
   *         em(24px, .875em) => 1.71429em
   *         em(12px 0 7em rgba(0, 0, 0, .7), 1.75) => .42857em 0 4em rgba(0, 0, 0, 0.7)
   *         em(12px) + em(3em) => 3.75em
   *         em(23px, em(53px)) => .43396em
   *         em(24px, 1.5 * 1.125) => .88889em
   */
/*--------------------------------------------------------------
# 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;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
	 ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
  overflow-x: 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 {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 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, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
	 ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */ }

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

/**
 * 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, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * 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 images 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;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

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

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  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 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * 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"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * 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;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * 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;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* 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; }

/*--------------------------------------------------------------
# Main Layout
--------------------------------------------------------------*/
html {
  background-color: #fff;
  font-size: 16px;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  min-width: 300px;
  overflow-x: hidden;
  overflow-y: scroll;
  text-rendering: optimizeLegibility;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%; }

* {
  -webkit-tap-highlight-color: transparent; }

body {
  font-family: "Roboto", Georgia, "Times New Roman", serif;
  line-height: 1.4;
  font-weight: 400; }

.container, .alignfull > .wp-block-group__inner-container, .alignfull > .wp-block-cover__inner-container, body .wp-block-kadence-rowlayout.alignfull > .kt-row-layout-inner > .kt-row-column-wrap.kb-theme-content-width {
  max-width: 100%;
  padding-left: 1.875em;
  padding-right: 1.875em; }
  @media (max-width: 360px) {
    .container, .alignfull > .wp-block-group__inner-container, .alignfull > .wp-block-cover__inner-container, body .wp-block-kadence-rowlayout.alignfull > .kt-row-layout-inner > .kt-row-column-wrap.kb-theme-content-width {
      padding-left: 0.9375em;
      padding-right: 0.9375em; } }
  @media (min-width: 768px) {
    .container, .alignfull > .wp-block-group__inner-container, .alignfull > .wp-block-cover__inner-container, body .wp-block-kadence-rowlayout.alignfull > .kt-row-layout-inner > .kt-row-column-wrap.kb-theme-content-width {
      max-width: 43.75rem;
      padding-left: 0;
      padding-right: 0;
      margin: 0 auto; } }
  @media (min-width: 992px) {
    .container, .alignfull > .wp-block-group__inner-container, .alignfull > .wp-block-cover__inner-container, body .wp-block-kadence-rowlayout.alignfull > .kt-row-layout-inner > .kt-row-column-wrap.kb-theme-content-width {
      max-width: 59.375rem; } }
  @media (min-width: 1025px) {
    .container, .alignfull > .wp-block-group__inner-container, .alignfull > .wp-block-cover__inner-container, body .wp-block-kadence-rowlayout.alignfull > .kt-row-layout-inner > .kt-row-column-wrap.kb-theme-content-width {
      max-width: 93%; } }
  @media (min-width: 1280px) {
    .container, .alignfull > .wp-block-group__inner-container, .alignfull > .wp-block-cover__inner-container, body .wp-block-kadence-rowlayout.alignfull > .kt-row-layout-inner > .kt-row-column-wrap.kb-theme-content-width {
      max-width: 80rem; } }

body .wp-block-kadence-rowlayout.alignfull > .kt-row-layout-inner > .kt-row-column-wrap.kb-theme-content-width {
  max-width: 100% !important; }
  @media (min-width: 768px) {
    body .wp-block-kadence-rowlayout.alignfull > .kt-row-layout-inner > .kt-row-column-wrap.kb-theme-content-width {
      max-width: 43.75rem !important; } }
  @media (min-width: 992px) {
    body .wp-block-kadence-rowlayout.alignfull > .kt-row-layout-inner > .kt-row-column-wrap.kb-theme-content-width {
      max-width: 59.375rem !important; } }
  @media (min-width: 1280px) {
    body .wp-block-kadence-rowlayout.alignfull > .kt-row-layout-inner > .kt-row-column-wrap.kb-theme-content-width {
      max-width: 80rem !important; } }

.show-en, .show-bg {
  display: none; }

.lang-bg .show-bg {
  display: block; }

.lang-en .show-en {
  display: block; }

.admin-bar .site-header {
  top: 46px; }
  .admin-bar .site-header.not-on-top {
    top: 0; }
    @media (min-width: 768px) {
      .admin-bar .site-header.not-on-top {
        top: 32px; } }
  @media (min-width: 992px) {
    .admin-bar .site-header {
      top: 32px; }
      .admin-bar .site-header.not-on-top {
        top: 32px; }
        .admin-bar .site-header.not-on-top.header-hide {
          top: -3.75rem; } }
      @media (min-width: 992px) and (min-width: 992px) {
        .admin-bar .site-header.not-on-top.header-hide {
          top: -4.375rem; } }

body {
  padding-top: 3.75rem; }
  @media (min-width: 992px) {
    body {
      padding-top: 4.375rem; } }

.site-header {
  height: 3.75rem;
  padding: 0.75rem 0;
  background: #fff;
  width: 100%;
  z-index: 995;
  top: 0;
  position: absolute;
  -webkit-transition: all .2s ease-out;
  transition: all .2s ease-out;
  border-bottom: 1px solid #f2f2f2; }
  @media (min-width: 992px) {
    .site-header {
      height: 4.375rem; } }
  .site-header.not-on-top {
    position: fixed; }
  .site-header.header-hide {
    top: -3.75rem; }
    @media (min-width: 992px) {
      .site-header.header-hide {
        top: -4.375rem; } }
    .site-header.header-hide.force_opened {
      pointer-events: all;
      position: fixed;
      top: 0; }
      @media (min-width: 992px) {
        .site-header.header-hide.force_opened {
          top: 0; } }
  .site-header .container, .site-header .alignfull > .wp-block-group__inner-container, .site-header .alignfull > .wp-block-cover__inner-container, .site-header body .wp-block-kadence-rowlayout.alignfull > .kt-row-layout-inner > .kt-row-column-wrap.kb-theme-content-width, body .site-header .wp-block-kadence-rowlayout.alignfull > .kt-row-layout-inner > .kt-row-column-wrap.kb-theme-content-width {
    height: 100%; }
    .site-header .container .header_wrapper, .site-header .alignfull > .wp-block-group__inner-container .header_wrapper, .site-header .alignfull > .wp-block-cover__inner-container .header_wrapper, .site-header body .wp-block-kadence-rowlayout.alignfull > .kt-row-layout-inner > .kt-row-column-wrap.kb-theme-content-width .header_wrapper, body .site-header .wp-block-kadence-rowlayout.alignfull > .kt-row-layout-inner > .kt-row-column-wrap.kb-theme-content-width .header_wrapper {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-transition: all 0.2s ease-out;
      transition: all 0.2s ease-out;
      height: 100%;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      position: relative; }
  .site-header .site-branding {
    height: 100%; }
    .site-header .site-branding a {
      display: block;
      height: 100%; }
      .site-header .site-branding a img {
        display: block;
        max-height: 100%;
        width: auto; }

.site-footer {
  padding: 1rem 0;
  padding-bottom: 0;
  background: #fff;
  color: #333333; }
  .site-footer h2 {
    margin-top: 0.625rem;
    font-size: 1.3125rem; }
  .site-footer .menu {
    padding-left: 0; }
    .site-footer .menu li {
      list-style: none; }
      .site-footer .menu li a {
        color: #000;
        margin-bottom: 0.3125rem;
        font-size: 1.1875rem;
        cursor: pointer; }
  .site-footer .soical-icon {
    -webkit-transition: all 0.25s ease-out;
    transition: all 0.25s ease-out;
    width: 3.75rem;
    height: 3.75rem;
    overflow: hidden;
    background-color: #f2f2f2;
    border-radius: 50%;
    background-repeat: no-repeat;
    background-position: center;
    margin-right: 0.9375rem; }
    .site-footer .soical-icon:hover {
      background-color: #dceaf9; }
    .site-footer .soical-icon a {
      text-indent: 6250rem;
      display: block;
      width: 100%;
      height: 100%; }
    .site-footer .soical-icon.facebook {
      background-image: url("../icons/facebook.svg"); }
    .site-footer .soical-icon.linkedin {
      background-image: url("../icons/linkedin.svg"); }
    .site-footer .soical-icon.youtube {
      background-image: url("../icons/youtube.svg"); }
    .site-footer .soical-icon.instagram {
      background-image: url("../icons/instagram.svg"); }
    .site-footer .soical-icon.mail {
      background-image: url("../icons/mail-Icon.svg"); }
  .site-footer #nav_menu-2 .menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-left: 0; }
  @media (min-width: 1280px) {
    .site-footer .columns.grid_4 .column:first-of-type {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 18%;
              flex: 0 0 18%; } }
  .site-footer .columns.grid_4 .column:nth-of-type(2) {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%; }
    @media (min-width: 1280px) {
      .site-footer .columns.grid_4 .column:nth-of-type(2) {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 38%;
                flex: 0 0 38%; } }

.widget {
  margin: 0 0 1.5em;
  /* Make sure select elements fit in widgets. */ }
  .widget select {
    max-width: 100%; }

.sticky {
  display: block; }

.post,
.page {
  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; }

/* Animation */
.anim-typewriter {
  color: #6ED847; }

@media (max-width: 767px) {
  .anim_wrap {
    display: block; } }

.yes-trace {
  position: relative; }
  .yes-trace:after {
    content: '';
    background-image: url("../icons/yes-trace.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    padding: 0.4375rem 0.625rem;
    width: 130%;
    height: 130%;
    position: absolute;
    left: -15%; }

.features-section img {
  margin-right: 1.25rem; }
  @media (min-width: 1280px) {
    .features-section img {
      margin-right: 1.875rem; } }

.narrow-content {
  max-width: 72.5rem;
  margin: 0 auto; }

.wp-block-kadence-tabs .kt-tabs-title-list li .kt-tab-title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 3.125rem !important; }

.wp-block-kadence-tabs .kt-tabs-title-list li.kt-tab-title-active .kt-tab-title {
  width: 100% !important;
  border-bottom-right-radius: 0 !important;
  border-top-right-radius: 0 !important; }

.kt-accordion-panel-active {
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  margin-bottom: 0 !important; }

@media (min-width: 1280px) {
  .additional-margin-bot {
    margin-bottom: 3.75rem; } }

body,
button,
input,
select,
optgroup,
textarea {
  color: #000;
  font-family: "Roboto", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5; }

a {
  color: #0086e6;
  text-decoration: none; }
  a:hover, a:focus, a:active {
    color: #6d6d6d; }
  a:focus {
    outline: 0; }
  a:hover, a:active {
    outline: 0; }

h1, h2, h3, h4, h5, h6 {
  font-family: "Roboto", Georgia, "Times New Roman", serif;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 1rem;
  margin-top: 0; }

h1 {
  font-size: 1.75rem; }
  @media (min-width: 1280px) {
    h1 {
      font-size: 2.5rem;
      margin-bottom: 3.75rem; } }

h2 {
  font-size: 1.375rem; }
  @media (min-width: 1280px) {
    h2 {
      font-size: 1.5rem; } }

h3 {
  font-size: 1rem; }
  @media (min-width: 1280px) {
    h3 {
      font-size: 1.125rem; } }

h4 {
  font-size: 1rem; }

h5, h6 {
  font-size: 1rem; }

p {
  font-size: 1em;
  margin-bottom: 0.875rem; }
  @media (min-width: 1600px) {
    p {
      font-size: 1em; } }

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

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

blockquote {
  margin: 0 1.5em; }

address {
  margin: 0 0 1.5em; }

pre {
  background: #eee;
  font-family: "Courier 10 Pitch", Courier, monospace;
  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: Arial, "Helvetica Neue", Helvetica, sans-serif;
  font-size: 15px;
  font-size: 0.9375rem; }

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

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

big {
  font-size: 125%; }

small {
  font-size: 0.625em; }

.accent {
  font-size: 1em;
  font-weight: 700;
  text-decoration: none; }
  .accent.small {
    font-size: 0.75em;
    display: block;
    text-align: center;
    margin-top: 1em; }

/* roboto-regular - latin_cyrillic */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: local(""), url("../fonts/roboto-v30-latin_cyrillic-regular.woff2") format("woff2"), url("../fonts/roboto-v30-latin_cyrillic-regular.woff") format("woff");
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ }

/* roboto-700 - latin_cyrillic */
@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: local(""), url("../fonts/roboto-v30-latin_cyrillic-700.woff2") format("woff2"), url("../fonts/roboto-v30-latin_cyrillic-700.woff") format("woff");
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ }

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

*,
*:before,
*:after {
  /* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see https://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
  -webkit-box-sizing: inherit;
          box-sizing: inherit; }

ul, ol {
  margin: 0 0 1rem 0;
  padding: 0 0 0 1rem; }

ol {
  list-style: decimal; }

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

dt {
  font-weight: bold; }

dd {
  margin: 0 1.5em 1.5em; }

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

.table-wrapper {
  overflow-x: auto;
  margin: 0 0 20px;
  overflow-y: hidden; }

/*--------------------------------------------------------------
# Gutenberg
--------------------------------------------------------------*/
.has-grey-text-color {
  color: #646464; }

.has-grey-text-background-color {
  background-color: #646464; }

.has-dark-grey-color {
  color: #333333; }

.has-dark-grey-background-color {
  background-color: #333333; }

.has-white-color {
  color: #FFFFFF; }

.has-white-background-color {
  background-color: #FFFFFF; }

.has-black-color {
  color: #000000; }

.has-black-background-color {
  background-color: #000000; }

.has-grey-bg-color {
  color: #0000000d; }

.has-grey-bg-background-color {
  background-color: #0000000d; }

.has-blue-color {
  color: #4A97E7; }

.has-blue-background-color {
  background-color: #4A97E7; }

/**
 * Font sizes.
 *
 * Two sets, once for mobile and one for desktop. Feel free to add or remove if needed
 */
.has-xs-font-size {
  font-size: 0.625rem; }

.has-s-font-size {
  font-size: 0.875rem; }

.has-d-font-size {
  font-size: 1rem; }

.has-m-font-size {
  font-size: 1rem; }

.has-l-font-size {
  font-size: 1.375rem; }

.has-xl-font-size {
  font-size: 1.625rem; }

.has-xxl-font-size {
  font-size: 1.75rem; }

.has-xxxl-font-size {
  font-size: 1.875rem; }

@media (min-width: 768px) {
  .has-xs-font-size {
    font-size: 0.625rem; }
  .has-s-font-size {
    font-size: 0.875rem; }
  .has-d-font-size {
    font-size: 1rem; }
  .has-m-font-size {
    font-size: 1rem; }
  .has-l-font-size {
    font-size: 1.375rem; }
  .has-xl-font-size {
    font-size: 1.75rem; }
  .has-xxl-font-size {
    font-size: 2rem; }
  .has-xxxl-font-size {
    font-size: 2.25rem; } }

@media (min-width: 1280px) {
  .has-xs-font-size {
    font-size: 0.75rem; }
  .has-s-font-size {
    font-size: 0.875rem; }
  .has-d-font-size {
    font-size: 1rem; }
  .has-m-font-size {
    font-size: 1.125rem; }
  .has-l-font-size {
    font-size: 1.5rem; }
  .has-xl-font-size {
    font-size: 2rem; }
  .has-xxl-font-size {
    font-size: 2.5rem; }
  .has-xxxl-font-size {
    font-size: 3.75rem; } }

.wp-block-group.is-style-s-section-padding {
  padding: 2.5rem 0; }
  @media (min-width: 992px) {
    .wp-block-group.is-style-s-section-padding {
      padding: 3.75rem 0; } }

.wp-block-group.is-style-m-section-padding {
  padding: 3.75rem 0; }
  @media (min-width: 992px) {
    .wp-block-group.is-style-m-section-padding {
      padding: 5rem 0; } }

.wp-block-group.is-style-l-section-padding {
  padding: 6.25rem 0; }
  @media (min-width: 992px) {
    .wp-block-group.is-style-l-section-padding {
      padding: 7.5rem 0; } }

.wp-block-cover.alignfull {
  padding: 0; }
  .wp-block-cover.alignfull .wp-block-cover__inner-container {
    width: 100%; }

.columns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -0.9375rem;
  margin-right: -0.9375rem; }
  .columns .column {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    padding-bottom: 0.9375rem;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%; }
    @media (min-width: 768px) {
      .columns .column {
        padding-top: 0.9375rem; } }
  @media (min-width: 768px) {
    .columns.grid_2 .column {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%; } }
  @media (min-width: 768px) {
    .columns.grid_3 .column {
      width: 33.333%;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%; } }
  @media (min-width: 768px) {
    .columns.grid_4 .column {
      width: 50%;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%; } }
  @media (min-width: 992px) {
    .columns.grid_4 .column {
      width: 25%;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%; } }
  @media (min-width: 768px) {
    .columns.grid_5 .column {
      width: 20%;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%; } }
  @media (min-width: 992px) {
    .columns.grid_5 .column {
      width: 20%;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 20%;
              flex: 0 0 20%; } }

.has-green-color {
  color: #6ED847; }

button,
.button,
.btn-white,
.is-style-white-btn .wp-block-button__link,
.btn-green,
.is-style-fill .wp-block-button__link,
input[type="button"],
input[type="reset"],
input[type="submit"],
.wp-block-button__link {
  border: 0 none;
  border-radius: 1.55em;
  background: #32373c;
  color: #fff;
  font-size: 1rem;
  padding: .667em 1.333em;
  cursor: pointer;
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out; }
  button:hover,
  .button:hover,
  .btn-white:hover,
  .is-style-white-btn .wp-block-button__link:hover,
  .btn-green:hover,
  .is-style-fill .wp-block-button__link:hover,
  input[type="button"]:hover,
  input[type="reset"]:hover,
  input[type="submit"]:hover,
  .wp-block-button__link:hover {
    background: #4A97E7;
    color: #fff; }
  button:active, button:focus,
  .button:active,
  .btn-white:active,
  .is-style-white-btn .wp-block-button__link:active,
  .btn-green:active,
  .is-style-fill .wp-block-button__link:active,
  .button:focus,
  .btn-white:focus,
  .is-style-white-btn .wp-block-button__link:focus,
  .btn-green:focus,
  .is-style-fill .wp-block-button__link: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,
  .wp-block-button__link:active,
  .wp-block-button__link:focus {
    background: #4A97E7; }
  button:disabled, button[disabled],
  button .disabled,
  .button:disabled,
  .btn-white:disabled,
  .is-style-white-btn .wp-block-button__link:disabled,
  .btn-green:disabled,
  .is-style-fill .wp-block-button__link:disabled,
  .button[disabled],
  .btn-white[disabled],
  .is-style-white-btn .wp-block-button__link[disabled],
  .btn-green[disabled],
  .is-style-fill .wp-block-button__link[disabled],
  .button .disabled,
  .btn-white .disabled,
  .is-style-white-btn .wp-block-button__link .disabled,
  .btn-green .disabled,
  .is-style-fill .wp-block-button__link .disabled,
  input[type="button"]:disabled,
  input[type="button"][disabled],
  input[type="button"] .disabled,
  input[type="reset"]:disabled,
  input[type="reset"][disabled],
  input[type="reset"] .disabled,
  input[type="submit"]:disabled,
  input[type="submit"][disabled],
  input[type="submit"] .disabled,
  .wp-block-button__link:disabled,
  .wp-block-button__link[disabled],
  .wp-block-button__link .disabled {
    opacity: 0.4;
    cursor: not-allowed; }

.btn-white, .is-style-white-btn .wp-block-button__link {
  background-color: #fff;
  color: #6ED847;
  border-radius: 2.0625rem; }

.is-style-white-btn .wp-block-button__link:hover {
  background-color: #fff;
  color: #4A97E7; }

.btn-green, .is-style-fill .wp-block-button__link {
  background-color: #6ED847;
  color: #fff;
  border-radius: 2.0625rem; }

.woocommerce a.wc-forward, .woocommerce-page button.button, .woocommerce-page button.btn-white, .woocommerce-page .is-style-white-btn button.wp-block-button__link, .is-style-white-btn .woocommerce-page button.wp-block-button__link, .woocommerce-page button.btn-green, .woocommerce-page .is-style-fill button.wp-block-button__link, .is-style-fill .woocommerce-page button.wp-block-button__link {
  background-color: #6ED847 !important;
  color: #fff !important;
  border-radius: 2.0625rem !important; }
  .woocommerce a.wc-forward:hover, .woocommerce-page button.button:hover, .woocommerce-page button.btn-white:hover, .woocommerce-page .is-style-white-btn button.wp-block-button__link:hover, .is-style-white-btn .woocommerce-page button.wp-block-button__link:hover, .woocommerce-page button.btn-green:hover, .woocommerce-page .is-style-fill button.wp-block-button__link:hover, .is-style-fill .woocommerce-page button.wp-block-button__link:hover {
    background: #4A97E7 !important;
    color: #fff !important; }
  .woocommerce a.wc-forward:first-of-type, .woocommerce-page button.button:first-of-type, .woocommerce-page button.btn-white:first-of-type, .woocommerce-page .is-style-white-btn button.wp-block-button__link:first-of-type, .is-style-white-btn .woocommerce-page button.wp-block-button__link:first-of-type, .woocommerce-page button.btn-green:first-of-type, .woocommerce-page .is-style-fill button.wp-block-button__link:first-of-type, .is-style-fill .woocommerce-page button.wp-block-button__link:first-of-type {
    margin-right: 0.625rem; }

.woocommerce-mini-cart-item img {
  display: none; }

.woocommerce-mini-cart-item .quantity {
  display: block; }

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: #666;
  border: 1px solid #ccc;
  padding: 3px;
  border-radius: 6px;
  min-height: 40px;
  -webkit-transition: 300ms all;
  transition: 300ms all; }
  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: #111;
    -webkit-transition: 300ms all;
    transition: 300ms all;
    outline: none; }

select {
  border: 1px solid #ccc; }

textarea {
  width: 100%; }

.is-style-abbType-list, .kt-tab-inner-content ul {
  padding: 0; }
  .is-style-abbType-list li, .kt-tab-inner-content ul li {
    list-style: none;
    position: relative;
    padding-left: 2.25rem;
    margin-bottom: 1.25rem;
    font-size: 1.375rem; }
    @media (min-width: 1280px) {
      .is-style-abbType-list li, .kt-tab-inner-content ul li {
        margin-bottom: 2.8125rem;
        font-size: 1.5rem; } }
    .is-style-abbType-list li::marker, .kt-tab-inner-content ul li::marker {
      opacity: 0; }
    .is-style-abbType-list li::before, .kt-tab-inner-content ul li::before {
      content: "";
      display: inline-block;
      background-image: url("../icons/Check.svg");
      width: 1.625rem;
      height: 1.625rem;
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center;
      position: absolute;
      left: 0;
      top: 0.3125rem; }

.kt-tab-inner-content p {
  margin-bottom: 1.875rem; }
  @media (min-width: 1280px) {
    .kt-tab-inner-content p {
      margin-bottom: 3.75rem; } }

.wp-block-kadence-tab {
  border-top-right-radius: 3.125rem;
  border-bottom-right-radius: 3.125rem;
  border-bottom-left-radius: 3.125rem; }

.main-navigation {
  clear: both;
  display: block;
  color: #fff; }
  .main-navigation .site-nav-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  @media (min-width: 992px) {
    .main-navigation ul#primary-menu {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      list-style: none;
      margin: 0;
      padding-left: 0; }
      .main-navigation ul#primary-menu li a {
        margin-left: 0.9375rem;
        font-size: 0.875rem;
        -webkit-transition: color 0.2s ease-out;
        transition: color 0.2s ease-out;
        position: relative;
        color: #333333; }
        .main-navigation ul#primary-menu li a:hover {
          color: #4A97E7; } }
    @media (min-width: 992px) and (min-width: 1280px) {
      .main-navigation ul#primary-menu li a {
        margin-left: 2.8125rem;
        font-size: 1rem; } }
  @media (min-width: 992px) {
        .main-navigation ul#primary-menu li a:after {
          position: absolute;
          top: 110%;
          left: 100%;
          right: 0;
          height: 1px;
          background: #4A97E7;
          display: block;
          content: '';
          -webkit-transition: left 0.2s ease-out;
          transition: left 0.2s ease-out; }
        .main-navigation ul#primary-menu li a:hover {
          text-decoration: none; }
          .main-navigation ul#primary-menu li a:hover:after {
            left: 0; } }
  @media (max-width: 991px) {
    .main-navigation ul#primary-menu {
      opacity: 1;
      visibility: visible;
      position: absolute;
      max-width: 20rem;
      overflow-x: hidden;
      overflow-y: auto;
      background: #fff;
      z-index: 5;
      top: 3.75rem;
      -webkit-transition: right .2s ease-in;
      transition: right .2s ease-in;
      padding: 0 2.1875rem 0.625rem;
      -webkit-box-shadow: -6px 6px 6px #00000008;
              box-shadow: -6px 6px 6px #00000008;
      opacity: 0;
      right: 0;
      pointer-events: none; }
      .main-navigation ul#primary-menu li {
        max-height: 600px;
        width: 100%;
        display: block;
        position: relative;
        padding: 0.8em 0;
        margin: 0;
        overflow: hidden;
        -webkit-transition: max-height .15s .15s, padding .15s .15s, margin .15s .15s;
        transition: max-height .15s .15s, padding .15s .15s, margin .15s .15s;
        font-weight: bold;
        font-size: 1em;
        border-bottom: 1px solid #EAEAEA; }
        .main-navigation ul#primary-menu li:last-child {
          border-bottom: 0 solid #EAEAEA; }
        .main-navigation ul#primary-menu li a {
          width: 100%;
          display: block;
          color: #333333; }
          .main-navigation ul#primary-menu li a :hover {
            color: #4A97E7; } }

/* Small menu. */
.main-navigation.toggled ul#primary-menu {
  opacity: 1;
  pointer-events: all; }

@media (min-width: 992px) {
  .menu-toggle {
    display: none; } }

.hamburger {
  width: 32px;
  height: 25px;
  position: relative;
  float: right;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  -webkit-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  cursor: pointer; }
  .hamburger span {
    display: block;
    position: absolute;
    height: 5px;
    width: 100%;
    background: #333333;
    border-radius: 5px;
    opacity: 1;
    left: 0;
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
    -webkit-transition: .25s ease-in-out;
    transition: .25s ease-in-out; }
    .hamburger span:nth-child(1) {
      top: 0px; }
    .hamburger span:nth-child(2) {
      top: 10px; }
    .hamburger span:nth-child(3) {
      top: 20px; }
  .hamburger.open span:nth-child(1) {
    top: 10px;
    -webkit-transform: rotate(135deg);
            transform: rotate(135deg); }
  .hamburger.open span:nth-child(2) {
    opacity: 0;
    left: -60px; }
  .hamburger.open span:nth-child(3) {
    top: 10px;
    -webkit-transform: rotate(-135deg);
            transform: rotate(-135deg); }

/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */ }
  .screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    -webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
            box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    -webkit-clip-path: none;
            clip-path: none;
    color: #21759b;
    display: block;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: bold;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
    /* Above WP toolbar. */ }

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
  outline: 0; }

/*--------------------------------------------------------------
# Modules
--------------------------------------------------------------*/
.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; }

.alignfull {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: 100vw;
  width: 100vw; }

.alignwide {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  max-width: 100vw;
  width: 100vw;
  padding-left: 1.875em;
  padding-right: 1.875em; }
  @media (max-width: 360px) {
    .alignwide {
      padding-left: 0.9375em;
      padding-right: 0.9375em; } }
  @media (min-width: 1280px) {
    .alignwide {
      margin-left: calc(50% - 600px);
      margin-right: calc(50% - 600px);
      max-width: calc(100% - 80px);
      width: calc(100% - 80px);
      padding: 0; } }

.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; }

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

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%; }

img {
  height: auto;
  /* Make sure images are scaled correctly. */
  max-width: 100%;
  /* Adhere to container width. */ }

figure {
  margin: 1em 0;
  /* Extra wide images within figure tags don't overflow the content area. */ }

/*--------------------------------------------------------------
## 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; }

/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
  margin-bottom: 1.5em; }

.gallery-item {
  display: inline-block;
  text-align: center;
  vertical-align: top;
  width: 100%; }
  .gallery-columns-2 .gallery-item {
    max-width: 50%; }
  .gallery-columns-3 .gallery-item {
    max-width: 33.33%; }
  .gallery-columns-4 .gallery-item {
    max-width: 25%; }
  .gallery-columns-5 .gallery-item {
    max-width: 20%; }
  .gallery-columns-6 .gallery-item {
    max-width: 16.66%; }
  .gallery-columns-7 .gallery-item {
    max-width: 14.28%; }
  .gallery-columns-8 .gallery-item {
    max-width: 12.5%; }
  .gallery-columns-9 .gallery-item {
    max-width: 11.11%; }

.gallery-caption {
  display: block; }

@media (min-width: 768px) {
  .show-xs {
    display: none; } }

@media (max-width: 767px) {
  .hide-xs {
    display: none; } }

/*--------------------------------------------------------------
# Woocoommerce
--------------------------------------------------------------*/

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNpdGUuc2NzcyIsInNpdGUuY3NzIiwidmFyaWFibGVzL19zaXppbmctZnVuY3Rpb25zLnNjc3MiLCJfbm9ybWFsaXplLnNjc3MiLCJsYXlvdXQvX2dlbmVyYWwuc2NzcyIsInZhcmlhYmxlcy9fY29sb3JzLnNjc3MiLCJ2YXJpYWJsZXMvX3R5cG9ncmFwaHkuc2NzcyIsInZhcmlhYmxlcy9fYnJlYWtwb2ludHMuc2NzcyIsInZhcmlhYmxlcy9fc3RydWN0dXJlLnNjc3MiLCJsYXlvdXQvX2hlYWRlci5zY3NzIiwibGF5b3V0L19mb290ZXIuc2NzcyIsImxheW91dC9fd2lkZ2V0cy5zY3NzIiwibGF5b3V0L19wb3N0cy1hbmQtcGFnZXMuc2NzcyIsInR5cG9ncmFwaHkvX3R5cG9ncmFwaHkuc2NzcyIsIm1peGlucy9fbWl4aW5zLW1hc3Rlci5zY3NzIiwidHlwb2dyYXBoeS9fZm9udF9mYWNlcy5zY3NzIiwiZWxlbWVudHMvX2VsZW1lbnRzLnNjc3MiLCJlbGVtZW50cy9fbGlzdHMuc2NzcyIsImVsZW1lbnRzL190YWJsZXMuc2NzcyIsImd1dGVuYmVyZy9fZ3V0ZW5fZm9udF9jb2xvcl92YXJpYWJsZXMuc2NzcyIsImd1dGVuYmVyZy9fYmxvY2tfc3R5bGVzLnNjc3MiLCJndXRlbmJlcmcvX2d1dGVuYmVyZy5zY3NzIiwiZm9ybXMvX2J1dHRvbnMuc2NzcyIsImZvcm1zL19maWVsZHMuc2NzcyIsIm5hdmlnYXRpb24vX25hdmlnYXRpb24uc2NzcyIsIm1vZHVsZXMvX2FjY2Vzc2liaWxpdHkuc2NzcyIsIm1vZHVsZXMvX2FsaWdubWVudHMuc2NzcyIsIm1vZHVsZXMvX2NsZWFyaW5ncy5zY3NzIiwibWVkaWEvX21lZGlhLnNjc3MiLCJtZWRpYS9fY2FwdGlvbnMuc2NzcyIsIm1lZGlhL19nYWxsZXJpZXMuc2NzcyIsInZhcmlhYmxlcy9fY29sdW1ucy5zY3NzIiwibGF5b3V0L192aXNpYmlsaXR5LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFB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SzNGOzsrRDNCMjFDK0Q7QTRCdDNDL0Q7RUFDQyxvQkFBb0I7RUFDcEIsZUFBZSxFQUFBO0VBRmhCO0lmMkJDLGNBQWM7SUFDZCxpQkFBaUI7SUFDakIsa0JBQWtCLEVBQUE7RWU3Qm5CO0lBU0Usa0JBQWtCLEVBQUE7O0FBSXBCO0VBQ0Msa0JBQWtCLEVBQUE7O0FEa0JuQjs7K0QzQnMyQytEO0E2QnQ0Qy9EO0VBQ0Msb0JBQW9CLEVBQUE7O0FBR3JCO0VBQ0MscUJBQXFCO0VBQ3JCLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsV0FBVyxFQUFBO0VBSVY7SUFDQyxjQ1hXLEVBQUE7RURVWjtJQUNDLGlCQ1ZjLEVBQUE7RURTZjtJQUNDLGNDVFcsRUFBQTtFRFFaO0lBQ0MsY0NSVyxFQUFBO0VET1o7SUFDQyxpQkNQYyxFQUFBO0VETWY7SUFDQyxpQkNOYyxFQUFBO0VES2Y7SUFDQyxnQkNMYSxFQUFBO0VESWQ7SUFDQyxpQkNKYyxFQUFBOztBRFNqQjtFQUNDLGNBQWMsRUFBQTs7QXZCNEJYO0V5QjdDSjtJQUVJLGFBQWEsRUFBQSxFQUVoQjs7QXpCbUNHO0V5QmpDSjtJQUVJLGFBQWEsRUFBQSxFQUVoQjs7QWhDb0REOzsrREM2MkMrRCIsImZpbGUiOiJzaXRlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxyXG5UaGVtZSBOYW1lOiBBYmJUeXBlXHJcblRoZW1lIFVSSTogaHR0cDovL3dlYml6LnRlYW1cclxuQXV0aG9yOiBXZWJpeiBUZWFtXHJcbkF1dGhvciBVUkk6IGh0dHBzOi8vd2ViaXoudGVhbS9cclxuRGVzY3JpcHRpb246IEFiYlR5cGUgVGhlbWVcclxuVmVyc2lvbjogMS4wLjBcclxuTGljZW5zZTogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjIgb3IgbGF0ZXJcclxuTGljZW5zZSBVUkk6IExJQ0VOU0VcclxuVGV4dCBEb21haW46IGFiYnR5cGVcclxuXHJcbiovXHJcblxyXG5AaW1wb3J0IFwidmFyaWFibGVzL3ZhcmlhYmxlcy1zaXRlXCI7XHJcbkBpbXBvcnQgXCJtaXhpbnMvbWl4aW5zLW1hc3RlclwiO1xyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4jIE5vcm1hbGl6ZVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbkBpbXBvcnQgXCJub3JtYWxpemVcIjtcclxuXHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiMgTWFpbiBMYXlvdXRcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4vL0BpbXBvcnQgXCJmbGV4Ym94Z3JpZC9mbGV4Z3JpZFwiO1xyXG5cclxuQGltcG9ydCBcImxheW91dC9nZW5lcmFsXCI7XHJcbkBpbXBvcnQgXCJsYXlvdXQvaGVhZGVyXCI7XHJcbkBpbXBvcnQgXCJsYXlvdXQvZm9vdGVyXCI7XHJcbkBpbXBvcnQgXCJsYXlvdXQvd2lkZ2V0c1wiO1xyXG5AaW1wb3J0IFwibGF5b3V0L19wb3N0cy1hbmQtcGFnZXNcIjtcclxuXHJcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5L3R5cG9ncmFwaHlcIjtcclxuQGltcG9ydCBcInR5cG9ncmFwaHkvZm9udF9mYWNlc1wiO1xyXG5cclxuQGltcG9ydCBcImVsZW1lbnRzL2VsZW1lbnRzXCI7XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiMgR3V0ZW5iZXJnXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcblxyXG5AaW1wb3J0IFwiZ3V0ZW5iZXJnL2d1dGVuYmVyZ1wiO1xyXG5AaW1wb3J0IFwiZm9ybXMvZm9ybXNcIjtcclxuQGltcG9ydCBcIm5hdmlnYXRpb24vbmF2aWdhdGlvblwiO1xyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4jIEFjY2Vzc2liaWxpdHlcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5AaW1wb3J0IFwibW9kdWxlcy9hY2Nlc3NpYmlsaXR5XCI7XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiMgTW9kdWxlc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbkBpbXBvcnQgXCJtb2R1bGVzL2FsaWdubWVudHNcIjtcclxuQGltcG9ydCBcIm1vZHVsZXMvY2xlYXJpbmdzXCI7XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiMgTWVkaWFcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5AaW1wb3J0IFwibWVkaWEvbWVkaWFcIjtcclxuQGltcG9ydCBcImxheW91dC92aXNpYmlsaXR5XCI7XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiMgV29vY29vbW1lcmNlXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuLy9AaW1wb3J0IFwid29vY29tbWVyY2VcIjtcclxuXHJcblxyXG5cclxuIiwiLyohXHJcblRoZW1lIE5hbWU6IEFiYlR5cGVcclxuVGhlbWUgVVJJOiBodHRwOi8vd2ViaXoudGVhbVxyXG5BdXRob3I6IFdlYml6IFRlYW1cclxuQXV0aG9yIFVSSTogaHR0cHM6Ly93ZWJpei50ZWFtL1xyXG5EZXNjcmlwdGlvbjogQWJiVHlwZSBUaGVtZVxyXG5WZXJzaW9uOiAxLjAuMFxyXG5MaWNlbnNlOiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2MiBvciBsYXRlclxyXG5MaWNlbnNlIFVSSTogTElDRU5TRVxyXG5UZXh0IERvbWFpbjogYWJidHlwZVxyXG5cclxuKi9cbi8qKlxyXG4gKiBTdHJpcHMgdGhlIHVuaXQgZnJvbSBhIGdpdmVuIG51bWJlci11bml0LWNvbWJpbmF0aW9uIGFuZCByZXR1cm5zIHRoZSBudW1iZXIuXHJcbiAqIEBsaW5rOiBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8xMjMzNTg0MS8xNzc5OTk5XHJcbiAqIEB1c2FnZTogcGFyc2UtaW50KDEwcHgpID0+IDEwXHJcbiAqL1xuLyoqXHJcbiAgICogU2ltcGx5IGFkZHMgdGhlIGVtIHVuaXQgdG8gYSBnaXZlbiBudW1iZXIuIFRoaXMgaXMgdXNlZCB0d2ljZSBpbiB0aGVcclxuICAgKiBmdW5jdGlvbiB1bmRlcm5lYXRoLCB0aHVzIHRoZSBuZWVkIGZvciBhIHNlcGFyYXRlIGZ1bmN0aW9uLlxyXG4gICAqL1xuLyoqXHJcbiAgICogQ2FsY3VsYXRlcyBlbSB2YWx1ZXMgZm9yIGEgZ2l2ZW4gbGlzdCBvZiAocHggb3IgZW0pIHZhbHVlcyBhbmQgYSBnaXZlbiBlbVxyXG4gICAqIGJhc2UuIE11bHRpcGx5IGJhc2UgdmFsdWVzIGZvciBuZXN0ZWQgZW0gc3RydWN0dXJlcyAobGFzdCBAdXNhZ2UgZXhhbXBsZSkuXHJcbiAgICogQHVzYWdlOiBlbSgxMHB4LCAxLjEyNSkgPT4gLjU1NTU2ZW1cclxuICAgKiAgICAgICAgIGVtKDI0cHgsIC44NzVlbSkgPT4gMS43MTQyOWVtXHJcbiAgICogICAgICAgICBlbSgxMnB4IDAgN2VtIHJnYmEoMCwgMCwgMCwgLjcpLCAxLjc1KSA9PiAuNDI4NTdlbSAwIDRlbSByZ2JhKDAsIDAsIDAsIDAuNylcclxuICAgKiAgICAgICAgIGVtKDEycHgpICsgZW0oM2VtKSA9PiAzLjc1ZW1cclxuICAgKiAgICAgICAgIGVtKDIzcHgsIGVtKDUzcHgpKSA9PiAuNDMzOTZlbVxyXG4gICAqICAgICAgICAgZW0oMjRweCwgMS41ICogMS4xMjUpID0+IC44ODg4OWVtXHJcbiAgICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiMgTm9ybWFsaXplXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qIERvY3VtZW50XHJcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cclxuICovXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyogU2VjdGlvbnNcclxuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG5cbi8qKlxyXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXHJcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXHJcbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XHJcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cclxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXHJcbiAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXHJcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxyXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKipcclxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cclxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cclxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovIH1cblxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXHJcbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqXHJcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cclxuICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxyXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cclxuICogYWxsIGJyb3dzZXJzLlxyXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcclxuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxyXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKiBGb3Jtc1xyXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXHJcbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cclxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cclxuICovXG5idXR0b24sXG5pbnB1dCB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxyXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXHJcbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcclxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuICovXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyB9XG5cbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxyXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxyXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXHJcbiAqL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuLyoqXHJcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cclxuICovXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTsgfVxuXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cclxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxyXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XHJcbiAqXHRcdGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqLyB9XG5cbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxyXG4gKi9cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cclxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxyXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cclxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxyXG4gKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXHJcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cclxuICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cclxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXHJcbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXHJcbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXHJcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXHJcbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cclxuICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbi8qIEludGVyYWN0aXZlXHJcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxyXG4gKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKiBNaXNjXHJcblx0ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxyXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXHJcbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIyBNYWluIExheW91dFxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5odG1sIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgbWluLXdpZHRoOiAzMDBweDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLW1vei10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgdGV4dC1zaXplLWFkanVzdDogMTAwJTsgfVxuXG4qIHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5jb250YWluZXIsIC5hbGlnbmZ1bGwgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciwgLmFsaWduZnVsbCA+IC53cC1ibG9jay1jb3Zlcl9faW5uZXItY29udGFpbmVyLCBib2R5IC53cC1ibG9jay1rYWRlbmNlLXJvd2xheW91dC5hbGlnbmZ1bGwgPiAua3Qtcm93LWxheW91dC1pbm5lciA+IC5rdC1yb3ctY29sdW1uLXdyYXAua2ItdGhlbWUtY29udGVudC13aWR0aCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZy1sZWZ0OiAxLjg3NWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjg3NWVtOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAzNjBweCkge1xuICAgIC5jb250YWluZXIsIC5hbGlnbmZ1bGwgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciwgLmFsaWduZnVsbCA+IC53cC1ibG9jay1jb3Zlcl9faW5uZXItY29udGFpbmVyLCBib2R5IC53cC1ibG9jay1rYWRlbmNlLXJvd2xheW91dC5hbGlnbmZ1bGwgPiAua3Qtcm93LWxheW91dC1pbm5lciA+IC5rdC1yb3ctY29sdW1uLXdyYXAua2ItdGhlbWUtY29udGVudC13aWR0aCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NWVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1ZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29udGFpbmVyLCAuYWxpZ25mdWxsID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIsIC5hbGlnbmZ1bGwgPiAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lciwgYm9keSAud3AtYmxvY2sta2FkZW5jZS1yb3dsYXlvdXQuYWxpZ25mdWxsID4gLmt0LXJvdy1sYXlvdXQtaW5uZXIgPiAua3Qtcm93LWNvbHVtbi13cmFwLmtiLXRoZW1lLWNvbnRlbnQtd2lkdGgge1xuICAgICAgbWF4LXdpZHRoOiA0My43NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5jb250YWluZXIsIC5hbGlnbmZ1bGwgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciwgLmFsaWduZnVsbCA+IC53cC1ibG9jay1jb3Zlcl9faW5uZXItY29udGFpbmVyLCBib2R5IC53cC1ibG9jay1rYWRlbmNlLXJvd2xheW91dC5hbGlnbmZ1bGwgPiAua3Qtcm93LWxheW91dC1pbm5lciA+IC5rdC1yb3ctY29sdW1uLXdyYXAua2ItdGhlbWUtY29udGVudC13aWR0aCB7XG4gICAgICBtYXgtd2lkdGg6IDU5LjM3NXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuY29udGFpbmVyLCAuYWxpZ25mdWxsID4gLndwLWJsb2NrLWdyb3VwX19pbm5lci1jb250YWluZXIsIC5hbGlnbmZ1bGwgPiAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lciwgYm9keSAud3AtYmxvY2sta2FkZW5jZS1yb3dsYXlvdXQuYWxpZ25mdWxsID4gLmt0LXJvdy1sYXlvdXQtaW5uZXIgPiAua3Qtcm93LWNvbHVtbi13cmFwLmtiLXRoZW1lLWNvbnRlbnQtd2lkdGgge1xuICAgICAgbWF4LXdpZHRoOiA5MyU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgLmNvbnRhaW5lciwgLmFsaWduZnVsbCA+IC53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVyLCAuYWxpZ25mdWxsID4gLndwLWJsb2NrLWNvdmVyX19pbm5lci1jb250YWluZXIsIGJvZHkgLndwLWJsb2NrLWthZGVuY2Utcm93bGF5b3V0LmFsaWduZnVsbCA+IC5rdC1yb3ctbGF5b3V0LWlubmVyID4gLmt0LXJvdy1jb2x1bW4td3JhcC5rYi10aGVtZS1jb250ZW50LXdpZHRoIHtcbiAgICAgIG1heC13aWR0aDogODByZW07IH0gfVxuXG5ib2R5IC53cC1ibG9jay1rYWRlbmNlLXJvd2xheW91dC5hbGlnbmZ1bGwgPiAua3Qtcm93LWxheW91dC1pbm5lciA+IC5rdC1yb3ctY29sdW1uLXdyYXAua2ItdGhlbWUtY29udGVudC13aWR0aCB7XG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGJvZHkgLndwLWJsb2NrLWthZGVuY2Utcm93bGF5b3V0LmFsaWduZnVsbCA+IC5rdC1yb3ctbGF5b3V0LWlubmVyID4gLmt0LXJvdy1jb2x1bW4td3JhcC5rYi10aGVtZS1jb250ZW50LXdpZHRoIHtcbiAgICAgIG1heC13aWR0aDogNDMuNzVyZW0gIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIGJvZHkgLndwLWJsb2NrLWthZGVuY2Utcm93bGF5b3V0LmFsaWduZnVsbCA+IC5rdC1yb3ctbGF5b3V0LWlubmVyID4gLmt0LXJvdy1jb2x1bW4td3JhcC5rYi10aGVtZS1jb250ZW50LXdpZHRoIHtcbiAgICAgIG1heC13aWR0aDogNTkuMzc1cmVtICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgYm9keSAud3AtYmxvY2sta2FkZW5jZS1yb3dsYXlvdXQuYWxpZ25mdWxsID4gLmt0LXJvdy1sYXlvdXQtaW5uZXIgPiAua3Qtcm93LWNvbHVtbi13cmFwLmtiLXRoZW1lLWNvbnRlbnQtd2lkdGgge1xuICAgICAgbWF4LXdpZHRoOiA4MHJlbSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZW4sIC5zaG93LWJnIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubGFuZy1iZyAuc2hvdy1iZyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5sYW5nLWVuIC5zaG93LWVuIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmFkbWluLWJhciAuc2l0ZS1oZWFkZXIge1xuICB0b3A6IDQ2cHg7IH1cbiAgLmFkbWluLWJhciAuc2l0ZS1oZWFkZXIubm90LW9uLXRvcCB7XG4gICAgdG9wOiAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuYWRtaW4tYmFyIC5zaXRlLWhlYWRlci5ub3Qtb24tdG9wIHtcbiAgICAgICAgdG9wOiAzMnB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmFkbWluLWJhciAuc2l0ZS1oZWFkZXIge1xuICAgICAgdG9wOiAzMnB4OyB9XG4gICAgICAuYWRtaW4tYmFyIC5zaXRlLWhlYWRlci5ub3Qtb24tdG9wIHtcbiAgICAgICAgdG9wOiAzMnB4OyB9XG4gICAgICAgIC5hZG1pbi1iYXIgLnNpdGUtaGVhZGVyLm5vdC1vbi10b3AuaGVhZGVyLWhpZGUge1xuICAgICAgICAgIHRvcDogLTMuNzVyZW07IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgICAgLmFkbWluLWJhciAuc2l0ZS1oZWFkZXIubm90LW9uLXRvcC5oZWFkZXItaGlkZSB7XG4gICAgICAgICAgdG9wOiAtNC4zNzVyZW07IH0gfVxuXG5ib2R5IHtcbiAgcGFkZGluZy10b3A6IDMuNzVyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgYm9keSB7XG4gICAgICBwYWRkaW5nLXRvcDogNC4zNzVyZW07IH0gfVxuXG4uc2l0ZS1oZWFkZXIge1xuICBoZWlnaHQ6IDMuNzVyZW07XG4gIHBhZGRpbmc6IDAuNzVyZW0gMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDk5NTtcbiAgdG9wOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1vdXQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjJmMmYyOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5zaXRlLWhlYWRlciB7XG4gICAgICBoZWlnaHQ6IDQuMzc1cmVtOyB9IH1cbiAgLnNpdGUtaGVhZGVyLm5vdC1vbi10b3Age1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAuc2l0ZS1oZWFkZXIuaGVhZGVyLWhpZGUge1xuICAgIHRvcDogLTMuNzVyZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC5zaXRlLWhlYWRlci5oZWFkZXItaGlkZSB7XG4gICAgICAgIHRvcDogLTQuMzc1cmVtOyB9IH1cbiAgICAuc2l0ZS1oZWFkZXIuaGVhZGVyLWhpZGUuZm9yY2Vfb3BlbmVkIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAuc2l0ZS1oZWFkZXIuaGVhZGVyLWhpZGUuZm9yY2Vfb3BlbmVkIHtcbiAgICAgICAgICB0b3A6IDA7IH0gfVxuICAuc2l0ZS1oZWFkZXIgLmNvbnRhaW5lciwgLnNpdGUtaGVhZGVyIC5hbGlnbmZ1bGwgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciwgLnNpdGUtaGVhZGVyIC5hbGlnbmZ1bGwgPiAud3AtYmxvY2stY292ZXJfX2lubmVyLWNvbnRhaW5lciwgLnNpdGUtaGVhZGVyIGJvZHkgLndwLWJsb2NrLWthZGVuY2Utcm93bGF5b3V0LmFsaWduZnVsbCA+IC5rdC1yb3ctbGF5b3V0LWlubmVyID4gLmt0LXJvdy1jb2x1bW4td3JhcC5rYi10aGVtZS1jb250ZW50LXdpZHRoLCBib2R5IC5zaXRlLWhlYWRlciAud3AtYmxvY2sta2FkZW5jZS1yb3dsYXlvdXQuYWxpZ25mdWxsID4gLmt0LXJvdy1sYXlvdXQtaW5uZXIgPiAua3Qtcm93LWNvbHVtbi13cmFwLmtiLXRoZW1lLWNvbnRlbnQtd2lkdGgge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIC5zaXRlLWhlYWRlciAuY29udGFpbmVyIC5oZWFkZXJfd3JhcHBlciwgLnNpdGUtaGVhZGVyIC5hbGlnbmZ1bGwgPiAud3AtYmxvY2stZ3JvdXBfX2lubmVyLWNvbnRhaW5lciAuaGVhZGVyX3dyYXBwZXIsIC5zaXRlLWhlYWRlciAuYWxpZ25mdWxsID4gLndwLWJsb2NrLWNvdmVyX19pbm5lci1jb250YWluZXIgLmhlYWRlcl93cmFwcGVyLCAuc2l0ZS1oZWFkZXIgYm9keSAud3AtYmxvY2sta2FkZW5jZS1yb3dsYXlvdXQuYWxpZ25mdWxsID4gLmt0LXJvdy1sYXlvdXQtaW5uZXIgPiAua3Qtcm93LWNvbHVtbi13cmFwLmtiLXRoZW1lLWNvbnRlbnQtd2lkdGggLmhlYWRlcl93cmFwcGVyLCBib2R5IC5zaXRlLWhlYWRlciAud3AtYmxvY2sta2FkZW5jZS1yb3dsYXlvdXQuYWxpZ25mdWxsID4gLmt0LXJvdy1sYXlvdXQtaW5uZXIgPiAua3Qtcm93LWNvbHVtbi13cmFwLmtiLXRoZW1lLWNvbnRlbnQtd2lkdGggLmhlYWRlcl93cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLW91dDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNpdGUtaGVhZGVyIC5zaXRlLWJyYW5kaW5nIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAuc2l0ZS1oZWFkZXIgLnNpdGUtYnJhbmRpbmcgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgLnNpdGUtaGVhZGVyIC5zaXRlLWJyYW5kaW5nIGEgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9XG5cbi5zaXRlLWZvb3RlciB7XG4gIHBhZGRpbmc6IDFyZW0gMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjMzMzMzMzOyB9XG4gIC5zaXRlLWZvb3RlciBoMiB7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgZm9udC1zaXplOiAxLjMxMjVyZW07IH1cbiAgLnNpdGUtZm9vdGVyIC5tZW51IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAuc2l0ZS1mb290ZXIgLm1lbnUgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgLnNpdGUtZm9vdGVyIC5tZW51IGxpIGEge1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtO1xuICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5zaXRlLWZvb3RlciAuc29pY2FsLWljb24ge1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgICB3aWR0aDogMy43NXJlbTtcbiAgICBoZWlnaHQ6IDMuNzVyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfVxuICAgIC5zaXRlLWZvb3RlciAuc29pY2FsLWljb246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RjZWFmOTsgfVxuICAgIC5zaXRlLWZvb3RlciAuc29pY2FsLWljb24gYSB7XG4gICAgICB0ZXh0LWluZGVudDogNjI1MHJlbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAuc2l0ZS1mb290ZXIgLnNvaWNhbC1pY29uLmZhY2Vib29rIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ljb25zL2ZhY2Vib29rLnN2Z1wiKTsgfVxuICAgIC5zaXRlLWZvb3RlciAuc29pY2FsLWljb24ubGlua2VkaW4ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaWNvbnMvbGlua2VkaW4uc3ZnXCIpOyB9XG4gICAgLnNpdGUtZm9vdGVyIC5zb2ljYWwtaWNvbi55b3V0dWJlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ljb25zL3lvdXR1YmUuc3ZnXCIpOyB9XG4gICAgLnNpdGUtZm9vdGVyIC5zb2ljYWwtaWNvbi5pbnN0YWdyYW0ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaWNvbnMvaW5zdGFncmFtLnN2Z1wiKTsgfVxuICAgIC5zaXRlLWZvb3RlciAuc29pY2FsLWljb24ubWFpbCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pY29ucy9tYWlsLUljb24uc3ZnXCIpOyB9XG4gIC5zaXRlLWZvb3RlciAjbmF2X21lbnUtMiAubWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgIC5zaXRlLWZvb3RlciAuY29sdW1ucy5ncmlkXzQgLmNvbHVtbjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIGZsZXg6IDAgMCAxOCU7IH0gfVxuICAuc2l0ZS1mb290ZXIgLmNvbHVtbnMuZ3JpZF80IC5jb2x1bW46bnRoLW9mLXR5cGUoMikge1xuICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgICAgLnNpdGUtZm9vdGVyIC5jb2x1bW5zLmdyaWRfNCAuY29sdW1uOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgZmxleDogMCAwIDM4JTsgfSB9XG5cbi53aWRnZXQge1xuICBtYXJnaW46IDAgMCAxLjVlbTtcbiAgLyogTWFrZSBzdXJlIHNlbGVjdCBlbGVtZW50cyBmaXQgaW4gd2lkZ2V0cy4gKi8gfVxuICAud2lkZ2V0IHNlbGVjdCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5zdGlja3kge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucG9zdCxcbi5wYWdlIHtcbiAgbWFyZ2luOiAwIDAgMS41ZW07IH1cblxuLnVwZGF0ZWQ6bm90KC5wdWJsaXNoZWQpIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucGFnZS1jb250ZW50LFxuLmVudHJ5LWNvbnRlbnQsXG4uZW50cnktc3VtbWFyeSB7XG4gIG1hcmdpbjogMS41ZW0gMCAwOyB9XG5cbi5wYWdlLWxpbmtzIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbjogMCAwIDEuNWVtOyB9XG5cbi8qIEFuaW1hdGlvbiAqL1xuLmFuaW0tdHlwZXdyaXRlciB7XG4gIGNvbG9yOiAjNkVEODQ3OyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuYW5pbV93cmFwIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi55ZXMtdHJhY2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnllcy10cmFjZTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaWNvbnMveWVzLXRyYWNlLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMC40Mzc1cmVtIDAuNjI1cmVtO1xuICAgIHdpZHRoOiAxMzAlO1xuICAgIGhlaWdodDogMTMwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTE1JTsgfVxuXG4uZmVhdHVyZXMtc2VjdGlvbiBpbWcge1xuICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgIC5mZWF0dXJlcy1zZWN0aW9uIGltZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuODc1cmVtOyB9IH1cblxuLm5hcnJvdy1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiA3Mi41cmVtO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4ud3AtYmxvY2sta2FkZW5jZS10YWJzIC5rdC10YWJzLXRpdGxlLWxpc3QgbGkgLmt0LXRhYi10aXRsZSB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgYm9yZGVyLXJhZGl1czogMy4xMjVyZW0gIWltcG9ydGFudDsgfVxuXG4ud3AtYmxvY2sta2FkZW5jZS10YWJzIC5rdC10YWJzLXRpdGxlLWxpc3QgbGkua3QtdGFiLXRpdGxlLWFjdGl2ZSAua3QtdGFiLXRpdGxlIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAgIWltcG9ydGFudDsgfVxuXG4ua3QtYWNjb3JkaW9uLXBhbmVsLWFjdGl2ZSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgLmFkZGl0aW9uYWwtbWFyZ2luLWJvdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMy43NXJlbTsgfSB9XG5cbmJvZHksXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG5hIHtcbiAgY29sb3I6ICMwMDg2ZTY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBhOmhvdmVyLCBhOmZvY3VzLCBhOmFjdGl2ZSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7IH1cbiAgYTpmb2N1cyB7XG4gICAgb3V0bGluZTogMDsgfVxuICBhOmhvdmVyLCBhOmFjdGl2ZSB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIHNlcmlmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAzLjc1cmVtOyB9IH1cblxuaDIge1xuICBmb250LXNpemU6IDEuMzc1cmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgICBoMyB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cblxuaDQge1xuICBmb250LXNpemU6IDFyZW07IH1cblxuaDUsIGg2IHtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbnAge1xuICBmb250LXNpemU6IDFlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC44NzVyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAxZW07IH0gfVxuXG5ociB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gIGJvcmRlcjogMDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbi1ib3R0b206IDEuNWVtOyB9XG5cbmRmbiwgY2l0ZSwgZW0sIGkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAxLjVlbTsgfVxuXG5hZGRyZXNzIHtcbiAgbWFyZ2luOiAwIDAgMS41ZW07IH1cblxucHJlIHtcbiAgYmFja2dyb3VuZDogI2VlZTtcbiAgZm9udC1mYW1pbHk6IFwiQ291cmllciAxMCBQaXRjaFwiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIG1hcmdpbi1ib3R0b206IDEuNmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBwYWRkaW5nOiAxLjZlbTsgfVxuXG5jb2RlLCBrYmQsIHR0LCB2YXIge1xuICBmb250LWZhbWlseTogQXJpYWwsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG5cbmFiYnIsIGFjcm9ueW0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICM2NjY7XG4gIGN1cnNvcjogaGVscDsgfVxuXG5tYXJrLCBpbnMge1xuICBiYWNrZ3JvdW5kOiAjZmZmOWMwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuYmlnIHtcbiAgZm9udC1zaXplOiAxMjUlOyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjYyNWVtOyB9XG5cbi5hY2NlbnQge1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5hY2NlbnQuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAxZW07IH1cblxuLyogcm9ib3RvLXJlZ3VsYXIgLSBsYXRpbl9jeXJpbGxpYyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IGxvY2FsKFwiXCIpLCB1cmwoXCIuLi9mb250cy9yb2JvdG8tdjMwLWxhdGluX2N5cmlsbGljLXJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL3JvYm90by12MzAtbGF0aW5fY3lyaWxsaWMtcmVndWxhci53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIC8qIENocm9tZSA2KywgRmlyZWZveCAzLjYrLCBJRSA5KywgU2FmYXJpIDUuMSsgKi8gfVxuXG4vKiByb2JvdG8tNzAwIC0gbGF0aW5fY3lyaWxsaWMgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1JvYm90byc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiBsb2NhbChcIlwiKSwgdXJsKFwiLi4vZm9udHMvcm9ib3RvLXYzMC1sYXRpbl9jeXJpbGxpYy03MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL3JvYm90by12MzAtbGF0aW5fY3lyaWxsaWMtNzAwLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgLyogQ2hyb21lIDYrLCBGaXJlZm94IDMuNissIElFIDkrLCBTYWZhcmkgNS4xKyAqLyB9XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICAvKiBJbmhlcml0IGJveC1zaXppbmcgdG8gbWFrZSBpdCBlYXNpZXIgdG8gY2hhbmdlIHRoZSBwcm9wZXJ0eSBmb3IgY29tcG9uZW50cyB0aGF0IGxldmVyYWdlIG90aGVyIGJlaGF2aW9yOyBzZWUgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2UvICovXG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxudWwsIG9sIHtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAwIDAgMCAxcmVtOyB9XG5cbm9sIHtcbiAgbGlzdC1zdHlsZTogZGVjaW1hbDsgfVxuXG5saSA+IHVsLFxubGkgPiBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi1sZWZ0OiAxLjVlbTsgfVxuXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmRkIHtcbiAgbWFyZ2luOiAwIDEuNWVtIDEuNWVtOyB9XG5cbnRhYmxlIHtcbiAgbWFyZ2luOiAwIDAgMS41ZW07XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi50YWJsZS13cmFwcGVyIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIyBHdXRlbmJlcmdcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmhhcy1ncmV5LXRleHQtY29sb3Ige1xuICBjb2xvcjogIzY0NjQ2NDsgfVxuXG4uaGFzLWdyZXktdGV4dC1iYWNrZ3JvdW5kLWNvbG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY0NjQ2NDsgfVxuXG4uaGFzLWRhcmstZ3JleS1jb2xvciB7XG4gIGNvbG9yOiAjMzMzMzMzOyB9XG5cbi5oYXMtZGFyay1ncmV5LWJhY2tncm91bmQtY29sb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzOyB9XG5cbi5oYXMtd2hpdGUtY29sb3Ige1xuICBjb2xvcjogI0ZGRkZGRjsgfVxuXG4uaGFzLXdoaXRlLWJhY2tncm91bmQtY29sb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGOyB9XG5cbi5oYXMtYmxhY2stY29sb3Ige1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG4uaGFzLWJsYWNrLWJhY2tncm91bmQtY29sb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9XG5cbi5oYXMtZ3JleS1iZy1jb2xvciB7XG4gIGNvbG9yOiAjMDAwMDAwMGQ7IH1cblxuLmhhcy1ncmV5LWJnLWJhY2tncm91bmQtY29sb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwMGQ7IH1cblxuLmhhcy1ibHVlLWNvbG9yIHtcbiAgY29sb3I6ICM0QTk3RTc7IH1cblxuLmhhcy1ibHVlLWJhY2tncm91bmQtY29sb3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNEE5N0U3OyB9XG5cbi8qKlxyXG4gKiBGb250IHNpemVzLlxyXG4gKlxyXG4gKiBUd28gc2V0cywgb25jZSBmb3IgbW9iaWxlIGFuZCBvbmUgZm9yIGRlc2t0b3AuIEZlZWwgZnJlZSB0byBhZGQgb3IgcmVtb3ZlIGlmIG5lZWRlZFxyXG4gKi9cbi5oYXMteHMtZm9udC1zaXplIHtcbiAgZm9udC1zaXplOiAwLjYyNXJlbTsgfVxuXG4uaGFzLXMtZm9udC1zaXplIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4uaGFzLWQtZm9udC1zaXplIHtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5oYXMtbS1mb250LXNpemUge1xuICBmb250LXNpemU6IDFyZW07IH1cblxuLmhhcy1sLWZvbnQtc2l6ZSB7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07IH1cblxuLmhhcy14bC1mb250LXNpemUge1xuICBmb250LXNpemU6IDEuNjI1cmVtOyB9XG5cbi5oYXMteHhsLWZvbnQtc2l6ZSB7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTsgfVxuXG4uaGFzLXh4eGwtZm9udC1zaXplIHtcbiAgZm9udC1zaXplOiAxLjg3NXJlbTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhhcy14cy1mb250LXNpemUge1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07IH1cbiAgLmhhcy1zLWZvbnQtc2l6ZSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAuaGFzLWQtZm9udC1zaXplIHtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLmhhcy1tLWZvbnQtc2l6ZSB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5oYXMtbC1mb250LXNpemUge1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IH1cbiAgLmhhcy14bC1mb250LXNpemUge1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTsgfVxuICAuaGFzLXh4bC1mb250LXNpemUge1xuICAgIGZvbnQtc2l6ZTogMnJlbTsgfVxuICAuaGFzLXh4eGwtZm9udC1zaXplIHtcbiAgICBmb250LXNpemU6IDIuMjVyZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gIC5oYXMteHMtZm9udC1zaXplIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmhhcy1zLWZvbnQtc2l6ZSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAuaGFzLWQtZm9udC1zaXplIHtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLmhhcy1tLWZvbnQtc2l6ZSB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAuaGFzLWwtZm9udC1zaXplIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuICAuaGFzLXhsLWZvbnQtc2l6ZSB7XG4gICAgZm9udC1zaXplOiAycmVtOyB9XG4gIC5oYXMteHhsLWZvbnQtc2l6ZSB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07IH1cbiAgLmhhcy14eHhsLWZvbnQtc2l6ZSB7XG4gICAgZm9udC1zaXplOiAzLjc1cmVtOyB9IH1cblxuLndwLWJsb2NrLWdyb3VwLmlzLXN0eWxlLXMtc2VjdGlvbi1wYWRkaW5nIHtcbiAgcGFkZGluZzogMi41cmVtIDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLndwLWJsb2NrLWdyb3VwLmlzLXN0eWxlLXMtc2VjdGlvbi1wYWRkaW5nIHtcbiAgICAgIHBhZGRpbmc6IDMuNzVyZW0gMDsgfSB9XG5cbi53cC1ibG9jay1ncm91cC5pcy1zdHlsZS1tLXNlY3Rpb24tcGFkZGluZyB7XG4gIHBhZGRpbmc6IDMuNzVyZW0gMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAud3AtYmxvY2stZ3JvdXAuaXMtc3R5bGUtbS1zZWN0aW9uLXBhZGRpbmcge1xuICAgICAgcGFkZGluZzogNXJlbSAwOyB9IH1cblxuLndwLWJsb2NrLWdyb3VwLmlzLXN0eWxlLWwtc2VjdGlvbi1wYWRkaW5nIHtcbiAgcGFkZGluZzogNi4yNXJlbSAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC53cC1ibG9jay1ncm91cC5pcy1zdHlsZS1sLXNlY3Rpb24tcGFkZGluZyB7XG4gICAgICBwYWRkaW5nOiA3LjVyZW0gMDsgfSB9XG5cbi53cC1ibG9jay1jb3Zlci5hbGlnbmZ1bGwge1xuICBwYWRkaW5nOiAwOyB9XG4gIC53cC1ibG9jay1jb3Zlci5hbGlnbmZ1bGwgLndwLWJsb2NrLWNvdmVyX19pbm5lci1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5jb2x1bW5zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtOyB9XG4gIC5jb2x1bW5zIC5jb2x1bW4ge1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgIGZsZXg6IDEgMSAxMDAlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuY29sdW1ucyAuY29sdW1uIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb2x1bW5zLmdyaWRfMiAuY29sdW1uIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29sdW1ucy5ncmlkXzMgLmNvbHVtbiB7XG4gICAgICB3aWR0aDogMzMuMzMzJTtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29sdW1ucy5ncmlkXzQgLmNvbHVtbiB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgZmxleDogMCAwIDUwJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5jb2x1bW5zLmdyaWRfNCAuY29sdW1uIHtcbiAgICAgIHdpZHRoOiAyNSU7XG4gICAgICBmbGV4OiAwIDAgMjUlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbHVtbnMuZ3JpZF81IC5jb2x1bW4ge1xuICAgICAgd2lkdGg6IDIwJTtcbiAgICAgIGZsZXg6IDAgMCAyMCU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuY29sdW1ucy5ncmlkXzUgLmNvbHVtbiB7XG4gICAgICB3aWR0aDogMjAlO1xuICAgICAgZmxleDogMCAwIDIwJTsgfSB9XG5cbi5oYXMtZ3JlZW4tY29sb3Ige1xuICBjb2xvcjogIzZFRDg0NzsgfVxuXG5idXR0b24sXG4uYnV0dG9uLFxuLmJ0bi13aGl0ZSxcbi5pcy1zdHlsZS13aGl0ZS1idG4gLndwLWJsb2NrLWJ1dHRvbl9fbGluayxcbi5idG4tZ3JlZW4sXG4uaXMtc3R5bGUtZmlsbCAud3AtYmxvY2stYnV0dG9uX19saW5rLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG4ud3AtYmxvY2stYnV0dG9uX19saW5rIHtcbiAgYm9yZGVyOiAwIG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDEuNTVlbTtcbiAgYmFja2dyb3VuZDogIzMyMzczYztcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgcGFkZGluZzogLjY2N2VtIDEuMzMzZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7IH1cbiAgYnV0dG9uOmhvdmVyLFxuICAuYnV0dG9uOmhvdmVyLFxuICAuYnRuLXdoaXRlOmhvdmVyLFxuICAuaXMtc3R5bGUtd2hpdGUtYnRuIC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsXG4gIC5idG4tZ3JlZW46aG92ZXIsXG4gIC5pcy1zdHlsZS1maWxsIC53cC1ibG9jay1idXR0b25fX2xpbms6aG92ZXIsXG4gIGlucHV0W3R5cGU9XCJidXR0b25cIl06aG92ZXIsXG4gIGlucHV0W3R5cGU9XCJyZXNldFwiXTpob3ZlcixcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpob3ZlcixcbiAgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzRBOTdFNztcbiAgICBjb2xvcjogI2ZmZjsgfVxuICBidXR0b246YWN0aXZlLCBidXR0b246Zm9jdXMsXG4gIC5idXR0b246YWN0aXZlLFxuICAuYnRuLXdoaXRlOmFjdGl2ZSxcbiAgLmlzLXN0eWxlLXdoaXRlLWJ0biAud3AtYmxvY2stYnV0dG9uX19saW5rOmFjdGl2ZSxcbiAgLmJ0bi1ncmVlbjphY3RpdmUsXG4gIC5pcy1zdHlsZS1maWxsIC53cC1ibG9jay1idXR0b25fX2xpbms6YWN0aXZlLFxuICAuYnV0dG9uOmZvY3VzLFxuICAuYnRuLXdoaXRlOmZvY3VzLFxuICAuaXMtc3R5bGUtd2hpdGUtYnRuIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsXG4gIC5idG4tZ3JlZW46Zm9jdXMsXG4gIC5pcy1zdHlsZS1maWxsIC53cC1ibG9jay1idXR0b25fX2xpbms6Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJidXR0b25cIl06YWN0aXZlLFxuICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwicmVzZXRcIl06YWN0aXZlLFxuICBpbnB1dFt0eXBlPVwicmVzZXRcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl06YWN0aXZlLFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLFxuICAud3AtYmxvY2stYnV0dG9uX19saW5rOmFjdGl2ZSxcbiAgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogIzRBOTdFNzsgfVxuICBidXR0b246ZGlzYWJsZWQsIGJ1dHRvbltkaXNhYmxlZF0sXG4gIGJ1dHRvbiAuZGlzYWJsZWQsXG4gIC5idXR0b246ZGlzYWJsZWQsXG4gIC5idG4td2hpdGU6ZGlzYWJsZWQsXG4gIC5pcy1zdHlsZS13aGl0ZS1idG4gLndwLWJsb2NrLWJ1dHRvbl9fbGluazpkaXNhYmxlZCxcbiAgLmJ0bi1ncmVlbjpkaXNhYmxlZCxcbiAgLmlzLXN0eWxlLWZpbGwgLndwLWJsb2NrLWJ1dHRvbl9fbGluazpkaXNhYmxlZCxcbiAgLmJ1dHRvbltkaXNhYmxlZF0sXG4gIC5idG4td2hpdGVbZGlzYWJsZWRdLFxuICAuaXMtc3R5bGUtd2hpdGUtYnRuIC53cC1ibG9jay1idXR0b25fX2xpbmtbZGlzYWJsZWRdLFxuICAuYnRuLWdyZWVuW2Rpc2FibGVkXSxcbiAgLmlzLXN0eWxlLWZpbGwgLndwLWJsb2NrLWJ1dHRvbl9fbGlua1tkaXNhYmxlZF0sXG4gIC5idXR0b24gLmRpc2FibGVkLFxuICAuYnRuLXdoaXRlIC5kaXNhYmxlZCxcbiAgLmlzLXN0eWxlLXdoaXRlLWJ0biAud3AtYmxvY2stYnV0dG9uX19saW5rIC5kaXNhYmxlZCxcbiAgLmJ0bi1ncmVlbiAuZGlzYWJsZWQsXG4gIC5pcy1zdHlsZS1maWxsIC53cC1ibG9jay1idXR0b25fX2xpbmsgLmRpc2FibGVkLFxuICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmRpc2FibGVkLFxuICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdW2Rpc2FibGVkXSxcbiAgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSAuZGlzYWJsZWQsXG4gIGlucHV0W3R5cGU9XCJyZXNldFwiXTpkaXNhYmxlZCxcbiAgaW5wdXRbdHlwZT1cInJlc2V0XCJdW2Rpc2FibGVkXSxcbiAgaW5wdXRbdHlwZT1cInJlc2V0XCJdIC5kaXNhYmxlZCxcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpkaXNhYmxlZCxcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXVtkaXNhYmxlZF0sXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0gLmRpc2FibGVkLFxuICAud3AtYmxvY2stYnV0dG9uX19saW5rOmRpc2FibGVkLFxuICAud3AtYmxvY2stYnV0dG9uX19saW5rW2Rpc2FibGVkXSxcbiAgLndwLWJsb2NrLWJ1dHRvbl9fbGluayAuZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5idG4td2hpdGUsIC5pcy1zdHlsZS13aGl0ZS1idG4gLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjNkVEODQ3O1xuICBib3JkZXItcmFkaXVzOiAyLjA2MjVyZW07IH1cblxuLmlzLXN0eWxlLXdoaXRlLWJ0biAud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICM0QTk3RTc7IH1cblxuLmJ0bi1ncmVlbiwgLmlzLXN0eWxlLWZpbGwgLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2RUQ4NDc7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAyLjA2MjVyZW07IH1cblxuLndvb2NvbW1lcmNlIGEud2MtZm9yd2FyZCwgLndvb2NvbW1lcmNlLXBhZ2UgYnV0dG9uLmJ1dHRvbiwgLndvb2NvbW1lcmNlLXBhZ2UgYnV0dG9uLmJ0bi13aGl0ZSwgLndvb2NvbW1lcmNlLXBhZ2UgLmlzLXN0eWxlLXdoaXRlLWJ0biBidXR0b24ud3AtYmxvY2stYnV0dG9uX19saW5rLCAuaXMtc3R5bGUtd2hpdGUtYnRuIC53b29jb21tZXJjZS1wYWdlIGJ1dHRvbi53cC1ibG9jay1idXR0b25fX2xpbmssIC53b29jb21tZXJjZS1wYWdlIGJ1dHRvbi5idG4tZ3JlZW4sIC53b29jb21tZXJjZS1wYWdlIC5pcy1zdHlsZS1maWxsIGJ1dHRvbi53cC1ibG9jay1idXR0b25fX2xpbmssIC5pcy1zdHlsZS1maWxsIC53b29jb21tZXJjZS1wYWdlIGJ1dHRvbi53cC1ibG9jay1idXR0b25fX2xpbmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNkVEODQ3ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDIuMDYyNXJlbSAhaW1wb3J0YW50OyB9XG4gIC53b29jb21tZXJjZSBhLndjLWZvcndhcmQ6aG92ZXIsIC53b29jb21tZXJjZS1wYWdlIGJ1dHRvbi5idXR0b246aG92ZXIsIC53b29jb21tZXJjZS1wYWdlIGJ1dHRvbi5idG4td2hpdGU6aG92ZXIsIC53b29jb21tZXJjZS1wYWdlIC5pcy1zdHlsZS13aGl0ZS1idG4gYnV0dG9uLndwLWJsb2NrLWJ1dHRvbl9fbGluazpob3ZlciwgLmlzLXN0eWxlLXdoaXRlLWJ0biAud29vY29tbWVyY2UtcGFnZSBidXR0b24ud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAud29vY29tbWVyY2UtcGFnZSBidXR0b24uYnRuLWdyZWVuOmhvdmVyLCAud29vY29tbWVyY2UtcGFnZSAuaXMtc3R5bGUtZmlsbCBidXR0b24ud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyLCAuaXMtc3R5bGUtZmlsbCAud29vY29tbWVyY2UtcGFnZSBidXR0b24ud3AtYmxvY2stYnV0dG9uX19saW5rOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjNEE5N0U3ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDsgfVxuICAud29vY29tbWVyY2UgYS53Yy1mb3J3YXJkOmZpcnN0LW9mLXR5cGUsIC53b29jb21tZXJjZS1wYWdlIGJ1dHRvbi5idXR0b246Zmlyc3Qtb2YtdHlwZSwgLndvb2NvbW1lcmNlLXBhZ2UgYnV0dG9uLmJ0bi13aGl0ZTpmaXJzdC1vZi10eXBlLCAud29vY29tbWVyY2UtcGFnZSAuaXMtc3R5bGUtd2hpdGUtYnRuIGJ1dHRvbi53cC1ibG9jay1idXR0b25fX2xpbms6Zmlyc3Qtb2YtdHlwZSwgLmlzLXN0eWxlLXdoaXRlLWJ0biAud29vY29tbWVyY2UtcGFnZSBidXR0b24ud3AtYmxvY2stYnV0dG9uX19saW5rOmZpcnN0LW9mLXR5cGUsIC53b29jb21tZXJjZS1wYWdlIGJ1dHRvbi5idG4tZ3JlZW46Zmlyc3Qtb2YtdHlwZSwgLndvb2NvbW1lcmNlLXBhZ2UgLmlzLXN0eWxlLWZpbGwgYnV0dG9uLndwLWJsb2NrLWJ1dHRvbl9fbGluazpmaXJzdC1vZi10eXBlLCAuaXMtc3R5bGUtZmlsbCAud29vY29tbWVyY2UtcGFnZSBidXR0b24ud3AtYmxvY2stYnV0dG9uX19saW5rOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cblxuLndvb2NvbW1lcmNlLW1pbmktY2FydC1pdGVtIGltZyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLndvb2NvbW1lcmNlLW1pbmktY2FydC1pdGVtIC5xdWFudGl0eSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuaW5wdXRbdHlwZT1cInVybFwiXSxcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuaW5wdXRbdHlwZT1cInRlbFwiXSxcbmlucHV0W3R5cGU9XCJyYW5nZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuaW5wdXRbdHlwZT1cIndlZWtcIl0sXG5pbnB1dFt0eXBlPVwidGltZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbmlucHV0W3R5cGU9XCJjb2xvclwiXSxcbnRleHRhcmVhIHtcbiAgY29sb3I6ICM2NjY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIHBhZGRpbmc6IDNweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBtaW4taGVpZ2h0OiA0MHB4O1xuICB0cmFuc2l0aW9uOiAzMDBtcyBhbGw7IH1cbiAgaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJlbWFpbFwiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwicmFuZ2VcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJkYXRlXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwibW9udGhcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJ3ZWVrXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwidGltZVwiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJjb2xvclwiXTpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIGNvbG9yOiAjMTExO1xuICAgIHRyYW5zaXRpb246IDMwMG1zIGFsbDtcbiAgICBvdXRsaW5lOiBub25lOyB9XG5cbnNlbGVjdCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7IH1cblxudGV4dGFyZWEge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uaXMtc3R5bGUtYWJiVHlwZS1saXN0LCAua3QtdGFiLWlubmVyLWNvbnRlbnQgdWwge1xuICBwYWRkaW5nOiAwOyB9XG4gIC5pcy1zdHlsZS1hYmJUeXBlLWxpc3QgbGksIC5rdC10YWItaW5uZXItY29udGVudCB1bCBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAyLjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgICAgIC5pcy1zdHlsZS1hYmJUeXBlLWxpc3QgbGksIC5rdC10YWItaW5uZXItY29udGVudCB1bCBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuODEyNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuICAgIC5pcy1zdHlsZS1hYmJUeXBlLWxpc3QgbGk6Om1hcmtlciwgLmt0LXRhYi1pbm5lci1jb250ZW50IHVsIGxpOjptYXJrZXIge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIC5pcy1zdHlsZS1hYmJUeXBlLWxpc3QgbGk6OmJlZm9yZSwgLmt0LXRhYi1pbm5lci1jb250ZW50IHVsIGxpOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ljb25zL0NoZWNrLnN2Z1wiKTtcbiAgICAgIHdpZHRoOiAxLjYyNXJlbTtcbiAgICAgIGhlaWdodDogMS42MjVyZW07XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMC4zMTI1cmVtOyB9XG5cbi5rdC10YWItaW5uZXItY29udGVudCBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgIC5rdC10YWItaW5uZXItY29udGVudCBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMuNzVyZW07IH0gfVxuXG4ud3AtYmxvY2sta2FkZW5jZS10YWIge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMy4xMjVyZW07XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzLjEyNXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMy4xMjVyZW07IH1cblxuLm1haW4tbmF2aWdhdGlvbiB7XG4gIGNsZWFyOiBib3RoO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICNmZmY7IH1cbiAgLm1haW4tbmF2aWdhdGlvbiAuc2l0ZS1uYXYtd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAubWFpbi1uYXZpZ2F0aW9uIHVsI3ByaW1hcnktbWVudSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgLm1haW4tbmF2aWdhdGlvbiB1bCNwcmltYXJ5LW1lbnUgbGkgYSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZS1vdXQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6ICMzMzMzMzM7IH1cbiAgICAgICAgLm1haW4tbmF2aWdhdGlvbiB1bCNwcmltYXJ5LW1lbnUgbGkgYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICM0QTk3RTc7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgICAgLm1haW4tbmF2aWdhdGlvbiB1bCNwcmltYXJ5LW1lbnUgbGkgYSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyLjgxMjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgICAubWFpbi1uYXZpZ2F0aW9uIHVsI3ByaW1hcnktbWVudSBsaSBhOmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxMTAlO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzRBOTdFNztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuMnMgZWFzZS1vdXQ7IH1cbiAgICAgICAgLm1haW4tbmF2aWdhdGlvbiB1bCNwcmltYXJ5LW1lbnUgbGkgYTpob3ZlciB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAgICAgLm1haW4tbmF2aWdhdGlvbiB1bCNwcmltYXJ5LW1lbnUgbGkgYTpob3ZlcjphZnRlciB7XG4gICAgICAgICAgICBsZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgLm1haW4tbmF2aWdhdGlvbiB1bCNwcmltYXJ5LW1lbnUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBtYXgtd2lkdGg6IDIwcmVtO1xuICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICB6LWluZGV4OiA1O1xuICAgICAgdG9wOiAzLjc1cmVtO1xuICAgICAgdHJhbnNpdGlvbjogcmlnaHQgLjJzIGVhc2UtaW47XG4gICAgICBwYWRkaW5nOiAwIDIuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICAgIGJveC1zaGFkb3c6IC02cHggNnB4IDZweCAjMDAwMDAwMDg7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgICAgLm1haW4tbmF2aWdhdGlvbiB1bCNwcmltYXJ5LW1lbnUgbGkge1xuICAgICAgICBtYXgtaGVpZ2h0OiA2MDBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IDAuOGVtIDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAuMTVzIC4xNXMsIHBhZGRpbmcgLjE1cyAuMTVzLCBtYXJnaW4gLjE1cyAuMTVzO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRUFFQUVBOyB9XG4gICAgICAgIC5tYWluLW5hdmlnYXRpb24gdWwjcHJpbWFyeS1tZW51IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDAgc29saWQgI0VBRUFFQTsgfVxuICAgICAgICAubWFpbi1uYXZpZ2F0aW9uIHVsI3ByaW1hcnktbWVudSBsaSBhIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAgICAgICAgIC5tYWluLW5hdmlnYXRpb24gdWwjcHJpbWFyeS1tZW51IGxpIGEgOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNEE5N0U3OyB9IH1cblxuLyogU21hbGwgbWVudS4gKi9cbi5tYWluLW5hdmlnYXRpb24udG9nZ2xlZCB1bCNwcmltYXJ5LW1lbnUge1xuICBvcGFjaXR5OiAxO1xuICBwb2ludGVyLWV2ZW50czogYWxsOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubWVudS10b2dnbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uaGFtYnVyZ2VyIHtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMjVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogcmlnaHQ7XG4gIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB0cmFuc2l0aW9uOiAuNXMgZWFzZS1pbi1vdXQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuaGFtYnVyZ2VyIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNpdGlvbjogLjI1cyBlYXNlLWluLW91dDsgfVxuICAgIC5oYW1idXJnZXIgc3BhbjpudGgtY2hpbGQoMSkge1xuICAgICAgdG9wOiAwcHg7IH1cbiAgICAuaGFtYnVyZ2VyIHNwYW46bnRoLWNoaWxkKDIpIHtcbiAgICAgIHRvcDogMTBweDsgfVxuICAgIC5oYW1idXJnZXIgc3BhbjpudGgtY2hpbGQoMykge1xuICAgICAgdG9wOiAyMHB4OyB9XG4gIC5oYW1idXJnZXIub3BlbiBzcGFuOm50aC1jaGlsZCgxKSB7XG4gICAgdG9wOiAxMHB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7IH1cbiAgLmhhbWJ1cmdlci5vcGVuIHNwYW46bnRoLWNoaWxkKDIpIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGxlZnQ6IC02MHB4OyB9XG4gIC5oYW1idXJnZXIub3BlbiBzcGFuOm50aC1jaGlsZCgzKSB7XG4gICAgdG9wOiAxMHB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpOyB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIyBBY2Nlc3NpYmlsaXR5XHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRleHQgbWVhbnQgb25seSBmb3Igc2NyZWVuIHJlYWRlcnMuICovXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIHdvcmQtd3JhcDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIC8qIE1hbnkgc2NyZWVuIHJlYWRlciBhbmQgYnJvd3NlciBjb21iaW5hdGlvbnMgYW5ub3VuY2UgYnJva2VuIHdvcmRzIGFzIHRoZXkgd291bGQgYXBwZWFyIHZpc3VhbGx5LiAqLyB9XG4gIC5zY3JlZW4tcmVhZGVyLXRleHQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAycHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgY2xpcC1wYXRoOiBub25lO1xuICAgIGNvbG9yOiAjMjE3NTliO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBsZWZ0OiA1cHg7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBwYWRkaW5nOiAxNXB4IDIzcHggMTRweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdG9wOiA1cHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgei1pbmRleDogMTAwMDAwO1xuICAgIC8qIEFib3ZlIFdQIHRvb2xiYXIuICovIH1cblxuLyogRG8gbm90IHNob3cgdGhlIG91dGxpbmUgb24gdGhlIHNraXAgbGluayB0YXJnZXQuICovXG4jY29udGVudFt0YWJpbmRleD1cIi0xXCJdOmZvY3VzIHtcbiAgb3V0bGluZTogMDsgfVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiMgTW9kdWxlc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uYWxpZ25sZWZ0IHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAxLjVlbTsgfVxuXG4uYWxpZ25yaWdodCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tbGVmdDogMS41ZW07IH1cblxuLmFsaWduY2VudGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5hbGlnbmZ1bGwge1xuICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgLSA1MHZ3KTtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKDUwJSAtIDUwdncpO1xuICBtYXgtd2lkdGg6IDEwMHZ3O1xuICB3aWR0aDogMTAwdnc7IH1cblxuLmFsaWdud2lkZSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDUwdncpO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoNTAlIC0gNTB2dyk7XG4gIG1heC13aWR0aDogMTAwdnc7XG4gIHdpZHRoOiAxMDB2dztcbiAgcGFkZGluZy1sZWZ0OiAxLjg3NWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxLjg3NWVtOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAzNjBweCkge1xuICAgIC5hbGlnbndpZGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NWVtOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgIC5hbGlnbndpZGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlIC0gNjAwcHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKDUwJSAtIDYwMHB4KTtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cblxuLmNsZWFyOmJlZm9yZSxcbi5jbGVhcjphZnRlcixcbi5lbnRyeS1jb250ZW50OmJlZm9yZSxcbi5lbnRyeS1jb250ZW50OmFmdGVyLFxuLmNvbW1lbnQtY29udGVudDpiZWZvcmUsXG4uY29tbWVudC1jb250ZW50OmFmdGVyLFxuLnNpdGUtaGVhZGVyOmJlZm9yZSxcbi5zaXRlLWhlYWRlcjphZnRlcixcbi5zaXRlLWNvbnRlbnQ6YmVmb3JlLFxuLnNpdGUtY29udGVudDphZnRlcixcbi5zaXRlLWZvb3RlcjpiZWZvcmUsXG4uc2l0ZS1mb290ZXI6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDsgfVxuXG4uY2xlYXI6YWZ0ZXIsXG4uZW50cnktY29udGVudDphZnRlcixcbi5jb21tZW50LWNvbnRlbnQ6YWZ0ZXIsXG4uc2l0ZS1oZWFkZXI6YWZ0ZXIsXG4uc2l0ZS1jb250ZW50OmFmdGVyLFxuLnNpdGUtZm9vdGVyOmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4jIE1lZGlhXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5wYWdlLWNvbnRlbnQgLndwLXNtaWxleSxcbi5lbnRyeS1jb250ZW50IC53cC1zbWlsZXksXG4uY29tbWVudC1jb250ZW50IC53cC1zbWlsZXkge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyogTWFrZSBzdXJlIGVtYmVkcyBhbmQgaWZyYW1lcyBmaXQgdGhlaXIgY29udGFpbmVycy4gKi9cbmVtYmVkLFxuaWZyYW1lLFxub2JqZWN0IHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbmltZyB7XG4gIGhlaWdodDogYXV0bztcbiAgLyogTWFrZSBzdXJlIGltYWdlcyBhcmUgc2NhbGVkIGNvcnJlY3RseS4gKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiBBZGhlcmUgdG8gY29udGFpbmVyIHdpZHRoLiAqLyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDA7XG4gIC8qIEV4dHJhIHdpZGUgaW1hZ2VzIHdpdGhpbiBmaWd1cmUgdGFncyBkb24ndCBvdmVyZmxvdyB0aGUgY29udGVudCBhcmVhLiAqLyB9XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuIyMgQ2FwdGlvbnNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLndwLWNhcHRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC53cC1jYXB0aW9uIGltZ1tjbGFzcyo9XCJ3cC1pbWFnZS1cIl0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAud3AtY2FwdGlvbiAud3AtY2FwdGlvbi10ZXh0IHtcbiAgICBtYXJnaW46IDAuODA3NWVtIDA7IH1cblxuLndwLWNhcHRpb24tdGV4dCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiMjIEdhbGxlcmllc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZ2FsbGVyeSB7XG4gIG1hcmdpbi1ib3R0b206IDEuNWVtOyB9XG5cbi5nYWxsZXJ5LWl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmdhbGxlcnktY29sdW1ucy0yIC5nYWxsZXJ5LWl0ZW0ge1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5nYWxsZXJ5LWNvbHVtbnMtMyAuZ2FsbGVyeS1pdGVtIHtcbiAgICBtYXgtd2lkdGg6IDMzLjMzJTsgfVxuICAuZ2FsbGVyeS1jb2x1bW5zLTQgLmdhbGxlcnktaXRlbSB7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLmdhbGxlcnktY29sdW1ucy01IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIG1heC13aWR0aDogMjAlOyB9XG4gIC5nYWxsZXJ5LWNvbHVtbnMtNiAuZ2FsbGVyeS1pdGVtIHtcbiAgICBtYXgtd2lkdGg6IDE2LjY2JTsgfVxuICAuZ2FsbGVyeS1jb2x1bW5zLTcgLmdhbGxlcnktaXRlbSB7XG4gICAgbWF4LXdpZHRoOiAxNC4yOCU7IH1cbiAgLmdhbGxlcnktY29sdW1ucy04IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIG1heC13aWR0aDogMTIuNSU7IH1cbiAgLmdhbGxlcnktY29sdW1ucy05IC5nYWxsZXJ5LWl0ZW0ge1xuICAgIG1heC13aWR0aDogMTEuMTElOyB9XG5cbi5nYWxsZXJ5LWNhcHRpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNob3cteHMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGUteHMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiMgV29vY29vbW1lcmNlXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiIsIi8vIFBYIHRvIEVNL1JFTSAtIGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2lzZWxsc29hcC84Mjk5NzI2XHJcblxyXG4kYmFzZS1mb250LXNpemU6IDE2cHg7XHJcblxyXG4vKipcclxuICogU3RyaXBzIHRoZSB1bml0IGZyb20gYSBnaXZlbiBudW1iZXItdW5pdC1jb21iaW5hdGlvbiBhbmQgcmV0dXJucyB0aGUgbnVtYmVyLlxyXG4gKiBAbGluazogaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMTIzMzU4NDEvMTc3OTk5OVxyXG4gKiBAdXNhZ2U6IHBhcnNlLWludCgxMHB4KSA9PiAxMFxyXG4gKi9cclxuXHJcbiBAZnVuY3Rpb24gcGFyc2UtaW50KCRudW1iZXIpIHtcclxuICAgIEByZXR1cm4gJG51bWJlciAvICgkbnVtYmVyICogMCArIDEpO1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiBTaW1wbHkgYWRkcyB0aGUgZW0gdW5pdCB0byBhIGdpdmVuIG51bWJlci4gVGhpcyBpcyB1c2VkIHR3aWNlIGluIHRoZVxyXG4gICAqIGZ1bmN0aW9uIHVuZGVybmVhdGgsIHRodXMgdGhlIG5lZWQgZm9yIGEgc2VwYXJhdGUgZnVuY3Rpb24uXHJcbiAgICovXHJcbiAgXHJcbiAgQGZ1bmN0aW9uIGFkZC1lbS11bml0KCRudW1iZXIpIHtcclxuICAgIEByZXR1cm4gJG51bWJlciAqIDFlbTtcclxuICB9XHJcbiAgXHJcbiAgQGZ1bmN0aW9uIGFkZC1yZW0tdW5pdCgkbnVtYmVyKSB7XHJcbiAgICBAcmV0dXJuICRudW1iZXIgKiAxcmVtO1xyXG4gIH1cclxuICBcclxuICAvKipcclxuICAgKiBDYWxjdWxhdGVzIGVtIHZhbHVlcyBmb3IgYSBnaXZlbiBsaXN0IG9mIChweCBvciBlbSkgdmFsdWVzIGFuZCBhIGdpdmVuIGVtXHJcbiAgICogYmFzZS4gTXVsdGlwbHkgYmFzZSB2YWx1ZXMgZm9yIG5lc3RlZCBlbSBzdHJ1Y3R1cmVzIChsYXN0IEB1c2FnZSBleGFtcGxlKS5cclxuICAgKiBAdXNhZ2U6IGVtKDEwcHgsIDEuMTI1KSA9PiAuNTU1NTZlbVxyXG4gICAqICAgICAgICAgZW0oMjRweCwgLjg3NWVtKSA9PiAxLjcxNDI5ZW1cclxuICAgKiAgICAgICAgIGVtKDEycHggMCA3ZW0gcmdiYSgwLCAwLCAwLCAuNyksIDEuNzUpID0+IC40Mjg1N2VtIDAgNGVtIHJnYmEoMCwgMCwgMCwgMC43KVxyXG4gICAqICAgICAgICAgZW0oMTJweCkgKyBlbSgzZW0pID0+IDMuNzVlbVxyXG4gICAqICAgICAgICAgZW0oMjNweCwgZW0oNTNweCkpID0+IC40MzM5NmVtXHJcbiAgICogICAgICAgICBlbSgyNHB4LCAxLjUgKiAxLjEyNSkgPT4gLjg4ODg5ZW1cclxuICAgKi9cclxuICBcclxuICBAZnVuY3Rpb24gZW0oJHZhbHVlcywgJGVtLWJhc2U6IDEpIHtcclxuICAgICRiYXNlLWZvbnQtc2l6ZTogcGFyc2UtaW50KCRiYXNlLWZvbnQtc2l6ZSk7XHJcbiAgICAkZW0tYmFzZTogcGFyc2UtaW50KCRlbS1iYXNlKTtcclxuICAgICRyZXN1bHQ6ICgpO1xyXG4gIFxyXG4gICAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xyXG4gICAgICBAaWYgJHZhbHVlID09IDAgb3IgdHlwZS1vZigkdmFsdWUpICE9IFwibnVtYmVyXCIge1xyXG4gICAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkdmFsdWUpO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICAkdW5pdDogdW5pdCgkdmFsdWUpO1xyXG4gICAgICAgICR2YWx1ZTogcGFyc2UtaW50KCR2YWx1ZSk7XHJcbiAgXHJcbiAgICAgICAgQGlmICR1bml0ID09IFwicHhcIiB7XHJcbiAgICAgICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgYWRkLWVtLXVuaXQoJHZhbHVlIC8gKCRiYXNlLWZvbnQtc2l6ZSAqICRlbS1iYXNlKSkpO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJHVuaXQgPT0gXCJlbVwiIHtcclxuICAgICAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBhZGQtZW0tdW5pdCgkdmFsdWUgLyAkZW0tYmFzZSkpO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJHVuaXQgPT0gXCJcIiB7XHJcbiAgICAgICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgYWRkLWVtLXVuaXQoJHZhbHVlIC8gKCRiYXNlLWZvbnQtc2l6ZSAqICRlbS1iYXNlKSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIFxyXG4gICAgLyoqXHJcbiAgICAgKiBJZiBvbmx5IG9uZSB2YWx1ZSBpcyBwcm92aWRlZCwgb3V0cHV0IHRoZSBpbnN0YW5jZSBvZiB0aGF0IG9iamVjdCBpbnN0ZWFkXHJcbiAgICAgKiBvZiB0aGUgd2hvbGUgbGlzdC4gVGhpcyBlbmFibGVzIHVzZSBjYXNlcyBsaWtlIG5lc3RlZCBmdW5jdGlvbiBpbnZvY2F0aW9uc1xyXG4gICAgICogKGUuZy4gYGVtKDJweCwgZW0oMTVweCkpYCkgb3IgYWRkaXRpb25zL3N1YnRyYWN0aW9ucyAoZS5nLiBgZW0oNXB4KSArIGVtKDMycHgpYCkuXHJcbiAgICAgKi9cclxuICAgIEBpZiBsZW5ndGgoJHJlc3VsdCkgPT0gMSB7XHJcbiAgICAgIEByZXR1cm4gbnRoKCRyZXN1bHQsIDEpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEByZXR1cm4gJHJlc3VsdDtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgXHJcbiAgQGZ1bmN0aW9uIHJlbSgkdmFsdWVzLCAkZW0tYmFzZTogMSkge1xyXG4gICAgJGJhc2UtZm9udC1zaXplOiBwYXJzZS1pbnQoJGJhc2UtZm9udC1zaXplKTtcclxuICAgICRlbS1iYXNlOiBwYXJzZS1pbnQoJGVtLWJhc2UpO1xyXG4gICAgJHJlc3VsdDogKCk7XHJcbiAgXHJcbiAgICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XHJcbiAgICAgIEBpZiAkdmFsdWUgPT0gMCBvciB0eXBlLW9mKCR2YWx1ZSkgIT0gXCJudW1iZXJcIiB7XHJcbiAgICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICR2YWx1ZSk7XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICR1bml0OiB1bml0KCR2YWx1ZSk7XHJcbiAgICAgICAgJHZhbHVlOiBwYXJzZS1pbnQoJHZhbHVlKTtcclxuICBcclxuICAgICAgICBAaWYgJHVuaXQgPT0gXCJweFwiIHtcclxuICAgICAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBhZGQtcmVtLXVuaXQoJHZhbHVlIC8gKCRiYXNlLWZvbnQtc2l6ZSAqICRlbS1iYXNlKSkpO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJHVuaXQgPT0gXCJlbVwiIHtcclxuICAgICAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBhZGQtcmVtLXVuaXQoJHZhbHVlIC8gJGVtLWJhc2UpKTtcclxuICAgICAgICB9IEBlbHNlIGlmICR1bml0ID09IFwiXCIge1xyXG4gICAgICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIGFkZC1yZW0tdW5pdCgkdmFsdWUgLyAoJGJhc2UtZm9udC1zaXplICogJGVtLWJhc2UpKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgXHJcbiAgICAvKipcclxuICAgICAqIElmIG9ubHkgb25lIHZhbHVlIGlzIHByb3ZpZGVkLCBvdXRwdXQgdGhlIGluc3RhbmNlIG9mIHRoYXQgb2JqZWN0IGluc3RlYWRcclxuICAgICAqIG9mIHRoZSB3aG9sZSBsaXN0LiBUaGlzIGVuYWJsZXMgdXNlIGNhc2VzIGxpa2UgbmVzdGVkIGZ1bmN0aW9uIGludm9jYXRpb25zXHJcbiAgICAgKiAoZS5nLiBgZW0oMnB4LCBlbSgxNXB4KSlgKSBvciBhZGRpdGlvbnMvc3VidHJhY3Rpb25zIChlLmcuIGBlbSg1cHgpICsgZW0oMzJweClgKS5cclxuICAgICAqL1xyXG4gICAgQGlmIGxlbmd0aCgkcmVzdWx0KSA9PSAxIHtcclxuICAgICAgQHJldHVybiBudGgoJHJlc3VsdCwgMSk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgQHJldHVybiAkcmVzdWx0O1xyXG4gICAgfVxyXG4gIH0iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXHJcblxyXG4vKiBEb2N1bWVudFxyXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cclxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXHJcbiAqL1xyXG5cclxuaHRtbCB7XHJcblx0bGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cclxuXHQtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cclxufVxyXG5cclxuLyogU2VjdGlvbnNcclxuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuYm9keSB7XHJcblx0bWFyZ2luOiAwO1xyXG5cdG92ZXJmbG93LXg6IGhpZGRlbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcclxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5oMSB7XHJcblx0Zm9udC1zaXplOiAyZW07XHJcblx0bWFyZ2luOiAwLjY3ZW0gMDtcclxufVxyXG5cclxuLyogR3JvdXBpbmcgY29udGVudFxyXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXHJcbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxyXG4gKi9cclxuXHJcbmhyIHtcclxuXHRib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xyXG5cdGhlaWdodDogMDsgLyogMSAqL1xyXG5cdG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxucHJlIHtcclxuXHRmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cclxuXHRmb250LXNpemU6IDFlbTsgLyogMiAqL1xyXG59XHJcblxyXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xyXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cclxuICovXHJcblxyXG5hIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXHJcbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuYWJiclt0aXRsZV0ge1xyXG5cdGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cclxuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xyXG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5iLFxyXG5zdHJvbmcge1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkZXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuY29kZSxcclxua2JkLFxyXG5zYW1wIHtcclxuXHRmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cclxuXHRmb250LXNpemU6IDFlbTsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuc21hbGwge1xyXG5cdGZvbnQtc2l6ZTogODAlO1xyXG59XHJcblxyXG4vKipcclxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXHJcbiAqIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5zdWIsXHJcbnN1cCB7XHJcblx0Zm9udC1zaXplOiA3NSU7XHJcblx0bGluZS1oZWlnaHQ6IDA7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxufVxyXG5cclxuc3ViIHtcclxuXHRib3R0b206IC0wLjI1ZW07XHJcbn1cclxuXHJcbnN1cCB7XHJcblx0dG9wOiAtMC41ZW07XHJcbn1cclxuXHJcbi8qIEVtYmVkZGVkIGNvbnRlbnRcclxuXHQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxyXG4gKi9cclxuXHJcbmltZyB7XHJcblx0Ym9yZGVyLXN0eWxlOiBub25lO1xyXG59XHJcblxyXG4vKiBGb3Jtc1xyXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuYnV0dG9uLFxyXG5pbnB1dCxcclxub3B0Z3JvdXAsXHJcbnNlbGVjdCxcclxudGV4dGFyZWEge1xyXG5cdGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXHJcblx0Zm9udC1zaXplOiAxMDAlOyAvKiAxICovXHJcblx0bGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cclxuXHRtYXJnaW46IDA7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxyXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuaW5wdXQgeyAvKiAxICovXHJcblx0b3ZlcmZsb3c6IHZpc2libGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cclxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuc2VsZWN0IHsgLyogMSAqL1xyXG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG59XHJcblxyXG4vKipcclxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5idXR0b24sXHJcblt0eXBlPVwiYnV0dG9uXCJdLFxyXG5bdHlwZT1cInJlc2V0XCJdLFxyXG5bdHlwZT1cInN1Ym1pdFwiXSB7XHJcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcclxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXHJcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXHJcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcclxuXHRib3JkZXItc3R5bGU6IG5vbmU7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cclxuICovXHJcblxyXG5idXR0b246LW1vei1mb2N1c3JpbmcsXHJcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxyXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxyXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XHJcblx0b3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xyXG59XHJcblxyXG4vKipcclxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmZpZWxkc2V0IHtcclxuXHRwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXHJcbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcclxuICpcdFx0YGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxubGVnZW5kIHtcclxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXHJcblx0Y29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cclxuXHRkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xyXG5cdG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xyXG5cdHBhZGRpbmc6IDA7IC8qIDMgKi9cclxuXHR3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxyXG4gKi9cclxuXHJcbnByb2dyZXNzIHtcclxuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cclxuICovXHJcblxyXG50ZXh0YXJlYSB7XHJcblx0b3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cclxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxyXG4gKi9cclxuXHJcblt0eXBlPVwiY2hlY2tib3hcIl0sXHJcblt0eXBlPVwicmFkaW9cIl0ge1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cclxuXHRwYWRkaW5nOiAwOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXHJcbiAqL1xyXG5cclxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXHJcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcclxuXHRoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cclxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXHJcbiAqL1xyXG5cclxuW3R5cGU9XCJzZWFyY2hcIl0ge1xyXG5cdC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXHJcblx0b3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cclxuICovXHJcblxyXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XHJcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxyXG4gKi9cclxuXHJcbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xyXG5cdC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXHJcblx0Zm9udDogaW5oZXJpdDsgLyogMiAqL1xyXG59XHJcblxyXG4vKiBJbnRlcmFjdGl2ZVxyXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLypcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cclxuICovXHJcblxyXG5kZXRhaWxzIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLypcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbnN1bW1hcnkge1xyXG5cdGRpc3BsYXk6IGxpc3QtaXRlbTtcclxufVxyXG5cclxuLyogTWlzY1xyXG5cdCA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cclxuICovXHJcblxyXG50ZW1wbGF0ZSB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxyXG4gKi9cclxuXHJcbltoaWRkZW5dIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcbiIsImh0bWwge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICBtaW4td2lkdGg6IDMwMHB4O1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XHJcbiAgLW1vei10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xyXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xyXG4gIHRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XHJcbn1cclxuXHJcbioge1xyXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc2VyaWY7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNDtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG59XHJcblxyXG5cclxuLmNvbnRhaW5lciB7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmctbGVmdDogZW0oMzApO1xyXG4gIHBhZGRpbmctcmlnaHQ6IGVtKDMwKTtcclxuICBAaW5jbHVkZSBicChwaG9uZXhzZG93bil7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IGVtKDE1KTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IGVtKDE1KTtcclxuICB9XHJcbiAgQGluY2x1ZGUgYnAodGFibGV0KXtcclxuICAgIG1heC13aWR0aDogJHNpdGVfd2lkdGhfdGFibGV0O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gIH1cclxuICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpe1xyXG4gICAgbWF4LXdpZHRoOiAkc2l0ZV93aWR0aF90YWJsZXRsYW5kc2NhcGU7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBicCh0YWJsZXR4bCl7XHJcbiAgICBtYXgtd2lkdGg6ICRzaXRlX3dpZHRoX3RhYmxldGxhbmRzY2FwZV90b19sYXB0b3BfeHM7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGJwKGxhcHRvcHhzKXtcclxuICAgIG1heC13aWR0aDogJHNpdGVfd2lkdGhfbGFwdG9weHM7XHJcbiAgfVxyXG59XHJcblxyXG4uYWxpZ25mdWxsPi53cC1ibG9jay1ncm91cF9faW5uZXItY29udGFpbmVyLCAuYWxpZ25mdWxsPi53cC1ibG9jay1jb3Zlcl9faW5uZXItY29udGFpbmVye1xyXG4gIEBleHRlbmQgLmNvbnRhaW5lcjtcclxufVxyXG5cclxuYm9keSAud3AtYmxvY2sta2FkZW5jZS1yb3dsYXlvdXQuYWxpZ25mdWxsPi5rdC1yb3ctbGF5b3V0LWlubmVyPi5rdC1yb3ctY29sdW1uLXdyYXAua2ItdGhlbWUtY29udGVudC13aWR0aCB7XHJcbiAgQGV4dGVuZCAuY29udGFpbmVyO1xyXG4gIG1heC13aWR0aDogMTAwJSFpbXBvcnRhbnQ7XHJcbiAgQGluY2x1ZGUgYnAodGFibGV0KXtcclxuICAgIG1heC13aWR0aDogJHNpdGVfd2lkdGhfdGFibGV0IWltcG9ydGFudDtcclxuICB9XHJcbiAgQGluY2x1ZGUgYnAodGFibGV0bGFuZHNjYXBlKXtcclxuICAgIG1heC13aWR0aDogJHNpdGVfd2lkdGhfdGFibGV0bGFuZHNjYXBlIWltcG9ydGFudDtcclxuICB9XHJcbiAgQGluY2x1ZGUgYnAobGFwdG9weHMpe1xyXG4gICAgbWF4LXdpZHRoOiAkc2l0ZV93aWR0aF9sYXB0b3B4cyFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4uc2hvdy1lbiwgLnNob3ctYmd7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG4ubGFuZy1iZ3tcclxuICAuc2hvdy1iZ3tcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxufVxyXG4ubGFuZy1lbntcclxuICAuc2hvdy1lbntcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxufSIsIi8vIEFkZCB5b3VyIG1haW4gY29sb3IgdmFyaWFibGVzIGhlcmVcclxuXHJcbiRncmV5LXRleHQ6ICM2NDY0NjQ7XHJcbiRkYXJrLWdyZXk6ICMzMzMzMzM7XHJcbiR3aGl0ZTogI2ZmZjtcclxuJGFjY2VudC1jb2xvcjogIzZFRDg0NztcclxuJGJsdWU6ICM0QTk3RTc7XHJcbiRibGFjazogIzAwMDtcclxuJGxpZ2h0LWJsdWU6ICNkY2VhZjk7XHJcblxyXG4kYm9yZGVyLWNvbG9yOiAjMDAwMDAwNGQ7XHJcbiRncmV5LWJnOiAjZjJmMmYyO1xyXG5cclxuLy8gVmFyaWFibGVzIGZvcm0gVW5kZXJzY29yZXNcclxuXHJcbi8vVGhlIG5leHQgZmV3IHNob3VsZCBiZSByZXZpc2VkIG9uIHByb2plY3Qgc3RhcnQ6XHJcbiRjb2xvcl9fdGV4dC1tYWluOiAkYmxhY2s7IC8vIE1haW4gdGV4dCBjb2xvclxyXG5cclxuJGNvbG9yX19saW5rOiAjMDA4NmU2OyAgLy8gTGlua3NcclxuJGNvbG9yX19saW5rLXZpc2l0ZWQ6IGxpZ2h0ZW4oJGNvbG9yX19saW5rLDEwJSk7XHJcbiRjb2xvcl9fbGluay1ob3ZlcjogIzZkNmQ2ZDtcclxuIFxyXG4kY29sb3JfX2JhY2tncm91bmQtYm9keTogJHdoaXRlO1xyXG5cclxuXHJcbi8vQnV0dG9uc1xyXG4kY29sb3JfX3RleHQtYnV0dG9uOiAkd2hpdGU7XHJcbiRjb2xvcl9fYmFja2dyb3VuZC1idXR0b246ICMzMjM3M2M7XHJcblxyXG4kY29sb3JfX2JhY2tncm91bmQtYnV0dG9uLWhvdmVyOiBsaWdodGVuKCRjb2xvcl9fYmFja2dyb3VuZC1idXR0b24sNCUpO1xyXG4kY29sb3JfX2JhY2tncm91bmQtYnV0dG9uLWZvY3VzOiBsaWdodGVuKCRjb2xvcl9fYmFja2dyb3VuZC1idXR0b24sOCUpO1xyXG5cclxuLy9JbnB1dHNcclxuJGNvbG9yX19ib3JkZXItaW5wdXQ6ICNjY2M7XHJcbiRjb2xvcl9fYm9yZGVyLWFiYnI6ICM2NjY7XHJcbiRjb2xvcl9fdGV4dC1zY3JlZW46ICMyMTc1OWI7XHJcbiRjb2xvcl9fdGV4dC1pbnB1dDogIzY2NjtcclxuJGNvbG9yX190ZXh0LWlucHV0LWZvY3VzOiAjMTExO1xyXG5cclxuXHJcbi8vVGhlc2UgY2FuIGJlIHJldmlzZWQgb24gdGhlIG1vdmUgd2hpbGUgZGV2ZWxvcGluZzpcclxuJGNvbG9yX19iYWNrZ3JvdW5kLXNjcmVlbjogI2YxZjFmMTtcclxuJGNvbG9yX19iYWNrZ3JvdW5kLWhyOiAjY2NjO1xyXG4kY29sb3JfX2JhY2tncm91bmQtcHJlOiAjZWVlO1xyXG4kY29sb3JfX2JhY2tncm91bmQtaW5zOiAjZmZmOWMwO1xyXG5cclxuXHJcblxyXG4iLCIvLyAgRm9udHMgYW5kIGljb25zXHJcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy9cclxuLy9cclxuLy8gRm9yIEdvb2dsZSBGb250cyB1c2UgIGh0dHBzOi8vZ29vZ2xlLXdlYmZvbnRzLWhlbHBlci5oZXJva3VhcHAuY29tL2ZvbnRzXHJcbi8vIGFuZCBwdXQgdGhlIGRlZmluaXRpb25zIGluIHR5cG9ncmFwaHkvZm9udF9mYWNlc1xyXG4vL1xyXG4vL1xyXG5cclxuLy8gVXNlZCBtYWlubHkgZm9yIEd1dGVuYmVyZyBmb250LXNpemVzXHJcbi8vRGVza3RvcFxyXG4kZm9udC1zaXplLXhzOiByZW0oMTIpO1xyXG4kZm9udC1zaXplLXM6IHJlbSgxNCk7XHJcbiRmb250LXNpemUtZDogcmVtKDE2KTtcclxuJGZvbnQtc2l6ZS1tOiByZW0oMTgpO1xyXG4kZm9udC1zaXplLWw6IHJlbSgyNCk7XHJcbiRmb250LXNpemUteGw6IHJlbSgzMik7XHJcbiRmb250LXNpemUteHhsOiByZW0oNDApO1xyXG4kZm9udC1zaXplLXh4eGw6IHJlbSg2MCk7XHJcblxyXG4vL01vYmlsZSBHdXRlbmJlcmcgZm9udC1zaXplc1xyXG4kZm9udC1zaXplLXhzLW1vYmlsZTogcmVtKDEwKTtcclxuJGZvbnQtc2l6ZS1zLW1vYmlsZTogcmVtKDE0KTtcclxuJGZvbnQtc2l6ZS1kLW1vYmlsZTogcmVtKDE2KTtcclxuJGZvbnQtc2l6ZS1tLW1vYmlsZTogcmVtKDE2KTtcclxuJGZvbnQtc2l6ZS1sLW1vYmlsZTogcmVtKDIyKTtcclxuJGZvbnQtc2l6ZS14bC1tb2JpbGU6IHJlbSgyNik7XHJcbiRmb250LXNpemUteHhsLW1vYmlsZTogcmVtKDI4KTtcclxuJGZvbnQtc2l6ZS14eHhsLW1vYmlsZTogcmVtKDMwKTtcclxuXHJcbi8vVGFibGV0IEd1dGVuYmVyZyBmb250LXNpemVzICAoTWF5YmUgbGVhdmUgc2FtZSBhcyBtb2JpbGUgZm9yIHN0YXJ0ZXJzKVxyXG4kZm9udC1zaXplLXhzLXRhYmxldDogcmVtKDEwKTtcclxuJGZvbnQtc2l6ZS1zLXRhYmxldDogcmVtKDE0KTtcclxuJGZvbnQtc2l6ZS1kLXRhYmxldDogcmVtKDE2KTtcclxuJGZvbnQtc2l6ZS1tLXRhYmxldDogcmVtKDE2KTtcclxuJGZvbnQtc2l6ZS1sLXRhYmxldDogcmVtKDIyKTtcclxuJGZvbnQtc2l6ZS14bC10YWJsZXQ6IHJlbSgyOCk7XHJcbiRmb250LXNpemUteHhsLXRhYmxldDogcmVtKDMyKTtcclxuJGZvbnQtc2l6ZS14eHhsLXRhYmxldDogcmVtKDM2KTtcclxuXHJcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAnUm9ib3RvJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuJGZvbnQtZmFtaWx5LXNlcmlmOiAnUm9ib3RvJywgR2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmO1xyXG5cclxuJGZvbnRfX21haW46ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xyXG4kZm9udF9fY29kZTogQXJpYWwsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xyXG4kZm9udF9fcHJlOiBcIkNvdXJpZXIgMTAgUGl0Y2hcIiwgQ291cmllciwgbW9ub3NwYWNlO1xyXG4kZm9udF9fbGluZS1oZWlnaHQtYm9keTogMS41O1xyXG4kZm9udF9fbGluZS1oZWlnaHQtcHJlOiAxLjY7XHJcblxyXG4kZm9udF9mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xyXG4kZm9udF9mYW1pbHlfbWVudTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XHJcbiRmb250X2ZhbWlseV9oZWFkaW5nczogJGZvbnQtZmFtaWx5LXNlcmlmO1xyXG5cclxuJGVhc2luZzogZWFzZS1vdXQ7XHJcblxyXG5cclxuXHJcblxyXG4iLCJcclxuLy8gRGVmYXVsdCAtIDMyMSAtIDQwMFxyXG5cclxuQG1peGluIGJwKCRwb2ludCkge1xyXG5cclxuICBAaWYgJHBvaW50ID09IHBob25leHhze1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDMyMHB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAaWYgJHBvaW50ID09IHBob25leHNkb3due1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDM2MHB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmICRwb2ludCA9PSBwaG9uZXhse1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQwMHB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmICRwb2ludCA9PSBwaG9uZXBvcnRyYWl0IHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA1NjhweCl7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmICRwb2ludCA9PSBwaG9uZXBvcnRyYWl0T25seSB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNTY4cHgpIGFuZCAobWF4LXdpZHRoOiA2NzBweCl7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmICRwb2ludCA9PSBwaG9uZXBvcnRyYWl0eGxPbmx5IHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3MjBweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KXtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkcG9pbnQgPT0gdGFibGV0ZG93biB7XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpe1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBlbHNlIGlmICRwb2ludCA9PSB0YWJsZXQge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KXtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkcG9pbnQgPT0gdGFibGV0bGFuZHNjYXBle1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KXtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkcG9pbnQgPT0gdGFibGV0eGx7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KXtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAZWxzZSBpZiAkcG9pbnQgPT0gbGFwdG9weHMge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCl7XHJcbiAgICAgIEBjb250ZW50OyBcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBlbHNlIGlmICRwb2ludCA9PSBsYXB0b3Age1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEzNjZweCl7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJHBvaW50ID09IGxhcHRvcHhsIHtcclxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNDQwcHgpe1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBlbHNlIGlmICRwb2ludCA9PSBkZXNrdG9weHMge1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCl7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJHBvaW50ID09IGRlc2t0b3Age1xyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCl7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGVsc2UgaWYgJHBvaW50ID09IGRlc2t0b3B4bCB7XHJcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMjUwMHB4KXtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufSIsIi8vIE1haW4gQ29udGFpbmVyIFNpemVzXHJcbiRzaXRlX3dpZHRoX2xhcHRvcHhzOiByZW0oMTI4MCk7XHJcbiRzaXRlX3dpZHRoX3RhYmxldGxhbmRzY2FwZTogcmVtKDk1MCk7IC8vIG1heWJlIGNoYW5nZSB0byBwZXJjZW50IHRvIGhhdmUgZmx1aWQgY29udGFpbmVyIGJldHdlZW4gMTAyNCBhbmQgMTI4MHB4IHJlcy5cclxuXHJcbiRzaXRlX3dpZHRoX3RhYmxldGxhbmRzY2FwZV90b19sYXB0b3BfeHM6IDkzJTtcclxuXHJcbiRzaXRlX3dpZHRoX3RhYmxldDogcmVtKDcwMCk7XHJcblxyXG4vL0hlYWRlciBzaXplc1xyXG4kaGVhZGVyX2hlaWdodF9tb2JpbGU6IHJlbSg2MCk7XHJcbiRoZWFkZXJfaGVpZ2h0X2Rlc2t0b3A6IHJlbSg3MCk7XHJcblxyXG4vL05lZ2F0aXZlIHZhbHVlcyB1c2VkIGZvciBoaWRpbmcgdGhlIGhlYWRlciwgc2hvdWxkIG1hdGNoIHRoZSBhYm92ZSBoZWFkZXIgaGVpZ2h0XHJcbiRoZWFkZXJfaGVpZ2h0X21vYmlsZV9uZWdhdGl2ZTogcmVtKC0jeyRoZWFkZXJfaGVpZ2h0X21vYmlsZX0pOyAvLyB0b2RvIG1heWJlIHJlZmFjdG9yIHRvIGF1dG9tYXRpY2FsbHkgdGFrZSB0aGUgdmFsdWUgZnJvbSBhYm92ZSBhbmQgbWFrZSBpdCBuZWdhdGl2ZT9cclxuJGhlYWRlcl9oZWlnaHRfZGVza3RvcF9uZWdhdGl2ZTogcmVtKC03MCk7IiwiQG1peGluIGhlYWRlci1oaWRle1xyXG4gIHRvcDogJGhlYWRlcl9oZWlnaHRfbW9iaWxlX25lZ2F0aXZlO1xyXG4gIEBpbmNsdWRlIGJwKCB0YWJsZXRsYW5kc2NhcGUgKSB7XHJcbiAgICB0b3A6ICRoZWFkZXJfaGVpZ2h0X2Rlc2t0b3BfbmVnYXRpdmU7XHJcbiAgfVxyXG59XHJcblxyXG4uYWRtaW4tYmFye1xyXG4gIC5zaXRlLWhlYWRlciB7XHJcbiAgICB0b3A6IDQ2cHg7XHJcbiAgICBcclxuICAgICYubm90LW9uLXRvcHtcclxuICAgICAgdG9wOiAwO1xyXG5cclxuICAgICAgQGluY2x1ZGUgYnAodGFibGV0KXtcclxuICAgICAgICB0b3A6IDMycHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJwKCB0YWJsZXRsYW5kc2NhcGUgKSB7XHJcbiAgICAgIHRvcDogMzJweDtcclxuXHJcbiAgICAgICYubm90LW9uLXRvcHtcclxuICAgICAgICB0b3A6IDMycHg7XHJcblxyXG4gICAgICAgICYuaGVhZGVyLWhpZGV7XHJcbiAgICAgICAgICBAaW5jbHVkZSBoZWFkZXItaGlkZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuYm9keXtcclxuICBwYWRkaW5nLXRvcDogJGhlYWRlcl9oZWlnaHRfbW9iaWxlO1xyXG4gIEBpbmNsdWRlIGJwKCB0YWJsZXRsYW5kc2NhcGUgKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogJGhlYWRlcl9oZWlnaHRfZGVza3RvcDtcclxuICB9XHJcbn1cclxuXHJcbi5zaXRlLWhlYWRlciB7XHJcbiAgaGVpZ2h0OiAkaGVhZGVyX2hlaWdodF9tb2JpbGU7ICBcclxuICBwYWRkaW5nOiByZW0oMTIpIDA7XHJcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHotaW5kZXg6IDk5NTtcclxuICB0b3A6IDA7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1vdXQ7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmV5LWJnO1xyXG5cclxuICBAaW5jbHVkZSBicCggdGFibGV0bGFuZHNjYXBlICkge1xyXG4gICAgaGVpZ2h0OiAkaGVhZGVyX2hlaWdodF9kZXNrdG9wO1xyXG4gIH1cclxuXHJcbiAgJi5ub3Qtb24tdG9we1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gIH1cclxuXHJcbiAgJi5oZWFkZXItaGlkZXtcclxuICAgIEBpbmNsdWRlIGhlYWRlci1oaWRlO1xyXG5cclxuICAgICYuZm9yY2Vfb3BlbmVke1xyXG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xyXG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgQGluY2x1ZGUgYnAoIHRhYmxldGxhbmRzY2FwZSApIHtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9ICBcclxuXHJcbiAgLmNvbnRhaW5lcntcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIC5oZWFkZXJfd3JhcHBlciB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnNpdGUtYnJhbmRpbmcge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYXtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgaW1ne1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCIuc2l0ZS1mb290ZXIge1xyXG4gIHBhZGRpbmc6IDFyZW0gMDtcclxuICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgY29sb3I6ICRkYXJrLWdyZXk7XHJcblxyXG4gIGgyIHtcclxuICAgIG1hcmdpbi10b3A6IHJlbSgxMCk7XHJcbiAgICBmb250LXNpemU6IHJlbSgyMSk7XHJcbiAgfVxyXG5cclxuICAubWVudSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcblxyXG4gICAgbGl7XHJcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcblxyXG4gICAgICBhIHtcclxuICAgICAgICBjb2xvcjogJGJsYWNrO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg1KTtcclxuICAgICAgICBmb250LXNpemU6IHJlbSgxOSk7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc29pY2FsLWljb24ge1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xyXG4gICAgd2lkdGg6IHJlbSg2MCk7XHJcbiAgICBoZWlnaHQ6IHJlbSg2MCk7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXktYmc7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiByZW0oMTUpO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtYmx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgdGV4dC1pbmRlbnQ6IHJlbSgxMDAwMDApO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAmLmZhY2Vib29re1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ljb25zL2ZhY2Vib29rLnN2ZycpO1xyXG4gICAgfVxyXG5cclxuICAgICYubGlua2VkaW4ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ljb25zL2xpbmtlZGluLnN2ZycpOyAgXHJcbiAgICB9XHJcblxyXG4gICAgJi55b3V0dWJlIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pY29ucy95b3V0dWJlLnN2ZycpOyAgXHJcbiAgICB9XHJcblxyXG4gICAgJi5pbnN0YWdyYW0ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ljb25zL2luc3RhZ3JhbS5zdmcnKTsgIFxyXG4gICAgfVxyXG5cclxuICAgICYubWFpbCB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaWNvbnMvbWFpbC1JY29uLnN2ZycpOyAgXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjbmF2X21lbnUtMiAubWVudSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gIH1cclxuXHJcblxyXG4gIC5jb2x1bW5zLmdyaWRfNCAuY29sdW1ue1xyXG4gICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgQGluY2x1ZGUgYnAobGFwdG9weHMpIHtcclxuICAgICAgICBmbGV4OiAwIDAgMTglO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpudGgtb2YtdHlwZSgyKSB7XHJcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xyXG4gICAgICBAaW5jbHVkZSBicChsYXB0b3B4cykge1xyXG4gICAgICAgIGZsZXg6IDAgMCAzOCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCIud2lkZ2V0IHtcclxuXHRtYXJnaW46IDAgMCAxLjVlbTtcclxuXHJcblx0LyogTWFrZSBzdXJlIHNlbGVjdCBlbGVtZW50cyBmaXQgaW4gd2lkZ2V0cy4gKi9cclxuXHRzZWxlY3Qge1xyXG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdH1cclxufVxyXG4iLCIuc3RpY2t5IHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLnBvc3QsXHJcbi5wYWdlIHtcclxuXHRtYXJnaW46IDAgMCAxLjVlbTtcclxufVxyXG5cclxuLnVwZGF0ZWQ6bm90KC5wdWJsaXNoZWQpIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4ucGFnZS1jb250ZW50LFxyXG4uZW50cnktY29udGVudCxcclxuLmVudHJ5LXN1bW1hcnkge1xyXG5cdG1hcmdpbjogMS41ZW0gMCAwO1xyXG59XHJcblxyXG4ucGFnZS1saW5rcyB7XHJcblx0Y2xlYXI6IGJvdGg7XHJcblx0bWFyZ2luOiAwIDAgMS41ZW07XHJcbn1cclxuXHJcblxyXG4vKiBBbmltYXRpb24gKi9cclxuLmFuaW0tdHlwZXdyaXRlcntcclxuXHRjb2xvcjogJGFjY2VudC1jb2xvcjtcclxuXHJcbiAgfVxyXG5cclxuLmFuaW1fd3JhcCB7XHJcblx0QG1lZGlhKG1heC13aWR0aDogNzY3cHgpIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdH1cclxufVxyXG4ueWVzLXRyYWNlIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0JjphZnRlcntcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pY29ucy95ZXMtdHJhY2Uuc3ZnJyk7XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG5cdFx0cGFkZGluZzogcmVtKDcpIHJlbSgxMCk7XHJcblx0XHR3aWR0aDogMTMwJTtcclxuXHRcdGhlaWdodDogMTMwJTtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGxlZnQ6IC0xNSU7XHJcblx0fVxyXG59IFxyXG5cclxuLmZlYXR1cmVzLXNlY3Rpb24ge1xyXG5cdGltZ3tcclxuXHRcdG1hcmdpbi1yaWdodDogcmVtKDIwKTtcclxuXHRcdEBpbmNsdWRlIGJwKGxhcHRvcHhzKXtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiByZW0oMzApO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLm5hcnJvdy1jb250ZW50IHtcclxuXHRtYXgtd2lkdGg6IHJlbSgxMTYwKTtcclxuXHRtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLndwLWJsb2NrLWthZGVuY2UtdGFicyAgLmt0LXRhYnMtdGl0bGUtbGlzdCBsaSAua3QtdGFiLXRpdGxlIHtcclxuXHR3aWR0aDogZml0LWNvbnRlbnQ7XHJcblx0Ym9yZGVyLXJhZGl1czogcmVtKDUwKSFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi53cC1ibG9jay1rYWRlbmNlLXRhYnMgLmt0LXRhYnMtdGl0bGUtbGlzdCBsaS5rdC10YWItdGl0bGUtYWN0aXZlIC5rdC10YWItdGl0bGUge1xyXG5cdHdpZHRoOiAxMDAlIWltcG9ydGFudDtcclxuXHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMCFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ua3QtYWNjb3JkaW9uLXBhbmVsLWFjdGl2ZSB7XHJcblx0Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMCFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDAhaW1wb3J0YW50O1xyXG5cdG1hcmdpbi1ib3R0b206IDAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYWRkaXRpb25hbC1tYXJnaW4tYm90IHtcclxuXHRAaW5jbHVkZSBicChsYXB0b3B4cykge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtKDYwKTtcclxuXHR9XHJcbn0iLCJib2R5LFxyXG5idXR0b24sXHJcbmlucHV0LFxyXG5zZWxlY3QsXHJcbm9wdGdyb3VwLFxyXG50ZXh0YXJlYSB7XHJcblx0Y29sb3I6ICRjb2xvcl9fdGV4dC1tYWluO1xyXG5cdGZvbnQtZmFtaWx5OiAkZm9udF9mYW1pbHk7XHJcblx0Zm9udC1zaXplOiAkYmFzZV9mb250X3NpemU7XHJcblx0bGluZS1oZWlnaHQ6ICRmb250X19saW5lLWhlaWdodC1ib2R5O1xyXG59XHJcblxyXG4vLyBNYWluIGxpbmsgc3R5bGluZ1xyXG5hIHtcclxuXHRjb2xvcjogJGNvbG9yX19saW5rO1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcblx0Jjp2aXNpdGVkIHtcclxuXHRcdC8vIGNvbG9yOiAkY29sb3JfX2xpbmstdmlzaXRlZDtcclxuXHR9XHJcblx0Jjpob3ZlcixcclxuXHQmOmZvY3VzLFxyXG5cdCY6YWN0aXZlIHtcclxuXHRcdGNvbG9yOiAkY29sb3JfX2xpbmstaG92ZXI7XHJcblx0XHQvL3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdH1cclxuXHQmOmZvY3VzIHtcclxuXHRcdG91dGxpbmU6IDA7XHJcblx0fVxyXG5cdCY6aG92ZXIsXHJcblx0JjphY3RpdmUge1xyXG5cdFx0b3V0bGluZTogMDtcclxuXHR9XHJcbn1cclxuXHJcbmgxLGgyLGgzLGg0LGg1LGg2IHtcclxuXHRmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlcmlmO1xyXG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XHJcblx0bWFyZ2luLWJvdHRvbTogcmVtKDE2KTtcclxuXHRtYXJnaW4tdG9wOiAwO1xyXG59XHJcbmgxe1xyXG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14eGwtbW9iaWxlO1xyXG5cdEBpbmNsdWRlIGJwKGxhcHRvcHhzKSB7XHJcblx0XHRmb250LXNpemU6ICRmb250LXNpemUteHhsO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtKDYwKTtcclxuXHR9XHJcbn1cclxuXHJcbmgye1xyXG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sLW1vYmlsZTtcclxuXHRAaW5jbHVkZSBicChsYXB0b3B4cykge1xyXG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLWw7XHJcblx0fVxyXG59XHJcblxyXG5oM3tcclxuXHRmb250LXNpemU6ICRmb250LXNpemUtbS1tb2JpbGU7XHJcblx0QGluY2x1ZGUgYnAobGFwdG9weHMpIHtcclxuXHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1tO1xyXG5cdH1cclxufVxyXG5cclxuaDR7XHJcblx0Zm9udC1zaXplOiAkZm9udC1zaXplLWQ7XHJcbn1cclxuXHJcbmg1LGg2e1xyXG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1kO1xyXG59XHJcblxyXG5we1xyXG5cdGZvbnQtc2l6ZTogZW0oMTYpO1xyXG5cdG1hcmdpbi1ib3R0b206IHJlbSgxNCk7XHJcblx0QGluY2x1ZGUgYnAoZGVza3RvcHhzKXtcclxuXHRcdGZvbnQtc2l6ZTogMWVtO1xyXG5cdH1cclxufVxyXG5cclxuaHIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fYmFja2dyb3VuZC1ocjtcclxuXHRib3JkZXI6IDA7XHJcblx0aGVpZ2h0OiAxcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMS41ZW07XHJcbn1cclxuXHJcbmRmbiwgY2l0ZSwgZW0sIGkge1xyXG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuYmxvY2txdW90ZSB7XHJcblx0bWFyZ2luOiAwIDEuNWVtO1xyXG59XHJcblxyXG5cclxuYWRkcmVzcyB7XHJcblx0bWFyZ2luOiAwIDAgMS41ZW07XHJcbn1cclxuXHJcbnByZSB7XHJcblx0YmFja2dyb3VuZDogJGNvbG9yX19iYWNrZ3JvdW5kLXByZTtcclxuXHRmb250LWZhbWlseTogJGZvbnRfX3ByZTtcclxuXHRAaW5jbHVkZSBmb250LXNpemUoMC45Mzc1KTtcclxuXHRsaW5lLWhlaWdodDogJGZvbnRfX2xpbmUtaGVpZ2h0LXByZTtcclxuXHRtYXJnaW4tYm90dG9tOiAxLjZlbTtcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0b3ZlcmZsb3c6IGF1dG87XHJcblx0cGFkZGluZzogMS42ZW07XHJcbn1cclxuXHJcbmNvZGUsIGtiZCwgdHQsIHZhciB7XHJcblx0Zm9udC1mYW1pbHk6ICRmb250X19jb2RlO1xyXG5cdEBpbmNsdWRlIGZvbnQtc2l6ZSgwLjkzNzUpO1xyXG59XHJcblxyXG5hYmJyLCBhY3JvbnltIHtcclxuXHRib3JkZXItYm90dG9tOiAxcHggZG90dGVkICRjb2xvcl9fYm9yZGVyLWFiYnI7XHJcblx0Y3Vyc29yOiBoZWxwO1xyXG59XHJcblxyXG5tYXJrLCBpbnMge1xyXG5cdGJhY2tncm91bmQ6ICRjb2xvcl9fYmFja2dyb3VuZC1pbnM7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG5iaWcge1xyXG5cdGZvbnQtc2l6ZTogMTI1JTtcclxufVxyXG5cclxuc21hbGwge1xyXG5cdGZvbnQtc2l6ZTogZW0oMTApO1xyXG59XHJcblxyXG5cclxuLy8gSGVscGVyIGZvbnQgY2xhc3Nlc1xyXG4uYWNjZW50IHtcclxuXHRmb250LXNpemU6IGVtKDE2KTtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHQmLnNtYWxsIHtcclxuXHRcdGZvbnQtc2l6ZTogZW0oMTIpO1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRtYXJnaW4tdG9wOiAxZW07XHJcblx0fVxyXG59XHJcblxyXG5cclxuIiwiLy8gUmVtIG91dHB1dCB3aXRoIHB4IGZhbGxiYWNrXHJcbkBtaXhpbiBmb250LXNpemUoJHNpemVWYWx1ZTogMSkge1xyXG5cdGZvbnQtc2l6ZTogKCRzaXplVmFsdWUgKiAxNikgKiAxcHg7XHJcblx0Zm9udC1zaXplOiAkc2l6ZVZhbHVlICogMXJlbTtcclxufVxyXG5cclxuLy8gQ2VudGVyIGJsb2NrXHJcbkBtaXhpbiBjZW50ZXItYmxvY2sge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdG1hcmdpbi1yaWdodDogYXV0bztcclxufVxyXG5cclxuLy8gQ2xlYXJmaXhcclxuQG1peGluIGNsZWFyZml4KCkge1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0ZGlzcGxheTogdGFibGU7XHJcblx0dGFibGUtbGF5b3V0OiBmaXhlZDtcclxufVxyXG5cclxuLy8gQ2xlYXIgYWZ0ZXIgKG5vdCBhbGwgY2xlYXJmaXggbmVlZCB0aGlzIGFsc28pXHJcbkBtaXhpbiBjbGVhcmZpeC1hZnRlcigpIHtcclxuXHRjbGVhcjogYm90aDtcclxufVxyXG5cclxuLy8gQ2VudGVyIGJsb2NrXHJcbkBtaXhpbiBjZW50ZXItYmxvY2sge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdG1hcmdpbi1yaWdodDogYXV0bztcclxufVxyXG5cclxuLy8gQ29sdW1uIHdpZHRoIHdpdGggbWFyZ2luXHJcbkBtaXhpbiBjb2x1bW4td2lkdGgoJG51bWJlckNvbHVtbnM6IDMpIHtcclxuXHR3aWR0aDogbWFwLWdldCgkY29sdW1ucywgJG51bWJlckNvbHVtbnMpIC0gKCAoICRjb2x1bW5zX19tYXJnaW4gKiAoICRudW1iZXJDb2x1bW5zIC0gMSApICkgLyAkbnVtYmVyQ29sdW1ucyApO1xyXG59XHJcbiIsIi8vICBEZWZpbmUgaGVyZSBHb29sZSBvciBDdXN0b20gRm9udHMgYW5kIGljb25zIGZhY2VzXHJcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBGb3IgR29vZ2xlIEZvbnRzIHVzZSAgaHR0cHM6Ly9nb29nbGUtd2ViZm9udHMtaGVscGVyLmhlcm9rdWFwcC5jb20vZm9udHNcclxuXHJcbi8qIHJvYm90by1yZWd1bGFyIC0gbGF0aW5fY3lyaWxsaWMgKi9cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogJ1JvYm90byc7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgc3JjOiBsb2NhbCgnJyksXHJcbiAgICAgICAgIHVybCgnLi4vZm9udHMvcm9ib3RvLXYzMC1sYXRpbl9jeXJpbGxpYy1yZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLCAvKiBDaHJvbWUgMjYrLCBPcGVyYSAyMyssIEZpcmVmb3ggMzkrICovXHJcbiAgICAgICAgIHVybCgnLi4vZm9udHMvcm9ib3RvLXYzMC1sYXRpbl9jeXJpbGxpYy1yZWd1bGFyLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTsgLyogQ2hyb21lIDYrLCBGaXJlZm94IDMuNissIElFIDkrLCBTYWZhcmkgNS4xKyAqL1xyXG4gIH1cclxuICAvKiByb2JvdG8tNzAwIC0gbGF0aW5fY3lyaWxsaWMgKi9cclxuICBAZm9udC1mYWNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJztcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBzcmM6IGxvY2FsKCcnKSxcclxuICAgICAgICAgdXJsKCcuLi9mb250cy9yb2JvdG8tdjMwLWxhdGluX2N5cmlsbGljLTcwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgLyogQ2hyb21lIDI2KywgT3BlcmEgMjMrLCBGaXJlZm94IDM5KyAqL1xyXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzL3JvYm90by12MzAtbGF0aW5fY3lyaWxsaWMtNzAwLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTsgLyogQ2hyb21lIDYrLCBGaXJlZm94IDMuNissIElFIDkrLCBTYWZhcmkgNS4xKyAqL1xyXG4gIH1cclxuIiwiaHRtbCB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuKixcclxuKjpiZWZvcmUsXHJcbio6YWZ0ZXIgeyAvKiBJbmhlcml0IGJveC1zaXppbmcgdG8gbWFrZSBpdCBlYXNpZXIgdG8gY2hhbmdlIHRoZSBwcm9wZXJ0eSBmb3IgY29tcG9uZW50cyB0aGF0IGxldmVyYWdlIG90aGVyIGJlaGF2aW9yOyBzZWUgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2UvICovXHJcbiAgYm94LXNpemluZzogaW5oZXJpdDtcclxufVxyXG5cclxuQGltcG9ydCBcImxpc3RzXCI7XHJcbkBpbXBvcnQgXCJ0YWJsZXNcIjtcclxuIiwidWwsIG9sIHtcclxuICBtYXJnaW46IDAgMCAxcmVtIDA7XHJcbiAgcGFkZGluZzogMCAwIDAgMXJlbTtcclxufVxyXG5cclxub2wge1xyXG4gIGxpc3Qtc3R5bGU6IGRlY2ltYWw7XHJcbn1cclxuXHJcbmxpID4gdWwsXHJcbmxpID4gb2wge1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgbWFyZ2luLWxlZnQ6IDEuNWVtO1xyXG59XHJcblxyXG5kdCB7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbmRkIHtcclxuICBtYXJnaW46IDAgMS41ZW0gMS41ZW07XHJcbn0iLCJ0YWJsZSB7XHJcbiAgbWFyZ2luOiAwIDAgMS41ZW07XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8vIFVzZSBmb3IgYWxsIHRhYmxlc1xyXG4udGFibGUtd3JhcHBlciB7XHJcbiAgb3ZlcmZsb3cteDogYXV0bztcclxuICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcclxufVxyXG5cclxuIiwiLy8gTWFwcy5cclxuLy8gVGhlIGNvbG9yIHZhcmlhYmxlcyBhcmUgZGVmaW5lZCBpbiB2YXJpYWJsZXMvX2NvbG9ycy5zY3NzLCBpbiBvcmRlciB0byBiZSBhdmFpbGFibGUgZXZlcnl3aGVyZVxyXG4kY29sb3I6IChcclxuICBncmV5LXRleHQ6ICRncmV5LXRleHQsXHJcbiAgZGFyay1ncmV5OiAkZGFyay1ncmV5LFxyXG4gIHdoaXRlOiAjRkZGRkZGLFxyXG4gIGJsYWNrOiAjMDAwMDAwLFxyXG4gIGdyZXktYmc6ICMwMDAwMDAwZCxcclxuICBibHVlOiAkYmx1ZVxyXG4pO1xyXG5cclxuQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkY29sb3Ige1xyXG4gIC5oYXMtI3skbmFtZX0tY29sb3Ige1xyXG4gICAgY29sb3I6ICR2YWx1ZTtcclxuICB9XHJcblxyXG4gIC5oYXMtI3skbmFtZX0tYmFja2dyb3VuZC1jb2xvciB7IFxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHZhbHVlOyAgXHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogRm9udCBzaXplcy5cclxuICpcclxuICogVHdvIHNldHMsIG9uY2UgZm9yIG1vYmlsZSBhbmQgb25lIGZvciBkZXNrdG9wLiBGZWVsIGZyZWUgdG8gYWRkIG9yIHJlbW92ZSBpZiBuZWVkZWRcclxuICovXHJcbiRmb250LXNpemU6IChcclxuICB4czogJGZvbnQtc2l6ZS14cy1tb2JpbGUsXHJcbiAgczogJGZvbnQtc2l6ZS1zLW1vYmlsZSxcclxuICBkOiAkZm9udC1zaXplLWQtbW9iaWxlLFxyXG4gIG06ICRmb250LXNpemUtbS1tb2JpbGUsXHJcbiAgbDogJGZvbnQtc2l6ZS1sLW1vYmlsZSxcclxuICB4bDogJGZvbnQtc2l6ZS14bC1tb2JpbGUsXHJcbiAgeHhsOiAkZm9udC1zaXplLXh4bC1tb2JpbGUsXHJcbiAgeHh4bDogJGZvbnQtc2l6ZS14eHhsLW1vYmlsZVxyXG4pO1xyXG5AZWFjaCAkbmFtZSwgJHZhbHVlIGluICRmb250LXNpemUge1xyXG4gIC5oYXMtI3skbmFtZX0tZm9udC1zaXplIHtcclxuICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbiRmb250LXNpemUtdGFibGV0OiAoXHJcbiAgeHM6ICRmb250LXNpemUteHMtdGFibGV0LFxyXG4gIHM6ICRmb250LXNpemUtcy10YWJsZXQsXHJcbiAgZDogJGZvbnQtc2l6ZS1kLXRhYmxldCxcclxuICBtOiAkZm9udC1zaXplLW0tdGFibGV0LFxyXG4gIGw6ICRmb250LXNpemUtbC10YWJsZXQsXHJcbiAgeGw6ICRmb250LXNpemUteGwtdGFibGV0LFxyXG4gIHh4bDogJGZvbnQtc2l6ZS14eGwtdGFibGV0LFxyXG4gIHh4eGw6ICRmb250LXNpemUteHh4bC10YWJsZXQsXHJcbik7XHJcblxyXG5AaW5jbHVkZSBicCh0YWJsZXQpe1xyXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGZvbnQtc2l6ZS10YWJsZXQge1xyXG4gICAgLmhhcy0jeyRuYW1lfS1mb250LXNpemUge1xyXG4gICAgICBmb250LXNpemU6ICR2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4kZm9udC1zaXplLWRlc2t0b3A6IChcclxuICB4czogJGZvbnQtc2l6ZS14cyxcclxuICBzOiAkZm9udC1zaXplLXMsXHJcbiAgZDogJGZvbnQtc2l6ZS1kLFxyXG4gIG06ICRmb250LXNpemUtbSxcclxuICBsOiAkZm9udC1zaXplLWwsXHJcbiAgeGw6ICRmb250LXNpemUteGwsXHJcbiAgeHhsOiAkZm9udC1zaXplLXh4bCxcclxuICB4eHhsOiAkZm9udC1zaXplLXh4eGwsXHJcbik7XHJcbkBpbmNsdWRlIGJwKGxhcHRvcHhzKXtcclxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRmb250LXNpemUtZGVza3RvcCB7XHJcbiAgICAuaGFzLSN7JG5hbWV9LWZvbnQtc2l6ZSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuIiwiLndwLWJsb2NrLWdyb3VwLmlzLXN0eWxlLXMtc2VjdGlvbi1wYWRkaW5ne1xyXG4gIHBhZGRpbmc6IHJlbSg0MCkgMDtcclxuICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpe1xyXG4gICAgcGFkZGluZzogcmVtKDYwKSAwO1xyXG4gIH1cclxufVxyXG5cclxuLndwLWJsb2NrLWdyb3VwLmlzLXN0eWxlLW0tc2VjdGlvbi1wYWRkaW5ne1xyXG4gIHBhZGRpbmc6IHJlbSg2MCkgMDtcclxuICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpe1xyXG4gICAgcGFkZGluZzogcmVtKDgwKSAwO1xyXG4gIH1cclxufVxyXG4ud3AtYmxvY2stZ3JvdXAuaXMtc3R5bGUtbC1zZWN0aW9uLXBhZGRpbmd7XHJcbiAgcGFkZGluZzogcmVtKDEwMCkgMDtcclxuICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpe1xyXG4gICAgcGFkZGluZzogcmVtKDEyMCkgMDtcclxuICB9XHJcbn0iLCJAaW1wb3J0IFwiZ3V0ZW5fZm9udF9jb2xvcl92YXJpYWJsZXNcIjsgLy8gSGVyZSBpcyB0aGUgbWFpbiBHdXRlbmJlcmcgRk9udHMgYW5kIGNvbG9ycyBjb25maWcsIG11c3QgbWltaWMgdGhlIHNldHRpbmdzIGluIGluYy9ndXRlbl9mb250X2NvbG9yX3ZhcmlhYmxlc1xyXG5AaW1wb3J0IFwiYmxvY2tfc3R5bGVzXCI7XHJcblxyXG5cclxuLndwLWJsb2NrLWNvdmVyLmFsaWduZnVsbHtcclxuICBwYWRkaW5nOiAwO1xyXG4gIC53cC1ibG9jay1jb3Zlcl9faW5uZXItY29udGFpbmVye1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy9TaW1wbGUgRmxleCBDb2x1bW5zLiBDYW4gYmUgbWFudWFsbHkgYWRkZWQgdG8gR3JvdXAgYmxvY2tzIGFuZCBpdCdzIGlubmVyIGJsb2Nrcy5cclxuJGNvbHVtbnMtZ2FwOiAwLjkzNzVyZW07XHJcbi5jb2x1bW5zIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBtYXJnaW4tbGVmdDogLSRjb2x1bW5zLWdhcDtcclxuICBtYXJnaW4tcmlnaHQ6IC0kY29sdW1ucy1nYXA7XHJcbiAgLmNvbHVtbiB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb2x1bW5zLWdhcDtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRjb2x1bW5zLWdhcDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAkY29sdW1ucy1nYXA7XHJcbiAgICBmbGV4OiAxIDEgMTAwJTtcclxuICAgIEBpbmNsdWRlIGJwKHRhYmxldCl7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAkY29sdW1ucy1nYXA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmdyaWRfMiB7XHJcbiAgICBAaW5jbHVkZSBicCh0YWJsZXQpe1xyXG4gICAgICAuY29sdW1ue1xyXG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJi5ncmlkXzMge1xyXG4gICAgQGluY2x1ZGUgYnAodGFibGV0KXtcclxuICAgICAgLmNvbHVtbntcclxuICAgICAgICB3aWR0aDogMzMuMzMzJTtcclxuICAgICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuZ3JpZF80IHtcclxuICAgIEBpbmNsdWRlIGJwKHRhYmxldCl7XHJcbiAgICAgIC5jb2x1bW57XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICBmbGV4OiAwIDAgNTAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicCh0YWJsZXRsYW5kc2NhcGUpe1xyXG4gICAgICAuY29sdW1ue1xyXG4gICAgICAgIHdpZHRoOiAyNSU7XHJcbiAgICAgICAgZmxleDogMCAwIDI1JTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmLmdyaWRfNSB7XHJcbiAgICBAaW5jbHVkZSBicCh0YWJsZXQpe1xyXG4gICAgICAuY29sdW1ue1xyXG4gICAgICAgIHdpZHRoOiAyMCU7XHJcbiAgICAgICAgZmxleDogMCAwIDIwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnAodGFibGV0bGFuZHNjYXBlKXtcclxuICAgICAgLmNvbHVtbntcclxuICAgICAgICB3aWR0aDogMjAlO1xyXG4gICAgICAgIGZsZXg6IDAgMCAyMCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5oYXMtZ3JlZW4tY29sb3Ige1xyXG4gIGNvbG9yOiAkYWNjZW50LWNvbG9yO1xyXG59IiwiYnV0dG9uLFxyXG4uYnV0dG9uLFxyXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxyXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXHJcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXHJcbi53cC1ibG9jay1idXR0b25fX2xpbmt7XHJcblx0Ym9yZGVyOiAwIG5vbmU7XHJcblx0Ym9yZGVyLXJhZGl1czogMS41NWVtO1xyXG5cdGJhY2tncm91bmQ6ICRjb2xvcl9fYmFja2dyb3VuZC1idXR0b247XHJcblx0Y29sb3I6ICRjb2xvcl9fdGV4dC1idXR0b247XHJcblx0Zm9udC1zaXplOiAxcmVtO1xyXG5cdHBhZGRpbmc6IC42NjdlbSAxLjMzM2VtO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyAkZWFzaW5nO1xyXG5cdCY6aG92ZXIge1xyXG5cdFx0YmFja2dyb3VuZDogJGJsdWU7XHJcblx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdH1cclxuXHJcblx0JjphY3RpdmUsXHJcblx0Jjpmb2N1cyB7XHJcblx0XHRiYWNrZ3JvdW5kOiAkYmx1ZTtcclxuXHR9XHJcblxyXG5cdCY6ZGlzYWJsZWQsXHJcblx0JltkaXNhYmxlZF0sXHJcblx0LmRpc2FibGVke1xyXG5cdFx0b3BhY2l0eTogMC40O1xyXG5cdFx0Y3Vyc29yOiBub3QtYWxsb3dlZDtcclxuXHR9XHJcbn1cclxuXHJcbi5idG4td2hpdGV7XHJcblx0QGV4dGVuZCAuYnV0dG9uO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuXHRjb2xvcjogJGFjY2VudC1jb2xvcjtcclxuXHRib3JkZXItcmFkaXVzOiByZW0oMzMpOyBcclxufVxyXG5cclxuLmlzLXN0eWxlLXdoaXRlLWJ0bntcclxuXHQud3AtYmxvY2stYnV0dG9uX19saW5rIHtcclxuXHRcdEBleHRlbmQgLmJ0bi13aGl0ZTtcclxuXHJcblx0XHQmOmhvdmVye1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcblx0XHRcdGNvbG9yOiAkYmx1ZTtcclxuXHRcdH1cclxuXHR9XHJcblx0XHJcbn1cclxuXHJcbi5idG4tZ3JlZW4ge1xyXG5cdEBleHRlbmQgLmJ1dHRvbjtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWNvbG9yO1xyXG5cdGNvbG9yOiAkd2hpdGU7XHJcblx0Ym9yZGVyLXJhZGl1czogcmVtKDMzKTtcclxuXHRcclxufVxyXG5cclxuLmlzLXN0eWxlLWZpbGx7XHJcblx0LndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XHJcblx0XHRAZXh0ZW5kIC5idG4tZ3JlZW47XHJcblx0fVxyXG59XHJcblxyXG4ud29vY29tbWVyY2UgYS53Yy1mb3J3YXJkLCAud29vY29tbWVyY2UtcGFnZSBidXR0b24uYnV0dG9ue1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3IhaW1wb3J0YW50O1xyXG5cdGNvbG9yOiAkd2hpdGUhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1yYWRpdXM6IHJlbSgzMykhaW1wb3J0YW50O1xyXG5cclxuXHQmOmhvdmVyIHtcclxuXHRcdGJhY2tncm91bmQ6ICRibHVlIWltcG9ydGFudDtcclxuXHRcdGNvbG9yOiAkd2hpdGUhaW1wb3J0YW50O1xyXG5cdH1cclxuXHJcblx0JjpmaXJzdC1vZi10eXBlIHtcclxuXHRcdG1hcmdpbi1yaWdodDogcmVtKDEwKTtcclxuXHR9XHJcbn1cclxuXHJcbi53b29jb21tZXJjZS1taW5pLWNhcnQtaXRlbSB7XHJcblx0aW1ne1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblxyXG5cdC5xdWFudGl0eSB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHR9XHJcbn1cclxuXHJcblxyXG4iLCJpbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxyXG5pbnB1dFt0eXBlPVwidXJsXCJdLFxyXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXHJcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXHJcbmlucHV0W3R5cGU9XCJudW1iZXJcIl0sXHJcbmlucHV0W3R5cGU9XCJ0ZWxcIl0sXHJcbmlucHV0W3R5cGU9XCJyYW5nZVwiXSxcclxuaW5wdXRbdHlwZT1cImRhdGVcIl0sXHJcbmlucHV0W3R5cGU9XCJtb250aFwiXSxcclxuaW5wdXRbdHlwZT1cIndlZWtcIl0sXHJcbmlucHV0W3R5cGU9XCJ0aW1lXCJdLFxyXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXHJcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcclxuaW5wdXRbdHlwZT1cImNvbG9yXCJdLFxyXG50ZXh0YXJlYSB7XHJcblx0Y29sb3I6ICRjb2xvcl9fdGV4dC1pbnB1dDtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfX2JvcmRlci1pbnB1dDtcclxuXHRwYWRkaW5nOiAzcHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdG1pbi1oZWlnaHQ6IDQwcHg7XHJcblx0dHJhbnNpdGlvbjogMzAwbXMgYWxsO1xyXG5cclxuXHQmOmZvY3VzIHtcclxuXHRcdGNvbG9yOiAkY29sb3JfX3RleHQtaW5wdXQtZm9jdXM7XHJcblx0XHR0cmFuc2l0aW9uOiAzMDBtcyBhbGw7XHJcblx0XHRvdXRsaW5lOiBub25lO1xyXG5cdH1cclxufVxyXG5cclxuc2VsZWN0IHtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAkY29sb3JfX2JvcmRlci1pbnB1dDtcclxuXHQvL2hlaWdodDogMi40Mzc1cmVtO1xyXG5cdC8vbWFyZ2luOiAwIDAgMXJlbTtcclxuXHQvLy13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuXHQvLy1tb3otYXBwZWFyYW5jZTogbm9uZTtcclxuXHQvL2FwcGVhcmFuY2U6IG5vbmU7XHJcblx0Ly9ib3JkZXItcmFkaXVzOiAwO1xyXG5cdC8vYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcclxuXHQvL2ZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG5cdC8vZm9udC1zaXplOiAxcmVtO1xyXG5cdC8vZm9udC13ZWlnaHQ6IDQwMDtcclxuXHQvL2xpbmUtaGVpZ2h0OiAxLjU7XHJcblx0Ly9jb2xvcjogIzBhMGEwYTtcclxuXHQvL2JhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogcmdiJTI4MTM4LCAxMzgsIDEzOCUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcclxuXHQvL2JhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcclxuXHQvL2JhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xcmVtIGNlbnRlcjtcclxuXHQvL2JhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0Ly9iYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XHJcblx0Ly9wYWRkaW5nOiAuNXJlbSAxLjVyZW0gLjVyZW0gLjVyZW07XHJcblx0Ly8td2Via2l0LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAuMjVzIGVhc2UtaW4tb3V0LCAtd2Via2l0LWJveC1zaGFkb3cgLjVzO1xyXG5cdC8vdHJhbnNpdGlvbjogYm94LXNoYWRvdyAuNXMsIGJvcmRlci1jb2xvciAuMjVzIGVhc2UtaW4tb3V0LCAtd2Via2l0LWJveC1zaGFkb3cgLjVzO1xyXG59XHJcblxyXG50ZXh0YXJlYSB7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8vIENvbnRhY3QgZm9ybSA3IHNwZWNpZmljIHN0eWxlc1xyXG4vLy53cGNmNyB7XHJcbi8vXHQud3BjZjctbGlzdC1pdGVtIHtcclxuLy9cdFx0YmFja2dyb3VuZDogJGNhdHNraWxsX3doaXRlO1xyXG4vL1x0XHRkaXNwbGF5OiB0YWJsZTtcclxuLy9cdFx0cGFkZGluZzogLjVyZW0gMXJlbTtcclxuLy9cdFx0bWFyZ2luLWJvdHRvbTogcmVtKDQpO1xyXG4vL1x0XHRtYXJnaW4tbGVmdDogMDtcclxuLy9cdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG4vL1x0fVxyXG4vL1x0LndwY2Y3LWxpc3QtaXRlbS1sYWJlbCB7XHJcbi8vXHRcdHBhZGRpbmc6IC4zcmVtO1xyXG4vL1x0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4vL1x0fVxyXG4vL1x0bGFiZWwge1xyXG4vL1x0XHRmb250LXNpemU6IHJlbSgxNCk7XHJcbi8vXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbi8vXHR9XHJcbi8vXHJcbi8vXHQud3BjZjctcmVzcG9uc2Utb3V0cHV0IHtcclxuLy9cdFx0cGFkZGluZzogMXJlbTtcclxuLy9cdFx0Ym9yZGVyLXdpZHRoOiAxcHg7XHJcbi8vXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcbi8vXHRcdCYud3BjZjctdmFsaWRhdGlvbi1lcnJvcnMge1xyXG4vL1x0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRyaWNoX2dvbGQ7XHJcbi8vXHRcdH1cclxuLy9cdH1cclxuLy99XHJcblxyXG4laXMtc3R5bGUtYWJiVHlwZS1saXN0IHtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGxpe1xyXG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHBhZGRpbmctbGVmdDogcmVtKDM2KTtcclxuXHRcdG1hcmdpbi1ib3R0b206IHJlbSgyMCk7XHJcblx0XHRmb250LXNpemU6ICRmb250LXNpemUtbC1tb2JpbGU7XHJcblx0XHJcblx0XHRAaW5jbHVkZSBicChsYXB0b3B4cykge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0oNDUpO1xyXG5cdFx0XHRmb250LXNpemU6ICRmb250LXNpemUtbDtcclxuXHRcdH1cclxuXHJcblx0XHQmOjptYXJrZXJ7XHJcblx0XHRcdG9wYWNpdHk6IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0Jjo6YmVmb3JlIHtcclxuXHRcdFx0Y29udGVudDogXCJcIjtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ljb25zL0NoZWNrLnN2ZycpOyAgXHJcblx0XHRcdHdpZHRoOiByZW0oMjYpO1xyXG5cdFx0XHRoZWlnaHQ6IHJlbSgyNik7XHJcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdHRvcDogcmVtKDUpO1xyXG5cdFx0ICB9XHJcblx0fVxyXG59XHJcblxyXG4uaXMtc3R5bGUtYWJiVHlwZS1saXN0IHtcclxuXHRAZXh0ZW5kICVpcy1zdHlsZS1hYmJUeXBlLWxpc3Q7XHJcbn1cclxuXHJcbi5rdC10YWItaW5uZXItY29udGVudCB7XHJcblx0cHtcclxuXHRcdG1hcmdpbi1ib3R0b206IHJlbSgzMCk7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnAobGFwdG9weHMpIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKDYwKTtcclxuXHRcdH1cclxuXHR9XHJcblx0dWx7XHJcblx0XHRAZXh0ZW5kICVpcy1zdHlsZS1hYmJUeXBlLWxpc3Q7XHJcblx0fVxyXG59XHJcblxyXG4ud3AtYmxvY2sta2FkZW5jZS10YWIge1xyXG5cdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiByZW0oNTApO1xyXG5cdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiByZW0oNTApO1xyXG5cdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHJlbSg1MCk7XHJcbn1cclxuIiwiLm1haW4tbmF2aWdhdGlvbiB7XHJcbiAgY2xlYXI6IGJvdGg7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgY29sb3I6ICR3aGl0ZTtcclxuXHJcbiAgLnNpdGUtbmF2LXdyYXB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIHVse1xyXG5cclxuICAgICYjcHJpbWFyeS1tZW51IHtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGJwKHRhYmxldGxhbmRzY2FwZSkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gIFxyXG4gICAgICAgIGxpIHtcclxuICBcclxuICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDE1KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2Utb3V0O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZGFyay1ncmV5O1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICRibHVlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicChsYXB0b3B4cykge1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oNDUpO1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcclxuICAgICAgICAgICAgfVxyXG4gIFxyXG4gICAgICAgICAgICAmOmFmdGVye1xyXG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICB0b3A6IDExMCU7XHJcbiAgICAgICAgICAgICAgbGVmdDogMTAwJTtcclxuICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuMnMgZWFzZS1vdXQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gIFxyXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogOTkxcHgpe1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiByZW0oMzIwKTtcclxuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICAgICAgei1pbmRleDogNTtcclxuICAgICAgICB0b3A6ICRoZWFkZXJfaGVpZ2h0X21vYmlsZTtcclxuICAgICAgICB0cmFuc2l0aW9uOiByaWdodCAuMnMgZWFzZS1pbjtcclxuICAgICAgICBwYWRkaW5nOiAwIHJlbSgzNSkgcmVtKDEwKTtcclxuICAgICAgICBib3gtc2hhZG93OiAtNnB4IDZweCA2cHggIzAwMDAwMDA4OyAgICAgICAgXHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgbWF4LWhlaWdodDogNjAwcHg7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgcGFkZGluZzogMC44ZW0gMDtcclxuICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IC4xNXMgLjE1cywgcGFkZGluZyAuMTVzIC4xNXMsIG1hcmdpbiAuMTVzIC4xNXM7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTYpO1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFQUVBRUE7XHJcbiAgICAgICAgICAmOmxhc3QtY2hpbGR7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDAgc29saWQgI0VBRUFFQTtcclxuICAgICAgICAgIH1cclxuICBcclxuICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZGFyay1ncmV5O1xyXG5cclxuICAgICAgICAgICAgOmhvdmVyIHtcclxuICAgICAgICAgICAgICBjb2xvcjogJGJsdWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9ICBcclxuICAgICAgfSAgXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKiBTbWFsbCBtZW51LiAqL1xyXG4ubWFpbi1uYXZpZ2F0aW9uLnRvZ2dsZWQgdWwjcHJpbWFyeS1tZW51IHtcclxuICBvcGFjaXR5OiAxO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7XHJcbn1cclxuXHJcbkBpbmNsdWRlIGJwKHRhYmxldGxhbmRzY2FwZSkge1xyXG5cclxuICAubWVudS10b2dnbGUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIC5tYWluLW5hdmlnYXRpb24gdWwge1xyXG4gICAgLy9kaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG59XHJcbi8vIEhhbWJ1cmdlciBJQ29uXHJcbi5oYW1idXJnZXIge1xyXG4gIHdpZHRoOiAzMnB4O1xyXG4gIGhlaWdodDogMjVweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gIHRyYW5zaXRpb246IC41cyBlYXNlLWluLW91dDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gIHNwYW4ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBoZWlnaHQ6IDVweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZDogJGRhcmstZ3JleTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICB0cmFuc2l0aW9uOiAuMjVzIGVhc2UtaW4tb3V0O1xyXG5cclxuICAgICY6bnRoLWNoaWxkKDEpIHtcclxuICAgICAgdG9wOiAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICB0b3A6IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJjpudGgtY2hpbGQoMykge1xyXG4gICAgICB0b3A6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgJi5vcGVuIHtcclxuXHJcbiAgICBzcGFuIHtcclxuICAgICAgJjpudGgtY2hpbGQoMSkge1xyXG4gICAgICAgIHRvcDogMTBweDtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICBsZWZ0OiAtNjBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpudGgtY2hpbGQoMykge1xyXG4gICAgICAgIHRvcDogMTBweDtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuIiwiLyogVGV4dCBtZWFudCBvbmx5IGZvciBzY3JlZW4gcmVhZGVycy4gKi9cclxuLnNjcmVlbi1yZWFkZXItdGV4dCB7XHJcblx0Ym9yZGVyOiAwO1xyXG5cdGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcclxuXHRjbGlwLXBhdGg6IGluc2V0KDUwJSk7XHJcblx0aGVpZ2h0OiAxcHg7XHJcblx0bWFyZ2luOiAtMXB4O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0cGFkZGluZzogMDtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuXHR3aWR0aDogMXB4O1xyXG5cdHdvcmQtd3JhcDogbm9ybWFsICFpbXBvcnRhbnQ7IC8qIE1hbnkgc2NyZWVuIHJlYWRlciBhbmQgYnJvd3NlciBjb21iaW5hdGlvbnMgYW5ub3VuY2UgYnJva2VuIHdvcmRzIGFzIHRoZXkgd291bGQgYXBwZWFyIHZpc3VhbGx5LiAqL1xyXG5cclxuXHQmOmZvY3VzIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvcl9fYmFja2dyb3VuZC1zY3JlZW47XHJcblx0XHRib3JkZXItcmFkaXVzOiAzcHg7XHJcblx0XHRib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7XHJcblx0XHRjbGlwOiBhdXRvICFpbXBvcnRhbnQ7XHJcblx0XHRjbGlwLXBhdGg6IG5vbmU7XHJcblx0XHRjb2xvcjogJGNvbG9yX190ZXh0LXNjcmVlbjtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0QGluY2x1ZGUgZm9udC1zaXplKDAuODc1KTtcclxuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdFx0bGVmdDogNXB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuXHRcdHBhZGRpbmc6IDE1cHggMjNweCAxNHB4O1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0dG9wOiA1cHg7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHRcdHotaW5kZXg6IDEwMDAwMDsgLyogQWJvdmUgV1AgdG9vbGJhci4gKi9cclxuXHR9XHJcbn1cclxuXHJcbi8qIERvIG5vdCBzaG93IHRoZSBvdXRsaW5lIG9uIHRoZSBza2lwIGxpbmsgdGFyZ2V0LiAqL1xyXG4jY29udGVudFt0YWJpbmRleD1cIi0xXCJdOmZvY3VzIHtcclxuXHRvdXRsaW5lOiAwO1xyXG59XHJcbiIsIi5hbGlnbmxlZnQge1xyXG5cdGRpc3BsYXk6IGlubGluZTtcclxuXHRmbG9hdDogbGVmdDtcclxuXHRtYXJnaW4tcmlnaHQ6IDEuNWVtO1xyXG59XHJcblxyXG4uYWxpZ25yaWdodCB7XHJcblx0ZGlzcGxheTogaW5saW5lO1xyXG5cdGZsb2F0OiByaWdodDtcclxuXHRtYXJnaW4tbGVmdDogMS41ZW07XHJcbn1cclxuXHJcbi5hbGlnbmNlbnRlciB7XHJcblx0Y2xlYXI6IGJvdGg7XHJcblx0QGluY2x1ZGUgY2VudGVyLWJsb2NrO1xyXG59XHJcblxyXG5cclxuLmFsaWduZnVsbCB7XHJcblx0bWFyZ2luLWxlZnQ6IGNhbGMoNTAlIC0gNTB2dyk7XHJcblx0bWFyZ2luLXJpZ2h0OiBjYWxjKDUwJSAtIDUwdncpO1xyXG5cdG1heC13aWR0aDogMTAwdnc7XHJcblx0d2lkdGg6IDEwMHZ3O1xyXG59XHJcblxyXG4uYWxpZ253aWRlIHtcclxuXHRtYXJnaW4tbGVmdDogY2FsYyg1MCUgLSA1MHZ3KTtcclxuXHRtYXJnaW4tcmlnaHQ6IGNhbGMoNTAlIC0gNTB2dyk7XHJcblx0bWF4LXdpZHRoOiAxMDB2dztcclxuXHR3aWR0aDogMTAwdnc7XHJcblx0cGFkZGluZy1sZWZ0OiBlbSgzMCk7XHJcblx0cGFkZGluZy1yaWdodDogZW0oMzApO1xyXG5cdEBpbmNsdWRlIGJwKHBob25leHNkb3duKXtcclxuXHRcdHBhZGRpbmctbGVmdDogZW0oMTUpO1xyXG5cdFx0cGFkZGluZy1yaWdodDogZW0oMTUpO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBicChsYXB0b3B4cyl7XHJcblx0XHRtYXJnaW4tbGVmdDogY2FsYyg1MCUgLSA2MDBweCk7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IGNhbGMoNTAlIC0gNjAwcHgpO1xyXG5cdFx0bWF4LXdpZHRoOiAgY2FsYygxMDAlIC0gODBweCk7XHJcblx0XHR3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdH1cclxuXHJcbn0iLCIuY2xlYXI6YmVmb3JlLFxyXG4uY2xlYXI6YWZ0ZXIsXHJcbi5lbnRyeS1jb250ZW50OmJlZm9yZSxcclxuLmVudHJ5LWNvbnRlbnQ6YWZ0ZXIsXHJcbi5jb21tZW50LWNvbnRlbnQ6YmVmb3JlLFxyXG4uY29tbWVudC1jb250ZW50OmFmdGVyLFxyXG4uc2l0ZS1oZWFkZXI6YmVmb3JlLFxyXG4uc2l0ZS1oZWFkZXI6YWZ0ZXIsXHJcbi5zaXRlLWNvbnRlbnQ6YmVmb3JlLFxyXG4uc2l0ZS1jb250ZW50OmFmdGVyLFxyXG4uc2l0ZS1mb290ZXI6YmVmb3JlLFxyXG4uc2l0ZS1mb290ZXI6YWZ0ZXIge1xyXG5cdEBpbmNsdWRlIGNsZWFyZml4O1xyXG59XHJcblxyXG4uY2xlYXI6YWZ0ZXIsXHJcbi5lbnRyeS1jb250ZW50OmFmdGVyLFxyXG4uY29tbWVudC1jb250ZW50OmFmdGVyLFxyXG4uc2l0ZS1oZWFkZXI6YWZ0ZXIsXHJcbi5zaXRlLWNvbnRlbnQ6YWZ0ZXIsXHJcbi5zaXRlLWZvb3RlcjphZnRlciB7XHJcblx0QGluY2x1ZGUgY2xlYXJmaXgtYWZ0ZXI7XHJcbn1cclxuIiwiLnBhZ2UtY29udGVudCAud3Atc21pbGV5LFxyXG4uZW50cnktY29udGVudCAud3Atc21pbGV5LFxyXG4uY29tbWVudC1jb250ZW50IC53cC1zbWlsZXkge1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdG1hcmdpbi10b3A6IDA7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxuLyogTWFrZSBzdXJlIGVtYmVkcyBhbmQgaWZyYW1lcyBmaXQgdGhlaXIgY29udGFpbmVycy4gKi9cclxuZW1iZWQsXHJcbmlmcmFtZSxcclxub2JqZWN0IHtcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbmltZyB7XHJcblx0aGVpZ2h0OiBhdXRvOyAvKiBNYWtlIHN1cmUgaW1hZ2VzIGFyZSBzY2FsZWQgY29ycmVjdGx5LiAqL1xyXG5cdG1heC13aWR0aDogMTAwJTsgLyogQWRoZXJlIHRvIGNvbnRhaW5lciB3aWR0aC4gKi9cclxufVxyXG5cclxuZmlndXJlIHtcclxuXHRtYXJnaW46IDFlbSAwOyAvKiBFeHRyYSB3aWRlIGltYWdlcyB3aXRoaW4gZmlndXJlIHRhZ3MgZG9uJ3Qgb3ZlcmZsb3cgdGhlIGNvbnRlbnQgYXJlYS4gKi9cclxufVxyXG5cclxuXHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiMjIENhcHRpb25zXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuQGltcG9ydCBcImNhcHRpb25zXCI7XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiMjIEdhbGxlcmllc1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbkBpbXBvcnQgXCJnYWxsZXJpZXNcIjtcclxuIiwiLndwLWNhcHRpb24ge1xyXG5cdG1hcmdpbi1ib3R0b206IDEuNWVtO1xyXG5cdG1heC13aWR0aDogMTAwJTtcclxuXHJcblx0aW1nW2NsYXNzKj1cIndwLWltYWdlLVwiXSB7XHJcblx0XHRAaW5jbHVkZSBjZW50ZXItYmxvY2s7XHJcblx0fVxyXG5cclxuXHQud3AtY2FwdGlvbi10ZXh0IHtcclxuXHRcdG1hcmdpbjogMC44MDc1ZW0gMDtcclxuXHR9XHJcbn1cclxuXHJcbi53cC1jYXB0aW9uLXRleHQge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG4iLCIuZ2FsbGVyeSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMS41ZW07XHJcbn1cclxuXHJcbi5nYWxsZXJ5LWl0ZW0ge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0dmVydGljYWwtYWxpZ246IHRvcDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHJcblx0Ly8gTG9vcHMgdG8gZW51bWVyYXRlIHRoZSBjbGFzc2VzIGZvciBnYWxsZXJ5IGNvbHVtbnMuXHJcblx0QGZvciAkaSBmcm9tIDIgdGhyb3VnaCA5IHtcclxuXHRcdC5nYWxsZXJ5LWNvbHVtbnMtI3skaX0gJiB7XHJcblx0XHRcdG1heC13aWR0aDogbWFwLWdldCggJGNvbHVtbnMsICRpICk7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uZ2FsbGVyeS1jYXB0aW9uIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxufVxyXG4iLCIkY29sdW1uczogKFxyXG4gICAgICAgIDE6IDEwMCUsXHJcbiAgICAgICAgMjogNTAlLFxyXG4gICAgICAgIDM6IDMzLjMzJSxcclxuICAgICAgICA0OiAyNSUsXHJcbiAgICAgICAgNTogMjAlLFxyXG4gICAgICAgIDY6IDE2LjY2JSxcclxuICAgICAgICA3OiAxNC4yOCUsXHJcbiAgICAgICAgODogMTIuNSUsXHJcbiAgICAgICAgOTogMTEuMTElXHJcbik7XHJcblxyXG4kY29sdW1uc19fbWFyZ2luOiAzLjglO1xyXG4iLCJcclxuLy8gVmlzaWJpbGl0eSBjbGFzc2VzXHJcbi5zaG93LXhzIHtcclxuICBAaW5jbHVkZSBicCh0YWJsZXQpIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4uaGlkZS14cyB7XHJcbiAgQGluY2x1ZGUgYnAodGFibGV0ZG93bikge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn0iXX0= */
