/*
Theme Name: AnswerDirect
Author: Anonymous
Author URI:
Version: 1
Description: AnswerDirect theme for Wordpress
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: answerdirect
Tags: one-column, two-columns
Theme URI:
*/
/*! normalize.css v8.0.1 | 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;
}

/**
   * Render the `main` element consistently in IE.
   */
main {
  display: block;
}

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

/* Grouping content
     ========================================================================== */
/**
   * 1. Add the correct box sizing in Firefox.
   * 2. Show the overflow in Edge and IE.
   */
hr {
  box-sizing: content-box;
  /* 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 */
  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 {
  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] {
  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;
}

@font-face {
  font-family: "icomoon";
  src: url("./fonts/icomoon.eot?1401vf");
  src: url("./fonts/icomoon.eot?1401vf#iefix") format("embedded-opentype"), url("./fonts/icomoon.ttf?1401vf") format("truetype"), url("./fonts/icomoon.woff?1401vf") format("woff"), url("./fonts/icomoon.svg?1401vf#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[class^=icon-],
[class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-caret-down:before {
  content: "\e900";
}

.icon-chevron-right:before {
  content: "\e901";
}

.icon-chevron-left:before {
  content: "\e902";
}

.icon-clock:before {
  content: "\e903";
}

.icon-marker:before {
  content: "\e904";
}

.icon-envelope:before {
  content: "\e905";
}

.icon-phone:before {
  content: "\e906";
}

.icon-facebook:before {
  content: "\e907";
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
}

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

* {
  max-height: 1000000px;
}

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

ul,
ol,
dl,
p,
h1,
h2,
h3,
h4,
h5,
h6,
address,
form,
table,
blockquote,
applet,
embed,
object,
iframe,
frameset {
  margin: 0 0 18px;
}

blockquote {
  border-left: 4px solid #ddd;
  padding-left: 10px;
  margin-left: 0;
}

table {
  border-collapse: collapse;
}

th,
td {
  border: 1px solid #ddd;
  padding: 3px;
  text-align: left;
  vertical-align: top;
}

th {
  text-align: center;
  vertical-align: middle;
}

ul,
ol {
  padding-left: 20px;
}

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

ul {
  list-style-type: disc;
}

dl dt {
  float: left;
  clear: left;
  padding-right: 0.3em;
  font-weight: bold;
}
dl dd {
  overflow: hidden;
}

pre {
  max-width: 100%;
  overflow: auto;
}

body {
  color: #000;
  background: #fff;
  font: 14px/1.7 "Heebo", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  min-width: 320px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
}
@media (min-width: 768px) {
  body {
    font-size: 14px;
    line-height: 1.7;
  }
}

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

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

@media (max-width: 991px) {
  iframe {
    width: 100%;
  }
}

.resize-active * {
  transition: none !important;
}

#primary-nav, [id=footer] ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

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

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

.df-row {
  display: flex;
  flex-wrap: wrap;
}
@media (min-width: 480px) {
  .df-row.df-rr-ph {
    flex-direction: row-reverse;
  }
}
@media (min-width: 480px) {
  .df-row.df-aic-ph {
    align-items: center;
  }
}
@media (min-width: 768px) {
  .df-row.df-rr-sm {
    flex-direction: row-reverse;
  }
}
@media (min-width: 768px) {
  .df-row.df-aic-sm {
    align-items: center;
  }
}
@media (min-width: 992px) {
  .df-row.df-rr-md {
    flex-direction: row-reverse;
  }
}
@media (min-width: 992px) {
  .df-row.df-aic-md {
    align-items: center;
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-1 {
    flex: 1 0 calc(100% / 12 * 1);
    max-width: calc(100% / 12 * 1);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-2 {
    flex: 1 0 calc(100% / 12 * 2);
    max-width: calc(100% / 12 * 2);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-3 {
    flex: 1 0 calc(100% / 12 * 3);
    max-width: calc(100% / 12 * 3);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-4 {
    flex: 1 0 calc(100% / 12 * 4);
    max-width: calc(100% / 12 * 4);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-5 {
    flex: 1 0 calc(100% / 12 * 5);
    max-width: calc(100% / 12 * 5);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-6 {
    flex: 1 0 calc(100% / 12 * 6);
    max-width: calc(100% / 12 * 6);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-7 {
    flex: 1 0 calc(100% / 12 * 7);
    max-width: calc(100% / 12 * 7);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-8 {
    flex: 1 0 calc(100% / 12 * 8);
    max-width: calc(100% / 12 * 8);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-9 {
    flex: 1 0 calc(100% / 12 * 9);
    max-width: calc(100% / 12 * 9);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-10 {
    flex: 1 0 calc(100% / 12 * 10);
    max-width: calc(100% / 12 * 10);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-11 {
    flex: 1 0 calc(100% / 12 * 11);
    max-width: calc(100% / 12 * 11);
  }
}
@media (min-width: 480px) {
  .df-row .col-ph-12 {
    flex: 1 0 calc(100% / 12 * 12);
    max-width: calc(100% / 12 * 12);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-0 {
    margin-left: calc(100% / 12 * 0);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-1 {
    margin-left: calc(100% / 12 * 1);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-2 {
    margin-left: calc(100% / 12 * 2);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-3 {
    margin-left: calc(100% / 12 * 3);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-4 {
    margin-left: calc(100% / 12 * 4);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-5 {
    margin-left: calc(100% / 12 * 5);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-6 {
    margin-left: calc(100% / 12 * 6);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-7 {
    margin-left: calc(100% / 12 * 7);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-8 {
    margin-left: calc(100% / 12 * 8);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-9 {
    margin-left: calc(100% / 12 * 9);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-10 {
    margin-left: calc(100% / 12 * 10);
  }
}
@media (min-width: 480px) {
  .df-row .col-offset-ph-11 {
    margin-left: calc(100% / 12 * 11);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-1 {
    flex: 1 0 calc(100% / 12 * 1);
    max-width: calc(100% / 12 * 1);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-2 {
    flex: 1 0 calc(100% / 12 * 2);
    max-width: calc(100% / 12 * 2);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-3 {
    flex: 1 0 calc(100% / 12 * 3);
    max-width: calc(100% / 12 * 3);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-4 {
    flex: 1 0 calc(100% / 12 * 4);
    max-width: calc(100% / 12 * 4);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-5 {
    flex: 1 0 calc(100% / 12 * 5);
    max-width: calc(100% / 12 * 5);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-6 {
    flex: 1 0 calc(100% / 12 * 6);
    max-width: calc(100% / 12 * 6);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-7 {
    flex: 1 0 calc(100% / 12 * 7);
    max-width: calc(100% / 12 * 7);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-8 {
    flex: 1 0 calc(100% / 12 * 8);
    max-width: calc(100% / 12 * 8);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-9 {
    flex: 1 0 calc(100% / 12 * 9);
    max-width: calc(100% / 12 * 9);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-10 {
    flex: 1 0 calc(100% / 12 * 10);
    max-width: calc(100% / 12 * 10);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-11 {
    flex: 1 0 calc(100% / 12 * 11);
    max-width: calc(100% / 12 * 11);
  }
}
@media (min-width: 768px) {
  .df-row .col-sm-12 {
    flex: 1 0 calc(100% / 12 * 12);
    max-width: calc(100% / 12 * 12);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-0 {
    margin-left: calc(100% / 12 * 0);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-1 {
    margin-left: calc(100% / 12 * 1);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-2 {
    margin-left: calc(100% / 12 * 2);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-3 {
    margin-left: calc(100% / 12 * 3);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-4 {
    margin-left: calc(100% / 12 * 4);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-5 {
    margin-left: calc(100% / 12 * 5);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-6 {
    margin-left: calc(100% / 12 * 6);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-7 {
    margin-left: calc(100% / 12 * 7);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-8 {
    margin-left: calc(100% / 12 * 8);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-9 {
    margin-left: calc(100% / 12 * 9);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-10 {
    margin-left: calc(100% / 12 * 10);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-sm-11 {
    margin-left: calc(100% / 12 * 11);
  }
}
@media (min-width: 992px) {
  .df-row .col-md-1 {
    flex: 1 0 calc(100% / 12 * 1);
    max-width: calc(100% / 12 * 1);
  }
}
@media (min-width: 992px) {
  .df-row .col-md-2 {
    flex: 1 0 calc(100% / 12 * 2);
    max-width: calc(100% / 12 * 2);
  }
}
@media (min-width: 992px) {
  .df-row .col-md-3 {
    flex: 1 0 calc(100% / 12 * 3);
    max-width: calc(100% / 12 * 3);
  }
}
@media (min-width: 992px) {
  .df-row .col-md-4 {
    flex: 1 0 calc(100% / 12 * 4);
    max-width: calc(100% / 12 * 4);
  }
}
@media (min-width: 992px) {
  .df-row .col-md-5 {
    flex: 1 0 calc(100% / 12 * 5);
    max-width: calc(100% / 12 * 5);
  }
}
@media (min-width: 992px) {
  .df-row .col-md-6 {
    flex: 1 0 calc(100% / 12 * 6);
    max-width: calc(100% / 12 * 6);
  }
}
@media (min-width: 992px) {
  .df-row .col-md-7 {
    flex: 1 0 calc(100% / 12 * 7);
    max-width: calc(100% / 12 * 7);
  }
}
@media (min-width: 992px) {
  .df-row .col-md-8 {
    flex: 1 0 calc(100% / 12 * 8);
    max-width: calc(100% / 12 * 8);
  }
}
@media (min-width: 992px) {
  .df-row .col-md-9 {
    flex: 1 0 calc(100% / 12 * 9);
    max-width: calc(100% / 12 * 9);
  }
}
@media (min-width: 992px) {
  .df-row .col-md-10 {
    flex: 1 0 calc(100% / 12 * 10);
    max-width: calc(100% / 12 * 10);
  }
}
@media (min-width: 992px) {
  .df-row .col-md-11 {
    flex: 1 0 calc(100% / 12 * 11);
    max-width: calc(100% / 12 * 11);
  }
}
@media (min-width: 992px) {
  .df-row .col-md-12 {
    flex: 1 0 calc(100% / 12 * 12);
    max-width: calc(100% / 12 * 12);
  }
}
@media (min-width: 992px) {
  .df-row .col-offset-md-0 {
    margin-left: calc(100% / 12 * 0);
  }
}
@media (min-width: 992px) {
  .df-row .col-offset-md-1 {
    margin-left: calc(100% / 12 * 1);
  }
}
@media (min-width: 992px) {
  .df-row .col-offset-md-2 {
    margin-left: calc(100% / 12 * 2);
  }
}
@media (min-width: 992px) {
  .df-row .col-offset-md-3 {
    margin-left: calc(100% / 12 * 3);
  }
}
@media (min-width: 992px) {
  .df-row .col-offset-md-4 {
    margin-left: calc(100% / 12 * 4);
  }
}
@media (min-width: 992px) {
  .df-row .col-offset-md-5 {
    margin-left: calc(100% / 12 * 5);
  }
}
@media (min-width: 992px) {
  .df-row .col-offset-md-6 {
    margin-left: calc(100% / 12 * 6);
  }
}
@media (min-width: 992px) {
  .df-row .col-offset-md-7 {
    margin-left: calc(100% / 12 * 7);
  }
}
@media (min-width: 992px) {
  .df-row .col-offset-md-8 {
    margin-left: calc(100% / 12 * 8);
  }
}
@media (min-width: 992px) {
  .df-row .col-offset-md-9 {
    margin-left: calc(100% / 12 * 9);
  }
}
@media (min-width: 992px) {
  .df-row .col-offset-md-10 {
    margin-left: calc(100% / 12 * 10);
  }
}
@media (min-width: 992px) {
  .df-row .col-offset-md-11 {
    margin-left: calc(100% / 12 * 11);
  }
}
@media (min-width: 768px) {
  .df-row {
    margin: 0 -15px;
  }
}

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

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

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

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

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

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

@media (min-width: 768px) {
  h1,
  .h1 {
    font-size: 40px;
  }
  h2,
  .h2 {
    font-size: 30px;
  }
  h3,
  .h3 {
    font-size: 28px;
  }
  h4,
  .h4 {
    font-size: 20px;
  }
  h5,
  .h5 {
    font-size: 18px;
  }
  h6,
  .h6 {
    font-size: 16px;
  }
}
@media (min-width: 992px) {
  h1,
  .h1 {
    font-size: 48px;
  }
  h2,
  .h2 {
    font-size: 34px;
  }
  h3,
  .h3 {
    font-size: 28px;
  }
  h4,
  .h4 {
    font-size: 24px;
  }
  h5,
  .h5 {
    font-size: 18px;
  }
  h6,
  .h6 {
    font-size: 16px;
  }
}
@media (min-width: 1200px) {
  h1,
  .h1 {
    font-size: 48px;
  }
  h2,
  .h2 {
    font-size: 34px;
  }
  h3,
  .h3 {
    font-size: 30px;
  }
  h4,
  .h4 {
    font-size: 24px;
  }
  h5,
  .h5 {
    font-size: 18px;
  }
  h6,
  .h6 {
    font-size: 16px;
  }
}
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6,
.h {
  font-family: "Heebo", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  color: inherit;
  font-weight: bold;
  margin: 0 0 10px;
}
@media (min-width: 768px) {
  h1,
  .h1,
  h2,
  .h2,
  h3,
  .h3,
  h4,
  .h4,
  h5,
  .h5,
  h6,
  .h6,
  .h {
    margin-bottom: 20px;
  }
}

h1 {
  font-family: "Playfair Display";
  font-weight: 700;
}

h2 {
  text-transform: uppercase;
  line-height: 1.3;
  color: #231F20;
}

p {
  margin: 0 0 20px;
}

a {
  color: #007bff;
  text-decoration: none;
  transition: 0.3s all;
}
a:hover, a:focus {
  color: #000;
  text-decoration: none;
}

a[href*="mailto:"] {
  word-wrap: break-word;
}

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

input[type=text],
input[type=tel],
input[type=email],
input[type=search],
input[type=password],
input[type=url],
textarea {
  -webkit-appearance: none;
  -webkit-border-radius: 0;
  padding: 10px 20px;
  font-size: 14px;
  line-height: 16px;
  font-family: "Heebo", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  box-sizing: border-box;
  border: 1px solid #000;
  border-radius: 4px;
}
input[type=text]:not(textarea),
input[type=tel]:not(textarea),
input[type=email]:not(textarea),
input[type=search]:not(textarea),
input[type=password]:not(textarea),
input[type=url]:not(textarea),
textarea:not(textarea) {
  height: 38px;
}
input[type=text]:focus,
input[type=tel]:focus,
input[type=email]:focus,
input[type=search]:focus,
input[type=password]:focus,
input[type=url]:focus,
textarea:focus {
  outline: none;
  border-color: #000;
}
input[type=text]::-webkit-input-placeholder,
input[type=tel]::-webkit-input-placeholder,
input[type=email]::-webkit-input-placeholder,
input[type=search]::-webkit-input-placeholder,
input[type=password]::-webkit-input-placeholder,
input[type=url]::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #ddd;
}
input[type=text]::-moz-placeholder,
input[type=tel]::-moz-placeholder,
input[type=email]::-moz-placeholder,
input[type=search]::-moz-placeholder,
input[type=password]::-moz-placeholder,
input[type=url]::-moz-placeholder,
textarea::-moz-placeholder {
  opacity: 1;
  color: #ddd;
}
input[type=text]:-moz-placeholder,
input[type=tel]:-moz-placeholder,
input[type=email]:-moz-placeholder,
input[type=search]:-moz-placeholder,
input[type=password]:-moz-placeholder,
input[type=url]:-moz-placeholder,
textarea:-moz-placeholder {
  color: #ddd;
}
input[type=text]:-ms-input-placeholder,
input[type=tel]:-ms-input-placeholder,
input[type=email]:-ms-input-placeholder,
input[type=search]:-ms-input-placeholder,
input[type=password]:-ms-input-placeholder,
input[type=url]:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #ddd;
}
input[type=text].placeholder,
input[type=tel].placeholder,
input[type=email].placeholder,
input[type=search].placeholder,
input[type=password].placeholder,
input[type=url].placeholder,
textarea.placeholder {
  color: #ddd;
}

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

textarea {
  resize: none;
  vertical-align: top;
  overflow: auto;
  height: 100px;
}

button,
input[type=button],
input[type=reset],
input[type=file],
input[type=submit] {
  -webkit-appearance: none;
  -webkit-border-radius: 0;
  height: 38px;
  padding: 10px 20px;
  font-size: 14px;
  line-height: 16px;
  color: #fff;
  outline: none;
  cursor: pointer;
  border: #000;
  border-radius: 0;
  background: #73C056;
  text-transform: uppercase;
  font-weight: 700;
  transition: 0.3s all;
}
button:hover,
input[type=button]:hover,
input[type=reset]:hover,
input[type=file]:hover,
input[type=submit]:hover {
  background: #2D813F;
  color: #fff;
}

.gform_wrapper .gform_title {
  display: none;
}
.gform_wrapper .gform_fields {
  grid-column-gap: 16px !important;
}
.gform_wrapper label {
  font-size: 14px !important;
  font-weight: 400 !important;
  margin-bottom: 0 !important;
}
.gform_wrapper textarea {
  height: 100px !important;
}
.gform_wrapper .gform_footer {
  text-align: center;
  padding-bottom: 0 !important;
}
.gform_wrapper .gform_footer input[type=submit] {
  min-width: 100px;
  margin: auto !important;
  line-height: 1.4 !important;
}
.gform_wrapper .validation_message {
  display: none !important;
}
.gform_wrapper .gform_validation_errors {
  margin-top: 0 !important;
  padding: 15px !important;
}
.gform_wrapper .gfield_required {
  display: none !important;
}

label {
  font-size: 14px;
  font-weight: 400;
}

#wpwrap input[type=text],
#wpwrap input[type=tel],
#wpwrap input[type=email],
#wpwrap input[type=search],
#wpwrap input[type=password],
#wpwrap input[type=url],
#wpwrap textarea {
  border: 1px solid #000 !important;
}

[id=header] {
  position: relative;
  z-index: 2;
}

.logo {
  width: 147px;
}
.logo img {
  width: 100%;
}

.header-top {
  background-color: #1A2854;
  padding: 10px 0;
}
@media (min-width: 768px) {
  .header-top {
    padding: 13px 0;
  }
}
.header-top .inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.header-top i {
  font-size: 20px;
}
.header-top a {
  color: #73C056;
  transition: 0.3s all;
}
.header-top a:hover {
  color: #2D813F;
}
.header-top .contact-links {
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}
@media (min-width: 768px) {
  .header-top .contact-links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
  }
}
.header-top .contact-links a {
  display: flex;
  align-items: center;
}
.header-top .contact-links a + a {
  margin: 10px 0 0;
}
@media (min-width: 768px) {
  .header-top .contact-links a + a {
    margin-left: 30px;
    margin-top: 0;
  }
}
.header-top .contact-links i {
  margin-right: 7px;
}
.header-top .login-links {
  display: flex;
  flex-direction: column;
  text-transform: uppercase;
  color: #fff;
  line-height: 1;
  text-align: right;
}
@media (min-width: 576px) {
  .header-top .login-links {
    flex-direction: row;
    font-size: 16px;
    align-items: center;
  }
}
.header-top .login-links a:last-child {
  color: #fff;
}
.header-top .login-links a:last-child:hover {
  color: #73C056;
}
.header-top .login-links a + a {
  margin: 10px 0 0;
}
@media (min-width: 576px) {
  .header-top .login-links a + a {
    margin-left: 30px;
    margin-top: 0;
  }
}

.header-main {
  padding: 16px 0;
}
.header-main .inner {
  display: flex;
  align-items: center;
}

[id=wrapper] {
  display: flex;
  flex-direction: column;
  width: 100%;
  background: #fff;
  overflow: hidden;
  min-height: 100vh;
}

main {
  flex-grow: 1;
}

.container {
  width: 100%;
  max-width: 1120px;
  padding: 0 15px;
  margin: 0 auto;
}

blockquote {
  font-family: "Montserrat";
}

[id=footer] {
  background: #000;
  color: #fff;
}
[id=footer] .container {
  max-width: 360px;
}
@media (min-width: 576px) {
  [id=footer] .container {
    max-width: 600px;
  }
}
@media (min-width: 768px) {
  [id=footer] .container {
    max-width: 1080px;
  }
}
@media (min-width: 768px) {
  [id=footer] .col-div {
    display: flex;
  }
}
[id=footer] .col-div:first-child {
  display: block;
  align-items: center;
}
@media (min-width: 992px) {
  [id=footer] .col-div:first-child {
    display: flex;
  }
}
[id=footer] .col-div:last-child {
  margin-left: auto;
}
.footer-main {
  padding: 57px 0 60px;
}
@media (min-width: 576px) {
  .footer-main .inner {
    display: flex;
  }
}

.col-logo {
  text-align: center;
}
@media (min-width: 992px) {
  .col-logo {
    margin-right: 20px;
  }
}
@media (min-width: 1200px) {
  .col-logo {
    margin-right: 43px;
  }
}

.footer-logo {
  width: 235px;
  margin: 0 auto 25px;
  text-align: center;
}
@media (min-width: 576px) {
  .footer-logo {
    margin: 0 0 25px;
  }
}

.soc-netw {
  display: flex;
  justify-content: center;
  font-size: 30px;
  color: #73C056;
}
.soc-netw a {
  color: inherit;
}
.soc-netw a:hover {
  color: #2D813F;
}

#footer-nav {
  font-size: 18px;
  text-transform: uppercase;
  color: #fff;
  text-align: center;
}
@media (min-width: 992px) {
  #footer-nav {
    text-align: left;
  }
}
#footer-nav .active a {
  color: #73C056;
}
#footer-nav li + li {
  margin-top: 13px;
}
#footer-nav a {
  color: inherit;
}
#footer-nav a:hover {
  color: #73C056;
}

.card-contact {
  color: #73C056;
  font-weight: 700;
}
.card-contact h4 {
  text-transform: uppercase;
  font-weight: 400;
  color: #fff;
  margin-bottom: 14px;
  line-height: 1.7;
  margin-bottom: 10px;
}
@media (max-width: 575px) {
  .card-contact h4 {
    text-align: center;
  }
}
.card-contact a {
  color: inherit;
}
.card-contact a:hover {
  color: #2D813F;
}
.card-contact address {
  font-style: normal;
  margin: 0;
}
.card-contact address p {
  margin: 0;
}
.card-contact time {
  color: #fff;
}
.card-contact address,
.card-contact time,
.card-contact .f-email,
.card-contact .f-phone {
  margin-top: 10px;
}

.col-contact {
  margin-left: auto;
}
@media (max-width: 575px) {
  .col-contact {
    max-width: 260px;
    margin: auto;
    margin-top: 25px;
  }
}
.col-contact + .col-contact {
  padding-top: 20px;
}
@media (min-width: 768px) {
  .col-contact + .col-contact {
    margin-left: 25px;
    padding-top: 0;
  }
}
@media (min-width: 1200px) {
  .col-contact + .col-contact {
    margin-left: 60px;
  }
}
.col-contact i {
  font-size: 20px;
  margin-right: 7px;
}
.col-contact p {
  margin: 0;
}
.col-contact address {
  display: flex;
}
.col-contact time,
.col-contact a {
  display: flex;
  align-items: center;
  line-height: 1;
}

.footer-bottom {
  padding: 5px 0;
  color: #fff;
  text-align: center;
}
.footer-bottom p {
  margin-bottom: 0;
}

.btn {
  background: #000;
  color: #fff;
  border: #000;
  border: #000;
  border-radius: 0;
  display: inline-block;
  font-size: 14px;
  line-height: 16px;
  padding: 12px 26px;
  vertical-align: top;
  text-align: center;
  text-transform: uppercase;
  font-weight: 700;
}
.btn:hover {
  background: black;
  color: #fff;
  border: black;
}
.btn-default {
  background: #000;
  color: #fff;
  border: #000;
}
.btn-default:hover {
  background: black;
  color: #fff;
  border: black;
}
.btn-primary {
  background: #007bff;
  color: #fff;
  border: #007bff;
}
.btn-primary:hover {
  background: #0062cc;
  color: #fff;
  border: #0062cc;
}
.btn-success {
  background: #73C056;
  color: #fff;
  border: #73C056;
}
.btn-success:hover {
  background: #2D813F;
  color: #fff;
  border: #73C056;
}
.btn-warning {
  background: #ffc107;
  color: #fff;
  border: #ffc107;
}
.btn-warning:hover {
  background: #d39e00;
  color: #fff;
  border: #d39e00;
}
.btn-sm {
  border-radius: 0;
  padding: 4px 10px;
}

.btn-group {
  margin: 0 -5px -10px;
  display: flex;
  flex-wrap: wrap;
}
.btn-group .btn {
  margin: 0 5px 10px;
}

.nav-opener {
  position: relative;
  width: 26px;
  height: 23px;
  font-size: 0;
  line-height: 0;
  background: transparent;
  padding: 0;
  margin-left: auto;
}
@media (min-width: 992px) {
  .nav-opener {
    display: none;
  }
}
.nav-opener:hover {
  background: transparent;
}
.nav-opener:before, .nav-opener:after,
.nav-opener span {
  background: #2D813F;
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  transition: 0.3s all;
}
.nav-opener:before, .nav-opener:after {
  content: "";
}
.nav-opener::before {
  top: 0;
}
.nav-opener:after {
  bottom: 0;
}
.nav-opener:hover {
  opacity: 0.9;
}
.nav-opener span {
  top: 50%;
  transform: translateY(-50%);
}
.nav-active .nav-opener span {
  opacity: 0;
}
.nav-active .nav-opener:before, .nav-active .nav-opener:after {
  content: "";
  top: 50%;
  background-color: #2D813F;
  width: 100%;
}
.nav-active .nav-opener:before {
  transform: rotate(45deg);
}
.nav-active .nav-opener:after {
  transform: rotate(-45deg);
  bottom: auto;
}

.main-nav {
  text-align: center;
}
@media (min-width: 992px) {
  .main-nav {
    display: flex;
    align-items: center;
    margin-left: auto;
  }
}
.nav-active .main-nav {
  transform: translateX(0);
  opacity: 1;
}
@media (max-width: 991px) {
  .main-nav {
    position: absolute;
    background: #fff;
    top: 0;
    right: 0;
    width: 100vw;
    padding: 20px 20px 60px 20px;
    height: 100vh;
    z-index: 10;
    transform: translateX(100%);
    opacity: 0;
    transition: 0.3s all;
  }
}
@media (max-width: 991px) and (min-width: 576px) {
  .main-nav {
    width: 70vw;
  }
}
@media (max-width: 991px) {
  .main-nav::after {
    content: "";
    position: absolute;
    width: 100vw;
    height: 100%;
    top: 0;
    right: 100%;
    z-index: -1;
    background: rgba(0, 0, 0, 0.6);
    pointer-events: none;
  }
}
.main-nav .nav-opener {
  display: block;
  margin-bottom: 30px;
  margin-left: auto;
}
@media (min-width: 992px) {
  .main-nav .nav-opener {
    display: none;
  }
}
.main-nav .nav-opener span {
  opacity: 0;
}
.main-nav .nav-opener:before, .main-nav .nav-opener:after {
  content: "";
  top: 50%;
  background-color: #2D813F;
  width: 100%;
}
.main-nav .nav-opener:before {
  transform: rotate(45deg);
}
.main-nav .nav-opener:after {
  transform: rotate(-45deg);
  bottom: auto;
}

#primary-nav {
  color: #231F20;
  font-size: 20px;
  line-height: 1;
}
@media (min-width: 992px) {
  #primary-nav {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    margin-right: 20px;
    font-size: 18px;
  }
}
#primary-nav li {
  margin: 0 0 20px;
}
@media (min-width: 992px) {
  #primary-nav li {
    margin-bottom: 0;
  }
}
@media (min-width: 992px) {
  #primary-nav li + li {
    margin-left: 20px;
    margin-bottom: 0;
  }
}
#primary-nav li.active {
  color: #73C056;
}
#primary-nav li a {
  color: inherit;
}
#primary-nav li a:hover {
  color: #73C056;
}

.page-title {
  text-align: right;
  background: linear-gradient(#536597, #1A2854);
  color: #fff;
  text-transform: uppercase;
  padding: 20px 0;
}
@media (min-width: 992px) {
  .page-title {
    padding: 40px 0;
  }
}
.page-title h1 {
  margin: 0;
  line-height: 1;
}

.section-img-content {
  background: #1A2854;
  color: #fff;
}
.section-img-content.reverse {
  background: #f3f3f3;
  color: #000;
}
.section-img-content.reverse h2 {
  color: #231f20;
}
.section-img-content.reverse .df-row {
  flex-direction: row-reverse;
}
@media (min-width: 768px) {
  .section-img-content.reverse .img {
    left: 0;
    right: auto;
  }
}
.section-img-content.section-form .df-row {
  align-items: center;
  padding: 0 0 50px 0;
  margin: 0;
  flex-direction: column-reverse;
}
@media (min-width: 768px) {
  .section-img-content.section-form .df-row {
    padding: 50px 0;
    flex-direction: row;
  }
}
@media (max-width: 767px) {
  .section-img-content.section-form .content {
    padding: 30px 0;
  }
}
@media (min-width: 992px) {
  .section-img-content.section-form .col-img {
    max-width: 410px;
    flex: 0 0 410px;
  }
}
.section-img-content.section-form input[type=text],
.section-img-content.section-form input[type=tel],
.section-img-content.section-form input[type=email],
.section-img-content.section-form input[type=search],
.section-img-content.section-form input[type=password],
.section-img-content.section-form input[type=url],
.section-img-content.section-form textarea {
  border: 1px solid #fff;
}
.section-img-content h2 {
  color: #fff;
}
.section-img-content .col-img {
  position: relative;
  width: 100%;
  z-index: 1;
}
@media (min-width: 768px) {
  .section-img-content .col-img {
    max-width: 50%;
    flex: 0 0 50%;
  }
}
@media (min-width: 992px) {
  .section-img-content .col-img {
    max-width: 462px;
    flex: 0 0 462px;
  }
}
.section-img-content .col-content {
  display: flex;
  align-items: center;
  flex: 1 0 0;
}
@media (min-width: 768px) {
  .section-img-content .col-content {
    min-height: 350px;
  }
}
@media (min-width: 1200px) {
  .section-img-content .col-content {
    min-height: 472px;
  }
}
.section-img-content .img {
  margin: 0 -15px;
}
@media (min-width: 768px) {
  .section-img-content .img {
    margin: 0;
    position: absolute;
    width: 55vw;
    height: 100%;
    right: 0;
  }
}
.section-img-content .img img {
  width: 100%;
}
@media (min-width: 768px) {
  .section-img-content .img img {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
}
.section-img-content .content {
  text-align: center;
  padding: 50px 20px;
  max-width: 625px;
  margin: auto;
}
.section-img-content ul {
  max-width: 245px;
  text-align: left;
  margin: 0 auto 25px;
}

.section-cta {
  padding: 30px 0;
  background: linear-gradient(#1A2854, #536597);
  text-align: center;
  color: #fff;
}
.section-cta h2 {
  color: #fff;
}
@media (min-width: 768px) {
  .section-cta {
    padding: 63px 0 60px;
  }
}
@media (min-width: 992px) {
  .section-cta p {
    margin-bottom: 38px;
  }
}

.section-content-list {
  counter-reset: section;
  padding: 40px 0;
}
@media (min-width: 768px) {
  .section-content-list {
    padding: 60px 0 75px;
  }
}
.section-content-list.dark {
  background-color: #1A2854;
}
.section-content-list.dark h2 {
  color: #fff;
}
.section-content-list.dark .list-content .item {
  background-color: #536597;
  color: #fff;
}
.section-content-list .container {
  max-width: 1090px;
}
.section-content-list h2 {
  text-align: center;
  color: #231F20;
  margin-bottom: 40px;
}
.section-content-list .list-content .item {
  display: flex;
  align-items: center;
  background-color: #F3F3F3;
  border-radius: 5px;
  color: #262626;
  padding: 15px;
  margin: 20px 0;
}
@media (min-width: 768px) {
  .section-content-list .list-content .item {
    padding: 29px 20px;
  }
}
.section-content-list .list-content .item:before {
  counter-increment: section;
  content: counter(section);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 20px;
  flex: 0 0 55px;
  min-width: 55px;
  height: 55px;
  border-radius: 50%;
  background-color: #1A2854;
  font-size: 30px;
  color: #fff;
  font-family: "Montserrat", sans-serif;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
@media (min-width: 768px) {
  .section-content-list .list-content .item:before {
    flex: 0 0 76px;
    min-width: 76px;
    height: 76px;
    margin-right: 36px;
    font-size: 52px;
  }
}
.section-content-list .list-content .item h3 {
  text-transform: uppercase;
  font-weight: 400;
  margin-bottom: 5px;
  line-height: 1.333333;
}
.section-content-list .list-content .item p {
  margin: 0;
}
.section-content-list .btn-holder {
  text-align: center;
  padding-top: 20px;
}

.section-team {
  text-align: center;
  justify-content: center;
  font-size: 18px;
  padding: 60px 0;
  background-color: #F5F5F5;
}
.section-team h2 {
  margin-bottom: 25px;
}
.section-team .df-row {
  justify-content: center;
  margin: 0 -10px;
}
.section-team [class*=col-] {
  padding: 50px 10px 0;
}
@media (min-width: 768px) {
  .section-team [class*=col-] {
    padding: 10px 10px 0;
  }
}
.section-team .card-team {
  text-transform: uppercase;
  width: 250px;
  margin: auto;
  color: #1A2854;
}
.section-team .card-team .img {
  position: relative;
  margin-bottom: 25px;
  width: 250px;
  height: 250px;
  overflow: hidden;
  border-radius: 50%;
}
.section-team .card-team .img img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.section-team .card-team p {
  margin-bottom: 0;
}

.section-carousel-tsmls {
  position: relative;
  padding: 60px 0;
  z-index: 1;
}
.section-carousel-tsmls:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, #F3F3F3 30%, transparent);
}
@media (min-width: 768px) {
  .section-carousel-tsmls:after {
    background: linear-gradient(to right, #F3F3F3 50%, transparent 90%);
  }
}
@media (min-width: 1200px) {
  .section-carousel-tsmls:after {
    background: linear-gradient(to right, #F3F3F3 55%, transparent);
  }
}
.section-carousel-tsmls h2 {
  margin-bottom: 25px;
}
@media (max-width: 767px) {
  .section-carousel-tsmls h2 {
    text-align: center;
  }
}
.section-carousel-tsmls .inner {
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  .section-carousel-tsmls .inner {
    padding-left: 40px;
  }
}
@media (min-width: 1300px) {
  .section-carousel-tsmls .inner {
    padding-left: 0;
  }
}
.section-carousel-tsmls img {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: -20% center;
}
@media (min-width: 576px) {
  .section-carousel-tsmls img {
    object-position: -100% center;
  }
}
@media (min-width: 1200px) {
  .section-carousel-tsmls img {
    object-fit: contain;
    object-position: right center;
  }
}
@media (min-width: 2000px) {
  .section-carousel-tsmls img {
    object-fit: cover;
    object-position: 20vw center;
  }
}
.section-carousel-tsmls .carousel-holder {
  position: relative;
  text-align: center;
}
@media (min-width: 768px) {
  .section-carousel-tsmls .carousel-holder {
    max-width: 530px;
    text-align: left;
  }
}
.section-carousel-tsmls figure {
  font-size: 16px;
  font-family: "Montserrat";
  line-height: 1.6;
  margin: 0;
}
@media (min-width: 768px) {
  .section-carousel-tsmls figure {
    font-size: 18px;
  }
}
.section-carousel-tsmls .figure-inner {
  max-width: 85%;
  margin: auto;
}
@media (min-width: 768px) {
  .section-carousel-tsmls .figure-inner {
    max-width: 485px;
    margin: 0;
  }
}
.section-carousel-tsmls blockquote {
  margin: 0 0 18px;
  padding: 0;
  border: 0;
  color: #1E1E1E;
}
.section-carousel-tsmls blockquote p {
  margin: 0;
}
.section-carousel-tsmls figcaption {
  font-weight: 700;
  color: #1E1E1E;
}
.section-carousel-tsmls .slick-arrow {
  padding: 0;
  background: transparent;
  color: #2D813F;
  font-size: 25px;
  position: absolute;
  top: 30%;
  transform: translateY(-50%);
  transition: 0.3s all;
}
@media (min-width: 768px) {
  .section-carousel-tsmls .slick-arrow {
    font-size: 32px;
  }
}
.section-carousel-tsmls .slick-arrow:hover {
  color: #73C056;
}
.section-carousel-tsmls .slick-prev {
  left: 0;
}
@media (min-width: 768px) {
  .section-carousel-tsmls .slick-prev {
    left: -40px;
  }
}
@media (min-width: 1366px) {
  .section-carousel-tsmls .slick-prev {
    left: -120px;
  }
}
.section-carousel-tsmls .slick-next {
  right: 0;
}
@media (min-width: 1366px) {
  .section-carousel-tsmls .slick-next {
    right: -70px;
  }
}

.section-icons {
  text-align: center;
  padding: 60px 0 45px;
}
.section-icons .df-row {
  justify-content: center;
}
.section-icons h2 {
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .section-icons h2 {
    margin-bottom: 40px;
  }
}
.section-icons h2 + p {
  margin-left: auto;
  margin-right: auto;
  max-width: 600px;
  margin-bottom: 40px;
}
.section-icons [class*=col-] {
  max-width: 50%;
  flex: 0 0 50%;
  padding: 0 15px 15px;
}
@media (min-width: 768px) {
  .section-icons [class*=col-] {
    max-width: 33.333333%;
    flex: 0 0 33.3333333%;
  }
}
.section-icons .icons-holder {
  max-width: 800px;
  margin: auto;
}
.section-icons .icons-holder + .btn {
  margin-top: 45px;
  margin-bottom: 15px;
}

.card-icon {
  color: #1A2854;
  text-transform: uppercase;
  font-size: 14px;
}
@media (min-width: 480px) {
  .card-icon {
    font-size: 16px;
  }
}
@media (min-width: 768px) {
  .card-icon {
    font-size: 18px;
  }
}
.card-icon .img + p {
  margin: 15px 0 0;
}
.card-icon a {
  color: #1A2854;
  transition: 0.3s all;
}
.card-icon a:hover {
  opacity: 0.8;
}

.section-acc {
  padding: 60px 0;
}
.section-acc h2 {
  text-align: center;
  margin-bottom: 25px;
}

.acc-item {
  box-shadow: 0 3px 6px rgba(0, 33, 62, 0.15);
  border-radius: 5px;
  margin-bottom: 15px;
  cursor: pointer;
  transition: 0.3s all;
  background: #F8F8F9;
}
.acc-item:hover {
  box-shadow: 0 3px 6px rgba(0, 33, 62, 0.5);
}
.acc-item p {
  margin-bottom: 0;
}
.acc-item .slide {
  padding: 0 20px 20px;
}
.acc-item .opener {
  position: relative;
  display: block;
  color: #536597;
  font-size: 16px;
  padding: 20px 40px 20px 20px;
}
@media (min-width: 768px) {
  .acc-item .opener {
    font-size: 18px;
  }
}
.acc-item .opener i {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transform-origin: top;
  right: 20px;
  font-size: 10px;
  transition: 0.3s all;
}
.acc-item.active i {
  transform: rotate(-180deg) translateY(-50%);
}

.section-title-btn {
  text-align: center;
  padding: 0 0 60px;
}
.section-title-btn h2 {
  text-align: center;
  margin-bottom: 25px;
}

.section-card-icons {
  padding: 60px 0 40px 0;
}
.section-card-icons h2 {
  margin-bottom: 25px;
  text-align: center;
}
.section-card-icons h2 + p {
  margin-bottom: 40px;
  text-align: center;
}
.section-card-icons .df-row {
  margin: 0 -8px;
}
.section-card-icons [class*=col-] {
  padding: 0 8px 20px;
  max-width: 100%;
  flex: 0 0 100%;
  display: flex;
}
@media (min-width: 576px) {
  .section-card-icons [class*=col-] {
    max-width: 50%;
    flex: 0 0 50%;
  }
}
@media (min-width: 768px) {
  .section-card-icons [class*=col-] {
    max-width: 33.3333333%;
    flex: 0 0 33.3333333%;
  }
}
.section-card-icons [class*=col-]:last-child {
  max-width: 100%;
  flex: 0 0 100%;
}

.card-icon-text {
  background-color: #F3F3F3;
  padding: 15px;
  text-align: center;
  width: 100%;
}
.card-icon-text .img {
  margin-bottom: 15px;
}
.card-icon-text strong {
  display: block;
  margin-bottom: 10px;
  font-weight: 400;
  text-transform: uppercase;
  font-size: 16px;
  line-height: 1.4;
  color: #1A2854;
}
@media (min-width: 992px) {
  .card-icon-text strong {
    font-size: 18px;
  }
}
.card-icon-text p {
  text-align: left;
  margin-bottom: 10px;
}
.card-icon-text a {
  color: #73C056;
  text-transform: uppercase;
}
.card-icon-text a:hover {
  color: #2D813F;
}

.section-title-image .df-row {
  margin: 0;
  flex-direction: column-reverse;
}
@media (min-width: 768px) {
  .section-title-image .df-row {
    flex-direction: row;
  }
}
@media (min-width: 768px) {
  .section-title-image .df-row:nth-child(even) {
    flex-direction: row-reverse;
  }
}
.section-title-image .df-row:nth-child(even) .img .img-inner {
  left: auto;
  right: 0;
}
.section-title-image .title {
  max-width: 100%;
  flex: 0 0 100%;
  text-align: center;
  line-height: 1.3;
  padding: 25px 15px;
}
@media (min-width: 768px) {
  .section-title-image .title {
    max-width: 50%;
    flex: 0 0 50%;
    padding: 60px 15px;
  }
}
.section-title-image .img {
  position: relative;
  max-width: 100%;
  flex: 0 0 100%;
}
@media (min-width: 768px) {
  .section-title-image .img {
    max-width: 50%;
    flex: 0 0 50%;
  }
}
.section-title-image .img .img-inner {
  position: relative;
  margin: 0;
  margin: 0 -15px;
  height: 250px;
  left: 0;
  overflow: hidden;
}
@media (min-width: 768px) {
  .section-title-image .img .img-inner {
    position: absolute;
    width: 50vw;
    height: 100%;
    margin: 0;
    top: 0;
    bottom: 0;
  }
}
.section-title-image .img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.section-title-image h3 {
  font-weight: 400;
  color: #231F20;
  text-transform: uppercase;
  max-width: 495px;
  margin: 0 auto;
}
@media (min-width: 992px) {
  .section-title-image h3 {
    font-size: 30px;
  }
}
.section-title-image h3 strong {
  font-weight: 400;
  color: #536597;
  margin-right: 4px;
}

.section-hero {
  position: relative;
  z-index: 1;
}
.section-hero img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.section-hero .inner {
  position: relative;
  text-align: center;
  z-index: 1;
  font-size: 18px;
  color: #231F20;
  text-transform: uppercase;
  line-height: 1;
  min-height: 440px;
  padding: 25px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  max-width: 377px;
}
@media (min-width: 768px) {
  .section-hero .inner {
    max-width: 500px;
    font-size: 22px;
    min-height: 540px;
  }
}
@media (min-width: 1200px) {
  .section-hero .inner {
    font-size: 32px;
    max-width: 620px;
    min-height: 638px;
  }
}
.section-hero .inner p {
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .section-hero .inner p {
    margin-bottom: 30px;
  }
}
.section-hero h1 {
  font-size: 30px;
  letter-spacing: -0.012em;
}
@media (min-width: 768px) {
  .section-hero h1 {
    font-size: 45px;
  }
}
@media (min-width: 1200px) {
  .section-hero h1 {
    font-size: 55px;
  }
}
.section-hero h2 {
  font-size: 20px;
  letter-spacing: -0.012em;
  margin: 0 0 5px 0;
}
@media (min-width: 768px) {
  .section-hero h2 {
    font-size: 24px;
  }
}
@media (min-width: 1200px) {
  .section-hero h2 {
    font-size: 34px;
  }
}
.section-hero h3 {
  font-size: 25px;
  letter-spacing: -0.012em;
  font-family: "Playfair Display";
  margin: 0 0 20px 0;
}
@media (min-width: 768px) {
  .section-hero h3 {
    font-size: 30px;
    margin: 0 0 50px 0;
  }
}
@media (min-width: 1200px) {
  .section-hero h3 {
    font-size: 40px;
    margin: 0 0 70px 0;
  }
}

.section-inner {
  padding: 60px 0;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCJ2ZW5kb3JzL19ub3JtYWxpemUuc2NzcyIsInZlbmRvcnMvX2ljb25tb29uLnNjc3MiLCJ2ZW5kb3JzL19zbGljay5zY3NzIiwiYmFzZS9fYmFzZS5zY3NzIiwiYWJzdHJhY3RzL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9pbmNsdWRlLW1lZGlhL2Rpc3QvX2luY2x1ZGUtbWVkaWEuc2NzcyIsImJhc2UvX2hlbHBlcnMuc2NzcyIsImFic3RyYWN0cy9fbWl4aW5zLnNjc3MiLCJhYnN0cmFjdHMvX2Z1bmN0aW9ucy5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwiYmFzZS9fZm9ybXMuc2NzcyIsImxheW91dC9faGVhZGVyLnNjc3MiLCJsYXlvdXQvX2NvbW1vbi5zY3NzIiwibGF5b3V0L19mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiY29tcG9uZW50cy9fbmF2LW9wZW5lci5zY3NzIiwiY29tcG9uZW50cy9fbWFpbi1uYXYuc2NzcyIsImNvbXBvbmVudHMvX3BhZ2UtdGl0bGUuc2NzcyIsInNlY3Rpb25zL19pbWFnZS10aXRsZS5zY3NzIiwic2VjdGlvbnMvX2N0YS5zY3NzIiwic2VjdGlvbnMvX2NvbnRlbnQtbGlzdC5zY3NzIiwic2VjdGlvbnMvX3RlYW0uc2NzcyIsInNlY3Rpb25zL19jYXJvdXNlbC10c21scy5zY3NzIiwic2VjdGlvbnMvX2ljb25zLnNjc3MiLCJzZWN0aW9ucy9fYWNjb3JkaW9uLnNjc3MiLCJzZWN0aW9ucy9fdGl0bGUtYnRuLnNjc3MiLCJzZWN0aW9ucy9fY2FyZC1pY29ucy5zY3NzIiwic2VjdGlvbnMvX3RpdGxlLWltYWdlLnNjc3MiLCJzZWN0aW9ucy9faGVyby5zY3NzIiwic2VjdGlvbnMvX2lubmVyLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FDRkE7QUFFQTtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNJO0FBQ0E7RUFDQTtBQUNBOzs7QUFHSjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUE7RUFDSTs7O0FBR0o7QUFBQTtBQUFBO0FBSUE7RUFDSTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNJO0VBQ0E7OztBQUdKO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0k7QUFDQTtFQUNBO0FBQ0E7RUFDQTtBQUNBOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0k7QUFDQTtFQUNBO0FBQ0E7OztBQUdKO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNJOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0k7QUFDQTtFQUNBO0FBQ0E7RUFDQTtBQUNBOzs7QUFHSjtBQUFBO0FBQUE7QUFJQTtBQUFBO0VBRUk7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0VBR0k7QUFDQTtFQUNBO0FBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUlBO0VBQ0k7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtFQUVJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUE7RUFDSTs7O0FBR0o7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUtJO0FBQ0E7RUFDQTtBQUNBO0VBQ0E7QUFDQTtFQUNBO0FBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUVJO0VBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtBQUVJO0VBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0VBSUk7OztBQUdKO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFBQTtBQUFBO0VBSUk7RUFDQTs7O0FBR0o7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7RUFJSTs7O0FBR0o7QUFBQTtBQUFBO0FBSUE7RUFDSTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBT0E7RUFDSTtBQUNBO0VBQ0E7QUFDQTtFQUNBO0FBQ0E7RUFDQTtBQUNBO0VBQ0E7QUFDQTtFQUNBO0FBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUlBO0VBQ0k7OztBQUdKO0FBQUE7QUFBQTtBQUlBO0VBQ0k7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBS0E7QUFBQTtFQUVJO0FBQ0E7RUFDQTtBQUNBOzs7QUFHSjtBQUFBO0FBQUE7QUFJQTtBQUFBO0VBRUk7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDSTtBQUNBO0VBQ0E7QUFDQTs7O0FBR0o7QUFBQTtBQUFBO0FBSUE7RUFDSTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNJO0FBQ0E7RUFDQTtBQUNBOzs7QUFHSjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUE7RUFDSTs7O0FBR0o7QUFBQTtBQUFBO0FBSUE7RUFDSTs7O0FBR0o7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUlBO0VBQ0k7OztBQUdKO0FBQUE7QUFBQTtBQUlBO0VBQ0k7OztBQ3pYSjtFQUNDO0VBQ0E7RUFDQTtFQUlBO0VBQ0E7RUFDQTs7QUFHRDtBQUFBO0FBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQUVBO0VBQ0E7RUFDQTs7O0FBR0Q7RUFDQzs7O0FBR0Q7RUFDQzs7O0FBR0Q7RUFDQzs7O0FBR0Q7RUFDQzs7O0FBR0Q7RUFDQzs7O0FBR0Q7RUFDQzs7O0FBR0Q7RUFDQzs7O0FBR0Q7RUFDQzs7O0FDekREO0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTs7O0FBR1I7QUFBQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBRUk7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7OztBQUdSO0VBQ0k7RUFDQTtFQUNBO0VBV0E7O0FBVkE7RUFDSTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7O0FBS0o7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdSO0VBQ0k7OztBQ2xHSjtFQUNJO0VBQ0E7OztBQUdKO0FBQUE7QUFBQTtFQUdJOzs7QUFHSjtFQUNJOzs7QUFJSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFZSTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUFtQkk7OztBQUdKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtBQUFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7QUFBQTtFQUVJOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtFQUlJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7O0FBSVI7RUFDSTtFQUNBOzs7QUFHSjtFQUNJLE9DbEdJO0VEbUdKLFlDOUdJO0VEK0dKO0VBQ0EsV0NiYTtFRGNiO0VBQ0E7RUFDQTs7QUVxYkE7RUY1Yko7SUFVUSxXQ3RCZTtJRHVCZixhQ3RCaUI7Ozs7QUQyQnpCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0k7OztBRW1hQTtFRmhhSjtJQUVROzs7O0FBSVI7RUFDSTs7O0FHbkpKO0VBQ0k7RUFDQTtFQUNBOzs7QUFLQTtFQUNJO0VBQ0E7RUFDQTs7O0FBc0RSO0VBQ0k7QUFDQTtFQUNBO0FBQ0E7RUFDQTs7O0FBR0o7RUFJSTtFQUNBOztBRDhkQTtFRXBPSTtJQUVROzs7QUZrT1o7RUU5Tkk7SUFFUTs7O0FGNE5aO0VFcE9JO0lBRVE7OztBRmtPWjtFRTlOSTtJQUVROzs7QUY0Tlo7RUVwT0k7SUFFUTs7O0FGa09aO0VFOU5JO0lBRVE7OztBRjROWjtFRWhOUTtJQUVRO0lBQ0E7OztBRjZNaEI7RUVoTlE7SUFFUTtJQUNBOzs7QUY2TWhCO0VFaE5RO0lBRVE7SUFDQTs7O0FGNk1oQjtFRWhOUTtJQUVRO0lBQ0E7OztBRjZNaEI7RUVoTlE7SUFFUTtJQUNBOzs7QUY2TWhCO0VFaE5RO0lBRVE7SUFDQTs7O0FGNk1oQjtFRWhOUTtJQUVRO0lBQ0E7OztBRjZNaEI7RUVoTlE7SUFFUTtJQUNBOzs7QUY2TWhCO0VFaE5RO0lBRVE7SUFDQTs7O0FGNk1oQjtFRWhOUTtJQUVRO0lBQ0E7OztBRjZNaEI7RUVoTlE7SUFFUTtJQUNBOzs7QUY2TWhCO0VFaE5RO0lBRVE7SUFDQTs7O0FGNk1oQjtFRXZNUTtJQUVROzs7QUZxTWhCO0VFdk1RO0lBRVE7OztBRnFNaEI7RUV2TVE7SUFFUTs7O0FGcU1oQjtFRXZNUTtJQUVROzs7QUZxTWhCO0VFdk1RO0lBRVE7OztBRnFNaEI7RUV2TVE7SUFFUTs7O0FGcU1oQjtFRXZNUTtJQUVROzs7QUZxTWhCO0VFdk1RO0lBRVE7OztBRnFNaEI7RUV2TVE7SUFFUTs7O0FGcU1oQjtFRXZNUTtJQUVROzs7QUZxTWhCO0VFdk1RO0lBRVE7OztBRnFNaEI7RUV2TVE7SUFFUTs7O0FGcU1oQjtFRWhOUTtJQUVRO0lBQ0E7OztBRjZNaEI7RUVoTlE7SUFFUTtJQUNBOzs7QUY2TWhCO0VFaE5RO0lBRVE7SUFDQTs7O0FGNk1oQjtFRWhOUTtJQUVRO0lBQ0E7OztBRjZNaEI7RUVoTlE7SUFFUTtJQUNBOzs7QUY2TWhCO0VFaE5RO0lBRVE7SUFDQTs7O0FGNk1oQjtFRWhOUTtJQUVRO0lBQ0E7OztBRjZNaEI7RUVoTlE7SUFFUTtJQUNBOzs7QUY2TWhCO0VFaE5RO0lBRVE7SUFDQTs7O0FGNk1oQjtFRWhOUTtJQUVRO0lBQ0E7OztBRjZNaEI7RUVoTlE7SUFFUTtJQUNBOzs7QUY2TWhCO0VFaE5RO0lBRVE7SUFDQTs7O0FGNk1oQjtFRXZNUTtJQUVROzs7QUZxTWhCO0VFdk1RO0lBRVE7OztBRnFNaEI7RUV2TVE7SUFFUTs7O0FGcU1oQjtFRXZNUTtJQUVROzs7QUZxTWhCO0VFdk1RO0lBRVE7OztBRnFNaEI7RUV2TVE7SUFFUTs7O0FGcU1oQjtFRXZNUTtJQUVROzs7QUZxTWhCO0VFdk1RO0lBRVE7OztBRnFNaEI7RUV2TVE7SUFFUTs7O0FGcU1oQjtFRXZNUTtJQUVROzs7QUZxTWhCO0VFdk1RO0lBRVE7OztBRnFNaEI7RUV2TVE7SUFFUTs7O0FGcU1oQjtFRWhOUTtJQUVRO0lBQ0E7OztBRjZNaEI7RUVoTlE7SUFFUTtJQUNBOzs7QUY2TWhCO0VFaE5RO0lBRVE7SUFDQTs7O0FGNk1oQjtFRWhOUTtJQUVRO0lBQ0E7OztBRjZNaEI7RUVoTlE7SUFFUTtJQUNBOzs7QUY2TWhCO0VFaE5RO0lBRVE7SUFDQTs7O0FGNk1oQjtFRWhOUTtJQUVRO0lBQ0E7OztBRjZNaEI7RUVoTlE7SUFFUTtJQUNBOzs7QUY2TWhCO0VFaE5RO0lBRVE7SUFDQTs7O0FGNk1oQjtFRWhOUTtJQUVRO0lBQ0E7OztBRjZNaEI7RUVoTlE7SUFFUTtJQUNBOzs7QUY2TWhCO0VFaE5RO0lBRVE7SUFDQTs7O0FGNk1oQjtFRXZNUTtJQUVROzs7QUZxTWhCO0VFdk1RO0lBRVE7OztBRnFNaEI7RUV2TVE7SUFFUTs7O0FGcU1oQjtFRXZNUTtJQUVROzs7QUZxTWhCO0VFdk1RO0lBRVE7OztBRnFNaEI7RUV2TVE7SUFFUTs7O0FGcU1oQjtFRXZNUTtJQUVROzs7QUZxTWhCO0VFdk1RO0lBRVE7OztBRnFNaEI7RUV2TVE7SUFFUTs7O0FGcU1oQjtFRXZNUTtJQUVROzs7QUZxTWhCO0VFdk1RO0lBRVE7OztBRnFNaEI7RUV2TVE7SUFFUTs7O0FGcU1oQjtFQ25lSjtJQVFROzs7O0FFZ0VRO0FBQUE7RUFFSTs7O0FBRko7QUFBQTtFQUVJOzs7QUFGSjtBQUFBO0VBRUk7OztBQUZK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QVNFOzs7QUFJRjtFQUNDOztBQUVBO0VBQ0MsT1R2R1U7O0FTMkdaO0VBRUM7RUFDQTs7QUFFQTtFQUNDOztBQUlGO0VBQ0MsT1QzSk07O0FTOEpQO0FBQUE7QUFBQTtBQUFBO0VBSUM7OztBQUlGO0VBQ0M7O0FSaVlHO0VRbFlKO0lBSUU7SUFDQTtJQUNBOzs7QUFHRDtFQUNDOztBUndYRTtFUXpYSDtJQUlFO0lBQ0E7OztBUm9YQztFUXpYSDtJQVNFOzs7QUFJRjtFQUNDO0VBQ0E7O0FBR0Q7RUFDQzs7QUFHRDtFQUNDOztBQUdEO0FBQUE7RUFFQztFQUNBO0VBQ0E7OztBQUlGO0VBQ0M7RUFDQSxPVG5OTztFU29OUDs7QUFFQTtFQUNDOzs7QUN6TkY7RVB1VEksWUgxU0k7RUcyU0osT0h0VEk7RUd1VEosUUg1U0k7RVVYSixRVldJO0VVVkosZVZxR1U7RVVwR1Y7RUFDQSxXVjhLWTtFVTdLWixhVjhLYztFVTdLZCxTVjBLVTtFVXpLVjtFQUNBO0VBQ0g7RUFDQTs7QVBnVEc7RUFDSSxZSGxJZTtFR21JZixPSDNUQTtFRzRUQSxRSHBJZTs7QVU3S25CO0VQMFNBLFlIMVNJO0VHMlNKLE9IdFRJO0VHdVRKLFFINVNJOztBRzhTSjtFQUNJLFlIbEllO0VHbUlmLE9IM1RBO0VHNFRBLFFIcEllOztBVXpLbkI7RVBzU0EsWUh6Ukc7RUcwUkgsT0h0VEk7RUd1VEosUUgzUkc7O0FHNlJIO0VBQ0ksWUh6SHVCO0VHMEh2QixPSDNUQTtFRzRUQSxRSDNIdUI7O0FVOUs5QjtFUGtTRyxZSGpSSTtFR2tSSixPSHRUSTtFR3VUSixRSG5SSTs7QUdxUko7RUFDSSxZSHJSSztFR3NSTCxPSDNUQTtFRzRUQSxRSHhSQTs7QVViSjtFUDhSQSxZSGxSSztFR21STCxPSHRUSTtFR3VUSixRSHBSSzs7QUdzUkw7RUFDSSxZSGhIdUI7RUdpSHZCLE9IM1RBO0VHNFRBLFFIbEh1Qjs7QVUvSzNCO0VBQ0ksZVYyRVk7RVUxRVo7OztBQUlSO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7OztBQzVDUjtFQUNDO0VBQ0E7RUFD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NWlCSDtJQUtFOzs7QXRCdWlCQztFc0JwaUJGO0lBRUU7OztBQUlBO0VBQ0M7RUFDQTs7QUFNSjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0F0QmloQkU7RXNCdGhCSDtJQVFFO0lBQ0E7SUFDQTs7O0FBSUY7RUFDQztFQUNBO0VBQ0E7O0F0QnFnQkU7RXNCeGdCSDtJQU1FO0lBQ0E7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBdEJ3ZkM7RXNCOWZGO0lBU0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFLRjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlGO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QXRCMmRFO0VzQmhlSDtJQVFFOzs7QUFHRDtFQUNDO0VBQ0E7RUFDQTs7O0FDM0ZIO0VBQ0M7RUFDQTs7QUFHQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QXZCZ2hCRTtFdUI5aEJIO0lBaUJFO0lBQ0E7SUFDQTs7O0F2QjJnQkM7RXVCOWhCSDtJQXVCRTtJQUNBO0lBQ0E7OztBQUdEO0VBQ0M7O0F2QmlnQkM7RXVCbGdCRjtJQUlFOzs7QUFNSDtFQUNDO0VBQ0E7O0F2QnNmRTtFdUJ4Zkg7SUFLRTs7O0F2Qm1mQztFdUJ4Zkg7SUFTRTs7O0FBSUY7RUFDQztFQUNBO0VBQ0E7O0F2QndlRTtFdUIzZUg7SUFNRTs7O0F2QnFlQztFdUIzZUg7SUFXRTs7O0FBSUY7RUFDQztFQUNBO0VBQ0E7RUFDQTs7QXZCd2RFO0V1QjVkSDtJQU9FO0lBQ0E7OztBdkJvZEM7RXVCNWRIO0lBWUU7SUFDQTs7OztBQzlGSDtFQUNDIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEBpbXBvcnQgJ2Jhc2Utd3AvaGVhZC13cCc7XG5AY2hhcnNldCBcIlVURi04XCI7XG4vKlxuVGhlbWUgTmFtZTogQW5zd2VyRGlyZWN0XG5BdXRob3I6IEFub255bW91c1xuQXV0aG9yIFVSSTpcblZlcnNpb246IDFcbkRlc2NyaXB0aW9uOiBBbnN3ZXJEaXJlY3QgdGhlbWUgZm9yIFdvcmRwcmVzc1xuTGljZW5zZTogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjIgb3IgbGF0ZXJcbkxpY2Vuc2UgVVJJOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sXG5UZXh0IERvbWFpbjogYW5zd2VyZGlyZWN0XG5UYWdzOiBvbmUtY29sdW1uLCB0d28tY29sdW1uc1xuVGhlbWUgVVJJOlxuKi9cblxuXG4vLyBkZXZpY2VzIHZpZXdwb3J0IHdpZHRoIHN0YXJ0cyBhdDpcbiRicmVha3BvaW50czogKFxuICAgIHhzLXBob25lOiAzMjBweCxcbiAgICBwaG9uZTogNDgwcHgsXG4gICAgdGFibGV0OiA3NjhweCxcbiAgICBkZXNrdG9wOiA5OTJweCxcbiAgICB3aWRlc2NyZWVuOiAxMjAwcHhcbik7XG5cbi8vIGtleXdvcmRzXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcbiAgICAnc2NyZWVuJzogJ3NjcmVlbicsXG4gICAgJ3ByaW50JzogJ3ByaW50JyxcbiAgICAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxuICAgICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcbiAgICAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxuICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpLCAobWluLXJlc29sdXRpb246IDE0NGRwaSknLFxuICAgICdyZXRpbmEzeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLjUpLCAobWluLXJlc29sdXRpb246IDI0MGRwaSknXG4pO1xuXG4vLyBsaWdhdHVyZWQgb3BlcmF0b3JzIOKJpSDiiaRcblxuLy8gMS4gQ29uZmlndXJhdGlvbiBhbmQgaGVscGVyc1xuQGltcG9ydCAnYWJzdHJhY3RzL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdhYnN0cmFjdHMvZnVuY3Rpb25zJztcbkBpbXBvcnQgJ2Fic3RyYWN0cy9taXhpbnMnO1xuXG4vLyAyLiBWZW5kb3JzOiBpbmNsdWRlIG1lZGlhIG1peGlucyBhbmQgbW9ybWFsaXplIGltcG9ydGVkIGZyb20gbm9kZV9tb2R1bGVzXG5AaW1wb3J0ICd2ZW5kb3JzL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICd2ZW5kb3JzL2ljb25tb29uJztcbkBpbXBvcnQgJ3ZlbmRvcnMvc2xpY2snO1xuQGltcG9ydCAnfmluY2x1ZGUtbWVkaWEvZGlzdC9pbmNsdWRlLW1lZGlhJztcblxuLy8gMy4gQmFzZSBzdHlsZXMgYW5kIGVsZW1lbnRzXG5AaW1wb3J0ICdiYXNlL2Jhc2UnO1xuQGltcG9ydCAnYmFzZS9oZWxwZXJzJztcbkBpbXBvcnQgJ2Jhc2UvZm9udHMnO1xuQGltcG9ydCAnYmFzZS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Jhc2UvZm9ybXMnO1xuLy8gQGltcG9ydCAnYmFzZS93ZWJfYWNjZXNzaWJpbGl0eSc7XG5cbi8vIGJhc2UgV1Bcbi8vIEBpbXBvcnQgJ2Jhc2Utd3AvY21zLXJlc2V0Jztcbi8vIEBpbXBvcnQgJ2Jhc2Utd3Avd3AtcmVzZXQnO1xuXG4vLyA0LiBMYXlvdXQtcmVsYXRlZCBzZWN0aW9uc1xuXG5AaW1wb3J0ICdsYXlvdXQvaGVhZGVyJztcbkBpbXBvcnQgJ2xheW91dC9jb21tb24nO1xuQGltcG9ydCAnbGF5b3V0L2Zvb3Rlcic7XG5cbi8vIDUuIENvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbmF2LW9wZW5lcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL21haW4tbmF2JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnZS10aXRsZSc7XG5cbi8vIDYuIHNlY3Rpb25cbkBpbXBvcnQgJ3NlY3Rpb25zL2ltYWdlLXRpdGxlJztcbkBpbXBvcnQgJ3NlY3Rpb25zL2N0YSc7XG5AaW1wb3J0ICdzZWN0aW9ucy9jb250ZW50LWxpc3QnO1xuQGltcG9ydCAnc2VjdGlvbnMvdGVhbSc7XG5AaW1wb3J0ICdzZWN0aW9ucy9jYXJvdXNlbC10c21scyc7XG5AaW1wb3J0ICdzZWN0aW9ucy9pY29ucyc7XG5AaW1wb3J0ICdzZWN0aW9ucy9hY2NvcmRpb24nO1xuQGltcG9ydCAnc2VjdGlvbnMvdGl0bGUtYnRuJztcbkBpbXBvcnQgJ3NlY3Rpb25zL2NhcmQtaWNvbnMnO1xuQGltcG9ydCAnc2VjdGlvbnMvdGl0bGUtaW1hZ2UnO1xuQGltcG9ydCAnc2VjdGlvbnMvaGVybyc7XG5AaW1wb3J0ICdzZWN0aW9ucy9pbm5lcic7XG4vLyA2LiBQYWdlLXNwZWNpZmljIHN0eWxlc1xuLy8gQGltcG9ydCAncGFnZXMvaG9tZSc7XG5cbi8vIDcuIFRoZW1lc1xuLy8gQGltcG9ydCAndGhlbWVzL3RoZW1lcyc7IiwiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAgIC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbmJvZHkge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gICAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICAgKi9cblxubWFpbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAqL1xuXG5oMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAqL1xuXG5ociB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgLyogMSAqL1xuICAgIGhlaWdodDogMDtcbiAgICAvKiAxICovXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgLyogMiAqL1xufVxuXG4vKipcbiAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxucHJlIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gICAgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gICAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICovXG5cbmEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIC8qIDEgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAvKiAyICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAgIC8qIDIgKi9cbn1cblxuLyoqXG4gICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgICAvKiAxICovXG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgLyogMiAqL1xufVxuXG4vKipcbiAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICogYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuc3ViLFxuc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAgICovXG5cbmltZyB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3Jtc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAgICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICAvKiAxICovXG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgLyogMSAqL1xuICAgIG1hcmdpbjogMDtcbiAgICAvKiAyICovXG59XG5cbi8qKlxuICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICovXG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgICAvKiAxICovXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICAgKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgICAvKiAxICovXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICAgKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgKi9cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICAgKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAqL1xuXG5maWVsZHNldCB7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxubGVnZW5kIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC8qIDEgKi9cbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAvKiAyICovXG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgLyogMSAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiAxICovXG4gICAgcGFkZGluZzogMDtcbiAgICAvKiAzICovXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAvKiAxICovXG59XG5cbi8qKlxuICAgKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgKi9cblxucHJvZ3Jlc3Mge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICAgKi9cblxudGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gICAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAgICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIC8qIDIgKi9cbn1cblxuLyoqXG4gICAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAgICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICAvKiAxICovXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gICAgLyogMiAqL1xufVxuXG4vKipcbiAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAgIC8qIDEgKi9cbiAgICBmb250OiBpbmhlcml0O1xuICAgIC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAgICovXG5cbmRldGFpbHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG5zdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAgICovXG5cbnRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gICAqL1xuXG5baGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn0iLCJAZm9udC1mYWNlIHtcblx0Zm9udC1mYW1pbHk6IFwiaWNvbW9vblwiO1xuXHRzcmM6IHVybChcIi4vZm9udHMvaWNvbW9vbi5lb3Q/MTQwMXZmXCIpO1xuXHRzcmM6IHVybChcIi4vZm9udHMvaWNvbW9vbi5lb3Q/MTQwMXZmI2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuXHRcdHVybChcIi4vZm9udHMvaWNvbW9vbi50dGY/MTQwMXZmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxuXHRcdHVybChcIi4vZm9udHMvaWNvbW9vbi53b2ZmPzE0MDF2ZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxuXHRcdHVybChcIi4vZm9udHMvaWNvbW9vbi5zdmc/MTQwMXZmI2ljb21vb25cIikgZm9ybWF0KFwic3ZnXCIpO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGZvbnQtZGlzcGxheTogYmxvY2s7XG59XG5cbltjbGFzc149XCJpY29uLVwiXSxcbltjbGFzcyo9XCIgaWNvbi1cIl0ge1xuXHQvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xuXHRmb250LWZhbWlseTogXCJpY29tb29uXCIgIWltcG9ydGFudDtcblx0c3BlYWs6IG5ldmVyO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdGZvbnQtdmFyaWFudDogbm9ybWFsO1xuXHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0bGluZS1oZWlnaHQ6IDE7XG5cblx0LyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4uaWNvbi1jYXJldC1kb3duOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG59XG5cbi5pY29uLWNoZXZyb24tcmlnaHQ6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXGU5MDFcIjtcbn1cblxuLmljb24tY2hldnJvbi1sZWZ0OmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxlOTAyXCI7XG59XG5cbi5pY29uLWNsb2NrOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxlOTAzXCI7XG59XG5cbi5pY29uLW1hcmtlcjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcZTkwNFwiO1xufVxuXG4uaWNvbi1lbnZlbG9wZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcZTkwNVwiO1xufVxuXG4uaWNvbi1waG9uZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcZTkwNlwiO1xufVxuXG4uaWNvbi1mYWNlYm9vazpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcZTkwN1wiO1xufVxuIiwiLyogU2xpZGVyICovXG5cbi5zbGljay1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5kcmFnZ2luZyBpbWcge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnNsaWNrLXZlcnRpY2FsICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufSIsImh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xufVxuXG4qLFxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG4qIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAwMDAwcHg7XG59XG5cbi8vLSBIVE1MNSBkaXNwbGF5LXJvbGUgcmVzZXQgZm9yIG9sZGVyIGJyb3dzZXJzXG5tYWluLFxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tZW51LFxubmF2LFxuc2VjdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbnVsLFxub2wsXG5kbCxcbnAsXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5hZGRyZXNzLFxuZm9ybSxcbnRhYmxlLFxuYmxvY2txdW90ZSxcbmFwcGxldCxcbmVtYmVkLFxub2JqZWN0LFxuaWZyYW1lLFxuZnJhbWVzZXQge1xuICAgIG1hcmdpbjogMCAwICR2ZXJ0aWNhbC1yaHl0aG07XG59XG5cbmJsb2NrcXVvdGUge1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgJGdyYXk7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG50YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxudGgsXG50ZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXk7XG4gICAgcGFkZGluZzogM3B4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxudGgge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG51bCxcbm9sIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG5cbnVsIHVsLFxudWwgb2wsXG5vbCB1bCxcbm9sIG9sIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgbWFyZ2luOiAwO1xufVxuXG51bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xufVxuXG5kbCB7XG4gICAgQGV4dGVuZCAlY2xlYXJmaXg7XG5cbiAgICBkdCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC4zZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIGRkIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG59XG5cbnByZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG5ib2R5IHtcbiAgICBjb2xvcjogJGJhc2UtdGV4dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiAkYmFzZS1iYWNrZ3JvdW5kLWJvZHk7XG4gICAgZm9udDogI3skZm9udC1zaXplLWJhc2V9LyN7JGxpbmUtaGVpZ2h0LWJhc2V9ICRiYXNlLWZvbnQtZmFtaWx5O1xuICAgIG1pbi13aWR0aDogJGJhc2UtbWluLXdpZHRoO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UtbGFncmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZS1sYWdyZTtcbiAgICB9XG59XG5cbi8vIGFkYXB0aXZlIGltYWdlc1xuaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vLyBnb29nbGUgbWFwIGZpeFxuLmdtLXN0eWxlIGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xufVxuXG5pZnJhbWUge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8ZGVza3RvcCcpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4ucmVzaXplLWFjdGl2ZSAqIHtcbiAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59IiwiLy8gQ29sb3JzXG4vLyBDb2xvciBjYWxjdWxhdG9yIC0gaHR0cDovL3Jhem9yamFtLmdpdGh1Yi5pby9zYXNzY29sb3VyZnVuY3Rpb25jYWxjdWxhdG9yL1xuLy8gQ29sb3IgbmFtZXMgLSBodHRwOi8vbmFtZS1vZi1jb2xvci5jb20vXG4vLyBDb2xvciBzeXN0ZW1cblxuJHdoaXRlOiAjZmZmICFkZWZhdWx0O1xuJGdyYXk6ICNkZGQgIWRlZmF1bHQ7XG4kZ3JheS0xMDA6ICNmOGY5ZmEgIWRlZmF1bHQ7XG4kZ3JheS0yMDA6ICNlOWVjZWYgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICNkZWUyZTYgIWRlZmF1bHQ7XG4kZ3JheS00MDA6ICNjZWQ0ZGEgIWRlZmF1bHQ7XG4kZ3JheS01MDA6ICNhZGI1YmQgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICM2Yzc1N2QgIWRlZmF1bHQ7XG4kZ3JheS03MDA6ICM0OTUwNTcgIWRlZmF1bHQ7XG4kZ3JheS04MDA6ICMzNDNhNDAgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICMyMTI1MjkgIWRlZmF1bHQ7XG4kYmxhY2s6ICMwMDAgIWRlZmF1bHQ7XG5cbiRncmF5czogKFxuICAgICkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGdyYXlzOiBtYXAtbWVyZ2UoKFwiMTAwXCI6ICRncmF5LTEwMCxcbiAgICAgICAgICAgIFwiMjAwXCI6ICRncmF5LTIwMCxcbiAgICAgICAgICAgIFwiMzAwXCI6ICRncmF5LTMwMCxcbiAgICAgICAgICAgIFwiNDAwXCI6ICRncmF5LTQwMCxcbiAgICAgICAgICAgIFwiNTAwXCI6ICRncmF5LTUwMCxcbiAgICAgICAgICAgIFwiNjAwXCI6ICRncmF5LTYwMCxcbiAgICAgICAgICAgIFwiNzAwXCI6ICRncmF5LTcwMCxcbiAgICAgICAgICAgIFwiODAwXCI6ICRncmF5LTgwMCxcbiAgICAgICAgICAgIFwiOTAwXCI6ICRncmF5LTkwMCApLFxuICAgICAgICAkZ3JheXNcbik7XG5cbiRibHVlOiAjMDA3YmZmICFkZWZhdWx0O1xuJG5hdnk6ICMxQTI4NTQgIWRlZmF1bHQ7XG4kaW5kaWdvOiAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogIzZmNDJjMSAhZGVmYXVsdDtcbiRwaW5rOiAjZTgzZThjICFkZWZhdWx0O1xuJHJlZDogI2RjMzU0NSAhZGVmYXVsdDtcbiRvcmFuZ2U6ICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAjZmZjMTA3ICFkZWZhdWx0O1xuJGdyZWVuOiAjNzNDMDU2ICFkZWZhdWx0O1xuJGRhcmstZ3JlZW46ICMyRDgxM0YgIWRlZmF1bHQ7XG4kdGVhbDogIzIwYzk5NyAhZGVmYXVsdDtcbiRjeWFuOiAjMTdhMmI4ICFkZWZhdWx0O1xuXG4kY29sb3JzOiAoXG4gICAgKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kY29sb3JzOiBtYXAtbWVyZ2UoKFwiYmx1ZVwiOiAkYmx1ZSxcbiAgICAgICAgICAgIFwiaW5kaWdvXCI6ICRpbmRpZ28sXG4gICAgICAgICAgICBcInB1cnBsZVwiOiAkcHVycGxlLFxuICAgICAgICAgICAgXCJwaW5rXCI6ICRwaW5rLFxuICAgICAgICAgICAgXCJyZWRcIjogJHJlZCxcbiAgICAgICAgICAgIFwib3JhbmdlXCI6ICRvcmFuZ2UsXG4gICAgICAgICAgICBcInllbGxvd1wiOiAkeWVsbG93LFxuICAgICAgICAgICAgXCJncmVlblwiOiAkZ3JlZW4sXG4gICAgICAgICAgICBcInRlYWxcIjogJHRlYWwsXG4gICAgICAgICAgICBcImN5YW5cIjogJGN5YW4sXG4gICAgICAgICAgICBcIndoaXRlXCI6ICR3aGl0ZSxcbiAgICAgICAgICAgIFwiZ3JheVwiOiAkZ3JheS02MDAsXG4gICAgICAgICAgICBcImdyYXktZGFya1wiOiAkZ3JheS04MDAgKSxcbiAgICAgICAgJGNvbG9yc1xuKTtcblxuJHByaW1hcnk6ICRibHVlICFkZWZhdWx0O1xuJHNlY29uZGFyeTogJGdyYXktNjAwICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICRncmF5LTgwMCAhZGVmYXVsdDtcblxuJHRoZW1lLWNvbG9yczogKFxuICAgICkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHRoZW1lLWNvbG9yczogbWFwLW1lcmdlKChcInByaW1hcnlcIjogJHByaW1hcnksXG4gICAgICAgICAgICBcInNlY29uZGFyeVwiOiAkc2Vjb25kYXJ5LFxuICAgICAgICAgICAgXCJzdWNjZXNzXCI6ICRzdWNjZXNzLFxuICAgICAgICAgICAgXCJpbmZvXCI6ICRpbmZvLFxuICAgICAgICAgICAgXCJ3YXJuaW5nXCI6ICR3YXJuaW5nLFxuICAgICAgICAgICAgXCJkYW5nZXJcIjogJGRhbmdlcixcbiAgICAgICAgICAgIFwibGlnaHRcIjogJGxpZ2h0LFxuICAgICAgICAgICAgXCJkYXJrXCI6ICRkYXJrICksXG4gICAgICAgICR0aGVtZS1jb2xvcnNcbik7XG5cbi8vIGZvbnRzIG5hbWVcbiRiYXNlLWZvbnQtc2Fucy1zZXJpZjogJ0hlZWJvJywgJ0FyaWFsJywgJ0hlbHZldGljYSBOZXVlJywgJ0hlbHZldGljYScsIHNhbnMtc2VyaWY7XG4kYmFzZS1mb250LXNlcmlmOiAnVGltZXMgTmV3IFJvbWFuJywgJ1RpbWVzJywgJ0Jhc2tlcnZpbGxlJywgJ0dlb3JnaWEnLCBzZXJpZjtcblxuJGJhc2UtZm9udDogJGJhc2UtZm9udC1zYW5zLXNlcmlmO1xuXG4vLyBCb2R5XG4kYmFzZS10ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG4kYmFzZS1iYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYmFzZS1iYWNrZ3JvdW5kLWJvZHk6ICR3aGl0ZSAhZGVmYXVsdDtcbiRiYXNlLWJhY2tncm91bmQtZm9vdGVyOiAkYmxhY2sgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWJhc2U6IDE0cHggIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtYmFzZTogMS43ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1iYXNlLWxhZ3JlOiAxNHB4ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWJhc2UtbGFncmU6IDEuNyAhZGVmYXVsdDtcbiRiYXNlLWZvbnQtZmFtaWx5OiAkYmFzZS1mb250ICFkZWZhdWx0O1xuJGJhc2UtbWluLXdpZHRoOiAzMjBweDtcblxuLy8gYmFzZSB2YXJpYWJsZXNcbiRiYXNlLXJhZGl1czogMDtcbiRiYXNlLXJhZGl1cy1zbWFsbDogMDtcblxuLy8gY29udGFpbmVyIHNldHRpbmdzXG4kbWF4LXdpZHRoLWNlbnRlci1jb250YWluZXI6IDExMjBweDtcbiRndXR0ZXI6IDE1cHg7XG4kcGFkZGluZy1jb250YWluZXI6IDAgJGd1dHRlcjtcblxuLy8gZ3JpZCBzaXN0ZW1cbiRncmlkOiAoXG4gICAgcGg6ICdwaG9uZScsXG4gICAgc206ICd0YWJsZXQnLFxuICAgIG1kOiAnZGVza3RvcCdcbik7XG5cbi8vIGZvbnQgd2VpZ2h0XG4kdGhpbjogMTAwO1xuJGxpZ2h0LWZvbnQ6IDMwMDtcbiRub3JtYWw6IDQwMDtcbiRtZWRpdW06IDUwMDtcbiRzZW1pYm9sZDogNjAwO1xuJGJvbGQ6IDcwMDtcbiRleHRyYTogODAwO1xuJGJsYWNrLWZvbnQ6IDkwMDtcblxuLy8gZGVmYXVsdCBtYXJnaW5zXG4kdmVydGljYWwtcmh5dGhtOiAkZm9udC1zaXplLWJhc2UgKyA0O1xuJHdpZGdldC1tYXJnaW46IDIwcHg7XG5cbi8vIExpa3NcbiRiYXNlLWxpbmstY29sb3I6ICRibHVlO1xuJGJhc2UtbGluay1ob3Zlci1jb2xvcjogJGJsYWNrO1xuJHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiR0ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG5cbi8vIEhlYWRlcnMgc2l6ZVxuJHRpdGxlLXBhbGV0dGU6IChcbiAgICBtb2JpbGU6ICgnaDEnOiAzMCxcbiAgICAgICAgJ2gyJzogMjQsXG4gICAgICAgICdoMyc6IDE1LFxuICAgICAgICAnaDQnOiAxOCxcbiAgICAgICAgJ2g1JzogMTQsXG4gICAgICAgICdoNic6IDE0KSxcbiAgICB0YWJsZXQ6ICgnaDEnOiA0MCxcbiAgICAgICAgJ2gyJzogMzAsXG4gICAgICAgICdoMyc6IDI4LFxuICAgICAgICAnaDQnOiAyMCxcbiAgICAgICAgJ2g1JzogMTgsXG4gICAgICAgICdoNic6IDE2KSxcbiAgICBkZXNrdG9wOiAoJ2gxJzogNDgsXG4gICAgICAgICdoMic6IDM0LFxuICAgICAgICAnaDMnOiAyOCxcbiAgICAgICAgJ2g0JzogMjQsXG4gICAgICAgICdoNSc6IDE4LFxuICAgICAgICAnaDYnOiAxNiksXG4gICAgd2lkZXNjcmVlbjogKCdoMSc6IDQ4LFxuICAgICAgICAnaDInOiAzNCxcbiAgICAgICAgJ2gzJzogMzAsXG4gICAgICAgICdoNCc6IDI0LFxuICAgICAgICAnaDUnOiAxOCxcbiAgICAgICAgJ2g2JzogMTYpXG4pO1xuXG4vLyBoZWFkaW5ncyBzdHlsZVxuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcbiRoZWFkaW5ncy1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8gQnV0dG9uc1xuLy8gYnRuIGRlZmF1bHRcbiRidG4tYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4vLyAkYnRuLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAkYnRuLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1czogJGJhc2UtcmFkaXVzO1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAkYmFzZS1yYWRpdXMtc21hbGw7XG4kYnRuLXBhZGRpbmc6IDEycHggMjZweCAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy1zbTogNHB4IDEwcHggIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZTogMTRweCAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQ6ICRidG4tZm9udC1zaXplICsgMjtcblxuJGJ0bi1iYWNrZ3JvdW5kOiAkYmxhY2sgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlcjogJGJ0bi1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ0bi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuLy8gaG92ZXJcbiRidG4taG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRidG4tYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidG4taG92ZXItYm9yZGVyOiAkYnRuLWhvdmVyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIGJ0biBwcmltYXJ5XG4kYnRuLWJhY2tncm91bmQtcHJpbWFyeTogJHByaW1hcnkgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1wcmltYXJ5OiAkcHJpbWFyeSAhZGVmYXVsdDtcbiRidG4tY29sb3ItcHJpbWFyeTogJHdoaXRlICFkZWZhdWx0O1xuLy8gaG92ZXJcbiRidG4taG92ZXItYmFja2dyb3VuZC1wcmltYXJ5OiBkYXJrZW4oJHByaW1hcnksIDEwJSkgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJvcmRlci1wcmltYXJ5OiAkYnRuLWhvdmVyLWJhY2tncm91bmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRidG4taG92ZXItY29sb3ItcHJpbWFyeTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBidG4gd2FybmluZ1xuJGJ0bi1iYWNrZ3JvdW5kLXdhcm5pbmc6ICR3YXJuaW5nICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItd2FybmluZzogJGJ0bi1iYWNrZ3JvdW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4kYnRuLWNvbG9yLXdhcm5pbmc6ICR3aGl0ZSAhZGVmYXVsdDtcbi8vIGhvdmVyXG4kYnRuLWhvdmVyLWJhY2tncm91bmQtd2FybmluZzogZGFya2VuKCR3YXJuaW5nLCAxMCUpICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1ib3JkZXItd2FybmluZzogJGJ0bi1ob3Zlci1iYWNrZ3JvdW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWNvbG9yLXdhcm5pbmc6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gYnRuIHN1Y2Nlc3NcbiRidG4tYmFja2dyb3VuZC1zdWNjZXNzOiAkc3VjY2VzcyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXN1Y2Nlc3M6ICRzdWNjZXNzICFkZWZhdWx0O1xuJGJ0bi1jb2xvci1zdWNjZXNzOiAkd2hpdGUgIWRlZmF1bHQ7XG4vLyBob3ZlclxuJGJ0bi1ob3Zlci1iYWNrZ3JvdW5kLXN1Y2Nlc3M6ICRkYXJrLWdyZWVuICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1ib3JkZXItc3VjY2VzczogJHN1Y2Nlc3MgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWNvbG9yLXN1Y2Nlc3M6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gRm9ybXNcbiRpbnB1dC1mb250LXNpemU6ICRmb250LXNpemUtYmFzZTsgLy8gZm9udCBzaXplIGZvciBmb3JtcyBlbGVtZW50c1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAkaW5wdXQtZm9udC1zaXplICsgMjsgLy8gbGluZSBoZWlnaHQgZm9yIGZvcm1zIGVsZW1lbnRzXG4kaW5wdXQtZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQ7XG4kaW5wdXQtcGFkZGluZy12ZXJ0aWNhbDogMTBweCAhZGVmYXVsdDsgLy8gcGFkZGluZyBmb3IgZm9ybXMgZWxlbWVudHNcbiRpbnB1dC1wYWRkaW5nLWhvcml6b250YWw6IDIwcHggIWRlZmF1bHQ7IC8vIHBhZGRpbmcgZm9yIGZvcm1zIGVsZW1lbnRzXG4kaW5wdXQtcGFkZGluZzogJGlucHV0LXBhZGRpbmctdmVydGljYWwgJGlucHV0LXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDsgLy8gYm9yZGVyIGlucHV0J3Mgd2lkdGhcbiRpbnB1dC1ib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGJsYWNrICFkZWZhdWx0OyAvLyBib3JkZXIgZm9yIGZvcm1zIGVsZW1lbnRzXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogNHB4ICFkZWZhdWx0OyAvLyBib3JkZXIgcmFkaXVzIGZvciBmb3JtcyBlbGVtZW50c1xuJGlucEg6ICRpbnB1dC1ib3JkZXItd2lkdGggKyAyICogJGlucHV0LXBhZGRpbmctdmVydGljYWwgKyAkaW5wdXQtbGluZS1oZWlnaHQ7XG4kaW5wdXQtaGVpZ2h0OiAoXG4gICAgMiAqICgkaW5wdXQtYm9yZGVyLXdpZHRoICsgJGlucHV0LXBhZGRpbmctdmVydGljYWwpICsgJGlucHV0LWxpbmUtaGVpZ2h0KSAhZGVmYXVsdDsgLy8gaGVpZ2h0IGZvciBmb3JtcyBlbGVtZW50c1xuLy9zdWJtaXRcbiRzdWJtaXQtYmFja2dyb3VuZDogJHN1Y2Nlc3M7XG4kc3VibWl0LWNvbG9yOiAkYnRuLWNvbG9yO1xuJHN1Ym1pdC1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4kc3VibWl0LWJvcmRlcjogJGJ0bi1ib3JkZXI7XG4kc3VibWl0LXBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuJHN1Ym1pdC1mb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4kc3VibWl0LWxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4vLyBzdWJtaXQgaG92ZXJcbiRzdWJtaXQtaG92ZXItYmFja2dyb3VuZDogJGRhcmstZ3JlZW47IC8vIHN1Ym1pdCBiYWNrZ3JvdW5kIGhvdmVyXG4kc3VibWl0LWhvdmVyLWNvbG9yOiAkYnRuLWhvdmVyLWNvbG9yOyAvLyBzdWJtaXQgY29sb3IgaG92ZXJcbi8vZm9jdXNcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICRibGFjayAhZGVmYXVsdDsgLy8gYm9yZGVyIGNvbG9yIGZvciBmb3JtcyBlbGVtZW50c1xuLy9wbGFjZWhvbGRlclxuJHBsYWNlaG9sZGVyLWNvbG9yOiAkZ3JheSAhZGVmYXVsdDtcbi8vIHNlbGVjdFxuJHNlbGVjdC1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG4kc2VsZWN0LWJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiRzZWxlY3QtYm9yZGVyLXJhZGl1czogMDtcbiRzZWxlY3QtcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG4kc2VsZWN0LWZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiRzZWxlY3QtbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcblxuLy8gYW5pbWF0aW9uIHNwZWVkXG4kYW5pbWF0aW9uLXNwZWVkOiAwLjVzOyIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxuLy9cbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuOVxuLy9cbi8vICAgICAgICBodHRwczovL2VkdWFyZG9ib3VjYXMuZ2l0aHViLmlvL2luY2x1ZGUtbWVkaWFcbi8vXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcbi8vICAgICAgICAgICAgICAgICAgS2l0dHkgR2lyYXVkZWwgKEBraXR0eWdpcmF1ZGVsKVxuLy9cbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2Vcbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XG4vLy9cbiRicmVha3BvaW50czogKFxuICAncGhvbmUnOiAzMjBweCxcbiAgJ3RhYmxldCc6IDc2OHB4LFxuICAnZGVza3RvcCc6IDEwMjRweFxuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXG4vLy8gICk7XG4vLy9cbiRtZWRpYS1leHByZXNzaW9uczogKFxuICAnc2NyZWVuJzogJ3NjcmVlbicsXG4gICdwcmludCc6ICdwcmludCcsXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcbiAgJ3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJ1xuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxuLy8vXG4kdW5pdC1pbnRlcnZhbHM6IChcbiAgJ3B4JzogMSxcbiAgJ2VtJzogMC4wMSxcbiAgJ3JlbSc6IDAuMSxcbiAgJyc6IDBcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0Jztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XG4gICAgQGVycm9yICRtZXNzYWdlO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAkbWVzc2FnZTtcbiAgICAkXzogbm9vcCgpO1xuICB9XG5cbiAgQHJldHVybiAkbWVzc2FnZTtcbn1cblxuXG4vLy9cbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBpbS1sb2coJG1lc3NhZ2UpIHt9XG59XG5cblxuLy8vXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXG4vLy9cbkBmdW5jdGlvbiBub29wKCkge31cblxuLy8vXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy9cbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xuXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xuICAgIEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7fVxuICB9XG5cbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XG4gICAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XG4gICAgICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgICAgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcblxuICAgICAgQGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXG4gICAgICAgICAgKCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSB7XG4gICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiBub3QgaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vL1xuLy8vIFBhcnNpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcbiAgICBAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xuXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuICB9XG5cbiAgQHJldHVybiAkZGltZW5zaW9uO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3Jcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xuICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcblxuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xuICB9IEBlbHNlIHtcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xuICB9XG5cbiAgJGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcblxuICBAaWYgbm90ICRpbnRlcnZhbCB7XG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xuICB9XG5cbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cblxuLy8vXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcbi8vL1xuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICBAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcbiAgfVxuXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xuICAgIEByZXR1cm4gKCk7XG4gIH1cblxuICAkcmVzdWx0OiAoKTtcblxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn1cbi8vL1xuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICB9XG5cbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XG4gICRyZXN1bHQ6IDA7XG4gICRkaWdpdHM6IDA7XG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcbiAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xuXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XG4gICAgJHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG4gICAgQGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcbiAgICB9XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpZ2l0czogMTtcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuXG4vLy9cbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcbi8vL1xuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XG4gICR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XG5cbiAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy9cbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2Zcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXG4vLy8gZm9yIGluc3RhbmNlLlxuLy8vXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XG5cbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogbWFwLW1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC1tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcblxuICBAY29udGVudDtcblxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcbn1cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XG4vLy9cbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXG4gICAgICAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSkge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcbiAgICBAbWVkaWEgI3t1bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XG4gICAgICAvLyBSZWN1cnNpdmUgY2FsbFxuICAgICAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gbGlzdCByZXNldFxuJWxpc3RyZXNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLy8gY2xlYXJmaXhcbiVjbGVhcmZpeCB7XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxufVxuXG4uY2xlYXJmaXgge1xuICAgIEBleHRlbmQgJWNsZWFyZml4O1xufVxuXG4vLyB0cmFuc2l0aW9uXG4ldHJhbnNpdGlvbiB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi8vIGp1c3RpZnkgbmF2XG4lanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICBmb250LXNpemU6IDFweDtcbiAgICBsaW5lLWhlaWdodDogMDtcblxuICAgID4qIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG59XG5cbiViZ0NvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xufVxuXG4lYWJzb2x1dGVDb3ZlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbn1cblxuLy8vICogSGVscGVyIGNsYXNzIHRvIHRydW5jYXRlIGFuZCBhZGQgZWxsaXBzaXMgdG8gYSBzdHJpbmcgdG9vIGxvbmcgZm9yIGl0IHRvIGZpdFxuLy8vICogb24gYSBzaW5nbGUgbGluZS5cbi8vLyAqIDEuIFByZXZlbnQgY29udGVudCBmcm9tIHdyYXBwaW5nLCBmb3JjaW5nIGl0IG9uIGEgc2luZ2xlIGxpbmUuXG4vLy8gKiAyLiBBZGQgZWxsaXBzaXMgYXQgdGhlIGVuZCBvZiB0aGUgbGluZS5cblxuLmVsbGlwc2lzIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC8qIDEgKi9cbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAvKiAyICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmRmLXJvdyB7XG4gICAgQGluY2x1ZGUgYWRkLXBhcmFtcygpO1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZCgpO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuICAgICAgICBtYXJnaW46IDAgKC0kZ3V0dGVyKTtcbiAgICB9XG59IiwiLy8gdmVydGljYWwgYWxpZ24gZWwgaW5zaWRlIHBhcmVudCB3aXRoIGZpeGVkIGhlaWdodC9taW4taGVpZ2h0XG4vLyB1c2FnZVxuLy8gaHRtbCAtIC5wYXJlbnQ+LmNoaWxkXG4vLyBzY3NzIC0gQGluY2x1ZGUgdi1hbGlnbjtcbi8vICAgICBvciBAaW5jbHVkZSB2LWFsaWduKDI1MHB4KTtcbi8vICAgICBvciBAaW5jbHVkZSB2LWFsaWduKDI1MHB4LCBib3R0b20sIGJlZm9yZSk7XG4vL1xuQG1peGluIHYtYWxpZ24oJHZhLWhlaWdodDogMTAwJSwgJHZhLWRpcmVjdGlvbjogbWlkZGxlLCAkdmEtcHNldWRvOiBhZnRlcikge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgJjojeyR2YS1wc2V1ZG99IHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246ICR2YS1kaXJlY3Rpb247XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBtaW4taGVpZ2h0OiAkdmEtaGVpZ2h0O1xuICAgIH1cblxuICAgID4qIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogJHZhLWRpcmVjdGlvbjtcbiAgICAgICAgbWF4LXdpZHRoOiA5OSU7XG4gICAgfVxufVxuXG4vLyB2ZXJ0aWNhbCBhbGlnbiBhIHBhaXIgb2YgY2hpbGQgZWwgaW5zaWRlIHBhcmVudFxuLy8gdXNhZ2Vcbi8vIGh0bWwgLSAucG9zdD4uaW1hZ2UrLnRleHRcbi8vIHNjc3MgLSBAaW5jbHVkZSB2LWFsaWduLXBhaXIoaW1hZ2UsIHRleHQpO1xuLy8gICAgIG9yIEBpbmNsdWRlIHYtYWxpZ24tcGFpcihpbWFnZSwgdGV4dCwgYm90dG9tKTtcbi8vICAgICBvciBAaW5jbHVkZSB2LWFsaWduLXBhaXIoaW1hZ2UsIHRleHQsIG1pZGRsZSwgMjAwcHgpO1xuLy9cbkBtaXhpbiB2LWFsaWduLXBhaXIoJGNoaWxkLW5hbWUxLCAkY2hpbGQtbmFtZTIsICR2YWxpZ246IG1pZGRsZSwgJHdpZHRoMTogYXV0bywgJHdpZHRoMjogYXV0bykge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuXG4gICAgLiN7JGNoaWxkLW5hbWUxfSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkdmFsaWduO1xuICAgICAgICB3aWR0aDogJHdpZHRoMTtcbiAgICB9XG5cbiAgICAuI3skY2hpbGQtbmFtZTJ9IHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246ICR2YWxpZ247XG4gICAgICAgIHdpZHRoOiAkd2lkdGgyO1xuICAgIH1cbn1cblxuLy8gdmVydGljYWwgYWxpZ24gZWxcbi8vIHVzYWdlOiBAaW5jbHVkZSB2ZXJ0aWNhbC1hbGlnbi1lbDtcbi8vXG5AbWl4aW4gdmVydGljYWwtYWxpZ24tZWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBNaXhpbiBoZWxwaW5nIGRlZmluaW5nIGJvdGggYHdpZHRoYCBhbmQgYGhlaWdodGAgc2ltdWx0YW5lb3VzbHkuXG4vLy9cbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy9cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJHdpZHRoIC0gRWxlbWVudOKAmXMgYHdpZHRoYFxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkaGVpZ2h0ICgkd2lkdGgpIC0gRWxlbWVudOKAmXMgYGhlaWdodGBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmZvbyB7XG4vLy8gICAgIEBpbmNsdWRlIHNpemUoMTBlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5iYXIge1xuLy8vICAgICBAaW5jbHVkZSBzaXplKDEwMCUsIDEwZW0pO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIG91dHB1dFxuLy8vICAgLmZvbyB7XG4vLy8gICAgIHdpZHRoOiAxMGVtO1xuLy8vICAgICBoZWlnaHQ6IDEwZW07XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5iYXIge1xuLy8vICAgICB3aWR0aDogMTAwJTtcbi8vLyAgICAgaGVpZ2h0OiAxMGVtO1xuLy8vICAgfVxuLy8vXG5AbWl4aW4gc2l6ZSgkd2lkdGgsICRoZWlnaHQ6ICR3aWR0aCkge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xufVxuXG4vLy8gZm9udC1zbW90aGluZ1xuLy8vIEBpbmNsdWRlIGZvbnQtc21vb3RoaW5nKG9uKTtcbi8vLyBAaW5jbHVkZSBmb250LXNtb290aGluZyhvZmYpO1xuQG1peGluIGZvbnQtc21vb3RoaW5nKCR2YWx1ZTogb24pIHtcbiAgICBAaWYgJHZhbHVlID09b24ge1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogYXV0bztcbiAgICB9XG59XG5cblxuLy8vIEhpZGVzIHRoZSB0ZXh0IGluIGFuIGVsZW1lbnQsIGNvbW1vbmx5IHVzZWQgdG8gc2hvdyBhbiBpbWFnZS4gU29tZSBlbGVtZW50cyB3aWxsIG5lZWQgYmxvY2stbGV2ZWwgc3R5bGVzIGFwcGxpZWQuXG4vLy9cbi8vLyBAbGluayBodHRwOi8vemVsZG1hbi5jb20vMjAxMi8wMy8wMS9yZXBsYWNpbmctdGhlLTk5OTlweC1oYWNrLW5ldy1pbWFnZS1yZXBsYWNlbWVudFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGhpZGUtdGV4dDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbi8vLyAgICAgdGV4dC1pbmRlbnQ6IDEwMSU7XG4vLy8gICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4vLy8gICB9XG4vLy9cbkBtaXhpbiBoaWRlLXRleHQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1pbmRlbnQ6IDEwMSU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuXG4vLy8gQ3JlYXRlcyBhIHZpc3VhbCB0cmlhbmdsZS5cbi8vLyBNaXhpbiB0YWtlcyAoJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbilcbi8vLyBUaGUgJHNpemUgYXJndW1lbnQgY2FuIHRha2Ugb25lIG9yIHR3byB2YWx1ZXPigJR3aWR0aCBoZWlnaHQuXG4vLy8gVGhlICRjb2xvciBhcmd1bWVudCBjYW4gdGFrZSBvbmUgb3IgdHdvXG4vLy8gdmFsdWVz4oCUZm9yZWdyb3VuZC1jb2xvciBiYWNrZ3JvdW5kLWNvbG9yLlxuLy8vXG4vLy8gQGF1dGhvciBodHRwOi8vYm91cmJvbi5pby9kb2NzLyN0cmlhbmdsZVxuLy8vXG4vLy8gJGRpcmVjdGlvbjpcbi8vLyB1cCwgZG93biwgbGVmdCwgcmlnaHQsIHVwLXJpZ2h0LCB1cC1sZWZ0LCBkb3duLXJpZ2h0LCBkb3duLWxlZnRcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIEBpbmNsdWRlIHRyaWFuZ2xlKDEycHgsIGdyYXksIGRvd24pO1xuLy8vICAgQGluY2x1ZGUgdHJpYW5nbGUoMTJweCA2cHgsIGdyYXkgYmx1ZSwgdXAtbGVmdCk7XG4vLy9cbkBtaXhpbiB0cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCAkZGlyZWN0aW9uKSB7XG4gICAgJHdpZHRoOiBudGgoJHNpemUsIDEpO1xuICAgICRoZWlnaHQ6IG50aCgkc2l6ZSwgbGVuZ3RoKCRzaXplKSk7XG4gICAgJGZvcmVncm91bmQtY29sb3I6IG50aCgkY29sb3IsIDEpO1xuICAgICRiYWNrZ3JvdW5kLWNvbG9yOiBpZihsZW5ndGgoJGNvbG9yKT09MiwgbnRoKCRjb2xvciwgMiksIHRyYW5zcGFyZW50KTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG5cbiAgICBAaWYgKCRkaXJlY3Rpb24gPT11cCkgb3IgKCRkaXJlY3Rpb24gPT1kb3duKSBvciAoJGRpcmVjdGlvbiA9PXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PWxlZnQpIHtcbiAgICAgICAgJHdpZHRoOiAkd2lkdGggLyAyO1xuICAgICAgICAkaGVpZ2h0OiBpZihsZW5ndGgoJHNpemUpID4gMSwgJGhlaWdodCwgJGhlaWdodC8yKTtcblxuICAgICAgICBAaWYgJGRpcmVjdGlvbiA9PXVwIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICBAZWxzZSBpZiAkZGlyZWN0aW9uID09cmlnaHQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICBAZWxzZSBpZiAkZGlyZWN0aW9uID09ZG93biB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2UgaWYgJGRpcmVjdGlvbiA9PWxlZnQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT11cC1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT11cC1sZWZ0KSB7XG4gICAgICAgIGJvcmRlci10b3A6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICAgICAgQGlmICRkaXJlY3Rpb24gPT11cC1yaWdodCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2UgaWYgJGRpcmVjdGlvbiA9PXVwLWxlZnQge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PWRvd24tcmlnaHQpIG9yICgkZGlyZWN0aW9uID09ZG93bi1sZWZ0KSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICAgICAgQGlmICRkaXJlY3Rpb24gPT1kb3duLXJpZ2h0IHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICBAZWxzZSBpZiAkZGlyZWN0aW9uID09ZG93bi1sZWZ0IHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT1pbnNldC11cCkge1xuICAgICAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICAgIH1cblxuICAgIEBlbHNlIGlmICgkZGlyZWN0aW9uID09aW5zZXQtZG93bikge1xuICAgICAgICBib3JkZXItY29sb3I6ICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICAgIH1cblxuICAgIEBlbHNlIGlmICgkZGlyZWN0aW9uID09aW5zZXQtcmlnaHQpIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PWluc2V0LWxlZnQpIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgICB9XG59XG5cblxuLy8vIEFuaW1hdGUgY3NzIHByb3BlcnRpZXNcbi8vIHVzYWdlXG4vLyBzY3NzIC0gQGluY2x1ZGUgYW5pbWF0ZShjb2xvcik7XG4vLyAgICAgb3IgQGluY2x1ZGUgYW5pbWF0ZShjb2xvciB3aWR0aCk7XG4vLyAgICAgb3IgQGluY2x1ZGUgYW5pbWF0ZShjb2xvciB3aWR0aCwgMXMsIGxpbmVhcik7XG4vL1xuJGFuaW1hdGlvbi1zcGVlZDogMC4zcyAhZGVmYXVsdDtcblxuQG1peGluIGFuaW1hdGUoJHByb3BlcnRpZXMsICRkdXJhdGlvbjogJGFuaW1hdGlvbi1zcGVlZCwgJGVhc2luZzogZWFzZS1pbi1vdXQpIHtcbiAgICAkbGlzdDogKCk7XG5cbiAgICBAZWFjaCAkcHJvcCBpbiAkcHJvcGVydGllcyB7XG4gICAgICAgICRzdHI6ICN7JHByb3B9ICN7JGR1cmF0aW9ufSAjeyRlYXNpbmd9O1xuICAgICAgICAkbGlzdDogam9pbigkbGlzdCwgI3skc3RyfSwgY29tbWEpO1xuICAgIH1cblxuICAgIHRyYW5zaXRpb246ICRsaXN0O1xufVxuXG5cbi8vLyBNaXhpbiBmb3Igc3R5bGluZyBmb3JtLXBsYWNlaG9sZGVyc1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIge1xuLy8vICAgIGNvbG9yOiAjMzMzO1xuLy8vICAgfVxuLy8vXG4vLy8gICBpbnB1dFt0eXBlPSd0ZXh0J10sXG4vLy8gICBpbnB1dFt0eXBlPSd0ZWwnXSxcbi8vLyAgIGlucHV0W3R5cGU9J2VtYWlsJ10ge1xuLy8vICAgICBAaW5jbHVkZSBwbGFjZWhvbGRlciB7XG4vLy8gICAgICBjb2xvcjogcmVkO1xuLy8vICAgICB9XG4vLy8gICB9XG5cbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAmOi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICYucGxhY2Vob2xkZXIge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8vLyBGb250LXNpemUgcHggdG8gcmVtIGNhbGNcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyBzZWxlY3RvciB7XG4vLy8gICAgQGluY2x1ZGUgcmVtLWZvbnQtc2l6ZSgxNnB4KTtcbi8vLyB9XG5cbkBtaXhpbiByZW0tZm9udC1zaXplKCRweC1zaXplKSB7XG4gICAgZm9udC1zaXplOiAkcHgtc2l6ZTtcbiAgICBmb250LXNpemU6ICgkcHgtc2l6ZSAvIDEwcHgpICsgcmVtO1xufVxuXG4vL2ZvbnQtZmFjZVxuQG1peGluIGZvbnQtZmFjZSgkZm9udC1uYW1lLCAkZm9udC1wYXRoLCAkd2VpZ2h0LCAkc3R5bGUpIHtcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICcjeyRmb250LW5hbWV9JztcbiAgICAgICAgc3JjOiB1cmwoJ2ZvbnRzLyN7JGZvbnQtcGF0aH0ud29mZjInKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgdXJsKCdmb250cy8jeyRmb250LXBhdGh9LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG4gICAgICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcbiAgICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuQG1peGluIGJ1dHRvbi1jb2xvcigkYnRuLWJhY2tncm91bmQsICRidG4tY29sb3IsICRidG4tYm9yZGVyLCAkYnRuLWhvdmVyLWJhY2tncm91bmQsICRidG4taG92ZXItYm9yZGVyLCAkYnRuLWhvdmVyLWNvbG9yKSB7XG4gICAgYmFja2dyb3VuZDogJGJ0bi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnRuLWNvbG9yO1xuICAgIGJvcmRlcjogJGJ0bi1ib3JkZXI7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJ0bi1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGJ0bi1ob3Zlci1jb2xvcjtcbiAgICAgICAgYm9yZGVyOiAkYnRuLWhvdmVyLWJvcmRlcjtcbiAgICB9XG59XG5cbkBtaXhpbiBhZGQtcGFyYW1zKCkge1xuXG4gICAgQGVhY2ggJHZhbCxcbiAgICAkbWVkaWEgaW4gJGdyaWQge1xuICAgICAgICAmLmRmLXJyLSN7JHZhbH0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpScgKyAkbWVkaWEpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmRmLWFpYy0jeyR2YWx9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCfiiaUnICsgJG1lZGlhKSB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gZmxleCBncmlkXG5AbWl4aW4gZmxleC1ncmlkKCkge1xuXG4gICAgQGVhY2ggJHZhbCxcbiAgICAkbWVkaWEgaW4gJGdyaWQge1xuICAgICAgICBAZm9yICRndXR0ZXIgZnJvbSAxIHRocm91Z2ggMTIge1xuICAgICAgICAgICAgLmNvbC0jeyR2YWx9LSN7JGd1dHRlcn0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCfiiaUnICsgJG1lZGlhKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDEgMCBjYWxjKDEwMCUgLyAxMiAqICN7JGd1dHRlcn0pO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAvIDEyICogI3skZ3V0dGVyfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGZvciAkZ3V0dGVyIGZyb20gMCB0aHJvdWdoIDExIHtcbiAgICAgICAgICAgIC5jb2wtb2Zmc2V0LSN7JHZhbH0tI3skZ3V0dGVyfSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpScgKyAkbWVkaWEpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTAwJSAvIDEyICogI3skZ3V0dGVyfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gdi1jZW50ZXIoJG1pbi1oZWlnaHQ6IDQwMHB4KSB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgID4qIHtcbiAgICAgICAgbWluLWhlaWdodDogJG1pbi1oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59IiwiLy8vIGNvbG9ycyBibGFjayAmIHdoaXRlXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAubXktY2xhc3Mge1xuLy8vICAgICBiYWNrZ3JvdW5kOiBibGFjaygwLjE1KTtcbi8vLyAgICAgY29sb3I6IHdoaXRlKDAuOSk7XG4vLy8gICB9XG5AZnVuY3Rpb24gYmxhY2soJG9wYWNpdHkpIHtcbiAgICBAcmV0dXJuIHJnYmEoYmxhY2ssICRvcGFjaXR5KTtcbn1cblxuQGZ1bmN0aW9uIHdoaXRlKCRvcGFjaXR5KSB7XG4gICAgQHJldHVybiByZ2JhKHdoaXRlLCAkb3BhY2l0eSk7XG59XG5cbkBtaXhpbiB0aXRsZS1zaXplKCRzeW1ib2wpIHtcblxuICAgIEBlYWNoICRtZWRpYSxcbiAgICAkdGl0bGVzLXNpemUgaW4gJHRpdGxlLXBhbGV0dGUge1xuICAgICAgICBAaWYgJG1lZGlhID09bW9iaWxlIHtcblxuICAgICAgICAgICAgQGVhY2ggJHRpdGxlLFxuICAgICAgICAgICAgJHNpemUgaW4gJHRpdGxlcy1zaXplIHtcblxuICAgICAgICAgICAgICAgICN7JHRpdGxlfSxcbiAgICAgICAgICAgICAgICAuI3skdGl0bGV9IHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZSArIHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCN7JHN5bWJvbH0jeyRtZWRpYX0pIHtcblxuICAgICAgICAgICAgICAgIEBlYWNoICR0aXRsZSxcbiAgICAgICAgICAgICAgICAkc2l6ZSBpbiAkdGl0bGVzLXNpemUge1xuXG4gICAgICAgICAgICAgICAgICAgICN7JHRpdGxlfSxcbiAgICAgICAgICAgICAgICAgICAgLiN7JHRpdGxlfSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzaXplICsgcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyBAZnVuY3Rpb25zXG4vL1xuXG4vLyBTVFJJUCBVTklUXG4vLyBJdCBzdHJpcHMgdGhlIHVuaXQgb2YgbWVhc3VyZSBhbmQgcmV0dXJucyBpdFxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICAgIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLyBDT05WRVJUIFRPIFJFTVxuQGZ1bmN0aW9uIGNvbnZlcnQtdG8tcmVtKCR2YWx1ZSwgJGJhc2UtdmFsdWU6ICRyZW0tYmFzZSkge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZS12YWx1ZSkgKiAxcmVtO1xuXG4gICAgQGlmICgkdmFsdWUgPT0wcmVtKSB7XG4gICAgICAgICR2YWx1ZTogMDtcbiAgICB9XG5cbiAgICAvLyBUdXJuIDByZW0gaW50byAwXG4gICAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vIFJFTSBDQUxDXG5cbi8vIE5ldyBTeW50YXgsIGFsbG93cyB0byBvcHRpb25hbGx5IGNhbGN1bGF0ZSBvbiBhIGRpZmZlcmVudCBiYXNlIHZhbHVlIHRvIGNvdW50ZXIgY29tcG91bmRpbmcgZWZmZWN0IG9mIHJlbSdzLlxuLy8gQ2FsbCB3aXRoIDEsIDIsIDMgb3IgNCBwYXJhbWV0ZXJzLCAncHgnIGlzIG5vdCByZXF1aXJlZCBidXQgc3VwcG9ydGVkOlxuLy9cbi8vICAgcmVtLWNhbGMoMTAgMjAgMzBweCA0MCk7XG4vL1xuLy8gU3BhY2UgZGVsaW1pdGVkLCBpZiB5b3Ugd2FudCB0byBkZWxpbWl0IHVzaW5nIGNvbW1hJ3MsIHdyYXAgaXQgaW4gYW5vdGhlciBwYWlyIG9mIGJyYWNrZXRzXG4vL1xuLy8gICByZW0tY2FsYygoMTAsIDIwLCAzMCwgNDBweCkpO1xuLy9cbi8vIE9wdGlvbmFsbHkgY2FsbCB3aXRoIGEgZGlmZmVyZW50IGJhc2UgKGVnOiA4cHgpIHRvIGNhbGN1bGF0ZSByZW0uXG4vL1xuLy8gICByZW0tY2FsYygxNnB4IDMycHggNDhweCwgOHB4KTtcbi8vXG4vLyBJZiB5b3UgcmVxdWlyZSB0byBjb21tYSBzZXBhcmF0ZSB5b3VyIGxpc3Rcbi8vXG4vLyAgIHJlbS1jYWxjKCgxNnB4LCAzMnB4LCA0OCksIDhweCk7XG5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZS12YWx1ZTogJHJlbS1iYXNlKSB7XG4gICAgJG1heDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gICAgQGlmICRtYXggPT0xIHtcbiAgICAgICAgQHJldHVybiBjb252ZXJ0LXRvLXJlbShudGgoJHZhbHVlcywgMSksICRiYXNlLXZhbHVlKTtcbiAgICB9XG5cbiAgICAkcmVtVmFsdWVzOiAoXG4gICAgKTtcblxuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbWF4IHtcbiAgICAkcmVtVmFsdWVzOiBhcHBlbmQoJHJlbVZhbHVlcywgY29udmVydC10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UtdmFsdWUpKTtcbn1cblxuQHJldHVybiAkcmVtVmFsdWVzO1xufVxuXG5AZnVuY3Rpb24gZW0tY2FsYygkdmFsdWVzLCAkYmFzZS12YWx1ZTogJHJlbS1iYXNlKSB7XG4gICAgJHJlbVZhbHVlczogcmVtLWNhbGMoJHZhbHVlcywgJGJhc2UtdmFsdWU6ICRyZW0tYmFzZSk7XG5cbiAgICAkbWF4OiBsZW5ndGgoJHJlbVZhbHVlcyk7XG5cbiAgICBAaWYgJG1heCA9PTEge1xuICAgICAgICBAcmV0dXJuIHN0cmlwLXVuaXQobnRoKCRyZW1WYWx1ZXMsIDEpKSAqIDFlbTtcbiAgICB9XG5cbiAgICAkZW1WYWx1ZXM6IChcbiAgICApO1xuXG5AZm9yICRpIGZyb20gMSB0aHJvdWdoICRtYXgge1xuICAgICRlbVZhbHVlczogYXBwZW5kKCRlbVZhbHVlcywgc3RyaXAtdW5pdChudGgoJHJlbVZhbHVlcywgJGkpKSAqIDFlbSk7XG59XG5cbkByZXR1cm4gJGVtVmFsdWVzO1xufVxuXG4vLy8gY29sb3JzIGJsYWNrICYgd2hpdGVcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5teS1jbGFzcyB7XG4vLy8gICAgIGJhY2tncm91bmQ6IGJsYWNrKDAuMTUpO1xuLy8vICAgICBjb2xvcjogd2hpdGUoMC45KTtcbi8vLyAgIH1cbkBmdW5jdGlvbiBibGFjaygkb3BhY2l0eSkge1xuICAgIEByZXR1cm4gcmdiYShibGFjaywgJG9wYWNpdHkpO1xufVxuXG5AZnVuY3Rpb24gd2hpdGUoJG9wYWNpdHkpIHtcbiAgICBAcmV0dXJuIHJnYmEod2hpdGUsICRvcGFjaXR5KTtcbn1cblxuQG1peGluIHRpdGxlLXNpemUoJHN5bWJvbCkge1xuXG4gICAgQGVhY2ggJG1lZGlhLFxuICAgICR0aXRsZXMtc2l6ZSBpbiAkdGl0bGUtcGFsZXR0ZSB7XG4gICAgICAgIEBpZiAkbWVkaWEgPT1tb2JpbGUge1xuXG4gICAgICAgICAgICBAZWFjaCAkdGl0bGUsXG4gICAgICAgICAgICAkc2l6ZSBpbiAkdGl0bGVzLXNpemUge1xuXG4gICAgICAgICAgICAgICAgI3skdGl0bGV9LFxuICAgICAgICAgICAgICAgIC4jeyR0aXRsZX0ge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzaXplICsgcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoI3skc3ltYm9sfSN7JG1lZGlhfSkge1xuXG4gICAgICAgICAgICAgICAgQGVhY2ggJHRpdGxlLFxuICAgICAgICAgICAgICAgICRzaXplIGluICR0aXRsZXMtc2l6ZSB7XG5cbiAgICAgICAgICAgICAgICAgICAgI3skdGl0bGV9LFxuICAgICAgICAgICAgICAgICAgICAuI3skdGl0bGV9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNpemUgKyBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIvLyBUeXBvZ3JhcGh5XG5cbkBpbmNsdWRlIHRpdGxlLXNpemUoJ+KJpScpO1xuXG5oMSxcbi5oMSxcbmgyLFxuLmgyLFxuaDMsXG4uaDMsXG5oNCxcbi5oNCxcbmg1LFxuLmg1LFxuaDYsXG4uaDYsXG4uaCB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgICBjb2xvcjogJGhlYWRpbmdzLWNvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbn1cblxuaDEge1xuXHRmb250LWZhbWlseTogJ1BsYXlmYWlyIERpc3BsYXknO1xuXHRmb250LXdlaWdodDogNzAwO1xufVxuXG5oMiB7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG5cdGNvbG9yOiAjMjMxRjIwO1xufVxuXG5wIHtcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xufVxuXG5hIHtcbiAgICBjb2xvcjogJGJhc2UtbGluay1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICR0ZXh0LWRlY29yYXRpb247XG5cdHRyYW5zaXRpb246IC4zcyBhbGw7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGJhc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgIH1cbn1cblxuYVtocmVmKj1cIm1haWx0bzpcIl0ge1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn0iLCIvLyBmb3Jtc1xuZm9ybSxcbmZpZWxkc2V0IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbmlucHV0W3R5cGU9J3RleHQnXSxcbmlucHV0W3R5cGU9J3RlbCddLFxuaW5wdXRbdHlwZT0nZW1haWwnXSxcbmlucHV0W3R5cGU9J3NlYXJjaCddLFxuaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSxcbmlucHV0W3R5cGU9J3VybCddLFxuLy8gaW5wdXRbdHlwZT0nZGF0ZSddLFxudGV4dGFyZWEge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cdC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcblx0cGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG5cdGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcblx0bGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcblx0Zm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0Ym9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuXHRib3JkZXItcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1cztcblxuXHQmOm5vdCh0ZXh0YXJlYSkge1xuXHRcdGhlaWdodDogJGlucHV0LWhlaWdodDtcblx0fVxuXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuXHR9XG5cblx0QGluY2x1ZGUgcGxhY2Vob2xkZXIge1xuXHRcdGNvbG9yOiAkcGxhY2Vob2xkZXItY29sb3I7XG5cdH1cbn1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy8gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4vLyAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuLy8gfVxuXG50ZXh0YXJlYSB7XG5cdHJlc2l6ZTogbm9uZTtcblx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0b3ZlcmZsb3c6IGF1dG87XG5cdGhlaWdodDogMTAwcHg7XG59XG5cbmJ1dHRvbixcbmlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwiZmlsZVwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cdC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcblx0aGVpZ2h0OiAkc3VibWl0LWhlaWdodDtcblx0cGFkZGluZzogJHN1Ym1pdC1wYWRkaW5nO1xuXHRmb250LXNpemU6ICRzdWJtaXQtZm9udC1zaXplO1xuXHRsaW5lLWhlaWdodDogJHN1Ym1pdC1saW5lLWhlaWdodDtcblx0Y29sb3I6ICRzdWJtaXQtY29sb3I7XG5cdG91dGxpbmU6IG5vbmU7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Ym9yZGVyOiAkc3VibWl0LWJvcmRlcjtcblx0Ym9yZGVyLXJhZGl1czogMDtcblx0YmFja2dyb3VuZDogJHN1Ym1pdC1iYWNrZ3JvdW5kO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXdlaWdodDogNzAwO1xuXHR0cmFuc2l0aW9uOiAwLjNzIGFsbDtcblxuXHQmOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kOiAkc3VibWl0LWhvdmVyLWJhY2tncm91bmQ7XG5cdFx0Y29sb3I6ICRzdWJtaXQtaG92ZXItY29sb3I7XG5cdH1cbn1cblxuLmdmb3JtX3dyYXBwZXIge1xuXHQuZ2Zvcm1fdGl0bGUge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQuZ2Zvcm1fZmllbGRzIHtcblx0XHRncmlkLWNvbHVtbi1nYXA6IDE2cHggIWltcG9ydGFudDtcblx0fVxuXG5cdGxhYmVsIHtcblx0XHRmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcblx0XHRmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG5cdFx0bWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXHR9XG5cblx0dGV4dGFyZWEge1xuXHRcdGhlaWdodDogMTAwcHggIWltcG9ydGFudDtcblx0fVxuXG5cdC5nZm9ybV9mb290ZXIge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXG5cdFx0aW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG5cdFx0XHRtaW4td2lkdGg6IDEwMHB4O1xuXHRcdFx0bWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0XHRsaW5lLWhlaWdodDogMS40ICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG5cblx0LnZhbGlkYXRpb25fbWVzc2FnZSB7XG5cdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG5cblx0Lmdmb3JtX3ZhbGlkYXRpb25fZXJyb3JzIHtcblx0XHRtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG5cdFx0cGFkZGluZzogMTVweCAhaW1wb3J0YW50O1xuXHR9XG5cblx0LmdmaWVsZF9yZXF1aXJlZCB7XG5cdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG59XG5cbmxhYmVsIHtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRmb250LXdlaWdodDogNDAwO1xufVxuXG4jd3B3cmFwIHtcblx0aW5wdXRbdHlwZT0ndGV4dCddLFxuXHRpbnB1dFt0eXBlPSd0ZWwnXSxcblx0aW5wdXRbdHlwZT0nZW1haWwnXSxcblx0aW5wdXRbdHlwZT0nc2VhcmNoJ10sXG5cdGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sXG5cdGlucHV0W3R5cGU9J3VybCddLFxuXHR0ZXh0YXJlYSB7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkYmxhY2sgIWltcG9ydGFudDtcblx0fVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyBhbGwgc3R5bGVzIHJlbGF0ZWQgdG8gdGhlIGhlYWRlciBvZiB0aGUgc2l0ZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbltpZD1cImhlYWRlclwiXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG59XG5cbi5sb2dvIHtcblx0d2lkdGg6IDE0N3B4O1xuXG5cdGltZyB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLmhlYWRlci10b3Age1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2eTtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG5cblx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuXHRcdHBhZGRpbmc6IDEzcHggMDtcblx0fVxuXG5cdC5pbm5lciB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0fVxuXG5cdGkge1xuXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0fVxuXG5cdGEge1xuXHRcdGNvbG9yOiAkZ3JlZW47XG5cdFx0dHJhbnNpdGlvbjogLjNzIGFsbDtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6ICRkYXJrLWdyZWVuO1xuXHRcdH1cblx0fVxuXG5cdC5jb250YWN0LWxpbmtzIHtcblx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRsaW5lLWhlaWdodDogMTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdH1cblxuXHRcdGEge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0XHRcdCsgYSB7XG5cdFx0XHRcdG1hcmdpbjogMTBweCAwIDA7XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAzMHB4O1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRpIHtcblx0XHRcdG1hcmdpbi1yaWdodDogN3B4O1xuXHRcdH1cblx0fVxuXG5cdC5sb2dpbi1saW5rcyB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRsaW5lLWhlaWdodDogMTtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PTU3NnB4Jykge1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0fVxuXG5cdFx0YSB7XG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdGNvbG9yOiAkZ3JlZW47XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0KyBhIHtcblx0XHRcdFx0bWFyZ2luOiAxMHB4IDAgMDtcblxuXHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj01NzZweCcpIHtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMzBweDtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5oZWFkZXItbWFpbiB7XG5cdHBhZGRpbmc6IDE2cHggMDtcblxuXHQuaW5uZXIge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0fVxufVxuXG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVGhpcyBmaWxlIGNvbnRhaW5zIGFsbCBzdHlsZXMgcmVsYXRlZCB0byB0aGUgY29tbW9uIGxheW91dCBvZiB0aGUgc2l0ZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbltpZD1cIndyYXBwZXJcIl0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkYmFzZS1iYWNrZ3JvdW5kLWNvbG9yO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRtaW4taGVpZ2h0OiAxMDB2aDtcbn1cblxubWFpbiB7XG4gICAgZmxleC1ncm93OiAxO1xufVxuXG4uY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGgtY2VudGVyLWNvbnRhaW5lcjtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy1jb250YWluZXI7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbmJsb2NrcXVvdGUge1xuXHRmb250LWZhbWlseTogJ01vbnRzZXJyYXQnO1xufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyBhbGwgc3R5bGVzIHJlbGF0ZWQgdG8gdGhlIGZvb3RlciBvZiB0aGUgc2l0ZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbltpZD1cImZvb3RlclwiXSB7XG4gICAgYmFja2dyb3VuZDogJGJhc2UtYmFja2dyb3VuZC1mb290ZXI7XG5cdGNvbG9yOiAkd2hpdGU7XG5cblx0LmNvbnRhaW5lciB7XG5cdFx0bWF4LXdpZHRoOiAzNjBweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PTU3NnB4Jykge1xuXHRcdFx0bWF4LXdpZHRoOiA2MDBweDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0XHRtYXgtd2lkdGg6IDEwODBweDtcblx0XHR9XG5cdH1cblxuXHQuY29sLWRpdiB7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdH1cblxuXHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRtYXJnaW4tbGVmdDogYXV0b1xuXHRcdH1cblx0fVxuXG5cdHVsIHtcblx0XHRAZXh0ZW5kICVsaXN0cmVzZXQ7XG5cdH1cbn1cblxuLmZvb3Rlci1tYWluIHtcblx0cGFkZGluZzogNTdweCAwIDYwcHg7XG5cblx0LmlubmVyIHtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PTU3NnB4Jykge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHR9XG5cdH1cbn1cblxuLmNvbC1sb2dvIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG5cdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJz49d2lkZXNjcmVlbicpIHtcblx0XHRtYXJnaW4tcmlnaHQ6IDQzcHg7XG5cdH1cbn1cblxuLmZvb3Rlci1sb2dvIHtcblx0d2lkdGg6IDIzNXB4O1xuXHRtYXJnaW46IDAgYXV0byAyNXB4O1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0QGluY2x1ZGUgbWVkaWEoJz49NTc2cHgnKSB7XG5cdFx0bWFyZ2luOiAwIDAgMjVweDtcblx0fVxufVxuXG4uc29jLW5ldHcge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Zm9udC1zaXplOiAzMHB4O1xuXHRjb2xvcjogJGdyZWVuO1xuXG5cdGEge1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogJGRhcmstZ3JlZW47XG5cdFx0fVxuXG5cdH1cbn1cblxuI2Zvb3Rlci1uYXYge1xuXHRmb250LXNpemU6IDE4cHg7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdH1cblxuXHQuYWN0aXZlIHtcblx0XHRhIHtcblx0XHRcdGNvbG9yOiAkZ3JlZW47XG5cdFx0fVxuXHR9XG5cblx0bGkge1xuXHRcdCsgbGkge1xuXHRcdFx0bWFyZ2luLXRvcDogMTNweDtcblx0XHR9XG5cdH1cblxuXHRhIHtcblx0XHRjb2xvcjogaW5oZXJpdDtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6ICRncmVlbjtcblx0XHR9XG5cdH1cbn1cblxuLmNhcmQtY29udGFjdCB7XG5cdGNvbG9yOiAkZ3JlZW47XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cblx0aDQge1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdG1hcmdpbi1ib3R0b206IDE0cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNztcblx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJzw1NzZweCcpIHtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR9XG5cdH1cblxuXHRhIHtcblx0XHRjb2xvcjogaW5oZXJpdDtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6ICRkYXJrLWdyZWVuO1xuXHRcdH1cblx0fVxuXG5cdGFkZHJlc3Mge1xuXHRcdFxuXHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRtYXJnaW46IDA7XG5cblx0XHRwIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cdH1cblxuXHR0aW1lIHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHR9XG5cblx0YWRkcmVzcyxcblx0dGltZSxcblx0LmYtZW1haWwsXG5cdC5mLXBob25lIHtcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHR9XG59XG5cbi5jb2wtY29udGFjdCB7XG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcblx0QGluY2x1ZGUgbWVkaWEoJzw1NzZweCcpIHtcblx0XHRtYXgtd2lkdGg6IDI2MHB4O1xuXHRcdG1hcmdpbjogYXV0bztcblx0XHRtYXJnaW4tdG9wOiAyNXB4O1xuXHR9XG5cblx0KyAuY29sLWNvbnRhY3Qge1xuXHRcdHBhZGRpbmctdG9wOiAyMHB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDI1cHg7XG5cdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj13aWRlc2NyZWVuJykge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDYwcHg7XG5cdFx0fVxuXHR9XG5cblx0aSB7XG5cdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdG1hcmdpbi1yaWdodDogN3B4O1xuXHR9XG5cblx0cCB7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG5cblx0YWRkcmVzcyB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0fVxuXG5cdHRpbWUsXG5cdGEge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRsaW5lLWhlaWdodDogMTtcblx0fVxufVxuXG4uZm9vdGVyLWJvdHRvbSB7XG5cdHBhZGRpbmc6IDVweCAwO1xuXHRjb2xvcjogJHdoaXRlO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0cCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufSIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgYWxsIHN0eWxlcyByZWxhdGVkIHRvIHRoZSBidXR0b24gY29tcG9uZW50LlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5idG4ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1jb2xvcigkYnRuLWJhY2tncm91bmQsICRidG4tY29sb3IsICRidG4tYm9yZGVyLCAkYnRuLWhvdmVyLWJhY2tncm91bmQsICRidG4taG92ZXItYm9yZGVyLCAkYnRuLWhvdmVyLWNvbG9yKTtcbiAgICBib3JkZXI6ICRidG4tYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6ICRidG4tYm9yZGVyLXJhZGl1cztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAkYnRuLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGJ0bi1saW5lLWhlaWdodDtcbiAgICBwYWRkaW5nOiAkYnRuLXBhZGRpbmc7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAmLWRlZmF1bHQge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tY29sb3IoJGJ0bi1iYWNrZ3JvdW5kLCAkYnRuLWNvbG9yLCAkYnRuLWJvcmRlciwgJGJ0bi1ob3Zlci1iYWNrZ3JvdW5kLCAkYnRuLWhvdmVyLWJvcmRlciwgJGJ0bi1ob3Zlci1jb2xvcik7XG4gICAgfVxuXG4gICAgJi1wcmltYXJ5IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWNvbG9yKCRidG4tYmFja2dyb3VuZC1wcmltYXJ5LCAkYnRuLWNvbG9yLXByaW1hcnksICRidG4tYm9yZGVyLXByaW1hcnksICRidG4taG92ZXItYmFja2dyb3VuZC1wcmltYXJ5LCAkYnRuLWhvdmVyLWJvcmRlci1wcmltYXJ5LCAkYnRuLWhvdmVyLWNvbG9yLXByaW1hcnkpO1xuICAgIH1cbiAgICBcblx0Ji1zdWNjZXNzIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWNvbG9yKCRidG4tYmFja2dyb3VuZC1zdWNjZXNzLCAkYnRuLWNvbG9yLXN1Y2Nlc3MsICRidG4tYm9yZGVyLXN1Y2Nlc3MsICRidG4taG92ZXItYmFja2dyb3VuZC1zdWNjZXNzLCAkYnRuLWhvdmVyLWJvcmRlci1zdWNjZXNzLCAkYnRuLWhvdmVyLWNvbG9yLXN1Y2Nlc3MpO1xuICAgIH1cblxuICAgICYtd2FybmluZyB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1jb2xvcigkYnRuLWJhY2tncm91bmQtd2FybmluZywgJGJ0bi1jb2xvci13YXJuaW5nLCAkYnRuLWJvcmRlci13YXJuaW5nLCAkYnRuLWhvdmVyLWJhY2tncm91bmQtd2FybmluZywgJGJ0bi1ob3Zlci1ib3JkZXItd2FybmluZywgJGJ0bi1ob3Zlci1jb2xvci13YXJuaW5nKTtcbiAgICB9XG5cbiAgICAmLXNtIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJ0bi1ib3JkZXItcmFkaXVzLXNtO1xuICAgICAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgICB9XG59XG5cbi5idG4tZ3JvdXAge1xuICAgIG1hcmdpbjogMCAtNXB4IC0xMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLmJ0biB7XG4gICAgICAgIG1hcmdpbjogMCA1cHggMTBweDtcbiAgICB9XG59IiwiLm5hdi1vcGVuZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAyNnB4O1xuXHRoZWlnaHQ6IDIzcHg7XG5cdGZvbnQtc2l6ZTogMDtcblx0bGluZS1oZWlnaHQ6IDA7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblxuXHRAaW5jbHVkZSBtZWRpYShcIuKJpWRlc2t0b3BcIikge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0fVxuXG5cdCY6YmVmb3JlLFxuXHQmOmFmdGVyLFxuXHRzcGFuIHtcblx0XHRiYWNrZ3JvdW5kOiAkZGFyay1ncmVlbjtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogMDtcblx0XHRyaWdodDogMDtcblx0XHRoZWlnaHQ6IDJweDtcblx0XHR0cmFuc2l0aW9uOiAuM3MgYWxsO1xuXHR9XG5cblx0JjpiZWZvcmUsXG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdH1cblxuXHQmOjpiZWZvcmUge1xuXHRcdHRvcDogMDtcblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdGJvdHRvbTogMDtcblx0fVxuXG5cdCY6aG92ZXIge1xuXHRcdG9wYWNpdHk6IDAuOTtcblx0fVxuXG5cdHNwYW4ge1xuXHRcdHRvcDogNTAlO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0fVxuXG5cdC5uYXYtYWN0aXZlICYge1xuXHRcdHNwYW4ge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHR9XG5cblx0XHQmOmJlZm9yZSxcblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWdyZWVuO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXHRcdH1cblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblx0XHRcdGJvdHRvbTogYXV0bztcblx0XHR9XG5cdH1cbn1cbiIsIi5tYWluLW5hdiB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdH1cblxuXHQubmF2LWFjdGl2ZSAmIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG5cdFx0b3BhY2l0eTogMTtcblxuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJzxkZXNrdG9wJykge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdHRvcDogMDtcblx0XHRyaWdodDogMDtcblx0XHR3aWR0aDogMTAwdnc7XG5cdFx0cGFkZGluZzogMjBweCAyMHB4IDYwcHggMjBweDtcblx0XHRoZWlnaHQ6IDEwMHZoO1xuXHRcdHotaW5kZXg6IDEwO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zaXRpb246IC4zcyBhbGw7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj01NzZweCcpIHtcblx0XHRcdHdpZHRoOiA3MHZ3O1xuXHRcdH1cblxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0d2lkdGg6IDEwMHZ3O1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0cmlnaHQ6IDEwMCU7XG5cdFx0XHR6LWluZGV4OiAtMTtcblx0XHRcdGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yOiAjMDAwMDAwLCAkYWxwaGE6IC42KTtcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdH1cblx0fVxuXG5cdC5uYXYtb3BlbmVyIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuXHRcdHNwYW4ge1xuXHRcdFx0b3BhY2l0eTogMDtcblx0XHR9XG5cblx0XHQmOmJlZm9yZSxcblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWdyZWVuO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXHRcdH1cblxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblx0XHRcdGJvdHRvbTogYXV0bztcblx0XHR9XG5cdH1cbn1cblxuI3ByaW1hcnktbmF2IHtcblx0QGV4dGVuZCAlbGlzdHJlc2V0O1xuXHRcblx0Y29sb3I6ICMyMzFGMjA7XG5cdGZvbnQtc2l6ZTogMjBweDtcblx0bGluZS1oZWlnaHQ6IDE7XG5cblx0QGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdG1hcmdpbi1yaWdodDogMjBweDtcblx0XHRmb250LXNpemU6IDE4cHg7XG5cdH1cblxuXHRsaSB7XG5cdFx0bWFyZ2luOiAgMCAwIDIwcHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cblx0XHQrIGxpIHtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PWRlc2t0b3AnKSB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAyMHB4O1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYuYWN0aXZlIHtcblx0XHRcdGNvbG9yOiAkZ3JlZW47XG5cdFx0fVxuXG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogaW5oZXJpdDtcblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGNvbG9yOiAkZ3JlZW47XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiLnBhZ2UtdGl0bGUge1xuXHR0ZXh0LWFsaWduOiByaWdodDtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCM1MzY1OTcsIzFBMjg1NCk7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdHBhZGRpbmc6IDIwcHggMDtcblxuXHRAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuXHRcdHBhZGRpbmc6IDQwcHggMDtcblx0fVxuXG5cdGgxIHtcblx0XHRtYXJnaW46IDA7XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdH1cbn0iLCIuc2VjdGlvbi1pbWctY29udGVudCB7XG5cdGJhY2tncm91bmQ6ICRuYXZ5O1xuXHRjb2xvcjogJHdoaXRlO1xuXG5cdCYucmV2ZXJzZSB7XG5cdFx0YmFja2dyb3VuZDogI2YzZjNmMztcblx0XHRjb2xvcjogJGJsYWNrO1xuXG5cdFx0aDIge1xuXHRcdFx0Y29sb3I6ICMyMzFmMjA7XG5cdFx0fVxuXG5cdFx0LmRmLXJvdyB7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG5cdFx0fVxuXG5cdFx0LmltZyB7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0cmlnaHQ6IGF1dG87XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji5zZWN0aW9uLWZvcm0ge1xuXHRcdC5kZi1yb3cge1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdHBhZGRpbmc6IDAgMCA1MHB4IDA7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuXHRcdFx0XHRwYWRkaW5nOiA1MHB4IDA7XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNvbnRlbnQge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcblx0XHRcdFx0cGFkZGluZzogMzBweCAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5jb2wtaW1nIHtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcblx0XHRcdFx0bWF4LXdpZHRoOiA0MTBweDtcblx0XHRcdFx0ZmxleDogMCAwIDQxMHB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGlucHV0W3R5cGU9J3RleHQnXSxcbmlucHV0W3R5cGU9J3RlbCddLFxuaW5wdXRbdHlwZT0nZW1haWwnXSxcbmlucHV0W3R5cGU9J3NlYXJjaCddLFxuaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSxcbmlucHV0W3R5cGU9J3VybCddLFxuLy8gaW5wdXRbdHlwZT0nZGF0ZSddLFxudGV4dGFyZWEge1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuXHRcdH1cblx0fVxuXG5cdGgyIHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHR9XG5cblx0LmNvbC1pbWcge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHR6LWluZGV4OiAxO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG5cdFx0XHRtYXgtd2lkdGg6IDUwJTtcblx0XHRcdGZsZXg6IDAgMCA1MCU7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuXHRcdFx0bWF4LXdpZHRoOiA0NjJweDtcblx0XHRcdGZsZXg6IDAgMCA0NjJweDtcblx0XHR9XG5cdH1cblxuXHQuY29sLWNvbnRlbnQge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRmbGV4OiAxIDAgMDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuXHRcdFx0bWluLWhlaWdodDogMzUwcHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI+PXdpZGVzY3JlZW5cIikge1xuXHRcdFx0bWluLWhlaWdodDogNDcycHg7XG5cdFx0fVxuXHR9XG5cblx0LmltZyB7XG5cdFx0bWFyZ2luOiAwIC0xNXB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR3aWR0aDogNTV2dztcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdH1cblxuXHRcdGltZyB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRcdFx0b2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmNvbnRlbnQge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRwYWRkaW5nOiA1MHB4IDIwcHg7XG5cdFx0bWF4LXdpZHRoOiA2MjVweDtcblx0XHRtYXJnaW46IGF1dG87XG5cdH1cblxuXHR1bCB7XG5cdFx0bWF4LXdpZHRoOiAyNDVweDtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdG1hcmdpbjogMCBhdXRvIDI1cHg7XG5cdH1cbn1cbiIsIi5zZWN0aW9uLWN0YSB7XG5cdHBhZGRpbmc6IDMwcHggMDtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCMxQTI4NTQsICM1MzY1OTcpO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGNvbG9yOiAkd2hpdGU7XG5cblx0aDIge1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0cGFkZGluZzogNjNweCAwIDYwcHg7XG5cdH1cblxuXHRwIHtcblx0XHRAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMzhweDtcblx0XHR9XG5cdH1cbn0iLCIuc2VjdGlvbi1jb250ZW50LWxpc3Qge1xuXHRjb3VudGVyLXJlc2V0OiBzZWN0aW9uO1xuXHRwYWRkaW5nOiA0MHB4IDA7XG5cblx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuXHRcdHBhZGRpbmc6IDYwcHggMCA3NXB4O1xuXHR9XG5cblx0Ji5kYXJrIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2eTtcblxuXHRcdGgyIHtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0fVxuXG5cdFx0Lmxpc3QtY29udGVudCB7XG5cdFx0XHQuaXRlbSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICM1MzY1OTc7XG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmNvbnRhaW5lciB7XG5cdFx0bWF4LXdpZHRoOiAxMDkwcHg7XG5cdH1cblxuXHRoMiB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdGNvbG9yOiAjMjMxRjIwO1xuXHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XG5cdH1cblxuXHQubGlzdC1jb250ZW50IHtcblx0XHQuaXRlbSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNGM0YzRjM7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA1cHg7XG5cdFx0XHRjb2xvcjogIzI2MjYyNjtcblx0XHRcdHBhZGRpbmc6IDE1cHg7XG5cdFx0XHRtYXJnaW46IDIwcHggMDtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuXHRcdFx0XHRwYWRkaW5nOiAyOXB4IDIwcHg7XG5cdFx0XHR9XG5cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0Y291bnRlci1pbmNyZW1lbnQ6IHNlY3Rpb247XG4gIFx0XHRcdFx0Y29udGVudDogY291bnRlcihzZWN0aW9uKTtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMjBweDtcblx0XHRcdFx0ZmxleDogMCAwIDU1cHg7XG5cdFx0XHRcdG1pbi13aWR0aDogNTVweDtcblx0XHRcdFx0aGVpZ2h0OiA1NXB4O1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRuYXZ5O1xuXHRcdFx0XHRmb250LXNpemU6IDMwcHg7XG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG5cdFx0XHRcdGJveC1zaGFkb3c6IDAgM3B4IDZweCByZ2JhKDAgLDAgLDAgLCAuMTYpO1xuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRcdFx0XHRmbGV4OiAwIDAgNzZweDtcblx0XHRcdFx0XHRtaW4td2lkdGg6IDc2cHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiA3NnB4O1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMzZweDtcblx0XHRcdFx0XHRmb250LXNpemU6IDUycHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0aDMge1xuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjMzMzMzMztcblx0XHRcdH1cblxuXHRcdFx0cCB7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuYnRuLWhvbGRlciB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdHBhZGRpbmctdG9wOiAyMHB4O1xuXHR9XG59IiwiLnNlY3Rpb24tdGVhbSB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogMThweDtcblx0cGFkZGluZzogNjBweCAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNUY1O1xuXG5cdGgyIHtcblx0XHRtYXJnaW4tYm90dG9tOiAyNXB4O1xuXHR9XG5cblx0LmRmLXJvdyB7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0bWFyZ2luOiAwIC0xMHB4O1xuXHR9XG5cblx0W2NsYXNzKj1cImNvbC1cIl0ge1xuXHRcdHBhZGRpbmc6IDUwcHggMTBweCAwO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuXHRcdFx0cGFkZGluZzogMTBweCAxMHB4IDA7XG5cdFx0fVxuXHR9XG5cblx0LmNhcmQtdGVhbSB7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHR3aWR0aDogMjUwcHg7XG5cdFx0bWFyZ2luOiBhdXRvO1xuXHRcdGNvbG9yOiAjMUEyODU0O1xuXG5cdFx0LmltZyB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyNXB4O1xuXHRcdFx0d2lkdGg6IDI1MHB4O1xuXHRcdFx0aGVpZ2h0OiAyNTBweDtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cblx0XHRcdGltZyB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRcdFx0b2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblx0fVxufSIsIi5zZWN0aW9uLWNhcm91c2VsLXRzbWxzIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nOiA2MHB4IDA7XG5cdHotaW5kZXg6IDE7XG5cblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGxlZnQ6IDA7XG5cdFx0dG9wOiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNGM0YzRjMgMzAlLCB0cmFuc3BhcmVudCk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNGM0YzRjMgNTAlLCB0cmFuc3BhcmVudCA5MCUpO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PXdpZGVzY3JlZW4nKSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNGM0YzRjMgNTUlLCB0cmFuc3BhcmVudCk7XG5cdFx0fVxuXHR9XG5cblx0aDIge1xuXHRcdG1hcmdpbi1ib3R0b206IDI1cHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcdFxuXHRcdH1cblx0fVxuXG5cdC5pbm5lciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IDE7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDQwcHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49MTMwMHB4Jykge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdH1cblx0fVxuXG5cdGltZyB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdG9iamVjdC1wb3NpdGlvbjogLTIwJSBjZW50ZXI7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj01NzZweCcpIHtcblx0XHRcdG9iamVjdC1wb3NpdGlvbjogLTEwMCUgY2VudGVyO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PXdpZGVzY3JlZW4nKSB7XG5cdFx0XHRvYmplY3QtZml0OiBjb250YWluO1xuXHRcdFx0b2JqZWN0LXBvc2l0aW9uOiByaWdodCBjZW50ZXI7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49MjAwMHB4Jykge1xuXHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XG5cdFx0XHRvYmplY3QtcG9zaXRpb246IDIwdncgY2VudGVyO1xuXHRcdH1cblx0fVxuXG5cdC5jYXJvdXNlbC1ob2xkZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0XHRtYXgtd2lkdGg6IDUzMHB4O1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHR9XG5cdH1cblxuXHRmaWd1cmUge1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRmb250LWZhbWlseTogJ01vbnRzZXJyYXQnO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjY7XG5cdFx0bWFyZ2luOiAwO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdH1cblx0fVxuXG5cdC5maWd1cmUtaW5uZXIge1xuXHRcdG1heC13aWR0aDogODUlO1xuXHRcdG1hcmdpbjogYXV0bztcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRcdG1heC13aWR0aDogNDg1cHg7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0fVxuXHR9XG5cblx0YmxvY2txdW90ZSB7XG5cdFx0bWFyZ2luOiAwIDAgMThweDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGJvcmRlcjogMDtcblx0XHRjb2xvcjogIzFFMUUxRTtcblxuXHRcdHAge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblx0fVxuXG5cdGZpZ2NhcHRpb24ge1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0Y29sb3I6ICMxRTFFMUU7XG5cdH1cblxuXHQuc2xpY2stYXJyb3cge1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0Y29sb3I6ICRkYXJrLWdyZWVuO1xuXHRcdGZvbnQtc2l6ZTogMjVweDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAzMCU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdHRyYW5zaXRpb246IC4zcyBhbGw7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0XHRmb250LXNpemU6IDMycHg7XG5cdFx0fVxuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogJGdyZWVuO1xuXHRcdH1cblx0fVxuXG5cdC5zbGljay1wcmV2IHtcblx0XHRsZWZ0OiAwO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuXHRcdFx0bGVmdDogLTQwcHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49MTM2NnB4Jykge1xuXHRcdFx0bGVmdDogLTEyMHB4O1xuXHRcdH1cblx0fVxuXHRcblx0LnNsaWNrLW5leHQge1xuXHRcdHJpZ2h0OiAwO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49MTM2NnB4Jykge1xuXHRcdFx0cmlnaHQ6IC03MHB4O1xuXHRcdH1cblx0fVxufSIsIi5zZWN0aW9uLWljb25zIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRwYWRkaW5nOiA2MHB4IDAgNDVweDtcblxuXHQuZGYtcm93IHtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0fVxuXHRcblx0aDIge1xuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdFx0XG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XG5cdFx0fVxuXG5cdFx0KyBwIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdFx0bWF4LXdpZHRoOiA2MDBweDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XG5cdFx0fVxuXHR9XG5cblx0W2NsYXNzKj1cImNvbC1cIl0ge1xuXHRcdG1heC13aWR0aDogNTAlO1xuXHRcdGZsZXg6IDAgMCA1MCU7XG5cdFx0cGFkZGluZzogMCAxNXB4IDE1cHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0XHRtYXgtd2lkdGg6IDMzLjMzMzMzMyU7XG5cdFx0XHRmbGV4OiAwIDAgMzMuMzMzMzMzMyU7XG5cdFx0fVxuXHR9XG5cblx0Lmljb25zLWhvbGRlciB7XG5cdFx0bWF4LXdpZHRoOiA4MDBweDtcbiAgICBcdG1hcmdpbjogYXV0bztcblxuXHRcdCsgLmJ0biB7XG5cdFx0XHRtYXJnaW4tdG9wOiA0NXB4O1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcblx0XHR9XG5cdH1cbn1cblxuLmNhcmQtaWNvbiB7XG5cdGNvbG9yOiAkbmF2eTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Zm9udC1zaXplOiAxNHB4O1xuXG5cdEBpbmNsdWRlIG1lZGlhKCc+PXBob25lJykge1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0fVxuXHRcblx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuXHRcdGZvbnQtc2l6ZTogMThweDtcblx0fVxuXG5cdC5pbWcge1xuXHRcdCsgcCB7XG5cdFx0XHRtYXJnaW46IDE1cHggMCAwO1xuXHRcdH1cblx0fVxuXG5cdGEge1xuXHRcdGNvbG9yOiAkbmF2eTtcblx0XHR0cmFuc2l0aW9uOiAuM3MgYWxsO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRvcGFjaXR5OiAuODtcblx0XHR9XG5cdH1cbn0iLCIuc2VjdGlvbi1hY2Mge1xuXHRwYWRkaW5nOiA2MHB4IDA7XG5cblx0aDIge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRtYXJnaW4tYm90dG9tOiAyNXB4O1xuXHR9XG59XG5cbi5hY2MtaXRlbSB7XG5cdGJveC1zaGFkb3c6IDAgM3B4IDZweCByZ2JhKDAsIDMzLCA2MiwgMC4xNSk7XG5cdGJvcmRlci1yYWRpdXM6IDVweDtcblx0bWFyZ2luLWJvdHRvbTogMTVweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHR0cmFuc2l0aW9uOiAuM3MgYWxsO1xuXHRiYWNrZ3JvdW5kOiAjRjhGOEY5O1xuXG5cdCY6aG92ZXIge1xuXHRcdGJveC1zaGFkb3c6IDAgM3B4IDZweCByZ2JhKDAsIDMzLCA2MiwgMC41KTtcblx0fVxuXG5cdHAge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblxuXHQuc2xpZGUge1xuXHRcdHBhZGRpbmc6IDAgMjBweCAyMHB4IDtcblx0fVxuXG5cdC5vcGVuZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRjb2xvcjogIzUzNjU5Nztcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0cGFkZGluZzogMjBweCA0MHB4IDIwcHggMjBweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHR9XG5cdFx0XG5cdFx0aSB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcblx0XHRcdHJpZ2h0OiAyMHB4O1xuXHRcdFx0Zm9udC1zaXplOiAxMHB4O1xuXHRcdFx0dHJhbnNpdGlvbjogLjNzIGFsbDtcblx0XHR9XG5cdH1cblxuXHQmLmFjdGl2ZSB7XG5cdFx0aSB7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKSB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdH1cblx0fVxufVxuXG4iLCIuc2VjdGlvbi10aXRsZS1idG4ge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHBhZGRpbmc6IDAgMCA2MHB4O1xuXG5cdGgyIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0bWFyZ2luLWJvdHRvbTogMjVweDtcblx0fVxufSIsIi5zZWN0aW9uLWNhcmQtaWNvbnMge1xuXHRwYWRkaW5nOiA2MHB4IDAgNDBweCAwO1xuXG5cdGgyIHtcblx0XHRtYXJnaW4tYm90dG9tOiAyNXB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdCsgcCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA0MHB4O1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdH1cblx0fVxuXG5cdC5kZi1yb3cge1xuXHRcdG1hcmdpbjogMCAtOHB4O1xuXHR9XG5cblx0W2NsYXNzKj1cImNvbC1cIl0ge1xuXHRcdHBhZGRpbmc6IDAgOHB4IDIwcHg7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdGZsZXg6IDAgMCAxMDAlO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj01NzZweCcpIHtcblx0XHRcdG1heC13aWR0aDogNTAlO1xuXHRcdFx0ZmxleDogMCAwIDUwJTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0XHRtYXgtd2lkdGg6IDMzLjMzMzMzMzMlO1xuXHRcdFx0ZmxleDogMCAwIDMzLjMzMzMzMzMlO1xuXHRcdH1cblxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHR9XG5cdH1cbn1cblxuLmNhcmQtaWNvbi10ZXh0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogI0YzRjNGMztcblx0cGFkZGluZzogMTVweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR3aWR0aDogMTAwJTtcblxuXHQuaW1nIHtcblx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xuXHR9XG5cblx0c3Ryb25nIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNDtcblx0XHRjb2xvcjogJG5hdnk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdH1cblx0fVxuXG5cdHAge1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0fVxuXG5cdGEge1xuXHRcdGNvbG9yOiAkZ3JlZW47XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6ICRkYXJrLWdyZWVuO1xuXHRcdFx0XG5cdFx0fVxuXHR9XG59IiwiLnNlY3Rpb24tdGl0bGUtaW1hZ2Uge1xuXHQuZGYtcm93IHtcblx0XHRtYXJnaW46IDA7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHR9XG5cblx0XHQmOm50aC1jaGlsZChldmVuKSB7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcblx0XHRcdH1cblxuXHRcdFx0LmltZyB7XG5cdFx0XHRcdC5pbWctaW5uZXIge1xuXHRcdFx0XHRcdGxlZnQ6IGF1dG87XG5cdFx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQudGl0bGUge1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMztcblx0XHRwYWRkaW5nOiAyNXB4IDE1cHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0XHRtYXgtd2lkdGg6IDUwJTtcblx0XHRcdGZsZXg6IDAgMCA1MCU7XG5cdFx0XHRwYWRkaW5nOiA2MHB4IDE1cHg7XG5cdFx0fVxuXHR9XG5cblx0LmltZyB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRmbGV4OiAwIDAgMTAwJTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRcdG1heC13aWR0aDogNTAlO1xuXHRcdFx0ZmxleDogMCAwIDUwJTtcblx0XHR9XG5cblx0XHQuaW1nLWlubmVyIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdG1hcmdpbjogMCAtMTVweDtcblx0XHRcdGhlaWdodDogMjUwcHg7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHdpZHRoOiA1MHZ3O1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXG5cdFx0aW1nIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdFx0b2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0fVxuXHR9XG5cblx0aDMge1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0Y29sb3I6ICMyMzFGMjA7XG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRtYXgtd2lkdGg6IDQ5NXB4O1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcblx0XHRcdGZvbnQtc2l6ZTogMzBweDtcblx0XHR9XG5cblx0XHRzdHJvbmcge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdGNvbG9yOiAjNTM2NTk3O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiA0cHg7XG5cdFx0fVxuXHR9XG59IiwiLnNlY3Rpb24taGVybyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTtcblxuXG5cdGltZyB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRvYmplY3QtZml0OiBjb3Zlcjtcblx0XHRvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcblx0fVxuXG5cdC5pbm5lciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR6LWluZGV4OiAxO1xuXHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRjb2xvcjogIzIzMUYyMDtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdG1pbi1oZWlnaHQ6IDQ0MHB4O1xuXHRcdHBhZGRpbmc6IDI1cHggMDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRtYXgtd2lkdGg6IDM3N3B4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuXHRcdFx0bWF4LXdpZHRoOiA1MDBweDtcblx0XHRcdGZvbnQtc2l6ZTogMjJweDtcblx0XHRcdG1pbi1oZWlnaHQ6IDU0MHB4O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PXdpZGVzY3JlZW4nKSB7XG5cdFx0XHRmb250LXNpemU6IDMycHg7XG5cdFx0XHRtYXgtd2lkdGg6IDYyMHB4O1xuXHRcdFx0bWluLWhlaWdodDogNjM4cHg7XG5cdFx0fVxuXG5cdFx0cCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XG5cdFx0XHR9XG5cblx0XHR9XG5cdH1cblxuXHRoMSB7XG5cdFx0Zm9udC1zaXplOiAzMHB4O1xuXHRcdGxldHRlci1zcGFjaW5nOiAtLjAxMmVtO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuXHRcdFx0Zm9udC1zaXplOiA0NXB4O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PXdpZGVzY3JlZW4nKSB7XG5cdFx0XHRmb250LXNpemU6IDU1cHg7XG5cdFx0fVxuXHR9XG5cblx0aDIge1xuXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRsZXR0ZXItc3BhY2luZzogLS4wMTJlbTtcblx0XHRtYXJnaW46IDAgMCA1cHggMDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcblx0XHRcdGZvbnQtc2l6ZTogMjRweDtcblx0XHR9XG5cdFx0XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj13aWRlc2NyZWVuJykge1xuXHRcdFx0Zm9udC1zaXplOiAzNHB4O1xuXHRcdH1cblx0fVxuXG5cdGgzIHtcblx0XHRmb250LXNpemU6IDI1cHg7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IC0uMDEyZW07XG5cdFx0Zm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jztcblx0XHRtYXJnaW46IDAgMCAyMHB4IDA7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG5cdFx0XHRmb250LXNpemU6IDMwcHg7XG5cdFx0XHRtYXJnaW46IDAgMCA1MHB4IDA7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJz49d2lkZXNjcmVlbicpIHtcblx0XHRcdGZvbnQtc2l6ZTogNDBweDtcblx0XHRcdG1hcmdpbjogMCAwIDcwcHggMDtcblx0XHR9XG5cdH1cblxufSIsIi5zZWN0aW9uLWlubmVyIHtcblx0cGFkZGluZzogNjBweCAwO1xufSJdfQ== */
