@charset "UTF-8";
/*
base/ – Style global comme les resets, la typo, coleurs, etc. Les fichiers ne devrait pas être manipulé, il s'agit en quelques sorte d'un wireframe.
components/ –
layout/ –
pages/ – Style qui s'applique à des pages spécifique, si nécessaire
themes/ –
utils/ –
vendors/ –
main.scss –
*/
/*------------------------------------------------------------------
[Variables]
-------------------------------------------------------------------*/
/*! sanitize.css v4.1.0 | CC0 License | github.com/jonathantneal/sanitize.css */
/* Display definitions
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 * 2. Add the correct display in IE.
 */
@import url("https://fonts.googleapis.com/css?family=Montserrat:400,700,900");
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  /* 1 */
  display: block; }

/**
 * Add the correct display in IE 9-.
 */
audio,
canvas,
progress,
video {
  display: inline-block; }

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

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

/* Elements of HTML (https://www.w3.org/TR/html5/semantics.html)
   ========================================================================== */
/**
 * 1. Remove repeating backgrounds in all browsers (opinionated).
 * 2. Add box sizing inheritence in all browsers (opinionated).
 */
*,
::before,
::after {
  background-repeat: no-repeat;
  /* 1 */
  box-sizing: inherit;
  /* 2 */ }

/**
 * 1. Add text decoration inheritance in all browsers (opinionated).
 * 2. Add vertical alignment inheritence in all browsers (opinionated).
 */
::before,
::after {
  text-decoration: inherit;
  /* 1 */
  vertical-align: inherit;
  /* 2 */ }

/**
 * 1. Add border box sizing in all browsers (opinionated).
 * 2. Add the default cursor in all browsers (opinionated).
 * 3. Add a flattened line height in all browsers (opinionated).
 * 4. Prevent font size adjustments after orientation changes in IE and iOS.
 */
html {
  box-sizing: border-box;
  /* 1 */
  cursor: default;
  /* 2 */
  font-family: sans-serif;
  /* 3 */
  line-height: 1.5;
  /* 3 */
  -ms-text-size-adjust: 100%;
  /* 4 */
  -webkit-text-size-adjust: 100%;
  /* 4 */ }

/* Sections (https://www.w3.org/TR/html5/sections.html)
   ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0; }

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

/* Grouping content (https://www.w3.org/TR/html5/grouping-content.html)
   ========================================================================== */
/**
 * 1. Correct font sizing inheritance and scaling in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * 1. Correct the height in Firefox.
 * 2. Add visible overflow in Edge and IE.
 */
hr {
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * Remove the list style on navigation lists in all browsers (opinionated).
 */
nav ol,
nav ul {
  list-style: none; }

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Add a bordered underline effect in all browsers.
 * 2. Remove text decoration in Firefox 40+.
 */
abbr[title] {
  border-bottom: 1px dotted;
  /* 1 */
  text-decoration: none;
  /* 2 */ }

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit; }

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

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic; }

/**
 * Add the correct colors in IE 9-.
 */
mark {
  background-color: #ffff00;
  color: #000000; }

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

/**
 * Correct the font size in all browsers.
 */
small {
  font-size: 83.3333%; }

/**
 * Change the positioning on superscript and subscript elements
 * in all browsers (opinionated).
 * 1. Correct the font size in all browsers.
 */
sub,
sup {
  font-size: 83.3333%;
  /* 1 */
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -.25em; }

sup {
  top: -.5em; }

/*
 * Remove the text shadow on text selections (opinionated).
 * 1. Restore the coloring undone by defining the text shadow (opinionated).
 */
::-moz-selection {
  background-color: #b3d4fc;
  /* 1 */
  color: #000000;
  /* 1 */
  text-shadow: none; }

::selection {
  background-color: #b3d4fc;
  /* 1 */
  color: #000000;
  /* 1 */
  text-shadow: none; }

/* Embedded content (https://www.w3.org/TR/html5/embedded-content-0.html)
   ========================================================================== */
/*
 * Change the alignment on media elements in all browers (opinionated).
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle; }

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

/**
 * Change the fill color to match the text color in all browsers (opinionated).
 */
svg {
  fill: currentColor; }

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden; }

/* Links (https://www.w3.org/TR/html5/links.html#links)
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove the gaps in underlines in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

/**
 * Remove the outline when hovering in all browsers (opinionated).
 */
a:hover {
  outline-width: 0; }

/* Tabular data (https://www.w3.org/TR/html5/tabular-data.html)
   ========================================================================== */
/*
 * Remove border spacing in all browsers (opinionated).
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

/* transform-style:  (https://www.w3.org/TR/html5/forms.html)
   ========================================================================== */
/**
 * 1. Remove the default styling in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
select,
textarea {
  background-color: transparent;
  /* 1 */
  border-style: none;
  /* 1 */
  color: inherit;
  /* 1 */
  font-size: 1em;
  /* 1 */
  margin: 0;
  /* 2 */ }

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

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

/**
 * 1. Prevent the WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

/**
 * Remove the inner border and padding in Firefox.
 */
::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Correct the focus styles unset by the previous rule.
 */
:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Correct the border, margin, and padding in all browsers.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: .35em .625em .75em; }

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

/**
 * 1. Remove the vertical scrollbar in IE.
 * 2. Change the resize direction on textareas in all browsers (opinionated).
 */
textarea {
  overflow: auto;
  /* 1 */
  resize: vertical;
  /* 2 */ }

/**
 * Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  padding: 0; }

/**
 * Correct the cursor style on increment and decrement buttons in Chrome.
 */
::-webkit-inner-spin-button,
::-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 and cancel buttons in Chrome and Safari for OS X.
 */
::-webkit-search-cancel-button,
::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Correct the text style on placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: .54; }

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

/* WAI-ARIA (https://www.w3.org/TR/html5/dom.html#wai-aria)
   ========================================================================== */
/**
 * Change the cursor on busy elements (opinionated).
 */
[aria-busy="true"] {
  cursor: progress; }

/*
 * Change the cursor on control elements (opinionated).
 */
[aria-controls] {
  cursor: pointer; }

/*
 * Change the cursor on disabled, not-editable, or otherwise
 * inoperable elements (opinionated).
 */
[aria-disabled] {
  cursor: default; }

/* User interaction (https://www.w3.org/TR/html5/editing.html)
   ========================================================================== */
/*
 * Remove the tapping delay on clickable elements (opinionated).
 * 1. Remove the tapping delay in IE 10.
 */
a,
area,
button,
input,
label,
select,
textarea,
[tabindex] {
  -ms-touch-action: manipulation;
  /* 1 */
  touch-action: manipulation; }

/*
 * Change the display on visually hidden accessible elements (opinionated).
 */
[hidden][aria-hidden="false"] {
  clip: rect(0, 0, 0, 0);
  display: inherit;
  position: absolute; }

[hidden][aria-hidden="false"]:focus {
  clip: auto; }

/*
<div class="palette">
    <div class="color primary"><div class="variants"></div></div>
    <div class="color utility"><div class="variants"></div></div>
    <div class="color accent"><div class="variants"></div></div>
    <div class="color secondary"><div class="variants"></div></div>
    <div class="color foreground"><div class="variants"></div></div>
    <div class="color background"><div class="variants"></div></div>
</div>
 */
.palette {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  max-width: 100%; }

.color {
  width: calc(20% - 1rem);
  height: 170px;
  display: block;
  border: 1px solid #fff;
  position: relative; }
  .color:before, .color:after {
    content: '';
    position: absolute;
    display: block;
    width: 100%;
    height: 30%;
    bottom: 0;
    left: 0;
    border-top: 1px solid #fff;
    padding: 0.5rem;
    text-transform: uppercase;
    font-size: 85%;
    overflow: hidden;
    word-wrap: nowrap;
    text-overflow: ellipsis; }
  .color:before {
    background-color: white;
    font-weight: bold; }
  .color:after {
    padding-top: 1.5rem;
    font-size: 70%;
    color: gray; }
  .color.primary:before {
    content: "primary"; }
  .color.primary:after {
    content: ""; }
  .color.primary .variants {
    border-left: 2px solid white;
    border-bottom: 2px solid white;
    position: absolute;
    height: 7.5rem;
    width: 1.5rem;
    right: 0;
    top: 0;
    background: linear-gradient(to bottom, #3F48CC 0rem, #3F48CC 1.5rem, #70C1B3 1.5rem, #70C1B3 3rem, #333333 3rem, #333333 4.5rem, #fff 4.5rem, #fff 6rem, #C90E0E 6rem, #C90E0E 7.5rem); }

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

/*
SCSS variables are information about icon's compiled state, stored under its original file name

.icon-home {
  width: $icon-home-width;
}

The large array-like variables contain all information about a single icon
$icon-home: x y offset_x offset_y width height total_width total_height image_path;

At the bottom of this section, we provide information about the spritesheet itself
$spritesheet: width height image $spritesheet-sprites;
*/
/*
The provided mixins are intended to be used with the array-like variables

.icon-home {
  @include sprite-width($icon-home);
}

.icon-email {
  @include sprite($icon-email);
}
*/
/*
The `sprites` mixin generates identical output to the CSS template
  but can be overridden inside of SCSS

@include sprites($spritesheet-sprites);
*/
.sprite {
  display: inline-block; }
  .sprite--_credit_arrow {
    background-image: url(../../public/images/icon-sprite.png);
    background-position: -232px -187px;
    width: 18px;
    height: 18px; }
  .sprite--arrow-plain-white {
    background-image: url(../../public/images/icon-sprite.png);
    background-position: -232px -44px;
    width: 29px;
    height: 29px; }
  .sprite--block-gallery-white {
    background-image: url(../../public/images/icon-sprite.png);
    background-position: -65px 0px;
    width: 65px;
    height: 54px; }
  .sprite--facebook-white {
    background-image: url(../../public/images/icon-sprite.png);
    background-position: -180px -44px;
    width: 32px;
    height: 64px; }
  .sprite--find-ico-small {
    background-image: url(../../public/images/icon-sprite.png);
    background-position: -232px -159px;
    width: 22px;
    height: 28px; }
  .sprite--find-ico {
    background-image: url(../../public/images/icon-sprite.png);
    background-position: -232px 0px;
    width: 34px;
    height: 44px; }
  .sprite--gallery-ico-white {
    background-image: url(../../public/images/icon-sprite.png);
    background-position: -41px -164px;
    width: 52px;
    height: 32px; }
  .sprite--gallery-white {
    background-image: url(../../public/images/icon-sprite.png);
    background-position: 0px 0px;
    width: 65px;
    height: 64px; }
  .sprite--infowindow-dark {
    background-image: url(../../public/images/icon-sprite.png);
    background-position: -215px -149px;
    width: 17px;
    height: 9px; }
  .sprite--infowindow-light {
    background-image: url(../../public/images/icon-sprite.png);
    background-position: -130px -100px;
    width: 17px;
    height: 9px; }
  .sprite--li-bullet {
    background-image: url(../../public/images/icon-sprite.png);
    background-position: -250px -187px;
    width: 14px;
    height: 14px; }
  .sprite--mail-white {
    background-image: url(../../public/images/icon-sprite.png);
    background-position: -59px -64px;
    width: 57px;
    height: 45px; }
  .sprite--pin-blue {
    background-image: url(../../public/images/icon-sprite.png);
    background-position: -232px -102px;
    width: 24px;
    height: 32px; }
  .sprite--scrolltop-white {
    background-image: url(../../public/images/icon-sprite.png);
    background-position: -180px -149px;
    width: 18px;
    height: 12px; }
  .sprite--slider-arrow-next {
    background-image: url(../../public/images/icon-sprite.png);
    background-position: -180px -108px;
    width: 41px;
    height: 41px; }
  .sprite--slider-arrow-prev {
    background-image: url(../../public/images/icon-sprite.png);
    background-position: 0px -164px;
    width: 41px;
    height: 41px; }
  .sprite--social-blainville-white {
    background-image: url(../../public/images/icon-sprite.png);
    background-position: -130px -50px;
    width: 50px;
    height: 50px; }
  .sprite--social-fb-white {
    background-image: url(../../public/images/icon-sprite.png);
    background-position: 0px -114px;
    width: 50px;
    height: 50px; }
  .sprite--social-mail-white {
    background-image: url(../../public/images/icon-sprite.png);
    background-position: -50px -114px;
    width: 50px;
    height: 50px; }
  .sprite--social-twitter-white {
    background-image: url(../../public/images/icon-sprite.png);
    background-position: -130px 0px;
    width: 50px;
    height: 50px; }
  .sprite--toggle-down {
    background-image: url(../../public/images/icon-sprite.png);
    background-position: -212px -83px;
    width: 19px;
    height: 19px; }
  .sprite--toggle-left {
    background-image: url(../../public/images/icon-sprite.png);
    background-position: -232px -134px;
    width: 25px;
    height: 25px; }
  .sprite--toggle-right-white {
    background-image: url(../../public/images/icon-sprite.png);
    background-position: -212px -44px;
    width: 20px;
    height: 20px; }
  .sprite--toggle-right {
    background-image: url(../../public/images/icon-sprite.png);
    background-position: -232px -73px;
    width: 29px;
    height: 29px; }
  .sprite--toggle-up {
    background-image: url(../../public/images/icon-sprite.png);
    background-position: -212px -64px;
    width: 19px;
    height: 19px; }
  .sprite--twitter-white {
    background-image: url(../../public/images/icon-sprite.png);
    background-position: 0px -64px;
    width: 59px;
    height: 50px; }
  .sprite--ul-dropdown-white {
    background-image: url(../../public/images/icon-sprite.png);
    background-position: -198px -149px;
    width: 17px;
    height: 11px; }
  .sprite--video-ico-white {
    background-image: url(../../public/images/icon-sprite.png);
    background-position: -100px -114px;
    width: 52px;
    height: 44px; }
  .sprite--visit-ico-white {
    background-image: url(../../public/images/icon-sprite.png);
    background-position: -180px 0px;
    width: 52px;
    height: 44px; }

fieldset {
  margin: 0;
  padding: 0;
  border: 0; }

html {
  font-size: 15px;
  font-size: 100%; }

html, body {
  height: 100%;
  min-height: 100%; }
  @media (max-width: 767px) {
    html, body {
      min-width: 320px; } }

.frm_hidden {
  display: none; }

.frm_message, .frm_error_style {
  display: block;
  padding: 12px;
  border: 1px solid #3f48cc;
  margin-bottom: 20px;
  color: #3f48cc;
  font-weight: 700; }
  .frm_message p:last-child, .frm_error_style p:last-child {
    margin-bottom: 0; }

.frm_error_style {
  color: #c90e0e; }

.radio, .frm_radio, .frm_checkbox {
  margin: 0 12px 0 0;
  display: inline-block; }
  .radio label, .frm_radio label, .frm_checkbox label {
    font-weight: normal;
    margin: 0;
    cursor: pointer; }
    .radio label:before, .frm_radio label:before, .frm_checkbox label:before {
      content: '';
      display: inline-block;
      border: 1px solid #70c1b3;
      width: 20px;
      height: 20px;
      position: relative;
      vertical-align: top;
      cursor: pointer;
      text-align: center; }
  .radio.checked label::before, .frm_radio.checked label::before, .frm_checkbox.checked label::before {
    background-color: #3f48cc;
    box-shadow: inset 0 0 0 1px #70c1b3; }
  .radio input[type="radio"], .radio input[type="checkbox"], .frm_radio input[type="radio"], .frm_radio input[type="checkbox"], .frm_checkbox input[type="radio"], .frm_checkbox input[type="checkbox"] {
    position: absolute;
    opacity: 0; }
    .radio input[type="radio"] + label, .radio input[type="checkbox"] + label, .frm_radio input[type="radio"] + label, .frm_radio input[type="checkbox"] + label, .frm_checkbox input[type="radio"] + label, .frm_checkbox input[type="checkbox"] + label {
      font-weight: normal;
      margin: 0; }
      .radio input[type="radio"] + label:before, .radio input[type="checkbox"] + label:before, .frm_radio input[type="radio"] + label:before, .frm_radio input[type="checkbox"] + label:before, .frm_checkbox input[type="radio"] + label:before, .frm_checkbox input[type="checkbox"] + label:before {
        content: '';
        display: inline-block;
        border: 1px solid #70c1b3;
        width: 20px;
        height: 20px;
        position: relative;
        vertical-align: top;
        cursor: pointer;
        text-align: center; }
    .radio input[type="radio"]:checked + label:before, .radio input[type="checkbox"]:checked + label:before, .frm_radio input[type="radio"]:checked + label:before, .frm_radio input[type="checkbox"]:checked + label:before, .frm_checkbox input[type="radio"]:checked + label:before, .frm_checkbox input[type="checkbox"]:checked + label:before {
      background-color: #3f48cc;
      box-shadow: inset 0 0 0 1px #70c1b3; }

.page-title {
  font: normal 400 15px/1.4 "Montserrat", sans-serif;
  font-size: 42px;
  font-size: 2.8rem;
  display: block;
  text-align: left;
  color: #3f48cc;
  max-width: 800px;
  letter-spacing: -2px;
  text-transform: uppercase;
  margin-left: 6.25%;
  line-height: 1.1;
  background: rgba(255, 255, 255, 0.82);
  padding: 24px;
  margin: 0;
  position: relative; }
  @media (min-width: 768px) and (max-width: 991px) {
    .page-title {
      font-size: 32px;
      font-size: 2.13333rem;
      max-width: 75%; } }
  @media (max-width: 767px) {
    .page-title {
      font-size: 20px;
      font-size: 1.33333rem;
      max-width: 80%; } }

.logo_carousel {
  margin-top: 45px; }
  .logo_carousel .slick-slide {
    float: none;
    display: inline-block;
    vertical-align: middle;
    text-align: center; }
  .logo_carousel img {
    max-width: 80%;
    vertical-align: middle;
    display: inline-block; }
    @media (min-width: 768px) and (max-width: 991px) {
      .logo_carousel img {
        max-width: inherit;
        max-width: 100%; } }

.form-group {
  margin-bottom: 12px; }
  .form-group:last-child {
    margin-bottom: 0; }

select, input[type=text], input[type=email], textarea {
  border: 1px solid #70c1b3;
  outline: none;
  width: 100%;
  padding: 12px; }
  select:focus, input[type=text]:focus, input[type=email]:focus, textarea:focus {
    border-color: #3f48cc; }

label {
  display: block;
  font: normal 700 15px/1.4 "Montserrat", sans-serif;
  margin-bottom: 4px; }

.form-field {
  margin-bottom: 20px; }

textarea {
  height: 145px;
  resize: none; }

p {
  margin: 0 0 25px 0; }

h1, h2, h3, h4, h5, h6 {
  margin: 0 0 0 0; }

body {
  font: normal 400 15px/1.4 "Montserrat", sans-serif;
  color: #333333;
  background: #3f48cc;
  line-height: 1.6; }

.btn, .frm_button_submit {
  display: inline-block;
  background: #3F48CC;
  text-transform: uppercase;
  font-size: 15px;
  font-size: 1rem;
  color: #FFFFFF;
  text-decoration: none;
  padding: 10px 15px; }
  .btn:hover, .frm_button_submit:hover {
    background: #70c1b3; }

.btn--large {
  width: 100%;
  font: normal 700 15px/1.4 "Montserrat", sans-serif;
  text-align: center;
  font-size: 18px;
  font-size: 1.2rem; }

.next {
  position: relative; }
  .next__wrapper {
    margin-left: 16.66667%;
    width: 66.66667%;
    padding: 6% 0 0 0;
    margin-top: 65px; }
  .next a {
    font: normal 700 15px/1.4 "Montserrat", sans-serif;
    font-size: 18px;
    font-size: 1.2rem;
    text-transform: uppercase;
    color: #3F48CC;
    position: relative;
    display: inline-block;
    text-decoration: none; }
    .next a:after {
      content: '';
      display: block;
      width: 20px;
      height: 20px;
      background-size: contain;
      background-repeat: no-repeat;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      position: absolute; }
    .next a.prev {
      padding-left: 34px;
      float: left;
      -webkit-transform: translateY(-100%);
          -ms-transform: translateY(-100%);
              transform: translateY(-100%); }
      .next a.prev:after {
        background-image: url("./prev-ico.svg");
        left: 0; }
    .next a.next {
      padding-right: 34px;
      float: right; }
      .next a.next:after {
        background-image: url("./next-ico.svg");
        right: 0; }
  .next svg {
    position: absolute;
    left: 50%;
    -webkit-transform: translate(-50%, 5%);
        -ms-transform: translate(-50%, 5%);
            transform: translate(-50%, 5%);
    bottom: 100%;
    width: 150%;
    height: auto;
    pointer-events: none; }
    @media (max-width: 767px), (min-width: 768px) and (max-width: 991px) {
      .next svg {
        display: none; } }
    @media (max-width: 767px), (min-width: 768px) and (max-width: 991px) {
      .next svg {
        display: none; } }

.c-about {
  position: relative; }
  .c-about__wrapper {
    padding: 4.16667%; }
  .c-about svg {
    position: absolute;
    left: 50%;
    -webkit-transform: translate(-50%, 5%);
        -ms-transform: translate(-50%, 5%);
            transform: translate(-50%, 5%);
    bottom: 0;
    width: 100%;
    height: auto;
    pointer-events: none; }
    @media (max-width: 767px), (min-width: 768px) and (max-width: 991px) {
      .c-about svg {
        display: none; } }
    @media (max-width: 767px), (min-width: 768px) and (max-width: 991px) {
      .c-about svg {
        display: none; } }
  .c-about .media {
    display: inline-block;
    width: 16.66667%;
    vertical-align: top;
    margin-left: 16.66667%; }
    @media (min-width: 768px) and (max-width: 991px) {
      .c-about .media {
        margin-left: 0;
        width: 33.33333%; } }
    @media (max-width: 767px) {
      .c-about .media {
        width: 100%;
        margin: 0 auto auto;
        display: block; } }
    .c-about .media img {
      width: 100%;
      max-width: 100%;
      height: auto; }
  .c-about .body {
    display: inline-block;
    width: 37.5%;
    vertical-align: top;
    margin-left: 4.16667%; }
    @media (min-width: 768px) and (max-width: 991px) {
      .c-about .body {
        width: 50%; } }
    @media (max-width: 767px) {
      .c-about .body {
        width: 100%;
        display: block;
        margin: 0 auto auto; } }
    .c-about .body .wrapper {
      padding: 4.16667% 0; }
    .c-about .body h3 {
      font-size: 24px;
      font-size: 1.6rem;
      text-transform: uppercase;
      color: #3F48CC; }

.grid {
  position: absolute;
  display: block;
  top: 0;
  height: 100%;
  width: 4.16667%;
  z-index: 1; }
  .grid.grid-1 {
    left: 4.16667%; }
  .grid.grid-2 {
    left: 8.33333%; }
  .grid.grid-3 {
    left: 12.5%; }
  .grid.grid-4 {
    left: 16.66667%; }
  .grid.grid-5 {
    left: 20.83333%; }
  .grid.grid-6 {
    left: 25%; }
  .grid.grid-7 {
    left: 29.16667%; }
  .grid.grid-8 {
    left: 33.33333%; }
  .grid.grid-9 {
    left: 37.5%; }
  .grid.grid-10 {
    left: 41.66667%; }
  .grid.grid-11 {
    left: 45.83333%; }
  .grid.grid-12 {
    left: 50%; }
  .grid.grid-13 {
    left: 54.16667%; }
  .grid.grid-14 {
    left: 58.33333%; }
  .grid.grid-15 {
    left: 62.5%; }
  .grid.grid-16 {
    left: 66.66667%; }
  .grid.grid-17 {
    left: 70.83333%; }
  .grid.grid-18 {
    left: 75%; }
  .grid.grid-19 {
    left: 79.16667%; }
  .grid.grid-20 {
    left: 83.33333%; }
  .grid.grid-21 {
    left: 87.5%; }
  .grid.grid-22 {
    left: 91.66667%; }
  .grid.grid-23 {
    left: 95.83333%; }
  .grid.grid-24 {
    left: 100%; }
  .grid:after {
    content: '';
    position: absolute;
    right: 0;
    height: 100%;
    width: 1px;
    background: rgba(0, 0, 0, 0.07); }

#container {
  padding: 5% 0; }

.box-listing .box {
  margin: 45px 0; }
  .box-listing .box:nth-child(2n) .box-content {
    background-position: center bottom; }
  .box-listing .box:nth-child(3n) .box-content {
    background-position: top center; }
  .box-listing .box:nth-child(4n) .box-content {
    background-position: bottom right; }
  .box-listing .box:nth-child(1) .box-content {
    background-size: 128%; }
  .box-listing .box:nth-child(2) .box-content {
    background-size: 126%; }
  .box-listing .box:nth-child(3) .box-content {
    background-size: 183%; }
  .box-listing .box:nth-child(4) .box-content {
    background-size: 156%; }
  .box-listing .box:nth-child(5) .box-content {
    background-size: 168%; }
  .box-listing .box:nth-child(even) .box-content {
    margin-left: 8.33333%;
    padding-left: 12.5%;
    padding-right: 8.33333%; }
    @media (min-width: 768px) and (max-width: 991px) {
      .box-listing .box:nth-child(even) .box-content {
        margin: 0 auto auto;
        padding: 35px;
        margin-left: 8.33333%; } }
    @media (max-width: 767px) {
      .box-listing .box:nth-child(even) .box-content {
        margin: 0 auto auto;
        padding: 35px; } }
  .box-listing .box:nth-child(even) .box-body {
    padding-right: 10.71429%;
    padding-left: 0; }
  .box-listing .box:nth-child(even) .box-excerpt {
    right: auto;
    left: 100%;
    text-align: left; }
    @media (max-width: 767px) {
      .box-listing .box:nth-child(even) .box-excerpt {
        right: inherit;
        left: inherit; } }

.box-listing .box-content {
  display: inline-block;
  vertical-align: top;
  width: 58.33333%;
  margin-left: 33.33333%;
  border: 1px solid #70C1B3;
  padding: 6.25% 12.5%;
  padding-left: 8.33333%;
  background-position: top right;
  background-image: url("./dollar_bg.png");
  background-size: cover; }
  @media (min-width: 768px) and (max-width: 991px) {
    .box-listing .box-content {
      padding: 35px; } }
  @media (max-width: 767px) {
    .box-listing .box-content {
      width: 100%;
      max-width: 90%;
      margin-left: 0;
      padding: 35px;
      margin: 0 auto 0 auto;
      display: block; } }

.box-listing h2 {
  font-size: 28px;
  font-size: 1.86667rem;
  font-weight: 400;
  text-transform: uppercase;
  line-height: 1.1;
  margin-bottom: 12px; }

.box-listing .box-body {
  padding-left: 10.71429%; }
  @media (min-width: 768px) and (max-width: 991px) {
    .box-listing .box-body {
      padding-left: 7.14286%; } }
  @media (max-width: 767px) {
    .box-listing .box-body {
      padding-left: 0; } }

.box-listing .wrapper {
  position: relative; }

.box-listing .box-excerpt {
  display: inline-block;
  vertical-align: top;
  text-align: right;
  top: 0;
  right: 100%;
  font-size: 28px;
  font-size: 1.86667rem;
  line-height: 1.2;
  letter-spacing: -2px;
  min-width: 360px;
  width: auto;
  position: absolute;
  text-transform: uppercase;
  color: #3F48CC; }
  .box-listing .box-excerpt strong, .box-listing .box-excerpt b {
    color: #70c1b3; }
  @media (min-width: 768px) and (max-width: 991px) {
    .box-listing .box-excerpt {
      font-size: 24px;
      font-size: 1.6rem;
      min-width: 280px; } }
  @media (max-width: 767px) {
    .box-listing .box-excerpt {
      font-size: 22px;
      font-size: 1.46667rem;
      position: inherit;
      text-align: left;
      top: inherit;
      right: inherit;
      min-width: inherit; } }

article .body {
  display: inline-block;
  vertical-align: top;
  width: 41.66667%;
  margin-left: 16.66667%; }
  @media (min-width: 768px) and (max-width: 991px) {
    article .body {
      margin-left: 4.16667%;
      width: 50%; } }
  @media (max-width: 767px) {
    article .body {
      width: 100%;
      margin: 0 auto auto;
      display: block;
      max-width: 90%; } }

article .carousel.slick-slider {
  position: absolute;
  width: 116.66667%;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }

article .sidebar {
  display: inline-block;
  vertical-align: top;
  width: 20.83333%;
  margin-left: 4.16667%;
  position: relative; }
  @media (min-width: 992px) and (max-width: 1279px), (min-width: 1280px) and (max-width: 1479px) {
    article .sidebar {
      width: 29.16667%; } }
  @media (min-width: 992px) and (max-width: 1279px), (min-width: 1280px) and (max-width: 1479px) {
    article .sidebar {
      width: 29.16667%; } }
  @media (min-width: 768px) and (max-width: 991px) {
    article .sidebar {
      width: 31.25%; } }
  @media (max-width: 767px) {
    article .sidebar {
      width: 100%;
      margin: 0 auto auto;
      display: block;
      max-width: 90%; }
      body.page-template-tpl-quotation article .sidebar {
        display: none; } }
  article .sidebar .carousel {
    top: inherit !important;
    -webkit-transform: inherit !important;
        -ms-transform: inherit !important;
            transform: inherit !important; }
  article .sidebar .slick-list {
    overflow: visible !important; }
  article .sidebar .item {
    padding-bottom: 35px; }
  article .sidebar .tagline {
    width: 100%; }
    article .sidebar .tagline:nth-child(2n) .inner {
      background-position: center bottom; }
    article .sidebar .tagline:nth-child(3n) .inner {
      background-position: top center; }
    article .sidebar .tagline:nth-child(4n) .inner {
      background-position: bottom right; }
    article .sidebar .tagline:nth-child(1) .inner {
      background-size: 118%; }
    article .sidebar .tagline:nth-child(2) .inner {
      background-size: 117%; }
    article .sidebar .tagline:nth-child(3) .inner {
      background-size: 157%; }
    article .sidebar .tagline:nth-child(4) .inner {
      background-size: 157%; }
    article .sidebar .tagline:nth-child(5) .inner {
      background-size: 150%; }
    article .sidebar .tagline .inner {
      text-align: left;
      border: 1px solid #70C1B3;
      padding: 10%;
      margin-bottom: 12.5%;
      letter-spacing: -2px;
      background-image: url(./dollar_bg.png);
      background-position: center left;
      position: relative;
      padding-bottom: 90%;
      font-size: 28px;
      font-size: 1.86667rem;
      line-height: 1.2;
      text-transform: uppercase;
      color: #3F48CC; }
      @media (min-width: 992px) and (max-width: 1279px) {
        article .sidebar .tagline .inner {
          font-size: 26px;
          font-size: 1.73333rem; } }
      @media (min-width: 768px) and (max-width: 991px) {
        article .sidebar .tagline .inner {
          font-size: 22px;
          font-size: 1.46667rem; } }
      @media (max-width: 767px) {
        article .sidebar .tagline .inner {
          padding: 35px;
          margin-bottom: 0; } }
    article .sidebar .tagline p {
      margin: 25px 0 0 0;
      display: block; }
      article .sidebar .tagline p:first-child {
        margin-top: 0; }
    article .sidebar .tagline .wrapper {
      position: absolute;
      width: 116.66667%;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%); }
      @media (min-width: 992px) and (max-width: 1279px), (min-width: 1280px) and (max-width: 1479px) {
        article .sidebar .tagline .wrapper {
          width: 83.33333%; } }
      @media (min-width: 992px) and (max-width: 1279px), (min-width: 1280px) and (max-width: 1479px) {
        article .sidebar .tagline .wrapper {
          width: 83.33333%; } }
      @media (min-width: 768px) and (max-width: 991px) {
        article .sidebar .tagline .wrapper {
          width: 83.33333%; } }
      @media (max-width: 767px) {
        article .sidebar .tagline .wrapper {
          position: relative;
          width: auto;
          top: inherit;
          -webkit-transform: none;
              -ms-transform: none;
                  transform: none; } }
    article .sidebar .tagline strong, article .sidebar .tagline b {
      color: #70c1b3; }
    article .sidebar .tagline a {
      display: inline-block;
      position: absolute;
      bottom: 0;
      left: 0;
      font-size: 14px;
      font-size: 0.93333rem;
      color: #3F48CC;
      text-transform: uppercase;
      text-decoration: none;
      padding-right: 24px;
      letter-spacing: 0; }
      article .sidebar .tagline a:after {
        content: '';
        display: block;
        width: 20px;
        height: 20px;
        background-size: contain;
        background-repeat: no-repeat;
        top: 50%;
        -webkit-transform: translateY(-50%) rotate(180deg);
            -ms-transform: translateY(-50%) rotate(180deg);
                transform: translateY(-50%) rotate(180deg);
        position: absolute;
        right: 0;
        background-image: url("./prev-ico.svg"); }

.faq__wrapper {
  margin: 55px 0; }

.faq .element {
  margin-bottom: 55px; }
  .faq .element:last-child {
    margin-bottom: 0; }

.faq h4 {
  font-size: 18px;
  font-size: 1.2rem;
  color: #3F48CC;
  position: relative;
  padding-left: 12px; }
  .faq h4:before {
    content: '';
    background-image: url("./bullet-blue.png");
    width: 6px;
    height: 14px;
    position: absolute;
    left: 0;
    top: 8px; }

.faq-body {
  padding-left: 8.33333%;
  padding-top: 18px; }

.breadcrumbs {
  color: #70c1b3;
  margin-left: 16.66667%;
  text-transform: uppercase; }
  @media (min-width: 768px) and (max-width: 991px), (max-width: 767px) {
    .breadcrumbs {
      margin-left: 4.16667%;
      width: 50%; } }
  @media (min-width: 768px) and (max-width: 991px), (max-width: 767px) {
    .breadcrumbs {
      margin-left: 4.16667%;
      width: 50%; } }
  .breadcrumbs__wrapper {
    padding: 35px 0 0 0; }
  .breadcrumbs a {
    text-decoration: none;
    color: #333333; }
  .breadcrumbs ol {
    margin: 0;
    padding: 0;
    display: inline-block; }
  .breadcrumbs li {
    float: left;
    margin-right: 12px; }
    .breadcrumbs li:last-child {
      font: normal 700 15px/1.4 "Montserrat", sans-serif;
      color: #3f48cc; }

.main-nav {
  background: rgba(255, 255, 255, 0.2); }
  .main-nav__wrapper {
    margin-left: 8.33333%;
    position: relative;
    font-size: 0;
    padding: 52px 0 36px 0; }
    @media (max-width: 767px) {
      .main-nav__wrapper {
        margin-left: 4.16667%;
        padding: 20px 0; } }
  .main-nav ul {
    list-style: none;
    padding: 0;
    margin: 0 9.09091%;
    width: auto;
    display: inline-block;
    font-size: 0; }
  .main-nav li {
    display: inline-block;
    padding: 0 25px; }
    .main-nav li:last-child {
      padding-right: 0; }
  .main-nav .logo {
    display: inline-block;
    width: 27.27273%; }
    @media (max-width: 767px), (min-width: 768px) and (max-width: 991px) {
      .main-nav .logo {
        width: 81.81818%; } }
    @media (max-width: 767px), (min-width: 768px) and (max-width: 991px) {
      .main-nav .logo {
        width: 81.81818%; } }
    .main-nav .logo img {
      max-width: 100%;
      min-width: 200px; }
  .main-nav .nav {
    width: 50%;
    display: inline-block;
    text-align: right; }
    @media (max-width: 767px), (min-width: 768px) and (max-width: 991px) {
      .main-nav .nav {
        display: none; } }
    @media (max-width: 767px), (min-width: 768px) and (max-width: 991px) {
      .main-nav .nav {
        display: none; } }
  .main-nav a {
    font: normal 700 15px/1.4 "Montserrat", sans-serif;
    font-size: 14px;
    font-size: 0.93333rem;
    text-transform: uppercase;
    color: #333333;
    text-decoration: none; }
    .main-nav a:hover, .main-nav a.active {
      color: #70c1b3; }
  .main-nav .quotation {
    display: block;
    font: normal 700 15px/1.4 "Montserrat", sans-serif;
    background: #3f48cc;
    position: absolute;
    right: 0;
    height: 120%;
    top: 0;
    width: 22.72727%;
    z-index: 9000;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 85%, 0% 100%);
            clip-path: polygon(0 0, 100% 0, 100% 85%, 0% 100%); }
    @media (min-width: 768px) and (max-width: 991px) {
      .main-nav .quotation {
        width: 36.36364%; } }
    @media (max-width: 767px) {
      .main-nav .quotation {
        width: 36.36364%;
        position: relative;
        height: auto;
        top: inherit;
        right: inherit;
        -webkit-clip-path: none;
                clip-path: none;
        display: block;
        background: transparent;
        margin-top: 18px;
        width: auto; } }
    .main-nav .quotation span {
      position: relative;
      top: 35%; }
    .main-nav .quotation:hover {
      background: #70c1b3; }
      .main-nav .quotation:hover a {
        color: #3f48cc; }
      @media (max-width: 767px) {
        .main-nav .quotation:hover {
          background: transparent; }
          .main-nav .quotation:hover a {
            background: #70c1b3;
            color: #3f48cc; } }
    .main-nav .quotation:before {
      position: absolute;
      -webkit-transform: skewY(-4deg);
          -ms-transform: skewY(-4deg);
              transform: skewY(-4deg);
      width: 100%;
      height: 100%;
      top: 0;
      background: #3f48cc;
      -webkit-transform-origin: top right;
          -ms-transform-origin: top right;
              transform-origin: top right; }
    .main-nav .quotation a {
      font-size: 24px;
      font-size: 1.6rem;
      color: #70c1b3;
      text-transform: uppercase;
      position: relative;
      display: block;
      text-align: center;
      top: 50%;
      left: 50%;
      height: 100%;
      -webkit-transform: translate(-50%, -50%);
          -ms-transform: translate(-50%, -50%);
              transform: translate(-50%, -50%);
      z-index: 9010; }
      @media (max-width: 767px) {
        .main-nav .quotation a {
          font-size: 16px;
          font-size: 1.06667rem;
          -webkit-transform: none;
              -ms-transform: none;
                  transform: none;
          top: inherit;
          left: inherit;
          text-align: left;
          padding: 12px;
          display: inline-block;
          background: #3f48cc; } }
      @media (min-width: 768px) and (max-width: 991px) {
        .main-nav .quotation a {
          font-size: 18px;
          font-size: 1.2rem; } }

.header {
  overflow: hidden;
  -webkit-transform-origin: bottom right;
      -ms-transform-origin: bottom right;
          transform-origin: bottom right;
  background-size: cover;
  margin-left: 8.33333%;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 85%, 0% 100%);
          clip-path: polygon(0 0, 100% 0, 100% 85%, 0% 100%); }
  @media (max-width: 767px), (min-width: 768px) and (max-width: 991px) {
    .header {
      margin-left: 4.16667%; } }
  @media (max-width: 767px), (min-width: 768px) and (max-width: 991px) {
    .header {
      margin-left: 4.16667%; } }
  .header__wrapper {
    position: relative;
    min-height: 520px; }
    .header__wrapper:after {
      background: #fff;
      -webkit-transform: skewY(-2deg) translateY(-5.25%);
          -ms-transform: skewY(-2deg) translateY(-5.25%);
              transform: skewY(-2deg) translateY(-5.25%);
      height: 100%;
      width: 100%;
      position: absolute;
      top: 100%; }
    @media (max-width: 767px), (min-width: 768px) and (max-width: 991px) {
      .header__wrapper {
        min-height: 320px; } }
    @media (max-width: 767px), (min-width: 768px) and (max-width: 991px) {
      .header__wrapper {
        min-height: 320px; } }
  .header img {
    width: 100%; }
  .header .pageHeaderTitle {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    padding: 0; }
    .header .pageHeaderTitle ul {
      list-style: none;
      margin: 0;
      padding: 8.33333% 0;
      margin-left: 16.66667%;
      width: 100%; }
    .header .pageHeaderTitle li {
      margin: 10px 0; }
    .header .pageHeaderTitle span {
      background: #3f48cc;
      display: inline-block;
      line-height: 1;
      padding: 6px 12px;
      color: #fff;
      font: normal 700 15px/1.4 "Montserrat", sans-serif;
      font-size: 42px;
      font-size: 2.8rem;
      text-transform: uppercase; }

.c-layout {
  background: #fff;
  position: relative;
  overflow: hidden; }
  .c-layout__wrapper {
    position: relative;
    z-index: 201; }

.c-credit {
  font-size: 10px;
  font-size: 0.66667rem;
  background: #3f48cc;
  color: #70c1b3;
  text-transform: uppercase;
  position: relative;
  z-index: 201; }
  .c-credit__wrapper {
    padding: 10px 0; }
  .c-credit .ciblenet {
    float: right; }
  .c-credit a {
    color: #70c1b3; }

.c-footer {
  background: #3f48cc;
  color: #fff;
  position: relative;
  z-index: 201;
  padding-top: 45px;
  -webkit-clip-path: polygon(0 0, 100% 15%, 100% 100%, 0% 100%);
          clip-path: polygon(0 0, 100% 15%, 100% 100%, 0% 100%); }
  .c-footer a {
    text-decoration: none; }
  .c-footer .row {
    padding: 35px 0;
    font-size: 0; }
    @media (max-width: 767px) {
      .c-footer .row:nth-child(2n) {
        display: none; } }
  .c-footer .row:last-child {
    border-top: 1px solid #70c1b3; }
  .c-footer:before {
    position: absolute;
    -webkit-transform: skewY(2deg);
        -ms-transform: skewY(2deg);
            transform: skewY(2deg);
    width: 100%;
    height: 100%;
    top: 0;
    background: #3f48cc;
    -webkit-transform-origin: bottom right;
        -ms-transform-origin: bottom right;
            transform-origin: bottom right; }
  .c-footer__wrapper {
    position: relative;
    background: #3f48cc;
    margin-top: 20px; }
  .c-footer strong {
    font-size: 24px;
    font-size: 1.6rem;
    margin-bottom: 40px;
    display: block; }
  .c-footer .contact {
    font-size: 15px;
    font-size: 1rem;
    width: 50%;
    vertical-align: bottom;
    display: inline-block; }
    @media (max-width: 767px) {
      .c-footer .contact {
        width: 100%;
        max-width: 90%; } }
    .c-footer .contact a {
      color: #fff;
      text-transform: inherit; }
    .c-footer .contact ul {
      display: block; }
    .c-footer .contact li {
      margin: 0 0 5px 0;
      float: none; }
      .c-footer .contact li span {
        text-transform: uppercase;
        font: normal 700 15px/1.4 "Montserrat", sans-serif;
        min-width: 110px;
        display: inline-block; }
        @media (max-width: 767px) {
          .c-footer .contact li span {
            display: block; } }
  .c-footer .social {
    width: 50%;
    vertical-align: bottom;
    display: inline-block;
    text-align: right; }
    @media (max-width: 767px) {
      .c-footer .social {
        width: 100%;
        text-align: left; } }
  .c-footer .logo {
    width: 50%;
    display: inline-block;
    vertical-align: middle; }
    .c-footer .logo img {
      max-width: 100%;
      height: auto;
      min-width: 200px; }
  .c-footer .nav {
    width: 50%;
    display: inline-block;
    vertical-align: middle;
    text-align: right;
    font-size: 15px;
    font-size: 1rem; }
    .c-footer .nav a {
      color: #70c1b3;
      text-decoration: none;
      font: normal 700 15px/1.4 "Montserrat", sans-serif;
      text-transform: uppercase; }
  .c-footer ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: inline-block; }
  .c-footer li {
    float: left;
    margin: 0 20px; }
    .c-footer li:last-child {
      margin-right: 0; }

.container {
  max-width: 90%;
  margin-left: auto;
  margin-right: auto; }
  .container:after {
    content: " ";
    display: block;
    clear: both; }
  @media (min-width: 1480px) {
    .container {
      max-width: 1600px; } }
  @media (min-width: 1280px) and (max-width: 1479px) {
    .container {
      max-width: 1200px; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwibWFpbi5zY3NzIiwidXRpbHMvX3Jlc2V0LnNjc3MiLCJfZm9udHMuc2NzcyIsImJhc2UvX3BhbGV0dGUuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2suc2NzcyIsIl9zcHJpdGVzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9fYnJlYWtwb2ludC5zY3NzIiwidXRpbHMvX21peGlucy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19zcGFuLnNjc3MiLCJiYXNlL192YXJzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zdXBwb3J0L19yZW0uc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fY29udGFpbmVyLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zdXBwb3J0L19jbGVhcmZpeC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0FqQjs7Ozs7Ozs7O0VBU0U7QUFVRjs7cUVBRXFFO0FDckJyRSxnRkFBZ0Y7QUFFaEY7Z0ZBQ2dGO0FBRWhGOzs7O0dBSUc7QUNUSCw4RUFBWTtBRFdaOzs7Ozs7Ozs7Ozs7RUFXVSxPQUFPO0VBQ2hCLGVBQWUsRUFDZjs7QUFFRDs7R0FFRztBQUVIOzs7O0VBSUMsc0JBQXNCLEVBQ3RCOztBQUVEOztHQUVHO0FBRUg7RUFDQyxjQUFjO0VBQ2QsVUFBVSxFQUNWOztBQUVEOzs7R0FHRztBQUVIOztFQUVDLGNBQWMsRUFDZDs7QUFFRDtnRkFDZ0Y7QUFFaEY7OztHQUdHO0FBRUg7OztFQUdDLDZCQUE2QjtFQUFFLE9BQU87RUFDdEMsb0JBQW9CO0VB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QUMxQjtFQUdGO0lBQ0MsaUJBQWlCO0lBQ2pCLFVBQVU7SUFBRSxXQUFXO0lBQ3ZCLHNCQUFzQixFQUN0QjtFQXJJRjtJQXdJRSxZQUFZO0lBQ1osZUFBZSxFQUtmO0lBOUlGO01BNElHLGdCQUFnQixFQUNoQjs7QUFRSDtFVXh4Q0ksZUROVztFQ01YLGtCQ3FEb0M7RURyRHBDLG1CQ3FEbUUsRVg2dUN0RTtFQVZEO0lZL3hDTSxhQUFhO0lBQ2IsZUFBZTtJQUNmLFlBQVksRUFDYjtFTmlERDtJTnV1Q0o7TUFRRSxrQlN0eUN3QixFVDR5Q3pCLEVBQUE7RU1ydkNHO0lOMnVDSjtNQVFFLGtCUzN5Q3VCLEVUNnlDeEIsRUFBQSIsImZpbGUiOiJtYWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qXG5iYXNlLyDigJMgU3R5bGUgZ2xvYmFsIGNvbW1lIGxlcyByZXNldHMsIGxhIHR5cG8sIGNvbGV1cnMsIGV0Yy4gTGVzIGZpY2hpZXJzIG5lIGRldnJhaXQgcGFzIMOqdHJlIG1hbmlwdWzDqSwgaWwgcydhZ2l0IGVuIHF1ZWxxdWVzIHNvcnRlIGQndW4gd2lyZWZyYW1lLlxuY29tcG9uZW50cy8g4oCTXG5sYXlvdXQvIOKAk1xucGFnZXMvIOKAkyBTdHlsZSBxdWkgcydhcHBsaXF1ZSDDoCBkZXMgcGFnZXMgc3DDqWNpZmlxdWUsIHNpIG7DqWNlc3NhaXJlXG50aGVtZXMvIOKAk1xudXRpbHMvIOKAk1xudmVuZG9ycy8g4oCTXG5tYWluLnNjc3Mg4oCTXG4qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbltWYXJpYWJsZXNdXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qISBzYW5pdGl6ZS5jc3MgdjQuMS4wIHwgQ0MwIExpY2Vuc2UgfCBnaXRodWIuY29tL2pvbmF0aGFudG5lYWwvc2FuaXRpemUuY3NzICovXG4vKiBEaXNwbGF5IGRlZmluaXRpb25zXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXHJcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cclxuICogMi4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXHJcbiAqL1xuQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9TW9udHNlcnJhdDo0MDAsNzAwLDkwMFwiKTtcbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxyXG4gKi9cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cclxuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cclxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXHJcbiAqL1xudGVtcGxhdGUsXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogRWxlbWVudHMgb2YgSFRNTCAoaHR0cHM6Ly93d3cudzMub3JnL1RSL2h0bWw1L3NlbWFudGljcy5odG1sKVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIDEuIFJlbW92ZSByZXBlYXRpbmcgYmFja2dyb3VuZHMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXHJcbiAqIDIuIEFkZCBib3ggc2l6aW5nIGluaGVyaXRlbmNlIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxyXG4gKi9cbiosXG46OmJlZm9yZSxcbjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAvKiAxICovXG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICogMS4gQWRkIHRleHQgZGVjb3JhdGlvbiBpbmhlcml0YW5jZSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cclxuICogMi4gQWRkIHZlcnRpY2FsIGFsaWdubWVudCBpbmhlcml0ZW5jZSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cclxuICovXG46OmJlZm9yZSxcbjo6YWZ0ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICogMS4gQWRkIGJvcmRlciBib3ggc2l6aW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxyXG4gKiAyLiBBZGQgdGhlIGRlZmF1bHQgY3Vyc29yIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxyXG4gKiAzLiBBZGQgYSBmbGF0dGVuZWQgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXHJcbiAqIDQuIFByZXZlbnQgZm9udCBzaXplIGFkanVzdG1lbnRzIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gSUUgYW5kIGlPUy5cclxuICovXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIC8qIDIgKi9cbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDMgKi9cbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgLyogMyAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogNCAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDQgKi8gfVxuXG4vKiBTZWN0aW9ucyAoaHR0cHM6Ly93d3cudzMub3JnL1RSL2h0bWw1L3NlY3Rpb25zLmh0bWwpXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXHJcbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcclxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplcyBhbmQgbWFyZ2lucyBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpblxyXG4gKiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXHJcbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAuNjdlbSAwOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnQgKGh0dHBzOi8vd3d3LnczLm9yZy9UUi9odG1sNS9ncm91cGluZy1jb250ZW50Lmh0bWwpXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogMS4gQ29ycmVjdCBmb250IHNpemluZyBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cclxuICovXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBoZWlnaHQgaW4gRmlyZWZveC5cclxuICogMi4gQWRkIHZpc2libGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXHJcbiAqL1xuaHIge1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICogUmVtb3ZlIHRoZSBsaXN0IHN0eWxlIG9uIG5hdmlnYXRpb24gbGlzdHMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXHJcbiAqL1xubmF2IG9sLFxubmF2IHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIDEuIEFkZCBhIGJvcmRlcmVkIHVuZGVybGluZSBlZmZlY3QgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBSZW1vdmUgdGV4dCBkZWNvcmF0aW9uIGluIEZpcmVmb3ggNDArLlxyXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXHJcbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxyXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXHJcbiAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgY29sb3JzIGluIElFIDktLlxyXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZjAwO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cclxuICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4vKipcclxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODMuMzMzMyU7IH1cblxuLyoqXHJcbiAqIENoYW5nZSB0aGUgcG9zaXRpb25pbmcgb24gc3VwZXJzY3JpcHQgYW5kIHN1YnNjcmlwdCBlbGVtZW50c1xyXG4gKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cclxuICogMS4gQ29ycmVjdCB0aGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDgzLjMzMzMlO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0uMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0uNWVtOyB9XG5cbi8qXHJcbiAqIFJlbW92ZSB0aGUgdGV4dCBzaGFkb3cgb24gdGV4dCBzZWxlY3Rpb25zIChvcGluaW9uYXRlZCkuXHJcbiAqIDEuIFJlc3RvcmUgdGhlIGNvbG9yaW5nIHVuZG9uZSBieSBkZWZpbmluZyB0aGUgdGV4dCBzaGFkb3cgKG9waW5pb25hdGVkKS5cclxuICovXG46Oi1tb3otc2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IzZDRmYztcbiAgLyogMSAqL1xuICBjb2xvcjogIzAwMDAwMDtcbiAgLyogMSAqL1xuICB0ZXh0LXNoYWRvdzogbm9uZTsgfVxuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiM2Q0ZmM7XG4gIC8qIDEgKi9cbiAgY29sb3I6ICMwMDAwMDA7XG4gIC8qIDEgKi9cbiAgdGV4dC1zaGFkb3c6IG5vbmU7IH1cblxuLyogRW1iZWRkZWQgY29udGVudCAoaHR0cHM6Ly93d3cudzMub3JnL1RSL2h0bWw1L2VtYmVkZGVkLWNvbnRlbnQtMC5odG1sKVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcclxuICogQ2hhbmdlIHRoZSBhbGlnbm1lbnQgb24gbWVkaWEgZWxlbWVudHMgaW4gYWxsIGJyb3dlcnMgKG9waW5pb25hdGVkKS5cclxuICovXG5hdWRpbyxcbmNhbnZhcyxcbmlmcmFtZSxcbmltZyxcbnN2ZyxcbnZpZGVvIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4vKipcclxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXHJcbiAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qKlxyXG4gKiBDaGFuZ2UgdGhlIGZpbGwgY29sb3IgdG8gbWF0Y2ggdGhlIHRleHQgY29sb3IgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXHJcbiAqL1xuc3ZnIHtcbiAgZmlsbDogY3VycmVudENvbG9yOyB9XG5cbi8qKlxyXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cclxuICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogTGlua3MgKGh0dHBzOi8vd3d3LnczLm9yZy9UUi9odG1sNS9saW5rcy5odG1sI2xpbmtzKVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cclxuICogMi4gUmVtb3ZlIHRoZSBnYXBzIGluIHVuZGVybGluZXMgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXHJcbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICogUmVtb3ZlIHRoZSBvdXRsaW5lIHdoZW4gaG92ZXJpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXHJcbiAqL1xuYTpob3ZlciB7XG4gIG91dGxpbmUtd2lkdGg6IDA7IH1cblxuLyogVGFidWxhciBkYXRhIChodHRwczovL3d3dy53My5vcmcvVFIvaHRtbDUvdGFidWxhci1kYXRhLmh0bWwpXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxyXG4gKiBSZW1vdmUgYm9yZGVyIHNwYWNpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXHJcbiAqL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG4vKiB0cmFuc2Zvcm0tc3R5bGU6ICAoaHR0cHM6Ly93d3cudzMub3JnL1RSL2h0bWw1L2Zvcm1zLmh0bWwpXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogMS4gUmVtb3ZlIHRoZSBkZWZhdWx0IHN0eWxpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXHJcbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cclxuICovXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDEgKi9cbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gKiBDb3JyZWN0IHRoZSBvdmVyZmxvdyBpbiBJRS5cclxuICogMS4gQ29ycmVjdCB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cclxuICovXG5idXR0b24sXG5pbnB1dCB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2UgaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxyXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXHJcbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcclxuICogMS4gUHJldmVudCB0aGUgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcclxuICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxyXG4gKi9cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxyXG4gKi9cbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcclxuICogQ29ycmVjdCB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxyXG4gKi9cbjotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKipcclxuICogQ29ycmVjdCB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2Vycy5cclxuICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IC4zNWVtIC42MjVlbSAuNzVlbTsgfVxuXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cclxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxyXG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cclxuICovXG5sZWdlbmQge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXHJcbiAqIDEuIFJlbW92ZSB0aGUgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxyXG4gKiAyLiBDaGFuZ2UgdGhlIHJlc2l6ZSBkaXJlY3Rpb24gb24gdGV4dGFyZWFzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxyXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIC8qIDEgKi9cbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gKiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxyXG4gKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcclxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9uIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxyXG4gKi9cbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXHJcbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxyXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBmb3IgT1MgWC5cclxuICovXG46Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG46Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXHJcbiAqIENvcnJlY3QgdGhlIHRleHQgc3R5bGUgb24gcGxhY2Vob2xkZXJzIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cclxuICovXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgb3BhY2l0eTogLjU0OyB9XG5cbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxyXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXHJcbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKiBXQUktQVJJQSAoaHR0cHM6Ly93d3cudzMub3JnL1RSL2h0bWw1L2RvbS5odG1sI3dhaS1hcmlhKVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIENoYW5nZSB0aGUgY3Vyc29yIG9uIGJ1c3kgZWxlbWVudHMgKG9waW5pb25hdGVkKS5cclxuICovXG5bYXJpYS1idXN5PVwidHJ1ZVwiXSB7XG4gIGN1cnNvcjogcHJvZ3Jlc3M7IH1cblxuLypcclxuICogQ2hhbmdlIHRoZSBjdXJzb3Igb24gY29udHJvbCBlbGVtZW50cyAob3BpbmlvbmF0ZWQpLlxyXG4gKi9cblthcmlhLWNvbnRyb2xzXSB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKlxyXG4gKiBDaGFuZ2UgdGhlIGN1cnNvciBvbiBkaXNhYmxlZCwgbm90LWVkaXRhYmxlLCBvciBvdGhlcndpc2VcclxuICogaW5vcGVyYWJsZSBlbGVtZW50cyAob3BpbmlvbmF0ZWQpLlxyXG4gKi9cblthcmlhLWRpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4vKiBVc2VyIGludGVyYWN0aW9uIChodHRwczovL3d3dy53My5vcmcvVFIvaHRtbDUvZWRpdGluZy5odG1sKVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcclxuICogUmVtb3ZlIHRoZSB0YXBwaW5nIGRlbGF5IG9uIGNsaWNrYWJsZSBlbGVtZW50cyAob3BpbmlvbmF0ZWQpLlxyXG4gKiAxLiBSZW1vdmUgdGhlIHRhcHBpbmcgZGVsYXkgaW4gSUUgMTAuXHJcbiAqL1xuYSxcbmFyZWEsXG5idXR0b24sXG5pbnB1dCxcbmxhYmVsLFxuc2VsZWN0LFxudGV4dGFyZWEsXG5bdGFiaW5kZXhdIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAvKiAxICovXG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyB9XG5cbi8qXHJcbiAqIENoYW5nZSB0aGUgZGlzcGxheSBvbiB2aXN1YWxseSBoaWRkZW4gYWNjZXNzaWJsZSBlbGVtZW50cyAob3BpbmlvbmF0ZWQpLlxyXG4gKi9cbltoaWRkZW5dW2FyaWEtaGlkZGVuPVwiZmFsc2VcIl0ge1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBkaXNwbGF5OiBpbmhlcml0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuW2hpZGRlbl1bYXJpYS1oaWRkZW49XCJmYWxzZVwiXTpmb2N1cyB7XG4gIGNsaXA6IGF1dG87IH1cblxuLypcbjxkaXYgY2xhc3M9XCJwYWxldHRlXCI+XG4gICAgPGRpdiBjbGFzcz1cImNvbG9yIHByaW1hcnlcIj48ZGl2IGNsYXNzPVwidmFyaWFudHNcIj48L2Rpdj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sb3IgdXRpbGl0eVwiPjxkaXYgY2xhc3M9XCJ2YXJpYW50c1wiPjwvZGl2PjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb2xvciBhY2NlbnRcIj48ZGl2IGNsYXNzPVwidmFyaWFudHNcIj48L2Rpdj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sb3Igc2Vjb25kYXJ5XCI+PGRpdiBjbGFzcz1cInZhcmlhbnRzXCI+PC9kaXY+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbG9yIGZvcmVncm91bmRcIj48ZGl2IGNsYXNzPVwidmFyaWFudHNcIj48L2Rpdj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sb3IgYmFja2dyb3VuZFwiPjxkaXYgY2xhc3M9XCJ2YXJpYW50c1wiPjwvZGl2PjwvZGl2PlxuPC9kaXY+XG4gKi9cbi5wYWxldHRlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uY29sb3Ige1xuICB3aWR0aDogY2FsYygyMCUgLSAxcmVtKTtcbiAgaGVpZ2h0OiAxNzBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY29sb3I6YmVmb3JlLCAuY29sb3I6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDMwJTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZjtcbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDg1JTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdvcmQtd3JhcDogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB9XG4gIC5jb2xvcjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5jb2xvcjphZnRlciB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbTtcbiAgICBmb250LXNpemU6IDcwJTtcbiAgICBjb2xvcjogZ3JheTsgfVxuICAuY29sb3IucHJpbWFyeTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwicHJpbWFyeVwiOyB9XG4gIC5jb2xvci5wcmltYXJ5OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiOyB9XG4gIC5jb2xvci5wcmltYXJ5IC52YXJpYW50cyB7XG4gICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCB3aGl0ZTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgd2hpdGU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogNy41cmVtO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMzRjQ4Q0MgMHJlbSwgIzNGNDhDQyAxLjVyZW0sICM3MEMxQjMgMS41cmVtLCAjNzBDMUIzIDNyZW0sICMzMzMzMzMgM3JlbSwgIzMzMzMzMyA0LjVyZW0sICNmZmYgNC41cmVtLCAjZmZmIDZyZW0sICNDOTBFMEUgNnJlbSwgI0M5MEUwRSA3LjVyZW0pOyB9XG5cbi8qIFNsaWRlciAqL1xuLnNsaWNrLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICAuc2xpY2stbGlzdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAuc2xpY2stbGlzdC5kcmFnZ2luZyB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGN1cnNvcjogaGFuZDsgfVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnNsaWNrLXRyYWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5zbGljay10cmFjazpiZWZvcmUsIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuc2xpY2stdHJhY2s6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay10cmFjayB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGljay1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5zbGljay1zbGlkZSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLypcblNDU1MgdmFyaWFibGVzIGFyZSBpbmZvcm1hdGlvbiBhYm91dCBpY29uJ3MgY29tcGlsZWQgc3RhdGUsIHN0b3JlZCB1bmRlciBpdHMgb3JpZ2luYWwgZmlsZSBuYW1lXG5cbi5pY29uLWhvbWUge1xuICB3aWR0aDogJGljb24taG9tZS13aWR0aDtcbn1cblxuVGhlIGxhcmdlIGFycmF5LWxpa2UgdmFyaWFibGVzIGNvbnRhaW4gYWxsIGluZm9ybWF0aW9uIGFib3V0IGEgc2luZ2xlIGljb25cbiRpY29uLWhvbWU6IHggeSBvZmZzZXRfeCBvZmZzZXRfeSB3aWR0aCBoZWlnaHQgdG90YWxfd2lkdGggdG90YWxfaGVpZ2h0IGltYWdlX3BhdGg7XG5cbkF0IHRoZSBib3R0b20gb2YgdGhpcyBzZWN0aW9uLCB3ZSBwcm92aWRlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzcHJpdGVzaGVldCBpdHNlbGZcbiRzcHJpdGVzaGVldDogd2lkdGggaGVpZ2h0IGltYWdlICRzcHJpdGVzaGVldC1zcHJpdGVzO1xuKi9cbi8qXG5UaGUgcHJvdmlkZWQgbWl4aW5zIGFyZSBpbnRlbmRlZCB0byBiZSB1c2VkIHdpdGggdGhlIGFycmF5LWxpa2UgdmFyaWFibGVzXG5cbi5pY29uLWhvbWUge1xuICBAaW5jbHVkZSBzcHJpdGUtd2lkdGgoJGljb24taG9tZSk7XG59XG5cbi5pY29uLWVtYWlsIHtcbiAgQGluY2x1ZGUgc3ByaXRlKCRpY29uLWVtYWlsKTtcbn1cbiovXG4vKlxuVGhlIGBzcHJpdGVzYCBtaXhpbiBnZW5lcmF0ZXMgaWRlbnRpY2FsIG91dHB1dCB0byB0aGUgQ1NTIHRlbXBsYXRlXG4gIGJ1dCBjYW4gYmUgb3ZlcnJpZGRlbiBpbnNpZGUgb2YgU0NTU1xuXG5AaW5jbHVkZSBzcHJpdGVzKCRzcHJpdGVzaGVldC1zcHJpdGVzKTtcbiovXG4uc3ByaXRlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5zcHJpdGUtLV9jcmVkaXRfYXJyb3cge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9wdWJsaWMvaW1hZ2VzL2ljb24tc3ByaXRlLnBuZyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIzMnB4IC0xODdweDtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE4cHg7IH1cbiAgLnNwcml0ZS0tYXJyb3ctcGxhaW4td2hpdGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9wdWJsaWMvaW1hZ2VzL2ljb24tc3ByaXRlLnBuZyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIzMnB4IC00NHB4O1xuICAgIHdpZHRoOiAyOXB4O1xuICAgIGhlaWdodDogMjlweDsgfVxuICAuc3ByaXRlLS1ibG9jay1nYWxsZXJ5LXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vcHVibGljL2ltYWdlcy9pY29uLXNwcml0ZS5wbmcpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC02NXB4IDBweDtcbiAgICB3aWR0aDogNjVweDtcbiAgICBoZWlnaHQ6IDU0cHg7IH1cbiAgLnNwcml0ZS0tZmFjZWJvb2std2hpdGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9wdWJsaWMvaW1hZ2VzL2ljb24tc3ByaXRlLnBuZyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE4MHB4IC00NHB4O1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogNjRweDsgfVxuICAuc3ByaXRlLS1maW5kLWljby1zbWFsbCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjMycHggLTE1OXB4O1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMjhweDsgfVxuICAuc3ByaXRlLS1maW5kLWljbyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjMycHggMHB4O1xuICAgIHdpZHRoOiAzNHB4O1xuICAgIGhlaWdodDogNDRweDsgfVxuICAuc3ByaXRlLS1nYWxsZXJ5LWljby13aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDFweCAtMTY0cHg7XG4gICAgd2lkdGg6IDUycHg7XG4gICAgaGVpZ2h0OiAzMnB4OyB9XG4gIC5zcHJpdGUtLWdhbGxlcnktd2hpdGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9wdWJsaWMvaW1hZ2VzL2ljb24tc3ByaXRlLnBuZyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IDBweDtcbiAgICB3aWR0aDogNjVweDtcbiAgICBoZWlnaHQ6IDY0cHg7IH1cbiAgLnNwcml0ZS0taW5mb3dpbmRvdy1kYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vcHVibGljL2ltYWdlcy9pY29uLXNwcml0ZS5wbmcpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMTVweCAtMTQ5cHg7XG4gICAgd2lkdGg6IDE3cHg7XG4gICAgaGVpZ2h0OiA5cHg7IH1cbiAgLnNwcml0ZS0taW5mb3dpbmRvdy1saWdodCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTMwcHggLTEwMHB4O1xuICAgIHdpZHRoOiAxN3B4O1xuICAgIGhlaWdodDogOXB4OyB9XG4gIC5zcHJpdGUtLWxpLWJ1bGxldCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjUwcHggLTE4N3B4O1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIGhlaWdodDogMTRweDsgfVxuICAuc3ByaXRlLS1tYWlsLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vcHVibGljL2ltYWdlcy9pY29uLXNwcml0ZS5wbmcpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC01OXB4IC02NHB4O1xuICAgIHdpZHRoOiA1N3B4O1xuICAgIGhlaWdodDogNDVweDsgfVxuICAuc3ByaXRlLS1waW4tYmx1ZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjMycHggLTEwMnB4O1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMzJweDsgfVxuICAuc3ByaXRlLS1zY3JvbGx0b3Atd2hpdGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9wdWJsaWMvaW1hZ2VzL2ljb24tc3ByaXRlLnBuZyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE4MHB4IC0xNDlweDtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDEycHg7IH1cbiAgLnNwcml0ZS0tc2xpZGVyLWFycm93LW5leHQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9wdWJsaWMvaW1hZ2VzL2ljb24tc3ByaXRlLnBuZyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE4MHB4IC0xMDhweDtcbiAgICB3aWR0aDogNDFweDtcbiAgICBoZWlnaHQ6IDQxcHg7IH1cbiAgLnNwcml0ZS0tc2xpZGVyLWFycm93LXByZXYge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9wdWJsaWMvaW1hZ2VzL2ljb24tc3ByaXRlLnBuZyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xNjRweDtcbiAgICB3aWR0aDogNDFweDtcbiAgICBoZWlnaHQ6IDQxcHg7IH1cbiAgLnNwcml0ZS0tc29jaWFsLWJsYWludmlsbGUtd2hpdGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9wdWJsaWMvaW1hZ2VzL2ljb24tc3ByaXRlLnBuZyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEzMHB4IC01MHB4O1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDsgfVxuICAuc3ByaXRlLS1zb2NpYWwtZmItd2hpdGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9wdWJsaWMvaW1hZ2VzL2ljb24tc3ByaXRlLnBuZyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC0xMTRweDtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7IH1cbiAgLnNwcml0ZS0tc29jaWFsLW1haWwtd2hpdGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9wdWJsaWMvaW1hZ2VzL2ljb24tc3ByaXRlLnBuZyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTUwcHggLTExNHB4O1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDsgfVxuICAuc3ByaXRlLS1zb2NpYWwtdHdpdHRlci13aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTMwcHggMHB4O1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDsgfVxuICAuc3ByaXRlLS10b2dnbGUtZG93biB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjEycHggLTgzcHg7XG4gICAgd2lkdGg6IDE5cHg7XG4gICAgaGVpZ2h0OiAxOXB4OyB9XG4gIC5zcHJpdGUtLXRvZ2dsZS1sZWZ0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vcHVibGljL2ltYWdlcy9pY29uLXNwcml0ZS5wbmcpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMzJweCAtMTM0cHg7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgaGVpZ2h0OiAyNXB4OyB9XG4gIC5zcHJpdGUtLXRvZ2dsZS1yaWdodC13aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjEycHggLTQ0cHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4OyB9XG4gIC5zcHJpdGUtLXRvZ2dsZS1yaWdodCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjMycHggLTczcHg7XG4gICAgd2lkdGg6IDI5cHg7XG4gICAgaGVpZ2h0OiAyOXB4OyB9XG4gIC5zcHJpdGUtLXRvZ2dsZS11cCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjEycHggLTY0cHg7XG4gICAgd2lkdGg6IDE5cHg7XG4gICAgaGVpZ2h0OiAxOXB4OyB9XG4gIC5zcHJpdGUtLXR3aXR0ZXItd2hpdGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9wdWJsaWMvaW1hZ2VzL2ljb24tc3ByaXRlLnBuZyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IC02NHB4O1xuICAgIHdpZHRoOiA1OXB4O1xuICAgIGhlaWdodDogNTBweDsgfVxuICAuc3ByaXRlLS11bC1kcm9wZG93bi13aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTk4cHggLTE0OXB4O1xuICAgIHdpZHRoOiAxN3B4O1xuICAgIGhlaWdodDogMTFweDsgfVxuICAuc3ByaXRlLS12aWRlby1pY28td2hpdGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9wdWJsaWMvaW1hZ2VzL2ljb24tc3ByaXRlLnBuZyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMHB4IC0xMTRweDtcbiAgICB3aWR0aDogNTJweDtcbiAgICBoZWlnaHQ6IDQ0cHg7IH1cbiAgLnNwcml0ZS0tdmlzaXQtaWNvLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vcHVibGljL2ltYWdlcy9pY29uLXNwcml0ZS5wbmcpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xODBweCAwcHg7XG4gICAgd2lkdGg6IDUycHg7XG4gICAgaGVpZ2h0OiA0NHB4OyB9XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG5cbmh0bWwsIGJvZHkge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgaHRtbCwgYm9keSB7XG4gICAgICBtaW4td2lkdGg6IDMyMHB4OyB9IH1cblxuLmZybV9oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mcm1fbWVzc2FnZSwgLmZybV9lcnJvcl9zdHlsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxMnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjM2Y0OGNjO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBjb2xvcjogIzNmNDhjYztcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuZnJtX21lc3NhZ2UgcDpsYXN0LWNoaWxkLCAuZnJtX2Vycm9yX3N0eWxlIHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZnJtX2Vycm9yX3N0eWxlIHtcbiAgY29sb3I6ICNjOTBlMGU7IH1cblxuLnJhZGlvLCAuZnJtX3JhZGlvLCAuZnJtX2NoZWNrYm94IHtcbiAgbWFyZ2luOiAwIDEycHggMCAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnJhZGlvIGxhYmVsLCAuZnJtX3JhZGlvIGxhYmVsLCAuZnJtX2NoZWNrYm94IGxhYmVsIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbjogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAucmFkaW8gbGFiZWw6YmVmb3JlLCAuZnJtX3JhZGlvIGxhYmVsOmJlZm9yZSwgLmZybV9jaGVja2JveCBsYWJlbDpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzBjMWIzO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5yYWRpby5jaGVja2VkIGxhYmVsOjpiZWZvcmUsIC5mcm1fcmFkaW8uY2hlY2tlZCBsYWJlbDo6YmVmb3JlLCAuZnJtX2NoZWNrYm94LmNoZWNrZWQgbGFiZWw6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNmNDhjYztcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggIzcwYzFiMzsgfVxuICAucmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdLCAucmFkaW8gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLCAuZnJtX3JhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSwgLmZybV9yYWRpbyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sIC5mcm1fY2hlY2tib3ggaW5wdXRbdHlwZT1cInJhZGlvXCJdLCAuZnJtX2NoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgICAucmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwsIC5yYWRpbyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCwgLmZybV9yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCwgLmZybV9yYWRpbyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCwgLmZybV9jaGVja2JveCBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbCwgLmZybV9jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbCB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAucmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWw6YmVmb3JlLCAucmFkaW8gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWw6YmVmb3JlLCAuZnJtX3JhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOmJlZm9yZSwgLmZybV9yYWRpbyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbDpiZWZvcmUsIC5mcm1fY2hlY2tib3ggaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWw6YmVmb3JlLCAuZnJtX2NoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3MGMxYjM7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAucmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUsIC5yYWRpbyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSwgLmZybV9yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSwgLmZybV9yYWRpbyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSwgLmZybV9jaGVja2JveCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSwgLmZybV9jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Y0OGNjO1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4ICM3MGMxYjM7IH1cblxuLnBhZ2UtdGl0bGUge1xuICBmb250OiBub3JtYWwgNDAwIDE1cHgvMS40IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDQycHg7XG4gIGZvbnQtc2l6ZTogMi44cmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6ICMzZjQ4Y2M7XG4gIG1heC13aWR0aDogODAwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAtMnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tbGVmdDogNi4yNSU7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44Mik7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgZm9udC1zaXplOiAyLjEzMzMzcmVtO1xuICAgICAgbWF4LXdpZHRoOiA3NSU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAucGFnZS10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBmb250LXNpemU6IDEuMzMzMzNyZW07XG4gICAgICBtYXgtd2lkdGg6IDgwJTsgfSB9XG5cbi5sb2dvX2Nhcm91c2VsIHtcbiAgbWFyZ2luLXRvcDogNDVweDsgfVxuICAubG9nb19jYXJvdXNlbCAuc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubG9nb19jYXJvdXNlbCBpbWcge1xuICAgIG1heC13aWR0aDogODAlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgIC5sb2dvX2Nhcm91c2VsIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogaW5oZXJpdDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxMnB4OyB9XG4gIC5mb3JtLWdyb3VwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuc2VsZWN0LCBpbnB1dFt0eXBlPXRleHRdLCBpbnB1dFt0eXBlPWVtYWlsXSwgdGV4dGFyZWEge1xuICBib3JkZXI6IDFweCBzb2xpZCAjNzBjMWIzO1xuICBvdXRsaW5lOiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTJweDsgfVxuICBzZWxlY3Q6Zm9jdXMsIGlucHV0W3R5cGU9dGV4dF06Zm9jdXMsIGlucHV0W3R5cGU9ZW1haWxdOmZvY3VzLCB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjM2Y0OGNjOyB9XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQ6IG5vcm1hbCA3MDAgMTVweC8xLjQgXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gIG1hcmdpbi1ib3R0b206IDRweDsgfVxuXG4uZm9ybS1maWVsZCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IDE0NXB4O1xuICByZXNpemU6IG5vbmU7IH1cblxucCB7XG4gIG1hcmdpbjogMCAwIDI1cHggMDsgfVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgbWFyZ2luOiAwIDAgMCAwOyB9XG5cbmJvZHkge1xuICBmb250OiBub3JtYWwgNDAwIDE1cHgvMS40IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogIzMzMzMzMztcbiAgYmFja2dyb3VuZDogIzNmNDhjYztcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uYnRuLCAuZnJtX2J1dHRvbl9zdWJtaXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQ6ICMzRjQ4Q0M7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogI0ZGRkZGRjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7IH1cbiAgLmJ0bjpob3ZlciwgLmZybV9idXR0b25fc3VibWl0OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjNzBjMWIzOyB9XG5cbi5idG4tLWxhcmdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQ6IG5vcm1hbCA3MDAgMTVweC8xLjQgXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuMnJlbTsgfVxuXG4ubmV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubmV4dF9fd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTtcbiAgICB3aWR0aDogNjYuNjY2NjclO1xuICAgIHBhZGRpbmc6IDYlIDAgMCAwO1xuICAgIG1hcmdpbi10b3A6IDY1cHg7IH1cbiAgLm5leHQgYSB7XG4gICAgZm9udDogbm9ybWFsIDcwMCAxNXB4LzEuNCBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzNGNDhDQztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5uZXh0IGE6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgLm5leHQgYS5wcmV2IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMzRweDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuICAgICAgLm5leHQgYS5wcmV2OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi9wcmV2LWljby5zdmdcIik7XG4gICAgICAgIGxlZnQ6IDA7IH1cbiAgICAubmV4dCBhLm5leHQge1xuICAgICAgcGFkZGluZy1yaWdodDogMzRweDtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgICAgLm5leHQgYS5uZXh0OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi9uZXh0LWljby5zdmdcIik7XG4gICAgICAgIHJpZ2h0OiAwOyB9XG4gIC5uZXh0IHN2ZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA1JSk7XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIHdpZHRoOiAxNTAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCksIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgIC5uZXh0IHN2ZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCksIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgIC5uZXh0IHN2ZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uYy1hYm91dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYy1hYm91dF9fd3JhcHBlciB7XG4gICAgcGFkZGluZzogNC4xNjY2NyU7IH1cbiAgLmMtYWJvdXQgc3ZnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDUlKTtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSwgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgLmMtYWJvdXQgc3ZnIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSwgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgLmMtYWJvdXQgc3ZnIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5jLWFib3V0IC5tZWRpYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgIC5jLWFib3V0IC5tZWRpYSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMlOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5jLWFib3V0IC5tZWRpYSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDAgYXV0byBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgLmMtYWJvdXQgLm1lZGlhIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAuYy1hYm91dCAuYm9keSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAzNy41JTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIG1hcmdpbi1sZWZ0OiA0LjE2NjY3JTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAuYy1hYm91dCAuYm9keSB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLmMtYWJvdXQgLmJvZHkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIGF1dG87IH0gfVxuICAgIC5jLWFib3V0IC5ib2R5IC53cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDQuMTY2NjclIDA7IH1cbiAgICAuYy1hYm91dCAuYm9keSBoMyB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogIzNGNDhDQzsgfVxuXG4uZ3JpZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogNC4xNjY2NyU7XG4gIHotaW5kZXg6IDE7IH1cbiAgLmdyaWQuZ3JpZC0xIHtcbiAgICBsZWZ0OiA0LjE2NjY3JTsgfVxuICAuZ3JpZC5ncmlkLTIge1xuICAgIGxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLmdyaWQtMyB7XG4gICAgbGVmdDogMTIuNSU7IH1cbiAgLmdyaWQuZ3JpZC00IHtcbiAgICBsZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmdyaWQuZ3JpZC01IHtcbiAgICBsZWZ0OiAyMC44MzMzMyU7IH1cbiAgLmdyaWQuZ3JpZC02IHtcbiAgICBsZWZ0OiAyNSU7IH1cbiAgLmdyaWQuZ3JpZC03IHtcbiAgICBsZWZ0OiAyOS4xNjY2NyU7IH1cbiAgLmdyaWQuZ3JpZC04IHtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQuZ3JpZC05IHtcbiAgICBsZWZ0OiAzNy41JTsgfVxuICAuZ3JpZC5ncmlkLTEwIHtcbiAgICBsZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmdyaWQuZ3JpZC0xMSB7XG4gICAgbGVmdDogNDUuODMzMzMlOyB9XG4gIC5ncmlkLmdyaWQtMTIge1xuICAgIGxlZnQ6IDUwJTsgfVxuICAuZ3JpZC5ncmlkLTEzIHtcbiAgICBsZWZ0OiA1NC4xNjY2NyU7IH1cbiAgLmdyaWQuZ3JpZC0xNCB7XG4gICAgbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLmdyaWQtMTUge1xuICAgIGxlZnQ6IDYyLjUlOyB9XG4gIC5ncmlkLmdyaWQtMTYge1xuICAgIGxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC5ncmlkLTE3IHtcbiAgICBsZWZ0OiA3MC44MzMzMyU7IH1cbiAgLmdyaWQuZ3JpZC0xOCB7XG4gICAgbGVmdDogNzUlOyB9XG4gIC5ncmlkLmdyaWQtMTkge1xuICAgIGxlZnQ6IDc5LjE2NjY3JTsgfVxuICAuZ3JpZC5ncmlkLTIwIHtcbiAgICBsZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQuZ3JpZC0yMSB7XG4gICAgbGVmdDogODcuNSU7IH1cbiAgLmdyaWQuZ3JpZC0yMiB7XG4gICAgbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLmdyaWQtMjMge1xuICAgIGxlZnQ6IDk1LjgzMzMzJTsgfVxuICAuZ3JpZC5ncmlkLTI0IHtcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5ncmlkOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA3KTsgfVxuXG4jY29udGFpbmVyIHtcbiAgcGFkZGluZzogNSUgMDsgfVxuXG4uYm94LWxpc3RpbmcgLmJveCB7XG4gIG1hcmdpbjogNDVweCAwOyB9XG4gIC5ib3gtbGlzdGluZyAuYm94Om50aC1jaGlsZCgybikgLmJveC1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tOyB9XG4gIC5ib3gtbGlzdGluZyAuYm94Om50aC1jaGlsZCgzbikgLmJveC1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyOyB9XG4gIC5ib3gtbGlzdGluZyAuYm94Om50aC1jaGlsZCg0bikgLmJveC1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gcmlnaHQ7IH1cbiAgLmJveC1saXN0aW5nIC5ib3g6bnRoLWNoaWxkKDEpIC5ib3gtY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMjglOyB9XG4gIC5ib3gtbGlzdGluZyAuYm94Om50aC1jaGlsZCgyKSAuYm94LWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTI2JTsgfVxuICAuYm94LWxpc3RpbmcgLmJveDpudGgtY2hpbGQoMykgLmJveC1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE4MyU7IH1cbiAgLmJveC1saXN0aW5nIC5ib3g6bnRoLWNoaWxkKDQpIC5ib3gtY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNTYlOyB9XG4gIC5ib3gtbGlzdGluZyAuYm94Om50aC1jaGlsZCg1KSAuYm94LWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTY4JTsgfVxuICAuYm94LWxpc3RpbmcgLmJveDpudGgtY2hpbGQoZXZlbikgLmJveC1jb250ZW50IHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7XG4gICAgcGFkZGluZy1sZWZ0OiAxMi41JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAuYm94LWxpc3RpbmcgLmJveDpudGgtY2hpbGQoZXZlbikgLmJveC1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gYXV0bztcbiAgICAgICAgcGFkZGluZzogMzVweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5ib3gtbGlzdGluZyAuYm94Om50aC1jaGlsZChldmVuKSAuYm94LWNvbnRlbnQge1xuICAgICAgICBtYXJnaW46IDAgYXV0byBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAzNXB4OyB9IH1cbiAgLmJveC1saXN0aW5nIC5ib3g6bnRoLWNoaWxkKGV2ZW4pIC5ib3gtYm9keSB7XG4gICAgcGFkZGluZy1yaWdodDogMTAuNzE0MjklO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuYm94LWxpc3RpbmcgLmJveDpudGgtY2hpbGQoZXZlbikgLmJveC1leGNlcnB0IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5ib3gtbGlzdGluZyAuYm94Om50aC1jaGlsZChldmVuKSAuYm94LWV4Y2VycHQge1xuICAgICAgICByaWdodDogaW5oZXJpdDtcbiAgICAgICAgbGVmdDogaW5oZXJpdDsgfSB9XG5cbi5ib3gtbGlzdGluZyAuYm94LWNvbnRlbnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHdpZHRoOiA1OC4zMzMzMyU7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3MEMxQjM7XG4gIHBhZGRpbmc6IDYuMjUlIDEyLjUlO1xuICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgcmlnaHQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4vZG9sbGFyX2JnLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgIC5ib3gtbGlzdGluZyAuYm94LWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMzVweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5ib3gtbGlzdGluZyAuYm94LWNvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDkwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgcGFkZGluZzogMzVweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDAgYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLmJveC1saXN0aW5nIGgyIHtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LXNpemU6IDEuODY2NjdyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7IH1cblxuLmJveC1saXN0aW5nIC5ib3gtYm9keSB7XG4gIHBhZGRpbmctbGVmdDogMTAuNzE0MjklOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgLmJveC1saXN0aW5nIC5ib3gtYm9keSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDcuMTQyODYlOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmJveC1saXN0aW5nIC5ib3gtYm9keSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG4uYm94LWxpc3RpbmcgLndyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmJveC1saXN0aW5nIC5ib3gtZXhjZXJwdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC1zaXplOiAxLjg2NjY3cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBsZXR0ZXItc3BhY2luZzogLTJweDtcbiAgbWluLXdpZHRoOiAzNjBweDtcbiAgd2lkdGg6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICMzRjQ4Q0M7IH1cbiAgLmJveC1saXN0aW5nIC5ib3gtZXhjZXJwdCBzdHJvbmcsIC5ib3gtbGlzdGluZyAuYm94LWV4Y2VycHQgYiB7XG4gICAgY29sb3I6ICM3MGMxYjM7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAuYm94LWxpc3RpbmcgLmJveC1leGNlcnB0IHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgbWluLXdpZHRoOiAyODBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5ib3gtbGlzdGluZyAuYm94LWV4Y2VycHQge1xuICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgZm9udC1zaXplOiAxLjQ2NjY3cmVtO1xuICAgICAgcG9zaXRpb246IGluaGVyaXQ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgdG9wOiBpbmhlcml0O1xuICAgICAgcmlnaHQ6IGluaGVyaXQ7XG4gICAgICBtaW4td2lkdGg6IGluaGVyaXQ7IH0gfVxuXG5hcnRpY2xlIC5ib2R5IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB3aWR0aDogNDEuNjY2NjclO1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgYXJ0aWNsZSAuYm9keSB7XG4gICAgICBtYXJnaW4tbGVmdDogNC4xNjY2NyU7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgYXJ0aWNsZSAuYm9keSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMCBhdXRvIGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1heC13aWR0aDogOTAlOyB9IH1cblxuYXJ0aWNsZSAuY2Fyb3VzZWwuc2xpY2stc2xpZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTE2LjY2NjY3JTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG5hcnRpY2xlIC5zaWRlYmFyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB3aWR0aDogMjAuODMzMzMlO1xuICBtYXJnaW4tbGVmdDogNC4xNjY2NyU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxNDc5cHgpIHtcbiAgICBhcnRpY2xlIC5zaWRlYmFyIHtcbiAgICAgIHdpZHRoOiAyOS4xNjY2NyU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxNDc5cHgpIHtcbiAgICBhcnRpY2xlIC5zaWRlYmFyIHtcbiAgICAgIHdpZHRoOiAyOS4xNjY2NyU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgIGFydGljbGUgLnNpZGViYXIge1xuICAgICAgd2lkdGg6IDMxLjI1JTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIGFydGljbGUgLnNpZGViYXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDAgYXV0byBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXgtd2lkdGg6IDkwJTsgfVxuICAgICAgYm9keS5wYWdlLXRlbXBsYXRlLXRwbC1xdW90YXRpb24gYXJ0aWNsZSAuc2lkZWJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBhcnRpY2xlIC5zaWRlYmFyIC5jYXJvdXNlbCB7XG4gICAgdG9wOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgYXJ0aWNsZSAuc2lkZWJhciAuc2xpY2stbGlzdCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDsgfVxuICBhcnRpY2xlIC5zaWRlYmFyIC5pdGVtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzVweDsgfVxuICBhcnRpY2xlIC5zaWRlYmFyIC50YWdsaW5lIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIGFydGljbGUgLnNpZGViYXIgLnRhZ2xpbmU6bnRoLWNoaWxkKDJuKSAuaW5uZXIge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbTsgfVxuICAgIGFydGljbGUgLnNpZGViYXIgLnRhZ2xpbmU6bnRoLWNoaWxkKDNuKSAuaW5uZXIge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjsgfVxuICAgIGFydGljbGUgLnNpZGViYXIgLnRhZ2xpbmU6bnRoLWNoaWxkKDRuKSAuaW5uZXIge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIHJpZ2h0OyB9XG4gICAgYXJ0aWNsZSAuc2lkZWJhciAudGFnbGluZTpudGgtY2hpbGQoMSkgLmlubmVyIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTE4JTsgfVxuICAgIGFydGljbGUgLnNpZGViYXIgLnRhZ2xpbmU6bnRoLWNoaWxkKDIpIC5pbm5lciB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDExNyU7IH1cbiAgICBhcnRpY2xlIC5zaWRlYmFyIC50YWdsaW5lOm50aC1jaGlsZCgzKSAuaW5uZXIge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxNTclOyB9XG4gICAgYXJ0aWNsZSAuc2lkZWJhciAudGFnbGluZTpudGgtY2hpbGQoNCkgLmlubmVyIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTU3JTsgfVxuICAgIGFydGljbGUgLnNpZGViYXIgLnRhZ2xpbmU6bnRoLWNoaWxkKDUpIC5pbm5lciB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1MCU7IH1cbiAgICBhcnRpY2xlIC5zaWRlYmFyIC50YWdsaW5lIC5pbm5lciB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzcwQzFCMztcbiAgICAgIHBhZGRpbmc6IDEwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEyLjUlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0ycHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi9kb2xsYXJfYmcucG5nKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBsZWZ0O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDkwJTtcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgIGZvbnQtc2l6ZTogMS44NjY2N3JlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICMzRjQ4Q0M7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAgICAgICBhcnRpY2xlIC5zaWRlYmFyIC50YWdsaW5lIC5pbm5lciB7XG4gICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS43MzMzM3JlbTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgICBhcnRpY2xlIC5zaWRlYmFyIC50YWdsaW5lIC5pbm5lciB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS40NjY2N3JlbTsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgYXJ0aWNsZSAuc2lkZWJhciAudGFnbGluZSAuaW5uZXIge1xuICAgICAgICAgIHBhZGRpbmc6IDM1cHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgYXJ0aWNsZSAuc2lkZWJhciAudGFnbGluZSBwIHtcbiAgICAgIG1hcmdpbjogMjVweCAwIDAgMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBhcnRpY2xlIC5zaWRlYmFyIC50YWdsaW5lIHA6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgYXJ0aWNsZSAuc2lkZWJhciAudGFnbGluZSAud3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTE2LjY2NjY3JTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxNDc5cHgpIHtcbiAgICAgICAgYXJ0aWNsZSAuc2lkZWJhciAudGFnbGluZSAud3JhcHBlciB7XG4gICAgICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpLCAobWluLXdpZHRoOiAxMjgwcHgpIGFuZCAobWF4LXdpZHRoOiAxNDc5cHgpIHtcbiAgICAgICAgYXJ0aWNsZSAuc2lkZWJhciAudGFnbGluZSAud3JhcHBlciB7XG4gICAgICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgICBhcnRpY2xlIC5zaWRlYmFyIC50YWdsaW5lIC53cmFwcGVyIHtcbiAgICAgICAgICB3aWR0aDogODMuMzMzMzMlOyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICBhcnRpY2xlIC5zaWRlYmFyIC50YWdsaW5lIC53cmFwcGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgdG9wOiBpbmhlcml0O1xuICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTsgfSB9XG4gICAgYXJ0aWNsZSAuc2lkZWJhciAudGFnbGluZSBzdHJvbmcsIGFydGljbGUgLnNpZGViYXIgLnRhZ2xpbmUgYiB7XG4gICAgICBjb2xvcjogIzcwYzFiMzsgfVxuICAgIGFydGljbGUgLnNpZGViYXIgLnRhZ2xpbmUgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC1zaXplOiAwLjkzMzMzcmVtO1xuICAgICAgY29sb3I6ICMzRjQ4Q0M7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgcGFkZGluZy1yaWdodDogMjRweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwOyB9XG4gICAgICBhcnRpY2xlIC5zaWRlYmFyIC50YWdsaW5lIGE6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi9wcmV2LWljby5zdmdcIik7IH1cblxuLmZhcV9fd3JhcHBlciB7XG4gIG1hcmdpbjogNTVweCAwOyB9XG5cbi5mYXEgLmVsZW1lbnQge1xuICBtYXJnaW4tYm90dG9tOiA1NXB4OyB9XG4gIC5mYXEgLmVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZmFxIGg0IHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgY29sb3I6ICMzRjQ4Q0M7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAxMnB4OyB9XG4gIC5mYXEgaDQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuL2J1bGxldC1ibHVlLnBuZ1wiKTtcbiAgICB3aWR0aDogNnB4O1xuICAgIGhlaWdodDogMTRweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDhweDsgfVxuXG4uZmFxLWJvZHkge1xuICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMlO1xuICBwYWRkaW5nLXRvcDogMThweDsgfVxuXG4uYnJlYWRjcnVtYnMge1xuICBjb2xvcjogIzcwYzFiMztcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmJyZWFkY3J1bWJzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0LjE2NjY3JTtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCksIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmJyZWFkY3J1bWJzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0LjE2NjY3JTtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAuYnJlYWRjcnVtYnNfX3dyYXBwZXIge1xuICAgIHBhZGRpbmc6IDM1cHggMCAwIDA7IH1cbiAgLmJyZWFkY3J1bWJzIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogIzMzMzMzMzsgfVxuICAuYnJlYWRjcnVtYnMgb2wge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuYnJlYWRjcnVtYnMgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxuICAgIC5icmVhZGNydW1icyBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIGZvbnQ6IG5vcm1hbCA3MDAgMTVweC8xLjQgXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gICAgICBjb2xvcjogIzNmNDhjYzsgfVxuXG4ubWFpbi1uYXYge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7IH1cbiAgLm1haW4tbmF2X193cmFwcGVyIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBwYWRkaW5nOiA1MnB4IDAgMzZweCAwOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAubWFpbi1uYXZfX3dyYXBwZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogNC4xNjY2NyU7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDsgfSB9XG4gIC5tYWluLW5hdiB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMCA5LjA5MDkxJTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAwOyB9XG4gIC5tYWluLW5hdiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAgMjVweDsgfVxuICAgIC5tYWluLW5hdiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLm1haW4tbmF2IC5sb2dvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDI3LjI3MjczJTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCksIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgIC5tYWluLW5hdiAubG9nbyB7XG4gICAgICAgIHdpZHRoOiA4MS44MTgxOCU7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCksIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgIC5tYWluLW5hdiAubG9nbyB7XG4gICAgICAgIHdpZHRoOiA4MS44MTgxOCU7IH0gfVxuICAgIC5tYWluLW5hdiAubG9nbyBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWluLXdpZHRoOiAyMDBweDsgfVxuICAubWFpbi1uYXYgLm5hdiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpLCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAubWFpbi1uYXYgLm5hdiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCksIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgIC5tYWluLW5hdiAubmF2IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5tYWluLW5hdiBhIHtcbiAgICBmb250OiBub3JtYWwgNzAwIDE1cHgvMS40IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXNpemU6IDAuOTMzMzNyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzMzMzMzMztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAubWFpbi1uYXYgYTpob3ZlciwgLm1haW4tbmF2IGEuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjNzBjMWIzOyB9XG4gIC5tYWluLW5hdiAucXVvdGF0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250OiBub3JtYWwgNzAwIDE1cHgvMS40IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuICAgIGJhY2tncm91bmQ6ICMzZjQ4Y2M7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTIwJTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDIyLjcyNzI3JTtcbiAgICB6LWluZGV4OiA5MDAwO1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCwgMTAwJSA4NSUsIDAlIDEwMCUpOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgIC5tYWluLW5hdiAucXVvdGF0aW9uIHtcbiAgICAgICAgd2lkdGg6IDM2LjM2MzY0JTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAubWFpbi1uYXYgLnF1b3RhdGlvbiB7XG4gICAgICAgIHdpZHRoOiAzNi4zNjM2NCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB0b3A6IGluaGVyaXQ7XG4gICAgICAgIHJpZ2h0OiBpbmhlcml0O1xuICAgICAgICBjbGlwLXBhdGg6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgbWFyZ2luLXRvcDogMThweDtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIC5tYWluLW5hdiAucXVvdGF0aW9uIHNwYW4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAzNSU7IH1cbiAgICAubWFpbi1uYXYgLnF1b3RhdGlvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNzBjMWIzOyB9XG4gICAgICAubWFpbi1uYXYgLnF1b3RhdGlvbjpob3ZlciBhIHtcbiAgICAgICAgY29sb3I6ICMzZjQ4Y2M7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAubWFpbi1uYXYgLnF1b3RhdGlvbjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgICAubWFpbi1uYXYgLnF1b3RhdGlvbjpob3ZlciBhIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM3MGMxYjM7XG4gICAgICAgICAgICBjb2xvcjogIzNmNDhjYzsgfSB9XG4gICAgLm1haW4tbmF2IC5xdW90YXRpb246YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRyYW5zZm9ybTogc2tld1koLTRkZWcpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0b3A6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAjM2Y0OGNjO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0OyB9XG4gICAgLm1haW4tbmF2IC5xdW90YXRpb24gYSB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgIGNvbG9yOiAjNzBjMWIzO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIHotaW5kZXg6IDkwMTA7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAubWFpbi1uYXYgLnF1b3RhdGlvbiBhIHtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjA2NjY3cmVtO1xuICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICB0b3A6IGluaGVyaXQ7XG4gICAgICAgICAgbGVmdDogaW5oZXJpdDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMzZjQ4Y2M7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgICAgLm1haW4tbmF2IC5xdW90YXRpb24gYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtOyB9IH1cblxuLmhlYWRlciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSByaWdodDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlO1xuICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDAsIDEwMCUgODUlLCAwJSAxMDAlKTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpLCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgLmhlYWRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogNC4xNjY2NyU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpLCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgLmhlYWRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogNC4xNjY2NyU7IH0gfVxuICAuaGVhZGVyX193cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogNTIwcHg7IH1cbiAgICAuaGVhZGVyX193cmFwcGVyOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICB0cmFuc2Zvcm06IHNrZXdZKC0yZGVnKSB0cmFuc2xhdGVZKC01LjI1JSk7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCksIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgIC5oZWFkZXJfX3dyYXBwZXIge1xuICAgICAgICBtaW4taGVpZ2h0OiAzMjBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSwgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgLmhlYWRlcl9fd3JhcHBlciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMyMHB4OyB9IH1cbiAgLmhlYWRlciBpbWcge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5oZWFkZXIgLnBhZ2VIZWFkZXJUaXRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmhlYWRlciAucGFnZUhlYWRlclRpdGxlIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiA4LjMzMzMzJSAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmhlYWRlciAucGFnZUhlYWRlclRpdGxlIGxpIHtcbiAgICAgIG1hcmdpbjogMTBweCAwOyB9XG4gICAgLmhlYWRlciAucGFnZUhlYWRlclRpdGxlIHNwYW4ge1xuICAgICAgYmFja2dyb3VuZDogIzNmNDhjYztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgcGFkZGluZzogNnB4IDEycHg7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQ6IG5vcm1hbCA3MDAgMTVweC8xLjQgXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDQycHg7XG4gICAgICBmb250LXNpemU6IDIuOHJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLmMtbGF5b3V0IHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5jLWxheW91dF9fd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDIwMTsgfVxuXG4uYy1jcmVkaXQge1xuICBmb250LXNpemU6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMC42NjY2N3JlbTtcbiAgYmFja2dyb3VuZDogIzNmNDhjYztcbiAgY29sb3I6ICM3MGMxYjM7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjAxOyB9XG4gIC5jLWNyZWRpdF9fd3JhcHBlciB7XG4gICAgcGFkZGluZzogMTBweCAwOyB9XG4gIC5jLWNyZWRpdCAuY2libGVuZXQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuYy1jcmVkaXQgYSB7XG4gICAgY29sb3I6ICM3MGMxYjM7IH1cblxuLmMtZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogIzNmNDhjYztcbiAgY29sb3I6ICNmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjAxO1xuICBwYWRkaW5nLXRvcDogNDVweDtcbiAgY2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAxNSUsIDEwMCUgMTAwJSwgMCUgMTAwJSk7IH1cbiAgLmMtZm9vdGVyIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuYy1mb290ZXIgLnJvdyB7XG4gICAgcGFkZGluZzogMzVweCAwO1xuICAgIGZvbnQtc2l6ZTogMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLmMtZm9vdGVyIC5yb3c6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuYy1mb290ZXIgLnJvdzpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzcwYzFiMzsgfVxuICAuYy1mb290ZXI6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNmb3JtOiBza2V3WSgyZGVnKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGJhY2tncm91bmQ6ICMzZjQ4Y2M7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIHJpZ2h0OyB9XG4gIC5jLWZvb3Rlcl9fd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICMzZjQ4Y2M7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAuYy1mb290ZXIgc3Ryb25nIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuYy1mb290ZXIgLmNvbnRhY3Qge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgd2lkdGg6IDUwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgLmMtZm9vdGVyIC5jb250YWN0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogOTAlOyB9IH1cbiAgICAuYy1mb290ZXIgLmNvbnRhY3QgYSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0OyB9XG4gICAgLmMtZm9vdGVyIC5jb250YWN0IHVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmMtZm9vdGVyIC5jb250YWN0IGxpIHtcbiAgICAgIG1hcmdpbjogMCAwIDVweCAwO1xuICAgICAgZmxvYXQ6IG5vbmU7IH1cbiAgICAgIC5jLWZvb3RlciAuY29udGFjdCBsaSBzcGFuIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udDogbm9ybWFsIDcwMCAxNXB4LzEuNCBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgbWluLXdpZHRoOiAxMTBweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgIC5jLWZvb3RlciAuY29udGFjdCBsaSBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLmMtZm9vdGVyIC5zb2NpYWwge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5jLWZvb3RlciAuc29jaWFsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAuYy1mb290ZXIgLmxvZ28ge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAuYy1mb290ZXIgLmxvZ28gaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1pbi13aWR0aDogMjAwcHg7IH1cbiAgLmMtZm9vdGVyIC5uYXYge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgIC5jLWZvb3RlciAubmF2IGEge1xuICAgICAgY29sb3I6ICM3MGMxYjM7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBmb250OiBub3JtYWwgNzAwIDE1cHgvMS40IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuYy1mb290ZXIgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5jLWZvb3RlciBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwIDIwcHg7IH1cbiAgICAuYy1mb290ZXIgbGk6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLmNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogOTAlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5jb250YWluZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxNDgwcHgpIHtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTYwMHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkgYW5kIChtYXgtd2lkdGg6IDE0NzlweCkge1xuICAgIC5jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7IH0gfVxuIiwiLypcbmJhc2UvIOKAkyBTdHlsZSBnbG9iYWwgY29tbWUgbGVzIHJlc2V0cywgbGEgdHlwbywgY29sZXVycywgZXRjLiBMZXMgZmljaGllcnMgbmUgZGV2cmFpdCBwYXMgw6p0cmUgbWFuaXB1bMOpLCBpbCBzJ2FnaXQgZW4gcXVlbHF1ZXMgc29ydGUgZCd1biB3aXJlZnJhbWUuXG5jb21wb25lbnRzLyDigJNcbmxheW91dC8g4oCTXG5wYWdlcy8g4oCTIFN0eWxlIHF1aSBzJ2FwcGxpcXVlIMOgIGRlcyBwYWdlcyBzcMOpY2lmaXF1ZSwgc2kgbsOpY2Vzc2FpcmVcbnRoZW1lcy8g4oCTXG51dGlscy8g4oCTXG52ZW5kb3JzLyDigJNcbm1haW4uc2NzcyDigJNcbiovXG5cbi8vIEBpbXBvcnQgXCJfZGVidWdcIjtcblxuXG4kZm9udC1zaXplOiAxNTtcbiRsaW5lLWhlaWdodDogMS40O1xuXG4kaW1hZ2UtZGlyOiAnLic7XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5bVmFyaWFibGVzXVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4kZm9udC1tb25vOiAnYml0c3RyZWFtX3ZlcmFfc2Fuc3JvbWFuJywgc2Fucy1zZXJpZjtcbiRmb250LWJsYWNrOiAnTW9udHNlcnJhdCBCbGFjaycsIHNhbnMtc2VyaWY7XG4kYm9sZDogbm9ybWFsIDcwMCAjeyRmb250LXNpemUgKiAxcHh9LyN7JGxpbmUtaGVpZ2h0fSAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4kZm9udC1zZjogIG5vcm1hbCA0MDAgI3skZm9udC1zaXplICogMXB4fS8jeyRsaW5lLWhlaWdodH0gJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuJGZvbnQtcmVndWxhcjogJGZvbnQtc2Y7XG5cbiRzY2hlbWUtY29sb3JzOiAoXG5cdCdwcmltYXJ5JzogKFxuXHRcdCdibHVlJzogIzNGNDhDQyxcblx0XHQnYXF1YSc6ICM3MEMxQjMsXG5cdFx0J2dyYXknOiAjMzMzMzMzLFxuXHRcdCd3aGl0ZSc6ICNmZmYsXG5cdFx0J2Vycm9yJzogI0M5MEUwRVxuXHQpXG4pO1xuXG4kZGVnczogMmRlZztcblxuLy9Mb2FkIG1peGlucywgZnVuY3Rpb25zLi4uXG5AaW1wb3J0IFwidXRpbHMvX2xvYWRlclwiO1xuQGltcG9ydCBcIi4vYm93ZXJfY29tcG9uZW50cy9zbGljay1jYXJvdXNlbC9zbGljay9zbGljay5zY3NzXCI7XG5cblxuLy9fZm9udHNcbkBpbXBvcnQgXCJfZm9udHMuc2Nzc1wiO1xuXG5cbi8vX3Nwcml0ZXNcbkBpbXBvcnQgXCJfc3ByaXRlc1wiO1xuLnNwcml0ZSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuXHRAZWFjaCAkc3ByaXRlIGluICRzcHJpdGVzaGVldC1zcHJpdGVzIHtcblx0XHQkc3ByaXRlLW5hbWU6IG50aCgkc3ByaXRlLCAxMCk7XG5cdFx0Ji0tI3skc3ByaXRlLW5hbWV9IHtcblx0XHRcdEBpbmNsdWRlIHNwcml0ZSgkc3ByaXRlKTtcblx0XHR9XG5cdH1cbn1cblxuXG5maWVsZHNldCB7XG5cdG1hcmdpbjogMDsgcGFkZGluZzogMDsgYm9yZGVyOiAwO1xufVxuXG5cbmh0bWwge1xuXHRmb250LXNpemU6ICRmb250LXNpemUgKiAxcHg7XG5cdGZvbnQtc2l6ZTogMTAwJTtcbn1cblxuaHRtbCwgYm9keSB7XG5cdGhlaWdodDogMTAwJTtcblx0bWluLWhlaWdodDogMTAwJTtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR4cy1vbmx5KSB7XG5cdFx0bWluLXdpZHRoOiAzMjBweDtcblx0fVxufVxuXG4uZnJtX2hpZGRlbiB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG5cblxuLmZybV9tZXNzYWdlLCAuZnJtX2Vycm9yX3N0eWxlIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBhZGRpbmc6IDEycHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHNjaGVtZS1jb2xvcigncHJpbWFyeScsICdibHVlJyk7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdGNvbG9yOiBzY2hlbWUtY29sb3IoJ3ByaW1hcnknLCAnYmx1ZScpO1xuXHRmb250LXdlaWdodDogNzAwO1xuXHRwIHtcblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cdH1cbn1cblxuLmZybV9lcnJvcl9zdHlsZSB7XG5cdGNvbG9yOiBzY2hlbWUtY29sb3IoJ3ByaW1hcnknLCAnZXJyb3InKTtcbn1cblxuLnJhZGlvLCAuZnJtX3JhZGlvLCAuZnJtX2NoZWNrYm94IHtcblx0bWFyZ2luOiAwIDEycHggMCAwO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cblx0bGFiZWwgeyBcblx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdG1hcmdpbjogMDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHNjaGVtZS1jb2xvcigncHJpbWFyeScsICdhcXVhJyk7XG5cdFx0XHR3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4O1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR9XG5cdH1cblxuXHQmLmNoZWNrZWQgbGFiZWw6OmJlZm9yZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAgc2NoZW1lLWNvbG9yKCdwcmltYXJ5JywgJ2JsdWUnKTtcblx0XHRcdGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCBzY2hlbWUtY29sb3IoJ3ByaW1hcnknLCAnYXF1YScpO1xuXHR9XG5cblx0aW5wdXRbdHlwZT1cInJhZGlvXCJdLCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRvcGFjaXR5OiAwO1xuXG5cdFx0KyBsYWJlbCB7XG5cdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgc2NoZW1lLWNvbG9yKCdwcmltYXJ5JywgJ2FxdWEnKTtcblx0XHRcdFx0d2lkdGg6IDIwcHg7IGhlaWdodDogMjBweDtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmOmNoZWNrZWQge1xuXHRcdFx0KyBsYWJlbCB7XG5cdFx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAgc2NoZW1lLWNvbG9yKCdwcmltYXJ5JywgJ2JsdWUnKTtcblx0XHRcdFx0XHRib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggc2NoZW1lLWNvbG9yKCdwcmltYXJ5JywgJ2FxdWEnKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4ucGFnZS10aXRsZSB7XG5cdGZvbnQ6ICRmb250LXNmO1xuXHRAaW5jbHVkZSBjYWxjLXJlbSg0Mik7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRjb2xvcjogc2NoZW1lLWNvbG9yKCdwcmltYXJ5JywgJ2JsdWUnKTtcblx0bWF4LXdpZHRoOiA4MDBweDtcblx0bGV0dGVyLXNwYWNpbmc6IC0ycHg7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdG1hcmdpbi1sZWZ0OiBzcGFuKDEuNSBpbnNpZGUgbm8tZ3V0dGVycyk7XG5cdGxpbmUtaGVpZ2h0OiAxLjE7XG5cdGJhY2tncm91bmQ6IHNjaGVtZS1jb2xvcigncHJpbWFyeScsICd3aGl0ZScsIDAuODIpO1xuXHRwYWRkaW5nOiAyNHB4O1xuXHRtYXJnaW46IDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRzbS1vbmx5KSB7XG5cdFx0QGluY2x1ZGUgY2FsYy1yZW0oMzIpO1xuXHRcdG1heC13aWR0aDogNzUlO1xuXHR9XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeHMtb25seSkge1xuXHRcdEBpbmNsdWRlIGNhbGMtcmVtKDIwKTtcblx0XHRtYXgtd2lkdGg6IDgwJTtcblx0fVxuXG59XG5cbi5sb2dvX2Nhcm91c2VsIHtcblx0bWFyZ2luLXRvcDogNDVweDtcblxuXHQuc2xpY2stc2xpZGUge1xuXHRcdGZsb2F0OiBub25lO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxuXG5cdGltZyB7XG5cdFx0bWF4LXdpZHRoOiA4MCU7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRzbS1vbmx5KSB7XG5cdFx0XHRtYXgtd2lkdGg6IGluaGVyaXQ7XG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0fVxuXG5cdH1cbn1cblxuLmZvcm0tZ3JvdXAge1xuXHRtYXJnaW4tYm90dG9tOiAxMnB4O1xuXG5cdCY6bGFzdC1jaGlsZCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG4laW5wdXQge1xuXHRib3JkZXI6IDFweCBzb2xpZCBzY2hlbWUtY29sb3IoJ3ByaW1hcnknLCAnYXF1YScpO1xuXHRvdXRsaW5lOiBub25lO1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogMTJweDtcblxuXHQmOmZvY3VzIHtcblx0XHRib3JkZXItY29sb3I6IHNjaGVtZS1jb2xvcigncHJpbWFyeScsICdibHVlJyk7XG5cdH1cblxufVxuXG4uZnJtX2J1dHRvbl9zdWJtaXQge1xuXHRAZXh0ZW5kIC5idG47XG59XG5cbmxhYmVsIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGZvbnQ6ICRib2xkO1xuXHRtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbnNlbGVjdCB7XG5cdEBleHRlbmQgJWlucHV0O1xufVxuXG4uZm9ybS1maWVsZCB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbmlucHV0W3R5cGU9dGV4dF0sIGlucHV0W3R5cGU9ZW1haWxdIHtcblx0QGV4dGVuZCAlaW5wdXQ7XG59XG5cbnRleHRhcmVhIHtcblx0QGV4dGVuZCAlaW5wdXQ7XG5cdGhlaWdodDogMTQ1cHg7XG5cdHJlc2l6ZTogbm9uZTtcbn1cblxucCB7XG5cdG1hcmdpbjogMCAwIDI1cHggMDtcbn1cblxuI3toZWFkaW5ncygxLDYpfSB7XG5cdG1hcmdpbjogMCAwIDAgMDtcbn1cblxuYm9keSB7XG5cdGZvbnQ6ICRmb250LXJlZ3VsYXI7XG5cdGNvbG9yOiBzY2hlbWUtY29sb3IoJ3ByaW1hcnknLCAnZ3JheScpO1xuXHRiYWNrZ3JvdW5kOiBzY2hlbWUtY29sb3IoJ3ByaW1hcnknLCAnYmx1ZScpO1xuXHRsaW5lLWhlaWdodDogMS42O1xufVxuXG4uYnRuIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRiYWNrZ3JvdW5kOiAjM0Y0OENDO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRAaW5jbHVkZSBjYWxjLXJlbSgxNSk7XG5cdGNvbG9yOiAjRkZGRkZGO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHBhZGRpbmc6IDEwcHggMTVweCA7XG5cblx0Jjpob3ZlciB7XG5cdFx0YmFja2dyb3VuZDogIzcwYzFiMztcblx0fVxufVxuXG4uYnRuLS1sYXJnZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRmb250OiAkYm9sZDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRAaW5jbHVkZSBjYWxjLXJlbSgxOCk7XG5cbn1cblxuLm5leHQge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0Jl9fd3JhcHBlciB7XG5cdFx0bWFyZ2luLWxlZnQ6IHNwYW4oNCBpbnNpZGUgbm8tZ3V0dGVycyk7XG5cdFx0d2lkdGg6IHNwYW4oMTYgaW5zaWRlIG5vLWd1dHRlcnMpO1xuXHRcdHBhZGRpbmc6NiUgMCAwIDA7XG5cdFx0bWFyZ2luLXRvcDogNjVweDtcblx0fVxuXG5cdGEge1xuXHRcdGZvbnQ6ICRib2xkO1xuXHRcdEBpbmNsdWRlIGNhbGMtcmVtKDE4KTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiAjM0Y0OENDO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRjb250ZW50OiAnJztcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0d2lkdGg6IDIwcHg7IGhlaWdodDogMjBweDtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR9XG5cblx0XHQmLnByZXYge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAzNHB4O1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcjeyRpbWFnZS1kaXJ9L3ByZXYtaWNvLnN2ZycpO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYubmV4dCB7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAzNHB4O1xuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcjeyRpbWFnZS1kaXJ9L25leHQtaWNvLnN2ZycpO1xuXHRcdFx0XHRyaWdodDogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRzdmcge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNSUpO1xuXHRcdGJvdHRvbTogMTAwJTtcblx0XHR3aWR0aDogMTUwJTtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50cygkeHMtb25seSwgJHNtLW9ubHkpIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG5cbi5jLWFib3V0IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdCZfX3dyYXBwZXIge1xuXHRcdHBhZGRpbmc6IHNwYW4oMSBpbnNpZGUgbm8tZ3V0dGVycyk7XG5cdH1cblxuXHRzdmcge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRsZWZ0OiA1MCU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgNSUpO1xuXHRcdGJvdHRvbTogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50cygkeHMtb25seSwgJHNtLW9ubHkpIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG5cblx0Lm1lZGlhIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0d2lkdGg6IHNwYW4oNCBpbnNpZGUgbm8tZ3V0dGVycyk7XG5cdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblxuXHRcdG1hcmdpbi1sZWZ0OiBzcGFuKDQgIGluc2lkZSBuby1ndXR0ZXJzKTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNtLW9ubHkpIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0d2lkdGg6IHNwYW4oOCBpbnNpZGUgbm8tZ3V0dGVycyk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeHMtb25seSkge1xuXHRcdFx0d2lkdGg6IHNwYW4oMjQgaW5zaWRlIG5vLWd1dHRlcnMpO1xuXHRcdFx0bWFyZ2luOiAwIGF1dG8gYXV0bztcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblxuXHRcdGltZyB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogYXV0bztcblx0XHR9XG5cdH1cblxuXHQuYm9keSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHdpZHRoOiBzcGFuKDkgaW5zaWRlIG5vLWd1dHRlcnMpO1xuXHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cblx0XHRtYXJnaW4tbGVmdDogc3BhbigxIGluc2lkZSBuby1ndXR0ZXJzKTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNtLW9ubHkpIHtcblx0XHRcdHdpZHRoOiBzcGFuKDEyIGluc2lkZSBuby1ndXR0ZXJzKTtcblx0XHR9XHRcdFx0XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR4cy1vbmx5KSB7XG5cdFx0XHR3aWR0aDogc3BhbigyNCBpbnNpZGUgbm8tZ3V0dGVycyk7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG1hcmdpbjogMCBhdXRvIGF1dG87XG5cdFx0fVxuXG5cdFx0LndyYXBwZXIge1xuXHRcdFx0cGFkZGluZzogc3BhbigxIGluc2lkZSBuby1ndXR0ZXJzKSAwO1xuXHRcdH1cblxuXHRcdGgzIHtcblx0XHRcdEBpbmNsdWRlIGNhbGMtcmVtKDI0KTtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRjb2xvcjogIzNGNDhDQztcblx0XHR9XG5cdH1cbn1cblxuLmdyaWQge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR0b3A6IDA7XG5cdGhlaWdodDogMTAwJTtcblx0d2lkdGg6IHNwYW4oMSBpbnNpZGUgbm8tZ3V0dGVycyk7XG5cdHotaW5kZXg6IDE7XG5cblx0QGZvciAkaSBmcm9tIDEgdGhyb3VnaCAyNCB7XG5cdFx0Ji5ncmlkLSN7JGl9IHtcblx0XHRcdGxlZnQ6IHNwYW4oJGkgaW5zaWRlIG5vLWd1dHRlcnMpO1xuXHRcdH1cblx0fVxuXG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDogMDsgaGVpZ2h0OiAxMDAlO1xuXHRcdHdpZHRoOiAxcHg7XG5cdFx0YmFja2dyb3VuZDogcmdiYSgjMDAwMDAwLCAuMDcpO1xuXHR9XG59XG5cblx0I2NvbnRhaW5lciB7XG5cdFx0cGFkZGluZzogNSUgMDtcblx0fVxuXG5cdC5ib3gtbGlzdGluZyB7XG5cdFx0LmJveCB7XG5cdFx0XHRtYXJnaW46IDQ1cHggMDtcblxuXHRcdFx0JjpudGgtY2hpbGQoMm4pIHtcblx0XHRcdFx0LmJveC1jb250ZW50IHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCY6bnRoLWNoaWxkKDNuKSB7XG5cdFx0XHRcdC5ib3gtY29udGVudCB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOm50aC1jaGlsZCg0bikge1xuXHRcdFx0XHQuYm94LWNvbnRlbnQge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSByaWdodDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRAZm9yICRpIGZyb20gMSB0aHJvdWdoIDUge1xuXHRcdFx0XHQmOm50aC1jaGlsZCgjeyRpfSkge1xuXHRcdFx0XHRcdC5ib3gtY29udGVudCB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6ICN7cmFuZG9tTnVtKDEwMCwgMjAwKSArICclJ307XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHQgIFxuXHRcdFx0XHR9XG5cdFx0XHQgIH1cblxuXHRcblx0XHRcdCY6bnRoLWNoaWxkKGV2ZW4pIHtcblxuXHRcdFx0XHQuYm94LWNvbnRlbnQge1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiBzcGFuKDIgaW5zaWRlIG5vLWd1dHRlcnMpO1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogc3BhbigzIGluc2lkZSBuby1ndXR0ZXJzKTtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiBzcGFuKDIgaW5zaWRlIG5vLWd1dHRlcnMpO1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkc20tb25seSkge1xuXHRcdFx0XHRcdFx0bWFyZ2luOiAwIGF1dG8gYXV0bztcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDM1cHg7XG5cdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogc3BhbigyIGluc2lkZSBuby1ndXR0ZXJzKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR4cy1vbmx5KSB7XG5cdFx0XHRcdFx0XHRtYXJnaW46IDAgYXV0byBhdXRvO1xuXHRcdFx0XHRcdFx0cGFkZGluZzogMzVweDtcblx0XHRcdFx0XHR9XHRcdFxuXHRcdFx0XHRcdFxuXHRcdFx0XHR9XG5cblx0XHRcdFx0LmJveC1ib2R5IHtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiBzcGFuKDEuNSBvZiAxNCBpbnNpZGUgbm8tZ3V0dGVycyk7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LmJveC1leGNlcnB0IHtcblx0XHRcdFx0XHRyaWdodDogYXV0bztcblx0XHRcdFx0XHRsZWZ0OiAxMDAlO1xuXHRcdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR4cy1vbmx5KSB7XG5cdFx0XHRcdFx0XHRyaWdodDogaW5oZXJpdDtcblx0XHRcdFx0XHRcdGxlZnQ6IGluaGVyaXQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmJveC1jb250ZW50IHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0XHR3aWR0aDogc3BhbigxNCBpbnNpZGUgbm8tZ3V0dGVycyk7XG5cdFx0XHQvL21hcmdpbi1sZWZ0OiBzcGFuKDEgaW5zaWRlIG5vLWd1dHRlcnMpO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IHNwYW4oOCBpbnNpZGUgbm8tZ3V0dGVycyk7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjNzBDMUIzO1xuXHRcdFx0cGFkZGluZzogc3BhbigxLjUgaW5zaWRlIG5vLWd1dHRlcnMpIHNwYW4oMyBpbnNpZGUgbm8tZ3V0dGVycyk7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHNwYW4oMiBpbnNpZGUgbm8tZ3V0dGVycyk7XG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgcmlnaHQ7XG5cdFx0XHRcblxuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcjeyRpbWFnZS1kaXJ9L2RvbGxhcl9iZy5wbmcnKTtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cblx0XHRcdFxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRzbS1vbmx5KSB7XG5cdFx0XHRcdHBhZGRpbmc6IDM1cHg7XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHhzLW9ubHkpIHtcblx0XHRcdFx0d2lkdGg6IHNwYW4oMjQgaW5zaWRlIG5vZ3V0dGVycyk7XG5cdFx0XHRcdG1heC13aWR0aDogOTAlO1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdFx0cGFkZGluZzogMzVweDtcblx0XHRcdFx0bWFyZ2luOiAwIGF1dG8gMCBhdXRvO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdH1cblx0XHR9XG5cblx0XHRoMiB7XG5cdFx0XHRAaW5jbHVkZSBjYWxjLXJlbSgyOCk7XG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjE7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxMnB4O1xuXHRcdH1cblxuXHRcdC5ib3gtYm9keSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IHNwYW4oMS41IG9mIDE0IGluc2lkZSBuby1ndXR0ZXJzKTtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludHMoJHNtLW9ubHkpIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiBzcGFuKDEgb2YgMTQgaW5zaWRlIG5vLWd1dHRlcnMpO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50cygkeHMtb25seSkge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LndyYXBwZXIge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdH1cblxuXHRcdC5ib3gtZXhjZXJwdCB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblxuXHRcdFx0dG9wOiAwOyByaWdodDogIDEwMCU7XG5cdFx0XHRAaW5jbHVkZSBjYWxjLXJlbSgyOCk7XG5cdFx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IC0ycHg7XG5cblx0XHRcdG1pbi13aWR0aDogMzYwcHg7XG5cblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0Y29sb3I6ICMzRjQ4Q0M7XG5cblx0XHRcdHN0cm9uZywgYiB7XG5cdFx0XHRcdGNvbG9yOiAjNzBjMWIzO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRzbS1vbmx5KSB7XG5cdFx0XHRcdEBpbmNsdWRlIGNhbGMtcmVtKDI0KTtcblx0XHRcdFx0bWluLXdpZHRoOiAyODBweDtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeHMtb25seSkge1xuXHRcdFx0XHRAaW5jbHVkZSBjYWxjLXJlbSgyMik7XG5cdFx0XHRcdHBvc2l0aW9uOiBpbmhlcml0O1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0XHR0b3A6IGluaGVyaXQ7XG5cdFx0XHRcdHJpZ2h0OiBpbmhlcml0O1xuXHRcdFx0XHRtaW4td2lkdGg6IGluaGVyaXQ7XG5cdFx0XHR9XG5cblx0XHR9XG5cdH1cblxuXG5cdGFydGljbGUge1xuXG5cdFx0LmJvZHkge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0XHRcdHdpZHRoOiBzcGFuKDEwIGluc2lkZSBuby1ndXR0ZXJzKTtcblx0XHRcdG1hcmdpbi1sZWZ0OiBzcGFuKDQgaW5zaWRlIG5vLWd1dHRlcnMpO1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRzbS1vbmx5KSB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiBzcGFuKDEgaW5zaWRlIG5vLWd1dHRlcnMpO1xuXHRcdFx0XHR3aWR0aDogc3BhbigxMiBpbnNpZGUgbm8tZ3V0dGVycyk7XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHhzLW9ubHkpIHtcblx0XHRcdFx0d2lkdGg6IHNwYW4oMjQgaW5zaWRlIG5vZ3V0dGVycyk7XG5cdFx0XHRcdG1hcmdpbjogMCBhdXRvIGF1dG87XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRtYXgtd2lkdGg6IDkwJTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuY2Fyb3VzZWwuc2xpY2stc2xpZGVyIHsgXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR3aWR0aDogc3BhbigzLjUgb2YgMyBpbnNpZGUgbm8tZ3V0dGVycyk7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0XHR9XG5cblx0XHQuc2lkZWJhciB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHRcdFx0d2lkdGg6IHNwYW4oNSBpbnNpZGUgbm8tZ3V0dGVycyk7XG5cdFx0XHRtYXJnaW4tbGVmdDogc3BhbigxIGluc2lkZSBuby1ndXR0ZXJzKTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludHMoJG1kLW9ubHksICRsZy1vbmx5KSB7XG5cdFx0XHRcdHdpZHRoOiBzcGFuKDcgaW5zaWRlIG5vZ3V0dGVycyk7XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNtLW9ubHkpIHtcblx0XHRcdFx0d2lkdGg6IHNwYW4oNy41IGluc2lkZSBub2d1dHRlcnMpO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR4cy1vbmx5KSB7XG5cdFx0XHRcdHdpZHRoOiBzcGFuKDI0IGluc2lkZSBub2d1dHRlcnMpO1xuXHRcdFx0XHRtYXJnaW46IDAgYXV0byBhdXRvO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0bWF4LXdpZHRoOiA5MCU7XG5cblx0XHRcdFx0Ym9keS5wYWdlLXRlbXBsYXRlLXRwbC1xdW90YXRpb24gJiB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQuY2Fyb3VzZWwge1xuXHRcdFx0XHR0b3A6IGluaGVyaXQhaW1wb3J0YW50O1xuXHRcdFx0XHR0cmFuc2Zvcm06IGluaGVyaXQhaW1wb3J0YW50O1xuXHRcdFx0fVxuXG5cdFx0XHQuc2xpY2stbGlzdCB7XG5cdFx0XHRcdG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cblx0XHRcdC5pdGVtIHtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDM1cHg7XG5cdFx0XHR9XG5cblx0XHRcdC50YWdsaW5lIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFxuXHRcdFx0XHRcdCY6bnRoLWNoaWxkKDJuKSB7XG5cdFx0XHRcdFx0XHQuaW5uZXIge1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0JjpudGgtY2hpbGQoM24pIHtcblx0XHRcdFx0XHQuaW5uZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuXHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOm50aC1jaGlsZCg0bikge1xuXHRcdFx0XHRcdC5pbm5lciB7XG5cdFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSByaWdodDtcblx0XHRcdH1cblx0XHRcdH1cblxuXG5cdFx0XHRAZm9yICRpIGZyb20gMSB0aHJvdWdoIDUge1xuXHRcdFx0XHQmOm50aC1jaGlsZCgjeyRpfSkge1xuXHRcdFx0XHRcdC5pbm5lciB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6ICN7cmFuZG9tTnVtKDEwMCwgMjAwKSArICclJ307XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHQgIFxuXHRcdFx0XHR9XG5cdFx0XHQgIH1cblx0XHRcdFx0XG5cdFx0XHRcdC5pbm5lciB7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdFx0XHRcblx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjNzBDMUIzO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDEwJTtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiBzcGFuKDMgaW5zaWRlIG5vLWd1dHRlcnMpO1xuXHRcdFx0XHRcdGxldHRlci1zcGFjaW5nOiAtMnB4O1xuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRpbWFnZS1kaXJ9L2RvbGxhcl9iZy5wbmcpO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBsZWZ0O1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogOTAlO1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgY2FsYy1yZW0oMjgpO1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0XHRjb2xvcjogIzNGNDhDQztcblxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnRzKCRtZC1vbmx5KSB7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBjYWxjLXJlbSgyNik7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkc20tb25seSkge1xuXHRcdFx0XHRcdFx0QGluY2x1ZGUgY2FsYy1yZW0oMjIpO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHhzLW9ubHkpIHtcblx0XHRcdFx0XHRcdHBhZGRpbmc6IDM1cHg7XG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcblxuXHRcdFx0XHR9XG5cblx0XHRcdFx0cCB7XG5cdFx0XHRcdFx0bWFyZ2luOiAyNXB4IDAgMCAwO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXG5cdFx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHR9XG5cblx0XHRcdFx0LndyYXBwZXIge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHR3aWR0aDogc3BhbigzLjUgb2YgMyBpbnNpZGUgbm8tZ3V0dGVycyk7XG5cdFx0XHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludHMoJG1kLW9ubHksICRsZy1vbmx5KSB7XG5cdFx0XHRcdFx0XHR3aWR0aDogc3BhbigyLjUgb2YgMyBpbnNpZGUgbm8tZ3V0dGVycyk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkc20tb25seSkge1xuXHRcdFx0XHRcdFx0d2lkdGg6IHNwYW4oMi41IG9mIDMgaW5zaWRlIG5vLWd1dHRlcnMpO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHhzLW9ubHkpIHtcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0XHRcdFx0dG9wOiBpbmhlcml0O1xuXHRcdFx0XHRcdFx0dHJhbnNmb3JtOiBub25lO1xuXHRcdFx0XHRcdH1cdFx0XHRcdFxuXHRcdFx0XHR9XG5cblx0XHRcdFx0c3Ryb25nLCBiIHtcblx0XHRcdFx0XHRjb2xvcjogc2NoZW1lLWNvbG9yKCdwcmltYXJ5JywgJ2FxdWEnKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0Ym90dG9tOiAwOyBsZWZ0OiAwO1xuXHRcdFx0XHRcdEBpbmNsdWRlIGNhbGMtcmVtKDE0KTtcblx0XHRcdFx0XHRjb2xvcjogIzNGNDhDQztcblx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuXHRcdFx0XHRcdGxldHRlci1zcGFjaW5nOiAwO1xuXG5cdFx0XHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4O1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0XHRcdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKCAxODBkZWcgKTtcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcjeyRpbWFnZS1kaXJ9L3ByZXYtaWNvLnN2ZycpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdH1cblxuXG5cdC5mYXEge1xuXHRcdCZfX3dyYXBwZXIge1xuXHRcdFx0bWFyZ2luOiA1NXB4IDA7XG5cdFx0fVxuXG5cdFx0LmVsZW1lbnQge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogNTVweDtcblxuXHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRoNCB7XG5cdFx0XHRAaW5jbHVkZSBjYWxjLXJlbSgxOCk7XG5cdFx0XHRjb2xvcjogIzNGNDhDQztcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHBhZGRpbmctbGVmdDogMTJweDtcblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0XHRjb250ZW50OiAnJztcblx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcjeyRpbWFnZS1kaXJ9L2J1bGxldC1ibHVlLnBuZycpO1xuXHRcdFx0XHR3aWR0aDogNnB4OyBoZWlnaHQ6IDE0cHg7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0dG9wOiA4cHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ji1ib2R5IHtcblx0XHRcdHBhZGRpbmctbGVmdDogc3BhbiggMSBvZiAxMiBpbnNpZGUgbm8tZ3V0dGVycyk7XG5cdFx0XHRwYWRkaW5nLXRvcDogMThweDtcblx0XHR9XG5cdH1cblxuXG5cdC5icmVhZGNydW1icyB7XG5cdFx0Y29sb3I6IHNjaGVtZS1jb2xvcigncHJpbWFyeScsICdhcXVhJyk7XG5cdFx0XG5cdFx0bWFyZ2luLWxlZnQ6IHNwYW4oNCBpbnNpZGUgbm8tZ3V0dGVycyk7XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50cygkc20tb25seSwgJHhzLW9ubHkpIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiBzcGFuKDEgaW5zaWRlIG5vLWd1dHRlcnMpO1xuXHRcdFx0d2lkdGg6IHNwYW4oMTIgaW5zaWRlIG5vLWd1dHRlcnMpO1xuXHRcdH1cblxuXG5cdFx0Jl9fd3JhcHBlciB7XG5cdFx0XHRwYWRkaW5nOiAzNXB4IDAgMCAwO1xuXHRcdH1cblxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cblx0XHRhIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdGNvbG9yOiAjMzMzMzMzO1xuXHRcdH1cblxuXG5cdFx0b2wge1xuXHRcdFx0bWFyZ2luOiAwOyBwYWRkaW5nOiAwO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdH1cblxuXHRcdGxpIHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxMnB4O1xuXHRcdFxuXG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRmb250OiAkYm9sZDtcblx0XHRcdFx0Y29sb3I6IHNjaGVtZS1jb2xvcigncHJpbWFyeScsICdibHVlJyk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cbi5tYWluLW5hdiB7XG5cdGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsIDAuMik7XG5cblx0Jl9fd3JhcHBlciB7XG5cdFx0bWFyZ2luLWxlZnQ6IHNwYW4oMiBpbnNpZGUgbm8tZ3V0dGVycyk7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGZvbnQtc2l6ZTogMDtcblx0XHRwYWRkaW5nOiA1MnB4IDAgMzZweCAwO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeHMtb25seSkge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IHNwYW4oMSBpbnNpZGUgbm8tZ3V0dGVycyk7XG5cdFx0XHRwYWRkaW5nOiAyMHB4IDA7XG5cdFx0fVxuXHR9XG5cblx0dWwge1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7IHBhZGRpbmc6IDA7XG5cdFx0bWFyZ2luOiAwIHNwYW4oMSBvZiAxMSBpbnNpZGUgbm8tZ3V0dGVycyk7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGZvbnQtc2l6ZTogMDtcblx0fVxuXG5cdGxpIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0cGFkZGluZzogMCAyNXB4O1xuXG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0fVxuXHR9XG5cdFxuXHQubG9nbyB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHdpZHRoOiBzcGFuKDYgb2YgMjIgaW5zaWRlIG5vLWd1dHRlcnMpO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludHMoJHhzLW9ubHksICRzbS1vbmx5KSB7XG5cdFx0XHR3aWR0aDogc3BhbigxOCBvZiAyMiBpbnNpZGUgbm8tZ3V0dGVycyk7XG5cdFx0fVxuXG5cdFx0aW1nIHtcblx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdG1pbi13aWR0aDogMjAwcHg7XG5cdFx0fVxuXHR9XG5cblx0Lm5hdiB7XG5cdFx0d2lkdGg6IHNwYW4oMTEgb2YgMjIgaW5zaWRlIG5vLWd1dHRlcnMpO1xuXHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludHMoJHhzLW9ubHksICRzbS1vbmx5KSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXG5cdGEge1xuXHRcdGZvbnQ6ICRib2xkO1xuXHRcdEBpbmNsdWRlIGNhbGMtcmVtKDE0KTtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGNvbG9yOiBzY2hlbWUtY29sb3IoJ3ByaW1hcnknLCAnZ3JheScpO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdCY6aG92ZXIsICYuYWN0aXZlIHtcblx0XHRcdGNvbG9yOiBzY2hlbWUtY29sb3IoJ3ByaW1hcnknLCAnYXF1YScpO1xuXHRcdH1cblx0fVxuXG5cdC5xdW90YXRpb24ge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGZvbnQ6ICRib2xkO1xuXHRcdGJhY2tncm91bmQ6IHNjaGVtZS1jb2xvcigncHJpbWFyeScsICdibHVlJyk7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGhlaWdodDogMTIwJTtcblx0XHR0b3A6IDA7XG5cdFx0d2lkdGg6IHNwYW4oNSBvZiAyMiBpbnNpZGUgbm8tZ3V0dGVycyk7XG5cdFx0ei1pbmRleDogOTAwMDtcblx0XHRjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDAsIDEwMCUgODUlLCAwJSAxMDAlKTtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNtLW9ubHkpIHtcblx0XHRcdHdpZHRoOiBzcGFuKDggb2YgMjIgaW5zaWRlIG5vLWd1dHRlcnMpO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHhzLW9ubHkpIHtcblx0XHRcdHdpZHRoOiBzcGFuKDggb2YgMjIgaW5zaWRlIG5vLWd1dHRlcnMpO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0dG9wOiBpbmhlcml0O1xuXHRcdFx0cmlnaHQ6IGluaGVyaXQ7XG5cdFx0XHRjbGlwLXBhdGg6IG5vbmU7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdFx0bWFyZ2luLXRvcDogMThweDtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdH1cblxuXHRcdHNwYW4ge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0dG9wOiAzNSU7XG5cdFx0fVxuXHRcdFxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YSB7XG5cdFx0XHRcdGNvbG9yOiBzY2hlbWUtY29sb3IoJ3ByaW1hcnknLCAnYmx1ZScpO1xuXHRcdFx0fVxuXG5cdFx0XHRiYWNrZ3JvdW5kOiBzY2hlbWUtY29sb3IoJ3ByaW1hcnknLCAnYXF1YScpO1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCR4cy1vbmx5KSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IHNjaGVtZS1jb2xvcigncHJpbWFyeScsICdhcXVhJyk7XG5cdFx0XHRcdFx0Y29sb3I6IHNjaGVtZS1jb2xvcigncHJpbWFyeScsICdibHVlJyk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFxuXHRcdCY6YmVmb3JlIHtcblx0XHRcdC8vIGNvbnRlbnQ6ICcnO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dHJhbnNmb3JtOiBza2V3WSgtJGRlZ3MgKiAyKTtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0YmFja2dyb3VuZDogc2NoZW1lLWNvbG9yKCdwcmltYXJ5JywgJ2JsdWUnKTtcblx0XHRcdHRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDtcblx0XHR9XG5cblx0XHRhIHtcblx0XHRcdEBpbmNsdWRlIGNhbGMtcmVtKDI0KTtcblx0XHRcdGNvbG9yOiBzY2hlbWUtY29sb3IoJ3ByaW1hcnknLCAnYXF1YScpO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblx0XHRcdHotaW5kZXg6IDkwMTA7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHhzLW9ubHkpIHtcblx0XHRcdFx0QGluY2x1ZGUgY2FsYy1yZW0oMTYpO1xuXHRcdFx0XHR0cmFuc2Zvcm06IG5vbmU7XG5cdFx0XHRcdHRvcDogaW5oZXJpdDtcblx0XHRcdFx0bGVmdDogaW5oZXJpdDtcblx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdFx0cGFkZGluZzogMTJweDtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBzY2hlbWUtY29sb3IoJ3ByaW1hcnknLCAnYmx1ZScpO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRzbS1vbmx5KSB7XG5cdFx0XHRcdEBpbmNsdWRlIGNhbGMtcmVtKDE4KTtcblx0XHRcdH1cblx0XHRcdFxuXHRcdH1cblx0fVxufVxuXG4uaGVhZGVyIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0dHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIHJpZ2h0O1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRtYXJnaW4tbGVmdDogc3BhbigyIGluc2lkZSBuby1ndXR0ZXJzKTtcblx0Y2xpcC1wYXRoOiBwb2x5Z29uKDAgMCwgMTAwJSAwLCAxMDAlIDg1JSwgMCUgMTAwJSk7XG5cblx0QGluY2x1ZGUgYnJlYWtwb2ludHMoJHhzLW9ubHksICRzbS1vbmx5KSB7XG5cdFx0bWFyZ2luLWxlZnQ6IHNwYW4oMSBpbnNpZGUgbm8tZ3V0dGVycyk7XG5cdH1cblxuXHQmX193cmFwcGVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bWluLWhlaWdodDogNTIwcHg7XG5cblx0XHQmOmFmdGVyIHtcblx0XHRcdC8vIGNvbnRlbnQ6ICcnO1xuXHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRcdHRyYW5zZm9ybTogc2tld1koLSRkZWdzKSB0cmFuc2xhdGVZKC01LjI1JSk7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7IHdpZHRoOiAxMDAlO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOjEwMCVcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50cygkeHMtb25seSwgJHNtLW9ubHkpIHtcblx0XHRcdG1pbi1oZWlnaHQ6IDMyMHB4O1xuXHRcdH1cblx0fVxuXG5cdGltZyB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHQucGFnZUhlYWRlclRpdGxlIHtcblxuXHRcdHVsIHtcblx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0XHRtYXJnaW46IDA7IHBhZGRpbmc6IHNwYW4oMiBpbnNpZGUgbm8tZ3V0dGVycykgMDtcblx0XHRcdG1hcmdpbi1sZWZ0OnNwYW4oNCBpbnNpZGUgbm8tZ3V0dGVycyk7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cblx0XHRsaSB7XG5cdFx0XHRtYXJnaW46IDEwcHggMDtcblx0XHR9XG5cblx0XHRzcGFuIHtcblx0XHRcdGJhY2tncm91bmQ6IHNjaGVtZS1jb2xvcigncHJpbWFyeScsICdibHVlJyk7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdHBhZGRpbmc6IDZweCAxMnB4O1xuXHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0XHRmb250OiAkYm9sZDtcblx0XHRcdEBpbmNsdWRlIGNhbGMtcmVtKDQyKTtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0fVxuXG5cdFx0Ly8gLmMtbGF5b3V0LmlzLWhvbWUgJiAge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiA1MCU7XG5cdFx0XHQvLyBsZWZ0OiBzcGFuKDQgaW5zaWRlIG5vLWd1dHRlcnMpO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHQvLyB9XG5cdH1cblxuXG5cbn1cblxuXG4uYy1sYXlvdXQge1xuXHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cblx0Jl9fd3JhcHBlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IDIwMTtcblx0fVxufVxuXG4uYy1jcmVkaXQge1xuXHRAaW5jbHVkZSBjYWxjLXJlbSgxMCk7XG5cdGJhY2tncm91bmQ6IHNjaGVtZS1jb2xvcigncHJpbWFyeScsICdibHVlJyk7XG5cdGNvbG9yOiBzY2hlbWUtY29sb3IoJ3ByaW1hcnknLCAnYXF1YScpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDIwMTtcblxuXHQmX193cmFwcGVyIHtcblx0XHRwYWRkaW5nOiAxMHB4IDA7XG5cdH1cblxuXHQuY2libGVuZXQge1xuXHRcdGZsb2F0OiByaWdodDtcblx0fVxuXG5cdGEge1xuXHRcdGNvbG9yOiBzY2hlbWUtY29sb3IoJ3ByaW1hcnknLCAnYXF1YScpO1xuXHR9XG59XG5cbi5jLWZvb3RlciB7XG5cdGJhY2tncm91bmQ6IHNjaGVtZS1jb2xvcigncHJpbWFyeScsICdibHVlJyk7XG5cdGNvbG9yOiAjZmZmO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDIwMTtcblx0cGFkZGluZy10b3A6IDQ1cHg7XG5cdFxuXHRjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDE1JSwgMTAwJSAxMDAlLCAwJSAxMDAlKTtcblxuXHRhIHtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdH1cblxuXHQucm93IHtcblx0XHRwYWRkaW5nOiAzNXB4IDA7XG5cdFx0Zm9udC1zaXplOiAwO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeHMtb25seSkge1xuXHRcdFx0JjpudGgtY2hpbGQoMm4pIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQucm93Omxhc3QtY2hpbGQge1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCBzY2hlbWUtY29sb3IoJ3ByaW1hcnknLCAnYXF1YScpO1xuXHR9XG5cblx0JjpiZWZvcmUge1xuXHRcdC8vIGNvbnRlbnQ6ICcnO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0cmFuc2Zvcm06IHNrZXdZKCRkZWdzKTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0dG9wOiAwO1xuXHRcdGJhY2tncm91bmQ6IHNjaGVtZS1jb2xvcigncHJpbWFyeScsICdibHVlJyk7XG5cdFx0dHJhbnNmb3JtLW9yaWdpbjogYm90dG9tIHJpZ2h0O1xuXHR9XG5cblx0Jl9fd3JhcHBlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGJhY2tncm91bmQ6IHNjaGVtZS1jb2xvcigncHJpbWFyeScsICdibHVlJyk7XG5cdFx0bWFyZ2luLXRvcDogMjBweDtcblx0fVxuXG5cdHN0cm9uZyB7XG5cdFx0QGluY2x1ZGUgY2FsYy1yZW0oMjQpO1xuXHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHQuY29udGFjdCB7XG5cdFx0QGluY2x1ZGUgY2FsYy1yZW0oJGJhc2UtZm9udC1jb250ZXh0KTtcblx0XHR3aWR0aDogNTAlO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBib3R0b207XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeHMtb25seSkge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXgtd2lkdGg6IDkwJTtcblx0XHR9XG5cblx0XHRhIHtcblx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG5cdFx0fVxuXG5cdFx0dWwge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXG5cdFx0bGkge1xuXHRcdFx0bWFyZ2luOiAwIDAgNXB4IDA7XG5cdFx0XHRmbG9hdDogbm9uZTtcblxuXHRcdFx0c3BhbiB7XG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdGZvbnQ6ICRib2xkO1xuXHRcdFx0XHRtaW4td2lkdGg6IDExMHB4O1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkeHMtb25seSkge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnNvY2lhbCB7XG5cdFx0d2lkdGg6IDUwJTtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJHhzLW9ubHkpIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHR9XG5cdH1cblxuXHQubG9nbyB7XG5cdFx0d2lkdGg6IDUwJTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuXHRcdGltZyB7XG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRtaW4td2lkdGg6IDIwMHB4O1xuXHRcdH1cblx0fVxuXG5cdC5uYXYge1xuXHRcdHdpZHRoOiA1MCU7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0QGluY2x1ZGUgY2FsYy1yZW0oJGJhc2UtZm9udC1jb250ZXh0KTtcblxuXHRcdFxuXG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogc2NoZW1lLWNvbG9yKCdwcmltYXJ5JywgJ2FxdWEnKTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdGZvbnQ6ICRib2xkO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHR9XG5cdH1cblxuXHR1bCB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRtYXJnaW46IDA7IHBhZGRpbmc6IDA7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR9XG5cblx0bGkge1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdG1hcmdpbjogMCAyMHB4O1xuXG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdG1hcmdpbi1yaWdodDogMDtcblx0XHR9XG5cdH1cbn1cblxuLmNvbnRhaW5lciB7XG5cdEBleHRlbmQgJWxheW91dDtcbn1cblxuJWxheW91dCB7XG5cdEBpbmNsdWRlIGNvbnRhaW5lcjtcblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCR4bGctb25seSkge1xuXHRcdG1heC13aWR0aDogJGNvbnRhaW5lci13aWR0aC14bGcgKyBweDtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxnLW9ubHkpIHtcblx0XHRtYXgtd2lkdGg6ICRjb250YWluZXItd2lkdGgtbGcgKyBweDtcblx0fVxufVxuIiwiLyohIHNhbml0aXplLmNzcyB2NC4xLjAgfCBDQzAgTGljZW5zZSB8IGdpdGh1Yi5jb20vam9uYXRoYW50bmVhbC9zYW5pdGl6ZS5jc3MgKi9cclxuXHJcbi8qIERpc3BsYXkgZGVmaW5pdGlvbnNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cclxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxyXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cclxuICovXHJcblxyXG5hcnRpY2xlLFxyXG5hc2lkZSxcclxuZGV0YWlscywgLyogMSAqL1xyXG5maWdjYXB0aW9uLFxyXG5maWd1cmUsXHJcbmZvb3RlcixcclxuaGVhZGVyLFxyXG5tYWluLCAvKiAyICovXHJcbm1lbnUsXHJcbm5hdixcclxuc2VjdGlvbixcclxuc3VtbWFyeSB7IC8qIDEgKi9cclxuXHRkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxyXG4gKi9cclxuXHJcbmF1ZGlvLFxyXG5jYW52YXMsXHJcbnByb2dyZXNzLFxyXG52aWRlbyB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cclxuICovXHJcblxyXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcblx0aGVpZ2h0OiAwO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxyXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cclxuICovXHJcblxyXG50ZW1wbGF0ZSwgLyogMSAqL1xyXG5baGlkZGVuXSB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLyogRWxlbWVudHMgb2YgSFRNTCAoaHR0cHM6Ly93d3cudzMub3JnL1RSL2h0bWw1L3NlbWFudGljcy5odG1sKVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIFJlbW92ZSByZXBlYXRpbmcgYmFja2dyb3VuZHMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXHJcbiAqIDIuIEFkZCBib3ggc2l6aW5nIGluaGVyaXRlbmNlIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxyXG4gKi9cclxuXHJcbiosXHJcbjo6YmVmb3JlLFxyXG46OmFmdGVyIHtcclxuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyAvKiAxICovXHJcblx0Ym94LXNpemluZzogaW5oZXJpdDsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogMS4gQWRkIHRleHQgZGVjb3JhdGlvbiBpbmhlcml0YW5jZSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cclxuICogMi4gQWRkIHZlcnRpY2FsIGFsaWdubWVudCBpbmhlcml0ZW5jZSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cclxuICovXHJcblxyXG46OmJlZm9yZSxcclxuOjphZnRlciB7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0OyAvKiAxICovXHJcblx0dmVydGljYWwtYWxpZ246IGluaGVyaXQ7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIEFkZCBib3JkZXIgYm94IHNpemluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cclxuICogMi4gQWRkIHRoZSBkZWZhdWx0IGN1cnNvciBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cclxuICogMy4gQWRkIGEgZmxhdHRlbmVkIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxyXG4gKiA0LiBQcmV2ZW50IGZvbnQgc2l6ZSBhZGp1c3RtZW50cyBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIElFIGFuZCBpT1MuXHJcbiAqL1xyXG5cclxuaHRtbCB7XHJcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xyXG5cdGN1cnNvcjogZGVmYXVsdDsgLyogMiAqL1xyXG5cdGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAzICovXHJcblx0bGluZS1oZWlnaHQ6IDEuNTsgLyogMyAqL1xyXG5cdC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiA0ICovXHJcblx0LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiA0ICovXHJcbn1cclxuXHJcbi8qIFNlY3Rpb25zIChodHRwczovL3d3dy53My5vcmcvVFIvaHRtbDUvc2VjdGlvbnMuaHRtbClcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cclxuICovXHJcblxyXG5ib2R5IHtcclxuXHRtYXJnaW46IDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemVzIGFuZCBtYXJnaW5zIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluXHJcbiAqIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5oMSB7XHJcblx0Zm9udC1zaXplOiAyZW07XHJcblx0bWFyZ2luOiAuNjdlbSAwO1xyXG59XHJcblxyXG4vKiBHcm91cGluZyBjb250ZW50IChodHRwczovL3d3dy53My5vcmcvVFIvaHRtbDUvZ3JvdXBpbmctY29udGVudC5odG1sKVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIDEuIENvcnJlY3QgZm9udCBzaXppbmcgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuY29kZSxcclxua2JkLFxyXG5wcmUsXHJcbnNhbXAge1xyXG5cdGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xyXG5cdGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBoZWlnaHQgaW4gRmlyZWZveC5cclxuICogMi4gQWRkIHZpc2libGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXHJcbiAqL1xyXG5cclxuaHIge1xyXG5cdGhlaWdodDogMDsgLyogMSAqL1xyXG5cdG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGxpc3Qgc3R5bGUgb24gbmF2aWdhdGlvbiBsaXN0cyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cclxuICovXHJcblxyXG5uYXYgb2wsXHJcbm5hdiB1bCB7XHJcblx0bGlzdC1zdHlsZTogbm9uZTtcclxufVxyXG5cclxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiAxLiBBZGQgYSBib3JkZXJlZCB1bmRlcmxpbmUgZWZmZWN0IGluIGFsbCBicm93c2Vycy5cclxuICogMi4gUmVtb3ZlIHRleHQgZGVjb3JhdGlvbiBpbiBGaXJlZm94IDQwKy5cclxuICovXHJcblxyXG5hYmJyW3RpdGxlXSB7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsgLyogMSAqL1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXHJcbiAqL1xyXG5cclxuYixcclxuc3Ryb25nIHtcclxuXHRmb250LXdlaWdodDogaW5oZXJpdDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXHJcbiAqL1xyXG5cclxuYixcclxuc3Ryb25nIHtcclxuXHRmb250LXdlaWdodDogYm9sZGVyO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxyXG4gKi9cclxuXHJcbmRmbiB7XHJcblx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGNvbG9ycyBpbiBJRSA5LS5cclxuICovXHJcblxyXG5tYXJrIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZjAwO1xyXG5cdGNvbG9yOiAjMDAwMDAwO1xyXG59XHJcblxyXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cclxuICovXHJcblxyXG5wcm9ncmVzcyB7XHJcblx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG59XHJcblxyXG4vKipcclxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5zbWFsbCB7XHJcblx0Zm9udC1zaXplOiA4My4zMzMzJTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENoYW5nZSB0aGUgcG9zaXRpb25pbmcgb24gc3VwZXJzY3JpcHQgYW5kIHN1YnNjcmlwdCBlbGVtZW50c1xyXG4gKiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cclxuICogMS4gQ29ycmVjdCB0aGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cclxuICovXHJcblxyXG5zdWIsXHJcbnN1cCB7XHJcblx0Zm9udC1zaXplOiA4My4zMzMzJTsgLyogMSAqL1xyXG5cdGxpbmUtaGVpZ2h0OiAwO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbn1cclxuXHJcbnN1YiB7XHJcblx0Ym90dG9tOiAtLjI1ZW07XHJcbn1cclxuXHJcbnN1cCB7XHJcblx0dG9wOiAtLjVlbTtcclxufVxyXG5cclxuLypcclxuICogUmVtb3ZlIHRoZSB0ZXh0IHNoYWRvdyBvbiB0ZXh0IHNlbGVjdGlvbnMgKG9waW5pb25hdGVkKS5cclxuICogMS4gUmVzdG9yZSB0aGUgY29sb3JpbmcgdW5kb25lIGJ5IGRlZmluaW5nIHRoZSB0ZXh0IHNoYWRvdyAob3BpbmlvbmF0ZWQpLlxyXG4gKi9cclxuXHJcbjo6LW1vei1zZWxlY3Rpb24ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICNiM2Q0ZmM7IC8qIDEgKi9cclxuXHRjb2xvcjogIzAwMDAwMDsgLyogMSAqL1xyXG5cdHRleHQtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG46OnNlbGVjdGlvbiB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2IzZDRmYzsgLyogMSAqL1xyXG5cdGNvbG9yOiAjMDAwMDAwOyAvKiAxICovXHJcblx0dGV4dC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuXHJcbi8qIEVtYmVkZGVkIGNvbnRlbnQgKGh0dHBzOi8vd3d3LnczLm9yZy9UUi9odG1sNS9lbWJlZGRlZC1jb250ZW50LTAuaHRtbClcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qXHJcbiAqIENoYW5nZSB0aGUgYWxpZ25tZW50IG9uIG1lZGlhIGVsZW1lbnRzIGluIGFsbCBicm93ZXJzIChvcGluaW9uYXRlZCkuXHJcbiAqL1xyXG5cclxuYXVkaW8sXHJcbmNhbnZhcyxcclxuaWZyYW1lLFxyXG5pbWcsXHJcbnN2ZyxcclxudmlkZW8ge1xyXG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cclxuICovXHJcblxyXG5pbWcge1xyXG5cdGJvcmRlci1zdHlsZTogbm9uZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENoYW5nZSB0aGUgZmlsbCBjb2xvciB0byBtYXRjaCB0aGUgdGV4dCBjb2xvciBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cclxuICovXHJcblxyXG5zdmcge1xyXG5cdGZpbGw6IGN1cnJlbnRDb2xvcjtcclxufVxyXG5cclxuLyoqXHJcbiAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxyXG4gKi9cclxuXHJcbnN2Zzpub3QoOnJvb3QpIHtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4vKiBMaW5rcyAoaHR0cHM6Ly93d3cudzMub3JnL1RSL2h0bWw1L2xpbmtzLmh0bWwjbGlua3MpXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxyXG4gKiAyLiBSZW1vdmUgdGhlIGdhcHMgaW4gdW5kZXJsaW5lcyBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cclxuICovXHJcblxyXG5hIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xyXG5cdC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgb3V0bGluZSB3aGVuIGhvdmVyaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxyXG4gKi9cclxuXHJcbmE6aG92ZXIge1xyXG5cdG91dGxpbmUtd2lkdGg6IDA7XHJcbn1cclxuXHJcbi8qIFRhYnVsYXIgZGF0YSAoaHR0cHM6Ly93d3cudzMub3JnL1RSL2h0bWw1L3RhYnVsYXItZGF0YS5odG1sKVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLypcclxuICogUmVtb3ZlIGJvcmRlciBzcGFjaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxyXG4gKi9cclxuXHJcbnRhYmxlIHtcclxuXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG5cdGJvcmRlci1zcGFjaW5nOiAwO1xyXG59XHJcblxyXG4vKiB0cmFuc2Zvcm0tc3R5bGU6ICAoaHR0cHM6Ly93d3cudzMub3JnL1RSL2h0bWw1L2Zvcm1zLmh0bWwpXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogMS4gUmVtb3ZlIHRoZSBkZWZhdWx0IHN0eWxpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXHJcbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG5idXR0b24sXHJcbmlucHV0LFxyXG5zZWxlY3QsXHJcbnRleHRhcmVhIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xyXG5cdGJvcmRlci1zdHlsZTogbm9uZTsgLyogMSAqL1xyXG5cdGNvbG9yOiBpbmhlcml0OyAvKiAxICovXHJcblx0Zm9udC1zaXplOiAxZW07IC8qIDEgKi9cclxuXHRtYXJnaW46IDA7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIENvcnJlY3QgdGhlIG92ZXJmbG93IGluIElFLlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuaW5wdXQgeyAvKiAxICovXHJcblx0b3ZlcmZsb3c6IHZpc2libGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cclxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuc2VsZWN0IHsgLyogMSAqL1xyXG5cdHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG59XHJcblxyXG4vKipcclxuICogMS4gUHJldmVudCB0aGUgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcclxuICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxyXG4gKi9cclxuXHJcbmJ1dHRvbixcclxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xyXG5bdHlwZT1cInJlc2V0XCJdLFxyXG5bdHlwZT1cInN1Ym1pdFwiXSB7XHJcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXHJcbiAqL1xyXG5cclxuOjotbW96LWZvY3VzLWlubmVyIHtcclxuXHRib3JkZXItc3R5bGU6IG5vbmU7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvcnJlY3QgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cclxuICovXHJcblxyXG46LW1vei1mb2N1c3Jpbmcge1xyXG5cdG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvcnJlY3QgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xyXG5cclxuZmllbGRzZXQge1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XHJcblx0bWFyZ2luOiAwIDJweDtcclxuXHRwYWRkaW5nOiAuMzVlbSAuNjI1ZW0gLjc1ZW07XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxyXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XHJcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKi9cclxuXHJcbmxlZ2VuZCB7XHJcblx0ZGlzcGxheTogdGFibGU7IC8qIDEgKi9cclxuXHRtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cclxuXHRwYWRkaW5nOiAwOyAvKiAyICovXHJcblx0d2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xyXG59XHJcblxyXG4vKipcclxuICogMS4gUmVtb3ZlIHRoZSB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXHJcbiAqIDIuIENoYW5nZSB0aGUgcmVzaXplIGRpcmVjdGlvbiBvbiB0ZXh0YXJlYXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXHJcbiAqL1xyXG5cclxudGV4dGFyZWEge1xyXG5cdG92ZXJmbG93OiBhdXRvOyAvKiAxICovXHJcblx0cmVzaXplOiB2ZXJ0aWNhbDsgLyogMiAqL1xyXG59XHJcblxyXG4vKipcclxuICogUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cclxuICovXHJcblxyXG5bdHlwZT1cImNoZWNrYm94XCJdLFxyXG5bdHlwZT1cInJhZGlvXCJdIHtcclxuXHRwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4vKipcclxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9uIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxyXG4gKi9cclxuXHJcbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcclxuOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcclxuXHRoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cclxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXHJcbiAqL1xyXG5cclxuW3R5cGU9XCJzZWFyY2hcIl0ge1xyXG5cdC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXHJcblx0b3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cclxufVxyXG5cclxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgZm9yIE9TIFguXHJcbiAqL1xyXG5cclxuOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxyXG46Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xyXG5cdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvcnJlY3QgdGhlIHRleHQgc3R5bGUgb24gcGxhY2Vob2xkZXJzIGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cclxuICovXHJcblxyXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG5cdGNvbG9yOiBpbmhlcml0O1xyXG5cdG9wYWNpdHk6IC41NDtcclxufVxyXG5cclxuLyoqXHJcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXHJcbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cclxuICovXHJcblxyXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcclxuXHQtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xyXG5cdGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cclxufVxyXG5cclxuLyogV0FJLUFSSUEgKGh0dHBzOi8vd3d3LnczLm9yZy9UUi9odG1sNS9kb20uaHRtbCN3YWktYXJpYSlcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBDaGFuZ2UgdGhlIGN1cnNvciBvbiBidXN5IGVsZW1lbnRzIChvcGluaW9uYXRlZCkuXHJcbiAqL1xyXG5cclxuW2FyaWEtYnVzeT1cInRydWVcIl0ge1xyXG5cdGN1cnNvcjogcHJvZ3Jlc3M7XHJcbn1cclxuXHJcbi8qXHJcbiAqIENoYW5nZSB0aGUgY3Vyc29yIG9uIGNvbnRyb2wgZWxlbWVudHMgKG9waW5pb25hdGVkKS5cclxuICovXHJcblxyXG5bYXJpYS1jb250cm9sc10ge1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLypcclxuICogQ2hhbmdlIHRoZSBjdXJzb3Igb24gZGlzYWJsZWQsIG5vdC1lZGl0YWJsZSwgb3Igb3RoZXJ3aXNlXHJcbiAqIGlub3BlcmFibGUgZWxlbWVudHMgKG9waW5pb25hdGVkKS5cclxuICovXHJcblxyXG5bYXJpYS1kaXNhYmxlZF0ge1xyXG5cdGN1cnNvcjogZGVmYXVsdDtcclxufVxyXG5cclxuLyogVXNlciBpbnRlcmFjdGlvbiAoaHR0cHM6Ly93d3cudzMub3JnL1RSL2h0bWw1L2VkaXRpbmcuaHRtbClcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qXHJcbiAqIFJlbW92ZSB0aGUgdGFwcGluZyBkZWxheSBvbiBjbGlja2FibGUgZWxlbWVudHMgKG9waW5pb25hdGVkKS5cclxuICogMS4gUmVtb3ZlIHRoZSB0YXBwaW5nIGRlbGF5IGluIElFIDEwLlxyXG4gKi9cclxuXHJcbmEsXHJcbmFyZWEsXHJcbmJ1dHRvbixcclxuaW5wdXQsXHJcbmxhYmVsLFxyXG5zZWxlY3QsXHJcbnRleHRhcmVhLFxyXG5bdGFiaW5kZXhdIHtcclxuXHQtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IC8qIDEgKi9cclxuXHR0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcclxufVxyXG5cclxuLypcclxuICogQ2hhbmdlIHRoZSBkaXNwbGF5IG9uIHZpc3VhbGx5IGhpZGRlbiBhY2Nlc3NpYmxlIGVsZW1lbnRzIChvcGluaW9uYXRlZCkuXHJcbiAqL1xyXG5cclxuW2hpZGRlbl1bYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XHJcblx0Y2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcclxuXHRkaXNwbGF5OiBpbmhlcml0O1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxufVxyXG5cclxuW2hpZGRlbl1bYXJpYS1oaWRkZW49XCJmYWxzZVwiXTpmb2N1cyB7XHJcblx0Y2xpcDogYXV0bztcclxufSIsIkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9TW9udHNlcnJhdDo0MDAsNzAwLDkwMCcpOyIsIi8qXG48ZGl2IGNsYXNzPVwicGFsZXR0ZVwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2xvciBwcmltYXJ5XCI+PGRpdiBjbGFzcz1cInZhcmlhbnRzXCI+PC9kaXY+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbG9yIHV0aWxpdHlcIj48ZGl2IGNsYXNzPVwidmFyaWFudHNcIj48L2Rpdj48L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sb3IgYWNjZW50XCI+PGRpdiBjbGFzcz1cInZhcmlhbnRzXCI+PC9kaXY+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbG9yIHNlY29uZGFyeVwiPjxkaXYgY2xhc3M9XCJ2YXJpYW50c1wiPjwvZGl2PjwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJjb2xvciBmb3JlZ3JvdW5kXCI+PGRpdiBjbGFzcz1cInZhcmlhbnRzXCI+PC9kaXY+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbG9yIGJhY2tncm91bmRcIj48ZGl2IGNsYXNzPVwidmFyaWFudHNcIj48L2Rpdj48L2Rpdj5cbjwvZGl2PlxuICovXG5cbiR2YXJpYW50LWhlaWdodDogMS41cmVtO1xuXG4ucGFsZXR0ZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmNvbG9yIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxcmVtKTtcbiAgICBoZWlnaHQ6IDE3MHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzMCU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZmY7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiA4NSU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3b3JkLXdyYXA6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gICAgZm9udC1zaXplOiA3MCU7XG4gICAgY29sb3I6IGdyYXk7XG4gIH1cblxuICBAZWFjaCAkY29sb3Ita2V5LCAkY29sb3ItdmFyaWFudHMgaW4gJHNjaGVtZS1jb2xvcnMge1xuICAgICRiYXNlLWNvbG9yLXZhbHVlOiBtYXAtZ2V0KCRjb2xvci12YXJpYW50cywgJ2Jhc2UnKTtcblxuICAgICYuI3skY29sb3Ita2V5fSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1jb2xvci12YWx1ZTtcblxuICAgICAgJjpiZWZvcmUgeyBjb250ZW50OiBcIiN7JGNvbG9yLWtleX1cIjsgfVxuICAgICAgJjphZnRlciB7IGNvbnRlbnQ6IFwiI3skYmFzZS1jb2xvci12YWx1ZX1cIjsgfVxuXG4gICAgICAkdmFyaWFudC1ncmFkaWVudDogKHVucXVvdGUoXCJ0byBib3R0b21cIiksKTtcblxuICAgICAgJGluZGV4OiAwO1xuICAgICAgQGVhY2ggJHZhcmlhbnQtbmFtZSwgJHZhcmlhbnQtdmFsdWUgaW4gJGNvbG9yLXZhcmlhbnRzIHtcbiAgICAgICAgJHZhcmlhbnQtZ3JhZGllbnQ6IGFwcGVuZCgkdmFyaWFudC1ncmFkaWVudCwgJHZhcmlhbnQtdmFsdWUgJGluZGV4ICogJHZhcmlhbnQtaGVpZ2h0KTtcbiAgICAgICAgJGluZGV4OiAkaW5kZXggKyAxO1xuICAgICAgICAkdmFyaWFudC1ncmFkaWVudDogYXBwZW5kKCR2YXJpYW50LWdyYWRpZW50LCAkdmFyaWFudC12YWx1ZSAkaW5kZXggKiAkdmFyaWFudC1oZWlnaHQpO1xuICAgICAgfVxuXG4gICAgICAudmFyaWFudHMge1xuICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkIHdoaXRlO1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgd2hpdGU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaGVpZ2h0OiAkdmFyaWFudC1oZWlnaHQgKiBsZW5ndGgoJGNvbG9yLXZhcmlhbnRzKTtcbiAgICAgICAgd2lkdGg6ICR2YXJpYW50LWhlaWdodDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCN7JHZhcmlhbnQtZ3JhZGllbnR9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qIFNsaWRlciAqL1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5kcmFnZ2luZyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG4uc2xpY2stc2xpZGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJi5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuZHJhZ2dpbmcgaW1nIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnNsaWNrLWluaXRpYWxpemVkICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zbGljay12ZXJ0aWNhbCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8qXG5TQ1NTIHZhcmlhYmxlcyBhcmUgaW5mb3JtYXRpb24gYWJvdXQgaWNvbidzIGNvbXBpbGVkIHN0YXRlLCBzdG9yZWQgdW5kZXIgaXRzIG9yaWdpbmFsIGZpbGUgbmFtZVxuXG4uaWNvbi1ob21lIHtcbiAgd2lkdGg6ICRpY29uLWhvbWUtd2lkdGg7XG59XG5cblRoZSBsYXJnZSBhcnJheS1saWtlIHZhcmlhYmxlcyBjb250YWluIGFsbCBpbmZvcm1hdGlvbiBhYm91dCBhIHNpbmdsZSBpY29uXG4kaWNvbi1ob21lOiB4IHkgb2Zmc2V0X3ggb2Zmc2V0X3kgd2lkdGggaGVpZ2h0IHRvdGFsX3dpZHRoIHRvdGFsX2hlaWdodCBpbWFnZV9wYXRoO1xuXG5BdCB0aGUgYm90dG9tIG9mIHRoaXMgc2VjdGlvbiwgd2UgcHJvdmlkZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3ByaXRlc2hlZXQgaXRzZWxmXG4kc3ByaXRlc2hlZXQ6IHdpZHRoIGhlaWdodCBpbWFnZSAkc3ByaXRlc2hlZXQtc3ByaXRlcztcbiovXG4kLWNyZWRpdC1hcnJvdy1uYW1lOiAnX2NyZWRpdF9hcnJvdyc7XG4kLWNyZWRpdC1hcnJvdy14OiAyMzJweDtcbiQtY3JlZGl0LWFycm93LXk6IDE4N3B4O1xuJC1jcmVkaXQtYXJyb3ctb2Zmc2V0LXg6IC0yMzJweDtcbiQtY3JlZGl0LWFycm93LW9mZnNldC15OiAtMTg3cHg7XG4kLWNyZWRpdC1hcnJvdy13aWR0aDogMThweDtcbiQtY3JlZGl0LWFycm93LWhlaWdodDogMThweDtcbiQtY3JlZGl0LWFycm93LXRvdGFsLXdpZHRoOiAyNjZweDtcbiQtY3JlZGl0LWFycm93LXRvdGFsLWhlaWdodDogMjA1cHg7XG4kLWNyZWRpdC1hcnJvdy1pbWFnZTogJy4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nJztcbiQtY3JlZGl0LWFycm93OiAoMjMycHgsIDE4N3B4LCAtMjMycHgsIC0xODdweCwgMThweCwgMThweCwgMjY2cHgsIDIwNXB4LCAnLi4vLi4vcHVibGljL2ltYWdlcy9pY29uLXNwcml0ZS5wbmcnLCAnX2NyZWRpdF9hcnJvdycsICk7XG4kYXJyb3ctcGxhaW4td2hpdGUtbmFtZTogJ2Fycm93LXBsYWluLXdoaXRlJztcbiRhcnJvdy1wbGFpbi13aGl0ZS14OiAyMzJweDtcbiRhcnJvdy1wbGFpbi13aGl0ZS15OiA0NHB4O1xuJGFycm93LXBsYWluLXdoaXRlLW9mZnNldC14OiAtMjMycHg7XG4kYXJyb3ctcGxhaW4td2hpdGUtb2Zmc2V0LXk6IC00NHB4O1xuJGFycm93LXBsYWluLXdoaXRlLXdpZHRoOiAyOXB4O1xuJGFycm93LXBsYWluLXdoaXRlLWhlaWdodDogMjlweDtcbiRhcnJvdy1wbGFpbi13aGl0ZS10b3RhbC13aWR0aDogMjY2cHg7XG4kYXJyb3ctcGxhaW4td2hpdGUtdG90YWwtaGVpZ2h0OiAyMDVweDtcbiRhcnJvdy1wbGFpbi13aGl0ZS1pbWFnZTogJy4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nJztcbiRhcnJvdy1wbGFpbi13aGl0ZTogKDIzMnB4LCA0NHB4LCAtMjMycHgsIC00NHB4LCAyOXB4LCAyOXB4LCAyNjZweCwgMjA1cHgsICcuLi8uLi9wdWJsaWMvaW1hZ2VzL2ljb24tc3ByaXRlLnBuZycsICdhcnJvdy1wbGFpbi13aGl0ZScsICk7XG4kYmxvY2stZ2FsbGVyeS13aGl0ZS1uYW1lOiAnYmxvY2stZ2FsbGVyeS13aGl0ZSc7XG4kYmxvY2stZ2FsbGVyeS13aGl0ZS14OiA2NXB4O1xuJGJsb2NrLWdhbGxlcnktd2hpdGUteTogMHB4O1xuJGJsb2NrLWdhbGxlcnktd2hpdGUtb2Zmc2V0LXg6IC02NXB4O1xuJGJsb2NrLWdhbGxlcnktd2hpdGUtb2Zmc2V0LXk6IDBweDtcbiRibG9jay1nYWxsZXJ5LXdoaXRlLXdpZHRoOiA2NXB4O1xuJGJsb2NrLWdhbGxlcnktd2hpdGUtaGVpZ2h0OiA1NHB4O1xuJGJsb2NrLWdhbGxlcnktd2hpdGUtdG90YWwtd2lkdGg6IDI2NnB4O1xuJGJsb2NrLWdhbGxlcnktd2hpdGUtdG90YWwtaGVpZ2h0OiAyMDVweDtcbiRibG9jay1nYWxsZXJ5LXdoaXRlLWltYWdlOiAnLi4vLi4vcHVibGljL2ltYWdlcy9pY29uLXNwcml0ZS5wbmcnO1xuJGJsb2NrLWdhbGxlcnktd2hpdGU6ICg2NXB4LCAwcHgsIC02NXB4LCAwcHgsIDY1cHgsIDU0cHgsIDI2NnB4LCAyMDVweCwgJy4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nJywgJ2Jsb2NrLWdhbGxlcnktd2hpdGUnLCApO1xuJGZhY2Vib29rLXdoaXRlLW5hbWU6ICdmYWNlYm9vay13aGl0ZSc7XG4kZmFjZWJvb2std2hpdGUteDogMTgwcHg7XG4kZmFjZWJvb2std2hpdGUteTogNDRweDtcbiRmYWNlYm9vay13aGl0ZS1vZmZzZXQteDogLTE4MHB4O1xuJGZhY2Vib29rLXdoaXRlLW9mZnNldC15OiAtNDRweDtcbiRmYWNlYm9vay13aGl0ZS13aWR0aDogMzJweDtcbiRmYWNlYm9vay13aGl0ZS1oZWlnaHQ6IDY0cHg7XG4kZmFjZWJvb2std2hpdGUtdG90YWwtd2lkdGg6IDI2NnB4O1xuJGZhY2Vib29rLXdoaXRlLXRvdGFsLWhlaWdodDogMjA1cHg7XG4kZmFjZWJvb2std2hpdGUtaW1hZ2U6ICcuLi8uLi9wdWJsaWMvaW1hZ2VzL2ljb24tc3ByaXRlLnBuZyc7XG4kZmFjZWJvb2std2hpdGU6ICgxODBweCwgNDRweCwgLTE4MHB4LCAtNDRweCwgMzJweCwgNjRweCwgMjY2cHgsIDIwNXB4LCAnLi4vLi4vcHVibGljL2ltYWdlcy9pY29uLXNwcml0ZS5wbmcnLCAnZmFjZWJvb2std2hpdGUnLCApO1xuJGZpbmQtaWNvLXNtYWxsLW5hbWU6ICdmaW5kLWljby1zbWFsbCc7XG4kZmluZC1pY28tc21hbGwteDogMjMycHg7XG4kZmluZC1pY28tc21hbGwteTogMTU5cHg7XG4kZmluZC1pY28tc21hbGwtb2Zmc2V0LXg6IC0yMzJweDtcbiRmaW5kLWljby1zbWFsbC1vZmZzZXQteTogLTE1OXB4O1xuJGZpbmQtaWNvLXNtYWxsLXdpZHRoOiAyMnB4O1xuJGZpbmQtaWNvLXNtYWxsLWhlaWdodDogMjhweDtcbiRmaW5kLWljby1zbWFsbC10b3RhbC13aWR0aDogMjY2cHg7XG4kZmluZC1pY28tc21hbGwtdG90YWwtaGVpZ2h0OiAyMDVweDtcbiRmaW5kLWljby1zbWFsbC1pbWFnZTogJy4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nJztcbiRmaW5kLWljby1zbWFsbDogKDIzMnB4LCAxNTlweCwgLTIzMnB4LCAtMTU5cHgsIDIycHgsIDI4cHgsIDI2NnB4LCAyMDVweCwgJy4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nJywgJ2ZpbmQtaWNvLXNtYWxsJywgKTtcbiRmaW5kLWljby1uYW1lOiAnZmluZC1pY28nO1xuJGZpbmQtaWNvLXg6IDIzMnB4O1xuJGZpbmQtaWNvLXk6IDBweDtcbiRmaW5kLWljby1vZmZzZXQteDogLTIzMnB4O1xuJGZpbmQtaWNvLW9mZnNldC15OiAwcHg7XG4kZmluZC1pY28td2lkdGg6IDM0cHg7XG4kZmluZC1pY28taGVpZ2h0OiA0NHB4O1xuJGZpbmQtaWNvLXRvdGFsLXdpZHRoOiAyNjZweDtcbiRmaW5kLWljby10b3RhbC1oZWlnaHQ6IDIwNXB4O1xuJGZpbmQtaWNvLWltYWdlOiAnLi4vLi4vcHVibGljL2ltYWdlcy9pY29uLXNwcml0ZS5wbmcnO1xuJGZpbmQtaWNvOiAoMjMycHgsIDBweCwgLTIzMnB4LCAwcHgsIDM0cHgsIDQ0cHgsIDI2NnB4LCAyMDVweCwgJy4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nJywgJ2ZpbmQtaWNvJywgKTtcbiRnYWxsZXJ5LWljby13aGl0ZS1uYW1lOiAnZ2FsbGVyeS1pY28td2hpdGUnO1xuJGdhbGxlcnktaWNvLXdoaXRlLXg6IDQxcHg7XG4kZ2FsbGVyeS1pY28td2hpdGUteTogMTY0cHg7XG4kZ2FsbGVyeS1pY28td2hpdGUtb2Zmc2V0LXg6IC00MXB4O1xuJGdhbGxlcnktaWNvLXdoaXRlLW9mZnNldC15OiAtMTY0cHg7XG4kZ2FsbGVyeS1pY28td2hpdGUtd2lkdGg6IDUycHg7XG4kZ2FsbGVyeS1pY28td2hpdGUtaGVpZ2h0OiAzMnB4O1xuJGdhbGxlcnktaWNvLXdoaXRlLXRvdGFsLXdpZHRoOiAyNjZweDtcbiRnYWxsZXJ5LWljby13aGl0ZS10b3RhbC1oZWlnaHQ6IDIwNXB4O1xuJGdhbGxlcnktaWNvLXdoaXRlLWltYWdlOiAnLi4vLi4vcHVibGljL2ltYWdlcy9pY29uLXNwcml0ZS5wbmcnO1xuJGdhbGxlcnktaWNvLXdoaXRlOiAoNDFweCwgMTY0cHgsIC00MXB4LCAtMTY0cHgsIDUycHgsIDMycHgsIDI2NnB4LCAyMDVweCwgJy4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nJywgJ2dhbGxlcnktaWNvLXdoaXRlJywgKTtcbiRnYWxsZXJ5LXdoaXRlLW5hbWU6ICdnYWxsZXJ5LXdoaXRlJztcbiRnYWxsZXJ5LXdoaXRlLXg6IDBweDtcbiRnYWxsZXJ5LXdoaXRlLXk6IDBweDtcbiRnYWxsZXJ5LXdoaXRlLW9mZnNldC14OiAwcHg7XG4kZ2FsbGVyeS13aGl0ZS1vZmZzZXQteTogMHB4O1xuJGdhbGxlcnktd2hpdGUtd2lkdGg6IDY1cHg7XG4kZ2FsbGVyeS13aGl0ZS1oZWlnaHQ6IDY0cHg7XG4kZ2FsbGVyeS13aGl0ZS10b3RhbC13aWR0aDogMjY2cHg7XG4kZ2FsbGVyeS13aGl0ZS10b3RhbC1oZWlnaHQ6IDIwNXB4O1xuJGdhbGxlcnktd2hpdGUtaW1hZ2U6ICcuLi8uLi9wdWJsaWMvaW1hZ2VzL2ljb24tc3ByaXRlLnBuZyc7XG4kZ2FsbGVyeS13aGl0ZTogKDBweCwgMHB4LCAwcHgsIDBweCwgNjVweCwgNjRweCwgMjY2cHgsIDIwNXB4LCAnLi4vLi4vcHVibGljL2ltYWdlcy9pY29uLXNwcml0ZS5wbmcnLCAnZ2FsbGVyeS13aGl0ZScsICk7XG4kaW5mb3dpbmRvdy1kYXJrLW5hbWU6ICdpbmZvd2luZG93LWRhcmsnO1xuJGluZm93aW5kb3ctZGFyay14OiAyMTVweDtcbiRpbmZvd2luZG93LWRhcmsteTogMTQ5cHg7XG4kaW5mb3dpbmRvdy1kYXJrLW9mZnNldC14OiAtMjE1cHg7XG4kaW5mb3dpbmRvdy1kYXJrLW9mZnNldC15OiAtMTQ5cHg7XG4kaW5mb3dpbmRvdy1kYXJrLXdpZHRoOiAxN3B4O1xuJGluZm93aW5kb3ctZGFyay1oZWlnaHQ6IDlweDtcbiRpbmZvd2luZG93LWRhcmstdG90YWwtd2lkdGg6IDI2NnB4O1xuJGluZm93aW5kb3ctZGFyay10b3RhbC1oZWlnaHQ6IDIwNXB4O1xuJGluZm93aW5kb3ctZGFyay1pbWFnZTogJy4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nJztcbiRpbmZvd2luZG93LWRhcms6ICgyMTVweCwgMTQ5cHgsIC0yMTVweCwgLTE0OXB4LCAxN3B4LCA5cHgsIDI2NnB4LCAyMDVweCwgJy4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nJywgJ2luZm93aW5kb3ctZGFyaycsICk7XG4kaW5mb3dpbmRvdy1saWdodC1uYW1lOiAnaW5mb3dpbmRvdy1saWdodCc7XG4kaW5mb3dpbmRvdy1saWdodC14OiAxMzBweDtcbiRpbmZvd2luZG93LWxpZ2h0LXk6IDEwMHB4O1xuJGluZm93aW5kb3ctbGlnaHQtb2Zmc2V0LXg6IC0xMzBweDtcbiRpbmZvd2luZG93LWxpZ2h0LW9mZnNldC15OiAtMTAwcHg7XG4kaW5mb3dpbmRvdy1saWdodC13aWR0aDogMTdweDtcbiRpbmZvd2luZG93LWxpZ2h0LWhlaWdodDogOXB4O1xuJGluZm93aW5kb3ctbGlnaHQtdG90YWwtd2lkdGg6IDI2NnB4O1xuJGluZm93aW5kb3ctbGlnaHQtdG90YWwtaGVpZ2h0OiAyMDVweDtcbiRpbmZvd2luZG93LWxpZ2h0LWltYWdlOiAnLi4vLi4vcHVibGljL2ltYWdlcy9pY29uLXNwcml0ZS5wbmcnO1xuJGluZm93aW5kb3ctbGlnaHQ6ICgxMzBweCwgMTAwcHgsIC0xMzBweCwgLTEwMHB4LCAxN3B4LCA5cHgsIDI2NnB4LCAyMDVweCwgJy4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nJywgJ2luZm93aW5kb3ctbGlnaHQnLCApO1xuJGxpLWJ1bGxldC1uYW1lOiAnbGktYnVsbGV0JztcbiRsaS1idWxsZXQteDogMjUwcHg7XG4kbGktYnVsbGV0LXk6IDE4N3B4O1xuJGxpLWJ1bGxldC1vZmZzZXQteDogLTI1MHB4O1xuJGxpLWJ1bGxldC1vZmZzZXQteTogLTE4N3B4O1xuJGxpLWJ1bGxldC13aWR0aDogMTRweDtcbiRsaS1idWxsZXQtaGVpZ2h0OiAxNHB4O1xuJGxpLWJ1bGxldC10b3RhbC13aWR0aDogMjY2cHg7XG4kbGktYnVsbGV0LXRvdGFsLWhlaWdodDogMjA1cHg7XG4kbGktYnVsbGV0LWltYWdlOiAnLi4vLi4vcHVibGljL2ltYWdlcy9pY29uLXNwcml0ZS5wbmcnO1xuJGxpLWJ1bGxldDogKDI1MHB4LCAxODdweCwgLTI1MHB4LCAtMTg3cHgsIDE0cHgsIDE0cHgsIDI2NnB4LCAyMDVweCwgJy4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nJywgJ2xpLWJ1bGxldCcsICk7XG4kbWFpbC13aGl0ZS1uYW1lOiAnbWFpbC13aGl0ZSc7XG4kbWFpbC13aGl0ZS14OiA1OXB4O1xuJG1haWwtd2hpdGUteTogNjRweDtcbiRtYWlsLXdoaXRlLW9mZnNldC14OiAtNTlweDtcbiRtYWlsLXdoaXRlLW9mZnNldC15OiAtNjRweDtcbiRtYWlsLXdoaXRlLXdpZHRoOiA1N3B4O1xuJG1haWwtd2hpdGUtaGVpZ2h0OiA0NXB4O1xuJG1haWwtd2hpdGUtdG90YWwtd2lkdGg6IDI2NnB4O1xuJG1haWwtd2hpdGUtdG90YWwtaGVpZ2h0OiAyMDVweDtcbiRtYWlsLXdoaXRlLWltYWdlOiAnLi4vLi4vcHVibGljL2ltYWdlcy9pY29uLXNwcml0ZS5wbmcnO1xuJG1haWwtd2hpdGU6ICg1OXB4LCA2NHB4LCAtNTlweCwgLTY0cHgsIDU3cHgsIDQ1cHgsIDI2NnB4LCAyMDVweCwgJy4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nJywgJ21haWwtd2hpdGUnLCApO1xuJHBpbi1ibHVlLW5hbWU6ICdwaW4tYmx1ZSc7XG4kcGluLWJsdWUteDogMjMycHg7XG4kcGluLWJsdWUteTogMTAycHg7XG4kcGluLWJsdWUtb2Zmc2V0LXg6IC0yMzJweDtcbiRwaW4tYmx1ZS1vZmZzZXQteTogLTEwMnB4O1xuJHBpbi1ibHVlLXdpZHRoOiAyNHB4O1xuJHBpbi1ibHVlLWhlaWdodDogMzJweDtcbiRwaW4tYmx1ZS10b3RhbC13aWR0aDogMjY2cHg7XG4kcGluLWJsdWUtdG90YWwtaGVpZ2h0OiAyMDVweDtcbiRwaW4tYmx1ZS1pbWFnZTogJy4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nJztcbiRwaW4tYmx1ZTogKDIzMnB4LCAxMDJweCwgLTIzMnB4LCAtMTAycHgsIDI0cHgsIDMycHgsIDI2NnB4LCAyMDVweCwgJy4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nJywgJ3Bpbi1ibHVlJywgKTtcbiRzY3JvbGx0b3Atd2hpdGUtbmFtZTogJ3Njcm9sbHRvcC13aGl0ZSc7XG4kc2Nyb2xsdG9wLXdoaXRlLXg6IDE4MHB4O1xuJHNjcm9sbHRvcC13aGl0ZS15OiAxNDlweDtcbiRzY3JvbGx0b3Atd2hpdGUtb2Zmc2V0LXg6IC0xODBweDtcbiRzY3JvbGx0b3Atd2hpdGUtb2Zmc2V0LXk6IC0xNDlweDtcbiRzY3JvbGx0b3Atd2hpdGUtd2lkdGg6IDE4cHg7XG4kc2Nyb2xsdG9wLXdoaXRlLWhlaWdodDogMTJweDtcbiRzY3JvbGx0b3Atd2hpdGUtdG90YWwtd2lkdGg6IDI2NnB4O1xuJHNjcm9sbHRvcC13aGl0ZS10b3RhbC1oZWlnaHQ6IDIwNXB4O1xuJHNjcm9sbHRvcC13aGl0ZS1pbWFnZTogJy4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nJztcbiRzY3JvbGx0b3Atd2hpdGU6ICgxODBweCwgMTQ5cHgsIC0xODBweCwgLTE0OXB4LCAxOHB4LCAxMnB4LCAyNjZweCwgMjA1cHgsICcuLi8uLi9wdWJsaWMvaW1hZ2VzL2ljb24tc3ByaXRlLnBuZycsICdzY3JvbGx0b3Atd2hpdGUnLCApO1xuJHNsaWRlci1hcnJvdy1uZXh0LW5hbWU6ICdzbGlkZXItYXJyb3ctbmV4dCc7XG4kc2xpZGVyLWFycm93LW5leHQteDogMTgwcHg7XG4kc2xpZGVyLWFycm93LW5leHQteTogMTA4cHg7XG4kc2xpZGVyLWFycm93LW5leHQtb2Zmc2V0LXg6IC0xODBweDtcbiRzbGlkZXItYXJyb3ctbmV4dC1vZmZzZXQteTogLTEwOHB4O1xuJHNsaWRlci1hcnJvdy1uZXh0LXdpZHRoOiA0MXB4O1xuJHNsaWRlci1hcnJvdy1uZXh0LWhlaWdodDogNDFweDtcbiRzbGlkZXItYXJyb3ctbmV4dC10b3RhbC13aWR0aDogMjY2cHg7XG4kc2xpZGVyLWFycm93LW5leHQtdG90YWwtaGVpZ2h0OiAyMDVweDtcbiRzbGlkZXItYXJyb3ctbmV4dC1pbWFnZTogJy4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nJztcbiRzbGlkZXItYXJyb3ctbmV4dDogKDE4MHB4LCAxMDhweCwgLTE4MHB4LCAtMTA4cHgsIDQxcHgsIDQxcHgsIDI2NnB4LCAyMDVweCwgJy4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nJywgJ3NsaWRlci1hcnJvdy1uZXh0JywgKTtcbiRzbGlkZXItYXJyb3ctcHJldi1uYW1lOiAnc2xpZGVyLWFycm93LXByZXYnO1xuJHNsaWRlci1hcnJvdy1wcmV2LXg6IDBweDtcbiRzbGlkZXItYXJyb3ctcHJldi15OiAxNjRweDtcbiRzbGlkZXItYXJyb3ctcHJldi1vZmZzZXQteDogMHB4O1xuJHNsaWRlci1hcnJvdy1wcmV2LW9mZnNldC15OiAtMTY0cHg7XG4kc2xpZGVyLWFycm93LXByZXYtd2lkdGg6IDQxcHg7XG4kc2xpZGVyLWFycm93LXByZXYtaGVpZ2h0OiA0MXB4O1xuJHNsaWRlci1hcnJvdy1wcmV2LXRvdGFsLXdpZHRoOiAyNjZweDtcbiRzbGlkZXItYXJyb3ctcHJldi10b3RhbC1oZWlnaHQ6IDIwNXB4O1xuJHNsaWRlci1hcnJvdy1wcmV2LWltYWdlOiAnLi4vLi4vcHVibGljL2ltYWdlcy9pY29uLXNwcml0ZS5wbmcnO1xuJHNsaWRlci1hcnJvdy1wcmV2OiAoMHB4LCAxNjRweCwgMHB4LCAtMTY0cHgsIDQxcHgsIDQxcHgsIDI2NnB4LCAyMDVweCwgJy4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nJywgJ3NsaWRlci1hcnJvdy1wcmV2JywgKTtcbiRzb2NpYWwtYmxhaW52aWxsZS13aGl0ZS1uYW1lOiAnc29jaWFsLWJsYWludmlsbGUtd2hpdGUnO1xuJHNvY2lhbC1ibGFpbnZpbGxlLXdoaXRlLXg6IDEzMHB4O1xuJHNvY2lhbC1ibGFpbnZpbGxlLXdoaXRlLXk6IDUwcHg7XG4kc29jaWFsLWJsYWludmlsbGUtd2hpdGUtb2Zmc2V0LXg6IC0xMzBweDtcbiRzb2NpYWwtYmxhaW52aWxsZS13aGl0ZS1vZmZzZXQteTogLTUwcHg7XG4kc29jaWFsLWJsYWludmlsbGUtd2hpdGUtd2lkdGg6IDUwcHg7XG4kc29jaWFsLWJsYWludmlsbGUtd2hpdGUtaGVpZ2h0OiA1MHB4O1xuJHNvY2lhbC1ibGFpbnZpbGxlLXdoaXRlLXRvdGFsLXdpZHRoOiAyNjZweDtcbiRzb2NpYWwtYmxhaW52aWxsZS13aGl0ZS10b3RhbC1oZWlnaHQ6IDIwNXB4O1xuJHNvY2lhbC1ibGFpbnZpbGxlLXdoaXRlLWltYWdlOiAnLi4vLi4vcHVibGljL2ltYWdlcy9pY29uLXNwcml0ZS5wbmcnO1xuJHNvY2lhbC1ibGFpbnZpbGxlLXdoaXRlOiAoMTMwcHgsIDUwcHgsIC0xMzBweCwgLTUwcHgsIDUwcHgsIDUwcHgsIDI2NnB4LCAyMDVweCwgJy4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nJywgJ3NvY2lhbC1ibGFpbnZpbGxlLXdoaXRlJywgKTtcbiRzb2NpYWwtZmItd2hpdGUtbmFtZTogJ3NvY2lhbC1mYi13aGl0ZSc7XG4kc29jaWFsLWZiLXdoaXRlLXg6IDBweDtcbiRzb2NpYWwtZmItd2hpdGUteTogMTE0cHg7XG4kc29jaWFsLWZiLXdoaXRlLW9mZnNldC14OiAwcHg7XG4kc29jaWFsLWZiLXdoaXRlLW9mZnNldC15OiAtMTE0cHg7XG4kc29jaWFsLWZiLXdoaXRlLXdpZHRoOiA1MHB4O1xuJHNvY2lhbC1mYi13aGl0ZS1oZWlnaHQ6IDUwcHg7XG4kc29jaWFsLWZiLXdoaXRlLXRvdGFsLXdpZHRoOiAyNjZweDtcbiRzb2NpYWwtZmItd2hpdGUtdG90YWwtaGVpZ2h0OiAyMDVweDtcbiRzb2NpYWwtZmItd2hpdGUtaW1hZ2U6ICcuLi8uLi9wdWJsaWMvaW1hZ2VzL2ljb24tc3ByaXRlLnBuZyc7XG4kc29jaWFsLWZiLXdoaXRlOiAoMHB4LCAxMTRweCwgMHB4LCAtMTE0cHgsIDUwcHgsIDUwcHgsIDI2NnB4LCAyMDVweCwgJy4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nJywgJ3NvY2lhbC1mYi13aGl0ZScsICk7XG4kc29jaWFsLW1haWwtd2hpdGUtbmFtZTogJ3NvY2lhbC1tYWlsLXdoaXRlJztcbiRzb2NpYWwtbWFpbC13aGl0ZS14OiA1MHB4O1xuJHNvY2lhbC1tYWlsLXdoaXRlLXk6IDExNHB4O1xuJHNvY2lhbC1tYWlsLXdoaXRlLW9mZnNldC14OiAtNTBweDtcbiRzb2NpYWwtbWFpbC13aGl0ZS1vZmZzZXQteTogLTExNHB4O1xuJHNvY2lhbC1tYWlsLXdoaXRlLXdpZHRoOiA1MHB4O1xuJHNvY2lhbC1tYWlsLXdoaXRlLWhlaWdodDogNTBweDtcbiRzb2NpYWwtbWFpbC13aGl0ZS10b3RhbC13aWR0aDogMjY2cHg7XG4kc29jaWFsLW1haWwtd2hpdGUtdG90YWwtaGVpZ2h0OiAyMDVweDtcbiRzb2NpYWwtbWFpbC13aGl0ZS1pbWFnZTogJy4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nJztcbiRzb2NpYWwtbWFpbC13aGl0ZTogKDUwcHgsIDExNHB4LCAtNTBweCwgLTExNHB4LCA1MHB4LCA1MHB4LCAyNjZweCwgMjA1cHgsICcuLi8uLi9wdWJsaWMvaW1hZ2VzL2ljb24tc3ByaXRlLnBuZycsICdzb2NpYWwtbWFpbC13aGl0ZScsICk7XG4kc29jaWFsLXR3aXR0ZXItd2hpdGUtbmFtZTogJ3NvY2lhbC10d2l0dGVyLXdoaXRlJztcbiRzb2NpYWwtdHdpdHRlci13aGl0ZS14OiAxMzBweDtcbiRzb2NpYWwtdHdpdHRlci13aGl0ZS15OiAwcHg7XG4kc29jaWFsLXR3aXR0ZXItd2hpdGUtb2Zmc2V0LXg6IC0xMzBweDtcbiRzb2NpYWwtdHdpdHRlci13aGl0ZS1vZmZzZXQteTogMHB4O1xuJHNvY2lhbC10d2l0dGVyLXdoaXRlLXdpZHRoOiA1MHB4O1xuJHNvY2lhbC10d2l0dGVyLXdoaXRlLWhlaWdodDogNTBweDtcbiRzb2NpYWwtdHdpdHRlci13aGl0ZS10b3RhbC13aWR0aDogMjY2cHg7XG4kc29jaWFsLXR3aXR0ZXItd2hpdGUtdG90YWwtaGVpZ2h0OiAyMDVweDtcbiRzb2NpYWwtdHdpdHRlci13aGl0ZS1pbWFnZTogJy4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nJztcbiRzb2NpYWwtdHdpdHRlci13aGl0ZTogKDEzMHB4LCAwcHgsIC0xMzBweCwgMHB4LCA1MHB4LCA1MHB4LCAyNjZweCwgMjA1cHgsICcuLi8uLi9wdWJsaWMvaW1hZ2VzL2ljb24tc3ByaXRlLnBuZycsICdzb2NpYWwtdHdpdHRlci13aGl0ZScsICk7XG4kdG9nZ2xlLWRvd24tbmFtZTogJ3RvZ2dsZS1kb3duJztcbiR0b2dnbGUtZG93bi14OiAyMTJweDtcbiR0b2dnbGUtZG93bi15OiA4M3B4O1xuJHRvZ2dsZS1kb3duLW9mZnNldC14OiAtMjEycHg7XG4kdG9nZ2xlLWRvd24tb2Zmc2V0LXk6IC04M3B4O1xuJHRvZ2dsZS1kb3duLXdpZHRoOiAxOXB4O1xuJHRvZ2dsZS1kb3duLWhlaWdodDogMTlweDtcbiR0b2dnbGUtZG93bi10b3RhbC13aWR0aDogMjY2cHg7XG4kdG9nZ2xlLWRvd24tdG90YWwtaGVpZ2h0OiAyMDVweDtcbiR0b2dnbGUtZG93bi1pbWFnZTogJy4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nJztcbiR0b2dnbGUtZG93bjogKDIxMnB4LCA4M3B4LCAtMjEycHgsIC04M3B4LCAxOXB4LCAxOXB4LCAyNjZweCwgMjA1cHgsICcuLi8uLi9wdWJsaWMvaW1hZ2VzL2ljb24tc3ByaXRlLnBuZycsICd0b2dnbGUtZG93bicsICk7XG4kdG9nZ2xlLWxlZnQtbmFtZTogJ3RvZ2dsZS1sZWZ0JztcbiR0b2dnbGUtbGVmdC14OiAyMzJweDtcbiR0b2dnbGUtbGVmdC15OiAxMzRweDtcbiR0b2dnbGUtbGVmdC1vZmZzZXQteDogLTIzMnB4O1xuJHRvZ2dsZS1sZWZ0LW9mZnNldC15OiAtMTM0cHg7XG4kdG9nZ2xlLWxlZnQtd2lkdGg6IDI1cHg7XG4kdG9nZ2xlLWxlZnQtaGVpZ2h0OiAyNXB4O1xuJHRvZ2dsZS1sZWZ0LXRvdGFsLXdpZHRoOiAyNjZweDtcbiR0b2dnbGUtbGVmdC10b3RhbC1oZWlnaHQ6IDIwNXB4O1xuJHRvZ2dsZS1sZWZ0LWltYWdlOiAnLi4vLi4vcHVibGljL2ltYWdlcy9pY29uLXNwcml0ZS5wbmcnO1xuJHRvZ2dsZS1sZWZ0OiAoMjMycHgsIDEzNHB4LCAtMjMycHgsIC0xMzRweCwgMjVweCwgMjVweCwgMjY2cHgsIDIwNXB4LCAnLi4vLi4vcHVibGljL2ltYWdlcy9pY29uLXNwcml0ZS5wbmcnLCAndG9nZ2xlLWxlZnQnLCApO1xuJHRvZ2dsZS1yaWdodC13aGl0ZS1uYW1lOiAndG9nZ2xlLXJpZ2h0LXdoaXRlJztcbiR0b2dnbGUtcmlnaHQtd2hpdGUteDogMjEycHg7XG4kdG9nZ2xlLXJpZ2h0LXdoaXRlLXk6IDQ0cHg7XG4kdG9nZ2xlLXJpZ2h0LXdoaXRlLW9mZnNldC14OiAtMjEycHg7XG4kdG9nZ2xlLXJpZ2h0LXdoaXRlLW9mZnNldC15OiAtNDRweDtcbiR0b2dnbGUtcmlnaHQtd2hpdGUtd2lkdGg6IDIwcHg7XG4kdG9nZ2xlLXJpZ2h0LXdoaXRlLWhlaWdodDogMjBweDtcbiR0b2dnbGUtcmlnaHQtd2hpdGUtdG90YWwtd2lkdGg6IDI2NnB4O1xuJHRvZ2dsZS1yaWdodC13aGl0ZS10b3RhbC1oZWlnaHQ6IDIwNXB4O1xuJHRvZ2dsZS1yaWdodC13aGl0ZS1pbWFnZTogJy4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nJztcbiR0b2dnbGUtcmlnaHQtd2hpdGU6ICgyMTJweCwgNDRweCwgLTIxMnB4LCAtNDRweCwgMjBweCwgMjBweCwgMjY2cHgsIDIwNXB4LCAnLi4vLi4vcHVibGljL2ltYWdlcy9pY29uLXNwcml0ZS5wbmcnLCAndG9nZ2xlLXJpZ2h0LXdoaXRlJywgKTtcbiR0b2dnbGUtcmlnaHQtbmFtZTogJ3RvZ2dsZS1yaWdodCc7XG4kdG9nZ2xlLXJpZ2h0LXg6IDIzMnB4O1xuJHRvZ2dsZS1yaWdodC15OiA3M3B4O1xuJHRvZ2dsZS1yaWdodC1vZmZzZXQteDogLTIzMnB4O1xuJHRvZ2dsZS1yaWdodC1vZmZzZXQteTogLTczcHg7XG4kdG9nZ2xlLXJpZ2h0LXdpZHRoOiAyOXB4O1xuJHRvZ2dsZS1yaWdodC1oZWlnaHQ6IDI5cHg7XG4kdG9nZ2xlLXJpZ2h0LXRvdGFsLXdpZHRoOiAyNjZweDtcbiR0b2dnbGUtcmlnaHQtdG90YWwtaGVpZ2h0OiAyMDVweDtcbiR0b2dnbGUtcmlnaHQtaW1hZ2U6ICcuLi8uLi9wdWJsaWMvaW1hZ2VzL2ljb24tc3ByaXRlLnBuZyc7XG4kdG9nZ2xlLXJpZ2h0OiAoMjMycHgsIDczcHgsIC0yMzJweCwgLTczcHgsIDI5cHgsIDI5cHgsIDI2NnB4LCAyMDVweCwgJy4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nJywgJ3RvZ2dsZS1yaWdodCcsICk7XG4kdG9nZ2xlLXVwLW5hbWU6ICd0b2dnbGUtdXAnO1xuJHRvZ2dsZS11cC14OiAyMTJweDtcbiR0b2dnbGUtdXAteTogNjRweDtcbiR0b2dnbGUtdXAtb2Zmc2V0LXg6IC0yMTJweDtcbiR0b2dnbGUtdXAtb2Zmc2V0LXk6IC02NHB4O1xuJHRvZ2dsZS11cC13aWR0aDogMTlweDtcbiR0b2dnbGUtdXAtaGVpZ2h0OiAxOXB4O1xuJHRvZ2dsZS11cC10b3RhbC13aWR0aDogMjY2cHg7XG4kdG9nZ2xlLXVwLXRvdGFsLWhlaWdodDogMjA1cHg7XG4kdG9nZ2xlLXVwLWltYWdlOiAnLi4vLi4vcHVibGljL2ltYWdlcy9pY29uLXNwcml0ZS5wbmcnO1xuJHRvZ2dsZS11cDogKDIxMnB4LCA2NHB4LCAtMjEycHgsIC02NHB4LCAxOXB4LCAxOXB4LCAyNjZweCwgMjA1cHgsICcuLi8uLi9wdWJsaWMvaW1hZ2VzL2ljb24tc3ByaXRlLnBuZycsICd0b2dnbGUtdXAnLCApO1xuJHR3aXR0ZXItd2hpdGUtbmFtZTogJ3R3aXR0ZXItd2hpdGUnO1xuJHR3aXR0ZXItd2hpdGUteDogMHB4O1xuJHR3aXR0ZXItd2hpdGUteTogNjRweDtcbiR0d2l0dGVyLXdoaXRlLW9mZnNldC14OiAwcHg7XG4kdHdpdHRlci13aGl0ZS1vZmZzZXQteTogLTY0cHg7XG4kdHdpdHRlci13aGl0ZS13aWR0aDogNTlweDtcbiR0d2l0dGVyLXdoaXRlLWhlaWdodDogNTBweDtcbiR0d2l0dGVyLXdoaXRlLXRvdGFsLXdpZHRoOiAyNjZweDtcbiR0d2l0dGVyLXdoaXRlLXRvdGFsLWhlaWdodDogMjA1cHg7XG4kdHdpdHRlci13aGl0ZS1pbWFnZTogJy4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nJztcbiR0d2l0dGVyLXdoaXRlOiAoMHB4LCA2NHB4LCAwcHgsIC02NHB4LCA1OXB4LCA1MHB4LCAyNjZweCwgMjA1cHgsICcuLi8uLi9wdWJsaWMvaW1hZ2VzL2ljb24tc3ByaXRlLnBuZycsICd0d2l0dGVyLXdoaXRlJywgKTtcbiR1bC1kcm9wZG93bi13aGl0ZS1uYW1lOiAndWwtZHJvcGRvd24td2hpdGUnO1xuJHVsLWRyb3Bkb3duLXdoaXRlLXg6IDE5OHB4O1xuJHVsLWRyb3Bkb3duLXdoaXRlLXk6IDE0OXB4O1xuJHVsLWRyb3Bkb3duLXdoaXRlLW9mZnNldC14OiAtMTk4cHg7XG4kdWwtZHJvcGRvd24td2hpdGUtb2Zmc2V0LXk6IC0xNDlweDtcbiR1bC1kcm9wZG93bi13aGl0ZS13aWR0aDogMTdweDtcbiR1bC1kcm9wZG93bi13aGl0ZS1oZWlnaHQ6IDExcHg7XG4kdWwtZHJvcGRvd24td2hpdGUtdG90YWwtd2lkdGg6IDI2NnB4O1xuJHVsLWRyb3Bkb3duLXdoaXRlLXRvdGFsLWhlaWdodDogMjA1cHg7XG4kdWwtZHJvcGRvd24td2hpdGUtaW1hZ2U6ICcuLi8uLi9wdWJsaWMvaW1hZ2VzL2ljb24tc3ByaXRlLnBuZyc7XG4kdWwtZHJvcGRvd24td2hpdGU6ICgxOThweCwgMTQ5cHgsIC0xOThweCwgLTE0OXB4LCAxN3B4LCAxMXB4LCAyNjZweCwgMjA1cHgsICcuLi8uLi9wdWJsaWMvaW1hZ2VzL2ljb24tc3ByaXRlLnBuZycsICd1bC1kcm9wZG93bi13aGl0ZScsICk7XG4kdmlkZW8taWNvLXdoaXRlLW5hbWU6ICd2aWRlby1pY28td2hpdGUnO1xuJHZpZGVvLWljby13aGl0ZS14OiAxMDBweDtcbiR2aWRlby1pY28td2hpdGUteTogMTE0cHg7XG4kdmlkZW8taWNvLXdoaXRlLW9mZnNldC14OiAtMTAwcHg7XG4kdmlkZW8taWNvLXdoaXRlLW9mZnNldC15OiAtMTE0cHg7XG4kdmlkZW8taWNvLXdoaXRlLXdpZHRoOiA1MnB4O1xuJHZpZGVvLWljby13aGl0ZS1oZWlnaHQ6IDQ0cHg7XG4kdmlkZW8taWNvLXdoaXRlLXRvdGFsLXdpZHRoOiAyNjZweDtcbiR2aWRlby1pY28td2hpdGUtdG90YWwtaGVpZ2h0OiAyMDVweDtcbiR2aWRlby1pY28td2hpdGUtaW1hZ2U6ICcuLi8uLi9wdWJsaWMvaW1hZ2VzL2ljb24tc3ByaXRlLnBuZyc7XG4kdmlkZW8taWNvLXdoaXRlOiAoMTAwcHgsIDExNHB4LCAtMTAwcHgsIC0xMTRweCwgNTJweCwgNDRweCwgMjY2cHgsIDIwNXB4LCAnLi4vLi4vcHVibGljL2ltYWdlcy9pY29uLXNwcml0ZS5wbmcnLCAndmlkZW8taWNvLXdoaXRlJywgKTtcbiR2aXNpdC1pY28td2hpdGUtbmFtZTogJ3Zpc2l0LWljby13aGl0ZSc7XG4kdmlzaXQtaWNvLXdoaXRlLXg6IDE4MHB4O1xuJHZpc2l0LWljby13aGl0ZS15OiAwcHg7XG4kdmlzaXQtaWNvLXdoaXRlLW9mZnNldC14OiAtMTgwcHg7XG4kdmlzaXQtaWNvLXdoaXRlLW9mZnNldC15OiAwcHg7XG4kdmlzaXQtaWNvLXdoaXRlLXdpZHRoOiA1MnB4O1xuJHZpc2l0LWljby13aGl0ZS1oZWlnaHQ6IDQ0cHg7XG4kdmlzaXQtaWNvLXdoaXRlLXRvdGFsLXdpZHRoOiAyNjZweDtcbiR2aXNpdC1pY28td2hpdGUtdG90YWwtaGVpZ2h0OiAyMDVweDtcbiR2aXNpdC1pY28td2hpdGUtaW1hZ2U6ICcuLi8uLi9wdWJsaWMvaW1hZ2VzL2ljb24tc3ByaXRlLnBuZyc7XG4kdmlzaXQtaWNvLXdoaXRlOiAoMTgwcHgsIDBweCwgLTE4MHB4LCAwcHgsIDUycHgsIDQ0cHgsIDI2NnB4LCAyMDVweCwgJy4uLy4uL3B1YmxpYy9pbWFnZXMvaWNvbi1zcHJpdGUucG5nJywgJ3Zpc2l0LWljby13aGl0ZScsICk7XG4kc3ByaXRlc2hlZXQtd2lkdGg6IDI2NnB4O1xuJHNwcml0ZXNoZWV0LWhlaWdodDogMjA1cHg7XG4kc3ByaXRlc2hlZXQtaW1hZ2U6ICcuLi8uLi9wdWJsaWMvaW1hZ2VzL2ljb24tc3ByaXRlLnBuZyc7XG4kc3ByaXRlc2hlZXQtc3ByaXRlczogKCQtY3JlZGl0LWFycm93LCAkYXJyb3ctcGxhaW4td2hpdGUsICRibG9jay1nYWxsZXJ5LXdoaXRlLCAkZmFjZWJvb2std2hpdGUsICRmaW5kLWljby1zbWFsbCwgJGZpbmQtaWNvLCAkZ2FsbGVyeS1pY28td2hpdGUsICRnYWxsZXJ5LXdoaXRlLCAkaW5mb3dpbmRvdy1kYXJrLCAkaW5mb3dpbmRvdy1saWdodCwgJGxpLWJ1bGxldCwgJG1haWwtd2hpdGUsICRwaW4tYmx1ZSwgJHNjcm9sbHRvcC13aGl0ZSwgJHNsaWRlci1hcnJvdy1uZXh0LCAkc2xpZGVyLWFycm93LXByZXYsICRzb2NpYWwtYmxhaW52aWxsZS13aGl0ZSwgJHNvY2lhbC1mYi13aGl0ZSwgJHNvY2lhbC1tYWlsLXdoaXRlLCAkc29jaWFsLXR3aXR0ZXItd2hpdGUsICR0b2dnbGUtZG93biwgJHRvZ2dsZS1sZWZ0LCAkdG9nZ2xlLXJpZ2h0LXdoaXRlLCAkdG9nZ2xlLXJpZ2h0LCAkdG9nZ2xlLXVwLCAkdHdpdHRlci13aGl0ZSwgJHVsLWRyb3Bkb3duLXdoaXRlLCAkdmlkZW8taWNvLXdoaXRlLCAkdmlzaXQtaWNvLXdoaXRlLCApO1xuJHNwcml0ZXNoZWV0OiAoMjY2cHgsIDIwNXB4LCAnLi4vLi4vcHVibGljL2ltYWdlcy9pY29uLXNwcml0ZS5wbmcnLCAkc3ByaXRlc2hlZXQtc3ByaXRlcywgKTtcblxuLypcblRoZSBwcm92aWRlZCBtaXhpbnMgYXJlIGludGVuZGVkIHRvIGJlIHVzZWQgd2l0aCB0aGUgYXJyYXktbGlrZSB2YXJpYWJsZXNcblxuLmljb24taG9tZSB7XG4gIEBpbmNsdWRlIHNwcml0ZS13aWR0aCgkaWNvbi1ob21lKTtcbn1cblxuLmljb24tZW1haWwge1xuICBAaW5jbHVkZSBzcHJpdGUoJGljb24tZW1haWwpO1xufVxuKi9cbkBtaXhpbiBzcHJpdGUtd2lkdGgoJHNwcml0ZSkge1xuICB3aWR0aDogbnRoKCRzcHJpdGUsIDUpO1xufVxuXG5AbWl4aW4gc3ByaXRlLWhlaWdodCgkc3ByaXRlKSB7XG4gIGhlaWdodDogbnRoKCRzcHJpdGUsIDYpO1xufVxuXG5AbWl4aW4gc3ByaXRlLXBvc2l0aW9uKCRzcHJpdGUpIHtcbiAgJHNwcml0ZS1vZmZzZXQteDogbnRoKCRzcHJpdGUsIDMpO1xuICAkc3ByaXRlLW9mZnNldC15OiBudGgoJHNwcml0ZSwgNCk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246ICRzcHJpdGUtb2Zmc2V0LXggICRzcHJpdGUtb2Zmc2V0LXk7XG59XG5cbkBtaXhpbiBzcHJpdGUtaW1hZ2UoJHNwcml0ZSkge1xuICAkc3ByaXRlLWltYWdlOiBudGgoJHNwcml0ZSwgOSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRzcHJpdGUtaW1hZ2V9KTtcbn1cblxuQG1peGluIHNwcml0ZSgkc3ByaXRlKSB7XG4gIEBpbmNsdWRlIHNwcml0ZS1pbWFnZSgkc3ByaXRlKTtcbiAgQGluY2x1ZGUgc3ByaXRlLXBvc2l0aW9uKCRzcHJpdGUpO1xuICBAaW5jbHVkZSBzcHJpdGUtd2lkdGgoJHNwcml0ZSk7XG4gIEBpbmNsdWRlIHNwcml0ZS1oZWlnaHQoJHNwcml0ZSk7XG59XG5cbi8qXG5UaGUgYHNwcml0ZXNgIG1peGluIGdlbmVyYXRlcyBpZGVudGljYWwgb3V0cHV0IHRvIHRoZSBDU1MgdGVtcGxhdGVcbiAgYnV0IGNhbiBiZSBvdmVycmlkZGVuIGluc2lkZSBvZiBTQ1NTXG5cbkBpbmNsdWRlIHNwcml0ZXMoJHNwcml0ZXNoZWV0LXNwcml0ZXMpO1xuKi9cbkBtaXhpbiBzcHJpdGVzKCRzcHJpdGVzKSB7XG4gIEBlYWNoICRzcHJpdGUgaW4gJHNwcml0ZXMge1xuICAgICRzcHJpdGUtbmFtZTogbnRoKCRzcHJpdGUsIDEwKTtcbiAgICAuI3skc3ByaXRlLW5hbWV9IHtcbiAgICAgIEBpbmNsdWRlIHNwcml0ZSgkc3ByaXRlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBEZWZhdWx0IFZhcmlhYmxlc1xyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuJEJyZWFrcG9pbnQtU2V0dGluZ3M6IChcclxuICAnZGVmYXVsdCBtZWRpYSc6IGFsbCxcclxuICAnZGVmYXVsdCBmZWF0dXJlJzogbWluLXdpZHRoLFxyXG4gICdkZWZhdWx0IHBhaXInOiB3aWR0aCxcclxuXHJcbiAgJ2ZvcmNlIGFsbCBtZWRpYSB0eXBlJzogZmFsc2UsXHJcbiAgJ3RvIGVtcyc6IGZhbHNlLFxyXG4gICd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnOiB0cnVlLFxyXG5cclxuICAnbm8gcXVlcmllcyc6IGZhbHNlLFxyXG4gICdubyBxdWVyeSBmYWxsYmFja3MnOiBmYWxzZSxcclxuXHJcbiAgJ2Jhc2UgZm9udCBzaXplJzogMTZweCxcclxuXHJcbiAgJ2xlZ2FjeSBzeW50YXgnOiBmYWxzZVxyXG4pO1xyXG5cclxuJGJyZWFrcG9pbnQ6ICgpICFkZWZhdWx0O1xyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIEltcG9ydHNcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbkBpbXBvcnQgXCJicmVha3BvaW50L3NldHRpbmdzXCI7XHJcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvY29udGV4dCc7XHJcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvaGVscGVycyc7XHJcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvcGFyc2Vycyc7XHJcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvbm8tcXVlcnknO1xyXG5cclxuQGltcG9ydCAnYnJlYWtwb2ludC9yZXNwb25kLXRvJztcclxuXHJcbkBpbXBvcnQgXCJicmVha3BvaW50L2xlZ2FjeS1zZXR0aW5nc1wiO1xyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIEJyZWFrcG9pbnQgTWl4aW5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG5AbWl4aW4gYnJlYWtwb2ludCgkcXVlcnksICRuby1xdWVyeTogZmFsc2UpIHtcclxuICBAaW5jbHVkZSBsZWdhY3ktc2V0dGluZ3Mtd2FybmluZztcclxuXHJcbiAgLy8gUmVzZXQgY29udGV4dHNcclxuICBAaW5jbHVkZSBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMoKTtcclxuXHJcbiAgJGJyZWFrcG9pbnQ6IGJyZWFrcG9pbnQoJHF1ZXJ5LCBmYWxzZSk7XHJcblxyXG4gICRxdWVyeS1zdHJpbmc6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdxdWVyeScpO1xyXG4gICRxdWVyeS1mYWxsYmFjazogbWFwLWdldCgkYnJlYWtwb2ludCwgJ2ZhbGxiYWNrJyk7XHJcblxyXG4gICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdjb250ZXh0IGhvbGRlcicpICFnbG9iYWw7XHJcbiAgJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudDogbWFwLWdldCgkYnJlYWtwb2ludCwgJ3F1ZXJ5IGNvdW50JykgIWdsb2JhbDtcclxuXHJcbiAgLy8gQWxsb3cgZm9yIGFuIGFzLW5lZWRlZCBvdmVycmlkZSBvciB1c2FnZSBvZiBubyBxdWVyeSBmYWxsYmFjay5cclxuICBAaWYgJG5vLXF1ZXJ5ICE9IGZhbHNlIHtcclxuICAgICRxdWVyeS1mYWxsYmFjazogJG5vLXF1ZXJ5O1xyXG4gIH1cclxuXHJcbiAgQGlmICRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSB7XHJcbiAgICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgnbm8tcXVlcnknLCAkcXVlcnktZmFsbGJhY2spO1xyXG4gIH1cclxuXHJcbiAgLy8gUHJpbnQgT3V0IFF1ZXJ5IFN0cmluZ1xyXG4gIEBpZiBub3QgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJpZXMnKSB7XHJcbiAgICBAbWVkaWEgI3skcXVlcnktc3RyaW5nfSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSAhPSBmYWxzZSBvciBicmVha3BvaW50LWdldCgnbm8gcXVlcmllcycpID09IHRydWUge1xyXG5cclxuICAgICR0eXBlOiB0eXBlLW9mKGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSk7XHJcbiAgICAkcHJpbnQ6IGZhbHNlO1xyXG5cclxuICAgIEBpZiAoJHR5cGUgPT0gJ2Jvb2wnKSB7XHJcbiAgICAgICRwcmludDogdHJ1ZTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmICgkdHlwZSA9PSAnc3RyaW5nJykge1xyXG4gICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrID09IGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSB7XHJcbiAgICAgICAgJHByaW50OiB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ2xpc3QnKSB7XHJcbiAgICAgIEBlYWNoICR3cmFwcGVyIGluIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSB7XHJcbiAgICAgICAgQGlmICRxdWVyeS1mYWxsYmFjayA9PSAkd3JhcHBlciB7XHJcbiAgICAgICAgICAkcHJpbnQ6IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gV3JpdGUgRmFsbGJhY2tcclxuICAgIEBpZiAoJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlKSBhbmQgKCRwcmludCA9PSB0cnVlKSB7XHJcbiAgICAgICR0eXBlLWZhbGxiYWNrOiB0eXBlLW9mKCRxdWVyeS1mYWxsYmFjayk7XHJcblxyXG4gICAgICBAaWYgKCR0eXBlLWZhbGxiYWNrICE9ICdib29sJykge1xyXG4gICAgICAgICN7JHF1ZXJ5LWZhbGxiYWNrfSAmIHtcclxuICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBAZWxzZSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIHByaXZhdGUtYnJlYWtwb2ludC1yZXNldC1jb250ZXh0cygpO1xyXG59XHJcblxyXG5cclxuQG1peGluIG1xKCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHF1ZXJ5LCAkbm8tcXVlcnkpIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCJAaW1wb3J0IFwibWl4aW5zL19idXR0b24uc2Nzc1wiO1xuQGltcG9ydCBcIm1peGlucy9fbGlua3Muc2Nzc1wiO1xuXG5AbWl4aW4gdW5zdHlsZWQtbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLy8vIFRoZSB2dyB1bml0ICh2aWV3cG9ydCB3aWR0aCkgaXMgZXF1YWwgdG8gMS8xMDB0aCBvciAxJSBvZiB0aGUgd2lkdGggb2YgdGhlIHZpZXdwb3J0LlxuLy8vIEluIHRoZSBleGFtcGxlIGJlbG93LCBpZiB0aGUgd2lkdGggb2YgdGhlIHZpZXdwb3J0IGlzIDEwMDBweCwgdGhlIGZvbnQgc2l6ZSBvZiB0aGUgaDEgd2lsbCBiZSA0MHB4LlxuQGZ1bmN0aW9uIGdldC12dygkc2l6ZSwgJG1heDogZmFsc2UsICRtaW46IGZhbHNlLCAkY29udGV4dDogJGNvbnRhaW5lci13aWR0aC14bGcpIHtcbiAgICAkdnctY29udGV4dDogKCRjb250ZXh0ICogLjAxKTsgLy8gMSUgdmlld3BvcnQgd2lkdGhcbiAgICBAcmV0dXJuICgkc2l6ZSAvICR2dy1jb250ZXh0KSArIHZ3O1xufVxuXG5AZnVuY3Rpb24gZ2V0LXZoKCRzaXplLCAkY29udGV4dDogJGNvbnRhaW5lci13aWR0aC14bGcpIHtcbiAgICAkdmgtY29udGV4dDogKCRjb250ZXh0ICogLjAxKTsgLy8gMSUgdmlld3BvcnQgd2lkdGhcbiAgICBAcmV0dXJuICgkc2l6ZSAvICR2aC1jb250ZXh0KSArIHZoO1xufVxuXG5AbWl4aW4gaG9yaXpvbnRhbC1hbGlnbigkcGVyY2VudDogNTAlKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHBlcmNlbnQgKiAtMSk7XG59XG5cbkBtaXhpbiB2ZXJ0aWNhbC1hbGlnbigkcGVyY2VudDogNTAlKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkcGVyY2VudCAqIC0xKTtcbn1cblxuQG1peGluIGNhbGMtdncoJHNpemUsICRtaW4tc2l6ZTogZmFsc2UsICRtaW4tYnJlYWtwb2ludDogZmFsc2UsICRtYXgtYnJlYWtwb2ludDogJGNvbnRhaW5lci13aWR0aC14bGcpIHtcbiAgZm9udC1zaXplOiBnZXQtdncoJHNpemUpO1xuXG4gIC8vUHJldmVudCBmb250LXNpemUgZnJvbSBnZXR0aW5nIHRvbyBzbWFsbFxuICBAaWYgJG1pbi1zaXplICE9IGZhbHNlIHtcbiAgICBAaWYgdHlwZS1vZigkbWluLWJyZWFrcG9pbnQpID09IGZhbHNlIHtcbiAgICAgICAgQHdhcm4gXCJgI3skbWluLWJyZWFrcG9pbnR9YCBpcyBub3QgZGVmaW5lZC5cIjtcbiAgICB9XG5cbiAgICAkc21hbGwtc2NyZWVuOiBcIihtYXgtd2lkdGg6ICN7JG1pbi1icmVha3BvaW50fSlcIjtcbiAgICBAbWVkaWEgI3skc21hbGwtc2NyZWVufSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGMtcmVtKCRtaW4tc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gUHJldmVudCBmb250LXNpemUgZnJvbSBnZXR0aW5nIHRvbyBiaWdcbiAgJHdpZGUtc2NyZWVuOiBcIihtaW4td2lkdGg6ICN7JG1heC1icmVha3BvaW50fXB4KVwiO1xuICBAbWVkaWEgI3skd2lkZS1zY3JlZW59IHtcbiAgICAgIEBpbmNsdWRlIGNhbGMtcmVtKCRzaXplKTtcbiAgfVxufVxuXG4vLy8gU2ltaWxhciB0byB2dywgdGhlIHZoIHVuaXQgKHZpZXdwb3J0IGhlaWdodCkgaXMgZXF1YWwgdG8gMS8xMDB0aCBvciAxJSBvZiB0aGUgaGVpZ2h0IG9mIHRoZSB2aWV3cG9ydC5cbi8vLyBJbiB0aGlzIGV4YW1wbGUsIGlmIHRoZSB2aWV3cG9ydCBoZWlnaHQgaXMgNzAwcHgsIHRoZSBtYXgtaGVpZ2h0IG9mIHRoZSBpbWFnZSB3aWxsIGJlIDE3NXB4ICgyNcOXNzAwLzEwMCA9IDE3NSApLlxuQGZ1bmN0aW9uIGNhbGMtdmgoJHNpemUsICRjb250ZXh0OiAkYmFzZS1mb250LWNvbnRleHQpIHtcblxufVxuXG4vLy8gVGVzdCBpZiBgJHZhbHVlYCBpcyBhIHZhbGlkIGRpcmVjdGlvblxuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlIC0gVmFsdWUgdG8gdGVzdFxuLy8vIEByZXR1cm4ge0Jvb2x9XG5AZnVuY3Rpb24gaXMtZGlyZWN0aW9uKCR2YWx1ZSkge1xuICAkaXMta2V5d29yZDogaW5kZXgoKHRvIHRvcCwgdG8gdG9wIHJpZ2h0LCB0byByaWdodCB0b3AsIHRvIHJpZ2h0LCB0byBib3R0b20gcmlnaHQsIHRvIHJpZ2h0IGJvdHRvbSwgdG8gYm90dG9tLCB0byBib3R0b20gbGVmdCwgdG8gbGVmdCBib3R0b20sIHRvIGxlZnQsIHRvIGxlZnQgdG9wLCB0byB0b3AgbGVmdCksICR2YWx1ZSk7XG4gICRpcy1hbmdsZTogdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIGFuZCBpbmRleCgnZGVnJyAnZ3JhZCcgJ3R1cm4nICdyYWQnLCB1bml0KCR2YWx1ZSkpO1xuXG4gIEByZXR1cm4gJGlzLWtleXdvcmQgb3IgJGlzLWFuZ2xlO1xufVxuXG4vLy8gQ29udmVydCBhIGRpcmVjdGlvbiB0byBsZWdhY3kgc3ludGF4XG4vLy8gQHBhcmFtIHtLZXl3b3JkIHwgQW5nbGV9ICR2YWx1ZSAtIFZhbHVlIHRvIGNvbnZlcnRcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGlzLWRpcmVjdGlvblxuLy8vIEByZXF1aXJlIHtmdW5jdGlvbn0gY29udmVydC1hbmdsZVxuLy8vIEB0aHJvdyBDYW5ub3QgY29udmVydCBgI3skdmFsdWV9YCB0byBsZWdhY3kgc3ludGF4IGJlY2F1c2UgaXQgZG9lc24ndCBzZWVtIHRvIGJlIGEgZGlyZWN0aW9uLjtcbkBmdW5jdGlvbiBsZWdhY3ktZGlyZWN0aW9uKCR2YWx1ZSkge1xuICBAaWYgaXMtZGlyZWN0aW9uKCR2YWx1ZSkgPT0gZmFsc2Uge1xuICAgIEBlcnJvciBcIkNhbm5vdCBjb252ZXJ0IGAjeyR2YWx1ZX1gIHRvIGxlZ2FjeSBzeW50YXggYmVjYXVzZSBpdCBkb2Vzbid0IHNlZW0gdG8gYmUgYSBkaXJlY3Rpb24uXCI7XG4gIH1cblxuICAkY29udmVyc2lvbi1tYXA6IChcbiAgICB0byB0b3AgICAgICAgICAgOiBib3R0b20sXG4gICAgdG8gdG9wIHJpZ2h0ICAgIDogYm90dG9tIGxlZnQsXG4gICAgdG8gcmlnaHQgdG9wICAgIDogbGVmdCBib3R0b20sXG4gICAgdG8gcmlnaHQgICAgICAgIDogbGVmdCxcbiAgICB0byBib3R0b20gcmlnaHQgOiB0b3AgbGVmdCxcbiAgICB0byByaWdodCBib3R0b20gOiBsZWZ0IHRvcCxcbiAgICB0byBib3R0b20gICAgICAgOiB0b3AsXG4gICAgdG8gYm90dG9tIGxlZnQgIDogdG9wIHJpZ2h0LFxuICAgIHRvIGxlZnQgYm90dG9tICA6IHJpZ2h0IHRvcCxcbiAgICB0byBsZWZ0ICAgICAgICAgOiByaWdodCxcbiAgICB0byBsZWZ0IHRvcCAgICAgOiByaWdodCBib3R0b20sXG4gICAgdG8gdG9wIGxlZnQgICAgIDogYm90dG9tIHJpZ2h0XG4gICk7XG5cbiAgQGlmIG1hcC1oYXMta2V5KCRjb252ZXJzaW9uLW1hcCwgJHZhbHVlKSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRjb252ZXJzaW9uLW1hcCwgJHZhbHVlKTtcbiAgfVxuXG4gIEByZXR1cm4gOTBkZWcgLSAkdmFsdWU7XG59XG5cbkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJGNvbG9yLXN0b3BzLi4uKSB7XG4gIEBpZiBpcy1kaXJlY3Rpb24oJGRpcmVjdGlvbikgPT0gZmFsc2Uge1xuICAgICRjb2xvci1zdG9wczogJGRpcmVjdGlvbiwgJGNvbG9yLXN0b3BzO1xuICAgICRkaXJlY3Rpb246IDE4MGRlZztcbiAgfVxuXG4gIGJhY2tncm91bmQ6IG50aChudGgoJGNvbG9yLXN0b3BzLCAxKSwgMSk7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZ2FjeS1kaXJlY3Rpb24oJGRpcmVjdGlvbiksICRjb2xvci1zdG9wcyk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkZGlyZWN0aW9uLCAkY29sb3Itc3RvcHMpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICAgIC1tb3otdHJhbnNpdGlvbjogICAgJHRyYW5zaXRpb247XG4gICAgLW8tdHJhbnNpdGlvbjogICAgICAkdHJhbnNpdGlvbjtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246ICR0cmFuc2l0aW9uO1xuICAgIHRyYW5zaXRpb246ICAgICAgICAgJHRyYW5zaXRpb247XG59XG5cbi8vLyBDbGVhcmZpeCBleHRlbmRcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAuZm9vIHtcbi8vLyBAZXh0ZW5kICVjbGVhcmZpeDtcbi8vLyB9XG5cbiVjbGVhcmZpeCB7XG4gICAgKnpvb206IDE7XG5cbiAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbn1cblxuLy8vIFJlcHNvbnNpdmUgaW1hZ2UgZXh0ZW5kXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gLmZvbyB7XG4vLy8gaW1nIHtcbi8vLyBAZXh0ZW5kICVpbWctcmVzcG9uc2l2ZTtcbi8vLyB9XG4vLy8gfVxuJWltZy1yZXNwb25zaXZlIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLy8gR2l2ZW4gdGhlIGxvY2F0aW9uIG9mIGEgd2ViZm9udCwgd2lsbCBnZW5lcmF0ZSBhIGZvbnQtZmFjZSBkZWNsYXJhdGlvbiB3aXRoIG11bHRpcGxlIGZpbGUgZm9ybWF0cy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGZvbnQtbmFtZSAtIEZvbnQgZmFtaWx5IG5hbWVcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGZpbGUtbmFtZSAtIEZpbGUgbmFtZSAobm8gZXh0ZW5zaW9uKVxuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkd2VpZ2h0IFtub3JtYWxdIC0gRm9udCB3ZWlnaHRcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0eWxlIFtub3JtYWxdIC0gRm9udCBzdHlsZVxuXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gQGluY2x1ZGUgZm9udC1mYWNlKCdnb3RoYW0nLCAnL2ZvbnRzL2dvdGhhbScpO1xuQG1peGluIGZvbnQtZmFjZSgkZm9udC1uYW1lLCAkZmlsZS1uYW1lLCAkd2VpZ2h0OiBub3JtYWwsICRzdHlsZTogbm9ybWFsKSB7XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBxdW90ZSgkZm9udC1uYW1lKTtcbiAgICBzcmM6IHVybCgkZmlsZS1uYW1lICsgJy5lb3QnKTtcbiAgICBzcmM6IHVybCgkZmlsZS1uYW1lICsgJy5lb3Q/I2llZml4JykgIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgIHVybCgkZmlsZS1uYW1lICsgJy53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICB1cmwoJGZpbGUtbmFtZSArICcudHRmJykgIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgIHVybCgkZmlsZS1uYW1lICsgJy5zdmcjI3skZm9udC1uYW1lfScpICBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlIHJvdW5kZWQgY29ybmVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAtIEFyYyB2YWx1ZSwgY2FuIGJlIHB4IG9yIHBlcmNlbnRcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyBAaW5jbHVkZSByb3VuZGVkLWNvcm5lcnMoNTAlKTtcbkBtaXhpbiByb3VuZGVkLWNvcm5lcnMoJGFyYykge1xuXHQtbW96LWJvcmRlci1yYWRpdXM6ICRhcmM7XG5cdC13ZWJraXQtYm9yZGVyLXJhZGl1czogJGFyYztcblx0Ym9yZGVyLXJhZGl1czogJGFyYztcblx0LWtodG1sLWJvcmRlci1yYWRpdXM6ICRhcmM7XG59XG5cbi8vLyBDb252ZXJ0IHB4IGZvbnQtc2l6ZSB0byBlbVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcHggLSBGb250IHNpemUgKDE4cHgpXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb250ZXh0IC0gQ29udGV4dCBmb250IHNpemUgKDE4cHgpXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy9mb250LXNpemU6IGNhbGMtZW0oMThweCwgMjBweCk7XG5AZnVuY3Rpb24gY2FsYy1lbSgkc2l6ZSwgJGNvbnRleHQ6ICRiYXNlLWZvbnQtY29udGV4dCkge1xuICAgIEByZXR1cm4gKCRzaXplIC8gJGNvbnRleHQpICogMWVtO1xufVxuXG5AbWl4aW4gY2FsYy1yZW0oJHNpemUsICRjb250ZXh0OiAkYmFzZS1mb250LWNvbnRleHQpIHtcbiAgZm9udC1zaXplOiAkc2l6ZSArIHB4O1xuICBmb250LXNpemU6ICgkc2l6ZSAvICRjb250ZXh0KSAqIDFyZW07XG59XG5cbi8vLyBDcmVhdGUgYSB0ZXh0LXNoYWRvd1xuQG1peGluIGxldHRlcnByZXNzKCRzaGFkb3cpe1xuICAgIHRleHQtc2hhZG93OiBtaXgoYmxhY2ssICRzaGFkb3csIDE1JSkgMCAxcHggMDtcbn1cblxuLy8vIENyZWF0ZSBhIHNtYWxsIGJhZGdlIC0gdGV4dCB3aXRoIGJhY2tncm91bmQgKE15IEluYm94IFsxMF0pXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gQGluY2x1ZGUgYmFkZ2UoIzAwMCwgI2ZmZik7XG5AbWl4aW4gYmFkZ2UoJGJhY2tncm91bmQsICRjb2xvciwgJHdpZHRoOiBmYWxzZSwgJGhlaWdodDogZmFsc2UpIHtcbiAgICBAaW5jbHVkZSByb3VuZGVkLWNvcm5lcnMoNTAlKTtcbiAgICBAaW5jbHVkZSBsZXR0ZXJwcmVzcygkYmFja2dyb3VuZCk7XG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KCRiYWNrZ3JvdW5kLCBtaXgoYmxhY2ssICRiYWNrZ3JvdW5kLCAyMCUpKTtcblxuICAgIGJhY2tncm91bmQtY29sb3I6JGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0ycHg7XG5cbiAgICAvL2ZvbnQtc2l6ZTogODAlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMC41ZW0gMC44ZW07XG4gICAgcGFkZGluZzogM3B4IDdweDtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5AbWl4aW4gYm94LXNoYWRvdyggJGhvcml6IDogLjVlbSAsICR2ZXJ0IDogLjVlbSAsICRibHVyIDogMHB4ICwgJHNwcmVhZCA6IDBweCAsICRjb2xvciA6ICMwMDAwMDAgKXtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkaG9yaXogJHZlcnQgJGJsdXIgJHNwcmVhZCAkY29sb3I7XG4gIC1tb3otYm94LXNoYWRvdzogJGhvcml6ICR2ZXJ0ICRibHVyICRzcHJlYWQgJGNvbG9yO1xuICBib3gtc2hhZG93OiAkaG9yaXogJHZlcnQgJGJsdXIgJHNwcmVhZCAkY29sb3I7XG59XG5cblxuXG5AbWl4aW4gZGVidWdtZXNzYWdlKCRtZXNzYWdlLCAkY29sb3I6IHJnYmEoMjU1LDI1NSwwLCAwLjYpLCAkY29sb3JfdGV4dDogIzAwMDAwMCApe1xuICAgICY6OmFmdGVye1xuICAgICAgICBjb250ZW50OiAkbWVzc2FnZTsgYmFja2dyb3VuZDogI3skY29sb3J9OyBjb2xvcjogI3skY29sb3JfdGV4dH07XG4gICAgICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyBmb250LXdlaWdodDogYm9sZDsgZGlzcGxheTogYmxvY2s7IHRleHQtYWxpZ246IGNlbnRlcjsgaGVpZ2h0OiAzMHB4OyBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkOyByaWdodDogMDsgbGVmdDogMDsgYm90dG9tOiAwOyB6LWluZGV4OiA5OTk7XG4gICAgfVxufVxuIiwiLy8gU3BhbiBTeW50YXhcclxuLy8gPT09PT09PT09PT1cclxuXHJcbi8vIFNwYW4gW21peGluXVxyXG4vLyAtLS0tLS0tLS0tLS1cclxuLy8gU2V0IGEgc3Bhbm5pbmcgZWxlbWVudCB1c2luZyBzaG9ydGhhbmQgc3ludGF4LlxyXG4vLyAtICRzcGFuICA6IDxzcGFuPlxyXG5AbWl4aW4gc3BhbihcclxuICAkc3BhblxyXG4pIHtcclxuICAkaW5zcGVjdDogJHNwYW47XHJcbiAgJHNwYW46IHBhcnNlLXNwYW4oJHNwYW4pO1xyXG4gICRvdXRwdXQ6IHNwYW4tbWF0aCgkc3Bhbik7XHJcbiAgJG5lc3Rpbmc6IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcclxuICAkY2xlYXI6IHN1c3ktZ2V0KGNsZWFyLCAkc3Bhbik7XHJcblxyXG4gICRib3g6IHN1c3ktZ2V0KGJveC1zaXppbmcsICRzcGFuKTtcclxuICAkY29udGVudC1ib3g6IGlmKHN1c3ktZ2V0KGdsb2JhbC1ib3gtc2l6aW5nKSAhPSAnYm9yZGVyLWJveCcsIHRydWUsIGZhbHNlKTtcclxuICAkYm94OiAkYm94IG9yIGlmKGlzLWluc2lkZSgkc3BhbikgYW5kICRjb250ZW50LWJveCwgYm9yZGVyLWJveCwgbnVsbCk7XHJcblxyXG4gIEBpZiAkY2xlYXIgPT0gYnJlYWsge1xyXG4gICAgQGluY2x1ZGUgYnJlYWs7XHJcbiAgfSBAZWxzZSBpZiAkY2xlYXIgPT0gbm9icmVhayB7XHJcbiAgICBAaW5jbHVkZSBub2JyZWFrO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KHNwYW4sICRpbnNwZWN0KTtcclxuICBAaW5jbHVkZSBvdXRwdXQoKGJveC1zaXppbmc6ICRib3gpKTtcclxuICBAaW5jbHVkZSBmbG9hdC1zcGFuLW91dHB1dCgkb3V0cHV0Li4uKTtcclxuXHJcbiAgQGlmIHZhbGlkLWNvbHVtbnMoJG5lc3RpbmcsIHNpbGVudCkge1xyXG4gICAgQGluY2x1ZGUgbmVzdGVkKCRzcGFuKSB7IEBjb250ZW50OyB9XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbi8vIFNwYW4gW2Z1bmN0aW9uXVxyXG4vLyAtLS0tLS0tLS0tLS0tLS1cclxuLy8gUmV0dXJuIHRoZSB3aWR0aCBvZiBhIHNwYW4uXHJcbi8vIC0gJHNwYW4gIDogPHNwYW4+XHJcbkBmdW5jdGlvbiBzcGFuKFxyXG4gICRzcGFuXHJcbikge1xyXG4gIEByZXR1cm4gZ2V0LXNwYW4td2lkdGgoJHNwYW4pO1xyXG59XHJcblxyXG4vLyBTcGFuIE1hdGhcclxuLy8gLS0tLS0tLS0tXHJcbi8vIEdldCBhbGwgdGhlIHNwYW4gcmVzdWx0cy5cclxuLy8gLSAkc3BhbjogPG1hcD5cclxuQGZ1bmN0aW9uIHNwYW4tbWF0aChcclxuICAkc3BhblxyXG4pIHtcclxuICAkbmVzdCAgICAgICAgICAgICA6IGlmKHN1c3ktZ2V0KHJvbGUsICRzcGFuKSA9PSBuZXN0LCB0cnVlLCBmYWxzZSk7XHJcbiAgJHNwbGl0LW5lc3QgICAgICAgOiBpZihpcy1zcGxpdCgkc3BhbikgYW5kICRuZXN0LCB0cnVlLCBmYWxzZSk7XHJcbiAgJGVkZ2UgICAgICAgICAgICAgOiBnZXQtZWRnZSgkc3Bhbik7XHJcbiAgJGxvY2F0aW9uICAgICAgICAgOiBnZXQtbG9jYXRpb24oJHNwYW4pO1xyXG5cclxuICAkZmxvYXQgICAgICAgICAgICA6IGZyb207XHJcbiAgJHBhZGRpbmctYmVmb3JlICAgOiBudWxsO1xyXG4gICRwYWRkaW5nLWFmdGVyICAgIDogbnVsbDtcclxuICAkbWFyZ2luLWJlZm9yZSAgICA6IG51bGw7XHJcbiAgJG1hcmdpbi1hZnRlciAgICAgOiBudWxsO1xyXG5cclxuICAvLyBjYWxjdWxhdGUgd2lkdGhzXHJcbiAgJHNwcmVhZDogaW5kZXgobWFwLXZhbHVlcygkc3BhbiksIHNwcmVhZCk7XHJcbiAgJHNwYW46IGlmKCRzcGxpdC1uZXN0IGFuZCBub3QoJHNwcmVhZCksIG1hcC1tZXJnZSgkc3BhbiwgKHNwcmVhZDogd2lkZSkpLCAkc3Bhbik7XHJcbiAgJHdpZHRoOiBnZXQtc3Bhbi13aWR0aCgkc3Bhbik7XHJcbiAgJGd1dHRlcnM6IGdldC1ndXR0ZXJzKCRzcGFuKTtcclxuXHJcbiAgLy8gYXBwbHkgZ3V0dGVyc1xyXG4gIEBpZiBpcy1pbnNpZGUoJHNwYW4pIHtcclxuICAgIEBpZiBub3Qoc3VzeS1nZXQocm9sZSwgJHNwYW4pKSB7XHJcbiAgICAgICRwYWRkaW5nLWJlZm9yZTogbWFwLWdldCgkZ3V0dGVycywgYmVmb3JlKTtcclxuICAgICAgJHBhZGRpbmctYWZ0ZXI6IG1hcC1nZXQoJGd1dHRlcnMsIGFmdGVyKTtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIEBpZiBub3QoJHNwbGl0LW5lc3QpIHtcclxuICAgICAgJG1hcmdpbi1iZWZvcmU6IG1hcC1nZXQoJGd1dHRlcnMsIGJlZm9yZSk7XHJcbiAgICAgICRtYXJnaW4tYWZ0ZXI6IG1hcC1nZXQoJGd1dHRlcnMsIGFmdGVyKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIHNwZWNpYWwgbWFyZ2luIGhhbmRsaW5nXHJcbiAgQGlmIHN1c3ktZ2V0KG91dHB1dCwgJHNwYW4pID09IGlzb2xhdGUgYW5kICRsb2NhdGlvbiB7XHJcbiAgICAkbWFyZ2luLWJlZm9yZTogZ2V0LWlzb2xhdGlvbigkc3Bhbik7XHJcbiAgICAkbWFyZ2luLWFmdGVyOiAtMTAwJTtcclxuICB9IEBlbHNlIGlmICRlZGdlIHtcclxuICAgICRpcy1zcGxpdDogaXMtc3BsaXQoJHNwYW4pO1xyXG4gICAgJHBvczogc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkc3Bhbik7XHJcblxyXG4gICAgQGlmICRlZGdlID09IGxhc3Qge1xyXG4gICAgICAkZmxvYXQ6IHN1c3ktZ2V0KGxhc3QtZmxvdywgJHNwYW4pO1xyXG4gICAgfVxyXG5cclxuICAgIEBpZiBub3QoJGlzLXNwbGl0KSB7XHJcbiAgICAgIEBpZiAkZWRnZSA9PSBmdWxsIG9yICgkZWRnZSA9PSBmaXJzdCBhbmQgJHBvcyA9PSBiZWZvcmUpIHtcclxuICAgICAgICAkbWFyZ2luLWJlZm9yZTogMDtcclxuICAgICAgfVxyXG4gICAgICBAaWYgJGVkZ2UgPT0gZnVsbCBvciAoJGVkZ2UgPT0gbGFzdCBhbmQgJHBvcyA9PSBhZnRlcikge1xyXG4gICAgICAgICRtYXJnaW4tYWZ0ZXI6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIChcclxuICAgIHdpZHRoICAgICAgICAgICA6ICR3aWR0aCxcclxuICAgIGZsb2F0ICAgICAgICAgICA6ICRmbG9hdCxcclxuICAgIG1hcmdpbi1iZWZvcmUgICA6ICRtYXJnaW4tYmVmb3JlLFxyXG4gICAgbWFyZ2luLWFmdGVyICAgIDogJG1hcmdpbi1hZnRlcixcclxuICAgIHBhZGRpbmctYmVmb3JlICA6ICRwYWRkaW5nLWJlZm9yZSxcclxuICAgIHBhZGRpbmctYWZ0ZXIgICA6ICRwYWRkaW5nLWFmdGVyLFxyXG4gICAgZmxvdyAgICAgICAgICAgIDogc3VzeS1nZXQoZmxvdywgJHNwYW4pLFxyXG4gICk7XHJcbn1cclxuXHJcbi8vIEdldCBTcGFuIFdpZHRoXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcbi8vIFJldHVybiBzcGFuIHdpZHRoLlxyXG4vLyAtICRzcGFuOiA8bWFwPlxyXG5AZnVuY3Rpb24gZ2V0LXNwYW4td2lkdGgoXHJcbiAgJHNwYW5cclxuKSB7XHJcbiAgJHNwYW4gICAgIDogcGFyc2Utc3Bhbigkc3Bhbik7XHJcblxyXG4gICRuICAgICAgICA6IHN1c3ktZ2V0KHNwYW4sICRzcGFuKTtcclxuICAkbG9jYXRpb24gOiBnZXQtbG9jYXRpb24oJHNwYW4pO1xyXG4gICRjb2x1bW5zICA6IHN1c3ktZ2V0KGNvbHVtbnMsICRzcGFuKTtcclxuICAkZ3V0dGVycyAgOiBzdXN5LWdldChndXR0ZXJzLCAkc3Bhbik7XHJcbiAgJHNwcmVhZCAgIDogc3VzeS1nZXQoc3ByZWFkLCAkc3Bhbik7XHJcblxyXG4gICRjb250ZXh0ICA6IG51bGw7XHJcbiAgJHNwYW4tc3VtIDogbnVsbDtcclxuICAkd2lkdGggICAgOiBudWxsO1xyXG5cclxuICBAaWYgJG4gPT0gJ2Z1bGwnIHtcclxuICAgICRwb3M6IHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJHNwYW4pO1xyXG4gICAgJHJvbGU6IHN1c3ktZ2V0KHJvbGUsICRzcGFuKTtcclxuICAgICRuOiBpZigkcG9zID09IHNwbGl0IGFuZCAkcm9sZSAhPSBuZXN0LCBzdXN5LWNvdW50KCRjb2x1bW5zKSwgMTAwJSk7XHJcbiAgfVxyXG5cclxuICBAaWYgdHlwZS1vZigkbikgIT0gbnVtYmVyIHtcclxuICAgIEB3YXJuIFwiKCN7dHlwZS1vZigkbil9KSAjeyRufSBpcyBub3QgYSB2YWxpZCBzcGFuLlwiO1xyXG4gIH0gQGVsc2UgaWYgdW5pdGxlc3MoJG4pIHtcclxuICAgICRjb250ZXh0OiBzdXN5LXN1bSgkY29sdW1ucywgJGd1dHRlcnMsIGlmKGlzLXNwbGl0KCRzcGFuKSwgd2lkZSwgbmFycm93KSk7XHJcbiAgICAkc3ByZWFkOiBpZihpcy1pbnNpZGUoJHNwYW4pLCAkc3ByZWFkIG9yIHdpZGUsICRzcHJlYWQpO1xyXG4gICAgJHNwYW4tc3VtOiBzdXN5KCRuLCAkbG9jYXRpb24sICRjb2x1bW5zLCAkZ3V0dGVycywgJHNwcmVhZCk7XHJcblxyXG4gICAgJF9tYXRoOiBzdXN5LWdldChtYXRoLCAkc3Bhbik7XHJcbiAgICAkX2NvbHVtbi13aWR0aDogc3VzeS1nZXQoY29sdW1uLXdpZHRoLCAkc3Bhbik7XHJcbiAgICBAaWYgJF9tYXRoID09IHN0YXRpYyB7XHJcbiAgICAgICR3aWR0aDogJHNwYW4tc3VtICogdmFsaWQtY29sdW1uLW1hdGgoJF9tYXRoLCAkX2NvbHVtbi13aWR0aCk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRzcGFuLXN1bSAvICRjb250ZXh0KTtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgICR3aWR0aDogJG47XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR3aWR0aDtcclxufVxyXG4iLCIkZGVidWctbW9kZTogZmFsc2UgIWRlZmF1bHQ7XG5cbiRmb250cy1kaXI6ICcuLi9mb250cycgIWRlZmF1bHQ7XG4kaW1hZ2UtZGlyOiAnLi4vaW1hZ2VzJyAhZGVmYXVsdDtcblxuJGNvbnRhaW5lci13aWR0aC14czogNzY4O1xuJGNvbnRhaW5lci13aWR0aC1zbTogNzY4O1xuJGNvbnRhaW5lci13aWR0aC1tZDogOTYwO1xuJGNvbnRhaW5lci13aWR0aC1sZzogMTIwMDtcbiRjb250YWluZXItd2lkdGgteGxnOiAxNjAwO1xuXG4kc3VzeTogKFxuXHRjb2x1bW5zOiAyNCxcblx0Y29udGFpbmVyOiA5MCUsXG5cdGdsb2JhbC1ib3gtc2l6aW5nOiBib3JkZXItYm94XG4pO1xuXG4kbGlnaHQ6IDIwMCAhZGVmYXVsdDtcbiRyZWd1bGFyOiA0MDAgIWRlZmF1bHQ7XG4kbWVkaXVtOiA1MDAgIWRlZmF1bHQ7XG4kYm9sZDogNzAwICFkZWZhdWx0O1xuJGJsYWNrOiA4MDAgIWRlZmF1bHQ7XG5cbiRiYXNlLWZvbnQtY29udGV4dDogMTUgIWRlZmF1bHQ7XG4kYmFzZS1mb250LXNpemU6ICRiYXNlLWZvbnQtY29udGV4dCAqIDFweDtcbiRiYXNlLWxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiRmb250LXNjcmlwdDogc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1saWdodDogc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LWJsYWNrOiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtbWVkaXVtOiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtYm9sZDogc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuJGJhc2UtZm9udC1mYW1pbHk6ICRmb250LW1lZGl1bSAhZGVmYXVsdDtcbiRiYXNlLWZvbnQtd2VpZ2h0OiAkcmVndWxhciAhZGVmYXVsdDtcblxuXG4kc2NoZW1lLWNvbG9yLWtleTogJ2Jhc2UnICFkZWZhdWx0O1xuJHNjaGVtZS1jb2xvcnM6IChcblx0J3ByaW1hcnknOiAoXG5cdFx0J2Jhc2UnOiAjOGUzMzI5LFxuXHRcdCdsaWdodCc6ICNkOTUzNGYsXG5cdFx0J2RhcmsnOiAjYzkzMDJjXG5cdCksXG5cblx0J2FjY2VudCc6IChcblx0XHQnYmFzZSc6ICNkOTgzMjgsXG5cdFx0J2xpZ2h0JzogI2RkOGYzZCxcblx0XHQnZGFyayc6ICNjNTc2MjNcblx0KSxcblxuXHQnc2Vjb25kYXJ5JzogKFxuXHRcdCdiYXNlJzogIzVhMTMyMSxcblx0XHQnbGlnaHQnOiAjN2IxYTJkLFxuXHRcdCdkYXJrJzogIzUxMTExZVxuXHQpLFxuXG5cdCdmb3JlZ3JvdW5kJzogKFxuXHRcdCdiYXNlJzogIzE5MTkxOSxcblx0XHQnbGlnaHQnOiAjMzMzMzMzLFxuXHRcdCdkYXJrJzogIzExMTExMSxcblx0XHQnZGFya2VyJzogIzAwMDAwMFxuXHQpLFxuXG5cdCdiYWNrZ3JvdW5kJzogKFxuXHRcdCdiYXNlJzogI2U5ZTllOSxcblx0XHQnbGlnaHQnOiAjZmZmZmZmLFxuXHRcdCdkYXJrJzogI2RkZGRkZFxuXHQpXG4pICFkZWZhdWx0O1xuXG5cbiRzY2hlbWUtb3BhY2l0eTogKFxuICAnbGlnaHQnOiAwLjgsXG4gICdtZWRpdW0nOiAwLjUsXG4gICdkYXJrJzogMC4yXG4pICFkZWZhdWx0O1xuIiwiLy8gcmVtIFN1cHBvcnRcclxuLy8gPT09PT09PT09PT1cclxuXHJcbi8vIHJlbVxyXG4vLyAtLS1cclxuLy8gQ2hlY2sgZm9yIGFuIGV4aXN0aW5nIHN1cHBvcnQgbWl4aW4sIG9yIG91dHB1dCBkaXJlY3RseS5cclxuLy8gLSAkcHJvcCAgOiA8Y3NzIHByb3BlcnR5PlxyXG4vLyAtICR2YWwgICA6IDxjc3MgdmFsdWU+XHJcbkBtaXhpbiBzdXN5LXJlbShcclxuICAkcHJvcCxcclxuICAkdmFsXHJcbikge1xyXG4gICRfcmVxczogKFxyXG4gICAgdmFyaWFibGU6IHJoeXRobS11bml0IHJlbS13aXRoLXB4LWZhbGxiYWNrLFxyXG4gICAgbWl4aW46IHJlbSxcclxuICApO1xyXG4gIEBpZiBzdXN5LXN1cHBvcnQocmVtLCAkX3JlcXMsICR3YXJuOiBmYWxzZSkgYW5kICRyaHl0aG0tdW5pdCA9PSByZW0ge1xyXG4gICAgQGluY2x1ZGUgcmVtKCRwcm9wLCAkdmFsKTtcclxuICB9IEBlbHNlIHtcclxuICAgICN7JHByb3B9OiAkdmFsO1xyXG4gIH1cclxufVxyXG4iLCIvLyBDb250YWluZXIgU3ludGF4XHJcbi8vID09PT09PT09PT09PT09PT1cclxuXHJcbi8vIENvbnRhaW5lciBbbWl4aW5dXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIFNldCBhIGNvbnRhaW5lciBlbGVtZW50XHJcbi8vIC0gWyRsYXlvdXRdICA6IDxzZXR0aW5ncz5cclxuQG1peGluIGNvbnRhaW5lcihcclxuICAkbGF5b3V0OiAkc3VzeVxyXG4pIHtcclxuICAkaW5zcGVjdCAgICA6ICRsYXlvdXQ7XHJcbiAgJGxheW91dCAgICAgOiBwYXJzZS1ncmlkKCRsYXlvdXQpO1xyXG5cclxuICAkX3dpZHRoICAgICA6IGdldC1jb250YWluZXItd2lkdGgoJGxheW91dCk7XHJcbiAgJF9qdXN0aWZ5ICAgOiBwYXJzZS1jb250YWluZXItcG9zaXRpb24oc3VzeS1nZXQoY29udGFpbmVyLXBvc2l0aW9uLCAkbGF5b3V0KSk7XHJcbiAgJF9wcm9wZXJ0eSAgOiBpZihzdXN5LWdldChtYXRoLCAkbGF5b3V0KSA9PSBzdGF0aWMsIHdpZHRoLCBtYXgtd2lkdGgpO1xyXG5cclxuICAkX2JveCAgICAgICA6IHN1c3ktZ2V0KGJveC1zaXppbmcsICRsYXlvdXQpO1xyXG5cclxuICBAaWYgJF9ib3gge1xyXG4gICAgQGluY2x1ZGUgb3V0cHV0KChib3gtc2l6aW5nOiAkX2JveCkpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KGNvbnRhaW5lciwgJGluc3BlY3QpO1xyXG4gIEBpbmNsdWRlIGZsb2F0LWNvbnRhaW5lcigkX3dpZHRoLCAkX2p1c3RpZnksICRfcHJvcGVydHkpO1xyXG4gIEBpbmNsdWRlIHNob3ctZ3JpZCgkbGF5b3V0KTtcclxufVxyXG5cclxuLy8gQ29udGFpbmVyIFtmdW5jdGlvbl1cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gUmV0dXJuIGNvbnRhaW5lciB3aWR0aFxyXG4vLyAtIFskbGF5b3V0XSAgOiA8c2V0dGluZ3M+XHJcbkBmdW5jdGlvbiBjb250YWluZXIoXHJcbiAgJGxheW91dDogJHN1c3lcclxuKSB7XHJcbiAgJGxheW91dDogcGFyc2UtZ3JpZCgkbGF5b3V0KTtcclxuICBAcmV0dXJuIGdldC1jb250YWluZXItd2lkdGgoJGxheW91dCk7XHJcbn1cclxuXHJcbi8vIEdldCBDb250YWluZXIgV2lkdGhcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBDYWxjdWxhdGUgdGhlIGNvbnRhaW5lciB3aWR0aFxyXG4vLyAtIFskbGF5b3V0XTogPHNldHRpbmdzPlxyXG5AZnVuY3Rpb24gZ2V0LWNvbnRhaW5lci13aWR0aChcclxuICAkbGF5b3V0OiAkc3VzeVxyXG4pIHtcclxuICAkbGF5b3V0ICAgICAgICAgOiBwYXJzZS1ncmlkKCRsYXlvdXQpO1xyXG4gICRfd2lkdGggICAgICAgICA6IHN1c3ktZ2V0KGNvbnRhaW5lciwgJGxheW91dCk7XHJcbiAgJF9jb2x1bW4td2lkdGggIDogc3VzeS1nZXQoY29sdW1uLXdpZHRoLCAkbGF5b3V0KTtcclxuICAkX21hdGggICAgICAgICAgOiBzdXN5LWdldChtYXRoLCAkbGF5b3V0KTtcclxuXHJcbiAgQGlmIG5vdCgkX3dpZHRoKSBvciAkX3dpZHRoID09IGF1dG8ge1xyXG4gICAgQGlmIHZhbGlkLWNvbHVtbi1tYXRoKCRfbWF0aCwgJF9jb2x1bW4td2lkdGgpIHtcclxuICAgICAgJF9jb2x1bW5zICAgOiBzdXN5LWdldChjb2x1bW5zLCAkbGF5b3V0KTtcclxuICAgICAgJF9ndXR0ZXJzICAgOiBzdXN5LWdldChndXR0ZXJzLCAkbGF5b3V0KTtcclxuICAgICAgJF9zcHJlYWQgICAgOiBpZihpcy1zcGxpdCgkbGF5b3V0KSwgd2lkZSwgbmFycm93KTtcclxuICAgICAgJF93aWR0aCAgICAgOiBzdXN5LXN1bSgkX2NvbHVtbnMsICRfZ3V0dGVycywgJF9zcHJlYWQpICogJF9jb2x1bW4td2lkdGg7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgJF93aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gJF93aWR0aDtcclxufVxyXG5cclxuLy8gUGFyc2UgQ29udGFpbmVyIFBvc2l0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyBQYXJzZSB0aGUgJGNvbnRhaW5lci1wb3NpdGlvbiBpbnRvIG1hcmdpbiB2YWx1ZXMuXHJcbi8vIC0gWyRqdXN0aWZ5XSAgIDogbGVmdCB8IGNlbnRlciB8IHJpZ2h0IHwgPGxlbmd0aD4gWzxsZW5ndGg+XVxyXG5AZnVuY3Rpb24gcGFyc2UtY29udGFpbmVyLXBvc2l0aW9uKFxyXG4gICRqdXN0aWZ5OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBjb250YWluZXItcG9zaXRpb24pXHJcbikge1xyXG4gICRfcmV0dXJuOiBpZigkanVzdGlmeSA9PSBsZWZ0LCAwLCBhdXRvKSBpZigkanVzdGlmeSA9PSByaWdodCwgMCwgYXV0byk7XHJcblxyXG4gIEBpZiBub3QoaW5kZXgobGVmdCByaWdodCBjZW50ZXIsICRqdXN0aWZ5KSkge1xyXG4gICAgJF9yZXR1cm46IG50aCgkanVzdGlmeSwgMSk7XHJcbiAgICAkX3JldHVybjogJF9yZXR1cm4gaWYobGVuZ3RoKCRqdXN0aWZ5KSA+IDEsIG50aCgkanVzdGlmeSwgMiksICRfcmV0dXJuKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJF9yZXR1cm47XHJcbn1cclxuIiwiLy8gU3VzeSBGYWxsYmFjayBDbGVhcmZpeFxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG5cclxuLy8gQ2xlYXJmaXhcclxuLy8gLS0tLS0tLS1cclxuLy8gQ2hlY2sgZm9yIGFuIGV4aXN0aW5nIHN1cHBvcnQgbWl4aW4sIG9yIHByb3ZpZGUgYSBzaW1wbGUgZmFsbGJhY2suXHJcbkBtaXhpbiBzdXN5LWNsZWFyZml4IHtcclxuICBAaWYgc3VzeS1zdXBwb3J0KGNsZWFyZml4LCAobWl4aW46IGNsZWFyZml4KSkge1xyXG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogXCIgXCI7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19 */
